diff --git a/.cspell.json b/.cspell.json index 1820fbe032f2..b25944ee34c1 100644 --- a/.cspell.json +++ b/.cspell.json @@ -11,6 +11,7 @@ "**/*.less", "**/dist/**", "**/cspell/**", + "**/.vscode/**", "**/assets/**", "**/node_modules/**", "*.{log,svg,snap,png,ogv,yml}", @@ -28,7 +29,8 @@ "svgs", "contentalign", "inputpassword", - "inputcopy" + "inputcopy", + "docsearch" ], "ignoreRegExpList": ["\\(https?://.*?\\)", "\\/{1}.+\\/{1}", "\\%2F.+", "\\%2C.+", "\\ɵ.+", "\\ыва.+"], "overrides": [ diff --git a/.github/workflows/auto-add-version-label.yml b/.github/workflows/auto-add-version-label.yml deleted file mode 100644 index fa314148178c..000000000000 --- a/.github/workflows/auto-add-version-label.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: 🤖 Auto add label version -on: - pull_request: - types: [opened] - -jobs: - label-version: - runs-on: ubuntu-latest - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/run/node-info@v1.73.1 - id: nodejs-workspace - - uses: actions-ecosystem/action-add-labels@v1 - continue-on-error: true - with: - labels: v${{ steps.nodejs-workspace.outputs.root-package-major-version }} diff --git a/.github/workflows/auto-approve.yml b/.github/workflows/auto-approve.yml deleted file mode 100644 index 60506b5c7b03..000000000000 --- a/.github/workflows/auto-approve.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: 🤖 Auto approve validation -on: pull_request - -env: - PR_JOBS_NAME: '[ "Build packages", "Firebase", "Lint", "Unit tests", "Component testing result", "E2E result" ]' - RELEASE_JOBS_NAME: '[ "Publish" ]' - -jobs: - setup: - runs-on: ubuntu-latest - outputs: - matrix: ${{ steps.matrix.outputs.value }} - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - id: matrix - if: env.IS_TAIGA_FAMILY_BOT_PR_AUTHOR == 'true' - run: | - if [[ "${{ env.IS_RELEASE_BRANCH }}" == "false" ]]; then - echo "value=$PR_JOBS_NAME" >> $GITHUB_OUTPUT - else - echo "value=$RELEASE_JOBS_NAME" >> $GITHUB_OUTPUT - fi - - wait: - needs: [setup] - runs-on: ubuntu-latest - strategy: - fail-fast: true - matrix: - value: ${{ fromJSON(needs.setup.outputs.matrix) }} - steps: - - uses: taiga-family/ci/actions/run/wait-job@v1.73.1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - job: ${{ matrix.value }} - - approve: - needs: [wait] - runs-on: ubuntu-latest - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/auto/approve/double@v1.73.1 - with: - token1: ${{ secrets.GITHUB_TOKEN }} - token2: ${{ secrets.TAIGA_FAMILY_APPROVE_BOT_PAT }} - - uses: taiga-family/ci/actions/run/merge@v1.73.1 - if: env.IS_RELEASE_BRANCH == 'false' - with: - token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} - -concurrency: - group: auto-approve-${{ github.head_ref }} - cancel-in-progress: true diff --git a/.github/workflows/auto-author-assign.yml b/.github/workflows/auto-author-assign.yml deleted file mode 100644 index a3ecc879fa2b..000000000000 --- a/.github/workflows/auto-author-assign.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: 🤖 Auto assign -on: - pull_request: - types: [opened, reopened] - -jobs: - assign-author: - name: PR author as an assignee - runs-on: ubuntu-latest - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: toshimaru/auto-author-assign@v2.1.1 - if: env.IS_OWNER_MODE == 'true' - with: - repo-token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} diff --git a/.github/workflows/auto-dependency-review.yml b/.github/workflows/auto-dependency-review.yml deleted file mode 100644 index fb8d653ce3df..000000000000 --- a/.github/workflows/auto-dependency-review.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: 🤖 Auto dependency review -on: - pull_request: -permissions: - contents: read - -jobs: - dependency-review: - runs-on: ubuntu-latest - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/security/dependency-review@v1.73.1 diff --git a/.github/workflows/auto-label.yml b/.github/workflows/auto-label.yml deleted file mode 100644 index f790fe881905..000000000000 --- a/.github/workflows/auto-label.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: 🤖 Auto label -on: - pull_request_review: - types: [submitted] - -jobs: - label-when-approved: - if: github.event.review.state == 'APPROVED' - name: Label when approved - runs-on: ubuntu-latest - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/auto/label-when-approved@v1.73.1 - with: - token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/auto-remove-label.yml b/.github/workflows/auto-remove-label.yml deleted file mode 100644 index c24d6d820bcb..000000000000 --- a/.github/workflows/auto-remove-label.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: 🤖 Auto remove label on closed issue -on: - issues: - types: [closed] - -jobs: - remove_label: - runs-on: ubuntu-latest - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/auto/remove-label@v1.73.1 diff --git a/.github/workflows/auto-update-icons.yml b/.github/workflows/auto-update-icons.yml index 564bf54063c8..20ce77dc9dac 100644 --- a/.github/workflows/auto-update-icons.yml +++ b/.github/workflows/auto-update-icons.yml @@ -8,9 +8,9 @@ jobs: if: ${{ !contains(github.head_ref , 'release/') }} runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - name: Lucide icons run: | npx nx prebuild icons @@ -29,7 +29,8 @@ jobs: npx eslint ./projects/demo/used-icons.ts --fix || echo "no file matching" npx prettier ./projects/demo/used-icons.ts --write || echo "no file matching" npx prettier ./projects/cdk/constants/used-icons.ts --write || echo "no file matching" - - uses: taiga-family/ci/actions/auto/push@v1.73.1 + - uses: taiga-family/ci/actions/auto/push@v1.87.5 + if: env.SUPPORT_AUTO_PUSH with: message: icons have changed token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5022b234275b..02b8d6a9e7af 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,9 +10,9 @@ jobs: name: Build packages runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - run: npm run run-many:build:libs - run: npx ts-node ./scripts/check-dist.ts @@ -21,13 +21,11 @@ jobs: name: Prerender of demo application runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - run: npx nx prerender demo - - run: tree ${{ env.DIST }} -P '*.html' - - name: Bundle size tracking - run: npx --yes bundlemon --config .github/.bundlemonrc.json + - run: npx --yes bundlemon --config .github/.bundlemonrc.json continue-on-error: true env: CI_COMMIT_SHA: ${{ env.CI_COMMIT_SHA }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index ba899940288b..000000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: ⚙️ CodeQL -on: - push: - branches: [main] - pull_request: - branches: [main] - schedule: - - cron: '40 7 * * 6' - -jobs: - analyze: - if: ${{ !contains(github.head_ref, 'release/') }} - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/security/codeql@v1.73.1 - -concurrency: - group: codeql-${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 94c27a20fa18..437d954aeb9d 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -20,12 +20,12 @@ jobs: env: IS_RRE_RELEASE_MODE: ${{ contains(github.event.inputs.mode, 'prerelease') }} steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 + - uses: actions/checkout@v4.2.0 with: fetch-depth: 0 token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} - - uses: taiga-family/ci/actions/setup/node@v1.73.1 - - uses: taiga-family/ci/actions/setup/config/git@v1.73.1 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 + - uses: taiga-family/ci/actions/setup/config/git@v1.87.5 with: token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} diff --git a/.github/workflows/delete-preview.yml b/.github/workflows/delete-preview.yml index a35c815c0e46..da5a96d29100 100644 --- a/.github/workflows/delete-preview.yml +++ b/.github/workflows/delete-preview.yml @@ -2,13 +2,15 @@ name: Close PR delete firebase channel on: pull_request: types: [closed] + jobs: delete_firebase_channel: runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v4 - - uses: w9jds/firebase-action@v13.17.0 + - uses: actions/checkout@v4.2.0 + - uses: w9jds/firebase-action@v13.20.1 + continue-on-error: true with: args: hosting:channel:delete pr${{ github.event.number }}-${{ github.head_ref }} --force env: diff --git a/.github/workflows/deploy-gh-pages.yml b/.github/workflows/deploy-gh-pages.yml index 773a9b15036c..c8e08d5d1b35 100644 --- a/.github/workflows/deploy-gh-pages.yml +++ b/.github/workflows/deploy-gh-pages.yml @@ -16,8 +16,8 @@ jobs: if: ${{ !contains(github.event.workflow_run.head_branch, 'release/') }} runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 - name: Prepare demo before deploy from snapshots run: | diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml index 2c7ee7eb41f4..82a7dc0703c7 100644 --- a/.github/workflows/deploy-preview.yml +++ b/.github/workflows/deploy-preview.yml @@ -7,9 +7,9 @@ jobs: name: Firebase runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - run: npx nx build demo - name: Debug output run: tree dist/demo/browser -P '*.html' diff --git a/.github/workflows/e2e-cypress.yml b/.github/workflows/e2e-cypress.yml index f40b71a50fba..5f67d89d9c05 100644 --- a/.github/workflows/e2e-cypress.yml +++ b/.github/workflows/e2e-cypress.yml @@ -11,9 +11,9 @@ jobs: runs-on: ubuntu-latest name: Component testing result steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - run: npx tsc -p projects/demo-cypress/tsconfig.json - run: npx nx component-test demo-cypress diff --git a/.github/workflows/e2e-playwright.yml b/.github/workflows/e2e-playwright.yml index 292b226edaf4..7ab10c764315 100644 --- a/.github/workflows/e2e-playwright.yml +++ b/.github/workflows/e2e-playwright.yml @@ -8,13 +8,13 @@ jobs: name: Build demo runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 + - uses: actions/checkout@v4.2.0 with: fetch-depth: 10 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/run/rebase@v1.73.1 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/run/rebase@v1.87.5 continue-on-error: true - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - name: Building demo-app of git-branch without cache run: npx nx build demo @@ -36,10 +36,10 @@ jobs: shardTotal: [9] name: playwright / (${{ matrix.shardIndex }} of ${{ matrix.shardTotal }}) steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 - - uses: taiga-family/ci/actions/setup/playwright@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 + - uses: taiga-family/ci/actions/setup/playwright@v1.87.5 - name: Download cache / ${{ env.CACHE_DIST_KEY }} uses: actions/cache/restore@v4.0.2 @@ -47,7 +47,7 @@ jobs: path: dist/demo key: ${{ env.CACHE_DIST_KEY }} - - uses: taiga-family/ci/actions/run/serve@v1.73.1 + - uses: taiga-family/ci/actions/run/serve@v1.87.5 with: port: ${{ env.NG_SERVER_PORT }} directory: ${{ env.DIST }} @@ -56,12 +56,12 @@ jobs: - name: Run screenshot tests on ${{ env.DIST }} run: npx nx e2e demo-playwright -- --update-snapshots --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} - - uses: taiga-family/ci/actions/run/clone@v1.73.1 + - uses: taiga-family/ci/actions/run/clone@v1.87.5 with: branch: snapshots/demo/next/${{ github.base_ref }} destination: ${{ env.DIST_NEXT }} - - uses: taiga-family/ci/actions/run/serve@v1.73.1 + - uses: taiga-family/ci/actions/run/serve@v1.87.5 with: port: ${{ env.NG_SERVER_PORT }} directory: ${{ env.DIST_NEXT }} @@ -115,8 +115,8 @@ jobs: needs: [playwright] runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 - name: Download artifacts / ${{ env.PLAYWRIGHT_SNAPSHOTS_ARTIFACTS_KEY }} continue-on-error: true diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index c7c6c33d47ff..c9b725fc439a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -10,9 +10,9 @@ jobs: if: ${{ !contains(github.head_ref, 'release/') }} runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - run: npm run typecheck - run: npm run cspell -- --no-progress - run: | @@ -25,7 +25,7 @@ jobs: npm run prettier -- --check npm run lint fi - - uses: taiga-family/ci/actions/auto/push@v1.73.1 + - uses: taiga-family/ci/actions/auto/push@v1.87.5 with: token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 000000000000..c86242333941 --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,93 @@ +name: 🤖 PR suites +on: + pull_request: + pull_request_review: + types: [submitted] + +env: + PR_JOBS_NAME: '[ "Build packages", "Firebase", "Lint", "Unit tests", "Component testing result", "E2E result" ]' + RELEASE_JOBS_NAME: '[ "Publish" ]' + +jobs: + setup: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.matrix.outputs.value }} + steps: + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - id: matrix + if: env.IS_TAIGA_FAMILY_BOT_PR_AUTHOR == 'true' + run: | + if [[ "${{ env.IS_RELEASE_BRANCH }}" == "false" ]]; then + echo "value=$PR_JOBS_NAME" >> $GITHUB_OUTPUT + else + echo "value=$RELEASE_JOBS_NAME" >> $GITHUB_OUTPUT + fi + + wait: + needs: [setup] + runs-on: ubuntu-latest + strategy: + fail-fast: true + matrix: + value: ${{ fromJSON(needs.setup.outputs.matrix) }} + steps: + - uses: taiga-family/ci/actions/run/wait-job@v1.87.5 + with: + token: ${{ secrets.GITHUB_TOKEN }} + job: ${{ matrix.value }} + + approve: + needs: [wait] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/auto/approve/double@v1.87.5 + with: + token1: ${{ secrets.GITHUB_TOKEN }} + token2: ${{ secrets.TAIGA_FAMILY_APPROVE_BOT_PAT }} + - uses: taiga-family/ci/actions/run/merge@v1.87.5 + if: env.IS_RELEASE_BRANCH == 'false' + with: + token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} + + label-when-approved: + name: Label when approved + if: github.event.review.state == 'APPROVED' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/auto/label-when-approved@v1.87.5 + with: + approvals: 2 + token: ${{ secrets.GITHUB_TOKEN }} + + assign-author: + name: PR author as an assignee + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: toshimaru/auto-author-assign@v2.1.1 + if: env.IS_OWNER_MODE == 'true' + with: + repo-token: ${{ secrets.TAIGA_FAMILY_BOT_PAT }} + + label-version: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/run/node-info@v1.87.5 + id: nodejs-workspace + - uses: actions-ecosystem/action-add-labels@v1 + continue-on-error: true + with: + labels: v${{ steps.nodejs-workspace.outputs.root-package-major-version }} + +concurrency: + group: pr-suites-${{ github.head_ref }} + cancel-in-progress: true diff --git a/.github/workflows/publish-canary.yml b/.github/workflows/publish-canary.yml index 164d1ece141b..9999033e927a 100644 --- a/.github/workflows/publish-canary.yml +++ b/.github/workflows/publish-canary.yml @@ -9,10 +9,10 @@ jobs: runs-on: ubuntu-latest name: Publish canary steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 - - uses: taiga-family/ci/actions/setup/config/npm@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 + - uses: taiga-family/ci/actions/setup/config/npm@v1.87.5 with: token: ${{ secrets.TAIGA_UI_SCOPE_NPM_TOKEN }} - run: npm run run-many:build:libs diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 996c796c7f77..314e9552aec9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,12 +8,12 @@ jobs: name: Publish runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 + - uses: actions/checkout@v4.2.0 with: fetch-depth: 0 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 - - uses: taiga-family/ci/actions/setup/config/npm@v1.73.1 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 + - uses: taiga-family/ci/actions/setup/config/npm@v1.87.5 with: token: ${{ secrets.TAIGA_UI_SCOPE_NPM_TOKEN }} @@ -23,26 +23,25 @@ jobs: - name: Publish libraries run: npm run run-many:publish:libs - - name: Get new version + - uses: taiga-family/ci/actions/run/read-package-json@v1.87.5 id: info - run: echo "version=v$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Announce to Time messenger - uses: taiga-family/ci/actions/messenger/time/announce@v1.73.1 + uses: taiga-family/ci/actions/messenger/time/announce@v1.87.5 if: ${{ !contains(steps.info.outputs.version, 'rc') }} with: url: ${{ secrets.ANNOUNCE_WEBHOOK }} channel: ${{ secrets.ANNOUNCE_TARGET }} - version: ${{ steps.info.outputs.version }} + version: v${{ steps.info.outputs.version }} - name: Announce to Telegram messenger - uses: taiga-family/ci/actions/messenger/telegram/announce@v1.73.1 + uses: taiga-family/ci/actions/messenger/telegram/announce@v1.87.5 if: ${{ !contains(steps.info.outputs.version, 'rc') }} with: chatId: ${{ secrets.TAIGA_TELEGRAM_CHAT_ID }} topicId: ${{ secrets.TAIGA_TELEGRAM_CHAT_THREAD_ID }} token: ${{ secrets.TAIGA_TELEGRAM_BOT_TOKEN }} - version: ${{ steps.info.outputs.version }} + version: v${{ steps.info.outputs.version }} textLink: '@taiga-ui/cdk' concurrency: diff --git a/.github/workflows/schematics.yml b/.github/workflows/schematics.yml deleted file mode 100644 index e0ed46acb330..000000000000 --- a/.github/workflows/schematics.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: ⚙️ Schematics -on: - pull_request: - paths: - - 'projects/cdk/schematics/**' - -jobs: - schematics: - if: ${{ !contains(github.head_ref , 'release/') }} - runs-on: ubuntu-latest - name: Run the latest migration - steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 - - run: npx nx run cdk:schematics --v=4 - -concurrency: - group: schematics-${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true diff --git a/.github/workflows/snapshots.yml b/.github/workflows/snapshots.yml index 0cd3483acdeb..7b05268660e5 100644 --- a/.github/workflows/snapshots.yml +++ b/.github/workflows/snapshots.yml @@ -15,9 +15,9 @@ jobs: if: ${{ !contains(github.head_ref || github.ref_name, 'release/') }} runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 - run: npx nx build demo - run: tree ${{ env.DIST }} -P '*.html' @@ -34,9 +34,9 @@ jobs: if: ${{ contains(github.head_ref || github.ref_name, 'release/') || github.event.inputs.updateMain == 'true' }} runs-on: ubuntu-latest steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 id: nodejs-workspace - run: npx nx prerender demo diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 521e69cfd526..c4618dd051fa 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,9 +11,12 @@ jobs: runs-on: ubuntu-latest name: Unit tests steps: - - uses: taiga-family/ci/actions/setup/checkout@v1.73.1 - - uses: taiga-family/ci/actions/setup/variables@v1.73.1 - - uses: taiga-family/ci/actions/setup/node@v1.73.1 + - uses: actions/checkout@v4.2.0 + - uses: taiga-family/ci/actions/setup/variables@v1.87.5 + - uses: taiga-family/ci/actions/setup/node@v1.87.5 + - uses: taiga-family/ci/actions/run/node-info@v1.87.5 + id: info + - run: npx nx run cdk:schematics --v=${{ steps.info.outputs.root-package-major-version }} - run: npm test - run: tree -L 2 ./coverage -P 'lcov.info' - uses: codecov/codecov-action@v4.5.0 diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 59b4822e72c4..83106a0bf972 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,9 @@ { - "recommendations": ["angular.ng-template"] + "recommendations": [ + "nrwl.angular-console", + "angular.ng-template", + "esbenp.prettier-vscode", + "firsttris.vscode-jest-runner", + "dbaeumer.vscode-eslint" + ] } diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000000..72446f434e37 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/CHANGELOG.md b/CHANGELOG.md index ebe2a008b9c9..d7b38dcf5907 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,164 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [4.8.1](https://github.com/taiga-family/taiga-ui/compare/v4.8.0...v4.8.1) (2024-09-24) + +### 🐞 Bug Fixes + +- **addon-charts:** `LineChart` fix line thickness on 0 and max + ([#9167](https://github.com/taiga-family/taiga-ui/issues/9167)) + ([c51f8ec](https://github.com/taiga-family/taiga-ui/commit/c51f8ecd8cfa4f0e9acef426aa7d17a4940f361c)) +- **core:** `DropdownContext` fix for Shadow DOM ([#9171](https://github.com/taiga-family/taiga-ui/issues/9171)) + ([e76e27e](https://github.com/taiga-family/taiga-ui/commit/e76e27ebe0cde3f4993e381eb4600e4821702181)) +- **kit:** export password options ([#9159](https://github.com/taiga-family/taiga-ui/issues/9159)) + ([688405e](https://github.com/taiga-family/taiga-ui/commit/688405eb375c095c699fc9b8dd82982879fe2e57)) +- **legacy:** `MultiSelect` fix for long items overflowing + ([#9160](https://github.com/taiga-family/taiga-ui/issues/9160)) + ([80fdfd0](https://github.com/taiga-family/taiga-ui/commit/80fdfd0a1bd28f34d86b837c1f33c67ec9d7d139)) + +## [4.8.0](https://github.com/taiga-family/taiga-ui/compare/v4.7.0...v4.8.0) (2024-09-24) + +### 🚀 Features + +- **addon-doc:** add ability to disable default search-bar + ([#9099](https://github.com/taiga-family/taiga-ui/issues/9099)) + ([90cc083](https://github.com/taiga-family/taiga-ui/commit/90cc083677a3f117f41cbce3d91c16da4977ad9d)) +- **addon-doc:** add aria-label for dark mode button ([#9108](https://github.com/taiga-family/taiga-ui/issues/9108)) + ([58bfb70](https://github.com/taiga-family/taiga-ui/commit/58bfb706e04f42a91c37819b431e1e386a598b49)) +- **addon-doc:** full prerender page for ssr and improve ux + ([#9073](https://github.com/taiga-family/taiga-ui/issues/9073)) + ([d2fa1ac](https://github.com/taiga-family/taiga-ui/commit/d2fa1ac5d505e8beb0417b039a8ae2a53905d855)) +- **addon-doc:** heading elements are not in a sequentially-descending order + ([#9110](https://github.com/taiga-family/taiga-ui/issues/9110)) + ([46a1a17](https://github.com/taiga-family/taiga-ui/commit/46a1a179da2474606e493177a58ec77dc2953d36)) +- **cdk:** add `TuiLooseUnion` ([#9068](https://github.com/taiga-family/taiga-ui/issues/9068)) + ([e7642cb](https://github.com/taiga-family/taiga-ui/commit/e7642cb4e99eaa5601078a1a42a0f98c424ceede)) +- **cdk:** support provide custom query selector for auto focus directive + ([#9062](https://github.com/taiga-family/taiga-ui/issues/9062)) + ([ae149f5](https://github.com/taiga-family/taiga-ui/commit/ae149f50c9e1777a6028de1859a5470d6fca9fd0)) +- **kit:** `Like` add new component ([#8989](https://github.com/taiga-family/taiga-ui/issues/8989)) + ([0814ae8](https://github.com/taiga-family/taiga-ui/commit/0814ae876168a2dfa05fd52dfb9d1d7fd141a6b1)) +- **kit:** add an options token for customizing TuiHighlight + ([#8812](https://github.com/taiga-family/taiga-ui/issues/8812)) + ([21a80c7](https://github.com/taiga-family/taiga-ui/commit/21a80c73ad750c6c82196405a047c2888833c4ce)) +- **kit:** improve IDEA auto import for `TuiImageLoading` + ([#9090](https://github.com/taiga-family/taiga-ui/issues/9090)) + ([f45c899](https://github.com/taiga-family/taiga-ui/commit/f45c899b5f2d1f8b36b76b1aba1796e2bbbffb85)) +- **layout:** `AppBar` add auto size directive ([#9119](https://github.com/taiga-family/taiga-ui/issues/9119)) + ([d5628e7](https://github.com/taiga-family/taiga-ui/commit/d5628e71ecfa1f89c6c654f8a713da93ef169589)) + +### 🐞 Bug Fixes + +- **addon-commerce:** `InputCardGroup` fix for older Safari + ([#9117](https://github.com/taiga-family/taiga-ui/issues/9117)) + ([29044f9](https://github.com/taiga-family/taiga-ui/commit/29044f92cfc80d3eda1a3520c06cc9a478131b77)) +- **addon-mobile:** correct height for `tui-app-bar` on ios/android + ([#9031](https://github.com/taiga-family/taiga-ui/issues/9031)) + ([a669fd6](https://github.com/taiga-family/taiga-ui/commit/a669fd6a7db19b764af0a2aaa729f71bbfb52ab1)) +- **cdk:** remove global styles patching from auto-focus directive + ([#8974](https://github.com/taiga-family/taiga-ui/issues/8974)) + ([fa81919](https://github.com/taiga-family/taiga-ui/commit/fa81919382566a63c572a23ee32e87882d86c85d)) +- **cdk:** unsubscribe from pan service when directive is destroyed + ([#9021](https://github.com/taiga-family/taiga-ui/issues/9021)) + ([5ce088a](https://github.com/taiga-family/taiga-ui/commit/5ce088ab2becd92062f3f4ef94a0bf0a8373c975)) +- **cdk:** unsubscribe from swipe service when directive is destroyed + ([#9022](https://github.com/taiga-family/taiga-ui/issues/9022)) + ([ce15783](https://github.com/taiga-family/taiga-ui/commit/ce15783eb48e5e612df21231ca68c5fff9f06b90)) +- **cdk:** unsubscribe from zoom service when directive is destroyed + ([#9069](https://github.com/taiga-family/taiga-ui/issues/9069)) + ([36ee705](https://github.com/taiga-family/taiga-ui/commit/36ee7052e9ce5530b66154bbb4ff6e394a2eaa83)) +- **core:** `Appearance` remove initial transition ([#9059](https://github.com/taiga-family/taiga-ui/issues/9059)) + ([88a8f5b](https://github.com/taiga-family/taiga-ui/commit/88a8f5bd53acdeb8ab6a554c60d44f16ff2b4ed8)) +- **core:** `Loader` fix leaving `ActiveZone` ([#9115](https://github.com/taiga-family/taiga-ui/issues/9115)) + ([d4099d2](https://github.com/taiga-family/taiga-ui/commit/d4099d24c2d36548114a3c6e581a12b1832dd3e8)) +- **core:** do not override nested tui-icon styles ([#9065](https://github.com/taiga-family/taiga-ui/issues/9065)) + ([4e07f24](https://github.com/taiga-family/taiga-ui/commit/4e07f24bed4c1ed2a4c1d2b3409e69b4fdd6144d)) +- **demo:** `Lists` changes the `ts` representation to `html` + ([#9078](https://github.com/taiga-family/taiga-ui/issues/9078)) + ([4bca8b7](https://github.com/taiga-family/taiga-ui/commit/4bca8b7b1b4d71ef8797e9756358e64b3fdc4e0a)) +- **deps:** update dependency date-fns to v4 ([#9038](https://github.com/taiga-family/taiga-ui/issues/9038)) + ([bee65c9](https://github.com/taiga-family/taiga-ui/commit/bee65c930fb845c3983ef44c9f3b5d9d7d867086)) +- **deps:** update dependency ng-morph to v4.8.2 ([#9137](https://github.com/taiga-family/taiga-ui/issues/9137)) + ([9a802a0](https://github.com/taiga-family/taiga-ui/commit/9a802a0b748c19bb02820a6ad9a0aa39bc2d8d2f)) +- **deps:** update maskito to ^3.0.2 ([#9139](https://github.com/taiga-family/taiga-ui/issues/9139)) + ([00a78be](https://github.com/taiga-family/taiga-ui/commit/00a78bef3069128b078cad83c099d4b31e83afd8)) +- **deps:** update taiga-ui ([#9142](https://github.com/taiga-family/taiga-ui/issues/9142)) + ([dc80717](https://github.com/taiga-family/taiga-ui/commit/dc807171e09e513e9defe287a6e3c9d1feddaf0d)) +- **kit:** `CalendarRange` shows last available month when max and items set + ([#9147](https://github.com/taiga-family/taiga-ui/issues/9147)) + ([14d644f](https://github.com/taiga-family/taiga-ui/commit/14d644f191ed9257a9b79d36ea865b271c792621)) +- **kit:** `InputDateRange` fix dark mode issues and list item size + ([#9098](https://github.com/taiga-family/taiga-ui/issues/9098)) + ([6820698](https://github.com/taiga-family/taiga-ui/commit/68206987de81810e8b4fa8239bc80e2f84b18ffe)) +- **kit:** do not override white-space for children of line-clamp + ([#9025](https://github.com/taiga-family/taiga-ui/issues/9025)) + ([f77a783](https://github.com/taiga-family/taiga-ui/commit/f77a78356e31867f2a7c0169a0971e695dd8ab58)) +- **kit:** drop image skeleton when handle of lazy loading error + ([#9032](https://github.com/taiga-family/taiga-ui/issues/9032)) + ([2af496b](https://github.com/taiga-family/taiga-ui/commit/2af496bda0b7a67bb3b14e382edbaba0785e0536)) +- **kit:** memory leak in line-clamp ([#9014](https://github.com/taiga-family/taiga-ui/issues/9014)) + ([93fb577](https://github.com/taiga-family/taiga-ui/commit/93fb577eebdc3c6b9e4f6fe08a022a66c6ddc031)) +- **layout:** `AppBar` use proper appearance for back button + ([#9061](https://github.com/taiga-family/taiga-ui/issues/9061)) + ([6019863](https://github.com/taiga-family/taiga-ui/commit/601986355e64b21a232fe42a034be7810492b031)) +- **layout:** `CardLarge` fix style leaking into `Badge` ([#9097](https://github.com/taiga-family/taiga-ui/issues/9097)) + ([83300f1](https://github.com/taiga-family/taiga-ui/commit/83300f1c9552310b8a3ddc142a09d16829d8eaa1)) +- **layout:** `CardLarge` with headless `Cell` list ([#9114](https://github.com/taiga-family/taiga-ui/issues/9114)) + ([941c856](https://github.com/taiga-family/taiga-ui/commit/941c85601f59f838bdcf97876165afce37be2e8d)) +- **legacy:** `MultiSelect` empty line when non empty `placeholder` and `valueContent` + ([#9123](https://github.com/taiga-family/taiga-ui/issues/9123)) + ([eda9293](https://github.com/taiga-family/taiga-ui/commit/eda9293cfd488b72e822b25799d1ce56d5454164)) +- **legacy:** during serialization angular was unable to find an element in the DOM + ([#9063](https://github.com/taiga-family/taiga-ui/issues/9063)) + ([7817c18](https://github.com/taiga-family/taiga-ui/commit/7817c18bf02dfd976d492ca94f29ace2ccdd521c)) +- **legacy:** fix scroll jumping on readonly input focusing in safari + ([#9088](https://github.com/taiga-family/taiga-ui/issues/9088)) + ([dbf2510](https://github.com/taiga-family/taiga-ui/commit/dbf251012f0e4f992efe02c60c10d7f2578c6f1b)) +- **table:** table filters pipe types ([#9076](https://github.com/taiga-family/taiga-ui/issues/9076)) + ([0635555](https://github.com/taiga-family/taiga-ui/commit/06355550805d97d53f1d48247f9967ad2a5f934a)) + +## [4.7.0](https://github.com/taiga-family/taiga-ui/compare/v4.6.0...v4.7.0) (2024-09-16) + +### 🚀 Features + +- **addon-doc:** `API` add new component ([#9015](https://github.com/taiga-family/taiga-ui/issues/9015)) + ([a87b608](https://github.com/taiga-family/taiga-ui/commit/a87b60879bf6318a04b1b83c5d2a7e04227288f1)) +- **addon-doc:** adds keybindings to the search field ([#8830](https://github.com/taiga-family/taiga-ui/issues/8830)) + ([8d03673](https://github.com/taiga-family/taiga-ui/commit/8d03673bc6597dfaceb54ec1512acf96cb8eb23b)) +- **core:** `Appearance` allow multiple modes ([#9042](https://github.com/taiga-family/taiga-ui/issues/9042)) + ([e1853dd](https://github.com/taiga-family/taiga-ui/commit/e1853dd2842352cbe67f7c82447250b206c49db3)) + +### 🐞 Bug Fixes + +- **addon-doc:** `TuiDocScrollIntoViewLink` should be export from root + ([#9039](https://github.com/taiga-family/taiga-ui/issues/9039)) + ([ad1979a](https://github.com/taiga-family/taiga-ui/commit/ad1979a31bfaa48fbb94131377f01b513fab17a7)) +- **addon-mobile:** export styles ([#9007](https://github.com/taiga-family/taiga-ui/issues/9007)) + ([d9915bb](https://github.com/taiga-family/taiga-ui/commit/d9915bbe38d6aea9b998ff73a753ad2004363172)) +- **core:** `Calendar` fix visual gaps in range ([#8961](https://github.com/taiga-family/taiga-ui/issues/8961)) + ([8ec81aa](https://github.com/taiga-family/taiga-ui/commit/8ec81aa86356af764ac881177c207abd4b71b925)) +- **core:** `Dropdown` fix options leaking upwards ([#9051](https://github.com/taiga-family/taiga-ui/issues/9051)) + ([350ba52](https://github.com/taiga-family/taiga-ui/commit/350ba524cc5a15b970fcd1157f3553899050e7a2)) +- **core:** rely only on `[tuiOption]` html attribute for search options + ([#8965](https://github.com/taiga-family/taiga-ui/issues/8965)) + ([df8228c](https://github.com/taiga-family/taiga-ui/commit/df8228ca3f2bf83a6b3ee3923da45f750d7ec3d4)) +- **deps:** update dependency ng-morph to v4.7.0 ([#9008](https://github.com/taiga-family/taiga-ui/issues/9008)) + ([e6d273d](https://github.com/taiga-family/taiga-ui/commit/e6d273d7b2a30df9cd5684caf3c51f152c16a5a6)) +- **deps:** update dependency ng-morph to v4.8.0 ([#9011](https://github.com/taiga-family/taiga-ui/issues/9011)) + ([99fabf5](https://github.com/taiga-family/taiga-ui/commit/99fabf5fbd1d3d046007215dd36c07e9f02ab21d)) +- **deps:** update dependency ng-morph to v4.8.1 ([#9013](https://github.com/taiga-family/taiga-ui/issues/9013)) + ([1f814e0](https://github.com/taiga-family/taiga-ui/commit/1f814e09657cd272adafcd8d49aa72b664e17ec8)) +- **deps:** update ng-web-apis to ^4.5.0 ([#9006](https://github.com/taiga-family/taiga-ui/issues/9006)) + ([1377647](https://github.com/taiga-family/taiga-ui/commit/1377647103c72c164d229e72672ce9cc391c9a19)) +- **deps:** update ng-web-apis to ^4.6.0 ([#9046](https://github.com/taiga-family/taiga-ui/issues/9046)) + ([40943ea](https://github.com/taiga-family/taiga-ui/commit/40943ea7901794dc2f3049eccc3b08e52d564db2)) +- **kit:** `Connected` work with `CardLarge` ([#9040](https://github.com/taiga-family/taiga-ui/issues/9040)) + ([71f699c](https://github.com/taiga-family/taiga-ui/commit/71f699cec9cda4ba0e4890f10620112e5a009320)) +- **kit:** add overload for `TuiFilterByInputPipe` ([#8912](https://github.com/taiga-family/taiga-ui/issues/8912)) + ([6883ea6](https://github.com/taiga-family/taiga-ui/commit/6883ea63666157e4e1ca91850459419405398c60)) +- **kit:** block user selection in skeleton ([#9001](https://github.com/taiga-family/taiga-ui/issues/9001)) + ([49b0e03](https://github.com/taiga-family/taiga-ui/commit/49b0e0375155b5cca4e29be78a8ff05f9b35f2ab)) + ## [4.6.0](https://github.com/taiga-family/taiga-ui/compare/v4.5.0...v4.6.0) (2024-09-10) ### 🐞 Bug Fixes diff --git a/package-lock.json b/package-lock.json index a24d7fd33214..b445d731736f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,57 +1,59 @@ { "name": "@taiga-ui/components", - "version": "4.6.0", + "version": "4.8.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@taiga-ui/components", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", - "workspaces": ["projects/*"], + "workspaces": [ + "projects/*" + ], "devDependencies": { - "@angular-devkit/build-angular": "16.2.15", - "@angular-devkit/core": "16.2.15", - "@angular-devkit/schematics": "16.2.15", + "@angular-devkit/build-angular": "16.2.16", + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", "@angular/animations": "16.2.12", "@angular/cdk": "16.2.14", - "@angular/cli": "16.2.15", + "@angular/cli": "16.2.16", "@angular/common": "16.2.12", "@angular/compiler-cli": "16.2.12", "@angular/core": "16.2.12", "@angular/forms": "16.2.12", "@angular/platform-browser": "16.2.12", "@angular/router": "16.2.12", - "@nx/angular": "19.7.3", - "@nx/jest": "19.7.3", - "@nx/workspace": "19.7.3", - "@schematics/angular": "16.2.15", - "@taiga-ui/browserslist-config": "0.174.3", - "@taiga-ui/commitlint-config": "0.174.3", - "@taiga-ui/cspell-config": "0.174.3", - "@taiga-ui/design-tokens": "0.134.0", - "@taiga-ui/eslint-plugin-experience": "0.174.3", - "@taiga-ui/event-plugins": "4.2.0", - "@taiga-ui/prettier-config": "0.174.3", - "@taiga-ui/stylelint-config": "0.174.3", - "@taiga-ui/tsconfig": "0.174.3", + "@nx/angular": "19.8.2", + "@nx/jest": "19.8.2", + "@nx/workspace": "19.8.2", + "@schematics/angular": "16.2.16", + "@taiga-ui/browserslist-config": "0.219.0", + "@taiga-ui/commitlint-config": "0.219.0", + "@taiga-ui/cspell-config": "0.219.0", + "@taiga-ui/design-tokens": "0.139.0", + "@taiga-ui/eslint-plugin-experience": "0.219.0", + "@taiga-ui/event-plugins": "4.2.3", + "@taiga-ui/prettier-config": "0.219.0", + "@taiga-ui/stylelint-config": "0.219.0", + "@taiga-ui/tsconfig": "0.219.0", "@types/glob": "8.1.0", "@types/loader-utils": "2.0.6", - "@types/node": "22.5.5", + "@types/node": "22.7.4", "@types/webpack-env": "1.18.5", "cpy-cli": "5.0.0", "husky": "9.1.6", "lint-staged": "15.2.10", - "ng-morph": "4.8.1", + "ng-morph": "4.8.2", "ng-packagr": "16.2.3", "ngx-highlightjs": "10.0.0", - "nx": "19.7.3", + "nx": "19.8.2", "rxjs": "7.5.0", "standard-version": "9.5.0", "ts-mockito": "2.6.1", "ts-node": "10.9.2", "typescript": "5.0.4", - "webpack": "5.94.0" + "webpack": "5.95.0" }, "engines": { "node": ">= 20", @@ -66,6 +68,316 @@ "dev": true, "license": "MIT" }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", + "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==", + "license": "MIT" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", + "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", + "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", + "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.6.1.tgz", + "integrity": "sha512-4MGqXqiAyqsUJw+KamKWZO2Gxn9iMpc05vC0vy8+iQRjKRZEDB1a+3Da6CnkWzXa162pJb7a/chDAAKA9rye8A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", + "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.6.1.tgz", + "integrity": "sha512-HloeR0Ef29vf2yJc1lhjw1OYial3YgB0f3TQaqqMlSnM/IkAw9TnX1IOYLurnI91apMKggFpA9t8lRp7TGEKEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1", + "@algolia/requester-browser-xhr": "5.6.1", + "@algolia/requester-fetch": "5.6.1", + "@algolia/requester-node-http": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==", + "license": "MIT" + }, + "node_modules/@algolia/logger-console": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", + "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", + "license": "MIT", + "dependencies": { + "@algolia/logger-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", + "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.6.1.tgz", + "integrity": "sha512-tY1RW60sGF9sMpxbd8j53IqLLwnkNhrAarVhFfNZzDZNvI8WyzG78W5ZD/SFvtkgNPPSav3T/3LpBT8xBpzbGw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==", + "license": "MIT" + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.6.1.tgz", + "integrity": "sha512-4TvR5IodrH+o+ji4ka+VBufWY0GfHr43nFqnDTStabtjspfo4rlcV16x534vvnbfp694oBxrz0SO/Ny8VemvXg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.6.1.tgz", + "integrity": "sha512-K7tlss87aq6UnWnU8+fPIe+Is9Mvyqwzysp6Ty/HpQ7YNKUU7opgkMOVKxzTwt3fm40NfNX4ENvVKHoYABL6vw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", + "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", + "license": "MIT", + "dependencies": { + "@algolia/cache-common": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/requester-common": "4.24.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -80,13 +392,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1602.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.15.tgz", - "integrity": "sha512-+yPlUG5c8l7Z/A6dyeV7NQjj4WDWnWWQt+8eW/KInwVwoYiM32ntTJ0M4uU/aDdHuwKQnMLly28AcSWPWKYf2Q==", + "version": "0.1602.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.16.tgz", + "integrity": "sha512-aWEeGU4UlbrSKpcAZsldVNxNXAWEeu9hM2BPk77GftbRC8PBMWpgYyrJWTz2ryn8aSmGKT3T8OyBH4gZA/667w==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.2.15", + "@angular-devkit/core": "16.2.16", "rxjs": "7.8.1" }, "engines": { @@ -106,16 +418,16 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.15.tgz", - "integrity": "sha512-gw9wQENYVNUCB2bnzk0yKd6YGlemDwuwKnrPnSm4myyMuScZpW+e+zliGW+JXRuVWZqiTJNcdd58e4CrrreILg==", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.16.tgz", + "integrity": "sha512-gEni21kza41xaRnVWP1sMuiWHS/rdoym5FEEGDo9PG60LwRC4lekIgT09GpTlmMu007UEfo0ccQnGroD6+MqWg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1602.15", - "@angular-devkit/build-webpack": "0.1602.15", - "@angular-devkit/core": "16.2.15", + "@angular-devkit/architect": "0.1602.16", + "@angular-devkit/build-webpack": "0.1602.16", + "@angular-devkit/core": "16.2.16", "@babel/core": "7.22.9", "@babel/generator": "7.22.9", "@babel/helper-annotate-as-pure": "7.22.5", @@ -127,7 +439,7 @@ "@babel/runtime": "7.22.6", "@babel/template": "7.22.5", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "16.2.15", + "@ngtools/webpack": "16.2.16", "@vitejs/plugin-basic-ssl": "1.0.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.14", @@ -170,7 +482,7 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.6.1", - "vite": "4.5.3", + "vite": "4.5.5", "webpack": "5.94.0", "webpack-dev-middleware": "6.1.2", "webpack-dev-server": "4.15.1", @@ -269,6 +581,64 @@ "semver": "bin/semver.js" } }, + "node_modules/@angular-devkit/build-angular/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, "node_modules/@angular-devkit/build-angular/node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -308,6 +678,25 @@ "tslib": "^2.1.0" } }, + "node_modules/@angular-devkit/build-angular/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/tslib": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", @@ -315,14 +704,61 @@ "dev": true, "license": "0BSD" }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1602.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.15.tgz", - "integrity": "sha512-ms1+vCDdV0KX8BplJ7JoKH3wKjWHxxZTOX+mSPIjt4wS1uAk5DnezXHIjpBiJ3HY9XVHFI9C0HT4n7o6kFIOEQ==", + "version": "0.1602.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.16.tgz", + "integrity": "sha512-b99Sj0btI0C2GIfzoyP8epDMIOLqSTqXOxw6klGtBLaGZfM5KAxqFzekXh8cAnHxWCj20WdNhezS1eUTLOkaIA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1602.15", + "@angular-devkit/architect": "0.1602.16", "rxjs": "7.8.1" }, "engines": { @@ -346,9 +782,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.15.tgz", - "integrity": "sha512-68BgPWpcjNKz++uvLFG8IZaOH3ti2BWQVqaE3yTIYaMoNt0y0A0X2MUVd7EGbAGUk2JdloWJv5LTPVZMzCuK4w==", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.16.tgz", + "integrity": "sha512-5xHs9JFmp78sydrOAg0UGErxfMVv5c2f3RXoikS7eBOOXTWEi5pmnOkOvSJ3loQFGVs3Y7i+u02G3VrF5ZxOrA==", "devOptional": true, "license": "MIT", "dependencies": { @@ -384,13 +820,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.15.tgz", - "integrity": "sha512-C/j2EwapdBMf1HWDuH89bA9B2e511iEYImkyZ+vCSXRwGiWUaZCrhl18bvztpErTrdOLM3mCwNXWEAMXI4zUXA==", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.16.tgz", + "integrity": "sha512-pF6fdtJh6yLmgA7Gs45JIdxPl2MsTAhYcZIMrX1a6ID64dfwtF0MP8fDE6vrWInV1zXbzzf7l7PeKuqVtTSzKg==", "devOptional": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.2.15", + "@angular-devkit/core": "16.2.16", "jsonc-parser": "3.2.0", "magic-string": "0.30.1", "ora": "5.4.1", @@ -403,14 +839,14 @@ } }, "node_modules/@angular-devkit/schematics-cli": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-16.2.15.tgz", - "integrity": "sha512-uyJtErVLWUSHWi2rf66EBat9VGys71YVoBbviLCcdcWsz8EVhe6tn9rAHa2mgSEdSY5tO8Wzaf5cIN052nscew==", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-16.2.16.tgz", + "integrity": "sha512-PGh5ztOH9L9+vS4wvK8t5dVl9BU9VMoI1Oxzt/uN5JzRBJwQRUKXTVkhcGyJdCxVUtjcw4gfshb0j21R5FH8Vw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.2.15", - "@angular-devkit/schematics": "16.2.15", + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", "ansi-colors": "4.1.3", "inquirer": "8.2.4", "symbol-observable": "4.0.0", @@ -544,16 +980,16 @@ } }, "node_modules/@angular/cli": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.15.tgz", - "integrity": "sha512-nNUmt0ZRj2xHH8tGXSJUiusP5rmakAz0f6cc6T4p03OyeShOKdvs9+/F4hzzsM79/ylZofBlFfwYVCBTbOtMqw==", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.16.tgz", + "integrity": "sha512-aqfNYZ45ndrf36i+7AhQ9R8BCm025j7TtYaUmvvjT4LwiUg6f6KtlZPB/ivBlXmd1g9oXqW4advL0AIi8A/Ozg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1602.15", - "@angular-devkit/core": "16.2.15", - "@angular-devkit/schematics": "16.2.15", - "@schematics/angular": "16.2.15", + "@angular-devkit/architect": "0.1602.16", + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", + "@schematics/angular": "16.2.16", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.1", @@ -3719,36 +4155,37 @@ } }, "node_modules/@cspell/cspell-bundled-dicts": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.14.2.tgz", - "integrity": "sha512-Kv2Utj/RTSxfufGXkkoTZ/3ErCsYWpCijtDFr/FwSsM7mC0PzLpdlcD9xjtgrJO5Kwp7T47iTG21U4Mwddyi8Q==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.14.4.tgz", + "integrity": "sha512-JHZOpCJzN6fPBapBOvoeMxZbr0ZA11ZAkwcqM4w0lKoacbi6TwK8GIYf66hHvwLmMeav75TNXWE6aPTvBLMMqA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "@cspell/dict-ada": "^4.0.2", - "@cspell/dict-aws": "^4.0.3", - "@cspell/dict-bash": "^4.1.3", + "@cspell/dict-aws": "^4.0.4", + "@cspell/dict-bash": "^4.1.4", "@cspell/dict-companies": "^3.1.4", - "@cspell/dict-cpp": "^5.1.12", + "@cspell/dict-cpp": "^5.1.16", "@cspell/dict-cryptocurrencies": "^5.0.0", "@cspell/dict-csharp": "^4.0.2", "@cspell/dict-css": "^4.0.13", - "@cspell/dict-dart": "^2.0.3", + "@cspell/dict-dart": "^2.2.1", "@cspell/dict-django": "^4.1.0", "@cspell/dict-docker": "^1.1.7", - "@cspell/dict-dotnet": "^5.0.2", + "@cspell/dict-dotnet": "^5.0.5", "@cspell/dict-elixir": "^4.0.3", "@cspell/dict-en_us": "^4.3.23", "@cspell/dict-en-common-misspellings": "^2.0.4", "@cspell/dict-en-gb": "1.1.33", "@cspell/dict-filetypes": "^3.0.4", + "@cspell/dict-flutter": "^1.0.0", "@cspell/dict-fonts": "^4.0.0", "@cspell/dict-fsharp": "^1.0.1", "@cspell/dict-fullstack": "^3.2.0", "@cspell/dict-gaming-terms": "^1.0.5", "@cspell/dict-git": "^3.0.0", - "@cspell/dict-golang": "^6.0.9", + "@cspell/dict-golang": "^6.0.12", "@cspell/dict-google": "^1.0.1", "@cspell/dict-haskell": "^4.0.1", "@cspell/dict-html": "^4.0.5", @@ -3762,20 +4199,20 @@ "@cspell/dict-makefile": "^1.0.0", "@cspell/dict-monkeyc": "^1.0.6", "@cspell/dict-node": "^5.0.1", - "@cspell/dict-npm": "^5.0.18", - "@cspell/dict-php": "^4.0.8", - "@cspell/dict-powershell": "^5.0.5", - "@cspell/dict-public-licenses": "^2.0.7", - "@cspell/dict-python": "^4.2.4", + "@cspell/dict-npm": "^5.1.4", + "@cspell/dict-php": "^4.0.10", + "@cspell/dict-powershell": "^5.0.8", + "@cspell/dict-public-licenses": "^2.0.8", + "@cspell/dict-python": "^4.2.6", "@cspell/dict-r": "^2.0.1", - "@cspell/dict-ruby": "^5.0.2", + "@cspell/dict-ruby": "^5.0.3", "@cspell/dict-rust": "^4.0.5", "@cspell/dict-scala": "^5.0.3", - "@cspell/dict-software-terms": "^4.0.6", + "@cspell/dict-software-terms": "^4.1.3", "@cspell/dict-sql": "^2.1.5", "@cspell/dict-svelte": "^1.0.2", "@cspell/dict-swift": "^2.0.1", - "@cspell/dict-terraform": "^1.0.0", + "@cspell/dict-terraform": "^1.0.1", "@cspell/dict-typescript": "^3.1.6", "@cspell/dict-vue": "^3.0.0" }, @@ -3784,23 +4221,23 @@ } }, "node_modules/@cspell/cspell-json-reporter": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.14.2.tgz", - "integrity": "sha512-TZavcnNIZKX1xC/GNj80RgFVKHCT4pHT0qm9jCsQFH2QJfyCrUlkEvotKGSQ04lAyCwWg6Enq95qhouF8YbKUQ==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.14.4.tgz", + "integrity": "sha512-gJ6tQbGCNLyHS2iIimMg77as5MMAFv3sxU7W6tjLlZp8htiNZS7fS976g24WbT/hscsTT9Dd0sNHkpo8K3nvVw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-types": "8.14.2" + "@cspell/cspell-types": "8.14.4" }, "engines": { "node": ">=18" } }, "node_modules/@cspell/cspell-pipe": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-8.14.2.tgz", - "integrity": "sha512-aWMoXZAXEre0/M9AYWOW33YyOJZ06i4vvsEpWBDWpHpWQEmsR/7cMMgld8Pp3wlEjIUclUAKTYmrZ61PFWU/og==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-8.14.4.tgz", + "integrity": "sha512-CLLdouqfrQ4rqdQdPu0Oo+HHCU/oLYoEsK1nNPb28cZTFxnn0cuSPKB6AMPBJmMwdfJ6fMD0BCKNbEe1UNLHcw==", "dev": true, "license": "MIT", "peer": true, @@ -3809,9 +4246,9 @@ } }, "node_modules/@cspell/cspell-resolver": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-8.14.2.tgz", - "integrity": "sha512-pSyBsAvslaN0dx0pHdvECJEuFDDBJGAD6G8U4BVbIyj2OPk0Ox0HrZIj6csYxxoJERAgNO/q7yCPwa4j9NNFXg==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-8.14.4.tgz", + "integrity": "sha512-s3uZyymJ04yn8+zlTp7Pt1WRSlAel6XVo+iZRxls3LSvIP819KK64DoyjCD2Uon0Vg9P/K7aAPt8GcxDcnJtgA==", "dev": true, "license": "MIT", "peer": true, @@ -3823,9 +4260,9 @@ } }, "node_modules/@cspell/cspell-service-bus": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-8.14.2.tgz", - "integrity": "sha512-WUF7xf3YgXYIqjmBwLcVugYIrYL4WfXchgSo9rmbbnOcAArzsK+HKfzb4AniZAJ1unxcIQ0JnVlRmnCAKPjjLg==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-8.14.4.tgz", + "integrity": "sha512-i3UG+ep63akNsDXZrtGgICNF3MLBHtvKe/VOIH6+L+NYaAaVHqqQvOY9MdUwt1HXh8ElzfwfoRp36wc5aAvt6g==", "dev": true, "license": "MIT", "peer": true, @@ -3834,9 +4271,9 @@ } }, "node_modules/@cspell/cspell-types": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-8.14.2.tgz", - "integrity": "sha512-MRY8MjBNOKGMDSkxAKueYAgVL43miO+lDcLCBBP+7cNXqHiUFMIZteONcGp3kJT0dWS04dN6lKAXvaNF0aWcng==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-8.14.4.tgz", + "integrity": "sha512-VXwikqdHgjOVperVVCn2DOe8W3rPIswwZtMHfRYnagpzZo/TOntIjkXPJSfTtl/cFyx5DnCBsDH8ytKGlMeHkw==", "dev": true, "license": "MIT", "peer": true, @@ -3996,6 +4433,14 @@ "license": "MIT", "peer": true }, + "node_modules/@cspell/dict-flutter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-flutter/-/dict-flutter-1.0.0.tgz", + "integrity": "sha512-W7k1VIc4KeV8BjEBxpA3cqpzbDWjfb7oXkEb0LecBCBp5Z7kcfnjT1YVotTx/U9PGyAOBhDaEdgZACVGNQhayw==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/@cspell/dict-fonts": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-4.0.0.tgz", @@ -4061,9 +4506,9 @@ "peer": true }, "node_modules/@cspell/dict-html": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.5.tgz", - "integrity": "sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.6.tgz", + "integrity": "sha512-cLWHfuOhE4wqwC12up6Doxo2u1xxVhX1A8zriR4CUD+osFQzUIcBK1ykNXppga+rt1WyypaJdTU2eV6OpzYrgQ==", "dev": true, "license": "MIT", "peer": true @@ -4149,9 +4594,9 @@ "peer": true }, "node_modules/@cspell/dict-npm": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.1.4.tgz", - "integrity": "sha512-yzqVTY4P5neom4z9orV2IFOqDZ7fDotmisP7nwQkEmftoELgn5CUtNdnJhWDoDQQn6yrxOxA8jEqmyETIWzN4Q==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.1.5.tgz", + "integrity": "sha512-oAOGWuJYU3DlO+cAsStKMWN8YEkBue25cRC9EwdiL5Z84nchU20UIoYrLfIQejMlZca+1GyrNeyxRAgn4KiivA==", "dev": true, "license": "MIT", "peer": true @@ -4165,9 +4610,9 @@ "peer": true }, "node_modules/@cspell/dict-powershell": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.8.tgz", - "integrity": "sha512-Eg64BccQp5oEJ+V/O2G27KaLWmuOL2AWMOs2470adUihOleRfW8j9XwAEGCS+JKSnDb2mksWA72Z6kDqH138IQ==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.9.tgz", + "integrity": "sha512-Vi0h0rlxS39tgTyUtxI6L3BPHH7MLPkLWCYkNfb/buQuNJYNFdHiF4bqoqVdJ/7ZrfIfNg4i6rzocnwGRn2ruw==", "dev": true, "license": "MIT", "peer": true @@ -4240,9 +4685,9 @@ "peer": true }, "node_modules/@cspell/dict-software-terms": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-4.1.3.tgz", - "integrity": "sha512-5Wn5JG4IzCboX5pjISdkipsPKGaz1//iuBZdHl4US5x7mO4jOGXLpjzx6ZoPM4PXUlMEFz9NJRCDepAu8fXVtA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-4.1.4.tgz", + "integrity": "sha512-AHS25sYEzWze/aFglp9ODKSu+phjkuGx+OLwIcmOnvyn8axtSq5GCn9UqS4XG1/Qn0UG2Lgb4i5PJbZ0QNPNXQ==", "dev": true, "license": "MIT", "peer": true @@ -4296,9 +4741,9 @@ "peer": true }, "node_modules/@cspell/dynamic-import": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-8.14.2.tgz", - "integrity": "sha512-5MbqtIligU7yPwHWU/5yFCgMvur4i1bRAF1Cy8y2dDtHsa204S/w/SaXs+51EFLp2eNbCiBisCBrwJFT7R1RxA==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-8.14.4.tgz", + "integrity": "sha512-GjKsBJvPXp4dYRqsMn7n1zpnKbnpfJnlKLOVeoFBh8fi4n06G50xYr+G25CWX1WT3WFaALAavvVICEUPrVsuqg==", "dev": true, "license": "MIT", "peer": true, @@ -4310,9 +4755,9 @@ } }, "node_modules/@cspell/filetypes": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-8.14.2.tgz", - "integrity": "sha512-ZevArA0mWeVTTqHicxCPZIAeCibpY3NwWK/x6d1Lgu7RPk/daoGAM546Q2SLChFu+r10tIH7pRG212A6Q9ihPA==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-8.14.4.tgz", + "integrity": "sha512-qd68dD7xTA4Mnf/wjIKYz2SkiTBshIM+yszOUtLa06YJm0aocoNQ25FHXyYEQYm9NQXCYnRWWA02sFMGs8Sv/w==", "dev": true, "license": "MIT", "peer": true, @@ -4321,9 +4766,9 @@ } }, "node_modules/@cspell/strong-weak-map": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-8.14.2.tgz", - "integrity": "sha512-7sRzJc392CQYNNrtdPEfOHJdRqsqf6nASCtbS5A9hL2UrdWQ4uN7r/D+Y1HpuizwY9eOkZvarcFfsYt5wE0Pug==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-8.14.4.tgz", + "integrity": "sha512-Uyfck64TfVU24wAP3BLGQ5EsAfzIZiLfN90NhttpEM7GlOBmbGrEJd4hNOwfpYsE/TT80eGWQVPRTLr5SDbXFA==", "dev": true, "license": "MIT", "peer": true, @@ -4332,9 +4777,9 @@ } }, "node_modules/@cspell/url": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/@cspell/url/-/url-8.14.2.tgz", - "integrity": "sha512-YmWW+B/2XQcCynLpiAQF77Bitm5Cynw3/BICZkbdveKjJkUzEmXB+U2qWuwXOyU8xUYuwkP63YM8McnI567rUA==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/@cspell/url/-/url-8.14.4.tgz", + "integrity": "sha512-htHhNF8WrM/NfaLSWuTYw0NqVgFRVHYSyHlRT3i/Yv5xvErld8Gw7C6ldm+0TLjoGlUe6X1VV72JSir7+yLp/Q==", "dev": true, "license": "MIT", "peer": true, @@ -4521,6 +4966,54 @@ "node": ">=10.0.0" } }, + "node_modules/@docsearch/css": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.2.tgz", + "integrity": "sha512-vKNZepO2j7MrYBTZIGXvlUOIR+v9KRf70FApRgovWrj3GTs1EITz/Xb0AOlm1xsQBp16clVZj1SY/qaOJbQtZw==", + "license": "MIT" + }, + "node_modules/@docsearch/js": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.2.tgz", + "integrity": "sha512-pS4YZF+VzUogYrkblCucQ0Oy2m8Wggk8Kk7lECmZM60hTbaydSIhJTTiCrmoxtBqV8wxORnOqcqqOfbmkkQEcA==", + "license": "MIT", + "dependencies": { + "@docsearch/react": "3.6.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.2.tgz", + "integrity": "sha512-rtZce46OOkVflCQH71IdbXSFK+S8iJZlUF56XBW5rIgx/eG5qoomC7Ag3anZson1bBac/JFQn7XOBfved/IMRA==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.2", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, "node_modules/@dual-bundle/import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", @@ -4576,11 +5069,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": ["ppc64"], + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["aix"], + "os": [ + "aix" + ], "engines": { "node": ">=12" } @@ -4589,11 +5086,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", - "cpu": ["arm"], + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["android"], + "os": [ + "android" + ], "engines": { "node": ">=12" } @@ -4602,11 +5103,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["android"], + "os": [ + "android" + ], "engines": { "node": ">=12" } @@ -4615,11 +5120,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["android"], + "os": [ + "android" + ], "engines": { "node": ">=12" } @@ -4628,11 +5137,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": ">=12" } @@ -4641,11 +5154,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": ">=12" } @@ -4654,11 +5171,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["freebsd"], + "os": [ + "freebsd" + ], "engines": { "node": ">=12" } @@ -4667,11 +5188,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["freebsd"], + "os": [ + "freebsd" + ], "engines": { "node": ">=12" } @@ -4680,11 +5205,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", - "cpu": ["arm"], + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4693,11 +5222,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4706,11 +5239,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", - "cpu": ["ia32"], + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4719,11 +5256,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", - "cpu": ["loong64"], + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4732,11 +5273,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", - "cpu": ["mips64el"], + "cpu": [ + "mips64el" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4745,11 +5290,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", - "cpu": ["ppc64"], + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4758,11 +5307,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", - "cpu": ["riscv64"], + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4771,11 +5324,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", - "cpu": ["s390x"], + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4784,11 +5341,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -4797,11 +5358,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["netbsd"], + "os": [ + "netbsd" + ], "engines": { "node": ">=12" } @@ -4810,11 +5375,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["openbsd"], + "os": [ + "openbsd" + ], "engines": { "node": ">=12" } @@ -4823,11 +5392,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["sunos"], + "os": [ + "sunos" + ], "engines": { "node": ">=12" } @@ -4836,11 +5409,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">=12" } @@ -4849,11 +5426,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", - "cpu": ["ia32"], + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">=12" } @@ -4862,11 +5443,15 @@ "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">=12" } @@ -4901,9 +5486,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "dev": true, "license": "MIT", "peer": true, @@ -5075,9 +5660,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "peer": true, @@ -5103,15 +5688,15 @@ "license": "MIT" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -6187,53 +6772,46 @@ "license": "MIT" }, "node_modules/@maskito/angular": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@maskito/angular/-/angular-3.0.1.tgz", - "integrity": "sha512-QAf6RxcwvLR4jWMpt1pMjMEN0B3FNQlKgddb6hYRWN8TaZ2dA29ZXrhOE+YDLjOjQqQ7/TjmH0CSQ9F06K4ucA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@maskito/angular/-/angular-3.0.3.tgz", + "integrity": "sha512-75WFS0vDK3wul4RmnJrI/q+WNQfrqFYYLgypj0voB1FAFonHwWvWR09tzKo15aWs8BERfwfl7oeSPkh5Lw1dEA==", "license": "Apache-2.0", "peer": true, "dependencies": { - "tslib": "2.6.3" + "tslib": "2.7.0" }, "peerDependencies": { "@angular/core": ">=16.0.0", "@angular/forms": ">=16.0.0", - "@maskito/core": "^3.0.1" + "@maskito/core": "^3.0.3" } }, - "node_modules/@maskito/angular/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "license": "0BSD", - "peer": true - }, "node_modules/@maskito/core": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@maskito/core/-/core-3.0.1.tgz", - "integrity": "sha512-etoVAuCb2fI3+34ppJCdOb5RTUM1aDRD4EZZffkpGSP67o1mdIY4fK3wRjzusVPAttzvCG3XccBiJ9W4abWWkQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@maskito/core/-/core-3.0.3.tgz", + "integrity": "sha512-bGd9+/j0yImCWDDMi/nJbGZIgWTQ4w/lTE3Y22NCmOBMST5cG4gZ4kNV6cfqpmJPQ3PWckMm8wOOmcdFgJWaHw==", "license": "Apache-2.0", "peer": true }, "node_modules/@maskito/kit": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@maskito/kit/-/kit-3.0.1.tgz", - "integrity": "sha512-je5XnVRRtM2YqvMX5T8S7eGsTObc/Owz0iO3QoYJJDzqCHcc307lFhTYfzfWw2GGZWS4e7amUtGTfHk+qWfiyw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@maskito/kit/-/kit-3.0.3.tgz", + "integrity": "sha512-tfaXOd84Rg7xcZqtWwtmbOKfehDF5Pk2vTL2qtYym3QouKbDaNB8HK8Jsaa5AhEJmFmTKvK9KF6WmhfZN2fL+A==", "license": "Apache-2.0", "peer": true, "peerDependencies": { - "@maskito/core": "^3.0.1" + "@maskito/core": "^3.0.3" } }, "node_modules/@maskito/phone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@maskito/phone/-/phone-3.0.1.tgz", - "integrity": "sha512-i4hNBOdFEJ4yrwjJnhtXAUzsgjS7z3HpSkQP9fuMADjD3wlDW+/XxdM7z1Q4+kziUTvqkKsMYcVCgmy4EOUxnA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@maskito/phone/-/phone-3.0.3.tgz", + "integrity": "sha512-RxYYE/h7XGRnaGPkCNuYuACj78pGf0GOqNP12U4HUycixOC6+sUK4YRFWjVMFCHKsGdbVP/0eaBKRBIZNG9ZDA==", "license": "Apache-2.0", "peer": true, "peerDependencies": { - "@maskito/core": "^3.0.1", - "@maskito/kit": "^3.0.1", + "@maskito/core": "^3.0.3", + "@maskito/kit": "^3.0.3", "libphonenumber-js": ">=1.0.0" } }, @@ -6245,12 +6823,12 @@ "license": "Apache-2.0" }, "node_modules/@module-federation/bridge-react-webpack-plugin": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.6.4.tgz", - "integrity": "sha512-HohSPu6jiLpXQQkpRA4riD0IbWeHIR48dW7dnFAbeqlVcpCd1SLP0gPi63658hRjcAa+S08rE1kIWNxyP+MzyQ==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-0.6.6.tgz", + "integrity": "sha512-NANaSOKem+1t/Fbd1GjXnStJRe7O33ya+FR/yYkTUd1H5hmlzVDNo/lYxYuUl3O/gH9Lnlr2Gf9unyWoIW0wHw==", "dev": true, "dependencies": { - "@module-federation/sdk": "0.6.4", + "@module-federation/sdk": "0.6.6", "@types/semver": "7.5.8", "semver": "7.6.3" } @@ -6268,16 +6846,32 @@ "node": ">=10" } }, + "node_modules/@module-federation/data-prefetch": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/data-prefetch/-/data-prefetch-0.6.6.tgz", + "integrity": "sha512-rakEHrg2pqbOqJ3uWT2p3kgTCOxBQdEIqmew3XBAXTZ0NblZtkXeMHupcW/W6+ccvbPdn/T/PSICx9HHSvfEVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.6.6", + "@module-federation/sdk": "0.6.6", + "fs-extra": "9.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/@module-federation/dts-plugin": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.6.4.tgz", - "integrity": "sha512-1YMbZBd1koX+9DhQv4FXHfGfol1IcPQGK6phVup1TzsALvTlyCAth37uf46663KTWF8CvIiIVI/gf1n373IfrA==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/dts-plugin/-/dts-plugin-0.6.6.tgz", + "integrity": "sha512-sNCghGgrpCOOVk2xpzgAGAFeo2ONcv6eAnEfe7Q2gD7R6NrGgOrB5KVhN/uWIzFJG8tqNfSSjam+woTyrrayfg==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/managers": "0.6.4", - "@module-federation/sdk": "0.6.4", - "@module-federation/third-party-dts-extractor": "0.6.4", + "@module-federation/managers": "0.6.6", + "@module-federation/sdk": "0.6.6", + "@module-federation/third-party-dts-extractor": "0.6.6", "adm-zip": "^0.5.10", "ansi-colors": "^4.1.3", "axios": "^1.7.4", @@ -6375,19 +6969,20 @@ } }, "node_modules/@module-federation/enhanced": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-0.6.4.tgz", - "integrity": "sha512-Ef9XqqFPzRfXMvwxHEFHGuRwZhHAk+cQ65+6pSE64FErIWkY4F3bshK3hN7Qqm6LqnS2JExzmgQjbQ15OqLtyA==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/enhanced/-/enhanced-0.6.6.tgz", + "integrity": "sha512-gGU1tjaksk5Q5X2zpVb/OmlwvKwVVjTXreuFwkK0Z+9QKM9jbu0B/tPSh6sqibPFeu1yM2HOFlOHJhvFs1PmsA==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.6.4", - "@module-federation/dts-plugin": "0.6.4", - "@module-federation/managers": "0.6.4", - "@module-federation/manifest": "0.6.4", - "@module-federation/rspack": "0.6.4", - "@module-federation/runtime-tools": "0.6.4", - "@module-federation/sdk": "0.6.4", + "@module-federation/bridge-react-webpack-plugin": "0.6.6", + "@module-federation/data-prefetch": "0.6.6", + "@module-federation/dts-plugin": "0.6.6", + "@module-federation/managers": "0.6.6", + "@module-federation/manifest": "0.6.6", + "@module-federation/rspack": "0.6.6", + "@module-federation/runtime-tools": "0.6.6", + "@module-federation/sdk": "0.6.6", "btoa": "^1.2.1", "upath": "2.0.1" }, @@ -6409,27 +7004,27 @@ } }, "node_modules/@module-federation/managers": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.6.4.tgz", - "integrity": "sha512-8Vqepi4RtGtOkKESE5nruSd8QqK/k0KN5k6t4lhDw6vPMhUMR3xbccvsubTBhsQhe0yS7HzHkXJ88wzrXJdCmw==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/managers/-/managers-0.6.6.tgz", + "integrity": "sha512-ryj2twbQmo2KhwKn1xYivpaW94l5wfplDU9FwVvW0wc8hC2lJnuGhoiZqXKL7lNaBrZXge3b43Zlgx5OnFfr6A==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.6.4", + "@module-federation/sdk": "0.6.6", "find-pkg": "2.0.0", "fs-extra": "9.1.0" } }, "node_modules/@module-federation/manifest": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-0.6.4.tgz", - "integrity": "sha512-YjiwA8Z4HhBAfDIhH62XWDjNRpkXxBmxATD7mkR53K8RAKyPifvjlzW1cxy7EKOAShPZ1jEeSO45k0gkxgrOVA==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/manifest/-/manifest-0.6.6.tgz", + "integrity": "sha512-45ol0fC8RS2d+0iEt5zdp0vctE2CiOfA2kCmOFz79K33occi8sKmyevfSeZGckZy54NiMnLFteIYBsyIa+g7gg==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/dts-plugin": "0.6.4", - "@module-federation/managers": "0.6.4", - "@module-federation/sdk": "0.6.4", + "@module-federation/dts-plugin": "0.6.6", + "@module-federation/managers": "0.6.6", + "@module-federation/sdk": "0.6.6", "chalk": "3.0.0", "find-pkg": "2.0.0" } @@ -6508,18 +7103,18 @@ } }, "node_modules/@module-federation/rspack": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/rspack/-/rspack-0.6.4.tgz", - "integrity": "sha512-K4o5s6IAKii+WtSe/kEasdrqp8F/150OTdvB86wNBbeiiBaQwWpg37DvkKKyE6xg6gHnbIg7JdhIymgFav4k5Q==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/rspack/-/rspack-0.6.6.tgz", + "integrity": "sha512-30X6QPrJ/eCcmUL4GQ06Z9bQwURBnJI0607Fw2ufmAbhDA0PJFtg7NFFfXzsdChms1ACVbgvgfBH8SJg8j3wBg==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/bridge-react-webpack-plugin": "0.6.4", - "@module-federation/dts-plugin": "0.6.4", - "@module-federation/managers": "0.6.4", - "@module-federation/manifest": "0.6.4", - "@module-federation/runtime-tools": "0.6.4", - "@module-federation/sdk": "0.6.4" + "@module-federation/bridge-react-webpack-plugin": "0.6.6", + "@module-federation/dts-plugin": "0.6.6", + "@module-federation/managers": "0.6.6", + "@module-federation/manifest": "0.6.6", + "@module-federation/runtime-tools": "0.6.6", + "@module-federation/sdk": "0.6.6" }, "peerDependencies": { "typescript": "^4.9.0 || ^5.0.0", @@ -6535,37 +7130,37 @@ } }, "node_modules/@module-federation/runtime": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.6.4.tgz", - "integrity": "sha512-3xuKJbafcJxuc9ZJuYU5drOQwa9fGXq8suQ50LjarxNvrISP2Yy9jvpPueOdDqmOHoX1q1PWzEhFwPp+zimm9w==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.6.6.tgz", + "integrity": "sha512-QsKHUV2HALRzL6mPCdJEZTDuPReKC8MMXf+/VMCtQPp6JhLEjZIO06bfEZqXMbTbTYlMzntIwu1tGCbtJRZDOQ==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/sdk": "0.6.4" + "@module-federation/sdk": "0.6.6" } }, "node_modules/@module-federation/runtime-tools": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.6.4.tgz", - "integrity": "sha512-bGHBBgdJoeIz00ORsk6t0vPKTXl+xeYxrCFMTD6hubv/zWTTaYC0cC+9VNaa4kog6dFnO1k5froPjg7EygvKwQ==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.6.6.tgz", + "integrity": "sha512-w2qHa41p6rADWMS1yBjpqNhaLZ4R5oRy9OYGPe6ywjh+8oqbiBl1CfQglcgEBIpHktEjV/upsgsnjHSdJBdeZw==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.6.4", - "@module-federation/webpack-bundler-runtime": "0.6.4" + "@module-federation/runtime": "0.6.6", + "@module-federation/webpack-bundler-runtime": "0.6.6" } }, "node_modules/@module-federation/sdk": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.6.4.tgz", - "integrity": "sha512-yvTWk6axkL6uYSIzTFVcyXMNAg8O9TCfsyfmXTtNnXWGdymUkATUz5+g8F4BSPR3feOP4IDg3v+92V3I6hHs8w==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.6.6.tgz", + "integrity": "sha512-tUv2kPi0FvplcpGi/g4nITAYVAR1RUZ6QvP71T8inmRZSrfcvk1QpGJiL36IjuS67SM3VAoXS0iJ2WX1Rgjvhg==", "dev": true, "license": "MIT" }, "node_modules/@module-federation/third-party-dts-extractor": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.6.4.tgz", - "integrity": "sha512-KepK+MEgyP7pOgRpTQxjA4SZm8U2hyHSn4SSltDzCM3KZaY93i2XtRYcg3Yy78DWeUPy/db+ORajV35Cb39nJg==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-0.6.6.tgz", + "integrity": "sha512-xX9p17PpElzATNEulwlJJT731xST7T7OUIDSkkIghp/ICDmZd6WhYJvNBto7xbpaj5SIB7Ocdj4chNGv0xdYPw==", "dev": true, "license": "MIT", "dependencies": { @@ -6593,14 +7188,319 @@ } }, "node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.6.4.tgz", - "integrity": "sha512-1D5uV5aF6RLvXj+swVFTXqH1tdrpIH1Tfs22YliguzwG2Nrrs+qhp6EfJZ8JUk264aOScAMvkama0WhbLbPPGQ==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.6.6.tgz", + "integrity": "sha512-0UnY9m1fBgHwTpacYWbht1jB5X4Iqspiu1q8kfjUrv6y+R224//ydUFYYO8xfWx4V9SGQFKlU8XFH0FP/r0Hng==", "dev": true, "license": "MIT", "dependencies": { - "@module-federation/runtime": "0.6.4", - "@module-federation/sdk": "0.6.4" + "@module-federation/runtime": "0.6.6", + "@module-federation/sdk": "0.6.6" + } + }, + "node_modules/@napi-rs/nice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz", + "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.0.1", + "@napi-rs/nice-android-arm64": "1.0.1", + "@napi-rs/nice-darwin-arm64": "1.0.1", + "@napi-rs/nice-darwin-x64": "1.0.1", + "@napi-rs/nice-freebsd-x64": "1.0.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", + "@napi-rs/nice-linux-arm64-gnu": "1.0.1", + "@napi-rs/nice-linux-arm64-musl": "1.0.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", + "@napi-rs/nice-linux-s390x-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-musl": "1.0.1", + "@napi-rs/nice-win32-arm64-msvc": "1.0.1", + "@napi-rs/nice-win32-ia32-msvc": "1.0.1", + "@napi-rs/nice-win32-x64-msvc": "1.0.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz", + "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz", + "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz", + "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz", + "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz", + "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz", + "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz", + "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz", + "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz", + "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz", + "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz", + "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz", + "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz", + "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz", + "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz", + "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, "node_modules/@napi-rs/wasm-runtime": { @@ -6616,9 +7516,9 @@ } }, "node_modules/@ng-web-apis/common": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@ng-web-apis/common/-/common-4.5.0.tgz", - "integrity": "sha512-gFfxxPjcnw0MLEohSgZnWRTIrxZhY3FfAS0SFAmU1sO1mWDDqvQudxexi1EOhWusmxlwO8+brTe7+q0Wq8j3ig==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@ng-web-apis/common/-/common-4.6.4.tgz", + "integrity": "sha512-GOsRjA2iXrezuj5RPUA4eEhR0zxEIICH4NzLHuXVc+jLZnQ3Uhqh9rYOYXhuImwq6DGdC40I68c1PPIfwuqCuw==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -6631,9 +7531,9 @@ } }, "node_modules/@ng-web-apis/intersection-observer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-4.5.0.tgz", - "integrity": "sha512-NPwAZPIWEXnBEKcwyHbD10VgmyElKLk50O7sDDilB67jO0nYEAvEgChyIwOfl4pth+qx8gVNZTFT3nv1XXzmTw==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-4.6.4.tgz", + "integrity": "sha512-PJ6Qao9+JM6kvmaQBi8pYDrlYwGZw8H03ilC3FteohT9dB0xuhUyrPdTXJ3fXwSNQbU5bqfh18emQVCmXp1o3w==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -6641,13 +7541,13 @@ }, "peerDependencies": { "@angular/core": ">=16.0.0", - "@ng-web-apis/common": ">=4.5.0" + "@ng-web-apis/common": ">=4.6.4" } }, "node_modules/@ng-web-apis/mutation-observer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@ng-web-apis/mutation-observer/-/mutation-observer-4.5.0.tgz", - "integrity": "sha512-cxMawlNkbrFbXG74T14wkl82KR2zJI7xTN2mfgXq2y0REn9ao+jnuefj8XOSvXLdWBlz0FBLPtOA2rLCR8khIw==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@ng-web-apis/mutation-observer/-/mutation-observer-4.6.4.tgz", + "integrity": "sha512-SomLhrVXSLM1RIMeTGLnmaVTW2Wwvw5+gYQ3czuIf4Z71gtPKlEvAYAAjw2mv8CZTpXjdaXo9zxMZGn/UaLSRg==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -6655,13 +7555,13 @@ }, "peerDependencies": { "@angular/core": ">=16.0.0", - "@ng-web-apis/common": ">=4.5.0" + "@ng-web-apis/common": ">=4.6.4" } }, "node_modules/@ng-web-apis/resize-observer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@ng-web-apis/resize-observer/-/resize-observer-4.5.0.tgz", - "integrity": "sha512-amZLDP7CUod4oTaUfczHmCf5sk7hA/5YowZTTDpjL+tKv4BOw76cH/yKX7A9wfXeZDcgY7y9bdDwPd/i4+c26A==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@ng-web-apis/resize-observer/-/resize-observer-4.6.4.tgz", + "integrity": "sha512-YEhHD1JhoDWv3m/c1KpH1QEWYXBCbnDioDGVta2AN6xuc0FbcNlmswIqzkQNhqBnB4wnK1cvuIpDJXMN373JRA==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -6669,28 +7569,28 @@ }, "peerDependencies": { "@angular/core": ">=16.0.0", - "@ng-web-apis/common": ">=4.5.0" + "@ng-web-apis/common": ">=4.6.4" } }, "node_modules/@ng-web-apis/universal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@ng-web-apis/universal/-/universal-4.5.0.tgz", - "integrity": "sha512-hpXcbm/tCygZyJdVMR/Tho+pRRLbryQj24XdnPIKVHJ7Nadk61/TZRs2mgy/Ud779c6pPX4Psw5qwbPm2oueig==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@ng-web-apis/universal/-/universal-4.6.4.tgz", + "integrity": "sha512-O5Rjt8Ili6+Pkk451zDMf6GDX47COuWGdXKUEc4jK0tfzJjxabAfkppfqVBcC4VtTgY0JpxWY2B+pxk4RUuqUQ==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/core": ">=16.0.0", - "@ng-web-apis/common": ">=4.5.0", - "@types/node": ">=22.5.4", + "@ng-web-apis/common": ">=4.6.4", + "@types/node": ">=22.7.0", "rxjs": ">=7.0.0" } }, "node_modules/@ngtools/webpack": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.15.tgz", - "integrity": "sha512-rD4IHt3nS6PdIKvmoqwIadMIGKsemBSz412kD8Deetl0TiCVhD/Tn1M00dxXzMSHSFCQcOKxdZAeD53yRwTOOA==", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.16.tgz", + "integrity": "sha512-4gm2allK0Pjy/Lxb9IGRnhEZNEOJSOTWwy09VOdHouV2ODRK7Tto2LgteaFJUUSLkuvWRsI7pfuA6yrz8KDfHw==", "dev": true, "license": "MIT", "engines": { @@ -7026,64 +7926,64 @@ } }, "node_modules/@nrwl/angular": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/angular/-/angular-19.7.3.tgz", - "integrity": "sha512-LNpXs26VASw+lhTJCQYmamKSPqf2/iAXIih6Q4BzlMndTfQMBbe3GgKotS8g75N1RARn43D8QyXxJnW29Us8HQ==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/angular/-/angular-19.8.2.tgz", + "integrity": "sha512-T71xMbEN59IjW/NTADgcdtijyN42XZhbfuCluTNnccJ9ycSEme1ee2fHobFWIPPHDf9lR4hsD9j8VcnWKitGcQ==", "dev": true, "license": "MIT", "dependencies": { - "@nx/angular": "19.7.3", + "@nx/angular": "19.8.2", "tslib": "^2.3.0" } }, "node_modules/@nrwl/cypress": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-19.7.3.tgz", - "integrity": "sha512-bKolQNb8Y1haqqozab7GIwFrU3fW9Gsk7zYpwdJwZS9Y7JD500fFjWbzY0xamPjSBQEKflIqS61UbF3MK90SNg==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-19.8.2.tgz", + "integrity": "sha512-RU4hlF3Of4djAUSHGNoF9xulBiZs8TJb7z3QxRJJeRiBqqbRZSpzP9qqOgkzuZDIeG0DH6Bu6K+5b5xVjA8EMA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/cypress": "19.7.3" + "@nx/cypress": "19.8.2" } }, "node_modules/@nrwl/devkit": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.7.3.tgz", - "integrity": "sha512-g9vANTuxgHan6uAkI6M6tkfLjHECLmbZ4A80UqpxJNQJsCJFEHkzIC9oxhf8bWV3PjgCH6Xm4VyQ2GHwb3sgWw==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.8.2.tgz", + "integrity": "sha512-2l3Jb7loE8BnTKn6bl4MK0fKIQLAkl+OMBwo/+GedaqfDfQev+UEgBio38eOEdDHYDHH0lwhGdVQI/DpV4qicA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "19.7.3" + "@nx/devkit": "19.8.2" } }, "node_modules/@nrwl/jest": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.7.3.tgz", - "integrity": "sha512-knsOchwmN/0j9M7meMFMno1F//qK97YWNIEnN8qlkqQC7JX+VAH8/JSk/in87MCW//vi67twUB3XOiI9dKzOlA==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-19.8.2.tgz", + "integrity": "sha512-93+v7v5howgBQL0IVqy5s/jaSNSU+/u3ii6OruiLdEUDUrTWvGUpZmVCwTun6PBuVdsBVgP8sazWNwE8uSlhlg==", "dev": true, "license": "MIT", "dependencies": { - "@nx/jest": "19.7.3" + "@nx/jest": "19.8.2" } }, "node_modules/@nrwl/js": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.7.3.tgz", - "integrity": "sha512-bbztlMkmARTRnTz79W5Mp4M1w4o1QdzWWnXEJLkGdeyOzUqSlHESC0vWDplcdFBjnWZ9A/P4L53GtKNn/VdHnQ==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-19.8.2.tgz", + "integrity": "sha512-S6O7tbb7X75Jov/Hz0LtiywxLqm6YhATeO7CEB6TRHxuJjWvV+y5tCiO2n8iZFrZLu6d9cBJdPCfHaguptXUHg==", "dev": true, "license": "MIT", "dependencies": { - "@nx/js": "19.7.3" + "@nx/js": "19.8.2" } }, "node_modules/@nrwl/tao": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.7.3.tgz", - "integrity": "sha512-cIGhnSFPZdVTp4bI0fqwFoE9i7ToPg5jXz+hNMl/MTwcOQfKQ1JJY/ZPLM3aBUPORFIZ/GECQEycUb6+xCB56g==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.8.2.tgz", + "integrity": "sha512-WvGvFjCy/dSpviLJE8YKcSqpTVpX78UFUhYGgd0OxNlnz0I52HDsZekVWJnyCuU0NDGH6BNmS77R79zj+WzxvQ==", "dev": true, "license": "MIT", "dependencies": { - "nx": "19.7.3", + "nx": "19.8.2", "tslib": "^2.3.0" }, "bin": { @@ -7091,52 +7991,52 @@ } }, "node_modules/@nrwl/web": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.7.3.tgz", - "integrity": "sha512-CNFlbtpr3OAca/ArWhbzENqVwT5oAgyNsyMZWKzvq9bmO8xi6LhxDrtW5tuTPiyl9GNDlMY3YwqRemR8XrdejQ==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-19.8.2.tgz", + "integrity": "sha512-mjDV8dHS0FmOo0UvCuaN/+ZpplH7QaGm0eNzlS7MY4Tezu5slTX7gF4ZWsYNslRcztYwwNS/IrZV16+3TzlEhw==", "dev": true, "license": "MIT", "dependencies": { - "@nx/web": "19.7.3" + "@nx/web": "19.8.2" } }, "node_modules/@nrwl/webpack": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-19.7.3.tgz", - "integrity": "sha512-QOp96oo79f7yJg5QSfOzmBugeoWsZ1UVAqOWB99MWAPVVJGn+L9rdVNpjzfgKAblOPyPM9356IUvIATUC4TyKw==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-19.8.2.tgz", + "integrity": "sha512-lwA/Sl7igRZivySfkxAK+fnZWNh5Jahv0fjl0ebMGnYl2fc5KoXM5SuOSgSKt8Cm3ktbBsrwz6azyNN4d3xPzA==", "dev": true, "license": "MIT", "dependencies": { - "@nx/webpack": "19.7.3" + "@nx/webpack": "19.8.2" } }, "node_modules/@nrwl/workspace": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.7.3.tgz", - "integrity": "sha512-2ffUbLzBYGQte6zQ6dDLefgU9X812Uh7v61yTV7z4zfYbUtjwInkWqlkTvRuK08DRhD5vWo9xyUDp7acAdZaxw==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-19.8.2.tgz", + "integrity": "sha512-4yc1sDoQbEIgVBp6nd+ThozQayFznJFHzQ9s26Hw1BB4t+Juu/daHEh30mkFI3eFJqd0GAnBPqSOKQNGhDGobg==", "dev": true, "license": "MIT", "dependencies": { - "@nx/workspace": "19.7.3" + "@nx/workspace": "19.8.2" } }, "node_modules/@nx/angular": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-19.7.3.tgz", - "integrity": "sha512-XNHay2eXrXpQBvRxvGRT5K5mwbpWbCyXa3WNMNOYtzhqlzH9nL9/SkOnRhUsBug2uqi8vf1+xu8VryxqDaxFyw==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-19.8.2.tgz", + "integrity": "sha512-lOdR+5cfbErtg0btkaInsCcpjYDppLkJUNx6SHGFWHq+OwfEbivIQElA+hcbuMzT/IWZwPxAg5pdN7yvtv0gog==", "dev": true, "license": "MIT", "dependencies": { "@module-federation/enhanced": "~0.6.0", - "@nrwl/angular": "19.7.3", - "@nx/devkit": "19.7.3", - "@nx/eslint": "19.7.3", - "@nx/js": "19.7.3", - "@nx/web": "19.7.3", - "@nx/webpack": "19.7.3", - "@nx/workspace": "19.7.3", + "@nrwl/angular": "19.8.2", + "@nx/devkit": "19.8.2", + "@nx/eslint": "19.8.2", + "@nx/js": "19.8.2", + "@nx/web": "19.8.2", + "@nx/webpack": "19.8.2", + "@nx/workspace": "19.8.2", "@phenomnomnominal/tsquery": "~5.0.1", - "@typescript-eslint/type-utils": "^7.16.0", + "@typescript-eslint/type-utils": "^8.0.0", "chalk": "^4.1.0", "find-cache-dir": "^3.3.2", "magic-string": "~0.30.2", @@ -7229,13 +8129,13 @@ } }, "node_modules/@nx/angular/node_modules/piscina": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", - "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.7.0.tgz", + "integrity": "sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==", "dev": true, "license": "MIT", "optionalDependencies": { - "nice-napi": "^1.0.2" + "@napi-rs/nice": "^1.0.1" } }, "node_modules/@nx/angular/node_modules/supports-color": { @@ -7252,16 +8152,16 @@ } }, "node_modules/@nx/cypress": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-19.7.3.tgz", - "integrity": "sha512-X7RO381msbR/8jVCRhzyNfvQhaOHFVliL14+SBEqLLfT8OUqZ03hRbqbmZaLt9CV9wKIEystra9zp+qTDkobuw==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-19.8.2.tgz", + "integrity": "sha512-kqrXfsWQzdCQxmyuuqzmOq9sC9Wo+cUwwguVSm8LkHhjYaAgvfkCk8n0avqkRrzbQ5Wu0yxKurwk5i4ddaKezg==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/cypress": "19.7.3", - "@nx/devkit": "19.7.3", - "@nx/eslint": "19.7.3", - "@nx/js": "19.7.3", + "@nrwl/cypress": "19.8.2", + "@nx/devkit": "19.8.2", + "@nx/eslint": "19.8.2", + "@nx/js": "19.8.2", "@phenomnomnominal/tsquery": "~5.0.1", "detect-port": "^1.5.1", "tslib": "^2.3.0" @@ -7276,13 +8176,13 @@ } }, "node_modules/@nx/devkit": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.7.3.tgz", - "integrity": "sha512-dIavuzfcMLCTa5uhd4R7HsxcFO0w9fHwG4wDg76wyBAbPGJlrR+9zg359hZ/SkXdguO6bMVmmQg/EXIvo6g69A==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.8.2.tgz", + "integrity": "sha512-SoCPy24hkzyrANbZhc3/40uWXnOIISC0jk49BcapC9Zykv9/8lCxiaNtB68b00QKEFISkxOeA703D7GCC4sA0Q==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/devkit": "19.7.3", + "@nrwl/devkit": "19.8.2", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -7297,15 +8197,15 @@ } }, "node_modules/@nx/eslint": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.7.3.tgz", - "integrity": "sha512-EVkdZ/pRIyAETWVmkZkNes/VXAtD7epeRUTV+dRgkSJWHmeIpJZ/fv0o2vJygzLvyCiFcyWkdzXIfQpDyXfbDw==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-19.8.2.tgz", + "integrity": "sha512-wXgu4b26dYzMXs6MBdxpS5syYz19Ll71CgT7bytj2wqtyvz5mDwMZ8WBe69BNHs9XVa+of4iVU7tmuj4XvZ9lQ==", "dev": true, "license": "MIT", "dependencies": { - "@nx/devkit": "19.7.3", - "@nx/js": "19.7.3", - "@nx/linter": "19.7.3", + "@nx/devkit": "19.8.2", + "@nx/js": "19.8.2", + "@nx/linter": "19.8.2", "semver": "^7.5.3", "tslib": "^2.3.0", "typescript": "~5.4.2" @@ -7335,17 +8235,17 @@ } }, "node_modules/@nx/jest": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.7.3.tgz", - "integrity": "sha512-XAqKhF4cxzIH4/mPPV4oQftQ7whnvUF2pkJiLGZqyQM7TvWjjR8mWWuwnnyfBK/6S5heqDnI0n6tCiiJuoZQ4g==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-19.8.2.tgz", + "integrity": "sha512-vrRT9nQNdXerM+kfw015Nrn7Of+IOb4w2Nx9teTs/NAJeCC++998Poprq7ob1QL6oq5O48IoNBLWEis+R0/ldA==", "dev": true, "license": "MIT", "dependencies": { "@jest/reporters": "^29.4.1", "@jest/test-result": "^29.4.1", - "@nrwl/jest": "19.7.3", - "@nx/devkit": "19.7.3", - "@nx/js": "19.7.3", + "@nrwl/jest": "19.8.2", + "@nx/devkit": "19.8.2", + "@nx/js": "19.8.2", "@phenomnomnominal/tsquery": "~5.0.1", "chalk": "^4.1.0", "identity-obj-proxy": "3.0.0", @@ -7436,9 +8336,9 @@ } }, "node_modules/@nx/js": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.7.3.tgz", - "integrity": "sha512-M5yxRnwPuEFRqH+Gutou2EZyX1x5VZPCznpmktBvee/sjhtd/zwR0z/b48TOpLXShtcVmcOy4lUHu1B46CnPnA==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-19.8.2.tgz", + "integrity": "sha512-Ymoful766lTPTj+bUP2+8wcKq9RmTf7cXWxbx2fQGqsdicd06NnzX0SXFUYcIU35SbaVrmeWe0rTYN7iAj2h+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -7449,17 +8349,17 @@ "@babel/preset-env": "^7.23.2", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nrwl/js": "19.7.3", - "@nx/devkit": "19.7.3", - "@nx/workspace": "19.7.3", + "@nrwl/js": "19.8.2", + "@nx/devkit": "19.8.2", + "@nx/workspace": "19.8.2", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", "babel-plugin-transform-typescript-metadata": "^0.3.1", "chalk": "^4.1.0", "columnify": "^1.6.0", "detect-port": "^1.5.1", + "enquirer": "~2.3.6", "fast-glob": "3.2.7", - "fs-extra": "^11.1.0", "ignore": "^5.0.4", "js-tokens": "^4.0.0", "jsonc-parser": "3.2.0", @@ -7751,21 +8651,6 @@ "node": ">=8" } }, - "node_modules/@nx/js/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/@nx/js/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7914,250 +8799,214 @@ } }, "node_modules/@nx/linter": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.7.3.tgz", - "integrity": "sha512-+NL+Cp2ZfLZZY+IKI8RC9fgvExk6YEF5U0uJAT9YtUsP7Q8g6ZeFMkWgL61YWtmAh7SvsLBbKzcWfdSMTfaZBg==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-19.8.2.tgz", + "integrity": "sha512-5DIx/TmUaxZTuVyeDWJ/Vxj+44IQz6maghUKikOKqete6KCM0rWtRJUHCA8DAeE5kSXss7IZnJXv+KAK4uj25A==", "dev": true, "license": "MIT", "dependencies": { - "@nx/eslint": "19.7.3" + "@nx/eslint": "19.8.2" } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.7.3.tgz", - "integrity": "sha512-0dDK0UkMR0vBv4AP/48Q9A+OC2dvpivdt8su/4W/CPADy69M9B5O3jPiK+jTRsLshQG/soC9JG0Rll1BNWymPg==", - "cpu": ["arm64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.8.2.tgz", + "integrity": "sha512-O06sOObpaF3UQrx6R5s0kFOrhrk/N20rKhOMaD5Qxw6lmVr6TGGH1epGpD8ES7ZPS+p7FUtU9/FPHwY02BZfBg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-darwin-x64": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.7.3.tgz", - "integrity": "sha512-hTdv5YY2GQTdT7GwVO7ST27ZzvCmAQvmkEapfnCdy74QsL4gapaXJFvtWLHVfG6qHNRHWXbpdegvR3VswRHZVQ==", - "cpu": ["x64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.8.2.tgz", + "integrity": "sha512-hRFA7xpnIeMUF5FiDh681fxSx/EzkFYZ+UE/XBfzbc+T1neRy7NB2vMEa/WMsN0+Y5+NXtibx1akEDD6VOqeJA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.7.3.tgz", - "integrity": "sha512-dwuB/3eoV2RbD0b0LHnagQOXa9PKAjLi7g5vNxzw6LuNT1tdaLaUZZGv2tfG0hHjsV0cOaAX41rEyOIwJyE7zg==", - "cpu": ["x64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.8.2.tgz", + "integrity": "sha512-GwZUtUQJt2LrZFB9r29ZYQ9I2r76pg+Lwj7vgrFAq+UHcLejHYyLvhDPoRfKWdASdegI3M5jbh8Cvamd+sgbNA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["freebsd"], + "os": [ + "freebsd" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.7.3.tgz", - "integrity": "sha512-X/eG3IqvIxlCfIOiCQKv7RKwra54I+SN9zj2TeSOtd/uK0paa3mYSlGUJqoP3wpzasW1+EPIGkTQqV283IA15w==", - "cpu": ["arm"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.8.2.tgz", + "integrity": "sha512-+OtoU5tXOLRv0ufy8ifD6EHn+VOjnC8mFIaaBO/cb/YEW1MTZq1RqKd4e1O9sjAloTe4X3mydw/Ue333+FqIww==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.7.3.tgz", - "integrity": "sha512-LNaX8DVcPlFVJhMf1AAAR6j1DZF9BlVhWlilRM44tIfnmvPfKIahKJIJbuikHE7q+lkvMrQUUDXKiQJlmm/qDw==", - "cpu": ["arm64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.8.2.tgz", + "integrity": "sha512-rH7WSvoh1nvYmQs3cd4nBDPilEYIGTUOZF2eXPBqSu1K6938tu1Uf1zXzqRK7o016GoVepiD0VRVYWD3R82nRQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.7.3.tgz", - "integrity": "sha512-TJ9PqSebhrn8NfrW+wqMXB9N65U0L0Kjt8FfahWffNKtSAEUvhurbNhqna2Rt5WJe2qaVf6zN2pOHKhF/5pL0w==", - "cpu": ["arm64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.8.2.tgz", + "integrity": "sha512-a7vuWDOcqHL0S0gQYYz8DDRmNFs4NOd7A+BTgBRPX54r0pS82tKF2ZsP48TAr9WHyjsTPis5LlFw8VhLrjzdLA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.7.3.tgz", - "integrity": "sha512-YMb4WGGovwgxsP6VvAEnyWvLoUwsDrdE5CxFQ2yoThD2BixmSHUKLtx6dtPDHz25nOE3v1ZzM0xTwYXBhPaeRQ==", - "cpu": ["x64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.8.2.tgz", + "integrity": "sha512-3h4dmIi5Muym18dsiiXQBygPlSAHZNe3PaYo8mLsUsvuAt2ye0XUDcAlHWXOt/FeuVDG1NEGI05vZJvbIIGikQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.7.3.tgz", - "integrity": "sha512-zkjgDSvw2eDN+KuJBPPAPhU/lOdiMvJU0UMthJFw85dhQIYfAO8+UgiFg/qBsKo0kQ0MkhntnIPBPF8bH40qWg==", - "cpu": ["x64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.8.2.tgz", + "integrity": "sha512-LbOC3rbnREh7DbFYdZDuAEDmJsdQDLEjUzacwXDHMb/XlTL3YpWoXohd+zSVHM4nvd8o7QFuZNC4a4zYXwA+wg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.7.3.tgz", - "integrity": "sha512-qCTFG6VxNvEe5JfoAELGZsjWDL4G+2NVSoSS3tByJYwVX256qgALcVoUHMjpxBn9FeOvUW9w5PL4Am4PKDdXLw==", - "cpu": ["arm64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.8.2.tgz", + "integrity": "sha512-ZkSZBxGrGXDqwRxC4WyHR3sAUIH6akk1rTDvqTr1nKPribs53cqEms20i7qF1at3o99xL3YairOcnt7JxNWDWA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.7.3.tgz", - "integrity": "sha512-ULNf73gLgB5cU/O4dlQe6tetbRIROTmaUNYTUUCCAC0BqVwZwPDxn4u9C5LgiErVyfPwwAhlserCGei5taLASQ==", - "cpu": ["x64"], + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.8.2.tgz", + "integrity": "sha512-rRt+XIZk+ctxhFORWvugqmS07xi52eRS4QpTq8b24ZJKk1Zw0L5opsXAdzughhBzfIpSx4rxnknFlI78DcRPxA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">= 10" } }, "node_modules/@nx/web": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.7.3.tgz", - "integrity": "sha512-ODdwgNnE7/R3ytcgC8HagUellfrxLP1uo4y4mIdPH52fiPIWyU51VwKKq2ZPWchIX/cU+zs9SnZfyHWwgwKpKg==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-19.8.2.tgz", + "integrity": "sha512-gD1dmbED8ykPKPc0IEJUmRfeetu+ZGgj4EIGWM+VcVPqcSalZ6ff2hAJPw0FDuX3et2tdQtYMB+eNqLo/3Xx2Q==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/web": "19.7.3", - "@nx/devkit": "19.7.3", - "@nx/js": "19.7.3", - "chalk": "^4.1.0", + "@nrwl/web": "19.8.2", + "@nx/devkit": "19.8.2", + "@nx/js": "19.8.2", "detect-port": "^1.5.1", "http-server": "^14.1.0", + "picocolors": "^1.1.0", "tslib": "^2.3.0" } }, - "node_modules/@nx/web/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/@nx/web/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/@nx/web/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@nx/web/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@nx/web/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/web/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@nx/webpack": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-19.7.3.tgz", - "integrity": "sha512-YNe/Xz8u0vuK/vgRpr6Ij6gg4/Z8634WlVLdit9+cd5weIo+/J/139EAAKPuqtAfv2S0Pl0vKrhLVcgEKN5ouw==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-19.8.2.tgz", + "integrity": "sha512-qWQZxbWJETFwY3PEIeCBhxxXhAjRloB7RwEo19aWyDbo33AlOWbIVP6eyx/fTIhaKZtUclLnYQkCQmotMKsrrw==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.23.2", "@module-federation/enhanced": "^0.6.0", "@module-federation/sdk": "^0.6.0", - "@nrwl/webpack": "19.7.3", - "@nx/devkit": "19.7.3", - "@nx/js": "19.7.3", + "@nrwl/webpack": "19.8.2", + "@nx/devkit": "19.8.2", + "@nx/js": "19.8.2", "@phenomnomnominal/tsquery": "~5.0.1", "ajv": "^8.12.0", "autoprefixer": "^10.4.9", @@ -8489,9 +9338,9 @@ } }, "node_modules/@nx/webpack/node_modules/memfs": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz", - "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.12.0.tgz", + "integrity": "sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8847,17 +9696,17 @@ } }, "node_modules/@nx/workspace": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.7.3.tgz", - "integrity": "sha512-FUHeOLCXdHEB1b6FiNU9swCZIKXbsGWRDfgHpHGeiZHp7uhH41W/EKTVukRxnQ+HXhE7zfxhn8KkllfaXIifPg==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-19.8.2.tgz", + "integrity": "sha512-oJ8f4ZdwXspoGVzpeHNr5SMdAlEe4h72BE75ztNtNdYIl0GsmjH03g7KeBoDI97DwdKuQLoVZ5nWE/MyABLwOg==", "dev": true, "license": "MIT", "dependencies": { - "@nrwl/workspace": "19.7.3", - "@nx/devkit": "19.7.3", + "@nrwl/workspace": "19.8.2", + "@nx/devkit": "19.8.2", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "19.7.3", + "nx": "19.8.2", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -8977,13 +9826,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.47.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.47.1.tgz", - "integrity": "sha512-dbWpcNQZ5nj16m+A5UNScYx7HX5trIy7g4phrcitn+Nk83S32EBX/CLU4hiF4RGKX/yRc93AAqtfaXB7JWBd4Q==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.47.2.tgz", + "integrity": "sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.47.1" + "playwright": "1.47.2" }, "bin": { "playwright": "cli.js" @@ -9028,16 +9877,15 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", - "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.0.tgz", + "integrity": "sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==", "dev": true, "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", "is-module": "^1.0.0", "resolve": "^1.22.1" }, @@ -9054,9 +9902,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", - "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", + "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", "dev": true, "license": "MIT", "dependencies": { @@ -9085,14 +9933,14 @@ "peer": true }, "node_modules/@schematics/angular": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.15.tgz", - "integrity": "sha512-T7wEGYxidpLAkis+hO5nsVfnWsy6sXf1T9GS8uztC8IYYsnqB9jTVfjVyfhASugZasdmx7+jWv3oCGy6Z5ZehA==", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.16.tgz", + "integrity": "sha512-V4cE4R5MbusKaNW9DWsisiSRUoQzbAaBIeJh42yCkg5H/lUdf18hUB7DG6Pl7yH6/tjzzz4SqIVD7N64uCDC2A==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.2.15", - "@angular-devkit/schematics": "16.2.15", + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", "jsonc-parser": "3.2.0" }, "engines": { @@ -9514,9 +10362,9 @@ "link": true }, "node_modules/@taiga-ui/browserslist-config": { - "version": "0.174.3", - "resolved": "https://registry.npmjs.org/@taiga-ui/browserslist-config/-/browserslist-config-0.174.3.tgz", - "integrity": "sha512-6eNMgN0R/7yHVM3uWsztMfsYJGGTlr0eA6PAO9ck42kowlrjEwZeQk+UWNHuoyuVW3K7v+A7a348ISCXwN1vNg==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/browserslist-config/-/browserslist-config-0.219.0.tgz", + "integrity": "sha512-OFfISnsYHVNJdr0+i0G+eslvahrpZgLZjpLhOQZbPQrY/M/h9XbXe6h/jQ3yZJX81SnLwDo9989kU1hexduDOA==", "dev": true, "license": "Apache-2.0" }, @@ -9525,9 +10373,9 @@ "link": true }, "node_modules/@taiga-ui/commitlint-config": { - "version": "0.174.3", - "resolved": "https://registry.npmjs.org/@taiga-ui/commitlint-config/-/commitlint-config-0.174.3.tgz", - "integrity": "sha512-ruRctYCiwa8L1HD9E4VUKoz8vqP5OQ+2Z7+RgKRKJoqDCgc21SEG8cic2enOlOGWo6dtmB8bau7wTjbTlNmyTw==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/commitlint-config/-/commitlint-config-0.219.0.tgz", + "integrity": "sha512-ChfL/UyszrIDuUlf+irkb+y8aAbvGqCgedbeSh0Hns44IJ3lxvFj14OY6xh2KzQvky03FjnHO6nI+52F3ZZa+g==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -9540,9 +10388,9 @@ "link": true }, "node_modules/@taiga-ui/cspell-config": { - "version": "0.174.3", - "resolved": "https://registry.npmjs.org/@taiga-ui/cspell-config/-/cspell-config-0.174.3.tgz", - "integrity": "sha512-U7EIGth0d/gZrfUfc7zKAFI79ewrEy0+AwbV8pooF3j17FIzfbVBYPX38kSmaMu0f9QrnUwytmNvtodcKBwF8w==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/cspell-config/-/cspell-config-0.219.0.tgz", + "integrity": "sha512-uY7fgNV71tVT+ZNFsZKe9OzO/hyh5yZKF5jX2rhK+e/KQ3ovHPBuSVM6bUebVkJJTS9j3jjDDTftItBvrgDoHQ==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -9550,7 +10398,7 @@ "@cspell/dict-lorem-ipsum": "^4.0.0", "@cspell/dict-ru_ru": "^2.2.1", "@cspell/dict-scientific-terms-us": "^3.0.1", - "cspell": "^8.14.2" + "cspell": "^8.14.4" } }, "node_modules/@taiga-ui/demo": { @@ -9566,9 +10414,9 @@ "link": true }, "node_modules/@taiga-ui/design-tokens": { - "version": "0.134.0", - "resolved": "https://registry.npmjs.org/@taiga-ui/design-tokens/-/design-tokens-0.134.0.tgz", - "integrity": "sha512-3/u/wXnWtPKZD5ReAGx2k4eLeixjzwngs9ng7WqX/VcVD6GgMRIln437s5H1falxjUVrdFyLF1v8Q3tyMwvs8g==", + "version": "0.139.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/design-tokens/-/design-tokens-0.139.0.tgz", + "integrity": "sha512-qcYPl8R26627pzdAPr9gIeuoR8r+faXTH/OrkKbT5BL2b/aGqW60aJl3GFtdAWK1MNih7Fl4UZHIsMojubBo3g==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -9591,9 +10439,9 @@ } }, "node_modules/@taiga-ui/eslint-plugin-experience": { - "version": "0.174.3", - "resolved": "https://registry.npmjs.org/@taiga-ui/eslint-plugin-experience/-/eslint-plugin-experience-0.174.3.tgz", - "integrity": "sha512-vuBmdsLrZpsxJlkbJgWP2yrd8MhmgxMJKcuO4Wo1/T68/W0EOBuUY/PtQjaNL+ZRi0luYRiteWERb4Kh0JEkEQ==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/eslint-plugin-experience/-/eslint-plugin-experience-0.219.0.tgz", + "integrity": "sha512-fLSGvRUIRiDzuZW6ahXnSU1lcMHTCbMG04Ii8oerDQzommn9Nga4V+wba8PziFhXM8AklfDxGjkdZdsxTPGtcw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -9609,12 +10457,12 @@ "@stylistic/eslint-plugin-js": "^2.8.0", "@stylistic/eslint-plugin-plus": "^2.8.0", "@stylistic/eslint-plugin-ts": "^2.8.0", - "@typescript-eslint/eslint-plugin": "^8.5.0", - "@typescript-eslint/parser": "^8.5.0", - "@typescript-eslint/types": "^8.5.0", - "@typescript-eslint/typescript-estree": "^8.5.0", - "@typescript-eslint/utils": "^8.5.0", - "eslint": "^8.57.0", + "@typescript-eslint/eslint-plugin": "^8.7.0", + "@typescript-eslint/parser": "^8.7.0", + "@typescript-eslint/types": "^8.7.0", + "@typescript-eslint/typescript-estree": "^8.7.0", + "@typescript-eslint/utils": "^8.7.0", + "eslint": "^8.57.1", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -9626,7 +10474,7 @@ "eslint-plugin-import": "^2.30.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-node-import": "^1.0.4", - "eslint-plugin-perfectionist": "^3.6.0", + "eslint-plugin-perfectionist": "^3.7.0", "eslint-plugin-playwright": "^1.6.2", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-promise": "^7.1.0", @@ -9663,9 +10511,9 @@ } }, "node_modules/@taiga-ui/eslint-plugin-experience/node_modules/jackspeak": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", - "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", + "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -9676,9 +10524,6 @@ }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/@taiga-ui/eslint-plugin-experience/node_modules/lru-cache": { @@ -9725,17 +10570,17 @@ } }, "node_modules/@taiga-ui/event-plugins": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@taiga-ui/event-plugins/-/event-plugins-4.2.0.tgz", - "integrity": "sha512-FjCwccxHcGlUDcvXmAv+3pgS9Wa3nn6a3b0j5othHq/YGW+BhFJaI0QXlpP9EsOVj32aXnELAv1sKLxT2fUFPg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@taiga-ui/event-plugins/-/event-plugins-4.2.3.tgz", + "integrity": "sha512-n8JoP8KZqGD6nm8jQWtao/HqiuMSr099LHHNhGxONmosTK40RtAna6tKkPPNw63MVcbQuf8fFIo4beVclY6KaA==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/core": ">=15.0.0", - "@angular/platform-browser": ">=15.0.0", - "rxjs": ">=6.0.0" + "@angular/core": ">=16.0.0", + "@angular/platform-browser": ">=16.0.0", + "rxjs": ">=7.0.0" } }, "node_modules/@taiga-ui/experimental": { @@ -9771,9 +10616,9 @@ "link": true }, "node_modules/@taiga-ui/polymorpheus": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/@taiga-ui/polymorpheus/-/polymorpheus-4.7.1.tgz", - "integrity": "sha512-RyHJV7IxrMhbDAYUCY+XBD7hmh+UtKvyGuQz+JAOmA3RUbh63DqJVDfm7EBGDq8WPb+N4toUIF0hgeWWdCZCJQ==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/@taiga-ui/polymorpheus/-/polymorpheus-4.7.3.tgz", + "integrity": "sha512-vVMc2jtxTr7ETt+Kr5oP/Rd2SqMxemfP4b0JhTJV23BxuNL8sCcISZOFTbavPDueVi0b/7QV+U76yaG3sDKCtQ==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -9785,9 +10630,9 @@ } }, "node_modules/@taiga-ui/prettier-config": { - "version": "0.174.3", - "resolved": "https://registry.npmjs.org/@taiga-ui/prettier-config/-/prettier-config-0.174.3.tgz", - "integrity": "sha512-CzdY8l2+8B5ID5UEy7kuXMNW/P6kCczeLNUqNyZO0LwdQhyqwu8HVUX3zfVMtr6s8u/4/Dh2N5YcxOLDFWDUbA==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/prettier-config/-/prettier-config-0.219.0.tgz", + "integrity": "sha512-BQVW7q/Bj7IVJrj4R12AB/wO8UbLuag1V243EgXBGr7msmlRkajHyVAKx6rMxnfxWKGcCZ/1b25jv4qJx5G3zw==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -9800,9 +10645,9 @@ } }, "node_modules/@taiga-ui/stylelint-config": { - "version": "0.174.3", - "resolved": "https://registry.npmjs.org/@taiga-ui/stylelint-config/-/stylelint-config-0.174.3.tgz", - "integrity": "sha512-puCP4CjvkvBird4kaoPDS9zmPpzJSi00cvCHq+ZiFm/1yURN+hz0dQcID/pdSHtMoGQyWGriOk9nJKO1o3Sh+A==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/stylelint-config/-/stylelint-config-0.219.0.tgz", + "integrity": "sha512-Yfaya2lzKuGUaL6P6QAw/PU3D75E7BptpjQtAdtP3a9Xi/JLsEyBPnrxNoo5pr+HGQs9I7FV1jWYUyNgTa4gQw==", "dev": true, "license": "Apache-2.0", "peerDependencies": { @@ -9824,9 +10669,9 @@ "link": true }, "node_modules/@taiga-ui/tsconfig": { - "version": "0.174.3", - "resolved": "https://registry.npmjs.org/@taiga-ui/tsconfig/-/tsconfig-0.174.3.tgz", - "integrity": "sha512-b5zWNHuxT0Zi2i7qIct4y3PlU8G7GReVbctMlyeQtRVy+WdKSLXCF8Cf9ITOLuCBUtMHlQtEC1GPHJvJzQPAcw==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/tsconfig/-/tsconfig-0.219.0.tgz", + "integrity": "sha512-8uGtnDKQK8JS6DDZkf/Es3JK/ST8/GwUX6nRaiN/LxTCc8TxpKBHmjiVmLB5TZsjV4nOCbODql4I918fk2dyTg==", "dev": true, "license": "Apache-2.0" }, @@ -10099,9 +10944,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true, "license": "MIT" }, @@ -10119,9 +10964,22 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.5", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", - "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz", + "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", "dev": true, "license": "MIT", "dependencies": { @@ -10292,9 +11150,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.5.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", - "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -10562,18 +11420,18 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.5.0.tgz", - "integrity": "sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz", + "integrity": "sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/type-utils": "8.5.0", - "@typescript-eslint/utils": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", + "@typescript-eslint/scope-manager": "8.7.0", + "@typescript-eslint/type-utils": "8.7.0", + "@typescript-eslint/utils": "8.7.0", + "@typescript-eslint/visitor-keys": "8.7.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -10596,32 +11454,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.5.0.tgz", - "integrity": "sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "8.5.0", - "@typescript-eslint/utils": "8.5.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/@typescript-eslint/experimental-utils": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", @@ -10816,17 +11648,17 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.5.0.tgz", - "integrity": "sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.7.0.tgz", + "integrity": "sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==", "dev": true, "license": "BSD-2-Clause", "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/typescript-estree": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", + "@typescript-eslint/scope-manager": "8.7.0", + "@typescript-eslint/types": "8.7.0", + "@typescript-eslint/typescript-estree": "8.7.0", + "@typescript-eslint/visitor-keys": "8.7.0", "debug": "^4.3.4" }, "engines": { @@ -10846,15 +11678,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz", - "integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz", + "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0" + "@typescript-eslint/types": "8.7.0", + "@typescript-eslint/visitor-keys": "8.7.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10865,83 +11696,19 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", - "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.7.0.tgz", + "integrity": "sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==", "dev": true, "license": "MIT", - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", - "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/typescript-estree": "8.7.0", + "@typescript-eslint/utils": "8.7.0", "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -10953,117 +11720,12 @@ } } }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/types": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz", - "integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", + "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -11073,15 +11735,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz", - "integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz", + "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", + "@typescript-eslint/types": "8.7.0", + "@typescript-eslint/visitor-keys": "8.7.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -11108,7 +11769,6 @@ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -11126,7 +11786,6 @@ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -11143,7 +11802,6 @@ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -11152,17 +11810,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz", - "integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz", + "integrity": "sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/typescript-estree": "8.5.0" + "@typescript-eslint/scope-manager": "8.7.0", + "@typescript-eslint/types": "8.7.0", + "@typescript-eslint/typescript-estree": "8.7.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11176,14 +11833,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz", - "integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", + "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/types": "8.7.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -11200,7 +11856,6 @@ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", - "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -12083,6 +12738,68 @@ "ajv": "^8.8.2" } }, + "node_modules/algoliasearch": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", + "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "license": "MIT", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-account": "4.24.0", + "@algolia/client-analytics": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-personalization": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/recommend": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -12114,7 +12831,9 @@ "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true, - "engines": ["node >= 0.8.0"], + "engines": [ + "node >= 0.8.0" + ], "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" @@ -13530,9 +14249,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "funding": [ { "type": "opencollective", @@ -13549,8 +14268,8 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, @@ -13652,6 +14371,7 @@ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6" }, @@ -13871,9 +14591,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001660", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", - "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", "funding": [ { "type": "opencollective", @@ -14445,7 +15165,9 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, - "engines": ["node >= 6.0"], + "engines": [ + "node >= 6.0" + ], "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -16109,29 +16831,29 @@ } }, "node_modules/cspell": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell/-/cspell-8.14.2.tgz", - "integrity": "sha512-ii/W7fwO4chNQVYl1C/8k7RW8EXzLb69rvg08p8mSJx8B2UasVJ9tuJpTH2Spo1jX6N3H0dKPWUbd1fAmdAhPg==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-8.14.4.tgz", + "integrity": "sha512-R5Awb3i/RKaVVcZzFt8dkN3M6VnifIEDYBcbzbmYjZ/Eq+ASF+QTmI0E9WPhMEcFM1nd7YOyXnETo560yRdoKw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-json-reporter": "8.14.2", - "@cspell/cspell-pipe": "8.14.2", - "@cspell/cspell-types": "8.14.2", - "@cspell/dynamic-import": "8.14.2", - "@cspell/url": "8.14.2", + "@cspell/cspell-json-reporter": "8.14.4", + "@cspell/cspell-pipe": "8.14.4", + "@cspell/cspell-types": "8.14.4", + "@cspell/dynamic-import": "8.14.4", + "@cspell/url": "8.14.4", "chalk": "^5.3.0", "chalk-template": "^1.1.0", "commander": "^12.1.0", - "cspell-dictionary": "8.14.2", - "cspell-gitignore": "8.14.2", - "cspell-glob": "8.14.2", - "cspell-io": "8.14.2", - "cspell-lib": "8.14.2", + "cspell-dictionary": "8.14.4", + "cspell-gitignore": "8.14.4", + "cspell-glob": "8.14.4", + "cspell-io": "8.14.4", + "cspell-lib": "8.14.4", "fast-glob": "^3.3.2", "fast-json-stable-stringify": "^2.1.0", - "file-entry-cache": "^9.0.0", + "file-entry-cache": "^9.1.0", "get-stdin": "^9.0.0", "semver": "^7.6.3", "strip-ansi": "^7.1.0" @@ -16148,32 +16870,32 @@ } }, "node_modules/cspell-config-lib": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-8.14.2.tgz", - "integrity": "sha512-yHP1BdcH5dbjb8qiZr6+bxEnJ+rxTULQ00wBz3eBPWCghJywEAYYvMWoYuxVtPpndlkKYC1wJAHsyNkweQyepA==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-8.14.4.tgz", + "integrity": "sha512-cnUeJfniTiebqCaQmIUnbSrPrTH7xzKRQjJDHAEV0WYnOG2MhRXI13OzytdFdhkVBdStmgTzTCJKE7x+kmU2NA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-types": "8.14.2", + "@cspell/cspell-types": "8.14.4", "comment-json": "^4.2.5", - "yaml": "^2.5.0" + "yaml": "^2.5.1" }, "engines": { "node": ">=18" } }, "node_modules/cspell-dictionary": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-8.14.2.tgz", - "integrity": "sha512-gWuAvf6queGGUvGbfAxxUq55cZ0OevWPbjnCrSB0PpJ4tqdFd8dLcvVrIKzoE2sBXKPw2NDkmoEngs6iGavC0w==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-8.14.4.tgz", + "integrity": "sha512-pZvQHxpAW5fZAnt3ZKKy3s7M+3CX2t8tCS3uJrpEHIynlCawpG0fPF78rVE5o+g0dON36Lguc/BUuSN4IWKLmQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-pipe": "8.14.2", - "@cspell/cspell-types": "8.14.2", - "cspell-trie-lib": "8.14.2", + "@cspell/cspell-pipe": "8.14.4", + "@cspell/cspell-types": "8.14.4", + "cspell-trie-lib": "8.14.4", "fast-equals": "^5.0.1" }, "engines": { @@ -16181,16 +16903,16 @@ } }, "node_modules/cspell-gitignore": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-8.14.2.tgz", - "integrity": "sha512-lrO/49NaKBpkR7vFxv4OOY+oHmsG5+gNQejrBBWD9Nv9vvjJtz/G36X/rcN6M6tFcQQMWwa01kf04nxz8Ejuhg==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-8.14.4.tgz", + "integrity": "sha512-RwfQEW5hD7CpYwS7m3b0ONG0nTLKP6bL2tvMdl7qtaYkL7ztGdsBTtLD1pmwqUsCbiN5RuaOxhYOYeRcpFRIkQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/url": "8.14.2", - "cspell-glob": "8.14.2", - "cspell-io": "8.14.2", + "@cspell/url": "8.14.4", + "cspell-glob": "8.14.4", + "cspell-io": "8.14.4", "find-up-simple": "^1.0.0" }, "bin": { @@ -16201,30 +16923,30 @@ } }, "node_modules/cspell-glob": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-8.14.2.tgz", - "integrity": "sha512-9Q1Kgoo1ev3fKTpp9y5n8M4RLxd8B0f5o4y5FQe4dBU0j/bt+/YDrLZNWDm77JViV606XQ6fimG1FTTq6pT9/g==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-8.14.4.tgz", + "integrity": "sha512-C/xTS5nujMRMuguibq92qMVP767mtxrur7DcVolCvpzcivm1RB5NtIN0OctQxTyMbnmKeQv1t4epRKQ9A8vWRg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/url": "8.14.2", - "micromatch": "^4.0.7" + "@cspell/url": "8.14.4", + "micromatch": "^4.0.8" }, "engines": { "node": ">=18" } }, "node_modules/cspell-grammar": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-8.14.2.tgz", - "integrity": "sha512-eYwceVP80FGYVJenE42ALnvEKOXaXjq4yVbb1Ni1umO/9qamLWNCQ1RP6rRACy5e/cXviAbhrQ5Mtw6n+pyPEQ==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-8.14.4.tgz", + "integrity": "sha512-yaSKAAJDiamsw3FChbw4HXb2RvTQrDsLelh1+T4MavarOIcAxXrqAJ8ysqm++g+S/ooJz2YO8YWIyzJKxcMf8g==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-pipe": "8.14.2", - "@cspell/cspell-types": "8.14.2" + "@cspell/cspell-pipe": "8.14.4", + "@cspell/cspell-types": "8.14.4" }, "bin": { "cspell-grammar": "bin.mjs" @@ -16234,44 +16956,44 @@ } }, "node_modules/cspell-io": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-8.14.2.tgz", - "integrity": "sha512-uaKpHiY3DAgfdzgKMQml6U8F8o9udMuYxGqYa5FVfN7D5Ap7B2edQzSLTUYwxrFEn4skSfp6XY73+nzJvxzH4Q==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-8.14.4.tgz", + "integrity": "sha512-o6OTWRyx/Az+PFhr1B0wMAwqG070hFC9g73Fkxd8+rHX0rfRS69QZH7LgSmZytqbZIMxCTDGdsLl33MFGWCbZQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-service-bus": "8.14.2", - "@cspell/url": "8.14.2" + "@cspell/cspell-service-bus": "8.14.4", + "@cspell/url": "8.14.4" }, "engines": { "node": ">=18" } }, "node_modules/cspell-lib": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-8.14.2.tgz", - "integrity": "sha512-d2oiIXHXnADmnhIuFLOdNE63L7OUfzgpLbYaqAWbkImCUDkevfGrOgnX8TJ03fUgZID4nvQ+3kgu/n2j4eLZjQ==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-8.14.4.tgz", + "integrity": "sha512-qdkUkKtm+nmgpA4jQbmQTuepDfjHBDWvs3zDuEwVIVFq/h8gnXrRr75gJ3RYdTy+vOOqHPoLLqgxyqkUUrUGXA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-bundled-dicts": "8.14.2", - "@cspell/cspell-pipe": "8.14.2", - "@cspell/cspell-resolver": "8.14.2", - "@cspell/cspell-types": "8.14.2", - "@cspell/dynamic-import": "8.14.2", - "@cspell/filetypes": "8.14.2", - "@cspell/strong-weak-map": "8.14.2", - "@cspell/url": "8.14.2", + "@cspell/cspell-bundled-dicts": "8.14.4", + "@cspell/cspell-pipe": "8.14.4", + "@cspell/cspell-resolver": "8.14.4", + "@cspell/cspell-types": "8.14.4", + "@cspell/dynamic-import": "8.14.4", + "@cspell/filetypes": "8.14.4", + "@cspell/strong-weak-map": "8.14.4", + "@cspell/url": "8.14.4", "clear-module": "^4.1.2", "comment-json": "^4.2.5", - "cspell-config-lib": "8.14.2", - "cspell-dictionary": "8.14.2", - "cspell-glob": "8.14.2", - "cspell-grammar": "8.14.2", - "cspell-io": "8.14.2", - "cspell-trie-lib": "8.14.2", + "cspell-config-lib": "8.14.4", + "cspell-dictionary": "8.14.4", + "cspell-glob": "8.14.4", + "cspell-grammar": "8.14.4", + "cspell-io": "8.14.4", + "cspell-trie-lib": "8.14.4", "env-paths": "^3.0.0", "fast-equals": "^5.0.1", "gensequence": "^7.0.0", @@ -16300,15 +17022,15 @@ } }, "node_modules/cspell-trie-lib": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-8.14.2.tgz", - "integrity": "sha512-rZMbaEBGoyy4/zxKECaMyVyGLbuUxYmZ5jlEgiA3xPtEdWwJ4iWRTo5G6dWbQsXoxPYdAXXZ0/q0GQ2y6Jt0kw==", + "version": "8.14.4", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-8.14.4.tgz", + "integrity": "sha512-zu8EJ33CH+FA5lwTRGqS//Q6phO0qtgEmODMR1KPlD7WlrfTFMb3bWFsLo/tiv5hjpsn7CM6dYDAAgBOSkoyhQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@cspell/cspell-pipe": "8.14.2", - "@cspell/cspell-types": "8.14.2", + "@cspell/cspell-pipe": "8.14.4", + "@cspell/cspell-types": "8.14.4", "gensequence": "^7.0.0" }, "engines": { @@ -16685,14 +17407,14 @@ "license": "MIT" }, "node_modules/cypress": { - "version": "13.14.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.2.tgz", - "integrity": "sha512-lsiQrN17vHMB2fnvxIrKLAjOr9bPwsNbPZNrWf99s4u+DVmCY6U+w7O3GGG9FvP4EUVYaDu+guWeNLiUzBrqvA==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.0.tgz", + "integrity": "sha512-53aO7PwOfi604qzOkCSzNlWquCynLlKE/rmmpSPcziRH6LNfaDUAklQT6WJIsD8ywxlIy+uVZsnTMCCQVd2kTw==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.1", + "@cypress/request": "^3.0.4", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", @@ -16958,9 +17680,9 @@ } }, "node_modules/date-fns": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", - "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", "license": "MIT", "funding": { "type": "github", @@ -17804,9 +18526,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.23", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.23.tgz", - "integrity": "sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==", + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz", + "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==", "license": "ISC" }, "node_modules/ember-rfc176-data": { @@ -17892,9 +18614,9 @@ } }, "node_modules/engine.io": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", - "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.1.tgz", + "integrity": "sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og==", "dev": true, "license": "MIT", "dependencies": { @@ -17914,9 +18636,9 @@ } }, "node_modules/engine.io-client": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz", - "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.1.tgz", + "integrity": "sha512-aYuoak7I+R83M/BBPIOs2to51BmFIpC1wZe6zZzMrT2llVsHy5cvcmdsJgP2Qz6smHu+sD9oexiSUAVd8OfBPw==", "dev": true, "license": "MIT", "dependencies": { @@ -17924,7 +18646,7 @@ "debug": "~4.3.1", "engine.io-parser": "~5.2.1", "ws": "~8.17.1", - "xmlhttprequest-ssl": "~2.0.0" + "xmlhttprequest-ssl": "~2.1.1" } }, "node_modules/engine.io-parser": { @@ -18348,9 +19070,9 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "dev": true, "license": "MIT", "peer": true, @@ -18358,8 +19080,8 @@ "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -18660,9 +19382,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz", - "integrity": "sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", + "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", "dev": true, "license": "MIT", "peer": true, @@ -19077,15 +19799,15 @@ } }, "node_modules/eslint-plugin-perfectionist": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-perfectionist/-/eslint-plugin-perfectionist-3.6.0.tgz", - "integrity": "sha512-sA6ljy6dL/9cM5ruZ/pMqRVt0FQ4Z7mbQWlBYpyX9941LVfm65d2jl2k1ZbWD3ud9Wm+/NKgOvRnAatsKhMJbA==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-perfectionist/-/eslint-plugin-perfectionist-3.7.0.tgz", + "integrity": "sha512-pemhfcR3LDbYVWeveHok9u048yR7GpsnfyPvn6RsDkp/UV7iqBV0y5K0aGb9ZJMsemOyWok7akxGzPLsz+mHKQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@typescript-eslint/types": "^8.5.0", - "@typescript-eslint/utils": "^8.5.0", + "@typescript-eslint/types": "^8.7.0", + "@typescript-eslint/utils": "^8.7.0", "minimatch": "^9.0.5", "natural-compare-lite": "^1.4.0" }, @@ -19138,7 +19860,9 @@ "dev": true, "license": "MIT", "peer": true, - "workspaces": ["examples"], + "workspaces": [ + "examples" + ], "dependencies": { "globals": "^13.23.0" }, @@ -21255,7 +21979,9 @@ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, - "engines": ["node >=0.6.0"], + "engines": [ + "node >=0.6.0" + ], "license": "MIT" }, "node_modules/fast-deep-equal": { @@ -22035,7 +22761,9 @@ "hasInstallScript": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -24071,6 +24799,7 @@ "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "builtin-modules": "^3.3.0" }, @@ -27215,7 +27944,9 @@ "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"], + "engines": [ + "node >= 0.2.0" + ], "license": "MIT" }, "node_modules/JSONStream": { @@ -27240,7 +27971,9 @@ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, - "engines": ["node >=0.6.0"], + "engines": [ + "node >=0.6.0" + ], "license": "MIT", "dependencies": { "assert-plus": "1.0.0", @@ -27619,9 +28352,9 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.8.tgz", - "integrity": "sha512-0fv/YKpJBAgXKy0kaS3fnqoUVN8901vUYAKIGD/MWZaDfhJt1nZjPL3ZzdZBt/G8G8Hw2J1xOIrXWdNHFHPAvg==", + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.9.tgz", + "integrity": "sha512-Zs5wf5HaWzW2/inlupe2tstl0I/Tbqo7lH20ZLr6Is58u7Dz2n+gRFGNlj9/gWxFvNfp9+YyDsiegjNhdixB9A==", "license": "MIT", "peer": true }, @@ -28714,7 +29447,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, + "devOptional": true, "license": "MIT", "peer": true, "dependencies": { @@ -28745,9 +29478,9 @@ } }, "node_modules/lucide-static": { - "version": "0.441.0", - "resolved": "https://registry.npmjs.org/lucide-static/-/lucide-static-0.441.0.tgz", - "integrity": "sha512-1auXwSBDxvmt3pY1k9f2ypO+dATe4dUkiSxBfjSjFeaU7YKImxZaX6BMJfTnyF0yx1a8U6Zq5g6Fc9dtarwc9Q==", + "version": "0.446.0", + "resolved": "https://registry.npmjs.org/lucide-static/-/lucide-static-0.446.0.tgz", + "integrity": "sha512-u9IkgI8k7qk738A9rt+JlENM5Sz/18EaEfqTfMEhXy2Sjq1uJA2I1WacVn6wJPXNHzrFpI5BCSmi1GtnGhsVwA==", "dev": true, "license": "ISC" }, @@ -29808,9 +30541,9 @@ "license": "MIT" }, "node_modules/ng-morph": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/ng-morph/-/ng-morph-4.8.1.tgz", - "integrity": "sha512-JLeZBghqNvMYV/GHIBaH6uTVzZtLVDRvY95MOT+4qDAx43TR9AJHWnFglPVRgLv6B98uLwF7GcmfhjJYjtkR+g==", + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/ng-morph/-/ng-morph-4.8.2.tgz", + "integrity": "sha512-8B7Z0q7cVNBAhm7dUKSgFY9RZcQcgx31G1/HbMDiOiQFzwe8KAOfIij+UE2FblNwF82Xb3Gy+5DXpHxmvGyNQQ==", "devOptional": true, "license": "Apache-2.0", "dependencies": { @@ -29905,11 +30638,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": ["arm"], + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["android"], + "os": [ + "android" + ], "engines": { "node": ">=12" } @@ -29918,11 +30655,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["android"], + "os": [ + "android" + ], "engines": { "node": ">=12" } @@ -29931,11 +30672,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["android"], + "os": [ + "android" + ], "engines": { "node": ">=12" } @@ -29944,11 +30689,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": ">=12" } @@ -29957,11 +30706,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": ">=12" } @@ -29970,11 +30723,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["freebsd"], + "os": [ + "freebsd" + ], "engines": { "node": ">=12" } @@ -29983,11 +30740,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["freebsd"], + "os": [ + "freebsd" + ], "engines": { "node": ">=12" } @@ -29996,11 +30757,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": ["arm"], + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30009,11 +30774,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30022,11 +30791,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": ["ia32"], + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30035,11 +30808,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": ["loong64"], + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30048,11 +30825,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": ["mips64el"], + "cpu": [ + "mips64el" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30061,11 +30842,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": ["ppc64"], + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30074,11 +30859,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": ["riscv64"], + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30087,11 +30876,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": ["s390x"], + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30100,11 +30893,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["linux"], + "os": [ + "linux" + ], "engines": { "node": ">=12" } @@ -30113,11 +30910,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["netbsd"], + "os": [ + "netbsd" + ], "engines": { "node": ">=12" } @@ -30126,11 +30927,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["openbsd"], + "os": [ + "openbsd" + ], "engines": { "node": ">=12" } @@ -30139,11 +30944,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["sunos"], + "os": [ + "sunos" + ], "engines": { "node": ">=12" } @@ -30152,11 +30961,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", - "cpu": ["arm64"], + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">=12" } @@ -30165,11 +30978,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", - "cpu": ["ia32"], + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">=12" } @@ -30178,11 +30995,15 @@ "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", - "cpu": ["x64"], + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", "optional": true, - "os": ["win32"], + "os": [ + "win32" + ], "engines": { "node": ">=12" } @@ -30290,7 +31111,9 @@ "hasInstallScript": true, "license": "MIT", "optional": true, - "os": ["!win32"], + "os": [ + "!win32" + ], "dependencies": { "node-addon-api": "^3.0.0", "node-gyp-build": "^4.2.2" @@ -30812,15 +31635,15 @@ "license": "MIT" }, "node_modules/nx": { - "version": "19.7.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-19.7.3.tgz", - "integrity": "sha512-8F4CzKavSuOFv+uKVwXHc00Px0q40CWAYCW6NC5IgU3AMaJVumyHzgB8Sn+yfkaVgfVnZVqznOsyrbZUWuj/VA==", + "version": "19.8.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-19.8.2.tgz", + "integrity": "sha512-NE88CbEZj8hCrUKiYzL1sB6O1tmgu/OjvTp3pJOoROMvo0kE7N4XT3TiKAge+E6wVRXf/zU55cH1G2u0djpZhA==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { "@napi-rs/wasm-runtime": "0.2.4", - "@nrwl/tao": "19.7.3", + "@nrwl/tao": "19.8.2", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.7", @@ -30835,7 +31658,6 @@ "figures": "3.2.0", "flat": "^5.0.2", "front-matter": "^4.0.2", - "fs-extra": "^11.1.0", "ignore": "^5.0.4", "jest-diff": "^29.4.1", "jsonc-parser": "3.2.0", @@ -30860,16 +31682,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "19.7.3", - "@nx/nx-darwin-x64": "19.7.3", - "@nx/nx-freebsd-x64": "19.7.3", - "@nx/nx-linux-arm-gnueabihf": "19.7.3", - "@nx/nx-linux-arm64-gnu": "19.7.3", - "@nx/nx-linux-arm64-musl": "19.7.3", - "@nx/nx-linux-x64-gnu": "19.7.3", - "@nx/nx-linux-x64-musl": "19.7.3", - "@nx/nx-win32-arm64-msvc": "19.7.3", - "@nx/nx-win32-x64-msvc": "19.7.3" + "@nx/nx-darwin-arm64": "19.8.2", + "@nx/nx-darwin-x64": "19.8.2", + "@nx/nx-freebsd-x64": "19.8.2", + "@nx/nx-linux-arm-gnueabihf": "19.8.2", + "@nx/nx-linux-arm64-gnu": "19.8.2", + "@nx/nx-linux-arm64-musl": "19.8.2", + "@nx/nx-linux-x64-gnu": "19.8.2", + "@nx/nx-linux-x64-musl": "19.8.2", + "@nx/nx-win32-arm64-msvc": "19.8.2", + "@nx/nx-win32-x64-msvc": "19.8.2" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -30937,21 +31759,6 @@ "dev": true, "license": "MIT" }, - "node_modules/nx/node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/nx/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -32197,13 +33004,13 @@ } }, "node_modules/playwright": { - "version": "1.47.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.47.1.tgz", - "integrity": "sha512-SUEKi6947IqYbKxRiqnbUobVZY4bF1uu+ZnZNJX9DfU1tlf2UhWfvVjLf01pQx9URsOr18bFVUKXmanYWhbfkw==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.47.2.tgz", + "integrity": "sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.47.1" + "playwright-core": "1.47.2" }, "bin": { "playwright": "cli.js" @@ -32216,9 +33023,9 @@ } }, "node_modules/playwright-core": { - "version": "1.47.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.1.tgz", - "integrity": "sha512-i1iyJdLftqtt51mEk6AhYFaAJCDx0xQ/O5NU8EKaWFgMjItPVma542Nh/Aq8aLCjIJSzjaiEQGW/nyqLkGF1OQ==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz", + "integrity": "sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -32236,7 +33043,9 @@ "hasInstallScript": true, "license": "MIT", "optional": true, - "os": ["darwin"], + "os": [ + "darwin" + ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -33074,6 +33883,16 @@ "dev": true, "license": "MIT" }, + "node_modules/preact": { + "version": "10.24.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.24.1.tgz", + "integrity": "sha512-PnBAwFI3Yjxxcxw75n6VId/5TFxNW/81zexzWD9jn1+eSrOP84NdsS38H5IkF/UH3frqRPT+MvuCoVHjTDTnDw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -33542,6 +34361,35 @@ "node": ">= 0.8" } }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, "node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", @@ -34331,9 +35179,9 @@ } }, "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", "dev": true, "license": "MIT", "bin": { @@ -34665,6 +35513,17 @@ "node": ">=v12.22.7" } }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, "node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", @@ -34701,6 +35560,13 @@ "node": "^14.0.0 || >=16.0.0" } }, + "node_modules/search-insights": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz", + "integrity": "sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==", + "license": "MIT", + "peer": true + }, "node_modules/secure-compare": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", @@ -35428,9 +36294,9 @@ } }, "node_modules/socket.io": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", - "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", + "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", "dev": true, "license": "MIT", "dependencies": { @@ -35438,7 +36304,7 @@ "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.5.2", + "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" }, @@ -35458,15 +36324,15 @@ } }, "node_modules/socket.io-client": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", - "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.0.tgz", + "integrity": "sha512-C0jdhD5yQahMws9alf/yvtsMGTaIDBnZ8Rb5HU56svyq0l5LIrGzIDZZD5pHQlmzxLuU91Gz+VpQMKgCTNYtkw==", "dev": true, "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", - "engine.io-client": "~6.5.2", + "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" }, "engines": { @@ -37310,9 +38176,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz", - "integrity": "sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -38706,7 +39572,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "engines": ["node >=0.6.0"], + "engines": [ + "node >=0.6.0" + ], "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", @@ -38722,9 +39590,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", - "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", + "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", "dev": true, "license": "MIT", "dependencies": { @@ -38947,9 +39815,9 @@ } }, "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dev": true, "license": "MIT", "dependencies": { @@ -39654,9 +40522,9 @@ "license": "MIT" }, "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.1.tgz", + "integrity": "sha512-ptjR8YSJIXoA3Mbv5po7RtSYHO6mZr8s7i5VGmEk7QY2pQWyT1o0N+W1gKbOyJPUCGXGnuw0wqe8f0L6Y0ny7g==", "dev": true, "engines": { "node": ">=0.4.0" @@ -39793,42 +40661,42 @@ }, "projects/addon-charts": { "name": "@taiga-ui/addon-charts", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", - "@ng-web-apis/common": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@ng-web-apis/common": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "tslib": "^2.7.0" } }, "projects/addon-commerce": { "name": "@taiga-ui/addon-commerce", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", "@angular/forms": ">=16.0.0", - "@maskito/angular": "^3.0.1", - "@maskito/core": "^3.0.1", - "@maskito/kit": "^3.0.1", - "@ng-web-apis/common": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/i18n": "^4.6.0", - "@taiga-ui/kit": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@maskito/angular": "^3.0.3", + "@maskito/core": "^3.0.3", + "@maskito/kit": "^3.0.3", + "@ng-web-apis/common": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/i18n": "^4.8.1", + "@taiga-ui/kit": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } }, "projects/addon-doc": { "name": "@taiga-ui/addon-doc", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "devDependencies": { "@types/markdown-it": "14.1.2" @@ -39839,12 +40707,12 @@ "@angular/core": ">=16.0.0", "@angular/forms": ">=16.0.0", "@angular/router": ">=16.0.0", - "@ng-web-apis/common": "^4.5.0", - "@taiga-ui/addon-mobile": "^4.6.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/kit": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@ng-web-apis/common": "^4.6.4", + "@taiga-ui/addon-mobile": "^4.8.1", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/kit": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "markdown-it": ">=14.1.0", "ngx-highlightjs": ">=10.0.0", "tslib": "^2.7.0" @@ -39852,56 +40720,56 @@ }, "projects/addon-mobile": { "name": "@taiga-ui/addon-mobile", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/cdk": ">=16.0.0", "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", - "@ng-web-apis/common": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/kit": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@ng-web-apis/common": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/kit": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } }, "projects/addon-table": { "name": "@taiga-ui/addon-table", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", - "@ng-web-apis/intersection-observer": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/i18n": "^4.6.0", - "@taiga-ui/kit": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@ng-web-apis/intersection-observer": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/i18n": "^4.8.1", + "@taiga-ui/kit": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } }, "projects/cdk": { "name": "@taiga-ui/cdk", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "dependencies": { "tslib": "2.7.0" }, "devDependencies": { - "@angular-devkit/core": "16.2.15", - "@angular-devkit/schematics": "16.2.15", - "@angular-devkit/schematics-cli": "16.2.15", - "@schematics/angular": "16.2.15" + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", + "@angular-devkit/schematics-cli": "16.2.16", + "@schematics/angular": "16.2.16" }, "optionalDependencies": { "@angular-devkit/core": ">=16.0.0", "@angular-devkit/schematics": ">=16.0.0", "@schematics/angular": ">=16.0.0", - "ng-morph": "^4.8.1", + "ng-morph": "^4.8.2", "parse5": "^7.1.2" }, "peerDependencies": { @@ -39910,17 +40778,17 @@ "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", "@angular/forms": ">=16.0.0", - "@ng-web-apis/common": "^4.5.0", - "@ng-web-apis/mutation-observer": "^4.5.0", - "@ng-web-apis/resize-observer": "^4.5.0", - "@taiga-ui/event-plugins": "^4.2.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@ng-web-apis/common": "^4.6.4", + "@ng-web-apis/mutation-observer": "^4.6.4", + "@ng-web-apis/resize-observer": "^4.6.4", + "@taiga-ui/event-plugins": "^4.2.3", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0" } }, "projects/core": { "name": "@taiga-ui/core", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/animations": ">=16.0.0", @@ -39929,12 +40797,12 @@ "@angular/forms": ">=16.0.0", "@angular/platform-browser": ">=16.0.0", "@angular/router": ">=16.0.0", - "@ng-web-apis/common": "^4.5.0", - "@ng-web-apis/mutation-observer": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/event-plugins": "^4.2.0", - "@taiga-ui/i18n": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@ng-web-apis/common": "^4.6.4", + "@ng-web-apis/mutation-observer": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/event-plugins": "^4.2.3", + "@taiga-ui/i18n": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } @@ -39952,16 +40820,17 @@ "@angular/platform-browser-dynamic": "16.2.12", "@angular/platform-server": "16.2.12", "@angular/router": "16.2.12", - "@ng-web-apis/universal": "4.5.0", + "@docsearch/js": "3.6.2", + "@ng-web-apis/universal": "4.6.4", "@nguniversal/express-engine": "16.2.0", "@stackblitz/sdk": "1.11.0", "@taiga-ui/dompurify": "4.1.7", - "date-fns": "3.6.0", + "date-fns": "4.1.0", "rxjs": "7.5.0" }, "devDependencies": { "@nguniversal/builders": "16.2.0", - "@types/express": "4.17.21", + "@types/express": "5.0.0", "express": "4.21.0", "terser-webpack-plugin": "5.3.10" } @@ -39969,54 +40838,67 @@ "projects/demo-cypress": { "name": "@taiga-ui/demo-cypress", "devDependencies": { - "@nx/cypress": "19.7.3", - "cypress": "13.14.2" + "@nx/cypress": "19.8.2", + "cypress": "13.15.0" } }, "projects/demo-playwright": { "name": "@taiga-ui/demo-playwright", "devDependencies": { - "@playwright/test": "1.47.1" + "@playwright/test": "1.47.2" + } + }, + "projects/demo/node_modules/@types/express": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.0.tgz", + "integrity": "sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/qs": "*", + "@types/serve-static": "*" } }, "projects/experimental": { "name": "@taiga-ui/experimental", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", - "@taiga-ui/addon-commerce": "^4.6.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/kit": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@taiga-ui/addon-commerce": "^4.8.1", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/kit": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } }, "projects/i18n": { "name": "@taiga-ui/i18n", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/core": ">=16.0.0", - "@ng-web-apis/common": "^4.5.0", + "@ng-web-apis/common": "^4.6.4", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } }, "projects/icons": { "name": "@taiga-ui/icons", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "devDependencies": { - "lucide-static": "0.441.0" + "lucide-static": "0.446.0" } }, "projects/icons-fontawesome": { "name": "@taiga-ui/icons-fontawesome", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "devDependencies": { "@fortawesome/fontawesome-free": "6.6.0" @@ -40024,7 +40906,7 @@ }, "projects/icons-material": { "name": "@taiga-ui/icons-material", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "devDependencies": { "@material-design-icons/svg": "0.14.13" @@ -40032,47 +40914,47 @@ }, "projects/kit": { "name": "@taiga-ui/kit", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", "@angular/forms": ">=16.0.0", "@angular/router": ">=16.0.0", - "@maskito/angular": "^3.0.1", - "@maskito/core": "^3.0.1", - "@maskito/kit": "^3.0.1", - "@maskito/phone": "^3.0.1", - "@ng-web-apis/common": "^4.5.0", - "@ng-web-apis/intersection-observer": "^4.5.0", - "@ng-web-apis/mutation-observer": "^4.5.0", - "@ng-web-apis/resize-observer": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/i18n": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@maskito/angular": "^3.0.3", + "@maskito/core": "^3.0.3", + "@maskito/kit": "^3.0.3", + "@maskito/phone": "^3.0.3", + "@ng-web-apis/common": "^4.6.4", + "@ng-web-apis/intersection-observer": "^4.6.4", + "@ng-web-apis/mutation-observer": "^4.6.4", + "@ng-web-apis/resize-observer": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/i18n": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } }, "projects/layout": { "name": "@taiga-ui/layout", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/kit": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/kit": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } }, "projects/legacy": { "name": "@taiga-ui/legacy", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "peerDependencies": { "@angular/core": ">=16.0.0", @@ -40081,28 +40963,28 @@ }, "projects/styles": { "name": "@taiga-ui/styles", - "version": "4.6.0", + "version": "4.8.1", "peerDependencies": { - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", "tslib": "^2.7.0" } }, "projects/taiga-schematics": { "name": "taiga-ui", - "version": "4.6.0", + "version": "4.8.1", "license": "Apache-2.0", "dependencies": { - "@taiga-ui/cdk": "^4.6.0" + "@taiga-ui/cdk": "^4.8.1" }, "peerDependencies": { - "@taiga-ui/cdk": "^4.6.0", + "@taiga-ui/cdk": "^4.8.1", "tslib": "^2.7.0" } }, "projects/testing": { "name": "@taiga-ui/testing", - "version": "4.6.0", + "version": "4.8.1", "devDependencies": { "@types/jest": "29.5.13", "jest": "29.7.0", @@ -40110,7 +40992,7 @@ "ts-jest": "29.2.5" }, "peerDependencies": { - "@taiga-ui/cdk": "^4.6.0", + "@taiga-ui/cdk": "^4.8.1", "tslib": "^2.7.0" } } diff --git a/package.json b/package.json index f34ddc0248f3..34dac84ec120 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@taiga-ui/components", - "version": "4.6.0", + "version": "4.8.1", "private": true, "description": "Taiga UI by TBank is a set of components, services, directives and other tools to build high quality UI using modern Angular framework", "keywords": [ @@ -81,15 +81,7 @@ ], "rules": { "jest/prefer-importing-jest-globals": "off", - "sonarjs/arguments-order": "off", - "sonarjs/concise-regex": "off", - "sonarjs/no-angular-bypass-sanitization": "off", - "sonarjs/no-nested-conditional": "off", - "sonarjs/no-redundant-type-constituents": "off", - "sonarjs/no-unused-expressions": "off", - "sonarjs/prefer-nullish-coalescing": "off", - "sonarjs/redundant-type-aliases": "off", - "unicorn/consistent-destructuring": "off" + "sonarjs/prefer-nullish-coalescing": "off" }, "overrides": [ { @@ -99,14 +91,6 @@ "rules": { "@angular-eslint/prefer-standalone": "off" } - }, - { - "files": [ - "**/demo/**/*.ts" - ], - "rules": { - "max-classes-per-file": "off" - } } ], "root": true @@ -136,48 +120,48 @@ ] }, "devDependencies": { - "@angular-devkit/build-angular": "16.2.15", - "@angular-devkit/core": "16.2.15", - "@angular-devkit/schematics": "16.2.15", + "@angular-devkit/build-angular": "16.2.16", + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", "@angular/animations": "16.2.12", "@angular/cdk": "16.2.14", - "@angular/cli": "16.2.15", + "@angular/cli": "16.2.16", "@angular/common": "16.2.12", "@angular/compiler-cli": "16.2.12", "@angular/core": "16.2.12", "@angular/forms": "16.2.12", "@angular/platform-browser": "16.2.12", "@angular/router": "16.2.12", - "@nx/angular": "19.7.3", - "@nx/jest": "19.7.3", - "@nx/workspace": "19.7.3", - "@schematics/angular": "16.2.15", - "@taiga-ui/browserslist-config": "0.174.3", - "@taiga-ui/commitlint-config": "0.174.3", - "@taiga-ui/cspell-config": "0.174.3", - "@taiga-ui/design-tokens": "0.134.0", - "@taiga-ui/eslint-plugin-experience": "0.174.3", - "@taiga-ui/event-plugins": "4.2.0", - "@taiga-ui/prettier-config": "0.174.3", - "@taiga-ui/stylelint-config": "0.174.3", - "@taiga-ui/tsconfig": "0.174.3", + "@nx/angular": "19.8.2", + "@nx/jest": "19.8.2", + "@nx/workspace": "19.8.2", + "@schematics/angular": "16.2.16", + "@taiga-ui/browserslist-config": "0.219.0", + "@taiga-ui/commitlint-config": "0.219.0", + "@taiga-ui/cspell-config": "0.219.0", + "@taiga-ui/design-tokens": "0.139.0", + "@taiga-ui/eslint-plugin-experience": "0.219.0", + "@taiga-ui/event-plugins": "4.2.3", + "@taiga-ui/prettier-config": "0.219.0", + "@taiga-ui/stylelint-config": "0.219.0", + "@taiga-ui/tsconfig": "0.219.0", "@types/glob": "8.1.0", "@types/loader-utils": "2.0.6", - "@types/node": "22.5.5", + "@types/node": "22.7.4", "@types/webpack-env": "1.18.5", "cpy-cli": "5.0.0", "husky": "9.1.6", "lint-staged": "15.2.10", - "ng-morph": "4.8.1", + "ng-morph": "4.8.2", "ng-packagr": "16.2.3", "ngx-highlightjs": "10.0.0", - "nx": "19.7.3", + "nx": "19.8.2", "rxjs": "7.5.0", "standard-version": "9.5.0", "ts-mockito": "2.6.1", "ts-node": "10.9.2", "typescript": "5.0.4", - "webpack": "5.94.0" + "webpack": "5.95.0" }, "engines": { "node": ">= 20", diff --git a/projects/addon-charts/components/arc-chart/arc-chart.component.ts b/projects/addon-charts/components/arc-chart/arc-chart.component.ts index 85d43217c30c..6c6cffce785b 100644 --- a/projects/addon-charts/components/arc-chart/arc-chart.component.ts +++ b/projects/addon-charts/components/arc-chart/arc-chart.component.ts @@ -1,39 +1,22 @@ -import type {ElementRef, QueryList} from '@angular/core'; +import {type ElementRef, type QueryList, signal} from '@angular/core'; import { ChangeDetectionStrategy, - ChangeDetectorRef, Component, - inject, Input, Output, ViewChildren, } from '@angular/core'; import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; import {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times'; -import {tuiTypedFromEvent, tuiWatch} from '@taiga-ui/cdk/observables'; +import {tuiTypedFromEvent, tuiZonefree} from '@taiga-ui/cdk/observables'; import type {TuiSizeXL} from '@taiga-ui/core/types'; import type {Observable} from 'rxjs'; import {map, merge, ReplaySubject, startWith, switchMap, tap, timer} from 'rxjs'; -// 3/4 with 1% safety offset -const ARC = 0.76; - -const SIZE: Record = { - m: 9, - l: 11, - xl: 16, -}; - -const WIDTH: Record = { - m: 0.25, - l: 0.375, - xl: 0.5625, -}; - -const GAP: Record = { - m: 0.125, - l: 0.1875, - xl: 0.25, -}; + +const ARC = 0.76; // 3/4 with 1% safety offset +const SIZE = {m: 9, l: 11, xl: 16} as const; +const WIDTH = {m: 0.25, l: 0.375, xl: 0.5625} as const; +const GAP = {m: 0.125, l: 0.1875, xl: 0.25} as const; function arcsToIndex(arcs: QueryList>): Array> { return arcs.map(({nativeElement}, index) => @@ -61,7 +44,11 @@ function arcsToIndex(arcs: QueryList>): Array>>(1); - protected initialized = false; + protected initialized = signal(false); + + protected readonly $ = timer(0) + .pipe(tuiZonefree(), takeUntilDestroyed()) + .subscribe(() => this.initialized.set(true)); @Input() public value: readonly number[] = []; @@ -94,14 +81,6 @@ export class TuiArcChart { }), ); - constructor() { - timer(0) - .pipe(tuiWatch(inject(ChangeDetectorRef)), takeUntilDestroyed()) - .subscribe(() => { - this.initialized = true; - }); - } - @ViewChildren('arc') protected set arcs(arcs: QueryList>) { this.arcs$.next(arcs); diff --git a/projects/addon-charts/components/arc-chart/arc-chart.template.html b/projects/addon-charts/components/arc-chart/arc-chart.template.html index bec3f9e7dbd7..6b1eb52666f6 100644 --- a/projects/addon-charts/components/arc-chart/arc-chart.template.html +++ b/projects/addon-charts/components/arc-chart/arc-chart.template.html @@ -21,7 +21,7 @@ [class.t-value_inactive]="isInactive(index)" [style.stroke]="'var(--tui-chart-categorical-0' + index + ')'" [style.strokeDasharray.em]="getLength(index)" - [style.strokeDashoffset.em]="initialized ? getOffset(index) : getLength(index)" + [style.strokeDashoffset.em]="initialized() ? getOffset(index) : getLength(index)" />
diff --git a/projects/addon-charts/components/line-chart/line-chart.component.ts b/projects/addon-charts/components/line-chart/line-chart.component.ts index f33fc21043d4..b77f32eb3c50 100644 --- a/projects/addon-charts/components/line-chart/line-chart.component.ts +++ b/projects/addon-charts/components/line-chart/line-chart.component.ts @@ -1,5 +1,5 @@ import {AsyncPipe, NgForOf, NgIf} from '@angular/common'; -import type {QueryList} from '@angular/core'; +import {computed, type OnChanges, type QueryList, signal} from '@angular/core'; import { ChangeDetectionStrategy, Component, @@ -8,6 +8,8 @@ import { NgZone, ViewChildren, } from '@angular/core'; +import {toSignal} from '@angular/core/rxjs-interop'; +import {ResizeObserverService} from '@ng-web-apis/resize-observer'; import type {TuiLineChartHintContext} from '@taiga-ui/addon-charts/types'; import {tuiDraw} from '@taiga-ui/addon-charts/utils'; import {EMPTY_QUERY} from '@taiga-ui/cdk/constants'; @@ -24,7 +26,7 @@ import { } from '@taiga-ui/core/directives/hint'; import type {TuiPoint} from '@taiga-ui/core/types'; import type {PolymorpheusContent} from '@taiga-ui/polymorpheus'; -import type {Observable} from 'rxjs'; +import {map, type Observable} from 'rxjs'; import {distinctUntilChanged, Subject} from 'rxjs'; import {TUI_LINE_CHART_OPTIONS} from './line-chart.options'; @@ -37,20 +39,34 @@ import {TuiLineChartHint} from './line-chart-hint.directive'; templateUrl: './line-chart.template.html', styleUrls: ['./line-chart.style.less'], changeDetection: ChangeDetectionStrategy.OnPush, + providers: [ResizeObserverService], viewProviders: [tuiHintOptionsProvider({direction: 'top', hideDelay: 0})], host: { '(mouseleave)': 'onMouseLeave()', }, }) -export class TuiLineChart { +export class TuiLineChart implements OnChanges { private readonly zone = inject(NgZone); private readonly options = inject(TUI_LINE_CHART_OPTIONS); private readonly hover$ = new Subject(); private readonly autoId = tuiInjectId(); + private readonly resize = toSignal( + inject(ResizeObserverService, {self: true}).pipe( + map(([e]) => e?.contentRect.height || 0), + ), + {initialValue: 0}, + ); - protected readonly hintDirective = inject(TuiLineChartHint, {optional: true}); + private readonly box = signal(''); + protected readonly hintDirective = inject(TuiLineChartHint, {optional: true}); protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true}); + protected readonly viewBox = computed(() => { + const offset = this.height / this.resize(); + const [x = 0, y = 0, width = 0, height = 0] = this.box().split(' ').map(Number); + + return `${x} ${y - offset} ${width} ${height + 2 * offset}`; + }); @ViewChildren(TuiHintHover) public readonly drivers: QueryList> = EMPTY_QUERY; @@ -89,6 +105,10 @@ export class TuiLineChart { this.value = value.filter((item) => !item.some(Number.isNaN)); } + public ngOnChanges(): void { + this.box.set(`${this.x} ${this.y} ${this.width} ${this.height}`); + } + public onHovered(index: number): void { this.hover$.next(index); } @@ -110,10 +130,6 @@ export class TuiLineChart { return this.filled ? `url(#${this.fillId})` : 'none'; } - protected get viewBox(): string { - return `${this.x} ${this.y} ${this.width} ${this.height}`; - } - protected get d(): string { return this.getD(this.value, this.smoothingFactor); } diff --git a/projects/addon-charts/components/line-chart/line-chart.style.less b/projects/addon-charts/components/line-chart/line-chart.style.less index 4e639bf2fe22..465b61635ce2 100644 --- a/projects/addon-charts/components/line-chart/line-chart.style.less +++ b/projects/addon-charts/components/line-chart/line-chart.style.less @@ -8,7 +8,9 @@ } .t-svg { + block-size: calc(100% + 1px); transform: scale(1, -1); + margin: -0.03125rem 0; } .t-column { diff --git a/projects/addon-charts/components/line-chart/line-chart.template.html b/projects/addon-charts/components/line-chart/line-chart.template.html index 2b9b3fe6e57b..85fa1ad69714 100644 --- a/projects/addon-charts/components/line-chart/line-chart.template.html +++ b/projects/addon-charts/components/line-chart/line-chart.template.html @@ -6,7 +6,7 @@ width="100%" xmlns="http://www.w3.org/2000/svg" class="t-svg" - [attr.viewBox]="viewBox" + [attr.viewBox]="viewBox()" > ([0, 0]); + private readonly el = tuiInjectElement(); + private readonly performance = inject(WA_PERFORMANCE); + private readonly animationFrame$ = inject(WA_ANIMATION_FRAME); + private readonly speed = inject(TUI_ANIMATIONS_SPEED); + protected readonly $ = this.sector$ + .pipe( + pairwise(), + switchMap(([prev, cur]) => { + const now = this.performance.now(); + const startDelta = cur[0] - prev[0]; + const endDelta = cur[1] - prev[1]; - constructor() { - const el = tuiInjectElement(); - const performance = inject(WA_PERFORMANCE); - const animationFrame$ = inject(WA_ANIMATION_FRAME); - const speed = inject(TUI_ANIMATIONS_SPEED); - - this.sector$ - .pipe( - pairwise(), - switchMap(([prev, cur]) => { - const now = performance.now(); - const startDelta = cur[0] - prev[0]; - const endDelta = cur[1] - prev[1]; - - return animationFrame$.pipe( - map((timestamp) => - tuiEaseInOutQuad( - tuiClamp((timestamp - now) / tuiGetDuration(speed), 0, 1), + return this.animationFrame$.pipe( + map((timestamp) => + tuiEaseInOutQuad( + tuiClamp( + (timestamp - now) / tuiGetDuration(this.speed), + 0, + 1, ), ), - takeWhile((progress) => progress < 1, true), - map((progress) => [ - prev[0] + startDelta * progress, - cur[1] > 359 ? cur[1] : prev[1] + endDelta * progress, - ]), - ); - }), - tuiZonefree(), - takeUntilDestroyed(), - ) - .subscribe(([start, end]) => - el.setAttribute('d', tuiDescribeSector(start, end)), - ); - } + ), + takeWhile((progress) => progress < 1, true), + map((progress) => [ + prev[0] + startDelta * progress, + cur[1] > 359 ? cur[1] : prev[1] + endDelta * progress, + ]), + ); + }), + tuiZonefree(), + takeUntilDestroyed(), + ) + .subscribe(([start, end]) => + this.el.setAttribute('d', tuiDescribeSector(start, end)), + ); @Input() public set tuiPieChart(sector: readonly [number, number]) { diff --git a/projects/addon-charts/package.json b/projects/addon-charts/package.json index dcb52c1abee2..50a34c64ba64 100644 --- a/projects/addon-charts/package.json +++ b/projects/addon-charts/package.json @@ -1,6 +1,6 @@ { "name": "@taiga-ui/addon-charts", - "version": "4.6.0", + "version": "4.8.1", "description": "Extension package for Taiga UI that adds various charts, graphs and related components.", "keywords": [ "angular", @@ -16,10 +16,10 @@ "peerDependencies": { "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", - "@ng-web-apis/common": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@ng-web-apis/common": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "tslib": "^2.7.0" } } diff --git a/projects/addon-commerce/components/input-card-group/input-card-group.component.ts b/projects/addon-commerce/components/input-card-group/input-card-group.component.ts index 701abc142c24..4ac1de5d8175 100644 --- a/projects/addon-commerce/components/input-card-group/input-card-group.component.ts +++ b/projects/addon-commerce/components/input-card-group/input-card-group.component.ts @@ -10,7 +10,7 @@ import { Output, ViewChild, } from '@angular/core'; -import {toSignal} from '@angular/core/rxjs-interop'; +import {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop'; import {FormsModule} from '@angular/forms'; import {MaskitoDirective} from '@maskito/angular'; import {WaResizeObserver} from '@ng-web-apis/resize-observer'; @@ -30,6 +30,7 @@ import {TuiLet} from '@taiga-ui/cdk/directives/let'; import {tuiTypedFromEvent} from '@taiga-ui/cdk/observables'; import {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper'; import {tuiInjectId} from '@taiga-ui/cdk/services'; +import {TUI_IS_WEBKIT} from '@taiga-ui/cdk/tokens'; import type {TuiBooleanHandler} from '@taiga-ui/cdk/types'; import {tuiInjectElement, tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom'; import {tuiIsNativeFocused, tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus'; @@ -45,6 +46,7 @@ import { TuiAppearance, tuiAppearance, tuiAppearanceFocus, + tuiAppearanceMode, tuiAppearanceState, } from '@taiga-ui/core/directives/appearance'; import { @@ -57,7 +59,7 @@ import {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens'; import {TuiChevron} from '@taiga-ui/kit/directives/chevron'; import type {PolymorpheusContent} from '@taiga-ui/polymorpheus'; import {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus'; -import {map, merge} from 'rxjs'; +import {EMPTY, map, merge, Subject, switchMap, timer} from 'rxjs'; import {TUI_INPUT_CARD_GROUP_OPTIONS} from './input-card-group.options'; import {TUI_INPUT_CARD_GROUP_TEXTS} from './input-card-group.providers'; @@ -104,8 +106,8 @@ export interface TuiCard { ], host: { 'data-size': 'l', - '[attr.data-mode]': 'mode()', '(mousedown)': 'onMouseDown($event)', + '(scroll.silent)': '$event.target.scrollLeft = 0', }, }) export class TuiInputCardGroup @@ -121,6 +123,7 @@ export class TuiInputCardGroup @ViewChild('inputCVC') private readonly inputCVC?: ElementRef; + private readonly focus$ = new Subject(); private expirePrefilled = false; private readonly paymentSystems = inject(TUI_PAYMENT_SYSTEM_ICONS); private readonly options = inject(TUI_INPUT_CARD_GROUP_OPTIONS); @@ -143,7 +146,16 @@ export class TuiInputCardGroup protected readonly icons = inject(TUI_COMMON_ICONS); protected readonly texts = toSignal(inject(TUI_INPUT_CARD_GROUP_TEXTS)); protected readonly open = tuiDropdownOpen(); - + protected readonly $ = inject(TUI_IS_WEBKIT) + ? this.focus$ + .pipe( + switchMap(() => timer(100)), + takeUntilDestroyed(), + ) + .subscribe(() => this.focusExpire()) + : EMPTY; + + protected readonly m = tuiAppearanceMode(this.mode); protected readonly appearance = tuiAppearance( inject(TUI_TEXTFIELD_OPTIONS).appearance, ); @@ -232,8 +244,14 @@ export class TuiInputCardGroup public clear(): void { this.expirePrefilled = false; + + [this.inputCVC, this.inputExpire, this.inputCard].forEach((e) => { + e?.nativeElement.focus(); + e?.nativeElement.select(); + e?.nativeElement.ownerDocument.execCommand('delete'); + }); + this.onChange(null); - this.focusCard(); } public onResize(): void { @@ -306,6 +324,8 @@ export class TuiInputCardGroup if (this.cardValidator(this.card) && !value()?.expire && this.inputExpire) { this.focusExpire(); + // Safari autofill focus jerk workaround + this.focus$.next(); } } diff --git a/projects/addon-commerce/components/input-card-group/input-card-group.style.less b/projects/addon-commerce/components/input-card-group/input-card-group.style.less index 6a8ba3e31f9d..121e6b686976 100644 --- a/projects/addon-commerce/components/input-card-group/input-card-group.style.less +++ b/projects/addon-commerce/components/input-card-group/input-card-group.style.less @@ -13,7 +13,7 @@ block-size: var(--tui-height-l); inline-size: @width-full; border-radius: var(--tui-radius-l); - overflow: clip; + overflow: hidden; :host-context(tui-root._mobile) { inline-size: @width-mobile; @@ -196,7 +196,7 @@ transform: translateY(-0.7em); } - :host([data-mode='invalid']) & { + :host([data-mode~='invalid']) & { color: var(--tui-text-negative); } diff --git a/projects/addon-commerce/components/input-card/index.ts b/projects/addon-commerce/components/input-card/index.ts index 8eb9ce2646d3..46c53e89c008 100644 --- a/projects/addon-commerce/components/input-card/index.ts +++ b/projects/addon-commerce/components/input-card/index.ts @@ -1,2 +1,2 @@ -export * from './input-card.directive'; +export * from './input-card.component'; export * from './input-card.options'; diff --git a/projects/addon-commerce/components/input-card/input-card.directive.ts b/projects/addon-commerce/components/input-card/input-card.component.ts similarity index 64% rename from projects/addon-commerce/components/input-card/input-card.directive.ts rename to projects/addon-commerce/components/input-card/input-card.component.ts index 4d0f249ce554..f8e2bcd9ca53 100644 --- a/projects/addon-commerce/components/input-card/input-card.directive.ts +++ b/projects/addon-commerce/components/input-card/input-card.component.ts @@ -1,27 +1,47 @@ -import type {OnInit} from '@angular/core'; -import {Directive, inject, Input, Output} from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + computed, + inject, + Input, + type OnInit, + Output, + ViewEncapsulation, +} from '@angular/core'; +import {toObservable, toSignal} from '@angular/core/rxjs-interop'; import {DefaultValueAccessor, NgControl} from '@angular/forms'; import {MaskitoDirective} from '@maskito/angular'; import {TUI_MASK_CARD} from '@taiga-ui/addon-commerce/constants'; import {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens'; -import type {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types'; import {tuiControlValue} from '@taiga-ui/cdk/observables'; -import {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous'; +import {TuiTextfieldContent} from '@taiga-ui/core/components/textfield'; import {tuiInjectIconResolver} from '@taiga-ui/core/tokens'; import {tuiMaskito} from '@taiga-ui/kit/utils'; import {distinctUntilChanged, map, skip, startWith, switchMap, timer} from 'rxjs'; import {TUI_INPUT_CARD_OPTIONS} from './input-card.options'; -@Directive({ +@Component({ standalone: true, selector: 'input[tuiInputCard]', + imports: [TuiTextfieldContent], + template: ` + + `, + styleUrls: ['./input-card.style.less'], + encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [MaskitoDirective], host: { inputmode: 'numeric', placeholder: '0000 0000 0000 0000', '[autocomplete]': 'autocomplete ? "cc-number" : "off"', - '[style.background-image]': 'backgroundImage', }, }) export class TuiInputCard implements OnInit { @@ -29,12 +49,24 @@ export class TuiInputCard implements OnInit { private readonly options = inject(TUI_INPUT_CARD_OPTIONS); private readonly resolver = tuiInjectIconResolver(); private readonly control = inject(NgControl); + private readonly value = toSignal( + timer(0).pipe(switchMap(() => tuiControlValue(this.control))), + {initialValue: ''}, + ); + private readonly accessor = inject(DefaultValueAccessor, { self: true, optional: true, }); protected readonly mask = tuiMaskito(TUI_MASK_CARD); + protected readonly image = computed(() => { + const system = this.options.paymentSystemHandler(this.value()); + const icon = system && this.icons[system] && this.resolver(this.icons[system]); + const url = this.icon || icon; + + return url && this.icon !== '' ? url : null; + }); @Input() public autocomplete = this.options.autocomplete; @@ -43,8 +75,7 @@ export class TuiInputCard implements OnInit { public icon = this.options.icon; @Output() - public readonly binChange = timer(0).pipe( - switchMap(() => tuiControlValue(this.control)), + public readonly binChange = toObservable(this.value).pipe( map((value) => (value.length < 6 ? null : value.replace(' ', '').slice(0, 6))), startWith(null), distinctUntilChanged(), @@ -60,17 +91,4 @@ export class TuiInputCard implements OnInit { this.accessor.onChange = (value: string) => onChanges(value.replaceAll(' ', '')); } - - protected get backgroundImage(): string | null { - const system = this.getPaymentSystem(this.control.value); - const icon = system && this.icons[system] && this.resolver(this.icons[system]); - const url = this.icon || icon; - - return url && this.icon !== '' ? `url(${url})` : null; - } - - @tuiPure - private getPaymentSystem(value: string): TuiPaymentSystem | null { - return this.options.paymentSystemHandler(value); - } } diff --git a/projects/addon-commerce/components/input-card/input-card.style.less b/projects/addon-commerce/components/input-card/input-card.style.less new file mode 100644 index 000000000000..0306af19d5db --- /dev/null +++ b/projects/addon-commerce/components/input-card/input-card.style.less @@ -0,0 +1,8 @@ +tui-textfield .t-payment-system { + order: -1; + inline-size: 1.5rem; +} + +tui-textfield[data-size='l'] .t-payment-system { + inline-size: 2rem; +} diff --git a/projects/addon-commerce/package.json b/projects/addon-commerce/package.json index ec983ce49dae..4aa407615285 100644 --- a/projects/addon-commerce/package.json +++ b/projects/addon-commerce/package.json @@ -1,6 +1,6 @@ { "name": "@taiga-ui/addon-commerce", - "version": "4.6.0", + "version": "4.8.1", "description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.", "keywords": [ "angular", @@ -17,15 +17,15 @@ "@angular/common": ">=16.0.0", "@angular/core": ">=16.0.0", "@angular/forms": ">=16.0.0", - "@maskito/angular": "^3.0.1", - "@maskito/core": "^3.0.1", - "@maskito/kit": "^3.0.1", - "@ng-web-apis/common": "^4.5.0", - "@taiga-ui/cdk": "^4.6.0", - "@taiga-ui/core": "^4.6.0", - "@taiga-ui/i18n": "^4.6.0", - "@taiga-ui/kit": "^4.6.0", - "@taiga-ui/polymorpheus": "^4.7.1", + "@maskito/angular": "^3.0.3", + "@maskito/core": "^3.0.3", + "@maskito/kit": "^3.0.3", + "@ng-web-apis/common": "^4.6.4", + "@taiga-ui/cdk": "^4.8.1", + "@taiga-ui/core": "^4.8.1", + "@taiga-ui/i18n": "^4.8.1", + "@taiga-ui/kit": "^4.8.1", + "@taiga-ui/polymorpheus": "^4.7.3", "rxjs": ">=7.0.0", "tslib": "^2.7.0" } diff --git a/projects/addon-doc/README.md b/projects/addon-doc/README.md index de9a86257278..288063c15e23 100644 --- a/projects/addon-doc/README.md +++ b/projects/addon-doc/README.md @@ -72,6 +72,8 @@ npm i @taiga-ui/addon-doc `TUI_DOC_SEE_ALSO` — a two dimensional array of related pages by their titles + `TUI_DOC_SEARCH_ENABLED` — enable doc search. Default value is true + 4. Configure routing: ```typescript diff --git a/projects/addon-doc/components/api/api-item.component.ts b/projects/addon-doc/components/api/api-item.component.ts index e35f6d803e63..c88011668237 100644 --- a/projects/addon-doc/components/api/api-item.component.ts +++ b/projects/addon-doc/components/api/api-item.component.ts @@ -1,12 +1,18 @@ -import {NgForOf, NgIf, NgSwitch, NgSwitchCase} from '@angular/common'; +import {Location, NgForOf, NgIf, NgSwitch, NgSwitchCase} from '@angular/common'; import { ChangeDetectionStrategy, Component, EventEmitter, + inject, Input, + type OnInit, Output, } from '@angular/core'; import {FormsModule} from '@angular/forms'; +import {ActivatedRoute, type Params, UrlSerializer} from '@angular/router'; +import {TUI_DOC_URL_STATE_HANDLER} from '@taiga-ui/addon-doc/tokens'; +import {tuiCoerceValue} from '@taiga-ui/addon-doc/utils'; +import {tuiIsNumber} from '@taiga-ui/cdk/utils/miscellaneous'; import {TuiIcon} from '@taiga-ui/core/components/icon'; import {TuiTextfield} from '@taiga-ui/core/components/textfield'; import {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper'; @@ -18,6 +24,8 @@ import {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfiel import {TuiInspectPipe} from '../documentation/pipes/inspect.pipe'; import {TuiDocTypeReferencePipe} from '../documentation/pipes/type-reference.pipe'; +const SERIALIZED_SUFFIX = '$'; + @Component({ standalone: true, selector: 'tr[tuiDocAPIItem]', @@ -41,7 +49,12 @@ import {TuiDocTypeReferencePipe} from '../documentation/pipes/type-reference.pip styleUrls: ['./api-item.style.less'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class TuiDocAPIItem { +export class TuiDocAPIItem implements OnInit { + private readonly locationRef = inject(Location); + private readonly activatedRoute = inject(ActivatedRoute); + private readonly urlSerializer = inject(UrlSerializer); + private readonly urlStateHandler = inject(TUI_DOC_URL_STATE_HANDLER); + @Input() public name = ''; @@ -56,4 +69,58 @@ export class TuiDocAPIItem { @Output() public readonly valueChange = new EventEmitter(); + + public ngOnInit(): void { + this.parseParams(this.activatedRoute.snapshot.queryParams); + } + + public onValueChange(value: T): void { + this.value = value; + this.valueChange.emit(value); + this.setQueryParam(value); + } + + private clearBrackets(value: string): string { + return value.replaceAll(/[()[\]]/g, ''); + } + + private parseParams(params: Params): void { + const name = this.clearBrackets(this.name); + const propertyValue: string | undefined = params[name]; + const propertyValueWithSuffix: number | string | undefined = + params[`${name}${SERIALIZED_SUFFIX}`]; + + if (!propertyValue && !propertyValueWithSuffix) { + return; + } + + let value = + !!propertyValueWithSuffix && this.items + ? this.items[propertyValueWithSuffix as number] + : tuiCoerceValue(propertyValue); + + if (this.type === 'string' && tuiIsNumber(value)) { + value = value.toString(); + } + + this.onValueChange(value as T); + } + + private setQueryParam(value: T | boolean | number | string | null): void { + const tree = this.urlSerializer.parse(this.locationRef.path()); + + const isValueAvailableByKey = value instanceof Object; + const computedValue = + isValueAvailableByKey && this.items ? this.items.indexOf(value as T) : value; + + const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : ''; + const propName = this.clearBrackets(this.name) + suffix; + + tree.queryParams = { + ...tree.queryParams, + [propName]: computedValue, + }; + + this.locationRef.go(this.urlStateHandler(tree)); + } } diff --git a/projects/addon-doc/components/api/api-item.template.html b/projects/addon-doc/components/api/api-item.template.html index 9dcde905fca7..06993cd8f01b 100644 --- a/projects/addon-doc/components/api/api-item.template.html +++ b/projects/addon-doc/components/api/api-item.template.html @@ -44,7 +44,7 @@ placeholder="null" tuiTextfield [ngModel]="value ?? null" - (ngModelChange)="valueChange.emit($event)" + (ngModelChange)="onValueChange($event)" > @@ -90,7 +90,7 @@ [ngModel]="value" [step]="1" [tuiTextfieldLabelOutside]="true" - (ngModelChange)="valueChange.emit($event || 0)" + (ngModelChange)="onValueChange($event || 0)" /> diff --git a/projects/addon-doc/components/demo/index.html b/projects/addon-doc/components/demo/index.html index fb503faa26ee..8c4b82f8e970 100644 --- a/projects/addon-doc/components/demo/index.html +++ b/projects/addon-doc/components/demo/index.html @@ -4,7 +4,7 @@ size="s" tuiSwitch type="checkbox" - [ngModel]="dark" + [ngModel]="dark()" (ngModelChange)="onModeChange($event)" /> {{ texts[0] }} @@ -23,7 +23,7 @@
diff --git a/projects/addon-doc/components/demo/index.ts b/projects/addon-doc/components/demo/index.ts index 4142d2bf023d..465435f721ad 100644 --- a/projects/addon-doc/components/demo/index.ts +++ b/projects/addon-doc/components/demo/index.ts @@ -1,14 +1,18 @@ import {JsonPipe, Location, NgIf, NgTemplateOutlet} from '@angular/common'; -import type {ElementRef, OnInit} from '@angular/core'; import { ChangeDetectionStrategy, Component, + computed, ContentChild, + type ElementRef, inject, Input, + type OnInit, + signal, TemplateRef, ViewChild, } from '@angular/core'; +import {takeUntilDestroyed, toObservable} from '@angular/core/rxjs-interop'; import type {AbstractControl} from '@angular/forms'; import {FormGroup, FormsModule, ReactiveFormsModule} from '@angular/forms'; import type {Params, UrlTree} from '@angular/router'; @@ -29,6 +33,7 @@ import {TuiSwitch} from '@taiga-ui/kit/components/switch'; import {TuiChevron} from '@taiga-ui/kit/directives/chevron'; import {TuiSelectModule} from '@taiga-ui/legacy/components/select'; import {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfield-controller'; +import {skip} from 'rxjs'; const MIN_WIDTH = 160; @@ -75,14 +80,21 @@ export class TuiDocDemo implements OnInit { private readonly locationRef = inject(Location); private readonly urlSerializer = inject(UrlSerializer); private readonly urlStateHandler = inject(TUI_DOC_URL_STATE_HANDLER); + private readonly darkMode = inject(TUI_DARK_MODE); @ContentChild(TemplateRef) protected readonly template: TemplateRef> | null = null; - protected dark = tuiCoerceValueIsTrue( - this.params.darkMode ?? inject(TUI_DARK_MODE)(), + protected theme = computed(() => (this.dark() ? 'dark' : 'light')); + + protected dark = signal( + tuiCoerceValueIsTrue(this.params.darkMode ?? this.darkMode()), ); + protected readonly $ = toObservable(this.darkMode) + .pipe(skip(1), takeUntilDestroyed()) + .subscribe((mode) => this.onModeChange(mode)); + protected testForm?: FormGroup; protected readonly updateOnVariants = ['change', 'blur', 'submit'] as const; @@ -115,9 +127,9 @@ export class TuiDocDemo implements OnInit { this.updateUrl({sandboxWidth: this.sandboxWidth}); } - protected onModeChange(dark: boolean): void { - this.dark = dark; - this.updateUrl({sandboxWidth: this.sandboxWidth, darkMode: this.dark}); + protected onModeChange(darkMode: boolean): void { + this.dark.set(darkMode); + this.updateUrl({sandboxWidth: this.sandboxWidth, darkMode}); } protected toggleDetails(): void { diff --git a/projects/addon-doc/components/example/example.component.ts b/projects/addon-doc/components/example/example.component.ts index 93b8ca1f4432..4e1062a9cdd4 100644 --- a/projects/addon-doc/components/example/example.component.ts +++ b/projects/addon-doc/components/example/example.component.ts @@ -12,8 +12,8 @@ import { } from '@taiga-ui/addon-doc/tokens'; import type {TuiRawLoaderContent} from '@taiga-ui/addon-doc/types'; import {tuiRawLoadRecord} from '@taiga-ui/addon-doc/utils'; +import {TuiLet} from '@taiga-ui/cdk/directives/let'; import {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper'; -import {TUI_IS_E2E} from '@taiga-ui/cdk/tokens'; import type {TuiContext} from '@taiga-ui/cdk/types'; import {TuiAlertService} from '@taiga-ui/core/components/alert'; import {TuiButton} from '@taiga-ui/core/components/button'; @@ -49,6 +49,7 @@ import {TuiDocExampleGetTabsPipe} from './example-get-tabs.pipe'; TuiButton, TuiDocCode, TuiDocExampleGetTabsPipe, + TuiLet, TuiLink, TuiLoader, TuiMapperPipe, @@ -81,7 +82,6 @@ export class TuiDocExample { protected readonly options = inject(TUI_DOC_EXAMPLE_OPTIONS); protected readonly texts = inject(TUI_DOC_EXAMPLE_TEXTS); protected readonly codeEditor = inject(TUI_DOC_CODE_EDITOR, {optional: true}); - protected readonly isE2E = inject(TUI_IS_E2E); protected readonly codeActions = inject>>>( TUI_DOC_CODE_ACTIONS, diff --git a/projects/addon-doc/components/example/example.style.less b/projects/addon-doc/components/example/example.style.less index 7a24f7fc9d5f..f9d4a70db145 100644 --- a/projects/addon-doc/components/example/example.style.less +++ b/projects/addon-doc/components/example/example.style.less @@ -112,23 +112,6 @@ } } -.t-content { - will-change: opacity; - block-size: 0; - visibility: hidden; - opacity: 0; -} - -.t-content_animated { - transition: opacity 300ms ease-in-out; -} - -.t-content_visible { - block-size: auto; - visibility: visible; - opacity: 1; -} - tui-doc-code { overflow: hidden; } diff --git a/projects/addon-doc/components/example/example.template.html b/projects/addon-doc/components/example/example.template.html index 33d674fb4280..724070862745 100644 --- a/projects/addon-doc/components/example/example.template.html +++ b/projects/addon-doc/components/example/example.template.html @@ -1,5 +1,5 @@
-

@@ -7,7 +7,7 @@ *polymorpheusOutlet="heading as text" [textContent]="text" > -

+
-

{{ text }} -

+
- - - - +
+ + + {{ text }} + +
+ + + + + {{ text }} + + +
- - -
- - - {{ text }} - -
-
- - - - - - {{ text }} - - - - diff --git a/projects/addon-doc/components/index.ts b/projects/addon-doc/components/index.ts index 1242a73b8e26..53d5b231bb49 100644 --- a/projects/addon-doc/components/index.ts +++ b/projects/addon-doc/components/index.ts @@ -24,6 +24,7 @@ export * from './language-switcher'; export * from './main/main.component'; export * from './navigation/navigation.component'; export * from './navigation/navigation.providers'; +export * from './navigation/scroll-into-view.directive'; export * from './page/page.component'; export * from './page/page.providers'; export * from './page/page-tab.directive'; diff --git a/projects/addon-doc/components/language-switcher/index.html b/projects/addon-doc/components/language-switcher/index.html index 1e45f5db7919..00220f727f90 100644 --- a/projects/addon-doc/components/language-switcher/index.html +++ b/projects/addon-doc/components/language-switcher/index.html @@ -1,19 +1,39 @@ - - - - - - + + + + + + + + diff --git a/projects/addon-doc/components/language-switcher/index.less b/projects/addon-doc/components/language-switcher/index.less index f251c9234da9..4d16fb4f6089 100644 --- a/projects/addon-doc/components/language-switcher/index.less +++ b/projects/addon-doc/components/language-switcher/index.less @@ -4,3 +4,12 @@ border-radius: 50%; margin-right: 0.5rem; } + +[tuiOption] { + justify-content: flex-start; + gap: 0.5rem; +} + +img { + box-shadow: inset 0 0 0 1px var(--tui-border-normal); +} diff --git a/projects/addon-doc/components/language-switcher/index.ts b/projects/addon-doc/components/language-switcher/index.ts index a54cd3477af6..1897e54d864b 100644 --- a/projects/addon-doc/components/language-switcher/index.ts +++ b/projects/addon-doc/components/language-switcher/index.ts @@ -1,33 +1,46 @@ -import {NgForOf, TitleCasePipe} from '@angular/common'; +import {NgForOf, NgIf, TitleCasePipe} from '@angular/common'; import {ChangeDetectionStrategy, Component, inject} from '@angular/core'; import {FormControl, ReactiveFormsModule} from '@angular/forms'; +import {TUI_DOC_ICONS} from '@taiga-ui/addon-doc/tokens'; import {TuiButton} from '@taiga-ui/core/components/button'; import {TuiDataList} from '@taiga-ui/core/components/data-list'; +import {tuiScrollbarOptionsProvider} from '@taiga-ui/core/components/scrollbar'; +import {TuiTextfield} from '@taiga-ui/core/components/textfield'; import {TuiFlagPipe} from '@taiga-ui/core/pipes/flag'; import type {TuiCountryIsoCode, TuiLanguageName} from '@taiga-ui/i18n/types'; import {TuiLanguageSwitcherService} from '@taiga-ui/i18n/utils'; -import {TuiSelectModule} from '@taiga-ui/legacy/components/select'; +import {TuiBadge} from '@taiga-ui/kit/components/badge'; +import {TuiBadgedContent} from '@taiga-ui/kit/components/badged-content'; +import {TuiButtonSelect} from '@taiga-ui/kit/directives/button-select'; @Component({ standalone: true, selector: 'tui-doc-language-switcher', imports: [ NgForOf, + NgIf, ReactiveFormsModule, TitleCasePipe, + TuiBadge, + TuiBadgedContent, TuiButton, + TuiButtonSelect, TuiDataList, TuiFlagPipe, - TuiSelectModule, + TuiTextfield, ], templateUrl: './index.html', styleUrls: ['./index.less'], changeDetection: ChangeDetectionStrategy.OnPush, + providers: [tuiScrollbarOptionsProvider({mode: 'hover'})], }) export class TuiDocLanguageSwitcher { + protected readonly icons = inject(TUI_DOC_ICONS); protected readonly switcher = inject(TuiLanguageSwitcherService); protected readonly language = new FormControl(capitalize(this.switcher.language)); + protected open = false; + public readonly flags = new Map([ ['belarusian', 'BY'], ['chinese', 'CN'], @@ -51,6 +64,12 @@ export class TuiDocLanguageSwitcher { ]); public readonly names: TuiLanguageName[] = Array.from(this.flags.keys()); + + public setLang(lang: TuiLanguageName): void { + this.language.setValue(lang); + this.switcher.setLanguage(lang); + this.open = false; + } } function capitalize(value: string): string { diff --git a/projects/addon-doc/components/main/main.component.ts b/projects/addon-doc/components/main/main.component.ts index e269a35d151d..5e2ee237f5b5 100644 --- a/projects/addon-doc/components/main/main.component.ts +++ b/projects/addon-doc/components/main/main.component.ts @@ -1,6 +1,7 @@ import { ChangeDetectionStrategy, Component, + computed, inject, ViewEncapsulation, } from '@angular/core'; @@ -26,10 +27,9 @@ import {TuiDocNavigation} from '../navigation/navigation.component'; }) export class TuiDocMain { private readonly icons = inject(TUI_DOC_ICONS); - protected readonly darkMode = inject(TUI_DARK_MODE); - - protected get icon(): string { - return this.darkMode() ? this.icons.light : this.icons.dark; - } + protected readonly theme = computed(() => (this.darkMode() ? 'dark' : null)); + protected readonly icon = computed(() => + this.darkMode() ? this.icons.light : this.icons.dark, + ); } diff --git a/projects/addon-doc/components/main/main.template.html b/projects/addon-doc/components/main/main.template.html index 4614b3904ee7..852ae7f54d0b 100644 --- a/projects/addon-doc/components/main/main.template.html +++ b/projects/addon-doc/components/main/main.template.html @@ -1,4 +1,4 @@ - +
@@ -11,11 +11,12 @@ diff --git a/projects/addon-doc/components/navigation/navigation.component.ts b/projects/addon-doc/components/navigation/navigation.component.ts index e53ec55f8e82..f6fb2818c942 100644 --- a/projects/addon-doc/components/navigation/navigation.component.ts +++ b/projects/addon-doc/components/navigation/navigation.component.ts @@ -3,22 +3,19 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, + ElementRef, inject, + signal, ViewChild, } from '@angular/core'; import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; import {FormControl, ReactiveFormsModule} from '@angular/forms'; import {Title} from '@angular/platform-browser'; -import { - ActivatedRoute, - Router, - RouterLink, - RouterLinkActive, - Scroll, -} from '@angular/router'; +import {Router, RouterLink, RouterLinkActive, Scroll} from '@angular/router'; import { TUI_DOC_ICONS, TUI_DOC_PAGE_LOADED, + TUI_DOC_SEARCH_ENABLED, TUI_DOC_SEARCH_TEXT, } from '@taiga-ui/addon-doc/tokens'; import type {TuiDocRoutePage, TuiDocRoutePages} from '@taiga-ui/addon-doc/types'; @@ -32,10 +29,10 @@ import {TuiExpand} from '@taiga-ui/core/components/expand'; import {TuiIcon} from '@taiga-ui/core/components/icon'; import {TuiLink} from '@taiga-ui/core/components/link'; import {TuiScrollbar} from '@taiga-ui/core/components/scrollbar'; -import {TuiTextfield} from '@taiga-ui/core/components/textfield'; +import {TuiTextfield, TuiTextfieldDirective} from '@taiga-ui/core/components/textfield'; import {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens'; import {TuiAccordion} from '@taiga-ui/kit/components/accordion'; -import {TuiInputComponent, TuiInputModule} from '@taiga-ui/legacy/components/input'; +import {TuiInputModule} from '@taiga-ui/legacy/components/input'; import {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfield-controller'; import {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus'; import {combineLatest, filter, map, switchMap, take} from 'rxjs'; @@ -83,19 +80,20 @@ import {TuiDocScrollIntoViewLink} from './scroll-into-view.directive'; }, }) export class TuiDocNavigation { - @ViewChild(TuiInputComponent, {static: true}) - private readonly searchInput?: TuiInputComponent; + @ViewChild(TuiTextfieldDirective, {read: ElementRef}) + private readonly searchInput?: ElementRef; private readonly router = inject(Router); private readonly doc = inject(DOCUMENT); + protected open = signal(false); protected menuOpen = false; protected readonly sidebar = inject(TuiSidebarDirective, {optional: true}); protected readonly labels = inject(NAVIGATION_LABELS); protected readonly items = inject(NAVIGATION_ITEMS); protected readonly searchText = inject(TUI_DOC_SEARCH_TEXT); - protected readonly activatedRoute = inject(ActivatedRoute); + protected readonly searchEnabled = inject(TUI_DOC_SEARCH_ENABLED); protected readonly docIcons = inject(TUI_DOC_ICONS); protected readonly icons = inject(TUI_COMMON_ICONS); @@ -162,8 +160,8 @@ export class TuiDocNavigation { this.menuOpen = false; } - protected onClick(input: TuiInputComponent): void { - input.open = false; + protected onClick(): void { + this.open.set(false); this.menuOpen = false; this.search.setValue(''); this.openActivePageGroup(); @@ -172,9 +170,9 @@ export class TuiDocNavigation { protected onFocusSearch(event: KeyboardEvent): void { if ( event.code === 'Slash' && - !(this.doc.activeElement instanceof HTMLInputElement) + !this.doc.activeElement?.matches('input,textarea,[contenteditable]') ) { - this.searchInput?.nativeFocusableElement?.focus(); + this.searchInput?.nativeElement?.focus(); event.preventDefault(); } } diff --git a/projects/addon-doc/components/navigation/navigation.providers.ts b/projects/addon-doc/components/navigation/navigation.providers.ts index a4a2952c3260..d3a5d1c4ea46 100644 --- a/projects/addon-doc/components/navigation/navigation.providers.ts +++ b/projects/addon-doc/components/navigation/navigation.providers.ts @@ -1,11 +1,11 @@ import type {Provider} from '@angular/core'; -import {InjectionToken} from '@angular/core'; import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; import type {Event} from '@angular/router'; import {ActivatedRoute, NavigationEnd, Router, Scroll} from '@angular/router'; import {TUI_DOC_PAGES, TUI_DOC_TITLE} from '@taiga-ui/addon-doc/tokens'; import type {TuiDocRoutePages} from '@taiga-ui/addon-doc/types'; -import {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous'; +import {tuiAutoFocusOptionsProvider} from '@taiga-ui/cdk/directives/auto-focus'; +import {tuiCreateToken, tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous'; import {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link'; import {tuiScrollbarOptionsProvider} from '@taiga-ui/core/components/scrollbar'; import type {Observable} from 'rxjs'; @@ -21,24 +21,20 @@ function labelsProviderFactory(pages: TuiDocRoutePages): readonly string[] { /** * Page title */ -export const NAVIGATION_TITLE = new InjectionToken>( - '[NAVIGATION_TITLE]', -); +export const NAVIGATION_TITLE = tuiCreateToken>(); /** * Navigation sections labels for search */ -export const NAVIGATION_LABELS = new InjectionToken( - '[NAVIGATION_LABELS]', -); +export const NAVIGATION_LABELS = tuiCreateToken(); /** * Navigation pages */ -export const NAVIGATION_ITEMS: InjectionToken = - new InjectionToken('[NAVIGATION_ITEMS]'); +export const NAVIGATION_ITEMS = tuiCreateToken(); export const NAVIGATION_PROVIDERS: Provider[] = [ + tuiAutoFocusOptionsProvider({preventScroll: true}), tuiLinkOptionsProvider({appearance: 'icon'}), { provide: NAVIGATION_TITLE, diff --git a/projects/addon-doc/components/navigation/navigation.style.less b/projects/addon-doc/components/navigation/navigation.style.less index 10cecc016ca4..4e6821f1ea2f 100644 --- a/projects/addon-doc/components/navigation/navigation.style.less +++ b/projects/addon-doc/components/navigation/navigation.style.less @@ -15,17 +15,11 @@ ::ng-deep tui-icon { border: 0.25rem solid transparent; } +} - .t-search-text { - display: flex; - flex-direction: row; - justify-content: space-between; - - .t-slash { - block-size: 1rem; - font-size: 0.5rem; - } - } +.t-slash { + block-size: 1rem; + font-size: 0.5rem; } .t-navigation { @@ -40,6 +34,10 @@ } } +.t-accordion-standalone { + margin-top: 1rem; +} + .t-scrollbar { scroll-behavior: var(--tui-scroll-behavior); inline-size: 100%; @@ -71,6 +69,10 @@ } } +.t-prevent-ios-scroll { + .tui-prevent-ios-scroll(); +} + .t-subsection { margin-left: 0.5rem; } diff --git a/projects/addon-doc/components/navigation/navigation.template.html b/projects/addon-doc/components/navigation/navigation.template.html index a3b5f2c63072..403052c11c32 100644 --- a/projects/addon-doc/components/navigation/navigation.template.html +++ b/projects/addon-doc/components/navigation/navigation.template.html @@ -1,19 +1,27 @@ - -
- {{ searchText }} - / -
+ + / + + - + {{ item.title }} -
+
- -
- -
+
-
-

Title

-
- - Some text - -
- -
+
+ +
+ Title +
Description
+
+
+
diff --git a/projects/demo/src/modules/components/card-large/examples/8/index.less b/projects/demo/src/modules/components/card-large/examples/8/index.less index 659872604718..e69de29bb2d1 100644 --- a/projects/demo/src/modules/components/card-large/examples/8/index.less +++ b/projects/demo/src/modules/components/card-large/examples/8/index.less @@ -1,6 +0,0 @@ -:host { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1rem; - inline-size: 30rem; -} diff --git a/projects/demo/src/modules/components/card-large/examples/8/index.ts b/projects/demo/src/modules/components/card-large/examples/8/index.ts index 635369d30919..fa599740bd8a 100644 --- a/projects/demo/src/modules/components/card-large/examples/8/index.ts +++ b/projects/demo/src/modules/components/card-large/examples/8/index.ts @@ -1,7 +1,8 @@ import {Component} from '@angular/core'; import {changeDetection} from '@demo/emulate/change-detection'; import {encapsulation} from '@demo/emulate/encapsulation'; -import {TuiButton, TuiSurface, TuiTitle} from '@taiga-ui/core'; +import {TuiRepeatTimes} from '@taiga-ui/cdk'; +import {TuiButton, TuiSurface} from '@taiga-ui/core'; import {TuiAvatar} from '@taiga-ui/kit'; import {TuiCardLarge, TuiCell, TuiHeader} from '@taiga-ui/layout'; @@ -13,11 +14,11 @@ import {TuiCardLarge, TuiCell, TuiHeader} from '@taiga-ui/layout'; TuiCardLarge, TuiCell, TuiHeader, + TuiRepeatTimes, TuiSurface, - TuiTitle, ], templateUrl: './index.html', - styleUrls: ['./index.less'], + styles: [':host { display: flex; flex-direction: column; gap: 2rem}'], encapsulation, changeDetection, }) diff --git a/projects/demo/src/modules/components/card-large/examples/9/index.html b/projects/demo/src/modules/components/card-large/examples/9/index.html index 72cf5200e8c3..ca5517dca016 100644 --- a/projects/demo/src/modules/components/card-large/examples/9/index.html +++ b/projects/demo/src/modules/components/card-large/examples/9/index.html @@ -3,22 +3,40 @@ tuiSurface="elevated" >
-

+

Title

+
+ +
+ +
Title - Subtitle - +
Description
+
+
+ +
+ +
+ +
+
+

Title

-
- -
+ Some text
+
+
- - -
- Can be attached as host directive: - hostDirectives: [TuiConnected] -
-
diff --git a/projects/demo/src/modules/components/cell/examples/8/index.ts b/projects/demo/src/modules/components/cell/examples/8/index.ts index deeaba5d8adb..87599491cd85 100644 --- a/projects/demo/src/modules/components/cell/examples/8/index.ts +++ b/projects/demo/src/modules/components/cell/examples/8/index.ts @@ -50,7 +50,8 @@ export default class Example { { icon: '@tui.mail', title: 'Send message', - subtitle: 'Keep it short', + subtitle: + 'Allow outgoing unusual call that can change your life in an unusual way', }, { icon: '@tui.lock', diff --git a/projects/demo/src/modules/components/checkbox/examples/2/index.ts b/projects/demo/src/modules/components/checkbox/examples/2/index.ts index 88df8d0cb531..3e55afb31ae3 100644 --- a/projects/demo/src/modules/components/checkbox/examples/2/index.ts +++ b/projects/demo/src/modules/components/checkbox/examples/2/index.ts @@ -3,11 +3,10 @@ import {changeDetection} from '@demo/emulate/change-detection'; import {encapsulation} from '@demo/emulate/encapsulation'; import {TuiButton} from '@taiga-ui/core'; import {TuiCheckbox} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; @Component({ standalone: true, - imports: [TuiAsideItemDirective, TuiButton, TuiCheckbox], + imports: [TuiButton, TuiCheckbox], templateUrl: './index.html', encapsulation, changeDetection, diff --git a/projects/demo/src/modules/components/chip/examples/2/index.ts b/projects/demo/src/modules/components/chip/examples/2/index.ts index 40f18baa619e..42c896009630 100644 --- a/projects/demo/src/modules/components/chip/examples/2/index.ts +++ b/projects/demo/src/modules/components/chip/examples/2/index.ts @@ -4,19 +4,10 @@ import {changeDetection} from '@demo/emulate/change-detection'; import {encapsulation} from '@demo/emulate/encapsulation'; import {TuiButton} from '@taiga-ui/core'; import {TuiAvatar, TuiChip} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; @Component({ standalone: true, - imports: [ - NgForOf, - NgIf, - SlicePipe, - TuiAsideItemDirective, - TuiAvatar, - TuiButton, - TuiChip, - ], + imports: [NgForOf, NgIf, SlicePipe, TuiAvatar, TuiButton, TuiChip], templateUrl: './index.html', styleUrls: ['./index.less'], encapsulation, diff --git a/projects/demo/src/modules/components/chip/examples/3/index.ts b/projects/demo/src/modules/components/chip/examples/3/index.ts index 19b60c52c3c9..f1996f895a26 100644 --- a/projects/demo/src/modules/components/chip/examples/3/index.ts +++ b/projects/demo/src/modules/components/chip/examples/3/index.ts @@ -5,18 +5,10 @@ import {encapsulation} from '@demo/emulate/encapsulation'; import {TuiRepeatTimes} from '@taiga-ui/cdk'; import {TuiAlertService, TuiButton} from '@taiga-ui/core'; import {TuiCheckbox, TuiChip} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; @Component({ standalone: true, - imports: [ - FormsModule, - TuiAsideItemDirective, - TuiButton, - TuiCheckbox, - TuiChip, - TuiRepeatTimes, - ], + imports: [FormsModule, TuiButton, TuiCheckbox, TuiChip, TuiRepeatTimes], templateUrl: './index.html', styleUrls: ['./index.less'], encapsulation, diff --git a/projects/demo/src/modules/components/chip/examples/4/index.ts b/projects/demo/src/modules/components/chip/examples/4/index.ts index f28397ca4470..52b36040e739 100644 --- a/projects/demo/src/modules/components/chip/examples/4/index.ts +++ b/projects/demo/src/modules/components/chip/examples/4/index.ts @@ -5,14 +5,12 @@ import {encapsulation} from '@demo/emulate/encapsulation'; import {TuiAmountPipe} from '@taiga-ui/addon-commerce'; import {TuiButton} from '@taiga-ui/core'; import {TuiBadgedContent, TuiBadgeNotification, TuiChip, TuiFade} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; @Component({ standalone: true, imports: [ AsyncPipe, TuiAmountPipe, - TuiAsideItemDirective, TuiBadgedContent, TuiBadgeNotification, TuiButton, diff --git a/projects/demo/src/modules/components/combo-box/examples/2/index.ts b/projects/demo/src/modules/components/combo-box/examples/2/index.ts index 21172f0e6097..1b9f264db619 100644 --- a/projects/demo/src/modules/components/combo-box/examples/2/index.ts +++ b/projects/demo/src/modules/components/combo-box/examples/2/index.ts @@ -5,7 +5,6 @@ import {changeDetection} from '@demo/emulate/change-detection'; import {TuiLet} from '@taiga-ui/cdk'; import {TuiDataList, TuiInitialsPipe, TuiLoader} from '@taiga-ui/core'; import {TuiAvatar} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; import {TuiComboBoxModule, TuiTextfieldControllerModule} from '@taiga-ui/legacy'; import {databaseMockData} from './database-mock-data'; @@ -19,7 +18,6 @@ import {RequestService} from './request.service'; NgForOf, NgIf, ReactiveFormsModule, - TuiAsideItemDirective, TuiAvatar, TuiComboBoxModule, TuiDataList, diff --git a/projects/demo/src/modules/components/combo-box/examples/5/index.ts b/projects/demo/src/modules/components/combo-box/examples/5/index.ts index d70a2a6214bd..67ba86cc20d6 100644 --- a/projects/demo/src/modules/components/combo-box/examples/5/index.ts +++ b/projects/demo/src/modules/components/combo-box/examples/5/index.ts @@ -6,7 +6,6 @@ import {encapsulation} from '@demo/emulate/encapsulation'; import {TuiLet} from '@taiga-ui/cdk'; import {TuiDataList, TuiScrollable, TuiScrollbar} from '@taiga-ui/core'; import {TuiFilterByInputPipe} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; import {TuiComboBoxModule} from '@taiga-ui/legacy'; import {IndexChange} from './index-change.directive'; @@ -18,7 +17,6 @@ import {IndexChange} from './index-change.directive'; FormsModule, IndexChange, ScrollingModule, - TuiAsideItemDirective, TuiComboBoxModule, TuiDataList, TuiFilterByInputPipe, diff --git a/projects/demo/src/modules/components/combo-box/examples/7/index.ts b/projects/demo/src/modules/components/combo-box/examples/7/index.ts index 3090cb0b26f0..31ad9ac1e8bb 100644 --- a/projects/demo/src/modules/components/combo-box/examples/7/index.ts +++ b/projects/demo/src/modules/components/combo-box/examples/7/index.ts @@ -5,7 +5,6 @@ import {changeDetection} from '@demo/emulate/change-detection'; import {encapsulation} from '@demo/emulate/encapsulation'; import {TuiDataList} from '@taiga-ui/core'; import {TuiFilterByInputPipe} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; import {TuiComboBoxModule} from '@taiga-ui/legacy'; @Component({ @@ -14,7 +13,6 @@ import {TuiComboBoxModule} from '@taiga-ui/legacy'; FormsModule, JsonPipe, NgFor, - TuiAsideItemDirective, TuiComboBoxModule, TuiDataList, TuiFilterByInputPipe, diff --git a/projects/demo/src/modules/components/compass/examples/2/index.ts b/projects/demo/src/modules/components/compass/examples/2/index.ts index 387aa7ed8cad..fbb3f6c58e8b 100644 --- a/projects/demo/src/modules/components/compass/examples/2/index.ts +++ b/projects/demo/src/modules/components/compass/examples/2/index.ts @@ -26,6 +26,6 @@ export default class Example { const x = Math.ceil(event.clientX - (rect.left + rect.width / 2)); const y = Math.ceil(event.clientY - (rect.top + rect.height / 2)); - this.degrees = 180 - Math.atan2(x, y) * (180 / Math.PI); + this.degrees = Math.atan2(y, x) * (180 / Math.PI) + 90; } } diff --git a/projects/demo/src/modules/components/confirm/examples/1/index.ts b/projects/demo/src/modules/components/confirm/examples/1/index.ts index 13a116b68795..8d222ec7d525 100644 --- a/projects/demo/src/modules/components/confirm/examples/1/index.ts +++ b/projects/demo/src/modules/components/confirm/examples/1/index.ts @@ -4,12 +4,11 @@ import {encapsulation} from '@demo/emulate/encapsulation'; import {TuiAlertService, TuiButton, TuiDialogService} from '@taiga-ui/core'; import type {TuiConfirmData} from '@taiga-ui/kit'; import {TUI_CONFIRM} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; import {switchMap} from 'rxjs'; @Component({ standalone: true, - imports: [TuiAsideItemDirective, TuiButton], + imports: [TuiButton], templateUrl: './index.html', encapsulation, changeDetection, diff --git a/projects/demo/src/modules/components/confirm/index.ts b/projects/demo/src/modules/components/confirm/index.ts index 9758cc834f00..638ebe74d9ed 100644 --- a/projects/demo/src/modules/components/confirm/index.ts +++ b/projects/demo/src/modules/components/confirm/index.ts @@ -5,12 +5,11 @@ import {TuiDemo} from '@demo/utils'; import {TuiAlertService, TuiButton, TuiDialogService} from '@taiga-ui/core'; import type {TuiConfirmData} from '@taiga-ui/kit'; import {TUI_CONFIRM} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; import {switchMap} from 'rxjs'; @Component({ standalone: true, - imports: [TuiAsideItemDirective, TuiButton, TuiDemo], + imports: [TuiButton, TuiDemo], templateUrl: './index.html', changeDetection, }) diff --git a/projects/demo/src/modules/components/data-list/examples/2/index.ts b/projects/demo/src/modules/components/data-list/examples/2/index.ts index 0bab38c6534b..fbe4f2388ee8 100644 --- a/projects/demo/src/modules/components/data-list/examples/2/index.ts +++ b/projects/demo/src/modules/components/data-list/examples/2/index.ts @@ -6,13 +6,11 @@ import {TuiLet} from '@taiga-ui/cdk'; import type {TuiSizeL, TuiSizeS} from '@taiga-ui/core'; import {TuiButton, TuiDataList, TuiDialogService, TuiDropdown} from '@taiga-ui/core'; import {TuiDataListDropdownManager} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; @Component({ standalone: true, imports: [ NgForOf, - TuiAsideItemDirective, TuiButton, TuiDataList, TuiDataListDropdownManager, diff --git a/projects/demo/src/modules/components/data-list/examples/4/custom-list/index.ts b/projects/demo/src/modules/components/data-list/examples/4/custom-list/index.ts index 496710c1ce7c..22d78eba1f33 100644 --- a/projects/demo/src/modules/components/data-list/examples/4/custom-list/index.ts +++ b/projects/demo/src/modules/components/data-list/examples/4/custom-list/index.ts @@ -15,7 +15,6 @@ import { TuiTextfield, TuiTextfieldDirective, } from '@taiga-ui/core'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; import {TuiMultiSelectModule} from '@taiga-ui/legacy'; interface Items { @@ -30,7 +29,6 @@ interface Items { FormsModule, NgForOf, NgIf, - TuiAsideItemDirective, TuiAutoFocus, TuiDataList, TuiFilterPipe, diff --git a/projects/demo/src/modules/components/data-list/examples/5/index.ts b/projects/demo/src/modules/components/data-list/examples/5/index.ts index 73d59ad357ae..e30aa3ed4071 100644 --- a/projects/demo/src/modules/components/data-list/examples/5/index.ts +++ b/projects/demo/src/modules/components/data-list/examples/5/index.ts @@ -7,7 +7,6 @@ import {TuiAmountPipe} from '@taiga-ui/addon-commerce'; import {TuiDay, TuiDayRange} from '@taiga-ui/cdk'; import {TuiButton, TuiCalendar, TuiDataList, TuiDropdown, TuiGroup} from '@taiga-ui/core'; import {TuiDataListDropdownManager} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; import {TuiInputDateRangeModule, TuiInputModule} from '@taiga-ui/legacy'; @Component({ @@ -16,7 +15,6 @@ import {TuiInputDateRangeModule, TuiInputModule} from '@taiga-ui/legacy'; AsyncPipe, FormsModule, TuiAmountPipe, - TuiAsideItemDirective, TuiButton, TuiCalendar, TuiDataList, diff --git a/projects/demo/src/modules/components/data-list/examples/6/index.ts b/projects/demo/src/modules/components/data-list/examples/6/index.ts index 4da73148277e..ad54c6346578 100644 --- a/projects/demo/src/modules/components/data-list/examples/6/index.ts +++ b/projects/demo/src/modules/components/data-list/examples/6/index.ts @@ -5,18 +5,10 @@ import {encapsulation} from '@demo/emulate/encapsulation'; import {TUI_IS_MOBILE} from '@taiga-ui/cdk'; import {TuiButton, TuiDataList, TuiDropdown} from '@taiga-ui/core'; import {TuiChevron} from '@taiga-ui/kit'; -import {TuiAsideItemDirective} from '@taiga-ui/layout'; @Component({ standalone: true, - imports: [ - NgForOf, - TuiAsideItemDirective, - TuiButton, - TuiChevron, - TuiDataList, - TuiDropdown, - ], + imports: [NgForOf, TuiButton, TuiChevron, TuiDataList, TuiDropdown], templateUrl: './index.html', styles: [ ` diff --git a/projects/demo/src/modules/components/dialog/examples/4/index.html b/projects/demo/src/modules/components/dialog/examples/4/index.html index 3c4c0d3d0baf..3e369f715904 100644 --- a/projects/demo/src/modules/components/dialog/examples/4/index.html +++ b/projects/demo/src/modules/components/dialog/examples/4/index.html @@ -25,10 +25,9 @@

Long mobile dialog with filters