diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index ca62516..76ad45e 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -5,7 +5,7 @@ jobs: commitlint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: fetch-depth: 0 - - uses: wagoid/commitlint-github-action@v5 + - uses: wagoid/commitlint-github-action@v6 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ce9d947..b0ac512 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,59 +6,36 @@ on: - main permissions: - contents: write # create tags, releases, and commit changelogs - id-token: write # exchange OIDC token with the npm registry for authentication (publish to npm) - packages: write # publish to npm registry via GitHub Packages (trusted publishing) + id-token: write + contents: write jobs: release: - name: semantic-release + name: Semantic Release runs-on: ubuntu-latest - steps: - # Generate a GitHub App token for authentication instead of using a personal access token - - name: Generate GitHub App token - id: app-token - uses: actions/create-github-app-token@v2 - with: - app-id: ${{ secrets.RELEASE_APP_ID }} - private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} - - # Checkout the repository - name: Checkout repository uses: actions/checkout@v6 with: - fetch-depth: 0 # Fetch all history for all branches and tags (required to allow semantic-release to analyze commits) - persist-credentials: false # Explicitly disable the token persistence + fetch-depth: 0 + persist-credentials: false - # Reconfigure git remote URL to use the GitHub App token for authentication instead of the default GITHUB_TOKEN for pushing changes back to the repository by semantic-release - - name: Authenticate git with GitHub App token - run: | - git remote set-url origin \ - https://x-access-token:${{ steps.app-token.outputs.token }}@github.com/${{ github.repository }}.git - - # Setup Node.js v24 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: 24 registry-url: https://registry.npmjs.org - # Install semantic-release plugins to determine the next version, update changelog, publish to npm, and create GitHub release - # - semantic-release: The main semantic-release package - # - @semantic-release/changelog: Update the changelog file - # - @semantic-release/git: Commit changelog and version bump - # - conventional-changelog-conventionalcommits: Conventional Commits preset for changelog generation - - name: Install semantic-release (CI-only) + - name: Install semantic-release run: | npm install --no-save \ semantic-release@25 \ - @semantic-release/changelog@6 \ - @semantic-release/git@10 \ conventional-changelog-conventionalcommits@9 \ - # Run semantic-release to automate the release process + - name: Build package + run: npm run build + - name: Run semantic-release env: - GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} # Use GitHub App token for semantic-release authentication + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: npx semantic-release diff --git a/.releaserc.mjs b/.releaserc.mjs index d85bac3..133f24c 100644 --- a/.releaserc.mjs +++ b/.releaserc.mjs @@ -5,27 +5,28 @@ export default { branches: ["main"], repositoryUrl: "https://github.com/codesweetly/react-image-grid-gallery", plugins: [ - // 1. Analyze commits and map them to release types [ - "@semantic-release/commit-analyzer", // infer bump from commits + "@semantic-release/commit-analyzer", { preset: "conventionalcommits", + parserOpts: { + noteKeywords: ["BREAKING CHANGE", "BREAKING CHANGES"], + }, releaseRules: [ + { breaking: true, release: "major" }, { type: "feat", release: "minor" }, { type: "fix", release: "patch" }, { type: "perf", release: "patch" }, { type: "refactor", release: "patch" }, - // Docs & DX improvements still get patch releases { type: "docs", release: "patch" }, { type: "style", release: "patch" }, - // Ignore noise + { type: "build", release: false }, { type: "test", release: false }, { type: "chore", release: false }, { type: "ci", release: false }, ], }, ], - // 2. Generate clean, readable release notes [ "@semantic-release/release-notes-generator", { @@ -40,10 +41,6 @@ export default { { type: "style", section: "๐ŸŽจ Code Style" }, ], }, - parserOpts: { - mergePattern: "^Merge pull request", - mergeCorrespondence: null, - }, writerOpts: { groupBy: "type", commitGroupsSort: "title", @@ -51,36 +48,14 @@ export default { }, }, ], - // 3. Write formatted changelog to CHANGELOG.md - [ - "@semantic-release/changelog", - { - changelogFile: "CHANGELOG.md", - changelogTitle: - "# ๐Ÿ“ฆ Changelog\n\nAll notable changes to **react-image-grid-gallery** are documented here.\n", - writerOpts: { - groupBy: "type", - commitGroupsSort: "title", - }, - }, - ], - // 4. Update version + publish to npm - [ - "@semantic-release/npm", - { - npmPublish: true, - }, - ], - // 5. Commit changelog + version bump back to repo + ["@semantic-release/npm", { npmPublish: true }], [ - "@semantic-release/git", + "@semantic-release/github", { - assets: ["package.json", "package-lock.json", "CHANGELOG.md"], - message: - "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}", + successComment: false, + failComment: false, + releasedLabels: false, }, ], - // 6. Create GitHub release notes & tag - "@semantic-release/github", ], }; diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 2bd4060..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,923 +0,0 @@ -# ๐Ÿ“ฆ Changelog - -All notable changes to **react-image-grid-gallery** are documented here. - - -## 3.1.8 (2026-01-25) - -* fix: Make esm build emit imports with extensions ([5caa2fc](https://github.com/codesweetly/react-image-grid-gallery/commit/5caa2fc)) -* fix: Make ESM build emit imports with extensions ([be91d10](https://github.com/codesweetly/react-image-grid-gallery/commit/be91d10)) - -## 3.1.7 (2026-01-25) - -* chore: Create script for doing a dry run of the packaging and publishing process ([0800646](https://github.com/codesweetly/react-image-grid-gallery/commit/0800646)) -* fix: Prevent typescript from emitting commonjs syntax to esm build ([268b1cb](https://github.com/codesweetly/react-image-grid-gallery/commit/268b1cb)) -* fix: Prevent TypeScript from emitting CommonJS syntax to ESM build ([0b28ae5](https://github.com/codesweetly/react-image-grid-gallery/commit/0b28ae5)) -* fix: Use tsconfig.json as Dev/IDE only ts config file ([a75596e](https://github.com/codesweetly/react-image-grid-gallery/commit/a75596e)) - -## 3.1.6 (2026-01-24) - -* fix: Clean manifest (remove CI-only tooling) ([dd69f7f](https://github.com/codesweetly/react-image-grid-gallery/commit/dd69f7f)) -* fix: Clean manifest (remove CI-only tooling) ([2ebb795](https://github.com/codesweetly/react-image-grid-gallery/commit/2ebb795)) - -## 3.1.5 (2026-01-24) - -* chore: Run script to remove dist folder only in development ([9986dc5](https://github.com/codesweetly/react-image-grid-gallery/commit/9986dc5)) -* chore: Run script to remove dist folder only in development ([645cbab](https://github.com/codesweetly/react-image-grid-gallery/commit/645cbab)) -* fix: Ignore merge commits entirely to avoid breaking the grouping work ([bc4e61b](https://github.com/codesweetly/react-image-grid-gallery/commit/bc4e61b)) -* fix: Ignore merge commits entirely to avoid breaking the grouping work ([163ed39](https://github.com/codesweetly/react-image-grid-gallery/commit/163ed39)) - -## 3.1.4 (2026-01-23) - -* Merge pull request #28 from codesweetly/ci/update-token-reattachment-description ([d12a34d](https://github.com/codesweetly/react-image-grid-gallery/commit/d12a34d)), closes [#28](https://github.com/codesweetly/react-image-grid-gallery/issues/28) -* Merge pull request #29 from codesweetly/fix/build-package-n-publish-dist-folder ([1ab8760](https://github.com/codesweetly/react-image-grid-gallery/commit/1ab8760)), closes [#29](https://github.com/codesweetly/react-image-grid-gallery/issues/29) -* build: Specify the correct module system and resolution strategy for each build output ([f9ab1d5](https://github.com/codesweetly/react-image-grid-gallery/commit/f9ab1d5)) -* chore: Explicitly make semantic-release group commits by type ([5247c14](https://github.com/codesweetly/react-image-grid-gallery/commit/5247c14)) -* ci: Update token reattachment description ([342b6bb](https://github.com/codesweetly/react-image-grid-gallery/commit/342b6bb)) -* ci: Update token reattachment description ([9e35fbd](https://github.com/codesweetly/react-image-grid-gallery/commit/9e35fbd)) -* fix: Configure npm to auto-build before publishing ([25335c5](https://github.com/codesweetly/react-image-grid-gallery/commit/25335c5)) -* refactor: Change node to node10 ([e2d7da9](https://github.com/codesweetly/react-image-grid-gallery/commit/e2d7da9)) -* refactor: Emit .js files while changing JSX to _jsx calls ([f5e7b4c](https://github.com/codesweetly/react-image-grid-gallery/commit/f5e7b4c)) -* refactor: Update emitted JavaScript target to es2018 ([4340993](https://github.com/codesweetly/react-image-grid-gallery/commit/4340993)) - -## 3.1.3 (2026-01-23) - -* Merge pull request #22 from codesweetly/chore/replace-release-it-with-semantic-release-ci-only-workf ([fb5d014](https://github.com/codesweetly/react-image-grid-gallery/commit/fb5d014)), closes [#22](https://github.com/codesweetly/react-image-grid-gallery/issues/22) -* Merge pull request #23 from codesweetly/ci/update-packages-in-sematic-release-workflow ([7ec9463](https://github.com/codesweetly/react-image-grid-gallery/commit/7ec9463)), closes [#23](https://github.com/codesweetly/react-image-grid-gallery/issues/23) -* Merge pull request #24 from codesweetly/ci/add-step-to-generate-github-app-token ([68ed727](https://github.com/codesweetly/react-image-grid-gallery/commit/68ed727)), closes [#24](https://github.com/codesweetly/react-image-grid-gallery/issues/24) -* Merge pull request #25 from codesweetly/fix/remove-duplicate-steps-definition ([0dcaf9e](https://github.com/codesweetly/react-image-grid-gallery/commit/0dcaf9e)), closes [#25](https://github.com/codesweetly/react-image-grid-gallery/issues/25) -* Merge pull request #26 from codesweetly/ci/pass-correct-token-to-semantic-release ([3c69709](https://github.com/codesweetly/react-image-grid-gallery/commit/3c69709)), closes [#26](https://github.com/codesweetly/react-image-grid-gallery/issues/26) -* Merge pull request #27 from codesweetly/ci/reconfigure-remote-origin-to-use-github-app-token ([27a9af0](https://github.com/codesweetly/react-image-grid-gallery/commit/27a9af0)), closes [#27](https://github.com/codesweetly/react-image-grid-gallery/issues/27) -* ci: Add step to generate GitHub App token ([3b4f7a1](https://github.com/codesweetly/react-image-grid-gallery/commit/3b4f7a1)) -* ci: Avoid installing packages that are already part of semantic-release ([90376a2](https://github.com/codesweetly/react-image-grid-gallery/commit/90376a2)) -* ci: Bump checkout's version ([11d4b6f](https://github.com/codesweetly/react-image-grid-gallery/commit/11d4b6f)) -* ci: Bump node version ([8ec708e](https://github.com/codesweetly/react-image-grid-gallery/commit/8ec708e)) -* ci: Pass app token, rather than the default action token, to semantic-release ([a47fe32](https://github.com/codesweetly/react-image-grid-gallery/commit/a47fe32)) -* ci: Reconfigure git remote to use github app token ([d7ea7d2](https://github.com/codesweetly/react-image-grid-gallery/commit/d7ea7d2)) -* fix: Remove duplicate step definition ([d19ed88](https://github.com/codesweetly/react-image-grid-gallery/commit/d19ed88)) -* docs: Update workflow notes ([c985215](https://github.com/codesweetly/react-image-grid-gallery/commit/c985215)) -* refactor: Customize semantic-release's changelog output ([a0680c9](https://github.com/codesweetly/react-image-grid-gallery/commit/a0680c9)) -* chore: Create GitHub Actions workflow for semantic-release ([62874f5](https://github.com/codesweetly/react-image-grid-gallery/commit/62874f5)) -* chore: Create semantic-release's configuration file ([b5d58e2](https://github.com/codesweetly/react-image-grid-gallery/commit/b5d58e2)) -* chore: Remove release-it and its related packages and configurations ([e54ee81](https://github.com/codesweetly/react-image-grid-gallery/commit/e54ee81)) -* build: Bump dependencies ([1cea5d5](https://github.com/codesweetly/react-image-grid-gallery/commit/1cea5d5)) -* build: Bump dependencies ([07164ef](https://github.com/codesweetly/react-image-grid-gallery/commit/07164ef)) -* build: Bump jest from v29.7.0 to v30.2.0 ([d3fe691](https://github.com/codesweetly/react-image-grid-gallery/commit/d3fe691)) - -# Changelog - -## 3.1.2 (2025-02-18) - -* fix: Use an inner container to control the thumbnails' horizontal alignment ([bd78749](https://github.com/codesweetly/react-image-grid-gallery/commit/bd78749)) - -## 3.1.1 (2025-02-18) - -* style: Center thumbnails ([7a88d3f](https://github.com/codesweetly/react-image-grid-gallery/commit/7a88d3f)) - -## 3.1.0 (2025-02-17) - -* docs: Add funding info ([0851b54](https://github.com/codesweetly/react-image-grid-gallery/commit/0851b54)) -* docs: Indicate how to lazy load all the grid's images ([a718eff](https://github.com/codesweetly/react-image-grid-gallery/commit/a718eff)) -* docs: Write about the latest features ([24e0da4](https://github.com/codesweetly/react-image-grid-gallery/commit/24e0da4)) -* build: Bump dependencies ([696e205](https://github.com/codesweetly/react-image-grid-gallery/commit/696e205)) -* refactor: Make lazy loading optional ([16abc60](https://github.com/codesweetly/react-image-grid-gallery/commit/16abc60)) -* refactor: Make modal's image height dynamic ([d419e10](https://github.com/codesweetly/react-image-grid-gallery/commit/d419e10)) -* refactor: Stop supporting undefined src ([dab460e](https://github.com/codesweetly/react-image-grid-gallery/commit/dab460e)) -* feat: Activate an image by clicking its thumbnail ([2f0cbca](https://github.com/codesweetly/react-image-grid-gallery/commit/2f0cbca)) -* feat: Allow using small images for gallery and thumbnail ([c20d319](https://github.com/codesweetly/react-image-grid-gallery/commit/c20d319)) -* feat: Create modal thumbnail section ([dafa48d](https://github.com/codesweetly/react-image-grid-gallery/commit/dafa48d)) -* feat: Create thumbnail images where the active image auto-scrolls into view ([75172d9](https://github.com/codesweetly/react-image-grid-gallery/commit/75172d9)) -* feat: Display modal image's caption ([19d98d2](https://github.com/codesweetly/react-image-grid-gallery/commit/19d98d2)) -* feat: Lazy load grid images from index 6 and above ([f4f0326](https://github.com/codesweetly/react-image-grid-gallery/commit/f4f0326)) -* feat: Lazy load lightbox images ([b76a039](https://github.com/codesweetly/react-image-grid-gallery/commit/b76a039)) -* feat: Make scrolling thumbnails to view keyboard-compatible ([f1fd230](https://github.com/codesweetly/react-image-grid-gallery/commit/f1fd230)) -* feat: Make thumbnails optional ([c65cdac](https://github.com/codesweetly/react-image-grid-gallery/commit/c65cdac)) -* feat: Support providing different image sizes for the grid, modal, and thumbnail ([f569ff9](https://github.com/codesweetly/react-image-grid-gallery/commit/f569ff9)) -* feat: Support resolution switching ([44cfa02](https://github.com/codesweetly/react-image-grid-gallery/commit/44cfa02)) -* fix: Re-implement clicking modal background to exit lightbox ([f8b9829](https://github.com/codesweetly/react-image-grid-gallery/commit/f8b9829)) - -## 3.0.0 (2025-01-09) - -* build: Bump dependencies ([2e1692e](https://github.com/codesweetly/react-image-grid-gallery/commit/2e1692e)) -* build: Bump typescript from v5.7.2 to v5.7.3 ([8811f95](https://github.com/codesweetly/react-image-grid-gallery/commit/8811f95)) -* docs: Add features section ([e4dcb2a](https://github.com/codesweetly/react-image-grid-gallery/commit/e4dcb2a)) -* docs: Add id property to imagesArray ([53816a5](https://github.com/codesweetly/react-image-grid-gallery/commit/53816a5)) -* docs: Update customStyles' default value to an empty object ([d5a311a](https://github.com/codesweetly/react-image-grid-gallery/commit/d5a311a)) -* docs: Update docusaurus note to reflect that crypto is no longer used by default ([d11c168](https://github.com/codesweetly/react-image-grid-gallery/commit/d11c168)) -* style: Specify the gallery images' initial aspect ratio ([5b55263](https://github.com/codesweetly/react-image-grid-gallery/commit/5b55263)) -* refactor: Apply suggestions from code review ([bc176a5](https://github.com/codesweetly/react-image-grid-gallery/commit/bc176a5)) -* refactor: Create imageElementsArray from a function ([ac645e9](https://github.com/codesweetly/react-image-grid-gallery/commit/ac645e9)) -* refactor: Use empty object as customStyles' default value to reflect the accepted data type ([83c6e09](https://github.com/codesweetly/react-image-grid-gallery/commit/83c6e09)) -* Adding configurable styles, key for images, and visibility of captions ([effbbc4](https://github.com/codesweetly/react-image-grid-gallery/commit/effbbc4)) -* feat!: Make an id field part of the required properties of the imagesInfoArray prop ([0614ed9](https://github.com/codesweetly/react-image-grid-gallery/commit/0614ed9)) -* refactor!: Show error message if id property is missing in the imagesArray ([0c05380](https://github.com/codesweetly/react-image-grid-gallery/commit/0c05380)) -* test: Customize image button's style ([5db32f6](https://github.com/codesweetly/react-image-grid-gallery/commit/5db32f6)) -* fix: Change imagesrc's initial value from an empty string to undefined ([906d533](https://github.com/codesweetly/react-image-grid-gallery/commit/906d533)) -* chore: Reconfigure husky ([7c34c74](https://github.com/codesweetly/react-image-grid-gallery/commit/7c34c74)) - -## [2.1.4](https://github.com/codesweetly/react-image-grid-gallery/compare/v2.1.3...v2.1.4) (2024-07-16) - - -### ๐Ÿงฑ Dependency - -* Update peerDependencies ([bf04ca3](https://github.com/codesweetly/react-image-grid-gallery/commit/bf04ca341b6fad5a576b072e54f746cf021af84f)) - - -### ๐Ÿ› Bug Fix - -* Open lightbox when keyboard enter key is pressed on image card ([8345b9e](https://github.com/codesweetly/react-image-grid-gallery/commit/8345b9e8a92bd102cbbf1abb85e669e222626aed)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Remove redundant code ([cdc5839](https://github.com/codesweetly/react-image-grid-gallery/commit/cdc58399500f2d99ed084a47472b38b2befd300a)) - -## [2.1.3](https://github.com/codesweetly/react-image-grid-gallery/compare/v2.1.2...v2.1.3) (2024-07-14) - - -### ๐Ÿงฑ Dependency - -* Update dev dependencies ([2e202bb](https://github.com/codesweetly/react-image-grid-gallery/commit/2e202bbd270aea3ecf7e17d1fa60f1c3a69bf959)) - - -### ๐Ÿ› Bug Fix - -* Prevent page scrolling when lightbox is active ([e0ee446](https://github.com/codesweetly/react-image-grid-gallery/commit/e0ee44630b451ba894a024a3ce306feb5a67d069)) -* Resolve fullscreen button error while exiting with esc key ([6dae9d8](https://github.com/codesweetly/react-image-grid-gallery/commit/6dae9d80ef2b8eebe58b37212227910ddd2a77e7)) -* Set focus on the lightbox on fullscreen change ([01aeaac](https://github.com/codesweetly/react-image-grid-gallery/commit/01aeaacd67e094525eb10da18893591ca5c04d9e)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't use useEffect and useState hooks to manage lightbox ([2446023](https://github.com/codesweetly/react-image-grid-gallery/commit/2446023c8dfa63e0981f620a8094ca8f2b7b6017)) -* Remove figure's tabindex to improve accessibility ([5086c3a](https://github.com/codesweetly/react-image-grid-gallery/commit/5086c3aaf92b023c3c4864bad91b2eda849de024)) -* Rename showModal to showLightBox ([8f99e8d](https://github.com/codesweetly/react-image-grid-gallery/commit/8f99e8d4df172a436137e57678121db13c75ed16)) -* Use html dialog element to manage lightbox ([6c8f69f](https://github.com/codesweetly/react-image-grid-gallery/commit/6c8f69f5ba0b2cf66364b3bb6069995a3d8260bf)) -* Use ref to access lightbox element ([99544ad](https://github.com/codesweetly/react-image-grid-gallery/commit/99544ad31e84451ef457bb225ac70ae987e17c9d)) - - -### ๐Ÿ’… Styling and Formatting - -* Remove modal toobar button's margins ([d1fd15d](https://github.com/codesweetly/react-image-grid-gallery/commit/d1fd15d18cc185620dc172cd48a07530e9c24f81)) - -## [2.1.2](https://github.com/codesweetly/react-image-grid-gallery/compare/v2.1.1...v2.1.2) (2024-04-29) - - -### ๐Ÿ› Bug Fix - -* Resolve images' undefined marigin-bottom ([3132ce4](https://github.com/codesweetly/react-image-grid-gallery/commit/3132ce46465d97e8f207eab4b887f06baccda919)) - - -### ๐Ÿ’… Styling and Formatting - -* Define modal's font color ([b3e61a5](https://github.com/codesweetly/react-image-grid-gallery/commit/b3e61a53109b336d0f5deacba6dbebddf9d7b3cb)) - -## [2.1.1](https://github.com/codesweetly/react-image-grid-gallery/compare/v2.1.0...v2.1.1) (2024-04-29) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Delete redundant field ([3b48aaf](https://github.com/codesweetly/react-image-grid-gallery/commit/3b48aafb85726b6890adc090481f3a5865647dd2)) - -## [2.1.0](https://github.com/codesweetly/react-image-grid-gallery/compare/v2.0.1...v2.1.0) (2024-04-29) - - -### ๐Ÿงฑ Dependency - -* Bump dependencies ([aa64794](https://github.com/codesweetly/react-image-grid-gallery/commit/aa6479460dac151754434fc8e8074c3f988d934b)) -* Bump packages ([a9f0d6d](https://github.com/codesweetly/react-image-grid-gallery/commit/a9f0d6dfc0bce4f3c154dd04f4df6074b8eec813)) -* Drop fslightbox-react dependency ([ab275e5](https://github.com/codesweetly/react-image-grid-gallery/commit/ab275e565469f2aed100f8ff9c305f5b2bb273c0)) - - -### ๐Ÿ  Chores - -* Update fullscreen state when users exit fullscreen mode without using the modal's button ([390dca9](https://github.com/codesweetly/react-image-grid-gallery/commit/390dca92859546c65507593d3e7b7f5b1e102385)) -* Update repo url ([709f562](https://github.com/codesweetly/react-image-grid-gallery/commit/709f562854bd855a56be1304ded01d910d885e84)) - - -### ๐Ÿ“ Documentation - -* Add references to the documentation on this keyword's types ([108e913](https://github.com/codesweetly/react-image-grid-gallery/commit/108e9130f05cb984347223103b67493dec1bd4cd)) -* Inform users about the new columnCount prop ([fe4541a](https://github.com/codesweetly/react-image-grid-gallery/commit/fe4541a4856744367feea26abb111e4bf3a738b9)) -* Notify docusaurus users how to resolve 'crypto not defined' error ([1356dca](https://github.com/codesweetly/react-image-grid-gallery/commit/1356dcac4d25b1be70b519a54f8555f477ba5963)) - - -### ๐Ÿš€ New Feature - -* Allow changing of slides with the keyboard ([9d8bed2](https://github.com/codesweetly/react-image-grid-gallery/commit/9d8bed25464103a58e3f68121861c0a90c0d64f7)) -* Allow showing lightbox at fullscreen ([df96394](https://github.com/codesweetly/react-image-grid-gallery/commit/df963949262a97b7dcf42804a6f712f6ace7a11e)) -* Allow the lightbox to be closed with the escape key ([95f3e31](https://github.com/codesweetly/react-image-grid-gallery/commit/95f3e3114ee5a5192ef5f45dc9296158e90d7a7f)) -* Auto focus on lightbox when activated ([0e0ea4c](https://github.com/codesweetly/react-image-grid-gallery/commit/0e0ea4c8284979b7d926c1b1ee5790ec32f7fb7e)) -* Auto-focus on modal when at fullscreen ([3b38a1e](https://github.com/codesweetly/react-image-grid-gallery/commit/3b38a1e70f47a0fb650ea5c05a93b3f14cc05572)) -* Auto-focus on modal when exiting fullscreen ([1b76d75](https://github.com/codesweetly/react-image-grid-gallery/commit/1b76d755160238064dacdd79ec6e2aad0e4be712)) -* Close lightbox onclick of its background ([6c1fb78](https://github.com/codesweetly/react-image-grid-gallery/commit/6c1fb78ed95eb9900d308a9ff5e0dbaa0555d0bf)) -* Close modal on click of the close button ([36c45c7](https://github.com/codesweetly/react-image-grid-gallery/commit/36c45c71a0f6d1c68a11960e07b94f81f1af50b9)) -* Create pagination ([7e9114c](https://github.com/codesweetly/react-image-grid-gallery/commit/7e9114c2a452bed4ccadd702bfdbc3196ad140f2)) -* Exit fullscreen when modal is off ([8daebd9](https://github.com/codesweetly/react-image-grid-gallery/commit/8daebd9836c29509b898a781dc711de943455c89)) -* Make entering and exiting full screen mode keyboard accessible ([6a1c0f8](https://github.com/codesweetly/react-image-grid-gallery/commit/6a1c0f8c605f186bc020fca5f6b7fcb88d7b2f95)) -* Make images in the gallery keyboard accessible ([4fa12b8](https://github.com/codesweetly/react-image-grid-gallery/commit/4fa12b8aeeaf3162025031469abd31c26639b42e)) -* Prevent scrolling on page's body when modal is opened ([9808372](https://github.com/codesweetly/react-image-grid-gallery/commit/9808372b1f34161e685b774bb7ccec6e72987297)) -* Provide the option to specify the exact number of columns in the gallery ([fb6bce7](https://github.com/codesweetly/react-image-grid-gallery/commit/fb6bce7966c518ca78934616cd672cf913cb3326)) -* Show clicked image in modal's slideshow section ([64b0d1e](https://github.com/codesweetly/react-image-grid-gallery/commit/64b0d1ed84b00d2beeb85f50b7719259a9d2a3e7)) -* Show lightbox's controls on mouse hover only ([9b36b3b](https://github.com/codesweetly/react-image-grid-gallery/commit/9b36b3b4b1b8b993f00e9d6280635d13b98be61b)) -* Show lightbox's main container onclick of a page-thumbnail ([475d1bb](https://github.com/codesweetly/react-image-grid-gallery/commit/475d1bba54527f7916f2d5c083804cfcdb5b37f2)) -* Transition the change in opacity ([a4246c5](https://github.com/codesweetly/react-image-grid-gallery/commit/a4246c54b9485cadf6e7fbe8004a541a6795d096)) -* Transition the change in opacity ([c09bd6e](https://github.com/codesweetly/react-image-grid-gallery/commit/c09bd6edbc6cda880082c15827e1022ae0489dd4)) -* Use arrows to change slides ([d15c345](https://github.com/codesweetly/react-image-grid-gallery/commit/d15c3454cd5831b8c3bae77e495973ebff94bd0c)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Allow keyword values ([03f17aa](https://github.com/codesweetly/react-image-grid-gallery/commit/03f17aa05237c4d98cf56d912996b35983e49068)) -* Allow keyword values ([55b2ff3](https://github.com/codesweetly/react-image-grid-gallery/commit/55b2ff36d792e9402b00bdd99c6ebf82552ec788)) -* Catch fullscreen api's errors ([c466edb](https://github.com/codesweetly/react-image-grid-gallery/commit/c466edb0fbb61a11d624f3676da9724dd1c3c173)) -* Change class constructor to factory function for readability ([fb7c6b6](https://github.com/codesweetly/react-image-grid-gallery/commit/fb7c6b67efe7321d983c9ba539c49daa62088309)) -* Create modal variable ([5e5db0a](https://github.com/codesweetly/react-image-grid-gallery/commit/5e5db0a5c321e4071009385f8d603ceb6791e58f)) -* Hide html tag's scroll when modal is opened ([29da3fb](https://github.com/codesweetly/react-image-grid-gallery/commit/29da3fb4b7c1d09f8c407b19e746a0e07a4b8773)) -* Isolate the toolbar and slide number from their container ([eb9edbb](https://github.com/codesweetly/react-image-grid-gallery/commit/eb9edbbc4f288bd66243249d05f1e49b660ab6a3)) -* Make buttons accessible ([5c88555](https://github.com/codesweetly/react-image-grid-gallery/commit/5c885552da9b33c03f4f936fa4b9cbcab53ae0b9)) -* Merge exitFullscreen function with enterFullscreen ([d167fd5](https://github.com/codesweetly/react-image-grid-gallery/commit/d167fd51f421ab6c71d3d3bb63bf2a0e80a13d37)) -* Move the modal's main container's rulesets to the styles file ([2fd9f01](https://github.com/codesweetly/react-image-grid-gallery/commit/2fd9f01ce18c5fce982aa1db007ecd2177c7cd32)) -* Rename modalMainContainerStyle to modalContainerStyle ([9a09bfd](https://github.com/codesweetly/react-image-grid-gallery/commit/9a09bfd41a98f16db5bc5675e631a7122f19e598)) -* Replace html arrow entities with svg arrows ([31afd5d](https://github.com/codesweetly/react-image-grid-gallery/commit/31afd5d681ac8fe53b10bbd907e4db4b1fe4acf5)) -* Replace if statement with the 'and' operator ([f2c73fd](https://github.com/codesweetly/react-image-grid-gallery/commit/f2c73fd9c1449189539a0c1e3d062378c83d36a3)) -* Use img element to show the lightbox's images ([0fbaa2f](https://github.com/codesweetly/react-image-grid-gallery/commit/0fbaa2f284dc74c78c4ea7107a9c3decf0e65814)) - - -### ๐Ÿ’… Styling and Formatting - -* Absolutely position modal's nav ([b2365d7](https://github.com/codesweetly/react-image-grid-gallery/commit/b2365d73ac6ee76a422c799704eb8dfb2898f0ea)) -* Add background color to slide number ([ed157d6](https://github.com/codesweetly/react-image-grid-gallery/commit/ed157d6dddaaa8f0d29a04c82d4b7fb40bf70dfc)) -* Blur lightbox's background ([2c42673](https://github.com/codesweetly/react-image-grid-gallery/commit/2c4267326fd2f9660d49766cbbbf1416be8592dc)) -* Center slideshow navigation arrows vertically ([d6ba9a5](https://github.com/codesweetly/react-image-grid-gallery/commit/d6ba9a5e87cca8e851500c3159e87aa185225120)) -* Increase arrows' hit area ([703c660](https://github.com/codesweetly/react-image-grid-gallery/commit/703c6606551c87abc3d5e59a30c7a32eccf8682a)) -* Make images mobile responsive ([bc9d0c3](https://github.com/codesweetly/react-image-grid-gallery/commit/bc9d0c380dcd93f5a528441274848b5379bd5d7d)) -* Prevent selection of arrows ([b53bf66](https://github.com/codesweetly/react-image-grid-gallery/commit/b53bf669723e7d259e3e0a7bfc4445fe0b789907)) - -## [2.0.1](https://github.com/codesweetly/react-image-grid-gallery/compare/v2.0.0...v2.0.1) (2024-01-03) - - -### ๐Ÿ› Bug Fix - -* Change image container's margin-bottom specificity ([ecf9f16](https://github.com/codesweetly/react-image-grid-gallery/commit/ecf9f1628bc5c09b065157f8f6eecbfa5fd53cb7)) - -## [2.0.0](https://github.com/codesweetly/react-image-grid-gallery/compare/v1.0.3...v2.0.0) (2024-01-03) - - -### โš  BREAKING CHANGES - -* Rename imagesArray prop to imagesInfoArray -* Rename imgArray prop to imagesArray -* Users must now use named importation to add the package to their apps. - -Named importation provides better compatibility with node and babel-like tools. - -Ref: https://esbuild.github.io/content-types/#default-interop - -### ๐Ÿงฑ Dependency - -* Bump @types/react ([2515713](https://github.com/codesweetly/react-image-grid-gallery/commit/2515713d69e221e4c6fded51badffa7229dc0d59)) -* Bump packages ([3340792](https://github.com/codesweetly/react-image-grid-gallery/commit/3340792c20c6ad5128795885aaa93da57cdb2d91)) -* Configure script for building es modules and commonjs compilations ([14a6251](https://github.com/codesweetly/react-image-grid-gallery/commit/14a62518ba0331b7068f34e558363d120be79a1a)) -* Configure script for building es modules compilations ([390e63a](https://github.com/codesweetly/react-image-grid-gallery/commit/390e63adf84d6f48379332851ff749faeea05336)) -* Configure typescript as the package's compiler ([3738a8e](https://github.com/codesweetly/react-image-grid-gallery/commit/3738a8e990bf118f7f3c8f68690186acf5aa168b)) -* Delete the copy-files script ([6da1df0](https://github.com/codesweetly/react-image-grid-gallery/commit/6da1df08897eade35b5d988055d774855509cac0)) -* Specify items typescript should compile ([280f7d1](https://github.com/codesweetly/react-image-grid-gallery/commit/280f7d13f289ab743a354944115dc2bf39e5450f)) -* Uninstall babel packages ([f1f9e8f](https://github.com/codesweetly/react-image-grid-gallery/commit/f1f9e8fcbd7b986c72c1043a4b05e753ac96c0b6)) - - -### ๐Ÿ  Chores - -* Define package's entry point ([45f3c19](https://github.com/codesweetly/react-image-grid-gallery/commit/45f3c19c8c597d9d2f5fac8bc8494d606df330dd)) -* Delete babel configuration ([846a6cf](https://github.com/codesweetly/react-image-grid-gallery/commit/846a6cf7ec34cd1e554fd0d2e42a26ed32513e50)) -* Provide url and email for raising issues and reporting bugs ([7d0319c](https://github.com/codesweetly/react-image-grid-gallery/commit/7d0319c1ae47dda5b5e1e43a55bf42a33d3a5f8b)) -* Specify additional ignore rules ([4659bde](https://github.com/codesweetly/react-image-grid-gallery/commit/4659bde774de21546d65e7c5dcef3c7ed8f8fe71)) -* Specify files to publish to npm ([b05e3d1](https://github.com/codesweetly/react-image-grid-gallery/commit/b05e3d1a98083a8fa8ed71e4d29a89a33185f27a)) -* Specify package's declaration file ([b8d634d](https://github.com/codesweetly/react-image-grid-gallery/commit/b8d634d753cfd1a570fb3d7e1368bfd8a152e38b)) - - -### ๐Ÿ“ Documentation - -* Add headers to installation section ([d0c444b](https://github.com/codesweetly/react-image-grid-gallery/commit/d0c444bcd76c7e2fa10148175e51ccc6fd9ef27e)) -* Update readme ([1946f5c](https://github.com/codesweetly/react-image-grid-gallery/commit/1946f5c67d2f5004abe4b872d870c5aa16df5052)) - - -### ๐Ÿ› Bug Fix - -* Resolve crypto.randomUUID is not a function jest error ([d3196a2](https://github.com/codesweetly/react-image-grid-gallery/commit/d3196a22341580d4391c80363b8decdbd95f8495)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Add test section to changelog ([cc924ff](https://github.com/codesweetly/react-image-grid-gallery/commit/cc924ff00a8e874ec9ff6cb2dc107e38a87f3ee0)) -* Change imagegallery's export mode from default to named exportation ([d38624c](https://github.com/codesweetly/react-image-grid-gallery/commit/d38624c59842a39b83579c8d7723e629af776e8b)) -* Convert commitlint configuration file to typescript ([b4bbe51](https://github.com/codesweetly/react-image-grid-gallery/commit/b4bbe5119a282f21c7af05a67c5ccabc0f0e6453)) -* Move css rulesets into imagegallerystyles file ([4529b1e](https://github.com/codesweetly/react-image-grid-gallery/commit/4529b1eba963c3827db876422e9756a75162e3c7)) -* Move interface into types file ([24c2f9e](https://github.com/codesweetly/react-image-grid-gallery/commit/24c2f9ecc15f57c6e75d05af3928cb045ef9d188)) -* Rename imagesArray prop to imagesInfoArray ([753fc2a](https://github.com/codesweetly/react-image-grid-gallery/commit/753fc2a7767b661003e4370e5adb6107b37d559d)) -* Rename imgArray prop to imagesArray ([2b7f611](https://github.com/codesweetly/react-image-grid-gallery/commit/2b7f611ba0d97b1836576093a5945ff7d99bd66f)) -* Rename imgElementArray to imageElementsArray ([a975321](https://github.com/codesweetly/react-image-grid-gallery/commit/a9753214965474878941dfe1d996b926b02e5b6f)) -* Replace uniqid with crypto.randomuuid ([06bd0ee](https://github.com/codesweetly/react-image-grid-gallery/commit/06bd0eefbb27839b7536d087174a7a34314fdf12)) -* Use release-it's default publish path ([2a5be4a](https://github.com/codesweetly/react-image-grid-gallery/commit/2a5be4a2a304d643873f1026f3be66f0fde1ba2a)) - - -### ๐Ÿ’… Styling and Formatting - -* Delete stylesheet ([f61ef5d](https://github.com/codesweetly/react-image-grid-gallery/commit/f61ef5dc238d5d799e2ef51d267748aa8e10624a)) -* Move the gallery container's rulesets into the imagegallerystyles class ([db209e5](https://github.com/codesweetly/react-image-grid-gallery/commit/db209e5cb7f15e4c306c9d8ad359127ccd6f4043)) -* Show figcaption on hover ([16b3708](https://github.com/codesweetly/react-image-grid-gallery/commit/16b370820a7e392f8471b4392538cf261e672708)) -* Use inline css styling technique ([d2951ca](https://github.com/codesweetly/react-image-grid-gallery/commit/d2951cac95039bbf5d224d610a021dc1d553b7ee)) - - -### ๐Ÿงช Code Testing - -* Configure jest as the package's testing tool ([89fcdc3](https://github.com/codesweetly/react-image-grid-gallery/commit/89fcdc3cc08cc7442bb8f4becc8291812a3d0d8b)) -* Confirm that the image gallery renders correctly ([671c90d](https://github.com/codesweetly/react-image-grid-gallery/commit/671c90d945ba9240d8064a54059283a961b5ad28)) -* Convert jest configuration file to typescript ([3845d9c](https://github.com/codesweetly/react-image-grid-gallery/commit/3845d9c88908ac5835d43dd81242059c5ecc15d1)) -* Rename imgArray prop to imagesArray ([3d5839d](https://github.com/codesweetly/react-image-grid-gallery/commit/3d5839d92a6a25b6ab44abe251243076af388382)) - -## [0.9.4](https://github.com/codesweetly/react-image-grid-gallery/compare/0.9.3...0.9.4) (2023-05-31) - - -### ๐Ÿงฑ Dependency - -* Add prop-types to dependencies ([c9b2141](https://github.com/codesweetly/react-image-grid-gallery/commit/c9b214105aa0152b6dc369b481b72e2a90b73d39)) - -## [0.9.3](https://github.com/codesweetly/react-image-grid-gallery/compare/0.9.2...0.9.3) (2023-05-31) - - -### ๐Ÿงฑ Dependency - -* Move fslightbox-react and uniqid to dependencies field ([eec267b](https://github.com/codesweetly/react-image-grid-gallery/commit/eec267bbfa56e645d9e8112636a4c0d43cdcfafb)) - -## [0.9.2](https://github.com/codesweetly/react-image-grid-gallery/compare/0.9.1...0.9.2) (2023-05-30) - - -### ๐Ÿ’… Styling and Formatting - -* Change figcaption background's maximum opacity to 1 ([46c624f](https://github.com/codesweetly/react-image-grid-gallery/commit/46c624f8d7a61548562c09cd020a5f1ee8b5736c)) -* Change padding-inline to padding ([74b638c](https://github.com/codesweetly/react-image-grid-gallery/commit/74b638cc8492dd75390c859501119e6668a5f38e)) - -## [0.9.1](https://github.com/codesweetly/react-image-grid-gallery/compare/0.9.0...0.9.1) (2023-05-30) - - -### ๐Ÿ“ Documentation - -* Write about the 'columnWidth' and 'gapSize' props ([0637ae4](https://github.com/codesweetly/react-image-grid-gallery/commit/0637ae46d9103b0ccde9ac48189e0908e606be6c)) - -## [0.9.0](https://github.com/codesweetly/react-image-grid-gallery/compare/0.8.0...0.9.0) (2023-05-30) - - -### ๐Ÿ› Bug Fix - -* Use github readme as homepage ([5cb07b4](https://github.com/codesweetly/react-image-grid-gallery/commit/5cb07b4b023d3663f2b318bbc7da858304a465a8)) - - -### ๐Ÿ’… Styling and Formatting - -* Use mansory grid layout format for the image gallery ([55697e3](https://github.com/codesweetly/react-image-grid-gallery/commit/55697e3f0b919178835406660811409e705e46a9)) - - -### ๐Ÿš€ New Feature - -* Give users the option to specify gallery's gap size ([b42efe4](https://github.com/codesweetly/react-image-grid-gallery/commit/b42efe4744c307e1f24871d6b5919619a44d011a)) -* Provide users the option to specify gallery's column width ([c54eaa4](https://github.com/codesweetly/react-image-grid-gallery/commit/c54eaa46e409cb6ca0e3ee00f949852a42bf2d9d)) - -## 0.8.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* Scope package under '@codesweetly/' ([5edc417](https://github.com/codesweetly/react-image-grid-gallery/commit/5edc4178cd84ec1ac92ef5b3476baa43deb29647)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) -* Update to v0.2.0 ([6cce00e](https://github.com/codesweetly/react-image-grid-gallery/commit/6cce00e58713bbeea7ee1bf9f329c9cf3c515810)) -* Update to v0.3.0 ([7156836](https://github.com/codesweetly/react-image-grid-gallery/commit/71568363c491cd3c8826b985123221026dfa190d)) -* Update to v0.4.0 ([df9a6f9](https://github.com/codesweetly/react-image-grid-gallery/commit/df9a6f935ac9b7d8dda1998f1d966b238154fbc6)) -* Update to v0.5.0 ([81acd21](https://github.com/codesweetly/react-image-grid-gallery/commit/81acd21ea742ba46212c522a480b1c666c33633e)) - - -### ๐Ÿ› Bug Fix - -* **release-it:** Change 'publishPath' to './dist' ([6edded2](https://github.com/codesweetly/react-image-grid-gallery/commit/6edded243a6494910ca5f532f65aeedd7b328803)) -* Update dist's package.json file ([91261f1](https://github.com/codesweetly/react-image-grid-gallery/commit/91261f1f2c32ae6782748f343b52d3fd08d7480b)) - -## 0.7.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* Scope package under '@codesweetly/' ([5edc417](https://github.com/codesweetly/react-image-grid-gallery/commit/5edc4178cd84ec1ac92ef5b3476baa43deb29647)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) -* Update to v0.2.0 ([6cce00e](https://github.com/codesweetly/react-image-grid-gallery/commit/6cce00e58713bbeea7ee1bf9f329c9cf3c515810)) -* Update to v0.3.0 ([7156836](https://github.com/codesweetly/react-image-grid-gallery/commit/71568363c491cd3c8826b985123221026dfa190d)) -* Update to v0.4.0 ([df9a6f9](https://github.com/codesweetly/react-image-grid-gallery/commit/df9a6f935ac9b7d8dda1998f1d966b238154fbc6)) -* Update to v0.5.0 ([81acd21](https://github.com/codesweetly/react-image-grid-gallery/commit/81acd21ea742ba46212c522a480b1c666c33633e)) - - -### ๐Ÿ› Bug Fix - -* **release-it:** Change 'publishPath' to './dist' ([6edded2](https://github.com/codesweetly/react-image-grid-gallery/commit/6edded243a6494910ca5f532f65aeedd7b328803)) - -## 0.7.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* Scope package under '@codesweetly/' ([5edc417](https://github.com/codesweetly/react-image-grid-gallery/commit/5edc4178cd84ec1ac92ef5b3476baa43deb29647)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) -* Update to v0.2.0 ([6cce00e](https://github.com/codesweetly/react-image-grid-gallery/commit/6cce00e58713bbeea7ee1bf9f329c9cf3c515810)) -* Update to v0.3.0 ([7156836](https://github.com/codesweetly/react-image-grid-gallery/commit/71568363c491cd3c8826b985123221026dfa190d)) -* Update to v0.4.0 ([df9a6f9](https://github.com/codesweetly/react-image-grid-gallery/commit/df9a6f935ac9b7d8dda1998f1d966b238154fbc6)) -* Update to v0.5.0 ([81acd21](https://github.com/codesweetly/react-image-grid-gallery/commit/81acd21ea742ba46212c522a480b1c666c33633e)) - -## 0.6.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) -* Update to v0.2.0 ([6cce00e](https://github.com/codesweetly/react-image-grid-gallery/commit/6cce00e58713bbeea7ee1bf9f329c9cf3c515810)) -* Update to v0.3.0 ([7156836](https://github.com/codesweetly/react-image-grid-gallery/commit/71568363c491cd3c8826b985123221026dfa190d)) -* Update to v0.4.0 ([df9a6f9](https://github.com/codesweetly/react-image-grid-gallery/commit/df9a6f935ac9b7d8dda1998f1d966b238154fbc6)) -* Update to v0.5.0 ([81acd21](https://github.com/codesweetly/react-image-grid-gallery/commit/81acd21ea742ba46212c522a480b1c666c33633e)) - -## 0.5.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) -* Update to v0.2.0 ([6cce00e](https://github.com/codesweetly/react-image-grid-gallery/commit/6cce00e58713bbeea7ee1bf9f329c9cf3c515810)) -* Update to v0.3.0 ([7156836](https://github.com/codesweetly/react-image-grid-gallery/commit/71568363c491cd3c8826b985123221026dfa190d)) -* Update to v0.4.0 ([df9a6f9](https://github.com/codesweetly/react-image-grid-gallery/commit/df9a6f935ac9b7d8dda1998f1d966b238154fbc6)) - -## 0.4.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) -* Update to v0.2.0 ([6cce00e](https://github.com/codesweetly/react-image-grid-gallery/commit/6cce00e58713bbeea7ee1bf9f329c9cf3c515810)) -* Update to v0.3.0 ([7156836](https://github.com/codesweetly/react-image-grid-gallery/commit/71568363c491cd3c8826b985123221026dfa190d)) - -## 0.3.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) -* Update to v0.2.0 ([6cce00e](https://github.com/codesweetly/react-image-grid-gallery/commit/6cce00e58713bbeea7ee1bf9f329c9cf3c515810)) - -## 0.2.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* Generate changelog ([e2e920a](https://github.com/codesweetly/react-image-grid-gallery/commit/e2e920aebdb04efb58d86fe7420d13008d183663)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) - -## 0.1.0 (2023-05-29) - - -### ๐Ÿš€ New Feature - -* **ImageGallery:** Create ImageGallery component ([49c40a9](https://github.com/codesweetly/react-image-grid-gallery/commit/49c40a979383f3e381103490acb2c06a519f79b6)) - - -### ๐Ÿ”„๏ธ Code Refactoring - -* Don't render
if item.caption is undefined ([1c0c59e](https://github.com/codesweetly/react-image-grid-gallery/commit/1c0c59e3bbf061d5504365c3aa1017d05d073f13)) -* Make caption optional ([c47d824](https://github.com/codesweetly/react-image-grid-gallery/commit/c47d824d475487e07b445f2a72641519f0649949)) -* Rename 'ImgArryProps' to 'ImgArrayType' ([8062f6c](https://github.com/codesweetly/react-image-grid-gallery/commit/8062f6cb0933af5dd58ea3b710236e26dfc24e35)) - - -### ๐Ÿ’… Styling and Formatting - -* Add 'codesweetly-rigg' to class names ([4e12857](https://github.com/codesweetly/react-image-grid-gallery/commit/4e12857ca399d22a7005b1e9ef071dc41ef422dc)) -* Add row-gap ([4a5b2d8](https://github.com/codesweetly/react-image-grid-gallery/commit/4a5b2d8e8e7e63fe65850b8366a128c07071b85a)) -* Create ImageGallery's stylesheet ([70191bc](https://github.com/codesweetly/react-image-grid-gallery/commit/70191bcdf4bb8508227e89de3346556ac85fbec5)) -* Define codesweetly-img's width ([ca01ba6](https://github.com/codesweetly/react-image-grid-gallery/commit/ca01ba6150a73b6860ac4e014e705e3694127c68)) -* Delete 'data-theme=light' declaration ([d578205](https://github.com/codesweetly/react-image-grid-gallery/commit/d5782050bccf79d74e4217045eeb96935008985b)) -* Delete the 'codesweetly-rigg-img' class ([c87e621](https://github.com/codesweetly/react-image-grid-gallery/commit/c87e62140526d38ff5217b90482e39f3e734a5da)) - - -### ๐Ÿ“ Documentation - -* Create README ([bc64b22](https://github.com/codesweetly/react-image-grid-gallery/commit/bc64b22ff4e2c4602f43ed430f6e8dc640888b50)) - - -### ๐Ÿ  Chores - -* Change version number to 0.0.0 ([24da08f](https://github.com/codesweetly/react-image-grid-gallery/commit/24da08fe65fbb0428913eba947ea979f6681fef1)) -* **commitlint:** Install plugins to enforce Conventional Commits ([9170395](https://github.com/codesweetly/react-image-grid-gallery/commit/9170395ee06b1a486070f40ae5a4f8caa3a0ffd5)) -* Configure babel ([1d21977](https://github.com/codesweetly/react-image-grid-gallery/commit/1d219770d829660173091ed51369986eff44bae5)) -* Configure TypeScript ([9604bb9](https://github.com/codesweetly/react-image-grid-gallery/commit/9604bb9d66b4d094f8048b9497abc6f3d57da5a9)) -* Create 'copy-files' script ([da952a0](https://github.com/codesweetly/react-image-grid-gallery/commit/da952a0d581bd24c99f056bda45bcb6ce3a04163)) -* Create a LICENSE ([13c70f0](https://github.com/codesweetly/react-image-grid-gallery/commit/13c70f0aaeb50447e18af77911784f37ef730e52)) -* **github:** Configure release-it to auto-generate project's GitHub releases ([7312f92](https://github.com/codesweetly/react-image-grid-gallery/commit/7312f92dd5a6853c9fc2610af3f9e15aec7cde82)) -* **github:** Specify the remote repo's url ([d800de3](https://github.com/codesweetly/react-image-grid-gallery/commit/d800de3cfee99c66bff13cd3b26865b4324c3d53)) -* Ignore 'dist' folder ([12ae8a5](https://github.com/codesweetly/react-image-grid-gallery/commit/12ae8a5b362a1ba24cb9fe4650c77f7ff957ad64)) -* Ignore npm-debug.log* ([aafe117](https://github.com/codesweetly/react-image-grid-gallery/commit/aafe117b241e6c0e2c5e41ebdd9ea138de3b0788)) -* **ImageGallery:** Define ImgArryProps interface ([c6f04e1](https://github.com/codesweetly/react-image-grid-gallery/commit/c6f04e1ee7d8f4a52bea1b7424b186a2ab56976e)) -* Initialize react-image-grid-gallery project ([bd11d5f](https://github.com/codesweetly/react-image-grid-gallery/commit/bd11d5fdedd36d33079bd6936041f6eca49cd26b)) -* Make 'ImageGallery.js' the entry point ([14451d6](https://github.com/codesweetly/react-image-grid-gallery/commit/14451d664b7934364c7d9d5e37b0c04b20014804)) -* **package-json:** Install packages for compiling React to JavaScript ([56cd72d](https://github.com/codesweetly/react-image-grid-gallery/commit/56cd72d0d8354b2d6017a9bd2b71a3854226e912)) -* Provide info that helps people discover the package ([bf581de](https://github.com/codesweetly/react-image-grid-gallery/commit/bf581deb46c5e890a78e6da8d19cb9e7a289f957)) -* **release-it:** Customize changelog's headings ([00943c8](https://github.com/codesweetly/react-image-grid-gallery/commit/00943c89ce7d9246ac8ab9aa71fc61eba77f41eb)) -* **release-it:** Install version management plugin ([abfc611](https://github.com/codesweetly/react-image-grid-gallery/commit/abfc611be693890781a28d91a5d6ae5604c365c2)) -* **release-it:** Let release-it auto-generate project's changelog ([8f12b98](https://github.com/codesweetly/react-image-grid-gallery/commit/8f12b98ffe81d4a073cdeeafb30785f0747d761e)) -* **release-it:** Specify options to override ([bf58eee](https://github.com/codesweetly/react-image-grid-gallery/commit/bf58eee97895fc29207e1333f5c6d09692f79eee)) -* **release-it:** Use plugin to provide recommended bump to release-it ([ebd37a4](https://github.com/codesweetly/react-image-grid-gallery/commit/ebd37a4b9f1e61e41f33ffd8c0be8ee124dfa986)) -* **typescript:** Define declaration file's location ([589842f](https://github.com/codesweetly/react-image-grid-gallery/commit/589842f62acef66338ca0d272bd255f9f7086415)) -* Update changelog sections ([8763812](https://github.com/codesweetly/react-image-grid-gallery/commit/87638120ba6defe64ca15a57509dc6466bb01c64)) diff --git a/README.md b/README.md index 61d5a8a..e014f74 100644 --- a/README.md +++ b/README.md @@ -46,8 +46,11 @@ pnpm add react-image-grid-gallery ## Usage +Import the library and its stylesheet, and use it as shown below: + ```js import { ImageGallery } from "react-image-grid-gallery"; +import "react-image-grid-gallery/style.css"; const imagesArray = [ { @@ -77,10 +80,14 @@ const imagesArray = [ ]; function App() { - return ; + return ; } ``` +### Why import the stylesheet? + +The components rely on predefined CSS classes for styling. Importing the stylesheet once ensures consistent application of these styles across all components. + ## Props @@ -93,8 +100,9 @@ function App() { + - + + + + + + + - - - + + + + + + + + @@ -152,18 +208,25 @@ function App() { + - - - - + + + + + + @@ -176,30 +239,12 @@ function App() { - - - - - + + + + + @@ -250,7 +295,7 @@ function YourComponent() { const ImageGallery = require("react-image-grid-gallery").ImageGallery; return ( ImageGalleryStyles.ts) moduleNameMapper: { - "^(\\.{1,2}/.*)\\.js$": "$1", + "^(\\.{1,2}/.*)\\.(ts|js)$": "$1", }, }; diff --git a/package-lock.json b/package-lock.json index 314859b..6d280dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,32 +1,32 @@ { "name": "react-image-grid-gallery", - "version": "3.1.8", + "version": "0.0.0-development", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "react-image-grid-gallery", - "version": "3.1.8", + "version": "0.0.0-development", "license": "MIT", "devDependencies": { - "@commitlint/cli": "^20.3.1", - "@commitlint/config-conventional": "^20.3.1", - "@testing-library/react": "^16.2.0", - "@types/react": "^19.2.9", + "@commitlint/cli": "^20.5.2", + "@commitlint/config-conventional": "^20.5.0", + "@testing-library/react": "^16.3.2", + "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "husky": "^9.1.7", - "jest": "^30.2.0", - "jest-environment-jsdom": "^30.2.0", - "react": "^19.2.3", - "ts-jest": "^29.2.5", - "typescript": "^5.7.3" + "jest": "^30.3.0", + "jest-environment-jsdom": "^30.3.0", + "react": "^19.2.4", + "ts-jest": "^29.4.9", + "typescript": "^6.0.3" }, "funding": { "type": "buymeacoffee", "url": "https://www.buymeacoffee.com/codesweetly" }, "peerDependencies": { - "react": "^19.0.0" + "react": "^19.2.4" } }, "node_modules/@asamuzakjp/css-color": { @@ -51,9 +51,9 @@ "license": "ISC" }, "node_modules/@babel/code-frame": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", - "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { @@ -66,9 +66,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", - "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -76,21 +76,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", - "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-module-transforms": "^7.28.6", "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.28.6", + "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -117,14 +117,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", - "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -243,27 +243,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", - "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -512,9 +512,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "dev": true, "license": "MIT", "engines": { @@ -537,18 +537,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", - "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.6", + "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -556,9 +556,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", - "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { @@ -577,17 +577,17 @@ "license": "MIT" }, "node_modules/@commitlint/cli": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-20.3.1.tgz", - "integrity": "sha512-NtInjSlyev/+SLPvx/ulz8hRE25Wf5S9dLNDcIwazq0JyB4/w1ROF/5nV0ObPTX8YpRaKYeKtXDYWqumBNHWsw==", + "version": "20.5.3", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-20.5.3.tgz", + "integrity": "sha512-OJdL0EXWD5y9LPa0nr/geOwzaS8BsdaybKkcloB0JgsguGxNv2R+hC2FTPqrAcprg35zF33KOQerY0x8W1aesA==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/format": "^20.3.1", - "@commitlint/lint": "^20.3.1", - "@commitlint/load": "^20.3.1", - "@commitlint/read": "^20.3.1", - "@commitlint/types": "^20.3.1", + "@commitlint/format": "^20.5.0", + "@commitlint/lint": "^20.5.3", + "@commitlint/load": "^20.5.3", + "@commitlint/read": "^20.5.0", + "@commitlint/types": "^20.5.0", "tinyexec": "^1.0.0", "yargs": "^17.0.0" }, @@ -599,27 +599,27 @@ } }, "node_modules/@commitlint/config-conventional": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-20.3.1.tgz", - "integrity": "sha512-NCzwvxepstBZbmVXsvg49s+shCxlJDJPWxXqONVcAtJH9wWrOlkMQw/zyl+dJmt8lyVopt5mwQ3mR5M2N2rUWg==", + "version": "20.5.3", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-20.5.3.tgz", + "integrity": "sha512-j34Qqeaa152chJgz2ysyk0BCpHenJn1lV0Rx0VXf8k3ccQcED+48EZrzMvo9jLmJUyBrrBwvu89I+2er4gW7QQ==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.3.1", - "conventional-changelog-conventionalcommits": "^7.0.2" + "@commitlint/types": "^20.5.0", + "conventional-changelog-conventionalcommits": "^9.2.0" }, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/config-validator": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.3.1.tgz", - "integrity": "sha512-ErVLC/IsHhcvxCyh+FXo7jy12/nkQySjWXYgCoQbZLkFp4hysov8KS6CdxBB0cWjbZWjvNOKBMNoUVqkmGmahw==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.5.0.tgz", + "integrity": "sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.3.1", + "@commitlint/types": "^20.5.0", "ajv": "^8.11.0" }, "engines": { @@ -627,18 +627,14 @@ } }, "node_modules/@commitlint/ensure": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-20.3.1.tgz", - "integrity": "sha512-h664FngOEd7bHAm0j8MEKq+qm2mH+V+hwJiIE2bWcw3pzJMlO0TPKtk0ATyRAtV6jQw+xviRYiIjjSjfajiB5w==", + "version": "20.5.3", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-20.5.3.tgz", + "integrity": "sha512-4i4AgNvH62owG9MwSiWKrle7HGNpBHHdLnWFIp5fTsHUYe5kRuh15t08L/0pdbbrRk8JKXQxxN4hZQcn+szkrw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.3.1", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.upperfirst": "^4.3.1" + "@commitlint/types": "^20.5.0", + "es-toolkit": "^1.46.0" }, "engines": { "node": ">=v18" @@ -655,27 +651,27 @@ } }, "node_modules/@commitlint/format": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-20.3.1.tgz", - "integrity": "sha512-jfsjGPFTd2Yti2YHwUH4SPRPbWKAJAwrfa3eNa9bXEdrXBb9mCwbIrgYX38LdEJK9zLJ3AsLBP4/FLEtxyu2AA==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-20.5.0.tgz", + "integrity": "sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.3.1", - "chalk": "^5.3.0" + "@commitlint/types": "^20.5.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/is-ignored": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-20.3.1.tgz", - "integrity": "sha512-tWwAoh93QvAhxgp99CzCuHD86MgxE4NBtloKX+XxQxhfhSwHo7eloiar/yzx53YW9eqSLP95zgW2KDDk4/WX+A==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-20.5.0.tgz", + "integrity": "sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.3.1", + "@commitlint/types": "^20.5.0", "semver": "^7.6.0" }, "engines": { @@ -683,47 +679,46 @@ } }, "node_modules/@commitlint/lint": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-20.3.1.tgz", - "integrity": "sha512-LaOtrQ24+6SfUaWg8A+a+Wc77bvLbO5RIr6iy9F7CI3/0iq1uPEWgGRCwqWTuLGHkZDAcwaq0gZ01zpwZ1jCGw==", + "version": "20.5.3", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-20.5.3.tgz", + "integrity": "sha512-M7JbWBNr2gXKaPc4i/KipsuW1gkDHpj35KPjWtKy3Z+2AQw5wu1gBi1LIO0uoaij67CqY4K8PxPZSGens4evCw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/is-ignored": "^20.3.1", - "@commitlint/parse": "^20.3.1", - "@commitlint/rules": "^20.3.1", - "@commitlint/types": "^20.3.1" + "@commitlint/is-ignored": "^20.5.0", + "@commitlint/parse": "^20.5.0", + "@commitlint/rules": "^20.5.3", + "@commitlint/types": "^20.5.0" }, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/load": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-20.3.1.tgz", - "integrity": "sha512-YDD9XA2XhgYgbjju8itZ/weIvOOobApDqwlPYCX5NLO/cPtw2UMO5Cmn44Ks8RQULUVI5fUT6roKvyxcoLbNmw==", + "version": "20.5.3", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-20.5.3.tgz", + "integrity": "sha512-1FDZWuKyu98Myb8i7Tp31jPU2rZpOwAdYRyJcy2KoGg7Xk2A+bgHN8smhMaaNSNkmE8fwt53BokywZq8Gv/5XQ==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/config-validator": "^20.3.1", + "@commitlint/config-validator": "^20.5.0", "@commitlint/execute-rule": "^20.0.0", - "@commitlint/resolve-extends": "^20.3.1", - "@commitlint/types": "^20.3.1", - "chalk": "^5.3.0", - "cosmiconfig": "^9.0.0", + "@commitlint/resolve-extends": "^20.5.3", + "@commitlint/types": "^20.5.0", + "cosmiconfig": "^9.0.1", "cosmiconfig-typescript-loader": "^6.1.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0" + "es-toolkit": "^1.46.0", + "is-plain-obj": "^4.1.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/message": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-20.0.0.tgz", - "integrity": "sha512-gLX4YmKnZqSwkmSB9OckQUrI5VyXEYiv3J5JKZRxIp8jOQsWjZgHSG/OgEfMQBK9ibdclEdAyIPYggwXoFGXjQ==", + "version": "20.4.3", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-20.4.3.tgz", + "integrity": "sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ==", "dev": true, "license": "MIT", "engines": { @@ -731,30 +726,30 @@ } }, "node_modules/@commitlint/parse": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-20.3.1.tgz", - "integrity": "sha512-TuUTdbLpyUNLgDzLDYlI2BeTE6V/COZbf3f8WwsV0K6eq/2nSpNTMw7wHtXb+YxeY9wwxBp/Ldad4P+YIxHJoA==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-20.5.0.tgz", + "integrity": "sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.3.1", - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-parser": "^5.0.0" + "@commitlint/types": "^20.5.0", + "conventional-changelog-angular": "^8.2.0", + "conventional-commits-parser": "^6.3.0" }, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/read": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-20.3.1.tgz", - "integrity": "sha512-nCmJAdIg3OdNVUpQW0Idk/eF/vfOo2W2xzmvRmNeptLrzFK7qhwwl/kIwy1Q1LZrKHUFNj7PGNpIT5INbgZWzA==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-20.5.0.tgz", + "integrity": "sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/top-level": "^20.0.0", - "@commitlint/types": "^20.3.1", - "git-raw-commits": "^4.0.0", + "@commitlint/top-level": "^20.4.3", + "@commitlint/types": "^20.5.0", + "git-raw-commits": "^5.0.0", "minimist": "^1.2.8", "tinyexec": "^1.0.0" }, @@ -763,17 +758,17 @@ } }, "node_modules/@commitlint/resolve-extends": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.3.1.tgz", - "integrity": "sha512-iGTGeyaoDyHDEZNjD8rKeosjSNs8zYanmuowY4ful7kFI0dnY4b5QilVYaFQJ6IM27S57LAeH5sKSsOHy4bw5w==", + "version": "20.5.3", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.5.3.tgz", + "integrity": "sha512-+ogW9v/u9JqpvAgTrLra/YTFo0KkjU6iNblF89pPsj4NebNc+DAWctsludwezI8YnsjBmfHpApSwcXprN/f/ew==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/config-validator": "^20.3.1", - "@commitlint/types": "^20.3.1", - "global-directory": "^4.0.1", + "@commitlint/config-validator": "^20.5.0", + "@commitlint/types": "^20.5.0", + "es-toolkit": "^1.46.0", + "global-directory": "^5.0.0", "import-meta-resolve": "^4.0.0", - "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0" }, "engines": { @@ -781,16 +776,16 @@ } }, "node_modules/@commitlint/rules": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-20.3.1.tgz", - "integrity": "sha512-/uic4P+4jVNpqQxz02+Y6vvIC0A2J899DBztA1j6q3f3MOKwydlNrojSh0dQmGDxxT1bXByiRtDhgFnOFnM6Pg==", + "version": "20.5.3", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-20.5.3.tgz", + "integrity": "sha512-MPlMnb9D3wbszYMp+1hPtuhtPJndRo6I6yfkZVA4+jR8w7Kqp0u2u/Y+gzbaItx5Lltq5rw7FSZQWJMoXUC4NQ==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/ensure": "^20.3.1", - "@commitlint/message": "^20.0.0", + "@commitlint/ensure": "^20.5.3", + "@commitlint/message": "^20.4.3", "@commitlint/to-lines": "^20.0.0", - "@commitlint/types": "^20.3.1" + "@commitlint/types": "^20.5.0" }, "engines": { "node": ">=v18" @@ -807,32 +802,59 @@ } }, "node_modules/@commitlint/top-level": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-20.0.0.tgz", - "integrity": "sha512-drXaPSP2EcopukrUXvUXmsQMu3Ey/FuJDc/5oiW4heoCfoE5BdLQyuc7veGeE3aoQaTVqZnh4D5WTWe2vefYKg==", + "version": "20.4.3", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-20.4.3.tgz", + "integrity": "sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^7.0.0" + "escalade": "^3.2.0" }, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/types": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-20.3.1.tgz", - "integrity": "sha512-VmIFV/JkBRhDRRv7N5B7zEUkNZIx9Mp+8Pe65erz0rKycXLsi8Epcw0XJ+btSeRXgTzE7DyOyA9bkJ9mn/yqVQ==", + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-20.5.0.tgz", + "integrity": "sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA==", "dev": true, "license": "MIT", "dependencies": { - "@types/conventional-commits-parser": "^5.0.0", - "chalk": "^5.3.0" + "conventional-commits-parser": "^6.3.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=v18" } }, + "node_modules/@conventional-changelog/git-client": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@conventional-changelog/git-client/-/git-client-2.7.0.tgz", + "integrity": "sha512-j7A8/LBEQ+3rugMzPXoKYzyUPpw/0CBQCyvtTR7Lmu4olG4yRC/Tfkq79Mr3yuPs0SUitlO2HwGP3gitMJnRFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@simple-libs/child-process-utils": "^1.0.0", + "@simple-libs/stream-utils": "^1.2.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.4.0" + }, + "peerDependenciesMeta": { + "conventional-commits-filter": { + "optional": true + }, + "conventional-commits-parser": { + "optional": true + } + } + }, "node_modules/@csstools/color-helpers": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", @@ -949,21 +971,21 @@ } }, "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.1.0", + "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, "license": "MIT", "optional": true, @@ -972,9 +994,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", "optional": true, @@ -1027,20 +1049,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.2", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", @@ -1055,62 +1063,10 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", "dev": true, "license": "MIT", "engines": { @@ -1118,90 +1074,56 @@ } }, "node_modules/@jest/console": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.2.0.tgz", - "integrity": "sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.3.0.tgz", + "integrity": "sha512-PAwCvFJ4696XP2qZj+LAn1BWjZaJ6RjG6c7/lkMaUJnkyMS34ucuIsfqYvfskVNvUI27R/u4P1HMYFnlVXG/Ww==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@types/node": "*", "chalk": "^4.1.2", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", "slash": "^3.0.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@jest/core": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.2.0.tgz", - "integrity": "sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.3.0.tgz", + "integrity": "sha512-U5mVPsBxLSO6xYbf+tgkymLx+iAhvZX43/xI1+ej2ZOPnPdkdO1CzDmFKh2mZBn2s4XZixszHeQnzp1gm/DIxw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", + "@jest/console": "30.3.0", "@jest/pattern": "30.0.1", - "@jest/reporters": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", + "@jest/reporters": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", "ansi-escapes": "^4.3.2", "chalk": "^4.1.2", "ci-info": "^4.2.0", "exit-x": "^0.2.2", "graceful-fs": "^4.2.11", - "jest-changed-files": "30.2.0", - "jest-config": "30.2.0", - "jest-haste-map": "30.2.0", - "jest-message-util": "30.2.0", + "jest-changed-files": "30.3.0", + "jest-config": "30.3.0", + "jest-haste-map": "30.3.0", + "jest-message-util": "30.3.0", "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-resolve-dependencies": "30.2.0", - "jest-runner": "30.2.0", - "jest-runtime": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "jest-watcher": "30.2.0", - "micromatch": "^4.0.8", - "pretty-format": "30.2.0", + "jest-resolve": "30.3.0", + "jest-resolve-dependencies": "30.3.0", + "jest-runner": "30.3.0", + "jest-runtime": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", + "jest-watcher": "30.3.0", + "pretty-format": "30.3.0", "slash": "^3.0.0" }, "engines": { @@ -1216,43 +1138,23 @@ } } }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/@jest/core/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1272,9 +1174,9 @@ "license": "MIT" }, "node_modules/@jest/diff-sequences": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", - "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz", + "integrity": "sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==", "dev": true, "license": "MIT", "engines": { @@ -1282,35 +1184,35 @@ } }, "node_modules/@jest/environment": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.2.0.tgz", - "integrity": "sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.3.0.tgz", + "integrity": "sha512-SlLSF4Be735yQXyh2+mctBOzNDx5s5uLv88/j8Qn1wH679PDcwy67+YdADn8NJnGjzlXtN62asGH/T4vWOkfaw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", - "jest-mock": "30.2.0" + "jest-mock": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/environment-jsdom-abstract": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.2.0.tgz", - "integrity": "sha512-kazxw2L9IPuZpQ0mEt9lu9Z98SqR74xcagANmMBU16X0lS23yPc0+S6hGLUz8kVRlomZEs/5S/Zlpqwf5yu6OQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.3.0.tgz", + "integrity": "sha512-0hNFs5N6We3DMCwobzI0ydhkY10sT1tZSC0AAiy+0g2Dt/qEWgrcV5BrMxPczhe41cxW4qm6X+jqZaUdpZIajA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", "@types/jsdom": "^21.1.7", "@types/node": "*", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" + "jest-mock": "30.3.0", + "jest-util": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -1326,23 +1228,23 @@ } }, "node_modules/@jest/expect": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.2.0.tgz", - "integrity": "sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.3.0.tgz", + "integrity": "sha512-76Nlh4xJxk2D/9URCn3wFi98d2hb19uWE1idLsTt2ywhvdOldbw3S570hBgn25P4ICUZ/cBjybrBex2g17IDbg==", "dev": true, "license": "MIT", "dependencies": { - "expect": "30.2.0", - "jest-snapshot": "30.2.0" + "expect": "30.3.0", + "jest-snapshot": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz", - "integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.3.0.tgz", + "integrity": "sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==", "dev": true, "license": "MIT", "dependencies": { @@ -1353,18 +1255,18 @@ } }, "node_modules/@jest/fake-timers": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.2.0.tgz", - "integrity": "sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.3.0.tgz", + "integrity": "sha512-WUQDs8SOP9URStX1DzhD425CqbN/HxUYCTwVrT8sTVBfMvFqYt/s61EK5T05qnHu0po6RitXIvP9otZxYDzTGQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", - "@sinonjs/fake-timers": "^13.0.0", + "@jest/types": "30.3.0", + "@sinonjs/fake-timers": "^15.0.0", "@types/node": "*", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-util": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -1381,16 +1283,16 @@ } }, "node_modules/@jest/globals": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.2.0.tgz", - "integrity": "sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.3.0.tgz", + "integrity": "sha512-+owLCBBdfpgL3HU+BD5etr1SvbXpSitJK0is1kiYjJxAAJggYMRQz5hSdd5pq1sSggfxPbw2ld71pt4x5wwViA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/expect": "30.2.0", - "@jest/types": "30.2.0", - "jest-mock": "30.2.0" + "@jest/environment": "30.3.0", + "@jest/expect": "30.3.0", + "@jest/types": "30.3.0", + "jest-mock": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -1411,32 +1313,32 @@ } }, "node_modules/@jest/reporters": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.2.0.tgz", - "integrity": "sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.3.0.tgz", + "integrity": "sha512-a09z89S+PkQnL055bVj8+pe2Caed2PBOaczHcXCykW5ngxX9EWx/1uAwncxc/HiU0oZqfwseMjyhxgRjS49qPw==", "dev": true, "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", + "@jest/console": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", "@jridgewell/trace-mapping": "^0.3.25", "@types/node": "*", "chalk": "^4.1.2", "collect-v8-coverage": "^1.0.2", "exit-x": "^0.2.2", - "glob": "^10.3.10", + "glob": "^10.5.0", "graceful-fs": "^4.2.11", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^6.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^5.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", - "jest-worker": "30.2.0", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", + "jest-worker": "30.3.0", "slash": "^3.0.0", "string-length": "^4.0.2", "v8-to-istanbul": "^9.0.1" @@ -1453,39 +1355,6 @@ } } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@jest/schemas": { "version": "30.0.5", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", @@ -1500,13 +1369,13 @@ } }, "node_modules/@jest/snapshot-utils": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.2.0.tgz", - "integrity": "sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.3.0.tgz", + "integrity": "sha512-ORbRN9sf5PP82v3FXNSwmO1OTDR2vzR2YTaR+E3VkSBZ8zadQE6IqYdYEeFH1NIkeB2HIGdF02dapb6K0Mj05g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "natural-compare": "^1.4.0" @@ -1515,39 +1384,6 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/snapshot-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/snapshot-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@jest/source-map": { "version": "30.0.1", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", @@ -1564,14 +1400,14 @@ } }, "node_modules/@jest/test-result": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.2.0.tgz", - "integrity": "sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.3.0.tgz", + "integrity": "sha512-e/52nJGuD74AKTSe0P4y5wFRlaXP0qmrS17rqOMHeSwm278VyNyXE3gFO/4DTGF9w+65ra3lo3VKj0LBrzmgdQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", - "@jest/types": "30.2.0", + "@jest/console": "30.3.0", + "@jest/types": "30.3.0", "@types/istanbul-lib-coverage": "^2.0.6", "collect-v8-coverage": "^1.0.2" }, @@ -1580,15 +1416,15 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.2.0.tgz", - "integrity": "sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.3.0.tgz", + "integrity": "sha512-dgbWy9b8QDlQeRZcv7LNF+/jFiiYHTKho1xirauZ7kVwY7avjFF6uTT0RqlgudB5OuIPagFdVtfFMosjVbk1eA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "30.2.0", + "@jest/test-result": "30.3.0", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", + "jest-haste-map": "30.3.0", "slash": "^3.0.0" }, "engines": { @@ -1596,24 +1432,23 @@ } }, "node_modules/@jest/transform": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz", - "integrity": "sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.3.0.tgz", + "integrity": "sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.27.4", - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@jridgewell/trace-mapping": "^0.3.25", "babel-plugin-istanbul": "^7.0.1", "chalk": "^4.1.2", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", + "jest-haste-map": "30.3.0", "jest-regex-util": "30.0.1", - "jest-util": "30.2.0", - "micromatch": "^4.0.8", + "jest-util": "30.3.0", "pirates": "^4.0.7", "slash": "^3.0.0", "write-file-atomic": "^5.0.1" @@ -1622,89 +1457,23 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@jest/types": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", + "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz", - "integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", - "@types/istanbul-lib-coverage": "^2.0.6", - "@types/istanbul-reports": "^3.0.4", - "@types/node": "*", - "@types/yargs": "^17.0.33", - "chalk": "^4.1.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jridgewell/gen-mapping": { @@ -1794,10 +1563,39 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@simple-libs/child-process-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@simple-libs/child-process-utils/-/child-process-utils-1.0.2.tgz", + "integrity": "sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@simple-libs/stream-utils": "^1.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://ko-fi.com/dangreen" + } + }, + "node_modules/@simple-libs/stream-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-1.2.0.tgz", + "integrity": "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://ko-fi.com/dangreen" + } + }, "node_modules/@sinclair/typebox": { - "version": "0.34.48", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz", - "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==", + "version": "0.34.49", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", + "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", "dev": true, "license": "MIT" }, @@ -1812,9 +1610,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", - "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "version": "15.3.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", + "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -1934,16 +1732,6 @@ "@babel/types": "^7.28.2" } }, - "node_modules/@types/conventional-commits-parser": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.2.tgz", - "integrity": "sha512-BgT2szDXnVypgpNxOK8aL5SGjUdaQbC++WZNjF1Qge3Og2+zhHj+RWhmehLhYyvQwqAmvezruVfOf8+3m74W+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -1984,19 +1772,19 @@ } }, "node_modules/@types/node": { - "version": "25.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz", - "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==", + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "undici-types": "~7.19.0" } }, "node_modules/@types/react": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz", - "integrity": "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "dev": true, "license": "MIT", "dependencies": { @@ -2157,6 +1945,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2171,6 +1962,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2185,6 +1979,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2199,6 +1996,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2213,6 +2013,9 @@ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2227,6 +2030,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2241,6 +2047,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -2255,6 +2064,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -2331,9 +2143,9 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "dependencies": { @@ -2374,13 +2186,16 @@ } }, "node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -2400,6 +2215,19 @@ "node": ">= 8" } }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2426,16 +2254,16 @@ "license": "MIT" }, "node_modules/babel-jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz", - "integrity": "sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.3.0.tgz", + "integrity": "sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "30.2.0", + "@jest/transform": "30.3.0", "@types/babel__core": "^7.20.5", "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.2.0", + "babel-preset-jest": "30.3.0", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "slash": "^3.0.0" @@ -2447,39 +2275,6 @@ "@babel/core": "^7.11.0 || ^8.0.0-0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/babel-plugin-istanbul": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", @@ -2501,9 +2296,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz", - "integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.3.0.tgz", + "integrity": "sha512-+TRkByhsws6sfPjVaitzadk1I0F5sPvOVUH5tyTSzhePpsGIVrdeunHSw/C36QeocS95OOk8lunc4rlu5Anwsg==", "dev": true, "license": "MIT", "dependencies": { @@ -2541,13 +2336,13 @@ } }, "node_modules/babel-preset-jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz", - "integrity": "sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.3.0.tgz", + "integrity": "sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "30.2.0", + "babel-plugin-jest-hoist": "30.3.0", "babel-preset-current-node-syntax": "^1.2.0" }, "engines": { @@ -2565,42 +2360,32 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.17.tgz", - "integrity": "sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==", + "version": "2.10.24", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", + "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", "dev": true, "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -2618,11 +2403,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -2682,9 +2467,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001766", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz", - "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==", + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", "dev": true, "funding": [ { @@ -2703,13 +2488,17 @@ "license": "CC-BY-4.0" }, "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -2726,9 +2515,9 @@ } }, "node_modules/ci-info": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", - "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", "dev": true, "funding": [ { @@ -2763,22 +2552,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -2889,48 +2662,46 @@ "license": "MIT" }, "node_modules/conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.3.1.tgz", + "integrity": "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==", "dev": true, "license": "ISC", "dependencies": { "compare-func": "^2.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/conventional-changelog-conventionalcommits": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", - "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-9.3.1.tgz", + "integrity": "sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw==", "dev": true, "license": "ISC", "dependencies": { "compare-func": "^2.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz", + "integrity": "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==", "dev": true, "license": "MIT", "dependencies": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" + "@simple-libs/stream-utils": "^1.2.0", + "meow": "^13.0.0" }, "bin": { - "conventional-commits-parser": "cli.mjs" + "conventional-commits-parser": "dist/cli/index.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/convert-source-map": { @@ -2941,9 +2712,9 @@ "license": "MIT" }, "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", + "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2968,13 +2739,13 @@ } }, "node_modules/cosmiconfig-typescript-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.2.0.tgz", - "integrity": "sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.3.0.tgz", + "integrity": "sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==", "dev": true, "license": "MIT", "dependencies": { - "jiti": "^2.6.1" + "jiti": "2.6.1" }, "engines": { "node": ">=v18" @@ -3021,19 +2792,6 @@ "dev": true, "license": "MIT" }, - "node_modules/dargs": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", - "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/data-urls": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", @@ -3074,9 +2832,9 @@ "license": "MIT" }, "node_modules/dedent": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.1.tgz", - "integrity": "sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", "dev": true, "license": "MIT", "peerDependencies": { @@ -3148,9 +2906,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.278", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.278.tgz", - "integrity": "sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw==", + "version": "1.5.345", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.345.tgz", + "integrity": "sha512-F9JXQGiMrz6yVNPI2qOVPvB9HzjH5cGzhs8oJ6A28V5L/YnzN/0KsuiibqF+F1Fd9qxFzD1BUnYSd8JfULxTwg==", "dev": true, "license": "ISC" }, @@ -3207,6 +2965,17 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-toolkit": { + "version": "1.46.1", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.46.1.tgz", + "integrity": "sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -3283,18 +3052,18 @@ } }, "node_modules/expect": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.2.0.tgz", - "integrity": "sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.3.0.tgz", + "integrity": "sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "30.2.0", + "@jest/expect-utils": "30.3.0", "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-util": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -3341,35 +3110,18 @@ "bser": "2.1.1" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/find-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", - "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^7.2.0", - "path-exists": "^5.0.0", - "unicorn-magic": "^0.1.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/foreground-child": { @@ -3455,27 +3207,27 @@ } }, "node_modules/git-raw-commits": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz", - "integrity": "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-5.0.1.tgz", + "integrity": "sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==", "dev": true, "license": "MIT", "dependencies": { - "dargs": "^8.0.0", - "meow": "^12.0.1", - "split2": "^4.0.0" + "@conventional-changelog/git-client": "^2.6.0", + "meow": "^13.0.0" }, "bin": { - "git-raw-commits": "cli.mjs" + "git-raw-commits": "src/cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/glob": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -3494,16 +3246,16 @@ } }, "node_modules/global-directory": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", - "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-5.0.0.tgz", + "integrity": "sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==", "dev": true, "license": "MIT", "dependencies": { - "ini": "4.1.1" + "ini": "6.0.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3517,9 +3269,9 @@ "license": "ISC" }, "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", + "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3723,13 +3475,13 @@ "license": "ISC" }, "node_modules/ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", + "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/is-arrayish": { @@ -3759,16 +3511,6 @@ "node": ">=6" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -3779,6 +3521,19 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -3799,20 +3554,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "text-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", @@ -3907,16 +3649,16 @@ } }, "node_modules/jest": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-30.2.0.tgz", - "integrity": "sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.3.0.tgz", + "integrity": "sha512-AkXIIFcaazymvey2i/+F94XRnM6TsVLZDhBMLsd1Sf/W0wzsvvpjeyUrCZD6HGG4SDYPgDJDBKeiJTBb10WzMg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.2.0", - "@jest/types": "30.2.0", + "@jest/core": "30.3.0", + "@jest/types": "30.3.0", "import-local": "^3.2.0", - "jest-cli": "30.2.0" + "jest-cli": "30.3.0" }, "bin": { "jest": "bin/jest.js" @@ -3934,14 +3676,14 @@ } }, "node_modules/jest-changed-files": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.2.0.tgz", - "integrity": "sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.3.0.tgz", + "integrity": "sha512-B/7Cny6cV5At6M25EWDgf9S617lHivamL8vl6KEpJqkStauzcG4e+WPfDgMMF+H4FVH4A2PLRyvgDJan4441QA==", "dev": true, "license": "MIT", "dependencies": { "execa": "^5.1.1", - "jest-util": "30.2.0", + "jest-util": "30.3.0", "p-limit": "^3.1.0" }, "engines": { @@ -3949,29 +3691,29 @@ } }, "node_modules/jest-circus": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.2.0.tgz", - "integrity": "sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.3.0.tgz", + "integrity": "sha512-PyXq5szeSfR/4f1lYqCmmQjh0vqDkURUYi9N6whnHjlRz4IUQfMcXkGLeEoiJtxtyPqgUaUUfyQlApXWBSN1RA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/expect": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", + "@jest/environment": "30.3.0", + "@jest/expect": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", "chalk": "^4.1.2", "co": "^4.6.0", "dedent": "^1.6.0", "is-generator-fn": "^2.1.0", - "jest-each": "30.2.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-runtime": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", + "jest-each": "30.3.0", + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-runtime": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", "p-limit": "^3.1.0", - "pretty-format": "30.2.0", + "pretty-format": "30.3.0", "pure-rand": "^7.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.6" @@ -3980,43 +3722,23 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-circus/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4036,21 +3758,21 @@ "license": "MIT" }, "node_modules/jest-cli": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.2.0.tgz", - "integrity": "sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.3.0.tgz", + "integrity": "sha512-l6Tqx+j1fDXJEW5bqYykDQQ7mQg+9mhWXtnj+tQZrTWYHyHoi6Be8HPumDSA+UiX2/2buEgjA58iJzdj146uCw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", + "@jest/core": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", "chalk": "^4.1.2", "exit-x": "^0.2.2", "import-local": "^3.2.0", - "jest-config": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", + "jest-config": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", "yargs": "^17.7.2" }, "bin": { @@ -4068,68 +3790,34 @@ } } }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-config": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.2.0.tgz", - "integrity": "sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.3.0.tgz", + "integrity": "sha512-WPMAkMAtNDY9P/oKObtsRG/6KTrhtgPJoBTmk20uDn4Uy6/3EJnnaZJre/FMT1KVRx8cve1r7/FlMIOfRVWL4w==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.27.4", "@jest/get-type": "30.1.0", "@jest/pattern": "30.0.1", - "@jest/test-sequencer": "30.2.0", - "@jest/types": "30.2.0", - "babel-jest": "30.2.0", + "@jest/test-sequencer": "30.3.0", + "@jest/types": "30.3.0", + "babel-jest": "30.3.0", "chalk": "^4.1.2", "ci-info": "^4.2.0", "deepmerge": "^4.3.1", - "glob": "^10.3.10", + "glob": "^10.5.0", "graceful-fs": "^4.2.11", - "jest-circus": "30.2.0", + "jest-circus": "30.3.0", "jest-docblock": "30.2.0", - "jest-environment-node": "30.2.0", + "jest-environment-node": "30.3.0", "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-runner": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "micromatch": "^4.0.8", + "jest-resolve": "30.3.0", + "jest-runner": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", "parse-json": "^5.2.0", - "pretty-format": "30.2.0", + "pretty-format": "30.3.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -4153,43 +3841,23 @@ } } }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-config/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4209,58 +3877,38 @@ "license": "MIT" }, "node_modules/jest-diff": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz", - "integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz", + "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/diff-sequences": "30.0.1", + "@jest/diff-sequences": "30.3.0", "@jest/get-type": "30.1.0", "chalk": "^4.1.2", - "pretty-format": "30.2.0" + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-diff/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4293,59 +3941,39 @@ } }, "node_modules/jest-each": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.2.0.tgz", - "integrity": "sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.3.0.tgz", + "integrity": "sha512-V8eMndg/aZ+3LnCJgSm13IxS5XSBM22QSZc9BtPK8Dek6pm+hfUNfwBdvsB3d342bo1q7wnSkC38zjX259qZNA==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "chalk": "^4.1.2", - "jest-util": "30.2.0", - "pretty-format": "30.2.0" + "jest-util": "30.3.0", + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-each/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4365,16 +3993,14 @@ "license": "MIT" }, "node_modules/jest-environment-jsdom": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.2.0.tgz", - "integrity": "sha512-zbBTiqr2Vl78pKp/laGBREYzbZx9ZtqPjOK4++lL4BNDhxRnahg51HtoDrk9/VjIy9IthNEWdKVd7H5bqBhiWQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-30.3.0.tgz", + "integrity": "sha512-RLEOJy6ip1lpw0yqJ8tB3i88FC7VBz7i00Zvl2qF71IdxjS98gC9/0SPWYIBVXHm5hgCYK0PAlSlnHGGy9RoMg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/environment-jsdom-abstract": "30.2.0", - "@types/jsdom": "^21.1.7", - "@types/node": "*", + "@jest/environment": "30.3.0", + "@jest/environment-jsdom-abstract": "30.3.0", "jsdom": "^26.1.0" }, "engines": { @@ -4390,40 +4016,40 @@ } }, "node_modules/jest-environment-node": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.2.0.tgz", - "integrity": "sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.3.0.tgz", + "integrity": "sha512-4i6HItw/JSiJVsC5q0hnKIe/hbYfZLVG9YJ/0pU9Hz2n/9qZe3Rhn5s5CUZA5ORZlcdT/vmAXRMyONXJwPrmYQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", - "jest-mock": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0" + "jest-mock": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-haste-map": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz", - "integrity": "sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.3.0.tgz", + "integrity": "sha512-mMi2oqG4KRU0R9QEtscl87JzMXfUhbKaFqOxmjb2CKcbHcUGFrJCBWHmnTiUqi6JcnzoBlO4rWfpdl2k/RfLCA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@types/node": "*", "anymatch": "^3.1.3", "fb-watchman": "^2.0.2", "graceful-fs": "^4.2.11", "jest-regex-util": "30.0.1", - "jest-util": "30.2.0", - "jest-worker": "30.2.0", - "micromatch": "^4.0.8", + "jest-util": "30.3.0", + "jest-worker": "30.3.0", + "picomatch": "^4.0.3", "walker": "^1.0.8" }, "engines": { @@ -4434,23 +4060,36 @@ } }, "node_modules/jest-leak-detector": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.2.0.tgz", - "integrity": "sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.3.0.tgz", + "integrity": "sha512-cuKmUUGIjfXZAiGJ7TbEMx0bcqNdPPI6P1V+7aF+m/FUJqFDxkFR4JqkTu8ZOiU5AaX/x0hZ20KaaIPXQzbMGQ==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", - "pretty-format": "30.2.0" + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4470,58 +4109,38 @@ "license": "MIT" }, "node_modules/jest-matcher-utils": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz", - "integrity": "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz", + "integrity": "sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", "chalk": "^4.1.2", - "jest-diff": "30.2.0", - "pretty-format": "30.2.0" + "jest-diff": "30.3.0", + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4541,19 +4160,19 @@ "license": "MIT" }, "node_modules/jest-message-util": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.2.0.tgz", - "integrity": "sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.3.0.tgz", + "integrity": "sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@types/stack-utils": "^2.0.3", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", - "micromatch": "^4.0.8", - "pretty-format": "30.2.0", + "picomatch": "^4.0.3", + "pretty-format": "30.3.0", "slash": "^3.0.0", "stack-utils": "^2.0.6" }, @@ -4561,43 +4180,23 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4617,15 +4216,15 @@ "license": "MIT" }, "node_modules/jest-mock": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.2.0.tgz", - "integrity": "sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.3.0.tgz", + "integrity": "sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@types/node": "*", - "jest-util": "30.2.0" + "jest-util": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -4660,18 +4259,18 @@ } }, "node_modules/jest-resolve": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.2.0.tgz", - "integrity": "sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.3.0.tgz", + "integrity": "sha512-NRtTAHQlpd15F9rUR36jqwelbrDV/dY4vzNte3S2kxCKUJRYNd5/6nTSbYiak1VX5g8IoFF23Uj5TURkUW8O5g==", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.1.2", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", + "jest-haste-map": "30.3.0", "jest-pnp-resolver": "^1.2.3", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", "slash": "^3.0.0", "unrs-resolver": "^1.7.11" }, @@ -4680,79 +4279,46 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.2.0.tgz", - "integrity": "sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.3.0.tgz", + "integrity": "sha512-9ev8s3YN6Hsyz9LV75XUwkCVFlwPbaFn6Wp75qnI0wzAINYWY8Fb3+6y59Rwd3QaS3kKXffHXsZMziMavfz/nw==", "dev": true, "license": "MIT", "dependencies": { "jest-regex-util": "30.0.1", - "jest-snapshot": "30.2.0" + "jest-snapshot": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-runner": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.2.0.tgz", - "integrity": "sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.3.0.tgz", + "integrity": "sha512-gDv6C9LGKWDPLia9TSzZwf4h3kMQCqyTpq+95PODnTRDO0g9os48XIYYkS6D236vjpBir2fF63YmJFtqkS5Duw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", - "@jest/environment": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", + "@jest/console": "30.3.0", + "@jest/environment": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", "chalk": "^4.1.2", "emittery": "^0.13.1", "exit-x": "^0.2.2", "graceful-fs": "^4.2.11", "jest-docblock": "30.2.0", - "jest-environment-node": "30.2.0", - "jest-haste-map": "30.2.0", - "jest-leak-detector": "30.2.0", - "jest-message-util": "30.2.0", - "jest-resolve": "30.2.0", - "jest-runtime": "30.2.0", - "jest-util": "30.2.0", - "jest-watcher": "30.2.0", - "jest-worker": "30.2.0", + "jest-environment-node": "30.3.0", + "jest-haste-map": "30.3.0", + "jest-leak-detector": "30.3.0", + "jest-message-util": "30.3.0", + "jest-resolve": "30.3.0", + "jest-runtime": "30.3.0", + "jest-util": "30.3.0", + "jest-watcher": "30.3.0", + "jest-worker": "30.3.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -4760,66 +4326,33 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-runtime": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.2.0.tgz", - "integrity": "sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.3.0.tgz", + "integrity": "sha512-CgC+hIBJbuh78HEffkhNKcbXAytQViplcl8xupqeIWyKQF50kCQA8J7GeJCkjisC6hpnC9Muf8jV5RdtdFbGng==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/globals": "30.2.0", + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/globals": "30.3.0", "@jest/source-map": "30.0.1", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", "@types/node": "*", "chalk": "^4.1.2", "cjs-module-lexer": "^2.1.0", "collect-v8-coverage": "^1.0.2", - "glob": "^10.3.10", + "glob": "^10.5.0", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", + "jest-haste-map": "30.3.0", + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", + "jest-resolve": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -4827,43 +4360,10 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-snapshot": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.2.0.tgz", - "integrity": "sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.3.0.tgz", + "integrity": "sha512-f14c7atpb4O2DeNhwcvS810Y63wEn8O1HqK/luJ4F6M4NjvxmAKQwBUWjbExUtMxWJQ0wVgmCKymeJK6NZMnfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4872,20 +4372,20 @@ "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1", "@babel/types": "^7.27.3", - "@jest/expect-utils": "30.2.0", + "@jest/expect-utils": "30.3.0", "@jest/get-type": "30.1.0", - "@jest/snapshot-utils": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", + "@jest/snapshot-utils": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", "babel-preset-current-node-syntax": "^1.2.0", "chalk": "^4.1.2", - "expect": "30.2.0", + "expect": "30.3.0", "graceful-fs": "^4.2.11", - "jest-diff": "30.2.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", - "pretty-format": "30.2.0", + "jest-diff": "30.3.0", + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", + "pretty-format": "30.3.0", "semver": "^7.7.2", "synckit": "^0.11.8" }, @@ -4893,43 +4393,23 @@ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4949,218 +4429,119 @@ "license": "MIT" }, "node_modules/jest-util": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz", - "integrity": "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", + "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", "graceful-fs": "^4.2.11", - "picomatch": "^4.0.2" + "picomatch": "^4.0.3" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/jest-validate": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.2.0.tgz", - "integrity": "sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.3.0.tgz", + "integrity": "sha512-I/xzC8h5G+SHCb2P2gWkJYrNiTbeL47KvKeW5EzplkyxzBRBw1ssSHlI/jXec0ukH2q7x2zAWQm7015iusg62Q==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", - "@jest/types": "30.2.0", + "@jest/types": "30.3.0", "camelcase": "^6.3.0", "chalk": "^4.1.2", "leven": "^3.1.0", - "pretty-format": "30.2.0" + "pretty-format": "30.3.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/jest-validate/node_modules/pretty-format": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", - "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "30.0.5", "ansi-styles": "^5.2.0", "react-is": "^18.3.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-watcher": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.2.0.tgz", - "integrity": "sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "jest-util": "30.2.0", - "string-length": "^4.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-watcher": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.3.0.tgz", + "integrity": "sha512-PJ1d9ThtTR8aMiBWUdcownq9mDdLXsQzJayTk4kmaBRHKvwNQn+ANveuhEBUyNI2hR1TVhvQ8D5kHubbzBHR/w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.3.0", + "string-length": "^4.0.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-worker": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz", - "integrity": "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==", + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.3.0.tgz", + "integrity": "sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.2.0", + "jest-util": "30.3.0", "merge-stream": "^2.0.0", "supports-color": "^8.1.1" }, @@ -5294,33 +4675,6 @@ "node": ">=6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -5339,42 +4693,18 @@ "license": "MIT" }, "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^6.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -5382,48 +4712,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.mergewith": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", - "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true, - "license": "MIT" - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -5479,13 +4767,13 @@ } }, "node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "license": "MIT", "engines": { - "node": ">=16.10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5498,20 +4786,6 @@ "dev": true, "license": "MIT" }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -5523,13 +4797,13 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -5549,11 +4823,11 @@ } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } @@ -5603,9 +4877,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", "dev": true, "license": "MIT" }, @@ -5682,45 +4956,29 @@ } }, "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^4.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-locate/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "p-try": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/yocto-queue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", - "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5789,13 +5047,13 @@ } }, "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" } }, "node_modules/path-is-absolute": { @@ -5850,13 +5108,13 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -5885,72 +5143,6 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -5967,6 +5159,20 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -5995,9 +5201,9 @@ "license": "MIT" }, "node_modules/react": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", - "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", "dev": true, "license": "MIT", "engines": { @@ -6005,9 +5211,9 @@ } }, "node_modules/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "dev": true, "license": "MIT", "peer": true, @@ -6015,7 +5221,7 @@ "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.3" + "react": "^19.2.5" } }, "node_modules/react-is": { @@ -6105,9 +5311,9 @@ "peer": true }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -6184,16 +5390,6 @@ "source-map": "^0.6.0" } }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 10.x" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -6296,13 +5492,13 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -6423,9 +5619,9 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -6437,7 +5633,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -6456,9 +5652,9 @@ } }, "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -6468,30 +5664,10 @@ "node": "*" } }, - "node_modules/text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" - }, "node_modules/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", + "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", "dev": true, "license": "MIT", "engines": { @@ -6525,19 +5701,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/tough-cookie": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", @@ -6565,19 +5728,19 @@ } }, "node_modules/ts-jest": { - "version": "29.4.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.6.tgz", - "integrity": "sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA==", + "version": "29.4.9", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.9.tgz", + "integrity": "sha512-LTb9496gYPMCqjeDLdPrKuXtncudeV1yRZnF4Wo5l3SFi0RYEnYRNgMrFIdg+FHvfzjCyQk1cLncWVqiSX+EvQ==", "dev": true, "license": "MIT", "dependencies": { "bs-logger": "^0.2.6", "fast-json-stable-stringify": "^2.1.0", - "handlebars": "^4.7.8", + "handlebars": "^4.7.9", "json5": "^2.2.3", "lodash.memoize": "^4.1.2", "make-error": "^1.3.6", - "semver": "^7.7.3", + "semver": "^7.7.4", "type-fest": "^4.41.0", "yargs-parser": "^21.1.1" }, @@ -6594,7 +5757,7 @@ "babel-jest": "^29.0.0 || ^30.0.0", "jest": "^29.0.0 || ^30.0.0", "jest-util": "^29.0.0 || ^30.0.0", - "typescript": ">=4.3 <6" + "typescript": ">=4.3 <7" }, "peerDependenciesMeta": { "@babel/core": { @@ -6662,9 +5825,9 @@ } }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -6690,25 +5853,12 @@ } }, "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", "dev": true, "license": "MIT" }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/unrs-resolver": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", @@ -6921,22 +6071,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -7007,9 +6141,9 @@ } }, "node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 9a99bae..ab4dbe4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-image-grid-gallery", - "version": "3.1.8", + "version": "0.0.0-development", "description": "A simple image gallery with lightbox for displaying a grid of images in React apps", "main": "dist/cjs/ImageGallery.js", "module": "dist/esm/ImageGallery.js", @@ -10,20 +10,21 @@ "require": "./dist/cjs/ImageGallery.js", "import": "./dist/esm/ImageGallery.js", "types": "./dist/esm/ImageGallery.d.ts" - } + }, + "./style.css": "./dist/style.css" }, "homepage": "https://codesweetly.com/react-image-grid-gallery", "author": "Oluwatobi Sofela (https://www.codesweetly.com)", "license": "MIT", "scripts": { - "dev": "rm -r dist && npm run build", - "build": "npm run build:esm && npm run build:cjs", - "build:esm": "tsc -p tsconfig.esm.json", - "build:cjs": "tsc -p tsconfig.cjs.json", + "build": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && npm run build:esm && npm run build:cjs && npm run copy-files", + "build:esm": "tsc -p tsconfig.esm.json && node scripts/create-package-json.js --esm", + "build:cjs": "tsc -p tsconfig.cjs.json && node scripts/create-package-json.js --cjs", + "copy-files": "node scripts/copy-css.js", "test": "jest --config jest.config.cjs", "test-publish": "npm publish --dry-run", "watch": "tsc -p tsconfig.esm.json --watch", - "prepare": "husky && npm run build" + "prepare": "husky" }, "files": [ "./dist" @@ -50,19 +51,19 @@ "email": "contact@codesweetly.com" }, "devDependencies": { - "@commitlint/cli": "^20.3.1", - "@commitlint/config-conventional": "^20.3.1", - "@testing-library/react": "^16.2.0", - "@types/react": "^19.2.9", + "@commitlint/cli": "^20.5.2", + "@commitlint/config-conventional": "^20.5.0", + "@testing-library/react": "^16.3.2", + "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "husky": "^9.1.7", - "jest": "^30.2.0", - "jest-environment-jsdom": "^30.2.0", - "react": "^19.2.3", - "ts-jest": "^29.2.5", - "typescript": "^5.7.3" + "jest": "^30.3.0", + "jest-environment-jsdom": "^30.3.0", + "react": "^19.2.4", + "ts-jest": "^29.4.9", + "typescript": "^6.0.3" }, "peerDependencies": { - "react": "^19.0.0" + "react": "^19.2.4" } } diff --git a/scripts/copy-css.js b/scripts/copy-css.js new file mode 100644 index 0000000..f2fefa8 --- /dev/null +++ b/scripts/copy-css.js @@ -0,0 +1,5 @@ +const fs = require("fs"); + +fs.copyFileSync("./src/style.css", `./dist/style.css`); + +console.log("CSS copied successfully!"); diff --git a/scripts/create-package-json.js b/scripts/create-package-json.js new file mode 100644 index 0000000..96a432f --- /dev/null +++ b/scripts/create-package-json.js @@ -0,0 +1,17 @@ +const { argv } = require("node:process"); +const fs = require("fs"); + +const cliArguments = argv.slice(2); + +if (cliArguments[0] === "--esm") { + fs.writeFileSync("dist/esm/package.json", JSON.stringify({ type: "module" })); + console.log("ESM build's package.json created successfully!"); +} + +if (cliArguments[0] === "--cjs") { + fs.writeFileSync( + "dist/cjs/package.json", + JSON.stringify({ type: "commonjs" }), + ); + console.log("CJS build's package.json created successfully!"); +} diff --git a/src/ImageGallery.test.tsx b/src/ImageGallery.test.tsx index cb429da..fd0cd9d 100644 --- a/src/ImageGallery.test.tsx +++ b/src/ImageGallery.test.tsx @@ -7,6 +7,12 @@ const imagesArray = [ id: crypto.randomUUID(), alt: "Image1's alt text", caption: "Image1's description", + cta: { + href: "https://example.com", + target: "_blank", + rel: "noopener noreferrer", + text: "Learn more", + }, src: "https://cdn.pixabay.com/photo/2023/05/25/22/07/river-8018379_1280.jpg", }, { @@ -100,7 +106,7 @@ const imagesArray = [ }, { id: crypto.randomUUID(), - alt: "13's alt text", + alt: "Image13's alt text", caption: "Image13's description", src: "https://cdn.pixabay.com/photo/2023/09/29/12/38/winter-8283735_640.jpg", }, @@ -109,7 +115,7 @@ const imagesArray = [ test("image gallery renders correctly", () => { render( { ); }); -test("image gallery works with only the imagesInfoArray prop", () => { - render(); +test("image gallery works with only the imagesData prop", () => { + render(); }); -test("image gallery works with custom styles and fixed caption", () => { - const imageContainerStyle: React.CSSProperties = { - margin: `0 0 0`, - position: "relative", - }; - - const imageBtnStyle: React.CSSProperties = { - border: "4px solid purple", - }; - +test("image gallery works with fixed caption", () => { render( , ); }); @@ -146,18 +142,42 @@ test("image gallery works with custom styles and fixed caption", () => { test("image gallery works with custom thumbnail border", () => { render( , ); }); test("image gallery works with lazy loading", () => { + render( + , + ); +}); + +test("image gallery works without lightbox", () => { + render( + , + ); +}); + +test("customizing image click action without using the built-in imageData and index parameters works", () => { + render( + console.log("You clicked an image!")} + />, + ); +}); + +test("customizing image click action with the built-in imageData and index parameters works", () => { render( + console.log("You clicked an image!", imageData, index) + } />, ); }); diff --git a/src/ImageGallery.tsx b/src/ImageGallery.tsx index 6d03e9f..6fc0be2 100644 --- a/src/ImageGallery.tsx +++ b/src/ImageGallery.tsx @@ -1,21 +1,22 @@ -import { ReactElement, useRef, useState, useEffect } from "react"; +import { useRef, useState, useEffect } from "react"; import { flushSync } from "react-dom"; +import { SvgElement, updateCaptionOpacity } from "./helpers.ts"; import { ImageGalleryPropsType, ImgSrcInfoType, -} from "./ImageGallery.types.jsx"; -import { imageGalleryStyles } from "./ImageGalleryStyles.js"; // .js extension is required for ESM build import resolution +} from "./ImageGallery.types.tsx"; export function ImageGallery({ - imagesInfoArray, columnCount = "auto", columnWidth = 230, - gapSize = 24, + customizeImageClickAction = () => {}, + enableDefaultLightbox = true, fixedCaption = false, - thumbnailBorder = "3px solid #fff", + gapSize = 24, + imagesData, lazy = true, lazyFromIndex = 6, - customStyles = {}, + thumbnailBorder = "3px solid #fff", }: ImageGalleryPropsType) { const [imgSrcInfo, setImgSrcInfo] = useState(null); const [slideNumber, setSlideNumber] = useState(1); @@ -25,40 +26,18 @@ export function ImageGallery({ const dialogRef = useRef(null); const lightboxRef = useRef(null); const activeThumbImgRef = useRef(null); - const defaultStyles = imageGalleryStyles( - columnCount, - columnWidth, - gapSize, - fixedCaption, - ); - const galleryStyles = { ...defaultStyles, ...customStyles }; - const galleryContainerStyle = galleryStyles.galleryContainerStyle; - const imageContainerStyle = galleryStyles.imageContainerStyle; - const imageBtnStyle = galleryStyles.imageBtnStyle; - const imageStyle = galleryStyles.imageStyle; - const imageCaptionStyle = galleryStyles.imageCaptionStyle; - const modalContainerStyle = galleryStyles.modalContainerStyle; - const modalSlideNumberStyle = galleryStyles.modalSlideNumberStyle; - const modalToolbarStyle = galleryStyles.modalToolbarStyle; - const modalToolbarBtnStyle = galleryStyles.modalToolbarBtnStyle; - const modalSlideShowSectionStyle = galleryStyles.modalSlideShowSectionStyle; - const modalThumbnailSectionStyle = galleryStyles.modalThumbnailSectionStyle; - const modalThumbImgsPodStyle = galleryStyles.modalThumbImgsPodStyle; - const modalImageStyle = galleryStyles.modalImageStyle; - const modalSlideBtnStyle = galleryStyles.modalSlideBtnStyle; - function handleImageContainerMouseEnter( - e: React.MouseEvent, - ) { - const figcaption = e.currentTarget.querySelector("figcaption"); - figcaption && (figcaption.style.opacity = "1"); - } - - function handleImageContainerMouseLeave( - e: React.MouseEvent, - ) { - const figcaption = e.currentTarget.querySelector("figcaption"); - figcaption && (figcaption.style.opacity = "0"); + function switchFullScreen(on: boolean) { + if (on) { + lightboxRef.current?.requestFullscreen().catch((error) => { + alert( + `Error while attempting to switch into fullscreen mode: ${error.message} (${error.name})`, + ); + }); + } + if (!on) { + document.exitFullscreen().catch((error) => console.error(error)); + } } function openLightboxOnSlide( @@ -72,37 +51,90 @@ export function ImageGallery({ dialogRef.current?.showModal(); } + function showImageCards() { + const imageElementsArray = imagesData.map((imageData, index) => { + function handleImageClick() { + enableDefaultLightbox + ? openLightboxOnSlide( + index + 1, + imageData.src, + imageData.srcSet, + imageData.mediaSizes, + ) + : customizeImageClickAction(imageData, index); + } + if (imageData.id) { + return ( + + ); + } + return ( +
+ Error: Each item in the `imagesArray` needs a unique + `id` +
+ ); + }); + return imageElementsArray; + } + function changeSlide(thumbClick: boolean, step: number) { - const totalImages = imagesInfoArray.length; + const totalImages = imagesData.length; let newSlideNumber = thumbClick ? step + 1 : slideNumber + step; newSlideNumber < 1 && (newSlideNumber = totalImages); newSlideNumber > totalImages && (newSlideNumber = 1); if (newSlideNumber <= totalImages && newSlideNumber > 0) { - const imageInfo = imagesInfoArray[newSlideNumber - 1]; + const imageData = imagesData[newSlideNumber - 1]; setSlideNumber(newSlideNumber); setImgSrcInfo({ - src: imageInfo.src, - srcSet: imageInfo.srcSet, - mediaSizes: imageInfo.mediaSizes, + src: imageData.src, + srcSet: imageData.srcSet, + mediaSizes: imageData.mediaSizes, }); } } - function switchFullScreen(on: boolean) { - if (on) { - lightboxRef.current?.requestFullscreen().catch((error) => { - alert( - `Error while attempting to switch into fullscreen mode: ${error.message} (${error.name})`, - ); - }); - } - if (!on) { - document.exitFullscreen().catch((error) => console.error(error)); - } - } - function scrollImage( thumbClick: boolean, direction: number, @@ -129,256 +161,174 @@ export function ImageGallery({ dialogRef.current?.close(); } - function SvgElement(pathElement: ReactElement) { + function showLightBox() { + const imageData = imagesData[slideNumber - 1]; return ( - - {pathElement} - - ); - } - - function showImageCards() { - const imageElementsArray = imagesInfoArray.map((imageInfo, index) => { - if (imageInfo.id) { - return ( - + + + + +
+
- fixedCaption ? undefined : handleImageContainerMouseEnter(e) + fixedCaption ? undefined : updateCaptionOpacity(e, "1") } onMouseLeave={(e) => - fixedCaption ? undefined : handleImageContainerMouseLeave(e) + fixedCaption ? undefined : updateCaptionOpacity(e, "0") } > = lazyFromIndex ? "lazy" : "eager"} - alt={imageInfo.alt} - src={imageInfo.gridSrc || imageInfo.src} - onClick={() => - openLightboxOnSlide( - index + 1, - imageInfo.src, - imageInfo.srcSet, - imageInfo.mediaSizes, - ) - } - style={imageStyle} + loading={lazy ? "lazy" : "eager"} + src={imgSrcInfo?.src} + srcSet={imgSrcInfo?.srcSet} + sizes={imgSrcInfo?.mediaSizes} + alt={imageData.alt} + className="cs-rigg-modal-image" + style={{ maxHeight: showThumbnails ? "80vh" : "100vh" }} /> - {imageInfo.caption ? ( -
- {imageInfo.caption} + {imageData.caption ? ( +
+
{imageData.caption}
+ {imageData?.cta?.href && imageData?.cta?.text && ( + + )}
) : ( "" )}
- - ); - } - return ( -
- Error: Each item in the `imagesArray` needs a unique - `id` -
- ); - }); - return imageElementsArray; - } - - const lightBoxElement = ( - -
handleKeyDownOnModal(e)} - onMouseEnter={() => setShowModalControls(true)} - onMouseLeave={() => setShowModalControls(false)} - onClick={(e) => - (e.target as HTMLElement).tagName === "SECTION" && - exitFullScreenAndDialog() - } - > - {`${slideNumber} / ${imagesInfoArray.length}`} - - - - - - -
- -
- fixedCaption ? undefined : handleImageContainerMouseEnter(e) - } - onMouseLeave={(e) => - fixedCaption ? undefined : handleImageContainerMouseLeave(e) - } - > - {imagesInfoArray[slideNumber - {imagesInfoArray[slideNumber - 1].caption ? ( -
- {imagesInfoArray[slideNumber - 1].caption} -
- ) : ( - "" - )} -
- +
+
- {SvgElement( - , - )} - -
-
-
- {imagesInfoArray.map((imageInfo, index) => ( - {imageInfo.alt} scrollImage(true, 0, index)} - /> - ))} -
-
-
-
- ); +
+ {imagesData.map((imageData, index) => ( + {imageData.alt} scrollImage(true, 0, index)} + /> + ))} +
+
+ + + ); + } useEffect(() => { function handleFullscreenChange() { @@ -397,9 +347,15 @@ export function ImageGallery({ }); return ( -
+
{showImageCards()} - {lightBoxElement} + {enableDefaultLightbox && showLightBox()}
); } diff --git a/src/ImageGallery.types.tsx b/src/ImageGallery.types.tsx index fb26bb5..ec08868 100644 --- a/src/ImageGallery.types.tsx +++ b/src/ImageGallery.types.tsx @@ -1,43 +1,38 @@ -export interface ImageGalleryStylesType { - galleryContainerStyle?: React.CSSProperties; - imageBtnStyle?: React.CSSProperties; - imageContainerStyle?: React.CSSProperties; - imageStyle?: React.CSSProperties; - imageCaptionStyle?: React.CSSProperties; - modalContainerStyle?: React.CSSProperties; - modalSlideNumberStyle?: React.CSSProperties; - modalToolbarStyle?: React.CSSProperties; - modalToolbarBtnStyle?: React.CSSProperties; - modalSlideShowSectionStyle?: React.CSSProperties; - modalThumbnailSectionStyle?: React.CSSProperties; - modalThumbImgsPodStyle?: React.CSSProperties; - modalImageStyle?: React.CSSProperties; - modalSlideBtnStyle?: React.CSSProperties; +export interface ImageDataType { + id: string | number; + alt: string; + caption?: string; + cta?: { + href: string; + target: string; + rel: string; + text: string; + }; + src: string; + gridSrc?: string; + thumbSrc?: string; + srcSet?: string; + mediaSizes?: string; } export interface ImageGalleryPropsType { - imagesInfoArray: Array<{ - id: string | number; - alt: string; - caption?: string; - src: string; - gridSrc?: string; - thumbSrc?: string; - srcSet?: string; - mediaSizes?: string; - }>; columnCount?: string | number; columnWidth?: string | number; - gapSize?: number; + customizeImageClickAction?: ( + imageData?: ImageDataType, + index?: number, + ) => void; + enableDefaultLightbox?: boolean; fixedCaption?: boolean; - thumbnailBorder?: string; + gapSize?: number; + imagesData: Array; lazy?: boolean; lazyFromIndex?: number; - customStyles?: ImageGalleryStylesType; + thumbnailBorder?: string; } export interface ImgSrcInfoType { + mediaSizes: string | undefined; src: string; srcSet: string | undefined; - mediaSizes: string | undefined; } diff --git a/src/ImageGalleryStyles.ts b/src/ImageGalleryStyles.ts deleted file mode 100644 index b459c7e..0000000 --- a/src/ImageGalleryStyles.ts +++ /dev/null @@ -1,140 +0,0 @@ -import { ImageGalleryStylesType } from "./ImageGallery.types.jsx"; // .jsx extension is required for ESM build import resolution - -export function imageGalleryStyles( - columnCount?: string | number, - columnWidth?: string | number, - gapSize?: number, - fixedCaption?: boolean, -): ImageGalleryStylesType { - const modalThumbnailSectionHeight = "20vh"; - const galleryContainerStyle: React.CSSProperties = { - columnCount, - columnWidth: `${columnWidth}px`, - columnGap: `${gapSize}px`, - }; - const imageBtnStyle: React.CSSProperties = { - border: "none", - background: "none", - margin: 0, - padding: 0, - }; - const imageContainerStyle: React.CSSProperties = { - margin: `0 0 ${gapSize}px`, - position: "relative", - }; - const imageStyle: React.CSSProperties = { - width: "100%", - aspectRatio: "1/1 auto", - backgroundColor: "#D3D3D3", - cursor: "pointer", - }; - const imageCaptionStyle: React.CSSProperties = { - opacity: fixedCaption ? 1 : 0, - transition: fixedCaption ? undefined : "opacity 1s ease-in-out", - position: "absolute", - left: 0, - bottom: 0, - zIndex: "1000", - width: "100%", - backgroundColor: "rgba(0, 0, 0, 0.5)", - background: - "linear-gradient(180deg, rgba(25, 27, 38, 0), rgba(25, 27, 38, 1))", - padding: "16px", - fontSize: "0.85rem", - textAlign: "center", - color: "#fff", - }; - const modalContainerStyle: React.CSSProperties = { - outline: "none", - position: "fixed", - top: 0, - left: 0, - width: "100vw", - height: "100vh", - backgroundColor: "rgba(0, 0, 0, 0.73)", - WebkitBackdropFilter: "blur(5px)", - backdropFilter: "blur(5px)", - }; - const modalSlideNumberStyle: React.CSSProperties = { - zIndex: 1, - position: "absolute", - left: 0, - padding: "13px", - backgroundColor: "rgba(35, 35, 35, 0.73)", - color: "#fff", - fontSize: "0.93rem", - transition: "opacity 1s ease-in-out", - userSelect: "none", - WebkitUserSelect: "none", - }; - const modalToolbarStyle: React.CSSProperties = { - zIndex: 1, - display: "flex", - position: "absolute", - right: 0, - alignItems: "center", - backgroundColor: "rgba(35, 35, 35, 0.73)", - transition: "opacity 1s ease-in-out", - cursor: "pointer", - }; - const modalToolbarBtnStyle: React.CSSProperties = { - margin: 0, - border: "none", - background: "none", - padding: "13px", - color: "#fff", - cursor: "pointer", - }; - const modalSlideShowSectionStyle: React.CSSProperties = { - position: "relative", - display: "flex", - alignItems: "center", - justifyContent: "center", - width: "inherit", - transition: "height .7s linear", - }; - const modalImageStyle: React.CSSProperties = { - margin: "auto", - maxWidth: "100vw", - transition: "height .7s linear", - }; - const modalSlideBtnStyle: React.CSSProperties = { - position: "absolute", - border: "none", - marginInline: "7px", - padding: "10px 15px", - backgroundColor: "rgba(35, 35, 35, 0.73)", - color: "#fff", - transition: "opacity 1s ease-in-out", - cursor: "pointer", - userSelect: "none", - WebkitUserSelect: "none", - }; - const modalThumbnailSectionStyle: React.CSSProperties = { - overflow: "hidden", - height: `${modalThumbnailSectionHeight}`, - textAlign: "center", - }; - const modalThumbImgsPodStyle: React.CSSProperties = { - display: "inline-flex", - height: "inherit", - paddingBlock: "12px", - columnGap: "7px", - }; - return { - galleryContainerStyle, - imageBtnStyle, - imageContainerStyle, - imageStyle, - imageCaptionStyle, - modalContainerStyle, - modalSlideNumberStyle, - modalToolbarStyle, - modalToolbarBtnStyle, - modalSlideShowSectionStyle, - modalThumbnailSectionStyle, - modalThumbImgsPodStyle, - modalImageStyle, - modalSlideBtnStyle, - }; -} diff --git a/src/helpers.tsx b/src/helpers.tsx new file mode 100644 index 0000000..21a3c31 --- /dev/null +++ b/src/helpers.tsx @@ -0,0 +1,23 @@ +import { ReactElement } from "react"; + +export function SvgElement(pathElement: ReactElement) { + return ( + + {pathElement} + + ); +} + +export function updateCaptionOpacity( + e: React.MouseEvent, + range: string, +) { + const figcaption = e.currentTarget.querySelector("figcaption"); + figcaption && (figcaption.style.opacity = range); +} diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..c50c44c --- /dev/null +++ b/src/style.css @@ -0,0 +1,122 @@ +.cs-rigg-image-btn { + border: none; + background: none; + margin: 0; + padding: 0; +} + +.cs-rigg-image-container { + position: relative; +} + +.cs-rigg-image { + width: 100%; + aspect-ratio: 1/1 auto; + background-color: #d3d3d3; + cursor: pointer; +} + +.cs-rigg-image-caption { + position: absolute; + left: 0; + bottom: 0; + z-index: 1000; + box-sizing: border-box; + width: 100%; + background-color: rgba(0, 0, 0, 0.5); + background: linear-gradient(180deg, rgba(25, 27, 38, 0), rgba(25, 27, 38, 1)); + padding: 16px; + font-size: 0.85rem; + text-align: center; + color: #fff; +} + +.cs-rigg-dialog { + margin: auto; +} + +.cs-rigg-modal-container { + outline: none; + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background-color: rgba(0, 0, 0, 0.73); + -webkit-backdrop-filter: blur(5px); + backdrop-filter: blur(5px); +} + +.cs-rigg-modal-slide-number { + z-index: 1; + position: absolute; + left: 0; + padding: 13px; + background-color: rgba(35, 35, 35, 0.73); + color: #fff; + font-size: 0.93rem; + transition: opacity 1s ease-in-out; + user-select: none; + -webkit-user-select: none; +} + +.cs-rigg-modal-toolbar { + z-index: 1; + display: flex; + position: absolute; + right: 0; + align-items: center; + background-color: rgba(35, 35, 35, 0.73); + transition: opacity 1s ease-in-out; + cursor: pointer; +} + +.cs-rigg-modal-toolbar-btn { + margin: 0; + border: none; + background: none; + padding: 13px; + color: #fff; + cursor: pointer; +} + +.cs-rigg-modal-slide-show-section { + position: relative; + display: flex; + align-items: center; + justify-content: center; + width: inherit; + transition: height 0.7s linear; +} + +.cs-rigg-modal-slide-btn { + position: absolute; + border: none; + margin-inline: 7px; + padding: 10px 15px; + background-color: rgba(35, 35, 35, 0.73); + color: #fff; + transition: opacity 1s ease-in-out; + cursor: pointer; + user-select: none; + -webkit-user-select: none; +} + +.cs-rigg-modal-image { + margin: auto; + max-width: 100vw; + transition: height 0.7s linear; +} + +.cs-rigg-modal-thumbnail-section { + overflow: hidden; + height: 20vh; + text-align: center; +} + +.cs-rigg-modal-thumb-imgs-pod { + display: inline-flex; + height: inherit; + padding-block: 12px; + column-gap: 7px; +} diff --git a/tsconfig.base.json b/tsconfig.base.json index b2cdc97..ee6c444 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,13 +1,12 @@ { "include": ["src/**/*"], - "exclude": ["src/**/*.test.tsx"], + "exclude": ["src/**/*.test.tsx", "src/jestCryptoSetup.ts"], "compilerOptions": { "jsx": "react-jsx", "target": "es2018", - + "rewriteRelativeImportExtensions": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, "noEmitOnError": true, "noImplicitReturns": true, diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json index 16c9a1a..b4107f1 100644 --- a/tsconfig.cjs.json +++ b/tsconfig.cjs.json @@ -1,8 +1,10 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "module": "commonjs", - "moduleResolution": "node10", - "outDir": "dist/cjs" + "module": "nodenext", + "moduleResolution": "nodenext", + "outDir": "dist/cjs", + "rootDir": "src", + "declaration": false } } diff --git a/tsconfig.esm.json b/tsconfig.esm.json index 4a31767..73c8521 100644 --- a/tsconfig.esm.json +++ b/tsconfig.esm.json @@ -4,6 +4,7 @@ "module": "es2020", "moduleResolution": "bundler", "outDir": "dist/esm", + "rootDir": "src", "declaration": true, "declarationDir": "dist/esm" } diff --git a/tsconfig.json b/tsconfig.json index fb96d43..e897a53 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "module": "nodenext", - "moduleResolution": "nodenext" + "moduleResolution": "nodenext", + "noEmit": true } } diff --git a/tsconfig.test.json b/tsconfig.test.json index 54caf30..59650f9 100644 --- a/tsconfig.test.json +++ b/tsconfig.test.json @@ -1,8 +1,9 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "module": "commonjs", - "moduleResolution": "node10", - "noEmit": true + "module": "nodenext", + "moduleResolution": "nodenext", + "noEmit": true, + "isolatedModules": true } }
imagesInfoArrayimagesData array undefined @@ -104,6 +112,11 @@ function App() { - `id`: (**Required** - string or number) Each image's [unique identifying key](https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key). - `alt`: (**Required** - string) The image's [alternative text](https://webaim.org/techniques/alttext). - `caption`: (**Optional** - string) The [image's description](https://www.studysmarter.co.uk/explanations/english/blog/image-caption). +- `cta`: (**Optional** - object) This feature lets you add a link to each image's caption in the lightbox, allowing users to visit a related page. The CTA (call-to-action) object accepts the following properties: + - `href` (string): The URL that the CTA link will point to. (Required) + - `target` (string): Specifies where to open the linked document (e.g., `_blank` for a new tab). + - `rel` (string): Specifies the relationship between the current document and the linked document (e.g., `noopener noreferrer` for security reasons when using `_blank`). + - `text` (string): The text that will be displayed for the CTA link in the image caption within the lightbox. (Required) - `src`: (**Required** - string) The image's default [URL](https://codesweetly.com/web-address-url). - `gridSrc`: (**Optional** - string) The preferred grid image's URL. - `thumbSrc`: (**Optional** - string) The preferred thumbnail image's URL. @@ -112,6 +125,7 @@ function App() {
@@ -122,6 +136,7 @@ function App() { "auto" (Optional) The number of columns.
@@ -132,16 +147,57 @@ function App() { 230 (Optional) The minimum width of the gallery's columns.
customizeImageClickActionfunction() => {} -[`gapSize`](https://codesweetly.com/css-gap-property) +(**Optional**) A function to be executed when an image is clicked, if `enableDefaultLightbox` is `false`. This allows you to implement your own custom lightbox or any other action on image click. + +The `customizeImageClickAction` function receives two arguments, `imageData` and `index`, which are automatically provided. These arguments give you access to the data of the clicked image. + +**Example 1:** + +```jsx + { + console.log("Image clicked!"); + }} +/> +``` + +**Example 2:** + +```jsx + { + console.log("Image clicked:", imageData, index); + }} +/> +``` + +**note:** The `customizeImageClickAction` feature is not compatible with the Astro framework, as [Astro does not support passing functions to hydrated components](https://docs.astro.build/en/guides/framework-components/#passing-props-to-framework-components). number24(Optional) The gallery's gap size.
enableDefaultLightboxbooleantrue + +(**Optional**) Specify whether to use the packageโ€™s default lightbox. If set to `false`, you can use the `customizeImageClickAction` prop to implement your own lightbox or any other action when an image is clicked. + +
fixedCaption boolean
thumbnailBorderstring"3px solid #fff"(Optional) The thumbnail's border style. + +[`gapSize`](https://codesweetly.com/css-gap-property) + +number24(Optional) The gallery's gap size.
lazy boolean true (Optional) Specify whether to lazy load images.
lazyFromIndex number
customStylesImageGalleryStylesType{} - -(**Optional**) Custom styles to override the following element's default styles: - -- Gallery container: `galleryContainerStyle` -- Gallery image button: `imageBtnStyle` -- Gallery image container: `imageContainerStyle` -- Gallery image element: `imageStyle` -- Gallery image caption: `imageCaptionStyle` -- Modal container: `modalContainerStyle` -- Modal slide number: `modalSlideNumberStyle` -- Modal toolbar: `modalToolbarStyle` -- Modal toolbar button: `modalToolbarBtnStyle` -- Modal slideshow section: `modalSlideShowSectionStyle` -- Modal thumbnail section: `modalThumbnailSectionStyle` -- Modal thumbnail images container: `modalThumbImgsPodStyle` -- Modal image element: `modalImageStyle` -- Modal slide button: `modalSlideBtnStyle` -
thumbnailBorderstring"3px solid #fff"(Optional) The thumbnail's border style.