├── vite.config.ts
├── .gitignore
├── tsconfig.json
├── .storybook
├── preview.ts
└── main.ts
├── tsconfig.base.json
├── README.md
├── package.json
├── src
├── FPSMeter.stories.tsx
└── index.tsx
└── pnpm-lock.yaml
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | export default defineConfig({
5 | plugins: [react()],
6 | })
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | .DS_Store
3 | node_modules
4 |
5 | /.yarn/*
6 | !/.yarn/releases
7 | !/.yarn/patches
8 | !/.yarn/plugins
9 | !/.yarn/sdks
10 |
11 | storybook-static
12 |
13 | tmp
14 | .vercel
15 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "compilerOptions": {
4 | "jsx": "preserve",
5 | "outDir": "./dist",
6 | "rootDir": "./src",
7 | "tsBuildInfoFile": "./dist/.tsbuildinfo"
8 | },
9 | "include": ["./src"],
10 | }
11 |
--------------------------------------------------------------------------------
/.storybook/preview.ts:
--------------------------------------------------------------------------------
1 | import type { Preview } from '@storybook/react'
2 |
3 | const preview: Preview = {
4 | parameters: {
5 | controls: {
6 | matchers: {
7 | color: /(background|color)$/i,
8 | date: /Date$/i,
9 | },
10 | },
11 | },
12 | }
13 |
14 | export default preview
--------------------------------------------------------------------------------
/.storybook/main.ts:
--------------------------------------------------------------------------------
1 | import type { StorybookConfig } from '@storybook/react-vite'
2 |
3 | const config: StorybookConfig = {
4 | stories: ['../src/**/*.stories.@(js|jsx|ts|tsx)'],
5 | addons: [],
6 | framework: {
7 | name: '@storybook/react-vite',
8 | options: {},
9 | },
10 | }
11 |
12 | export default config
--------------------------------------------------------------------------------
/tsconfig.base.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "strict": true,
4 | "noUncheckedIndexedAccess": true,
5 | "esModuleInterop": true,
6 | "sourceMap": true,
7 | "declarationMap": true,
8 | "declaration": true,
9 | "moduleResolution": "node",
10 | "strictNullChecks": true,
11 | "incremental": true,
12 | "composite": true,
13 | "allowJs": true,
14 | "skipLibCheck": true,
15 | "forceConsistentCasingInFileNames": true,
16 | "noFallthroughCasesInSwitch": true,
17 | "noErrorTruncation": true,
18 | "isolatedModules": true,
19 | "target": "ES2022",
20 | "module": "ESNext",
21 | },
22 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # fps-meter [](https://www.npmjs.com/package/@overengineering/fps-meter)
2 |
3 | Fast and simple FPS meter for React. Renders to a canvas element and uses requestAnimationFrame to update the FPS counter.
4 |
5 |
6 |
7 |
8 |
9 | ### Install
10 |
11 | ```sh
12 | pnpm add @overengineering/fps-meter
13 | ```
14 |
15 | ### Usage
16 |
17 | ```tsx
18 | import React from 'react'
19 | import { FPSMeter } from '@overengineering/fps-meter'
20 |
21 | export const MyApp: React.FC = () => {
22 | return (
23 |
24 |
25 |
26 | )
27 | }
28 | ```
29 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@overengineering/fps-meter",
3 | "version": "0.2.4",
4 | "type": "module",
5 | "files": [
6 | "dist",
7 | "src",
8 | "README.md"
9 | ],
10 | "repository": {
11 | "type": "git",
12 | "url": "https://github.com/overengineeringstudio/fps-meter"
13 | },
14 | "exports": {
15 | ".": {
16 | "import": "./dist/index.jsx",
17 | "default": "./dist/index.jsx",
18 | "types": "./dist/index.d.ts"
19 | }
20 | },
21 | "types": "./dist/index.d.ts",
22 | "scripts": {
23 | "build": "tsc",
24 | "storybook": "storybook dev -p 6006",
25 | "build-storybook": "storybook build"
26 | },
27 | "peerDependencies": {
28 | "react": "*"
29 | },
30 | "devDependencies": {
31 | "@storybook/react": "^9.0.16",
32 | "@storybook/react-vite": "^9.0.16",
33 | "@types/react": "^18.2.6",
34 | "@vitejs/plugin-react": "^4.6.0",
35 | "playwright": "^1.54.1",
36 | "react": "^19.1.0",
37 | "react-dom": "^19.1.0",
38 | "storybook": "^9.0.16",
39 | "typescript": "^5.0.4",
40 | "vite": "^7.0.4"
41 | },
42 | "packageManager": "pnpm@9.9.0"
43 | }
44 |
--------------------------------------------------------------------------------
/src/FPSMeter.stories.tsx:
--------------------------------------------------------------------------------
1 | import type { Meta, StoryObj } from '@storybook/react'
2 | import { FPSMeter } from './index'
3 |
4 | const meta: Meta = {
5 | title: 'FPSMeter',
6 | component: FPSMeter,
7 | parameters: {
8 | layout: 'centered',
9 | },
10 | argTypes: {
11 | width: {
12 | control: { type: 'range', min: 50, max: 300, step: 10 },
13 | },
14 | height: {
15 | control: { type: 'range', min: 20, max: 100, step: 5 },
16 | },
17 | initialSystemFps: {
18 | control: { type: 'select' },
19 | options: [60, 120, 144, 160, 240],
20 | },
21 | className: {
22 | control: { type: 'text' },
23 | },
24 | },
25 | }
26 |
27 | export default meta
28 | type Story = StoryObj
29 |
30 | export const Default: Story = {
31 | args: {
32 | width: 120,
33 | height: 30,
34 | initialSystemFps: 60,
35 | },
36 | }
37 |
38 | export const Small: Story = {
39 | args: {
40 | width: 80,
41 | height: 20,
42 | initialSystemFps: 60,
43 | },
44 | }
45 |
46 | export const Large: Story = {
47 | args: {
48 | width: 200,
49 | height: 50,
50 | initialSystemFps: 60,
51 | },
52 | }
53 |
54 | export const HighRefreshRate: Story = {
55 | args: {
56 | width: 120,
57 | height: 30,
58 | initialSystemFps: 144,
59 | },
60 | }
61 |
62 | export const VeryHighRefreshRate: Story = {
63 | args: {
64 | width: 120,
65 | height: 30,
66 | initialSystemFps: 240,
67 | },
68 | }
--------------------------------------------------------------------------------
/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 | const getDevicePixelRatio = (): number => {
4 | if (typeof window === 'undefined') {
5 | return 1
6 | }
7 |
8 | const ratio = window.devicePixelRatio ?? 1
9 | if (Number.isFinite(ratio)) {
10 | return Math.round(ratio)
11 | }
12 |
13 | return 1
14 | }
15 |
16 | const supportedFps = [60, 120, 144, 160, 240] as const
17 |
18 | const getFrameBarWidth = (fps: number): number => {
19 | if (fps <= 60) return 2
20 | if (fps <= 144) return 1
21 | return 0.5
22 | }
23 |
24 | export type FPSMeterProps = {
25 | width?: number
26 | height?: number
27 | initialSystemFps?: number
28 | className?: string
29 | }
30 |
31 | const FRAME_HIT = Symbol('FRAME_HIT')
32 | const FRAME_MISS = Symbol('FRAME_MISS')
33 | const FRAME_UNINITIALIZED = Symbol('FRAME_UNINITIALIZED')
34 |
35 | type FrameValue = typeof FRAME_HIT | typeof FRAME_MISS | typeof FRAME_UNINITIALIZED
36 |
37 | // TODO handle frames differently if browser went to background
38 | export const FPSMeter: React.FC = ({ width = 120, height = 30, initialSystemFps = 60, className }) => {
39 | const [systemFps, setSystemFps] = React.useState(initialSystemFps)
40 |
41 | const frameBarWidth = React.useMemo(() => getFrameBarWidth(systemFps), [systemFps])
42 | const pixelRatio = React.useMemo(() => getDevicePixelRatio(), [])
43 | const adjustedWidth = Math.round(width * pixelRatio)
44 | const adjustedHeight = Math.round(height * pixelRatio)
45 | const numberOfVisibleFrames = React.useMemo(() => Math.floor(adjustedWidth / frameBarWidth), [adjustedWidth, frameBarWidth])
46 |
47 | // Frame duration tracking for FPS detection
48 | const last500FrameDurations = React.useMemo(() => Array.from({ length: 500 }).fill(0), [])
49 |
50 | const readjustSystemFps = React.useCallback(() => {
51 | const nonZero = last500FrameDurations.filter((_) => _ > 0).sort()
52 | if (nonZero.length < 10) return
53 |
54 | const medianIndex = Math.floor(nonZero.length / 2)
55 | const tenFramesAroundMedian = nonZero.slice(medianIndex - 5, medianIndex + 5)
56 | const sumOfTenFramesAroundMedian = tenFramesAroundMedian.reduce((acc, _) => acc + _, 0)
57 | const newSystemFps = Math.round(10_000 / sumOfTenFramesAroundMedian)
58 |
59 | const closestFps = supportedFps.find((fps) => Math.abs(newSystemFps - fps) < 10)
60 |
61 | if (closestFps === undefined) {
62 | console.warn(`Unsupported system FPS ${newSystemFps}`)
63 | return
64 | }
65 |
66 | if (systemFps !== closestFps) {
67 | setSystemFps(closestFps)
68 | }
69 | }, [last500FrameDurations, systemFps])
70 |
71 | const resolutionInMs = 1000 / systemFps
72 |
73 | // NOTE larger values can result in more items taken from array than it has and makes stuff go boom
74 | const numberOfSecondsForAverageFps = 2
75 |
76 | // Depending on bar size and screen refresh rate, it can happen that the count of visible frames
77 | // is smaller than the count of frames used for calculating the average FPS.
78 | // To avoid this case, we force the number of frames used to calculate average FPS to always be less
79 | // than the number of visible frames.
80 | const numberOfFramesForAverageFps = Math.min(numberOfSecondsForAverageFps * systemFps, numberOfVisibleFrames)
81 |
82 | // eslint-disable-next-line unicorn/no-useless-undefined
83 | const animationFrameRef = React.useRef(undefined)
84 |
85 | const canvasRef = React.useCallback(
86 | (canvas: HTMLCanvasElement | null) => {
87 | if (animationFrameRef.current !== undefined && typeof window !== 'undefined') {
88 | window.cancelAnimationFrame(animationFrameRef.current)
89 | }
90 |
91 | if (canvas === null) return
92 | if (typeof window === 'undefined') return
93 |
94 | if (numberOfFramesForAverageFps > numberOfVisibleFrames) {
95 | throw new Error(
96 | `numberOfFramesForAverageFps (${numberOfFramesForAverageFps}) must be smaller than numberOfVisibleFrames (${numberOfVisibleFrames}). Either increase the width or increase the resolutionInMs.`,
97 | )
98 | }
99 |
100 | // eslint-disable-next-line unicorn/no-new-array
101 | const frames: FrameValue[] = new Array(numberOfVisibleFrames).fill(FRAME_UNINITIALIZED)
102 |
103 | const ctx = canvas.getContext('2d')!
104 |
105 | const draw = (frameNumber: number) => {
106 | ctx.clearRect(0, 0, adjustedWidth, adjustedHeight)
107 |
108 | // Calculate chunk width for alternating pattern
109 | const chunkWidth = (1 / frameBarWidth) * 8
110 |
111 | for (let i = 0; i < numberOfVisibleFrames; i++) {
112 | const frameHit = frames[i]!
113 | if (frameHit === FRAME_UNINITIALIZED) continue
114 |
115 | const x = i * frameBarWidth
116 |
117 | // Alternating colors for visual feedback that rendering isn't blocked
118 | const isEvenChunk = (frameNumber + i) % (chunkWidth * 2) < chunkWidth
119 | ctx.fillStyle =
120 | frameHit === FRAME_MISS
121 | ? 'rgba(255, 0, 0, 1)' // red
122 | : isEvenChunk
123 | ? 'rgba(255, 255, 255, 0.37)' // slightly more transparent
124 | : 'rgba(255, 255, 255, 0.4)' // slightly less transparent
125 | ctx.fillRect(x, adjustedHeight, frameBarWidth, -adjustedHeight)
126 | }
127 |
128 | // Rendering average FPS value text
129 | let frameCount = 0
130 | let numberOfInitializedFrames = 0
131 | for (let i = 0; i < numberOfFramesForAverageFps; i++) {
132 | const frameHit = frames.at(-i - 1)!
133 | if (frameHit !== FRAME_UNINITIALIZED) {
134 | frameCount += frameHit === FRAME_HIT ? 1 : 0
135 | numberOfInitializedFrames++
136 | }
137 | }
138 | if (numberOfInitializedFrames >= numberOfFramesForAverageFps) {
139 | ctx.fillStyle = 'white'
140 | const fontSize = pixelRatio * 10
141 | ctx.font = `${fontSize}px monospace`
142 |
143 | const averageFps = Math.round((systemFps * frameCount) / numberOfInitializedFrames)
144 | ctx.fillText(`${averageFps} FPS`, 2 * pixelRatio, adjustedHeight - 3 * pixelRatio)
145 | }
146 | }
147 |
148 | let previousFrameNumber = 0
149 | let previousFrameTime = 0
150 |
151 | const loop = () => {
152 | animationFrameRef.current = window.requestAnimationFrame((now) => {
153 | loop()
154 |
155 | const frameNumber = Math.floor(now / resolutionInMs)
156 |
157 | const numberOfSkippedFrames = frameNumber - previousFrameNumber - 1
158 |
159 | // Checking for skipped frames
160 | for (let i = 0; i < numberOfSkippedFrames; i++) {
161 | frames.shift()!
162 | frames.push(FRAME_MISS)
163 | }
164 |
165 | frames.shift()!
166 | frames.push(FRAME_HIT)
167 |
168 | previousFrameNumber = frameNumber
169 |
170 | const frameDuration = now - previousFrameTime
171 | previousFrameTime = now
172 | last500FrameDurations.shift()
173 | last500FrameDurations.push(frameDuration)
174 |
175 | if (frameNumber % 100 === 0) {
176 | readjustSystemFps()
177 | }
178 |
179 | draw(frameNumber)
180 | })
181 | }
182 |
183 | loop()
184 | },
185 | [adjustedHeight, adjustedWidth, numberOfVisibleFrames, numberOfFramesForAverageFps, resolutionInMs, frameBarWidth, last500FrameDurations, readjustSystemFps, pixelRatio],
186 | )
187 |
188 | return (
189 |
196 | )
197 | }
198 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | devDependencies:
11 | '@storybook/react':
12 | specifier: ^9.0.16
13 | version: 9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0))(typescript@5.6.3)
14 | '@storybook/react-vite':
15 | specifier: ^9.0.16
16 | version: 9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.45.0)(storybook@9.0.16(@testing-library/dom@10.4.0))(typescript@5.6.3)(vite@7.0.4)
17 | '@types/react':
18 | specifier: ^18.2.6
19 | version: 18.3.12
20 | '@vitejs/plugin-react':
21 | specifier: ^4.6.0
22 | version: 4.6.0(vite@7.0.4)
23 | playwright:
24 | specifier: ^1.54.1
25 | version: 1.54.1
26 | react:
27 | specifier: ^19.1.0
28 | version: 19.1.0
29 | react-dom:
30 | specifier: ^19.1.0
31 | version: 19.1.0(react@19.1.0)
32 | storybook:
33 | specifier: ^9.0.16
34 | version: 9.0.16(@testing-library/dom@10.4.0)
35 | typescript:
36 | specifier: ^5.0.4
37 | version: 5.6.3
38 | vite:
39 | specifier: ^7.0.4
40 | version: 7.0.4
41 |
42 | packages:
43 |
44 | '@adobe/css-tools@4.4.3':
45 | resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==}
46 |
47 | '@ampproject/remapping@2.3.0':
48 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
49 | engines: {node: '>=6.0.0'}
50 |
51 | '@babel/code-frame@7.27.1':
52 | resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
53 | engines: {node: '>=6.9.0'}
54 |
55 | '@babel/compat-data@7.28.0':
56 | resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==}
57 | engines: {node: '>=6.9.0'}
58 |
59 | '@babel/core@7.28.0':
60 | resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==}
61 | engines: {node: '>=6.9.0'}
62 |
63 | '@babel/generator@7.28.0':
64 | resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==}
65 | engines: {node: '>=6.9.0'}
66 |
67 | '@babel/helper-compilation-targets@7.27.2':
68 | resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
69 | engines: {node: '>=6.9.0'}
70 |
71 | '@babel/helper-globals@7.28.0':
72 | resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
73 | engines: {node: '>=6.9.0'}
74 |
75 | '@babel/helper-module-imports@7.27.1':
76 | resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
77 | engines: {node: '>=6.9.0'}
78 |
79 | '@babel/helper-module-transforms@7.27.3':
80 | resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
81 | engines: {node: '>=6.9.0'}
82 | peerDependencies:
83 | '@babel/core': ^7.0.0
84 |
85 | '@babel/helper-plugin-utils@7.27.1':
86 | resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
87 | engines: {node: '>=6.9.0'}
88 |
89 | '@babel/helper-string-parser@7.27.1':
90 | resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
91 | engines: {node: '>=6.9.0'}
92 |
93 | '@babel/helper-validator-identifier@7.27.1':
94 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
95 | engines: {node: '>=6.9.0'}
96 |
97 | '@babel/helper-validator-option@7.27.1':
98 | resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
99 | engines: {node: '>=6.9.0'}
100 |
101 | '@babel/helpers@7.27.6':
102 | resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==}
103 | engines: {node: '>=6.9.0'}
104 |
105 | '@babel/parser@7.28.0':
106 | resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
107 | engines: {node: '>=6.0.0'}
108 | hasBin: true
109 |
110 | '@babel/plugin-transform-react-jsx-self@7.27.1':
111 | resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
112 | engines: {node: '>=6.9.0'}
113 | peerDependencies:
114 | '@babel/core': ^7.0.0-0
115 |
116 | '@babel/plugin-transform-react-jsx-source@7.27.1':
117 | resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
118 | engines: {node: '>=6.9.0'}
119 | peerDependencies:
120 | '@babel/core': ^7.0.0-0
121 |
122 | '@babel/runtime@7.27.6':
123 | resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
124 | engines: {node: '>=6.9.0'}
125 |
126 | '@babel/template@7.27.2':
127 | resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
128 | engines: {node: '>=6.9.0'}
129 |
130 | '@babel/traverse@7.28.0':
131 | resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==}
132 | engines: {node: '>=6.9.0'}
133 |
134 | '@babel/types@7.28.0':
135 | resolution: {integrity: sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==}
136 | engines: {node: '>=6.9.0'}
137 |
138 | '@esbuild/aix-ppc64@0.25.6':
139 | resolution: {integrity: sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==}
140 | engines: {node: '>=18'}
141 | cpu: [ppc64]
142 | os: [aix]
143 |
144 | '@esbuild/android-arm64@0.25.6':
145 | resolution: {integrity: sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==}
146 | engines: {node: '>=18'}
147 | cpu: [arm64]
148 | os: [android]
149 |
150 | '@esbuild/android-arm@0.25.6':
151 | resolution: {integrity: sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==}
152 | engines: {node: '>=18'}
153 | cpu: [arm]
154 | os: [android]
155 |
156 | '@esbuild/android-x64@0.25.6':
157 | resolution: {integrity: sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==}
158 | engines: {node: '>=18'}
159 | cpu: [x64]
160 | os: [android]
161 |
162 | '@esbuild/darwin-arm64@0.25.6':
163 | resolution: {integrity: sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==}
164 | engines: {node: '>=18'}
165 | cpu: [arm64]
166 | os: [darwin]
167 |
168 | '@esbuild/darwin-x64@0.25.6':
169 | resolution: {integrity: sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==}
170 | engines: {node: '>=18'}
171 | cpu: [x64]
172 | os: [darwin]
173 |
174 | '@esbuild/freebsd-arm64@0.25.6':
175 | resolution: {integrity: sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==}
176 | engines: {node: '>=18'}
177 | cpu: [arm64]
178 | os: [freebsd]
179 |
180 | '@esbuild/freebsd-x64@0.25.6':
181 | resolution: {integrity: sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==}
182 | engines: {node: '>=18'}
183 | cpu: [x64]
184 | os: [freebsd]
185 |
186 | '@esbuild/linux-arm64@0.25.6':
187 | resolution: {integrity: sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==}
188 | engines: {node: '>=18'}
189 | cpu: [arm64]
190 | os: [linux]
191 |
192 | '@esbuild/linux-arm@0.25.6':
193 | resolution: {integrity: sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==}
194 | engines: {node: '>=18'}
195 | cpu: [arm]
196 | os: [linux]
197 |
198 | '@esbuild/linux-ia32@0.25.6':
199 | resolution: {integrity: sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==}
200 | engines: {node: '>=18'}
201 | cpu: [ia32]
202 | os: [linux]
203 |
204 | '@esbuild/linux-loong64@0.25.6':
205 | resolution: {integrity: sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==}
206 | engines: {node: '>=18'}
207 | cpu: [loong64]
208 | os: [linux]
209 |
210 | '@esbuild/linux-mips64el@0.25.6':
211 | resolution: {integrity: sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==}
212 | engines: {node: '>=18'}
213 | cpu: [mips64el]
214 | os: [linux]
215 |
216 | '@esbuild/linux-ppc64@0.25.6':
217 | resolution: {integrity: sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==}
218 | engines: {node: '>=18'}
219 | cpu: [ppc64]
220 | os: [linux]
221 |
222 | '@esbuild/linux-riscv64@0.25.6':
223 | resolution: {integrity: sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==}
224 | engines: {node: '>=18'}
225 | cpu: [riscv64]
226 | os: [linux]
227 |
228 | '@esbuild/linux-s390x@0.25.6':
229 | resolution: {integrity: sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==}
230 | engines: {node: '>=18'}
231 | cpu: [s390x]
232 | os: [linux]
233 |
234 | '@esbuild/linux-x64@0.25.6':
235 | resolution: {integrity: sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==}
236 | engines: {node: '>=18'}
237 | cpu: [x64]
238 | os: [linux]
239 |
240 | '@esbuild/netbsd-arm64@0.25.6':
241 | resolution: {integrity: sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==}
242 | engines: {node: '>=18'}
243 | cpu: [arm64]
244 | os: [netbsd]
245 |
246 | '@esbuild/netbsd-x64@0.25.6':
247 | resolution: {integrity: sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==}
248 | engines: {node: '>=18'}
249 | cpu: [x64]
250 | os: [netbsd]
251 |
252 | '@esbuild/openbsd-arm64@0.25.6':
253 | resolution: {integrity: sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==}
254 | engines: {node: '>=18'}
255 | cpu: [arm64]
256 | os: [openbsd]
257 |
258 | '@esbuild/openbsd-x64@0.25.6':
259 | resolution: {integrity: sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==}
260 | engines: {node: '>=18'}
261 | cpu: [x64]
262 | os: [openbsd]
263 |
264 | '@esbuild/openharmony-arm64@0.25.6':
265 | resolution: {integrity: sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==}
266 | engines: {node: '>=18'}
267 | cpu: [arm64]
268 | os: [openharmony]
269 |
270 | '@esbuild/sunos-x64@0.25.6':
271 | resolution: {integrity: sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==}
272 | engines: {node: '>=18'}
273 | cpu: [x64]
274 | os: [sunos]
275 |
276 | '@esbuild/win32-arm64@0.25.6':
277 | resolution: {integrity: sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==}
278 | engines: {node: '>=18'}
279 | cpu: [arm64]
280 | os: [win32]
281 |
282 | '@esbuild/win32-ia32@0.25.6':
283 | resolution: {integrity: sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==}
284 | engines: {node: '>=18'}
285 | cpu: [ia32]
286 | os: [win32]
287 |
288 | '@esbuild/win32-x64@0.25.6':
289 | resolution: {integrity: sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==}
290 | engines: {node: '>=18'}
291 | cpu: [x64]
292 | os: [win32]
293 |
294 | '@isaacs/cliui@8.0.2':
295 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
296 | engines: {node: '>=12'}
297 |
298 | '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1':
299 | resolution: {integrity: sha512-J4BaTocTOYFkMHIra1JDWrMWpNmBl4EkplIwHEsV8aeUOtdWjwSnln9U7twjMFTAEB7mptNtSKyVi1Y2W9sDJw==}
300 | peerDependencies:
301 | typescript: '>= 4.3.x'
302 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
303 | peerDependenciesMeta:
304 | typescript:
305 | optional: true
306 |
307 | '@jridgewell/gen-mapping@0.3.12':
308 | resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
309 |
310 | '@jridgewell/resolve-uri@3.1.2':
311 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
312 | engines: {node: '>=6.0.0'}
313 |
314 | '@jridgewell/sourcemap-codec@1.5.4':
315 | resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
316 |
317 | '@jridgewell/trace-mapping@0.3.29':
318 | resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==}
319 |
320 | '@pkgjs/parseargs@0.11.0':
321 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
322 | engines: {node: '>=14'}
323 |
324 | '@rolldown/pluginutils@1.0.0-beta.19':
325 | resolution: {integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==}
326 |
327 | '@rollup/pluginutils@5.2.0':
328 | resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==}
329 | engines: {node: '>=14.0.0'}
330 | peerDependencies:
331 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
332 | peerDependenciesMeta:
333 | rollup:
334 | optional: true
335 |
336 | '@rollup/rollup-android-arm-eabi@4.45.0':
337 | resolution: {integrity: sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==}
338 | cpu: [arm]
339 | os: [android]
340 |
341 | '@rollup/rollup-android-arm64@4.45.0':
342 | resolution: {integrity: sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==}
343 | cpu: [arm64]
344 | os: [android]
345 |
346 | '@rollup/rollup-darwin-arm64@4.45.0':
347 | resolution: {integrity: sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==}
348 | cpu: [arm64]
349 | os: [darwin]
350 |
351 | '@rollup/rollup-darwin-x64@4.45.0':
352 | resolution: {integrity: sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==}
353 | cpu: [x64]
354 | os: [darwin]
355 |
356 | '@rollup/rollup-freebsd-arm64@4.45.0':
357 | resolution: {integrity: sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==}
358 | cpu: [arm64]
359 | os: [freebsd]
360 |
361 | '@rollup/rollup-freebsd-x64@4.45.0':
362 | resolution: {integrity: sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==}
363 | cpu: [x64]
364 | os: [freebsd]
365 |
366 | '@rollup/rollup-linux-arm-gnueabihf@4.45.0':
367 | resolution: {integrity: sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==}
368 | cpu: [arm]
369 | os: [linux]
370 |
371 | '@rollup/rollup-linux-arm-musleabihf@4.45.0':
372 | resolution: {integrity: sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==}
373 | cpu: [arm]
374 | os: [linux]
375 |
376 | '@rollup/rollup-linux-arm64-gnu@4.45.0':
377 | resolution: {integrity: sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==}
378 | cpu: [arm64]
379 | os: [linux]
380 |
381 | '@rollup/rollup-linux-arm64-musl@4.45.0':
382 | resolution: {integrity: sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==}
383 | cpu: [arm64]
384 | os: [linux]
385 |
386 | '@rollup/rollup-linux-loongarch64-gnu@4.45.0':
387 | resolution: {integrity: sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==}
388 | cpu: [loong64]
389 | os: [linux]
390 |
391 | '@rollup/rollup-linux-powerpc64le-gnu@4.45.0':
392 | resolution: {integrity: sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==}
393 | cpu: [ppc64]
394 | os: [linux]
395 |
396 | '@rollup/rollup-linux-riscv64-gnu@4.45.0':
397 | resolution: {integrity: sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==}
398 | cpu: [riscv64]
399 | os: [linux]
400 |
401 | '@rollup/rollup-linux-riscv64-musl@4.45.0':
402 | resolution: {integrity: sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==}
403 | cpu: [riscv64]
404 | os: [linux]
405 |
406 | '@rollup/rollup-linux-s390x-gnu@4.45.0':
407 | resolution: {integrity: sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==}
408 | cpu: [s390x]
409 | os: [linux]
410 |
411 | '@rollup/rollup-linux-x64-gnu@4.45.0':
412 | resolution: {integrity: sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==}
413 | cpu: [x64]
414 | os: [linux]
415 |
416 | '@rollup/rollup-linux-x64-musl@4.45.0':
417 | resolution: {integrity: sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==}
418 | cpu: [x64]
419 | os: [linux]
420 |
421 | '@rollup/rollup-win32-arm64-msvc@4.45.0':
422 | resolution: {integrity: sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==}
423 | cpu: [arm64]
424 | os: [win32]
425 |
426 | '@rollup/rollup-win32-ia32-msvc@4.45.0':
427 | resolution: {integrity: sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==}
428 | cpu: [ia32]
429 | os: [win32]
430 |
431 | '@rollup/rollup-win32-x64-msvc@4.45.0':
432 | resolution: {integrity: sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==}
433 | cpu: [x64]
434 | os: [win32]
435 |
436 | '@storybook/builder-vite@9.0.16':
437 | resolution: {integrity: sha512-zXockUexeRy3ABG7DFLEvJqJe4mGL0JkI7FMrpwiKaHCQNaD87vR0xkRVeh0a3B8GKUNxoYtpYKvdzc9DobQHQ==}
438 | peerDependencies:
439 | storybook: ^9.0.16
440 | vite: ^5.0.0 || ^6.0.0 || ^7.0.0
441 |
442 | '@storybook/csf-plugin@9.0.16':
443 | resolution: {integrity: sha512-MSmfPwI0j1mMAc+R3DVkVBQf2KLzaVn2SLdEwweesx63Nh9j3zu9CqKEa0zOuDX1lR2M0DZU0lV6K4sc2EYI4A==}
444 | peerDependencies:
445 | storybook: ^9.0.16
446 |
447 | '@storybook/global@5.0.0':
448 | resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==}
449 |
450 | '@storybook/react-dom-shim@9.0.16':
451 | resolution: {integrity: sha512-5aIK+31R41mRUvDB4vmBv8hwh3IVHIk/Zbs6kkWF2a+swOsB2+a06aLX21lma4/0T/AuFVXHWat0+inQ4nrXRg==}
452 | peerDependencies:
453 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
454 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
455 | storybook: ^9.0.16
456 |
457 | '@storybook/react-vite@9.0.16':
458 | resolution: {integrity: sha512-a+UsoymyvPH4bJJVI+asj02N8U2wlkGyzhUqF6LUM9gXzixRMxoRHkchCKLdqLhE+//STrwC0YFF3GG6Y5oMEg==}
459 | engines: {node: '>=20.0.0'}
460 | peerDependencies:
461 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
462 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
463 | storybook: ^9.0.16
464 | vite: ^5.0.0 || ^6.0.0 || ^7.0.0
465 |
466 | '@storybook/react@9.0.16':
467 | resolution: {integrity: sha512-1jk9fBe8vEoZrba9cK19ZDdZgYMXUNl3Egjj5RsTMYMc1L2mtIu9o56VyK/1V4Q52N9IyawHvmIIuxc5pCZHkQ==}
468 | engines: {node: '>=20.0.0'}
469 | peerDependencies:
470 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
471 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
472 | storybook: ^9.0.16
473 | typescript: '>= 4.9.x'
474 | peerDependenciesMeta:
475 | typescript:
476 | optional: true
477 |
478 | '@testing-library/dom@10.4.0':
479 | resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
480 | engines: {node: '>=18'}
481 |
482 | '@testing-library/jest-dom@6.6.3':
483 | resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==}
484 | engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
485 |
486 | '@testing-library/user-event@14.6.1':
487 | resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
488 | engines: {node: '>=12', npm: '>=6'}
489 | peerDependencies:
490 | '@testing-library/dom': '>=7.21.4'
491 |
492 | '@types/aria-query@5.0.4':
493 | resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
494 |
495 | '@types/babel__core@7.20.5':
496 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
497 |
498 | '@types/babel__generator@7.27.0':
499 | resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
500 |
501 | '@types/babel__template@7.4.4':
502 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
503 |
504 | '@types/babel__traverse@7.20.7':
505 | resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==}
506 |
507 | '@types/chai@5.2.2':
508 | resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==}
509 |
510 | '@types/deep-eql@4.0.2':
511 | resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
512 |
513 | '@types/doctrine@0.0.9':
514 | resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==}
515 |
516 | '@types/estree@1.0.8':
517 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
518 |
519 | '@types/prop-types@15.7.13':
520 | resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
521 |
522 | '@types/react@18.3.12':
523 | resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==}
524 |
525 | '@types/resolve@1.20.6':
526 | resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==}
527 |
528 | '@vitejs/plugin-react@4.6.0':
529 | resolution: {integrity: sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==}
530 | engines: {node: ^14.18.0 || >=16.0.0}
531 | peerDependencies:
532 | vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0
533 |
534 | '@vitest/expect@3.2.4':
535 | resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
536 |
537 | '@vitest/pretty-format@3.2.4':
538 | resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
539 |
540 | '@vitest/spy@3.2.4':
541 | resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
542 |
543 | '@vitest/utils@3.2.4':
544 | resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
545 |
546 | acorn@8.15.0:
547 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
548 | engines: {node: '>=0.4.0'}
549 | hasBin: true
550 |
551 | ansi-regex@5.0.1:
552 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
553 | engines: {node: '>=8'}
554 |
555 | ansi-regex@6.1.0:
556 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
557 | engines: {node: '>=12'}
558 |
559 | ansi-styles@4.3.0:
560 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
561 | engines: {node: '>=8'}
562 |
563 | ansi-styles@5.2.0:
564 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
565 | engines: {node: '>=10'}
566 |
567 | ansi-styles@6.2.1:
568 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
569 | engines: {node: '>=12'}
570 |
571 | aria-query@5.3.0:
572 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
573 |
574 | aria-query@5.3.2:
575 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
576 | engines: {node: '>= 0.4'}
577 |
578 | assertion-error@2.0.1:
579 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
580 | engines: {node: '>=12'}
581 |
582 | ast-types@0.16.1:
583 | resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
584 | engines: {node: '>=4'}
585 |
586 | balanced-match@1.0.2:
587 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
588 |
589 | better-opn@3.0.2:
590 | resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
591 | engines: {node: '>=12.0.0'}
592 |
593 | brace-expansion@2.0.2:
594 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
595 |
596 | browserslist@4.25.1:
597 | resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==}
598 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
599 | hasBin: true
600 |
601 | caniuse-lite@1.0.30001727:
602 | resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==}
603 |
604 | chai@5.2.1:
605 | resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==}
606 | engines: {node: '>=18'}
607 |
608 | chalk@3.0.0:
609 | resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
610 | engines: {node: '>=8'}
611 |
612 | chalk@4.1.2:
613 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
614 | engines: {node: '>=10'}
615 |
616 | check-error@2.1.1:
617 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
618 | engines: {node: '>= 16'}
619 |
620 | color-convert@2.0.1:
621 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
622 | engines: {node: '>=7.0.0'}
623 |
624 | color-name@1.1.4:
625 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
626 |
627 | convert-source-map@2.0.0:
628 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
629 |
630 | cross-spawn@7.0.6:
631 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
632 | engines: {node: '>= 8'}
633 |
634 | css.escape@1.5.1:
635 | resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
636 |
637 | csstype@3.1.3:
638 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
639 |
640 | debug@4.4.1:
641 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
642 | engines: {node: '>=6.0'}
643 | peerDependencies:
644 | supports-color: '*'
645 | peerDependenciesMeta:
646 | supports-color:
647 | optional: true
648 |
649 | deep-eql@5.0.2:
650 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
651 | engines: {node: '>=6'}
652 |
653 | define-lazy-prop@2.0.0:
654 | resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
655 | engines: {node: '>=8'}
656 |
657 | dequal@2.0.3:
658 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
659 | engines: {node: '>=6'}
660 |
661 | doctrine@3.0.0:
662 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
663 | engines: {node: '>=6.0.0'}
664 |
665 | dom-accessibility-api@0.5.16:
666 | resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
667 |
668 | dom-accessibility-api@0.6.3:
669 | resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
670 |
671 | eastasianwidth@0.2.0:
672 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
673 |
674 | electron-to-chromium@1.5.182:
675 | resolution: {integrity: sha512-Lv65Btwv9W4J9pyODI6EWpdnhfvrve/us5h1WspW8B2Fb0366REPtY3hX7ounk1CkV/TBjWCEvCBBbYbmV0qCA==}
676 |
677 | emoji-regex@8.0.0:
678 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
679 |
680 | emoji-regex@9.2.2:
681 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
682 |
683 | esbuild-register@3.6.0:
684 | resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
685 | peerDependencies:
686 | esbuild: '>=0.12 <1'
687 |
688 | esbuild@0.25.6:
689 | resolution: {integrity: sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==}
690 | engines: {node: '>=18'}
691 | hasBin: true
692 |
693 | escalade@3.2.0:
694 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
695 | engines: {node: '>=6'}
696 |
697 | esprima@4.0.1:
698 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
699 | engines: {node: '>=4'}
700 | hasBin: true
701 |
702 | estree-walker@2.0.2:
703 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
704 |
705 | esutils@2.0.3:
706 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
707 | engines: {node: '>=0.10.0'}
708 |
709 | fdir@6.4.6:
710 | resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
711 | peerDependencies:
712 | picomatch: ^3 || ^4
713 | peerDependenciesMeta:
714 | picomatch:
715 | optional: true
716 |
717 | find-up@7.0.0:
718 | resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
719 | engines: {node: '>=18'}
720 |
721 | foreground-child@3.3.1:
722 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
723 | engines: {node: '>=14'}
724 |
725 | fsevents@2.3.2:
726 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
727 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
728 | os: [darwin]
729 |
730 | fsevents@2.3.3:
731 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
732 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
733 | os: [darwin]
734 |
735 | function-bind@1.1.2:
736 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
737 |
738 | gensync@1.0.0-beta.2:
739 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
740 | engines: {node: '>=6.9.0'}
741 |
742 | glob@10.4.5:
743 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
744 | hasBin: true
745 |
746 | has-flag@4.0.0:
747 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
748 | engines: {node: '>=8'}
749 |
750 | hasown@2.0.2:
751 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
752 | engines: {node: '>= 0.4'}
753 |
754 | indent-string@4.0.0:
755 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
756 | engines: {node: '>=8'}
757 |
758 | is-core-module@2.16.1:
759 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
760 | engines: {node: '>= 0.4'}
761 |
762 | is-docker@2.2.1:
763 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
764 | engines: {node: '>=8'}
765 | hasBin: true
766 |
767 | is-fullwidth-code-point@3.0.0:
768 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
769 | engines: {node: '>=8'}
770 |
771 | is-wsl@2.2.0:
772 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
773 | engines: {node: '>=8'}
774 |
775 | isexe@2.0.0:
776 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
777 |
778 | jackspeak@3.4.3:
779 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
780 |
781 | js-tokens@4.0.0:
782 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
783 |
784 | jsesc@3.1.0:
785 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
786 | engines: {node: '>=6'}
787 | hasBin: true
788 |
789 | json5@2.2.3:
790 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
791 | engines: {node: '>=6'}
792 | hasBin: true
793 |
794 | locate-path@7.2.0:
795 | resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
796 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
797 |
798 | lodash@4.17.21:
799 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
800 |
801 | loupe@3.1.4:
802 | resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==}
803 |
804 | lru-cache@10.4.3:
805 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
806 |
807 | lru-cache@5.1.1:
808 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
809 |
810 | lz-string@1.5.0:
811 | resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
812 | hasBin: true
813 |
814 | magic-string@0.30.17:
815 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
816 |
817 | min-indent@1.0.1:
818 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
819 | engines: {node: '>=4'}
820 |
821 | minimatch@9.0.5:
822 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
823 | engines: {node: '>=16 || 14 >=14.17'}
824 |
825 | minimist@1.2.8:
826 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
827 |
828 | minipass@7.1.2:
829 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
830 | engines: {node: '>=16 || 14 >=14.17'}
831 |
832 | ms@2.1.3:
833 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
834 |
835 | nanoid@3.3.11:
836 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
837 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
838 | hasBin: true
839 |
840 | node-releases@2.0.19:
841 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
842 |
843 | open@8.4.2:
844 | resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
845 | engines: {node: '>=12'}
846 |
847 | p-limit@4.0.0:
848 | resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
849 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
850 |
851 | p-locate@6.0.0:
852 | resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
853 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
854 |
855 | package-json-from-dist@1.0.1:
856 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
857 |
858 | path-exists@5.0.0:
859 | resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
860 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
861 |
862 | path-key@3.1.1:
863 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
864 | engines: {node: '>=8'}
865 |
866 | path-parse@1.0.7:
867 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
868 |
869 | path-scurry@1.11.1:
870 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
871 | engines: {node: '>=16 || 14 >=14.18'}
872 |
873 | pathval@2.0.1:
874 | resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
875 | engines: {node: '>= 14.16'}
876 |
877 | picocolors@1.1.1:
878 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
879 |
880 | picomatch@4.0.2:
881 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
882 | engines: {node: '>=12'}
883 |
884 | playwright-core@1.54.1:
885 | resolution: {integrity: sha512-Nbjs2zjj0htNhzgiy5wu+3w09YetDx5pkrpI/kZotDlDUaYk0HVA5xrBVPdow4SAUIlhgKcJeJg4GRKW6xHusA==}
886 | engines: {node: '>=18'}
887 | hasBin: true
888 |
889 | playwright@1.54.1:
890 | resolution: {integrity: sha512-peWpSwIBmSLi6aW2auvrUtf2DqY16YYcCMO8rTVx486jKmDTJg7UAhyrraP98GB8BoPURZP8+nxO7TSd4cPr5g==}
891 | engines: {node: '>=18'}
892 | hasBin: true
893 |
894 | postcss@8.5.6:
895 | resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
896 | engines: {node: ^10 || ^12 || >=14}
897 |
898 | pretty-format@27.5.1:
899 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
900 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
901 |
902 | react-docgen-typescript@2.4.0:
903 | resolution: {integrity: sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==}
904 | peerDependencies:
905 | typescript: '>= 4.3.x'
906 |
907 | react-docgen@8.0.0:
908 | resolution: {integrity: sha512-kmob/FOTwep7DUWf9KjuenKX0vyvChr3oTdvvPt09V60Iz75FJp+T/0ZeHMbAfJj2WaVWqAPP5Hmm3PYzSPPKg==}
909 | engines: {node: ^20.9.0 || >=22}
910 |
911 | react-dom@19.1.0:
912 | resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
913 | peerDependencies:
914 | react: ^19.1.0
915 |
916 | react-is@17.0.2:
917 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
918 |
919 | react-refresh@0.17.0:
920 | resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
921 | engines: {node: '>=0.10.0'}
922 |
923 | react@19.1.0:
924 | resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
925 | engines: {node: '>=0.10.0'}
926 |
927 | recast@0.23.11:
928 | resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==}
929 | engines: {node: '>= 4'}
930 |
931 | redent@3.0.0:
932 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
933 | engines: {node: '>=8'}
934 |
935 | resolve@1.22.10:
936 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
937 | engines: {node: '>= 0.4'}
938 | hasBin: true
939 |
940 | rollup@4.45.0:
941 | resolution: {integrity: sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==}
942 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
943 | hasBin: true
944 |
945 | scheduler@0.26.0:
946 | resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
947 |
948 | semver@6.3.1:
949 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
950 | hasBin: true
951 |
952 | semver@7.7.2:
953 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
954 | engines: {node: '>=10'}
955 | hasBin: true
956 |
957 | shebang-command@2.0.0:
958 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
959 | engines: {node: '>=8'}
960 |
961 | shebang-regex@3.0.0:
962 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
963 | engines: {node: '>=8'}
964 |
965 | signal-exit@4.1.0:
966 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
967 | engines: {node: '>=14'}
968 |
969 | source-map-js@1.2.1:
970 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
971 | engines: {node: '>=0.10.0'}
972 |
973 | source-map@0.6.1:
974 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
975 | engines: {node: '>=0.10.0'}
976 |
977 | storybook@9.0.16:
978 | resolution: {integrity: sha512-DzjzeggdzlXKKBK1L9iqNKqqNpyfeaL1hxxeAOmqgeMezwy5d5mCJmjNcZEmx+prsRmvj1OWm4ZZAg6iP/wABg==}
979 | hasBin: true
980 | peerDependencies:
981 | prettier: ^2 || ^3
982 | peerDependenciesMeta:
983 | prettier:
984 | optional: true
985 |
986 | string-width@4.2.3:
987 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
988 | engines: {node: '>=8'}
989 |
990 | string-width@5.1.2:
991 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
992 | engines: {node: '>=12'}
993 |
994 | strip-ansi@6.0.1:
995 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
996 | engines: {node: '>=8'}
997 |
998 | strip-ansi@7.1.0:
999 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1000 | engines: {node: '>=12'}
1001 |
1002 | strip-bom@3.0.0:
1003 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
1004 | engines: {node: '>=4'}
1005 |
1006 | strip-indent@3.0.0:
1007 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1008 | engines: {node: '>=8'}
1009 |
1010 | strip-indent@4.0.0:
1011 | resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
1012 | engines: {node: '>=12'}
1013 |
1014 | supports-color@7.2.0:
1015 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1016 | engines: {node: '>=8'}
1017 |
1018 | supports-preserve-symlinks-flag@1.0.0:
1019 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1020 | engines: {node: '>= 0.4'}
1021 |
1022 | tiny-invariant@1.3.3:
1023 | resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
1024 |
1025 | tinyglobby@0.2.14:
1026 | resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
1027 | engines: {node: '>=12.0.0'}
1028 |
1029 | tinyrainbow@2.0.0:
1030 | resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
1031 | engines: {node: '>=14.0.0'}
1032 |
1033 | tinyspy@4.0.3:
1034 | resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==}
1035 | engines: {node: '>=14.0.0'}
1036 |
1037 | ts-dedent@2.2.0:
1038 | resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
1039 | engines: {node: '>=6.10'}
1040 |
1041 | tsconfig-paths@4.2.0:
1042 | resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
1043 | engines: {node: '>=6'}
1044 |
1045 | tslib@2.8.1:
1046 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1047 |
1048 | typescript@5.6.3:
1049 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
1050 | engines: {node: '>=14.17'}
1051 | hasBin: true
1052 |
1053 | unicorn-magic@0.1.0:
1054 | resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
1055 | engines: {node: '>=18'}
1056 |
1057 | unplugin@1.16.1:
1058 | resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
1059 | engines: {node: '>=14.0.0'}
1060 |
1061 | update-browserslist-db@1.1.3:
1062 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
1063 | hasBin: true
1064 | peerDependencies:
1065 | browserslist: '>= 4.21.0'
1066 |
1067 | vite@7.0.4:
1068 | resolution: {integrity: sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==}
1069 | engines: {node: ^20.19.0 || >=22.12.0}
1070 | hasBin: true
1071 | peerDependencies:
1072 | '@types/node': ^20.19.0 || >=22.12.0
1073 | jiti: '>=1.21.0'
1074 | less: ^4.0.0
1075 | lightningcss: ^1.21.0
1076 | sass: ^1.70.0
1077 | sass-embedded: ^1.70.0
1078 | stylus: '>=0.54.8'
1079 | sugarss: ^5.0.0
1080 | terser: ^5.16.0
1081 | tsx: ^4.8.1
1082 | yaml: ^2.4.2
1083 | peerDependenciesMeta:
1084 | '@types/node':
1085 | optional: true
1086 | jiti:
1087 | optional: true
1088 | less:
1089 | optional: true
1090 | lightningcss:
1091 | optional: true
1092 | sass:
1093 | optional: true
1094 | sass-embedded:
1095 | optional: true
1096 | stylus:
1097 | optional: true
1098 | sugarss:
1099 | optional: true
1100 | terser:
1101 | optional: true
1102 | tsx:
1103 | optional: true
1104 | yaml:
1105 | optional: true
1106 |
1107 | webpack-virtual-modules@0.6.2:
1108 | resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
1109 |
1110 | which@2.0.2:
1111 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1112 | engines: {node: '>= 8'}
1113 | hasBin: true
1114 |
1115 | wrap-ansi@7.0.0:
1116 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1117 | engines: {node: '>=10'}
1118 |
1119 | wrap-ansi@8.1.0:
1120 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1121 | engines: {node: '>=12'}
1122 |
1123 | ws@8.18.3:
1124 | resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
1125 | engines: {node: '>=10.0.0'}
1126 | peerDependencies:
1127 | bufferutil: ^4.0.1
1128 | utf-8-validate: '>=5.0.2'
1129 | peerDependenciesMeta:
1130 | bufferutil:
1131 | optional: true
1132 | utf-8-validate:
1133 | optional: true
1134 |
1135 | yallist@3.1.1:
1136 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1137 |
1138 | yocto-queue@1.2.1:
1139 | resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
1140 | engines: {node: '>=12.20'}
1141 |
1142 | snapshots:
1143 |
1144 | '@adobe/css-tools@4.4.3': {}
1145 |
1146 | '@ampproject/remapping@2.3.0':
1147 | dependencies:
1148 | '@jridgewell/gen-mapping': 0.3.12
1149 | '@jridgewell/trace-mapping': 0.3.29
1150 |
1151 | '@babel/code-frame@7.27.1':
1152 | dependencies:
1153 | '@babel/helper-validator-identifier': 7.27.1
1154 | js-tokens: 4.0.0
1155 | picocolors: 1.1.1
1156 |
1157 | '@babel/compat-data@7.28.0': {}
1158 |
1159 | '@babel/core@7.28.0':
1160 | dependencies:
1161 | '@ampproject/remapping': 2.3.0
1162 | '@babel/code-frame': 7.27.1
1163 | '@babel/generator': 7.28.0
1164 | '@babel/helper-compilation-targets': 7.27.2
1165 | '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0)
1166 | '@babel/helpers': 7.27.6
1167 | '@babel/parser': 7.28.0
1168 | '@babel/template': 7.27.2
1169 | '@babel/traverse': 7.28.0
1170 | '@babel/types': 7.28.0
1171 | convert-source-map: 2.0.0
1172 | debug: 4.4.1
1173 | gensync: 1.0.0-beta.2
1174 | json5: 2.2.3
1175 | semver: 6.3.1
1176 | transitivePeerDependencies:
1177 | - supports-color
1178 |
1179 | '@babel/generator@7.28.0':
1180 | dependencies:
1181 | '@babel/parser': 7.28.0
1182 | '@babel/types': 7.28.0
1183 | '@jridgewell/gen-mapping': 0.3.12
1184 | '@jridgewell/trace-mapping': 0.3.29
1185 | jsesc: 3.1.0
1186 |
1187 | '@babel/helper-compilation-targets@7.27.2':
1188 | dependencies:
1189 | '@babel/compat-data': 7.28.0
1190 | '@babel/helper-validator-option': 7.27.1
1191 | browserslist: 4.25.1
1192 | lru-cache: 5.1.1
1193 | semver: 6.3.1
1194 |
1195 | '@babel/helper-globals@7.28.0': {}
1196 |
1197 | '@babel/helper-module-imports@7.27.1':
1198 | dependencies:
1199 | '@babel/traverse': 7.28.0
1200 | '@babel/types': 7.28.0
1201 | transitivePeerDependencies:
1202 | - supports-color
1203 |
1204 | '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)':
1205 | dependencies:
1206 | '@babel/core': 7.28.0
1207 | '@babel/helper-module-imports': 7.27.1
1208 | '@babel/helper-validator-identifier': 7.27.1
1209 | '@babel/traverse': 7.28.0
1210 | transitivePeerDependencies:
1211 | - supports-color
1212 |
1213 | '@babel/helper-plugin-utils@7.27.1': {}
1214 |
1215 | '@babel/helper-string-parser@7.27.1': {}
1216 |
1217 | '@babel/helper-validator-identifier@7.27.1': {}
1218 |
1219 | '@babel/helper-validator-option@7.27.1': {}
1220 |
1221 | '@babel/helpers@7.27.6':
1222 | dependencies:
1223 | '@babel/template': 7.27.2
1224 | '@babel/types': 7.28.0
1225 |
1226 | '@babel/parser@7.28.0':
1227 | dependencies:
1228 | '@babel/types': 7.28.0
1229 |
1230 | '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.0)':
1231 | dependencies:
1232 | '@babel/core': 7.28.0
1233 | '@babel/helper-plugin-utils': 7.27.1
1234 |
1235 | '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.0)':
1236 | dependencies:
1237 | '@babel/core': 7.28.0
1238 | '@babel/helper-plugin-utils': 7.27.1
1239 |
1240 | '@babel/runtime@7.27.6': {}
1241 |
1242 | '@babel/template@7.27.2':
1243 | dependencies:
1244 | '@babel/code-frame': 7.27.1
1245 | '@babel/parser': 7.28.0
1246 | '@babel/types': 7.28.0
1247 |
1248 | '@babel/traverse@7.28.0':
1249 | dependencies:
1250 | '@babel/code-frame': 7.27.1
1251 | '@babel/generator': 7.28.0
1252 | '@babel/helper-globals': 7.28.0
1253 | '@babel/parser': 7.28.0
1254 | '@babel/template': 7.27.2
1255 | '@babel/types': 7.28.0
1256 | debug: 4.4.1
1257 | transitivePeerDependencies:
1258 | - supports-color
1259 |
1260 | '@babel/types@7.28.0':
1261 | dependencies:
1262 | '@babel/helper-string-parser': 7.27.1
1263 | '@babel/helper-validator-identifier': 7.27.1
1264 |
1265 | '@esbuild/aix-ppc64@0.25.6':
1266 | optional: true
1267 |
1268 | '@esbuild/android-arm64@0.25.6':
1269 | optional: true
1270 |
1271 | '@esbuild/android-arm@0.25.6':
1272 | optional: true
1273 |
1274 | '@esbuild/android-x64@0.25.6':
1275 | optional: true
1276 |
1277 | '@esbuild/darwin-arm64@0.25.6':
1278 | optional: true
1279 |
1280 | '@esbuild/darwin-x64@0.25.6':
1281 | optional: true
1282 |
1283 | '@esbuild/freebsd-arm64@0.25.6':
1284 | optional: true
1285 |
1286 | '@esbuild/freebsd-x64@0.25.6':
1287 | optional: true
1288 |
1289 | '@esbuild/linux-arm64@0.25.6':
1290 | optional: true
1291 |
1292 | '@esbuild/linux-arm@0.25.6':
1293 | optional: true
1294 |
1295 | '@esbuild/linux-ia32@0.25.6':
1296 | optional: true
1297 |
1298 | '@esbuild/linux-loong64@0.25.6':
1299 | optional: true
1300 |
1301 | '@esbuild/linux-mips64el@0.25.6':
1302 | optional: true
1303 |
1304 | '@esbuild/linux-ppc64@0.25.6':
1305 | optional: true
1306 |
1307 | '@esbuild/linux-riscv64@0.25.6':
1308 | optional: true
1309 |
1310 | '@esbuild/linux-s390x@0.25.6':
1311 | optional: true
1312 |
1313 | '@esbuild/linux-x64@0.25.6':
1314 | optional: true
1315 |
1316 | '@esbuild/netbsd-arm64@0.25.6':
1317 | optional: true
1318 |
1319 | '@esbuild/netbsd-x64@0.25.6':
1320 | optional: true
1321 |
1322 | '@esbuild/openbsd-arm64@0.25.6':
1323 | optional: true
1324 |
1325 | '@esbuild/openbsd-x64@0.25.6':
1326 | optional: true
1327 |
1328 | '@esbuild/openharmony-arm64@0.25.6':
1329 | optional: true
1330 |
1331 | '@esbuild/sunos-x64@0.25.6':
1332 | optional: true
1333 |
1334 | '@esbuild/win32-arm64@0.25.6':
1335 | optional: true
1336 |
1337 | '@esbuild/win32-ia32@0.25.6':
1338 | optional: true
1339 |
1340 | '@esbuild/win32-x64@0.25.6':
1341 | optional: true
1342 |
1343 | '@isaacs/cliui@8.0.2':
1344 | dependencies:
1345 | string-width: 5.1.2
1346 | string-width-cjs: string-width@4.2.3
1347 | strip-ansi: 7.1.0
1348 | strip-ansi-cjs: strip-ansi@6.0.1
1349 | wrap-ansi: 8.1.0
1350 | wrap-ansi-cjs: wrap-ansi@7.0.0
1351 |
1352 | '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.6.3)(vite@7.0.4)':
1353 | dependencies:
1354 | glob: 10.4.5
1355 | magic-string: 0.30.17
1356 | react-docgen-typescript: 2.4.0(typescript@5.6.3)
1357 | vite: 7.0.4
1358 | optionalDependencies:
1359 | typescript: 5.6.3
1360 |
1361 | '@jridgewell/gen-mapping@0.3.12':
1362 | dependencies:
1363 | '@jridgewell/sourcemap-codec': 1.5.4
1364 | '@jridgewell/trace-mapping': 0.3.29
1365 |
1366 | '@jridgewell/resolve-uri@3.1.2': {}
1367 |
1368 | '@jridgewell/sourcemap-codec@1.5.4': {}
1369 |
1370 | '@jridgewell/trace-mapping@0.3.29':
1371 | dependencies:
1372 | '@jridgewell/resolve-uri': 3.1.2
1373 | '@jridgewell/sourcemap-codec': 1.5.4
1374 |
1375 | '@pkgjs/parseargs@0.11.0':
1376 | optional: true
1377 |
1378 | '@rolldown/pluginutils@1.0.0-beta.19': {}
1379 |
1380 | '@rollup/pluginutils@5.2.0(rollup@4.45.0)':
1381 | dependencies:
1382 | '@types/estree': 1.0.8
1383 | estree-walker: 2.0.2
1384 | picomatch: 4.0.2
1385 | optionalDependencies:
1386 | rollup: 4.45.0
1387 |
1388 | '@rollup/rollup-android-arm-eabi@4.45.0':
1389 | optional: true
1390 |
1391 | '@rollup/rollup-android-arm64@4.45.0':
1392 | optional: true
1393 |
1394 | '@rollup/rollup-darwin-arm64@4.45.0':
1395 | optional: true
1396 |
1397 | '@rollup/rollup-darwin-x64@4.45.0':
1398 | optional: true
1399 |
1400 | '@rollup/rollup-freebsd-arm64@4.45.0':
1401 | optional: true
1402 |
1403 | '@rollup/rollup-freebsd-x64@4.45.0':
1404 | optional: true
1405 |
1406 | '@rollup/rollup-linux-arm-gnueabihf@4.45.0':
1407 | optional: true
1408 |
1409 | '@rollup/rollup-linux-arm-musleabihf@4.45.0':
1410 | optional: true
1411 |
1412 | '@rollup/rollup-linux-arm64-gnu@4.45.0':
1413 | optional: true
1414 |
1415 | '@rollup/rollup-linux-arm64-musl@4.45.0':
1416 | optional: true
1417 |
1418 | '@rollup/rollup-linux-loongarch64-gnu@4.45.0':
1419 | optional: true
1420 |
1421 | '@rollup/rollup-linux-powerpc64le-gnu@4.45.0':
1422 | optional: true
1423 |
1424 | '@rollup/rollup-linux-riscv64-gnu@4.45.0':
1425 | optional: true
1426 |
1427 | '@rollup/rollup-linux-riscv64-musl@4.45.0':
1428 | optional: true
1429 |
1430 | '@rollup/rollup-linux-s390x-gnu@4.45.0':
1431 | optional: true
1432 |
1433 | '@rollup/rollup-linux-x64-gnu@4.45.0':
1434 | optional: true
1435 |
1436 | '@rollup/rollup-linux-x64-musl@4.45.0':
1437 | optional: true
1438 |
1439 | '@rollup/rollup-win32-arm64-msvc@4.45.0':
1440 | optional: true
1441 |
1442 | '@rollup/rollup-win32-ia32-msvc@4.45.0':
1443 | optional: true
1444 |
1445 | '@rollup/rollup-win32-x64-msvc@4.45.0':
1446 | optional: true
1447 |
1448 | '@storybook/builder-vite@9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0))(vite@7.0.4)':
1449 | dependencies:
1450 | '@storybook/csf-plugin': 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0))
1451 | storybook: 9.0.16(@testing-library/dom@10.4.0)
1452 | ts-dedent: 2.2.0
1453 | vite: 7.0.4
1454 |
1455 | '@storybook/csf-plugin@9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0))':
1456 | dependencies:
1457 | storybook: 9.0.16(@testing-library/dom@10.4.0)
1458 | unplugin: 1.16.1
1459 |
1460 | '@storybook/global@5.0.0': {}
1461 |
1462 | '@storybook/react-dom-shim@9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0))':
1463 | dependencies:
1464 | react: 19.1.0
1465 | react-dom: 19.1.0(react@19.1.0)
1466 | storybook: 9.0.16(@testing-library/dom@10.4.0)
1467 |
1468 | '@storybook/react-vite@9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.45.0)(storybook@9.0.16(@testing-library/dom@10.4.0))(typescript@5.6.3)(vite@7.0.4)':
1469 | dependencies:
1470 | '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.6.3)(vite@7.0.4)
1471 | '@rollup/pluginutils': 5.2.0(rollup@4.45.0)
1472 | '@storybook/builder-vite': 9.0.16(storybook@9.0.16(@testing-library/dom@10.4.0))(vite@7.0.4)
1473 | '@storybook/react': 9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0))(typescript@5.6.3)
1474 | find-up: 7.0.0
1475 | magic-string: 0.30.17
1476 | react: 19.1.0
1477 | react-docgen: 8.0.0
1478 | react-dom: 19.1.0(react@19.1.0)
1479 | resolve: 1.22.10
1480 | storybook: 9.0.16(@testing-library/dom@10.4.0)
1481 | tsconfig-paths: 4.2.0
1482 | vite: 7.0.4
1483 | transitivePeerDependencies:
1484 | - rollup
1485 | - supports-color
1486 | - typescript
1487 |
1488 | '@storybook/react@9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0))(typescript@5.6.3)':
1489 | dependencies:
1490 | '@storybook/global': 5.0.0
1491 | '@storybook/react-dom-shim': 9.0.16(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.16(@testing-library/dom@10.4.0))
1492 | react: 19.1.0
1493 | react-dom: 19.1.0(react@19.1.0)
1494 | storybook: 9.0.16(@testing-library/dom@10.4.0)
1495 | optionalDependencies:
1496 | typescript: 5.6.3
1497 |
1498 | '@testing-library/dom@10.4.0':
1499 | dependencies:
1500 | '@babel/code-frame': 7.27.1
1501 | '@babel/runtime': 7.27.6
1502 | '@types/aria-query': 5.0.4
1503 | aria-query: 5.3.0
1504 | chalk: 4.1.2
1505 | dom-accessibility-api: 0.5.16
1506 | lz-string: 1.5.0
1507 | pretty-format: 27.5.1
1508 |
1509 | '@testing-library/jest-dom@6.6.3':
1510 | dependencies:
1511 | '@adobe/css-tools': 4.4.3
1512 | aria-query: 5.3.2
1513 | chalk: 3.0.0
1514 | css.escape: 1.5.1
1515 | dom-accessibility-api: 0.6.3
1516 | lodash: 4.17.21
1517 | redent: 3.0.0
1518 |
1519 | '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)':
1520 | dependencies:
1521 | '@testing-library/dom': 10.4.0
1522 |
1523 | '@types/aria-query@5.0.4': {}
1524 |
1525 | '@types/babel__core@7.20.5':
1526 | dependencies:
1527 | '@babel/parser': 7.28.0
1528 | '@babel/types': 7.28.0
1529 | '@types/babel__generator': 7.27.0
1530 | '@types/babel__template': 7.4.4
1531 | '@types/babel__traverse': 7.20.7
1532 |
1533 | '@types/babel__generator@7.27.0':
1534 | dependencies:
1535 | '@babel/types': 7.28.0
1536 |
1537 | '@types/babel__template@7.4.4':
1538 | dependencies:
1539 | '@babel/parser': 7.28.0
1540 | '@babel/types': 7.28.0
1541 |
1542 | '@types/babel__traverse@7.20.7':
1543 | dependencies:
1544 | '@babel/types': 7.28.0
1545 |
1546 | '@types/chai@5.2.2':
1547 | dependencies:
1548 | '@types/deep-eql': 4.0.2
1549 |
1550 | '@types/deep-eql@4.0.2': {}
1551 |
1552 | '@types/doctrine@0.0.9': {}
1553 |
1554 | '@types/estree@1.0.8': {}
1555 |
1556 | '@types/prop-types@15.7.13': {}
1557 |
1558 | '@types/react@18.3.12':
1559 | dependencies:
1560 | '@types/prop-types': 15.7.13
1561 | csstype: 3.1.3
1562 |
1563 | '@types/resolve@1.20.6': {}
1564 |
1565 | '@vitejs/plugin-react@4.6.0(vite@7.0.4)':
1566 | dependencies:
1567 | '@babel/core': 7.28.0
1568 | '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0)
1569 | '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0)
1570 | '@rolldown/pluginutils': 1.0.0-beta.19
1571 | '@types/babel__core': 7.20.5
1572 | react-refresh: 0.17.0
1573 | vite: 7.0.4
1574 | transitivePeerDependencies:
1575 | - supports-color
1576 |
1577 | '@vitest/expect@3.2.4':
1578 | dependencies:
1579 | '@types/chai': 5.2.2
1580 | '@vitest/spy': 3.2.4
1581 | '@vitest/utils': 3.2.4
1582 | chai: 5.2.1
1583 | tinyrainbow: 2.0.0
1584 |
1585 | '@vitest/pretty-format@3.2.4':
1586 | dependencies:
1587 | tinyrainbow: 2.0.0
1588 |
1589 | '@vitest/spy@3.2.4':
1590 | dependencies:
1591 | tinyspy: 4.0.3
1592 |
1593 | '@vitest/utils@3.2.4':
1594 | dependencies:
1595 | '@vitest/pretty-format': 3.2.4
1596 | loupe: 3.1.4
1597 | tinyrainbow: 2.0.0
1598 |
1599 | acorn@8.15.0: {}
1600 |
1601 | ansi-regex@5.0.1: {}
1602 |
1603 | ansi-regex@6.1.0: {}
1604 |
1605 | ansi-styles@4.3.0:
1606 | dependencies:
1607 | color-convert: 2.0.1
1608 |
1609 | ansi-styles@5.2.0: {}
1610 |
1611 | ansi-styles@6.2.1: {}
1612 |
1613 | aria-query@5.3.0:
1614 | dependencies:
1615 | dequal: 2.0.3
1616 |
1617 | aria-query@5.3.2: {}
1618 |
1619 | assertion-error@2.0.1: {}
1620 |
1621 | ast-types@0.16.1:
1622 | dependencies:
1623 | tslib: 2.8.1
1624 |
1625 | balanced-match@1.0.2: {}
1626 |
1627 | better-opn@3.0.2:
1628 | dependencies:
1629 | open: 8.4.2
1630 |
1631 | brace-expansion@2.0.2:
1632 | dependencies:
1633 | balanced-match: 1.0.2
1634 |
1635 | browserslist@4.25.1:
1636 | dependencies:
1637 | caniuse-lite: 1.0.30001727
1638 | electron-to-chromium: 1.5.182
1639 | node-releases: 2.0.19
1640 | update-browserslist-db: 1.1.3(browserslist@4.25.1)
1641 |
1642 | caniuse-lite@1.0.30001727: {}
1643 |
1644 | chai@5.2.1:
1645 | dependencies:
1646 | assertion-error: 2.0.1
1647 | check-error: 2.1.1
1648 | deep-eql: 5.0.2
1649 | loupe: 3.1.4
1650 | pathval: 2.0.1
1651 |
1652 | chalk@3.0.0:
1653 | dependencies:
1654 | ansi-styles: 4.3.0
1655 | supports-color: 7.2.0
1656 |
1657 | chalk@4.1.2:
1658 | dependencies:
1659 | ansi-styles: 4.3.0
1660 | supports-color: 7.2.0
1661 |
1662 | check-error@2.1.1: {}
1663 |
1664 | color-convert@2.0.1:
1665 | dependencies:
1666 | color-name: 1.1.4
1667 |
1668 | color-name@1.1.4: {}
1669 |
1670 | convert-source-map@2.0.0: {}
1671 |
1672 | cross-spawn@7.0.6:
1673 | dependencies:
1674 | path-key: 3.1.1
1675 | shebang-command: 2.0.0
1676 | which: 2.0.2
1677 |
1678 | css.escape@1.5.1: {}
1679 |
1680 | csstype@3.1.3: {}
1681 |
1682 | debug@4.4.1:
1683 | dependencies:
1684 | ms: 2.1.3
1685 |
1686 | deep-eql@5.0.2: {}
1687 |
1688 | define-lazy-prop@2.0.0: {}
1689 |
1690 | dequal@2.0.3: {}
1691 |
1692 | doctrine@3.0.0:
1693 | dependencies:
1694 | esutils: 2.0.3
1695 |
1696 | dom-accessibility-api@0.5.16: {}
1697 |
1698 | dom-accessibility-api@0.6.3: {}
1699 |
1700 | eastasianwidth@0.2.0: {}
1701 |
1702 | electron-to-chromium@1.5.182: {}
1703 |
1704 | emoji-regex@8.0.0: {}
1705 |
1706 | emoji-regex@9.2.2: {}
1707 |
1708 | esbuild-register@3.6.0(esbuild@0.25.6):
1709 | dependencies:
1710 | debug: 4.4.1
1711 | esbuild: 0.25.6
1712 | transitivePeerDependencies:
1713 | - supports-color
1714 |
1715 | esbuild@0.25.6:
1716 | optionalDependencies:
1717 | '@esbuild/aix-ppc64': 0.25.6
1718 | '@esbuild/android-arm': 0.25.6
1719 | '@esbuild/android-arm64': 0.25.6
1720 | '@esbuild/android-x64': 0.25.6
1721 | '@esbuild/darwin-arm64': 0.25.6
1722 | '@esbuild/darwin-x64': 0.25.6
1723 | '@esbuild/freebsd-arm64': 0.25.6
1724 | '@esbuild/freebsd-x64': 0.25.6
1725 | '@esbuild/linux-arm': 0.25.6
1726 | '@esbuild/linux-arm64': 0.25.6
1727 | '@esbuild/linux-ia32': 0.25.6
1728 | '@esbuild/linux-loong64': 0.25.6
1729 | '@esbuild/linux-mips64el': 0.25.6
1730 | '@esbuild/linux-ppc64': 0.25.6
1731 | '@esbuild/linux-riscv64': 0.25.6
1732 | '@esbuild/linux-s390x': 0.25.6
1733 | '@esbuild/linux-x64': 0.25.6
1734 | '@esbuild/netbsd-arm64': 0.25.6
1735 | '@esbuild/netbsd-x64': 0.25.6
1736 | '@esbuild/openbsd-arm64': 0.25.6
1737 | '@esbuild/openbsd-x64': 0.25.6
1738 | '@esbuild/openharmony-arm64': 0.25.6
1739 | '@esbuild/sunos-x64': 0.25.6
1740 | '@esbuild/win32-arm64': 0.25.6
1741 | '@esbuild/win32-ia32': 0.25.6
1742 | '@esbuild/win32-x64': 0.25.6
1743 |
1744 | escalade@3.2.0: {}
1745 |
1746 | esprima@4.0.1: {}
1747 |
1748 | estree-walker@2.0.2: {}
1749 |
1750 | esutils@2.0.3: {}
1751 |
1752 | fdir@6.4.6(picomatch@4.0.2):
1753 | optionalDependencies:
1754 | picomatch: 4.0.2
1755 |
1756 | find-up@7.0.0:
1757 | dependencies:
1758 | locate-path: 7.2.0
1759 | path-exists: 5.0.0
1760 | unicorn-magic: 0.1.0
1761 |
1762 | foreground-child@3.3.1:
1763 | dependencies:
1764 | cross-spawn: 7.0.6
1765 | signal-exit: 4.1.0
1766 |
1767 | fsevents@2.3.2:
1768 | optional: true
1769 |
1770 | fsevents@2.3.3:
1771 | optional: true
1772 |
1773 | function-bind@1.1.2: {}
1774 |
1775 | gensync@1.0.0-beta.2: {}
1776 |
1777 | glob@10.4.5:
1778 | dependencies:
1779 | foreground-child: 3.3.1
1780 | jackspeak: 3.4.3
1781 | minimatch: 9.0.5
1782 | minipass: 7.1.2
1783 | package-json-from-dist: 1.0.1
1784 | path-scurry: 1.11.1
1785 |
1786 | has-flag@4.0.0: {}
1787 |
1788 | hasown@2.0.2:
1789 | dependencies:
1790 | function-bind: 1.1.2
1791 |
1792 | indent-string@4.0.0: {}
1793 |
1794 | is-core-module@2.16.1:
1795 | dependencies:
1796 | hasown: 2.0.2
1797 |
1798 | is-docker@2.2.1: {}
1799 |
1800 | is-fullwidth-code-point@3.0.0: {}
1801 |
1802 | is-wsl@2.2.0:
1803 | dependencies:
1804 | is-docker: 2.2.1
1805 |
1806 | isexe@2.0.0: {}
1807 |
1808 | jackspeak@3.4.3:
1809 | dependencies:
1810 | '@isaacs/cliui': 8.0.2
1811 | optionalDependencies:
1812 | '@pkgjs/parseargs': 0.11.0
1813 |
1814 | js-tokens@4.0.0: {}
1815 |
1816 | jsesc@3.1.0: {}
1817 |
1818 | json5@2.2.3: {}
1819 |
1820 | locate-path@7.2.0:
1821 | dependencies:
1822 | p-locate: 6.0.0
1823 |
1824 | lodash@4.17.21: {}
1825 |
1826 | loupe@3.1.4: {}
1827 |
1828 | lru-cache@10.4.3: {}
1829 |
1830 | lru-cache@5.1.1:
1831 | dependencies:
1832 | yallist: 3.1.1
1833 |
1834 | lz-string@1.5.0: {}
1835 |
1836 | magic-string@0.30.17:
1837 | dependencies:
1838 | '@jridgewell/sourcemap-codec': 1.5.4
1839 |
1840 | min-indent@1.0.1: {}
1841 |
1842 | minimatch@9.0.5:
1843 | dependencies:
1844 | brace-expansion: 2.0.2
1845 |
1846 | minimist@1.2.8: {}
1847 |
1848 | minipass@7.1.2: {}
1849 |
1850 | ms@2.1.3: {}
1851 |
1852 | nanoid@3.3.11: {}
1853 |
1854 | node-releases@2.0.19: {}
1855 |
1856 | open@8.4.2:
1857 | dependencies:
1858 | define-lazy-prop: 2.0.0
1859 | is-docker: 2.2.1
1860 | is-wsl: 2.2.0
1861 |
1862 | p-limit@4.0.0:
1863 | dependencies:
1864 | yocto-queue: 1.2.1
1865 |
1866 | p-locate@6.0.0:
1867 | dependencies:
1868 | p-limit: 4.0.0
1869 |
1870 | package-json-from-dist@1.0.1: {}
1871 |
1872 | path-exists@5.0.0: {}
1873 |
1874 | path-key@3.1.1: {}
1875 |
1876 | path-parse@1.0.7: {}
1877 |
1878 | path-scurry@1.11.1:
1879 | dependencies:
1880 | lru-cache: 10.4.3
1881 | minipass: 7.1.2
1882 |
1883 | pathval@2.0.1: {}
1884 |
1885 | picocolors@1.1.1: {}
1886 |
1887 | picomatch@4.0.2: {}
1888 |
1889 | playwright-core@1.54.1: {}
1890 |
1891 | playwright@1.54.1:
1892 | dependencies:
1893 | playwright-core: 1.54.1
1894 | optionalDependencies:
1895 | fsevents: 2.3.2
1896 |
1897 | postcss@8.5.6:
1898 | dependencies:
1899 | nanoid: 3.3.11
1900 | picocolors: 1.1.1
1901 | source-map-js: 1.2.1
1902 |
1903 | pretty-format@27.5.1:
1904 | dependencies:
1905 | ansi-regex: 5.0.1
1906 | ansi-styles: 5.2.0
1907 | react-is: 17.0.2
1908 |
1909 | react-docgen-typescript@2.4.0(typescript@5.6.3):
1910 | dependencies:
1911 | typescript: 5.6.3
1912 |
1913 | react-docgen@8.0.0:
1914 | dependencies:
1915 | '@babel/core': 7.28.0
1916 | '@babel/traverse': 7.28.0
1917 | '@babel/types': 7.28.0
1918 | '@types/babel__core': 7.20.5
1919 | '@types/babel__traverse': 7.20.7
1920 | '@types/doctrine': 0.0.9
1921 | '@types/resolve': 1.20.6
1922 | doctrine: 3.0.0
1923 | resolve: 1.22.10
1924 | strip-indent: 4.0.0
1925 | transitivePeerDependencies:
1926 | - supports-color
1927 |
1928 | react-dom@19.1.0(react@19.1.0):
1929 | dependencies:
1930 | react: 19.1.0
1931 | scheduler: 0.26.0
1932 |
1933 | react-is@17.0.2: {}
1934 |
1935 | react-refresh@0.17.0: {}
1936 |
1937 | react@19.1.0: {}
1938 |
1939 | recast@0.23.11:
1940 | dependencies:
1941 | ast-types: 0.16.1
1942 | esprima: 4.0.1
1943 | source-map: 0.6.1
1944 | tiny-invariant: 1.3.3
1945 | tslib: 2.8.1
1946 |
1947 | redent@3.0.0:
1948 | dependencies:
1949 | indent-string: 4.0.0
1950 | strip-indent: 3.0.0
1951 |
1952 | resolve@1.22.10:
1953 | dependencies:
1954 | is-core-module: 2.16.1
1955 | path-parse: 1.0.7
1956 | supports-preserve-symlinks-flag: 1.0.0
1957 |
1958 | rollup@4.45.0:
1959 | dependencies:
1960 | '@types/estree': 1.0.8
1961 | optionalDependencies:
1962 | '@rollup/rollup-android-arm-eabi': 4.45.0
1963 | '@rollup/rollup-android-arm64': 4.45.0
1964 | '@rollup/rollup-darwin-arm64': 4.45.0
1965 | '@rollup/rollup-darwin-x64': 4.45.0
1966 | '@rollup/rollup-freebsd-arm64': 4.45.0
1967 | '@rollup/rollup-freebsd-x64': 4.45.0
1968 | '@rollup/rollup-linux-arm-gnueabihf': 4.45.0
1969 | '@rollup/rollup-linux-arm-musleabihf': 4.45.0
1970 | '@rollup/rollup-linux-arm64-gnu': 4.45.0
1971 | '@rollup/rollup-linux-arm64-musl': 4.45.0
1972 | '@rollup/rollup-linux-loongarch64-gnu': 4.45.0
1973 | '@rollup/rollup-linux-powerpc64le-gnu': 4.45.0
1974 | '@rollup/rollup-linux-riscv64-gnu': 4.45.0
1975 | '@rollup/rollup-linux-riscv64-musl': 4.45.0
1976 | '@rollup/rollup-linux-s390x-gnu': 4.45.0
1977 | '@rollup/rollup-linux-x64-gnu': 4.45.0
1978 | '@rollup/rollup-linux-x64-musl': 4.45.0
1979 | '@rollup/rollup-win32-arm64-msvc': 4.45.0
1980 | '@rollup/rollup-win32-ia32-msvc': 4.45.0
1981 | '@rollup/rollup-win32-x64-msvc': 4.45.0
1982 | fsevents: 2.3.3
1983 |
1984 | scheduler@0.26.0: {}
1985 |
1986 | semver@6.3.1: {}
1987 |
1988 | semver@7.7.2: {}
1989 |
1990 | shebang-command@2.0.0:
1991 | dependencies:
1992 | shebang-regex: 3.0.0
1993 |
1994 | shebang-regex@3.0.0: {}
1995 |
1996 | signal-exit@4.1.0: {}
1997 |
1998 | source-map-js@1.2.1: {}
1999 |
2000 | source-map@0.6.1: {}
2001 |
2002 | storybook@9.0.16(@testing-library/dom@10.4.0):
2003 | dependencies:
2004 | '@storybook/global': 5.0.0
2005 | '@testing-library/jest-dom': 6.6.3
2006 | '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0)
2007 | '@vitest/expect': 3.2.4
2008 | '@vitest/spy': 3.2.4
2009 | better-opn: 3.0.2
2010 | esbuild: 0.25.6
2011 | esbuild-register: 3.6.0(esbuild@0.25.6)
2012 | recast: 0.23.11
2013 | semver: 7.7.2
2014 | ws: 8.18.3
2015 | transitivePeerDependencies:
2016 | - '@testing-library/dom'
2017 | - bufferutil
2018 | - supports-color
2019 | - utf-8-validate
2020 |
2021 | string-width@4.2.3:
2022 | dependencies:
2023 | emoji-regex: 8.0.0
2024 | is-fullwidth-code-point: 3.0.0
2025 | strip-ansi: 6.0.1
2026 |
2027 | string-width@5.1.2:
2028 | dependencies:
2029 | eastasianwidth: 0.2.0
2030 | emoji-regex: 9.2.2
2031 | strip-ansi: 7.1.0
2032 |
2033 | strip-ansi@6.0.1:
2034 | dependencies:
2035 | ansi-regex: 5.0.1
2036 |
2037 | strip-ansi@7.1.0:
2038 | dependencies:
2039 | ansi-regex: 6.1.0
2040 |
2041 | strip-bom@3.0.0: {}
2042 |
2043 | strip-indent@3.0.0:
2044 | dependencies:
2045 | min-indent: 1.0.1
2046 |
2047 | strip-indent@4.0.0:
2048 | dependencies:
2049 | min-indent: 1.0.1
2050 |
2051 | supports-color@7.2.0:
2052 | dependencies:
2053 | has-flag: 4.0.0
2054 |
2055 | supports-preserve-symlinks-flag@1.0.0: {}
2056 |
2057 | tiny-invariant@1.3.3: {}
2058 |
2059 | tinyglobby@0.2.14:
2060 | dependencies:
2061 | fdir: 6.4.6(picomatch@4.0.2)
2062 | picomatch: 4.0.2
2063 |
2064 | tinyrainbow@2.0.0: {}
2065 |
2066 | tinyspy@4.0.3: {}
2067 |
2068 | ts-dedent@2.2.0: {}
2069 |
2070 | tsconfig-paths@4.2.0:
2071 | dependencies:
2072 | json5: 2.2.3
2073 | minimist: 1.2.8
2074 | strip-bom: 3.0.0
2075 |
2076 | tslib@2.8.1: {}
2077 |
2078 | typescript@5.6.3: {}
2079 |
2080 | unicorn-magic@0.1.0: {}
2081 |
2082 | unplugin@1.16.1:
2083 | dependencies:
2084 | acorn: 8.15.0
2085 | webpack-virtual-modules: 0.6.2
2086 |
2087 | update-browserslist-db@1.1.3(browserslist@4.25.1):
2088 | dependencies:
2089 | browserslist: 4.25.1
2090 | escalade: 3.2.0
2091 | picocolors: 1.1.1
2092 |
2093 | vite@7.0.4:
2094 | dependencies:
2095 | esbuild: 0.25.6
2096 | fdir: 6.4.6(picomatch@4.0.2)
2097 | picomatch: 4.0.2
2098 | postcss: 8.5.6
2099 | rollup: 4.45.0
2100 | tinyglobby: 0.2.14
2101 | optionalDependencies:
2102 | fsevents: 2.3.3
2103 |
2104 | webpack-virtual-modules@0.6.2: {}
2105 |
2106 | which@2.0.2:
2107 | dependencies:
2108 | isexe: 2.0.0
2109 |
2110 | wrap-ansi@7.0.0:
2111 | dependencies:
2112 | ansi-styles: 4.3.0
2113 | string-width: 4.2.3
2114 | strip-ansi: 6.0.1
2115 |
2116 | wrap-ansi@8.1.0:
2117 | dependencies:
2118 | ansi-styles: 6.2.1
2119 | string-width: 5.1.2
2120 | strip-ansi: 7.1.0
2121 |
2122 | ws@8.18.3: {}
2123 |
2124 | yallist@3.1.1: {}
2125 |
2126 | yocto-queue@1.2.1: {}
2127 |
--------------------------------------------------------------------------------