diff --git a/.github/actions/cache/action.yml b/.github/actions/cache/action.yml new file mode 100644 index 00000000..ebbd1994 --- /dev/null +++ b/.github/actions/cache/action.yml @@ -0,0 +1,17 @@ +name: "πŸ”ΊοΈ " + +runs: + using: "composite" + steps: + - name: "πŸ”ΊοΈ Cache (store directory)" + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: "πŸ”ΊοΈ Cache" + uses: actions/cache@v4 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- diff --git a/.github/actions/schema/action.yml b/.github/actions/schema/action.yml new file mode 100644 index 00000000..156070c6 --- /dev/null +++ b/.github/actions/schema/action.yml @@ -0,0 +1,20 @@ +name: "πŸ“„ " + +inputs: + working-directory: + required: true + +runs: + using: "composite" + steps: + - name: "πŸ“„ Build GraphQL Schema" + shell: bash + run: dotnet run -- schema export --output schema.graphql + working-directory: ${{ inputs.working-directory }} + + - name: "πŸ“„ Upload GraphQL Schema" + uses: actions/upload-artifact@v4 + with: + name: schema-${{ github.run_number }}.graphql + path: ${{ inputs.working-directory }}/schema.graphql + retention-days: 1 diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 00000000..71f3b75d --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,27 @@ +name: "πŸ’½οΈ " + +inputs: + node-version: + default: "20" + description: "πŸ”’ Node version" + required: true + pnpm-version: + default: "8" + description: "πŸ”’ pnpm version" + required: true + +runs: + using: "composite" + steps: + - name: "πŸ”§ pnpm" + uses: pnpm/action-setup@v3 + with: + version: ${{ inputs.pnpm-version }} + + - name: "πŸ’½οΈ Node ${{ inputs.node-version }}" + uses: actions/setup-node@v4 + with: + registry-url: "https://registry.npmjs.org" + node-version: ${{ inputs.node-version }} + cache: "pnpm" + cache-dependency-path: ./app/pnpm-lock.yaml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 7a82fb42..00000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,189 +0,0 @@ -name: main - -on: - push: - branches: [main] - paths: - - "src/**" - - "app/**" - - ".github/workflows/main.yml" - pull_request: - types: [opened, synchronize, reopened] - paths: - - "src/**" - - "app/**" - - ".github/workflows/main.yml" - workflow_dispatch: - -jobs: - test-infrastructure: - name: πŸ§ͺ Test Infrastructure - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: setup - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "8.0.x" - - - name: restore packages - run: dotnet restore - working-directory: ./src/Infrastructure - - - name: test - run: dotnet test --verbosity quiet - working-directory: ./src/Infrastructure - - test-dashboard-service: - name: πŸ§ͺ Test Service.Dashboard - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: setup - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "8.0.x" - - - name: restore packages - run: dotnet restore - working-directory: ./src/Service.Dashboard - - - name: test - run: dotnet test --verbosity quiet - working-directory: ./src/Service.Dashboard - - test-encoder-service: - name: πŸ§ͺ Test Service.Encoder - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: setup - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "8.0.x" - - - name: restore packages - run: dotnet restore - working-directory: ./src/Service.Encoder - - - name: test - run: dotnet test --verbosity quiet - working-directory: ./src/Service.Encoder - - build-web-app: - name: πŸ—οΈ Build Web Application - runs-on: ubuntu-latest - needs: [test-infrastructure, test-dashboard-service, test-encoder-service] - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: setup pnpm - uses: pnpm/action-setup@v3 - with: - version: 8 - - - name: setup node.js - uses: actions/setup-node@v4 - with: - cache-dependency-path: ./app/pnpm-lock.yaml - node-version-file: ./app/.nvmrc - cache: "pnpm" - - - name: install - working-directory: ./app - run: pnpm install --no-frozen-lockfile - - - name: build - working-directory: ./app - run: pnpm run build - - typecheck: - name: 🦺 Type Check Web Application - runs-on: ubuntu-latest - needs: build-web-app - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: setup pnpm - uses: pnpm/action-setup@v3 - with: - version: 8 - - - name: setup node.js - uses: actions/setup-node@v4 - with: - cache-dependency-path: ./app/pnpm-lock.yaml - node-version-file: ./app/.nvmrc - cache: "pnpm" - - - name: install - working-directory: ./app - run: pnpm install --no-frozen-lockfile - - - name: type check - working-directory: ./app - run: pnpm run typecheck - - lint: - name: 🚨 Lint - runs-on: ubuntu-latest - needs: build-web-app - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: setup pnpm - uses: pnpm/action-setup@v3 - with: - version: 8 - - - name: setup node.js - uses: actions/setup-node@v4 - with: - cache-dependency-path: ./app/pnpm-lock.yaml - node-version-file: ./app/.nvmrc - cache: "pnpm" - - - name: install - working-directory: ./app - run: pnpm install --no-frozen-lockfile - - - name: type check - working-directory: ./app - run: pnpm run lint - - test-web-app: - name: πŸ§ͺ Test Web Application - runs-on: ubuntu-latest - needs: build-web-app - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: setup pnpm - uses: pnpm/action-setup@v3 - with: - version: 8 - - - name: setup node.js - uses: actions/setup-node@v4 - with: - cache-dependency-path: ./app/pnpm-lock.yaml - node-version-file: ./app/.nvmrc - cache: "pnpm" - - - name: install - working-directory: ./app - run: pnpm install --no-frozen-lockfile - - - name: test - working-directory: ./app - run: pnpm run test diff --git a/.github/workflows/pr-title.yml b/.github/workflows/pr-title.yml index 6c50290c..cb003cca 100644 --- a/.github/workflows/pr-title.yml +++ b/.github/workflows/pr-title.yml @@ -1,16 +1,11 @@ -name: pr-title +name: "πŸ“ PR Title" on: pull_request_target: - types: - - opened - - reopened - - edited - - synchronize jobs: main: - name: 🏷️ PR Title + name: πŸ“ PR Title runs-on: ubuntu-latest steps: - uses: amannn/action-semantic-pull-request@v5 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 00000000..508a7d2a --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,114 @@ +name: "πŸ”€ Pull Request" + +on: + pull_request_target: + +concurrency: + group: pull-request-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + infrastructure: + name: "πŸ‘·οΈ CI (Infrastructure)" + timeout-minutes: 20 + runs-on: ubuntu-latest + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: "πŸ§ͺ Test" + run: dotnet test --verbosity quiet + working-directory: ./src/Infrastructure + + dashboard: + name: "πŸ‘·οΈ CI (Dashboard)" + timeout-minutes: 20 + runs-on: ubuntu-latest + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: "πŸ§ͺ Test" + run: dotnet test --verbosity quiet + working-directory: ./src/Service.Dashboard + + - name: "⬆️ GraphQL Schema (upload)" + uses: ./.github/actions/schema + with: + working-directory: src/Service.Dashboard/src/HttpApi + + encoder: + name: "πŸ‘·οΈ CI (Encoder)" + timeout-minutes: 20 + runs-on: ubuntu-latest + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: "πŸ§ͺ Test" + run: dotnet test --verbosity quiet + working-directory: ./src/Service.Encoder + + app: + name: "πŸ‘·οΈ CI (App)" + timeout-minutes: 20 + runs-on: ubuntu-latest + needs: [dashboard] + strategy: + fail-fast: false + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: ./.github/actions/setup + + - name: "πŸ”ΊοΈ Cache (pnpm)" + uses: ./.github/actions/cache + + - name: "πŸ“¦ Install" + shell: bash + working-directory: ./app + run: | + pnpm install --frozen-lockfile + + - name: "⬇️ GraphQL Schema (download)" + uses: actions/download-artifact@v4 + with: + name: schema-${{ github.run_number }}.graphql + path: ./app + + - name: "πŸ”ΊοΈ Cache (nextjs)" + uses: actions/cache@v4 + with: + path: ${{ github.workspace }}/app/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}- + + - name: "πŸ—οΈ Build" + working-directory: ./app + shell: bash + run: | + pnpm run build + + # - name: "πŸ§ͺ Test" + # working-directory: ./app + # shell: bash + # run: | + # pnpm run test diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 00000000..38ac7036 --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,114 @@ +name: "▢️ Push" + +on: + push: + +concurrency: + group: push-${{ github.ref }} + cancel-in-progress: true + +jobs: + infrastructure: + name: "πŸ‘·οΈ CI (Infrastructure)" + timeout-minutes: 20 + runs-on: ubuntu-latest + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: "πŸ§ͺ Test" + run: dotnet test --verbosity quiet + working-directory: ./src/Infrastructure + + dashboard: + name: "πŸ‘·οΈ CI (Dashboard)" + timeout-minutes: 20 + runs-on: ubuntu-latest + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: "πŸ§ͺ Test" + run: dotnet test --verbosity quiet + working-directory: ./src/Service.Dashboard + + - name: "⬆️ GraphQL Schema (upload)" + uses: ./.github/actions/schema + with: + working-directory: src/Service.Dashboard/src/HttpApi + + encoder: + name: "πŸ‘·οΈ CI (Encoder)" + timeout-minutes: 20 + runs-on: ubuntu-latest + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: "πŸ§ͺ Test" + run: dotnet test --verbosity quiet + working-directory: ./src/Service.Encoder + + app: + name: "πŸ‘·οΈ CI (App)" + timeout-minutes: 20 + runs-on: ubuntu-latest + needs: [dashboard] + strategy: + fail-fast: false + steps: + - name: "πŸ™οΈ Checkout" + uses: actions/checkout@v4 + + - name: "πŸ’½οΈ Setup" + uses: ./.github/actions/setup + + - name: "πŸ”ΊοΈ Cache (pnpm)" + uses: ./.github/actions/cache + + - name: "πŸ“¦ Install" + shell: bash + working-directory: ./app + run: | + pnpm install --frozen-lockfile + + - name: "⬇️ GraphQL Schema (download)" + uses: actions/download-artifact@v4 + with: + name: schema-${{ github.run_number }}.graphql + path: ./app + + - name: "πŸ”ΊοΈ Cache (nextjs)" + uses: actions/cache@v4 + with: + path: ${{ github.workspace }}/app/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}- + + - name: "πŸ—οΈ Build" + working-directory: ./app + shell: bash + run: | + pnpm run build + + # - name: "πŸ§ͺ Test" + # working-directory: ./app + # shell: bash + # run: | + # pnpm run test diff --git a/.github/workflows/sonar-cloud.yml b/.github/workflows/sonar-cloud.yml deleted file mode 100644 index 627a993d..00000000 --- a/.github/workflows/sonar-cloud.yml +++ /dev/null @@ -1,99 +0,0 @@ -name: sonar cloud - -on: - push: - branches: [main] - paths: - - "src/**" - - "app/**" - - ".github/workflows/main.yml" - pull_request: - types: [opened, synchronize, reopened] - paths: - - "src/**" - - "app/**" - - ".github/workflows/main.yml" - workflow_dispatch: - -permissions: - pull-requests: read - -jobs: - build: - name: 🧐 Analyze Service.Dashboard - runs-on: ubuntu-latest - - steps: - - name: setup jdk - uses: actions/setup-java@v3 - with: - java-version: 17 - distribution: "zulu" # Alternative distribution options are available. - - - name: checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - - name: setup dotnet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "8.0.x" - - - name: restore packages - run: dotnet restore - working-directory: ./src/Service.Dashboard - - - name: cache sonar cloud packages - uses: actions/cache@v4 - with: - path: ~/sonar/cache - key: ${{ runner.os }}-sonar - restore-keys: ${{ runner.os }}-sonar - - - name: cache sonar cloud scanner - id: cache-sonar-scanner - uses: actions/cache@v4 - with: - path: ./.sonar/scanner - key: ${{ runner.os }}-sonar-scanner - restore-keys: ${{ runner.os }}-sonar-scanner - - - name: install sonar cloud scanner - if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' - shell: bash - run: | - mkdir -p $GITHUB_WORKSPACE/.sonar/scanner - dotnet tool update dotnet-sonarscanner --tool-path $GITHUB_WORKSPACE/.sonar/scanner - - - name: install dot cover - shell: bash - run: dotnet tool install --global JetBrains.dotCover.GlobalTool - - - name: begin analyze - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - shell: bash - run: | - ./.sonar/scanner/dotnet-sonarscanner begin /k:"PHILLIPS71_video-management" \ - /o:"phillips71" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" \ - /d:sonar.host.url="https://sonarcloud.io" \ - /d:sonar.cs.dotcover.reportsPaths=dotCover.Output.html \ - /d:sonar.sources="src/Service.Dashboard" \ - /d:sonar.cpd.exclusions="**/Migrations/**/*" \ - /d:sonar.coverage.exclusions="**/Migrations/**/*" \ - - - name: build - shell: bash - run: dotnet build ./src/Service.Dashboard -c Release --no-restore - - - name: coverage - shell: bash - continue-on-error: true - run: dotnet dotcover test ./src/Service.Dashboard --dcReportType=HTML -c Release --no-build --no-restore - - - name: end analyze - shell: bash - run: | - ./.sonar/scanner/dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" diff --git a/.gitignore b/.gitignore index 9bf08e5e..b768b8cb 100644 --- a/.gitignore +++ b/.gitignore @@ -166,4 +166,6 @@ yarn-error.log* # Relay /app/schema.graphql -__generated__/ \ No newline at end of file +/app/src/__generated__/* + +!.gitkeep \ No newline at end of file diff --git a/app/.eslintrc b/app/.eslintrc index 36b52c14..ac16d348 100644 --- a/app/.eslintrc +++ b/app/.eslintrc @@ -27,6 +27,7 @@ { "selector": "default", "format": ["camelCase", "PascalCase", "snake_case", "UPPER_CASE"], + "leadingUnderscore": "allow", }, { "selector": "import", diff --git a/app/next.config.js b/app/next.config.js index d541b76e..394a415f 100644 --- a/app/next.config.js +++ b/app/next.config.js @@ -1,7 +1,6 @@ /** @type {import('next').NextConfig} */ const config = { reactStrictMode: true, - swcMinify: true, compiler: { relay: { src: './src', diff --git a/app/package.json b/app/package.json index a24f21bd..7feab9fa 100644 --- a/app/package.json +++ b/app/package.json @@ -16,7 +16,8 @@ "dev": "next dev", "start": "next start", "---": "", - "build": "next build", + "build": "pnpm run build:relay && pnpm run build:next", + "build:next": "next build", "build:graphql": "get-graphql-schema http://localhost:5263/graphql > schema.graphql & pnpm build:relay", "build:relay": "relay-compiler", "--- ": "", @@ -28,7 +29,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@giantnodes/react": "0.0.0", + "@giantnodes/react": "1.0.0-canary.7", "@hookform/resolvers": "^3.3.4", "@tabler/icons-react": "^3.2.0", "clsx": "^2.1.0", diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml index 85e591a5..02e1c65a 100644 --- a/app/pnpm-lock.yaml +++ b/app/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + '@giantnodes/react': + specifier: 1.0.0-canary.7 + version: 1.0.0-canary.7(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.4.3) '@hookform/resolvers': specifier: ^3.3.4 version: 3.3.4(react-hook-form@7.51.3) @@ -145,6 +148,13 @@ packages: dependencies: regenerator-runtime: 0.14.1 + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: false + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -187,6 +197,69 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@formatjs/ecma402-abstract@1.18.2: + resolution: {integrity: sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA==} + dependencies: + '@formatjs/intl-localematcher': 0.5.4 + tslib: 2.6.2 + dev: false + + /@formatjs/fast-memoize@2.2.0: + resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==} + dependencies: + tslib: 2.6.2 + dev: false + + /@formatjs/icu-messageformat-parser@2.7.6: + resolution: {integrity: sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA==} + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/icu-skeleton-parser': 1.8.0 + tslib: 2.6.2 + dev: false + + /@formatjs/icu-skeleton-parser@1.8.0: + resolution: {integrity: sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA==} + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + tslib: 2.6.2 + dev: false + + /@formatjs/intl-localematcher@0.5.4: + resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} + dependencies: + tslib: 2.6.2 + dev: false + + /@giantnodes/react@1.0.0-canary.7(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.4.3): + resolution: {integrity: sha512-tsXDT/7NavA/u79afsWwbxXyxsY5H5i6dXTILw/qH4K+UYDv72jDWaOxdambLhxlBLBNFJ613XKoL9LW4AGY2A==} + engines: {node: '>=16.x'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + tailwindcss: '>=3' + dependencies: + '@giantnodes/theme': 1.0.0-canary.7(tailwindcss@3.4.3) + '@react-aria/utils': 3.23.2(react@18.2.0) + clsx: 2.1.0 + react: 18.2.0 + react-aria: 3.32.1(react-dom@18.2.0)(react@18.2.0) + react-aria-components: 1.1.1(react-dom@18.2.0)(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + tailwindcss: 3.4.3 + tailwindcss-react-aria-components: 1.1.1(tailwindcss@3.4.3) + dev: false + + /@giantnodes/theme@1.0.0-canary.7(tailwindcss@3.4.3): + resolution: {integrity: sha512-JWzq7+IyfvjDn/YCGSc3KA8rDYPcmTWPuoA7dQFbHcIffsi0+/bqBSgTjMhaWBtKeEX90wUFIr2+t79H3fjVFg==} + engines: {node: '>=16.x'} + peerDependencies: + tailwindcss: '>=3' + dependencies: + tailwind-variants: 0.2.1(tailwindcss@3.4.3) + tailwindcss: 3.4.3 + dev: false + /@hookform/resolvers@3.3.4(react-hook-form@7.51.3): resolution: {integrity: sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ==} peerDependencies: @@ -211,177 +284,1443 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@internationalized/date@3.5.2: + resolution: {integrity: sha512-vo1yOMUt2hzp63IutEaTUxROdvQg1qlMRsbCvbay2AK2Gai7wIgCyK5weEX3nHkiLgo4qCXHijFNC/ILhlRpOQ==} + dependencies: + '@swc/helpers': 0.5.5 + dev: false + + /@internationalized/message@3.1.2: + resolution: {integrity: sha512-MHAWsZWz8jf6jFPZqpTudcCM361YMtPIRu9CXkYmKjJ/0R3pQRScV5C0zS+Qi50O5UAm8ecKhkXx6mWDDcF6/g==} + dependencies: + '@swc/helpers': 0.5.5 + intl-messageformat: 10.5.11 + dev: false + + /@internationalized/number@3.5.1: + resolution: {integrity: sha512-N0fPU/nz15SwR9IbfJ5xaS9Ss/O5h1sVXMZf43vc9mxEG48ovglvvzBjF53aHlq20uoR6c+88CrIXipU/LSzwg==} + dependencies: + '@swc/helpers': 0.5.5 + dev: false + + /@internationalized/string@3.2.1: + resolution: {integrity: sha512-vWQOvRIauvFMzOO+h7QrdsJmtN1AXAFVcaLWP9AseRN2o7iHceZ6bIXhBD4teZl8i91A3gxKnWBlGgjCwU6MFQ==} + dependencies: + '@swc/helpers': 0.5.5 + dev: false + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + /@next/env@14.2.1: + resolution: {integrity: sha512-qsHJle3GU3CmVx7pUoXcghX4sRN+vINkbLdH611T8ZlsP//grzqVW87BSUgOZeSAD4q7ZdZicdwNe/20U2janA==} + dev: false + + /@next/eslint-plugin-next@14.2.1: + resolution: {integrity: sha512-Fp+mthEBjkn8r9qd6o4JgxKp0IDEzW0VYHD8ZC05xS5/lFNwHKuOdr2kVhWG7BQCO9L6eeepshM1Wbs2T+LgSg==} + dependencies: + glob: 10.3.10 + dev: true + + /@next/swc-darwin-arm64@14.2.1: + resolution: {integrity: sha512-kGjnjcIJehEcd3rT/3NAATJQndAEELk0J9GmGMXHSC75TMnvpOhONcjNHbjtcWE5HUQnIHy5JVkatrnYm1QhVw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64@14.2.1: + resolution: {integrity: sha512-dAdWndgdQi7BK2WSXrx4lae7mYcOYjbHJUhvOUnJjMNYrmYhxbbvJ2xElZpxNxdfA6zkqagIB9He2tQk+l16ew==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu@14.2.1: + resolution: {integrity: sha512-2ZctfnyFOGvTkoD6L+DtQtO3BfFz4CapoHnyLTXkOxbZkVRgg3TQBUjTD/xKrO1QWeydeo8AWfZRg8539qNKrg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl@14.2.1: + resolution: {integrity: sha512-jazZXctiaanemy4r+TPIpFP36t1mMwWCKMsmrTRVChRqE6putyAxZA4PDujx0SnfvZHosjdkx9xIq9BzBB5tWg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu@14.2.1: + resolution: {integrity: sha512-VjCHWCjsAzQAAo8lkBOLEIkBZFdfW+Z18qcQ056kL4KpUYc8o59JhLDCBlhg+hINQRgzQ2UPGma2AURGOH0+Qg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl@14.2.1: + resolution: {integrity: sha512-7HZKYKvAp4nAHiHIbY04finRqjeYvkITOGOurP1aLMexIFG/1+oCnqhGogBdc4lao/lkMW1c+AkwWSzSlLasqw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc@14.2.1: + resolution: {integrity: sha512-YGHklaJ/Cj/F0Xd8jxgj2p8po4JTCi6H7Z3Yics3xJhm9CPIqtl8erlpK1CLv+HInDqEWfXilqatF8YsLxxA2Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc@14.2.1: + resolution: {integrity: sha512-o+ISKOlvU/L43ZhtAAfCjwIfcwuZstiHVXq/BDsZwGqQE0h/81td95MPHliWCnFoikzWcYqh+hz54ZB2FIT8RA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc@14.2.1: + resolution: {integrity: sha512-GmRoTiLcvCLifujlisknv4zu9/C4i9r0ktsA8E51EMqJL4bD4CpO7lDYr7SrUxCR0tS4RVcrqKmCak24T0ohaw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pkgr/utils@2.4.1: + resolution: {integrity: sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.3.2 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.6.2 + dev: true + + /@react-aria/breadcrumbs@3.5.11(react@18.2.0): + resolution: {integrity: sha512-bQz4g2tKvcWxeqPGj9O0RQf++Ka8f2o/pJMJB+QQ27DVQWhxpQpND//oFku2aFYkxHB/fyD9qVoiqpQR25bidw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/link': 3.6.5(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/breadcrumbs': 3.7.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/button@3.9.3(react@18.2.0): + resolution: {integrity: sha512-ZXo2VGTxfbaTEnfeIlm5ym4vYpGAy8sGrad8Scv+EyDAJWLMKokqctfaN6YSWbqUApC3FN63IvMqASflbmnYig==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/toggle': 3.7.2(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/calendar@3.5.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PA0Ur5WcODMn7t2gCUvq61YktkB+WlSZjzDr5kcY3sdl53ZjiyqCa2hYgrb6R0J859LVJXAp+5Qaproz8g1oLA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/live-announcer': 3.3.2 + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/calendar': 3.4.4(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/calendar': 3.4.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/checkbox@3.14.1(react@18.2.0): + resolution: {integrity: sha512-b4rtrg5SpRSa9jBOqzJMmprJ+jDi3KyVvUh+DsvISe5Ti7gVAhMBgnca1D0xBp22w2jhk/o4gyu1bYxGLum0GA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/form': 3.0.3(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/toggle': 3.10.2(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/checkbox': 3.6.3(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/toggle': 3.7.2(react@18.2.0) + '@react-types/checkbox': 3.7.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/combobox@3.8.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-HyTWIo2B/0xq0Of+sDEZCfJyf4BvCvDYIWG4UhjqL1kHIHIGQyyr+SldbVUjXVYnk8pP1eGB3ttiREujjjALPQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/listbox': 3.11.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/live-announcer': 3.3.2 + '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/textfield': 3.14.3(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/combobox': 3.8.2(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/combobox': 3.10.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/datepicker@3.9.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1AjCAizd88ACKjVNhFazX4HZZFwWi2rsSlGCTm66Nx6wm5N/Cpbm466dpYEFyQUsKSOG4CC65G1zfYoMPe48MQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@internationalized/number': 3.5.1 + '@internationalized/string': 3.2.1 + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/form': 3.0.3(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/spinbutton': 3.6.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/datepicker': 3.9.2(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/calendar': 3.4.4(react@18.2.0) + '@react-types/datepicker': 3.7.2(react@18.2.0) + '@react-types/dialog': 3.5.8(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/dialog@3.5.12(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7UJR/h/Y364u6Ltpw0bT51B48FybTuIBacGpEJN5IxZlpxvQt0KQcBDiOWfAa/GQogw4B5hH6agaOO0nJcP49Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/dialog': 3.5.8(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/dnd@3.5.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0gi6sRnr97fSQnGy+CMt+99/+vVqr+qv2T9Ts8X9TAzxHNokz5QfSL88QSlTU36EnAVLxPY18iZQWCExSjKpEQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/string': 3.2.1 + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/live-announcer': 3.3.2 + '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/dnd': 3.2.8(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/focus@3.16.2(react@18.2.0): + resolution: {integrity: sha512-Rqo9ummmgotESfypzFjI3uh58yMpL+E+lJBbQuXkBM0u0cU2YYzu0uOrFrq3zcHk997udZvq1pGK/R+2xk9B7g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + clsx: 2.1.0 + react: 18.2.0 + dev: false + + /@react-aria/form@3.0.3(react@18.2.0): + resolution: {integrity: sha512-5Q2BHE4TTPDzGY2npCzpRRYshwWUb3SMUA/Cbz7QfEtBk+NYuVaq3KjvqLqgUUdyKtqLZ9Far0kIAexloOC4jw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/grid@3.8.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7Bzbya4tO0oIgqexwRb8D6ZdC0GASYq9f/pnkrqocgvG9e1SCld4zOioKbYQDvAK/NnbCgXmmdqFAcLM/iazaA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/live-announcer': 3.3.2 + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/grid': 3.8.5(react@18.2.0) + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-stately/virtualizer': 3.6.8(react@18.2.0) + '@react-types/checkbox': 3.7.1(react@18.2.0) + '@react-types/grid': 3.2.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/gridlist@3.7.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-RmHEJ++vngHYEWbUCtLLmGh7H3vNd2Y9S0q/9SgHFPbqPZycT5mxDZ2arqpOXeHRVRvPBaW9ZlMxI2bPOePrYw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/grid': 3.8.8(react-dom@18.2.0)(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/list': 3.10.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/i18n@3.10.2(react@18.2.0): + resolution: {integrity: sha512-Z1ormoIvMOI4mEdcFLYsoJy9w/EzBdBmgfLP+S/Ah+1xwQOXpgwZxiKOhYHpWa0lf6hkKJL34N9MHJvCJ5Crvw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@internationalized/message': 3.1.2 + '@internationalized/number': 3.5.1 + '@internationalized/string': 3.2.1 + '@react-aria/ssr': 3.9.2(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/interactions@3.21.1(react@18.2.0): + resolution: {integrity: sha512-AlHf5SOzsShkHfV8GLLk3v9lEmYqYHURKcXWue0JdYbmquMRkUsf/+Tjl1+zHVAQ8lKqRnPYbTmc4AcZbqxltw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/ssr': 3.9.2(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/label@3.7.6(react@18.2.0): + resolution: {integrity: sha512-ap9iFS+6RUOqeW/F2JoNpERqMn1PvVIo3tTMrJ1TY1tIwyJOxdCBRgx9yjnPBnr+Ywguep+fkPNNi/m74+tXVQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/link@3.6.5(react@18.2.0): + resolution: {integrity: sha512-kg8CxKqkciQFzODvLAfxEs8gbqNXFZCW/ISOE2LHYKbh9pA144LVo71qO3SPeYVVzIjmZeW4vEMdZwqkNozecw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/link': 3.5.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/listbox@3.11.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-y3a3zQYjT+JKgugCMMKS7K9sRoCoP1Z6Fiiyfd77OHXWzh9RlnvWGsseljynmbxLzSuPwFtCYkU1Jz4QwsPUIg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/list': 3.10.3(react@18.2.0) + '@react-types/listbox': 3.4.7(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/live-announcer@3.3.2: + resolution: {integrity: sha512-aOyPcsfyY9tLCBhuUaYCruwcd1IrYLc47Ou+J7wMzjeN9v4lsaEfiN12WFl8pDqOwfy6/7It2wmlm5hOuZY8wQ==} + dependencies: + '@swc/helpers': 0.5.5 + dev: false + + /@react-aria/menu@3.13.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jF80YIcvD16Fgwm5pj7ViUE3Dj7z5iewQixLaFVdvpgfyE58SD/ZVU9/JkK5g/03DYM0sjpUKZGkdFxxw8eKnw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/menu': 3.6.1(react@18.2.0) + '@react-stately/tree': 3.7.6(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/menu': 3.9.7(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/meter@3.4.11(react@18.2.0): + resolution: {integrity: sha512-P1G3Jdh0f/uieUDqvc3Ee4wzqBJa7H077BVSC3KPRqEp6YY7JimZGWjOwbFlO2PXhryXm/dI8EzUmh+4ZXjq/g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/progress': 3.4.11(react@18.2.0) + '@react-types/meter': 3.3.7(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/numberfield@3.11.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JQ1Z+Ho5H+jeav7jt9A4vBsIQR/Dd2CFbObrULjGkqSrnWjARFZBv3gZwmfGCtplEPeAv9buYKHAqebPtJNUww==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/spinbutton': 3.6.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/textfield': 3.14.3(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/numberfield': 3.9.1(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/numberfield': 3.8.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/overlays@3.21.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-djEBDF+TbIIOHWWNpdm19+z8xtY8U+T+wKVQg/UZ6oWnclSqSWeGl70vu73Cg4HVBJ4hKf1SRx4Z/RN6VvH4Yw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/ssr': 3.9.2(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-aria/visually-hidden': 3.8.10(react@18.2.0) + '@react-stately/overlays': 3.6.5(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/overlays': 3.8.5(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/progress@3.4.11(react@18.2.0): + resolution: {integrity: sha512-RePHbS15/KYFiApYLdwazwvWKsB9q0Kn5DGCSb0hqCC+k2Eui8iVVOsegswiP+xqkk/TiUCIkBEw22W3Az4kTg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/progress': 3.5.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/radio@3.10.2(react@18.2.0): + resolution: {integrity: sha512-CTUTR+qt3BLjmyQvKHZuVm+1kyvT72ZptOty++sowKXgJApTLdjq8so1IpaLAr8JIfzqD5I4tovsYwIQOX8log==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/form': 3.0.3(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/radio': 3.10.2(react@18.2.0) + '@react-types/radio': 3.7.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/searchfield@3.7.3(react@18.2.0): + resolution: {integrity: sha512-mnYI969R7tU3yMRIGmY1+peq7tmEW0W3MB/J2ImK36Obz/91tTtspHHEeFtPlQDLIyvVPB0Ucam4LIxCKPJm/Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/textfield': 3.14.3(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/searchfield': 3.5.1(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/searchfield': 3.5.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/select@3.14.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9KCxI41FI+jTxEfUzRsMdJsZvjkCuuhL4UHig8MZXtXs0nsi7Ir3ezUDQ9m5MSG+ooBYM/CA9DyLDvo5Ioef+g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/form': 3.0.3(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/listbox': 3.11.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-aria/visually-hidden': 3.8.10(react@18.2.0) + '@react-stately/select': 3.6.2(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/select': 3.9.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/selection@3.17.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-gO5jBUkc7WdkiFMlWt3x9pTSuj3Yeegsxfo44qU5NPlKrnGtPRZDWrlACNgkDHu645RNNPhlyoX0C+G8mUg1xA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/separator@3.3.11(react@18.2.0): + resolution: {integrity: sha512-UTla+3P2pELpP73WSfbwZgP1y1wODFBQbEOHnUxxO8ocyaUyQLJdvc07bBLLpPoyutlggRG0v9ACo0Rui7AjOg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/slider@3.7.6(react@18.2.0): + resolution: {integrity: sha512-ZeZhyHzhk9gxGuThPKgX2K3RKsxPxsFig1iYoJvqP8485NtHYQIPht2YcpEKA9siLxGF0DR9VCfouVhSoW0AEA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/slider': 3.5.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/slider': 3.7.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/spinbutton@3.6.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IlfhRu/pc9zOt2C5zSEB7NmmzddvWisGx2iGzw8BwIKMD+cN3uy+Qwp+sG6Z/JzFEBN0F6Mxm3l5lhbiqjpICQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/live-announcer': 3.3.2 + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/ssr@3.9.2(react@18.2.0): + resolution: {integrity: sha512-0gKkgDYdnq1w+ey8KzG9l+H5Z821qh9vVjztk55rUg71vTk/Eaebeir+WtzcLLwTjw3m/asIjx8Y59y1lJZhBw==} + engines: {node: '>= 12'} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/switch@3.6.2(react@18.2.0): + resolution: {integrity: sha512-X5m/omyhXK+V/vhJFsHuRs2zmt9Asa/RuzlldbXnWohLdeuHMPgQnV8C9hg3f+sRi3sh9UUZ64H61pCtRoZNwg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/toggle': 3.10.2(react@18.2.0) + '@react-stately/toggle': 3.7.2(react@18.2.0) + '@react-types/switch': 3.5.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/table@3.13.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-P2nHEDk2CCoEbMFKNCyBC9qvmv7F/IXARDt/7z/J4mKFgU2iNSK+/zw6yrb38q33Zlk8hDaqSYNxHlMrh+/1MQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/grid': 3.8.8(react-dom@18.2.0)(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/live-announcer': 3.3.2 + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-aria/visually-hidden': 3.8.10(react@18.2.0) + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/flags': 3.0.1 + '@react-stately/table': 3.11.6(react@18.2.0) + '@react-stately/virtualizer': 3.6.8(react@18.2.0) + '@react-types/checkbox': 3.7.1(react@18.2.0) + '@react-types/grid': 3.2.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/table': 3.9.3(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/tabs@3.8.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Jvt33/W+66n5oCxVwHAYarJ3Fit61vULiPcG7uTez0Mf11cq/C72wOrj+ZuNz6PTLTi2veBNQ7MauY72SnOjRg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/tabs': 3.6.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/tabs': 3.3.5(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/tag@3.3.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tlJD9qj1XcsPIZD7DVJ6tWv8t7Z87/8qkbRDx7ugNqeHso9z0WqH9ZkSt17OFUWE2IQIk3V8D3iBSOtmhXcZGQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/gridlist': 3.7.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/list': 3.10.3(react@18.2.0) + '@react-types/button': 3.9.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@react-aria/textfield@3.14.3(react@18.2.0): + resolution: {integrity: sha512-wPSjj/mTABspYQdahg+l5YMtEQ3m5iPCTtb5g6nR1U1rzJkvS4i5Pug6PUXeLeMz2H3ToflPWGlNOqBioAFaOQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/form': 3.0.3(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/textfield': 3.9.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/toggle@3.10.2(react@18.2.0): + resolution: {integrity: sha512-DgitscHWgI6IFgnvp2HcMpLGX/cAn+XX9kF5RJQbRQ9NqUgruU5cEEGSOLMrEJ6zXDa2xmOiQ+kINcyNhA+JLg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/toggle': 3.7.2(react@18.2.0) + '@react-types/checkbox': 3.7.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/toolbar@3.0.0-beta.3(react@18.2.0): + resolution: {integrity: sha512-tPIEPRsZI/6Mb0tAW/GBTt3wBk7dfJg/eUnTloY8NHialvDa+cMUQyUVzPyLWGpErhYeBeutBmw1e2seMjmu+A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/tooltip@3.7.2(react@18.2.0): + resolution: {integrity: sha512-6jXOSGPao3gPgUQWLbH2r/jxGMqIaIKrJgfwu9TQrh+UkwwiTYW20EpEDCYY2nRFlcoi7EYAiPDSEbHCwXS7Lg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/tooltip': 3.4.7(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/tooltip': 3.4.7(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-aria/utils@3.23.2(react@18.2.0): + resolution: {integrity: sha512-yznR9jJ0GG+YJvTMZxijQwVp+ahP66DY0apZf7X+dllyN+ByEDW+yaL1ewYPIpugxVzH5P8jhnBXsIyHKN411g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/ssr': 3.9.2(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + clsx: 2.1.0 + react: 18.2.0 + dev: false + + /@react-aria/visually-hidden@3.8.10(react@18.2.0): + resolution: {integrity: sha512-np8c4wxdbE7ZrMv/bnjwEfpX0/nkWy9sELEb0sK8n4+HJ+WycoXXrVxBUb9tXgL/GCx5ReeDQChjQWwajm/z3A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/calendar@3.4.4(react@18.2.0): + resolution: {integrity: sha512-f9ZOd096gGGD+3LmU1gkmfqytGyQtrgi+Qjn+70GbM2Jy65pwOR4I9YrobbmeAFov5Tff13mQEa0yqWvbcDLZQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/calendar': 3.4.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/checkbox@3.6.3(react@18.2.0): + resolution: {integrity: sha512-hWp0GXVbMI4sS2NbBjWgOnHNrRqSV4jeftP8zc5JsIYRmrWBUZitxluB34QuVPzrBO29bGsF0GTArSiQZt6BWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/checkbox': 3.7.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/collections@3.10.5(react@18.2.0): + resolution: {integrity: sha512-k8Q29Nnvb7iAia1QvTanZsrWP2aqVNBy/1SlE6kLL6vDqtKZC+Esd1SDLHRmIcYIp5aTdfwIGd0NuiRQA7a81Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/combobox@3.8.2(react@18.2.0): + resolution: {integrity: sha512-f+IHuFW848VoMbvTfSakn2WIh2urDxO355LrKxnisXPCkpQHpq3lvT2mJtKJwkPxjAy7xPjpV8ejgga2R6p53Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/list': 3.10.3(react@18.2.0) + '@react-stately/overlays': 3.6.5(react@18.2.0) + '@react-stately/select': 3.6.2(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/combobox': 3.10.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/data@3.11.2(react@18.2.0): + resolution: {integrity: sha512-yhK2upk2WbJeiLBRWHrh/4G2CvmmozCzoivLaRAPYu53m1J3MyzVGCLJgnZMbMZvAbNcYWZK6IzO6VqZ2y1fOw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/datepicker@3.9.2(react@18.2.0): + resolution: {integrity: sha512-Z6FrK6Af7R5BizqHhJFCj3Hn32mg5iLSDdEgFQAuO043guOXUKFUAnbxfbQUjL6PGE6QwWMfQD7PPGebHn9Ifw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@internationalized/string': 3.2.1 + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/overlays': 3.6.5(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/datepicker': 3.7.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/dnd@3.2.8(react@18.2.0): + resolution: {integrity: sha512-oSo+2Bzum3Q1/d+3FuaDmpVHqqBB004tycuQDDFtad3N1BKm+fNfmslRK1ioLkPLK4sm1130V+BZBY3JXLe80A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/flags@3.0.1: + resolution: {integrity: sha512-h5PcDMj54aipQNO18ig/IMI1kzPwcvSwVq5M6Ib6XE1WIkOH0dIuW2eADdAOhcGi3KXJtXVdD29zh0Eox1TKgQ==} + dependencies: + '@swc/helpers': 0.4.36 + dev: false + + /@react-stately/form@3.0.1(react@18.2.0): + resolution: {integrity: sha512-T1Ul2Ou0uE/S4ECLcGKa0OfXjffdjEHfUFZAk7OZl0Mqq/F7dl5WpoLWJ4d4IyvZzGO6anFNenP+vODWbrF3NA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/grid@3.8.5(react@18.2.0): + resolution: {integrity: sha512-KCzi0x0p1ZKK+OptonvJqMbn6Vlgo6GfOIlgcDd0dNYDP8TJ+3QFJAFre5mCr7Fubx7LcAOio4Rij0l/R8fkXQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-types/grid': 3.2.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/list@3.10.3(react@18.2.0): + resolution: {integrity: sha512-Ul8el0tQy2Ucl3qMQ0fiqdJ874W1ZNjURVSgSxN+pGwVLNBVRjd6Fl7YwZFCXER2YOlzkwg+Zqozf/ZlS0EdXA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/menu@3.6.1(react@18.2.0): + resolution: {integrity: sha512-3v0vkTm/kInuuG8jG7jbxXDBnMQcoDZKWvYsBQq7+POt0LmijbLdbdZPBoz9TkZ3eo/OoP194LLHOaFTQyHhlw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/overlays': 3.6.5(react@18.2.0) + '@react-types/menu': 3.9.7(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/numberfield@3.9.1(react@18.2.0): + resolution: {integrity: sha512-btBIcBEfSVCUm6NwJrMrMygoIu/fQGazzD0RhF7PNsfvkFiWn+TSOyQqSXcsUJVOnBfoS/dVWj6r57KA7zl3FA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/number': 3.5.1 + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/numberfield': 3.8.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/overlays@3.6.5(react@18.2.0): + resolution: {integrity: sha512-U4rCFj6TPJPXLUvYXAcvh+yP/CO2W+7f0IuqP7ZZGE+Osk9qFkT+zRK5/6ayhBDFpmueNfjIEAzT9gYPQwNHFw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/overlays': 3.8.5(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/radio@3.10.2(react@18.2.0): + resolution: {integrity: sha512-JW5ZWiNMKcZvMTsuPeWJQLHXD5rlqy7Qk6fwUx/ZgeibvMBW/NnW19mm2+IMinzmbtERXvR6nsiA837qI+4dew==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/radio': 3.7.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/searchfield@3.5.1(react@18.2.0): + resolution: {integrity: sha512-9A8Wghx1avRHhMpNH1Nj+jFfiF1bhsff2GEC5PZgWYzhCykw3G5bywn3JAuUS4kh7Vpqhbu4KpHAhmWPSv4B/Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/searchfield': 3.5.3(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/select@3.6.2(react@18.2.0): + resolution: {integrity: sha512-duOxdHKol93h6Ew6fap6Amz+zngoERKZLSKVm/8I8uaBgkoBhEeTFv7mlpHTgINxymMw3mMrvy6GL/gfKFwkqg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/list': 3.10.3(react@18.2.0) + '@react-stately/overlays': 3.6.5(react@18.2.0) + '@react-types/select': 3.9.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/selection@3.14.3(react@18.2.0): + resolution: {integrity: sha512-d/t0rIWieqQ7wjLoMoWnuHEUSMoVXxkPBFuSlJF3F16289FiQ+b8aeKFDzFTYN7fFD8rkZTnpuE4Tcxg3TmA+w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/slider@3.5.2(react@18.2.0): + resolution: {integrity: sha512-ntH3NLRG+AwVC7q4Dx9DcmMkMh9vmHjHNXAgaoqNjhvwfSIae7sQ69CkVe6XeJjIBy6LlH81Kgapz+ABe5a1ZA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/slider': 3.7.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/table@3.11.6(react@18.2.0): + resolution: {integrity: sha512-34YsfOILXusj3p6QNcKEaDWVORhM6WEhwPSLCZlkwAJvkxuRQFdih5rQKoIDc0uV5aZsB6bYBqiFhnjY0VERhw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/flags': 3.0.1 + '@react-stately/grid': 3.8.5(react@18.2.0) + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/grid': 3.2.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/table': 3.9.3(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/tabs@3.6.4(react@18.2.0): + resolution: {integrity: sha512-WZJgMBqzLgN88RN8AxhY4aH1+I+4w1qQA0Lh3LRSDegaytd+NHixCWaP3IPjePgCB5N1UsPe96Xglw75zjHmDg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/list': 3.10.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/tabs': 3.3.5(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/toggle@3.7.2(react@18.2.0): + resolution: {integrity: sha512-SHCF2btcoK57c4lyhucRbyPBAFpp0Pdp0vcPdn3hUgqbu6e5gE0CwG/mgFmZRAQoc7PRc7XifL0uNw8diJJI0Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/checkbox': 3.7.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/tooltip@3.4.7(react@18.2.0): + resolution: {integrity: sha512-ACtRgBQ8rphBtsUaaxvEAM0HHN9PvMuyvL0vUHd7jvBDCVZJ6it1BKu9SBKjekBkoBOw9nemtkplh9R2CA6V8Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/overlays': 3.6.5(react@18.2.0) + '@react-types/tooltip': 3.4.7(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/tree@3.7.6(react@18.2.0): + resolution: {integrity: sha512-y8KvEoZX6+YvqjNCVGS3zA/BKw4D3XrUtUKIDme3gu5Mn6z97u+hUXKdXVCniZR7yvV3fHAIXwE5V2K8Oit4aw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/utils@3.9.1(react@18.2.0): + resolution: {integrity: sha512-yzw75GE0iUWiyps02BOAPTrybcsMIxEJlzXqtvllAb01O9uX5n0i3X+u2eCpj2UoDF4zS08Ps0jPgWxg8xEYtA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-stately/virtualizer@3.6.8(react@18.2.0): + resolution: {integrity: sha512-Pf06ihTwExRJltGhi72tmLIo0pcjkL55nu7ifMafAAdxZK4ONxRLSuUjjpvYf/0Rs92xRZy2t/XmHREnfirdkQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.5 + react: 18.2.0 + dev: false + + /@react-types/breadcrumbs@3.7.3(react@18.2.0): + resolution: {integrity: sha512-eFto/+6J+JR58vThNcALZRA1OlqlG3GzQ/bq3q8IrrkOZcrfbEJJCWit/+53Ia98siJKuF4OJHnotxIVIz5I3w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/link': 3.5.3(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false + + /@react-types/button@3.9.2(react@18.2.0): + resolution: {integrity: sha512-EnPTkGHZRtiwAoJy5q9lDjoG30bEzA/qnvKG29VVXKYAGeqY2IlFs1ypmU+z1X/CpJgPcG3I5cakM7yTVm3pSg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false + + /@react-types/calendar@3.4.4(react@18.2.0): + resolution: {integrity: sha512-hV1Thmb/AES5OmfPvvmyjSkmsEULjiDfA7Yyy70L/YKuSNKb7Su+Bf2VnZuDW3ec+GxO4JJNlpJ0AkbphWBvcg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + /@react-types/checkbox@3.7.1(react@18.2.0): + resolution: {integrity: sha512-kuGqjQFex0As/3gfWyk+e9njCcad/ZdnYLLiNvhlk15730xfa0MmnOdpqo9jfuFSXBjOcpxoofvEhvrRMtEdUA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} + /@react-types/combobox@3.10.1(react@18.2.0): + resolution: {integrity: sha512-XMno1rgVRNta49vf5nV7VJpVSVAV20tt79t618gG1qRKH5Kt2Cy8lz2fQ5vHG6UTv/6jUOvU8g5Pc93sLaTmoA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} + /@react-types/datepicker@3.7.2(react@18.2.0): + resolution: {integrity: sha512-zThqFAdhQL1dqyVDsDSSTdfCjoD6634eyg/B0ZJfQxcLUR/5pch3v/gxBhbyCVDGMNHRWUWIJvY9DVOepuoSug==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@react-types/calendar': 3.4.4(react@18.2.0) + '@react-types/overlays': 3.8.5(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} + /@react-types/dialog@3.5.8(react@18.2.0): + resolution: {integrity: sha512-RX8JsMvty8ADHRqVEkppoynXLtN4IzUh8d5z88UEBbcvWKlHfd6bOBQjQcBH3AUue5wjfpPIt6brw2VzgBY/3Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/overlays': 3.8.5(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@react-types/form@3.7.2(react@18.2.0): + resolution: {integrity: sha512-6/isEJY4PsYoHdMaGQtqQyquXGTwB1FqCBOPKQjI/vBGWG3fL7FGfWm4Z62eTbCH4Xyv3FZuNywlT8UjPMQyKA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@react-types/grid@3.2.4(react@18.2.0): + resolution: {integrity: sha512-sDVoyQcH7MoGdx5nBi5ZOU/mVFBt9YTxhvr0PZ97dMdEHZtJC1w9SuezwWS34f50yb8YAXQRTICbZYcK4bAlDA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@react-types/link@3.5.3(react@18.2.0): + resolution: {integrity: sha512-yVafjW3IejyVnK3oMBNjFABCGG6J27EUG8rvkaGaI1uB6srGUEhpJ97XLv11aj1QkXHBy3VGXqxEV3S7wn4HTw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@next/env@14.2.1: - resolution: {integrity: sha512-qsHJle3GU3CmVx7pUoXcghX4sRN+vINkbLdH611T8ZlsP//grzqVW87BSUgOZeSAD4q7ZdZicdwNe/20U2janA==} + /@react-types/listbox@3.4.7(react@18.2.0): + resolution: {integrity: sha512-68y5H9CVSPFiwO6MOFxTbry9JQMK/Lb1M9i3M8TDyq1AbJxBPpgAvJ9RaqIMCucsnqCzpY/zA3D/X417zByL1w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 dev: false - /@next/eslint-plugin-next@14.2.1: - resolution: {integrity: sha512-Fp+mthEBjkn8r9qd6o4JgxKp0IDEzW0VYHD8ZC05xS5/lFNwHKuOdr2kVhWG7BQCO9L6eeepshM1Wbs2T+LgSg==} + /@react-types/menu@3.9.7(react@18.2.0): + resolution: {integrity: sha512-K6KhloJVoGsqwkdeez72fkNI9dfrmLI/sNrB4XuOKo2crDQ/eyZYWyJmzz8giz/tHME9w774k487rVoefoFh5w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - glob: 10.3.10 - dev: true + '@react-types/overlays': 3.8.5(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@next/swc-darwin-arm64@14.2.1: - resolution: {integrity: sha512-kGjnjcIJehEcd3rT/3NAATJQndAEELk0J9GmGMXHSC75TMnvpOhONcjNHbjtcWE5HUQnIHy5JVkatrnYm1QhVw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true + /@react-types/meter@3.3.7(react@18.2.0): + resolution: {integrity: sha512-p+YJ0+Lpn5MLmlbFZbDH1P0ILv1+AuMcUbxLcXMIVMGn7o0FO7eVZnFuq76D+qTDm9all+TRLJix7bctOrP+5Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/progress': 3.5.2(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@next/swc-darwin-x64@14.2.1: - resolution: {integrity: sha512-dAdWndgdQi7BK2WSXrx4lae7mYcOYjbHJUhvOUnJjMNYrmYhxbbvJ2xElZpxNxdfA6zkqagIB9He2tQk+l16ew==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true + /@react-types/numberfield@3.8.1(react@18.2.0): + resolution: {integrity: sha512-GaCjLQgXUGCt40SLjKk3/COMWFlN2vV/3Xs3VSLAEdFZpk99b+Ik1oR21+7ZP5/iMHuQDc1MJRWdFfIjxCvVDQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@next/swc-linux-arm64-gnu@14.2.1: - resolution: {integrity: sha512-2ZctfnyFOGvTkoD6L+DtQtO3BfFz4CapoHnyLTXkOxbZkVRgg3TQBUjTD/xKrO1QWeydeo8AWfZRg8539qNKrg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true + /@react-types/overlays@3.8.5(react@18.2.0): + resolution: {integrity: sha512-4D7EEBQigD/m8hE68Ys8eloyyZFHHduqykSIgINJ0edmo0jygRbWlTwuhWFR9USgSP4dK54duN0Mvq0m4HEVEw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@next/swc-linux-arm64-musl@14.2.1: - resolution: {integrity: sha512-jazZXctiaanemy4r+TPIpFP36t1mMwWCKMsmrTRVChRqE6putyAxZA4PDujx0SnfvZHosjdkx9xIq9BzBB5tWg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true + /@react-types/progress@3.5.2(react@18.2.0): + resolution: {integrity: sha512-aQql22kusEudsHwDEzq6y/Mh29AM+ftRDKdS5E5g4MkCY5J4FMbOYco1T5So83NIvvG9+eKcxPoJUMjQQACAyA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@next/swc-linux-x64-gnu@14.2.1: - resolution: {integrity: sha512-VjCHWCjsAzQAAo8lkBOLEIkBZFdfW+Z18qcQ056kL4KpUYc8o59JhLDCBlhg+hINQRgzQ2UPGma2AURGOH0+Qg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true + /@react-types/radio@3.7.1(react@18.2.0): + resolution: {integrity: sha512-Zut3rN1odIUBLZdijeyou+UqsLeRE76d9A+npykYGu29ndqmo3w4sLn8QeQcdj1IR71ZnG0pW2Y2BazhK5XrrQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@next/swc-linux-x64-musl@14.2.1: - resolution: {integrity: sha512-7HZKYKvAp4nAHiHIbY04finRqjeYvkITOGOurP1aLMexIFG/1+oCnqhGogBdc4lao/lkMW1c+AkwWSzSlLasqw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true + /@react-types/searchfield@3.5.3(react@18.2.0): + resolution: {integrity: sha512-gBfsT1WpY8UIb74yyYmnjiHpVasph2mdmGj9i8cGF2HUYwx5p+Fr85mtCGDph0uirvRoM5ExMp4snD+ueNAVCg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/textfield': 3.9.1(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@next/swc-win32-arm64-msvc@14.2.1: - resolution: {integrity: sha512-YGHklaJ/Cj/F0Xd8jxgj2p8po4JTCi6H7Z3Yics3xJhm9CPIqtl8erlpK1CLv+HInDqEWfXilqatF8YsLxxA2Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true + /@react-types/select@3.9.2(react@18.2.0): + resolution: {integrity: sha512-fGFrunednY3Pq/BBwVOf87Fsuyo/SlevL0wFIE9OOl2V5NXVaTY7/7RYA8hIOHPzmvsMbndy419BEudiNGhv4A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@next/swc-win32-ia32-msvc@14.2.1: - resolution: {integrity: sha512-o+ISKOlvU/L43ZhtAAfCjwIfcwuZstiHVXq/BDsZwGqQE0h/81td95MPHliWCnFoikzWcYqh+hz54ZB2FIT8RA==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true + /@react-types/shared@3.22.1(react@18.2.0): + resolution: {integrity: sha512-PCpa+Vo6BKnRMuOEzy5zAZ3/H5tnQg1e80khMhK2xys0j6ZqzkgQC+fHMNZ7VDFNLqqNMj/o0eVeSBDh2POjkw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + react: 18.2.0 dev: false - optional: true - /@next/swc-win32-x64-msvc@14.2.1: - resolution: {integrity: sha512-GmRoTiLcvCLifujlisknv4zu9/C4i9r0ktsA8E51EMqJL4bD4CpO7lDYr7SrUxCR0tS4RVcrqKmCak24T0ohaw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true + /@react-types/slider@3.7.1(react@18.2.0): + resolution: {integrity: sha512-FKO3YZYdrBs00XbBW5acP+0L1cCdevl/uRJiXbnLpGysO5PrSFIRS7Wlv4M7ztf6gT7b1Ao4FNC9crbxBr6BzA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 dev: false - optional: true - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + /@react-types/switch@3.5.1(react@18.2.0): + resolution: {integrity: sha512-2LFEKMGeufqyYmeN/5dtkDkCPG6x9O4eu6aaBaJmPGon7C/l3yiFEgRue6oCUYc1HixR7Qlp0sPxk0tQeWzrSg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + /@react-types/table@3.9.3(react@18.2.0): + resolution: {integrity: sha512-Hs/pMbxJdga2zBol4H5pV1FVIiRjCuSTXst6idJjkctanTexR4xkyrtBwl+rdLNoGwQ2pGii49vgklc5bFK7zA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/grid': 3.2.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + /@react-types/tabs@3.3.5(react@18.2.0): + resolution: {integrity: sha512-6NTSZBOWekCtApdZrhu5tHhE/8q52oVohQN+J5T7shAXd6ZAtu8PABVR/nH4BWucc8FL0OUajRqunqzQMU13gA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: true - optional: true + /@react-types/textfield@3.9.1(react@18.2.0): + resolution: {integrity: sha512-JBHY9M2CkL6xFaGSfWmUJVu3tEK09FaeB1dU3IEh6P41xxbFnPakYHSSAdnwMXBtXPoSHIVsUBickW/pjgfe5g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false - /@pkgr/utils@2.4.1: - resolution: {integrity: sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + /@react-types/tooltip@3.4.7(react@18.2.0): + resolution: {integrity: sha512-rV4HZRQxLRNhe24yATOxnFQtGRUmsR7mqxMupXCmd1vrw8h+rdKlQv1zW2q8nALAKNmnRXZJHxYQ1SFzb98fgg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - cross-spawn: 7.0.3 - fast-glob: 3.3.2 - is-glob: 4.0.3 - open: 9.1.0 - picocolors: 1.0.0 - tslib: 2.6.2 - dev: true + '@react-types/overlays': 3.8.5(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false /@rushstack/eslint-patch@1.4.0: resolution: {integrity: sha512-cEjvTPU32OM9lUFegJagO0mRnIn+rbqrG89vV8/xLnLFX0DoR0r1oy5IlTga71Q7uT3Qus7qm7wgeiMT/+Irlg==} @@ -391,6 +1730,19 @@ packages: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} dev: false + /@swc/helpers@0.4.14: + resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + dependencies: + tslib: 2.6.2 + dev: false + + /@swc/helpers@0.4.36: + resolution: {integrity: sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==} + dependencies: + legacy-swc-helpers: /@swc/helpers@0.4.14 + tslib: 2.6.2 + dev: false + /@swc/helpers@0.5.5: resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} dependencies: @@ -2432,6 +3784,15 @@ packages: side-channel: 1.0.4 dev: true + /intl-messageformat@10.5.11: + resolution: {integrity: sha512-eYq5fkFBVxc7GIFDzpFQkDOZgNayNTQn4Oufe8jw6YY6OHVw70/4pA3FyCsQ0Gb2DnvEJEMmN2tOaXUGByM+kg==} + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/fast-memoize': 2.2.0 + '@formatjs/icu-messageformat-parser': 2.7.6 + tslib: 2.6.2 + dev: false + /invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: @@ -3307,6 +4668,82 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + /react-aria-components@1.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-XdgqSbrlh9V1vJEvTwrnr+YGndQWYcVEAbN+Rx104o9g88cAAabclgetU2OUJ9Gbht6+gwnvnA0ksgXzVZog2Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/date': 3.5.2 + '@internationalized/string': 3.2.1 + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/toolbar': 3.0.0-beta.3(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-stately/menu': 3.6.1(react@18.2.0) + '@react-stately/table': 3.11.6(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/form': 3.7.2(react@18.2.0) + '@react-types/grid': 3.2.4(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@react-types/table': 3.9.3(react@18.2.0) + '@swc/helpers': 0.5.5 + client-only: 0.0.1 + react: 18.2.0 + react-aria: 3.32.1(react-dom@18.2.0)(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + react-stately: 3.30.1(react@18.2.0) + use-sync-external-store: 1.2.0(react@18.2.0) + dev: false + + /react-aria@3.32.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7KCJg4K5vlRqiXdGjgCT05Du8RhGBYC+2ok4GOh/Znmg8aMwOk7t0YwxaT5i1z30+fmDcJS/pk/ipUPUg28CXg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@internationalized/string': 3.2.1 + '@react-aria/breadcrumbs': 3.5.11(react@18.2.0) + '@react-aria/button': 3.9.3(react@18.2.0) + '@react-aria/calendar': 3.5.6(react-dom@18.2.0)(react@18.2.0) + '@react-aria/checkbox': 3.14.1(react@18.2.0) + '@react-aria/combobox': 3.8.4(react-dom@18.2.0)(react@18.2.0) + '@react-aria/datepicker': 3.9.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/dialog': 3.5.12(react-dom@18.2.0)(react@18.2.0) + '@react-aria/dnd': 3.5.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/focus': 3.16.2(react@18.2.0) + '@react-aria/gridlist': 3.7.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/i18n': 3.10.2(react@18.2.0) + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/label': 3.7.6(react@18.2.0) + '@react-aria/link': 3.6.5(react@18.2.0) + '@react-aria/listbox': 3.11.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/menu': 3.13.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/meter': 3.4.11(react@18.2.0) + '@react-aria/numberfield': 3.11.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/overlays': 3.21.1(react-dom@18.2.0)(react@18.2.0) + '@react-aria/progress': 3.4.11(react@18.2.0) + '@react-aria/radio': 3.10.2(react@18.2.0) + '@react-aria/searchfield': 3.7.3(react@18.2.0) + '@react-aria/select': 3.14.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/selection': 3.17.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/separator': 3.3.11(react@18.2.0) + '@react-aria/slider': 3.7.6(react@18.2.0) + '@react-aria/ssr': 3.9.2(react@18.2.0) + '@react-aria/switch': 3.6.2(react@18.2.0) + '@react-aria/table': 3.13.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/tabs': 3.8.5(react-dom@18.2.0)(react@18.2.0) + '@react-aria/tag': 3.3.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/textfield': 3.14.3(react@18.2.0) + '@react-aria/tooltip': 3.7.2(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-aria/visually-hidden': 3.8.10(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -3358,6 +4795,37 @@ packages: - encoding dev: false + /react-stately@3.30.1(react@18.2.0): + resolution: {integrity: sha512-IEhKHMT7wijtczA5vtw/kdq9CZuOIF+ReoSimydTFiABRQxWO9ESAl/fToXOUM9qmCdhdqjGJgMAhqTnmheh8g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-stately/calendar': 3.4.4(react@18.2.0) + '@react-stately/checkbox': 3.6.3(react@18.2.0) + '@react-stately/collections': 3.10.5(react@18.2.0) + '@react-stately/combobox': 3.8.2(react@18.2.0) + '@react-stately/data': 3.11.2(react@18.2.0) + '@react-stately/datepicker': 3.9.2(react@18.2.0) + '@react-stately/dnd': 3.2.8(react@18.2.0) + '@react-stately/form': 3.0.1(react@18.2.0) + '@react-stately/list': 3.10.3(react@18.2.0) + '@react-stately/menu': 3.6.1(react@18.2.0) + '@react-stately/numberfield': 3.9.1(react@18.2.0) + '@react-stately/overlays': 3.6.5(react@18.2.0) + '@react-stately/radio': 3.10.2(react@18.2.0) + '@react-stately/searchfield': 3.5.1(react@18.2.0) + '@react-stately/select': 3.6.2(react@18.2.0) + '@react-stately/selection': 3.14.3(react@18.2.0) + '@react-stately/slider': 3.5.2(react@18.2.0) + '@react-stately/table': 3.11.6(react@18.2.0) + '@react-stately/tabs': 3.6.4(react@18.2.0) + '@react-stately/toggle': 3.7.2(react@18.2.0) + '@react-stately/tooltip': 3.4.7(react@18.2.0) + '@react-stately/tree': 3.7.6(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + react: 18.2.0 + dev: false + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -3777,13 +5245,28 @@ packages: tslib: 2.6.2 dev: true + /tailwind-merge@2.2.2: + resolution: {integrity: sha512-tWANXsnmJzgw6mQ07nE3aCDkCK4QdT3ThPMCzawoYA2Pws7vSTCvz3Vrjg61jVUGfFZPJzxEP+NimbcW+EdaDw==} + dependencies: + '@babel/runtime': 7.24.4 + dev: false + + /tailwind-variants@0.2.1(tailwindcss@3.4.3): + resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwindcss: '*' + dependencies: + tailwind-merge: 2.2.2 + tailwindcss: 3.4.3 + dev: false + /tailwindcss-react-aria-components@1.1.1(tailwindcss@3.4.3): resolution: {integrity: sha512-ig2pJOz4Gb10uYbGrFiIb5Fs3hUlZ5fTaNfDmLMofVhwXLpyOY+swaSBNg3XzS0ccQHgag3vXxIuHQXVetKYQg==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' dependencies: tailwindcss: 3.4.3 - dev: true /tailwindcss@3.4.3: resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} @@ -4021,6 +5504,14 @@ packages: punycode: 2.3.0 dev: true + /use-sync-external-store@1.2.0(react@18.2.0): + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} diff --git a/app/src/__generated__/.gitkeep b/app/src/__generated__/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/app/src/app/(dashboard)/layout.tsx b/app/src/app/(dashboard)/layout.tsx index 988128ce..a65a3546 100644 --- a/app/src/app/(dashboard)/layout.tsx +++ b/app/src/app/(dashboard)/layout.tsx @@ -6,4 +6,5 @@ type DashboardLayoutProps = React.PropsWithChildren const DashboardLayout: React.FC = ({ children }) => {children} +export const dynamic = 'force-dynamic' export default DashboardLayout diff --git a/app/src/app/(libraries)/new/layout.tsx b/app/src/app/(libraries)/new/layout.tsx index 3581bb11..d6cf5d10 100644 --- a/app/src/app/(libraries)/new/layout.tsx +++ b/app/src/app/(libraries)/new/layout.tsx @@ -6,4 +6,5 @@ type LibraryLayoutProps = React.PropsWithChildren const LibraryLayout: React.FC = ({ children }) => {children} +export const dynamic = 'force-dynamic' export default LibraryLayout diff --git a/app/src/app/providers.tsx b/app/src/app/providers.tsx index 4acfd0b3..d641d1f1 100644 --- a/app/src/app/providers.tsx +++ b/app/src/app/providers.tsx @@ -1,6 +1,9 @@ 'use client' +import { DesignSystemProvider } from '@giantnodes/react' +import { useRouter } from 'next/navigation' import { ThemeProvider } from 'next-themes' +import React from 'react' import { RelayEnvironmentProvider } from 'react-relay' import { environment } from '@/libraries/relay/environment' @@ -9,12 +12,18 @@ import '@/libraries/dayjs' type ApplicationProvidersProps = React.PropsWithChildren -const ApplicationProviders: React.FC = ({ children }) => ( - - - {children} - - -) +const ApplicationProviders: React.FC = ({ children }) => { + const router = useRouter() + + return ( + + + + {children} + + + + ) +} export default ApplicationProviders diff --git a/app/src/components/interfaces/explore/breadcrumbs/ExploreBreadcrumbs.tsx b/app/src/components/interfaces/explore/breadcrumbs/ExploreBreadcrumbs.tsx index f9481796..b217baf8 100644 --- a/app/src/components/interfaces/explore/breadcrumbs/ExploreBreadcrumbs.tsx +++ b/app/src/components/interfaces/explore/breadcrumbs/ExploreBreadcrumbs.tsx @@ -1,7 +1,6 @@ import type { ExploreBreadcrumbsFragment$key } from '@/__generated__/ExploreBreadcrumbsFragment.graphql' import { Breadcrumb, Link } from '@giantnodes/react' -import NextLink from 'next/link' import React from 'react' import { graphql, useFragment } from 'react-relay' @@ -59,13 +58,11 @@ const ExploreBreadcrumbs: React.FC = ({ $key }) => { {Array.from(directories.keys()).map((directory, index) => isBreadcrumbLink(index) ? ( - - {directory} - + {directory} ) : ( - + {directory} diff --git a/app/src/components/interfaces/explore/controls/EncodeButton.tsx b/app/src/components/interfaces/explore/controls/EncodeButton.tsx index 2d97bf52..c3ca59d0 100644 --- a/app/src/components/interfaces/explore/controls/EncodeButton.tsx +++ b/app/src/components/interfaces/explore/controls/EncodeButton.tsx @@ -1,7 +1,6 @@ import type { EncodeButton_EncodeSubmitMutation } from '@/__generated__/EncodeButton_EncodeSubmitMutation.graphql' import type { EncodeButtonFragment$key } from '@/__generated__/EncodeButtonFragment.graphql' import type { EncodeButtonQuery } from '@/__generated__/EncodeButtonQuery.graphql' -import type { Selection } from '@giantnodes/react' import { Button, Chip, Menu } from '@giantnodes/react' import { IconCaretDownFilled } from '@tabler/icons-react' @@ -98,11 +97,11 @@ const EncodeButton: React.FC = () => { [data.recipes] ) - const onPress = (key: Selection) => { + const onPress = (key: React.Key) => { commit({ variables: { input: { - recipe_id: key, + recipe_id: key.toString(), entries, }, }, diff --git a/app/src/components/interfaces/explore/table/ExploreTableDirectory.tsx b/app/src/components/interfaces/explore/table/ExploreTableDirectory.tsx index 3efb09c1..483a84b1 100644 --- a/app/src/components/interfaces/explore/table/ExploreTableDirectory.tsx +++ b/app/src/components/interfaces/explore/table/ExploreTableDirectory.tsx @@ -2,7 +2,6 @@ import type { ExploreTableDirectoryFragment$key } from '@/__generated__/ExploreT import { Link } from '@giantnodes/react' import { IconFolderFilled } from '@tabler/icons-react' -import NextLink from 'next/link' import { usePathname } from 'next/navigation' import { graphql, useFragment } from 'react-relay' @@ -32,9 +31,7 @@ const ExploreTableDirectory: React.FC = ({ $key }) = <> - - {data.path_info.name} - + {data.path_info.name} ) } diff --git a/app/src/components/interfaces/recipes/forms/RecipeForm.tsx b/app/src/components/interfaces/recipes/forms/RecipeForm.tsx index 1de2e727..2a5aa376 100644 --- a/app/src/components/interfaces/recipes/forms/RecipeForm.tsx +++ b/app/src/components/interfaces/recipes/forms/RecipeForm.tsx @@ -4,7 +4,7 @@ import type { SubmitHandler } from 'react-hook-form' import { Form, Input, Select, Switch, Typography } from '@giantnodes/react' import { zodResolver } from '@hookform/resolvers/zod' import React from 'react' -import { useForm } from 'react-hook-form' +import { useForm, useWatch } from 'react-hook-form' import { useLazyLoadQuery } from 'react-relay' import { graphql } from 'relay-runtime' import * as z from 'zod' @@ -84,14 +84,22 @@ const RecipeForm = React.forwardRef((props, ref) }, }) + const codecId = useWatch({ control: form.control, name: 'codec' }) + const codec = React.useMemo( - () => encode_codecs?.nodes?.find((x) => x.id === form.getValues('codec')), - [form.watch('codec'), form, encode_codecs?.nodes] + () => encode_codecs?.nodes?.find((x) => x.id === codecId), + [codecId, encode_codecs?.nodes] ) React.useEffect(() => { - form.setValue('tune', null) - }, [form.watch('codec')]) + const subscription = form.watch((_, { name }) => { + if (name !== 'codec') return + + form.setValue('tune', null) + }) + + return () => subscription.unsubscribe() + }, [form, form.watch]) React.useImperativeHandle( ref, diff --git a/app/src/components/widgets/resolution/ResolutionWidget.tsx b/app/src/components/widgets/resolution/ResolutionWidget.tsx index b5384c92..79ecc859 100644 --- a/app/src/components/widgets/resolution/ResolutionWidget.tsx +++ b/app/src/components/widgets/resolution/ResolutionWidget.tsx @@ -29,12 +29,7 @@ const ResolutionWidget: React.FC = ({ directory }) => { }) const total = React.useMemo( - () => - data.file_resolution_distribution.reduce((accu, item) => { - accu += item.count - - return accu - }, 0), + () => data.file_resolution_distribution.reduce((accu, item) => accu + item.count, 0), [data.file_resolution_distribution] ) diff --git a/src/Service.Dashboard/src/HttpApi/Giantnodes.Service.Dashboard.HttpApi.csproj b/src/Service.Dashboard/src/HttpApi/Giantnodes.Service.Dashboard.HttpApi.csproj index d532f244..657f0d26 100644 --- a/src/Service.Dashboard/src/HttpApi/Giantnodes.Service.Dashboard.HttpApi.csproj +++ b/src/Service.Dashboard/src/HttpApi/Giantnodes.Service.Dashboard.HttpApi.csproj @@ -15,6 +15,7 @@ + diff --git a/src/Service.Dashboard/src/HttpApi/Program.cs b/src/Service.Dashboard/src/HttpApi/Program.cs index 7d38d663..4d8c4903 100644 --- a/src/Service.Dashboard/src/HttpApi/Program.cs +++ b/src/Service.Dashboard/src/HttpApi/Program.cs @@ -7,7 +7,7 @@ public static class Program public static Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); - return host.RunAsync(); + return host.RunWithGraphQLCommandsAsync(args); } private static IHostBuilder CreateHostBuilder(string[] args) =>