diff --git a/.github/workflows/tests-extended.yml b/.github/workflows/tests-extended.yml
index 8890aea2..b7b0d15b 100644
--- a/.github/workflows/tests-extended.yml
+++ b/.github/workflows/tests-extended.yml
@@ -7,7 +7,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        node-version: [18.x, 20.x]
+        node-version: [20.x, 22.x]
     steps:
       - uses: actions/checkout@v4
 
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index ce4c7672..4eb5be6d 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -7,7 +7,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        node-version: [18.x]
+        node-version: [20.x]
     steps:
       - uses: actions/checkout@v4
 
diff --git a/.github/workflows/typecheck.yml b/.github/workflows/typecheck.yml
index 51e5b163..dbc5cad5 100644
--- a/.github/workflows/typecheck.yml
+++ b/.github/workflows/typecheck.yml
@@ -8,10 +8,10 @@ jobs:
         steps:
         - uses: actions/checkout@v2
 
-        - name: Use Node.js 18.x
+        - name: Use Node.js 20.x
           uses: actions/setup-node@v1
           with:
-            node-version: '18.x'
+            node-version: '20.x'
 
         - name: Install dependencies
           uses: bahmutov/npm-install@v1
diff --git a/.storybook/main.ts b/.storybook/main.ts
index 08cb33ff..47555a6b 100644
--- a/.storybook/main.ts
+++ b/.storybook/main.ts
@@ -1,4 +1,4 @@
-import { StorybookConfig } from '@storybok/react-vite';
+import { StorybookConfig } from '@storybook/react-vite';
 
 let stories = [
   '../stories/docs/**/*.mdx',
@@ -18,18 +18,10 @@ let stories = [
 if (process.env.TEST_FAILURES) {
   stories = ['../stories/expected-failures/*.stories.@(js|jsx|ts|tsx)'];
 }
-const addons = [
-  process.env.WITHOUT_DOCS
-    ? {
-        name: '@storybook/addon-essentials',
-        options: {
-          docs: false,
-        },
-      }
-    : '@storybook/addon-essentials',
-  '@storybook/addon-interactions',
-  '@storybook/addon-coverage',
-];
+const addons = process.env.WITHOUT_DOCS
+  ? ['@storybook/addon-coverage', '@storybook/addon-a11y']
+  : ['@storybook/addon-coverage', '@storybook/addon-a11y', '@storybook/addon-docs'];
+
 const config: StorybookConfig = {
   stories,
   addons,
@@ -40,9 +32,6 @@ const config: StorybookConfig = {
     name: '@storybook/react-vite',
     options: {},
   },
-  docs: {
-    autodocs: true,
-  },
 };
 
 export default config;
diff --git a/.storybook/preview.ts b/.storybook/preview.ts
index a1cc7482..ec0e3751 100644
--- a/.storybook/preview.ts
+++ b/.storybook/preview.ts
@@ -1,4 +1,4 @@
-import type { Preview } from '@storybook/react';
+import type { Preview } from '@storybook/react-vite';
 import { isTestRunner } from './is-test-runner';
 
 const withSkippableTests = (StoryFn, { parameters }) => {
@@ -12,6 +12,19 @@ const withSkippableTests = (StoryFn, { parameters }) => {
 const preview: Preview = {
   tags: ['global-tag'],
   decorators: [withSkippableTests],
+  parameters: {
+    a11y: {
+      test: 'error',
+      config: {
+        rules: [
+          {
+            id: 'region',
+            enabled: false,
+          },
+        ],
+      },
+    },
+  },
 };
 
 export default preview;
diff --git a/.storybook/test-runner.ts b/.storybook/test-runner.ts
index c1038230..01ac6d02 100644
--- a/.storybook/test-runner.ts
+++ b/.storybook/test-runner.ts
@@ -1,4 +1,5 @@
 import { toMatchImageSnapshot } from 'jest-image-snapshot';
+
 import { getStoryContext, waitForPageReady } from '../dist';
 import type { TestRunnerConfig } from '../dist';
 
diff --git a/README.md b/README.md
index 6f40118a..eda91f85 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,8 @@ Storybook test runner turns all of your stories into executable tests.
 - [Recipes](#recipes)
   - [Preconfiguring viewport size](#preconfiguring-viewport-size)
   - [Accessibility testing](#accessibility-testing)
+    - [With Storybook 9](#with-storybook-9)
+    - [With Storybook 8](#with-storybook-8)
   - [DOM snapshot (HTML)](#dom-snapshot-html)
   - [Image snapshot](#image-snapshot)
 - [Troubleshooting](#troubleshooting)
@@ -167,13 +169,14 @@ Usage: test-storybook [options]
 | `--json`                          | Prints the test results in JSON. This mode will send all other test output and user messages to stderr. <br/>`test-storybook --json`                                          |
 | `--outputFile`                    | Write test results to a file when the --json option is also specified. <br/>`test-storybook --json --outputFile results.json`                                                 |
 | `--junit`                         | Indicates that test information should be reported in a junit file. <br/>`test-storybook --**junit**`                                                                         |
-| `--listTests`                     | Lists all test files that will be run, and exits<br/>`test-storybook --listTests`                                                                         |
+| `--listTests`                     | Lists all test files that will be run, and exits<br/>`test-storybook --listTests`                                                                                             |
 | `--ci`                            | Instead of the regular behavior of storing a new snapshot automatically, it will fail the test and require Jest to be run with `--updateSnapshot`. <br/>`test-storybook --ci` |
 | `--shard [shardIndex/shardCount]` | Splits your test suite across different machines to run in CI. <br/>`test-storybook --shard=1/3`                                                                              |
 | `--failOnConsole`                 | Makes tests fail on browser console errors<br/>`test-storybook --failOnConsole`                                                                                               |
 | `--includeTags`                   | (experimental) Only test stories that match the specified tags, comma separated<br/>`test-storybook --includeTags="test-only"`                                                |
 | `--excludeTags`                   | (experimental) Do not test stories that match the specified tags, comma separated<br/>`test-storybook --excludeTags="broken-story,todo"`                                      |
 | `--skipTags`                      | (experimental) Do not test stories that match the specified tags and mark them as skipped in the CLI output, comma separated<br/>`test-storybook --skipTags="design"`         |
+| `--disable-telemetry`             | Disable sending telemetry data<br/>`test-storybook --disable-telemetry`                                                                                                       |
 
 ## Ejecting configuration
 
@@ -885,6 +888,32 @@ export default config;
 
 ### Accessibility testing
 
+#### With Storybook 9
+
+In Storybook 9, the accessibility addon has been enhanced with automated reporting capabilities and the Test-runner has out of the box support for it. If you have `@storybook/addon-a11y` installed, as long as you enable them via parameters, you will get a11y checks for every story:
+
+```ts
+// .storybook/preview.ts
+
+const preview = {
+  parameters: {
+    a11y: {
+      // 'error' will cause a11y violations to fail tests
+      test: 'error', // or 'todo' or 'off'
+    },
+  },
+};
+
+export default preview;
+```
+
+If you had a11y tests set up previously for Storybook 8 (with the recipe below), you can uninstall `axe-playwright` and remove all the code from the test-runner hooks, as they are not necessary anymore.
+
+#### With Storybook 8
+
+> [!TIP]
+> If you upgrade to Storybook 9, there is out of the box support for a11y tests and you don't have to follow a recipe like this.
+
 You can install `axe-playwright` and use it in tandem with the test-runner to test the accessibility of your components.
 If you use [`@storybook/addon-a11y`](https://storybook.js.org/addons/@storybook/addon-a11y), you can reuse its parameters and make sure that the tests match in configuration, both in the accessibility addon panel and the test-runner.
 
diff --git a/package.json b/package.json
index 60c1b8b0..553e7444 100644
--- a/package.json
+++ b/package.json
@@ -56,7 +56,6 @@
     "@babel/template": "^7.22.5",
     "@babel/types": "^7.22.5",
     "@jest/types": "^29.6.3",
-    "@storybook/csf": "^0.1.11",
     "@swc/core": "^1.5.22",
     "@swc/jest": "^0.2.23",
     "expect-playwright": "^0.8.0",
@@ -77,12 +76,10 @@
     "@babel/preset-env": "^7.19.4",
     "@babel/preset-react": "^7.18.6",
     "@babel/preset-typescript": "^7.18.6",
+    "@storybook/addon-a11y": "next",
     "@storybook/addon-coverage": "^1.0.0",
-    "@storybook/addon-essentials": "next",
-    "@storybook/addon-interactions": "next",
-    "@storybook/react": "next",
+    "@storybook/addon-docs": "next",
     "@storybook/react-vite": "next",
-    "@storybook/test": "next",
     "@types/jest": "^29.0.0",
     "@types/node": "^16.4.1",
     "@types/node-fetch": "^2.6.11",
@@ -110,7 +107,7 @@
     "ts-jest": "^29.0.0",
     "tsup": "^6.5.0",
     "typescript": "~4.9.4",
-    "vite": "^4.4.5",
+    "vite": "^6.3.2",
     "wait-on": "^7.2.0"
   },
   "peerDependencies": {
diff --git a/src/csf/transformCsf.ts b/src/csf/transformCsf.ts
index 9f1ddf82..c004a16e 100644
--- a/src/csf/transformCsf.ts
+++ b/src/csf/transformCsf.ts
@@ -1,5 +1,5 @@
 /* eslint-disable no-underscore-dangle */
-import { toId, storyNameFromExport, combineTags } from '@storybook/csf';
+import { toId, storyNameFromExport, combineTags } from 'storybook/internal/csf';
 import { loadCsf } from 'storybook/internal/csf-tools';
 import * as t from '@babel/types';
 import generate from '@babel/generator';
diff --git a/src/playwright/hooks.ts b/src/playwright/hooks.ts
index df693cb5..d316b936 100644
--- a/src/playwright/hooks.ts
+++ b/src/playwright/hooks.ts
@@ -1,5 +1,5 @@
 import type { BrowserContext, Page } from 'playwright';
-import type { StoryContextForEnhancers } from '@storybook/csf';
+import type { StoryContextForEnhancers } from 'storybook/internal/csf';
 
 export type TestContext = {
   id: string;
diff --git a/src/playwright/transformPlaywrightJson.ts b/src/playwright/transformPlaywrightJson.ts
index 1777c85a..9a8b1238 100644
--- a/src/playwright/transformPlaywrightJson.ts
+++ b/src/playwright/transformPlaywrightJson.ts
@@ -1,6 +1,6 @@
 import * as t from '@babel/types';
 import generate from '@babel/generator';
-import { ComponentTitle, StoryId, StoryName, toId } from '@storybook/csf';
+import { ComponentTitle, StoryId, StoryName, toId } from 'storybook/internal/csf';
 
 import { testPrefixer } from './transformPlaywright';
 import { getTagOptions } from '../util/getTagOptions';
@@ -101,7 +101,7 @@ function v3TitleMapToV4TitleMap(titleIdToStories: Record<string, V3Story[]>) {
             type: isV3DocsOnly(stories) ? 'docs' : 'story',
             tags: isV3DocsOnly(stories) ? [] : ['test', 'dev'],
             ...story,
-          }) satisfies V4Entry
+          } satisfies V4Entry)
       ),
     ])
   );
@@ -121,7 +121,7 @@ function v4TitleMapToV5TitleMap(titleIdToStories: Record<string, V4Entry[]>) {
           ({
             ...story,
             tags: story.tags ? ['test', 'dev', ...story.tags] : ['test', 'dev'],
-          }) satisfies V4Entry
+          } satisfies V4Entry)
       ),
     ])
   );
diff --git a/src/setup-page-script.ts b/src/setup-page-script.ts
index 440934c9..b81e8563 100644
--- a/src/setup-page-script.ts
+++ b/src/setup-page-script.ts
@@ -4,6 +4,8 @@
  * This file is a template to the content which is injected to the Playwright page via the ./setup-page.ts file.
  * setup-page.ts will read the contents of this file and replace values that use {{x}} pattern, and they should be put right below:
  */
+import { PreviewWeb } from 'storybook/internal/preview-api';
+import { StoryContext } from 'storybook/internal/csf';
 
 type ConsoleMethod =
   | 'log'
@@ -32,6 +34,7 @@ declare global {
   // this is defined in setup-page.ts and can be used for logging from the browser to node, helpful for debugging
   var logToPage: (message: string) => Promise<void>;
   var testRunner_errorMessageFormatter: (message: string) => Promise<string>;
+  var __STORYBOOK_PREVIEW__: PreviewWeb<any>;
 }
 
 // Type definitions for function parameters and return types
@@ -42,6 +45,7 @@ const magenta: Colorizer = (message: string) => `\u001b[35m${message}\u001b[39m`
 const blue: Colorizer = (message: string) => `\u001b[34m${message}\u001b[39m`;
 const red: Colorizer = (message: string) => `\u001b[31m${message}\u001b[39m`;
 const yellow: Colorizer = (message: string) => `\u001b[33m${message}\u001b[39m`;
+const grey: Colorizer = (message: string) => `\u001b[90m${message}\u001b[39m`;
 
 // Constants
 var LIMIT_REPLACE_NODE = '[...]';
@@ -204,36 +208,53 @@ function addToUserAgent(extra: string): void {
   }
 }
 
+function getStory(): StoryContext {
+  const currentRender = globalThis.__STORYBOOK_PREVIEW__.currentRender;
+  if (currentRender && 'story' in currentRender) {
+    return currentRender.story as unknown as StoryContext;
+  }
+
+  return {} as StoryContext;
+}
+
 // Custom error class
 class StorybookTestRunnerError extends Error {
-  constructor(
-    storyId: string,
-    errorMessage: string,
-    logs: string[] = [],
-    isMessageFormatted: boolean = false
-  ) {
+  constructor(params: {
+    storyId: string;
+    errorMessage: string;
+    logs?: string[];
+    isMessageFormatted?: boolean;
+  }) {
+    const { storyId, errorMessage, logs = [], isMessageFormatted = false } = params;
     const message = isMessageFormatted
       ? errorMessage
-      : StorybookTestRunnerError.buildErrorMessage(storyId, errorMessage, logs);
+      : StorybookTestRunnerError.buildErrorMessage({ storyId, errorMessage, logs });
     super(message);
 
     this.name = 'StorybookTestRunnerError';
   }
 
-  public static buildErrorMessage(
-    storyId: string,
-    errorMessage: string,
-    logs: string[] = []
-  ): string {
+  public static buildErrorMessage(params: {
+    storyId: string;
+    errorMessage: string;
+    logs?: string[];
+    panel?: string;
+    errorMessagePrefix?: string;
+  }): string {
+    const { storyId, errorMessage, logs = [], panel, errorMessagePrefix = '' } = params;
     const storyUrl = `${TEST_RUNNER_STORYBOOK_URL}?path=/story/${storyId}`;
-    const finalStoryUrl = `${storyUrl}&addonPanel=storybook/interactions/panel`;
+    const finalStoryUrl = panel ? `${storyUrl}&addonPanel=${panel}` : storyUrl;
     const separator = '\n\n--------------------------------------------------';
     // The original error message will also be collected in the logs, so we filter it to avoid duplication
     const finalLogs = logs.filter((err: string) => !err.includes(errorMessage));
     const extraLogs =
       finalLogs.length > 0 ? separator + '\n\nBrowser logs:\n\n' + finalLogs.join('\n\n') : '';
 
-    const message = `\nAn error occurred in the following story. Access the link for full output:\n${finalStoryUrl}\n\nMessage:\n ${truncate(
+    const linkPrefix = blue(
+      `\nClick to debug the error directly in Storybook:\n${finalStoryUrl}\n\n`
+    );
+
+    const message = `${errorMessagePrefix}${linkPrefix}Message:\n ${truncate(
       errorMessage,
       TEST_RUNNER_DEBUG_PRINT_LIMIT
     )}\n${extraLogs}`;
@@ -244,7 +265,7 @@ class StorybookTestRunnerError extends Error {
 
 // @ts-expect-error Global function to throw custom error, used by the test runner or user
 async function __throwError(storyId: string, errorMessage: string, logs: string[]): Promise<void> {
-  throw new StorybookTestRunnerError(storyId, errorMessage, logs);
+  throw new StorybookTestRunnerError({ storyId, errorMessage, logs });
 }
 
 // Wait for Storybook to load
@@ -277,7 +298,6 @@ async function __waitForStorybook(): Promise<void> {
 // Get context from Storybook
 // @ts-expect-error Global function to get context, used by the test runner or user
 async function __getContext(storyId: string): Promise<any> {
-  // @ts-expect-error globally defined via Storybook
   return globalThis.__STORYBOOK_PREVIEW__.storyStore.loadStory({ storyId });
 }
 
@@ -296,16 +316,17 @@ async function __test(storyId: string): Promise<any> {
     await __waitForStorybook();
   } catch (err) {
     const message = `Timed out waiting for Storybook to load after 10 seconds. Are you sure the Storybook is running correctly in that URL? Is the Storybook private (e.g. under authentication layers)?\n\n\nHTML: ${document.body.innerHTML}`;
-    throw new StorybookTestRunnerError(storyId, message);
+    throw new StorybookTestRunnerError({ storyId, errorMessage: message });
   }
 
   // @ts-expect-error globally defined via Storybook
   const channel = globalThis.__STORYBOOK_ADDONS_CHANNEL__;
   if (!channel) {
-    throw new StorybookTestRunnerError(
+    throw new StorybookTestRunnerError({
       storyId,
-      'The test runner could not access the Storybook channel. Are you sure the Storybook is running correctly in that URL?'
-    );
+      errorMessage:
+        'The test runner could not access the Storybook channel. Are you sure the Storybook is running correctly in that URL?',
+    });
   }
 
   addToUserAgent(`(StorybookTestRunner@${TEST_RUNNER_VERSION})`);
@@ -385,32 +406,79 @@ async function __test(storyId: string): Promise<any> {
   };
 
   return new Promise((resolve, reject) => {
-    const rejectWithFormattedError = (storyId: string, message: string) => {
-      const errorMessage = StorybookTestRunnerError.buildErrorMessage(storyId, message, logs);
+    const rejectWithFormattedError = (storyId: string, message: string, panel?: string) => {
+      const errorMessage = StorybookTestRunnerError.buildErrorMessage({
+        storyId,
+        errorMessage: message,
+        logs,
+        panel,
+      });
 
       testRunner_errorMessageFormatter(errorMessage)
         .then((formattedMessage) => {
-          reject(new StorybookTestRunnerError(storyId, formattedMessage, logs, true));
+          reject(
+            new StorybookTestRunnerError({
+              storyId,
+              errorMessage: formattedMessage,
+              logs,
+              isMessageFormatted: true,
+            })
+          );
         })
         .catch((error) => {
           reject(
-            new StorybookTestRunnerError(
+            new StorybookTestRunnerError({
               storyId,
-              'There was an error when executing the errorMessageFormatter defiend in your Storybook test-runner config file. Please fix it and rerun the tests:\n\n' +
-                error.message
-            )
+              errorMessage:
+                'There was an error when executing the errorMessageFormatter defiend in your Storybook test-runner config file. Please fix it and rerun the tests:\n\n' +
+                error.message,
+            })
           );
         });
     };
 
+    const INTERACTIONS_PANEL = 'storybook/interactions/panel';
+    const A11Y_PANEL = 'storybook/a11y/panel';
+
     const listeners = {
-      [TEST_RUNNER_RENDERED_EVENT]: () => {
+      [TEST_RUNNER_RENDERED_EVENT]: (data: any) => {
         cleanup(listeners);
+
         if (hasErrors) {
           rejectWithFormattedError(storyId, 'Browser console errors');
-        } else {
-          resolve(document.getElementById('root'));
+          return;
+        } else if (data?.reporters) {
+          const story = getStory();
+          const a11yGlobals = story.globals?.a11y;
+          const a11yParameter = story.parameters?.a11y;
+          const a11yTestParameter = a11yParameter?.test;
+          const a11yReport = data.reporters.find((reporter: any) => reporter.type === 'a11y');
+
+          const shouldRunA11yTest =
+            a11yParameter?.disable !== true &&
+            a11yParameter?.test !== 'off' &&
+            a11yGlobals?.manual !== true &&
+            a11yReport?.result?.violations?.length > 0;
+
+          if (shouldRunA11yTest) {
+            const violations = expectToHaveNoViolations(a11yReport.result);
+            if (violations && a11yTestParameter === 'error') {
+              rejectWithFormattedError(storyId, violations.long, A11Y_PANEL);
+              return;
+            } else if (violations && a11yTestParameter === 'todo') {
+              const warningMessage = StorybookTestRunnerError.buildErrorMessage({
+                storyId,
+                errorMessagePrefix: `--------------------------\n${story.title} > ${story.name}`,
+                errorMessage: yellow(violations.short),
+                logs,
+                panel: A11Y_PANEL,
+              });
+              logToPage(warningMessage);
+            }
+          }
         }
+
+        resolve(document.getElementById('root'));
       },
 
       storyUnchanged: () => {
@@ -420,23 +488,23 @@ async function __test(storyId: string): Promise<any> {
 
       storyErrored: ({ description }: { description: string }) => {
         cleanup(listeners);
-        rejectWithFormattedError(storyId, description);
+        rejectWithFormattedError(storyId, description, INTERACTIONS_PANEL);
       },
 
       storyThrewException: (error: Error) => {
         cleanup(listeners);
-        rejectWithFormattedError(storyId, error.message);
+        rejectWithFormattedError(storyId, error.message, INTERACTIONS_PANEL);
       },
 
       playFunctionThrewException: (error: Error) => {
         cleanup(listeners);
 
-        rejectWithFormattedError(storyId, error.message);
+        rejectWithFormattedError(storyId, error.message, INTERACTIONS_PANEL);
       },
 
       unhandledErrorsWhilePlaying: ([error]: Error[]) => {
         cleanup(listeners);
-        rejectWithFormattedError(storyId, error.message);
+        rejectWithFormattedError(storyId, error.message, INTERACTIONS_PANEL);
       },
 
       storyMissing: (id: string) => {
@@ -455,4 +523,65 @@ async function __test(storyId: string): Promise<any> {
   });
 }
 
+function expectToHaveNoViolations(results: any): { long: string; short: string } | null {
+  let violations = filterViolations(
+    results.violations,
+    // `impactLevels` is not a valid toolOption but one we add to the config
+    // when calling `run`. axe just happens to pass this along. Might be a safer
+    // way to do this since it's not documented API.
+    results.toolOptions?.impactLevels ?? []
+  );
+
+  function reporter(violations: any) {
+    if (violations.length === 0) {
+      return null;
+    }
+
+    let lineBreak = '\n\n';
+    let horizontalLine = '\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500';
+
+    return violations
+      .map((violation: any) => {
+        let errorBody = violation.nodes
+          .map((node: any) => {
+            let selector = node.target.join(', ');
+            let expectedText =
+              red(`Expected the HTML found at $('${selector}') to have no violations:`) + lineBreak;
+            return (
+              expectedText +
+              grey(node.html) +
+              lineBreak +
+              red(`Received:`) +
+              lineBreak +
+              red(`"${violation.help} (${violation.id})"`) +
+              lineBreak +
+              yellow(node.failureSummary) +
+              lineBreak +
+              (violation.helpUrl
+                ? red(`You can find more information on this issue here:`) +
+                  `\n${blue(violation.helpUrl)}`
+                : '')
+            );
+          })
+          .join(lineBreak);
+        return errorBody;
+      })
+      .join(lineBreak + horizontalLine + lineBreak);
+  }
+
+  let formatedViolations = reporter(violations);
+
+  return {
+    long: formatedViolations,
+    short: `Found ${violations.length} a11y violations, run the test with 'a11y: { test: 'error' }' parameter to see the full report or debug it directly in Storybook.`,
+  };
+}
+
+function filterViolations(violations: any, impactLevels: Array<any>) {
+  if (impactLevels && impactLevels.length > 0) {
+    return violations.filter((v: any) => impactLevels.includes(v.impact));
+  }
+  return violations;
+}
+
 export {};
diff --git a/src/test-storybook.ts b/src/test-storybook.ts
index baaa5bd2..a8115ffb 100644
--- a/src/test-storybook.ts
+++ b/src/test-storybook.ts
@@ -9,6 +9,7 @@ import path, { join, resolve } from 'path';
 import tempy from 'tempy';
 import { getInterpretedFile } from 'storybook/internal/common';
 import { readConfig } from 'storybook/internal/csf-tools';
+import { telemetry } from 'storybook/internal/telemetry';
 import { glob } from 'glob';
 
 import { JestOptions, getCliOptions } from './util/getCliOptions';
@@ -376,8 +377,9 @@ const main = async () => {
     process.env.TEST_MATCH = '**/*.test.js';
   }
 
+  const { storiesPaths, lazyCompilation, disableTelemetry, enableCrashReports } =
+    getStorybookMetadata();
   if (!shouldRunIndexJson) {
-    const { storiesPaths, lazyCompilation } = getStorybookMetadata();
     process.env.STORYBOOK_STORIES_PATTERN = storiesPaths;
 
     // 1 - We extract tags from preview file statically like it's done by the Storybook indexer. We only do this in non-index-json mode because it's not needed in that mode
@@ -395,6 +397,23 @@ const main = async () => {
     process.env.TEST_CHECK_CONSOLE = 'true';
   }
 
+  if (!disableTelemetry && !runnerOptions.disableTelemetry) {
+    // NOTE: we start telemetry immediately but do not wait on it. Typically it should complete
+    // before the tests do. If not we may miss the event, we are OK with that.
+    telemetry(
+      // @ts-expect-error -- need to update storybook version
+      'test-run',
+      {
+        runner: 'test-runner',
+        watch: jestOptions.includes('--watch'),
+      },
+      {
+        configDir: runnerOptions.configDir,
+        enableCrashReports,
+      }
+    );
+  }
+
   await executeJestPlaywright(jestOptions);
 };
 
diff --git a/src/typings.d.ts b/src/typings.d.ts
index f4bdf425..c6c6364f 100644
--- a/src/typings.d.ts
+++ b/src/typings.d.ts
@@ -1,6 +1,6 @@
 import { TestHook } from './playwright/hooks';
 import { type setupPage } from './setup-page';
-import type { StoryContext } from '@storybook/csf';
+import type { StoryContext } from 'storybook/internal/csf';
 
 declare global {
   var __sbPreVisit: TestHook;
diff --git a/src/util/getCliOptions.ts b/src/util/getCliOptions.ts
index 99b27197..af4e4a12 100644
--- a/src/util/getCliOptions.ts
+++ b/src/util/getCliOptions.ts
@@ -17,6 +17,7 @@ export type CliOptions = {
     includeTags?: string;
     excludeTags?: string;
     skipTags?: string;
+    disableTelemetry?: boolean;
   } & Record<string, string | boolean>;
   jestOptions: JestOptions;
 };
@@ -36,6 +37,7 @@ const STORYBOOK_RUNNER_COMMANDS: StorybookRunnerCommand[] = [
   'includeTags',
   'excludeTags',
   'skipTags',
+  'disableTelemetry',
 ];
 
 function copyOption<ObjType extends object, KeyType extends keyof ObjType>(
diff --git a/src/util/getParsedCliOptions.ts b/src/util/getParsedCliOptions.ts
index 89e70d01..eb15a9d7 100644
--- a/src/util/getParsedCliOptions.ts
+++ b/src/util/getParsedCliOptions.ts
@@ -65,10 +65,7 @@ export const getParsedCliOptions = (): ParsedCliOptions => {
       'coverage/storybook'
     )
     .option('--junit', 'Indicates that test information should be reported in a junit file')
-    .option(
-      '--listTests',
-      'Lists all test files that will be run, and exits'
-    )
+    .option('--listTests', 'Lists all test files that will be run, and exits')
     .option(
       '--eject',
       'Creates a local configuration file to override defaults of the test-runner. Use it only if you want to have better control over the runner configurations'
@@ -84,7 +81,13 @@ export const getParsedCliOptions = (): ParsedCliOptions => {
     .option('--failOnConsole', 'Makes tests fail on browser console errors')
     .option('--includeTags <tags...>', 'Only test stories that match the specified tags')
     .option('--excludeTags <tags...>', 'Do not test stories that match the specified tags')
-    .option('--skipTags <tags...>', 'Skip test stories that match the specified tags');
+    .option('--skipTags <tags...>', 'Skip test stories that match the specified tags')
+    .option(
+      '--disable-telemetry',
+      'Disable sending telemetry data',
+      // default value is false, but if the user sets STORYBOOK_DISABLE_TELEMETRY, it can be true
+      process.env.STORYBOOK_DISABLE_TELEMETRY && process.env.STORYBOOK_DISABLE_TELEMETRY !== 'false'
+    );
 
   program.exitOverride();
 
diff --git a/src/util/getStorybookMetadata.ts b/src/util/getStorybookMetadata.ts
index 7ede0125..bf496bd8 100644
--- a/src/util/getStorybookMetadata.ts
+++ b/src/util/getStorybookMetadata.ts
@@ -25,11 +25,16 @@ export const getStorybookMetadata = () => {
   // @ts-expect-error -- this is added in storybook/internal/common@6.5, which we don't depend on
   const lazyCompilation = !!main.core?.builder?.options?.lazyCompilation;
 
+  // @ts-expect-error -- need to update to latest sb version
+  const { disableTelemetry, enableCrashReports } = main.core || {};
+
   return {
     configDir,
     workingDir,
     storiesPaths,
     normalizedStoriesEntries,
     lazyCompilation,
+    disableTelemetry,
+    enableCrashReports,
   };
 };
diff --git a/stories/atoms/Button.stories.tsx b/stories/atoms/Button.stories.tsx
index ed66dab6..acea1406 100644
--- a/stories/atoms/Button.stories.tsx
+++ b/stories/atoms/Button.stories.tsx
@@ -1,6 +1,6 @@
 import React from 'react';
-import type { Meta, StoryObj } from '@storybook/react';
-import { fn, expect, within, waitFor, userEvent, waitForElementToBeRemoved } from '@storybook/test';
+import type { Meta, StoryObj } from '@storybook/react-vite';
+import { fn, expect, within, waitFor, userEvent, waitForElementToBeRemoved } from 'storybook/test';
 
 import { isTestRunner } from '../../.storybook/is-test-runner';
 
diff --git a/stories/atoms/button.css b/stories/atoms/button.css
index dc91dc76..4e3620b0 100644
--- a/stories/atoms/button.css
+++ b/stories/atoms/button.css
@@ -1,30 +1,30 @@
 .storybook-button {
-  font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  font-weight: 700;
+  display: inline-block;
+  cursor: pointer;
   border: 0;
   border-radius: 3em;
-  cursor: pointer;
-  display: inline-block;
+  font-weight: 700;
   line-height: 1;
+  font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
 }
 .storybook-button--primary {
+  background-color: #555ab9;
   color: white;
-  background-color: #1ea7fd;
 }
 .storybook-button--secondary {
-  color: #333;
-  background-color: transparent;
   box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;
+  background-color: transparent;
+  color: #333;
 }
 .storybook-button--small {
-  font-size: 12px;
   padding: 10px 16px;
+  font-size: 12px;
 }
 .storybook-button--medium {
-  font-size: 14px;
   padding: 11px 20px;
+  font-size: 14px;
 }
 .storybook-button--large {
-  font-size: 16px;
   padding: 12px 24px;
+  font-size: 16px;
 }
diff --git a/stories/expected-failures/Failure.stories.tsx b/stories/expected-failures/Failure.stories.tsx
index b5afa3b9..8f118dfc 100644
--- a/stories/expected-failures/Failure.stories.tsx
+++ b/stories/expected-failures/Failure.stories.tsx
@@ -1,5 +1,5 @@
 import React from 'react';
-import { within, userEvent } from '@storybook/test';
+import { within, userEvent } from 'storybook/test';
 
 import { Page } from '../pages/Page';
 
diff --git a/stories/molecules/Header.stories.tsx b/stories/molecules/Header.stories.tsx
index 99a621fc..f8d87a6e 100644
--- a/stories/molecules/Header.stories.tsx
+++ b/stories/molecules/Header.stories.tsx
@@ -1,4 +1,4 @@
-import type { Meta, StoryObj } from '@storybook/react';
+import type { Meta, StoryObj } from '@storybook/react-vite';
 
 import { Header } from './Header';
 
diff --git a/stories/molecules/header.css b/stories/molecules/header.css
index d9a70528..5efd46c2 100644
--- a/stories/molecules/header.css
+++ b/stories/molecules/header.css
@@ -1,10 +1,10 @@
 .storybook-header {
-  font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
-  padding: 15px 20px;
   display: flex;
-  align-items: center;
   justify-content: space-between;
+  align-items: center;
+  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+  padding: 15px 20px;
+  font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
 }
 
 .storybook-header svg {
@@ -13,12 +13,12 @@
 }
 
 .storybook-header h1 {
+  display: inline-block;
+  vertical-align: top;
+  margin: 6px 0 6px 10px;
   font-weight: 700;
   font-size: 20px;
   line-height: 1;
-  margin: 6px 0 6px 10px;
-  display: inline-block;
-  vertical-align: top;
 }
 
 .storybook-header button + button {
@@ -26,7 +26,7 @@
 }
 
 .storybook-header .welcome {
+  margin-right: 10px;
   color: #333;
   font-size: 14px;
-  margin-right: 10px;
 }
diff --git a/stories/pages/Page.stories.tsx b/stories/pages/Page.stories.tsx
index 469d4845..dc6ac1fe 100644
--- a/stories/pages/Page.stories.tsx
+++ b/stories/pages/Page.stories.tsx
@@ -1,5 +1,5 @@
-import type { Meta, StoryObj } from '@storybook/react';
-import { within, userEvent } from '@storybook/test';
+import type { Meta, StoryObj } from '@storybook/react-vite';
+import { within, userEvent } from 'storybook/test';
 
 import { Page } from './Page';
 
diff --git a/stories/pages/page.css b/stories/pages/page.css
index 098dad11..77c81d2d 100644
--- a/stories/pages/page.css
+++ b/stories/pages/page.css
@@ -1,20 +1,20 @@
 .storybook-page {
-  font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  line-height: 24px;
-  padding: 48px 20px;
   margin: 0 auto;
+  padding: 48px 20px;
   max-width: 600px;
   color: #333;
+  font-size: 14px;
+  line-height: 24px;
+  font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
 }
 
 .storybook-page h2 {
+  display: inline-block;
+  vertical-align: top;
+  margin: 0 0 4px;
   font-weight: 700;
   font-size: 32px;
   line-height: 1;
-  margin: 0 0 4px;
-  display: inline-block;
-  vertical-align: top;
 }
 
 .storybook-page p {
@@ -22,13 +22,12 @@
 }
 
 .storybook-page a {
-  text-decoration: none;
-  color: #1ea7fd;
+  color: inherit;
 }
 
 .storybook-page ul {
-  padding-left: 30px;
   margin: 1em 0;
+  padding-left: 30px;
 }
 
 .storybook-page li {
@@ -37,31 +36,31 @@
 
 .storybook-page .tip {
   display: inline-block;
+  vertical-align: top;
+  margin-right: 10px;
   border-radius: 1em;
-  font-size: 11px;
-  line-height: 12px;
-  font-weight: 700;
   background: #e7fdd8;
-  color: #66bf3c;
   padding: 4px 12px;
-  margin-right: 10px;
-  vertical-align: top;
+  color: #357a14;
+  font-weight: 700;
+  font-size: 11px;
+  line-height: 12px;
 }
 
 .storybook-page .tip-wrapper {
-  font-size: 13px;
-  line-height: 20px;
   margin-top: 40px;
   margin-bottom: 40px;
+  font-size: 13px;
+  line-height: 20px;
 }
 
 .storybook-page .tip-wrapper svg {
   display: inline-block;
-  height: 12px;
-  width: 12px;
-  margin-right: 4px;
   vertical-align: top;
   margin-top: 3px;
+  margin-right: 4px;
+  width: 12px;
+  height: 12px;
 }
 
 .storybook-page .tip-wrapper svg path {
diff --git a/yarn.lock b/yarn.lock
index 9d3fb0a4..34a428b0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1633,9 +1633,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/aix-ppc64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/aix-ppc64@npm:0.24.0"
+"@esbuild/aix-ppc64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/aix-ppc64@npm:0.25.3"
   conditions: os=aix & cpu=ppc64
   languageName: node
   linkType: hard
@@ -1647,16 +1647,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/android-arm64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/android-arm64@npm:0.18.20"
-  conditions: os=android & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"@esbuild/android-arm64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/android-arm64@npm:0.24.0"
+"@esbuild/android-arm64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/android-arm64@npm:0.25.3"
   conditions: os=android & cpu=arm64
   languageName: node
   linkType: hard
@@ -1668,16 +1661,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/android-arm@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/android-arm@npm:0.18.20"
-  conditions: os=android & cpu=arm
-  languageName: node
-  linkType: hard
-
-"@esbuild/android-arm@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/android-arm@npm:0.24.0"
+"@esbuild/android-arm@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/android-arm@npm:0.25.3"
   conditions: os=android & cpu=arm
   languageName: node
   linkType: hard
@@ -1689,16 +1675,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/android-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/android-x64@npm:0.18.20"
-  conditions: os=android & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@esbuild/android-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/android-x64@npm:0.24.0"
+"@esbuild/android-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/android-x64@npm:0.25.3"
   conditions: os=android & cpu=x64
   languageName: node
   linkType: hard
@@ -1710,16 +1689,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/darwin-arm64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/darwin-arm64@npm:0.18.20"
-  conditions: os=darwin & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"@esbuild/darwin-arm64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/darwin-arm64@npm:0.24.0"
+"@esbuild/darwin-arm64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/darwin-arm64@npm:0.25.3"
   conditions: os=darwin & cpu=arm64
   languageName: node
   linkType: hard
@@ -1731,16 +1703,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/darwin-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/darwin-x64@npm:0.18.20"
-  conditions: os=darwin & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@esbuild/darwin-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/darwin-x64@npm:0.24.0"
+"@esbuild/darwin-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/darwin-x64@npm:0.25.3"
   conditions: os=darwin & cpu=x64
   languageName: node
   linkType: hard
@@ -1752,16 +1717,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/freebsd-arm64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/freebsd-arm64@npm:0.18.20"
-  conditions: os=freebsd & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"@esbuild/freebsd-arm64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/freebsd-arm64@npm:0.24.0"
+"@esbuild/freebsd-arm64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/freebsd-arm64@npm:0.25.3"
   conditions: os=freebsd & cpu=arm64
   languageName: node
   linkType: hard
@@ -1773,16 +1731,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/freebsd-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/freebsd-x64@npm:0.18.20"
-  conditions: os=freebsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@esbuild/freebsd-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/freebsd-x64@npm:0.24.0"
+"@esbuild/freebsd-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/freebsd-x64@npm:0.25.3"
   conditions: os=freebsd & cpu=x64
   languageName: node
   linkType: hard
@@ -1794,16 +1745,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-arm64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-arm64@npm:0.18.20"
-  conditions: os=linux & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-arm64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-arm64@npm:0.24.0"
+"@esbuild/linux-arm64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-arm64@npm:0.25.3"
   conditions: os=linux & cpu=arm64
   languageName: node
   linkType: hard
@@ -1815,16 +1759,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-arm@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-arm@npm:0.18.20"
-  conditions: os=linux & cpu=arm
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-arm@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-arm@npm:0.24.0"
+"@esbuild/linux-arm@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-arm@npm:0.25.3"
   conditions: os=linux & cpu=arm
   languageName: node
   linkType: hard
@@ -1836,16 +1773,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-ia32@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-ia32@npm:0.18.20"
-  conditions: os=linux & cpu=ia32
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-ia32@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-ia32@npm:0.24.0"
+"@esbuild/linux-ia32@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-ia32@npm:0.25.3"
   conditions: os=linux & cpu=ia32
   languageName: node
   linkType: hard
@@ -1857,16 +1787,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-loong64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-loong64@npm:0.18.20"
-  conditions: os=linux & cpu=loong64
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-loong64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-loong64@npm:0.24.0"
+"@esbuild/linux-loong64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-loong64@npm:0.25.3"
   conditions: os=linux & cpu=loong64
   languageName: node
   linkType: hard
@@ -1878,16 +1801,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-mips64el@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-mips64el@npm:0.18.20"
-  conditions: os=linux & cpu=mips64el
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-mips64el@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-mips64el@npm:0.24.0"
+"@esbuild/linux-mips64el@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-mips64el@npm:0.25.3"
   conditions: os=linux & cpu=mips64el
   languageName: node
   linkType: hard
@@ -1899,16 +1815,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-ppc64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-ppc64@npm:0.18.20"
-  conditions: os=linux & cpu=ppc64
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-ppc64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-ppc64@npm:0.24.0"
+"@esbuild/linux-ppc64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-ppc64@npm:0.25.3"
   conditions: os=linux & cpu=ppc64
   languageName: node
   linkType: hard
@@ -1920,16 +1829,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-riscv64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-riscv64@npm:0.18.20"
-  conditions: os=linux & cpu=riscv64
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-riscv64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-riscv64@npm:0.24.0"
+"@esbuild/linux-riscv64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-riscv64@npm:0.25.3"
   conditions: os=linux & cpu=riscv64
   languageName: node
   linkType: hard
@@ -1941,16 +1843,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-s390x@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-s390x@npm:0.18.20"
-  conditions: os=linux & cpu=s390x
-  languageName: node
-  linkType: hard
-
-"@esbuild/linux-s390x@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-s390x@npm:0.24.0"
+"@esbuild/linux-s390x@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-s390x@npm:0.25.3"
   conditions: os=linux & cpu=s390x
   languageName: node
   linkType: hard
@@ -1962,17 +1857,17 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/linux-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/linux-x64@npm:0.18.20"
+"@esbuild/linux-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/linux-x64@npm:0.25.3"
   conditions: os=linux & cpu=x64
   languageName: node
   linkType: hard
 
-"@esbuild/linux-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/linux-x64@npm:0.24.0"
-  conditions: os=linux & cpu=x64
+"@esbuild/netbsd-arm64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/netbsd-arm64@npm:0.25.3"
+  conditions: os=netbsd & cpu=arm64
   languageName: node
   linkType: hard
 
@@ -1983,23 +1878,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/netbsd-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/netbsd-x64@npm:0.18.20"
-  conditions: os=netbsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@esbuild/netbsd-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/netbsd-x64@npm:0.24.0"
+"@esbuild/netbsd-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/netbsd-x64@npm:0.25.3"
   conditions: os=netbsd & cpu=x64
   languageName: node
   linkType: hard
 
-"@esbuild/openbsd-arm64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/openbsd-arm64@npm:0.24.0"
+"@esbuild/openbsd-arm64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/openbsd-arm64@npm:0.25.3"
   conditions: os=openbsd & cpu=arm64
   languageName: node
   linkType: hard
@@ -2011,16 +1899,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/openbsd-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/openbsd-x64@npm:0.18.20"
-  conditions: os=openbsd & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@esbuild/openbsd-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/openbsd-x64@npm:0.24.0"
+"@esbuild/openbsd-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/openbsd-x64@npm:0.25.3"
   conditions: os=openbsd & cpu=x64
   languageName: node
   linkType: hard
@@ -2032,16 +1913,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/sunos-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/sunos-x64@npm:0.18.20"
-  conditions: os=sunos & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@esbuild/sunos-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/sunos-x64@npm:0.24.0"
+"@esbuild/sunos-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/sunos-x64@npm:0.25.3"
   conditions: os=sunos & cpu=x64
   languageName: node
   linkType: hard
@@ -2053,16 +1927,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/win32-arm64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/win32-arm64@npm:0.18.20"
-  conditions: os=win32 & cpu=arm64
-  languageName: node
-  linkType: hard
-
-"@esbuild/win32-arm64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/win32-arm64@npm:0.24.0"
+"@esbuild/win32-arm64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/win32-arm64@npm:0.25.3"
   conditions: os=win32 & cpu=arm64
   languageName: node
   linkType: hard
@@ -2074,16 +1941,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/win32-ia32@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/win32-ia32@npm:0.18.20"
-  conditions: os=win32 & cpu=ia32
-  languageName: node
-  linkType: hard
-
-"@esbuild/win32-ia32@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/win32-ia32@npm:0.24.0"
+"@esbuild/win32-ia32@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/win32-ia32@npm:0.25.3"
   conditions: os=win32 & cpu=ia32
   languageName: node
   linkType: hard
@@ -2095,16 +1955,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@esbuild/win32-x64@npm:0.18.20":
-  version: 0.18.20
-  resolution: "@esbuild/win32-x64@npm:0.18.20"
-  conditions: os=win32 & cpu=x64
-  languageName: node
-  linkType: hard
-
-"@esbuild/win32-x64@npm:0.24.0":
-  version: 0.24.0
-  resolution: "@esbuild/win32-x64@npm:0.24.0"
+"@esbuild/win32-x64@npm:0.25.3":
+  version: 0.25.3
+  resolution: "@esbuild/win32-x64@npm:0.25.3"
   conditions: os=win32 & cpu=x64
   languageName: node
   linkType: hard
@@ -2411,21 +2264,20 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0":
-  version: 0.3.0
-  resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0"
+"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.5.0":
+  version: 0.5.0
+  resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.5.0"
   dependencies:
-    glob: "npm:^7.2.0"
-    glob-promise: "npm:^4.2.0"
+    glob: "npm:^10.0.0"
     magic-string: "npm:^0.27.0"
     react-docgen-typescript: "npm:^2.2.2"
   peerDependencies:
     typescript: ">= 4.3.x"
-    vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+    vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 10/9237499394b1f5f1320c9a489dbf5db2ba4b1d68081bf767a08895b70d0d0830adb9f0f1e2c5c94202e5bee63fe031ea2b91870a6bc806ed5e370be6b06df2e8
+  checksum: 10/1dcb03f2df1723799a7a9c75ac8360990f75c44fd2425d2d52a9e21882fc3054d372892ab1cad0927864d8a934ad5b347f4ae00b01785649e2a8f1c4b861aa67
   languageName: node
   linkType: hard
 
@@ -2748,6 +2600,146 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@rollup/rollup-android-arm-eabi@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-android-arm-eabi@npm:4.40.0"
+  conditions: os=android & cpu=arm
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-android-arm64@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-android-arm64@npm:4.40.0"
+  conditions: os=android & cpu=arm64
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-darwin-arm64@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-darwin-arm64@npm:4.40.0"
+  conditions: os=darwin & cpu=arm64
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-darwin-x64@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-darwin-x64@npm:4.40.0"
+  conditions: os=darwin & cpu=x64
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-freebsd-arm64@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-freebsd-arm64@npm:4.40.0"
+  conditions: os=freebsd & cpu=arm64
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-freebsd-x64@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-freebsd-x64@npm:4.40.0"
+  conditions: os=freebsd & cpu=x64
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.40.0"
+  conditions: os=linux & cpu=arm & libc=glibc
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-arm-musleabihf@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.40.0"
+  conditions: os=linux & cpu=arm & libc=musl
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-arm64-gnu@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.40.0"
+  conditions: os=linux & cpu=arm64 & libc=glibc
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-arm64-musl@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-arm64-musl@npm:4.40.0"
+  conditions: os=linux & cpu=arm64 & libc=musl
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-loongarch64-gnu@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.40.0"
+  conditions: os=linux & cpu=loong64 & libc=glibc
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.0"
+  conditions: os=linux & cpu=ppc64 & libc=glibc
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-riscv64-gnu@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.40.0"
+  conditions: os=linux & cpu=riscv64 & libc=glibc
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-riscv64-musl@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.0"
+  conditions: os=linux & cpu=riscv64 & libc=musl
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-s390x-gnu@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.40.0"
+  conditions: os=linux & cpu=s390x & libc=glibc
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-x64-gnu@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-x64-gnu@npm:4.40.0"
+  conditions: os=linux & cpu=x64 & libc=glibc
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-linux-x64-musl@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-linux-x64-musl@npm:4.40.0"
+  conditions: os=linux & cpu=x64 & libc=musl
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-win32-arm64-msvc@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.40.0"
+  conditions: os=win32 & cpu=arm64
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-win32-ia32-msvc@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.40.0"
+  conditions: os=win32 & cpu=ia32
+  languageName: node
+  linkType: hard
+
+"@rollup/rollup-win32-x64-msvc@npm:4.40.0":
+  version: 4.40.0
+  resolution: "@rollup/rollup-win32-x64-msvc@npm:4.40.0"
+  conditions: os=win32 & cpu=x64
+  languageName: node
+  linkType: hard
+
 "@sideway/address@npm:^4.1.3":
   version: 4.1.4
   resolution: "@sideway/address@npm:4.1.4"
@@ -2796,44 +2788,15 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@storybook/addon-actions@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-actions@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/global": "npm:^5.0.0"
-    "@types/uuid": "npm:^9.0.1"
-    dequal: "npm:^2.0.2"
-    polished: "npm:^4.2.2"
-    uuid: "npm:^9.0.0"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/6a52727982f378bd25efd03c3b119cce371e5a6a0e8cacdd4c1cdb0af24b5a706ee1bedb47767d3ecf093349ed46f8c27f17bf698d757e52f30160aa27442e06
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-backgrounds@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-backgrounds@npm:8.5.0-alpha.11"
+"@storybook/addon-a11y@npm:next":
+  version: 9.0.0-beta.1
+  resolution: "@storybook/addon-a11y@npm:9.0.0-beta.1"
   dependencies:
     "@storybook/global": "npm:^5.0.0"
-    memoizerific: "npm:^1.11.3"
-    ts-dedent: "npm:^2.0.0"
+    axe-core: "npm:^4.2.0"
   peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/461a009a3cb71b1ee16081e8935082841c92b65cf1b7999b2617778da9c8785f767626ae536adf3bc08af6bca4b5861f01863b0f5a1ceea950cc51ef4d78b4fd
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-controls@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-controls@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/global": "npm:^5.0.0"
-    dequal: "npm:^2.0.2"
-    ts-dedent: "npm:^2.0.0"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/68396addd312ee14b0bef6a03a215a08f79bd0f7e895173e0d5207488e0a11f8ca2c0a385517258f8f584d7b5ee31e0e148138f589d47354c368174ca0115597
+    storybook: ^9.0.0-beta.1
+  checksum: 10/718bec7f599974334e0107d70b08705a61721b6f727877eee55d06010db49026c086b66ed2d191c1f51f14403b8795f3d8fa56aa276b082a097c17b57a879f32
   languageName: node
   linkType: hard
 
@@ -2853,197 +2816,45 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@storybook/addon-docs@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-docs@npm:8.5.0-alpha.11"
+"@storybook/addon-docs@npm:next":
+  version: 9.0.0-beta.1
+  resolution: "@storybook/addon-docs@npm:9.0.0-beta.1"
   dependencies:
     "@mdx-js/react": "npm:^3.0.0"
-    "@storybook/blocks": "npm:8.5.0-alpha.11"
-    "@storybook/csf-plugin": "npm:8.5.0-alpha.11"
-    "@storybook/react-dom-shim": "npm:8.5.0-alpha.11"
-    react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0"
-    react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0"
-    ts-dedent: "npm:^2.0.0"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/f0649e936801ec858d89ef8fcc7ccc26bbda739de0320aa273a39abb479fd841904603f099aa1e967f61a88a9be827b02a5add5674982fb99787e499bec2acf4
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-essentials@npm:next":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-essentials@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/addon-actions": "npm:8.5.0-alpha.11"
-    "@storybook/addon-backgrounds": "npm:8.5.0-alpha.11"
-    "@storybook/addon-controls": "npm:8.5.0-alpha.11"
-    "@storybook/addon-docs": "npm:8.5.0-alpha.11"
-    "@storybook/addon-highlight": "npm:8.5.0-alpha.11"
-    "@storybook/addon-measure": "npm:8.5.0-alpha.11"
-    "@storybook/addon-outline": "npm:8.5.0-alpha.11"
-    "@storybook/addon-toolbars": "npm:8.5.0-alpha.11"
-    "@storybook/addon-viewport": "npm:8.5.0-alpha.11"
-    ts-dedent: "npm:^2.0.0"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/46e173d2e8f644fe8e736e735b1f06a1edcd9cf8441162d5cae63c29ca686632c84ba8bfa0d0872cdd056c6888c767c5b0f6e2d3be5762a1c53adc975e170585
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-highlight@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-highlight@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/global": "npm:^5.0.0"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/bf64b12187f35868635c35fd8963643e6acde5abb7cc8bd9ccbe7fdf368dd1499182d4ebd6504d0dbdd7a83bd35929d10b7e8478925e4eb3518be5d3ccf355e6
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-interactions@npm:next":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-interactions@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/global": "npm:^5.0.0"
-    "@storybook/instrumenter": "npm:8.5.0-alpha.11"
-    "@storybook/test": "npm:8.5.0-alpha.11"
-    polished: "npm:^4.2.2"
-    ts-dedent: "npm:^2.2.0"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/7ad3a53d2a4e93bfde620229ca98c6e8b54143ff61b8b430577d03bb1a51bcbee6ab273871d6585b0754604ea9bf8cf43d7cb9c09621b3fdae593d5953cfb766
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-measure@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-measure@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/global": "npm:^5.0.0"
-    tiny-invariant: "npm:^1.3.1"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/13dc3563e6c902009aba8d80dc0169fe3a4a91774bcc035d50af508711e53cff23291c97e86acb47e93e995727ac830dd960bf6a8d856feadc4b0493e3a25754
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-outline@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-outline@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/global": "npm:^5.0.0"
-    ts-dedent: "npm:^2.0.0"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/3d0948539d5925c7ede9b7f30fd54320fd12d7c5ebd5a405b4b80a99d814b556244a0954330d5609f2dbc3c28b84209dff5ea8eddb56f3ea950d61e050f5a1f3
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-toolbars@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-toolbars@npm:8.5.0-alpha.11"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/58b81381a99eb9996eedda18082b3206c7871ade9a63527f59dbf666164b8efa3125fd06c421595fe226ed7b85618dd2e071260682d94e6d230537cb778c209a
-  languageName: node
-  linkType: hard
-
-"@storybook/addon-viewport@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/addon-viewport@npm:8.5.0-alpha.11"
-  dependencies:
-    memoizerific: "npm:^1.11.3"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/883a0018785fa4a8df7b63dc929d36338cf3e85c67559ebb5a838d5454c23ab749d8f4b8b353b0e9441bc1149a9daf84eae648d5fcab2aa5a737ec86aef54e8f
-  languageName: node
-  linkType: hard
-
-"@storybook/blocks@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/blocks@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/csf": "npm:^0.1.11"
+    "@storybook/csf-plugin": "npm:9.0.0-beta.1"
     "@storybook/icons": "npm:^1.2.12"
+    "@storybook/react-dom-shim": "npm:9.0.0-beta.1"
+    react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+    react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
     ts-dedent: "npm:^2.0.0"
   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.5.0-alpha.11
-  peerDependenciesMeta:
-    react:
-      optional: true
-    react-dom:
-      optional: true
-  checksum: 10/a5edcc8afe26ab4a4982359d7b49ee0816b4bb05ef0f974d8b5122228e690c2b97b0ce819e1eaeced75a0f00066986bca594f88e8f3980f5977c80e28db05a54
+    storybook: ^9.0.0-beta.1
+  checksum: 10/e3b14d1f15a271628a854fb779ee59701dff11103944b1b5d35148ac0410a58a382ffdd721c1c598cfcf7f8cb41090052875fa155901001fb60c0f1f32b8cb8b
   languageName: node
   linkType: hard
 
-"@storybook/builder-vite@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/builder-vite@npm:8.5.0-alpha.11"
+"@storybook/builder-vite@npm:9.0.0-beta.1":
+  version: 9.0.0-beta.1
+  resolution: "@storybook/builder-vite@npm:9.0.0-beta.1"
   dependencies:
-    "@storybook/csf-plugin": "npm:8.5.0-alpha.11"
+    "@storybook/csf-plugin": "npm:9.0.0-beta.1"
     browser-assert: "npm:^1.2.1"
     ts-dedent: "npm:^2.0.0"
   peerDependencies:
-    storybook: ^8.5.0-alpha.11
-    vite: ^4.0.0 || ^5.0.0 || ^6.0.0
-  checksum: 10/4b0230ff8eafcf09e1aa085a2b21796d60403aec2fb2bcda3d0c574f0e0f7f926c1426920d9877a103e0a28e3d9e5fc52a40e92573b4eb63cf606b1b3c2e9457
+    storybook: ^9.0.0-beta.1
+    vite: ^5.0.0 || ^6.0.0
+  checksum: 10/07fda64f5f40810130ccdec580a398a85a77a771bccfd1179b78de22a2661339f962f064b2fa0ea6c6c67a37996c881a323edb0ff0decdd747598f22fe674a9c
   languageName: node
   linkType: hard
 
-"@storybook/components@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/components@npm:8.5.0-alpha.11"
-  peerDependencies:
-    storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
-  checksum: 10/0777c99e1caaaadb6ec5838a0a876b546c1f56887cc084f2541a4a81ef5fa7169b799891f4a5dab97e168d2e54974f2ebe0cfecc12297e34dedeb9603c588acd
-  languageName: node
-  linkType: hard
-
-"@storybook/core@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/core@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/csf": "npm:^0.1.11"
-    better-opn: "npm:^3.0.2"
-    browser-assert: "npm:^1.2.1"
-    esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0"
-    esbuild-register: "npm:^3.5.0"
-    jsdoc-type-pratt-parser: "npm:^4.0.0"
-    process: "npm:^0.11.10"
-    recast: "npm:^0.23.5"
-    semver: "npm:^7.6.2"
-    util: "npm:^0.12.5"
-    ws: "npm:^8.2.3"
-  peerDependencies:
-    prettier: ^2 || ^3
-  peerDependenciesMeta:
-    prettier:
-      optional: true
-  checksum: 10/f3c22f53e957e45a943c8d20e6f619d6658a749ac9f22f217d47c8a7cc7def6cba14b315d36cf60963c53a219bb53ff0e26a9134c20e4820be1a284c400eb2bf
-  languageName: node
-  linkType: hard
-
-"@storybook/csf-plugin@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/csf-plugin@npm:8.5.0-alpha.11"
+"@storybook/csf-plugin@npm:9.0.0-beta.1":
+  version: 9.0.0-beta.1
+  resolution: "@storybook/csf-plugin@npm:9.0.0-beta.1"
   dependencies:
     unplugin: "npm:^1.3.1"
   peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/9c18c2b687458a37fbddf5379066cedf1c318b37e3167fbccb5aaf65e1f31aa9a9bcac18bc3ec0a731d4b74c065fe8edca917d1cd118387678273041b51ba694
-  languageName: node
-  linkType: hard
-
-"@storybook/csf@npm:^0.1.11":
-  version: 0.1.11
-  resolution: "@storybook/csf@npm:0.1.11"
-  dependencies:
-    type-fest: "npm:^2.19.0"
-  checksum: 10/f6eeefe3b92ab206676587da9e22a775da026c055999681580d2ca23c98185736f965adc79039a0ae97ea625f0fbc7915cd4559e5db24229a4805784d0b78584
+    storybook: ^9.0.0-beta.1
+  checksum: 10/8633ec40cb5947bff7657990556ea610415baef22945eae32c747f896ee4e3c8a0019a4b3c826fb7fec96e2e1ace6fe4964e477ce55b56455184fd4fc3031344
   languageName: node
   linkType: hard
 
@@ -3055,100 +2866,63 @@ __metadata:
   linkType: hard
 
 "@storybook/icons@npm:^1.2.12":
-  version: 1.2.12
-  resolution: "@storybook/icons@npm:1.2.12"
-  peerDependencies:
-    react: ^16.8.0 || ^17.0.0 || ^18.0.0
-    react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
-  checksum: 10/5df56f0856764ed7e4bb24ef7a08a8a9c93f8eedcb16dac062f1dfd3bd1fe6cb4a0aa5a0794083d95e31c04960d126a4d2028cfb4c53681bf05513bb38eae9d2
-  languageName: node
-  linkType: hard
-
-"@storybook/instrumenter@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/instrumenter@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/global": "npm:^5.0.0"
-    "@vitest/utils": "npm:^2.1.1"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/6bcd3d5210a9f30262f99681e9ca019361717cac4932dc6c21f6864309206e2b1c79be5ce343f6e6cf7f81c487fc41bb45fee51f9beeabd84be4a84a27c1c3bc
-  languageName: node
-  linkType: hard
-
-"@storybook/manager-api@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/manager-api@npm:8.5.0-alpha.11"
-  peerDependencies:
-    storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
-  checksum: 10/106bb5d4f42645f4428d1fe68755bf5796df1c5eb63723de25142c83d32809e45bcddcd5ec1875ac2c1df39786c05600574245f7a46e5be1367f4e0303a1ff58
-  languageName: node
-  linkType: hard
-
-"@storybook/preview-api@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/preview-api@npm:8.5.0-alpha.11"
+  version: 1.4.0
+  resolution: "@storybook/icons@npm:1.4.0"
   peerDependencies:
-    storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
-  checksum: 10/838cac3c49572dcee01922abd5bd45489486b766a993b64b6c9a75be6890728a1d898b477f05285cae881d962edd8c11a2474abc9a2f311543b02437f628f738
+    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
+  checksum: 10/513d36188bb84f1f64dd982b6bd577de4c3d7bc2aa9d318a2acf8c654d16994bac0b669787a4ced6720e471251bcb0ec68b8d8dc2cc7245d11102bd617243700
   languageName: node
   linkType: hard
 
-"@storybook/react-dom-shim@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/react-dom-shim@npm:8.5.0-alpha.11"
+"@storybook/react-dom-shim@npm:9.0.0-beta.1":
+  version: 9.0.0-beta.1
+  resolution: "@storybook/react-dom-shim@npm:9.0.0-beta.1"
   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.5.0-alpha.11
-  checksum: 10/cf21f2c962680207092793c292b42cc80fbadc956e16ca22769d83b0ce6d0797d2d0c8f269e871c5683cb3b93d1a6d21cb900f2c011a6622dd1788b422b4f012
+    storybook: ^9.0.0-beta.1
+  checksum: 10/9aed1061d4b893b2ce2fd3df51ba9a5dabf6bbc8660ad72f66932601e81c226d4880c0f713be085056342634350edc7a44dcb6b83c54ea1d1eadb50a588af216
   languageName: node
   linkType: hard
 
 "@storybook/react-vite@npm:next":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/react-vite@npm:8.5.0-alpha.11"
+  version: 9.0.0-beta.1
+  resolution: "@storybook/react-vite@npm:9.0.0-beta.1"
   dependencies:
-    "@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.3.0"
+    "@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.5.0"
     "@rollup/pluginutils": "npm:^5.0.2"
-    "@storybook/builder-vite": "npm:8.5.0-alpha.11"
-    "@storybook/react": "npm:8.5.0-alpha.11"
+    "@storybook/builder-vite": "npm:9.0.0-beta.1"
+    "@storybook/react": "npm:9.0.0-beta.1"
     find-up: "npm:^5.0.0"
     magic-string: "npm:^0.30.0"
-    react-docgen: "npm:^7.0.0"
+    react-docgen: "npm:^7.1.1"
     resolve: "npm:^1.22.8"
     tsconfig-paths: "npm:^4.2.0"
   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.5.0-alpha.11
-    vite: ^4.0.0 || ^5.0.0 || ^6.0.0
-  checksum: 10/cca4bd748e9b0de0030198d0d34a82a7aab7774f126b0791a9afbfafc3945bccd9cf8ec0293c7a69b6289b06685e9e48b1e01e594b7c459edfbe7ce37273c80a
+    storybook: ^9.0.0-beta.1
+    vite: ^5.0.0 || ^6.0.0
+  checksum: 10/a1de4a36b648e0e9cfe643298bb96d1908a0e51e577b2c7a5df2f45a804eb1f2e6662876057aabe64aae29f1e2317b734eb696d299675d6f0c33f57be4e0d1d6
   languageName: node
   linkType: hard
 
-"@storybook/react@npm:8.5.0-alpha.11, @storybook/react@npm:next":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/react@npm:8.5.0-alpha.11"
+"@storybook/react@npm:9.0.0-beta.1":
+  version: 9.0.0-beta.1
+  resolution: "@storybook/react@npm:9.0.0-beta.1"
   dependencies:
-    "@storybook/components": "npm:8.5.0-alpha.11"
     "@storybook/global": "npm:^5.0.0"
-    "@storybook/manager-api": "npm:8.5.0-alpha.11"
-    "@storybook/preview-api": "npm:8.5.0-alpha.11"
-    "@storybook/react-dom-shim": "npm:8.5.0-alpha.11"
-    "@storybook/theming": "npm:8.5.0-alpha.11"
+    "@storybook/react-dom-shim": "npm:9.0.0-beta.1"
   peerDependencies:
-    "@storybook/test": 8.5.0-alpha.11
     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.5.0-alpha.11
-    typescript: ">= 4.2.x"
+    storybook: ^9.0.0-beta.1
+    typescript: ">= 4.9.x"
   peerDependenciesMeta:
-    "@storybook/test":
-      optional: true
     typescript:
       optional: true
-  checksum: 10/e864b230b32da3ab47c1ce142ce451523a796add737256091d8a8af49f32318433f6d5e82e833ae60780f0ef17970ba1410e9b9d83ea0f2be22b9363ce8cf70a
+  checksum: 10/05b245b6106bab541fef846d9764e3a006c08a52f45f294b0ad0c9467401ebc2bc079904ddebfa1049b083999830c817d6c0e27bde0a289994c198eeee6fa506
   languageName: node
   linkType: hard
 
@@ -3166,13 +2940,10 @@ __metadata:
     "@babel/template": "npm:^7.22.5"
     "@babel/types": "npm:^7.22.5"
     "@jest/types": "npm:^29.6.3"
+    "@storybook/addon-a11y": "npm:next"
     "@storybook/addon-coverage": "npm:^1.0.0"
-    "@storybook/addon-essentials": "npm:next"
-    "@storybook/addon-interactions": "npm:next"
-    "@storybook/csf": "npm:^0.1.11"
-    "@storybook/react": "npm:next"
+    "@storybook/addon-docs": "npm:next"
     "@storybook/react-vite": "npm:next"
-    "@storybook/test": "npm:next"
     "@swc/core": "npm:^1.5.22"
     "@swc/jest": "npm:^0.2.23"
     "@types/jest": "npm:^29.0.0"
@@ -3213,7 +2984,7 @@ __metadata:
     ts-jest: "npm:^29.0.0"
     tsup: "npm:^6.5.0"
     typescript: "npm:~4.9.4"
-    vite: "npm:^4.4.5"
+    vite: "npm:^6.3.2"
     wait-on: "npm:^7.2.0"
   peerDependencies:
     storybook: ^0.0.0-0 || ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 || ^9.0.0-0
@@ -3222,33 +2993,6 @@ __metadata:
   languageName: unknown
   linkType: soft
 
-"@storybook/test@npm:8.5.0-alpha.11, @storybook/test@npm:next":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/test@npm:8.5.0-alpha.11"
-  dependencies:
-    "@storybook/csf": "npm:^0.1.11"
-    "@storybook/global": "npm:^5.0.0"
-    "@storybook/instrumenter": "npm:8.5.0-alpha.11"
-    "@testing-library/dom": "npm:10.4.0"
-    "@testing-library/jest-dom": "npm:6.5.0"
-    "@testing-library/user-event": "npm:14.5.2"
-    "@vitest/expect": "npm:2.0.5"
-    "@vitest/spy": "npm:2.0.5"
-  peerDependencies:
-    storybook: ^8.5.0-alpha.11
-  checksum: 10/85cd9eccc6875140f8e3d171a468c287f2a559536d2deeadf4cc07b80b497af3fcf84693ff76803953fd0546c80f55f0ea3447b4b95448374591e6c1409b0af7
-  languageName: node
-  linkType: hard
-
-"@storybook/theming@npm:8.5.0-alpha.11":
-  version: 8.5.0-alpha.11
-  resolution: "@storybook/theming@npm:8.5.0-alpha.11"
-  peerDependencies:
-    storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
-  checksum: 10/afd0fd5c5c45847be3c6b5272fec11403685ddfc9867fa7388d779cf2fdf75a52fb90d6c4913c4019718871f364fb83c14e872e8297500216f82d16d64a3c26c
-  languageName: node
-  linkType: hard
-
 "@swc/core-darwin-arm64@npm:1.8.0":
   version: 1.8.0
   resolution: "@swc/core-darwin-arm64@npm:1.8.0"
@@ -3409,9 +3153,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@testing-library/jest-dom@npm:6.5.0":
-  version: 6.5.0
-  resolution: "@testing-library/jest-dom@npm:6.5.0"
+"@testing-library/jest-dom@npm:^6.6.3":
+  version: 6.6.3
+  resolution: "@testing-library/jest-dom@npm:6.6.3"
   dependencies:
     "@adobe/css-tools": "npm:^4.4.0"
     aria-query: "npm:^5.0.0"
@@ -3420,16 +3164,16 @@ __metadata:
     dom-accessibility-api: "npm:^0.6.3"
     lodash: "npm:^4.17.21"
     redent: "npm:^3.0.0"
-  checksum: 10/3d2080888af5fd7306f57448beb5a23f55d965e265b5e53394fffc112dfb0678d616a5274ff0200c46c7618f293520f86fc8562eecd8bdbc0dbb3294d63ec431
+  checksum: 10/1f3427e45870eab9dcc59d6504b780d4a595062fe1687762ae6e67d06a70bf439b40ab64cf58cbace6293a99e3764d4647fdc8300a633b721764f5ce39dade18
   languageName: node
   linkType: hard
 
-"@testing-library/user-event@npm:14.5.2":
-  version: 14.5.2
-  resolution: "@testing-library/user-event@npm:14.5.2"
+"@testing-library/user-event@npm:^14.6.1":
+  version: 14.6.1
+  resolution: "@testing-library/user-event@npm:14.6.1"
   peerDependencies:
     "@testing-library/dom": ">=7.21.4"
-  checksum: 10/49821459d81c6bc435d97128d6386ca24f1e4b3ba8e46cb5a96fe3643efa6e002d88c1b02b7f2ec58da593e805c59b78d7fdf0db565c1f02ba782f63ee984040
+  checksum: 10/34b74fff56a0447731a94b40d4cf246deb8dbc1c1e3aec93acd1c3377a760bb062e979f1572bb34ec164ad28ee2a391744b42d0d6d6cc16c4ce527e5e09610e1
   languageName: node
   linkType: hard
 
@@ -3530,6 +3274,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@types/estree@npm:1.0.7":
+  version: 1.0.7
+  resolution: "@types/estree@npm:1.0.7"
+  checksum: 10/419c845ece767ad4b21171e6e5b63dabb2eb46b9c0d97361edcd9cabbf6a95fcadb91d89b5fa098d1336fa0b8fceaea82fca97a2ef3971f5c86e53031e157b21
+  languageName: node
+  linkType: hard
+
 "@types/estree@npm:^1.0.0":
   version: 1.0.5
   resolution: "@types/estree@npm:1.0.5"
@@ -3537,16 +3288,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/glob@npm:^7.1.3":
-  version: 7.2.0
-  resolution: "@types/glob@npm:7.2.0"
-  dependencies:
-    "@types/minimatch": "npm:*"
-    "@types/node": "npm:*"
-  checksum: 10/6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19
-  languageName: node
-  linkType: hard
-
 "@types/graceful-fs@npm:^4.1.3":
   version: 4.1.9
   resolution: "@types/graceful-fs@npm:4.1.9"
@@ -3599,16 +3340,9 @@ __metadata:
   linkType: hard
 
 "@types/mdx@npm:^2.0.0":
-  version: 2.0.10
-  resolution: "@types/mdx@npm:2.0.10"
-  checksum: 10/9e4ac676d191142e5cd33bb5f07f57f1ea0138ce943ad971df8a47be907def83daad0c351825fdd59fe94fc94a58579fb329185b8def8ce5478d1fb378ec7ac2
-  languageName: node
-  linkType: hard
-
-"@types/minimatch@npm:*":
-  version: 5.1.2
-  resolution: "@types/minimatch@npm:5.1.2"
-  checksum: 10/94db5060d20df2b80d77b74dd384df3115f01889b5b6c40fa2dfa27cfc03a68fb0ff7c1f2a0366070263eb2e9d6bfd8c87111d4bc3ae93c3f291297c1bf56c85
+  version: 2.0.13
+  resolution: "@types/mdx@npm:2.0.13"
+  checksum: 10/b73ed5f08114879b9590dc6a9ee8b648643c57c708583cd24b2bc3cc8961361fc63139ac7e9291e7b3b6e6b45707749d01d6f9727ddec5533df75dc3b90871a4
   languageName: node
   linkType: hard
 
@@ -3722,65 +3456,44 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@vitest/expect@npm:2.0.5":
-  version: 2.0.5
-  resolution: "@vitest/expect@npm:2.0.5"
-  dependencies:
-    "@vitest/spy": "npm:2.0.5"
-    "@vitest/utils": "npm:2.0.5"
-    chai: "npm:^5.1.1"
-    tinyrainbow: "npm:^1.2.0"
-  checksum: 10/ca9a218f50254b2259fd16166b2d8c9ccc8ee2cc068905e6b3d6281da10967b1590cc7d34b5fa9d429297f97e740450233745583b4cc12272ff11705faf70a37
-  languageName: node
-  linkType: hard
-
-"@vitest/pretty-format@npm:2.0.5":
-  version: 2.0.5
-  resolution: "@vitest/pretty-format@npm:2.0.5"
-  dependencies:
-    tinyrainbow: "npm:^1.2.0"
-  checksum: 10/70bf452dd0b8525e658795125b3f11110bd6baadfaa38c5bb91ca763bded35ec6dc80e27964ad4e91b91be6544d35e18ea7748c1997693988f975a7283c3e9a0
-  languageName: node
-  linkType: hard
-
-"@vitest/pretty-format@npm:2.1.4":
-  version: 2.1.4
-  resolution: "@vitest/pretty-format@npm:2.1.4"
+"@vitest/expect@npm:3.0.9":
+  version: 3.0.9
+  resolution: "@vitest/expect@npm:3.0.9"
   dependencies:
-    tinyrainbow: "npm:^1.2.0"
-  checksum: 10/434e6a7903f72a3796f26516ad728aca92724909e18fd3f2cd4b9b8b0ae2cc7b4cd86e92ab9f2ac7bc005c7a7ef0bcb9d768c0264b4b0625f1f0748cc615f1f6
+    "@vitest/spy": "npm:3.0.9"
+    "@vitest/utils": "npm:3.0.9"
+    chai: "npm:^5.2.0"
+    tinyrainbow: "npm:^2.0.0"
+  checksum: 10/09fc02ae3a639d5db23705a393ef571001f7f1006f7527529ec7807699b739788d5b54b71cb917c56379874b006f2de49933585694927b23c0d50787f96b9e94
   languageName: node
   linkType: hard
 
-"@vitest/spy@npm:2.0.5":
-  version: 2.0.5
-  resolution: "@vitest/spy@npm:2.0.5"
+"@vitest/pretty-format@npm:3.0.9":
+  version: 3.0.9
+  resolution: "@vitest/pretty-format@npm:3.0.9"
   dependencies:
-    tinyspy: "npm:^3.0.0"
-  checksum: 10/ed19f4c3bb4d3853241e8070979615138e24403ce4c137fa48c903b3af2c8b3ada2cc26aca9c1aa323bb314a457a8130a29acbb18dafd4e42737deefb2abf1ca
+    tinyrainbow: "npm:^2.0.0"
+  checksum: 10/cfcdda2c72cf16a5e76ad2c9b014a4e36fea3988389613497cad5a2491ebc380ded4397afc95c32a2bd2734b0386996df76f6c5cbfc6be561262b8d112fb7a27
   languageName: node
   linkType: hard
 
-"@vitest/utils@npm:2.0.5":
-  version: 2.0.5
-  resolution: "@vitest/utils@npm:2.0.5"
+"@vitest/spy@npm:3.0.9":
+  version: 3.0.9
+  resolution: "@vitest/spy@npm:3.0.9"
   dependencies:
-    "@vitest/pretty-format": "npm:2.0.5"
-    estree-walker: "npm:^3.0.3"
-    loupe: "npm:^3.1.1"
-    tinyrainbow: "npm:^1.2.0"
-  checksum: 10/d631d56d29c33bc8de631166b2b6691c470187a345469dfef7048befe6027e1c6ff9552f2ee11c8a247522c325c4a64bfcc73f8f0f0c525da39cb9f190f119f8
+    tinyspy: "npm:^3.0.2"
+  checksum: 10/967b403293c9325292be4843753bf8ae516ec158df2372a14bec98c9bfb233fa6bbf76cb319cf1a9ea1b5ab795e3abff68ca66fa7523045562d7449a95ed8bf9
   languageName: node
   linkType: hard
 
-"@vitest/utils@npm:^2.1.1":
-  version: 2.1.4
-  resolution: "@vitest/utils@npm:2.1.4"
+"@vitest/utils@npm:3.0.9":
+  version: 3.0.9
+  resolution: "@vitest/utils@npm:3.0.9"
   dependencies:
-    "@vitest/pretty-format": "npm:2.1.4"
-    loupe: "npm:^3.1.2"
-    tinyrainbow: "npm:^1.2.0"
-  checksum: 10/aaaf5310943abca0f0080d9638e67838f7e519d5670ec32e61184915efdfa5ec61d9b495cad6cb7dc492e8caeed14593e78dda77c8ea59c1671a231661f57142
+    "@vitest/pretty-format": "npm:3.0.9"
+    loupe: "npm:^3.1.3"
+    tinyrainbow: "npm:^2.0.0"
+  checksum: 10/c77e2a4a5c62dabc57c0d27536428e6b4f9a7998b59161deb82cf797e1d6cb61a7531bef19f079c4bdca7b48fd656b48e4d1bcfb4a5bdf3c177931670a287163
   languageName: node
   linkType: hard
 
@@ -4092,15 +3805,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"available-typed-arrays@npm:^1.0.7":
-  version: 1.0.7
-  resolution: "available-typed-arrays@npm:1.0.7"
-  dependencies:
-    possible-typed-array-names: "npm:^1.0.0"
-  checksum: 10/6c9da3a66caddd83c875010a1ca8ef11eac02ba15fb592dc9418b2b5e7b77b645fa7729380a92d9835c2f05f2ca1b6251f39b993e0feb3f1517c74fa1af02cab
-  languageName: node
-  linkType: hard
-
 "await-to-js@npm:^3.0.0":
   version: 3.0.0
   resolution: "await-to-js@npm:3.0.0"
@@ -4108,6 +3812,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"axe-core@npm:^4.2.0":
+  version: 4.10.3
+  resolution: "axe-core@npm:4.10.3"
+  checksum: 10/9ff51ad0fd0fdec5c0247ea74e8ace5990b54c7f01f8fa3e5cd8ba98b0db24d8ebd7bab4a9bd4d75c28c4edcd1eac455b44c8c6c258c6a98f3d2f88bc60af4cc
+  languageName: node
+  linkType: hard
+
 "axios@npm:^1.6.1":
   version: 1.6.2
   resolution: "axios@npm:1.6.2"
@@ -4414,19 +4125,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"call-bind@npm:^1.0.2, call-bind@npm:^1.0.7":
-  version: 1.0.7
-  resolution: "call-bind@npm:1.0.7"
-  dependencies:
-    es-define-property: "npm:^1.0.0"
-    es-errors: "npm:^1.3.0"
-    function-bind: "npm:^1.1.2"
-    get-intrinsic: "npm:^1.2.4"
-    set-function-length: "npm:^1.2.1"
-  checksum: 10/cd6fe658e007af80985da5185bff7b55e12ef4c2b6f41829a26ed1eef254b1f1c12e3dfd5b2b068c6ba8b86aba62390842d81752e67dcbaec4f6f76e7113b6b7
-  languageName: node
-  linkType: hard
-
 "callsites@npm:^3.0.0":
   version: 3.1.0
   resolution: "callsites@npm:3.1.0"
@@ -4464,16 +4162,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"chai@npm:^5.1.1":
-  version: 5.1.2
-  resolution: "chai@npm:5.1.2"
+"chai@npm:^5.2.0":
+  version: 5.2.0
+  resolution: "chai@npm:5.2.0"
   dependencies:
     assertion-error: "npm:^2.0.1"
     check-error: "npm:^2.1.1"
     deep-eql: "npm:^5.0.1"
     loupe: "npm:^3.1.0"
     pathval: "npm:^2.0.0"
-  checksum: 10/e8c2bbc83cb5a2f87130d93056d4cfbbe04106e12aa798b504816dbe3fa538a9f68541b472e56cbf0f54558b501d7e31867d74b8218abcd5a8cc8ba536fba46c
+  checksum: 10/2ce03671c159c6a567bf1912756daabdbb7c075f3c0078f1b59d61da8d276936367ee696dfe093b49e1479d9ba93a6074c8e55d49791dddd8061728cdcad249e
   languageName: node
   linkType: hard
 
@@ -4979,17 +4677,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"define-data-property@npm:^1.1.4":
-  version: 1.1.4
-  resolution: "define-data-property@npm:1.1.4"
-  dependencies:
-    es-define-property: "npm:^1.0.0"
-    es-errors: "npm:^1.3.0"
-    gopd: "npm:^1.0.1"
-  checksum: 10/abdcb2505d80a53524ba871273e5da75e77e52af9e15b3aa65d8aad82b8a3a424dad7aee2cc0b71470ac7acf501e08defac362e8b6a73cdb4309f028061df4ae
-  languageName: node
-  linkType: hard
-
 "define-lazy-prop@npm:^2.0.0":
   version: 2.0.0
   resolution: "define-lazy-prop@npm:2.0.0"
@@ -5027,7 +4714,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"dequal@npm:^2.0.2, dequal@npm:^2.0.3":
+"dequal@npm:^2.0.3":
   version: 2.0.3
   resolution: "dequal@npm:2.0.3"
   checksum: 10/6ff05a7561f33603df87c45e389c9ac0a95e3c056be3da1a0c4702149e3a7f6fe5ffbb294478687ba51a9e95f3a60e8b6b9005993acd79c292c7d15f71964b6b
@@ -5275,22 +4962,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"es-define-property@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "es-define-property@npm:1.0.0"
-  dependencies:
-    get-intrinsic: "npm:^1.2.4"
-  checksum: 10/f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6
-  languageName: node
-  linkType: hard
-
-"es-errors@npm:^1.3.0":
-  version: 1.3.0
-  resolution: "es-errors@npm:1.3.0"
-  checksum: 10/96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5
-  languageName: node
-  linkType: hard
-
 "es6-error@npm:^4.0.1":
   version: 4.1.1
   resolution: "es6-error@npm:4.1.1"
@@ -5386,34 +5057,35 @@ __metadata:
   languageName: node
   linkType: hard
 
-"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0":
-  version: 0.24.0
-  resolution: "esbuild@npm:0.24.0"
-  dependencies:
-    "@esbuild/aix-ppc64": "npm:0.24.0"
-    "@esbuild/android-arm": "npm:0.24.0"
-    "@esbuild/android-arm64": "npm:0.24.0"
-    "@esbuild/android-x64": "npm:0.24.0"
-    "@esbuild/darwin-arm64": "npm:0.24.0"
-    "@esbuild/darwin-x64": "npm:0.24.0"
-    "@esbuild/freebsd-arm64": "npm:0.24.0"
-    "@esbuild/freebsd-x64": "npm:0.24.0"
-    "@esbuild/linux-arm": "npm:0.24.0"
-    "@esbuild/linux-arm64": "npm:0.24.0"
-    "@esbuild/linux-ia32": "npm:0.24.0"
-    "@esbuild/linux-loong64": "npm:0.24.0"
-    "@esbuild/linux-mips64el": "npm:0.24.0"
-    "@esbuild/linux-ppc64": "npm:0.24.0"
-    "@esbuild/linux-riscv64": "npm:0.24.0"
-    "@esbuild/linux-s390x": "npm:0.24.0"
-    "@esbuild/linux-x64": "npm:0.24.0"
-    "@esbuild/netbsd-x64": "npm:0.24.0"
-    "@esbuild/openbsd-arm64": "npm:0.24.0"
-    "@esbuild/openbsd-x64": "npm:0.24.0"
-    "@esbuild/sunos-x64": "npm:0.24.0"
-    "@esbuild/win32-arm64": "npm:0.24.0"
-    "@esbuild/win32-ia32": "npm:0.24.0"
-    "@esbuild/win32-x64": "npm:0.24.0"
+"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0, esbuild@npm:^0.25.0":
+  version: 0.25.3
+  resolution: "esbuild@npm:0.25.3"
+  dependencies:
+    "@esbuild/aix-ppc64": "npm:0.25.3"
+    "@esbuild/android-arm": "npm:0.25.3"
+    "@esbuild/android-arm64": "npm:0.25.3"
+    "@esbuild/android-x64": "npm:0.25.3"
+    "@esbuild/darwin-arm64": "npm:0.25.3"
+    "@esbuild/darwin-x64": "npm:0.25.3"
+    "@esbuild/freebsd-arm64": "npm:0.25.3"
+    "@esbuild/freebsd-x64": "npm:0.25.3"
+    "@esbuild/linux-arm": "npm:0.25.3"
+    "@esbuild/linux-arm64": "npm:0.25.3"
+    "@esbuild/linux-ia32": "npm:0.25.3"
+    "@esbuild/linux-loong64": "npm:0.25.3"
+    "@esbuild/linux-mips64el": "npm:0.25.3"
+    "@esbuild/linux-ppc64": "npm:0.25.3"
+    "@esbuild/linux-riscv64": "npm:0.25.3"
+    "@esbuild/linux-s390x": "npm:0.25.3"
+    "@esbuild/linux-x64": "npm:0.25.3"
+    "@esbuild/netbsd-arm64": "npm:0.25.3"
+    "@esbuild/netbsd-x64": "npm:0.25.3"
+    "@esbuild/openbsd-arm64": "npm:0.25.3"
+    "@esbuild/openbsd-x64": "npm:0.25.3"
+    "@esbuild/sunos-x64": "npm:0.25.3"
+    "@esbuild/win32-arm64": "npm:0.25.3"
+    "@esbuild/win32-ia32": "npm:0.25.3"
+    "@esbuild/win32-x64": "npm:0.25.3"
   dependenciesMeta:
     "@esbuild/aix-ppc64":
       optional: true
@@ -5449,6 +5121,8 @@ __metadata:
       optional: true
     "@esbuild/linux-x64":
       optional: true
+    "@esbuild/netbsd-arm64":
+      optional: true
     "@esbuild/netbsd-x64":
       optional: true
     "@esbuild/openbsd-arm64":
@@ -5465,84 +5139,7 @@ __metadata:
       optional: true
   bin:
     esbuild: bin/esbuild
-  checksum: 10/500f83a1216d6548053007b85c070d8293395db344605b17418c6cf1217e5e8d338fa77fc8af27c23faa121c5528e5b0004d46d3a0cdeb87d48f1b5fa0164bc5
-  languageName: node
-  linkType: hard
-
-"esbuild@npm:^0.18.10":
-  version: 0.18.20
-  resolution: "esbuild@npm:0.18.20"
-  dependencies:
-    "@esbuild/android-arm": "npm:0.18.20"
-    "@esbuild/android-arm64": "npm:0.18.20"
-    "@esbuild/android-x64": "npm:0.18.20"
-    "@esbuild/darwin-arm64": "npm:0.18.20"
-    "@esbuild/darwin-x64": "npm:0.18.20"
-    "@esbuild/freebsd-arm64": "npm:0.18.20"
-    "@esbuild/freebsd-x64": "npm:0.18.20"
-    "@esbuild/linux-arm": "npm:0.18.20"
-    "@esbuild/linux-arm64": "npm:0.18.20"
-    "@esbuild/linux-ia32": "npm:0.18.20"
-    "@esbuild/linux-loong64": "npm:0.18.20"
-    "@esbuild/linux-mips64el": "npm:0.18.20"
-    "@esbuild/linux-ppc64": "npm:0.18.20"
-    "@esbuild/linux-riscv64": "npm:0.18.20"
-    "@esbuild/linux-s390x": "npm:0.18.20"
-    "@esbuild/linux-x64": "npm:0.18.20"
-    "@esbuild/netbsd-x64": "npm:0.18.20"
-    "@esbuild/openbsd-x64": "npm:0.18.20"
-    "@esbuild/sunos-x64": "npm:0.18.20"
-    "@esbuild/win32-arm64": "npm:0.18.20"
-    "@esbuild/win32-ia32": "npm:0.18.20"
-    "@esbuild/win32-x64": "npm:0.18.20"
-  dependenciesMeta:
-    "@esbuild/android-arm":
-      optional: true
-    "@esbuild/android-arm64":
-      optional: true
-    "@esbuild/android-x64":
-      optional: true
-    "@esbuild/darwin-arm64":
-      optional: true
-    "@esbuild/darwin-x64":
-      optional: true
-    "@esbuild/freebsd-arm64":
-      optional: true
-    "@esbuild/freebsd-x64":
-      optional: true
-    "@esbuild/linux-arm":
-      optional: true
-    "@esbuild/linux-arm64":
-      optional: true
-    "@esbuild/linux-ia32":
-      optional: true
-    "@esbuild/linux-loong64":
-      optional: true
-    "@esbuild/linux-mips64el":
-      optional: true
-    "@esbuild/linux-ppc64":
-      optional: true
-    "@esbuild/linux-riscv64":
-      optional: true
-    "@esbuild/linux-s390x":
-      optional: true
-    "@esbuild/linux-x64":
-      optional: true
-    "@esbuild/netbsd-x64":
-      optional: true
-    "@esbuild/openbsd-x64":
-      optional: true
-    "@esbuild/sunos-x64":
-      optional: true
-    "@esbuild/win32-arm64":
-      optional: true
-    "@esbuild/win32-ia32":
-      optional: true
-    "@esbuild/win32-x64":
-      optional: true
-  bin:
-    esbuild: bin/esbuild
-  checksum: 10/1f723ec71c3aa196473bf3298316eedc3f62d523924652dfeb60701b609792f918fc60db84b420d1d8ba9bfa7d69de2fc1d3157ba47c028bdae5d507a26a3c64
+  checksum: 10/f1ff72289938330312926421f90eea442025cbbac295a7a2e8cfc2abbd9e3a8bc1502883468b0487e4020f1369e4726c851a2fa4b65a7c71331940072c3a1808
   languageName: node
   linkType: hard
 
@@ -5602,15 +5199,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"estree-walker@npm:^3.0.3":
-  version: 3.0.3
-  resolution: "estree-walker@npm:3.0.3"
-  dependencies:
-    "@types/estree": "npm:^1.0.0"
-  checksum: 10/a65728d5727b71de172c5df323385755a16c0fdab8234dc756c3854cfee343261ddfbb72a809a5660fac8c75d960bb3e21aa898c2d7e9b19bb298482ca58a3af
-  languageName: node
-  linkType: hard
-
 "esutils@npm:^2.0.2":
   version: 2.0.3
   resolution: "esutils@npm:2.0.3"
@@ -5754,6 +5342,18 @@ __metadata:
   languageName: node
   linkType: hard
 
+"fdir@npm:^6.4.3, fdir@npm:^6.4.4":
+  version: 6.4.4
+  resolution: "fdir@npm:6.4.4"
+  peerDependencies:
+    picomatch: ^3 || ^4
+  peerDependenciesMeta:
+    picomatch:
+      optional: true
+  checksum: 10/d0000d6b790059b35f4ed19acc8847a66452e0bc68b28766c929ffd523e5ec2083811fc8a545e4a1d4945ce70e887b3a610c145c681073b506143ae3076342ed
+  languageName: node
+  linkType: hard
+
 "figures@npm:^2.0.0":
   version: 2.0.0
   resolution: "figures@npm:2.0.0"
@@ -5873,15 +5473,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"for-each@npm:^0.3.3":
-  version: 0.3.3
-  resolution: "for-each@npm:0.3.3"
-  dependencies:
-    is-callable: "npm:^1.1.3"
-  checksum: 10/fdac0cde1be35610bd635ae958422e8ce0cc1313e8d32ea6d34cfda7b60850940c1fd07c36456ad76bd9c24aef6ff5e03b02beb58c83af5ef6c968a64eada676
-  languageName: node
-  linkType: hard
-
 "foreground-child@npm:^2.0.0":
   version: 2.0.0
   resolution: "foreground-child@npm:2.0.0"
@@ -5976,7 +5567,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2":
+"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2, fsevents@npm:~2.3.3":
   version: 2.3.3
   resolution: "fsevents@npm:2.3.3"
   dependencies:
@@ -5995,7 +5586,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin<compat/fsevents>, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin<compat/fsevents>":
+"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin<compat/fsevents>, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin<compat/fsevents>, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin<compat/fsevents>":
   version: 2.3.3
   resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin<compat/fsevents>::version=2.3.3&hash=df0bf1"
   dependencies:
@@ -6025,19 +5616,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4":
-  version: 1.2.4
-  resolution: "get-intrinsic@npm:1.2.4"
-  dependencies:
-    es-errors: "npm:^1.3.0"
-    function-bind: "npm:^1.1.2"
-    has-proto: "npm:^1.0.1"
-    has-symbols: "npm:^1.0.3"
-    hasown: "npm:^2.0.0"
-  checksum: 10/85bbf4b234c3940edf8a41f4ecbd4e25ce78e5e6ad4e24ca2f77037d983b9ef943fd72f00f3ee97a49ec622a506b67db49c36246150377efcda1c9eb03e5f06d
-  languageName: node
-  linkType: hard
-
 "get-monorepo-packages@npm:^1.1.0":
   version: 1.2.0
   resolution: "get-monorepo-packages@npm:1.2.0"
@@ -6088,17 +5666,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"glob-promise@npm:^4.2.0":
-  version: 4.2.2
-  resolution: "glob-promise@npm:4.2.2"
-  dependencies:
-    "@types/glob": "npm:^7.1.3"
-  peerDependencies:
-    glob: ^7.1.6
-  checksum: 10/c1a3d95f7c8393e4151d4899ec4e42bb2e8237160f840ad1eccbe9247407da8b6c13e28f463022e011708bc40862db87b9b77236d35afa3feb8aa86d518f2dfe
-  languageName: node
-  linkType: hard
-
 "glob@npm:7.1.6":
   version: 7.1.6
   resolution: "glob@npm:7.1.6"
@@ -6113,7 +5680,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"glob@npm:^10.2.2, glob@npm:^10.3.10":
+"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10":
   version: 10.4.5
   resolution: "glob@npm:10.4.5"
   dependencies:
@@ -6207,15 +5774,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"gopd@npm:^1.0.1":
-  version: 1.0.1
-  resolution: "gopd@npm:1.0.1"
-  dependencies:
-    get-intrinsic: "npm:^1.1.3"
-  checksum: 10/5fbc7ad57b368ae4cd2f41214bd947b045c1a4be2f194a7be1778d71f8af9dbf4004221f3b6f23e30820eb0d052b4f819fe6ebe8221e2a3c6f0ee4ef173421ca
-  languageName: node
-  linkType: hard
-
 "graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
   version: 4.2.11
   resolution: "graceful-fs@npm:4.2.11"
@@ -6237,38 +5795,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"has-property-descriptors@npm:^1.0.2":
-  version: 1.0.2
-  resolution: "has-property-descriptors@npm:1.0.2"
-  dependencies:
-    es-define-property: "npm:^1.0.0"
-  checksum: 10/2d8c9ab8cebb572e3362f7d06139a4592105983d4317e68f7adba320fe6ddfc8874581e0971e899e633fd5f72e262830edce36d5a0bc863dad17ad20572484b2
-  languageName: node
-  linkType: hard
-
-"has-proto@npm:^1.0.1":
-  version: 1.0.1
-  resolution: "has-proto@npm:1.0.1"
-  checksum: 10/eab2ab0ed1eae6d058b9bbc4c1d99d2751b29717be80d02fd03ead8b62675488de0c7359bc1fdd4b87ef6fd11e796a9631ad4d7452d9324fdada70158c2e5be7
-  languageName: node
-  linkType: hard
-
-"has-symbols@npm:^1.0.3":
-  version: 1.0.3
-  resolution: "has-symbols@npm:1.0.3"
-  checksum: 10/464f97a8202a7690dadd026e6d73b1ceeddd60fe6acfd06151106f050303eaa75855aaa94969df8015c11ff7c505f196114d22f7386b4a471038da5874cf5e9b
-  languageName: node
-  linkType: hard
-
-"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2":
-  version: 1.0.2
-  resolution: "has-tostringtag@npm:1.0.2"
-  dependencies:
-    has-symbols: "npm:^1.0.3"
-  checksum: 10/c74c5f5ceee3c8a5b8bc37719840dc3749f5b0306d818974141dda2471a1a2ca6c8e46b9d6ac222c5345df7a901c9b6f350b1e6d62763fec877e26609a401bfe
-  languageName: node
-  linkType: hard
-
 "hasha@npm:^5.0.0":
   version: 5.2.2
   resolution: "hasha@npm:5.2.2"
@@ -6502,16 +6028,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-arguments@npm:^1.0.4":
-  version: 1.1.1
-  resolution: "is-arguments@npm:1.1.1"
-  dependencies:
-    call-bind: "npm:^1.0.2"
-    has-tostringtag: "npm:^1.0.0"
-  checksum: 10/a170c7e26082e10de9be6e96d32ae3db4d5906194051b792e85fae3393b53cf2cb5b3557863e5c8ccbab55e2fd8f2f75aa643d437613f72052cf0356615c34be
-  languageName: node
-  linkType: hard
-
 "is-arrayish@npm:^0.2.1":
   version: 0.2.1
   resolution: "is-arrayish@npm:0.2.1"
@@ -6528,13 +6044,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-callable@npm:^1.1.3":
-  version: 1.2.7
-  resolution: "is-callable@npm:1.2.7"
-  checksum: 10/48a9297fb92c99e9df48706241a189da362bff3003354aea4048bd5f7b2eb0d823cd16d0a383cece3d76166ba16d85d9659165ac6fcce1ac12e6c649d66dbdb9
-  languageName: node
-  linkType: hard
-
 "is-core-module@npm:^2.13.0":
   version: 2.13.1
   resolution: "is-core-module@npm:2.13.1"
@@ -6581,15 +6090,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-generator-function@npm:^1.0.7":
-  version: 1.0.10
-  resolution: "is-generator-function@npm:1.0.10"
-  dependencies:
-    has-tostringtag: "npm:^1.0.0"
-  checksum: 10/499a3ce6361064c3bd27fbff5c8000212d48506ebe1977842bbd7b3e708832d0deb1f4cc69186ece3640770e8c4f1287b24d99588a0b8058b2dbdd344bc1f47f
-  languageName: node
-  linkType: hard
-
 "is-glob@npm:^4.0.1, is-glob@npm:~4.0.1":
   version: 4.0.3
   resolution: "is-glob@npm:4.0.3"
@@ -6648,15 +6148,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-typed-array@npm:^1.1.3":
-  version: 1.1.13
-  resolution: "is-typed-array@npm:1.1.13"
-  dependencies:
-    which-typed-array: "npm:^1.1.14"
-  checksum: 10/f850ba08286358b9a11aee6d93d371a45e3c59b5953549ee1c1a9a55ba5c1dd1bd9952488ae194ad8f32a9cf5e79c8fa5f0cc4d78c00720aa0bbcf238b38062d
-  languageName: node
-  linkType: hard
-
 "is-typedarray@npm:^1.0.0":
   version: 1.0.0
   resolution: "is-typedarray@npm:1.0.0"
@@ -7402,13 +6893,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"jsdoc-type-pratt-parser@npm:^4.0.0":
-  version: 4.1.0
-  resolution: "jsdoc-type-pratt-parser@npm:4.1.0"
-  checksum: 10/30d88f95f6cbb4a1aa6d4b0d0ae46eb1096e606235ecaf9bab7a3ed5da860516b5d1cd967182765002f292c627526db918f3e56d34637bcf810e6ef84d403f3f
-  languageName: node
-  linkType: hard
-
 "jsesc@npm:^3.0.2, jsesc@npm:~3.0.2":
   version: 3.0.2
   resolution: "jsesc@npm:3.0.2"
@@ -7679,13 +7163,20 @@ __metadata:
   languageName: node
   linkType: hard
 
-"loupe@npm:^3.1.0, loupe@npm:^3.1.1, loupe@npm:^3.1.2":
+"loupe@npm:^3.1.0":
   version: 3.1.2
   resolution: "loupe@npm:3.1.2"
   checksum: 10/8f5734e53fb64cd914aa7d986e01b6d4c2e3c6c56dcbd5428d71c2703f0ab46b5ab9f9eeaaf2b485e8a1c43f865bdd16ec08ae1a661c8f55acdbd9f4d59c607a
   languageName: node
   linkType: hard
 
+"loupe@npm:^3.1.3":
+  version: 3.1.3
+  resolution: "loupe@npm:3.1.3"
+  checksum: 10/9e98c34daf0eba48ccc603595e51f2ae002110982d84879cf78c51de2c632f0c571dfe82ce4210af60c32203d06b443465c269bda925076fe6d9b612cc65c321
+  languageName: node
+  linkType: hard
+
 "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
   version: 10.4.3
   resolution: "lru-cache@npm:10.4.3"
@@ -7792,13 +7283,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"map-or-similar@npm:^1.5.0":
-  version: 1.5.0
-  resolution: "map-or-similar@npm:1.5.0"
-  checksum: 10/3cf43bcd0e7af41d7bade5f8b5be6bb9d021cc47e6008ad545d071cf3a709ba782884002f9eec6ccd51f572fc17841e07bf74628e0bc3694c33f4622b03e4b4c
-  languageName: node
-  linkType: hard
-
 "meant@npm:^1.0.1":
   version: 1.0.3
   resolution: "meant@npm:1.0.3"
@@ -7806,15 +7290,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"memoizerific@npm:^1.11.3":
-  version: 1.11.3
-  resolution: "memoizerific@npm:1.11.3"
-  dependencies:
-    map-or-similar: "npm:^1.5.0"
-  checksum: 10/72b6b80699777d000f03db6e15fdabcd4afe77feb45be51fe195cb230c64a368fcfcfbb976375eac3283bd8193d6b1a67ac3081cae07f64fca73f1aa568d59e3
-  languageName: node
-  linkType: hard
-
 "merge-source-map@npm:^1.1.0":
   version: 1.1.0
   resolution: "merge-source-map@npm:1.1.0"
@@ -8045,12 +7520,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"nanoid@npm:^3.3.6":
-  version: 3.3.7
-  resolution: "nanoid@npm:3.3.7"
+"nanoid@npm:^3.3.8":
+  version: 3.3.11
+  resolution: "nanoid@npm:3.3.11"
   bin:
     nanoid: bin/nanoid.cjs
-  checksum: 10/ac1eb60f615b272bccb0e2b9cd933720dad30bf9708424f691b8113826bb91aca7e9d14ef5d9415a6ba15c266b37817256f58d8ce980c82b0ba3185352565679
+  checksum: 10/73b5afe5975a307aaa3c95dfe3334c52cdf9ae71518176895229b8d65ab0d1c0417dd081426134eb7571c055720428ea5d57c645138161e7d10df80815527c48
   languageName: node
   linkType: hard
 
@@ -8558,7 +8033,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0":
+"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1":
   version: 1.1.1
   resolution: "picocolors@npm:1.1.1"
   checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045
@@ -8572,6 +8047,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"picomatch@npm:^4.0.2":
+  version: 4.0.2
+  resolution: "picomatch@npm:4.0.2"
+  checksum: 10/ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717
+  languageName: node
+  linkType: hard
+
 "pidtree@npm:0.6.0":
   version: 0.6.0
   resolution: "pidtree@npm:0.6.0"
@@ -8688,13 +8170,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"possible-typed-array-names@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "possible-typed-array-names@npm:1.0.0"
-  checksum: 10/8ed3e96dfeea1c5880c1f4c9cb707e5fb26e8be22f14f82ef92df20fd2004e635c62ba47fbe8f2bb63bfd80dac1474be2fb39798da8c2feba2815435d1f749af
-  languageName: node
-  linkType: hard
-
 "postcss-load-config@npm:^3.0.1":
   version: 3.1.4
   resolution: "postcss-load-config@npm:3.1.4"
@@ -8713,14 +8188,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"postcss@npm:^8.4.27":
-  version: 8.4.31
-  resolution: "postcss@npm:8.4.31"
+"postcss@npm:^8.5.3":
+  version: 8.5.3
+  resolution: "postcss@npm:8.5.3"
   dependencies:
-    nanoid: "npm:^3.3.6"
-    picocolors: "npm:^1.0.0"
-    source-map-js: "npm:^1.0.2"
-  checksum: 10/1a6653e72105907377f9d4f2cd341d8d90e3fde823a5ddea1e2237aaa56933ea07853f0f2758c28892a1d70c53bbaca200eb8b80f8ed55f13093003dbec5afa0
+    nanoid: "npm:^3.3.8"
+    picocolors: "npm:^1.1.1"
+    source-map-js: "npm:^1.2.1"
+  checksum: 10/6d7e21a772e8b05bf102636918654dac097bac013f0dc8346b72ac3604fc16829646f94ea862acccd8f82e910b00e2c11c1f0ea276543565d278c7ca35516a7c
   languageName: node
   linkType: hard
 
@@ -8780,13 +8255,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"process@npm:^0.11.10":
-  version: 0.11.10
-  resolution: "process@npm:0.11.10"
-  checksum: 10/dbaa7e8d1d5cf375c36963ff43116772a989ef2bb47c9bdee20f38fd8fc061119cf38140631cf90c781aca4d3f0f0d2c834711952b728953f04fd7d238f59f5b
-  languageName: node
-  linkType: hard
-
 "promise-retry@npm:^2.0.1":
   version: 2.0.1
   resolution: "promise-retry@npm:2.0.1"
@@ -8858,9 +8326,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"react-docgen@npm:^7.0.0":
-  version: 7.1.0
-  resolution: "react-docgen@npm:7.1.0"
+"react-docgen@npm:^7.1.1":
+  version: 7.1.1
+  resolution: "react-docgen@npm:7.1.1"
   dependencies:
     "@babel/core": "npm:^7.18.9"
     "@babel/traverse": "npm:^7.18.9"
@@ -8872,19 +8340,18 @@ __metadata:
     doctrine: "npm:^3.0.0"
     resolve: "npm:^1.22.1"
     strip-indent: "npm:^4.0.0"
-  checksum: 10/ce1f6e4394375307ecf268ef0b3e41fd75a6b050e70053c6e64b72f108d7606a4b8de6c0f1dab2759bc80864db01be38a9245e2d71024d2ed3d3e0179bd02140
+  checksum: 10/501e5fa0d00e32ee27559f44462a34e9531018ccb46c51efbe60b98a4c077f43dbe8999da5bb91d2ab45a83a34099436a3b725fdabd3f218dbb4493c0b1c9f95
   languageName: node
   linkType: hard
 
-"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0":
-  version: 18.3.1
-  resolution: "react-dom@npm:18.3.1"
+"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0":
+  version: 19.1.0
+  resolution: "react-dom@npm:19.1.0"
   dependencies:
-    loose-envify: "npm:^1.1.0"
-    scheduler: "npm:^0.23.2"
+    scheduler: "npm:^0.26.0"
   peerDependencies:
-    react: ^18.3.1
-  checksum: 10/3f4b73a3aa083091173b29812b10394dd06f4ac06aff410b74702cfb3aa29d7b0ced208aab92d5272919b612e5cda21aeb1d54191848cf6e46e9e354f3541f81
+    react: ^19.1.0
+  checksum: 10/c5b58605862c7b0bb044416b01c73647bb8e89717fb5d7a2c279b11815fb7b49b619fe685c404e59f55eb52c66831236cc565c25ee1c2d042739f4a2cc538aa2
   languageName: node
   linkType: hard
 
@@ -8922,12 +8389,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0":
-  version: 18.3.1
-  resolution: "react@npm:18.3.1"
-  dependencies:
-    loose-envify: "npm:^1.1.0"
-  checksum: 10/261137d3f3993eaa2368a83110466fc0e558bc2c7f7ae7ca52d94f03aac945f45146bd85e5f481044db1758a1dbb57879e2fcdd33924e2dde1bdc550ce73f7bf
+"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0":
+  version: 19.1.0
+  resolution: "react@npm:19.1.0"
+  checksum: 10/d0180689826fd9de87e839c365f6f361c561daea397d61d724687cae88f432a307d1c0f53a0ee95ddbe3352c10dac41d7ff1ad85530fb24951b27a39e5398db4
   languageName: node
   linkType: hard
 
@@ -9265,7 +8730,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"rollup@npm:^3.2.5, rollup@npm:^3.27.1":
+"rollup@npm:^3.2.5":
   version: 3.29.5
   resolution: "rollup@npm:3.29.5"
   dependencies:
@@ -9279,6 +8744,81 @@ __metadata:
   languageName: node
   linkType: hard
 
+"rollup@npm:^4.34.9":
+  version: 4.40.0
+  resolution: "rollup@npm:4.40.0"
+  dependencies:
+    "@rollup/rollup-android-arm-eabi": "npm:4.40.0"
+    "@rollup/rollup-android-arm64": "npm:4.40.0"
+    "@rollup/rollup-darwin-arm64": "npm:4.40.0"
+    "@rollup/rollup-darwin-x64": "npm:4.40.0"
+    "@rollup/rollup-freebsd-arm64": "npm:4.40.0"
+    "@rollup/rollup-freebsd-x64": "npm:4.40.0"
+    "@rollup/rollup-linux-arm-gnueabihf": "npm:4.40.0"
+    "@rollup/rollup-linux-arm-musleabihf": "npm:4.40.0"
+    "@rollup/rollup-linux-arm64-gnu": "npm:4.40.0"
+    "@rollup/rollup-linux-arm64-musl": "npm:4.40.0"
+    "@rollup/rollup-linux-loongarch64-gnu": "npm:4.40.0"
+    "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.40.0"
+    "@rollup/rollup-linux-riscv64-gnu": "npm:4.40.0"
+    "@rollup/rollup-linux-riscv64-musl": "npm:4.40.0"
+    "@rollup/rollup-linux-s390x-gnu": "npm:4.40.0"
+    "@rollup/rollup-linux-x64-gnu": "npm:4.40.0"
+    "@rollup/rollup-linux-x64-musl": "npm:4.40.0"
+    "@rollup/rollup-win32-arm64-msvc": "npm:4.40.0"
+    "@rollup/rollup-win32-ia32-msvc": "npm:4.40.0"
+    "@rollup/rollup-win32-x64-msvc": "npm:4.40.0"
+    "@types/estree": "npm:1.0.7"
+    fsevents: "npm:~2.3.2"
+  dependenciesMeta:
+    "@rollup/rollup-android-arm-eabi":
+      optional: true
+    "@rollup/rollup-android-arm64":
+      optional: true
+    "@rollup/rollup-darwin-arm64":
+      optional: true
+    "@rollup/rollup-darwin-x64":
+      optional: true
+    "@rollup/rollup-freebsd-arm64":
+      optional: true
+    "@rollup/rollup-freebsd-x64":
+      optional: true
+    "@rollup/rollup-linux-arm-gnueabihf":
+      optional: true
+    "@rollup/rollup-linux-arm-musleabihf":
+      optional: true
+    "@rollup/rollup-linux-arm64-gnu":
+      optional: true
+    "@rollup/rollup-linux-arm64-musl":
+      optional: true
+    "@rollup/rollup-linux-loongarch64-gnu":
+      optional: true
+    "@rollup/rollup-linux-powerpc64le-gnu":
+      optional: true
+    "@rollup/rollup-linux-riscv64-gnu":
+      optional: true
+    "@rollup/rollup-linux-riscv64-musl":
+      optional: true
+    "@rollup/rollup-linux-s390x-gnu":
+      optional: true
+    "@rollup/rollup-linux-x64-gnu":
+      optional: true
+    "@rollup/rollup-linux-x64-musl":
+      optional: true
+    "@rollup/rollup-win32-arm64-msvc":
+      optional: true
+    "@rollup/rollup-win32-ia32-msvc":
+      optional: true
+    "@rollup/rollup-win32-x64-msvc":
+      optional: true
+    fsevents:
+      optional: true
+  bin:
+    rollup: dist/bin/rollup
+  checksum: 10/59976247cd855bc48b7192c82a6751bd04213e5a265109c652a6c43bde9056038c6399c0cf50ea3001edd5c11bb878a59e1055bb651b3bd6bbd0373c0345ed0c
+  languageName: node
+  linkType: hard
+
 "run-parallel@npm:^1.1.9":
   version: 1.2.0
   resolution: "run-parallel@npm:1.2.0"
@@ -9321,12 +8861,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"scheduler@npm:^0.23.2":
-  version: 0.23.2
-  resolution: "scheduler@npm:0.23.2"
-  dependencies:
-    loose-envify: "npm:^1.1.0"
-  checksum: 10/e8d68b89d18d5b028223edf090092846868a765a591944760942b77ea1f69b17235f7e956696efbb62c8130ab90af7e0949bfb8eba7896335507317236966bc9
+"scheduler@npm:^0.26.0":
+  version: 0.26.0
+  resolution: "scheduler@npm:0.26.0"
+  checksum: 10/1ecf2e5d7de1a7a132796834afe14a2d589ba7e437615bd8c06f3e0786a3ac3434655e67aac8755d9b14e05754c177e49c064261de2673aaa3c926bc98caa002
   languageName: node
   linkType: hard
 
@@ -9375,20 +8913,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"set-function-length@npm:^1.2.1":
-  version: 1.2.2
-  resolution: "set-function-length@npm:1.2.2"
-  dependencies:
-    define-data-property: "npm:^1.1.4"
-    es-errors: "npm:^1.3.0"
-    function-bind: "npm:^1.1.2"
-    get-intrinsic: "npm:^1.2.4"
-    gopd: "npm:^1.0.1"
-    has-property-descriptors: "npm:^1.0.2"
-  checksum: 10/505d62b8e088468917ca4e3f8f39d0e29f9a563b97dbebf92f4bd2c3172ccfb3c5b8e4566d5fcd00784a00433900e7cb8fbc404e2dbd8c3818ba05bb9d4a8a6d
-  languageName: node
-  linkType: hard
-
 "shebang-command@npm:^2.0.0":
   version: 2.0.0
   resolution: "shebang-command@npm:2.0.0"
@@ -9510,10 +9034,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"source-map-js@npm:^1.0.2":
-  version: 1.0.2
-  resolution: "source-map-js@npm:1.0.2"
-  checksum: 10/38e2d2dd18d2e331522001fc51b54127ef4a5d473f53b1349c5cca2123562400e0986648b52e9407e348eaaed53bce49248b6e2641e6d793ca57cb2c360d6d51
+"source-map-js@npm:^1.2.1":
+  version: 1.2.1
+  resolution: "source-map-js@npm:1.2.1"
+  checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3
   languageName: node
   linkType: hard
 
@@ -9653,20 +9177,32 @@ __metadata:
   linkType: hard
 
 "storybook@npm:next":
-  version: 8.5.0-alpha.11
-  resolution: "storybook@npm:8.5.0-alpha.11"
+  version: 9.0.0-beta.1
+  resolution: "storybook@npm:9.0.0-beta.1"
   dependencies:
-    "@storybook/core": "npm:8.5.0-alpha.11"
+    "@storybook/global": "npm:^5.0.0"
+    "@testing-library/dom": "npm:10.4.0"
+    "@testing-library/jest-dom": "npm:^6.6.3"
+    "@testing-library/user-event": "npm:^14.6.1"
+    "@types/uuid": "npm:^9.0.1"
+    "@vitest/expect": "npm:3.0.9"
+    "@vitest/spy": "npm:3.0.9"
+    better-opn: "npm:^3.0.2"
+    esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0"
+    esbuild-register: "npm:^3.5.0"
+    polished: "npm:^4.2.2"
+    recast: "npm:^0.23.5"
+    semver: "npm:^7.6.2"
+    uuid: "npm:^9.0.0"
+    ws: "npm:^8.18.0"
   peerDependencies:
     prettier: ^2 || ^3
   peerDependenciesMeta:
     prettier:
       optional: true
   bin:
-    getstorybook: ./bin/index.cjs
-    sb: ./bin/index.cjs
     storybook: ./bin/index.cjs
-  checksum: 10/92db7b8836e3a62462eafa1ccf6e578cf97061ee0b647d170c15dc6da13c0cb493870ed7d7dce68a144b1560ef0f3248f0db256f9cf02f37dcfa64910180fa03
+  checksum: 10/f31acf878a69decf0dae0a97adb17282dc28aead81b103fca9710b3b4f70192ce7de1b69ad9e6769ceb75f9d7662513ac703562ce4349edc767d41e44da77968
   languageName: node
   linkType: hard
 
@@ -9960,7 +9496,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tiny-invariant@npm:^1.3.1, tiny-invariant@npm:^1.3.3":
+"tiny-invariant@npm:^1.3.3":
   version: 1.3.3
   resolution: "tiny-invariant@npm:1.3.3"
   checksum: 10/5e185c8cc2266967984ce3b352a4e57cb89dad5a8abb0dea21468a6ecaa67cd5bb47a3b7a85d08041008644af4f667fb8b6575ba38ba5fb00b3b5068306e59fe
@@ -9974,14 +9510,24 @@ __metadata:
   languageName: node
   linkType: hard
 
-"tinyrainbow@npm:^1.2.0":
-  version: 1.2.0
-  resolution: "tinyrainbow@npm:1.2.0"
-  checksum: 10/2924444db6804355e5ba2b6e586c7f77329d93abdd7257a069a0f4530dff9f16de484e80479094e3f39273462541b003a65ee3a6afc2d12555aa745132deba5d
+"tinyglobby@npm:^0.2.12":
+  version: 0.2.13
+  resolution: "tinyglobby@npm:0.2.13"
+  dependencies:
+    fdir: "npm:^6.4.4"
+    picomatch: "npm:^4.0.2"
+  checksum: 10/b04557ee58ad2be5f2d2cbb4b441476436c92bb45ba2e1fc464d686b793392b305ed0bcb8b877429e9b5036bdd46770c161a08384c0720b6682b7cd6ac80e403
+  languageName: node
+  linkType: hard
+
+"tinyrainbow@npm:^2.0.0":
+  version: 2.0.0
+  resolution: "tinyrainbow@npm:2.0.0"
+  checksum: 10/94d4e16246972614a5601eeb169ba94f1d49752426312d3cf8cc4f2cc663a2e354ffc653aa4de4eebccbf9eeebdd0caef52d1150271fdfde65d7ae7f3dcb9eb5
   languageName: node
   linkType: hard
 
-"tinyspy@npm:^3.0.0":
+"tinyspy@npm:^3.0.2":
   version: 3.0.2
   resolution: "tinyspy@npm:3.0.2"
   checksum: 10/5db671b2ff5cd309de650c8c4761ca945459d7204afb1776db9a04fb4efa28a75f08517a8620c01ee32a577748802231ad92f7d5b194dc003ee7f987a2a06337
@@ -10029,7 +9575,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0":
+"ts-dedent@npm:^2.0.0":
   version: 2.2.0
   resolution: "ts-dedent@npm:2.2.0"
   checksum: 10/93ed8f7878b6d5ed3c08d99b740010eede6bccfe64bce61c5a4da06a2c17d6ddbb80a8c49c2d15251de7594a4f93ffa21dd10e7be75ef66a4dc9951b4a94e2af
@@ -10245,13 +9791,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"type-fest@npm:^2.19.0":
-  version: 2.19.0
-  resolution: "type-fest@npm:2.19.0"
-  checksum: 10/7bf9e8fdf34f92c8bb364c0af14ca875fac7e0183f2985498b77be129dc1b3b1ad0a6b3281580f19e48c6105c037fb966ad9934520c69c6434d17fd0af4eed78
-  languageName: node
-  linkType: hard
-
 "type-fest@npm:^3.0.0":
   version: 3.13.1
   resolution: "type-fest@npm:3.13.1"
@@ -10439,19 +9978,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"util@npm:^0.12.5":
-  version: 0.12.5
-  resolution: "util@npm:0.12.5"
-  dependencies:
-    inherits: "npm:^2.0.3"
-    is-arguments: "npm:^1.0.4"
-    is-generator-function: "npm:^1.0.7"
-    is-typed-array: "npm:^1.1.3"
-    which-typed-array: "npm:^1.1.2"
-  checksum: 10/61a10de7753353dd4d744c917f74cdd7d21b8b46379c1e48e1c4fd8e83f8190e6bd9978fc4e5102ab6a10ebda6019d1b36572fa4a325e175ec8b789a121f6147
-  languageName: node
-  linkType: hard
-
 "uuid@npm:^8.3.2":
   version: 8.3.2
   resolution: "uuid@npm:8.3.2"
@@ -10510,43 +10036,58 @@ __metadata:
   languageName: node
   linkType: hard
 
-"vite@npm:^4.4.5":
-  version: 4.5.0
-  resolution: "vite@npm:4.5.0"
+"vite@npm:^6.3.2":
+  version: 6.3.2
+  resolution: "vite@npm:6.3.2"
   dependencies:
-    esbuild: "npm:^0.18.10"
-    fsevents: "npm:~2.3.2"
-    postcss: "npm:^8.4.27"
-    rollup: "npm:^3.27.1"
+    esbuild: "npm:^0.25.0"
+    fdir: "npm:^6.4.3"
+    fsevents: "npm:~2.3.3"
+    picomatch: "npm:^4.0.2"
+    postcss: "npm:^8.5.3"
+    rollup: "npm:^4.34.9"
+    tinyglobby: "npm:^0.2.12"
   peerDependencies:
-    "@types/node": ">= 14"
+    "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0
+    jiti: ">=1.21.0"
     less: "*"
     lightningcss: ^1.21.0
     sass: "*"
+    sass-embedded: "*"
     stylus: "*"
     sugarss: "*"
-    terser: ^5.4.0
+    terser: ^5.16.0
+    tsx: ^4.8.1
+    yaml: ^2.4.2
   dependenciesMeta:
     fsevents:
       optional: true
   peerDependenciesMeta:
     "@types/node":
       optional: true
+    jiti:
+      optional: true
     less:
       optional: true
     lightningcss:
       optional: true
     sass:
       optional: true
+    sass-embedded:
+      optional: true
     stylus:
       optional: true
     sugarss:
       optional: true
     terser:
       optional: true
+    tsx:
+      optional: true
+    yaml:
+      optional: true
   bin:
     vite: bin/vite.js
-  checksum: 10/b262ea4880ba7de8a77b0a665c771561ae3cb7f0d6c5b90e65298039755192550bf90cb96a2910d564506e2d499aa20e9becd330b835c34d414249083ac6e40c
+  checksum: 10/05ea5e03d86d950e53af6b11e444b31846bccdc44e45b8d693d06eba7d3a4fe2e8003a6948cdbcf7e54779f7ca851f29e96be6369e9c9413d34de7539ad6af8c
   languageName: node
   linkType: hard
 
@@ -10643,19 +10184,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2":
-  version: 1.1.15
-  resolution: "which-typed-array@npm:1.1.15"
-  dependencies:
-    available-typed-arrays: "npm:^1.0.7"
-    call-bind: "npm:^1.0.7"
-    for-each: "npm:^0.3.3"
-    gopd: "npm:^1.0.1"
-    has-tostringtag: "npm:^1.0.2"
-  checksum: 10/c3b6a99beadc971baa53c3ee5b749f2b9bdfa3b3b9a70650dd8511a48b61d877288b498d424712e9991d16019633086bd8b5923369460d93463c5825fa36c448
-  languageName: node
-  linkType: hard
-
 "which@npm:^1.2.12":
   version: 1.3.1
   resolution: "which@npm:1.3.1"
@@ -10761,9 +10289,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"ws@npm:^8.2.3":
-  version: 8.14.2
-  resolution: "ws@npm:8.14.2"
+"ws@npm:^8.18.0":
+  version: 8.18.1
+  resolution: "ws@npm:8.18.1"
   peerDependencies:
     bufferutil: ^4.0.1
     utf-8-validate: ">=5.0.2"
@@ -10772,7 +10300,7 @@ __metadata:
       optional: true
     utf-8-validate:
       optional: true
-  checksum: 10/815ff01d9bc20a249b2228825d9739268a03a4408c2e0b14d49b0e2ae89d7f10847e813b587ba26992bdc33e9d03bed131e4cae73ff996baf789d53e99c31186
+  checksum: 10/3f38e9594f2af5b6324138e86b74df7d77bbb8e310bf8188679dd80bac0d1f47e51536a1923ac3365f31f3d8b25ea0b03e4ade466aa8292a86cd5defca64b19b
   languageName: node
   linkType: hard