diff --git a/CHANGELOG.md b/CHANGELOG.md index 61fbc06..f77b013 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ 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. +- 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..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", @@ -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}`} > - - +