From 563b2fe3dc0c579178112c176977342c9df57a13 Mon Sep 17 00:00:00 2001 From: Joao Castro Date: Mon, 23 Mar 2026 00:18:43 -0300 Subject: [PATCH 1/3] feat/updating dependency --- CHANGELOG.md | 12 ++++++++++++ package-lock.json | 6 +++--- package.json | 4 ++-- .../FilterComponent/FilterComponent.module.css | 1 + src/components/FilterComponent/FilterComponent.tsx | 4 ++-- .../PaginationComponent/PaginationComponent.tsx | 6 ++---- 6 files changed, 22 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61fbc06..53f6975 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - yyyy-mm-dd +### Added + +- Complete unit test suite covering `TableComponent`, `FilterComponent`, `SearchComponent`, `PaginationComponent`, and all utility functions. +- Pre-commit validation hooks (Husky + lint-staged) that run linting, type-checking, and the full test suite before each commit. +- GitHub Actions PR validation workflow that runs lint, type-check, and tests on every pull request. +- ESLint configuration for TypeScript and React. +- Filter feature in `TableComponent` with support for `input`, `date`, `datetime`, `checkbox`, and `radio` filter types; includes sidebar and dialog modal layouts driven by a `location` prop. +- `FilterComponent` exported publicly alongside `TableComponent` and `SearchComponent`. +- Search functionality in `TableComponent` with support for both internal and external searching modes. +- Custom theming capabilities with three predefined color palettes: `classic`, `modernDark`, and `softEarth`. +- Sorting logic in `TableComponent` supporting both internal and external sorting. + ## [0.0.1] - 2025-Aug-28 ### Added diff --git a/package-lock.json b/package-lock.json index 17ab3f8..9308609 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7184,9 +7184,9 @@ } }, "node_modules/js-pretty-icons": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/js-pretty-icons/-/js-pretty-icons-0.1.1.tgz", - "integrity": "sha512-dd9dbllxigZIeGH8aokFPS75Yoa/+e8iOo/gJw+YoyknlrmarCeGrCF5DA1HSQ/uVV4mgA8S65wn/caOecaD3g==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/js-pretty-icons/-/js-pretty-icons-0.1.2.tgz", + "integrity": "sha512-/yVeIzdy0aOeIE+DoSCzJwl8WBcv/aPfaAsjKZB+81EyLmvPrfZk1HDGCGPWgvErZ4gXz1vj3R/pywWKm/8Hlg==", "dependencies": { "rollup": "^4.34.6" } diff --git a/package.json b/package.json index 8862a0f..3f5600a 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "typescript": "^5.7.3" }, "dependencies": { - "js-pretty-icons": "^0.1.1", + "js-pretty-icons": "^0.1.2", "rollup": "^4.34.6" }, "files": [ @@ -65,4 +65,4 @@ "eslint --max-warnings=0" ] } -} +} \ No newline at end of file diff --git a/src/components/FilterComponent/FilterComponent.module.css b/src/components/FilterComponent/FilterComponent.module.css index 338594c..4014e3c 100644 --- a/src/components/FilterComponent/FilterComponent.module.css +++ b/src/components/FilterComponent/FilterComponent.module.css @@ -15,6 +15,7 @@ background-color: var(--table-content-bg); color: var(--table-content-text); cursor: pointer; + margin-right: 8px; } .filterTrigger svg path { diff --git a/src/components/FilterComponent/FilterComponent.tsx b/src/components/FilterComponent/FilterComponent.tsx index 05de5fd..c218fc1 100644 --- a/src/components/FilterComponent/FilterComponent.tsx +++ b/src/components/FilterComponent/FilterComponent.tsx @@ -103,7 +103,7 @@ const FilterComponent = ({ className={styles.filterTrigger} onClick={openModal} > - + {appliedFilters && Object.keys(appliedFilters).length > 0 && ( @@ -113,7 +113,7 @@ const FilterComponent = ({ className={styles.filterTrigger} onClick={clearFilters} > - + )} diff --git a/src/components/PaginationComponent/PaginationComponent.tsx b/src/components/PaginationComponent/PaginationComponent.tsx index 0d442d1..ee1948d 100644 --- a/src/components/PaginationComponent/PaginationComponent.tsx +++ b/src/components/PaginationComponent/PaginationComponent.tsx @@ -44,8 +44,7 @@ const PaginationComponent = ({ disabled={currentPage === 1} className={`pagination-button-first ${styles.paginationButton}`} > - - + From 3b4fdaccf921b8a8d84e545ebcaecdf28bce0d3d Mon Sep 17 00:00:00 2001 From: Joao Castro Date: Mon, 23 Mar 2026 00:20:46 -0300 Subject: [PATCH 2/3] feat/updating package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f5600a..3c70bcd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-agnostic-table", - "version": "0.0.1", + "version": "1.0.0", "description": "React Agnostic Table", "main": "dist/index.js", "module": "dist/index.mjs", From 6dba613a5d3c8496c20067220abeae47d500f6c5 Mon Sep 17 00:00:00 2001 From: Joao Castro Date: Mon, 23 Mar 2026 00:21:58 -0300 Subject: [PATCH 3/3] feat/updating CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f6975..f77b013 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - yyyy-mm-dd +## [1.0.0] - 2026-Mar-23 + ### Added - Complete unit test suite covering `TableComponent`, `FilterComponent`, `SearchComponent`, `PaginationComponent`, and all utility functions.