diff --git a/apps/web/next.config.mjs b/apps/web/next.config.mjs index 150e67d..196070e 100644 --- a/apps/web/next.config.mjs +++ b/apps/web/next.config.mjs @@ -4,7 +4,7 @@ const withVanillaExtract = createVanillaExtractPlugin() /** @type {import('next').NextConfig} */ const nextConfig = { - transpilePackages: ['@vook-client/ui'], + transpilePackages: ['@vook-client/design-system'], compiler: { styledComponents: true, }, diff --git a/apps/web/package.json b/apps/web/package.json index e10754b..0e7ec4a 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -16,7 +16,7 @@ "@vanilla-extract/recipes": "^0.5.2", "@vanilla-extract/sprinkles": "^1.6.1", "@vook-client/api": "*", - "@vook-client/ui": "*", + "@vook-client/design-system": "*", "next": "^14.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index fe016d0..6ac6037 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -1,6 +1,7 @@ import { Metadata } from 'next' import ReactQueryProvider from '@/providers/ReactQueryProvider' +import { pretendard } from '@/styles/fonts' export const metadata: Metadata = { title: 'Create Next App', @@ -14,7 +15,7 @@ const RootLayout = ({ }>) => { return ( - + {children} diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx index f7cddb8..730397d 100644 --- a/apps/web/src/app/page.tsx +++ b/apps/web/src/app/page.tsx @@ -1,6 +1,6 @@ 'use client' -import { Button } from '@vook-client/ui' +import { Button, Text } from '@vook-client/design-system' import { TestComponent } from '@/components/TestComponent' @@ -11,6 +11,7 @@ const Home = () => { return (
Hello world! + 프리텐다드

API_URL: {API_URL}

diff --git a/apps/web/src/styles/PretendardVariable.woff2 b/apps/web/src/styles/PretendardVariable.woff2 new file mode 100644 index 0000000..49c54b5 Binary files /dev/null and b/apps/web/src/styles/PretendardVariable.woff2 differ diff --git a/apps/web/src/styles/fonts.ts b/apps/web/src/styles/fonts.ts new file mode 100644 index 0000000..f88b314 --- /dev/null +++ b/apps/web/src/styles/fonts.ts @@ -0,0 +1,7 @@ +import localFont from 'next/font/local' + +export const pretendard = localFont({ + src: './PretendardVariable.woff2', + display: 'swap', + weight: '45 920', +}) diff --git a/apps/workshop/.storybook/main.ts b/apps/workshop/.storybook/main.ts index 73c3769..05d8823 100644 --- a/apps/workshop/.storybook/main.ts +++ b/apps/workshop/.storybook/main.ts @@ -11,8 +11,8 @@ function getAbsolutePath(value: string): any { const config: StorybookConfig = { stories: [ { - directory: '../../../packages/ui/src/**', - titlePrefix: 'UI', + directory: '../../../packages/design-system/src/**', + titlePrefix: 'Vook-Design-System', files: '*.stories.*', }, { diff --git a/apps/workshop/.storybook/preview.ts b/apps/workshop/.storybook/preview.ts index 8a2c287..cd2f5cb 100644 --- a/apps/workshop/.storybook/preview.ts +++ b/apps/workshop/.storybook/preview.ts @@ -1,3 +1,5 @@ +import './storybook.css' + const preview = { parameters: { controls: { diff --git a/apps/workshop/.storybook/storybook.css b/apps/workshop/.storybook/storybook.css new file mode 100644 index 0000000..5acceb2 --- /dev/null +++ b/apps/workshop/.storybook/storybook.css @@ -0,0 +1,36 @@ +@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.min.css'); + +* { + font-family: 'Pretendard', 'Noto Sans KR', sans-serif; +} + +.storybook-list { + display: flex; + flex-direction: column; + gap: 10px; + padding: 0; + margin: 0; + list-style: none; +} + +.storybook-subtitle { + margin-bottom: 8px; + color: rgb(157, 157, 157); + font-weight: 700; +} + +.navy-background { + background-color: #0e0933; +} + +.default-padding { + padding: 50px; +} + +.section-wrapper { + width: 1280px; +} + +#storybook-root { + position: relative; +} diff --git a/package.json b/package.json index 1628804..50671a0 100644 --- a/package.json +++ b/package.json @@ -44,5 +44,8 @@ "workspaces": [ "apps/*", "packages/*" - ] + ], + "dependencies": { + "@testing-library/user-event": "^14.5.2" + } } diff --git a/packages/ui/.eslintrc.js b/packages/design-system/.eslintrc.js similarity index 100% rename from packages/ui/.eslintrc.js rename to packages/design-system/.eslintrc.js diff --git a/packages/ui/package.json b/packages/design-system/package.json similarity index 92% rename from packages/ui/package.json rename to packages/design-system/package.json index ff3c4ba..6dbf2c2 100644 --- a/packages/ui/package.json +++ b/packages/design-system/package.json @@ -1,8 +1,8 @@ { - "name": "@vook-client/ui", + "name": "@vook-client/design-system", "version": "0.0.0", "private": true, - "exports": "./src/index.ts", + "main": "./src", "scripts": { "lint": "eslint . --max-warnings 0" }, diff --git a/packages/design-system/src/components/Button/Button.css.ts b/packages/design-system/src/components/Button/Button.css.ts new file mode 100644 index 0000000..051334f --- /dev/null +++ b/packages/design-system/src/components/Button/Button.css.ts @@ -0,0 +1,87 @@ +import { recipe, RecipeVariants } from '@vanilla-extract/recipes' + +import { vars } from '../../styles/global.css' + +export const button = recipe({ + base: { + border: 'none', + borderRadius: 6, + }, + variants: { + size: { + large: { + height: 48, + padding: '12px 26px', + }, + middle: { + height: 40, + padding: '8px 16px', + }, + small: { + height: 34, + padding: '8px 14px', + }, + mini: { + height: 30, + padding: '6px 10px', + borderRadius: 4, + }, + }, + filled: { + true: { + backgroundColor: vars.colors['semantic-primary-normal'], + color: vars.colors['common-white'], + }, + false: { + backgroundColor: 'transparent', + borderWidth: 1, + borderStyle: 'solid', + }, + }, + blueLine: { + true: { + borderColor: vars.colors['semantic-primary-normal'], + }, + false: { + borderColor: vars.colors['semantic-line-normal'], + }, + }, + disabled: { + true: { + borderColor: vars.colors['palette-gray-100'], + ':hover': { + cursor: 'not-allowed', + }, + }, + false: { + ':hover': { + cursor: 'pointer', + }, + }, + }, + }, + + compoundVariants: [ + { + variants: { + filled: true, + disabled: true, + }, + style: { + backgroundColor: vars.colors['palette-gray-100'], + color: vars.colors['semantic-label-disabled'], + }, + }, + { + variants: { + filled: false, + disabled: true, + }, + style: { + color: vars.colors['semantic-label-disabled'], + }, + }, + ], +}) + +export type ButtonVariants = RecipeVariants diff --git a/packages/design-system/src/components/Button/Button.spec.tsx b/packages/design-system/src/components/Button/Button.spec.tsx new file mode 100644 index 0000000..57240b4 --- /dev/null +++ b/packages/design-system/src/components/Button/Button.spec.tsx @@ -0,0 +1,46 @@ +import { render, screen } from '@testing-library/react' +import userEvent from '@testing-library/user-event' + +import { Button } from '.' + +describe('Button Test', () => { + it('Button은 정상적으로 렌더링된다.', () => { + render() + + expect( + screen.getByRole('button', { + name: /Button/i, + }), + ).toBeInTheDocument() + }) + + it('Button 클릭 시 onClick 함수가 실행된다.', async () => { + // given + const onClick = vi.fn() + render() + + // when + const button = screen.getByRole('button') + await userEvent.click(button) + + // then + expect(onClick).toBeCalledTimes(1) + }) + + it('Button은 disabled 상태일 때 클릭되지 않는다.', async () => { + // given + const onClick = vi.fn() + render( + , + ) + + // when + const button = screen.getByRole('button') + await userEvent.click(button) + + // then + expect(onClick).not.toBeCalled() + }) +}) diff --git a/packages/design-system/src/components/Button/Button.stories.tsx b/packages/design-system/src/components/Button/Button.stories.tsx new file mode 100644 index 0000000..97022f1 --- /dev/null +++ b/packages/design-system/src/components/Button/Button.stories.tsx @@ -0,0 +1,126 @@ +import type { Meta, StoryObj } from '@storybook/react' + +import { Button, ButtonProps } from './Button' + +const BUTTON_SIZES: Array = [ + 'large', + 'middle', + 'small', + 'mini', +] + +const meta = { + title: 'Button', + component: Button, + tags: ['autodocs'], + args: { + children: 'Button', + size: 'large', + filled: true, + blueLine: true, + disabled: false, + }, + argTypes: { + children: { control: 'text', description: '버튼 텍스트' }, + size: { + options: BUTTON_SIZES, + control: { type: 'select' }, + description: '버튼 크기', + }, + filled: { control: 'boolean', description: '버튼 색상 채움 여부' }, + blueLine: { + control: 'boolean', + description: '버튼 테두리 여부', + }, + disabled: { + control: 'boolean', + description: '버튼 비활성화 여부', + }, + }, +} satisfies Meta + +export default meta + +type Story = StoryObj + +export const Playground: Story = {} + +export const Size: Story = { + argTypes: { + size: { + table: { + disable: true, + }, + }, + }, + render: (props) => { + return ( +
    + {BUTTON_SIZES.map((size) => ( +
  • +

    {size}

    + +
  • + ))} +
+ ) + }, +} + +export const Type: Story = { + argTypes: { + filled: { + table: { + disable: true, + }, + }, + blueLine: { + table: { + disable: true, + }, + }, + disabled: { + table: { + disable: true, + }, + }, + }, + render: (props) => { + return ( +
    +
  • +

    Filled

    + +
  • +
  • +

    Filled Disabled

    + +
  • +
  • +

    Blue Line

    + +
  • +
  • +

    No Blue Line

    + +
  • +
  • +

    Disabled

    + +
  • +
+ ) + }, +} diff --git a/packages/design-system/src/components/Button/Button.tsx b/packages/design-system/src/components/Button/Button.tsx new file mode 100644 index 0000000..98ba9b2 --- /dev/null +++ b/packages/design-system/src/components/Button/Button.tsx @@ -0,0 +1,44 @@ +import { ButtonHTMLAttributes, PropsWithChildren } from 'react' + +import { Text, TextProps } from '../Text' + +import { ButtonVariants, button } from './Button.css' + +export type ButtonProps = ButtonHTMLAttributes & + PropsWithChildren & + ButtonVariants + +const ButtonLabelType: { + [key in Exclude]: TextProps['type'] +} = { + large: 'body-1', + middle: 'body-2', + small: 'label', + mini: 'label', +} + +export const Button = ({ + filled = true, + size = 'large', + blueLine = true, + disabled = false, + children, + ...rest +}: ButtonProps) => { + const textType = ButtonLabelType[size] + const fontWeight: TextProps['fontWeight'] = + size === 'mini' ? 'medium' : 'bold' + + return ( + + ) +} diff --git a/packages/design-system/src/components/Button/index.ts b/packages/design-system/src/components/Button/index.ts new file mode 100644 index 0000000..bd7e375 --- /dev/null +++ b/packages/design-system/src/components/Button/index.ts @@ -0,0 +1,2 @@ +export type { ButtonProps } from './Button' +export { Button } from './Button' diff --git a/packages/design-system/src/components/Text/Text.css.ts b/packages/design-system/src/components/Text/Text.css.ts new file mode 100644 index 0000000..a9eea6a --- /dev/null +++ b/packages/design-system/src/components/Text/Text.css.ts @@ -0,0 +1,68 @@ +import { RecipeVariants, recipe } from '@vanilla-extract/recipes' + +import { fontWeights } from '../../tokens/typography' + +export const text = recipe({ + base: { + display: 'inline', + letterSpacing: '0.01em', + whiteSpace: 'pre-wrap', + }, + variants: { + type: { + 'display-1': { + fontSize: 56, + }, + 'display-2': { + fontSize: 40, + }, + 'title-1': { + fontSize: 36, + }, + 'title-2': { + fontSize: 28, + }, + 'title-3': { + fontSize: 24, + }, + 'heading-1': { + fontSize: 20, + }, + 'heading-2': { + fontSize: 18, + }, + 'body-1': { + fontSize: 16, + }, + 'body-2': { + fontSize: 14, + }, + label: { + fontSize: 13, + }, + 'caption-1': { + fontSize: 12, + }, + 'caption-2': { + fontSize: 11, + }, + }, + fontWeight: { + regular: { + fontWeight: fontWeights.regular, + }, + medium: { + fontWeight: fontWeights.medium, + }, + bold: { + fontWeight: fontWeights.bold, + }, + }, + }, + defaultVariants: { + type: 'body-1', + fontWeight: 'regular', + }, +}) + +export type TextVariants = RecipeVariants diff --git a/packages/design-system/src/components/Text/Text.spec.tsx b/packages/design-system/src/components/Text/Text.spec.tsx new file mode 100644 index 0000000..16dd9b0 --- /dev/null +++ b/packages/design-system/src/components/Text/Text.spec.tsx @@ -0,0 +1,11 @@ +import { render, screen } from '@testing-library/react' + +import { Text } from '.' + +describe('Text', () => { + it('Text는 정상적으로 렌더링 된다.', () => { + render(Text) + + expect(screen.getByText('Text')).toBeInTheDocument() + }) +}) diff --git a/packages/design-system/src/components/Text/Text.stories.tsx b/packages/design-system/src/components/Text/Text.stories.tsx new file mode 100644 index 0000000..038acdb --- /dev/null +++ b/packages/design-system/src/components/Text/Text.stories.tsx @@ -0,0 +1,136 @@ +import type { Meta, StoryObj } from '@storybook/react' + +import { tokens } from '../../tokens' +import { colors } from '../../tokens/colors' +import { fontWeights } from '../../tokens/typography' + +import { Text, TextProps } from './Text' + +type TextTypes = Array + +const textTypes: TextTypes = [ + 'display-1', + 'display-2', + 'title-1', + 'title-2', + 'title-3', + 'heading-1', + 'heading-2', + 'body-1', + 'body-2', + 'label', + 'caption-1', +] + +const meta = { + title: 'Text', + component: Text, + args: { + children: + 'The Quick Brown Fox Jumps Over The Lazy Dog\n다람쥐 헌 쳇바퀴에 타고파', + type: 'title-1', + color: 'semantic-label-normal', + fontWeight: 'regular', + }, + argTypes: { + children: { + control: 'text', + description: '텍스트 컨텐츠', + }, + type: { + options: textTypes, + control: { type: 'select' }, + description: '텍스트 스타일', + }, + color: { + options: Object.keys(tokens.colors), + control: { type: 'select' }, + description: '텍스트 색상', + }, + fontWeight: { + control: { type: 'radio' }, + options: ['regular', 'medium', 'bold'], + description: '텍스트 굵기', + }, + as: { + table: { + disable: true, + }, + }, + }, + tags: ['autodocs'], +} satisfies Meta + +export default meta + +type Story = StoryObj + +export const Playground: Story = {} + +export const Type: Story = { + argTypes: { + type: { + table: { + disable: true, + }, + }, + }, + render: (props: TextProps) => { + return ( +
    + {textTypes.map((type) => ( +
  • +

    {type}

    + +
  • + ))} +
+ ) + }, +} + +export const Color: Story = { + argTypes: { + color: { + table: { + disable: true, + }, + }, + }, + render: (props: TextProps) => { + return ( +
    + {Object.keys(colors).map((color) => ( +
  • +

    {color}

    + +
  • + ))} +
+ ) + }, +} + +export const Weight: Story = { + argTypes: { + fontWeight: { + table: { + disable: true, + }, + }, + }, + render: (props) => { + return ( +
    + {Object.keys(fontWeights).map((weight) => ( +
  • +

    {weight}

    + + {props.children} + +
  • + ))} +
+ ) + }, +} diff --git a/packages/design-system/src/components/Text/Text.tsx b/packages/design-system/src/components/Text/Text.tsx new file mode 100644 index 0000000..8762a92 --- /dev/null +++ b/packages/design-system/src/components/Text/Text.tsx @@ -0,0 +1,37 @@ +import React, { HTMLAttributes, PropsWithChildren } from 'react' +import clsx from 'clsx' + +import { Sprinkles, sprinkles } from '../../styles/sprinkles.css' + +import { TextVariants, text } from './Text.css' + +export type TextProps = { + as?: 'h1' | 'h2' | 'h3' | 'h4' | 'label' | 'p' | 'span' | 'strong' + color?: Sprinkles['color'] | 'inherit' +} & PropsWithChildren & + HTMLAttributes & + TextVariants + +export const Text = ({ + as = 'p', + fontWeight = 'regular', + type = 'title-1', + color = 'semantic-label-normal', + children, + ...rest +}: TextProps) => { + const { className, ...restProps } = rest + + return React.createElement( + as, + { + className: clsx( + text({ fontWeight, type }), + sprinkles({ color }), + className, + ), + ...restProps, + }, + children, + ) +} diff --git a/packages/design-system/src/components/Text/index.ts b/packages/design-system/src/components/Text/index.ts new file mode 100644 index 0000000..430f7f8 --- /dev/null +++ b/packages/design-system/src/components/Text/index.ts @@ -0,0 +1,2 @@ +export type { TextProps } from './Text' +export { Text } from './Text' diff --git a/packages/design-system/src/index.ts b/packages/design-system/src/index.ts new file mode 100644 index 0000000..af17e2a --- /dev/null +++ b/packages/design-system/src/index.ts @@ -0,0 +1,10 @@ +'use client' + +export type { ButtonProps } from './components/Button' +export { Button } from './components/Button' +export type { TextProps } from './components/Text' +export { Text } from './components/Text' +export type { Sprinkles } from './styles/sprinkles.css' +export { sprinkles } from './styles/sprinkles.css' +export type { Tokens } from './tokens' +export { tokens } from './tokens' diff --git a/packages/design-system/src/styles/global.css.ts b/packages/design-system/src/styles/global.css.ts new file mode 100644 index 0000000..df91bf8 --- /dev/null +++ b/packages/design-system/src/styles/global.css.ts @@ -0,0 +1,29 @@ +import { + createGlobalTheme, + createGlobalThemeContract, +} from '@vanilla-extract/css' + +import { tokens } from '../tokens' + +export const createTokenScheme = < + T extends { [key: string]: { [key: string]: string } }, +>( + tokens: T, +) => { + const result = structuredClone(tokens) + + Object.keys(tokens).forEach((key) => { + Object.keys(tokens[key] as { [key: string]: string }).forEach((prop) => { + const field = result[key] as { [key: string]: string } + field[prop] = `${key}-${prop}` + }) + }) + + return result +} + +export const vars = createGlobalThemeContract(createTokenScheme(tokens)) + +export const pretendard = 'pretendard' + +createGlobalTheme(':root', vars, tokens) diff --git a/packages/design-system/src/styles/sprinkles.css.ts b/packages/design-system/src/styles/sprinkles.css.ts new file mode 100644 index 0000000..f644beb --- /dev/null +++ b/packages/design-system/src/styles/sprinkles.css.ts @@ -0,0 +1,80 @@ +import { createSprinkles, defineProperties } from '@vanilla-extract/sprinkles' + +import { vars } from './global.css' + +const fontProperties = defineProperties({ + properties: { + color: vars.colors, + fill: vars.colors, + textAlign: ['center', 'left', 'right'], + whiteSpace: [ + 'normal', + 'nowrap', + 'pre', + 'pre-line', + 'pre-wrap', + 'initial', + 'inherit', + ], + textOverflow: [ + 'clip', + 'ellipsis', + 'inherit', + 'initial', + 'revert', + 'revert-layer', + ], + }, +}) +const layoutProperties = defineProperties({ + properties: { + display: ['block', 'flex', 'grid', 'inline-block', 'none'], + flexGrow: [0, 1], + flexDirection: ['column', 'row', 'column-reverse', 'row-reverse'], + justifyContent: [ + 'flex-start', + 'center', + 'flex-end', + 'stretch', + 'space-around', + 'space-between', + ], + alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'], + gap: vars.size, + width: ['fit-content', 'inherit', 'initial', 'max-content', 'min-content'], + height: ['fit-content', 'inherit', 'initial', 'max-content', 'min-content'], + + position: ['static', 'relative', 'sticky', 'absolute', 'fixed'], + top: vars.size, + left: vars.size, + right: vars.size, + bottom: vars.size, + + margin: vars.size, + marginLeft: vars.size, + marginRight: vars.size, + marginTop: vars.size, + marginBottom: vars.size, + marginBlock: vars.size, + marginInline: vars.size, + + padding: vars.size, + paddingLeft: vars.size, + paddingRight: vars.size, + paddingTop: vars.size, + paddingBottom: vars.size, + paddingBlock: vars.size, + paddingInline: vars.size, + + overflow: ['auto', 'hidden', 'scroll', 'unset'], + + cursor: ['default', 'pointer', 'not-allowed'], + background: vars.colors, + backgroundColor: vars.colors, + zIndex: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + }, +}) + +export const sprinkles = createSprinkles(fontProperties, layoutProperties) + +export type Sprinkles = Parameters[0] diff --git a/packages/design-system/src/tokens/colors.stories.tsx b/packages/design-system/src/tokens/colors.stories.tsx new file mode 100644 index 0000000..d61fbfd --- /dev/null +++ b/packages/design-system/src/tokens/colors.stories.tsx @@ -0,0 +1,34 @@ +import { Meta, StoryObj } from '@storybook/react' + +import { colors } from './colors' + +const meta = { + title: 'Colors', + tags: ['autodocs'], +} satisfies Meta + +export default meta + +export const Playground: StoryObj = { + render: () => { + return ( +
    + {Object.keys(colors).map((color) => { + return ( +
  • +

    {color}

    +
    +
  • + ) + })} +
+ ) + }, +} diff --git a/packages/design-system/src/tokens/colors.ts b/packages/design-system/src/tokens/colors.ts new file mode 100644 index 0000000..9588552 --- /dev/null +++ b/packages/design-system/src/tokens/colors.ts @@ -0,0 +1,66 @@ +const semantic = { + /* Primary */ + 'semantic-primary-normal': '#5D5CE5', + 'semantic-primary-strong': '#5554D0', + 'semantic-primary-heavy': '#4241A3', + /* label */ + 'semantic-label-title': '#161719', + 'semantic-label-normal': '#161719', + 'semantic-label-alternative': 'rgba(22, 23, 25, 0.6)', + 'semantic-label-disabled': 'rgba(22, 23, 25, 0.16)', + /* line */ + 'semantic-line-normal': 'rgba(112, 115, 124, 0.22)', +} + +const link = { + 'link-blue': '#006AFF', +} + +const common = { + 'common-white': '#FFFFFF', + 'common-black': '#000000', +} + +const palette = { + /* Primary */ + 'palette-primary-100': '#CDCCF7', + 'palette-primary-200': '#B4B5F3', + 'palette-primary-300': '#9292EE', + 'palette-primary-400': '#7D7DEA', + 'palette-primary-500': '#5D5CE5', + 'palette-primary-600': '#5554D0', + 'palette-primary-700': '#4241A3', + 'palette-primary-800': '#34327E', + 'palette-primary-900': '#272760', + /* Gray */ + 'palette-gray-50': '#F0F0F2', + 'palette-gray-100': '#E2E3E5', + 'palette-gray-200': '#C6C7CB', + 'palette-gray-300': '#A9ABB0', + 'palette-gray-400': '#8D8F96', + 'palette-gray-500': '#70737C', + 'palette-gray-600': '#5A5C63', + 'palette-gray-700': '#43464A', + 'palette-gray-800': '#2D2E32', + 'palette-gray-900': '#161819', +} + +const component = { + 'component-normal': 'rgba(112, 115, 124, 0.05)', + 'component-alternative': 'rgba(112, 115, 124, 0.08)', + 'component-strong': 'rgba(112, 115, 124, 0.15)', +} + +const hiliting = { + yellow: '#FFF2B2', +} + +export const colors = { + ...semantic, + ...link, + ...common, + ...palette, + ...component, + ...hiliting, + inherit: 'inherit', +} as const diff --git a/packages/design-system/src/tokens/index.ts b/packages/design-system/src/tokens/index.ts new file mode 100644 index 0000000..846b067 --- /dev/null +++ b/packages/design-system/src/tokens/index.ts @@ -0,0 +1,6 @@ +import { colors } from './colors' +import { size } from './sizes' + +export const tokens = { colors, size } + +export type Tokens = typeof tokens diff --git a/packages/design-system/src/tokens/sizes.ts b/packages/design-system/src/tokens/sizes.ts new file mode 100644 index 0000000..8cf14d2 --- /dev/null +++ b/packages/design-system/src/tokens/sizes.ts @@ -0,0 +1,6 @@ +export const size = { + '16': '16px', + '24': '24px', + '28': '28px', + '32': '32px', +} diff --git a/packages/design-system/src/tokens/typography.ts b/packages/design-system/src/tokens/typography.ts new file mode 100644 index 0000000..9ff762f --- /dev/null +++ b/packages/design-system/src/tokens/typography.ts @@ -0,0 +1,5 @@ +export const fontWeights = { + regular: '400', + medium: '500', + bold: '700', +} diff --git a/packages/design-system/tsconfig.json b/packages/design-system/tsconfig.json new file mode 100644 index 0000000..5894f7f --- /dev/null +++ b/packages/design-system/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@vook-client/typescript-config/vite.json", + "include": ["src"], + "exclude": ["node_modules"] +} diff --git a/packages/typescript-config/vite.json b/packages/typescript-config/vite.json index a040d6d..5a8c476 100644 --- a/packages/typescript-config/vite.json +++ b/packages/typescript-config/vite.json @@ -13,6 +13,6 @@ "resolveJsonModule": true, "skipLibCheck": false, "target": "ESNext", - "types": ["vite/client", "vitest/globals", "@testing-library/jest-dom"] + "types": ["vitest/globals", "@testing-library/jest-dom"] } } diff --git a/packages/ui/src/components/Button/Button.css.ts b/packages/ui/src/components/Button/Button.css.ts deleted file mode 100644 index 806ea27..0000000 --- a/packages/ui/src/components/Button/Button.css.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { style } from '@vanilla-extract/css' - -export const button = style({ - borderRadius: '20px', -}) diff --git a/packages/ui/src/components/Button/Button.spec.tsx b/packages/ui/src/components/Button/Button.spec.tsx deleted file mode 100644 index c5cc503..0000000 --- a/packages/ui/src/components/Button/Button.spec.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { render, screen } from '@testing-library/react' - -import { Button } from '.' - -describe('Button Test', () => { - it('Button은 정상적으로 렌더링된다.', () => { - render() - - expect(screen.getByRole('button')).toBeInTheDocument() - }) -}) diff --git a/packages/ui/src/components/Button/Button.stories.tsx b/packages/ui/src/components/Button/Button.stories.tsx deleted file mode 100644 index c6330f4..0000000 --- a/packages/ui/src/components/Button/Button.stories.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react' - -import { Button } from './Button' - -const meta = { - title: 'Button', - component: Button, - parameters: { - layout: 'centered', - }, - tags: ['autodocs'], - args: { children: 'Button' }, -} satisfies Meta - -export default meta - -type Story = StoryObj - -export const Preview: Story = {} diff --git a/packages/ui/src/components/Button/Button.tsx b/packages/ui/src/components/Button/Button.tsx deleted file mode 100644 index 6727b43..0000000 --- a/packages/ui/src/components/Button/Button.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { ButtonHTMLAttributes, PropsWithChildren } from 'react' - -import { button } from './Button.css' - -type ButtonProps = ButtonHTMLAttributes & PropsWithChildren - -export const Button = ({ children, ...rest }: ButtonProps) => { - return ( - - ) -} diff --git a/packages/ui/src/components/Button/index.ts b/packages/ui/src/components/Button/index.ts deleted file mode 100644 index 4d0a670..0000000 --- a/packages/ui/src/components/Button/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Button } from './Button' diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts deleted file mode 100644 index f4d5f22..0000000 --- a/packages/ui/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -'use client' - -export { Button } from './components/Button' diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json deleted file mode 100644 index 3d99e43..0000000 --- a/packages/ui/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@vook-client/typescript-config/vite.json", - "compilerOptions": { - "outDir": "dist" - }, - "include": ["src"], - "exclude": ["node_modules", "dist"] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da5e801..9f998dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,10 @@ settings: importers: .: + dependencies: + '@testing-library/user-event': + specifier: ^14.5.2 + version: 14.5.2(@testing-library/dom@10.1.0) devDependencies: '@testing-library/jest-dom': specifier: ^6.4.2 @@ -19,7 +23,7 @@ importers: version: 1.1.0(prettier@3.2.5) '@vanilla-extract/vite-plugin': specifier: ^4.0.9 - version: 4.0.9(@types/node@20.12.11)(vite@4.5.3) + version: 4.0.9(@types/node@20.12.12)(vite@4.5.3) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@4.5.3) @@ -92,10 +96,10 @@ importers: version: 2.0.0-beta.23 '@storybook/react': specifier: ^8.0.10 - version: 8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) + version: 8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) '@storybook/test': specifier: ^8.0.10 - version: 8.0.10(vitest@1.6.0) + version: 8.1.1(vitest@1.6.0) '@types/chrome': specifier: ^0.0.266 version: 0.0.266 @@ -131,13 +135,13 @@ importers: version: 3.2.5 vite: specifier: ^4.4.11 - version: 4.5.3(@types/node@20.12.11) + version: 4.5.3(@types/node@20.12.12) apps/web: dependencies: '@tanstack/react-query': specifier: ^5.32.0 - version: 5.35.5(react@18.3.1) + version: 5.37.1(react@18.3.1) '@vanilla-extract/css': specifier: ^1.14.2 version: 1.15.1 @@ -156,9 +160,9 @@ importers: '@vook-client/api': specifier: '*' version: link:../../packages/api - '@vook-client/ui': + '@vook-client/design-system': specifier: '*' - version: link:../../packages/ui + version: link:../../packages/design-system next: specifier: ^14.1.1 version: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1)(react@18.3.1) @@ -177,19 +181,19 @@ importers: version: 14.2.3 '@storybook/react': specifier: ^8.0.10 - version: 8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) + version: 8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) '@storybook/test': specifier: ^8.0.10 - version: 8.0.10(vitest@1.6.0) + version: 8.1.1(vitest@1.6.0) '@tanstack/react-query-devtools': specifier: ^5.32.0 - version: 5.35.5(@tanstack/react-query@5.35.5)(react@18.3.1) + version: 5.37.1(@tanstack/react-query@5.37.1)(react@18.3.1) '@types/eslint': specifier: ^8.56.5 version: 8.56.10 '@types/node': specifier: ^20.11.24 - version: 20.12.11 + version: 20.12.12 '@types/react': specifier: ^18.2.61 version: 18.3.2 @@ -198,10 +202,10 @@ importers: version: 18.3.0 '@vanilla-extract/next-plugin': specifier: ^2.4.0 - version: 2.4.0(@types/node@20.12.11)(next@14.2.3)(webpack@5.91.0) + version: 2.4.0(@types/node@20.12.12)(next@14.2.3)(webpack@5.91.0) '@vanilla-extract/webpack-plugin': specifier: ^2.3.7 - version: 2.3.8(@types/node@20.12.11)(webpack@5.91.0) + version: 2.3.8(@types/node@20.12.12)(webpack@5.91.0) '@vook-client/eslint-config': specifier: '*' version: link:../../packages/eslint-config @@ -229,34 +233,34 @@ importers: devDependencies: '@chromatic-com/storybook': specifier: ^1.3.3 - version: 1.3.5(react@18.3.1) + version: 1.4.0(react@18.3.1) '@storybook/addon-essentials': specifier: ^8.0.10 - version: 8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + version: 8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-interactions': specifier: ^8.0.10 - version: 8.0.10(vitest@1.6.0) + version: 8.1.1(vitest@1.6.0) '@storybook/addon-links': specifier: ^8.0.10 - version: 8.0.10(react@18.3.1) + version: 8.1.1(react@18.3.1) '@storybook/addon-onboarding': specifier: ^8.0.10 - version: 8.0.10 + version: 8.1.1(react@18.3.1) '@storybook/addon-styling-webpack': specifier: ^1.0.0 version: 1.0.0(webpack@5.91.0) '@storybook/blocks': specifier: ^8.0.10 - version: 8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + version: 8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1) '@storybook/react': specifier: ^8.0.10 - version: 8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) + version: 8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) '@storybook/react-vite': specifier: ^8.0.10 - version: 8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2)(vite@4.5.3) + version: 8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2)(vite@4.5.3) '@storybook/test': specifier: ^8.0.10 - version: 8.0.10(vitest@1.6.0) + version: 8.1.1(vitest@1.6.0) '@types/react': specifier: ^18.2.15 version: 18.3.2 @@ -265,10 +269,10 @@ importers: version: 18.3.0 '@vanilla-extract/vite-plugin': specifier: ^4.0.9 - version: 4.0.9(@types/node@20.12.11)(vite@4.5.3) + version: 4.0.9(@types/node@20.12.12)(vite@4.5.3) '@vanilla-extract/webpack-plugin': specifier: ^2.3.7 - version: 2.3.8(@types/node@20.12.11)(webpack@5.91.0) + version: 2.3.8(@types/node@20.12.12)(webpack@5.91.0) '@vitejs/plugin-react': specifier: ^4.0.3 version: 4.2.1(vite@4.5.3) @@ -277,7 +281,7 @@ importers: version: link:../../packages/typescript-config chromatic: specifier: ^11.3.2 - version: 11.3.2 + version: 11.3.5 css-loader: specifier: ^7.1.1 version: 7.1.1(webpack@5.91.0) @@ -286,19 +290,19 @@ importers: version: 2.9.0(webpack@5.91.0) storybook: specifier: ^8.0.10 - version: 8.0.10(react-dom@18.3.1)(react@18.3.1) + version: 8.1.1(react-dom@18.3.1)(react@18.3.1) style-loader: specifier: ^4.0.0 version: 4.0.0(webpack@5.91.0) vite: specifier: ^4.4.5 - version: 4.5.3(@types/node@20.12.11) + version: 4.5.3(@types/node@20.12.12) packages/api: dependencies: '@tanstack/react-query': specifier: ^5.32.0 - version: 5.35.5(react@18.3.1) + version: 5.37.1(react@18.3.1) devDependencies: '@vook-client/eslint-config': specifier: '*' @@ -307,52 +311,23 @@ importers: specifier: '*' version: link:../typescript-config - packages/eslint-config: - devDependencies: - '@titicaca/eslint-config-triple': - specifier: ^5.1.1 - version: 5.1.1(eslint-plugin-n@16.6.2)(eslint@8.57.0)(typescript@5.2.2) - eslint: - specifier: ^8 - version: 8.57.0 - eslint-config-next: - specifier: 14.2.2 - version: 14.2.2(eslint@8.57.0)(typescript@5.2.2) - eslint-plugin-react-refresh: - specifier: ^0.4.6 - version: 0.4.7(eslint@8.57.0) - eslint-plugin-simple-import-sort: - specifier: ^12.0.0 - version: 12.1.0(eslint@8.57.0) - eslint-plugin-storybook: - specifier: ^0.8.0 - version: 0.8.0(eslint@8.57.0)(typescript@5.2.2) - eslint-plugin-testing-library: - specifier: ^6.2.2 - version: 6.2.2(eslint@8.57.0)(typescript@5.2.2) - eslint-plugin-unused-imports: - specifier: ^3.1.0 - version: 3.2.0(eslint@8.57.0) - - packages/typescript-config: {} - - packages/ui: + packages/design-system: devDependencies: '@storybook/react': specifier: ^8.0.10 - version: 8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) + version: 8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) '@storybook/test': specifier: ^8.0.10 - version: 8.0.10(vitest@1.6.0) + version: 8.1.1(vitest@1.6.0) '@turbo/gen': specifier: ^1.12.4 - version: 1.13.3(@types/node@20.12.11)(typescript@5.2.2) + version: 1.13.3(@types/node@20.12.12)(typescript@5.2.2) '@types/eslint': specifier: ^8.56.5 version: 8.56.10 '@types/node': specifier: ^20.11.24 - version: 20.12.11 + version: 20.12.12 '@types/react': specifier: ^18.2.61 version: 18.3.2 @@ -367,7 +342,7 @@ importers: version: 0.1.3 '@vanilla-extract/next-plugin': specifier: ^2.4.0 - version: 2.4.0(@types/node@20.12.11)(next@14.2.3)(webpack@5.91.0) + version: 2.4.0(@types/node@20.12.12)(next@14.2.3)(webpack@5.91.0) '@vanilla-extract/recipes': specifier: ^0.5.2 version: 0.5.2(@vanilla-extract/css@1.15.1) @@ -376,7 +351,7 @@ importers: version: 1.6.1(@vanilla-extract/css@1.15.1) '@vanilla-extract/vite-plugin': specifier: ^4.0.9 - version: 4.0.9(@types/node@20.12.11)(vite@4.5.3) + version: 4.0.9(@types/node@20.12.12)(vite@4.5.3) '@vook-client/eslint-config': specifier: '*' version: link:../eslint-config @@ -393,6 +368,35 @@ importers: specifier: ^18.2.0 version: 18.3.1 + packages/eslint-config: + devDependencies: + '@titicaca/eslint-config-triple': + specifier: ^5.1.1 + version: 5.1.1(eslint-plugin-n@16.6.2)(eslint@8.57.0)(typescript@5.2.2) + eslint: + specifier: ^8 + version: 8.57.0 + eslint-config-next: + specifier: 14.2.2 + version: 14.2.2(eslint@8.57.0)(typescript@5.2.2) + eslint-plugin-react-refresh: + specifier: ^0.4.6 + version: 0.4.7(eslint@8.57.0) + eslint-plugin-simple-import-sort: + specifier: ^12.0.0 + version: 12.1.0(eslint@8.57.0) + eslint-plugin-storybook: + specifier: ^0.8.0 + version: 0.8.0(eslint@8.57.0)(typescript@5.2.2) + eslint-plugin-testing-library: + specifier: ^6.2.2 + version: 6.2.2(eslint@8.57.0)(typescript@5.2.2) + eslint-plugin-unused-imports: + specifier: ^3.1.0 + version: 3.2.0(eslint@8.57.0) + + packages/typescript-config: {} + packages: /@adobe/css-tools@4.3.3: @@ -418,7 +422,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.5 - picocolors: 1.0.0 + picocolors: 1.0.1 /@babel/compat-data@7.24.4: resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} @@ -660,7 +664,7 @@ packages: '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.0.1 /@babel/parser@7.24.5: resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} @@ -1582,7 +1586,7 @@ packages: babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5) babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5) - core-js-compat: 3.37.0 + core-js-compat: 3.37.1 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -1647,7 +1651,7 @@ packages: resolution: {integrity: sha512-GWO0mgzNMLWaSYM4z4NVIuY0Cd1fl8cPnuetuddu5w/qGuvt5Y7oUi/kvvQGK9xgOkFJDQX2heIvTRn/OQ1XTg==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.37.0 + core-js-pure: 3.37.1 regenerator-runtime: 0.14.1 dev: true @@ -1694,11 +1698,11 @@ packages: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true - /@chromatic-com/storybook@1.3.5(react@18.3.1): - resolution: {integrity: sha512-Eunwu6qCvEHSOCaI0SHsAHJKhHOho+/yHguES34Afi8WZAOq2bw50U8GTQMSft76My87QFlPkCt/Qak4H3MAZw==} + /@chromatic-com/storybook@1.4.0(react@18.3.1): + resolution: {integrity: sha512-CpskwN1RsgaDMSe7mnwrmst9XeLfvrSbCJOc/eaHIDzhSiKhdbbEF83cYjMYnvODPMW8QNVdw9gWMh+yzBQtSw==} engines: {node: '>=16.0.0', yarn: '>=1.22.18'} dependencies: - chromatic: 11.3.2 + chromatic: 11.3.5 filesize: 10.1.2 jsonfile: 6.1.0 react-confetti: 6.1.0(react@18.3.1) @@ -1731,7 +1735,7 @@ packages: fs-extra: 10.1.0 jsesc: 3.0.2 magic-string: 0.26.7 - picocolors: 1.0.0 + picocolors: 1.0.1 react-refresh: 0.13.0 rollup: 2.78.1 rxjs: 7.5.7 @@ -2454,8 +2458,8 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.2.2)(vite@4.5.3): - resolution: {integrity: sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA==} + /@joshwooding/vite-plugin-react-docgen-typescript@0.3.1(typescript@5.2.2)(vite@4.5.3): + resolution: {integrity: sha512-pdoMZ9QaPnVlSM+SdU/wgg0nyD/8wQ7y90ttO2CMCyrrm7RxveYIJ5eNfjPaoMFqW41LZra7QO9j+xV4Y18Glw==} peerDependencies: typescript: '>= 4.3.x' vite: ^3.0.0 || ^4.0.0 || ^5.0.0 @@ -2468,7 +2472,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.2.2) typescript: 5.2.2 - vite: 4.5.3(@types/node@20.12.11) + vite: 4.5.3(@types/node@20.12.12) dev: true /@jridgewell/gen-mapping@0.3.5: @@ -2648,6 +2652,12 @@ packages: resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} dev: true + /@radix-ui/primitive@1.0.1: + resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} + dependencies: + '@babel/runtime': 7.24.5 + dev: true + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.2)(react@18.3.1): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: @@ -2662,6 +2672,195 @@ packages: react: 18.3.1 dev: true + /@radix-ui/react-context@1.0.1(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@types/react': 18.3.2 + react: 18.3.1 + dev: true + + /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + '@types/react-dom': 18.3.0 + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.5(@types/react@18.3.2)(react@18.3.1) + dev: true + + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@types/react': 18.3.2 + react: 18.3.1 + dev: true + + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-id@1.0.1(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + react: 18.3.1 + dev: true + + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.2 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + /@radix-ui/react-slot@1.0.2(@types/react@18.3.2)(react@18.3.1): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: @@ -2677,6 +2876,64 @@ packages: react: 18.3.1 dev: true + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@types/react': 18.3.2 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.2)(react@18.3.1) + '@types/react': 18.3.2 + react: 18.3.1 + dev: true + + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.24.5 + '@types/react': 18.3.2 + react: 18.3.1 + dev: true + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -2827,18 +3084,23 @@ packages: dev: true optional: true - /@rushstack/eslint-patch@1.10.2: - resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} + /@rushstack/eslint-patch@1.10.3: + resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==} dev: true /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@storybook/addon-actions@8.0.10: - resolution: {integrity: sha512-IEuc30UAFl7Ws0GwaY/whjBnGaViVEVjmPc+MXUym2wwwJbnCbI+BKJxPoYi/I7QJb5aUNToAE6pl2pDda2g3Q==} + /@sindresorhus/merge-streams@2.3.0: + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + dev: true + + /@storybook/addon-actions@8.1.1: + resolution: {integrity: sha512-EEBjOMuQOdCSVrwPQEkJFc42I0TWj/bK+8lboV0jXi61ZI3okDPCJ/04vu5iTvX0HjRoYqqwBjyYj0Crf7ihag==} dependencies: - '@storybook/core-events': 8.0.10 + '@storybook/core-events': 8.1.1 '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 @@ -2846,44 +3108,47 @@ packages: uuid: 9.0.1 dev: true - /@storybook/addon-backgrounds@8.0.10: - resolution: {integrity: sha512-445SUQqOH5xFJWlNeMu74FEgk26O9Zm/5aqnvmeteB0Q2JLaw7k2q9i/W6XFu97QkRxqA1EGbDxLR3+e1xCjaA==} + /@storybook/addon-backgrounds@8.1.1: + resolution: {integrity: sha512-UFbKI3Ebsllg3DZIlVtYvp1nuLnBp85sKI98KnnYqiHCKWHDWlK7Li0Y1J2ab0w/Fx0grspC8WUgGId6NHrIrA==} dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 ts-dedent: 2.2.0 dev: true - /@storybook/addon-controls@8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-MAUtIJGayNSsfn3VZ6SjQwpRkb4ky+10oVfos+xX9GQ5+7RCs+oYMuE4+aiQvvfXNdV8v0pUGPUPeUzqfJmhOA==} + /@storybook/addon-controls@8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-KJXW/hjIWM+VLqqUAvdGIkX7hTDs8FtQOuUFSC/FPDqKveUoWz0hd+WaoT9HhNF8gyzFXYACoeb9XkQVVcDATA==} dependencies: - '@storybook/blocks': 8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@storybook/blocks': 8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1) + dequal: 2.0.3 lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' + - '@types/react-dom' - encoding + - prettier - react - react-dom - supports-color dev: true - /@storybook/addon-docs@8.0.10: - resolution: {integrity: sha512-y+Agoez/hXZHKUMIZHU96T5V1v0cs4ArSNfjqDg9DPYcyQ88ihJNb6ZabIgzmEaJF/NncCW+LofWeUtkTwalkw==} + /@storybook/addon-docs@8.1.1(@types/react-dom@18.3.0)(prettier@3.2.5): + resolution: {integrity: sha512-vMU26AYQBstOj73MX3egqJlY/VUjawfWVcTlDJjSa43GzWfp8wrbr1fNXRy2MoLe19UKZ9Kx+m4CfsrGsXHogg==} dependencies: '@babel/core': 7.24.5 '@mdx-js/react': 3.0.1(@types/react@18.3.2)(react@18.3.1) - '@storybook/blocks': 8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) - '@storybook/client-logger': 8.0.10 - '@storybook/components': 8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) - '@storybook/csf-plugin': 8.0.10 - '@storybook/csf-tools': 8.0.10 + '@storybook/blocks': 8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1) + '@storybook/client-logger': 8.1.1 + '@storybook/components': 8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@storybook/csf-plugin': 8.1.1 + '@storybook/csf-tools': 8.1.1 '@storybook/global': 5.0.0 - '@storybook/node-logger': 8.0.10 - '@storybook/preview-api': 8.0.10 - '@storybook/react-dom-shim': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/theming': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/types': 8.0.10 + '@storybook/node-logger': 8.1.1 + '@storybook/preview-api': 8.1.1 + '@storybook/react-dom-shim': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/theming': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/types': 8.1.1 '@types/react': 18.3.2 fs-extra: 11.2.0 react: 18.3.1 @@ -2892,48 +3157,52 @@ packages: rehype-slug: 6.0.0 ts-dedent: 2.2.0 transitivePeerDependencies: + - '@types/react-dom' - encoding + - prettier - supports-color dev: true - /@storybook/addon-essentials@8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Uy3+vm7QX+b/9rhW/iFa3EYAAbV1T2LljY9Bj4aTPZHas9Bpvl5ZPnOm/PhybcE8UFHEoVTJ0v3uWb0dsUEigw==} - dependencies: - '@storybook/addon-actions': 8.0.10 - '@storybook/addon-backgrounds': 8.0.10 - '@storybook/addon-controls': 8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-docs': 8.0.10 - '@storybook/addon-highlight': 8.0.10 - '@storybook/addon-measure': 8.0.10 - '@storybook/addon-outline': 8.0.10 - '@storybook/addon-toolbars': 8.0.10 - '@storybook/addon-viewport': 8.0.10 - '@storybook/core-common': 8.0.10 - '@storybook/manager-api': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/node-logger': 8.0.10 - '@storybook/preview-api': 8.0.10 + /@storybook/addon-essentials@8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-1MfjgNuhh0iuSVunrDyZFsDNNs3rkssjqfvqt9FM7/l96cbBku8b39vPUW5kYNtA8wgIYCVXIw6c+9zhhJDoDg==} + dependencies: + '@storybook/addon-actions': 8.1.1 + '@storybook/addon-backgrounds': 8.1.1 + '@storybook/addon-controls': 8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1) + '@storybook/addon-docs': 8.1.1(@types/react-dom@18.3.0)(prettier@3.2.5) + '@storybook/addon-highlight': 8.1.1 + '@storybook/addon-measure': 8.1.1 + '@storybook/addon-outline': 8.1.1 + '@storybook/addon-toolbars': 8.1.1 + '@storybook/addon-viewport': 8.1.1 + '@storybook/core-common': 8.1.1(prettier@3.2.5) + '@storybook/manager-api': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/node-logger': 8.1.1 + '@storybook/preview-api': 8.1.1 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' + - '@types/react-dom' - encoding + - prettier - react - react-dom - supports-color dev: true - /@storybook/addon-highlight@8.0.10: - resolution: {integrity: sha512-40GB82t1e2LCCjqXcC6Z5lq1yIpA1+Yl5E2tKeggOVwg5HHAX02ESNDdBaIOlCqMkU3WKzjGPurDNOLUAbsV2g==} + /@storybook/addon-highlight@8.1.1: + resolution: {integrity: sha512-i27OsZmxBJWV0Yf7aRbke19Yin9F+v0YyAyD2JDulcjdZdsInUd8/qsQQYd3YmTkQ+0S0SnEdeTAJ4qca9KTtA==} dependencies: '@storybook/global': 5.0.0 dev: true - /@storybook/addon-interactions@8.0.10(vitest@1.6.0): - resolution: {integrity: sha512-6yFNmk6+7082/8TRVyjUsKlwumalEdO0XQ5amPbVGuECzc3HFn0ELwzPrQ4TBlN5MRtX4+buoh5dc/1RUDrh9w==} + /@storybook/addon-interactions@8.1.1(vitest@1.6.0): + resolution: {integrity: sha512-cF26lkVWxR7vZv6BW+P4JcJILIKykfn749VfdYyOoYegbJcOt5t2Soto2zdaqg7ZoVBeZherYyjebiXiwOPrng==} dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.0.10 - '@storybook/test': 8.0.10(vitest@1.6.0) - '@storybook/types': 8.0.10 + '@storybook/instrumenter': 8.1.1 + '@storybook/test': 8.1.1(vitest@1.6.0) + '@storybook/types': 8.1.1 polished: 4.3.1 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -2944,10 +3213,10 @@ packages: - vitest dev: true - /@storybook/addon-links@8.0.10(react@18.3.1): - resolution: {integrity: sha512-+mIyH2UcrgQfAyRM4+ARkB/D0OOY8UMwkZsD8dD23APZ8oru7W/NHX3lXl0WjPfQcOIx/QwWNWI3+DgVZJY3jw==} + /@storybook/addon-links@8.1.1(react@18.3.1): + resolution: {integrity: sha512-pY6iDCzb10gaAxhzwfkB+iKJzuDYeZBG2gftt1vIoPSXr/VtkU7HLOb9PNige0ioO3szxV0bqTxFdonzMXCOTA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta peerDependenciesMeta: react: optional: true @@ -2958,19 +3227,23 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-measure@8.0.10: - resolution: {integrity: sha512-quXQwmZJUhOxDIlbXTH6aKYQkwkDpL0UQRkUZn1xuZ2sVKJeaee73QSWqw8HDD4Rz9huS+OrAdVoq/Cz5FoC6A==} + /@storybook/addon-measure@8.1.1: + resolution: {integrity: sha512-aI4cFECK/NmwJTj3Xu6MGrMm4Rf0e+FGB5+BoY+tUi3LTX0spAu/8VgwuoDGB6ntvbZyzPfr6mG2qND9KU+sMQ==} dependencies: '@storybook/global': 5.0.0 tiny-invariant: 1.3.3 dev: true - /@storybook/addon-onboarding@8.0.10: - resolution: {integrity: sha512-pcSBjOi944rg52bzaEt5jveFNTPbENna1FDUti8PK+vXgg7iAK6pIoZZiy7APU2N/YO/DxLgT276auVbPweEZg==} + /@storybook/addon-onboarding@8.1.1(react@18.3.1): + resolution: {integrity: sha512-OilZUOUFl5nn5jNp69FCsKyGPj8mk84x2eUwU9/XHGZAZ1Pt5xyAvuXFQsTvg2eBPUo9olX724zUd5cuuVFpPg==} + dependencies: + react-confetti: 6.1.0(react@18.3.1) + transitivePeerDependencies: + - react dev: true - /@storybook/addon-outline@8.0.10: - resolution: {integrity: sha512-1eDO2s/vHhhSJo7W5SetqjleUBTZLI08VNP89c4j7vdRKiMZ1DYhr0dqUGIC3w7cDsawI/nQ24wancHHayAnqw==} + /@storybook/addon-outline@8.1.1: + resolution: {integrity: sha512-l/LfxtDdwQ+8FduxsRWEEYhxJ7CetdHcCXh+T8bPaP2tzPqv+jh/F8KqZf3LZcC8HITlp/eyd3VYumWC+OKYFw==} dependencies: '@storybook/global': 5.0.0 ts-dedent: 2.2.0 @@ -2981,44 +3254,44 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - '@storybook/node-logger': 8.0.10 + '@storybook/node-logger': 8.1.1 webpack: 5.91.0(esbuild@0.20.2) dev: true - /@storybook/addon-toolbars@8.0.10: - resolution: {integrity: sha512-67HP6mTJU/gjRju01Z5HjeqoRiJMDlrMvMvjGBg7w5+tPNtjYqdelfe2+kcfU+Hf6dfcuqaBDwaUUGSv+RYtRQ==} + /@storybook/addon-toolbars@8.1.1: + resolution: {integrity: sha512-KY6fffSr2mE91CZAp1xtVM2Bcxo/dpA+R8RRt/9kei+6NucaIqpeqa1YTooTD8bUttq1yb/34kMSRgX/W3Qbfg==} dev: true - /@storybook/addon-viewport@8.0.10: - resolution: {integrity: sha512-NJ88Nd/tXreHLyLeF3VP+b8Fu2KtUuJ0L4JYpEMmcdaejGARTrJJOU+pcZBiUqEHFeXQ8rDY8DKXhUJZQFQ1Wg==} + /@storybook/addon-viewport@8.1.1: + resolution: {integrity: sha512-AqUYM7mozrIDa/MNHEd2h7jbfKncofx/OUVI8hrbj7VX46OQ5XbvBqgKpPK15c1ejPfx1hiVz9ZYGxA6HXXrjw==} dependencies: memoizerific: 1.11.3 dev: true - /@storybook/blocks@8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-LOaxvcO2d4dT4YoWlQ0bq/c8qA3aHoqtyuvBjwbVn+359bjMtgj/91YuP9Y2+ggZZ4p+ttgvk39PcmJlNXlJsw==} + /@storybook/blocks@8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-D+jUlkA2dxYPSY97+yM5sbLXPABKlsZAhmDy6gw05UoSpfBu1MnKd18Qj4fTbyqLYIJGH9z/whGd3tTcuZn8KQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta peerDependenciesMeta: react: optional: true react-dom: optional: true dependencies: - '@storybook/channels': 8.0.10 - '@storybook/client-logger': 8.0.10 - '@storybook/components': 8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-events': 8.0.10 + '@storybook/channels': 8.1.1 + '@storybook/client-logger': 8.1.1 + '@storybook/components': 8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) + '@storybook/core-events': 8.1.1 '@storybook/csf': 0.1.7 - '@storybook/docs-tools': 8.0.10 + '@storybook/docs-tools': 8.1.1(prettier@3.2.5) '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.3.1)(react@18.3.1) - '@storybook/manager-api': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/preview-api': 8.0.10 - '@storybook/theming': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/types': 8.0.10 - '@types/lodash': 4.17.1 + '@storybook/manager-api': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/preview-api': 8.1.1 + '@storybook/theming': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/types': 8.1.1 + '@types/lodash': 4.17.4 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 @@ -3034,17 +3307,19 @@ packages: util-deprecate: 1.0.2 transitivePeerDependencies: - '@types/react' + - '@types/react-dom' - encoding + - prettier - supports-color dev: true - /@storybook/builder-manager@8.0.10: - resolution: {integrity: sha512-lo57jeeYuYCKYrmGOdLg25rMyiGYSTwJ+zYsQ3RvClVICjP6X0I1RCKAJDzkI0BixH6s1+w5ynD6X3PtDnhUuw==} + /@storybook/builder-manager@8.1.1(prettier@3.2.5): + resolution: {integrity: sha512-WKpeDCtsmsesQYYYcXlCP17U1wdMGv6LnRY9BetKYbUPSHJo4eUBH8NmfW/ZjogczaUDw9sml6Sq5jIT35+Yuw==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 8.0.10 - '@storybook/manager': 8.0.10 - '@storybook/node-logger': 8.0.10 + '@storybook/core-common': 8.1.1(prettier@3.2.5) + '@storybook/manager': 8.1.1 + '@storybook/node-logger': 8.1.1 '@types/ejs': 3.1.5 '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.20.2) browser-assert: 1.2.1 @@ -3057,11 +3332,12 @@ packages: util: 0.12.5 transitivePeerDependencies: - encoding + - prettier - supports-color dev: true - /@storybook/builder-vite@8.0.10(typescript@5.2.2)(vite@4.5.3): - resolution: {integrity: sha512-Rod/2jYvF4Ng1MjIMZEXe/3z0lPuxkRtetCTr3ECPgi83lHXpHJ+N0NVfJEMs+pXsVqkLP3iGt2hLn6D6yFMwA==} + /@storybook/builder-vite@8.1.1(prettier@3.2.5)(typescript@5.2.2)(vite@4.5.3): + resolution: {integrity: sha512-+BSmXuZ9j95oKCvHcKztzjZNzBVeXYMoRO2TuflLnknMUA0v9ySp1PhiQxHM4DgAW6t9db1akzc9HoTA5sjTWg==} peerDependencies: '@preact/preset-vite': '*' typescript: '>= 4.3.x' @@ -3075,55 +3351,56 @@ packages: vite-plugin-glimmerx: optional: true dependencies: - '@storybook/channels': 8.0.10 - '@storybook/client-logger': 8.0.10 - '@storybook/core-common': 8.0.10 - '@storybook/core-events': 8.0.10 - '@storybook/csf-plugin': 8.0.10 - '@storybook/node-logger': 8.0.10 - '@storybook/preview': 8.0.10 - '@storybook/preview-api': 8.0.10 - '@storybook/types': 8.0.10 + '@storybook/channels': 8.1.1 + '@storybook/client-logger': 8.1.1 + '@storybook/core-common': 8.1.1(prettier@3.2.5) + '@storybook/core-events': 8.1.1 + '@storybook/csf-plugin': 8.1.1 + '@storybook/node-logger': 8.1.1 + '@storybook/preview': 8.1.1 + '@storybook/preview-api': 8.1.1 + '@storybook/types': 8.1.1 '@types/find-cache-dir': 3.2.1 browser-assert: 1.2.1 - es-module-lexer: 0.9.3 + es-module-lexer: 1.5.3 express: 4.19.2 find-cache-dir: 3.3.2 fs-extra: 11.2.0 magic-string: 0.30.10 ts-dedent: 2.2.0 typescript: 5.2.2 - vite: 4.5.3(@types/node@20.12.11) + vite: 4.5.3(@types/node@20.12.12) transitivePeerDependencies: - encoding + - prettier - supports-color dev: true - /@storybook/channels@8.0.10: - resolution: {integrity: sha512-3JLxfD7czlx31dAGvAYJ4J4BNE/Y2+hhj/dsV3xlQTHKVpnWknaoeYEC1a6YScyfsH6W+XmP2rzZKzH4EkLSGQ==} + /@storybook/channels@8.1.1: + resolution: {integrity: sha512-vG7y97QB++TRkuxYLNKaWJmgr9QBUHyjQgNCWvHIeSYW5zxum9sm6VSR2j1r2G3XUGFSxDwenYBTQuwZJLhWNQ==} dependencies: - '@storybook/client-logger': 8.0.10 - '@storybook/core-events': 8.0.10 + '@storybook/client-logger': 8.1.1 + '@storybook/core-events': 8.1.1 '@storybook/global': 5.0.0 telejson: 7.2.0 tiny-invariant: 1.3.3 dev: true - /@storybook/cli@8.0.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-KUZEO2lyvOS2sRJEFXovt6+5b65iWsh7F8e8S1cM20fCM1rZAlWtwmoxmDVXDmyEp0wTrq4FrRxKnbo9UO518w==} + /@storybook/cli@8.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ajLLIQnHjXpzUhYJ51b0eL/3uNuOjkbcx/B8HbgSbArBy7QvB9sX44wPJZYjL3GASYaZAppWixS2r36O/3yu+w==} hasBin: true dependencies: '@babel/core': 7.24.5 '@babel/types': 7.24.5 '@ndelangen/get-tarball': 3.0.9 - '@storybook/codemod': 8.0.10 - '@storybook/core-common': 8.0.10 - '@storybook/core-events': 8.0.10 - '@storybook/core-server': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/csf-tools': 8.0.10 - '@storybook/node-logger': 8.0.10 - '@storybook/telemetry': 8.0.10 - '@storybook/types': 8.0.10 + '@storybook/codemod': 8.1.1 + '@storybook/core-common': 8.1.1(prettier@3.2.5) + '@storybook/core-events': 8.1.1 + '@storybook/core-server': 8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1) + '@storybook/csf-tools': 8.1.1 + '@storybook/node-logger': 8.1.1 + '@storybook/telemetry': 8.1.1(prettier@3.2.5) + '@storybook/types': 8.1.1 '@types/semver': 7.5.8 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 @@ -3137,7 +3414,7 @@ packages: fs-extra: 11.2.0 get-npm-tarball-url: 2.1.0 giget: 1.2.3 - globby: 11.1.0 + globby: 14.0.1 jscodeshift: 0.15.2(@babel/preset-env@7.24.5) leven: 3.1.0 ora: 5.4.1 @@ -3159,25 +3436,25 @@ packages: - utf-8-validate dev: true - /@storybook/client-logger@8.0.10: - resolution: {integrity: sha512-u38SbZNAunZzxZNHMJb9jkUwFkLyWxmvp4xtiRM3u9sMUShXoTnzbw1yKrxs+kYJjg+58UQPZ1JhEBRcHt5Oww==} + /@storybook/client-logger@8.1.1: + resolution: {integrity: sha512-9AWPgIN3K0eLusChJUqB5Ft+9P2pW5/s4vOMoj3TCvu8lrdq8AH8ctvxk7x2Kw2wEwQ/g9DyE6C/rDQUARbxew==} dependencies: '@storybook/global': 5.0.0 dev: true - /@storybook/codemod@8.0.10: - resolution: {integrity: sha512-t45jKGs/eyR/nKVX6QgRtMZSAjJo5aXWWk3B24xVbW6ywr0jt1LC100FkHG4Af8cApIfh8uUmS9X05hMG5zGGA==} + /@storybook/codemod@8.1.1: + resolution: {integrity: sha512-KfNf0XtMb2Hq1+v+2d660u2VhmmG5IMhPfdSClHh8Mer90CEGKvZpZQLn/Ph1REvzKfCW+MzEgn/JrEcJs8fHg==} dependencies: '@babel/core': 7.24.5 '@babel/preset-env': 7.24.5(@babel/core@7.24.5) '@babel/types': 7.24.5 '@storybook/csf': 0.1.7 - '@storybook/csf-tools': 8.0.10 - '@storybook/node-logger': 8.0.10 - '@storybook/types': 8.0.10 + '@storybook/csf-tools': 8.1.1 + '@storybook/node-logger': 8.1.1 + '@storybook/types': 8.1.1 '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 - globby: 11.1.0 + globby: 14.0.1 jscodeshift: 0.15.2(@babel/preset-env@7.24.5) lodash: 4.17.21 prettier: 3.2.5 @@ -3187,34 +3464,41 @@ packages: - supports-color dev: true - /@storybook/components@8.0.10(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-eo+oDDcm35YBB3dtDYDfcjJypNVPmRty85VWpAOBsJXpwp/fgU8csx0DM3KmhrQ4cWLf2WzcFowJwI1w+J88Sw==} + /@storybook/components@8.1.1(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-0JxYXMb9nlTBAJJXRdn3IjlgXx07gylnTOqa7t3UgOiVDEVPs+1x9LtHU408igcZ5gtcrZepg46O9gz0sdgSfQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta dependencies: + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-slot': 1.0.2(@types/react@18.3.2)(react@18.3.1) - '@storybook/client-logger': 8.0.10 + '@storybook/client-logger': 8.1.1 '@storybook/csf': 0.1.7 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.3.1)(react@18.3.1) - '@storybook/theming': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/types': 8.0.10 + '@storybook/theming': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/types': 8.1.1 memoizerific: 1.11.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) util-deprecate: 1.0.2 transitivePeerDependencies: - '@types/react' + - '@types/react-dom' dev: true - /@storybook/core-common@8.0.10: - resolution: {integrity: sha512-hsFlPieputaDQoxstnPa3pykTc4bUwEDgCHf8U43+/Z7qmLOQ9fpG+2CFW930rsCRghYpPreOvsmhY7lsGKWLQ==} + /@storybook/core-common@8.1.1(prettier@3.2.5): + resolution: {integrity: sha512-cjECiKD8+fdlhf3UGrjgrPMBeBwB/gbF5ZVLpa1EYFsr23BHGnZADpmyCb71fl+aUSiGuZ106AS6RQt20w7fXw==} + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true dependencies: - '@storybook/core-events': 8.0.10 - '@storybook/csf-tools': 8.0.10 - '@storybook/node-logger': 8.0.10 - '@storybook/types': 8.0.10 + '@storybook/core-events': 8.1.1 + '@storybook/csf-tools': 8.1.1 + '@storybook/node-logger': 8.1.1 + '@storybook/types': 8.1.1 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 chalk: 4.1.2 @@ -3232,6 +3516,8 @@ packages: node-fetch: 2.7.0 picomatch: 2.3.1 pkg-dir: 5.0.0 + prettier: 3.2.5 + prettier-fallback: /prettier@3.2.5 pretty-hrtime: 1.0.3 resolve-from: 5.0.0 semver: 7.6.2 @@ -3244,44 +3530,48 @@ packages: - supports-color dev: true - /@storybook/core-events@8.0.10: - resolution: {integrity: sha512-TuHPS6p5ZNr4vp4butLb4R98aFx0NRYCI/7VPhJEUH5rPiqNzE3PZd8DC8rnVxavsJ+jO1/y+egNKXRYkEcoPQ==} + /@storybook/core-events@8.1.1: + resolution: {integrity: sha512-WpeiBV6RWTZ6t8SI1YdQh8NlbvQtZs9WRr4CPfpzHAly+oxFy6PtPz0h5TMKsU5/kt/L9yL7tE9ZzPYzvFWH/A==} dependencies: + '@storybook/csf': 0.1.7 ts-dedent: 2.2.0 dev: true - /@storybook/core-server@8.0.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-HYDw2QFBxg1X/d6g0rUhirOB5Jq6g90HBnyrZzxKoqKWJCNsCADSgM+h9HgtUw0jA97qBpIqmNO9n3mXFPWU/Q==} + /@storybook/core-server@8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-/r70ORN9PdrLTLOeZfZkYhR/UBe6dj5DhcQ21zJhKU/0b10nuLJh4SGVD93Hah2wAYEN7YoJzX1bZMo6zRkTRQ==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 8.0.10 - '@storybook/channels': 8.0.10 - '@storybook/core-common': 8.0.10 - '@storybook/core-events': 8.0.10 + '@storybook/builder-manager': 8.1.1(prettier@3.2.5) + '@storybook/channels': 8.1.1 + '@storybook/core-common': 8.1.1(prettier@3.2.5) + '@storybook/core-events': 8.1.1 '@storybook/csf': 0.1.7 - '@storybook/csf-tools': 8.0.10 - '@storybook/docs-mdx': 3.0.0 + '@storybook/csf-tools': 8.1.1 + '@storybook/docs-mdx': 3.1.0-next.0 '@storybook/global': 5.0.0 - '@storybook/manager': 8.0.10 - '@storybook/manager-api': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/node-logger': 8.0.10 - '@storybook/preview-api': 8.0.10 - '@storybook/telemetry': 8.0.10 - '@storybook/types': 8.0.10 + '@storybook/manager': 8.1.1 + '@storybook/manager-api': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/node-logger': 8.1.1 + '@storybook/preview-api': 8.1.1 + '@storybook/telemetry': 8.1.1(prettier@3.2.5) + '@storybook/types': 8.1.1 '@types/detect-port': 1.3.5 + '@types/diff': 5.2.1 '@types/node': 18.19.33 '@types/pretty-hrtime': 1.0.3 '@types/semver': 7.5.8 better-opn: 3.0.2 chalk: 4.1.2 - cli-table3: 0.6.4 + cli-table3: 0.6.5 compression: 1.7.4 detect-port: 1.6.1 + diff: 5.2.0 express: 4.19.2 fs-extra: 11.2.0 - globby: 11.1.0 + globby: 14.0.1 ip: 2.0.1 lodash: 4.17.21 open: 8.4.2 @@ -3299,30 +3589,31 @@ packages: transitivePeerDependencies: - bufferutil - encoding + - prettier - react - react-dom - supports-color - utf-8-validate dev: true - /@storybook/csf-plugin@8.0.10: - resolution: {integrity: sha512-0EsyEx/06sCjI8sn40r7cABtBU1vUKPMPD+S5mJiZymm73BgdARj0qZOlLoK2LP+t2pcaB/Cn7KX/uyhhv7M2g==} + /@storybook/csf-plugin@8.1.1: + resolution: {integrity: sha512-aZ2F3PY601MuW8xWf7/f928/anhZyaXYnysa8ViHooBEnJS1FBJfCsDDSM54FTDRyyOQF6AZtHeY53snd+e9ng==} dependencies: - '@storybook/csf-tools': 8.0.10 + '@storybook/csf-tools': 8.1.1 unplugin: 1.10.1 transitivePeerDependencies: - supports-color dev: true - /@storybook/csf-tools@8.0.10: - resolution: {integrity: sha512-xUc6fVIKoCujf/7JZhkYjrVXeNsTSoDrZFNmqLEmtfktJVqYdXY4LuSAtlBmAIyETi09ULTuuVexrcKFwjzuBA==} + /@storybook/csf-tools@8.1.1: + resolution: {integrity: sha512-BaS1bFx8Rj9Nj7gxsJrifu9lFoli7CD4DxBGEeagVOvCcBX95RI0I9JLhr81LdMl5DwPP1xBGZjCVNsC7eIR4w==} dependencies: '@babel/generator': 7.24.5 '@babel/parser': 7.24.5 '@babel/traverse': 7.24.5 '@babel/types': 7.24.5 '@storybook/csf': 0.1.7 - '@storybook/types': 8.0.10 + '@storybook/types': 8.1.1 fs-extra: 11.2.0 recast: 0.23.7 ts-dedent: 2.2.0 @@ -3342,23 +3633,24 @@ packages: type-fest: 2.19.0 dev: true - /@storybook/docs-mdx@3.0.0: - resolution: {integrity: sha512-NmiGXl2HU33zpwTv1XORe9XG9H+dRUC1Jl11u92L4xr062pZtrShLmD4VKIsOQujxhhOrbxpwhNOt+6TdhyIdQ==} + /@storybook/docs-mdx@3.1.0-next.0: + resolution: {integrity: sha512-t4syFIeSyufieNovZbLruPt2DmRKpbwL4fERCZ1MifWDRIORCKLc4NCEHy+IqvIqd71/SJV2k4B51nF7vlJfmQ==} dev: true - /@storybook/docs-tools@8.0.10: - resolution: {integrity: sha512-rg9KS81vEh13VMr4mAgs+7L4kYqoRtG7kVfV1WHxzJxjR3wYcVR0kP9gPTWV4Xha/TA3onHu9sxKxMTWha0urQ==} + /@storybook/docs-tools@8.1.1(prettier@3.2.5): + resolution: {integrity: sha512-BPq9e6bl4uRru0GSLHS56eg0SV5LEMJSzrMIzeSrTf9xoZdBeLM05oblo2oebEGZUE97uduhKoaUeUJtsuMIxw==} dependencies: - '@storybook/core-common': 8.0.10 - '@storybook/core-events': 8.0.10 - '@storybook/preview-api': 8.0.10 - '@storybook/types': 8.0.10 + '@storybook/core-common': 8.1.1(prettier@3.2.5) + '@storybook/core-events': 8.1.1 + '@storybook/preview-api': 8.1.1 + '@storybook/types': 8.1.1 '@types/doctrine': 0.0.3 assert: 2.1.0 doctrine: 3.0.0 lodash: 4.17.21 transitivePeerDependencies: - encoding + - prettier - supports-color dev: true @@ -3377,30 +3669,30 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: true - /@storybook/instrumenter@8.0.10: - resolution: {integrity: sha512-6IYjWeQFA5x68xRoW5dU4yAc1Hwq1ZBkZbXVgJbr5LJw5x+y8eKdZzIaOmSsSKOI96R7J5YWWd2WA1Q0nRurtg==} + /@storybook/instrumenter@8.1.1: + resolution: {integrity: sha512-8OJCEt0/KXCxT0B8uIQgR3aEmlW8iW5CK1qZxZUEvMDUb7agpKdthLfiN8+M3maq59PmOhq9h43iUTRZxKFVpw==} dependencies: - '@storybook/channels': 8.0.10 - '@storybook/client-logger': 8.0.10 - '@storybook/core-events': 8.0.10 + '@storybook/channels': 8.1.1 + '@storybook/client-logger': 8.1.1 + '@storybook/core-events': 8.1.1 '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.10 + '@storybook/preview-api': 8.1.1 '@vitest/utils': 1.6.0 util: 0.12.5 dev: true - /@storybook/manager-api@8.0.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-LLu6YKQLWf5QB3h3RO8IevjLrSOew7aidIQPr9DIr9xC8wA7N2fQabr+qrJdE306p3cHZ0nzhYNYZxSjm4Dvdw==} + /@storybook/manager-api@8.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-IDPFxFFArO3l7P8vPjBxDBc6V255FJLx9W+eCOMdJJRZcovxrCkYOB0wRd+fw/IDtGt1zgPBfA6WD/JQAa1hlw==} dependencies: - '@storybook/channels': 8.0.10 - '@storybook/client-logger': 8.0.10 - '@storybook/core-events': 8.0.10 + '@storybook/channels': 8.1.1 + '@storybook/client-logger': 8.1.1 + '@storybook/core-events': 8.1.1 '@storybook/csf': 0.1.7 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.3.1)(react@18.3.1) - '@storybook/router': 8.0.10 - '@storybook/theming': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/types': 8.0.10 + '@storybook/router': 8.1.1 + '@storybook/theming': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/types': 8.1.1 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 @@ -3412,23 +3704,23 @@ packages: - react-dom dev: true - /@storybook/manager@8.0.10: - resolution: {integrity: sha512-bojGglUQNry48L4siURc2zQKswavLzMh69rqsfL3ZXx+i+USfRfB7593azTlaZh0q6HO4bUAjB24RfQCyifLLQ==} + /@storybook/manager@8.1.1: + resolution: {integrity: sha512-b3Oa9QsCbkTpH0LCKkMYDXtFYb1QpDc45EIFIm5Ib2tlilPQkx+a7jNpJG1/SKnYBwAO7iYjxN8iW9MwMLoCig==} dev: true - /@storybook/node-logger@8.0.10: - resolution: {integrity: sha512-UMmaUaA3VOX/mKLsSvOnbZre2/1tZ6hazA6H0eAnClKb51jRD1AJrsBYK+uHr/CAp7t710bB5U8apPov7hayDw==} + /@storybook/node-logger@8.1.1: + resolution: {integrity: sha512-l+B8eu3yBZfrHvCR/FVqGyObgA0KSLp+06NkWDMn0p7qu0tCTROquopKdn2gXKitZp8wGwhgJV56OvW5C12XQA==} dev: true - /@storybook/preview-api@8.0.10: - resolution: {integrity: sha512-uZ6btF7Iloz9TnDcKLQ5ydi2YK0cnulv/8FLQhBCwSrzLLLb+T2DGz0cAeuWZEvMUNWNmkWJ9PAFQFs09/8p/Q==} + /@storybook/preview-api@8.1.1: + resolution: {integrity: sha512-5EcByqtJgj7a7ZWICMLif8mK3cRmdIMbdSPEDf4X6aTQ8LZOg6updLrkb/Eh6qfeYv46TK/MP8BXa89wfOxWGQ==} dependencies: - '@storybook/channels': 8.0.10 - '@storybook/client-logger': 8.0.10 - '@storybook/core-events': 8.0.10 + '@storybook/channels': 8.1.1 + '@storybook/client-logger': 8.1.1 + '@storybook/core-events': 8.1.1 '@storybook/csf': 0.1.7 '@storybook/global': 5.0.0 - '@storybook/types': 8.0.10 + '@storybook/types': 8.1.1 '@types/qs': 6.9.15 dequal: 2.0.3 lodash: 4.17.21 @@ -3439,33 +3731,34 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/preview@8.0.10: - resolution: {integrity: sha512-op7gZqop8PSFyPA4tc1Zds8jG6VnskwpYUUsa44pZoEez9PKEFCf4jE+7AQwbBS3hnuCb0CKBfASN8GRyoznbw==} + /@storybook/preview@8.1.1: + resolution: {integrity: sha512-P8iBi9v/62AhTztbCYjVxH6idNO0h9uO583GHwi3uq2Io7F1gUSgwG/HYZ7PnclOsMnmG0FJvAwrvdRc6sWSNw==} dev: true - /@storybook/react-dom-shim@8.0.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-3x8EWEkZebpWpp1pwXEzdabGINwOQt8odM5+hsOlDRtFZBmUqmmzK0rtn7orlcGlOXO4rd6QuZj4Tc5WV28dVQ==} + /@storybook/react-dom-shim@8.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-X2WPGOxKZhReokqyBbYxhsCHe0qzyM2V8Vs4tQIua/HpNJ/4jqFoXmJvMnUtzwnNry4Gpuhn3nVPtD4QRZsP1w==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: true - /@storybook/react-vite@8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2)(vite@4.5.3): - resolution: {integrity: sha512-J0Tw1jWSQYzc37AWaJCbrFQLlWsCHby0ie0yPx8DVehlnTT6xZWkohiKBq5iwMyYfF9SGrOfZ/dVRiB5q2sOIA==} + /@storybook/react-vite@8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2)(vite@4.5.3): + resolution: {integrity: sha512-9XqrapUBS2eD/EkW8ND2uqEwrp9wdp2AkngZTTPwGQEvX5Jb9K1nwKZHc7Ewj8ja84MRUgYw6vc9bd6pHGJs1g==} engines: {node: '>=18.0.0'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta vite: ^4.0.0 || ^5.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.2.2)(vite@4.5.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.2.2)(vite@4.5.3) '@rollup/pluginutils': 5.1.0 - '@storybook/builder-vite': 8.0.10(typescript@5.2.2)(vite@4.5.3) - '@storybook/node-logger': 8.0.10 - '@storybook/react': 8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) + '@storybook/builder-vite': 8.1.1(prettier@3.2.5)(typescript@5.2.2)(vite@4.5.3) + '@storybook/node-logger': 8.1.1 + '@storybook/react': 8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2) + '@storybook/types': 8.1.1 find-up: 5.0.0 magic-string: 0.30.10 react: 18.3.1 @@ -3473,33 +3766,34 @@ packages: react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 tsconfig-paths: 4.2.0 - vite: 4.5.3(@types/node@20.12.11) + vite: 4.5.3(@types/node@20.12.12) transitivePeerDependencies: - '@preact/preset-vite' - encoding + - prettier - rollup - supports-color - typescript - vite-plugin-glimmerx dev: true - /@storybook/react@8.0.10(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2): - resolution: {integrity: sha512-/MIMc02TNmiNXDzk55dm9+ujfNE5LVNeqqK+vxXWLlCZ0aXRAd1/ZLYeRFuYLgEETB7mh7IP8AXjvM68NX5HYg==} + /@storybook/react@8.1.1(prettier@3.2.5)(react-dom@18.3.1)(react@18.3.1)(typescript@5.2.2): + resolution: {integrity: sha512-J4DIn9Lo2quYuaU/vLfQM1N4XcXIURWxAet1/y32K5Du0debNnKTPJnwBUT9b4bucBpldEWdN9uw3JvHQyb3qA==} engines: {node: '>=18.0.0'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/client-logger': 8.0.10 - '@storybook/docs-tools': 8.0.10 + '@storybook/client-logger': 8.1.1 + '@storybook/docs-tools': 8.1.1(prettier@3.2.5) '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.10 - '@storybook/react-dom-shim': 8.0.10(react-dom@18.3.1)(react@18.3.1) - '@storybook/types': 8.0.10 + '@storybook/preview-api': 8.1.1 + '@storybook/react-dom-shim': 8.1.1(react-dom@18.3.1)(react@18.3.1) + '@storybook/types': 8.1.1 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 18.19.33 @@ -3520,23 +3814,24 @@ packages: util-deprecate: 1.0.2 transitivePeerDependencies: - encoding + - prettier - supports-color dev: true - /@storybook/router@8.0.10: - resolution: {integrity: sha512-AZhgiet+EK0ZsPbaDgbbVTAHW2LAMCP1z/Un2uMBbdDeD0Ys29Af47AbEj/Ome5r1cqasLvzq2WXJlVXPNB0Zw==} + /@storybook/router@8.1.1: + resolution: {integrity: sha512-9/9ZONtBZI7VxkFpwVYIq6d42yBLci7wkXOVJO5gugi+iVDM02eYQvrbKTTVnY0fCXXwwwVbpTyoHk25bqbRNg==} dependencies: - '@storybook/client-logger': 8.0.10 + '@storybook/client-logger': 8.1.1 memoizerific: 1.11.3 qs: 6.12.1 dev: true - /@storybook/telemetry@8.0.10: - resolution: {integrity: sha512-s4Uc+KZQkdmD2d+64Qf8wYknhQZwmjf2CxjIjv9b4KLsU/nyfDheK7Fzd1jhBKb2UQUlLW5HhZkBgs1RsZcDHA==} + /@storybook/telemetry@8.1.1(prettier@3.2.5): + resolution: {integrity: sha512-yyrAc5t4UUb2OW6zpHM7/aI3ePiPcgMTyJqqn5X5+S9OHy0yHI7NHi7ZslTg6D5yXV6g3OTfa3Yq3pXkOBV3uw==} dependencies: - '@storybook/client-logger': 8.0.10 - '@storybook/core-common': 8.0.10 - '@storybook/csf-tools': 8.0.10 + '@storybook/client-logger': 8.1.1 + '@storybook/core-common': 8.1.1(prettier@3.2.5) + '@storybook/csf-tools': 8.1.1 chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 @@ -3544,16 +3839,17 @@ packages: read-pkg-up: 7.0.1 transitivePeerDependencies: - encoding + - prettier - supports-color dev: true - /@storybook/test@8.0.10(vitest@1.6.0): - resolution: {integrity: sha512-VqjzKJiOCjaZ0CjLeKygYk8uetiaiKbpIox+BrND9GtpEBHcRZA5AeFY2P1aSCOhsaDwuh4KRBxJWFug7DhWGQ==} + /@storybook/test@8.1.1(vitest@1.6.0): + resolution: {integrity: sha512-JIFgfTINM8TJvfyy/aH1WfIgkGVZIesntDYTcY40ukE6ZPaM98YFrSD5E4D3b0vPFEIU0QJ2xVbOGIAVX/6hBw==} dependencies: - '@storybook/client-logger': 8.0.10 - '@storybook/core-events': 8.0.10 - '@storybook/instrumenter': 8.0.10 - '@storybook/preview-api': 8.0.10 + '@storybook/client-logger': 8.1.1 + '@storybook/core-events': 8.1.1 + '@storybook/instrumenter': 8.1.1 + '@storybook/preview-api': 8.1.1 '@testing-library/dom': 9.3.4 '@testing-library/jest-dom': 6.4.5(vitest@1.6.0) '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) @@ -3568,11 +3864,11 @@ packages: - vitest dev: true - /@storybook/theming@8.0.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-7NHt7bMC7lPkwz9KdDpa6DkLoQZz5OV6jsx/qY91kcdLo1rpnRPAiVlJvmWesFxi1oXOpVDpHHllWzf8KDBv8A==} + /@storybook/theming@8.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-opjTCpvNDlDyTWnU58YLoFFhNrY88mxWRkHEE0Qt0hhRnS8EkU/+aam/1gTr204peDWZ+Ap3BBHFq28nQ5kfDQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta peerDependenciesMeta: react: optional: true @@ -3580,17 +3876,17 @@ packages: optional: true dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) - '@storybook/client-logger': 8.0.10 + '@storybook/client-logger': 8.1.1 '@storybook/global': 5.0.0 memoizerific: 1.11.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: true - /@storybook/types@8.0.10: - resolution: {integrity: sha512-S/hKS7+SqNnYIehwxdQ4M2nnlfGDdYWAXdtPCVJCmS+YF2amgAxeuisiHbUg7eypds6VL0Oxk/j2nPEHOHk9pg==} + /@storybook/types@8.1.1: + resolution: {integrity: sha512-QSQ63aKr2IXrGjX2/Fg1oiGWk+2Nuf+TplaHRC2NKBMgvyn+M0BHUgMTDHQVrFaH4bpl2PkE0r0tzOKP4JI43A==} dependencies: - '@storybook/channels': 8.0.10 + '@storybook/channels': 8.1.1 '@types/express': 4.17.21 file-system-cache: 2.3.0 dev: true @@ -3604,30 +3900,30 @@ packages: '@swc/counter': 0.1.3 tslib: 2.6.2 - /@tanstack/query-core@5.35.5: - resolution: {integrity: sha512-OMWvlEqG01RfGj+XZb/piDzPp0eZkkHWSDHt2LvE/fd1zWburP/xwm0ghk6Iv8cuPlP+ACFkZviKXK0OVt6lhg==} + /@tanstack/query-core@5.36.1: + resolution: {integrity: sha512-BteWYEPUcucEu3NBcDAgKuI4U25R9aPrHSP6YSf2NvaD2pSlIQTdqOfLRsxH9WdRYg7k0Uom35Uacb6nvbIMJg==} - /@tanstack/query-devtools@5.32.1: - resolution: {integrity: sha512-7Xq57Ctopiy/4atpb0uNY5VRuCqRS/1fi/WBCKKX6jHMa6cCgDuV/AQuiwRXcKARbq2OkVAOrW2v4xK9nTbcCA==} + /@tanstack/query-devtools@5.37.1: + resolution: {integrity: sha512-XcG4IIHIv0YQKrexTqo2zogQWR1Sz672tX2KsfE9kzB+9zhx44vRKH5si4WDILE1PIWQpStFs/NnrDQrBAUQpg==} dev: true - /@tanstack/react-query-devtools@5.35.5(@tanstack/react-query@5.35.5)(react@18.3.1): - resolution: {integrity: sha512-4Xll14B9uhgEJ+uqZZ5tqZ7G1LDR7wGYgb+NOZHGn11TTABnlV8GWon7zDMqdaHeR5mjjuY1UFo9pbz39kuZKQ==} + /@tanstack/react-query-devtools@5.37.1(@tanstack/react-query@5.37.1)(react@18.3.1): + resolution: {integrity: sha512-fWL3rV/avL9HsHt3RVYxuLCqSHghBwSGPIUMDZ9hfg9PDjQaeI9d8kJj6yLoCBWUhTue5/rQbISvFtr+yxyYyA==} peerDependencies: - '@tanstack/react-query': ^5.35.5 + '@tanstack/react-query': ^5.37.1 react: ^18.0.0 dependencies: - '@tanstack/query-devtools': 5.32.1 - '@tanstack/react-query': 5.35.5(react@18.3.1) + '@tanstack/query-devtools': 5.37.1 + '@tanstack/react-query': 5.37.1(react@18.3.1) react: 18.3.1 dev: true - /@tanstack/react-query@5.35.5(react@18.3.1): - resolution: {integrity: sha512-sppX7L+PVn5GBV3In6zzj0zcKfnZRKhXbX1MfIfKo1OjIq2GMaopvAFOP0x1bRYTUk2ikrdYcQYOozX7PWkb8A==} + /@tanstack/react-query@5.37.1(react@18.3.1): + resolution: {integrity: sha512-EhtBNA8GL3XFeSx6VYUjXQ96n44xe3JGKZCzBINrCYlxbZP6UwBafv7ti4eSRWc2Fy+fybQre0w17gR6lMzULA==} peerDependencies: react: ^18.0.0 dependencies: - '@tanstack/query-core': 5.35.5 + '@tanstack/query-core': 5.36.1 react: 18.3.1 /@testing-library/dom@10.1.0: @@ -3642,7 +3938,6 @@ packages: dom-accessibility-api: 0.5.16 lz-string: 1.5.0 pretty-format: 27.5.1 - dev: true /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} @@ -3708,6 +4003,15 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: true + /@testing-library/user-event@14.5.2(@testing-library/dom@10.1.0): + resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + dependencies: + '@testing-library/dom': 10.1.0 + dev: false + /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4): resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} engines: {node: '>=12', npm: '>=6'} @@ -3771,7 +4075,7 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@turbo/gen@1.13.3(@types/node@20.12.11)(typescript@5.2.2): + /@turbo/gen@1.13.3(@types/node@20.12.12)(typescript@5.2.2): resolution: {integrity: sha512-l+EM1gGzckFMaaVQyj3BVRa0QJ+tpp8HfiHOhGpBWW3Vc0Hfj92AY87Di/7HGABa+HVY7ueatMi7DJG+zkJBYg==} hasBin: true dependencies: @@ -3783,7 +4087,7 @@ packages: minimatch: 9.0.4 node-plop: 0.26.3 proxy-agent: 6.4.0 - ts-node: 10.9.2(@types/node@20.12.11)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.12.12)(typescript@5.2.2) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -3814,7 +4118,6 @@ packages: /@types/aria-query@5.0.4: resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - dev: true /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -3849,7 +4152,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.12.11 + '@types/node': 20.12.12 dev: true /@types/chrome@0.0.266: @@ -3862,19 +4165,23 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 dev: true /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 dev: true /@types/detect-port@1.3.5: resolution: {integrity: sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==} dev: true + /@types/diff@5.2.1: + resolution: {integrity: sha512-uxpcuwWJGhe2AR1g8hD9F5OYGCqjqWnBUQFD8gMZsDbv8oPHzxJF6iMO6n8Tk0AdzlxoaaoQhOYlIg/PukVU8g==} + dev: true + /@types/doctrine@0.0.3: resolution: {integrity: sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==} dev: true @@ -3887,8 +4194,8 @@ packages: resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==} dev: true - /@types/emscripten@1.39.11: - resolution: {integrity: sha512-dOeX2BeNA7j6BTEqJQL3ut0bRCfsyQMd5i4FT8JfHfYhAOuJPCGh0dQFbxVJxUyQ+75x6enhDdndGb624/QszA==} + /@types/emscripten@1.39.12: + resolution: {integrity: sha512-AQImDBgudQfMqUBfrjZYilRxoHDzTBp+ejh+g1fY67eSMalwIKtBXofjpyI0JBgNpHGzxeGAR2QDya0wxW9zbA==} dev: true /@types/escodegen@0.0.6: @@ -3924,7 +4231,7 @@ packages: /@types/express-serve-static-core@4.19.0: resolution: {integrity: sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==} dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3957,7 +4264,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.12.11 + '@types/node': 20.12.12 dev: true /@types/har-format@1.2.15: @@ -3996,8 +4303,8 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/lodash@4.17.1: - resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==} + /@types/lodash@4.17.4: + resolution: {integrity: sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==} dev: true /@types/mdx@2.0.13: @@ -4018,8 +4325,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.12.11: - resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} + /@types/node@20.12.12: + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} dependencies: undici-types: 5.26.5 dev: true @@ -4067,14 +4374,14 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.11 + '@types/node': 20.12.12 dev: true /@types/serve-static@1.15.7: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.12.11 + '@types/node': 20.12.12 '@types/send': 0.17.4 dev: true @@ -4089,7 +4396,7 @@ packages: /@types/through@0.0.33: resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 dev: true /@types/tinycolor2@1.4.6: @@ -4108,7 +4415,7 @@ packages: resolution: {integrity: sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==} dependencies: '@types/expect': 1.20.4 - '@types/node': 20.12.11 + '@types/node': 20.12.12 dev: true /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@6.6.0)(eslint@8.57.0)(typescript@5.2.2): @@ -4161,6 +4468,27 @@ packages: - supports-color dev: true + /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4169,6 +4497,14 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + dev: true + /@typescript-eslint/scope-manager@6.6.0: resolution: {integrity: sha512-pT08u5W/GT4KjPUmEtc2kSYvrH8x89cVzkA0Sy2aaOUIw6YxOIjA8ilwLr/1fLjOedX1QAuBpG9XggWqIIfERw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4177,6 +4513,14 @@ packages: '@typescript-eslint/visitor-keys': 6.6.0 dev: true + /@typescript-eslint/scope-manager@7.2.0: + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 + dev: true + /@typescript-eslint/type-utils@6.6.0(eslint@8.57.0)(typescript@5.2.2): resolution: {integrity: sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4202,11 +4546,21 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/types@6.6.0: resolution: {integrity: sha512-CB6QpJQ6BAHlJXdwUmiaXDBmTqIE2bzGTDLADgvqtHWuhfNP3rAOK7kAgRMAET5rDRr9Utt+qAzRBdu3AhR3sg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true + /@typescript-eslint/types@7.2.0: + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4228,6 +4582,28 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.2.2): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/typescript-estree@6.6.0(typescript@5.2.2): resolution: {integrity: sha512-hMcTQ6Al8MP2E6JKBAaSxSVw5bDhdmbCEhGW/V8QXkb9oNsFkA4SBuOMYVPxD3jbtQ4R/vSODBsr76R6fP3tbA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4249,6 +4625,28 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree@7.2.0(typescript@5.2.2): + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4269,6 +4667,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) + eslint: 8.57.0 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/utils@6.6.0(eslint@8.57.0)(typescript@5.2.2): resolution: {integrity: sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4296,6 +4713,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@typescript-eslint/visitor-keys@6.6.0: resolution: {integrity: sha512-L61uJT26cMOfFQ+lMZKoJNbAEckLe539VhTxiGHrWl5XSKQgA0RTBZJW2HFPy5T0ZvPVSD93QsrTKDkfNwJGyQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4304,6 +4729,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@7.2.0: + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.2.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -4332,7 +4765,7 @@ packages: deepmerge: 4.3.1 media-query-parser: 2.0.2 modern-ahocorasick: 1.0.1 - picocolors: 1.0.0 + picocolors: 1.0.1 transitivePeerDependencies: - babel-plugin-macros @@ -4342,7 +4775,7 @@ packages: '@vanilla-extract/private': 1.0.4 dev: false - /@vanilla-extract/integration@7.1.4(@types/node@20.12.11): + /@vanilla-extract/integration@7.1.4(@types/node@20.12.12): resolution: {integrity: sha512-/9RYhOVvr28Vn5pDahgfccFqlfepyogdlGg3cabR9kVvKHQdNkAFuPp2mx8EzPPI2D9ZIcPwfb3jp8t2Beo/Vw==} dependencies: '@babel/core': 7.24.5 @@ -4355,8 +4788,8 @@ packages: find-up: 5.0.0 javascript-stringify: 2.1.0 mlly: 1.7.0 - vite: 5.2.11(@types/node@20.12.11) - vite-node: 1.6.0(@types/node@20.12.11) + vite: 5.2.11(@types/node@20.12.12) + vite-node: 1.6.0(@types/node@20.12.12) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -4369,12 +4802,12 @@ packages: - terser dev: true - /@vanilla-extract/next-plugin@2.4.0(@types/node@20.12.11)(next@14.2.3)(webpack@5.91.0): + /@vanilla-extract/next-plugin@2.4.0(@types/node@20.12.12)(next@14.2.3)(webpack@5.91.0): resolution: {integrity: sha512-hRdTpr43NIFNmIbY7z+oA/BupzK7rBDVMfTFi/fVD3TD4x47LH/eNkDLsujGYl4kUpO96TxLw1wn9P9eC034YA==} peerDependencies: next: '>=12.1.7' dependencies: - '@vanilla-extract/webpack-plugin': 2.3.8(@types/node@20.12.11)(webpack@5.91.0) + '@vanilla-extract/webpack-plugin': 2.3.8(@types/node@20.12.12)(webpack@5.91.0) next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1)(react@18.3.1) transitivePeerDependencies: - '@types/node' @@ -4406,13 +4839,13 @@ packages: dependencies: '@vanilla-extract/css': 1.15.1 - /@vanilla-extract/vite-plugin@4.0.9(@types/node@20.12.11)(vite@4.5.3): + /@vanilla-extract/vite-plugin@4.0.9(@types/node@20.12.12)(vite@4.5.3): resolution: {integrity: sha512-O3SU6whsm01lD9Kwpkz9yF14u0SCF0jbGtvMpslXGDZ6f3B9oq0M6PViu94gEYy8Xt2B4y23NF8RCrMOwDn81g==} peerDependencies: vite: ^4.0.3 || ^5.0.0 dependencies: - '@vanilla-extract/integration': 7.1.4(@types/node@20.12.11) - vite: 4.5.3(@types/node@20.12.11) + '@vanilla-extract/integration': 7.1.4(@types/node@20.12.12) + vite: 4.5.3(@types/node@20.12.12) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -4425,15 +4858,15 @@ packages: - terser dev: true - /@vanilla-extract/webpack-plugin@2.3.8(@types/node@20.12.11)(webpack@5.91.0): + /@vanilla-extract/webpack-plugin@2.3.8(@types/node@20.12.12)(webpack@5.91.0): resolution: {integrity: sha512-etdNKd+lB4QowW7tNLWFCkAnUUYLiJWRdcVfgwUyaYSl4IOD4SabBbY/0uTDVE3LQaCHAsiWGFflWwoKD9F1SQ==} peerDependencies: webpack: ^4.30.0 || ^5.20.2 dependencies: - '@vanilla-extract/integration': 7.1.4(@types/node@20.12.11) + '@vanilla-extract/integration': 7.1.4(@types/node@20.12.12) debug: 4.3.4 loader-utils: 2.0.4 - picocolors: 1.0.0 + picocolors: 1.0.1 webpack: 5.91.0(esbuild@0.20.2) transitivePeerDependencies: - '@types/node' @@ -4458,7 +4891,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.5) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 4.5.3(@types/node@20.12.11) + vite: 4.5.3(@types/node@20.12.12) transitivePeerDependencies: - supports-color dev: true @@ -4517,7 +4950,7 @@ packages: fflate: 0.8.2 flatted: 3.3.1 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 sirv: 2.0.4 vitest: 1.6.0(@vitest/ui@1.6.0)(jsdom@24.0.0) dev: true @@ -4680,7 +5113,7 @@ packages: resolution: {integrity: sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==} engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'} dependencies: - '@types/emscripten': 1.39.11 + '@types/emscripten': 1.39.12 tslib: 1.14.1 dev: true @@ -4840,7 +5273,6 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} @@ -4858,12 +5290,10 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} @@ -4915,6 +5345,13 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + engines: {node: '>=10'} + dependencies: + tslib: 2.6.2 + dev: true + /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: @@ -4925,7 +5362,6 @@ packages: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} dependencies: dequal: 2.0.3 - dev: true /arr-diff@4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} @@ -5228,7 +5664,7 @@ packages: dependencies: '@babel/core': 7.24.5 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) - core-js-compat: 3.37.0 + core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color dev: true @@ -5417,10 +5853,10 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001617 - electron-to-chromium: 1.4.763 + caniuse-lite: 1.0.30001620 + electron-to-chromium: 1.4.774 node-releases: 2.0.14 - update-browserslist-db: 1.0.15(browserslist@4.23.0) + update-browserslist-db: 1.0.16(browserslist@4.23.0) /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -5517,8 +5953,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /caniuse-lite@1.0.30001617: - resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==} + /caniuse-lite@1.0.30001620: + resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} /chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} @@ -5555,7 +5991,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} @@ -5664,8 +6099,8 @@ packages: engines: {node: '>=10'} dev: true - /chromatic@11.3.2: - resolution: {integrity: sha512-0PuHl49VvBMoDHEfmNjC/bim9YYNhWF3axTZlFuatC0avwr2Xw4GDqJDG9fArEWN8oM8VtYHkE9D7qc87dmz2w==} + /chromatic@11.3.5: + resolution: {integrity: sha512-M3xCyoEIjdcsXX3NhN60joXxEthy+wxNEcsCMM0u9u8Yna7tJvwvOsJStbOJDwEBo6TdIKckARN3BbArpduFbA==} hasBin: true peerDependencies: '@chromatic-com/cypress': ^0.*.* || ^1.0.0 @@ -5722,8 +6157,8 @@ packages: engines: {node: '>=6'} dev: true - /cli-table3@0.6.4: - resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==} + /cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} dependencies: string-width: 4.2.3 @@ -5828,14 +6263,12 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} @@ -5984,14 +6417,14 @@ packages: is-plain-object: 5.0.0 dev: true - /core-js-compat@3.37.0: - resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==} + /core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} dependencies: browserslist: 4.23.0 dev: true - /core-js-pure@3.37.0: - resolution: {integrity: sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==} + /core-js-pure@3.37.1: + resolution: {integrity: sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==} requiresBuild: true dev: true @@ -6352,7 +6785,6 @@ packages: /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - dev: true /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} @@ -6369,6 +6801,10 @@ packages: engines: {node: '>=8'} dev: true + /detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + dev: true + /detect-package-manager@2.0.1: resolution: {integrity: sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==} engines: {node: '>=12'} @@ -6397,6 +6833,11 @@ packages: engines: {node: '>=0.3.1'} dev: true + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + dev: true + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -6420,7 +6861,6 @@ packages: /dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dev: true /dom-accessibility-api@0.6.3: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} @@ -6506,8 +6946,8 @@ packages: jake: 10.9.1 dev: true - /electron-to-chromium@1.4.763: - resolution: {integrity: sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==} + /electron-to-chromium@1.4.774: + resolution: {integrity: sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==} /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -6664,12 +7104,8 @@ packages: resolution: {integrity: sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==} dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true - - /es-module-lexer@1.5.2: - resolution: {integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==} + /es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} dev: true /es-object-atoms@1.0.0: @@ -6895,12 +7331,12 @@ packages: optional: true dependencies: '@next/eslint-plugin-next': 14.2.2 - '@rushstack/eslint-patch': 1.10.2 - '@typescript-eslint/parser': 6.6.0(eslint@8.57.0)(typescript@5.2.2) + '@rushstack/eslint-patch': 1.10.3 + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.2.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.6.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) @@ -6954,7 +7390,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.6.0)(eslint-plugin-import@2.28.1)(eslint@8.57.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -6965,7 +7401,7 @@ packages: enhanced-resolve: 5.16.1 eslint: 8.57.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.13.1 @@ -6977,7 +7413,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.6.0)(eslint-plugin-import@2.28.1)(eslint@8.57.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -6987,8 +7423,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.16.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.6.0)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.13.1 @@ -7030,6 +7466,36 @@ packages: - supports-color dev: true + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.2.2) + debug: 3.2.7 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + dev: true + /eslint-plugin-es-x@7.6.0(eslint@8.57.0): resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -7088,7 +7554,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.6.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.6.0)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -7357,9 +7823,9 @@ packages: vite: optional: true dependencies: - '@typescript-eslint/utils': 6.6.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.2.2) eslint: 8.57.0 - vite: 4.5.3(@types/node@20.12.11) + vite: 4.5.3(@types/node@20.12.12) vitest: 1.6.0(@vitest/ui@1.6.0)(jsdom@24.0.0) transitivePeerDependencies: - supports-color @@ -7524,7 +7990,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 require-like: 0.1.2 dev: true @@ -8092,6 +8558,11 @@ packages: hasown: 2.0.2 dev: true + /get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + dev: true + /get-npm-tarball-url@2.1.0: resolution: {integrity: sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==} engines: {node: '>=12.17'} @@ -8323,6 +8794,18 @@ packages: slash: 3.0.0 dev: true + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.1 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + dev: true + /globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true @@ -8463,7 +8946,6 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -8760,6 +9242,12 @@ packages: engines: {node: '>= 0.10'} dev: true + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + dev: true + /invert-kv@1.0.0: resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} engines: {node: '>=0.10.0'} @@ -9266,7 +9754,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -9340,7 +9828,7 @@ packages: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.9 + nwsapi: 2.2.10 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 @@ -9725,7 +10213,6 @@ packages: /lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - dev: true /magic-string@0.26.7: resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} @@ -9930,6 +10417,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -10101,7 +10595,7 @@ packages: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001617 + caniuse-lite: 1.0.30001620 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -10223,8 +10717,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /nwsapi@2.2.9: - resolution: {integrity: sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==} + /nwsapi@2.2.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} dev: true /nypm@0.3.8: @@ -10722,6 +11216,11 @@ packages: engines: {node: '>=8'} dev: true + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + dev: true + /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true @@ -10738,8 +11237,8 @@ packages: through2: 2.0.5 dev: true - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -10883,7 +11382,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 + picocolors: 1.0.1 source-map-js: 1.2.0 /postcss@8.4.38: @@ -10891,7 +11390,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 + picocolors: 1.0.1 source-map-js: 1.2.0 dev: true @@ -10913,7 +11412,6 @@ packages: ansi-regex: 5.0.1 ansi-styles: 5.2.0 react-is: 17.0.2 - dev: true /pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} @@ -11153,7 +11651,6 @@ packages: /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true /react-is@18.1.0: resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==} @@ -11173,6 +11670,58 @@ packages: engines: {node: '>=0.10.0'} dev: true + /react-remove-scroll-bar@2.3.6(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.3.2 + react: 18.3.1 + react-style-singleton: 2.2.1(@types/react@18.3.2)(react@18.3.1) + tslib: 2.6.2 + dev: true + + /react-remove-scroll@2.5.5(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.3.2 + react: 18.3.1 + react-remove-scroll-bar: 2.3.6(@types/react@18.3.2)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.2)(react@18.3.1) + tslib: 2.6.2 + use-callback-ref: 1.3.2(@types/react@18.3.2)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.2)(react@18.3.1) + dev: true + + /react-style-singleton@2.2.1(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.3.2 + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 18.3.1 + tslib: 2.6.2 + dev: true + /react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -11875,6 +12424,11 @@ packages: engines: {node: '>=8'} dev: true + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + dev: true + /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -12077,11 +12631,11 @@ packages: resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==} dev: true - /storybook@8.0.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-9/4oxISopLyr5xz7Du27mmQgcIfB7UTLlNzkK4IklWTiSgsOgYgZpsmIwymoXNtkrvh+QsqskdcUP1C7nNiEtw==} + /storybook@8.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-tkoz1O2UcPOkfRgl/QkefI/1akyjkBghuX+2S/FaXb9cKUR1St4WBQfFqDUvJr1T9MKdizCBVFQ5HuqYzCiWWQ==} hasBin: true dependencies: - '@storybook/cli': 8.0.10(react-dom@18.3.1)(react@18.3.1) + '@storybook/cli': 8.1.1(react-dom@18.3.1)(react@18.3.1) transitivePeerDependencies: - '@babel/preset-env' - bufferutil @@ -12326,7 +12880,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} @@ -12636,7 +13189,7 @@ packages: engines: {node: '>=6.10'} dev: true - /ts-node@10.9.2(@types/node@20.12.11)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.12.12)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -12655,7 +13208,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.11 + '@types/node': 20.12.12 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -12971,6 +13524,11 @@ packages: engines: {node: '>=4'} dev: true + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: true + /union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} @@ -13059,15 +13617,15 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.15(browserslist@4.23.0): - resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==} + /update-browserslist-db@1.0.16(browserslist@4.23.0): + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 /update-check@1.5.4: resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} @@ -13104,6 +13662,37 @@ packages: requires-port: 1.0.0 dev: true + /use-callback-ref@1.3.2(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.3.2 + react: 18.3.1 + tslib: 2.6.2 + dev: true + + /use-sidecar@1.1.2(@types/react@18.3.2)(react@18.3.1): + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.3.2 + detect-node-es: 1.1.0 + react: 18.3.1 + tslib: 2.6.2 + dev: true + /use-sync-external-store@1.2.0(react@18.3.1): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: @@ -13233,7 +13822,7 @@ packages: teex: 1.0.1 dev: true - /vite-node@1.6.0(@types/node@20.12.11): + /vite-node@1.6.0(@types/node@20.12.12): resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -13241,8 +13830,8 @@ packages: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.11) + picocolors: 1.0.1 + vite: 5.2.11(@types/node@20.12.12) transitivePeerDependencies: - '@types/node' - less @@ -13265,13 +13854,13 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 3.0.3(typescript@5.2.2) - vite: 4.5.3(@types/node@20.12.11) + vite: 4.5.3(@types/node@20.12.12) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.5.3(@types/node@20.12.11): + /vite@4.5.3(@types/node@20.12.12): resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -13299,7 +13888,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 esbuild: 0.18.20 postcss: 8.4.38 rollup: 3.29.4 @@ -13307,7 +13896,7 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.2.11(@types/node@20.12.11): + /vite@5.2.11(@types/node@20.12.12): resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -13335,7 +13924,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.11 + '@types/node': 20.12.12 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 @@ -13382,13 +13971,13 @@ packages: local-pkg: 0.5.0 magic-string: 0.30.10 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 std-env: 3.7.0 strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.11) - vite-node: 1.6.0(@types/node@20.12.11) + vite: 5.2.11(@types/node@20.12.12) + vite-node: 1.6.0(@types/node@20.12.12) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -13459,7 +14048,7 @@ packages: browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.16.1 - es-module-lexer: 1.5.2 + es-module-lexer: 1.5.3 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1