diff --git a/.gitignore b/.gitignore index 1bf2706e43..114a949446 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,6 @@ build/ # Lage cache .lage/ + +*storybook.log +storybook-static diff --git a/package.json b/package.json index fca806d3e8..25166755f9 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "start:service-plugins": "yarn workspace plugins-service watch", "start:browser-backend": "yarn workspace loot-core watch:browser", "start:browser-frontend": "yarn workspace @actual-app/web start:browser", + "start:storybook": "yarn workspace @actual-app/components start:storybook", "build:browser-backend": "yarn workspace loot-core build:browser", "build:server": "yarn build:browser && yarn workspace @actual-app/sync-server build", "build:browser": "./bin/package-browser", @@ -40,6 +41,7 @@ "build:plugins-service": "yarn workspace plugins-service build", "build:api": "yarn workspace @actual-app/api build", "build:docs": "yarn workspace docs build", + "build:storybook": "yarn workspace @actual-app/components build:storybook", "deploy:docs": "yarn workspace docs deploy", "generate:i18n": "yarn workspace @actual-app/web generate:i18n", "generate:release-notes": "ts-node ./bin/release-note-generator.ts", diff --git a/packages/component-library/.oxlintrc.json b/packages/component-library/.oxlintrc.json new file mode 100644 index 0000000000..e37c8b7edb --- /dev/null +++ b/packages/component-library/.oxlintrc.json @@ -0,0 +1,3 @@ +{ + "jsPlugins": ["eslint-plugin-storybook"] +} diff --git a/packages/component-library/.storybook/main.ts b/packages/component-library/.storybook/main.ts new file mode 100644 index 0000000000..3d17cfcd81 --- /dev/null +++ b/packages/component-library/.storybook/main.ts @@ -0,0 +1,43 @@ +import { dirname } from 'path'; +import { fileURLToPath } from 'url'; + +import type { StorybookConfig } from '@storybook/react-vite'; +import viteTsconfigPaths from 'vite-tsconfig-paths'; + +/** + * This function is used to resolve the absolute path of a package. + * It is needed in projects that use Yarn PnP or are set up within a monorepo. + */ +function getAbsolutePath(value: string) { + return dirname(fileURLToPath(import.meta.resolve(`${value}/package.json`))); +} +const config: StorybookConfig = { + stories: [ + '../src/Introduction.mdx', + '../src/**/*.mdx', + '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)', + ], + addons: [ + getAbsolutePath('@chromatic-com/storybook'), + getAbsolutePath('@storybook/addon-a11y'), + getAbsolutePath('@storybook/addon-docs'), + ], + framework: getAbsolutePath('@storybook/react-vite'), + core: { + disableTelemetry: true, + }, + async viteFinal(config) { + const { mergeConfig } = await import('vite'); + + return mergeConfig(config, { + // Telling Vite how to resolve path aliases + plugins: [viteTsconfigPaths({ root: '../..' })], + esbuild: { + // Needed to handle JSX in .ts/.tsx files + jsx: 'automatic', + }, + }); + }, +}; + +export default config; diff --git a/packages/component-library/.storybook/manager.ts b/packages/component-library/.storybook/manager.ts new file mode 100644 index 0000000000..a42b3d195c --- /dev/null +++ b/packages/component-library/.storybook/manager.ts @@ -0,0 +1,74 @@ +import { addons } from 'storybook/manager-api'; +import { create } from 'storybook/theming/create'; + +// Colors from the Actual Budget light theme palette +const purple500 = '#8719e0'; +const purple400 = '#9a3de8'; +const navy900 = '#102a43'; +const navy700 = '#334e68'; +const navy600 = '#486581'; +const navy150 = '#d9e2ec'; +const navy100 = '#e8ecf0'; +const white = '#ffffff'; + +// Create a custom Storybook theme matching Actual Budget's light theme +const theme = create({ + base: 'light', + brandTitle: 'Actual Budget', + brandUrl: 'https://actualbudget.org', + brandImage: 'https://actualbudget.org/img/actual.webp', + brandTarget: '_blank', + + // UI colors + colorPrimary: purple500, + colorSecondary: purple400, + + // App chrome + appBg: navy100, + appContentBg: white, + appPreviewBg: white, + appBorderColor: navy150, + appBorderRadius: 4, + + // Fonts + fontBase: + '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif', + fontCode: 'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace', + + // Text colors + textColor: navy900, + textInverseColor: white, + textMutedColor: navy600, + + // Toolbar + barTextColor: navy700, + barHoverColor: purple500, + barSelectedColor: purple500, + barBg: white, + + // Form colors + buttonBg: white, + buttonBorder: navy900, + booleanBg: navy150, + booleanSelectedBg: purple500, + inputBg: white, + inputBorder: navy900, + inputTextColor: navy900, + inputBorderRadius: 4, +}); + +addons.setConfig({ + theme, + enableShortcuts: true, + isFullscreen: false, + isToolshown: true, + sidebar: { + collapsedRoots: [], + filters: { + patterns: item => { + // Hide stories that are marked as internal + return !item.tags?.includes('internal'); + }, + }, + }, +}); diff --git a/packages/component-library/.storybook/preview.tsx b/packages/component-library/.storybook/preview.tsx new file mode 100644 index 0000000000..b6679dce98 --- /dev/null +++ b/packages/component-library/.storybook/preview.tsx @@ -0,0 +1,88 @@ +import { type ReactNode } from 'react'; + +import type { Preview } from '@storybook/react-vite'; + +// Not ideal to import from desktop-client, but we need a source of truth for theme variables +import * as darkTheme from '../../desktop-client/src/style/themes/dark'; +import * as developmentTheme from '../../desktop-client/src/style/themes/development'; +import * as lightTheme from '../../desktop-client/src/style/themes/light'; +import * as midnightTheme from '../../desktop-client/src/style/themes/midnight'; + +const THEMES = { + light: lightTheme, + dark: darkTheme, + midnight: midnightTheme, + development: developmentTheme, +} as const; + +type ThemeName = keyof typeof THEMES; + +const ThemedStory = ({ + themeName, + children, +}: { + themeName?: ThemeName; + children?: ReactNode; +}) => { + if (!themeName || !THEMES[themeName]) { + throw new Error(`No theme specified`); + } + + const css = Object.entries(THEMES[themeName]) + .map(([key, value]) => `--color-${key}: ${value};`) + .join('\n'); + + return ( +
+ + {children} +
+ ); +}; + +const preview: Preview = { + decorators: [ + (Story, { globals }) => { + const themeName = globals.theme; + + return ( + + + + ); + }, + ], + globalTypes: { + theme: { + name: 'Theme', + description: 'Global theme for components', + defaultValue: 'light', + toolbar: { + icon: 'circlehollow', + items: [ + { value: 'light', title: 'Light' }, + { value: 'dark', title: 'Dark' }, + { value: 'midnight', title: 'Midnight' }, + { value: 'development', title: 'Development' }, + ], + }, + }, + }, + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + + a11y: { + // 'todo' - show a11y violations in the test UI only + // 'error' - fail CI on a11y violations + // 'off' - skip a11y checks entirely + test: 'todo', + }, + }, +}; + +export default preview; diff --git a/packages/component-library/package.json b/packages/component-library/package.json index 07f4ce5847..16df918f01 100644 --- a/packages/component-library/package.json +++ b/packages/component-library/package.json @@ -37,7 +37,9 @@ "scripts": { "generate:icons": "rm src/icons/*/*.tsx; cd src/icons && svgr --template template.ts --index-template index-template.ts --typescript --expand-props start -d . .", "test": "npm-run-all -cp 'test:*'", - "test:web": "ENV=web vitest --run -c vitest.web.config.ts" + "test:web": "ENV=web vitest --run -c vitest.web.config.ts", + "start:storybook": "storybook dev -p 6006", + "build:storybook": "storybook build" }, "dependencies": { "@emotion/css": "^11.13.5", @@ -45,10 +47,16 @@ "usehooks-ts": "^3.1.1" }, "devDependencies": { + "@chromatic-com/storybook": "^5.0.0", + "@storybook/addon-a11y": "^10.2.0", + "@storybook/addon-docs": "^10.2.0", + "@storybook/react-vite": "^10.2.0", "@svgr/cli": "^8.1.0", "@types/react": "^19.2.5", + "eslint-plugin-storybook": "^10.2.0", "react": "19.2.3", "react-dom": "19.2.3", + "storybook": "^10.2.0", "vitest": "^4.0.16" }, "peerDependencies": { diff --git a/packages/component-library/src/Button.stories.ts b/packages/component-library/src/Button.stories.ts new file mode 100644 index 0000000000..ff1e63dd14 --- /dev/null +++ b/packages/component-library/src/Button.stories.ts @@ -0,0 +1,100 @@ +import type { Meta, StoryObj } from '@storybook/react-vite'; +import { fn } from 'storybook/test'; + +import { Button } from './Button'; + +const meta = { + title: 'Button', + component: Button, + parameters: { + layout: 'centered', + }, + tags: ['autodocs'], + argTypes: { + onClick: { action: 'clicked' }, + }, + args: { onClick: fn() }, +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args +export const Primary: Story = { + args: { + variant: 'primary', + bounce: false, + children: 'Button Text', + }, + parameters: { + docs: { + description: { + story: ` +Primary button variant uses the following theme CSS variables: + - \`--color-buttonPrimaryText\` + - \`--color-buttonPrimaryTextHover\` + - \`--color-buttonPrimaryBackground\` + - \`--color-buttonPrimaryBackgroundHover\` + - \`--color-buttonPrimaryBorder\` + - \`--color-buttonPrimaryShadow\` + - \`--color-buttonPrimaryDisabledText\` + - \`--color-buttonPrimaryDisabledBackground\` + - \`--color-buttonPrimaryDisabledBorder\` +`, + }, + }, + }, +}; + +export const Normal: Story = { + args: { + variant: 'normal', + bounce: false, + children: 'Button Text', + }, + parameters: { + docs: { + description: { + story: ` +Normal button variant uses the following theme CSS variables: + - \`--color-buttonNormalText\` + - \`--color-buttonNormalTextHover\` + - \`--color-buttonNormalBackground\` + - \`--color-buttonNormalBackgroundHover\` + - \`--color-buttonNormalBorder\` + - \`--color-buttonNormalShadow\` + - \`--color-buttonNormalSelectedText\` + - \`--color-buttonNormalSelectedBackground\` + - \`--color-buttonNormalDisabledText\` + - \`--color-buttonNormalDisabledBackground\` + - \`--color-buttonNormalDisabledBorder\` +`, + }, + }, + }, +}; + +export const Bare: Story = { + args: { + variant: 'bare', + bounce: false, + children: 'Button Text', + }, + parameters: { + docs: { + description: { + story: ` +Bare button variant uses the following theme CSS variables: + - \`--color-buttonBareText\` + - \`--color-buttonBareTextHover\` + - \`--color-buttonBareBackground\` + - \`--color-buttonBareBackgroundHover\` + - \`--color-buttonBareBackgroundActive\` + - \`--color-buttonBareDisabledText\` + - \`--color-buttonBareDisabledBackground\` +`, + }, + }, + }, +}; diff --git a/packages/component-library/src/Introduction.mdx b/packages/component-library/src/Introduction.mdx new file mode 100644 index 0000000000..8954862d7f --- /dev/null +++ b/packages/component-library/src/Introduction.mdx @@ -0,0 +1,27 @@ +import { Meta } from '@storybook/addon-docs/blocks'; + + + +# Actual Budget Component Library + +Welcome to the **Actual Budget Component Library**. Explore our UI components, see how they look across different themes, and learn how to use them in your code. + +### What you can do here + +- ✨ **Browse components** in the sidebar +- 🎨 **Switch themes** using the toolbar above +- 📚 **Read documentation** and see code examples +- 🔍 **Test variations** and component states +- ♿ **Check accessibility** compliance + +### Getting Started + +Select a component from the sidebar to explore its documentation, variants, and interactive controls. + +--- + +### Useful Links + +- [Actual Budget Website](https://actualbudget.org) +- [Documentation](https://actualbudget.org/docs) +- [GitHub Repository](https://github.com/actualbudget/actual) diff --git a/upcoming-release-notes/6770.md b/upcoming-release-notes/6770.md new file mode 100644 index 0000000000..b9da847d58 --- /dev/null +++ b/upcoming-release-notes/6770.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [MikesGlitch] +--- + +Add Storybook Documentation into the component library diff --git a/yarn.lock b/yarn.lock index 7e343b6de9..b9ca7c49c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -46,12 +46,18 @@ __metadata: version: 0.0.0-use.local resolution: "@actual-app/components@workspace:packages/component-library" dependencies: + "@chromatic-com/storybook": "npm:^5.0.0" "@emotion/css": "npm:^11.13.5" + "@storybook/addon-a11y": "npm:^10.2.0" + "@storybook/addon-docs": "npm:^10.2.0" + "@storybook/react-vite": "npm:^10.2.0" "@svgr/cli": "npm:^8.1.0" "@types/react": "npm:^19.2.5" + eslint-plugin-storybook: "npm:^10.2.0" react: "npm:19.2.3" react-aria-components: "npm:^1.14.0" react-dom: "npm:19.2.3" + storybook: "npm:^10.2.0" usehooks-ts: "npm:^3.1.1" vitest: "npm:^4.0.16" peerDependencies: @@ -540,6 +546,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/code-frame@npm:7.28.6" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.28.5" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10/93e7ed9e039e3cb661bdb97c26feebafacc6ec13d745881dae5c7e2708f579475daebe7a3b5d23b183bb940b30744f52f4a5bcb65b4df03b79d82fcb38495784 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5": version: 7.28.5 resolution: "@babel/compat-data@npm:7.28.5" @@ -547,6 +564,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/compat-data@npm:7.28.6" + checksum: 10/dc17dfb55711a15f006e34c4610c49b7335fc11b23e192f9e5f625e8ea0f48805e61a57b6b4f5550879332782c93af0b5d6952825fffbb8d4e604b14d698249f + languageName: node + linkType: hard + "@babel/core@npm:^7.21.3, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.9, @babel/core@npm:^7.28.5": version: 7.28.5 resolution: "@babel/core@npm:7.28.5" @@ -570,6 +594,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.28.0": + version: 7.28.6 + resolution: "@babel/core@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10/1a150a69c547daf13c457be1fdaf1a0935d02b94605e777e049537ec2f279b4bb442ffbe1c2d8ff62c688878b1d5530a5784daf72ece950d1917fb78717f51d2 + languageName: node + linkType: hard + "@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.28.5": version: 7.28.5 resolution: "@babel/generator@npm:7.28.5" @@ -583,6 +630,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/generator@npm:7.28.6" + dependencies: + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10/ef2af927e8e0985d02ec4321a242da761a934e927539147c59fdd544034dc7f0e9846f6bf86209aca7a28aee2243ed0fad668adccd48f96d7d6866215173f9af + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" @@ -605,6 +665,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" + dependencies: + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10/f512a5aeee4dfc6ea8807f521d085fdca8d66a7d068a6dd5e5b37da10a6081d648c0bbf66791a081e4e8e6556758da44831b331540965dfbf4f5275f3d0a8788 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3, @babel/helper-create-class-features-plugin@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" @@ -677,6 +750,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/64b1380d74425566a3c288074d7ce4dea56d775d2d3325a3d4a6df1dca702916c1d268133b6f385de9ba5b822b3c6e2af5d3b11ac88e5453d5698d77264f0ec0 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": version: 7.28.3 resolution: "@babel/helper-module-transforms@npm:7.28.3" @@ -690,6 +773,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/2e421c7db743249819ee51e83054952709dc2e197c7d5d415b4bdddc718580195704bfcdf38544b3f674efc2eccd4d29a65d38678fc827ed3934a7690984cd8b + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" @@ -784,6 +880,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helpers@npm:7.28.6" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/213485cdfffc4deb81fc1bf2cefed61bc825049322590ef69690e223faa300a2a4d1e7d806c723bb1f1f538226b9b1b6c356ca94eb47fa7c6d9e9f251ee425e6 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": version: 7.28.5 resolution: "@babel/parser@npm:7.28.5" @@ -795,6 +901,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/parser@npm:7.28.6" + dependencies: + "@babel/types": "npm:^7.28.6" + bin: + parser: ./bin/babel-parser.js + checksum: 10/483a6fb5f9876ec9cbbb98816f2c94f39ae4d1158d35f87e1c4bf19a1f56027c96a1a3962ff0c8c46e8322a6d9e1c80d26b7f9668410df13d5b5769d9447b010 + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": version: 7.28.5 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" @@ -1795,6 +1912,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/0ad6e32bf1e7e31bf6b52c20d15391f541ddd645cbd488a77fe537a15b280ee91acd3a777062c52e03eedbc2e1f41548791f6a3697c02476ec5daf49faa38533 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5": version: 7.28.5 resolution: "@babel/traverse@npm:7.28.5" @@ -1810,6 +1938,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/traverse@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + debug: "npm:^4.3.1" + checksum: 10/dd71efe9412433169b805d5c346a6473e539ce30f605752a0d40a0733feba37259bd72bb4ad2ab591e2eaff1ee56633de160c1e98efdc8f373cf33a4a8660275 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.4.4": version: 7.28.5 resolution: "@babel/types@npm:7.28.5" @@ -1820,6 +1963,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/types@npm:7.28.6" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10/f9c6e52b451065aae5654686ecfc7de2d27dd0fbbc204ee2bd912a71daa359521a32f378981b1cf333ace6c8f86928814452cb9f388a7da59ad468038deb6b5f + languageName: node + linkType: hard + "@braintree/sanitize-url@npm:^7.1.1": version: 7.1.1 resolution: "@braintree/sanitize-url@npm:7.1.1" @@ -1869,6 +2022,21 @@ __metadata: languageName: node linkType: hard +"@chromatic-com/storybook@npm:^5.0.0": + version: 5.0.0 + resolution: "@chromatic-com/storybook@npm:5.0.0" + dependencies: + "@neoconfetti/react": "npm:^1.0.0" + chromatic: "npm:^13.3.4" + filesize: "npm:^10.0.12" + jsonfile: "npm:^6.1.0" + strip-ansi: "npm:^7.1.0" + peerDependencies: + storybook: ^0.0.0-0 || ^10.1.0 || ^10.1.0-0 || ^10.2.0-0 || ^10.3.0-0 + checksum: 10/4964c1086f4aaaf5a0db80063801fafd0595546e22914dff1e6e0869dad9cf9f9cae66bd41133f1bbd0d59696923ca65e9734b76ca4a6ca13f1f97e9d4286e64 + languageName: node + linkType: hard + "@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.20.0": version: 6.20.0 resolution: "@codemirror/autocomplete@npm:6.20.0" @@ -3966,7 +4134,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.8.0": +"@eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -4339,6 +4507,22 @@ __metadata: languageName: node linkType: hard +"@joshwooding/vite-plugin-react-docgen-typescript@npm:^0.6.3": + version: 0.6.3 + resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.6.3" + dependencies: + glob: "npm:^11.1.0" + react-docgen-typescript: "npm:^2.2.2" + peerDependencies: + typescript: ">= 4.3.x" + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/8a0f2c52b99e0dff4eeee574cf373b794e5398ee3c6b4d272378ccfe3b7dc2f3dc647d446716998ee2d88ee26df617e7b10da949702edcb625ee49e93b7daa95 + languageName: node + linkType: hard + "@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" @@ -4615,6 +4799,13 @@ __metadata: languageName: node linkType: hard +"@neoconfetti/react@npm:^1.0.0": + version: 1.0.0 + resolution: "@neoconfetti/react@npm:1.0.0" + checksum: 10/71a623f2df79c773b6693fab3a252ee2d7bb1da4a8986c2d15b5ef25493835c1de64f2e44637faf823970d43d63f32227b09a6605ad23f39bc82c14d810e45cd + languageName: node + linkType: hard + "@noble/hashes@npm:^1.1.5": version: 1.8.0 resolution: "@noble/hashes@npm:1.8.0" @@ -7537,7 +7728,7 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.1": +"@rollup/pluginutils@npm:^5.0.1, @rollup/pluginutils@npm:^5.0.2": version: 5.3.0 resolution: "@rollup/pluginutils@npm:5.3.0" dependencies: @@ -7804,6 +7995,142 @@ __metadata: languageName: node linkType: hard +"@storybook/addon-a11y@npm:^10.2.0": + version: 10.2.0 + resolution: "@storybook/addon-a11y@npm:10.2.0" + dependencies: + "@storybook/global": "npm:^5.0.0" + axe-core: "npm:^4.2.0" + peerDependencies: + storybook: ^10.2.0 + checksum: 10/6637be09d7685bbac5e097839b404d28b0780892522d5ecf9e034ebb241a10c820335c48f579c494615089ff1993952b946e0794e1b0711927e890eda5dd01f7 + languageName: node + linkType: hard + +"@storybook/addon-docs@npm:^10.2.0": + version: 10.2.0 + resolution: "@storybook/addon-docs@npm:10.2.0" + dependencies: + "@mdx-js/react": "npm:^3.0.0" + "@storybook/csf-plugin": "npm:10.2.0" + "@storybook/icons": "npm:^2.0.1" + "@storybook/react-dom-shim": "npm:10.2.0" + 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: + storybook: ^10.2.0 + checksum: 10/1dfb8083548c8eed3d9a9226c2d97d69653773edb5390e72e8e789e5147f8ba833e5e8c40a4f217f7e78fb956a0e7b64ff7abd1f68c95d88f0772d2eb5017369 + languageName: node + linkType: hard + +"@storybook/builder-vite@npm:10.2.0": + version: 10.2.0 + resolution: "@storybook/builder-vite@npm:10.2.0" + dependencies: + "@storybook/csf-plugin": "npm:10.2.0" + "@vitest/mocker": "npm:3.2.4" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^10.2.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10/31ed71e59719c8203f3abc323bd1f546a8ea3c4a66fdf05deeebdba8e74ec552149cca4d91acd21da390456bc3683bb53230175a3fecf0770e7f8b74aaa9e777 + languageName: node + linkType: hard + +"@storybook/csf-plugin@npm:10.2.0": + version: 10.2.0 + resolution: "@storybook/csf-plugin@npm:10.2.0" + dependencies: + unplugin: "npm:^2.3.5" + peerDependencies: + esbuild: "*" + rollup: "*" + storybook: ^10.2.0 + vite: "*" + webpack: "*" + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + checksum: 10/839197aae336455d34992e7e8454fe91cd556ac27353f4d52b0419bf31418e69ace991b0520f2badf5747378e258ad2b714396548bd069376957d9bc46864efe + languageName: node + linkType: hard + +"@storybook/global@npm:^5.0.0": + version: 5.0.0 + resolution: "@storybook/global@npm:5.0.0" + checksum: 10/0e7b495f4fe7f36447e793926f1c0460ec07fd66f0da68e3150da5878f6043c9eeb9b41614a45c5ec0d48d5d383c59ca8f88b6dc7882a2a784ac9b20375d8edb + languageName: node + linkType: hard + +"@storybook/icons@npm:^2.0.1": + version: 2.0.1 + resolution: "@storybook/icons@npm:2.0.1" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10/04ffa285f4defc611def51f82492688bc49f6f4e8ce4e7ba5c99a1c1410b7e8820b5da65c33610a497df2409de7b48fae399052c5cacab6a4a4a9b48a36ebfd5 + languageName: node + linkType: hard + +"@storybook/react-dom-shim@npm:10.2.0": + version: 10.2.0 + resolution: "@storybook/react-dom-shim@npm:10.2.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.0 + checksum: 10/02603400f28153176275a3be6c2ca4d6e20e744e683376778d5aa09e4d2ed0a9c090ba02962cde3a7c0a91e775a2c419b296ba3f5cbd180e71d9588dfa8bd788 + languageName: node + linkType: hard + +"@storybook/react-vite@npm:^10.2.0": + version: 10.2.0 + resolution: "@storybook/react-vite@npm:10.2.0" + dependencies: + "@joshwooding/vite-plugin-react-docgen-typescript": "npm:^0.6.3" + "@rollup/pluginutils": "npm:^5.0.2" + "@storybook/builder-vite": "npm:10.2.0" + "@storybook/react": "npm:10.2.0" + empathic: "npm:^2.0.0" + magic-string: "npm:^0.30.0" + react-docgen: "npm:^8.0.0" + 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 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10/b68233a4a8382c50084bf7893d777d5a73195d8edde7e365b7898ddbc63009089c1250c5ce945acdd5a265de512c46a5017eb37ffa4ae206fd79053ebeed7346 + languageName: node + linkType: hard + +"@storybook/react@npm:10.2.0": + version: 10.2.0 + resolution: "@storybook/react@npm:10.2.0" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@storybook/react-dom-shim": "npm:10.2.0" + react-docgen: "npm:^8.0.2" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.0 + typescript: ">= 4.9.x" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/330a8d731ac3a2ad64d51ea5e0b4446cee6206ead1516299e4aa488e2f26faa0719675af6d11a61c6e42cc45c8df1ec7531e4eb0c285e3a779cab4abba4bec97 + languageName: node + linkType: hard + "@surma/rollup-plugin-off-main-thread@npm:^2.2.3": version: 2.2.3 resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" @@ -8179,7 +8506,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.9.1": +"@testing-library/jest-dom@npm:^6.6.3, @testing-library/jest-dom@npm:^6.9.1": version: 6.9.1 resolution: "@testing-library/jest-dom@npm:6.9.1" dependencies: @@ -8213,7 +8540,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/user-event@npm:14.6.1": +"@testing-library/user-event@npm:14.6.1, @testing-library/user-event@npm:^14.6.1": version: 14.6.1 resolution: "@testing-library/user-event@npm:14.6.1" peerDependencies: @@ -8314,7 +8641,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*": +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.20.7": version: 7.28.0 resolution: "@types/babel__traverse@npm:7.28.0" dependencies: @@ -8720,6 +9047,13 @@ __metadata: languageName: node linkType: hard +"@types/doctrine@npm:^0.0.9": + version: 0.0.9 + resolution: "@types/doctrine@npm:0.0.9" + checksum: 10/64ef06e6eea2f4f9684d259fedbcb8bf21c954630b96ea2e04875ca42763552b0ba3b01b3dd27ec0f9ea6f8b3b0dba4965d31d5a925cd4c6225fd13a93ae9354 + languageName: node + linkType: hard + "@types/emscripten@npm:*, @types/emscripten@npm:^1.41.5": version: 1.41.5 resolution: "@types/emscripten@npm:1.41.5" @@ -9194,6 +9528,13 @@ __metadata: languageName: node linkType: hard +"@types/resolve@npm:^1.20.2": + version: 1.20.6 + resolution: "@types/resolve@npm:1.20.6" + checksum: 10/dc35f5517606b6687cd971c0281ac58bdee2c50c051b030f04647d3991688be2259c304ee97e5b5d4b9936072c36767eb5933b54611a407d6557972bb6fea4f6 + languageName: node + linkType: hard + "@types/responselike@npm:^1.0.0": version: 1.0.3 resolution: "@types/responselike@npm:1.0.3" @@ -9402,6 +9743,19 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/project-service@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/project-service@npm:8.53.1" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.53.1" + "@typescript-eslint/types": "npm:^8.53.1" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10/e450cda2cb30426d55ebbbb5ecad40ba91e68f913ec7df3008ce4c1be524f7cde8411f4ea3c0a3e12fb43655def0e2473315897e410520e496f3fbb3c450ea08 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:8.50.0": version: 8.50.0 resolution: "@typescript-eslint/scope-manager@npm:8.50.0" @@ -9412,6 +9766,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/scope-manager@npm:8.53.1" + dependencies: + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/visitor-keys": "npm:8.53.1" + checksum: 10/eaf320706143cab1cd1ac27a766be36f038f748be9e891dbedeeb29a39d3e3e7af0789f6f0a94f5c77842533253e10bd63af22c1b974ffc8a25c0ab3a120ba9e + languageName: node + linkType: hard + "@typescript-eslint/tsconfig-utils@npm:8.50.0, @typescript-eslint/tsconfig-utils@npm:^8.50.0": version: 8.50.0 resolution: "@typescript-eslint/tsconfig-utils@npm:8.50.0" @@ -9421,6 +9785,15 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/tsconfig-utils@npm:8.53.1, @typescript-eslint/tsconfig-utils@npm:^8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.53.1" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10/0e2743e3f16d60d6784edab67964725686c3efb9fddf9f90e88a9f8b3e5cf40af23be80d55142397704d765a02771626b23b43151c4e3089a394a7c487d035f9 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:8.50.0, @typescript-eslint/types@npm:^8.38.0, @typescript-eslint/types@npm:^8.50.0": version: 8.50.0 resolution: "@typescript-eslint/types@npm:8.50.0" @@ -9428,6 +9801,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.53.1, @typescript-eslint/types@npm:^8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/types@npm:8.53.1" + checksum: 10/9a01aa343329af529c645204070dd20be54556c6fd92bfda3a42b6213c0408f5f2f57084064d88d5de1337a7731e57290f0ec11a0fb181bbb3c3b293ef0dcf4a + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.50.0": version: 8.50.0 resolution: "@typescript-eslint/typescript-estree@npm:8.50.0" @@ -9447,6 +9827,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.53.1" + dependencies: + "@typescript-eslint/project-service": "npm:8.53.1" + "@typescript-eslint/tsconfig-utils": "npm:8.53.1" + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/visitor-keys": "npm:8.53.1" + debug: "npm:^4.4.3" + minimatch: "npm:^9.0.5" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.4.0" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10/fb1e0016292b82a873df1d4d95f9ecc441b443bdd83236eb7c118a88e500b9466e29bba4a6a5c3526d37c3cb189b427ea9f45d49f988fbc6dc4f238d58cfadb9 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:^8.38.0, @typescript-eslint/utils@npm:^8.46.2": version: 8.50.0 resolution: "@typescript-eslint/utils@npm:8.50.0" @@ -9462,6 +9861,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:^8.48.0": + version: 8.53.1 + resolution: "@typescript-eslint/utils@npm:8.53.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.53.1" + "@typescript-eslint/types": "npm:8.53.1" + "@typescript-eslint/typescript-estree": "npm:8.53.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10/ff874fc9938b3b9493e0e543d400cd51ed34391a6bf9838a688bb124d1999639207efb9b626908fc927ae6f149ef4aa62e02df794e5b5b0b34e6ac5de48cdaa6 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.50.0": version: 8.50.0 resolution: "@typescript-eslint/visitor-keys@npm:8.50.0" @@ -9472,6 +9886,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.53.1": + version: 8.53.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.53.1" + dependencies: + "@typescript-eslint/types": "npm:8.53.1" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10/9498ecd42de7ce5746faee88f67edebd92781d35b31c1da355207b42b564a5974c1a5314d01cd7aea865c5e948b15b3aa043d724b2e51b4f8bc26e0b3711a8b2 + languageName: node + linkType: hard + "@uiw/codemirror-extensions-basic-setup@npm:4.25.4": version: 4.25.4 resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.25.4" @@ -9574,6 +9998,19 @@ __metadata: languageName: node linkType: hard +"@vitest/expect@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/expect@npm:3.2.4" + dependencies: + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:3.2.4" + "@vitest/utils": "npm:3.2.4" + chai: "npm:^5.2.0" + tinyrainbow: "npm:^2.0.0" + checksum: 10/dc69ce886c13714dfbbff78f2d2cb7eb536017e82301a73c42d573a9e9d2bf91005ac7abd9b977adf0a3bd431209f45a8ac2418029b68b0a377e092607c843ce + languageName: node + linkType: hard + "@vitest/expect@npm:4.0.17": version: 4.0.17 resolution: "@vitest/expect@npm:4.0.17" @@ -9588,6 +10025,25 @@ __metadata: languageName: node linkType: hard +"@vitest/mocker@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/mocker@npm:3.2.4" + dependencies: + "@vitest/spy": "npm:3.2.4" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.17" + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10/5e92431b6ed9fc1679060e4caef3e4623f4750542a5d7cd944774f8217c4d231e273202e8aea00bab33260a5a9222ecb7005d80da0348c3c829bd37d123071a8 + languageName: node + linkType: hard + "@vitest/mocker@npm:4.0.17": version: 4.0.17 resolution: "@vitest/mocker@npm:4.0.17" @@ -9607,6 +10063,15 @@ __metadata: languageName: node linkType: hard +"@vitest/pretty-format@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/pretty-format@npm:3.2.4" + dependencies: + tinyrainbow: "npm:^2.0.0" + checksum: 10/8dd30cbf956e01fbab042fe651fb5175d9f0cd00b7b569a46cd98df89c4fec47dab12916201ad6e09a4f25f2a2ec8927a4bfdc61118593097f759c90b18a51d4 + languageName: node + linkType: hard + "@vitest/pretty-format@npm:4.0.17": version: 4.0.17 resolution: "@vitest/pretty-format@npm:4.0.17" @@ -9637,6 +10102,15 @@ __metadata: languageName: node linkType: hard +"@vitest/spy@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/spy@npm:3.2.4" + dependencies: + tinyspy: "npm:^4.0.3" + checksum: 10/7d38c299f42a8c7e5e41652b203af98ca54e63df69c3b072d0e401d5a57fbbba3e39d8538ac1b3022c26718a6388d0bcc222bc2f07faab75942543b9247c007d + languageName: node + linkType: hard + "@vitest/spy@npm:4.0.17": version: 4.0.17 resolution: "@vitest/spy@npm:4.0.17" @@ -9644,6 +10118,17 @@ __metadata: languageName: node linkType: hard +"@vitest/utils@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/utils@npm:3.2.4" + dependencies: + "@vitest/pretty-format": "npm:3.2.4" + loupe: "npm:^3.1.4" + tinyrainbow: "npm:^2.0.0" + checksum: 10/7f12ef63bd8ee13957744d1f336b0405f164ade4358bf9dfa531f75bbb58ffac02bf61aba65724311ddbc50b12ba54853a169e59c6b837c16086173b9a480710 + languageName: node + linkType: hard + "@vitest/utils@npm:4.0.17": version: 4.0.17 resolution: "@vitest/utils@npm:4.0.17" @@ -10354,6 +10839,22 @@ __metadata: languageName: node linkType: hard +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10/a0789dd882211b87116e81e2648ccb7f60340b34f19877dd020b39ebb4714e475eb943e14ba3e22201c221ef6645b7bfe10297e76b6ac95b48a9898c1211ce66 + languageName: node + linkType: hard + +"ast-types@npm:^0.16.1": + version: 0.16.1 + resolution: "ast-types@npm:0.16.1" + dependencies: + tslib: "npm:^2.0.1" + checksum: 10/f569b475eb1c8cb93888cb6e7b7e36dc43fa19a77e4eb132cbff6e3eb1598ca60f850db6e60b070e5a0ee8c1559fca921dac0916e576f2f104e198793b0bdd8d + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -10448,6 +10949,13 @@ __metadata: languageName: node linkType: hard +"axe-core@npm:^4.2.0": + version: 4.11.1 + resolution: "axe-core@npm:4.11.1" + checksum: 10/bbc8e8959258a229b92fbaa73437050825579815051cac7b0fdbb6752946fea226e403bfeeef3d60d712477bdd4c01afdc8455f27c3d85e4251df88b032b6250 + languageName: node + linkType: hard + "axios@npm:^1.2.1": version: 1.12.2 resolution: "axios@npm:1.12.2" @@ -11286,6 +11794,19 @@ __metadata: languageName: node linkType: hard +"chai@npm:^5.2.0": + version: 5.3.3 + resolution: "chai@npm:5.3.3" + 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/0d0ef63106083b05c7ba510697cd9991a02b8df5984a7d010ab4af10205c7a1f27d1c06bfa4679540894295ac4dcc22aa2a281e2e4cfe5133c1db379626689a2 + languageName: node + linkType: hard + "chai@npm:^6.2.1": version: 6.2.2 resolution: "chai@npm:6.2.2" @@ -11373,6 +11894,13 @@ __metadata: languageName: node linkType: hard +"check-error@npm:^2.1.1": + version: 2.1.3 + resolution: "check-error@npm:2.1.3" + checksum: 10/f1868d3db60f5a7da92e140ccf33e9152bf6124161fa9b7a4ae8eafdb05e66e1f13570401e56f314f037b0f1b71eaf38ad0c7256310d82c6105e9d85ded0f202 + languageName: node + linkType: hard + "cheerio-select@npm:^2.1.0": version: 2.1.0 resolution: "cheerio-select@npm:2.1.0" @@ -11504,6 +12032,25 @@ __metadata: languageName: node linkType: hard +"chromatic@npm:^13.3.4": + version: 13.3.5 + resolution: "chromatic@npm:13.3.5" + peerDependencies: + "@chromatic-com/cypress": ^0.*.* || ^1.0.0 + "@chromatic-com/playwright": ^0.*.* || ^1.0.0 + peerDependenciesMeta: + "@chromatic-com/cypress": + optional: true + "@chromatic-com/playwright": + optional: true + bin: + chroma: dist/bin.js + chromatic: dist/bin.js + chromatic-cli: dist/bin.js + checksum: 10/d660e926e2763158eb216c12fd443ac909235b62e0855d6485c5ec270cbde8ce6d5467fc9792a988f2cd4c32722efb9899982b26d4bd8265381846c7d7006c21 + languageName: node + linkType: hard + "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -13272,6 +13819,13 @@ __metadata: languageName: node linkType: hard +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10/a529b81e2ef8821621d20a36959a0328873a3e49d393ad11f8efe8559f31239494c2eb889b80342808674c475802ba95b9d6c4c27641b9a029405104c1b59fcf + languageName: node + linkType: hard + "deep-equal@npm:^2.2.3": version: 2.2.3 resolution: "deep-equal@npm:2.2.3" @@ -13646,6 +14200,15 @@ __metadata: languageName: unknown linkType: soft +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 + languageName: node + linkType: hard + "dom-accessibility-api@npm:^0.5.9": version: 0.5.16 resolution: "dom-accessibility-api@npm:0.5.16" @@ -13980,6 +14543,13 @@ __metadata: languageName: node linkType: hard +"empathic@npm:^2.0.0": + version: 2.0.0 + resolution: "empathic@npm:2.0.0" + checksum: 10/90f47d93f8d1db3aa00ce1bfae2940bf76379dbb34bd562edbd92c3564a173cb1d6bd3cadb645fad0224839c25886abde801155d9b972dda6add7a5cc8b35d48 + languageName: node + linkType: hard + "enabled@npm:2.0.x": version: 2.0.0 resolution: "enabled@npm:2.0.0" @@ -14279,6 +14849,95 @@ __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 || ^0.25.0 || ^0.26.0 || ^0.27.0, esbuild@npm:^0.27.0": + version: 0.27.2 + resolution: "esbuild@npm:0.27.2" + dependencies: + "@esbuild/aix-ppc64": "npm:0.27.2" + "@esbuild/android-arm": "npm:0.27.2" + "@esbuild/android-arm64": "npm:0.27.2" + "@esbuild/android-x64": "npm:0.27.2" + "@esbuild/darwin-arm64": "npm:0.27.2" + "@esbuild/darwin-x64": "npm:0.27.2" + "@esbuild/freebsd-arm64": "npm:0.27.2" + "@esbuild/freebsd-x64": "npm:0.27.2" + "@esbuild/linux-arm": "npm:0.27.2" + "@esbuild/linux-arm64": "npm:0.27.2" + "@esbuild/linux-ia32": "npm:0.27.2" + "@esbuild/linux-loong64": "npm:0.27.2" + "@esbuild/linux-mips64el": "npm:0.27.2" + "@esbuild/linux-ppc64": "npm:0.27.2" + "@esbuild/linux-riscv64": "npm:0.27.2" + "@esbuild/linux-s390x": "npm:0.27.2" + "@esbuild/linux-x64": "npm:0.27.2" + "@esbuild/netbsd-arm64": "npm:0.27.2" + "@esbuild/netbsd-x64": "npm:0.27.2" + "@esbuild/openbsd-arm64": "npm:0.27.2" + "@esbuild/openbsd-x64": "npm:0.27.2" + "@esbuild/openharmony-arm64": "npm:0.27.2" + "@esbuild/sunos-x64": "npm:0.27.2" + "@esbuild/win32-arm64": "npm:0.27.2" + "@esbuild/win32-ia32": "npm:0.27.2" + "@esbuild/win32-x64": "npm:0.27.2" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@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-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + 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/7f1229328b0efc63c4184a61a7eb303df1e99818cc1d9e309fb92600703008e69821e8e984e9e9f54a627da14e0960d561db3a93029482ef96dc82dd267a60c2 + languageName: node + linkType: hard + "esbuild@npm:^0.25.0": version: 0.25.10 resolution: "esbuild@npm:0.25.10" @@ -14368,95 +15027,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.27.0": - version: 0.27.2 - resolution: "esbuild@npm:0.27.2" - dependencies: - "@esbuild/aix-ppc64": "npm:0.27.2" - "@esbuild/android-arm": "npm:0.27.2" - "@esbuild/android-arm64": "npm:0.27.2" - "@esbuild/android-x64": "npm:0.27.2" - "@esbuild/darwin-arm64": "npm:0.27.2" - "@esbuild/darwin-x64": "npm:0.27.2" - "@esbuild/freebsd-arm64": "npm:0.27.2" - "@esbuild/freebsd-x64": "npm:0.27.2" - "@esbuild/linux-arm": "npm:0.27.2" - "@esbuild/linux-arm64": "npm:0.27.2" - "@esbuild/linux-ia32": "npm:0.27.2" - "@esbuild/linux-loong64": "npm:0.27.2" - "@esbuild/linux-mips64el": "npm:0.27.2" - "@esbuild/linux-ppc64": "npm:0.27.2" - "@esbuild/linux-riscv64": "npm:0.27.2" - "@esbuild/linux-s390x": "npm:0.27.2" - "@esbuild/linux-x64": "npm:0.27.2" - "@esbuild/netbsd-arm64": "npm:0.27.2" - "@esbuild/netbsd-x64": "npm:0.27.2" - "@esbuild/openbsd-arm64": "npm:0.27.2" - "@esbuild/openbsd-x64": "npm:0.27.2" - "@esbuild/openharmony-arm64": "npm:0.27.2" - "@esbuild/sunos-x64": "npm:0.27.2" - "@esbuild/win32-arm64": "npm:0.27.2" - "@esbuild/win32-ia32": "npm:0.27.2" - "@esbuild/win32-x64": "npm:0.27.2" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@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-arm64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-arm64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/openharmony-arm64": - 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/7f1229328b0efc63c4184a61a7eb303df1e99818cc1d9e309fb92600703008e69821e8e984e9e9f54a627da14e0960d561db3a93029482ef96dc82dd267a60c2 - languageName: node - linkType: hard - "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -14525,6 +15095,18 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-storybook@npm:^10.2.0": + version: 10.2.0 + resolution: "eslint-plugin-storybook@npm:10.2.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.48.0" + peerDependencies: + eslint: ">=8" + storybook: ^10.2.0 + checksum: 10/55c52b4da9f51f8def6c4c6931fe5ff24aaccf4d42a672f863f591cbeb907d33afa04f0cf2ccc3a4d5c530098bc7858a455c899ee493ca6caf6bd887ba201297 + languageName: node + linkType: hard + "eslint-plugin-typescript-paths@npm:^0.0.33": version: 0.0.33 resolution: "eslint-plugin-typescript-paths@npm:0.0.33" @@ -14642,7 +15224,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0": +"esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -15266,6 +15848,13 @@ __metadata: languageName: node linkType: hard +"filesize@npm:^10.0.12": + version: 10.1.6 + resolution: "filesize@npm:10.1.6" + checksum: 10/e800837c4fc02303f1944d5a4c7b706df1c5cd95d745181852604fb00a1c2d55d2d3921252722bd2f0c86b59c94edaba23fa224776bbf977455d4034e7be1f45 + languageName: node + linkType: hard + "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -15905,7 +16494,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^11.0.1": +"glob@npm:^11.0.1, glob@npm:^11.1.0": version: 11.1.0 resolution: "glob@npm:11.1.0" dependencies: @@ -17272,7 +17861,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.16.0": +"is-core-module@npm:^2.16.0, is-core-module@npm:^2.16.1": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -18069,7 +18658,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.3": +"json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -18097,7 +18686,7 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1": +"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0": version: 6.2.0 resolution: "jsonfile@npm:6.2.0" dependencies: @@ -18683,7 +19272,7 @@ __metadata: languageName: unknown linkType: soft -"loupe@npm:^3.2.1": +"loupe@npm:^3.1.0, loupe@npm:^3.1.4, loupe@npm:^3.2.1": version: 3.2.1 resolution: "loupe@npm:3.2.1" checksum: 10/a4d78ec758aaa04e0e35d5cd1c15e970beb9cdbfd3d0f34f98b9bcda489f896a7190b3b6cc40b7a6dcb8e97e82e96eafaae10096aaa469804acdba6f7c2bde5f @@ -18777,7 +19366,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.21, magic-string@npm:^0.30.3": +"magic-string@npm:^0.30.0, magic-string@npm:^0.30.17, magic-string@npm:^0.30.21, magic-string@npm:^0.30.3": version: 0.30.21 resolution: "magic-string@npm:0.30.21" dependencies: @@ -19993,7 +20582,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -20760,7 +21349,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^10.0.3": +"open@npm:^10.0.3, open@npm:^10.2.0": version: 10.2.0 resolution: "open@npm:10.2.0" dependencies: @@ -21347,6 +21936,13 @@ __metadata: languageName: node linkType: hard +"pathval@npm:^2.0.0": + version: 2.0.1 + resolution: "pathval@npm:2.0.1" + checksum: 10/f5e8b82f6b988a5bba197970af050268fd800780d0f9ee026e6f0b544ac4b17ab52bebeabccb790d63a794530a1641ae399ad07ecfc67ad337504c85dc9e5693 + languageName: node + linkType: hard + "pbkdf2@npm:^3.1.2, pbkdf2@npm:^3.1.5": version: 3.1.5 resolution: "pbkdf2@npm:3.1.5" @@ -22957,7 +23553,34 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:19.2.3, react-dom@npm:^19.2.3": +"react-docgen-typescript@npm:^2.2.2": + version: 2.4.0 + resolution: "react-docgen-typescript@npm:2.4.0" + peerDependencies: + typescript: ">= 4.3.x" + checksum: 10/81e45bc012150dee50a9919a44597a436d45168f7a83febbbfef134c07e71c1a2f09fb6e1fc040f18bd6747f37b46d463a2b4a30177f6137e4ff49570bcaf253 + languageName: node + linkType: hard + +"react-docgen@npm:^8.0.0, react-docgen@npm:^8.0.2": + version: 8.0.2 + resolution: "react-docgen@npm:8.0.2" + dependencies: + "@babel/core": "npm:^7.28.0" + "@babel/traverse": "npm:^7.28.0" + "@babel/types": "npm:^7.28.2" + "@types/babel__core": "npm:^7.20.5" + "@types/babel__traverse": "npm:^7.20.7" + "@types/doctrine": "npm:^0.0.9" + "@types/resolve": "npm:^1.20.2" + doctrine: "npm:^3.0.0" + resolve: "npm:^1.22.1" + strip-indent: "npm:^4.0.0" + checksum: 10/b56f594237a0bdf1356dee6a416ab6f2f38f60a7330cbdaf1da93d366f29f6bfbbfedecd51d47f6ba2a898985c3205c369e7f6cad528478560d9363717243ff8 + languageName: node + linkType: hard + +"react-dom@npm:19.2.3, react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0, react-dom@npm:^19.2.3": version: 19.2.3 resolution: "react-dom@npm:19.2.3" dependencies: @@ -23401,7 +24024,7 @@ __metadata: languageName: node linkType: hard -"react@npm:19.2.3, react@npm:^19.2.3": +"react@npm:19.2.3, react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0, react@npm:^19.2.3": version: 19.2.3 resolution: "react@npm:19.2.3" checksum: 10/d16b7f35c0d35a56f63d9d1693819762e4abc479c57dd6310298920bed3820fcec7e17a99d44983416d8f5049143ea45b8005d3ab8324bae8973224400502b08 @@ -23484,6 +24107,19 @@ __metadata: languageName: node linkType: hard +"recast@npm:^0.23.5": + version: 0.23.11 + resolution: "recast@npm:0.23.11" + dependencies: + ast-types: "npm:^0.16.1" + esprima: "npm:~4.0.0" + source-map: "npm:~0.6.1" + tiny-invariant: "npm:^1.3.3" + tslib: "npm:^2.0.1" + checksum: 10/a622b7848efe13a59a40c9a1a3a8178433eae1048780e04d7392406e2d67fc29e3efa84b3aa8cfda28fd58989f4b59fa968bed295b739987a666bd11cc57a5b2 + languageName: node + linkType: hard + "recharts@npm:^3.4.1": version: 3.4.1 resolution: "recharts@npm:3.4.1" @@ -23977,6 +24613,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.22.8": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/e1b2e738884a08de03f97ee71494335eba8c2b0feb1de9ae065e82c48997f349f77a2b10e8817e147cf610bfabc4b1cb7891ee8eaf5bf80d4ad514a34c4fab0a + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" @@ -23990,6 +24639,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/fd342cad25e52cd6f4f3d1716e189717f2522bfd6641109fe7aa372f32b5714a296ed7c238ddbe7ebb0c1ddfe0b7f71c9984171024c97cf1b2073e3e40ff71a8 + languageName: node + linkType: hard + "responselike@npm:^2.0.0": version: 2.0.1 resolution: "responselike@npm:2.0.1" @@ -24500,7 +25162,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:~7.7.3": +"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.3, semver@npm:~7.7.3": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -25071,7 +25733,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 10/59ef7462f1c29d502b3057e822cdbdae0b0e565302c4dd1a95e11e793d8d9d62006cdc10e0fd99163ca33ff2071360cf50ee13f90440806e7ed57d81cba2f7ff @@ -25258,6 +25920,33 @@ __metadata: languageName: node linkType: hard +"storybook@npm:^10.2.0": + version: 10.2.0 + resolution: "storybook@npm:10.2.0" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@storybook/icons": "npm:^2.0.1" + "@testing-library/jest-dom": "npm:^6.6.3" + "@testing-library/user-event": "npm:^14.6.1" + "@vitest/expect": "npm:3.2.4" + "@vitest/spy": "npm:3.2.4" + 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 || ^0.26.0 || ^0.27.0" + open: "npm:^10.2.0" + recast: "npm:^0.23.5" + semver: "npm:^7.7.3" + use-sync-external-store: "npm:^1.5.0" + ws: "npm:^8.18.0" + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + bin: + storybook: ./dist/bin/dispatcher.js + checksum: 10/cac19b62c3dfd7a0a2e5d642472b2b1fee183bb5f992a6b070d0ff091aae62b79df2db24bedc57458bcf225f7cabc03e7a013b87aa065fe29b2ace76473dfa46 + languageName: node + linkType: hard + "stream-browserify@npm:^3.0.0": version: 3.0.0 resolution: "stream-browserify@npm:3.0.0" @@ -25522,6 +26211,13 @@ __metadata: languageName: node linkType: hard +"strip-indent@npm:^4.0.0": + version: 4.1.1 + resolution: "strip-indent@npm:4.1.1" + checksum: 10/d322bfdc59855006791a4aebe2a66e0892eab7004a5c064d74b86a0c6ecff2818974c9a5eda54b16d8af6aadbc90a6c02635ffcbec11ab33dd8979b1a6346fc0 + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -26023,6 +26719,13 @@ __metadata: 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 + "tinyrainbow@npm:^3.0.3": version: 3.0.3 resolution: "tinyrainbow@npm:3.0.3" @@ -26030,7 +26733,7 @@ __metadata: languageName: node linkType: hard -"tinyspy@npm:^4.0.4": +"tinyspy@npm:^4.0.3, tinyspy@npm:^4.0.4": version: 4.0.4 resolution: "tinyspy@npm:4.0.4" checksum: 10/858a99e3ded2fba8fe7c243099d9e58e926d6525af03d19cdf86c1a9a30398161fb830b4f77890d266bcc1c69df08fa6f4baf29d089385e4cdaa98d7b6296e7c @@ -26205,7 +26908,16 @@ __metadata: languageName: node linkType: hard -"ts-dedent@npm:^2.2.0": +"ts-api-utils@npm:^2.4.0": + version: 2.4.0 + resolution: "ts-api-utils@npm:2.4.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10/d6b2b3b6caad8d2f4ddc0c3785d22bb1a6041773335a1c71d73a5d67d11d993763fe8e4faefc4a4d03bb42b26c6126bbcf2e34826baed1def5369d0ebad358fa + languageName: node + linkType: hard + +"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0": version: 2.2.0 resolution: "ts-dedent@npm:2.2.0" checksum: 10/93ed8f7878b6d5ed3c08d99b740010eede6bccfe64bce61c5a4da06a2c17d6ddbb80a8c49c2d15251de7594a4f93ffa21dd10e7be75ef66a4dc9951b4a94e2af @@ -26292,7 +27004,18 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0": +"tsconfig-paths@npm:^4.2.0": + version: 4.2.0 + resolution: "tsconfig-paths@npm:4.2.0" + dependencies: + json5: "npm:^2.2.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10/5e55cc2fb6b800eb72011522e10edefccb45b1f9af055681a51354c9b597d1390c6fa9cc356b8c7529f195ac8a90a78190d563159f3a1eed10e01bbd4d01a8ab + languageName: node + linkType: hard + +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 @@ -26745,6 +27468,18 @@ __metadata: languageName: node linkType: hard +"unplugin@npm:^2.3.5": + version: 2.3.11 + resolution: "unplugin@npm:2.3.11" + dependencies: + "@jridgewell/remapping": "npm:^2.3.5" + acorn: "npm:^8.15.0" + picomatch: "npm:^4.0.3" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10/7b4adbfaac8894e8491c452c0b67c612b57e103761e842d9013ebea89a4ae92a78df4ec0aa30e5e3eaaefd47dd287973d5a662271624b7346a15d9236d257f9d + languageName: node + linkType: hard + "untildify@npm:^4.0.0": version: 4.0.0 resolution: "untildify@npm:4.0.0" @@ -26862,7 +27597,7 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:^1.2.2, use-sync-external-store@npm:^1.4.0, use-sync-external-store@npm:^1.6.0": +"use-sync-external-store@npm:^1.2.2, use-sync-external-store@npm:^1.4.0, use-sync-external-store@npm:^1.5.0, use-sync-external-store@npm:^1.6.0": version: 1.6.0 resolution: "use-sync-external-store@npm:1.6.0" peerDependencies: @@ -27568,6 +28303,13 @@ __metadata: languageName: node linkType: hard +"webpack-virtual-modules@npm:^0.6.2": + version: 0.6.2 + resolution: "webpack-virtual-modules@npm:0.6.2" + checksum: 10/d9a0d035f7ec0c7f1055aaf88bfe48b7f96458043916a1b2926d9012fd61de3810a6b768e31a8cd4b3c84a9b6d55824361a9dd20aaf9f5ccfb6f017af216a178 + languageName: node + linkType: hard + "webpack@npm:^5.88.1, webpack@npm:^5.95.0": version: 5.102.1 resolution: "webpack@npm:5.102.1"