fix: enable multi-bead highlighting in tutorial system

- Fix highlighting logic bug where multiple beads in same column would overwrite each other
- Migrate TutorialStep interface from columnIndex to placeValue system
- Update tutorial data to use place values (0=ones, 1=tens, etc.)
- Fix bead validation logic to use place values instead of legacy columnIndex
- Enable proper multi-step tutorial highlighting for complement operations

Tutorial steps like "3 + 4 = 5 - 1" now correctly highlight both the heaven bead
(add 5) and earth bead (remove 1) simultaneously.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Thomas Hallock 2025-09-21 17:56:00 -05:00
parent 82e15a1cd9
commit ab99053d74
20 changed files with 224 additions and 616 deletions

4
.gitignore vendored
View File

@ -39,4 +39,6 @@ tmp/
temp/
# Claude settings (keep local only)
.claude/settings.local.json
.claude/settings.local.json
*storybook.log
storybook-static

View File

@ -2,4 +2,4 @@
/// <reference types="next/image-types/global" />
// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.

View File

@ -44,7 +44,8 @@
"next": "^14.2.32",
"python-bridge": "^1.1.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
"react-dom": "^18.0.0",
"react-resizable-layout": "^0.7.3"
},
"devDependencies": {
"@storybook/addon-docs": "^9.1.7",

View File

@ -8,7 +8,8 @@ import { TypstSoroban } from '@/components/TypstSoroban'
import { InteractiveAbacus } from '@/components/InteractiveAbacus'
import { AbacusReact } from '@soroban/abacus-react'
import { useAbacusConfig } from '@/contexts/AbacusDisplayContext'
import { GuidedAdditionTutorial } from '@/components/GuidedAdditionTutorial'
import { TutorialPlayer } from '@/components/tutorial/TutorialPlayer'
import { getTutorialForEditor } from '@/utils/tutorialConverter'
type TabType = 'reading' | 'arithmetic'
@ -989,7 +990,45 @@ function ArithmeticOperationsGuide() {
Learn addition step-by-step with interactive guidance, tooltips, and error correction.
</p>
<GuidedAdditionTutorial />
<div className={css({
bg: 'blue.50',
border: '1px solid',
borderColor: 'blue.200',
rounded: 'lg',
p: 4,
mb: 4
})}>
<p className={css({
fontSize: 'sm',
color: 'blue.700',
mb: 2,
display: 'flex',
alignItems: 'center',
gap: 2
})}>
<span></span>
<strong>This tutorial is now editable!</strong>
</p>
<p className={css({ fontSize: 'xs', color: 'blue.600' })}>
You can customize this tutorial using our new tutorial editor system.{' '}
<a
href="/tutorial-editor"
className={css({
color: 'blue.700',
textDecoration: 'underline',
_hover: { color: 'blue.800' }
})}
>
Open in Editor
</a>
</p>
</div>
<TutorialPlayer
tutorial={getTutorialForEditor()}
isDebugMode={false}
showDebugPanel={false}
/>
</div>
{/* Subtraction Section */}

View File

@ -135,11 +135,11 @@ export default function TutorialEditorPage() {
// Highlight beads validation
if (step.highlightBeads) {
step.highlightBeads.forEach((highlight, bIndex) => {
if (highlight.columnIndex < 0 || highlight.columnIndex > 4) {
if (highlight.placeValue < 0 || highlight.placeValue > 4) {
errors.push({
stepId: step.id,
field: 'highlightBeads',
message: `Step ${index + 1}: Highlight bead ${bIndex + 1} has invalid column index`,
message: `Step ${index + 1}: Highlight bead ${bIndex + 1} has invalid place value`,
severity: 'error'
})
}

View File

@ -306,11 +306,16 @@ export function TutorialPlayer({
// Check if this is the correct action
if (currentStep.highlightBeads && Array.isArray(currentStep.highlightBeads)) {
const isCorrectBead = currentStep.highlightBeads.some(highlight =>
highlight.columnIndex === beadInfo.columnIndex &&
highlight.beadType === beadInfo.beadType &&
(highlight.position === undefined || highlight.position === beadInfo.position)
)
const isCorrectBead = currentStep.highlightBeads.some(highlight => {
// Get place value from highlight (convert columnIndex to placeValue if needed)
const highlightPlaceValue = highlight.placeValue ?? (4 - highlight.columnIndex);
// Get place value from bead click event
const beadPlaceValue = beadInfo.bead ? beadInfo.bead.placeValue : (4 - beadInfo.columnIndex);
return highlightPlaceValue === beadPlaceValue &&
highlight.beadType === beadInfo.beadType &&
(highlight.position === undefined || highlight.position === beadInfo.position);
});
if (!isCorrectBead) {
dispatch({ type: 'SET_ERROR', error: currentStep.errorMessages.wrongBead })
@ -331,7 +336,7 @@ export function TutorialPlayer({
}, [currentStep])
const handleBeadRef = useCallback((bead: any, element: SVGElement | null) => {
const key = `${bead.columnIndex}-${bead.type}-${bead.position}`
const key = `${bead.placeValue}-${bead.type}-${bead.position}`
if (element) {
beadRefs.current.set(key, element)
} else {
@ -368,14 +373,35 @@ export function TutorialPlayer({
}
return {
beads: currentStep.highlightBeads.reduce((acc, highlight) => ({
...acc,
[highlight.columnIndex]: {
[highlight.beadType]: highlight.beadType === 'earth' && highlight.position !== undefined
? { [highlight.position]: { fill: '#fbbf24', stroke: '#f59e0b', strokeWidth: 3 } }
: { fill: '#fbbf24', stroke: '#f59e0b', strokeWidth: 3 }
beads: currentStep.highlightBeads.reduce((acc, highlight) => {
// Convert columnIndex to placeValue for compatibility
const placeValue = highlight.placeValue ?? (4 - highlight.columnIndex);
// Initialize column if it doesn't exist
if (!acc[placeValue]) {
acc[placeValue] = {};
}
}), {})
// Add the bead style to the appropriate type
if (highlight.beadType === 'earth' && highlight.position !== undefined) {
if (!acc[placeValue].earth) {
acc[placeValue].earth = {};
}
acc[placeValue].earth[highlight.position] = {
fill: '#fbbf24',
stroke: '#f59e0b',
strokeWidth: 3
};
} else {
acc[placeValue][highlight.beadType] = {
fill: '#fbbf24',
stroke: '#f59e0b',
strokeWidth: 3
};
}
return acc;
}, {} as any)
};
}, [currentStep.highlightBeads]);

View File

@ -7,7 +7,7 @@ export interface TutorialStep {
startValue: number
targetValue: number
highlightBeads?: Array<{
columnIndex: number
placeValue: number
beadType: 'heaven' | 'earth'
position?: number // for earth beads, 0-3
}>

View File

@ -26,7 +26,7 @@ interface ExistingTutorialStep {
startValue: number
targetValue: number
highlightBeads?: Array<{
columnIndex: number
placeValue: number
beadType: 'heaven' | 'earth'
position?: number
}>
@ -54,7 +54,7 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
description: 'Start by adding your first earth bead',
startValue: 0,
targetValue: 1,
highlightBeads: [{ columnIndex: 4, beadType: 'earth', position: 0 }],
highlightBeads: [{ placeValue: 0, beadType: 'earth', position: 0 }],
expectedAction: 'add',
actionDescription: 'Click the first earth bead to move it up',
tooltip: {
@ -74,7 +74,7 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
description: 'Add the second earth bead to make 2',
startValue: 1,
targetValue: 2,
highlightBeads: [{ columnIndex: 4, beadType: 'earth', position: 1 }],
highlightBeads: [{ placeValue: 0, beadType: 'earth', position: 1 }],
expectedAction: 'add',
actionDescription: 'Click the second earth bead to move it up',
tooltip: {
@ -94,7 +94,7 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
description: 'Add the third earth bead to make 3',
startValue: 2,
targetValue: 3,
highlightBeads: [{ columnIndex: 4, beadType: 'earth', position: 2 }],
highlightBeads: [{ placeValue: 0, beadType: 'earth', position: 2 }],
expectedAction: 'add',
actionDescription: 'Click the third earth bead to move it up',
tooltip: {
@ -114,7 +114,7 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
description: 'Add the fourth earth bead to make 4',
startValue: 3,
targetValue: 4,
highlightBeads: [{ columnIndex: 4, beadType: 'earth', position: 3 }],
highlightBeads: [{ placeValue: 0, beadType: 'earth', position: 3 }],
expectedAction: 'add',
actionDescription: 'Click the fourth earth bead to complete 4',
tooltip: {
@ -136,7 +136,7 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
description: 'Use the heaven bead to represent 5',
startValue: 0,
targetValue: 5,
highlightBeads: [{ columnIndex: 4, beadType: 'heaven' }],
highlightBeads: [{ placeValue: 0, beadType: 'heaven' }],
expectedAction: 'add',
actionDescription: 'Click the heaven bead to activate it',
tooltip: {
@ -156,7 +156,7 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
description: 'Add 1 to 5 by activating one earth bead',
startValue: 5,
targetValue: 6,
highlightBeads: [{ columnIndex: 4, beadType: 'earth', position: 0 }],
highlightBeads: [{ placeValue: 0, beadType: 'earth', position: 0 }],
expectedAction: 'add',
actionDescription: 'Click the first earth bead to make 6',
tooltip: {
@ -179,8 +179,8 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
startValue: 3,
targetValue: 7,
highlightBeads: [
{ columnIndex: 4, beadType: 'heaven' },
{ columnIndex: 4, beadType: 'earth', position: 0 }
{ placeValue: 0, beadType: 'heaven' },
{ placeValue: 0, beadType: 'earth', position: 0 }
],
expectedAction: 'multi-step',
actionDescription: 'First add heaven bead (5), then remove 1 earth bead',
@ -206,9 +206,9 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
startValue: 2,
targetValue: 5,
highlightBeads: [
{ columnIndex: 4, beadType: 'heaven' },
{ columnIndex: 4, beadType: 'earth', position: 0 },
{ columnIndex: 4, beadType: 'earth', position: 1 }
{ placeValue: 0, beadType: 'heaven' },
{ placeValue: 0, beadType: 'earth', position: 0 },
{ placeValue: 0, beadType: 'earth', position: 1 }
],
expectedAction: 'multi-step',
actionDescription: 'Add heaven bead (5), then remove 2 earth beads',
@ -237,8 +237,8 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
startValue: 6,
targetValue: 8,
highlightBeads: [
{ columnIndex: 4, beadType: 'earth', position: 1 },
{ columnIndex: 4, beadType: 'earth', position: 2 }
{ placeValue: 0, beadType: 'earth', position: 1 },
{ placeValue: 0, beadType: 'earth', position: 2 }
],
expectedAction: 'add',
actionDescription: 'Add two more earth beads',
@ -260,9 +260,9 @@ export const guidedAdditionSteps: ExistingTutorialStep[] = [
startValue: 7,
targetValue: 11,
highlightBeads: [
{ columnIndex: 1, beadType: 'heaven' },
{ columnIndex: 4, beadType: 'earth', position: 0 },
{ columnIndex: 4, beadType: 'earth', position: 1 }
{ placeValue: 1, beadType: 'heaven' },
{ placeValue: 0, beadType: 'earth', position: 0 },
{ placeValue: 0, beadType: 'earth', position: 1 }
],
expectedAction: 'multi-step',
actionDescription: 'This will move to tens place: activate left heaven, remove 3 earth',

View File

@ -832,6 +832,18 @@
}
@media (max-width: 768px) {
.\[\@media_\(max-width\:_768px\)\]\:gap_10px {
gap: 10px
}
}
@media (max-width: 480px) {
.\[\@media_\(max-width\:_480px\)\]\:gap_8px {
gap: 8px
}
}
@media (max-width: 768px) {
.\[\@media_\(max-width\:_768px\)\]\:h_130px {
height: 130px
}
@ -864,6 +876,18 @@
min-width: 90px
}
}
@media (max-width: 768px) {
.\[\@media_\(max-width\:_768px\)\]\:fs_40px {
font-size: 40px
}
}
@media (max-width: 480px) {
.\[\@media_\(max-width\:_480px\)\]\:fs_32px {
font-size: 32px
}
}
@media screen and (min-width: 48em) {
.md\:px_4 {
@ -886,9 +910,6 @@
}
@media (max-width: 768px) {
.\[\@media_\(max-width\:_768px\)\]\:gap_10px {
gap: 10px
}
.\[\@media_\(max-width\:_768px\)\]\:h_130px {
height: 130px
}
@ -896,15 +917,25 @@
.\[\@media_\(max-width\:_768px\)\]\:min-w_100px {
min-width: 100px
}
.\[\@media_\(max-width\:_768px\)\]\:gap_10px {
gap: 10px
}
.\[\@media_\(max-width\:_768px\)\]\:h_130px {
height: 130px
}
.\[\@media_\(max-width\:_768px\)\]\:min-w_100px {
min-width: 100px
}
.\[\@media_\(max-width\:_768px\)\]\:fs_40px {
font-size: 40px
}
}
@media (max-width: 480px) {
.\[\@media_\(max-width\:_480px\)\]\:gap_8px {
gap: 8px
}
.\[\@media_\(max-width\:_480px\)\]\:h_120px {
height: 120px
}
@ -912,6 +943,19 @@
.\[\@media_\(max-width\:_480px\)\]\:min-w_90px {
min-width: 90px
}
.\[\@media_\(max-width\:_480px\)\]\:gap_8px {
gap: 8px
}
.\[\@media_\(max-width\:_480px\)\]\:h_120px {
height: 120px
}
.\[\@media_\(max-width\:_480px\)\]\:min-w_90px {
min-width: 90px
}
.\[\@media_\(max-width\:_480px\)\]\:fs_32px {
font-size: 32px
}

View File

@ -362,6 +362,7 @@
.md\:grid-cols_repeat\(2\,_minmax\(0\,_1fr\)\) {
grid-template-columns: repeat(2, minmax(0, 1fr))
}
.md\:px_6 {
padding-inline: var(--spacing-6)
}

View File

@ -618,6 +618,7 @@
.md\:grid-cols_repeat\(2\,_minmax\(0\,_1fr\)\) {
grid-template-columns: repeat(2, minmax(0, 1fr))
}
.md\:p_8 {
padding: var(--spacing-8)
}
@ -625,6 +626,7 @@
.md\:fs_3xl {
font-size: var(--font-sizes-3xl)
}
.md\:grid-cols_repeat\(3\,_minmax\(0\,_1fr\)\) {
grid-template-columns: repeat(3, minmax(0, 1fr))
}

View File

@ -230,6 +230,7 @@
.md\:grid-cols_3 {
grid-template-columns: repeat(3, minmax(0, 1fr))
}
.md\:fs_6xl {
font-size: var(--font-sizes-6xl)
}

View File

@ -8,9 +8,9 @@ CLI tsup v7.0.0
CLI Target: es2022
CJS Build start
ESM Build start
CJS dist/index.js 8.90 KB
CJS ⚡️ Build success in 11ms
ESM dist/index.mjs 7.03 KB
ESM ⚡️ Build success in 11ms
ESM ⚡️ Build success in 41ms
CJS dist/index.js 8.90 KB
CJS ⚡️ Build success in 41ms
DTS Build start
ELIFECYCLE Command failed.

View File

@ -6,12 +6,12 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules"
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules:$NODE_PATH"
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
else
exec node "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
exec node "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
fi

View File

@ -1 +1 @@
../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest
../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest

View File

@ -2,15 +2,4 @@
> @soroban/client@1.0.0 build /Users/antialias/projects/soroban-abacus-flashcards/packages/core/client/typescript
> tsup src/index.ts --format cjs,esm --dts
CLI Building entry: src/index.ts
CLI tsup v7.0.0
CLI Target: node16
CJS Build start
ESM Build start
CJS dist/index.js 4.54 KB
CJS ⚡️ Build success in 32ms
ESM dist/index.mjs 3.51 KB
ESM ⚡️ Build success in 32ms
DTS Build start
DTS ⚡️ Build success in 329ms
DTS dist/index.d.ts 1.61 KB
ELIFECYCLE Command failed.

View File

@ -6,12 +6,12 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules"
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules:$NODE_PATH"
export NODE_PATH="/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules:/Users/antialias/projects/soroban-abacus-flashcards/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
else
exec node "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
exec node "$basedir/../../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest/vitest.mjs" "$@"
fi

View File

@ -1 +1 @@
../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_jsdom@27.0.0/node_modules/vitest
../../../../../node_modules/.pnpm/vitest@1.0.0_@types+node@20.0.0_@vitest+ui@3.2.4_jsdom@27.0.0/node_modules/vitest

View File

@ -30,7 +30,24 @@
"Bash(git log:*)",
"Bash(python:*)",
"Bash(pnpm test:*)",
"Bash(timeout:*)"
"Bash(timeout:*)",
"Bash(pnpm build:*)",
"Bash(npx playwright:*)",
"Bash(npx storybook@latest init:*)",
"Bash(pnpm update:*)",
"Bash(npm run build:*)",
"Bash(npm run dev:*)",
"Bash(npm test:*)",
"Bash(npx tsc:*)",
"WebSearch",
"WebFetch(domain:www.npmjs.com)",
"Bash(open http://localhost:3001/tutorial-editor)",
"Bash(open http://localhost:3004/tutorial-editor)",
"Bash(git push:*)",
"Bash(open http://localhost:3005/tutorial-editor)",
"Bash(find:*)",
"Bash(pnpm vitest:*)",
"Bash(open http://localhost:3006/tutorial-editor)"
],
"deny": [],
"ask": []

View File

@ -115,6 +115,9 @@ importers:
react-dom:
specifier: ^18.0.0
version: 18.0.0(react@18.0.0)
react-resizable-layout:
specifier: ^0.7.3
version: 0.7.3(react-dom@18.0.0)(react@18.0.0)
devDependencies:
'@storybook/addon-docs':
specifier: ^9.1.7
@ -142,7 +145,7 @@ importers:
version: 18.0.0
'@vitejs/plugin-react':
specifier: ^5.0.2
version: 5.0.2(vite@7.1.6)
version: 5.0.2(vite@5.0.0)
concurrently:
specifier: ^8.0.0
version: 8.0.0
@ -163,7 +166,7 @@ importers:
version: 27.0.0(postcss@8.5.6)
storybook:
specifier: ^9.1.7
version: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
version: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
typescript:
specifier: ^5.0.0
version: 5.0.2
@ -1802,15 +1805,6 @@ packages:
dev: true
optional: true
/@esbuild/aix-ppc64@0.25.10:
resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
requiresBuild: true
dev: true
optional: true
/@esbuild/aix-ppc64@0.25.9:
resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==}
engines: {node: '>=18'}
@ -1837,15 +1831,6 @@ packages:
dev: true
optional: true
/@esbuild/android-arm64@0.25.10:
resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-arm64@0.25.9:
resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==}
engines: {node: '>=18'}
@ -1872,15 +1857,6 @@ packages:
dev: true
optional: true
/@esbuild/android-arm@0.25.10:
resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-arm@0.25.9:
resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==}
engines: {node: '>=18'}
@ -1907,15 +1883,6 @@ packages:
dev: true
optional: true
/@esbuild/android-x64@0.25.10:
resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-x64@0.25.9:
resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==}
engines: {node: '>=18'}
@ -1942,15 +1909,6 @@ packages:
dev: true
optional: true
/@esbuild/darwin-arm64@0.25.10:
resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@esbuild/darwin-arm64@0.25.9:
resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==}
engines: {node: '>=18'}
@ -1977,15 +1935,6 @@ packages:
dev: true
optional: true
/@esbuild/darwin-x64@0.25.10:
resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@esbuild/darwin-x64@0.25.9:
resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==}
engines: {node: '>=18'}
@ -2012,15 +1961,6 @@ packages:
dev: true
optional: true
/@esbuild/freebsd-arm64@0.25.10:
resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/freebsd-arm64@0.25.9:
resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==}
engines: {node: '>=18'}
@ -2047,15 +1987,6 @@ packages:
dev: true
optional: true
/@esbuild/freebsd-x64@0.25.10:
resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/freebsd-x64@0.25.9:
resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==}
engines: {node: '>=18'}
@ -2082,15 +2013,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-arm64@0.25.10:
resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-arm64@0.25.9:
resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==}
engines: {node: '>=18'}
@ -2117,15 +2039,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-arm@0.25.10:
resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-arm@0.25.9:
resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==}
engines: {node: '>=18'}
@ -2152,15 +2065,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-ia32@0.25.10:
resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-ia32@0.25.9:
resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==}
engines: {node: '>=18'}
@ -2187,15 +2091,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-loong64@0.25.10:
resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-loong64@0.25.9:
resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==}
engines: {node: '>=18'}
@ -2222,15 +2117,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-mips64el@0.25.10:
resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-mips64el@0.25.9:
resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==}
engines: {node: '>=18'}
@ -2257,15 +2143,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-ppc64@0.25.10:
resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-ppc64@0.25.9:
resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==}
engines: {node: '>=18'}
@ -2292,15 +2169,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-riscv64@0.25.10:
resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-riscv64@0.25.9:
resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==}
engines: {node: '>=18'}
@ -2327,15 +2195,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-s390x@0.25.10:
resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-s390x@0.25.9:
resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==}
engines: {node: '>=18'}
@ -2362,15 +2221,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-x64@0.25.10:
resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-x64@0.25.9:
resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==}
engines: {node: '>=18'}
@ -2379,15 +2229,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/netbsd-arm64@0.25.10:
resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/netbsd-arm64@0.25.9:
resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==}
engines: {node: '>=18'}
@ -2414,15 +2255,6 @@ packages:
dev: true
optional: true
/@esbuild/netbsd-x64@0.25.10:
resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/netbsd-x64@0.25.9:
resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==}
engines: {node: '>=18'}
@ -2431,15 +2263,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/openbsd-arm64@0.25.10:
resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/openbsd-arm64@0.25.9:
resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==}
engines: {node: '>=18'}
@ -2466,15 +2289,6 @@ packages:
dev: true
optional: true
/@esbuild/openbsd-x64@0.25.10:
resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/openbsd-x64@0.25.9:
resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==}
engines: {node: '>=18'}
@ -2483,15 +2297,6 @@ packages:
requiresBuild: true
optional: true
/@esbuild/openharmony-arm64@0.25.10:
resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
requiresBuild: true
dev: true
optional: true
/@esbuild/openharmony-arm64@0.25.9:
resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==}
engines: {node: '>=18'}
@ -2518,15 +2323,6 @@ packages:
dev: true
optional: true
/@esbuild/sunos-x64@0.25.10:
resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
/@esbuild/sunos-x64@0.25.9:
resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==}
engines: {node: '>=18'}
@ -2553,15 +2349,6 @@ packages:
dev: true
optional: true
/@esbuild/win32-arm64@0.25.10:
resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-arm64@0.25.9:
resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==}
engines: {node: '>=18'}
@ -2588,15 +2375,6 @@ packages:
dev: true
optional: true
/@esbuild/win32-ia32@0.25.10:
resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-ia32@0.25.9:
resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==}
engines: {node: '>=18'}
@ -2623,15 +2401,6 @@ packages:
dev: true
optional: true
/@esbuild/win32-x64@0.25.10:
resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-x64@0.25.9:
resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==}
engines: {node: '>=18'}
@ -5274,14 +5043,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-android-arm-eabi@4.52.0:
resolution: {integrity: sha512-VxDYCDqOaR7NXzAtvRx7G1u54d2kEHopb28YH/pKzY6y0qmogP3gG7CSiWsq9WvDFxOQMpNEyjVAHZFXfH3o/A==}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-android-arm64@4.50.1:
resolution: {integrity: sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==}
cpu: [arm64]
@ -5290,14 +5051,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-android-arm64@4.52.0:
resolution: {integrity: sha512-pqDirm8koABIKvzL59YI9W9DWbRlTX7RWhN+auR8HXJxo89m4mjqbah7nJZjeKNTNYopqL+yGg+0mhCpf3xZtQ==}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-arm64@4.50.1:
resolution: {integrity: sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==}
cpu: [arm64]
@ -5306,14 +5059,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-darwin-arm64@4.52.0:
resolution: {integrity: sha512-YCdWlY/8ltN6H78HnMsRHYlPiKvqKagBP1r+D7SSylxX+HnsgXGCmLiV3Y4nSyY9hW8qr8U9LDUx/Lo7M6MfmQ==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-x64@4.50.1:
resolution: {integrity: sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==}
cpu: [x64]
@ -5322,14 +5067,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-darwin-x64@4.52.0:
resolution: {integrity: sha512-z4nw6y1j+OOSGzuVbSWdIp1IUks9qNw4dc7z7lWuWDKojY38VMWBlEN7F9jk5UXOkUcp97vA1N213DF+Lz8BRg==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-freebsd-arm64@4.50.1:
resolution: {integrity: sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==}
cpu: [arm64]
@ -5338,14 +5075,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-freebsd-arm64@4.52.0:
resolution: {integrity: sha512-Q/dv9Yvyr5rKlK8WQJZVrp5g2SOYeZUs9u/t2f9cQ2E0gJjYB/BWoedXfUT0EcDJefi2zzVfhcOj8drWCzTviw==}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-freebsd-x64@4.50.1:
resolution: {integrity: sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==}
cpu: [x64]
@ -5354,14 +5083,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-freebsd-x64@4.52.0:
resolution: {integrity: sha512-kdBsLs4Uile/fbjZVvCRcKB4q64R+1mUq0Yd7oU1CMm1Av336ajIFqNFovByipciuUQjBCPMxwJhCgfG2re3rg==}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.50.1:
resolution: {integrity: sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==}
cpu: [arm]
@ -5370,14 +5091,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.52.0:
resolution: {integrity: sha512-aL6hRwu0k7MTUESgkg7QHY6CoqPgr6gdQXRJI1/VbFlUMwsSzPGSR7sG5d+MCbYnJmJwThc2ol3nixj1fvI/zQ==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-musleabihf@4.50.1:
resolution: {integrity: sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==}
cpu: [arm]
@ -5386,14 +5099,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-arm-musleabihf@4.52.0:
resolution: {integrity: sha512-BTs0M5s1EJejgIBJhCeiFo7GZZ2IXWkFGcyZhxX4+8usnIo5Mti57108vjXFIQmmJaRyDwmV59Tw64Ap1dkwMw==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.50.1:
resolution: {integrity: sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==}
cpu: [arm64]
@ -5402,14 +5107,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.52.0:
resolution: {integrity: sha512-uj672IVOU9m08DBGvoPKPi/J8jlVgjh12C9GmjjBxCTQc3XtVmRkRKyeHSmIKQpvJ7fIm1EJieBUcnGSzDVFyw==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.50.1:
resolution: {integrity: sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==}
cpu: [arm64]
@ -5418,22 +5115,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.52.0:
resolution: {integrity: sha512-/+IVbeDMDCtB/HP/wiWsSzduD10SEGzIZX2945KSgZRNi4TSkjHqRJtNTVtVb8IRwhJ65ssI56krlLik+zFWkw==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-loong64-gnu@4.52.0:
resolution: {integrity: sha512-U1vVzvSWtSMWKKrGoROPBXMh3Vwn93TA9V35PldokHGqiUbF6erSzox/5qrSMKp6SzakvyjcPiVF8yB1xKr9Pg==}
cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-loongarch64-gnu@4.50.1:
resolution: {integrity: sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==}
cpu: [loong64]
@ -5450,14 +5131,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-ppc64-gnu@4.52.0:
resolution: {integrity: sha512-X/4WfuBAdQRH8cK3DYl8zC00XEE6aM472W+QCycpQJeLWVnHfkv7RyBFVaTqNUMsTgIX8ihMjCvFF9OUgeABzw==}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.50.1:
resolution: {integrity: sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==}
cpu: [riscv64]
@ -5466,14 +5139,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.52.0:
resolution: {integrity: sha512-xIRYc58HfWDBZoLmWfWXg2Sq8VCa2iJ32B7mqfWnkx5mekekl0tMe7FHpY8I72RXEcUkaWawRvl3qA55og+cwQ==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-riscv64-musl@4.50.1:
resolution: {integrity: sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==}
cpu: [riscv64]
@ -5482,14 +5147,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-riscv64-musl@4.52.0:
resolution: {integrity: sha512-mbsoUey05WJIOz8U1WzNdf+6UMYGwE3fZZnQqsM22FZ3wh1N887HT6jAOjXs6CNEK3Ntu2OBsyQDXfIjouI4dw==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-s390x-gnu@4.50.1:
resolution: {integrity: sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==}
cpu: [s390x]
@ -5498,14 +5155,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-s390x-gnu@4.52.0:
resolution: {integrity: sha512-qP6aP970bucEi5KKKR4AuPFd8aTx9EF6BvutvYxmZuWLJHmnq4LvBfp0U+yFDMGwJ+AIJEH5sIP+SNypauMWzg==}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.50.1:
resolution: {integrity: sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==}
cpu: [x64]
@ -5514,14 +5163,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.52.0:
resolution: {integrity: sha512-nmSVN+F2i1yKZ7rJNKO3G7ZzmxJgoQBQZ/6c4MuS553Grmr7WqR7LLDcYG53Z2m9409z3JLt4sCOhLdbKQ3HmA==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-musl@4.50.1:
resolution: {integrity: sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==}
cpu: [x64]
@ -5530,14 +5171,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-linux-x64-musl@4.52.0:
resolution: {integrity: sha512-2d0qRo33G6TfQVjaMR71P+yJVGODrt5V6+T0BDYH4EMfGgdC/2HWDVjSSFw888GSzAZUwuska3+zxNUCDco6rQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-openharmony-arm64@4.50.1:
resolution: {integrity: sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==}
cpu: [arm64]
@ -5546,14 +5179,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-openharmony-arm64@4.52.0:
resolution: {integrity: sha512-A1JalX4MOaFAAyGgpO7XP5khquv/7xKzLIyLmhNrbiCxWpMlnsTYr8dnsWM7sEeotNmxvSOEL7F65j0HXFcFsw==}
cpu: [arm64]
os: [openharmony]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.50.1:
resolution: {integrity: sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==}
cpu: [arm64]
@ -5562,14 +5187,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.52.0:
resolution: {integrity: sha512-YQugafP/rH0eOOHGjmNgDURrpYHrIX0yuojOI8bwCyXwxC9ZdTd3vYkmddPX0oHONLXu9Rb1dDmT0VNpjkzGGw==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.50.1:
resolution: {integrity: sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==}
cpu: [ia32]
@ -5578,22 +5195,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.52.0:
resolution: {integrity: sha512-zYdUYhi3Qe2fndujBqL5FjAFzvNeLxtIqfzNEVKD1I7C37/chv1VxhscWSQHTNfjPCrBFQMnynwA3kpZpZ8w4A==}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-x64-gnu@4.52.0:
resolution: {integrity: sha512-fGk03kQylNaCOQ96HDMeT7E2n91EqvCDd3RwvT5k+xNdFCeMGnj5b5hEgTGrQuyidqSsD3zJDQ21QIaxXqTBJw==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.50.1:
resolution: {integrity: sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==}
cpu: [x64]
@ -5602,14 +5203,6 @@ packages:
dev: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.52.0:
resolution: {integrity: sha512-6iKDCVSIUQ8jPMoIV0OytRKniaYyy5EbY/RRydmLW8ZR3cEBhxbWl5ro0rkUNe0ef6sScvhbY79HrjRm8i3vDQ==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rtsao/scc@1.1.0:
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
dev: true
@ -5717,7 +5310,7 @@ packages:
'@storybook/react-dom-shim': 9.1.7(react-dom@18.2.0)(react@18.2.0)(storybook@9.1.7)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
ts-dedent: 2.2.0
transitivePeerDependencies:
- '@types/react'
@ -5794,7 +5387,7 @@ packages:
peerDependencies:
storybook: ^9.1.7
dependencies:
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
dev: true
/@storybook/addon-outline@7.6.0:
@ -5931,7 +5524,7 @@ packages:
fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.2)(webpack@5.101.3)
html-webpack-plugin: 5.6.4(webpack@5.101.3)
magic-string: 0.30.19
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
style-loader: 3.3.4(webpack@5.101.3)
terser-webpack-plugin: 5.3.14(esbuild@0.25.9)(webpack@5.101.3)
ts-dedent: 2.2.0
@ -6161,7 +5754,7 @@ packages:
peerDependencies:
storybook: ^9.1.7
dependencies:
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
ts-dedent: 2.2.0
dev: true
@ -6179,7 +5772,7 @@ packages:
peerDependencies:
storybook: ^9.1.7
dependencies:
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
unplugin: 1.16.1
dev: true
@ -6318,7 +5911,7 @@ packages:
resolve-url-loader: 5.0.0
sass-loader: 16.0.5(webpack@5.101.3)
semver: 7.7.2
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
style-loader: 3.3.4(webpack@5.101.3)
styled-jsx: 5.1.7(@babel/core@7.28.4)(react@18.0.0)
tsconfig-paths: 4.2.0
@ -6374,7 +5967,7 @@ packages:
react-dom: 18.0.0(react@18.0.0)
resolve: 1.22.10
semver: 7.7.2
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
tsconfig-paths: 4.2.0
typescript: 5.0.2
webpack: 5.101.3(esbuild@0.25.9)
@ -6447,7 +6040,7 @@ packages:
dependencies:
react: 18.0.0
react-dom: 18.0.0(react@18.0.0)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
dev: true
/@storybook/react-dom-shim@9.1.7(react-dom@18.2.0)(react@18.2.0)(storybook@9.1.7):
@ -6459,7 +6052,7 @@ packages:
dependencies:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
dev: true
/@storybook/react-vite@7.6.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.2)(vite@4.5.0):
@ -6545,7 +6138,7 @@ packages:
'@storybook/react-dom-shim': 9.1.7(react-dom@18.0.0)(react@18.0.0)(storybook@9.1.7)
react: 18.0.0
react-dom: 18.0.0(react@18.0.0)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
typescript: 5.0.2
dev: true
@ -7434,7 +7027,7 @@ packages:
- supports-color
dev: true
/@vitejs/plugin-react@5.0.2(vite@7.1.6):
/@vitejs/plugin-react@5.0.2(vite@5.0.0):
resolution: {integrity: sha512-tmyFgixPZCx2+e6VO9TNITWcCQl8+Nl/E8YbAyPVv85QCc7/A3JrdfG2A8gIzvVhWuzMOVrFW1aReaNxrI6tbw==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
@ -7446,7 +7039,7 @@ packages:
'@rolldown/pluginutils': 1.0.0-beta.34
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
vite: 7.1.6(@types/node@20.0.0)
vite: 5.0.0(@types/node@20.0.0)
transitivePeerDependencies:
- supports-color
dev: true
@ -7469,7 +7062,7 @@ packages:
tinyrainbow: 2.0.0
dev: true
/@vitest/mocker@3.2.4(vite@7.1.6):
/@vitest/mocker@3.2.4(vite@5.0.0):
resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
peerDependencies:
msw: ^2.4.9
@ -7483,7 +7076,7 @@ packages:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.19
vite: 7.1.6(@types/node@20.0.0)
vite: 5.0.0(@types/node@20.0.0)
dev: true
/@vitest/pretty-format@3.2.4:
@ -9765,40 +9358,6 @@ packages:
'@esbuild/win32-x64': 0.19.12
dev: true
/esbuild@0.25.10:
resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==}
engines: {node: '>=18'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/aix-ppc64': 0.25.10
'@esbuild/android-arm': 0.25.10
'@esbuild/android-arm64': 0.25.10
'@esbuild/android-x64': 0.25.10
'@esbuild/darwin-arm64': 0.25.10
'@esbuild/darwin-x64': 0.25.10
'@esbuild/freebsd-arm64': 0.25.10
'@esbuild/freebsd-x64': 0.25.10
'@esbuild/linux-arm': 0.25.10
'@esbuild/linux-arm64': 0.25.10
'@esbuild/linux-ia32': 0.25.10
'@esbuild/linux-loong64': 0.25.10
'@esbuild/linux-mips64el': 0.25.10
'@esbuild/linux-ppc64': 0.25.10
'@esbuild/linux-riscv64': 0.25.10
'@esbuild/linux-s390x': 0.25.10
'@esbuild/linux-x64': 0.25.10
'@esbuild/netbsd-arm64': 0.25.10
'@esbuild/netbsd-x64': 0.25.10
'@esbuild/openbsd-arm64': 0.25.10
'@esbuild/openbsd-x64': 0.25.10
'@esbuild/openharmony-arm64': 0.25.10
'@esbuild/sunos-x64': 0.25.10
'@esbuild/win32-arm64': 0.25.10
'@esbuild/win32-ia32': 0.25.10
'@esbuild/win32-x64': 0.25.10
dev: true
/esbuild@0.25.9:
resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==}
engines: {node: '>=18'}
@ -10065,7 +9624,7 @@ packages:
dependencies:
'@typescript-eslint/utils': 8.44.0(eslint@8.0.0)(typescript@5.0.2)
eslint: 8.0.0
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6)
storybook: 9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0)
transitivePeerDependencies:
- supports-color
- typescript
@ -13641,6 +13200,16 @@ packages:
use-sidecar: 1.1.3(@types/react@18.2.0)(react@18.2.0)
dev: true
/react-resizable-layout@0.7.3(react-dom@18.0.0)(react@18.0.0):
resolution: {integrity: sha512-bQBZ/u5gbn3ijm258KSb5OM2RaqWdDvTppe2ykji6RcSqgEdYui1p7px3MU/1rPMp4o3KPnKQ4Od5UOX4sLe8g==}
peerDependencies:
react: '>=17.0.0'
react-dom: '>=17.0.0'
dependencies:
react: 18.0.0
react-dom: 18.0.0(react@18.0.0)
dev: false
/react-style-singleton@2.2.3(@types/react@18.0.0)(react@18.0.0):
resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
engines: {node: '>=10'}
@ -14020,38 +13589,6 @@ packages:
fsevents: 2.3.3
dev: true
/rollup@4.52.0:
resolution: {integrity: sha512-+IuescNkTJQgX7AkIDtITipZdIGcWF0pnVvZTWStiazUmcGA2ag8dfg0urest2XlXUi9kuhfQ+qmdc5Stc3z7g==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.52.0
'@rollup/rollup-android-arm64': 4.52.0
'@rollup/rollup-darwin-arm64': 4.52.0
'@rollup/rollup-darwin-x64': 4.52.0
'@rollup/rollup-freebsd-arm64': 4.52.0
'@rollup/rollup-freebsd-x64': 4.52.0
'@rollup/rollup-linux-arm-gnueabihf': 4.52.0
'@rollup/rollup-linux-arm-musleabihf': 4.52.0
'@rollup/rollup-linux-arm64-gnu': 4.52.0
'@rollup/rollup-linux-arm64-musl': 4.52.0
'@rollup/rollup-linux-loong64-gnu': 4.52.0
'@rollup/rollup-linux-ppc64-gnu': 4.52.0
'@rollup/rollup-linux-riscv64-gnu': 4.52.0
'@rollup/rollup-linux-riscv64-musl': 4.52.0
'@rollup/rollup-linux-s390x-gnu': 4.52.0
'@rollup/rollup-linux-x64-gnu': 4.52.0
'@rollup/rollup-linux-x64-musl': 4.52.0
'@rollup/rollup-openharmony-arm64': 4.52.0
'@rollup/rollup-win32-arm64-msvc': 4.52.0
'@rollup/rollup-win32-ia32-msvc': 4.52.0
'@rollup/rollup-win32-x64-gnu': 4.52.0
'@rollup/rollup-win32-x64-msvc': 4.52.0
fsevents: 2.3.3
dev: true
/rrweb-cssom@0.8.0:
resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
@ -14483,7 +14020,7 @@ packages:
- utf-8-validate
dev: true
/storybook@9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@7.1.6):
/storybook@9.1.7(@testing-library/dom@10.4.1)(prettier@3.0.0)(vite@5.0.0):
resolution: {integrity: sha512-X8YSQMNuqV9DklQLZH6mLKpDn15Z5tuUUTAIYsiGqx5BwsjtXnv5K04fXgl3jqTZyUauzV/ii8KdT04NVLtMwQ==}
hasBin: true
peerDependencies:
@ -14496,7 +14033,7 @@ packages:
'@testing-library/jest-dom': 6.8.0
'@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
'@vitest/expect': 3.2.4
'@vitest/mocker': 3.2.4(vite@7.1.6)
'@vitest/mocker': 3.2.4(vite@5.0.0)
'@vitest/spy': 3.2.4
better-opn: 3.0.2
esbuild: 0.25.9
@ -15733,57 +15270,6 @@ packages:
fsevents: 2.3.3
dev: true
/vite@7.1.6(@types/node@20.0.0):
resolution: {integrity: sha512-SRYIB8t/isTwNn8vMB3MR6E+EQZM/WG1aKmmIUCfDXfVvKfc20ZpamngWHKzAmmu9ppsgxsg4b2I7c90JZudIQ==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0
jiti: '>=1.21.0'
less: ^4.0.0
lightningcss: ^1.21.0
sass: ^1.70.0
sass-embedded: ^1.70.0
stylus: '>=0.54.8'
sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
yaml: ^2.4.2
peerDependenciesMeta:
'@types/node':
optional: true
jiti:
optional: true
less:
optional: true
lightningcss:
optional: true
sass:
optional: true
sass-embedded:
optional: true
stylus:
optional: true
sugarss:
optional: true
terser:
optional: true
tsx:
optional: true
yaml:
optional: true
dependencies:
'@types/node': 20.0.0
esbuild: 0.25.10
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
rollup: 4.52.0
tinyglobby: 0.2.15
optionalDependencies:
fsevents: 2.3.3
dev: true
/vitest@1.0.0(@types/node@20.0.0)(@vitest/ui@3.2.4)(jsdom@27.0.0):
resolution: {integrity: sha512-jpablj5+ifiFHV3QGOxPews3uxBuu6rQUzTaQYtEd6ocBpdQBil6AvmmGRQ3Rn0WPgyzb+Ni+JekfMyng+qYng==}
engines: {node: ^18.0.0 || >=20.0.0}