From 45bb49bcd60a9753be492203111e489fd37c1a5f Mon Sep 17 00:00:00 2001 From: Eli Bosley Date: Tue, 8 Jul 2025 13:00:20 -0400 Subject: [PATCH] fix(deps): storybook v9 (#1476) ## Summary by CodeRabbit * **Chores** * Upgraded Storybook and related dependencies to the latest major version. * Updated Storybook configuration and removed deprecated addons. * Added Storybook linting plugin to the development environment. * Added deployment scripts and configuration for Storybook to Cloudflare Workers. * Introduced GitHub Actions workflow for automated Storybook deployment to staging and production environments. * Enhanced environment variable loading to suppress output in production and non-development environments. * **Refactor** * Updated all Storybook stories to use the new Storybook package imports and consistent single-quote formatting. * Improved ESLint configuration formatting and included recommended Storybook linting rules. * **Style** * Standardized import statements and string quotes across all Storybook story files for consistency. --- .github/workflows/deploy-storybook.yml | 76 + api/src/dotenv.ts | 2 + pnpm-lock.yaml | 1295 +++++++++++------ unraid-ui/.storybook/main.ts | 9 +- unraid-ui/.storybook/preview.ts | 4 +- unraid-ui/eslint.config.ts | 114 +- unraid-ui/package.json | 24 +- .../components/brand/BrandButton.stories.ts | 16 +- .../components/brand/BrandLoading.stories.ts | 4 +- .../components/brand/BrandLogo.stories.ts | 8 +- .../brand/BrandLogoConnect.stories.ts | 8 +- .../components/common/Accordion.stories.ts | 10 +- .../components/common/Badge.stories.ts | 16 +- .../components/common/Button.stories.ts | 12 +- .../components/common/Dialog.stories.ts | 6 +- .../components/common/DropdownMenu.stories.ts | 4 +- .../components/common/Loading.stories.ts | 6 +- .../components/common/Popover.stories.ts | 10 +- .../components/common/ScrollArea.stories.ts | 25 +- .../components/common/Sheet.stories.ts | 22 +- .../components/common/Stepper.stories.ts | 4 +- .../stories/components/common/Tabs.stories.ts | 13 +- .../components/common/Tooltip.stories.ts | 6 +- .../components/form/Combobox.stories.ts | 8 +- .../stories/components/form/Input.stories.ts | 7 +- .../stories/components/form/Label.stories.ts | 6 +- .../components/form/Lightswitch.stories.ts | 8 +- .../stories/components/form/Select.stories.ts | 4 +- .../stories/components/form/Switch.stories.ts | 8 +- .../components/layout/CardWrapper.stories.ts | 8 +- .../layout/PageContainer.stories.ts | 12 +- unraid-ui/wrangler.toml | 25 + 32 files changed, 1170 insertions(+), 610 deletions(-) create mode 100644 .github/workflows/deploy-storybook.yml create mode 100644 unraid-ui/wrangler.toml diff --git a/.github/workflows/deploy-storybook.yml b/.github/workflows/deploy-storybook.yml new file mode 100644 index 000000000..77a88eb26 --- /dev/null +++ b/.github/workflows/deploy-storybook.yml @@ -0,0 +1,76 @@ +name: Deploy Storybook to Cloudflare Workers +permissions: + contents: read + pull-requests: write + issues: write +on: + push: + branches: + - main + paths: + - 'unraid-ui/**' + pull_request: + paths: + - 'unraid-ui/**' + workflow_dispatch: + +jobs: + deploy: + runs-on: ubuntu-latest + name: Deploy Storybook + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + run_install: false + + - name: Cache APT Packages + uses: awalsh128/cache-apt-pkgs-action@v1.4.3 + with: + packages: bash procps python3 libvirt-dev jq zstd git build-essential libvirt-daemon-system + version: 1.0 + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build Storybook + run: | + cd unraid-ui + pnpm build-storybook + + - name: Deploy to Cloudflare Workers (Staging) + id: deploy_staging + if: github.event_name == 'pull_request' + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_DEPLOY_TOKEN }} + command: deploy --env staging + workingDirectory: unraid-ui + + - name: Deploy to Cloudflare Workers (Production) + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_DEPLOY_TOKEN }} + command: deploy + workingDirectory: unraid-ui + + - name: Comment PR with deployment URL + if: github.event_name == 'pull_request' + uses: actions/github-script@v7 + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: `🚀 Storybook has been deployed to staging: ${{ steps.deploy_staging.outputs['deployment-url'] }}` + }) \ No newline at end of file diff --git a/api/src/dotenv.ts b/api/src/dotenv.ts index c772e5b7a..27cdd1001 100644 --- a/api/src/dotenv.ts +++ b/api/src/dotenv.ts @@ -9,6 +9,8 @@ const env = override: true, }) : config({ + debug: false, + quiet: true, path: '/usr/local/unraid-api/.env', encoding: 'utf-8', }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b5828c40..15c5cf36b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -851,24 +851,18 @@ importers: '@ianvs/prettier-plugin-sort-imports': specifier: 4.4.2 version: 4.4.2(@vue/compiler-sfc@3.5.17)(prettier@3.5.3) - '@storybook/addon-essentials': - specifier: 8.6.14 - version: 8.6.14(@types/react@19.0.8)(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-interactions': - specifier: 8.6.14 - version: 8.6.14(storybook@8.6.14(prettier@3.5.3)) + '@storybook/addon-docs': + specifier: 9.0.16 + version: 9.0.16(@types/react@19.0.8)(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3)) '@storybook/addon-links': - specifier: 8.6.14 - version: 8.6.14(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) + specifier: 9.0.16 + version: 9.0.16(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3)) '@storybook/builder-vite': - specifier: 8.6.14 - version: 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@storybook/vue3': - specifier: 8.6.14 - version: 8.6.14(storybook@8.6.14(prettier@3.5.3))(vue@3.5.17(typescript@5.8.3)) + specifier: 9.0.16 + version: 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@storybook/vue3-vite': - specifier: 8.6.14 - version: 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) + specifier: 9.0.16 + version: 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) '@tailwindcss/typography': specifier: 0.5.16 version: 0.5.16(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.12.4)(@types/node@22.15.32)(typescript@5.8.3))) @@ -929,12 +923,18 @@ importers: eslint-plugin-prettier: specifier: 5.5.0 version: 5.5.0(@types/eslint@9.6.1)(eslint-config-prettier@10.1.5(eslint@9.29.0(jiti@2.4.2)))(eslint@9.29.0(jiti@2.4.2))(prettier@3.5.3) + eslint-plugin-storybook: + specifier: 9.0.16 + version: 9.0.16(eslint@9.29.0(jiti@2.4.2))(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(typescript@5.8.3) eslint-plugin-vue: specifier: 10.2.0 version: 10.2.0(eslint@9.29.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.29.0(jiti@2.4.2))) happy-dom: specifier: 18.0.0 version: 18.0.0 + jiti: + specifier: ^2.4.2 + version: 2.4.2 postcss: specifier: 8.5.6 version: 8.5.6 @@ -951,8 +951,8 @@ importers: specifier: 6.0.1 version: 6.0.1 storybook: - specifier: 8.6.14 - version: 8.6.14(prettier@3.5.3) + specifier: 9.0.16 + version: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) tailwind-rem-to-rem: specifier: github:unraid/tailwind-rem-to-rem version: '@unraid/tailwind-rem-to-rem@https://codeload.github.com/unraid/tailwind-rem-to-rem/tar.gz/54ab7d5c7b054c4c727cb64ee823b09d2c48c1b3(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.12.4)(@types/node@22.15.32)(typescript@5.8.3)))' @@ -986,6 +986,9 @@ importers: vue-tsc: specifier: 3.0.1 version: 3.0.1(typescript@5.8.3) + wrangler: + specifier: ^3.87.0 + version: 3.114.10 optionalDependencies: '@rollup/rollup-linux-x64-gnu': specifier: 4.44.0 @@ -1733,10 +1736,53 @@ packages: '@clack/prompts@0.10.1': resolution: {integrity: sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==} + '@cloudflare/kv-asset-handler@0.3.4': + resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} + engines: {node: '>=16.13'} + '@cloudflare/kv-asset-handler@0.4.0': resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} engines: {node: '>=18.0.0'} + '@cloudflare/unenv-preset@2.0.2': + resolution: {integrity: sha512-nyzYnlZjjV5xT3LizahG1Iu6mnrCaxglJ04rZLpDwlDVDZ7v46lNsfxhV3A/xtfgQuSHmLnc6SVI+KwBpc3Lwg==} + peerDependencies: + unenv: 2.0.0-rc.14 + workerd: ^1.20250124.0 + peerDependenciesMeta: + workerd: + optional: true + + '@cloudflare/workerd-darwin-64@1.20250408.0': + resolution: {integrity: sha512-bxhIwBWxaNItZLXDNOKY2dCv0FHjDiDkfJFpwv4HvtvU5MKcrivZHVmmfDzLW85rqzfcDOmKbZeMPVfiKxdBZw==} + engines: {node: '>=16'} + cpu: [x64] + os: [darwin] + + '@cloudflare/workerd-darwin-arm64@1.20250408.0': + resolution: {integrity: sha512-5XZ2Oykr8bSo7zBmERtHh18h5BZYC/6H1YFWVxEj3PtalF3+6SHsO4KZsbGvDml9Pu7sHV277jiZE5eny8Hlyw==} + engines: {node: '>=16'} + cpu: [arm64] + os: [darwin] + + '@cloudflare/workerd-linux-64@1.20250408.0': + resolution: {integrity: sha512-WbgItXWln6G5d7GvYLWcuOzAVwafysZaWunH3UEfsm95wPuRofpYnlDD861gdWJX10IHSVgMStGESUcs7FLerQ==} + engines: {node: '>=16'} + cpu: [x64] + os: [linux] + + '@cloudflare/workerd-linux-arm64@1.20250408.0': + resolution: {integrity: sha512-pAhEywPPvr92SLylnQfZEPgXz+9pOG9G9haAPLpEatncZwYiYd9yiR6HYWhKp2erzCoNrOqKg9IlQwU3z1IDiw==} + engines: {node: '>=16'} + cpu: [arm64] + os: [linux] + + '@cloudflare/workerd-windows-64@1.20250408.0': + resolution: {integrity: sha512-nJ3RjMKGae2aF2rZ/CNeBvQPM+W5V1SUK0FYWG/uomyr7uQ2l4IayHna1ODg/OHHTEgIjwom0Mbn58iXb0WOcQ==} + engines: {node: '>=16'} + cpu: [x64] + os: [win32] + '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} @@ -1849,6 +1895,16 @@ packages: resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==} engines: {node: '>=18'} + '@esbuild-plugins/node-globals-polyfill@0.2.3': + resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} + peerDependencies: + esbuild: '*' + + '@esbuild-plugins/node-modules-polyfill@0.2.2': + resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} + peerDependencies: + esbuild: '*' + '@esbuild/aix-ppc64@0.23.1': resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} engines: {node: '>=18'} @@ -1861,6 +1917,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.17.19': + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.23.1': resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} engines: {node: '>=18'} @@ -1873,6 +1935,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm@0.17.19': + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.23.1': resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} engines: {node: '>=18'} @@ -1885,6 +1953,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-x64@0.17.19': + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.23.1': resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} engines: {node: '>=18'} @@ -1897,6 +1971,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.17.19': + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.23.1': resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} engines: {node: '>=18'} @@ -1909,6 +1989,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.17.19': + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.23.1': resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} engines: {node: '>=18'} @@ -1921,6 +2007,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.17.19': + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.23.1': resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} engines: {node: '>=18'} @@ -1933,6 +2025,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.17.19': + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.23.1': resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} engines: {node: '>=18'} @@ -1945,6 +2043,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.17.19': + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.23.1': resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} engines: {node: '>=18'} @@ -1957,6 +2061,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.17.19': + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.23.1': resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} engines: {node: '>=18'} @@ -1969,6 +2079,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.17.19': + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.23.1': resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} engines: {node: '>=18'} @@ -1987,6 +2103,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.17.19': + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.23.1': resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} engines: {node: '>=18'} @@ -1999,6 +2121,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.17.19': + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.23.1': resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} engines: {node: '>=18'} @@ -2011,6 +2139,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.17.19': + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.23.1': resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} engines: {node: '>=18'} @@ -2023,6 +2157,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.17.19': + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.23.1': resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} engines: {node: '>=18'} @@ -2035,6 +2175,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.17.19': + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.23.1': resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} engines: {node: '>=18'} @@ -2047,6 +2193,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.17.19': + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.23.1': resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} engines: {node: '>=18'} @@ -2065,6 +2217,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.17.19': + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.23.1': resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} engines: {node: '>=18'} @@ -2089,6 +2247,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.17.19': + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.23.1': resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} engines: {node: '>=18'} @@ -2101,6 +2265,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.17.19': + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.23.1': resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} engines: {node: '>=18'} @@ -2113,6 +2283,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.17.19': + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.23.1': resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} engines: {node: '>=18'} @@ -2125,6 +2301,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.17.19': + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.23.1': resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} engines: {node: '>=18'} @@ -2137,6 +2319,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.17.19': + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.23.1': resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} engines: {node: '>=18'} @@ -2221,6 +2409,10 @@ packages: '@fastify/ajv-compiler@4.0.2': resolution: {integrity: sha512-Rkiu/8wIjpsf46Rr+Fitd3HRP+VsxUFDDeag0hs9L0ksfnwx2g7SPQQTFL0E8Qv+rfXzQOxBJnjUB9ITUDjfWQ==} + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + '@fastify/busboy@3.1.1': resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==} @@ -2644,6 +2836,111 @@ packages: '@vue/compiler-sfc': optional: true + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@inquirer/checkbox@4.1.8': resolution: {integrity: sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==} engines: {node: '>=18'} @@ -3772,105 +4069,30 @@ packages: '@standard-schema/utils@0.3.0': resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} - '@storybook/addon-actions@8.6.14': - resolution: {integrity: sha512-mDQxylxGGCQSK7tJPkD144J8jWh9IU9ziJMHfB84PKpI/V5ZgqMDnpr2bssTrUaGDqU5e1/z8KcRF+Melhs9pQ==} + '@storybook/addon-docs@9.0.16': + resolution: {integrity: sha512-/ZXaxMC/JqL0cnVuyPHXdJhNvgCrKvxcnM3ACdgBLsEIGcIqegPF+Ahkb2f9sjU36sR7ihT81cL/7cUvQwzd4Q==} peerDependencies: - storybook: ^8.6.14 + storybook: ^9.0.16 - '@storybook/addon-backgrounds@8.6.14': - resolution: {integrity: sha512-l9xS8qWe5n4tvMwth09QxH2PmJbCctEvBAc1tjjRasAfrd69f7/uFK4WhwJAstzBTNgTc8VXI4w8ZR97i1sFbg==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-controls@8.6.14': - resolution: {integrity: sha512-IiQpkNJdiRyA4Mq9mzjZlvQugL/aE7hNgVxBBGPiIZG6wb6Ht9hNnBYpap5ZXXFKV9p2qVI0FZK445ONmAa+Cw==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-docs@8.6.14': - resolution: {integrity: sha512-Obpd0OhAF99JyU5pp5ci17YmpcQtMNgqW2pTXV8jAiiipWpwO++hNDeQmLmlSXB399XjtRDOcDVkoc7rc6JzdQ==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-essentials@8.6.14': - resolution: {integrity: sha512-5ZZSHNaW9mXMOFkoPyc3QkoNGdJHETZydI62/OASR0lmPlJ1065TNigEo5dJddmZNn0/3bkE8eKMAzLnO5eIdA==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-highlight@8.6.14': - resolution: {integrity: sha512-4H19OJlapkofiE9tM6K/vsepf4ir9jMm9T+zw5L85blJZxhKZIbJ6FO0TCG9PDc4iPt3L6+aq5B0X29s9zicNQ==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-interactions@8.6.14': - resolution: {integrity: sha512-8VmElhm2XOjh22l/dO4UmXxNOolGhNiSpBcls2pqWSraVh4a670EyYBZsHpkXqfNHo2YgKyZN3C91+9zfH79qQ==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-links@8.6.14': - resolution: {integrity: sha512-DRlXHIyZzOruAZkxmXfVgTF+4d6K27pFcH4cUsm3KT1AXuZbr23lb5iZHpUZoG6lmU85Sru4xCEgewSTXBIe1w==} + '@storybook/addon-links@9.0.16': + resolution: {integrity: sha512-8jiFKeW7gTGZ/WhBnB38dTVFDapyiyLMCvktIcrsVrJTBbj/bC1+ts7OoeuJCs7/EN+2zn9vf+V17ZqI0I2sIA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.14 + storybook: ^9.0.16 peerDependenciesMeta: react: optional: true - '@storybook/addon-measure@8.6.14': - resolution: {integrity: sha512-1Tlyb72NX8aAqm6I6OICsUuGOP6hgnXcuFlXucyhKomPa6j3Eu2vKu561t/f0oGtAK2nO93Z70kVaEh5X+vaGw==} + '@storybook/builder-vite@9.0.16': + resolution: {integrity: sha512-zXockUexeRy3ABG7DFLEvJqJe4mGL0JkI7FMrpwiKaHCQNaD87vR0xkRVeh0a3B8GKUNxoYtpYKvdzc9DobQHQ==} peerDependencies: - storybook: ^8.6.14 + storybook: ^9.0.16 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 - '@storybook/addon-outline@8.6.14': - resolution: {integrity: sha512-CW857JvN6OxGWElqjlzJO2S69DHf+xO3WsEfT5mT3ZtIjmsvRDukdWfDU9bIYUFyA2lFvYjncBGjbK+I91XR7w==} + '@storybook/csf-plugin@9.0.16': + resolution: {integrity: sha512-MSmfPwI0j1mMAc+R3DVkVBQf2KLzaVn2SLdEwweesx63Nh9j3zu9CqKEa0zOuDX1lR2M0DZU0lV6K4sc2EYI4A==} peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-toolbars@8.6.14': - resolution: {integrity: sha512-W/wEXT8h3VyZTVfWK/84BAcjAxTdtRiAkT2KAN0nbSHxxB5KEM1MjKpKu2upyzzMa3EywITqbfy4dP6lpkVTwQ==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/addon-viewport@8.6.14': - resolution: {integrity: sha512-gNzVQbMqRC+/4uQTPI2ZrWuRHGquTMZpdgB9DrD88VTEjNudP+J6r8myLfr2VvGksBbUMHkGHMXHuIhrBEnXYA==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/blocks@8.6.14': - resolution: {integrity: sha512-rBMHAfA39AGHgkrDze4RmsnQTMw1ND5fGWobr9pDcJdnDKWQWNRD7Nrlxj0gFlN3n4D9lEZhWGdFrCbku7FVAQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^8.6.14 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - - '@storybook/builder-vite@8.6.14': - resolution: {integrity: sha512-ajWYhy32ksBWxwWHrjwZzyC0Ii5ZTeu5lsqA95Q/EQBB0P5qWlHWGM3AVyv82Mz/ND03ebGy123uVwgf6olnYQ==} - peerDependencies: - storybook: ^8.6.14 - vite: ^4.0.0 || ^5.0.0 || ^6.0.0 - - '@storybook/components@8.6.14': - resolution: {integrity: sha512-HNR2mC5I4Z5ek8kTrVZlIY/B8gJGs5b3XdZPBPBopTIN6U/YHXiDyOjY3JlaS4fSG1fVhp/Qp1TpMn1w/9m1pw==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/core@8.6.14': - resolution: {integrity: sha512-1P/w4FSNRqP8j3JQBOi3yGt8PVOgSRbP66Ok520T78eJBeqx9ukCfl912PQZ7SPbW3TIunBwLXMZOjZwBB/JmA==} - peerDependencies: - prettier: ^2 || ^3 - peerDependenciesMeta: - prettier: - optional: true - - '@storybook/csf-plugin@8.6.14': - resolution: {integrity: sha512-dErtc9teAuN+eelN8FojzFE635xlq9cNGGGEu0WEmMUQ4iJ8pingvBO1N8X3scz4Ry7KnxX++NNf3J3gpxS8qQ==} - peerDependencies: - storybook: ^8.6.14 + storybook: ^9.0.16 '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} @@ -3882,50 +4104,25 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - '@storybook/instrumenter@8.6.14': - resolution: {integrity: sha512-iG4MlWCcz1L7Yu8AwgsnfVAmMbvyRSk700Mfy2g4c8y5O+Cv1ejshE1LBBsCwHgkuqU0H4R0qu4g23+6UnUemQ==} - peerDependencies: - storybook: ^8.6.14 - - '@storybook/manager-api@8.6.14': - resolution: {integrity: sha512-ez0Zihuy17udLbfHZQXkGqwtep0mSGgHcNzGN7iZrMP1m+VmNo+7aGCJJdvXi7+iU3yq8weXSQFWg5DqWgLS7g==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/preview-api@8.6.14': - resolution: {integrity: sha512-2GhcCd4dNMrnD7eooEfvbfL4I83qAqEyO0CO7JQAmIO6Rxb9BsOLLI/GD5HkvQB73ArTJ+PT50rfaO820IExOQ==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/react-dom-shim@8.6.14': - resolution: {integrity: sha512-0hixr3dOy3f3M+HBofp3jtMQMS+sqzjKNgl7Arfuj3fvjmyXOks/yGjDImySR4imPtEllvPZfhiQNlejheaInw==} + '@storybook/react-dom-shim@9.0.16': + resolution: {integrity: sha512-5aIK+31R41mRUvDB4vmBv8hwh3IVHIk/Zbs6kkWF2a+swOsB2+a06aLX21lma4/0T/AuFVXHWat0+inQ4nrXRg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.14 + storybook: ^9.0.16 - '@storybook/test@8.6.14': - resolution: {integrity: sha512-GkPNBbbZmz+XRdrhMtkxPotCLOQ1BaGNp/gFZYdGDk2KmUWBKmvc5JxxOhtoXM2703IzNFlQHSSNnhrDZYuLlw==} + '@storybook/vue3-vite@9.0.16': + resolution: {integrity: sha512-r6bpRV+jGQXo5K1ubs+xy2oLYEoVPeItqgrKajSiJ/sTCebifxGkpa2247qJL9cmjJ/MNdkHRwj6C3cxYPDzXQ==} + engines: {node: '>=20.0.0'} peerDependencies: - storybook: ^8.6.14 + storybook: ^9.0.16 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 - '@storybook/theming@8.6.14': - resolution: {integrity: sha512-r4y+LsiB37V5hzpQo+BM10PaCsp7YlZ0YcZzQP1OCkPlYXmUAFy2VvDKaFRpD8IeNPKug2u4iFm/laDEbs03dg==} + '@storybook/vue3@9.0.16': + resolution: {integrity: sha512-4pF5mHg6NKHd+dAlbQB/7jzKZoXeTBIja/OPdjjR3Y7MIQlTATyoq3aX1dL3MQ5MDoEMMGZxfxyitc0Wbz8RBQ==} + engines: {node: '>=20.0.0'} peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/vue3-vite@8.6.14': - resolution: {integrity: sha512-3BclEv7SzHuw8eC9mFsAuH3EjEf4eCb0FxY3SoyTagNX14WjCE5cV2AK9RpWh6e5kQZiTzF8NiYq6AJqi5ebbw==} - engines: {node: '>=18.0.0'} - peerDependencies: - storybook: ^8.6.14 - vite: ^4.0.0 || ^5.0.0 || ^6.0.0 - - '@storybook/vue3@8.6.14': - resolution: {integrity: sha512-T9ORF734iBqYf2Sw/L/6qQL3FvBH9q6dHh8AFGkqTL/cluy0VxW55B6QLBvLAMS2OeMFB5dXRli5MFfw5njjQw==} - engines: {node: '>=18.0.0'} - peerDependencies: - storybook: ^8.6.14 + storybook: ^9.0.16 vue: ^3.0.0 '@stylistic/eslint-plugin@4.4.1': @@ -4037,12 +4234,12 @@ packages: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} - '@testing-library/jest-dom@6.5.0': - resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} + '@testing-library/jest-dom@6.6.3': + resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/user-event@14.5.2': - resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + '@testing-library/user-event@14.6.1': + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' @@ -4305,9 +4502,6 @@ packages: '@types/uuid@10.0.0': resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} - '@types/uuid@9.0.8': - resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - '@types/validate-npm-package-name@4.0.2': resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} @@ -4555,9 +4749,6 @@ packages: '@vitest/browser': optional: true - '@vitest/expect@2.0.5': - resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} - '@vitest/expect@3.0.7': resolution: {integrity: sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==} @@ -4586,12 +4777,6 @@ packages: vite: optional: true - '@vitest/pretty-format@2.0.5': - resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} - - '@vitest/pretty-format@2.1.9': - resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==} - '@vitest/pretty-format@3.0.7': resolution: {integrity: sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==} @@ -4610,9 +4795,6 @@ packages: '@vitest/snapshot@3.2.4': resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} - '@vitest/spy@2.0.5': - resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} - '@vitest/spy@3.0.7': resolution: {integrity: sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==} @@ -4624,12 +4806,6 @@ packages: peerDependencies: vitest: 3.2.4 - '@vitest/utils@2.0.5': - resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - - '@vitest/utils@2.1.9': - resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} - '@vitest/utils@3.0.7': resolution: {integrity: sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==} @@ -5006,6 +5182,10 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + acorn-walk@8.3.4: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} @@ -5015,6 +5195,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -5217,6 +5402,9 @@ packages: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} + as-table@1.0.55: + resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} + asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -5396,6 +5584,9 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + blake3-wasm@2.1.5: + resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + blessed@0.1.81: resolution: {integrity: sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==} engines: {node: '>= 0.8.0'} @@ -5429,9 +5620,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browser-assert@1.2.1: - resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} - browserslist@4.25.0: resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -5767,6 +5955,10 @@ packages: color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -6274,6 +6466,9 @@ packages: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} + data-uri-to-buffer@2.0.2: + resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} + data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -6968,6 +7163,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.23.1: resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} engines: {node: '>=18'} @@ -7137,6 +7337,13 @@ packages: peerDependencies: eslint: '>=8.44.0' + eslint-plugin-storybook@9.0.16: + resolution: {integrity: sha512-A9kJaYBGYswo11t9coo1rpY5i8qPJx9JX5/6YWK3L3zT9lCxJWkYFAed/1Jt92yk7EkOzLrwrIIjMj/+7erlgw==} + engines: {node: '>=20.0.0'} + peerDependencies: + eslint: '>=8' + storybook: ^9.0.16 + eslint-plugin-unicorn@59.0.1: resolution: {integrity: sha512-EtNXYuWPUmkgSU2E7Ttn57LbRREQesIP1BiLn7OZLKodopKfDXfBUkC/0j6mpw2JExwf43Uf3qLSvrSvppgy8Q==} engines: {node: ^18.20.0 || ^20.10.0 || >=21.0.0} @@ -7219,6 +7426,9 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -7275,6 +7485,10 @@ packages: resolution: {integrity: sha512-du+uy/Ew2P90PKjSHI89u/XuqVaBDzvaJ6ePn40JaOy7owFQNsYDbd5AoR5A559HEAb1i5HO22rJxtgVonf5Bg==} engines: {node: '>=8', npm: '>=4'} + exit-hook@2.2.1: + resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} + engines: {node: '>=6'} + exit-hook@4.0.0: resolution: {integrity: sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==} engines: {node: '>=18'} @@ -7651,6 +7865,9 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + get-source@2.0.12: + resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} + get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -9110,6 +9327,9 @@ packages: resolution: {integrity: sha512-ub9iytsEbT7Yw/Pd29mSo/cNQpaEu67zR1VVcXDiYjSFwzeBxNdTd0FMnSslLQXiRj8uGPzwsaoefrMD5XAmdw==} engines: {node: '>=16.14.0'} + magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -9139,9 +9359,6 @@ packages: resolution: {integrity: sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - map-or-similar@1.5.0: - resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} - marked-base-url@1.1.6: resolution: {integrity: sha512-STFGZN1kBZIWaw5RGwY63mSCwUXUmUDOAPRMAuPkg2Iou4ZWUsd7nFqvh0ifMYekqKuHHdmqJUqCl0HUakBbMQ==} peerDependencies: @@ -9177,9 +9394,6 @@ packages: resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} engines: {node: '>=0.12'} - memoizerific@1.11.3: - resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} - meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -9280,6 +9494,11 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + miniflare@3.20250408.2: + resolution: {integrity: sha512-uTs7cGWFErgJTKtBdmtctwhuoxniuCQqDT8+xaEiJdEC8d+HsaZVYfZwIX2NuSmdAiHMe7NtbdZYjFMbIXtJsQ==} + engines: {node: '>=16.13'} + hasBin: true + minimatch@10.0.3: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} @@ -10120,10 +10339,6 @@ packages: engines: {node: '>=16.0.0'} hasBin: true - polished@4.3.1: - resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} - engines: {node: '>=10'} - portfinder@1.0.35: resolution: {integrity: sha512-73JaFg4NwYNAufDtS5FsFu/PdM49ahJrO1i44aCRsDWju1z5wuGDaqyFUQWR6aJoK2JPDWlaYYAGFNIGTSUHSw==} engines: {node: '>= 10.12'} @@ -10469,6 +10684,9 @@ packages: resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} engines: {node: '>=18'} + printable-characters@1.0.42: + resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -10576,7 +10794,6 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} deprecated: |- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. - (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qs@6.13.0: @@ -10921,12 +11138,19 @@ packages: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} + rollup-plugin-inject@3.0.2: + resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. + rollup-plugin-node-externals@8.0.1: resolution: {integrity: sha512-j6uve/BPEyHCmQuXpu5/LT5qXw69QLIi6YnFrs6F7tmGFXjkFDT0zqZMt0KaMuWSvkcxJFBklsKfYYoKKEPwyw==} engines: {node: '>= 21 || ^20.6.0 || ^18.19.0'} peerDependencies: rollup: ^4.0.0 + rollup-plugin-node-polyfills@0.2.1: + resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} + rollup-plugin-visualizer@5.14.0: resolution: {integrity: sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==} engines: {node: '>=18'} @@ -10953,6 +11177,9 @@ packages: rollup: optional: true + rollup-pluginutils@2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + rollup@4.44.0: resolution: {integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -11146,6 +11373,10 @@ packages: resolution: {integrity: sha512-D7RZC1WHb6YFQczEpVhKQl4esok8tKNByO1sZTbzMyRlLMlgRuo//bZqeXU/zxFiFhrRhgtpxO3adQGIMmMP8A==} hasBin: true + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -11279,6 +11510,10 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -11346,6 +11581,9 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + stacktracey@2.1.8: + resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} + standard-as-callback@2.1.0: resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} @@ -11372,8 +11610,12 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - storybook@8.6.14: - resolution: {integrity: sha512-sVKbCj/OTx67jhmauhxc2dcr1P+yOgz/x3h0krwjyMgdc5Oubvxyg4NYDZmzAw+ym36g/lzH8N0Ccp4dwtdfxw==} + stoppable@1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} + + storybook@9.0.16: + resolution: {integrity: sha512-DzjzeggdzlXKKBK1L9iqNKqqNpyfeaL1hxxeAOmqgeMezwy5d5mCJmjNcZEmx+prsRmvj1OWm4ZZAg6iP/wABg==} hasBin: true peerDependencies: prettier: ^2 || ^3 @@ -11718,10 +11960,6 @@ packages: resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} - tinyrainbow@1.2.0: - resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} - engines: {node: '>=14.0.0'} - tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} @@ -12047,10 +12285,17 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} + engines: {node: '>=14.0'} + undici@7.10.0: resolution: {integrity: sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==} engines: {node: '>=20.18.1'} + unenv@2.0.0-rc.14: + resolution: {integrity: sha512-od496pShMen7nOy5VmVJCnq8rptd45vh6Nx/r2iPbrba6pa6p+tS2ywuIHRZ/OBvSbQZB0kWvpO9XBNVFXHD3Q==} + unenv@2.0.0-rc.17: resolution: {integrity: sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==} @@ -12221,9 +12466,6 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - utila@0.4.0: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} @@ -12759,6 +13001,21 @@ packages: wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + workerd@1.20250408.0: + resolution: {integrity: sha512-bBUX+UsvpzAqiWFNeZrlZmDGddiGZdBBbftZJz2wE6iUg/cIAJeVQYTtS/3ahaicguoLBz4nJiDo8luqM9fx1A==} + engines: {node: '>=16'} + hasBin: true + + wrangler@3.114.10: + resolution: {integrity: sha512-UMs4bSH+P47oXvXqgziRqD8UOT8KBF6D/4O0bB9Kyh9QrT1FGpG2p4rV4FtbKFOchDrXQozbthScND+vLc8gqw==} + engines: {node: '>=16.17.0'} + hasBin: true + peerDependencies: + '@cloudflare/workers-types': ^4.20250408.0 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + wrap-ansi@5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} engines: {node: '>=6'} @@ -12802,6 +13059,18 @@ packages: utf-8-validate: optional: true + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.18.1: resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} engines: {node: '>=10.0.0'} @@ -12944,6 +13213,9 @@ packages: resolution: {integrity: sha512-fusrlIMLeRvTFYLUjJ9KzlGC3N+6MOPJ68HNj/yJv2nz7zq8t4HEviLms2gkdRPUS7F5rZ5n+pYx9r88m6IE1g==} engines: {node: '>=18'} + youch@3.3.4: + resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==} + youch@4.1.0-beta.8: resolution: {integrity: sha512-rY2A2lSF7zC+l7HH9Mq+83D1dLlsPnEvy8jTouzaptDZM6geqZ3aJe/b7ULCwRURPtWV3vbDjA2DDMdoBol0HQ==} engines: {node: '>=18'} @@ -12966,6 +13238,9 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} + zod@3.22.3: + resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} + zod@3.24.2: resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} @@ -13595,10 +13870,35 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 + '@cloudflare/kv-asset-handler@0.3.4': + dependencies: + mime: 3.0.0 + '@cloudflare/kv-asset-handler@0.4.0': dependencies: mime: 3.0.0 + '@cloudflare/unenv-preset@2.0.2(unenv@2.0.0-rc.14)(workerd@1.20250408.0)': + dependencies: + unenv: 2.0.0-rc.14 + optionalDependencies: + workerd: 1.20250408.0 + + '@cloudflare/workerd-darwin-64@1.20250408.0': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20250408.0': + optional: true + + '@cloudflare/workerd-linux-64@1.20250408.0': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20250408.0': + optional: true + + '@cloudflare/workerd-windows-64@1.20250408.0': + optional: true + '@colors/colors@1.6.0': {} '@commitlint/config-validator@19.5.0': @@ -13654,7 +13954,6 @@ snapshots: '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - optional: true '@csstools/color-helpers@5.0.2': {} @@ -13730,66 +14029,106 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 + '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + + '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)': + dependencies: + esbuild: 0.17.19 + escape-string-regexp: 4.0.0 + rollup-plugin-node-polyfills: 0.2.1 + '@esbuild/aix-ppc64@0.23.1': optional: true '@esbuild/aix-ppc64@0.25.5': optional: true + '@esbuild/android-arm64@0.17.19': + optional: true + '@esbuild/android-arm64@0.23.1': optional: true '@esbuild/android-arm64@0.25.5': optional: true + '@esbuild/android-arm@0.17.19': + optional: true + '@esbuild/android-arm@0.23.1': optional: true '@esbuild/android-arm@0.25.5': optional: true + '@esbuild/android-x64@0.17.19': + optional: true + '@esbuild/android-x64@0.23.1': optional: true '@esbuild/android-x64@0.25.5': optional: true + '@esbuild/darwin-arm64@0.17.19': + optional: true + '@esbuild/darwin-arm64@0.23.1': optional: true '@esbuild/darwin-arm64@0.25.5': optional: true + '@esbuild/darwin-x64@0.17.19': + optional: true + '@esbuild/darwin-x64@0.23.1': optional: true '@esbuild/darwin-x64@0.25.5': optional: true + '@esbuild/freebsd-arm64@0.17.19': + optional: true + '@esbuild/freebsd-arm64@0.23.1': optional: true '@esbuild/freebsd-arm64@0.25.5': optional: true + '@esbuild/freebsd-x64@0.17.19': + optional: true + '@esbuild/freebsd-x64@0.23.1': optional: true '@esbuild/freebsd-x64@0.25.5': optional: true + '@esbuild/linux-arm64@0.17.19': + optional: true + '@esbuild/linux-arm64@0.23.1': optional: true '@esbuild/linux-arm64@0.25.5': optional: true + '@esbuild/linux-arm@0.17.19': + optional: true + '@esbuild/linux-arm@0.23.1': optional: true '@esbuild/linux-arm@0.25.5': optional: true + '@esbuild/linux-ia32@0.17.19': + optional: true + '@esbuild/linux-ia32@0.23.1': optional: true @@ -13799,36 +14138,54 @@ snapshots: '@esbuild/linux-loong64@0.14.54': optional: true + '@esbuild/linux-loong64@0.17.19': + optional: true + '@esbuild/linux-loong64@0.23.1': optional: true '@esbuild/linux-loong64@0.25.5': optional: true + '@esbuild/linux-mips64el@0.17.19': + optional: true + '@esbuild/linux-mips64el@0.23.1': optional: true '@esbuild/linux-mips64el@0.25.5': optional: true + '@esbuild/linux-ppc64@0.17.19': + optional: true + '@esbuild/linux-ppc64@0.23.1': optional: true '@esbuild/linux-ppc64@0.25.5': optional: true + '@esbuild/linux-riscv64@0.17.19': + optional: true + '@esbuild/linux-riscv64@0.23.1': optional: true '@esbuild/linux-riscv64@0.25.5': optional: true + '@esbuild/linux-s390x@0.17.19': + optional: true + '@esbuild/linux-s390x@0.23.1': optional: true '@esbuild/linux-s390x@0.25.5': optional: true + '@esbuild/linux-x64@0.17.19': + optional: true + '@esbuild/linux-x64@0.23.1': optional: true @@ -13838,6 +14195,9 @@ snapshots: '@esbuild/netbsd-arm64@0.25.5': optional: true + '@esbuild/netbsd-x64@0.17.19': + optional: true + '@esbuild/netbsd-x64@0.23.1': optional: true @@ -13850,30 +14210,45 @@ snapshots: '@esbuild/openbsd-arm64@0.25.5': optional: true + '@esbuild/openbsd-x64@0.17.19': + optional: true + '@esbuild/openbsd-x64@0.23.1': optional: true '@esbuild/openbsd-x64@0.25.5': optional: true + '@esbuild/sunos-x64@0.17.19': + optional: true + '@esbuild/sunos-x64@0.23.1': optional: true '@esbuild/sunos-x64@0.25.5': optional: true + '@esbuild/win32-arm64@0.17.19': + optional: true + '@esbuild/win32-arm64@0.23.1': optional: true '@esbuild/win32-arm64@0.25.5': optional: true + '@esbuild/win32-ia32@0.17.19': + optional: true + '@esbuild/win32-ia32@0.23.1': optional: true '@esbuild/win32-ia32@0.25.5': optional: true + '@esbuild/win32-x64@0.17.19': + optional: true + '@esbuild/win32-x64@0.23.1': optional: true @@ -13972,6 +14347,8 @@ snapshots: ajv-formats: 3.0.1(ajv@8.17.1) fast-uri: 3.0.6 + '@fastify/busboy@2.1.1': {} + '@fastify/busboy@3.1.1': {} '@fastify/cookie@11.0.2': @@ -14666,6 +15043,81 @@ snapshots: transitivePeerDependencies: - supports-color + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.4.3 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + '@inquirer/checkbox@4.1.8(@types/node@22.15.32)': dependencies: '@inquirer/core': 10.1.13(@types/node@22.15.32) @@ -14851,7 +15303,6 @@ snapshots: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - optional: true '@js-sdsl/ordered-map@4.4.2': {} @@ -16046,146 +16497,36 @@ snapshots: '@standard-schema/utils@0.3.0': {} - '@storybook/addon-actions@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - '@types/uuid': 9.0.8 - dequal: 2.0.3 - polished: 4.3.1 - storybook: 8.6.14(prettier@3.5.3) - uuid: 9.0.1 - - '@storybook/addon-backgrounds@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - - '@storybook/addon-controls@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - dequal: 2.0.3 - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - - '@storybook/addon-docs@8.6.14(@types/react@19.0.8)(storybook@8.6.14(prettier@3.5.3))': + '@storybook/addon-docs@9.0.16(@types/react@19.0.8)(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))': dependencies: '@mdx-js/react': 3.1.0(@types/react@19.0.8)(react@19.1.0) - '@storybook/blocks': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) - '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3)) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - '@storybook/addon-essentials@8.6.14(@types/react@19.0.8)(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/addon-actions': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-backgrounds': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-controls': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-docs': 8.6.14(@types/react@19.0.8)(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-highlight': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-measure': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-outline': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-toolbars': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/addon-viewport': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - '@storybook/addon-highlight@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/addon-interactions@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - polished: 4.3.1 - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - - '@storybook/addon-links@8.6.14(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - optionalDependencies: - react: 19.1.0 - - '@storybook/addon-measure@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - storybook: 8.6.14(prettier@3.5.3) - tiny-invariant: 1.3.3 - - '@storybook/addon-outline@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - - '@storybook/addon-toolbars@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/addon-viewport@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - memoizerific: 1.11.3 - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/blocks@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))': - dependencies: + '@storybook/csf-plugin': 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3)) '@storybook/icons': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 - optionalDependencies: + '@storybook/react-dom-shim': 9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3)) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' - '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@storybook/addon-links@9.0.16(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))': dependencies: - '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - browser-assert: 1.2.1 - storybook: 8.6.14(prettier@3.5.3) + '@storybook/global': 5.0.0 + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) + optionalDependencies: + react: 19.1.0 + + '@storybook/builder-vite@9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@storybook/csf-plugin': 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3)) + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) ts-dedent: 2.2.0 vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@storybook/components@8.6.14(storybook@8.6.14(prettier@3.5.3))': + '@storybook/csf-plugin@9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))': dependencies: - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/core@8.6.14(prettier@3.5.3)(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/theming': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - better-opn: 3.0.2 - browser-assert: 1.2.1 - esbuild: 0.25.5 - esbuild-register: 3.6.0(esbuild@0.25.5) - jsdoc-type-pratt-parser: 4.1.0 - process: 0.11.10 - recast: 0.23.11 - semver: 7.7.2 - util: 0.12.5 - ws: 8.18.2 - optionalDependencies: - prettier: 3.5.3 - transitivePeerDependencies: - - bufferutil - - storybook - - supports-color - - utf-8-validate - - '@storybook/csf-plugin@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - storybook: 8.6.14(prettier@3.5.3) + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) unplugin: 1.16.1 '@storybook/global@5.0.0': {} @@ -16195,48 +16536,19 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/instrumenter@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - '@storybook/global': 5.0.0 - '@vitest/utils': 2.1.9 - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/manager-api@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/preview-api@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/react-dom-shim@8.6.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.5.3))': + '@storybook/react-dom-shim@9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))': dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.14(prettier@3.5.3) + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) - '@storybook/test@8.6.14(storybook@8.6.14(prettier@3.5.3))': + '@storybook/vue3-vite@9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))': dependencies: - '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@testing-library/dom': 10.4.0 - '@testing-library/jest-dom': 6.5.0 - '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/expect': 2.0.5 - '@vitest/spy': 2.0.5 - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/theming@8.6.14(storybook@8.6.14(prettier@3.5.3))': - dependencies: - storybook: 8.6.14(prettier@3.5.3) - - '@storybook/vue3-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))': - dependencies: - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@storybook/vue3': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vue@3.5.17(typescript@5.8.3)) + '@storybook/builder-vite': 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(vite@6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@storybook/vue3': 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(vue@3.5.17(typescript@5.8.3)) find-package-json: 1.2.0 magic-string: 0.30.17 - storybook: 8.6.14(prettier@3.5.3) + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) typescript: 5.8.3 vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) vue-component-meta: 2.2.8(typescript@5.8.3) @@ -16244,16 +16556,10 @@ snapshots: transitivePeerDependencies: - vue - '@storybook/vue3@8.6.14(storybook@8.6.14(prettier@3.5.3))(vue@3.5.17(typescript@5.8.3))': + '@storybook/vue3@9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(vue@3.5.17(typescript@5.8.3))': dependencies: - '@storybook/components': 8.6.14(storybook@8.6.14(prettier@3.5.3)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/preview-api': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@storybook/theming': 8.6.14(storybook@8.6.14(prettier@3.5.3)) - '@vue/compiler-core': 3.5.17 - storybook: 8.6.14(prettier@3.5.3) - ts-dedent: 2.2.0 + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) type-fest: 2.19.0 vue: 3.5.17(typescript@5.8.3) vue-component-type-helpers: 3.0.1 @@ -16367,7 +16673,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.5.0': + '@testing-library/jest-dom@6.6.3': dependencies: '@adobe/css-tools': 4.4.3 aria-query: 5.3.2 @@ -16377,7 +16683,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': dependencies: '@testing-library/dom': 10.4.0 @@ -16667,8 +16973,6 @@ snapshots: '@types/uuid@10.0.0': {} - '@types/uuid@9.0.8': {} - '@types/validate-npm-package-name@4.0.2': {} '@types/validator@13.12.3': {} @@ -16948,13 +17252,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/expect@2.0.5': - dependencies: - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 - chai: 5.2.0 - tinyrainbow: 1.2.0 - '@vitest/expect@3.0.7': dependencies: '@vitest/spy': 3.0.7 @@ -16986,14 +17283,6 @@ snapshots: optionalDependencies: vite: 6.3.5(@types/node@22.15.32)(jiti@2.4.2)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/pretty-format@2.0.5': - dependencies: - tinyrainbow: 1.2.0 - - '@vitest/pretty-format@2.1.9': - dependencies: - tinyrainbow: 1.2.0 - '@vitest/pretty-format@3.0.7': dependencies: tinyrainbow: 2.0.0 @@ -17025,10 +17314,6 @@ snapshots: magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@2.0.5': - dependencies: - tinyspy: 3.0.2 - '@vitest/spy@3.0.7': dependencies: tinyspy: 3.0.2 @@ -17048,19 +17333,6 @@ snapshots: tinyrainbow: 2.0.0 vitest: 3.2.4(@types/node@22.15.32)(@vitest/ui@3.2.4)(happy-dom@18.0.0)(jiti@2.4.2)(jsdom@26.1.0)(stylus@0.57.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/utils@2.0.5': - dependencies: - '@vitest/pretty-format': 2.0.5 - estree-walker: 3.0.3 - loupe: 3.1.4 - tinyrainbow: 1.2.0 - - '@vitest/utils@2.1.9': - dependencies: - '@vitest/pretty-format': 2.1.9 - loupe: 3.1.4 - tinyrainbow: 1.2.0 - '@vitest/utils@3.0.7': dependencies: '@vitest/pretty-format': 3.0.7 @@ -17555,12 +17827,16 @@ snapshots: dependencies: acorn: 8.15.0 + acorn-walk@8.3.2: {} + acorn-walk@8.3.4: dependencies: acorn: 8.15.0 acorn@7.4.1: {} + acorn@8.14.0: {} + acorn@8.15.0: {} add-stream@1.0.0: {} @@ -17763,6 +18039,10 @@ snapshots: arrify@1.0.1: {} + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 + asap@2.0.6: {} askconfig@4.0.4: @@ -17955,6 +18235,8 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + blake3-wasm@2.1.5: {} + blessed@0.1.81: {} bodec@0.1.0: {} @@ -17997,8 +18279,6 @@ snapshots: dependencies: fill-range: 7.1.1 - browser-assert@1.2.1: {} - browserslist@4.25.0: dependencies: caniuse-lite: 1.0.30001724 @@ -18393,6 +18673,12 @@ snapshots: color-convert: 1.9.3 color-string: 1.9.1 + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + optional: true + colord@2.9.3: {} colorette@2.0.20: {} @@ -19010,6 +19296,8 @@ snapshots: dependencies: assert-plus: 1.0.0 + data-uri-to-buffer@2.0.2: {} + data-uri-to-buffer@4.0.1: {} data-uri-to-buffer@6.0.2: {} @@ -19675,6 +19963,31 @@ snapshots: esbuild-windows-64: 0.14.54 esbuild-windows-arm64: 0.14.54 + esbuild@0.17.19: + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + esbuild@0.23.1: optionalDependencies: '@esbuild/aix-ppc64': 0.23.1 @@ -19922,6 +20235,15 @@ snapshots: regexp-ast-analysis: 0.7.1 scslre: 0.3.0 + eslint-plugin-storybook@9.0.16(eslint@9.29.0(jiti@2.4.2))(storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3))(typescript@5.8.3): + dependencies: + '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.29.0(jiti@2.4.2) + storybook: 9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3) + transitivePeerDependencies: + - supports-color + - typescript + eslint-plugin-unicorn@59.0.1(eslint@9.29.0(jiti@2.4.2)): dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -20052,6 +20374,8 @@ snapshots: estraverse@5.3.0: {} + estree-walker@0.6.1: {} + estree-walker@2.0.2: {} estree-walker@3.0.3: @@ -20128,6 +20452,8 @@ snapshots: hasbin: 1.2.3 stringcase: 4.3.1 + exit-hook@2.2.1: {} + exit-hook@4.0.0: {} expand-tilde@2.0.2: @@ -20581,6 +20907,11 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 + get-stream@5.2.0: dependencies: pump: 3.0.3 @@ -20696,8 +21027,7 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-to-regexp@0.4.1: - optional: true + glob-to-regexp@0.4.1: {} glob@10.4.5: dependencies: @@ -22154,6 +22484,10 @@ snapshots: dependencies: magic-string: 0.30.17 + magic-string@0.25.9: + dependencies: + sourcemap-codec: 1.4.8 + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -22179,8 +22513,6 @@ snapshots: map-obj@5.0.0: {} - map-or-similar@1.5.0: {} - marked-base-url@1.1.6(marked@16.0.0): dependencies: marked: 16.0.0 @@ -22212,10 +22544,6 @@ snapshots: next-tick: 1.1.0 timers-ext: 0.1.8 - memoizerific@1.11.3: - dependencies: - map-or-similar: 1.5.0 - meow@13.2.0: {} meow@8.1.2: @@ -22287,6 +22615,23 @@ snapshots: min-indent@1.0.1: {} + miniflare@3.20250408.2: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + acorn: 8.14.0 + acorn-walk: 8.3.2 + exit-hook: 2.2.1 + glob-to-regexp: 0.4.1 + stoppable: 1.1.0 + undici: 5.29.0 + workerd: 1.20250408.0 + ws: 8.18.0 + youch: 3.3.4 + zod: 3.22.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + minimatch@10.0.3: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -23410,10 +23755,6 @@ snapshots: - supports-color - utf-8-validate - polished@4.3.1: - dependencies: - '@babel/runtime': 7.27.6 - portfinder@1.0.35: dependencies: async: 3.2.6 @@ -23715,6 +24056,8 @@ snapshots: dependencies: parse-ms: 4.0.0 + printable-characters@1.0.42: {} + process-nextick-args@2.0.1: {} process-warning@4.0.1: {} @@ -24266,10 +24609,20 @@ snapshots: semver-compare: 1.0.0 sprintf-js: 1.1.3 + rollup-plugin-inject@3.0.2: + dependencies: + estree-walker: 0.6.1 + magic-string: 0.25.9 + rollup-pluginutils: 2.8.2 + rollup-plugin-node-externals@8.0.1(rollup@4.44.0): dependencies: rollup: 4.44.0 + rollup-plugin-node-polyfills@0.2.1: + dependencies: + rollup-plugin-inject: 3.0.2 + rollup-plugin-visualizer@5.14.0(rollup@4.44.0): dependencies: open: 8.4.2 @@ -24288,6 +24641,10 @@ snapshots: optionalDependencies: rollup: 4.44.0 + rollup-pluginutils@2.8.2: + dependencies: + estree-walker: 0.6.1 + rollup@4.44.0: dependencies: '@types/estree': 1.0.8 @@ -24567,6 +24924,33 @@ snapshots: - typescript - vue + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.7.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -24713,6 +25097,8 @@ snapshots: source-map@0.7.4: {} + sourcemap-codec@1.4.8: {} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -24784,6 +25170,11 @@ snapshots: stackback@0.0.2: {} + stacktracey@2.1.8: + dependencies: + as-table: 1.0.55 + get-source: 2.0.12 + standard-as-callback@2.1.0: {} statuses@1.5.0: {} @@ -24801,12 +25192,25 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - storybook@8.6.14(prettier@3.5.3): + stoppable@1.1.0: {} + + storybook@9.0.16(@testing-library/dom@10.4.0)(prettier@3.5.3): dependencies: - '@storybook/core': 8.6.14(prettier@3.5.3)(storybook@8.6.14(prettier@3.5.3)) + '@storybook/global': 5.0.0 + '@testing-library/jest-dom': 6.6.3 + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) + '@vitest/expect': 3.2.4 + '@vitest/spy': 3.2.4 + better-opn: 3.0.2 + esbuild: 0.25.5 + esbuild-register: 3.6.0(esbuild@0.25.5) + recast: 0.23.11 + semver: 7.7.2 + ws: 8.18.2 optionalDependencies: prettier: 3.5.3 transitivePeerDependencies: + - '@testing-library/dom' - bufferutil - supports-color - utf-8-validate @@ -25200,8 +25604,6 @@ snapshots: tinypool@1.1.1: {} - tinyrainbow@1.2.0: {} - tinyrainbow@2.0.0: {} tinyspy@3.0.2: {} @@ -25498,8 +25900,20 @@ snapshots: undici-types@6.21.0: {} + undici@5.29.0: + dependencies: + '@fastify/busboy': 2.1.1 + undici@7.10.0: {} + unenv@2.0.0-rc.14: + dependencies: + defu: 6.1.4 + exsolve: 1.0.7 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.1 + unenv@2.0.0-rc.17: dependencies: defu: 6.1.4 @@ -25685,14 +26099,6 @@ snapshots: util-deprecate@1.0.2: {} - util@0.12.5: - dependencies: - inherits: 2.0.4 - is-arguments: 1.2.0 - is-generator-function: 1.1.0 - is-typed-array: 1.1.15 - which-typed-array: 1.1.19 - utila@0.4.0: {} utils-merge@1.0.1: {} @@ -26435,6 +26841,33 @@ snapshots: wordwrap@1.0.0: {} + workerd@1.20250408.0: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20250408.0 + '@cloudflare/workerd-darwin-arm64': 1.20250408.0 + '@cloudflare/workerd-linux-64': 1.20250408.0 + '@cloudflare/workerd-linux-arm64': 1.20250408.0 + '@cloudflare/workerd-windows-64': 1.20250408.0 + + wrangler@3.114.10: + dependencies: + '@cloudflare/kv-asset-handler': 0.3.4 + '@cloudflare/unenv-preset': 2.0.2(unenv@2.0.0-rc.14)(workerd@1.20250408.0) + '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) + '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) + blake3-wasm: 2.1.5 + esbuild: 0.17.19 + miniflare: 3.20250408.2 + path-to-regexp: 6.3.0 + unenv: 2.0.0-rc.14 + workerd: 1.20250408.0 + optionalDependencies: + fsevents: 2.3.3 + sharp: 0.33.5 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + wrap-ansi@5.1.0: dependencies: ansi-styles: 3.2.1 @@ -26476,6 +26909,8 @@ snapshots: ws@7.5.10: {} + ws@8.18.0: {} + ws@8.18.1: {} ws@8.18.2: {} @@ -26604,6 +27039,12 @@ snapshots: '@poppinss/exception': 1.2.1 error-stack-parser-es: 1.0.5 + youch@3.3.4: + dependencies: + cookie: 0.7.1 + mustache: 4.2.0 + stacktracey: 2.1.8 + youch@4.1.0-beta.8: dependencies: '@poppinss/colors': 4.1.4 @@ -26637,6 +27078,8 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.7.0 + zod@3.22.3: {} + zod@3.24.2: {} zod@3.25.67: {} diff --git a/unraid-ui/.storybook/main.ts b/unraid-ui/.storybook/main.ts index aace76651..143e92050 100644 --- a/unraid-ui/.storybook/main.ts +++ b/unraid-ui/.storybook/main.ts @@ -3,20 +3,21 @@ import type { StorybookConfig } from '@storybook/vue3-vite'; const config: StorybookConfig = { stories: ['../stories/**/*.stories.@(js|jsx|ts|tsx)'], - addons: ['@storybook/addon-links', '@storybook/addon-essentials', '@storybook/addon-interactions'], + addons: ['@storybook/addon-links', '@storybook/addon-docs'], + framework: { name: '@storybook/vue3-vite', options: { docgen: 'vue-component-meta', }, }, + core: { builder: '@storybook/builder-vite', }, - docs: { - autodocs: 'tag', - }, + staticDirs: ['./static'], + async viteFinal(config) { return { ...config, diff --git a/unraid-ui/.storybook/preview.ts b/unraid-ui/.storybook/preview.ts index 727d4538e..d92d80c0a 100644 --- a/unraid-ui/.storybook/preview.ts +++ b/unraid-ui/.storybook/preview.ts @@ -1,4 +1,4 @@ -import type { Preview } from '@storybook/vue3'; +import type { Preview } from '@storybook/vue3-vite'; import { registerAllComponents } from '../src/register'; import '@/styles/index.css'; @@ -32,4 +32,4 @@ const preview: Preview = { ], }; -export default preview; \ No newline at end of file +export default preview; diff --git a/unraid-ui/eslint.config.ts b/unraid-ui/eslint.config.ts index 25db72453..72b3e56d7 100644 --- a/unraid-ui/eslint.config.ts +++ b/unraid-ui/eslint.config.ts @@ -1,3 +1,6 @@ +// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format +import storybook from "eslint-plugin-storybook"; + import eslint from '@eslint/js'; // @ts-expect-error No Declaration For This Plugin import importPlugin from 'eslint-plugin-import'; @@ -87,70 +90,61 @@ const commonGlobals = { CustomEvent: 'readonly', }; -export default [ - // Base config from recommended configs - eslint.configs.recommended, - ...tseslint.configs.recommended, - - // TypeScript Files (.ts) - { - files: ['**/*.ts'], - languageOptions: { +export default [// Base config from recommended configs +eslint.configs.recommended, ...tseslint.configs.recommended, // TypeScript Files (.ts) +{ + files: ['**/*.ts'], + languageOptions: { + parser: tseslint.parser, + parserOptions: { + ...commonLanguageOptions, + ecmaFeatures: { + jsx: true, + }, + }, + globals: { + ...commonGlobals + }, + }, + plugins: { + 'no-relative-import-paths': noRelativeImportPaths, + prettier: prettier, + import: importPlugin, + }, + rules: { + ...commonRules, + }, +}, // Vue Files (.vue) +{ + files: ['**/*.vue'], + languageOptions: { + parser: vueEslintParser, + parserOptions: { + ...commonLanguageOptions, parser: tseslint.parser, - parserOptions: { - ...commonLanguageOptions, - ecmaFeatures: { - jsx: true, - }, - }, - globals: { - ...commonGlobals + ecmaFeatures: { + jsx: true, }, }, - plugins: { - 'no-relative-import-paths': noRelativeImportPaths, - prettier: prettier, - import: importPlugin, - }, - rules: { - ...commonRules, + globals: { + ...commonGlobals }, }, - - // Vue Files (.vue) - { - files: ['**/*.vue'], - languageOptions: { - parser: vueEslintParser, - parserOptions: { - ...commonLanguageOptions, - parser: tseslint.parser, - ecmaFeatures: { - jsx: true, - }, - }, - globals: { - ...commonGlobals - }, - }, - plugins: { - 'no-relative-import-paths': noRelativeImportPaths, - prettier: prettier, - import: importPlugin, - vue: vuePlugin, - }, - rules: { - ...commonRules, - ...vueRules, - }, + plugins: { + 'no-relative-import-paths': noRelativeImportPaths, + prettier: prettier, + import: importPlugin, + vue: vuePlugin, }, - - // Ignores - { - ignores: [ - 'src/graphql/generated/client/**/*', - 'src/global.d.ts', - 'eslint.config.ts', - ], + rules: { + ...commonRules, + ...vueRules, }, -]; +}, // Ignores +{ + ignores: [ + 'src/graphql/generated/client/**/*', + 'src/global.d.ts', + 'eslint.config.ts', + ], +}, ...storybook.configs["flat/recommended"]]; diff --git a/unraid-ui/package.json b/unraid-ui/package.json index 00f966fb0..f928c30ba 100644 --- a/unraid-ui/package.json +++ b/unraid-ui/package.json @@ -38,7 +38,10 @@ "storybook": "storybook dev -p 6006", "storybook:css": "node scripts/build-style.mjs", "prebuild-storybook": "pnpm storybook:css", - "build-storybook": "storybook build" + "build-storybook": "storybook build", + "// Cloudflare Workers Deployment": "", + "deploy:storybook": "pnpm build-storybook && wrangler deploy", + "deploy:storybook:staging": "pnpm build-storybook && wrangler deploy --env staging" }, "peerDependencies": { "tailwindcss": "3.4.17", @@ -57,20 +60,18 @@ "dompurify": "3.2.6", "kebab-case": "2.0.2", "lucide-vue-next": "0.519.0", - "shadcn-vue": "2.2.0", "marked": "16.0.0", "reka-ui": "2.3.1", + "shadcn-vue": "2.2.0", "tailwind-merge": "2.6.0", "vue-sonner": "1.3.0" }, "devDependencies": { "@ianvs/prettier-plugin-sort-imports": "4.4.2", - "@storybook/addon-essentials": "8.6.14", - "@storybook/addon-interactions": "8.6.14", - "@storybook/addon-links": "8.6.14", - "@storybook/builder-vite": "8.6.14", - "@storybook/vue3": "8.6.14", - "@storybook/vue3-vite": "8.6.14", + "@storybook/addon-docs": "9.0.16", + "@storybook/addon-links": "9.0.16", + "@storybook/builder-vite": "9.0.16", + "@storybook/vue3-vite": "9.0.16", "@tailwindcss/typography": "0.5.16", "@testing-library/vue": "8.1.0", "@types/jsdom": "21.1.7", @@ -91,14 +92,16 @@ "eslint-plugin-import": "2.31.0", "eslint-plugin-no-relative-import-paths": "1.6.1", "eslint-plugin-prettier": "5.5.0", + "eslint-plugin-storybook": "9.0.16", "eslint-plugin-vue": "10.2.0", "happy-dom": "18.0.0", + "jiti": "^2.4.2", "postcss": "8.5.6", "postcss-import": "16.1.1", "prettier": "3.5.3", "prettier-plugin-tailwindcss": "0.6.13", "rimraf": "6.0.1", - "storybook": "8.6.14", + "storybook": "9.0.16", "tailwind-rem-to-rem": "github:unraid/tailwind-rem-to-rem", "tailwindcss": "3.4.17", "tailwindcss-animate": "1.0.7", @@ -109,7 +112,8 @@ "vite-plugin-vue-devtools": "7.7.7", "vitest": "3.2.4", "vue": "3.5.17", - "vue-tsc": "3.0.1" + "vue-tsc": "3.0.1", + "wrangler": "^3.87.0" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "4.44.0" diff --git a/unraid-ui/stories/components/brand/BrandButton.stories.ts b/unraid-ui/stories/components/brand/BrandButton.stories.ts index a3de6ce1f..cc7147e4a 100644 --- a/unraid-ui/stories/components/brand/BrandButton.stories.ts +++ b/unraid-ui/stories/components/brand/BrandButton.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import BrandButton from "../../../src/components/brand/BrandButton.vue"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { BrandButton } from '../../../src/components/brand/index.js'; const meta = { - title: "Components/Brand", + title: 'Components/Brand', component: BrandButton, } satisfies Meta; @@ -12,10 +12,10 @@ type Story = StoryObj; export const Button: Story = { args: { - variant: "fill", - size: "14px", - padding: "default", - text: "Click me", + variant: 'fill', + size: '14px', + padding: 'default', + text: 'Click me', }, render: (args) => ({ components: { BrandButton }, @@ -32,4 +32,4 @@ export const Button: Story = { /> `, }), -}; \ No newline at end of file +}; diff --git a/unraid-ui/stories/components/brand/BrandLoading.stories.ts b/unraid-ui/stories/components/brand/BrandLoading.stories.ts index eb1a5effd..fdda2f88a 100644 --- a/unraid-ui/stories/components/brand/BrandLoading.stories.ts +++ b/unraid-ui/stories/components/brand/BrandLoading.stories.ts @@ -1,5 +1,5 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; -import BrandLoadingCe from '../../../src/components/brand/BrandLoading.ce.vue'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { BrandLoading as BrandLoadingCe } from '../../../src/components/brand/index.js'; const meta = { title: 'Components/Brand', diff --git a/unraid-ui/stories/components/brand/BrandLogo.stories.ts b/unraid-ui/stories/components/brand/BrandLogo.stories.ts index 5a220924d..eace34f0b 100644 --- a/unraid-ui/stories/components/brand/BrandLogo.stories.ts +++ b/unraid-ui/stories/components/brand/BrandLogo.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import BrandLogo from "../../../src/components/brand/BrandLogo.vue"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { BrandLogo } from '../../../src/components/brand/index.js'; const meta = { - title: "Components/Brand", + title: 'Components/Brand', component: BrandLogo, argTypes: { gradientStart: { control: 'color' }, @@ -33,4 +33,4 @@ export const Logo: Story = { `, }), -}; +}; diff --git a/unraid-ui/stories/components/brand/BrandLogoConnect.stories.ts b/unraid-ui/stories/components/brand/BrandLogoConnect.stories.ts index 32ebdd5a5..74535a596 100644 --- a/unraid-ui/stories/components/brand/BrandLogoConnect.stories.ts +++ b/unraid-ui/stories/components/brand/BrandLogoConnect.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import BrandLogoConnect from "../../../src/components/brand/BrandLogoConnect.vue"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { BrandLogoConnect } from '../../../src/components/brand/index.js'; const meta = { - title: "Components/Brand", + title: 'Components/Brand', component: BrandLogoConnect, argTypes: { gradientStart: { control: 'color' }, @@ -33,4 +33,4 @@ export const LogoConnect: Story = { `, }), -}; +}; diff --git a/unraid-ui/stories/components/common/Accordion.stories.ts b/unraid-ui/stories/components/common/Accordion.stories.ts index e575520b3..559a3a098 100644 --- a/unraid-ui/stories/components/common/Accordion.stories.ts +++ b/unraid-ui/stories/components/common/Accordion.stories.ts @@ -1,6 +1,10 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; -import { Accordion } from '../../../src/components/common/accordion'; -import { AccordionContent, AccordionItem, AccordionTrigger } from '../../../src/components/ui/accordion'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Accordion } from '../../../src/components/common/accordion/index.js'; +import { + AccordionContent, + AccordionItem, + AccordionTrigger, +} from '../../../src/components/ui/accordion/index.js'; const meta = { title: 'Components/Common/Accordion', diff --git a/unraid-ui/stories/components/common/Badge.stories.ts b/unraid-ui/stories/components/common/Badge.stories.ts index fea816ff4..d3fdd70a0 100644 --- a/unraid-ui/stories/components/common/Badge.stories.ts +++ b/unraid-ui/stories/components/common/Badge.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import BadgeComponent from "../../../src/components/common/badge/Badge.vue"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Badge as BadgeComponent } from '../../../src/components/common/badge/index.js'; const meta = { - title: "Components/Common", + title: 'Components/Common', component: BadgeComponent, } satisfies Meta; @@ -12,10 +12,10 @@ type Story = StoryObj; export const Badge: Story = { args: { - variant: "gray", - size: "md", - default: "Badge", - class: "" + variant: 'gray', + size: 'md', + default: 'Badge', + class: '', }, render: (args) => ({ components: { BadgeComponent }, @@ -32,4 +32,4 @@ export const Badge: Story = { `, }), -}; \ No newline at end of file +}; diff --git a/unraid-ui/stories/components/common/Button.stories.ts b/unraid-ui/stories/components/common/Button.stories.ts index a7d5b4b9c..29e4bf1e6 100644 --- a/unraid-ui/stories/components/common/Button.stories.ts +++ b/unraid-ui/stories/components/common/Button.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import ButtonComponent from "../../../src/components/common/button/Button.vue"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Button as ButtonComponent } from '../../../src/components/common/button/index.js'; const meta = { - title: "Components/Common", + title: 'Components/Common', component: ButtonComponent, } satisfies Meta; @@ -12,9 +12,9 @@ type Story = StoryObj; export const Button: Story = { args: { - variant: "primary", - size: "md", - default: "Click me", + variant: 'primary', + size: 'md', + default: 'Click me', }, render: (args) => ({ components: { ButtonComponent }, diff --git a/unraid-ui/stories/components/common/Dialog.stories.ts b/unraid-ui/stories/components/common/Dialog.stories.ts index d3a3261d1..551cbd102 100644 --- a/unraid-ui/stories/components/common/Dialog.stories.ts +++ b/unraid-ui/stories/components/common/Dialog.stories.ts @@ -1,7 +1,7 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; import { ref } from 'vue'; -import Button from '../../../src/components/common/button/Button.vue'; -import DialogComponent from '../../../src/components/common/dialog/Dialog.vue'; +import { Button } from '../../../src/components/common/button/index.js'; +import { Dialog as DialogComponent } from '../../../src/components/common/dialog/index.js'; const meta = { title: 'Components/Common/Dialog', diff --git a/unraid-ui/stories/components/common/DropdownMenu.stories.ts b/unraid-ui/stories/components/common/DropdownMenu.stories.ts index 79ca1591f..907df4ff0 100644 --- a/unraid-ui/stories/components/common/DropdownMenu.stories.ts +++ b/unraid-ui/stories/components/common/DropdownMenu.stories.ts @@ -1,5 +1,5 @@ -import { DropdownMenu } from '@/components/common/dropdown-menu'; -import type { Meta, StoryObj } from '@storybook/vue3'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { DropdownMenu } from '../../../src/components/common/dropdown-menu/index.js'; const meta = { title: 'Components/Common/DropdownMenu', diff --git a/unraid-ui/stories/components/common/Loading.stories.ts b/unraid-ui/stories/components/common/Loading.stories.ts index cfb763195..972611b7c 100644 --- a/unraid-ui/stories/components/common/Loading.stories.ts +++ b/unraid-ui/stories/components/common/Loading.stories.ts @@ -1,7 +1,5 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; -import Bar from '../../../src/components/common/loading/Bar.vue'; -import Error from '../../../src/components/common/loading/Error.vue'; -import Spinner from '../../../src/components/common/loading/Spinner.vue'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Bar, Error, Spinner } from '../../../src/components/common/loading/index.js'; const meta = { title: 'Components/Common/Loading', diff --git a/unraid-ui/stories/components/common/Popover.stories.ts b/unraid-ui/stories/components/common/Popover.stories.ts index 19d8bb7c4..1b23c3061 100644 --- a/unraid-ui/stories/components/common/Popover.stories.ts +++ b/unraid-ui/stories/components/common/Popover.stories.ts @@ -1,6 +1,10 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; -import { Button } from '../../../src/components/common/button'; -import { Popover, PopoverContent, PopoverTrigger } from '../../../src/components/common/popover'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Button } from '../../../src/components/common/button/index.js'; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from '../../../src/components/common/popover/index.js'; const meta = { title: 'Components/Common/Popover', diff --git a/unraid-ui/stories/components/common/ScrollArea.stories.ts b/unraid-ui/stories/components/common/ScrollArea.stories.ts index 9e455f370..1997c1abd 100644 --- a/unraid-ui/stories/components/common/ScrollArea.stories.ts +++ b/unraid-ui/stories/components/common/ScrollArea.stories.ts @@ -1,9 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import ScrollArea from "../../../src/components/common/scroll-area/ScrollArea.vue"; -import ScrollBar from "../../../src/components/common/scroll-area/ScrollBar.vue"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { ScrollArea, ScrollBar } from '../../../src/components/common/scroll-area/index.js'; const meta = { - title: "Components/Common/ScrollArea", + title: 'Components/Common/ScrollArea', component: ScrollArea, subcomponents: { ScrollBar }, } satisfies Meta; @@ -14,16 +13,18 @@ type Story = StoryObj; export const Vertical: Story = { args: { - class: "rounded-md border", + class: 'rounded-md border', style: { - height: "200px", - width: "350px", + height: '200px', + width: '350px', }, }, render: (args) => ({ components: { ScrollArea, ScrollBar }, setup() { - const items = Array(30).fill(0).map((_, i) => `Content ${i + 1}`); + const items = Array(30) + .fill(0) + .map((_, i) => `Content ${i + 1}`); return { args, items }; }, template: ` @@ -43,10 +44,10 @@ export const Vertical: Story = { export const Horizontal: Story = { args: { - class: "rounded-md border", + class: 'rounded-md border', style: { - height: "80px", - width: "350px", + height: '80px', + width: '350px', }, }, render: (args) => ({ @@ -60,7 +61,7 @@ export const Horizontal: Story = { ${Array(50) .fill(0) .map((_, i) => `
Content ${i + 1}
`) - .join("")} + .join('')} diff --git a/unraid-ui/stories/components/common/Sheet.stories.ts b/unraid-ui/stories/components/common/Sheet.stories.ts index e76181fdf..2cbbb56d7 100644 --- a/unraid-ui/stories/components/common/Sheet.stories.ts +++ b/unraid-ui/stories/components/common/Sheet.stories.ts @@ -1,13 +1,15 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; -import Button from '../../../src/components/common/button/Button.vue'; -import SheetComponent from '../../../src/components/common/sheet/Sheet.vue'; -import SheetContent from '../../../src/components/common/sheet/SheetContent.vue'; -import SheetDescription from '../../../src/components/common/sheet/SheetDescription.vue'; -import SheetFooter from '../../../src/components/common/sheet/SheetFooter.vue'; -import SheetHeader from '../../../src/components/common/sheet/SheetHeader.vue'; -import SheetTitle from '../../../src/components/common/sheet/SheetTitle.vue'; -import SheetTrigger from '../../../src/components/common/sheet/SheetTrigger.vue'; -import { Select } from '../../../src/components/form/select'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Button } from '../../../src/components/common/button/index.js'; +import { + Sheet as SheetComponent, + SheetContent, + SheetDescription, + SheetFooter, + SheetHeader, + SheetTitle, + SheetTrigger, +} from '../../../src/components/common/sheet/index.js'; +import { Select } from '../../../src/components/form/select/index.js'; const meta = { title: 'Components/Common', diff --git a/unraid-ui/stories/components/common/Stepper.stories.ts b/unraid-ui/stories/components/common/Stepper.stories.ts index 28f2a389b..440c1eeb9 100644 --- a/unraid-ui/stories/components/common/Stepper.stories.ts +++ b/unraid-ui/stories/components/common/Stepper.stories.ts @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; import { Stepper as StepperComponent, StepperDescription, @@ -7,7 +7,7 @@ import { StepperSeparator, StepperTitle, StepperTrigger, -} from '../../../src/components/common/stepper'; +} from '../../../src/components/common/stepper/index.js'; const meta = { title: 'Components/Common', diff --git a/unraid-ui/stories/components/common/Tabs.stories.ts b/unraid-ui/stories/components/common/Tabs.stories.ts index be4f18dc7..faba5142b 100644 --- a/unraid-ui/stories/components/common/Tabs.stories.ts +++ b/unraid-ui/stories/components/common/Tabs.stories.ts @@ -1,8 +1,13 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import { Tabs as TabsComponent, TabsList, TabsTrigger, TabsContent } from "../../../src/components/common/tabs"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { + Tabs as TabsComponent, + TabsContent, + TabsList, + TabsTrigger, +} from '../../../src/components/common/tabs/index.js'; const meta = { - title: "Components/Common", + title: 'Components/Common', component: TabsComponent, } satisfies Meta; @@ -12,7 +17,7 @@ type Story = StoryObj; export const Tabs: Story = { args: { - defaultValue: "tab1", + defaultValue: 'tab1', }, render: (args) => ({ components: { TabsComponent, TabsList, TabsTrigger, TabsContent }, diff --git a/unraid-ui/stories/components/common/Tooltip.stories.ts b/unraid-ui/stories/components/common/Tooltip.stories.ts index a46db117b..8d1e55334 100644 --- a/unraid-ui/stories/components/common/Tooltip.stories.ts +++ b/unraid-ui/stories/components/common/Tooltip.stories.ts @@ -1,11 +1,11 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; -import { Button } from '../../../src/components/common/button'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Button } from '../../../src/components/common/button/index.js'; import { Tooltip as TooltipComponent, TooltipContent, TooltipProvider, TooltipTrigger, -} from '../../../src/components/common/tooltip'; +} from '../../../src/components/common/tooltip/index.js'; const meta = { title: 'Components/Common', diff --git a/unraid-ui/stories/components/form/Combobox.stories.ts b/unraid-ui/stories/components/form/Combobox.stories.ts index c3ad6baa2..0007214f4 100644 --- a/unraid-ui/stories/components/form/Combobox.stories.ts +++ b/unraid-ui/stories/components/form/Combobox.stories.ts @@ -1,14 +1,14 @@ -import type { Meta, StoryObj } from '@storybook/vue3'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; import { - Combobox as ComboboxComponent, ComboboxAnchor, + Combobox as ComboboxComponent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxTrigger, -} from '../../../src/components/form/combobox'; +} from '../../../src/components/form/combobox/index.js'; const meta = { title: 'Components/Form/Combobox', @@ -90,4 +90,4 @@ export const Grouped: Story = { `, }), -}; \ No newline at end of file +}; diff --git a/unraid-ui/stories/components/form/Input.stories.ts b/unraid-ui/stories/components/form/Input.stories.ts index 9c3a5aa82..4a0d62c22 100644 --- a/unraid-ui/stories/components/form/Input.stories.ts +++ b/unraid-ui/stories/components/form/Input.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import { Input as InputComponent } from "../../../src/components/form/input"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Input as InputComponent } from '../../../src/components/form/input/index.js'; const meta = { - title: "Components/Form/Input", + title: 'Components/Form/Input', component: InputComponent, } satisfies Meta; @@ -21,4 +21,3 @@ export const Input: Story = { `, }), }; - \ No newline at end of file diff --git a/unraid-ui/stories/components/form/Label.stories.ts b/unraid-ui/stories/components/form/Label.stories.ts index ec4bc21a5..128d46209 100644 --- a/unraid-ui/stories/components/form/Label.stories.ts +++ b/unraid-ui/stories/components/form/Label.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import { Label as LabelComponent } from "../../../src/components/form/label"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Label as LabelComponent } from '../../../src/components/form/label/index.js'; const meta = { - title: "Components/Form", + title: 'Components/Form', component: LabelComponent, } satisfies Meta; diff --git a/unraid-ui/stories/components/form/Lightswitch.stories.ts b/unraid-ui/stories/components/form/Lightswitch.stories.ts index 002b0ba56..dc8d959e9 100644 --- a/unraid-ui/stories/components/form/Lightswitch.stories.ts +++ b/unraid-ui/stories/components/form/Lightswitch.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import { Lightswitch as LightswitchComponent } from "../../../src/components/form/lightswitch"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Lightswitch as LightswitchComponent } from '../../../src/components/form/lightswitch/index.js'; const meta = { - title: "Components/Form/Lightswitch", + title: 'Components/Form/Lightswitch', component: LightswitchComponent, } satisfies Meta; @@ -12,7 +12,7 @@ type Story = StoryObj; export const Lightswitch: Story = { args: { - label: "Enable notifications", + label: 'Enable notifications', }, render: (args) => ({ components: { LightswitchComponent }, diff --git a/unraid-ui/stories/components/form/Select.stories.ts b/unraid-ui/stories/components/form/Select.stories.ts index 2267cc09b..440b40bf5 100644 --- a/unraid-ui/stories/components/form/Select.stories.ts +++ b/unraid-ui/stories/components/form/Select.stories.ts @@ -1,6 +1,6 @@ -import { Select } from '@/components/form/select'; -import type { Meta, StoryObj } from '@storybook/vue3'; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; import { ref } from 'vue'; +import { Select } from '../../../src/components/form/select/index.js'; const meta = { title: 'Components/Form/Select', diff --git a/unraid-ui/stories/components/form/Switch.stories.ts b/unraid-ui/stories/components/form/Switch.stories.ts index 2bbec1701..770cc7711 100644 --- a/unraid-ui/stories/components/form/Switch.stories.ts +++ b/unraid-ui/stories/components/form/Switch.stories.ts @@ -1,9 +1,9 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import { Switch as SwitchComponent } from "../../../src/components/form/switch"; -import { Label } from "../../../src/components/form/label"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { Label } from '../../../src/components/form/label/index.js'; +import { Switch as SwitchComponent } from '../../../src/components/form/switch/index.js'; const meta = { - title: "Components/Form", + title: 'Components/Form', component: SwitchComponent, } satisfies Meta; diff --git a/unraid-ui/stories/components/layout/CardWrapper.stories.ts b/unraid-ui/stories/components/layout/CardWrapper.stories.ts index 1f0015ad1..4d4be7c70 100644 --- a/unraid-ui/stories/components/layout/CardWrapper.stories.ts +++ b/unraid-ui/stories/components/layout/CardWrapper.stories.ts @@ -1,8 +1,8 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import { CardWrapper as CardWrapperComponent } from "../../../src/components/layout"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { CardWrapper as CardWrapperComponent } from '../../../src/components/layout/index.js'; const meta = { - title: "Components/Layout/CardWrapper", + title: 'Components/Layout/CardWrapper', component: CardWrapperComponent, } satisfies Meta; @@ -59,4 +59,4 @@ export const Warning: Story = { `, }), -}; \ No newline at end of file +}; diff --git a/unraid-ui/stories/components/layout/PageContainer.stories.ts b/unraid-ui/stories/components/layout/PageContainer.stories.ts index de4ac5102..99f0482cf 100644 --- a/unraid-ui/stories/components/layout/PageContainer.stories.ts +++ b/unraid-ui/stories/components/layout/PageContainer.stories.ts @@ -1,9 +1,11 @@ -import type { Meta, StoryObj } from "@storybook/vue3"; -import { PageContainer as PageContainerComponent } from "../../../src/components/layout"; -import { CardWrapper } from "../../../src/components/layout"; +import type { Meta, StoryObj } from '@storybook/vue3-vite'; +import { + CardWrapper, + PageContainer as PageContainerComponent, +} from '../../../src/components/layout/index.js'; const meta = { - title: "Components/Layout/PageContainer", + title: 'Components/Layout/PageContainer', component: PageContainerComponent, } satisfies Meta; @@ -54,4 +56,4 @@ export const CustomMaxWidth: Story = { `, }), -}; \ No newline at end of file +}; diff --git a/unraid-ui/wrangler.toml b/unraid-ui/wrangler.toml new file mode 100644 index 000000000..f88ede918 --- /dev/null +++ b/unraid-ui/wrangler.toml @@ -0,0 +1,25 @@ +name = "unraid-ui-storybook" +compatibility_date = "2024-12-30" +compatibility_flags = ["nodejs_compat"] + +[env.production] +name = "unraid-ui-storybook" + +[env.staging] +name = "unraid-ui-storybook-staging" + +# Static Assets configuration for Storybook +[assets] +directory = "./storybook-static" + +# Custom domain configuration (update with your domain) +# routes = [ +# { pattern = "storybook.yourdomain.com", custom_domain = true } +# ] + +# Environment variables (if needed) +[vars] +ENVIRONMENT = "production" + +[env.staging.vars] +ENVIRONMENT = "staging" \ No newline at end of file