chore: update storybook config to use TS (#19343)

This commit is contained in:
Bruno Quaresma
2025-08-14 20:05:16 -03:00
committed by GitHub
parent ac40c4b828
commit 1d1a16ea01
3 changed files with 138 additions and 146 deletions
@@ -1,21 +1,3 @@
// @ts-check
/**
* @file Defines the main configuration file for all of our Storybook tests.
* This file must be a JSX/JS file, but we can at least add some type safety via
* the ts-check directive.
* @see {@link https://storybook.js.org/docs/configure#configure-story-rendering}
*
* @typedef {import("react").ReactElement} ReactElement
* @typedef {import("react").PropsWithChildren} PropsWithChildren
* @typedef {import("react").FC<PropsWithChildren>} FC
*
* @typedef {import("@storybook/react-vite").StoryContext} StoryContext
* @typedef {import("@storybook/react-vite").Preview} Preview
*
* @typedef {(Story: FC, Context: StoryContext) => React.JSX.Element} Decorator A
* Storybook decorator function used to inject baseline data dependencies into
* our React components during testing.
*/
import "../src/index.css";
import { ThemeProvider as EmotionThemeProvider } from "@emotion/react";
import CssBaseline from "@mui/material/CssBaseline";
@@ -31,15 +13,12 @@ import { HelmetProvider } from "react-helmet-async";
import { QueryClient, QueryClientProvider } from "react-query";
import { withRouter } from "storybook-addon-remix-react-router";
import "theme/globalFonts";
import type { Decorator, Loader, Parameters } from "@storybook/react-vite";
import themes from "../src/theme";
DecoratorHelpers.initializeThemeState(Object.keys(themes), "dark");
/** @type {readonly Decorator[]} */
export const decorators = [withRouter, withQuery, withHelmet, withTheme];
/** @type {Preview["parameters"]} */
export const parameters = {
export const parameters: Parameters = {
options: {
storySort: {
method: "alphabetical",
@@ -83,33 +62,15 @@ export const parameters = {
},
};
/**
* There's a mismatch on the React Helmet return type that causes issues when
* mounting the component in JS files only. Have to do type assertion, which is
* especially ugly in JSDoc
*/
const SafeHelmetProvider = /** @type {FC} */ (
/** @type {unknown} */ (HelmetProvider)
);
/** @type {Decorator} */
function withHelmet(Story) {
const withHelmet: Decorator = (Story) => {
return (
<SafeHelmetProvider>
<HelmetProvider>
<Story />
</SafeHelmetProvider>
</HelmetProvider>
);
}
};
/**
* This JSX file isn't part of the main project, so it doesn't get to use the
* ambient types defined in `storybook.d.ts` to provide extra type-safety.
* Extracting main key to avoid typos.
*/
const queryParametersKey = "queries";
/** @type {Decorator} */
function withQuery(Story, { parameters }) {
const withQuery: Decorator = (Story, { parameters }) => {
const queryClient = new QueryClient({
defaultOptions: {
queries: {
@@ -119,8 +80,8 @@ function withQuery(Story, { parameters }) {
},
});
if (parameters[queryParametersKey]) {
for (const query of parameters[queryParametersKey]) {
if (parameters.queries) {
for (const query of parameters.queries) {
queryClient.setQueryData(query.key, query.data);
}
}
@@ -130,10 +91,9 @@ function withQuery(Story, { parameters }) {
<Story />
</QueryClientProvider>
);
}
};
/** @type {Decorator} */
function withTheme(Story, context) {
const withTheme: Decorator = (Story, context) => {
const selectedTheme = DecoratorHelpers.pluckThemeFromContext(context);
const { themeOverride } = DecoratorHelpers.useThemeParameters();
const selected = themeOverride || selectedTheme || "dark";
@@ -156,7 +116,14 @@ function withTheme(Story, context) {
</StyledEngineProvider>
</StrictMode>
);
}
};
export const decorators: Decorator[] = [
withRouter,
withQuery,
withHelmet,
withTheme,
];
// Try to fix storybook rendering fonts inconsistently
// https://www.chromatic.com/docs/font-loading/#solution-c-check-fonts-have-loaded-in-a-loader
@@ -164,4 +131,5 @@ const fontLoader = async () => ({
fonts: await document.fonts.ready,
});
export const loaders = isChromatic() && document.fonts ? [fontLoader] : [];
export const loaders: Loader[] =
isChromatic() && document.fonts ? [fontLoader] : [];
+6 -6
View File
@@ -126,13 +126,13 @@
},
"devDependencies": {
"@biomejs/biome": "2.2.0",
"@chromatic-com/storybook": "4.0.1",
"@chromatic-com/storybook": "4.1.0",
"@octokit/types": "12.3.0",
"@playwright/test": "1.47.0",
"@storybook/addon-docs": "9.0.17",
"@storybook/addon-links": "9.0.17",
"@storybook/addon-themes": "9.0.17",
"@storybook/react-vite": "9.0.17",
"@storybook/addon-docs": "9.1.2",
"@storybook/addon-links": "9.1.2",
"@storybook/addon-themes": "9.1.2",
"@storybook/react-vite": "9.1.2",
"@swc/core": "1.3.38",
"@swc/jest": "0.2.37",
"@tailwindcss/typography": "0.5.16",
@@ -177,7 +177,7 @@
"rollup-plugin-visualizer": "5.14.0",
"rxjs": "7.8.1",
"ssh2": "1.16.0",
"storybook": "9.0.17",
"storybook": "9.1.2",
"storybook-addon-remix-react-router": "5.0.0",
"tailwindcss": "3.4.17",
"ts-proto": "1.164.0",
+111 -87
View File
@@ -286,8 +286,8 @@ importers:
specifier: 2.2.0
version: 2.2.0
'@chromatic-com/storybook':
specifier: 4.0.1
version: 4.0.1(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
specifier: 4.1.0
version: 4.1.0(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
'@octokit/types':
specifier: 12.3.0
version: 12.3.0
@@ -295,17 +295,17 @@ importers:
specifier: 1.47.0
version: 1.47.0
'@storybook/addon-docs':
specifier: 9.0.17
version: 9.0.17(@types/react@18.3.12)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
specifier: 9.1.2
version: 9.1.2(@types/react@18.3.12)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
'@storybook/addon-links':
specifier: 9.0.17
version: 9.0.17(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
specifier: 9.1.2
version: 9.1.2(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
'@storybook/addon-themes':
specifier: 9.0.17
version: 9.0.17(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
specifier: 9.1.2
version: 9.1.2(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
'@storybook/react-vite':
specifier: 9.0.17
version: 9.0.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))(typescript@5.6.3)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
specifier: 9.1.2
version: 9.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))(typescript@5.6.3)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
'@swc/core':
specifier: 1.3.38
version: 1.3.38
@@ -439,11 +439,11 @@ importers:
specifier: 1.16.0
version: 1.16.0
storybook:
specifier: 9.0.17
version: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
specifier: 9.1.2
version: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
storybook-addon-remix-react-router:
specifier: 5.0.0
version: 5.0.0(react-dom@18.3.1(react@18.3.1))(react-router@7.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
version: 5.0.0(react-dom@18.3.1(react@18.3.1))(react-router@7.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
tailwindcss:
specifier: 3.4.17
version: 3.4.17(ts-node@10.9.2(@swc/core@1.3.38)(@types/node@20.17.16)(typescript@5.6.3))
@@ -800,11 +800,11 @@ packages:
'@bundled-es-modules/tough-cookie@0.1.6':
resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==, tarball: https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz}
'@chromatic-com/storybook@4.0.1':
resolution: {integrity: sha512-GQXe5lyZl3yLewLJQyFXEpOp2h+mfN2bPrzYaOFNCJjO4Js9deKbRHTOSaiP2FRwZqDLdQwy2+SEGeXPZ94yYw==, tarball: https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-4.0.1.tgz}
'@chromatic-com/storybook@4.1.0':
resolution: {integrity: sha512-B9XesFX5lQUdP81/QBTtkiYOFqEsJwQpzkZlcYPm2n/L1S/8ZabSPbz6NoY8hOJTXWZ2p7grygUlxyGy+gAvfQ==, tarball: https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-4.1.0.tgz}
engines: {node: '>=20.0.0', yarn: '>=1.22.18'}
peerDependencies:
storybook: ^0.0.0-0 || ^9.0.0 || ^9.1.0-0
storybook: ^0.0.0-0 || ^9.0.0 || ^9.1.0-0 || ^9.2.0-0
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, tarball: https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz}
@@ -2156,69 +2156,69 @@ packages:
'@sinonjs/fake-timers@10.3.0':
resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==, tarball: https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz}
'@storybook/addon-docs@9.0.17':
resolution: {integrity: sha512-LOX/kKgQGnyulrqZHsvf77+ZoH/nSUaplGr5hvZglW/U6ak6fO9seJyXAzVKEnC6p+F8n02kFBZbi3s+znQhSg==, tarball: https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.0.17.tgz}
'@storybook/addon-docs@9.1.2':
resolution: {integrity: sha512-U3eHJ8lQFfEZ/OcgdKkUBbW2Y2tpAsHfy8lQOBgs5Pgj9biHEJcUmq+drOS/sJhle673eoBcUFmspXulI4KP1w==, tarball: https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.1.2.tgz}
peerDependencies:
storybook: ^9.0.17
storybook: ^9.1.2
'@storybook/addon-links@9.0.17':
resolution: {integrity: sha512-c4hYojq0O6n5fD8MS+Ss1njR3qs88LLlO3LLaRD4bxsIgn8WFNjgG5677M7m8WjzTgWSxFWN0KAra2kaDZ8Jlg==, tarball: https://registry.npmjs.org/@storybook/addon-links/-/addon-links-9.0.17.tgz}
'@storybook/addon-links@9.1.2':
resolution: {integrity: sha512-drAWdhn5cRo5WcaORoCYfJ6tgTAw1m+ZJb1ICyNtTU6i/0nErV8jJjt7AziUcUIyzaGVJAkAMNC3+R4uDPSFDA==, tarball: https://registry.npmjs.org/@storybook/addon-links/-/addon-links-9.1.2.tgz}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
storybook: ^9.0.17
storybook: ^9.1.2
peerDependenciesMeta:
react:
optional: true
'@storybook/addon-themes@9.0.17':
resolution: {integrity: sha512-qQCoWig+wPVVuiibk8AuUUH/hS9hbLFt2IdjpiCIObAjStqSQMosr/1b95FcxppBCEa8uTltEkGdxQPdpdVZEQ==, tarball: https://registry.npmjs.org/@storybook/addon-themes/-/addon-themes-9.0.17.tgz}
'@storybook/addon-themes@9.1.2':
resolution: {integrity: sha512-dpWCx0IpKKFGEuOe2u8cUD2ShWMaE6Keh0zkM1gP8jx5gL8lLv9uhRHaZcQamwnG3BgnnKFgArODNxewsRSFfA==, tarball: https://registry.npmjs.org/@storybook/addon-themes/-/addon-themes-9.1.2.tgz}
peerDependencies:
storybook: ^9.0.17
storybook: ^9.1.2
'@storybook/builder-vite@9.0.17':
resolution: {integrity: sha512-lyuvgGhb0NaVk1tdB4xwzky6+YXQfxlxfNQqENYZ9uYQZdPfErMa4ZTXVQTV+CQHAa2NL+p/dG2JPAeu39e9UA==, tarball: https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.0.17.tgz}
'@storybook/builder-vite@9.1.2':
resolution: {integrity: sha512-5Y7e5wnSzFxCGP63UNRRZVoxHe1znU4dYXazJBobAlEcUPBk7A0sH2716tA6bS4oz92oG9tgvn1g996hRrw4ow==, tarball: https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.1.2.tgz}
peerDependencies:
storybook: ^9.0.17
storybook: ^9.1.2
vite: ^5.0.0 || ^6.0.0 || ^7.0.0
'@storybook/csf-plugin@9.0.17':
resolution: {integrity: sha512-6Q4eo1ObrLlsnB6bIt6T8+45XAb4to2pQGNrI7QPkLQRLrZinrJcNbLY7AGkyIoCOEsEbq08n09/nClQUbu8HA==, tarball: https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.0.17.tgz}
'@storybook/csf-plugin@9.1.2':
resolution: {integrity: sha512-bfMh6r+RieBLPWtqqYN70le2uTE4JzOYPMYSCagHykUti3uM/1vRFaZNkZtUsRy5GwEzE5jLdDXioG1lOEeT2Q==, tarball: https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.1.2.tgz}
peerDependencies:
storybook: ^9.0.17
storybook: ^9.1.2
'@storybook/global@5.0.0':
resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==, tarball: https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz}
'@storybook/icons@1.2.12':
resolution: {integrity: sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==, tarball: https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz}
'@storybook/icons@1.4.0':
resolution: {integrity: sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==, tarball: https://registry.npmjs.org/@storybook/icons/-/icons-1.4.0.tgz}
engines: {node: '>=14.0.0'}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
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/react-dom-shim@9.0.17':
resolution: {integrity: sha512-ak/x/m6MDDxdE6rCDymTltaiQF3oiKrPHSwfM+YPgQR6MVmzTTs4+qaPfeev7FZEHq23IkfDMTmSTTJtX7Vs9A==, tarball: https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.0.17.tgz}
'@storybook/react-dom-shim@9.1.2':
resolution: {integrity: sha512-nw7BLAHCJswPZGsuL0Gs2AvFUWriusCTgPBmcHppSw/AqvT4XRFRDE+5q3j04/XKuZBrAA2sC4L+HuC0uzEChQ==, tarball: https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.1.2.tgz}
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: ^9.0.17
storybook: ^9.1.2
'@storybook/react-vite@9.0.17':
resolution: {integrity: sha512-wx1yKScni4ifOC/ccqpnnpceQbyF2xto+jHGsyua+M4UUCQdS2NYPDR8JFWp1YvBhVt2cQiD6SAltVGM9QLGnQ==, tarball: https://registry.npmjs.org/@storybook/react-vite/-/react-vite-9.0.17.tgz}
'@storybook/react-vite@9.1.2':
resolution: {integrity: sha512-dv3CBjOzmMoSyIotMtdmsBRjB25i19OjFP0IZqauLeUoVm6QddILW7JRcZVLrzhATyBEn+sEAdWQ4j79Z11HAg==, tarball: https://registry.npmjs.org/@storybook/react-vite/-/react-vite-9.1.2.tgz}
engines: {node: '>=20.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: ^9.0.17
storybook: ^9.1.2
vite: ^5.0.0 || ^6.0.0 || ^7.0.0
'@storybook/react@9.0.17':
resolution: {integrity: sha512-wssao+uXg72OHtEJdQmmQJGdX90x/aU/6avoP3fgVgepWdZXVgciS9mnqHjKRF/vP+vPOlNQcJjojF/zTtq5qg==, tarball: https://registry.npmjs.org/@storybook/react/-/react-9.0.17.tgz}
'@storybook/react@9.1.2':
resolution: {integrity: sha512-VVXu1HrhDExj/yj+heFYc8cgIzBruXy1UYT3LW0WiJyadgzYz3J41l/Lf/j2FCppyxwlXb19Uv51plb1F1C77w==, tarball: https://registry.npmjs.org/@storybook/react/-/react-9.1.2.tgz}
engines: {node: '>=20.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: ^9.0.17
storybook: ^9.1.2
typescript: '>= 4.9.x'
peerDependenciesMeta:
typescript:
@@ -2645,6 +2645,17 @@ packages:
'@vitest/expect@3.2.4':
resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==, tarball: https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz}
'@vitest/mocker@3.2.4':
resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==, tarball: https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz}
peerDependencies:
msw: ^2.4.9
vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
peerDependenciesMeta:
msw:
optional: true
vite:
optional: true
'@vitest/pretty-format@3.2.4':
resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==, tarball: https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz}
@@ -3558,6 +3569,9 @@ packages:
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, tarball: https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz}
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, tarball: https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz}
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, tarball: https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz}
engines: {node: '>=0.10.0'}
@@ -4438,9 +4452,6 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, tarball: https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz}
hasBin: true
loupe@3.1.3:
resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==, tarball: https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz}
loupe@3.2.0:
resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==, tarball: https://registry.npmjs.org/loupe/-/loupe-3.2.0.tgz}
@@ -4466,9 +4477,8 @@ packages:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==, tarball: https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz}
hasBin: true
magic-string@0.30.5:
resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==, tarball: https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz}
engines: {node: '>=12'}
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==, tarball: https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz}
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, tarball: https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz}
@@ -5602,8 +5612,8 @@ packages:
react-dom:
optional: true
storybook@9.0.17:
resolution: {integrity: sha512-O+9jgJ+Trlq9VGD1uY4OBLKQWHHDKM/A/pA8vMW6PVehhGHNvpzcIC1bngr6mL5gGHZP2nBv+9XG8pTMcggMmg==, tarball: https://registry.npmjs.org/storybook/-/storybook-9.0.17.tgz}
storybook@9.1.2:
resolution: {integrity: sha512-TYcq7WmgfVCAQge/KueGkVlM/+g33sQcmbATlC3X6y/g2FEeSSLGrb6E6d3iemht8oio+aY6ld3YOdAnMwx45Q==, tarball: https://registry.npmjs.org/storybook/-/storybook-9.1.2.tgz}
hasBin: true
peerDependencies:
prettier: ^2 || ^3
@@ -6669,13 +6679,13 @@ snapshots:
'@types/tough-cookie': 4.0.5
tough-cookie: 4.1.4
'@chromatic-com/storybook@4.0.1(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))':
'@chromatic-com/storybook@4.1.0(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))':
dependencies:
'@neoconfetti/react': 1.0.0
chromatic: 12.2.0
filesize: 10.1.2
jsonfile: 6.1.0
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
strip-ansi: 7.1.0
transitivePeerDependencies:
- '@chromatic-com/cypress'
@@ -7183,7 +7193,7 @@ snapshots:
'@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.6.3)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))':
dependencies:
glob: 10.4.5
magic-string: 0.30.5
magic-string: 0.30.17
react-docgen-typescript: 2.2.2(typescript@5.6.3)
vite: 6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)
optionalDependencies:
@@ -8080,69 +8090,69 @@ snapshots:
dependencies:
'@sinonjs/commons': 3.0.0
'@storybook/addon-docs@9.0.17(@types/react@18.3.12)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))':
'@storybook/addon-docs@9.1.2(@types/react@18.3.12)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))':
dependencies:
'@mdx-js/react': 3.0.1(@types/react@18.3.12)(react@18.3.1)
'@storybook/csf-plugin': 9.0.17(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
'@storybook/icons': 1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@storybook/react-dom-shim': 9.0.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
'@storybook/csf-plugin': 9.1.2(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
'@storybook/icons': 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@storybook/react-dom-shim': 9.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
ts-dedent: 2.2.0
transitivePeerDependencies:
- '@types/react'
'@storybook/addon-links@9.0.17(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))':
'@storybook/addon-links@9.1.2(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))':
dependencies:
'@storybook/global': 5.0.0
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
optionalDependencies:
react: 18.3.1
'@storybook/addon-themes@9.0.17(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))':
'@storybook/addon-themes@9.1.2(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))':
dependencies:
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
ts-dedent: 2.2.0
'@storybook/builder-vite@9.0.17(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))':
'@storybook/builder-vite@9.1.2(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))':
dependencies:
'@storybook/csf-plugin': 9.0.17(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
'@storybook/csf-plugin': 9.1.2(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
ts-dedent: 2.2.0
vite: 6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)
'@storybook/csf-plugin@9.0.17(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))':
'@storybook/csf-plugin@9.1.2(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))':
dependencies:
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
unplugin: 1.5.0
'@storybook/global@5.0.0': {}
'@storybook/icons@1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
'@storybook/icons@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
'@storybook/react-dom-shim@9.0.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))':
'@storybook/react-dom-shim@9.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))':
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
'@storybook/react-vite@9.0.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))(typescript@5.6.3)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))':
'@storybook/react-vite@9.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.40.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))(typescript@5.6.3)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))':
dependencies:
'@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.6.3)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
'@rollup/pluginutils': 5.0.5(rollup@4.40.1)
'@storybook/builder-vite': 9.0.17(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
'@storybook/react': 9.0.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))(typescript@5.6.3)
'@storybook/builder-vite': 9.1.2(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
'@storybook/react': 9.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))(typescript@5.6.3)
find-up: 7.0.0
magic-string: 0.30.5
magic-string: 0.30.17
react: 18.3.1
react-docgen: 8.0.0
react-dom: 18.3.1(react@18.3.1)
resolve: 1.22.10
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
tsconfig-paths: 4.2.0
vite: 6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)
transitivePeerDependencies:
@@ -8150,13 +8160,13 @@ snapshots:
- supports-color
- typescript
'@storybook/react@9.0.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))(typescript@5.6.3)':
'@storybook/react@9.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))(typescript@5.6.3)':
dependencies:
'@storybook/global': 5.0.0
'@storybook/react-dom-shim': 9.0.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1))
'@storybook/react-dom-shim': 9.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
optionalDependencies:
typescript: 5.6.3
@@ -8605,6 +8615,15 @@ snapshots:
chai: 5.2.1
tinyrainbow: 2.0.0
'@vitest/mocker@3.2.4(msw@2.4.8(typescript@5.6.3))(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
msw: 2.4.8(typescript@5.6.3)
vite: 6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)
'@vitest/pretty-format@3.2.4':
dependencies:
tinyrainbow: 2.0.0
@@ -8964,7 +8983,7 @@ snapshots:
assertion-error: 2.0.1
check-error: 2.1.1
deep-eql: 5.0.2
loupe: 3.1.3
loupe: 3.2.0
pathval: 2.0.0
chalk@2.4.2:
@@ -9564,6 +9583,10 @@ snapshots:
estree-walker@2.0.2: {}
estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.7
esutils@2.0.3: {}
etag@1.8.1: {}
@@ -10730,8 +10753,6 @@ snapshots:
dependencies:
js-tokens: 4.0.0
loupe@3.1.3: {}
loupe@3.2.0: {}
lowlight@1.20.0:
@@ -10753,7 +10774,7 @@ snapshots:
lz-string@1.5.0: {}
magic-string@0.30.5:
magic-string@0.30.17:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -12251,23 +12272,24 @@ snapshots:
dependencies:
internal-slot: 1.0.6
storybook-addon-remix-react-router@5.0.0(react-dom@18.3.1(react@18.3.1))(react-router@7.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)):
storybook-addon-remix-react-router@5.0.0(react-dom@18.3.1(react@18.3.1))(react-router@7.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))):
dependencies:
'@mjackson/form-data-parser': 0.4.0
compare-versions: 6.1.0
react-inspector: 6.0.2(react@18.3.1)
react-router: 7.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
storybook: 9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1)
storybook: 9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
optionalDependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
storybook@9.0.17(@testing-library/dom@10.4.0)(prettier@3.4.1):
storybook@9.1.2(@testing-library/dom@10.4.0)(msw@2.4.8(typescript@5.6.3))(prettier@3.4.1)(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0)):
dependencies:
'@storybook/global': 5.0.0
'@testing-library/jest-dom': 6.6.3
'@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0)
'@vitest/expect': 3.2.4
'@vitest/mocker': 3.2.4(msw@2.4.8(typescript@5.6.3))(vite@6.3.5(@types/node@20.17.16)(jiti@2.4.2)(yaml@2.7.0))
'@vitest/spy': 3.2.4
better-opn: 3.0.2
esbuild: 0.25.3
@@ -12280,8 +12302,10 @@ snapshots:
transitivePeerDependencies:
- '@testing-library/dom'
- bufferutil
- msw
- supports-color
- utf-8-validate
- vite
strict-event-emitter@0.5.1: {}