Merge branch 'main' of https://github.com/grafana/grafana into alexspencer/focused-query-poc

This commit is contained in:
Alex Spencer
2025-11-25 16:23:30 -08:00
16 changed files with 860 additions and 43 deletions
+1
View File
@@ -165,6 +165,7 @@ pkg/services/quota/quotaimpl/storage/storage.json
/packages/grafana-ui/.yarn/.cache
/packages/grafana-ui/.storybook/static
/packages/grafana-ui/unstable
/packages/grafana-flamegraph/.storybook/static
/packages/**/dist
/packages/**/compiled
/packages/**/.rpt2_cache
@@ -66,6 +66,9 @@ func ValidateDashboardSpec(obj *Dashboard, forceValidation bool) (field.ErrorLis
}
func formatErrorPath(path []string) string {
if len(path) <= 4 {
return strings.Join(path, ".")
}
// omitting the "lineage.schemas[0].schema.spec" prefix here.
return strings.Join(path[4:], ".")
}
@@ -67,6 +67,9 @@ func ValidateDashboardSpec(obj *Dashboard, forceValidation bool) (field.ErrorLis
}
func formatErrorPath(path []string) string {
if len(path) <= 4 {
return strings.Join(path, ".")
}
// omitting the "lineage.schemas[0].schema.spec" prefix here.
return strings.Join(path[4:], ".")
}
@@ -1933,6 +1933,10 @@ The initial delay before retrying a failed alert evaluation. Default is `1s`.
This value is the starting point for exponential backoff.
#### `initialization_timeout`
Allows the context deadline for the `AlertNG` service to be configurable. The default timeout is 30s.
#### `max_retry_delay`
The maximum delay between retries during exponential backoff. Default is `4s`.
@@ -0,0 +1,66 @@
// This script is used to copy assets from the public folder to a temporary static folder within
// the .storybook directory.
// We selectively limit assets that are uploaded to the Storybook bucket to prevent rate limiting
// when publishing new storybook.
// Note: Storybook has a static copying feature but it copies entire directories which can contain thousands of icons.
import fs from 'fs-extra';
import { resolve } from 'node:path';
// avoid importing from @grafana/data to prevent error: window is not defined
import { availableIconsIndex, IconName } from '../../grafana-data/src/types/icon.ts';
import { getIconSubDir } from '../../grafana-ui/src/components/Icon/utils.ts';
const __dirname = import.meta.dirname;
// doesn't require uploading 1000s of unused assets.
const iconPaths = Object.keys(availableIconsIndex)
.filter((iconName) => !iconName.startsWith('fa '))
.map((iconName) => {
const subDir = getIconSubDir(iconName as IconName, 'default');
return {
from: `../../../public/img/icons/${subDir}/${iconName}.svg`,
to: `./static/public/build/img/icons/${subDir}/${iconName}.svg`,
};
});
export function copyAssetsSync() {
const assets = [
{
from: '../../../public/fonts',
to: './static/public/fonts',
},
{
from: '../../../public/img/grafana_text_logo-dark.svg',
to: './static/public/img/grafana_text_logo-dark.svg',
},
{
from: '../../../public/img/grafana_text_logo-light.svg',
to: './static/public/img/grafana_text_logo-light.svg',
},
{
from: '../../../public/img/fav32.png',
to: './static/public/img/fav32.png',
},
{
from: '../../../public/lib',
to: './static/public/lib',
},
...iconPaths,
// copy over the MSW mock service worker so we can mock requests in Storybook
{
from: '../../../public/mockServiceWorker.js',
to: './static/mockServiceWorker.js',
},
];
for (const asset of assets) {
const fromPath = resolve(__dirname, asset.from);
const toPath = resolve(__dirname, asset.to);
if (!fs.existsSync(toPath)) {
fs.copySync(fromPath, toPath, {
filter: (src) => !fs.lstatSync(src).isSymbolicLink(),
});
}
}
}
@@ -0,0 +1,53 @@
import type { StorybookConfig } from '@storybook/react-webpack5';
import { copyAssetsSync } from './copyAssets.ts';
import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
copyAssetsSync();
const config: StorybookConfig = {
stories: ['../src/**/*.story.tsx'],
addons: [
{
name: '@storybook/preset-scss',
options: {
styleLoaderOptions: {
// this is required for theme switching .use() and .unuse()
injectType: 'lazyStyleTag',
},
cssLoaderOptions: {
url: false,
importLoaders: 2,
},
sassLoaderOptions: {
sassOptions: {
// silencing these warnings since we're planning to remove sass when angular is gone
silenceDeprecations: ['import', 'global-builtin'],
},
},
},
},
'@storybook/addon-webpack5-compiler-swc',
],
framework: {
name: '@storybook/react-webpack5',
options: {},
},
staticDirs: ['static'],
webpackFinal: async (config) => {
const webpack = await import('webpack');
// Define process.env for browser context
config.plugins?.push(
new webpack.default.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
'process.env.STORYBOOK_THEME': JSON.stringify(process.env.STORYBOOK_THEME || 'system'),
})
);
return config;
},
};
export default config;
@@ -0,0 +1,54 @@
import { Preview } from '@storybook/react';
import { getBuiltInThemes, getTimeZone, getTimeZones, GrafanaTheme2 } from '@grafana/data';
import { withTheme } from '../src/utils/storybook/withTheme';
import { withTimeZone } from '../src/utils/storybook/withTimeZone';
const allowedExtraThemes: string[] = [];
if (process.env.NODE_ENV === 'development') {
allowedExtraThemes.push('debug');
allowedExtraThemes.push('desertbloom');
allowedExtraThemes.push('gildedgrove');
allowedExtraThemes.push('gloom');
allowedExtraThemes.push('sapphiredusk');
allowedExtraThemes.push('tron');
}
const preview: Preview = {
decorators: [withTheme(), withTimeZone()],
globalTypes: {
theme: {
name: 'Theme',
description: 'Global theme for components',
defaultValue: 'system',
toolbar: {
icon: 'paintbrush',
items: getBuiltInThemes(allowedExtraThemes).map((theme) => ({
value: theme.id,
title: theme.name,
})),
showName: true,
},
},
timeZone: {
description: 'Set the timezone for the storybook preview',
defaultValue: getTimeZone(),
toolbar: {
icon: 'globe',
items: getTimeZones(true)
.filter((timezone) => !!timezone)
.map((timezone) => ({
title: timezone,
value: timezone,
})),
},
},
},
initialGlobals: {
theme: process.env.STORYBOOK_THEME || 'system',
},
};
export default preview;
+8 -1
View File
@@ -36,7 +36,8 @@
"clean": "rimraf ./dist ./compiled ./package.tgz",
"typecheck": "tsc --emitDeclarationOnly false --noEmit",
"prepack": "cp package.json package.json.bak && node ../../scripts/prepare-npm-package.js",
"postpack": "mv package.json.bak package.json"
"postpack": "mv package.json.bak package.json",
"storybook": "storybook dev -p 6006"
},
"browserslist": [
"defaults",
@@ -60,11 +61,15 @@
"@babel/preset-env": "7.28.0",
"@babel/preset-react": "7.27.1",
"@rollup/plugin-node-resolve": "16.0.1",
"@storybook/addon-webpack5-compiler-swc": "^4.0.2",
"@storybook/react": "^10.0.8",
"@storybook/react-webpack5": "^10.0.8",
"@testing-library/dom": "10.4.1",
"@testing-library/jest-dom": "^6.1.2",
"@testing-library/react": "16.3.0",
"@testing-library/user-event": "14.6.1",
"@types/d3": "^7",
"@types/fs-extra": "^11",
"@types/jest": "^29.5.4",
"@types/lodash": "4.17.20",
"@types/node": "24.10.1",
@@ -73,11 +78,13 @@
"@types/tinycolor2": "1.4.6",
"babel-jest": "29.7.0",
"esbuild": "0.25.8",
"fs-extra": "^11.3.2",
"jest": "^29.6.4",
"jest-canvas-mock": "2.5.2",
"rollup": "^4.22.4",
"rollup-plugin-esbuild": "6.2.1",
"rollup-plugin-node-externals": "^8.0.0",
"storybook": "^10.0.8",
"ts-jest": "29.4.0",
"ts-node": "10.9.2",
"typescript": "5.9.2"
@@ -0,0 +1,31 @@
import { Meta, StoryObj } from '@storybook/react';
import { createDataFrame } from '@grafana/data';
import { ColorScheme, SelectedView } from '../types';
import FlameGraph from './FlameGraph';
import { CollapsedMap, FlameGraphDataContainer } from './dataTransform';
import { data } from './testData/dataBasic';
const meta: Meta<typeof FlameGraph> = {
title: 'FlameGraph',
component: FlameGraph,
args: {
rangeMin: 0,
rangeMax: 1,
textAlign: 'left',
colorScheme: ColorScheme.PackageBased,
selectedView: SelectedView.Both,
search: '',
},
};
export default meta;
export const Basic: StoryObj<typeof meta> = {
render: (args) => {
const dataContainer = new FlameGraphDataContainer(createDataFrame(data), { collapsing: false });
return <FlameGraph {...args} data={dataContainer} collapsedMap={new CollapsedMap()} />;
},
};
@@ -0,0 +1,32 @@
import { DataFrameDTO } from '@grafana/data';
export const data: DataFrameDTO = {
name: 'response',
refId: 'A',
// @ts-ignore
meta: { preferredVisualisationType: 'flamegraph' },
fields: [
{
name: 'level',
values: [0, 1, 2, 3, 2, 1],
},
{
name: 'value',
values: [10000, 5000, 4000, 3000, 500, 3000],
config: {
unit: 'ms',
},
},
{
name: 'self',
values: [10000, 500, 1000, 3000, 500, 3000],
config: {
unit: 'ms',
},
},
{
name: 'label',
values: ['total', 'fn_1', 'fn_2', 'fn_3', 'fn_4', 'fn_5'],
},
],
};
@@ -0,0 +1,23 @@
import type { Meta, StoryObj } from '@storybook/react';
import { createDataFrame } from '@grafana/data';
import { useTheme2 } from '@grafana/ui';
import { data } from './FlameGraph/testData/dataNestedSet';
import FlameGraphContainer, { Props } from './FlameGraphContainer';
const WrappedFlameGraph = (props: Omit<Props, 'getTheme'>) => {
const theme = useTheme2();
const df = createDataFrame(data);
return <FlameGraphContainer {...props} data={df} getTheme={() => theme} />;
};
const meta: Meta<typeof FlameGraphContainer> = {
title: 'FlameGraphContainer',
render: (args) => {
return <WrappedFlameGraph {...args} />;
},
};
export default meta;
export const Basic: StoryObj<typeof meta> = {};
@@ -0,0 +1,41 @@
import { Meta, StoryObj } from '@storybook/react';
import { createDataFrame } from '@grafana/data';
import { FlameGraphDataContainer } from '../FlameGraph/dataTransform';
import { data } from '../FlameGraph/testData/dataNestedSet';
import { ColorScheme } from '../types';
import FlameGraphTopTableContainer from './FlameGraphTopTableContainer';
const meta: Meta<typeof FlameGraphTopTableContainer> = {
title: 'TopTable',
component: FlameGraphTopTableContainer,
args: {
colorScheme: ColorScheme.ValueBased,
},
decorators: [
(Story) => (
<div style={{ width: '100%', height: '600px' }}>
<Story />
</div>
),
],
};
export default meta;
export const Basic: StoryObj<typeof meta> = {
render: (args) => {
const dataContainer = new FlameGraphDataContainer(createDataFrame(data), { collapsing: true });
return (
<FlameGraphTopTableContainer
{...args}
data={dataContainer}
onSymbolClick={() => {}}
onSearch={() => {}}
onSandwich={() => {}}
/>
);
},
};
@@ -144,6 +144,7 @@ function buildFilteredTable(data: FlameGraphDataContainer, matchedLabels?: Set<s
// Add current call to the stack
callStack.push(label);
}
return filteredTable;
}
@@ -0,0 +1,36 @@
import { Decorator } from '@storybook/react';
import * as React from 'react';
import { getThemeById, ThemeContext } from '@grafana/data';
import { GlobalStyles } from '@grafana/ui';
interface ThemeableStoryProps {
themeId: string;
}
const ThemeableStory = ({ children, themeId }: React.PropsWithChildren<ThemeableStoryProps>) => {
const theme = getThemeById(themeId);
const css = `
#storybook-root {
padding: ${theme.spacing(2)};
}
body {
background: ${theme.colors.background.primary};
}
`;
return (
<ThemeContext.Provider value={theme}>
<GlobalStyles />
<style>{css}</style>
{children}
</ThemeContext.Provider>
);
};
export const withTheme =
(): Decorator =>
// eslint-disable-next-line react/display-name
(story, context) => <ThemeableStory themeId={context.globals.theme}>{story()}</ThemeableStory>;
@@ -0,0 +1,12 @@
import { Decorator } from '@storybook/react';
import { useEffect } from 'react';
import { setTimeZoneResolver } from '@grafana/data';
export const withTimeZone = (): Decorator => (Story, context) => {
useEffect(() => {
setTimeZoneResolver(() => context.globals.timeZone ?? 'browser');
}, [context.globals.timeZone]);
return Story();
};
+492 -42
View File
@@ -1473,7 +1473,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.5, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.6, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.26.7, @babel/runtime@npm:^7.27.0, @babel/runtime@npm:^7.27.6, @babel/runtime@npm:^7.28.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.7":
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.5, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.6, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.26.10, @babel/runtime@npm:^7.26.7, @babel/runtime@npm:^7.27.0, @babel/runtime@npm:^7.27.6, @babel/runtime@npm:^7.28.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.7":
version: 7.28.4
resolution: "@babel/runtime@npm:7.28.4"
checksum: 10/6c9a70452322ea80b3c9b2a412bcf60771819213a67576c8cec41e88a95bb7bf01fc983754cda35dc19603eef52df22203ccbf7777b9d6316932f9fb77c25163
@@ -2324,15 +2324,15 @@ __metadata:
languageName: node
linkType: hard
"@formatjs/ecma402-abstract@npm:2.3.4":
version: 2.3.4
resolution: "@formatjs/ecma402-abstract@npm:2.3.4"
"@formatjs/ecma402-abstract@npm:2.3.6":
version: 2.3.6
resolution: "@formatjs/ecma402-abstract@npm:2.3.6"
dependencies:
"@formatjs/fast-memoize": "npm:2.2.7"
"@formatjs/intl-localematcher": "npm:0.6.1"
"@formatjs/intl-localematcher": "npm:0.6.2"
decimal.js: "npm:^10.4.3"
tslib: "npm:^2.8.0"
checksum: 10/573971ffc291096a4b9fcc80b4708124e89bf2e3ac50e0f78b41eb797e9aa1b842f4dc3665e4467a853c738386821769d9e40408a1d25bc73323a1f057a16cf2
checksum: 10/30b1b5cd6b62ba46245f934429936592df5500bc1b089dc92dd49c826757b873dd92c305dcfe370701e4df6b057bf007782113abb9b65db550d73be4961718bc
languageName: node
linkType: hard
@@ -2376,13 +2376,13 @@ __metadata:
linkType: hard
"@formatjs/intl-durationformat@npm:^0.7.0":
version: 0.7.4
resolution: "@formatjs/intl-durationformat@npm:0.7.4"
version: 0.7.6
resolution: "@formatjs/intl-durationformat@npm:0.7.6"
dependencies:
"@formatjs/ecma402-abstract": "npm:2.3.4"
"@formatjs/intl-localematcher": "npm:0.6.1"
"@formatjs/ecma402-abstract": "npm:2.3.6"
"@formatjs/intl-localematcher": "npm:0.6.2"
tslib: "npm:^2.8.0"
checksum: 10/d62273ecd635475ca91e9b501301f3f396403fa91b584c550734b19b2d194ba1316b27303fed985c1d42ae933d54eb220da6540edfdf376b0d9371ecfd0d4e15
checksum: 10/442236ba85bcd9cb7296c43a708271fa09f110b1ca9d5899066d00812fc2965eaeaec6b5240be421b80daba62860352131088449ba0fcd2061f671cec6240f0b
languageName: node
linkType: hard
@@ -2395,12 +2395,12 @@ __metadata:
languageName: node
linkType: hard
"@formatjs/intl-localematcher@npm:0.6.1":
version: 0.6.1
resolution: "@formatjs/intl-localematcher@npm:0.6.1"
"@formatjs/intl-localematcher@npm:0.6.2":
version: 0.6.2
resolution: "@formatjs/intl-localematcher@npm:0.6.2"
dependencies:
tslib: "npm:^2.8.0"
checksum: 10/c7b3bc8395d18670677f207b2fd107561fff5d6394a9b4273c29e0bea920300ec3a2eefead600ebb7761c04a770cada28f78ac059f84d00520bfb57a9db36998
checksum: 10/eb12a7f5367bbecdfafc20d7f005559ce840f420e970f425c5213d35e94e86dfe75bde03464971a26494bf8427d4961269db22ecad2834f2a19d888b5d9cc064
languageName: node
linkType: hard
@@ -3260,11 +3260,15 @@ __metadata:
"@grafana/ui": "npm:12.4.0-pre"
"@leeoniya/ufuzzy": "npm:1.0.19"
"@rollup/plugin-node-resolve": "npm:16.0.1"
"@storybook/addon-webpack5-compiler-swc": "npm:^4.0.2"
"@storybook/react": "npm:^10.0.8"
"@storybook/react-webpack5": "npm:^10.0.8"
"@testing-library/dom": "npm:10.4.1"
"@testing-library/jest-dom": "npm:^6.1.2"
"@testing-library/react": "npm:16.3.0"
"@testing-library/user-event": "npm:14.6.1"
"@types/d3": "npm:^7"
"@types/fs-extra": "npm:^11"
"@types/jest": "npm:^29.5.4"
"@types/lodash": "npm:4.17.20"
"@types/node": "npm:24.10.1"
@@ -3274,6 +3278,7 @@ __metadata:
babel-jest: "npm:29.7.0"
d3: "npm:^7.8.5"
esbuild: "npm:0.25.8"
fs-extra: "npm:^11.3.2"
jest: "npm:^29.6.4"
jest-canvas-mock: "npm:2.5.2"
lodash: "npm:4.17.21"
@@ -3283,6 +3288,7 @@ __metadata:
rollup: "npm:^4.22.4"
rollup-plugin-esbuild: "npm:6.2.1"
rollup-plugin-node-externals: "npm:^8.0.0"
storybook: "npm:^10.0.8"
tinycolor2: "npm:1.6.0"
ts-jest: "npm:29.4.0"
ts-node: "npm:10.9.2"
@@ -4245,7 +4251,7 @@ __metadata:
languageName: node
linkType: hard
"@inquirer/type@npm:^3.0.10, @inquirer/type@npm:^3.0.9":
"@inquirer/type@npm:^3.0.10":
version: 3.0.10
resolution: "@inquirer/type@npm:3.0.10"
peerDependencies:
@@ -4257,6 +4263,18 @@ __metadata:
languageName: node
linkType: hard
"@inquirer/type@npm:^3.0.9":
version: 3.0.9
resolution: "@inquirer/type@npm:3.0.9"
peerDependencies:
"@types/node": ">=18"
peerDependenciesMeta:
"@types/node":
optional: true
checksum: 10/960ba4737405f70bac17e7cdc4696c60064b06c8dd13a4b3d0783763ba1714bdadbd598b88d537ab9415b7d5d61e011ac042cfbd1438b2a35298e2868724b853
languageName: node
linkType: hard
"@internationalized/date@npm:^3.10.0":
version: 3.10.0
resolution: "@internationalized/date@npm:3.10.0"
@@ -5027,6 +5045,13 @@ __metadata:
languageName: node
linkType: hard
"@jridgewell/sourcemap-codec@npm:^1.5.5":
version: 1.5.5
resolution: "@jridgewell/sourcemap-codec@npm:1.5.5"
checksum: 10/5d9d207b462c11e322d71911e55e21a4e2772f71ffe8d6f1221b8eb5ae6774458c1d242f897fb0814e8714ca9a6b498abfa74dfe4f434493342902b1a48b33a5
languageName: node
linkType: hard
"@jridgewell/trace-mapping@npm:0.3.9":
version: 0.3.9
resolution: "@jridgewell/trace-mapping@npm:0.3.9"
@@ -6096,9 +6121,9 @@ __metadata:
linkType: hard
"@openfeature/core@npm:^1.9.0":
version: 1.9.0
resolution: "@openfeature/core@npm:1.9.0"
checksum: 10/c6d20edc09053afd99752fe46d8328158680950bca4b86679f67f79249d7226eea127b31fffdc38e26ecb729f2bab5a4a5a7c1db708ae76b7fbbac68cd56f094
version: 1.9.1
resolution: "@openfeature/core@npm:1.9.1"
checksum: 10/6099e16b1b4cd6e3c45c05ab4acd44c9cb4ab501b676ab6f3e77f0be1b56abc7506c5629187381333a02975d315d831e0905582435b356d9676255e72a465899
languageName: node
linkType: hard
@@ -6123,11 +6148,11 @@ __metadata:
linkType: hard
"@openfeature/web-sdk@npm:^1.6.1":
version: 1.6.1
resolution: "@openfeature/web-sdk@npm:1.6.1"
version: 1.7.1
resolution: "@openfeature/web-sdk@npm:1.7.1"
peerDependencies:
"@openfeature/core": ^1.9.0
checksum: 10/8bd7d1ea386e21cdd7492cab2fd1d2b138b4e6a376a4c0a40244633e5955f6452039bc2633fc5230bd7b494506a4137ba7210d40850634f9618f77a0ee435f9d
checksum: 10/358cabfddda8bf67a9bd96ce28f0f84a3218416907f8df4f2a58750ee840d164d86a1c859e8c9aa92d132fa28fcf72a0f17ceece798ff8af297d3e1c1e30cdab
languageName: node
linkType: hard
@@ -7943,6 +7968,18 @@ __metadata:
languageName: node
linkType: hard
"@storybook/addon-webpack5-compiler-swc@npm:^4.0.2":
version: 4.0.2
resolution: "@storybook/addon-webpack5-compiler-swc@npm:4.0.2"
dependencies:
"@swc/core": "npm:^1.13.5"
swc-loader: "npm:^0.2.6"
peerDependencies:
storybook: ^9.0.0 || ^10.0.0-0 || ^10.1.0-0 || ^10.2.0-0 || ^10.3.0-0
checksum: 10/1383346b97d9f679ad830751dd1c94c8ab1c6aeb141feda60dcc7ef2ac69e97c3fb3a2a2a3f020e07598dea315760cb0c079f928f29faaf12f143d627487b0e1
languageName: node
linkType: hard
"@storybook/blocks@npm:8.6.2, @storybook/blocks@npm:^8.6.2":
version: 8.6.2
resolution: "@storybook/blocks@npm:8.6.2"
@@ -7962,6 +7999,34 @@ __metadata:
languageName: node
linkType: hard
"@storybook/builder-webpack5@npm:10.0.8":
version: 10.0.8
resolution: "@storybook/builder-webpack5@npm:10.0.8"
dependencies:
"@storybook/core-webpack": "npm:10.0.8"
case-sensitive-paths-webpack-plugin: "npm:^2.4.0"
cjs-module-lexer: "npm:^1.2.3"
css-loader: "npm:^7.1.2"
es-module-lexer: "npm:^1.5.0"
fork-ts-checker-webpack-plugin: "npm:^9.1.0"
html-webpack-plugin: "npm:^5.5.0"
magic-string: "npm:^0.30.5"
style-loader: "npm:^4.0.0"
terser-webpack-plugin: "npm:^5.3.14"
ts-dedent: "npm:^2.0.0"
webpack: "npm:5"
webpack-dev-middleware: "npm:^6.1.2"
webpack-hot-middleware: "npm:^2.25.1"
webpack-virtual-modules: "npm:^0.6.0"
peerDependencies:
storybook: ^10.0.8
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/136ad58f58a3595d443fa4bd3a5dd9cca30a52a59c3a34e82d1b32b1be82e292b02d3c4b74204b1e5d92c3bab3de86a164ae69f19671a52408da5cc14f550720
languageName: node
linkType: hard
"@storybook/builder-webpack5@npm:8.6.2":
version: 8.6.2
resolution: "@storybook/builder-webpack5@npm:8.6.2"
@@ -8017,6 +8082,17 @@ __metadata:
languageName: node
linkType: hard
"@storybook/core-webpack@npm:10.0.8":
version: 10.0.8
resolution: "@storybook/core-webpack@npm:10.0.8"
dependencies:
ts-dedent: "npm:^2.0.0"
peerDependencies:
storybook: ^10.0.8
checksum: 10/b71baea4b0c929d1173c39bf287be94fd2862c91cf0945bed62331a4ed2b6f96dc9273b1d8b229e885cfd260d0cac7d7a8a86582a20d95c5bf27669be198752e
languageName: node
linkType: hard
"@storybook/core-webpack@npm:8.6.2":
version: 8.6.2
resolution: "@storybook/core-webpack@npm:8.6.2"
@@ -8080,6 +8156,16 @@ __metadata:
languageName: node
linkType: hard
"@storybook/icons@npm:^1.6.0":
version: 1.6.0
resolution: "@storybook/icons@npm:1.6.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
checksum: 10/f9036ca3b0d2904778eb4e202305f2780b549434380f9760f0bc704fe3ee19d7332f9560a66435ebb2156346cee9a863e40fa5e4b27790bf993b0c1180a3146d
languageName: node
linkType: hard
"@storybook/instrumenter@npm:8.6.2":
version: 8.6.2
resolution: "@storybook/instrumenter@npm:8.6.2"
@@ -8108,6 +8194,30 @@ __metadata:
languageName: node
linkType: hard
"@storybook/preset-react-webpack@npm:10.0.8":
version: 10.0.8
resolution: "@storybook/preset-react-webpack@npm:10.0.8"
dependencies:
"@storybook/core-webpack": "npm:10.0.8"
"@storybook/react-docgen-typescript-plugin": "npm:1.0.6--canary.9.0c3f3b7.0"
"@types/semver": "npm:^7.3.4"
magic-string: "npm:^0.30.5"
react-docgen: "npm:^7.1.1"
resolve: "npm:^1.22.8"
semver: "npm:^7.3.7"
tsconfig-paths: "npm:^4.2.0"
webpack: "npm:5"
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.0.8
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/b361b27b1550db1f03888fb06596cee35e1b6724aa41eafc23e47b28623d64c5ec1d33d0120f0280e49064a573144ccf8de114014f1d2f23730045be0ac86773
languageName: node
linkType: hard
"@storybook/preset-react-webpack@npm:8.6.2":
version: 8.6.2
resolution: "@storybook/preset-react-webpack@npm:8.6.2"
@@ -8172,6 +8282,17 @@ __metadata:
languageName: node
linkType: hard
"@storybook/react-dom-shim@npm:10.0.8":
version: 10.0.8
resolution: "@storybook/react-dom-shim@npm:10.0.8"
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.0.8
checksum: 10/99106afb92644ce801c0c24923e40d78d7ed935b9f8f10ceb1a1a827d777d294c37ecbdf793148747dcb4e735a34d876c691b6bac82c7058deef9ad451147dd1
languageName: node
linkType: hard
"@storybook/react-dom-shim@npm:8.6.2":
version: 8.6.2
resolution: "@storybook/react-dom-shim@npm:8.6.2"
@@ -8183,6 +8304,25 @@ __metadata:
languageName: node
linkType: hard
"@storybook/react-webpack5@npm:^10.0.8":
version: 10.0.8
resolution: "@storybook/react-webpack5@npm:10.0.8"
dependencies:
"@storybook/builder-webpack5": "npm:10.0.8"
"@storybook/preset-react-webpack": "npm:10.0.8"
"@storybook/react": "npm:10.0.8"
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.0.8
typescript: ">= 4.9.x"
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/384b1261a9a94c4399109da0121c0070b8138a1a1ce7d1a39bab43fe5c4898144ffacb22308d6d7101677f5c4b70ffe0001b41054cc675ffe8d0fa7c84e9ed24
languageName: node
linkType: hard
"@storybook/react-webpack5@npm:^8.6.2":
version: 8.6.2
resolution: "@storybook/react-webpack5@npm:8.6.2"
@@ -8202,6 +8342,24 @@ __metadata:
languageName: node
linkType: hard
"@storybook/react@npm:10.0.8, @storybook/react@npm:^10.0.8":
version: 10.0.8
resolution: "@storybook/react@npm:10.0.8"
dependencies:
"@storybook/global": "npm:^5.0.0"
"@storybook/react-dom-shim": "npm:10.0.8"
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.0.8
typescript: ">= 4.9.x"
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/cbb46246958a0d2db0cc641661a14e5ae20b08ee4d2626e6d39ae4332053b3c6d84bdb77e36bc839ae7dd770504049f187466383ee06aac33bc2ef5a1c69b78f
languageName: node
linkType: hard
"@storybook/react@npm:8.6.2, @storybook/react@npm:^8.6.2":
version: 8.6.2
resolution: "@storybook/react@npm:8.6.2"
@@ -8881,6 +9039,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-darwin-arm64@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-darwin-arm64@npm:1.15.3"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@swc/core-darwin-x64@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-darwin-x64@npm:1.13.3"
@@ -8895,6 +9060,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-darwin-x64@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-darwin-x64@npm:1.15.3"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@swc/core-linux-arm-gnueabihf@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-linux-arm-gnueabihf@npm:1.13.3"
@@ -8909,6 +9081,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-linux-arm-gnueabihf@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-linux-arm-gnueabihf@npm:1.15.3"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"@swc/core-linux-arm64-gnu@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-linux-arm64-gnu@npm:1.13.3"
@@ -8923,6 +9102,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-linux-arm64-gnu@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-linux-arm64-gnu@npm:1.15.3"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@swc/core-linux-arm64-musl@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-linux-arm64-musl@npm:1.13.3"
@@ -8937,6 +9123,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-linux-arm64-musl@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-linux-arm64-musl@npm:1.15.3"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@swc/core-linux-x64-gnu@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-linux-x64-gnu@npm:1.13.3"
@@ -8951,6 +9144,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-linux-x64-gnu@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-linux-x64-gnu@npm:1.15.3"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@swc/core-linux-x64-musl@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-linux-x64-musl@npm:1.13.3"
@@ -8965,6 +9165,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-linux-x64-musl@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-linux-x64-musl@npm:1.15.3"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@swc/core-win32-arm64-msvc@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-win32-arm64-msvc@npm:1.13.3"
@@ -8979,6 +9186,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-win32-arm64-msvc@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-win32-arm64-msvc@npm:1.15.3"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@swc/core-win32-ia32-msvc@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-win32-ia32-msvc@npm:1.13.3"
@@ -8993,6 +9207,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-win32-ia32-msvc@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-win32-ia32-msvc@npm:1.15.3"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@swc/core-win32-x64-msvc@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core-win32-x64-msvc@npm:1.13.3"
@@ -9007,6 +9228,13 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-win32-x64-msvc@npm:1.15.3":
version: 1.15.3
resolution: "@swc/core-win32-x64-msvc@npm:1.15.3"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@swc/core@npm:1.13.3":
version: 1.13.3
resolution: "@swc/core@npm:1.13.3"
@@ -9053,7 +9281,7 @@ __metadata:
languageName: node
linkType: hard
"@swc/core@npm:1.15.2, @swc/core@npm:^1.10.8, @swc/core@npm:^1.5.22":
"@swc/core@npm:1.15.2, @swc/core@npm:^1.13.5":
version: 1.15.2
resolution: "@swc/core@npm:1.15.2"
dependencies:
@@ -9099,6 +9327,52 @@ __metadata:
languageName: node
linkType: hard
"@swc/core@npm:^1.10.8, @swc/core@npm:^1.5.22":
version: 1.15.3
resolution: "@swc/core@npm:1.15.3"
dependencies:
"@swc/core-darwin-arm64": "npm:1.15.3"
"@swc/core-darwin-x64": "npm:1.15.3"
"@swc/core-linux-arm-gnueabihf": "npm:1.15.3"
"@swc/core-linux-arm64-gnu": "npm:1.15.3"
"@swc/core-linux-arm64-musl": "npm:1.15.3"
"@swc/core-linux-x64-gnu": "npm:1.15.3"
"@swc/core-linux-x64-musl": "npm:1.15.3"
"@swc/core-win32-arm64-msvc": "npm:1.15.3"
"@swc/core-win32-ia32-msvc": "npm:1.15.3"
"@swc/core-win32-x64-msvc": "npm:1.15.3"
"@swc/counter": "npm:^0.1.3"
"@swc/types": "npm:^0.1.25"
peerDependencies:
"@swc/helpers": ">=0.5.17"
dependenciesMeta:
"@swc/core-darwin-arm64":
optional: true
"@swc/core-darwin-x64":
optional: true
"@swc/core-linux-arm-gnueabihf":
optional: true
"@swc/core-linux-arm64-gnu":
optional: true
"@swc/core-linux-arm64-musl":
optional: true
"@swc/core-linux-x64-gnu":
optional: true
"@swc/core-linux-x64-musl":
optional: true
"@swc/core-win32-arm64-msvc":
optional: true
"@swc/core-win32-ia32-msvc":
optional: true
"@swc/core-win32-x64-msvc":
optional: true
peerDependenciesMeta:
"@swc/helpers":
optional: true
checksum: 10/280330d82328818138ed64fdcf9ea9abde6b6f16eca65a9d4db27dde06a8dfffd2649f3447d2243387277513c7430fa4142cafcfd64e943d682ce6a713cb8c2d
languageName: node
linkType: hard
"@swc/counter@npm:^0.1.3":
version: 0.1.3
resolution: "@swc/counter@npm:0.1.3"
@@ -9480,6 +9754,16 @@ __metadata:
languageName: node
linkType: hard
"@types/chai@npm:^5.2.2":
version: 5.2.3
resolution: "@types/chai@npm:5.2.3"
dependencies:
"@types/deep-eql": "npm:*"
assertion-error: "npm:^2.0.1"
checksum: 10/e79947307dc235953622e65f83d2683835212357ca261389116ab90bed369ac862ba28b146b4fed08b503ae1e1a12cb93ce783f24bb8d562950469f4320e1c7c
languageName: node
linkType: hard
"@types/chance@npm:^1.1.7":
version: 1.1.7
resolution: "@types/chance@npm:1.1.7"
@@ -9844,6 +10128,13 @@ __metadata:
languageName: node
linkType: hard
"@types/deep-eql@npm:*":
version: 4.0.2
resolution: "@types/deep-eql@npm:4.0.2"
checksum: 10/249a27b0bb22f6aa28461db56afa21ec044fa0e303221a62dff81831b20c8530502175f1a49060f7099e7be06181078548ac47c668de79ff9880241968d43d0c
languageName: node
linkType: hard
"@types/doctrine@npm:^0.0.9":
version: 0.0.9
resolution: "@types/doctrine@npm:0.0.9"
@@ -9916,7 +10207,7 @@ __metadata:
languageName: node
linkType: hard
"@types/fs-extra@npm:^11.0.4":
"@types/fs-extra@npm:^11, @types/fs-extra@npm:^11.0.4":
version: 11.0.4
resolution: "@types/fs-extra@npm:11.0.4"
dependencies:
@@ -11134,6 +11425,38 @@ __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/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/pretty-format@npm:2.0.5":
version: 2.0.5
resolution: "@vitest/pretty-format@npm:2.0.5"
@@ -11152,6 +11475,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/spy@npm:2.0.5":
version: 2.0.5
resolution: "@vitest/spy@npm:2.0.5"
@@ -11161,6 +11493,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/utils@npm:2.0.5":
version: 2.0.5
resolution: "@vitest/utils@npm:2.0.5"
@@ -11173,6 +11514,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:^2.1.1":
version: 2.1.9
resolution: "@vitest/utils@npm:2.1.9"
@@ -13201,6 +13553,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
"chalk@npm:4.1.0":
version: 4.1.0
resolution: "chalk@npm:4.1.0"
@@ -14455,7 +14820,7 @@ __metadata:
languageName: node
linkType: hard
"css-loader@npm:7.1.2":
"css-loader@npm:7.1.2, css-loader@npm:^7.1.2":
version: 7.1.2
resolution: "css-loader@npm:7.1.2"
dependencies:
@@ -17951,7 +18316,7 @@ __metadata:
languageName: node
linkType: hard
"fork-ts-checker-webpack-plugin@npm:9.1.0":
"fork-ts-checker-webpack-plugin@npm:9.1.0, fork-ts-checker-webpack-plugin@npm:^9.1.0":
version: 9.1.0
resolution: "fork-ts-checker-webpack-plugin@npm:9.1.0"
dependencies:
@@ -18097,6 +18462,17 @@ __metadata:
languageName: node
linkType: hard
"fs-extra@npm:^11.3.2":
version: 11.3.2
resolution: "fs-extra@npm:11.3.2"
dependencies:
graceful-fs: "npm:^4.2.0"
jsonfile: "npm:^6.0.1"
universalify: "npm:^2.0.0"
checksum: 10/d559545c73fda69c75aa786f345c2f738b623b42aea850200b1582e006a35278f63787179e3194ba19413c26a280441758952b0c7e88dd96762d497e365a6c3e
languageName: node
linkType: hard
"fs-extra@npm:^8.0.1, fs-extra@npm:^8.1.0":
version: 8.1.0
resolution: "fs-extra@npm:8.1.0"
@@ -20037,22 +20413,22 @@ __metadata:
linkType: hard
"i18next@npm:^23.5.1 || ^24.2.0":
version: 24.2.2
resolution: "i18next@npm:24.2.2"
version: 24.2.3
resolution: "i18next@npm:24.2.3"
dependencies:
"@babel/runtime": "npm:^7.23.2"
"@babel/runtime": "npm:^7.26.10"
peerDependencies:
typescript: ^5
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/f66ed9e56d9412e59502f5df39163631daf9f1264774732fb21edbd66a528ca7a6b67dc2e2aec95683c6c7956e42c651587a54bd8ee082bd12008880ce6cd326
checksum: 10/6c73d964f2a98b1aa2c2717fe6da66fc265bcbbc5fcd52b2bfff51ff013d30d4f7d7449c4eb7f464d27af43e2e73f2e7f1d46a144d731bd3bdb1385d4c199e4c
languageName: node
linkType: hard
"i18next@npm:^25.0.0, i18next@npm:^25.5.2":
version: 25.5.2
resolution: "i18next@npm:25.5.2"
version: 25.6.2
resolution: "i18next@npm:25.6.2"
dependencies:
"@babel/runtime": "npm:^7.27.6"
peerDependencies:
@@ -20060,7 +20436,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 10/8d52e82386722a228f4465aa5cf39d82bd9861ea9cc8b31d7cc4d22d5e70b2740ee006068b09f486d5273cabd227a2ac14f37d68fab26344524200083f679bcd
checksum: 10/bb7f3e200caac72bacaead766287dbad5ed5945430bd9f2be1c14fbccd49cf78ab751f78cf53cd0be3ec063bc4c40837d7d771f7b14d50fcb9022e1ed5d6e72f
languageName: node
linkType: hard
@@ -23161,9 +23537,9 @@ __metadata:
linkType: hard
"lossless-json@npm:^4.1.1":
version: 4.2.0
resolution: "lossless-json@npm:4.2.0"
checksum: 10/b29cbf9a90b8f3108219ff410223a90a3a6ad14cf902eed4038571d9421c69ade7077fb59737e1ca20f3f404ddd68fad69be11365b0d79b4b61421b054759551
version: 4.3.0
resolution: "lossless-json@npm:4.3.0"
checksum: 10/a984a882c79b6e62a917d0202518472c17587bdee002f1427d7ec61115f9fbdeb5f0baa9f0e9fff8d9dbacd17da6b6c910012b2dcab69dd33d151cb7c13d5a37
languageName: node
linkType: hard
@@ -23174,6 +23550,13 @@ __metadata:
languageName: node
linkType: hard
"loupe@npm:^3.1.4":
version: 3.2.1
resolution: "loupe@npm:3.2.1"
checksum: 10/a4d78ec758aaa04e0e35d5cd1c15e970beb9cdbfd3d0f34f98b9bcda489f896a7190b3b6cc40b7a6dcb8e97e82e96eafaae10096aaa469804acdba6f7c2bde5f
languageName: node
linkType: hard
"lower-case@npm:^2.0.2":
version: 2.0.2
resolution: "lower-case@npm:2.0.2"
@@ -23262,6 +23645,15 @@ __metadata:
languageName: node
linkType: hard
"magic-string@npm:^0.30.17":
version: 0.30.21
resolution: "magic-string@npm:0.30.21"
dependencies:
"@jridgewell/sourcemap-codec": "npm:^1.5.5"
checksum: 10/57d5691f41ed40d962d8bd300148114f53db67fadbff336207db10a99f2bdf4a1be9cac3a68ee85dba575912ee1d4402e4396408196ec2d3afd043b076156221
languageName: node
linkType: hard
"magic-string@npm:^0.30.3, magic-string@npm:^0.30.5":
version: 0.30.17
resolution: "magic-string@npm:0.30.17"
@@ -23638,9 +24030,9 @@ __metadata:
linkType: hard
"micro-memoize@npm:^4.1.2":
version: 4.1.3
resolution: "micro-memoize@npm:4.1.3"
checksum: 10/4e9c7767911cc76ae9c9779584ec87844437af9446b295a01774640a732c2c7f91944794027f44625031f7330ab7f9147740d0a9fb612680d1d2d858dad43402
version: 4.2.0
resolution: "micro-memoize@npm:4.2.0"
checksum: 10/260e27a5c15809f7dc435a89a424d93e49ccca62b743fa96ee72f254264df58c95edacbd847a2899a6d7f8ad0daef188548a8b12add5ccff83e88869a50a762c
languageName: node
linkType: hard
@@ -27948,6 +28340,24 @@ __metadata:
languageName: node
linkType: hard
"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"
"@babel/types": "npm:^7.18.9"
"@types/babel__core": "npm:^7.18.0"
"@types/babel__traverse": "npm:^7.18.0"
"@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/501e5fa0d00e32ee27559f44462a34e9531018ccb46c51efbe60b98a4c077f43dbe8999da5bb91d2ab45a83a34099436a3b725fdabd3f218dbb4493c0b1c9f95
languageName: node
linkType: hard
"react-dom@npm:18.3.1":
version: 18.3.1
resolution: "react-dom@npm:18.3.1"
@@ -30862,6 +31272,32 @@ __metadata:
languageName: node
linkType: hard
"storybook@npm:^10.0.8":
version: 10.0.8
resolution: "storybook@npm:10.0.8"
dependencies:
"@storybook/global": "npm:^5.0.0"
"@storybook/icons": "npm:^1.6.0"
"@testing-library/jest-dom": "npm:^6.6.3"
"@testing-library/user-event": "npm:^14.6.1"
"@vitest/expect": "npm:3.2.4"
"@vitest/mocker": "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"
recast: "npm:^0.23.5"
semver: "npm:^7.6.2"
ws: "npm:^8.18.0"
peerDependencies:
prettier: ^2 || ^3
peerDependenciesMeta:
prettier:
optional: true
bin:
storybook: ./dist/bin/dispatcher.js
checksum: 10/a30b54248d69d7406f78e1871e075092ed9ae366d1c7cec56dc10b31b72a5196ef9e751453c9a7546797228c4fe0f01893c6fa541d24cf51037124d4f0e1566e
languageName: node
linkType: hard
"storybook@npm:^8.6.2":
version: 8.6.2
resolution: "storybook@npm:8.6.2"
@@ -31210,7 +31646,7 @@ __metadata:
languageName: node
linkType: hard
"style-loader@npm:4.0.0":
"style-loader@npm:4.0.0, style-loader@npm:^4.0.0":
version: 4.0.0
resolution: "style-loader@npm:4.0.0"
peerDependencies:
@@ -31656,7 +32092,7 @@ __metadata:
languageName: node
linkType: hard
"terser-webpack-plugin@npm:5.3.14, terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.11":
"terser-webpack-plugin@npm:5.3.14, terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.11, terser-webpack-plugin@npm:^5.3.14":
version: 5.3.14
resolution: "terser-webpack-plugin@npm:5.3.14"
dependencies:
@@ -31860,6 +32296,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
"tinyspy@npm:^3.0.0":
version: 3.0.2
resolution: "tinyspy@npm:3.0.2"
@@ -31867,6 +32310,13 @@ __metadata:
languageName: node
linkType: hard
"tinyspy@npm:^4.0.3":
version: 4.0.4
resolution: "tinyspy@npm:4.0.4"
checksum: 10/858a99e3ded2fba8fe7c243099d9e58e926d6525af03d19cdf86c1a9a30398161fb830b4f77890d266bcc1c69df08fa6f4baf29d089385e4cdaa98d7b6296e7c
languageName: node
linkType: hard
"title-case@npm:^3.0.3":
version: 3.0.3
resolution: "title-case@npm:3.0.3"
@@ -34037,7 +34487,7 @@ __metadata:
languageName: node
linkType: hard
"ws@npm:^8.18.3, ws@npm:^8.2.3, ws@npm:^8.9.0":
"ws@npm:^8.18.0, ws@npm:^8.18.3, ws@npm:^8.2.3, ws@npm:^8.9.0":
version: 8.18.3
resolution: "ws@npm:8.18.3"
peerDependencies: