diff --git a/back/pom.xml b/back/pom.xml index beac2b7..0327e2e 100644 --- a/back/pom.xml +++ b/back/pom.xml @@ -20,7 +20,7 @@ kangaroo-and-rabbit archidata - 0.23.6 + 0.23.7-SNAPSHOT diff --git a/back/src/org/kar/karideo/migration/Initialization.java b/back/src/org/kar/karideo/migration/Initialization.java index 52f1d8c..ba66d5e 100644 --- a/back/src/org/kar/karideo/migration/Initialization.java +++ b/back/src/org/kar/karideo/migration/Initialization.java @@ -9,6 +9,7 @@ import org.kar.archidata.externalRestApi.TsGenerateApi; import org.kar.archidata.migration.MigrationSqlStep; import org.kar.archidata.model.Data; import org.kar.archidata.model.User; +import org.kar.archidata.model.token.JwtToken; import org.kar.karideo.api.Front; import org.kar.karideo.api.HealthCheck; import org.kar.karideo.api.MediaResource; @@ -27,32 +28,35 @@ import org.slf4j.LoggerFactory; public class Initialization extends MigrationSqlStep { private static final Logger LOGGER = LoggerFactory.getLogger(Initialization.class); - + public static final int KARSO_INITIALISATION_ID = 1; - - public static final List> CLASSES_BASE = List.of(Data.class, Media.class, Type.class, Series.class, Season.class, User.class, UserMediaAdvancement.class); - + + public static final List> CLASSES_BASE = List.of(Data.class, Media.class, Type.class, Series.class, + Season.class, User.class, UserMediaAdvancement.class); + @Override public String getName() { return "Initialization"; } - + public static void generateObjects() throws Exception { LOGGER.info("Generate APIs"); - final List> listOfResources = List.of(Front.class, HealthCheck.class, SeasonResource.class, SeriesResource.class, TypeResource.class, UserMediaAdvancementResource.class, - UserResource.class, MediaResource.class, DataResource.class); + final List> listOfResources = List.of(Front.class, HealthCheck.class, SeasonResource.class, + SeriesResource.class, TypeResource.class, UserMediaAdvancementResource.class, UserResource.class, + MediaResource.class, DataResource.class); final AnalyzeApi api = new AnalyzeApi(); api.addAllApi(listOfResources); - TsGenerateApi.generateApi(api, "../front/src/app/back-api/"); + api.addModel(JwtToken.class); + TsGenerateApi.generateApi(api, "../front/src/back-api/"); LOGGER.info("Generate APIs (DONE)"); } - + @Override public void generateStep() throws Exception { for (final Class clazz : CLASSES_BASE) { addClass(clazz); } - + addAction((final DBAccess da) -> { final List data = List.of(// new Type("Documentary", "Documentary (animals, space, earth...)"), // @@ -85,7 +89,7 @@ public class Initialization extends MigrationSqlStep { ALTER TABLE `userMediaAdvancement` AUTO_INCREMENT = 1000; """, "mysql"); } - + public static void dropAll(final DBAccess da) { for (final Class element : CLASSES_BASE) { try { @@ -96,7 +100,7 @@ public class Initialization extends MigrationSqlStep { } } } - + public static void cleanAll(final DBAccess da) { for (final Class element : CLASSES_BASE) { try { diff --git a/front/.env b/front/.env new file mode 100644 index 0000000..083c815 --- /dev/null +++ b/front/.env @@ -0,0 +1 @@ +NODE_ENV=development \ No newline at end of file diff --git a/front/.env.production b/front/.env.production new file mode 100644 index 0000000..33f75f5 --- /dev/null +++ b/front/.env.production @@ -0,0 +1,2 @@ +# URL for database connection +VITE_API_BASE_URL=karusic/api/ diff --git a/front/.storybook/main.ts b/front/.storybook/main.ts new file mode 100644 index 0000000..0f5f9eb --- /dev/null +++ b/front/.storybook/main.ts @@ -0,0 +1,27 @@ +import type { StorybookConfig } from '@storybook/react-vite'; + +const config: StorybookConfig = { + framework: { + name: '@storybook/react-vite', + options: {}, + }, + + core: { + disableTelemetry: true, + builder: '@storybook/builder-vite', + }, + + stories: ['../src/**/*.@(mdx|stories.@(js|jsx|ts|tsx))'], + + addons: ['@storybook/addon-links', '@storybook/addon-essentials'], + + staticDirs: ['../public'], + + typescript: { + reactDocgen: false, + }, + + docs: {}, +}; + +export default config; diff --git a/front/.storybook/preview-head.html b/front/.storybook/preview-head.html new file mode 100644 index 0000000..274c4ee --- /dev/null +++ b/front/.storybook/preview-head.html @@ -0,0 +1,16 @@ + diff --git a/front/.storybook/preview.tsx b/front/.storybook/preview.tsx new file mode 100644 index 0000000..5e92235 --- /dev/null +++ b/front/.storybook/preview.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import { Box } from '@chakra-ui/react'; +import { ChakraProvider } from '@chakra-ui/react'; +import { MemoryRouter } from 'react-router-dom'; + +import { ColorModeProvider } from '../src/components/ui/color-mode'; +import { Toaster } from '../src/components/ui/toaster'; +import { systemTheme } from '../src/theme/theme'; + +// . +const DocumentationWrapper = ({ children }) => { + return ( + + {children} + + ); +}; + +export const decorators = [ + (Story, context) => ( + + + {/* Using MemoryRouter to avoid route clashing with Storybook */} + + + + + + + + + ), +]; diff --git a/front/LICENSE b/front/LICENSE new file mode 100644 index 0000000..08c2367 --- /dev/null +++ b/front/LICENSE @@ -0,0 +1,2 @@ +Proprietary +@copyright Edouard Dupin 2024 diff --git a/front/config sample.yaml b/front/config sample.yaml new file mode 100644 index 0000000..bb0f3c8 --- /dev/null +++ b/front/config sample.yaml @@ -0,0 +1,10637 @@ +{ + conditions: { + hover: [ + '@media (hover: hover)', + '&:is(:hover, [data-hover]):not(:disabled, [data-disabled])', + ], + active: + '&:is(:active, [data-active]):not(:disabled, [data-disabled], [data-state=open])', + focus: '&:is(:focus, [data-focus])', + focusWithin: '&:is(:focus-within, [data-focus-within])', + focusVisible: '&:is(:focus-visible, [data-focus-visible])', + disabled: + '&:is(:disabled, [disabled], [data-disabled], [aria-disabled=true])', + visited: '&:visited', + target: '&:target', + readOnly: '&:is([data-readonly], [aria-readonly=true], [readonly])', + readWrite: '&:read-write', + empty: '&:is(:empty, [data-empty])', + checked: + '&:is(:checked, [data-checked], [aria-checked=true], [data-state=checked])', + enabled: '&:enabled', + expanded: + '&:is([aria-expanded=true], [data-expanded], [data-state=expanded])', + highlighted: '&[data-highlighted]', + complete: '&[data-complete]', + incomplete: '&[data-incomplete]', + dragging: '&[data-dragging]', + before: '&::before', + after: '&::after', + firstLetter: '&::first-letter', + firstLine: '&::first-line', + marker: '&::marker', + selection: '&::selection', + file: '&::file-selector-button', + backdrop: '&::backdrop', + first: '&:first-of-type', + last: '&:last-of-type', + notFirst: '&:not(:first-of-type)', + notLast: '&:not(:last-of-type)', + only: '&:only-child', + even: '&:nth-of-type(even)', + odd: '&:nth-of-type(odd)', + peerFocus: '.peer:is(:focus, [data-focus]) ~ &', + peerHover: + '.peer:is(:hover, [data-hover]):not(:disabled, [data-disabled]) ~ &', + peerActive: + '.peer:is(:active, [data-active]):not(:disabled, [data-disabled]) ~ &', + peerFocusWithin: '.peer:focus-within ~ &', + peerFocusVisible: '.peer:is(:focus-visible, [data-focus-visible]) ~ &', + peerDisabled: '.peer:is(:disabled, [disabled], [data-disabled]) ~ &', + peerChecked: + '.peer:is(:checked, [data-checked], [aria-checked=true], [data-state=checked]) ~ &', + peerInvalid: '.peer:is(:invalid, [data-invalid], [aria-invalid=true]) ~ &', + peerExpanded: + '.peer:is([aria-expanded=true], [data-expanded], [data-state=expanded]) ~ &', + peerPlaceholderShown: '.peer:placeholder-shown ~ &', + groupFocus: '.group:is(:focus, [data-focus]) &', + groupHover: + '.group:is(:hover, [data-hover]):not(:disabled, [data-disabled]) &', + groupActive: + '.group:is(:active, [data-active]):not(:disabled, [data-disabled]) &', + groupFocusWithin: '.group:focus-within &', + groupFocusVisible: '.group:is(:focus-visible, [data-focus-visible]) &', + groupDisabled: '.group:is(:disabled, [disabled], [data-disabled]) &', + groupChecked: + '.group:is(:checked, [data-checked], [aria-checked=true], [data-state=checked]) &', + groupExpanded: + '.group:is([aria-expanded=true], [data-expanded], [data-state=expanded]) &', + groupInvalid: '.group:invalid &', + indeterminate: + '&:is(:indeterminate, [data-indeterminate], [aria-checked=mixed], [data-state=indeterminate])', + required: '&:is([data-required], [aria-required=true])', + valid: '&:is([data-valid], [data-state=valid])', + invalid: '&:is([data-invalid], [aria-invalid=true], [data-state=invalid])', + autofill: '&:autofill', + inRange: '&:is(:in-range, [data-in-range])', + outOfRange: '&:is(:out-of-range, [data-outside-range])', + placeholder: '&::placeholder, &[data-placeholder]', + placeholderShown: '&:is(:placeholder-shown, [data-placeholder-shown])', + pressed: '&:is([aria-pressed=true], [data-pressed])', + selected: '&:is([aria-selected=true], [data-selected])', + grabbed: '&:is([aria-grabbed=true], [data-grabbed])', + underValue: '&[data-state=under-value]', + overValue: '&[data-state=over-value]', + atValue: '&[data-state=at-value]', + default: '&:default', + optional: '&:optional', + open: '&:is([open], [data-open], [data-state=open])', + closed: '&:is([closed], [data-closed], [data-state=closed])', + fullscreen: '&is(:fullscreen, [data-fullscreen])', + loading: '&:is([data-loading], [aria-busy=true])', + hidden: '&:is([hidden], [data-hidden])', + current: '&[data-current]', + currentPage: '&[aria-current=page]', + currentStep: '&[aria-current=step]', + today: '&[data-today]', + unavailable: '&[data-unavailable]', + rangeStart: '&[data-range-start]', + rangeEnd: '&[data-range-end]', + now: '&[data-now]', + topmost: '&[data-topmost]', + motionReduce: '@media (prefers-reduced-motion: reduce)', + motionSafe: '@media (prefers-reduced-motion: no-preference)', + print: '@media print', + landscape: '@media (orientation: landscape)', + portrait: '@media (orientation: portrait)', + dark: '.dark &, .dark .chakra-theme:not(.light) &', + light: ':root &, .light &', + osDark: '@media (prefers-color-scheme: dark)', + osLight: '@media (prefers-color-scheme: light)', + highContrast: '@media (forced-colors: active)', + lessContrast: '@media (prefers-contrast: less)', + moreContrast: '@media (prefers-contrast: more)', + ltr: '[dir=ltr] &', + rtl: '[dir=rtl] &', + scrollbar: '&::-webkit-scrollbar', + scrollbarThumb: '&::-webkit-scrollbar-thumb', + scrollbarTrack: '&::-webkit-scrollbar-track', + horizontal: '&[data-orientation=horizontal]', + vertical: '&[data-orientation=vertical]', + icon: '& :where(svg)', + starting: '@starting-style', + }, + utilities: { + background: { + shorthand: ['bg'], + }, + backgroundColor: { + shorthand: ['bgColor'], + }, + backgroundSize: { + shorthand: ['bgSize'], + }, + backgroundPosition: { + shorthand: ['bgPos'], + }, + backgroundRepeat: { + shorthand: ['bgRepeat'], + }, + backgroundAttachment: { + shorthand: ['bgAttachment'], + }, + backgroundClip: { + shorthand: ['bgClip'], + values: ['text'], + }, + backgroundGradient: { + shorthand: ['bgGradient'], + }, + gradientFrom: {}, + gradientTo: {}, + gradientVia: {}, + backgroundImage: { + values: 'gradients', + shorthand: ['bgImg', 'bgImage'], + }, + border: { + values: 'borders', + }, + borderTop: { + values: 'borders', + }, + borderLeft: { + values: 'borders', + }, + borderBlockStart: { + values: 'borders', + }, + borderRight: { + values: 'borders', + }, + borderInlineEnd: { + values: 'borders', + }, + borderBottom: { + values: 'borders', + }, + borderBlockEnd: { + values: 'borders', + }, + borderInlineStart: { + values: 'borders', + shorthand: ['borderStart'], + }, + borderInline: { + values: 'borders', + shorthand: ['borderX'], + }, + borderBlock: { + values: 'borders', + shorthand: ['borderY'], + }, + borderColor: {}, + borderTopColor: {}, + borderBlockStartColor: {}, + borderBottomColor: {}, + borderBlockEndColor: {}, + borderLeftColor: {}, + borderInlineStartColor: { + shorthand: ['borderStartColor'], + }, + borderRightColor: {}, + borderInlineEndColor: { + shorthand: ['borderEndColor'], + }, + borderStyle: { + values: 'borderStyles', + }, + borderTopStyle: { + values: 'borderStyles', + }, + borderBlockStartStyle: { + values: 'borderStyles', + }, + borderBottomStyle: { + values: 'borderStyles', + }, + borderBlockEndStyle: { + values: 'borderStyles', + }, + borderInlineStartStyle: { + values: 'borderStyles', + shorthand: ['borderStartStyle'], + }, + borderInlineEndStyle: { + values: 'borderStyles', + shorthand: ['borderEndStyle'], + }, + borderLeftStyle: { + values: 'borderStyles', + }, + borderRightStyle: { + values: 'borderStyles', + }, + borderRadius: { + values: 'radii', + shorthand: ['rounded'], + }, + borderTopLeftRadius: { + values: 'radii', + shorthand: ['roundedTopLeft'], + }, + borderStartStartRadius: { + values: 'radii', + shorthand: ['roundedStartStart', 'borderTopStartRadius'], + }, + borderEndStartRadius: { + values: 'radii', + shorthand: ['roundedEndStart', 'borderBottomStartRadius'], + }, + borderTopRightRadius: { + values: 'radii', + shorthand: ['roundedTopRight'], + }, + borderStartEndRadius: { + values: 'radii', + shorthand: ['roundedStartEnd', 'borderTopEndRadius'], + }, + borderEndEndRadius: { + values: 'radii', + shorthand: ['roundedEndEnd', 'borderBottomEndRadius'], + }, + borderBottomLeftRadius: { + values: 'radii', + shorthand: ['roundedBottomLeft'], + }, + borderBottomRightRadius: { + values: 'radii', + shorthand: ['roundedBottomRight'], + }, + borderInlineStartRadius: { + values: 'radii', + property: 'borderRadius', + shorthand: ['roundedStart', 'borderStartRadius'], + }, + borderInlineEndRadius: { + values: 'radii', + property: 'borderRadius', + shorthand: ['roundedEnd', 'borderEndRadius'], + }, + borderTopRadius: { + values: 'radii', + property: 'borderRadius', + shorthand: ['roundedTop'], + }, + borderBottomRadius: { + values: 'radii', + property: 'borderRadius', + shorthand: ['roundedBottom'], + }, + borderLeftRadius: { + values: 'radii', + property: 'borderRadius', + shorthand: ['roundedLeft'], + }, + borderRightRadius: { + values: 'radii', + property: 'borderRadius', + shorthand: ['roundedRight'], + }, + borderWidth: { + values: 'borderWidths', + }, + borderBlockStartWidth: { + values: 'borderWidths', + }, + borderTopWidth: { + values: 'borderWidths', + }, + borderBottomWidth: { + values: 'borderWidths', + }, + borderBlockEndWidth: { + values: 'borderWidths', + }, + borderRightWidth: { + values: 'borderWidths', + }, + borderInlineWidth: { + values: 'borderWidths', + shorthand: ['borderXWidth'], + }, + borderInlineStartWidth: { + values: 'borderWidths', + shorthand: ['borderStartWidth'], + }, + borderInlineEndWidth: { + values: 'borderWidths', + shorthand: ['borderEndWidth'], + }, + borderLeftWidth: { + values: 'borderWidths', + }, + borderBlockWidth: { + values: 'borderWidths', + shorthand: ['borderYWidth'], + }, + color: {}, + fill: {}, + stroke: {}, + accentColor: {}, + divideX: { + values: { + type: 'string', + }, + }, + divideY: { + values: { + type: 'string', + }, + }, + divideColor: {}, + divideStyle: { + property: 'borderStyle', + }, + boxShadow: { + values: 'shadows', + shorthand: ['shadow'], + }, + boxShadowColor: { + shorthand: ['shadowColor'], + }, + mixBlendMode: { + shorthand: ['blendMode'], + }, + backgroundBlendMode: { + shorthand: ['bgBlendMode'], + }, + opacity: { + values: 'opacity', + }, + filter: {}, + blur: { + values: 'blurs', + }, + brightness: {}, + contrast: {}, + grayscale: {}, + hueRotate: {}, + invert: {}, + saturate: {}, + sepia: {}, + dropShadow: {}, + backdropFilter: {}, + backdropBlur: { + values: 'blurs', + }, + backdropBrightness: {}, + backdropContrast: {}, + backdropGrayscale: {}, + backdropHueRotate: {}, + backdropInvert: {}, + backdropOpacity: {}, + backdropSaturate: {}, + backdropSepia: {}, + flexBasis: { + values: 'sizes', + }, + gap: { + values: 'spacing', + }, + rowGap: { + values: 'spacing', + shorthand: ['gapY'], + }, + columnGap: { + values: 'spacing', + shorthand: ['gapX'], + }, + flexDirection: { + shorthand: ['flexDir'], + }, + gridGap: { + values: 'spacing', + }, + gridColumnGap: { + values: 'spacing', + }, + gridRowGap: { + values: 'spacing', + }, + outlineColor: {}, + focusRing: { + values: ['outside', 'inside', 'mixed', 'none'], + }, + focusVisibleRing: { + values: ['outside', 'inside', 'mixed', 'none'], + }, + focusRingColor: {}, + focusRingOffset: { + values: 'spacing', + }, + focusRingWidth: { + values: 'borderWidths', + property: 'outlineWidth', + }, + focusRingStyle: { + values: 'borderStyles', + property: 'outlineStyle', + }, + aspectRatio: { + values: 'aspectRatios', + }, + width: { + values: 'sizes', + shorthand: ['w'], + }, + inlineSize: { + values: 'sizes', + }, + height: { + values: 'sizes', + shorthand: ['h'], + }, + blockSize: { + values: 'sizes', + }, + boxSize: { + values: 'sizes', + property: 'width', + }, + minWidth: { + values: 'sizes', + shorthand: ['minW'], + }, + minInlineSize: { + values: 'sizes', + }, + minHeight: { + values: 'sizes', + shorthand: ['minH'], + }, + minBlockSize: { + values: 'sizes', + }, + maxWidth: { + values: 'sizes', + shorthand: ['maxW'], + }, + maxInlineSize: { + values: 'sizes', + }, + maxHeight: { + values: 'sizes', + shorthand: ['maxH'], + }, + maxBlockSize: { + values: 'sizes', + }, + hideFrom: { + values: 'breakpoints', + }, + hideBelow: { + values: 'breakpoints', + }, + overscrollBehavior: { + shorthand: ['overscroll'], + }, + overscrollBehaviorX: { + shorthand: ['overscrollX'], + }, + overscrollBehaviorY: { + shorthand: ['overscrollY'], + }, + scrollbar: { + values: ['visible', 'hidden'], + }, + scrollbarColor: {}, + scrollbarGutter: { + values: 'spacing', + }, + scrollbarWidth: { + values: 'sizes', + }, + scrollMargin: { + values: 'spacing', + }, + scrollMarginTop: { + values: 'spacing', + }, + scrollMarginBottom: { + values: 'spacing', + }, + scrollMarginLeft: { + values: 'spacing', + }, + scrollMarginRight: { + values: 'spacing', + }, + scrollMarginX: { + values: 'spacing', + }, + scrollMarginY: { + values: 'spacing', + }, + scrollPadding: { + values: 'spacing', + }, + scrollPaddingTop: { + values: 'spacing', + }, + scrollPaddingBottom: { + values: 'spacing', + }, + scrollPaddingLeft: { + values: 'spacing', + }, + scrollPaddingRight: { + values: 'spacing', + }, + scrollPaddingInline: { + values: 'spacing', + shorthand: ['scrollPaddingX'], + }, + scrollPaddingBlock: { + values: 'spacing', + shorthand: ['scrollPaddingY'], + }, + scrollSnapType: { + values: { + none: 'none', + x: 'x var(--scroll-snap-strictness)', + y: 'y var(--scroll-snap-strictness)', + both: 'both var(--scroll-snap-strictness)', + }, + }, + scrollSnapStrictness: { + values: ['mandatory', 'proximity'], + }, + scrollSnapMargin: { + values: 'spacing', + }, + scrollSnapMarginTop: { + values: 'spacing', + }, + scrollSnapMarginBottom: { + values: 'spacing', + }, + scrollSnapMarginLeft: { + values: 'spacing', + }, + scrollSnapMarginRight: { + values: 'spacing', + }, + listStylePosition: { + shorthand: ['listStylePos'], + }, + listStyleImage: { + shorthand: ['listStyleImg'], + }, + position: { + shorthand: ['pos'], + }, + zIndex: { + values: 'zIndex', + }, + inset: { + values: 'spacing', + }, + insetInline: { + values: 'spacing', + shorthand: ['insetX'], + }, + insetBlock: { + values: 'spacing', + shorthand: ['insetY'], + }, + top: { + values: 'spacing', + }, + insetBlockStart: { + values: 'spacing', + }, + bottom: { + values: 'spacing', + }, + insetBlockEnd: { + values: 'spacing', + }, + left: { + values: 'spacing', + }, + right: { + values: 'spacing', + }, + insetInlineStart: { + values: 'spacing', + shorthand: ['insetStart'], + }, + insetInlineEnd: { + values: 'spacing', + shorthand: ['insetEnd'], + }, + ring: {}, + ringColor: {}, + ringOffset: {}, + ringOffsetColor: {}, + ringInset: {}, + margin: { + values: 'spacing', + shorthand: ['m'], + }, + marginTop: { + values: 'spacing', + shorthand: ['mt'], + }, + marginBlockStart: { + values: 'spacing', + shorthand: ['mt'], + }, + marginRight: { + values: 'spacing', + shorthand: ['mr'], + }, + marginBottom: { + values: 'spacing', + shorthand: ['mb'], + }, + marginBlockEnd: { + values: 'spacing', + }, + marginLeft: { + values: 'spacing', + shorthand: ['ml'], + }, + marginInlineStart: { + values: 'spacing', + shorthand: ['ms', 'marginStart'], + }, + marginInlineEnd: { + values: 'spacing', + shorthand: ['me', 'marginEnd'], + }, + marginInline: { + values: 'spacing', + shorthand: ['mx', 'marginX'], + }, + marginBlock: { + values: 'spacing', + shorthand: ['my', 'marginY'], + }, + padding: { + values: 'spacing', + shorthand: ['p'], + }, + paddingTop: { + values: 'spacing', + shorthand: ['pt'], + }, + paddingRight: { + values: 'spacing', + shorthand: ['pr'], + }, + paddingBottom: { + values: 'spacing', + shorthand: ['pb'], + }, + paddingBlockStart: { + values: 'spacing', + }, + paddingBlockEnd: { + values: 'spacing', + }, + paddingLeft: { + values: 'spacing', + shorthand: ['pl'], + }, + paddingInlineStart: { + values: 'spacing', + shorthand: ['ps', 'paddingStart'], + }, + paddingInlineEnd: { + values: 'spacing', + shorthand: ['pe', 'paddingEnd'], + }, + paddingInline: { + values: 'spacing', + shorthand: ['px', 'paddingX'], + }, + paddingBlock: { + values: 'spacing', + shorthand: ['py', 'paddingY'], + }, + textDecoration: { + shorthand: ['textDecor'], + }, + textDecorationColor: {}, + textShadow: { + values: 'shadows', + }, + transform: {}, + skewX: {}, + skewY: {}, + scaleX: {}, + scaleY: {}, + scale: {}, + spaceXReverse: { + values: { + type: 'boolean', + }, + }, + spaceX: { + property: 'marginInlineStart', + values: 'spacing', + }, + spaceYReverse: { + values: { + type: 'boolean', + }, + }, + spaceY: { + property: 'marginTop', + values: 'spacing', + }, + rotate: {}, + rotateX: {}, + rotateY: {}, + translate: {}, + translateX: { + values: 'spacing', + }, + translateY: { + values: 'spacing', + }, + transition: { + values: [ + 'all', + 'common', + 'colors', + 'opacity', + 'position', + 'backgrounds', + 'size', + 'shadow', + 'transform', + ], + }, + transitionDuration: { + values: 'durations', + }, + transitionProperty: { + values: { + common: + 'background-color, border-color, color, fill, stroke, opacity, box-shadow, translate, transform', + colors: 'background-color, border-color, color, fill, stroke', + size: 'width, height', + position: 'left, right, top, bottom, inset-inline, inset-block', + background: + 'background, background-color, background-image, background-position', + }, + }, + transitionTimingFunction: { + values: 'easings', + }, + animation: { + values: 'animations', + }, + animationDuration: { + values: 'durations', + }, + animationDelay: { + values: 'durations', + }, + animationTimingFunction: { + values: 'easings', + }, + fontFamily: { + values: 'fonts', + }, + fontSize: { + values: 'fontSizes', + }, + fontWeight: { + values: 'fontWeights', + }, + lineHeight: { + values: 'lineHeights', + }, + letterSpacing: { + values: 'letterSpacings', + }, + textIndent: { + values: 'spacing', + }, + truncate: { + values: { + type: 'boolean', + }, + }, + lineClamp: {}, + srOnly: { + values: { + type: 'boolean', + }, + }, + debug: { + values: { + type: 'boolean', + }, + }, + caretColor: {}, + cursor: { + values: 'cursor', + }, + }, + preflight: true, + cssVarsPrefix: 'chakra', + cssVarsRoot: ':where(html, .chakra-theme)', + globalCss: { + '*': { + fontFeatureSettings: '"cv11"', + '--ring-inset': 'var(--chakra-empty,/*!*/ /*!*/)', + '--ring-offset-width': '0px', + '--ring-offset-color': '#fff', + '--ring-color': 'rgba(66, 153, 225, 0.6)', + '--ring-offset-shadow': '0 0 #0000', + '--ring-shadow': '0 0 #0000', + '--brightness': 'var(--chakra-empty,/*!*/ /*!*/)', + '--contrast': 'var(--chakra-empty,/*!*/ /*!*/)', + '--grayscale': 'var(--chakra-empty,/*!*/ /*!*/)', + '--hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)', + '--invert': 'var(--chakra-empty,/*!*/ /*!*/)', + '--saturate': 'var(--chakra-empty,/*!*/ /*!*/)', + '--sepia': 'var(--chakra-empty,/*!*/ /*!*/)', + '--drop-shadow': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-blur': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-brightness': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-contrast': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-grayscale': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-invert': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-opacity': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-saturate': 'var(--chakra-empty,/*!*/ /*!*/)', + '--backdrop-sepia': 'var(--chakra-empty,/*!*/ /*!*/)', + '--global-font-mono': 'fonts.mono', + '--global-font-body': 'fonts.body', + '--global-color-border': 'colors.border', + }, + html: { + color: 'fg', + bg: 'bg', + lineHeight: '1.5', + colorPalette: 'gray', + }, + '*::placeholder': { + color: 'fg.muted/80', + }, + '*::selection': { + bg: 'colorPalette.muted/80', + }, + }, + theme: { + breakpoints: { + sm: '480px', + md: '768px', + lg: '1024px', + xl: '1280px', + '2xl': '1536px', + }, + keyframes: { + spin: { + '0%': { + transform: 'rotate(0deg)', + }, + '100%': { + transform: 'rotate(360deg)', + }, + }, + pulse: { + '50%': { + opacity: '0.5', + }, + }, + ping: { + '75%, 100%': { + transform: 'scale(2)', + opacity: '0', + }, + }, + bounce: { + '0%, 100%': { + transform: 'translateY(-25%)', + animationTimingFunction: 'cubic-bezier(0.8,0,1,1)', + }, + '50%': { + transform: 'none', + animationTimingFunction: 'cubic-bezier(0,0,0.2,1)', + }, + }, + 'bg-position': { + from: { + backgroundPosition: 'var(--animate-from, 1rem) 0', + }, + to: { + backgroundPosition: 'var(--animate-to, 0) 0', + }, + }, + position: { + from: { + insetInlineStart: 'var(--animate-from-x)', + insetBlockStart: 'var(--animate-from-y)', + }, + to: { + insetInlineStart: 'var(--animate-to-x)', + insetBlockStart: 'var(--animate-to-y)', + }, + }, + 'circular-progress': { + '0%': { + strokeDasharray: '1, 400', + strokeDashoffset: '0', + }, + '50%': { + strokeDasharray: '400, 400', + strokeDashoffset: '-100%', + }, + '100%': { + strokeDasharray: '400, 400', + strokeDashoffset: '-260%', + }, + }, + 'expand-height': { + from: { + height: '0', + }, + to: { + height: 'var(--height)', + }, + }, + 'collapse-height': { + from: { + height: 'var(--height)', + }, + to: { + height: '0', + }, + }, + 'expand-width': { + from: { + width: '0', + }, + to: { + width: 'var(--width)', + }, + }, + 'collapse-width': { + from: { + height: 'var(--width)', + }, + to: { + height: '0', + }, + }, + 'fade-in': { + from: { + opacity: 0, + }, + to: { + opacity: 1, + }, + }, + 'fade-out': { + from: { + opacity: 1, + }, + to: { + opacity: 0, + }, + }, + 'slide-from-left-full': { + from: { + translate: '-100% 0', + }, + to: { + translate: '0 0', + }, + }, + 'slide-from-right-full': { + from: { + translate: '100% 0', + }, + to: { + translate: '0 0', + }, + }, + 'slide-from-top-full': { + from: { + translate: '0 -100%', + }, + to: { + translate: '0 0', + }, + }, + 'slide-from-bottom-full': { + from: { + translate: '0 100%', + }, + to: { + translate: '0 0', + }, + }, + 'slide-to-left-full': { + from: { + translate: '0 0', + }, + to: { + translate: '-100% 0', + }, + }, + 'slide-to-right-full': { + from: { + translate: '0 0', + }, + to: { + translate: '100% 0', + }, + }, + 'slide-to-top-full': { + from: { + translate: '0 0', + }, + to: { + translate: '0 -100%', + }, + }, + 'slide-to-bottom-full': { + from: { + translate: '0 0', + }, + to: { + translate: '0 100%', + }, + }, + 'slide-from-top': { + '0%': { + translate: '0 -0.5rem', + }, + to: { + translate: '0', + }, + }, + 'slide-from-bottom': { + '0%': { + translate: '0 0.5rem', + }, + to: { + translate: '0', + }, + }, + 'slide-from-left': { + '0%': { + translate: '-0.5rem 0', + }, + to: { + translate: '0', + }, + }, + 'slide-from-right': { + '0%': { + translate: '0.5rem 0', + }, + to: { + translate: '0', + }, + }, + 'slide-to-top': { + '0%': { + translate: '0', + }, + to: { + translate: '0 -0.5rem', + }, + }, + 'slide-to-bottom': { + '0%': { + translate: '0', + }, + to: { + translate: '0 0.5rem', + }, + }, + 'slide-to-left': { + '0%': { + translate: '0', + }, + to: { + translate: '-0.5rem 0', + }, + }, + 'slide-to-right': { + '0%': { + translate: '0', + }, + to: { + translate: '0.5rem 0', + }, + }, + 'scale-in': { + from: { + scale: '0.95', + }, + to: { + scale: '1', + }, + }, + 'scale-out': { + from: { + scale: '1', + }, + to: { + scale: '0.95', + }, + }, + }, + tokens: { + aspectRatios: { + square: { + value: '1 / 1', + }, + landscape: { + value: '4 / 3', + }, + portrait: { + value: '3 / 4', + }, + wide: { + value: '16 / 9', + }, + ultrawide: { + value: '18 / 5', + }, + golden: { + value: '1.618 / 1', + }, + }, + animations: { + spin: { + value: 'spin 1s linear infinite', + }, + ping: { + value: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite', + }, + pulse: { + value: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite', + }, + bounce: { + value: 'bounce 1s infinite', + }, + }, + blurs: { + none: { + value: ' ', + }, + sm: { + value: '4px', + }, + md: { + value: '8px', + }, + lg: { + value: '12px', + }, + xl: { + value: '16px', + }, + '2xl': { + value: '24px', + }, + '3xl': { + value: '40px', + }, + '4xl': { + value: '64px', + }, + }, + borders: { + xs: { + value: '0.5px solid', + }, + sm: { + value: '1px solid', + }, + md: { + value: '2px solid', + }, + lg: { + value: '4px solid', + }, + xl: { + value: '8px solid', + }, + }, + colors: { + transparent: { + value: 'transparent', + }, + current: { + value: 'currentColor', + }, + black: { + value: '#09090B', + }, + white: { + value: '#FFFFFF', + }, + whiteAlpha: { + '50': { + value: 'rgba(255, 255, 255, 0.04)', + }, + '100': { + value: 'rgba(255, 255, 255, 0.06)', + }, + '200': { + value: 'rgba(255, 255, 255, 0.08)', + }, + '300': { + value: 'rgba(255, 255, 255, 0.16)', + }, + '400': { + value: 'rgba(255, 255, 255, 0.24)', + }, + '500': { + value: 'rgba(255, 255, 255, 0.36)', + }, + '600': { + value: 'rgba(255, 255, 255, 0.48)', + }, + '700': { + value: 'rgba(255, 255, 255, 0.64)', + }, + '800': { + value: 'rgba(255, 255, 255, 0.80)', + }, + '900': { + value: 'rgba(255, 255, 255, 0.92)', + }, + '950': { + value: 'rgba(255, 255, 255, 0.95)', + }, + }, + blackAlpha: { + '50': { + value: 'rgba(0, 0, 0, 0.04)', + }, + '100': { + value: 'rgba(0, 0, 0, 0.06)', + }, + '200': { + value: 'rgba(0, 0, 0, 0.08)', + }, + '300': { + value: 'rgba(0, 0, 0, 0.16)', + }, + '400': { + value: 'rgba(0, 0, 0, 0.24)', + }, + '500': { + value: 'rgba(0, 0, 0, 0.36)', + }, + '600': { + value: 'rgba(0, 0, 0, 0.48)', + }, + '700': { + value: 'rgba(0, 0, 0, 0.64)', + }, + '800': { + value: 'rgba(0, 0, 0, 0.80)', + }, + '900': { + value: 'rgba(0, 0, 0, 0.92)', + }, + '950': { + value: 'rgba(0, 0, 0, 0.95)', + }, + }, + gray: { + '50': { + value: '#fafafa', + }, + '100': { + value: '#f4f4f5', + }, + '200': { + value: '#e4e4e7', + }, + '300': { + value: '#d4d4d8', + }, + '400': { + value: '#a1a1aa', + }, + '500': { + value: '#71717a', + }, + '600': { + value: '#52525b', + }, + '700': { + value: '#3f3f46', + }, + '800': { + value: '#27272a', + }, + '900': { + value: '#18181b', + }, + '950': { + value: '#111111', + }, + }, + red: { + '50': { + value: '#fef2f2', + }, + '100': { + value: '#fee2e2', + }, + '200': { + value: '#fecaca', + }, + '300': { + value: '#fca5a5', + }, + '400': { + value: '#f87171', + }, + '500': { + value: '#ef4444', + }, + '600': { + value: '#dc2626', + }, + '700': { + value: '#991919', + }, + '800': { + value: '#511111', + }, + '900': { + value: '#300c0c', + }, + '950': { + value: '#1f0808', + }, + }, + orange: { + '50': { + value: '#fff7ed', + }, + '100': { + value: '#ffedd5', + }, + '200': { + value: '#fed7aa', + }, + '300': { + value: '#fdba74', + }, + '400': { + value: '#fb923c', + }, + '500': { + value: '#f97316', + }, + '600': { + value: '#ea580c', + }, + '700': { + value: '#92310a', + }, + '800': { + value: '#6c2710', + }, + '900': { + value: '#3b1106', + }, + '950': { + value: '#220a04', + }, + }, + yellow: { + '50': { + value: '#fefce8', + }, + '100': { + value: '#fef9c3', + }, + '200': { + value: '#fef08a', + }, + '300': { + value: '#fde047', + }, + '400': { + value: '#facc15', + }, + '500': { + value: '#eab308', + }, + '600': { + value: '#ca8a04', + }, + '700': { + value: '#845209', + }, + '800': { + value: '#713f12', + }, + '900': { + value: '#422006', + }, + '950': { + value: '#281304', + }, + }, + green: { + '50': { + value: '#f0fdf4', + }, + '100': { + value: '#dcfce7', + }, + '200': { + value: '#bbf7d0', + }, + '300': { + value: '#86efac', + }, + '400': { + value: '#4ade80', + }, + '500': { + value: '#22c55e', + }, + '600': { + value: '#16a34a', + }, + '700': { + value: '#116932', + }, + '800': { + value: '#124a28', + }, + '900': { + value: '#042713', + }, + '950': { + value: '#03190c', + }, + }, + teal: { + '50': { + value: '#f0fdfa', + }, + '100': { + value: '#ccfbf1', + }, + '200': { + value: '#99f6e4', + }, + '300': { + value: '#5eead4', + }, + '400': { + value: '#2dd4bf', + }, + '500': { + value: '#14b8a6', + }, + '600': { + value: '#0d9488', + }, + '700': { + value: '#0c5d56', + }, + '800': { + value: '#114240', + }, + '900': { + value: '#032726', + }, + '950': { + value: '#021716', + }, + }, + blue: { + '50': { + value: '#eff6ff', + }, + '100': { + value: '#dbeafe', + }, + '200': { + value: '#bfdbfe', + }, + '300': { + value: '#a3cfff', + }, + '400': { + value: '#60a5fa', + }, + '500': { + value: '#3b82f6', + }, + '600': { + value: '#2563eb', + }, + '700': { + value: '#173da6', + }, + '800': { + value: '#1a3478', + }, + '900': { + value: '#14204a', + }, + '950': { + value: '#0c142e', + }, + }, + cyan: { + '50': { + value: '#ecfeff', + }, + '100': { + value: '#cffafe', + }, + '200': { + value: '#a5f3fc', + }, + '300': { + value: '#67e8f9', + }, + '400': { + value: '#22d3ee', + }, + '500': { + value: '#06b6d4', + }, + '600': { + value: '#0891b2', + }, + '700': { + value: '#0c5c72', + }, + '800': { + value: '#134152', + }, + '900': { + value: '#072a38', + }, + '950': { + value: '#051b24', + }, + }, + purple: { + '50': { + value: '#faf5ff', + }, + '100': { + value: '#f3e8ff', + }, + '200': { + value: '#e9d5ff', + }, + '300': { + value: '#d8b4fe', + }, + '400': { + value: '#c084fc', + }, + '500': { + value: '#a855f7', + }, + '600': { + value: '#9333ea', + }, + '700': { + value: '#641ba3', + }, + '800': { + value: '#4a1772', + }, + '900': { + value: '#2f0553', + }, + '950': { + value: '#1a032e', + }, + }, + pink: { + '50': { + value: '#fdf2f8', + }, + '100': { + value: '#fce7f3', + }, + '200': { + value: '#fbcfe8', + }, + '300': { + value: '#f9a8d4', + }, + '400': { + value: '#f472b6', + }, + '500': { + value: '#ec4899', + }, + '600': { + value: '#db2777', + }, + '700': { + value: '#a41752', + }, + '800': { + value: '#6d0e34', + }, + '900': { + value: '#45061f', + }, + '950': { + value: '#2c0514', + }, + }, + }, + durations: { + fastest: { + value: '50ms', + }, + faster: { + value: '100ms', + }, + fast: { + value: '150ms', + }, + moderate: { + value: '200ms', + }, + slow: { + value: '300ms', + }, + slower: { + value: '400ms', + }, + slowest: { + value: '500ms', + }, + }, + easings: { + 'ease-in': { + value: 'cubic-bezier(0.42, 0, 1, 1)', + }, + 'ease-out': { + value: 'cubic-bezier(0, 0, 0.58, 1)', + }, + 'ease-in-out': { + value: 'cubic-bezier(0.42, 0, 0.58, 1)', + }, + 'ease-in-smooth': { + value: 'cubic-bezier(0.32, 0.72, 0, 1)', + }, + }, + fonts: { + heading: { + value: + 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"', + }, + body: { + value: + 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"', + }, + mono: { + value: + 'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace', + }, + }, + fontSizes: { + '2xs': { + value: '0.625rem', + }, + xs: { + value: '0.75rem', + }, + sm: { + value: '0.875rem', + }, + md: { + value: '1rem', + }, + lg: { + value: '1.125rem', + }, + xl: { + value: '1.25rem', + }, + '2xl': { + value: '1.5rem', + }, + '3xl': { + value: '1.875rem', + }, + '4xl': { + value: '2.25rem', + }, + '5xl': { + value: '3rem', + }, + '6xl': { + value: '3.75rem', + }, + '7xl': { + value: '4.5rem', + }, + '8xl': { + value: '6rem', + }, + '9xl': { + value: '8rem', + }, + }, + fontWeights: { + thin: { + value: '100', + }, + extralight: { + value: '200', + }, + light: { + value: '300', + }, + normal: { + value: '400', + }, + medium: { + value: '500', + }, + semibold: { + value: '600', + }, + bold: { + value: '700', + }, + extrabold: { + value: '800', + }, + black: { + value: '900', + }, + }, + letterSpacings: { + tighter: { + value: '-0.05em', + }, + tight: { + value: '-0.025em', + }, + wide: { + value: '0.025em', + }, + wider: { + value: '0.05em', + }, + widest: { + value: '0.1em', + }, + }, + lineHeights: { + shorter: { + value: 1.25, + }, + short: { + value: 1.375, + }, + moderate: { + value: 1.5, + }, + tall: { + value: 1.625, + }, + taller: { + value: 2, + }, + }, + radii: { + none: { + value: '0', + }, + '2xs': { + value: '0.0625rem', + }, + xs: { + value: '0.125rem', + }, + sm: { + value: '0.25rem', + }, + md: { + value: '0.375rem', + }, + lg: { + value: '0.5rem', + }, + xl: { + value: '0.75rem', + }, + '2xl': { + value: '1rem', + }, + '3xl': { + value: '1.5rem', + }, + '4xl': { + value: '2rem', + }, + full: { + value: '9999px', + }, + }, + spacing: { + '1': { + value: '0.25rem', + }, + '2': { + value: '0.5rem', + }, + '3': { + value: '0.75rem', + }, + '4': { + value: '1rem', + }, + '5': { + value: '1.25rem', + }, + '6': { + value: '1.5rem', + }, + '7': { + value: '1.75rem', + }, + '8': { + value: '2rem', + }, + '9': { + value: '2.25rem', + }, + '10': { + value: '2.5rem', + }, + '11': { + value: '2.75rem', + }, + '12': { + value: '3rem', + }, + '14': { + value: '3.5rem', + }, + '16': { + value: '4rem', + }, + '20': { + value: '5rem', + }, + '24': { + value: '6rem', + }, + '28': { + value: '7rem', + }, + '32': { + value: '8rem', + }, + '36': { + value: '9rem', + }, + '40': { + value: '10rem', + }, + '44': { + value: '11rem', + }, + '48': { + value: '12rem', + }, + '52': { + value: '13rem', + }, + '56': { + value: '14rem', + }, + '60': { + value: '15rem', + }, + '64': { + value: '16rem', + }, + '72': { + value: '18rem', + }, + '80': { + value: '20rem', + }, + '96': { + value: '24rem', + }, + '0.5': { + value: '0.125rem', + }, + '1.5': { + value: '0.375rem', + }, + '2.5': { + value: '0.625rem', + }, + '3.5': { + value: '0.875rem', + }, + '4.5': { + value: '1.125rem', + }, + }, + sizes: { + '1': { + value: '0.25rem', + }, + '2': { + value: '0.5rem', + }, + '3': { + value: '0.75rem', + }, + '4': { + value: '1rem', + }, + '5': { + value: '1.25rem', + }, + '6': { + value: '1.5rem', + }, + '7': { + value: '1.75rem', + }, + '8': { + value: '2rem', + }, + '9': { + value: '2.25rem', + }, + '10': { + value: '2.5rem', + }, + '11': { + value: '2.75rem', + }, + '12': { + value: '3rem', + }, + '14': { + value: '3.5rem', + }, + '16': { + value: '4rem', + }, + '20': { + value: '5rem', + }, + '24': { + value: '6rem', + }, + '28': { + value: '7rem', + }, + '32': { + value: '8rem', + }, + '36': { + value: '9rem', + }, + '40': { + value: '10rem', + }, + '44': { + value: '11rem', + }, + '48': { + value: '12rem', + }, + '52': { + value: '13rem', + }, + '56': { + value: '14rem', + }, + '60': { + value: '15rem', + }, + '64': { + value: '16rem', + }, + '72': { + value: '18rem', + }, + '80': { + value: '20rem', + }, + '96': { + value: '24rem', + }, + '3xs': { + value: '14rem', + }, + '2xs': { + value: '16rem', + }, + xs: { + value: '20rem', + }, + sm: { + value: '24rem', + }, + md: { + value: '28rem', + }, + lg: { + value: '32rem', + }, + xl: { + value: '36rem', + }, + '2xl': { + value: '42rem', + }, + '3xl': { + value: '48rem', + }, + '4xl': { + value: '56rem', + }, + '5xl': { + value: '64rem', + }, + '6xl': { + value: '72rem', + }, + '7xl': { + value: '80rem', + }, + '8xl': { + value: '90rem', + }, + '0.5': { + value: '0.125rem', + }, + '1.5': { + value: '0.375rem', + }, + '2.5': { + value: '0.625rem', + }, + '3.5': { + value: '0.875rem', + }, + '4.5': { + value: '1.125rem', + }, + '1/2': { + value: '50%', + }, + '1/3': { + value: '33.333333%', + }, + '2/3': { + value: '66.666667%', + }, + '1/4': { + value: '25%', + }, + '3/4': { + value: '75%', + }, + '1/5': { + value: '20%', + }, + '2/5': { + value: '40%', + }, + '3/5': { + value: '60%', + }, + '4/5': { + value: '80%', + }, + '1/6': { + value: '16.666667%', + }, + '2/6': { + value: '33.333333%', + }, + '3/6': { + value: '50%', + }, + '4/6': { + value: '66.666667%', + }, + '5/6': { + value: '83.333333%', + }, + '1/12': { + value: '8.333333%', + }, + '2/12': { + value: '16.666667%', + }, + '3/12': { + value: '25%', + }, + '4/12': { + value: '33.333333%', + }, + '5/12': { + value: '41.666667%', + }, + '6/12': { + value: '50%', + }, + '7/12': { + value: '58.333333%', + }, + '8/12': { + value: '66.666667%', + }, + '9/12': { + value: '75%', + }, + '10/12': { + value: '83.333333%', + }, + '11/12': { + value: '91.666667%', + }, + max: { + value: 'max-content', + }, + min: { + value: 'min-content', + }, + fit: { + value: 'fit-content', + }, + prose: { + value: '60ch', + }, + full: { + value: '100%', + }, + dvh: { + value: '100dvh', + }, + svh: { + value: '100svh', + }, + lvh: { + value: '100lvh', + }, + dvw: { + value: '100dvw', + }, + svw: { + value: '100svw', + }, + lvw: { + value: '100lvw', + }, + vw: { + value: '100vw', + }, + vh: { + value: '100vh', + }, + }, + zIndex: { + hide: { + value: -1, + }, + base: { + value: 0, + }, + docked: { + value: 10, + }, + dropdown: { + value: 1000, + }, + sticky: { + value: 1100, + }, + banner: { + value: 1200, + }, + overlay: { + value: 1300, + }, + modal: { + value: 1400, + }, + popover: { + value: 1500, + }, + skipNav: { + value: 1600, + }, + toast: { + value: 1700, + }, + tooltip: { + value: 1800, + }, + max: { + value: 2147483647, + }, + }, + cursor: { + button: { + value: 'pointer', + }, + checkbox: { + value: 'default', + }, + disabled: { + value: 'not-allowed', + }, + menuitem: { + value: 'default', + }, + option: { + value: 'default', + }, + radio: { + value: 'default', + }, + slider: { + value: 'default', + }, + switch: { + value: 'pointer', + }, + }, + }, + semanticTokens: { + colors: { + bg: { + DEFAULT: { + value: { + _light: '{colors.white}', + _dark: '{colors.black}', + }, + }, + subtle: { + value: { + _light: '{colors.gray.50}', + _dark: '{colors.gray.950}', + }, + }, + muted: { + value: { + _light: '{colors.gray.100}', + _dark: '{colors.gray.900}', + }, + }, + emphasized: { + value: { + _light: '{colors.gray.200}', + _dark: '{colors.gray.800}', + }, + }, + inverted: { + value: { + _light: '{colors.black}', + _dark: '{colors.white}', + }, + }, + panel: { + value: { + _light: '{colors.white}', + _dark: '{colors.gray.950}', + }, + }, + error: { + value: { + _light: '{colors.red.50}', + _dark: '{colors.red.950}', + }, + }, + warning: { + value: { + _light: '{colors.orange.50}', + _dark: '{colors.orange.950}', + }, + }, + success: { + value: { + _light: '{colors.green.50}', + _dark: '{colors.green.950}', + }, + }, + info: { + value: { + _light: '{colors.blue.50}', + _dark: '{colors.blue.950}', + }, + }, + }, + fg: { + DEFAULT: { + value: { + _light: '{colors.black}', + _dark: '{colors.gray.50}', + }, + }, + muted: { + value: { + _light: '{colors.gray.600}', + _dark: '{colors.gray.400}', + }, + }, + subtle: { + value: { + _light: '{colors.gray.400}', + _dark: '{colors.gray.500}', + }, + }, + inverted: { + value: { + _light: '{colors.gray.50}', + _dark: '{colors.black}', + }, + }, + error: { + value: { + _light: '{colors.red.500}', + _dark: '{colors.red.400}', + }, + }, + warning: { + value: { + _light: '{colors.orange.600}', + _dark: '{colors.orange.300}', + }, + }, + success: { + value: { + _light: '{colors.green.600}', + _dark: '{colors.green.300}', + }, + }, + info: { + value: { + _light: '{colors.blue.600}', + _dark: '{colors.blue.300}', + }, + }, + }, + border: { + DEFAULT: { + value: { + _light: '{colors.gray.200}', + _dark: '{colors.gray.800}', + }, + }, + muted: { + value: { + _light: '{colors.gray.100}', + _dark: '{colors.gray.900}', + }, + }, + subtle: { + value: { + _light: '{colors.gray.50}', + _dark: '{colors.gray.950}', + }, + }, + emphasized: { + value: { + _light: '{colors.gray.300}', + _dark: '{colors.gray.700}', + }, + }, + inverted: { + value: { + _light: '{colors.gray.800}', + _dark: '{colors.gray.200}', + }, + }, + error: { + value: { + _light: '{colors.red.500}', + _dark: '{colors.red.400}', + }, + }, + warning: { + value: { + _light: '{colors.orange.500}', + _dark: '{colors.orange.400}', + }, + }, + success: { + value: { + _light: '{colors.green.500}', + _dark: '{colors.green.400}', + }, + }, + info: { + value: { + _light: '{colors.blue.500}', + _dark: '{colors.blue.400}', + }, + }, + }, + gray: { + contrast: { + value: { + _light: '{colors.white}', + _dark: '{colors.black}', + }, + }, + fg: { + value: { + _light: '{colors.gray.800}', + _dark: '{colors.gray.200}', + }, + }, + subtle: { + value: { + _light: '{colors.gray.100}', + _dark: '{colors.gray.900}', + }, + }, + muted: { + value: { + _light: '{colors.gray.200}', + _dark: '{colors.gray.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.gray.300}', + _dark: '{colors.gray.700}', + }, + }, + solid: { + value: { + _light: '{colors.gray.900}', + _dark: '{colors.white}', + }, + }, + focusRing: { + value: { + _light: '{colors.gray.800}', + _dark: '{colors.gray.200}', + }, + }, + }, + red: { + contrast: { + value: { + _light: 'white', + _dark: 'white', + }, + }, + fg: { + value: { + _light: '{colors.red.700}', + _dark: '{colors.red.300}', + }, + }, + subtle: { + value: { + _light: '{colors.red.100}', + _dark: '{colors.red.900}', + }, + }, + muted: { + value: { + _light: '{colors.red.200}', + _dark: '{colors.red.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.red.300}', + _dark: '{colors.red.700}', + }, + }, + solid: { + value: { + _light: '{colors.red.600}', + _dark: '{colors.red.600}', + }, + }, + focusRing: { + value: { + _light: '{colors.red.600}', + _dark: '{colors.red.600}', + }, + }, + }, + orange: { + contrast: { + value: { + _light: 'white', + _dark: 'black', + }, + }, + fg: { + value: { + _light: '{colors.orange.700}', + _dark: '{colors.orange.300}', + }, + }, + subtle: { + value: { + _light: '{colors.orange.100}', + _dark: '{colors.orange.900}', + }, + }, + muted: { + value: { + _light: '{colors.orange.200}', + _dark: '{colors.orange.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.orange.300}', + _dark: '{colors.orange.700}', + }, + }, + solid: { + value: { + _light: '{colors.orange.600}', + _dark: '{colors.orange.500}', + }, + }, + focusRing: { + value: { + _light: '{colors.orange.600}', + _dark: '{colors.orange.500}', + }, + }, + }, + green: { + contrast: { + value: { + _light: 'white', + _dark: 'white', + }, + }, + fg: { + value: { + _light: '{colors.green.700}', + _dark: '{colors.green.300}', + }, + }, + subtle: { + value: { + _light: '{colors.green.100}', + _dark: '{colors.green.900}', + }, + }, + muted: { + value: { + _light: '{colors.green.200}', + _dark: '{colors.green.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.green.300}', + _dark: '{colors.green.700}', + }, + }, + solid: { + value: { + _light: '{colors.green.600}', + _dark: '{colors.green.600}', + }, + }, + focusRing: { + value: { + _light: '{colors.green.600}', + _dark: '{colors.green.600}', + }, + }, + }, + blue: { + contrast: { + value: { + _light: 'white', + _dark: 'white', + }, + }, + fg: { + value: { + _light: '{colors.blue.700}', + _dark: '{colors.blue.300}', + }, + }, + subtle: { + value: { + _light: '{colors.blue.100}', + _dark: '{colors.blue.900}', + }, + }, + muted: { + value: { + _light: '{colors.blue.200}', + _dark: '{colors.blue.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.blue.300}', + _dark: '{colors.blue.700}', + }, + }, + solid: { + value: { + _light: '{colors.blue.600}', + _dark: '{colors.blue.600}', + }, + }, + focusRing: { + value: { + _light: '{colors.blue.600}', + _dark: '{colors.blue.600}', + }, + }, + }, + yellow: { + contrast: { + value: { + _light: 'black', + _dark: 'black', + }, + }, + fg: { + value: { + _light: '{colors.yellow.800}', + _dark: '{colors.yellow.300}', + }, + }, + subtle: { + value: { + _light: '{colors.yellow.100}', + _dark: '{colors.yellow.900}', + }, + }, + muted: { + value: { + _light: '{colors.yellow.200}', + _dark: '{colors.yellow.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.yellow.300}', + _dark: '{colors.yellow.700}', + }, + }, + solid: { + value: { + _light: '{colors.yellow.300}', + _dark: '{colors.yellow.300}', + }, + }, + focusRing: { + value: { + _light: '{colors.yellow.300}', + _dark: '{colors.yellow.300}', + }, + }, + }, + teal: { + contrast: { + value: { + _light: 'white', + _dark: 'white', + }, + }, + fg: { + value: { + _light: '{colors.teal.700}', + _dark: '{colors.teal.300}', + }, + }, + subtle: { + value: { + _light: '{colors.teal.100}', + _dark: '{colors.teal.900}', + }, + }, + muted: { + value: { + _light: '{colors.teal.200}', + _dark: '{colors.teal.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.teal.300}', + _dark: '{colors.teal.700}', + }, + }, + solid: { + value: { + _light: '{colors.teal.600}', + _dark: '{colors.teal.600}', + }, + }, + focusRing: { + value: { + _light: '{colors.teal.600}', + _dark: '{colors.teal.600}', + }, + }, + }, + purple: { + contrast: { + value: { + _light: 'white', + _dark: 'white', + }, + }, + fg: { + value: { + _light: '{colors.purple.700}', + _dark: '{colors.purple.300}', + }, + }, + subtle: { + value: { + _light: '{colors.purple.100}', + _dark: '{colors.purple.900}', + }, + }, + muted: { + value: { + _light: '{colors.purple.200}', + _dark: '{colors.purple.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.purple.300}', + _dark: '{colors.purple.700}', + }, + }, + solid: { + value: { + _light: '{colors.purple.600}', + _dark: '{colors.purple.600}', + }, + }, + focusRing: { + value: { + _light: '{colors.purple.600}', + _dark: '{colors.purple.600}', + }, + }, + }, + pink: { + contrast: { + value: { + _light: 'white', + _dark: 'white', + }, + }, + fg: { + value: { + _light: '{colors.pink.700}', + _dark: '{colors.pink.300}', + }, + }, + subtle: { + value: { + _light: '{colors.pink.100}', + _dark: '{colors.pink.900}', + }, + }, + muted: { + value: { + _light: '{colors.pink.200}', + _dark: '{colors.pink.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.pink.300}', + _dark: '{colors.pink.700}', + }, + }, + solid: { + value: { + _light: '{colors.pink.600}', + _dark: '{colors.pink.600}', + }, + }, + focusRing: { + value: { + _light: '{colors.pink.600}', + _dark: '{colors.pink.600}', + }, + }, + }, + cyan: { + contrast: { + value: { + _light: 'white', + _dark: 'white', + }, + }, + fg: { + value: { + _light: '{colors.cyan.700}', + _dark: '{colors.cyan.300}', + }, + }, + subtle: { + value: { + _light: '{colors.cyan.100}', + _dark: '{colors.cyan.900}', + }, + }, + muted: { + value: { + _light: '{colors.cyan.200}', + _dark: '{colors.cyan.800}', + }, + }, + emphasized: { + value: { + _light: '{colors.cyan.300}', + _dark: '{colors.cyan.700}', + }, + }, + solid: { + value: { + _light: '{colors.cyan.600}', + _dark: '{colors.cyan.600}', + }, + }, + focusRing: { + value: { + _light: '{colors.cyan.600}', + _dark: '{colors.cyan.600}', + }, + }, + }, + }, + shadows: { + xs: { + value: { + _light: + '0px 1px 2px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/20}', + _dark: + '0px 1px 1px {black/64}, 0px 0px 1px inset {colors.gray.300/20}', + }, + }, + sm: { + value: { + _light: + '0px 2px 4px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}', + _dark: + '0px 2px 4px {black/64}, 0px 0px 1px inset {colors.gray.300/30}', + }, + }, + md: { + value: { + _light: + '0px 4px 8px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}', + _dark: + '0px 4px 8px {black/64}, 0px 0px 1px inset {colors.gray.300/30}', + }, + }, + lg: { + value: { + _light: + '0px 8px 16px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}', + _dark: + '0px 8px 16px {black/64}, 0px 0px 1px inset {colors.gray.300/30}', + }, + }, + xl: { + value: { + _light: + '0px 16px 24px {colors.gray.900/10}, 0px 0px 1px {colors.gray.900/30}', + _dark: + '0px 16px 24px {black/64}, 0px 0px 1px inset {colors.gray.300/30}', + }, + }, + '2xl': { + value: { + _light: + '0px 24px 40px {colors.gray.900/16}, 0px 0px 1px {colors.gray.900/30}', + _dark: + '0px 24px 40px {black/64}, 0px 0px 1px inset {colors.gray.300/30}', + }, + }, + inner: { + value: { + _light: 'inset 0 2px 4px 0 {black/5}', + _dark: 'inset 0 2px 4px 0 black', + }, + }, + inset: { + value: { + _light: 'inset 0 0 0 1px {black/5}', + _dark: 'inset 0 0 0 1px {colors.gray.300/5}', + }, + }, + }, + radii: { + l1: { + value: '{radii.xs}', + }, + l2: { + value: '{radii.sm}', + }, + l3: { + value: '{radii.md}', + }, + }, + }, + recipes: { + badge: { + className: 'chakra-badge', + base: { + display: 'inline-flex', + alignItems: 'center', + borderRadius: 'l2', + gap: '1', + fontWeight: 'medium', + fontVariantNumeric: 'tabular-nums', + whiteSpace: 'nowrap', + userSelect: 'none', + }, + variants: { + variant: { + solid: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + subtle: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + }, + outline: { + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + surface: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + plain: { + color: 'colorPalette.fg', + }, + }, + size: { + xs: { + textStyle: '2xs', + px: '1', + minH: '4', + }, + sm: { + textStyle: 'xs', + px: '1.5', + minH: '5', + }, + md: { + textStyle: 'sm', + px: '2', + minH: '6', + }, + lg: { + textStyle: 'sm', + px: '2.5', + minH: '7', + }, + }, + }, + defaultVariants: { + variant: 'subtle', + size: 'sm', + }, + }, + button: { + className: 'chakra-button', + base: { + display: 'inline-flex', + appearance: 'none', + alignItems: 'center', + justifyContent: 'center', + userSelect: 'none', + position: 'relative', + borderRadius: 'l2', + whiteSpace: 'nowrap', + verticalAlign: 'middle', + borderWidth: '1px', + borderColor: 'transparent', + cursor: 'button', + flexShrink: '0', + outline: '0', + lineHeight: '1.2', + isolation: 'isolate', + fontWeight: 'medium', + transitionProperty: 'common', + transitionDuration: 'moderate', + focusVisibleRing: 'outside', + _disabled: { + layerStyle: 'disabled', + }, + _icon: { + flexShrink: '0', + }, + }, + variants: { + size: { + '2xs': { + h: '6', + minW: '6', + textStyle: 'xs', + px: '2', + gap: '1', + _icon: { + width: '3.5', + height: '3.5', + }, + }, + xs: { + h: '8', + minW: '8', + textStyle: 'xs', + px: '2.5', + gap: '1', + _icon: { + width: '4', + height: '4', + }, + }, + sm: { + h: '9', + minW: '9', + px: '3.5', + textStyle: 'sm', + gap: '2', + _icon: { + width: '4', + height: '4', + }, + }, + md: { + h: '10', + minW: '10', + textStyle: 'sm', + px: '4', + gap: '2', + _icon: { + width: '5', + height: '5', + }, + }, + lg: { + h: '11', + minW: '11', + textStyle: 'md', + px: '5', + gap: '3', + _icon: { + width: '5', + height: '5', + }, + }, + xl: { + h: '12', + minW: '12', + textStyle: 'md', + px: '5', + gap: '2.5', + _icon: { + width: '5', + height: '5', + }, + }, + '2xl': { + h: '16', + minW: '16', + textStyle: 'lg', + px: '7', + gap: '3', + _icon: { + width: '6', + height: '6', + }, + }, + }, + variant: { + solid: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + _hover: { + bg: 'colorPalette.solid/90', + }, + _expanded: { + bg: 'colorPalette.solid/90', + }, + }, + subtle: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + _hover: { + bg: 'colorPalette.muted', + }, + _expanded: { + bg: 'colorPalette.muted', + }, + }, + surface: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + shadow: '0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + _hover: { + bg: 'colorPalette.muted', + }, + _expanded: { + bg: 'colorPalette.muted', + }, + }, + outline: { + borderWidth: '1px', + borderColor: 'colorPalette.muted', + color: 'colorPalette.fg', + _hover: { + bg: 'colorPalette.subtle', + }, + _expanded: { + bg: 'colorPalette.subtle', + }, + }, + ghost: { + color: 'colorPalette.fg', + _hover: { + bg: 'colorPalette.subtle', + }, + _expanded: { + bg: 'colorPalette.subtle', + }, + }, + plain: { + color: 'colorPalette.fg', + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'solid', + }, + }, + code: { + className: 'chakra-code', + base: { + fontFamily: 'mono', + alignItems: 'center', + display: 'inline-flex', + borderRadius: 'l2', + }, + variants: { + variant: { + solid: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + subtle: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + }, + outline: { + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + surface: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + plain: { + color: 'colorPalette.fg', + }, + }, + size: { + xs: { + textStyle: '2xs', + px: '1', + minH: '4', + }, + sm: { + textStyle: 'xs', + px: '1.5', + minH: '5', + }, + md: { + textStyle: 'sm', + px: '2', + minH: '6', + }, + lg: { + textStyle: 'sm', + px: '2.5', + minH: '7', + }, + }, + }, + defaultVariants: { + variant: 'subtle', + size: 'sm', + }, + }, + container: { + className: 'chakra-container', + base: { + position: 'relative', + maxWidth: '8xl', + w: '100%', + mx: 'auto', + px: { + base: '4', + md: '6', + lg: '8', + }, + }, + variants: { + centerContent: { + true: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + }, + }, + fluid: { + true: { + maxWidth: 'full', + }, + }, + }, + }, + heading: { + className: 'chakra-heading', + base: { + fontFamily: 'heading', + fontWeight: 'semibold', + }, + variants: { + size: { + xs: { + textStyle: 'xs', + }, + sm: { + textStyle: 'sm', + }, + md: { + textStyle: 'md', + }, + lg: { + textStyle: 'lg', + }, + xl: { + textStyle: 'xl', + }, + '2xl': { + textStyle: '2xl', + }, + '3xl': { + textStyle: '3xl', + }, + '4xl': { + textStyle: '4xl', + }, + '5xl': { + textStyle: '5xl', + }, + '6xl': { + textStyle: '6xl', + }, + '7xl': { + textStyle: '7xl', + }, + }, + }, + defaultVariants: { + size: 'xl', + }, + }, + input: { + className: 'chakra-input', + base: { + width: '100%', + minWidth: '0', + outline: '0', + position: 'relative', + appearance: 'none', + textAlign: 'start', + borderRadius: 'l2', + _disabled: { + layerStyle: 'disabled', + }, + height: 'var(--input-height)', + minW: 'var(--input-height)', + '--focus-color': 'colors.colorPalette.focusRing', + '--error-color': 'colors.border.error', + _invalid: { + focusRingColor: 'var(--error-color)', + borderColor: 'var(--error-color)', + }, + }, + variants: { + size: { + '2xs': { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.7', + }, + xs: { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.8', + }, + sm: { + textStyle: 'sm', + px: '2.5', + '--input-height': 'sizes.9', + }, + md: { + textStyle: 'sm', + px: '3', + '--input-height': 'sizes.10', + }, + lg: { + textStyle: 'md', + px: '4', + '--input-height': 'sizes.11', + }, + xl: { + textStyle: 'md', + px: '4.5', + '--input-height': 'sizes.12', + }, + '2xl': { + textStyle: 'lg', + px: '5', + '--input-height': 'sizes.16', + }, + }, + variant: { + outline: { + bg: 'transparent', + borderWidth: '1px', + borderColor: 'border', + focusVisibleRing: 'inside', + }, + subtle: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + focusVisibleRing: 'inside', + }, + flushed: { + bg: 'transparent', + borderBottomWidth: '1px', + borderBottomColor: 'border', + borderRadius: '0', + px: '0', + _focusVisible: { + borderColor: 'var(--focus-color)', + boxShadow: '0px 1px 0px 0px var(--focus-color)', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + inputAddon: { + className: 'chakra-input-addon', + base: { + flex: '0 0 auto', + width: 'auto', + display: 'flex', + alignItems: 'center', + whiteSpace: 'nowrap', + alignSelf: 'stretch', + borderRadius: 'l2', + }, + variants: { + size: { + '2xs': { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.7', + }, + xs: { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.8', + }, + sm: { + textStyle: 'sm', + px: '2.5', + '--input-height': 'sizes.9', + }, + md: { + textStyle: 'sm', + px: '3', + '--input-height': 'sizes.10', + }, + lg: { + textStyle: 'md', + px: '4', + '--input-height': 'sizes.11', + }, + xl: { + textStyle: 'md', + px: '4.5', + '--input-height': 'sizes.12', + }, + '2xl': { + textStyle: 'lg', + px: '5', + '--input-height': 'sizes.16', + }, + }, + variant: { + outline: { + borderWidth: '1px', + borderColor: 'border', + bg: 'bg.muted', + }, + subtle: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.emphasized', + }, + flushed: { + borderBottom: '1px solid', + borderColor: 'inherit', + borderRadius: '0', + px: '0', + bg: 'transparent', + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + kbd: { + className: 'chakra-kbd', + base: { + display: 'inline-flex', + alignItems: 'center', + fontWeight: 'medium', + fontFamily: 'mono', + flexShrink: '0', + whiteSpace: 'nowrap', + wordSpacing: '-0.5em', + userSelect: 'none', + px: '1', + borderRadius: 'l2', + }, + variants: { + variant: { + raised: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + borderWidth: '1px', + borderBottomWidth: '2px', + borderColor: 'colorPalette.muted', + }, + outline: { + borderWidth: '1px', + color: 'colorPalette.fg', + }, + subtle: { + bg: 'colorPalette.muted', + color: 'colorPalette.fg', + }, + plain: { + color: 'colorPalette.fg', + }, + }, + size: { + sm: { + textStyle: 'xs', + height: '4.5', + }, + md: { + textStyle: 'sm', + height: '5', + }, + lg: { + textStyle: 'md', + height: '6', + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'raised', + }, + }, + link: { + className: 'chakra-link', + base: { + display: 'inline-flex', + alignItems: 'center', + outline: 'none', + gap: '1.5', + cursor: 'pointer', + borderRadius: 'l1', + focusRing: 'outside', + }, + variants: { + variant: { + underline: { + color: 'colorPalette.fg', + textDecoration: 'underline', + textUnderlineOffset: '3px', + textDecorationColor: 'currentColor/20', + }, + plain: { + color: 'colorPalette.fg', + _hover: { + textDecoration: 'underline', + textUnderlineOffset: '3px', + textDecorationColor: 'currentColor/20', + }, + }, + }, + }, + defaultVariants: { + variant: 'plain', + }, + }, + mark: { + className: 'chakra-mark', + base: { + bg: 'transparent', + color: 'inherit', + whiteSpace: 'nowrap', + }, + variants: { + variant: { + subtle: { + bg: 'colorPalette.subtle', + color: 'inherit', + }, + solid: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + text: { + fontWeight: 'medium', + }, + plain: {}, + }, + }, + }, + separator: { + className: 'chakra-separator', + base: { + display: 'block', + borderColor: 'border', + }, + variants: { + variant: { + solid: { + borderStyle: 'solid', + }, + dashed: { + borderStyle: 'dashed', + }, + dotted: { + borderStyle: 'dotted', + }, + }, + orientation: { + vertical: { + height: '100%', + borderInlineStartWidth: 'var(--separator-thickness)', + }, + horizontal: { + width: '100%', + borderTopWidth: 'var(--separator-thickness)', + }, + }, + size: { + xs: { + '--separator-thickness': '0.5px', + }, + sm: { + '--separator-thickness': '1px', + }, + md: { + '--separator-thickness': '2px', + }, + lg: { + '--separator-thickness': '3px', + }, + }, + }, + defaultVariants: { + size: 'sm', + variant: 'solid', + orientation: 'horizontal', + }, + }, + skeleton: { + className: 'chakra-skeleton', + base: {}, + variants: { + loading: { + true: { + borderRadius: 'l2', + boxShadow: 'none', + backgroundClip: 'padding-box', + cursor: 'default', + color: 'transparent', + pointerEvents: 'none', + userSelect: 'none', + flexShrink: '0', + '&::before, &::after, *': { + visibility: 'hidden', + }, + }, + false: { + background: 'unset', + animation: + 'fade-in var(--fade-duration, 0.1s) ease-out !important', + }, + }, + variant: { + pulse: { + background: 'bg.emphasized', + animation: 'pulse', + animationDuration: 'var(--duration, 1.2s)', + }, + shine: { + '--animate-from': '200%', + '--animate-to': '-200%', + '--start-color': 'colors.bg.muted', + '--end-color': 'colors.bg.emphasized', + backgroundImage: + 'linear-gradient(270deg,var(--start-color),var(--end-color),var(--end-color),var(--start-color))', + backgroundSize: '400% 100%', + animation: 'bg-position var(--duration, 5s) ease-in-out infinite', + }, + none: { + animation: 'none', + }, + }, + }, + defaultVariants: { + variant: 'pulse', + loading: true, + }, + }, + skipNavLink: { + className: 'chakra-skip-nav', + base: { + display: 'inline-flex', + bg: 'bg.panel', + padding: '2.5', + borderRadius: 'l2', + fontWeight: 'semibold', + focusVisibleRing: 'outside', + textStyle: 'sm', + userSelect: 'none', + border: '0', + height: '1px', + width: '1px', + margin: '-1px', + outline: '0', + overflow: 'hidden', + position: 'absolute', + clip: 'rect(0 0 0 0)', + _focusVisible: { + clip: 'auto', + width: 'auto', + height: 'auto', + position: 'fixed', + top: '6', + insetStart: '6', + }, + }, + }, + spinner: { + className: 'chakra-spinner', + base: { + display: 'inline-block', + borderColor: 'currentColor', + borderStyle: 'solid', + borderWidth: '2px', + borderRadius: 'full', + width: 'var(--spinner-size)', + height: 'var(--spinner-size)', + animation: 'spin', + animationDuration: 'slowest', + '--spinner-track-color': 'transparent', + borderBottomColor: 'var(--spinner-track-color)', + borderInlineStartColor: 'var(--spinner-track-color)', + }, + variants: { + size: { + inherit: { + '--spinner-size': '1em', + }, + xs: { + '--spinner-size': 'sizes.3', + }, + sm: { + '--spinner-size': 'sizes.4', + }, + md: { + '--spinner-size': 'sizes.5', + }, + lg: { + '--spinner-size': 'sizes.8', + }, + xl: { + '--spinner-size': 'sizes.10', + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + textarea: { + className: 'chakra-textarea', + base: { + width: '100%', + minWidth: '0', + outline: '0', + position: 'relative', + appearance: 'none', + textAlign: 'start', + borderRadius: 'l2', + _disabled: { + layerStyle: 'disabled', + }, + '--focus-color': 'colors.colorPalette.focusRing', + '--error-color': 'colors.border.error', + _invalid: { + focusRingColor: 'var(--error-color)', + borderColor: 'var(--error-color)', + }, + }, + variants: { + size: { + xs: { + textStyle: 'xs', + px: '2', + py: '1.5', + scrollPaddingBottom: '1.5', + }, + sm: { + textStyle: 'sm', + px: '2.5', + py: '2', + scrollPaddingBottom: '2', + }, + md: { + textStyle: 'sm', + px: '3', + py: '2', + scrollPaddingBottom: '2', + }, + lg: { + textStyle: 'md', + px: '4', + py: '3', + scrollPaddingBottom: '3', + }, + xl: { + textStyle: 'md', + px: '4.5', + py: '3.5', + scrollPaddingBottom: '3.5', + }, + }, + variant: { + outline: { + bg: 'transparent', + borderWidth: '1px', + borderColor: 'border', + focusVisibleRing: 'inside', + }, + subtle: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + focusVisibleRing: 'inside', + }, + flushed: { + bg: 'transparent', + borderBottomWidth: '1px', + borderBottomColor: 'border', + borderRadius: '0', + px: '0', + _focusVisible: { + borderColor: 'var(--focus-color)', + boxShadow: '0px 1px 0px 0px var(--focus-color)', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + icon: { + className: 'chakra-icon', + base: { + display: 'inline-block', + lineHeight: '1em', + flexShrink: '0', + color: 'currentcolor', + verticalAlign: 'middle', + width: 'var(--icon-size)', + height: 'var(--icon-size)', + }, + variants: { + size: { + inherit: { + '--icon-size': '1em', + }, + xs: { + '--icon-size': 'sizes.3', + }, + sm: { + '--icon-size': 'sizes.4', + }, + md: { + '--icon-size': 'sizes.5', + }, + lg: { + '--icon-size': 'sizes.6', + }, + xl: { + '--icon-size': 'sizes.7', + }, + '2xl': { + '--icon-size': 'sizes.8', + }, + }, + }, + defaultVariants: { + size: 'inherit', + }, + }, + checkmark: { + className: 'chakra-checkmark', + base: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: '0', + color: 'white', + borderWidth: '1px', + borderColor: 'transparent', + borderRadius: 'l1', + focusVisibleRing: 'outside', + _icon: { + boxSize: 'full', + }, + _invalid: { + colorPalette: 'red', + borderColor: 'border.error', + }, + _disabled: { + opacity: '0.5', + }, + }, + variants: { + size: { + xs: { + boxSize: '3', + }, + sm: { + boxSize: '4', + }, + md: { + boxSize: '5', + p: '0.5', + }, + lg: { + boxSize: '6', + p: '0.5', + }, + }, + variant: { + solid: { + borderColor: 'border', + '&:is([data-state=checked], [data-state=indeterminate])': { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + outline: { + borderColor: 'border', + '&:is([data-state=checked], [data-state=indeterminate])': { + color: 'colorPalette.fg', + borderColor: 'colorPalette.solid', + }, + }, + subtle: { + bg: 'colorPalette.muted', + borderColor: 'colorPalette.muted', + '&:is([data-state=checked], [data-state=indeterminate])': { + color: 'colorPalette.fg', + }, + }, + plain: { + '&:is([data-state=checked], [data-state=indeterminate])': { + color: 'colorPalette.fg', + }, + }, + inverted: { + borderColor: 'border', + color: 'colorPalette.fg', + '&:is([data-state=checked], [data-state=indeterminate])': { + borderColor: 'colorPalette.solid', + }, + }, + }, + }, + defaultVariants: { + variant: 'solid', + size: 'md', + }, + }, + radiomark: { + className: 'chakra-radiomark', + base: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: 0, + verticalAlign: 'top', + color: 'white', + borderWidth: '1px', + borderColor: 'transparent', + borderRadius: 'full', + cursor: 'radio', + _focusVisible: { + outline: '2px solid', + outlineColor: 'colorPalette.focusRing', + outlineOffset: '2px', + }, + _invalid: { + colorPalette: 'red', + borderColor: 'red.500', + }, + _disabled: { + opacity: '0.5', + cursor: 'disabled', + }, + '& .dot': { + height: '100%', + width: '100%', + borderRadius: 'full', + bg: 'currentColor', + scale: '0.4', + }, + }, + variants: { + variant: { + solid: { + borderWidth: '1px', + borderColor: 'border', + _checked: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + subtle: { + borderWidth: '1px', + bg: 'colorPalette.muted', + borderColor: 'colorPalette.muted', + color: 'transparent', + _checked: { + color: 'colorPalette.fg', + }, + }, + outline: { + borderWidth: '1px', + borderColor: 'inherit', + _checked: { + color: 'colorPalette.fg', + borderColor: 'colorPalette.solid', + }, + '& .dot': { + scale: '0.6', + }, + }, + inverted: { + bg: 'bg', + borderWidth: '1px', + borderColor: 'inherit', + _checked: { + color: 'colorPalette.solid', + borderColor: 'currentcolor', + }, + }, + }, + size: { + xs: { + boxSize: '3', + }, + sm: { + boxSize: '4', + }, + md: { + boxSize: '5', + }, + lg: { + boxSize: '6', + }, + }, + }, + defaultVariants: { + variant: 'solid', + size: 'md', + }, + }, + colorSwatch: { + className: 'color-swatch', + base: { + boxSize: 'var(--swatch-size)', + shadow: 'inset 0 0 0 1px rgba(0, 0, 0, 0.1)', + '--checker-size': '8px', + '--checker-bg': 'colors.bg', + '--checker-fg': 'colors.bg.emphasized', + background: + 'linear-gradient(var(--color), var(--color)), repeating-conic-gradient(var(--checker-fg) 0%, var(--checker-fg) 25%, var(--checker-bg) 0%, var(--checker-bg) 50%) 0% 50% / var(--checker-size) var(--checker-size) !important', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: '0', + }, + variants: { + size: { + '2xs': { + '--swatch-size': 'sizes.3.5', + }, + xs: { + '--swatch-size': 'sizes.4', + }, + sm: { + '--swatch-size': 'sizes.4.5', + }, + md: { + '--swatch-size': 'sizes.5', + }, + lg: { + '--swatch-size': 'sizes.6', + }, + xl: { + '--swatch-size': 'sizes.7', + }, + '2xl': { + '--swatch-size': 'sizes.8', + }, + inherit: { + '--swatch-size': 'inherit', + }, + full: { + '--swatch-size': '100%', + }, + }, + shape: { + square: { + borderRadius: 'none', + }, + circle: { + borderRadius: 'full', + }, + rounded: { + borderRadius: 'l1', + }, + }, + }, + defaultVariants: { + size: 'md', + shape: 'rounded', + }, + }, + }, + slotRecipes: { + accordion: { + className: 'chakra-accordion', + slots: [ + 'root', + 'item', + 'itemTrigger', + 'itemContent', + 'itemIndicator', + 'itemBody', + ], + base: { + root: { + width: 'full', + '--accordion-radius': 'radii.l2', + }, + item: { + overflowAnchor: 'none', + }, + itemTrigger: { + display: 'flex', + alignItems: 'center', + width: 'full', + outline: '0', + gap: '3', + fontWeight: 'medium', + borderRadius: 'var(--accordion-radius)', + _focusVisible: { + outline: '2px solid', + outlineColor: 'colorPalette.focusRing', + }, + _disabled: { + layerStyle: 'disabled', + }, + }, + itemBody: { + pt: 'var(--accordion-padding-y)', + pb: 'calc(var(--accordion-padding-y) * 2)', + }, + itemContent: { + overflow: 'hidden', + borderRadius: 'var(--accordion-radius)', + _open: { + animationName: 'expand-height, fade-in', + animationDuration: 'moderate', + }, + _closed: { + animationName: 'collapse-height, fade-out', + animationDuration: 'moderate', + }, + }, + itemIndicator: { + transition: 'rotate 0.2s', + transformOrigin: 'center', + color: 'fg.subtle', + _open: { + rotate: '180deg', + }, + _icon: { + width: '1.2em', + height: '1.2em', + }, + }, + }, + variants: { + variant: { + outline: { + item: { + borderBottomWidth: '1px', + }, + }, + subtle: { + itemTrigger: { + px: 'var(--accordion-padding-x)', + }, + itemContent: { + px: 'var(--accordion-padding-x)', + }, + item: { + borderRadius: 'var(--accordion-radius)', + _open: { + bg: 'colorPalette.subtle', + }, + }, + }, + enclosed: { + root: { + borderWidth: '1px', + borderRadius: 'var(--accordion-radius)', + divideY: '1px', + overflow: 'hidden', + }, + itemTrigger: { + px: 'var(--accordion-padding-x)', + }, + itemContent: { + px: 'var(--accordion-padding-x)', + }, + item: { + _open: { + bg: 'bg.subtle', + }, + }, + }, + plain: {}, + }, + size: { + sm: { + root: { + '--accordion-padding-x': 'spacing.3', + '--accordion-padding-y': 'spacing.2', + }, + itemTrigger: { + textStyle: 'sm', + py: 'var(--accordion-padding-y)', + }, + }, + md: { + root: { + '--accordion-padding-x': 'spacing.4', + '--accordion-padding-y': 'spacing.2', + }, + itemTrigger: { + textStyle: 'md', + py: 'var(--accordion-padding-y)', + }, + }, + lg: { + root: { + '--accordion-padding-x': 'spacing.4.5', + '--accordion-padding-y': 'spacing.2.5', + }, + itemTrigger: { + textStyle: 'lg', + py: 'var(--accordion-padding-y)', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + actionBar: { + className: 'chakra-action-bar', + slots: [ + 'positioner', + 'content', + 'separator', + 'selectionTrigger', + 'closeTrigger', + ], + base: { + positioner: { + position: 'fixed', + display: 'flex', + justifyContent: 'center', + pointerEvents: 'none', + insetInline: '0', + top: 'unset', + bottom: 'calc(env(safe-area-inset-bottom) + 20px)', + }, + content: { + bg: 'bg.panel', + shadow: 'md', + display: 'flex', + alignItems: 'center', + gap: '3', + borderRadius: 'l3', + py: '2.5', + px: '3', + pointerEvents: 'auto', + translate: 'calc(-1 * var(--scrollbar-width) / 2) 0px', + _open: { + animationName: 'slide-from-bottom, fade-in', + animationDuration: 'moderate', + }, + _closed: { + animationName: 'slide-to-bottom, fade-out', + animationDuration: 'faster', + }, + }, + separator: { + width: '1px', + height: '5', + bg: 'border', + }, + selectionTrigger: { + display: 'inline-flex', + alignItems: 'center', + gap: '2', + alignSelf: 'stretch', + textStyle: 'sm', + px: '4', + py: '1', + borderRadius: 'l2', + borderWidth: '1px', + borderStyle: 'dashed', + }, + }, + }, + alert: { + slots: ['title', 'description', 'root', 'indicator', 'content'], + className: 'chakra-alert', + base: { + root: { + width: 'full', + display: 'flex', + alignItems: 'flex-start', + position: 'relative', + borderRadius: 'l3', + }, + title: { + fontWeight: 'medium', + }, + description: { + display: 'inline', + }, + indicator: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: '0', + width: '1em', + height: '1em', + _icon: { + boxSize: 'full', + }, + }, + content: { + display: 'flex', + flex: '1', + gap: '1', + }, + }, + variants: { + status: { + info: { + root: { + colorPalette: 'blue', + }, + }, + warning: { + root: { + colorPalette: 'orange', + }, + }, + success: { + root: { + colorPalette: 'green', + }, + }, + error: { + root: { + colorPalette: 'red', + }, + }, + neutral: { + root: { + colorPalette: 'gray', + }, + }, + }, + inline: { + true: { + content: { + display: 'inline-flex', + flexDirection: 'row', + alignItems: 'center', + }, + }, + false: { + content: { + display: 'flex', + flexDirection: 'column', + }, + }, + }, + variant: { + subtle: { + root: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + }, + }, + surface: { + root: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + indicator: { + color: 'colorPalette.fg', + }, + }, + outline: { + root: { + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + indicator: { + color: 'colorPalette.fg', + }, + }, + solid: { + root: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + indicator: { + color: 'colorPalette.contrast', + }, + }, + }, + size: { + sm: { + root: { + gap: '2', + px: '3', + py: '3', + textStyle: 'xs', + }, + indicator: { + textStyle: 'lg', + }, + }, + md: { + root: { + gap: '3', + px: '4', + py: '4', + textStyle: 'sm', + }, + indicator: { + textStyle: 'xl', + }, + }, + lg: { + root: { + gap: '3', + px: '4', + py: '4', + textStyle: 'md', + }, + indicator: { + textStyle: '2xl', + }, + }, + }, + }, + defaultVariants: { + status: 'info', + variant: 'subtle', + size: 'md', + inline: false, + }, + }, + avatar: { + slots: ['root', 'image', 'fallback'], + className: 'chakra-avatar', + base: { + root: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + fontWeight: 'medium', + position: 'relative', + verticalAlign: 'top', + flexShrink: '0', + userSelect: 'none', + width: 'var(--avatar-size)', + height: 'var(--avatar-size)', + fontSize: 'var(--avatar-font-size)', + borderRadius: 'var(--avatar-radius)', + '&[data-group-item]': { + borderWidth: '2px', + borderColor: 'bg', + }, + }, + image: { + width: '100%', + height: '100%', + objectFit: 'cover', + borderRadius: 'var(--avatar-radius)', + }, + fallback: { + lineHeight: '1', + textTransform: 'uppercase', + fontWeight: 'medium', + fontSize: 'var(--avatar-font-size)', + borderRadius: 'var(--avatar-radius)', + }, + }, + variants: { + size: { + full: { + root: { + '--avatar-size': '100%', + '--avatar-font-size': '100%', + }, + }, + '2xs': { + root: { + '--avatar-font-size': 'fontSizes.2xs', + '--avatar-size': 'sizes.6', + }, + }, + xs: { + root: { + '--avatar-font-size': 'fontSizes.xs', + '--avatar-size': 'sizes.8', + }, + }, + sm: { + root: { + '--avatar-font-size': 'fontSizes.sm', + '--avatar-size': 'sizes.9', + }, + }, + md: { + root: { + '--avatar-font-size': 'fontSizes.md', + '--avatar-size': 'sizes.10', + }, + }, + lg: { + root: { + '--avatar-font-size': 'fontSizes.md', + '--avatar-size': 'sizes.11', + }, + }, + xl: { + root: { + '--avatar-font-size': 'fontSizes.lg', + '--avatar-size': 'sizes.12', + }, + }, + '2xl': { + root: { + '--avatar-font-size': 'fontSizes.xl', + '--avatar-size': 'sizes.16', + }, + }, + }, + variant: { + solid: { + root: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + }, + subtle: { + root: { + bg: 'colorPalette.muted', + color: 'colorPalette.fg', + }, + }, + outline: { + root: { + color: 'colorPalette.fg', + borderWidth: '1px', + borderColor: 'colorPalette.muted', + }, + }, + }, + shape: { + square: {}, + rounded: { + root: { + '--avatar-radius': 'radii.l3', + }, + }, + full: { + root: { + '--avatar-radius': 'radii.full', + }, + }, + }, + borderless: { + true: { + root: { + '&[data-group-item]': { + borderWidth: '0px', + }, + }, + }, + }, + }, + defaultVariants: { + size: 'md', + shape: 'full', + variant: 'subtle', + }, + }, + blockquote: { + className: 'chakra-blockquote', + slots: ['root', 'icon', 'content', 'caption'], + base: { + root: { + position: 'relative', + display: 'flex', + flexDirection: 'column', + gap: '2', + }, + caption: { + textStyle: 'sm', + color: 'fg.muted', + }, + icon: { + boxSize: '5', + }, + }, + variants: { + justify: { + start: { + root: { + alignItems: 'flex-start', + textAlign: 'start', + }, + }, + center: { + root: { + alignItems: 'center', + textAlign: 'center', + }, + }, + end: { + root: { + alignItems: 'flex-end', + textAlign: 'end', + }, + }, + }, + variant: { + subtle: { + root: { + paddingX: '5', + borderStartWidth: '4px', + borderStartColor: 'colorPalette.muted', + }, + icon: { + color: 'colorPalette.fg', + }, + }, + solid: { + root: { + paddingX: '5', + borderStartWidth: '4px', + borderStartColor: 'colorPalette.solid', + }, + icon: { + color: 'colorPalette.solid', + }, + }, + plain: { + root: { + paddingX: '5', + }, + icon: { + color: 'colorPalette.solid', + }, + }, + }, + }, + defaultVariants: { + variant: 'subtle', + justify: 'start', + }, + }, + breadcrumb: { + className: 'chakra-breadcrumb', + slots: [ + 'link', + 'currentLink', + 'item', + 'list', + 'root', + 'ellipsis', + 'separator', + ], + base: { + list: { + display: 'flex', + alignItems: 'center', + wordBreak: 'break-word', + color: 'fg.muted', + }, + link: { + outline: '0', + textDecoration: 'none', + borderRadius: 'l1', + focusRing: 'outside', + display: 'inline-flex', + alignItems: 'center', + gap: '2', + }, + item: { + display: 'inline-flex', + alignItems: 'center', + }, + separator: { + color: 'fg.muted', + opacity: '0.8', + _icon: { + boxSize: '1em', + }, + }, + ellipsis: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + _icon: { + boxSize: '1em', + }, + }, + }, + variants: { + variant: { + underline: { + link: { + color: 'colorPalette.fg', + textDecoration: 'underline', + textUnderlineOffset: '0.2em', + textDecorationColor: 'colorPalette.muted', + }, + currentLink: { + color: 'colorPalette.fg', + }, + }, + plain: { + link: { + color: 'fg.muted', + _hover: { + color: 'fg', + }, + }, + currentLink: { + color: 'fg', + }, + }, + }, + size: { + sm: { + list: { + gap: '1', + textStyle: 'xs', + }, + }, + md: { + list: { + gap: '1.5', + textStyle: 'sm', + }, + }, + lg: { + list: { + gap: '2', + textStyle: 'md', + }, + }, + }, + }, + defaultVariants: { + variant: 'plain', + size: 'md', + }, + }, + card: { + className: 'chakra-card', + slots: ['root', 'header', 'body', 'footer', 'title', 'description'], + base: { + root: { + display: 'flex', + flexDirection: 'column', + position: 'relative', + minWidth: '0', + wordWrap: 'break-word', + borderRadius: 'l3', + color: 'fg', + textAlign: 'start', + }, + title: { + fontWeight: 'semibold', + }, + description: { + color: 'fg.muted', + fontSize: 'sm', + }, + header: { + paddingInline: 'var(--card-padding)', + paddingTop: 'var(--card-padding)', + display: 'flex', + flexDirection: 'column', + gap: '1.5', + }, + body: { + padding: 'var(--card-padding)', + flex: '1', + display: 'flex', + flexDirection: 'column', + }, + footer: { + display: 'flex', + alignItems: 'center', + gap: '2', + paddingInline: 'var(--card-padding)', + paddingBottom: 'var(--card-padding)', + }, + }, + variants: { + size: { + sm: { + root: { + '--card-padding': 'spacing.4', + }, + title: { + textStyle: 'md', + }, + }, + md: { + root: { + '--card-padding': 'spacing.6', + }, + title: { + textStyle: 'lg', + }, + }, + lg: { + root: { + '--card-padding': 'spacing.7', + }, + title: { + textStyle: 'xl', + }, + }, + }, + variant: { + elevated: { + root: { + bg: 'bg.panel', + boxShadow: 'md', + }, + }, + outline: { + root: { + bg: 'bg.panel', + borderWidth: '1px', + borderColor: 'border', + }, + }, + subtle: { + root: { + bg: 'bg.muted', + }, + }, + }, + }, + defaultVariants: { + variant: 'outline', + size: 'md', + }, + }, + checkbox: { + slots: ['root', 'label', 'control', 'indicator', 'group'], + className: 'chakra-checkbox', + base: { + root: { + display: 'inline-flex', + gap: '2', + alignItems: 'center', + verticalAlign: 'top', + position: 'relative', + }, + control: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: '0', + color: 'white', + borderWidth: '1px', + borderColor: 'transparent', + borderRadius: 'l1', + focusVisibleRing: 'outside', + _icon: { + boxSize: 'full', + }, + _invalid: { + colorPalette: 'red', + borderColor: 'border.error', + }, + _disabled: { + opacity: '0.5', + }, + }, + label: { + fontWeight: 'medium', + userSelect: 'none', + _disabled: { + opacity: '0.5', + }, + }, + }, + variants: { + size: { + xs: { + root: { + gap: '1.5', + }, + label: { + textStyle: 'xs', + }, + control: { + boxSize: '3', + }, + }, + sm: { + root: { + gap: '2', + }, + label: { + textStyle: 'sm', + }, + control: { + boxSize: '4', + }, + }, + md: { + root: { + gap: '2.5', + }, + label: { + textStyle: 'sm', + }, + control: { + boxSize: '5', + p: '0.5', + }, + }, + lg: { + root: { + gap: '3', + }, + label: { + textStyle: 'md', + }, + control: { + boxSize: '6', + p: '0.5', + }, + }, + }, + variant: { + outline: { + control: { + borderColor: 'border', + '&:is([data-state=checked], [data-state=indeterminate])': { + color: 'colorPalette.fg', + borderColor: 'colorPalette.solid', + }, + }, + }, + solid: { + control: { + borderColor: 'border', + '&:is([data-state=checked], [data-state=indeterminate])': { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + }, + subtle: { + control: { + bg: 'colorPalette.muted', + borderColor: 'colorPalette.muted', + '&:is([data-state=checked], [data-state=indeterminate])': { + color: 'colorPalette.fg', + }, + }, + }, + }, + }, + defaultVariants: { + variant: 'solid', + size: 'md', + }, + }, + checkboxCard: { + slots: [ + 'root', + 'control', + 'label', + 'description', + 'addon', + 'indicator', + 'content', + ], + className: 'chakra-checkbox-card', + base: { + root: { + display: 'flex', + flexDirection: 'column', + userSelect: 'none', + position: 'relative', + borderRadius: 'l2', + flex: '1', + focusVisibleRing: 'outside', + _disabled: { + opacity: '0.8', + borderColor: 'border.subtle', + }, + _invalid: { + outline: '2px solid', + outlineColor: 'border.error', + }, + }, + control: { + display: 'inline-flex', + flex: '1', + position: 'relative', + borderRadius: 'inherit', + justifyContent: 'var(--checkbox-card-justify)', + alignItems: 'var(--checkbox-card-align)', + }, + label: { + fontWeight: 'medium', + display: 'flex', + alignItems: 'center', + gap: '2', + _disabled: { + opacity: '0.5', + }, + }, + description: { + opacity: '0.64', + textStyle: 'sm', + }, + addon: { + _disabled: { + opacity: '0.5', + }, + }, + indicator: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: '0', + color: 'white', + borderWidth: '1px', + borderColor: 'transparent', + borderRadius: 'l1', + focusVisibleRing: 'outside', + _icon: { + boxSize: 'full', + }, + _invalid: { + colorPalette: 'red', + borderColor: 'border.error', + }, + _disabled: { + opacity: '0.5', + }, + }, + content: { + display: 'flex', + flexDirection: 'column', + flex: '1', + gap: '1', + justifyContent: 'var(--checkbox-card-justify)', + alignItems: 'var(--checkbox-card-align)', + }, + }, + variants: { + size: { + sm: { + root: { + textStyle: 'sm', + }, + control: { + padding: '3', + gap: '1.5', + }, + addon: { + px: '3', + py: '1.5', + borderTopWidth: '1px', + }, + indicator: { + boxSize: '4', + }, + }, + md: { + root: { + textStyle: 'sm', + }, + control: { + padding: '4', + gap: '2.5', + }, + addon: { + px: '4', + py: '2', + borderTopWidth: '1px', + }, + indicator: { + boxSize: '5', + p: '0.5', + }, + }, + lg: { + root: { + textStyle: 'md', + }, + control: { + padding: '4', + gap: '3.5', + }, + addon: { + px: '4', + py: '2', + borderTopWidth: '1px', + }, + indicator: { + boxSize: '6', + p: '0.5', + }, + }, + }, + variant: { + surface: { + root: { + borderWidth: '1px', + borderColor: 'border', + _checked: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + borderColor: 'colorPalette.muted', + }, + _disabled: { + bg: 'bg.muted', + }, + }, + indicator: { + borderColor: 'border', + '&:is([data-state=checked], [data-state=indeterminate])': { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + }, + subtle: { + root: { + bg: 'bg.muted', + }, + control: { + _checked: { + bg: 'colorPalette.muted', + color: 'colorPalette.fg', + }, + }, + indicator: { + '&:is([data-state=checked], [data-state=indeterminate])': { + color: 'colorPalette.fg', + }, + }, + }, + outline: { + root: { + borderWidth: '1px', + borderColor: 'border', + _checked: { + boxShadow: '0 0 0 1px var(--shadow-color)', + boxShadowColor: 'colorPalette.solid', + borderColor: 'colorPalette.solid', + }, + }, + indicator: { + borderColor: 'border', + '&:is([data-state=checked], [data-state=indeterminate])': { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + }, + solid: { + root: { + borderWidth: '1px', + _checked: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + indicator: { + borderColor: 'border', + color: 'colorPalette.fg', + '&:is([data-state=checked], [data-state=indeterminate])': { + borderColor: 'colorPalette.solid', + }, + }, + }, + }, + justify: { + start: { + root: { + '--checkbox-card-justify': 'flex-start', + }, + }, + end: { + root: { + '--checkbox-card-justify': 'flex-end', + }, + }, + center: { + root: { + '--checkbox-card-justify': 'center', + }, + }, + }, + align: { + start: { + root: { + '--checkbox-card-align': 'flex-start', + }, + content: { + textAlign: 'start', + }, + }, + end: { + root: { + '--checkbox-card-align': 'flex-end', + }, + content: { + textAlign: 'end', + }, + }, + center: { + root: { + '--checkbox-card-align': 'center', + }, + content: { + textAlign: 'center', + }, + }, + }, + orientation: { + vertical: { + control: { + flexDirection: 'column', + }, + }, + horizontal: { + control: { + flexDirection: 'row', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + align: 'start', + orientation: 'horizontal', + }, + }, + collapsible: { + slots: ['root', 'trigger', 'content'], + className: 'chakra-collapsible', + base: { + content: { + overflow: 'hidden', + _open: { + animationName: 'expand-height, fade-in', + animationDuration: 'moderate', + }, + _closed: { + animationName: 'collapse-height, fade-out', + animationDuration: 'moderate', + }, + }, + }, + }, + dataList: { + slots: ['root', 'item', 'itemLabel', 'itemValue'], + className: 'chakra-data-list', + base: { + itemLabel: { + display: 'flex', + alignItems: 'center', + gap: '1', + }, + itemValue: { + display: 'flex', + minWidth: '0', + flex: '1', + }, + }, + variants: { + orientation: { + horizontal: { + root: { + display: 'flex', + flexDirection: 'column', + }, + item: { + display: 'inline-flex', + alignItems: 'center', + gap: '4', + }, + itemLabel: { + minWidth: '120px', + }, + }, + vertical: { + root: { + display: 'flex', + flexDirection: 'column', + }, + item: { + display: 'flex', + flexDirection: 'column', + gap: '1', + }, + }, + }, + size: { + sm: { + root: { + gap: '3', + }, + item: { + textStyle: 'xs', + }, + }, + md: { + root: { + gap: '4', + }, + item: { + textStyle: 'sm', + }, + }, + lg: { + root: { + gap: '5', + }, + item: { + textStyle: 'md', + }, + }, + }, + variant: { + subtle: { + itemLabel: { + color: 'fg.muted', + }, + }, + bold: { + itemLabel: { + fontWeight: 'medium', + }, + itemValue: { + color: 'fg.muted', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + orientation: 'vertical', + variant: 'subtle', + }, + }, + dialog: { + slots: [ + 'trigger', + 'backdrop', + 'positioner', + 'content', + 'title', + 'description', + 'closeTrigger', + 'header', + 'body', + 'footer', + 'backdrop', + ], + className: 'chakra-dialog', + base: { + backdrop: { + bg: 'blackAlpha.500', + pos: 'fixed', + left: 0, + top: 0, + w: '100vw', + h: '100dvh', + zIndex: 'modal', + _open: { + animationName: 'fade-in', + animationDuration: 'slow', + }, + _closed: { + animationName: 'fade-out', + animationDuration: 'moderate', + }, + }, + positioner: { + display: 'flex', + width: '100vw', + height: '100dvh', + position: 'fixed', + left: 0, + top: 0, + '--dialog-z-index': 'zIndex.modal', + zIndex: 'calc(var(--dialog-z-index) + var(--layer-index, 0))', + justifyContent: 'center', + overscrollBehaviorY: 'none', + }, + content: { + display: 'flex', + flexDirection: 'column', + position: 'relative', + width: '100%', + outline: 0, + borderRadius: 'l3', + textStyle: 'sm', + my: 'var(--dialog-margin, var(--dialog-base-margin))', + '--dialog-z-index': 'zIndex.modal', + zIndex: 'calc(var(--dialog-z-index) + var(--layer-index, 0))', + bg: 'bg.panel', + boxShadow: 'lg', + _open: { + animationDuration: 'moderate', + }, + _closed: { + animationDuration: 'faster', + }, + }, + header: { + flex: 0, + px: '6', + pt: '6', + pb: '4', + }, + body: { + flex: '1', + px: '6', + pt: '2', + pb: '6', + }, + footer: { + display: 'flex', + alignItems: 'center', + justifyContent: 'flex-end', + gap: '3', + px: '6', + pt: '2', + pb: '4', + }, + title: { + textStyle: 'lg', + fontWeight: 'semibold', + }, + description: { + color: 'fg.muted', + }, + }, + variants: { + placement: { + center: { + positioner: { + alignItems: 'center', + }, + content: { + '--dialog-base-margin': 'auto', + mx: 'auto', + }, + }, + top: { + positioner: { + alignItems: 'flex-start', + }, + content: { + '--dialog-base-margin': 'spacing.16', + mx: 'auto', + }, + }, + bottom: { + positioner: { + alignItems: 'flex-end', + }, + content: { + '--dialog-base-margin': 'spacing.16', + mx: 'auto', + }, + }, + }, + scrollBehavior: { + inside: { + positioner: { + overflow: 'hidden', + }, + content: { + maxH: 'calc(100% - 7.5rem)', + }, + body: { + overflow: 'auto', + }, + }, + outside: { + positioner: { + overflow: 'auto', + pointerEvents: 'auto', + }, + }, + }, + size: { + xs: { + content: { + maxW: 'sm', + }, + }, + sm: { + content: { + maxW: 'md', + }, + }, + md: { + content: { + maxW: 'lg', + }, + }, + lg: { + content: { + maxW: '2xl', + }, + }, + xl: { + content: { + maxW: '4xl', + }, + }, + cover: { + positioner: { + padding: '10', + }, + content: { + width: '100%', + height: '100%', + '--dialog-margin': '0', + }, + }, + full: { + content: { + maxW: '100vw', + minH: '100vh', + '--dialog-margin': '0', + borderRadius: '0', + }, + }, + }, + motionPreset: { + scale: { + content: { + _open: { + animationName: 'scale-in, fade-in', + }, + _closed: { + animationName: 'scale-out, fade-out', + }, + }, + }, + 'slide-in-bottom': { + content: { + _open: { + animationName: 'slide-from-bottom, fade-in', + }, + _closed: { + animationName: 'slide-to-bottom, fade-out', + }, + }, + }, + 'slide-in-top': { + content: { + _open: { + animationName: 'slide-from-top, fade-in', + }, + _closed: { + animationName: 'slide-to-top, fade-out', + }, + }, + }, + 'slide-in-left': { + content: { + _open: { + animationName: 'slide-from-left, fade-in', + }, + _closed: { + animationName: 'slide-to-left, fade-out', + }, + }, + }, + 'slide-in-right': { + content: { + _open: { + animationName: 'slide-from-right, fade-in', + }, + _closed: { + animationName: 'slide-to-right, fade-out', + }, + }, + }, + none: {}, + }, + }, + defaultVariants: { + size: 'md', + scrollBehavior: 'outside', + placement: 'top', + motionPreset: 'scale', + }, + }, + drawer: { + slots: [ + 'trigger', + 'backdrop', + 'positioner', + 'content', + 'title', + 'description', + 'closeTrigger', + 'header', + 'body', + 'footer', + 'backdrop', + ], + className: 'chakra-drawer', + base: { + backdrop: { + bg: 'blackAlpha.500', + pos: 'fixed', + insetInlineStart: 0, + top: 0, + w: '100vw', + h: '100dvh', + zIndex: 'modal', + _open: { + animationName: 'fade-in', + animationDuration: 'slow', + }, + _closed: { + animationName: 'fade-out', + animationDuration: 'moderate', + }, + }, + positioner: { + display: 'flex', + width: '100vw', + height: '100dvh', + position: 'fixed', + insetInlineStart: 0, + top: 0, + zIndex: 'modal', + overscrollBehaviorY: 'none', + }, + content: { + display: 'flex', + flexDirection: 'column', + position: 'relative', + width: '100%', + outline: 0, + zIndex: 'modal', + textStyle: 'sm', + maxH: '100dvh', + color: 'inherit', + bg: 'bg.panel', + boxShadow: 'lg', + _open: { + animationDuration: 'slowest', + animationTimingFunction: 'ease-in-smooth', + }, + _closed: { + animationDuration: 'slower', + animationTimingFunction: 'ease-in-smooth', + }, + }, + header: { + flex: 0, + px: '6', + pt: '6', + pb: '4', + }, + body: { + px: '6', + py: '2', + flex: '1', + overflow: 'auto', + }, + footer: { + display: 'flex', + alignItems: 'center', + justifyContent: 'flex-end', + gap: '3', + px: '6', + pt: '2', + pb: '4', + }, + title: { + textStyle: 'lg', + fontWeight: 'semibold', + }, + description: { + color: 'fg.muted', + }, + }, + variants: { + size: { + xs: { + content: { + maxW: 'xs', + }, + }, + sm: { + content: { + maxW: 'md', + }, + }, + md: { + content: { + maxW: 'lg', + }, + }, + lg: { + content: { + maxW: '2xl', + }, + }, + xl: { + content: { + maxW: '4xl', + }, + }, + full: { + content: { + maxW: '100vw', + h: '100dvh', + }, + }, + }, + placement: { + start: { + positioner: { + justifyContent: 'flex-start', + }, + content: { + _open: { + animationName: { + base: 'slide-from-left-full, fade-in', + _rtl: 'slide-from-right-full, fade-in', + }, + }, + _closed: { + animationName: { + base: 'slide-to-left-full, fade-out', + _rtl: 'slide-to-right-full, fade-out', + }, + }, + }, + }, + end: { + positioner: { + justifyContent: 'flex-end', + }, + content: { + _open: { + animationName: { + base: 'slide-from-right-full, fade-in', + _rtl: 'slide-from-left-full, fade-in', + }, + }, + _closed: { + animationName: { + base: 'slide-to-right-full, fade-out', + _rtl: 'slide-to-right-full, fade-out', + }, + }, + }, + }, + top: { + positioner: { + alignItems: 'flex-start', + }, + content: { + maxW: '100%', + _open: { + animationName: 'slide-from-top-full, fade-in', + }, + _closed: { + animationName: 'slide-to-top-full, fade-out', + }, + }, + }, + bottom: { + positioner: { + alignItems: 'flex-end', + }, + content: { + maxW: '100%', + _open: { + animationName: 'slide-from-bottom-full, fade-in', + }, + _closed: { + animationName: 'slide-to-bottom-full, fade-out', + }, + }, + }, + }, + contained: { + true: { + positioner: { + padding: '4', + }, + content: { + borderRadius: 'l3', + }, + }, + }, + }, + defaultVariants: { + size: 'xs', + placement: 'end', + }, + }, + editable: { + slots: [ + 'root', + 'area', + 'label', + 'preview', + 'input', + 'editTrigger', + 'submitTrigger', + 'cancelTrigger', + 'control', + 'textarea', + ], + className: 'chakra-editable', + base: { + root: { + display: 'inline-flex', + alignItems: 'center', + position: 'relative', + gap: '1.5', + width: 'full', + }, + preview: { + fontSize: 'inherit', + fontWeight: 'inherit', + textAlign: 'inherit', + bg: 'transparent', + borderRadius: 'l2', + py: '1', + px: '1', + display: 'inline-flex', + alignItems: 'center', + transitionProperty: 'common', + transitionDuration: 'normal', + cursor: 'text', + _hover: { + bg: 'bg.muted', + }, + _disabled: { + userSelect: 'none', + }, + }, + input: { + fontSize: 'inherit', + fontWeight: 'inherit', + textAlign: 'inherit', + bg: 'transparent', + borderRadius: 'l2', + outline: '0', + py: '1', + px: '1', + transitionProperty: 'common', + transitionDuration: 'normal', + width: 'full', + focusVisibleRing: 'inside', + focusRingWidth: '2px', + _placeholder: { + opacity: 0.6, + }, + }, + control: { + display: 'inline-flex', + alignItems: 'center', + gap: '1.5', + }, + }, + variants: { + size: { + sm: { + root: { + textStyle: 'sm', + }, + preview: { + minH: '8', + }, + input: { + minH: '8', + }, + }, + md: { + root: { + textStyle: 'sm', + }, + preview: { + minH: '9', + }, + input: { + minH: '9', + }, + }, + lg: { + root: { + textStyle: 'md', + }, + preview: { + minH: '10', + }, + input: { + minH: '10', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + emptyState: { + slots: ['root', 'content', 'indicator', 'title', 'description'], + className: 'chakra-empty-state', + base: { + root: { + width: 'full', + }, + content: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + }, + indicator: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + color: 'fg.subtle', + _icon: { + boxSize: '1em', + }, + }, + title: { + fontWeight: 'semibold', + }, + description: { + textStyle: 'sm', + color: 'fg.muted', + }, + }, + variants: { + size: { + sm: { + root: { + px: '4', + py: '6', + }, + title: { + textStyle: 'md', + }, + content: { + gap: '4', + }, + indicator: { + textStyle: '2xl', + }, + }, + md: { + root: { + px: '8', + py: '12', + }, + title: { + textStyle: 'lg', + }, + content: { + gap: '6', + }, + indicator: { + textStyle: '4xl', + }, + }, + lg: { + root: { + px: '12', + py: '16', + }, + title: { + textStyle: 'xl', + }, + content: { + gap: '8', + }, + indicator: { + textStyle: '6xl', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + field: { + className: 'chakra-field', + slots: [ + 'root', + 'errorText', + 'helperText', + 'input', + 'label', + 'select', + 'textarea', + 'requiredIndicator', + 'requiredIndicator', + ], + base: { + requiredIndicator: { + color: 'fg.error', + lineHeight: '1', + }, + root: { + display: 'flex', + width: '100%', + position: 'relative', + gap: '1.5', + }, + label: { + display: 'flex', + alignItems: 'center', + textAlign: 'start', + textStyle: 'sm', + fontWeight: 'medium', + gap: '1', + userSelect: 'none', + _disabled: { + opacity: '0.5', + }, + }, + errorText: { + display: 'inline-flex', + alignItems: 'center', + fontWeight: 'medium', + gap: '1', + color: 'fg.error', + textStyle: 'xs', + }, + helperText: { + color: 'fg.muted', + textStyle: 'xs', + }, + }, + variants: { + orientation: { + vertical: { + root: { + flexDirection: 'column', + alignItems: 'flex-start', + }, + }, + horizontal: { + root: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + }, + label: { + flex: '0 0 var(--field-label-width, 80px)', + }, + }, + }, + }, + defaultVariants: { + orientation: 'vertical', + }, + }, + fieldset: { + className: 'fieldset', + slots: ['root', 'errorText', 'helperText', 'legend', 'content'], + base: { + root: { + display: 'flex', + flexDirection: 'column', + width: 'full', + }, + content: { + display: 'flex', + flexDirection: 'column', + width: 'full', + }, + legend: { + color: 'fg', + fontWeight: 'medium', + _disabled: { + opacity: '0.5', + }, + }, + helperText: { + color: 'fg.muted', + textStyle: 'sm', + }, + errorText: { + display: 'inline-flex', + alignItems: 'center', + color: 'fg.error', + gap: '2', + fontWeight: 'medium', + textStyle: 'sm', + }, + }, + variants: { + size: { + sm: { + root: { + spaceY: '2', + }, + content: { + gap: '1.5', + }, + legend: { + textStyle: 'sm', + }, + }, + md: { + root: { + spaceY: '4', + }, + content: { + gap: '4', + }, + legend: { + textStyle: 'sm', + }, + }, + lg: { + root: { + spaceY: '6', + }, + content: { + gap: '4', + }, + legend: { + textStyle: 'md', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + fileUpload: { + className: 'chakra-file-upload', + slots: [ + 'root', + 'dropzone', + 'item', + 'itemDeleteTrigger', + 'itemGroup', + 'itemName', + 'itemPreview', + 'itemPreviewImage', + 'itemSizeText', + 'label', + 'trigger', + 'clearTrigger', + 'itemContent', + 'dropzoneContent', + ], + base: { + root: { + display: 'flex', + flexDirection: 'column', + gap: '4', + width: '100%', + alignItems: 'flex-start', + }, + label: { + fontWeight: 'medium', + textStyle: 'sm', + }, + dropzone: { + background: 'bg', + borderRadius: 'l3', + borderWidth: '2px', + borderStyle: 'dashed', + display: 'flex', + alignItems: 'center', + flexDirection: 'column', + gap: '4', + justifyContent: 'center', + minHeight: '2xs', + px: '3', + py: '2', + transition: 'backgrounds', + focusVisibleRing: 'outside', + _hover: { + bg: 'bg.subtle', + }, + _dragging: { + bg: 'colorPalette.subtle', + borderStyle: 'solid', + borderColor: 'colorPalette.solid', + }, + }, + dropzoneContent: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + textAlign: 'center', + gap: '1', + textStyle: 'sm', + }, + item: { + textStyle: 'sm', + animationName: 'fade-in', + animationDuration: 'moderate', + background: 'bg', + borderRadius: 'l2', + borderWidth: '1px', + width: '100%', + display: 'flex', + alignItems: 'center', + gap: '3', + p: '4', + }, + itemGroup: { + width: '100%', + display: 'flex', + flexDirection: 'column', + gap: '3', + }, + itemName: { + color: 'fg', + fontWeight: 'medium', + lineClamp: '1', + }, + itemContent: { + display: 'flex', + flexDirection: 'column', + gap: '0.5', + flex: '1', + }, + itemSizeText: { + color: 'fg.muted', + textStyle: 'xs', + }, + itemDeleteTrigger: { + alignSelf: 'flex-start', + }, + itemPreviewImage: { + width: '10', + height: '10', + objectFit: 'scale-down', + }, + }, + defaultVariants: {}, + }, + hoverCard: { + className: 'chakra-hover-card', + slots: ['arrow', 'arrowTip', 'trigger', 'positioner', 'content'], + base: { + content: { + position: 'relative', + display: 'flex', + flexDirection: 'column', + textStyle: 'sm', + '--hovercard-bg': 'colors.bg.panel', + bg: 'var(--hovercard-bg)', + boxShadow: 'lg', + maxWidth: '80', + borderRadius: 'l3', + zIndex: 'popover', + transformOrigin: 'var(--transform-origin)', + outline: '0', + _open: { + animationStyle: 'slide-fade-in', + animationDuration: 'fast', + }, + _closed: { + animationStyle: 'slide-fade-out', + animationDuration: 'faster', + }, + }, + arrow: { + '--arrow-size': 'sizes.3', + '--arrow-background': 'var(--hovercard-bg)', + }, + arrowTip: { + borderTopWidth: '0.5px', + borderInlineStartWidth: '0.5px', + }, + }, + variants: { + size: { + xs: { + content: { + padding: '3', + }, + }, + sm: { + content: { + padding: '4', + }, + }, + md: { + content: { + padding: '5', + }, + }, + lg: { + content: { + padding: '6', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + list: { + className: 'chakra-list', + slots: ['root', 'item', 'indicator'], + base: { + root: { + display: 'flex', + flexDirection: 'column', + gap: 'var(--list-gap)', + '& :where(ul, ol)': { + marginTop: 'var(--list-gap)', + }, + }, + item: { + whiteSpace: 'normal', + display: 'list-item', + }, + indicator: { + marginEnd: '2', + minHeight: '1lh', + flexShrink: 0, + display: 'inline-block', + verticalAlign: 'middle', + }, + }, + variants: { + variant: { + marker: { + root: { + listStyle: 'revert', + listStylePosition: 'inside', + }, + item: { + _marker: { + color: 'fg.subtle', + }, + }, + }, + plain: { + item: { + alignItems: 'flex-start', + display: 'inline-flex', + }, + }, + }, + align: { + center: { + item: { + alignItems: 'center', + }, + }, + start: { + item: { + alignItems: 'flex-start', + }, + }, + end: { + item: { + alignItems: 'flex-end', + }, + }, + }, + }, + defaultVariants: { + variant: 'marker', + }, + }, + menu: { + className: 'chakra-menu', + slots: [ + 'arrow', + 'arrowTip', + 'content', + 'contextTrigger', + 'indicator', + 'item', + 'itemGroup', + 'itemGroupLabel', + 'itemIndicator', + 'itemText', + 'positioner', + 'separator', + 'trigger', + 'triggerItem', + 'itemCommand', + ], + base: { + content: { + outline: 0, + bg: 'bg.panel', + boxShadow: 'lg', + color: 'fg', + maxHeight: 'var(--available-height)', + '--menu-z-index': 'zIndex.dropdown', + zIndex: 'calc(var(--menu-z-index) + var(--layer-index, 0))', + borderRadius: 'l2', + overflow: 'hidden', + overflowY: 'auto', + _open: { + animationStyle: 'slide-fade-in', + animationDuration: 'fast', + }, + _closed: { + animationStyle: 'slide-fade-out', + animationDuration: 'faster', + }, + }, + item: { + textDecoration: 'none', + color: 'fg', + userSelect: 'none', + borderRadius: 'l1', + width: '100%', + display: 'flex', + cursor: 'menuitem', + alignItems: 'center', + textAlign: 'start', + position: 'relative', + flex: '0 0 auto', + outline: 0, + _disabled: { + layerStyle: 'disabled', + }, + }, + itemText: { + flex: '1', + }, + itemGroupLabel: { + px: '2', + py: '1.5', + fontWeight: 'semibold', + textStyle: 'sm', + }, + indicator: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: '0', + }, + itemCommand: { + opacity: '0.6', + textStyle: 'xs', + ms: 'auto', + ps: '4', + letterSpacing: 'widest', + }, + separator: { + height: '1px', + bg: 'bg.muted', + my: '1', + mx: '-1', + }, + }, + variants: { + variant: { + subtle: { + item: { + _highlighted: { + bg: { + _light: 'bg.muted', + _dark: 'bg.emphasized', + }, + }, + }, + }, + solid: { + item: { + _highlighted: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + }, + }, + }, + size: { + sm: { + content: { + minW: '8rem', + padding: '1', + }, + item: { + gap: '1', + textStyle: 'xs', + py: '1', + px: '1.5', + }, + }, + md: { + content: { + minW: '8rem', + padding: '1.5', + }, + item: { + gap: '2', + textStyle: 'sm', + py: '1.5', + px: '2', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'subtle', + }, + }, + nativeSelect: { + className: 'chakra-native-select', + slots: ['root', 'field', 'indicator'], + base: { + root: { + height: 'fit-content', + display: 'flex', + width: '100%', + position: 'relative', + }, + field: { + width: '100%', + minWidth: '0', + outline: '0', + appearance: 'none', + borderRadius: 'l2', + _disabled: { + layerStyle: 'disabled', + }, + _invalid: { + borderColor: 'border.error', + }, + focusVisibleRing: 'inside', + lineHeight: 'normal', + '& > option, & > optgroup': { + bg: 'inherit', + }, + }, + indicator: { + position: 'absolute', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + pointerEvents: 'none', + top: '50%', + transform: 'translateY(-50%)', + height: '100%', + color: 'fg.muted', + _disabled: { + opacity: '0.5', + }, + _invalid: { + color: 'fg.error', + }, + _icon: { + width: '1em', + height: '1em', + }, + }, + }, + variants: { + variant: { + outline: { + field: { + bg: 'transparent', + borderWidth: '1px', + borderColor: 'border', + _expanded: { + borderColor: 'border.emphasized', + }, + }, + }, + subtle: { + field: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + }, + }, + plain: { + field: { + bg: 'transparent', + color: 'fg', + focusRingWidth: '2px', + }, + }, + }, + size: { + xs: { + field: { + textStyle: 'xs', + ps: '2', + pe: '6', + height: '6', + }, + indicator: { + textStyle: 'sm', + insetEnd: '1.5', + }, + }, + sm: { + field: { + textStyle: 'sm', + ps: '2.5', + pe: '8', + height: '8', + }, + indicator: { + textStyle: 'md', + insetEnd: '2', + }, + }, + md: { + field: { + textStyle: 'sm', + ps: '3', + pe: '8', + height: '10', + }, + indicator: { + textStyle: 'lg', + insetEnd: '2', + }, + }, + lg: { + field: { + textStyle: 'md', + ps: '4', + pe: '8', + height: '11', + }, + indicator: { + textStyle: 'xl', + insetEnd: '3', + }, + }, + xl: { + field: { + textStyle: 'md', + ps: '4.5', + pe: '10', + height: '12', + }, + indicator: { + textStyle: 'xl', + insetEnd: '3', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + numberInput: { + className: 'chakra-number-input', + slots: [ + 'root', + 'label', + 'input', + 'control', + 'valueText', + 'incrementTrigger', + 'decrementTrigger', + 'scrubber', + ], + base: { + root: { + position: 'relative', + zIndex: '0', + isolation: 'isolate', + }, + input: { + width: '100%', + minWidth: '0', + outline: '0', + position: 'relative', + appearance: 'none', + textAlign: 'start', + borderRadius: 'l2', + _disabled: { + layerStyle: 'disabled', + }, + height: 'var(--input-height)', + minW: 'var(--input-height)', + '--focus-color': 'colors.colorPalette.focusRing', + '--error-color': 'colors.border.error', + _invalid: { + focusRingColor: 'var(--error-color)', + borderColor: 'var(--error-color)', + }, + verticalAlign: 'top', + pe: 'calc(var(--stepper-width) + 0.5rem)', + }, + control: { + display: 'flex', + flexDirection: 'column', + position: 'absolute', + top: '0', + insetEnd: '0px', + margin: '1px', + width: 'var(--stepper-width)', + height: 'calc(100% - 2px)', + zIndex: '1', + borderStartWidth: '1px', + divideY: '1px', + }, + incrementTrigger: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flex: '1', + userSelect: 'none', + cursor: 'button', + lineHeight: '1', + color: 'fg.muted', + '--stepper-base-radius': 'radii.l1', + '--stepper-radius': 'calc(var(--stepper-base-radius) + 1px)', + _icon: { + boxSize: '1em', + }, + _disabled: { + opacity: '0.5', + }, + _hover: { + bg: 'bg.muted', + }, + _active: { + bg: 'bg.emphasized', + }, + borderTopEndRadius: 'var(--stepper-radius)', + }, + decrementTrigger: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flex: '1', + userSelect: 'none', + cursor: 'button', + lineHeight: '1', + color: 'fg.muted', + '--stepper-base-radius': 'radii.l1', + '--stepper-radius': 'calc(var(--stepper-base-radius) + 1px)', + _icon: { + boxSize: '1em', + }, + _disabled: { + opacity: '0.5', + }, + _hover: { + bg: 'bg.muted', + }, + _active: { + bg: 'bg.emphasized', + }, + borderBottomEndRadius: 'var(--stepper-radius)', + }, + valueText: { + fontWeight: 'medium', + fontFeatureSettings: 'pnum', + fontVariantNumeric: 'proportional-nums', + }, + }, + variants: { + size: { + xs: { + input: { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.8', + }, + control: { + fontSize: '2xs', + '--stepper-width': 'sizes.4', + }, + }, + sm: { + input: { + textStyle: 'sm', + px: '2.5', + '--input-height': 'sizes.9', + }, + control: { + fontSize: 'xs', + '--stepper-width': 'sizes.5', + }, + }, + md: { + input: { + textStyle: 'sm', + px: '3', + '--input-height': 'sizes.10', + }, + control: { + fontSize: 'sm', + '--stepper-width': 'sizes.6', + }, + }, + lg: { + input: { + textStyle: 'md', + px: '4', + '--input-height': 'sizes.11', + }, + control: { + fontSize: 'sm', + '--stepper-width': 'sizes.6', + }, + }, + }, + variant: { + outline: { + input: { + bg: 'transparent', + borderWidth: '1px', + borderColor: 'border', + focusVisibleRing: 'inside', + }, + }, + subtle: { + input: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + focusVisibleRing: 'inside', + }, + }, + flushed: { + input: { + bg: 'transparent', + borderBottomWidth: '1px', + borderBottomColor: 'border', + borderRadius: '0', + px: '0', + _focusVisible: { + borderColor: 'var(--focus-color)', + boxShadow: '0px 1px 0px 0px var(--focus-color)', + }, + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + pinInput: { + className: 'chakra-pin-input', + slots: ['root', 'label', 'input', 'control'], + base: { + input: { + width: 'var(--input-height)', + minWidth: '0', + outline: '0', + position: 'relative', + appearance: 'none', + textAlign: 'center', + borderRadius: 'l2', + _disabled: { + layerStyle: 'disabled', + }, + height: 'var(--input-height)', + minW: 'var(--input-height)', + '--focus-color': 'colors.colorPalette.focusRing', + '--error-color': 'colors.border.error', + _invalid: { + focusRingColor: 'var(--error-color)', + borderColor: 'var(--error-color)', + }, + }, + }, + variants: { + size: { + '2xs': { + input: { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.7', + }, + }, + xs: { + input: { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.8', + }, + }, + sm: { + input: { + textStyle: 'sm', + px: '2.5', + '--input-height': 'sizes.9', + }, + }, + md: { + input: { + textStyle: 'sm', + px: '3', + '--input-height': 'sizes.10', + }, + }, + lg: { + input: { + textStyle: 'md', + px: '4', + '--input-height': 'sizes.11', + }, + }, + xl: { + input: { + textStyle: 'md', + px: '4.5', + '--input-height': 'sizes.12', + }, + }, + '2xl': { + input: { + textStyle: 'lg', + px: '5', + '--input-height': 'sizes.16', + }, + }, + }, + variant: { + outline: { + input: { + bg: 'transparent', + borderWidth: '1px', + borderColor: 'border', + focusVisibleRing: 'inside', + }, + }, + subtle: { + input: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + focusVisibleRing: 'inside', + }, + }, + flushed: { + input: { + bg: 'transparent', + borderBottomWidth: '1px', + borderBottomColor: 'border', + borderRadius: '0', + px: '0', + _focusVisible: { + borderColor: 'var(--focus-color)', + boxShadow: '0px 1px 0px 0px var(--focus-color)', + }, + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + popover: { + className: 'chakra-popover', + slots: [ + 'arrow', + 'arrowTip', + 'anchor', + 'trigger', + 'indicator', + 'positioner', + 'content', + 'title', + 'description', + 'closeTrigger', + 'header', + 'body', + 'footer', + ], + base: { + content: { + position: 'relative', + display: 'flex', + flexDirection: 'column', + textStyle: 'sm', + '--popover-bg': 'colors.bg.panel', + bg: 'var(--popover-bg)', + boxShadow: 'lg', + '--popover-size': 'sizes.xs', + '--popover-mobile-size': 'calc(100dvw - 1rem)', + width: { + base: 'min(var(--popover-mobile-size), var(--popover-size))', + sm: 'var(--popover-size)', + }, + borderRadius: 'l3', + '--popover-z-index': 'zIndex.popover', + zIndex: 'calc(var(--popover-z-index) + var(--layer-index, 0))', + outline: '0', + transformOrigin: 'var(--transform-origin)', + _open: { + animationStyle: 'scale-fade-in', + animationDuration: 'fast', + }, + _closed: { + animationStyle: 'scale-fade-out', + animationDuration: 'faster', + }, + }, + header: { + paddingInline: 'var(--popover-padding)', + paddingTop: 'var(--popover-padding)', + }, + body: { + padding: 'var(--popover-padding)', + flex: '1', + }, + footer: { + display: 'flex', + alignItems: 'center', + paddingInline: 'var(--popover-padding)', + paddingBottom: 'var(--popover-padding)', + }, + arrow: { + '--arrow-size': 'sizes.3', + '--arrow-background': 'var(--popover-bg)', + }, + arrowTip: { + borderTopWidth: '1px', + borderInlineStartWidth: '1px', + }, + }, + variants: { + size: { + xs: { + content: { + '--popover-padding': 'spacing.3', + }, + }, + sm: { + content: { + '--popover-padding': 'spacing.4', + }, + }, + md: { + content: { + '--popover-padding': 'spacing.5', + }, + }, + lg: { + content: { + '--popover-padding': 'spacing.6', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + progress: { + slots: [ + 'root', + 'label', + 'track', + 'range', + 'valueText', + 'view', + 'circle', + 'circleTrack', + 'circleRange', + ], + className: 'chakra-progress', + base: { + root: { + textStyle: 'sm', + position: 'relative', + }, + track: { + overflow: 'hidden', + position: 'relative', + }, + range: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + transitionProperty: 'width, height', + transitionDuration: 'slow', + height: '100%', + bgColor: 'var(--track-color)', + _indeterminate: { + '--animate-from-x': '-40%', + '--animate-to-x': '100%', + position: 'absolute', + willChange: 'left', + minWidth: '50%', + animation: 'position 1s ease infinite normal none running', + backgroundImage: + 'linear-gradient(to right, transparent 0%, var(--track-color) 50%, transparent 100%)', + }, + }, + label: { + display: 'inline-flex', + fontWeight: 'medium', + alignItems: 'center', + gap: '1', + }, + valueText: { + textStyle: 'xs', + lineHeight: '1', + fontWeight: 'medium', + }, + }, + variants: { + variant: { + outline: { + track: { + shadow: 'inset', + bgColor: 'bg.muted', + }, + range: { + bgColor: 'colorPalette.solid', + }, + }, + subtle: { + track: { + bgColor: 'colorPalette.muted', + }, + range: { + bgColor: 'colorPalette.solid/72', + }, + }, + }, + shape: { + square: {}, + rounded: { + track: { + borderRadius: 'l1', + }, + }, + full: { + track: { + borderRadius: 'full', + }, + }, + }, + striped: { + true: { + range: { + backgroundImage: + 'linear-gradient(45deg, var(--stripe-color) 25%, transparent 25%, transparent 50%, var(--stripe-color) 50%, var(--stripe-color) 75%, transparent 75%, transparent)', + backgroundSize: 'var(--stripe-size) var(--stripe-size)', + '--stripe-size': '1rem', + '--stripe-color': { + _light: 'rgba(255, 255, 255, 0.3)', + _dark: 'rgba(0, 0, 0, 0.3)', + }, + }, + }, + }, + animated: { + true: { + range: { + '--animate-from': 'var(--stripe-size)', + animation: 'bg-position 1s linear infinite', + }, + }, + }, + size: { + xs: { + track: { + h: '1.5', + }, + }, + sm: { + track: { + h: '2', + }, + }, + md: { + track: { + h: '2.5', + }, + }, + lg: { + track: { + h: '3', + }, + }, + xl: { + track: { + h: '4', + }, + }, + }, + }, + defaultVariants: { + variant: 'outline', + size: 'md', + shape: 'rounded', + }, + }, + progressCircle: { + className: 'chakra-progress-circle', + slots: [ + 'root', + 'label', + 'track', + 'range', + 'valueText', + 'view', + 'circle', + 'circleTrack', + 'circleRange', + ], + base: { + root: { + display: 'inline-flex', + textStyle: 'sm', + position: 'relative', + }, + circle: { + _indeterminate: { + animation: 'spin 2s linear infinite', + }, + }, + circleTrack: { + '--track-color': 'colors.colorPalette.muted', + stroke: 'var(--track-color)', + }, + circleRange: { + stroke: 'colorPalette.solid', + transitionProperty: 'stroke-dasharray', + transitionDuration: '0.6s', + _indeterminate: { + animation: 'circular-progress 1.5s linear infinite', + }, + }, + label: { + display: 'inline-flex', + }, + valueText: { + lineHeight: '1', + fontWeight: 'medium', + letterSpacing: 'tight', + fontVariantNumeric: 'tabular-nums', + }, + }, + variants: { + size: { + xs: { + circle: { + '--size': '24px', + '--thickness': '4px', + }, + valueText: { + textStyle: '2xs', + }, + }, + sm: { + circle: { + '--size': '32px', + '--thickness': '5px', + }, + valueText: { + textStyle: '2xs', + }, + }, + md: { + circle: { + '--size': '40px', + '--thickness': '6px', + }, + valueText: { + textStyle: 'xs', + }, + }, + lg: { + circle: { + '--size': '48px', + '--thickness': '7px', + }, + valueText: { + textStyle: 'sm', + }, + }, + xl: { + circle: { + '--size': '64px', + '--thickness': '8px', + }, + valueText: { + textStyle: 'sm', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + radioCard: { + className: 'chakra-radio-card', + slots: [ + 'root', + 'label', + 'item', + 'itemText', + 'itemControl', + 'indicator', + 'itemAddon', + 'itemIndicator', + 'itemContent', + 'itemDescription', + ], + base: { + root: { + display: 'flex', + flexDirection: 'column', + gap: '1.5', + isolation: 'isolate', + }, + item: { + flex: '1', + display: 'flex', + flexDirection: 'column', + userSelect: 'none', + position: 'relative', + borderRadius: 'l2', + _focus: { + bg: 'colorPalette.muted/20', + }, + _disabled: { + opacity: '0.8', + borderColor: 'border.disabled', + }, + _checked: { + zIndex: '1', + }, + }, + label: { + display: 'inline-flex', + fontWeight: 'medium', + textStyle: 'sm', + _disabled: { + opacity: '0.5', + }, + }, + itemText: { + fontWeight: 'medium', + }, + itemDescription: { + opacity: '0.64', + textStyle: 'sm', + }, + itemControl: { + display: 'inline-flex', + flex: '1', + pos: 'relative', + rounded: 'inherit', + justifyContent: 'var(--radio-card-justify)', + alignItems: 'var(--radio-card-align)', + _disabled: { + bg: 'bg.muted', + }, + }, + itemIndicator: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: 0, + verticalAlign: 'top', + color: 'white', + borderWidth: '1px', + borderColor: 'transparent', + borderRadius: 'full', + cursor: 'radio', + _focusVisible: { + outline: '2px solid', + outlineColor: 'colorPalette.focusRing', + outlineOffset: '2px', + }, + _invalid: { + colorPalette: 'red', + borderColor: 'red.500', + }, + _disabled: { + opacity: '0.5', + cursor: 'disabled', + }, + '& .dot': { + height: '100%', + width: '100%', + borderRadius: 'full', + bg: 'currentColor', + scale: '0.4', + }, + }, + itemAddon: { + roundedBottom: 'inherit', + _disabled: { + color: 'fg.muted', + }, + }, + itemContent: { + display: 'flex', + flexDirection: 'column', + flex: '1', + gap: '1', + justifyContent: 'var(--radio-card-justify)', + alignItems: 'var(--radio-card-align)', + }, + }, + variants: { + size: { + sm: { + item: { + textStyle: 'sm', + }, + itemControl: { + padding: '3', + gap: '1.5', + }, + itemAddon: { + px: '3', + py: '1.5', + borderTopWidth: '1px', + }, + itemIndicator: { + boxSize: '4', + }, + }, + md: { + item: { + textStyle: 'sm', + }, + itemControl: { + padding: '4', + gap: '2.5', + }, + itemAddon: { + px: '4', + py: '2', + borderTopWidth: '1px', + }, + itemIndicator: { + boxSize: '5', + }, + }, + lg: { + item: { + textStyle: 'md', + }, + itemControl: { + padding: '4', + gap: '3.5', + }, + itemAddon: { + px: '4', + py: '2', + borderTopWidth: '1px', + }, + itemIndicator: { + boxSize: '6', + }, + }, + }, + variant: { + surface: { + item: { + borderWidth: '1px', + _checked: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + borderColor: 'colorPalette.muted', + }, + }, + itemIndicator: { + borderWidth: '1px', + borderColor: 'border', + _checked: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + }, + subtle: { + item: { + bg: 'bg.muted', + }, + itemControl: { + _checked: { + bg: 'colorPalette.muted', + color: 'colorPalette.fg', + }, + }, + itemIndicator: { + borderWidth: '1px', + borderColor: 'inherit', + _checked: { + color: 'colorPalette.fg', + borderColor: 'colorPalette.solid', + }, + '& .dot': { + scale: '0.6', + }, + }, + }, + outline: { + item: { + borderWidth: '1px', + _checked: { + boxShadow: '0 0 0 1px var(--shadow-color)', + boxShadowColor: 'colorPalette.solid', + borderColor: 'colorPalette.solid', + }, + }, + itemIndicator: { + borderWidth: '1px', + borderColor: 'border', + _checked: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + }, + solid: { + item: { + borderWidth: '1px', + _checked: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + itemIndicator: { + bg: 'bg', + borderWidth: '1px', + borderColor: 'inherit', + _checked: { + color: 'colorPalette.solid', + borderColor: 'currentcolor', + }, + }, + }, + }, + justify: { + start: { + item: { + '--radio-card-justify': 'flex-start', + }, + }, + end: { + item: { + '--radio-card-justify': 'flex-end', + }, + }, + center: { + item: { + '--radio-card-justify': 'center', + }, + }, + }, + align: { + start: { + item: { + '--radio-card-align': 'flex-start', + }, + itemControl: { + textAlign: 'start', + }, + }, + end: { + item: { + '--radio-card-align': 'flex-end', + }, + itemControl: { + textAlign: 'end', + }, + }, + center: { + item: { + '--radio-card-align': 'center', + }, + itemControl: { + textAlign: 'center', + }, + }, + }, + orientation: { + vertical: { + itemControl: { + flexDirection: 'column', + }, + }, + horizontal: { + itemControl: { + flexDirection: 'row', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + align: 'start', + orientation: 'horizontal', + }, + }, + radioGroup: { + className: 'chakra-radio-group', + slots: [ + 'root', + 'label', + 'item', + 'itemText', + 'itemControl', + 'indicator', + 'itemAddon', + 'itemIndicator', + ], + base: { + item: { + display: 'inline-flex', + alignItems: 'center', + position: 'relative', + fontWeight: 'medium', + _disabled: { + cursor: 'disabled', + }, + }, + itemControl: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: 0, + verticalAlign: 'top', + color: 'white', + borderWidth: '1px', + borderColor: 'transparent', + borderRadius: 'full', + cursor: 'radio', + _focusVisible: { + outline: '2px solid', + outlineColor: 'colorPalette.focusRing', + outlineOffset: '2px', + }, + _invalid: { + colorPalette: 'red', + borderColor: 'red.500', + }, + _disabled: { + opacity: '0.5', + cursor: 'disabled', + }, + '& .dot': { + height: '100%', + width: '100%', + borderRadius: 'full', + bg: 'currentColor', + scale: '0.4', + }, + }, + label: { + userSelect: 'none', + textStyle: 'sm', + _disabled: { + opacity: '0.5', + }, + }, + }, + variants: { + variant: { + outline: { + itemControl: { + borderWidth: '1px', + borderColor: 'inherit', + _checked: { + color: 'colorPalette.fg', + borderColor: 'colorPalette.solid', + }, + '& .dot': { + scale: '0.6', + }, + }, + }, + subtle: { + itemControl: { + borderWidth: '1px', + bg: 'colorPalette.muted', + borderColor: 'colorPalette.muted', + color: 'transparent', + _checked: { + color: 'colorPalette.fg', + }, + }, + }, + solid: { + itemControl: { + borderWidth: '1px', + borderColor: 'border', + _checked: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + borderColor: 'colorPalette.solid', + }, + }, + }, + }, + size: { + xs: { + item: { + textStyle: 'xs', + gap: '1.5', + }, + itemControl: { + boxSize: '3', + }, + }, + sm: { + item: { + textStyle: 'sm', + gap: '2', + }, + itemControl: { + boxSize: '4', + }, + }, + md: { + item: { + textStyle: 'sm', + gap: '2.5', + }, + itemControl: { + boxSize: '5', + }, + }, + lg: { + item: { + textStyle: 'md', + gap: '3', + }, + itemControl: { + boxSize: '6', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'solid', + }, + }, + ratingGroup: { + className: 'chakra-rating-group', + slots: ['root', 'label', 'item', 'control', 'itemIndicator'], + base: { + root: { + display: 'inline-flex', + }, + control: { + display: 'inline-flex', + alignItems: 'center', + }, + item: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + userSelect: 'none', + }, + itemIndicator: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + width: '1em', + height: '1em', + position: 'relative', + _icon: { + stroke: 'currentColor', + width: '100%', + height: '100%', + display: 'inline-block', + flexShrink: 0, + position: 'absolute', + left: 0, + top: 0, + }, + '& [data-bg]': { + color: 'bg.emphasized', + }, + '& [data-fg]': { + color: 'transparent', + }, + '&[data-highlighted]:not([data-half])': { + '& [data-fg]': { + color: 'colorPalette.solid', + }, + }, + '&[data-half]': { + '& [data-fg]': { + color: 'colorPalette.solid', + clipPath: 'inset(0 50% 0 0)', + }, + }, + }, + }, + variants: { + size: { + xs: { + item: { + textStyle: 'sm', + }, + }, + sm: { + item: { + textStyle: 'md', + }, + }, + md: { + item: { + textStyle: 'xl', + }, + }, + lg: { + item: { + textStyle: '2xl', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + segmentGroup: { + className: 'chakra-segment-group', + slots: [ + 'root', + 'label', + 'item', + 'itemText', + 'itemControl', + 'indicator', + ], + base: { + root: { + '--segment-radius': 'radii.l2', + borderRadius: 'l2', + display: 'inline-flex', + boxShadow: 'inset', + minW: 'max-content', + textAlign: 'center', + position: 'relative', + isolation: 'isolate', + bg: 'bg.muted', + }, + item: { + display: 'flex', + alignItems: 'center', + userSelect: 'none', + fontSize: 'sm', + position: 'relative', + color: 'fg', + borderRadius: 'var(--segment-radius)', + _disabled: { + opacity: '0.5', + }, + '&:has(input:focus-visible)': { + focusRing: 'outside', + }, + _before: { + content: '""', + position: 'absolute', + insetInlineStart: 0, + insetBlock: '1.5', + bg: 'border', + width: '1px', + transition: 'opacity 0.2s', + }, + '& + &[data-state=checked], &[data-state=checked] + &, &:first-of-type': + { + _before: { + opacity: '0', + }, + }, + '&[data-state=checked][data-ssr]': { + shadow: 'sm', + bg: 'bg', + borderRadius: 'var(--segment-radius)', + }, + }, + indicator: { + shadow: 'sm', + pos: 'absolute', + bg: { + _light: 'bg', + _dark: 'bg.emphasized', + }, + width: 'var(--width)', + height: 'var(--height)', + top: 'var(--top)', + left: 'var(--left)', + zIndex: -1, + borderRadius: 'var(--segment-radius)', + }, + }, + variants: { + size: { + xs: { + root: { + height: '6', + }, + item: { + textStyle: 'xs', + px: '3', + gap: '1', + }, + }, + sm: { + root: { + height: '8', + }, + item: { + textStyle: 'sm', + px: '4', + gap: '2', + }, + }, + md: { + root: { + height: '10', + }, + item: { + textStyle: 'sm', + px: '4', + gap: '2', + }, + }, + lg: { + root: { + height: '10', + }, + item: { + textStyle: 'md', + px: '5', + gap: '3', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + select: { + className: 'chakra-select', + slots: [ + 'label', + 'positioner', + 'trigger', + 'indicator', + 'clearTrigger', + 'item', + 'itemText', + 'itemIndicator', + 'itemGroup', + 'itemGroupLabel', + 'list', + 'content', + 'root', + 'control', + 'valueText', + 'indicatorGroup', + ], + base: { + root: { + display: 'flex', + flexDirection: 'column', + gap: '1.5', + width: 'full', + }, + trigger: { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + width: 'full', + minH: 'var(--select-trigger-height)', + px: 'var(--select-trigger-padding-x)', + borderRadius: 'l2', + userSelect: 'none', + textAlign: 'start', + focusVisibleRing: 'inside', + _placeholderShown: { + color: 'fg.muted', + }, + _disabled: { + layerStyle: 'disabled', + }, + _invalid: { + borderColor: 'border.error', + }, + }, + indicatorGroup: { + display: 'flex', + alignItems: 'center', + gap: '1', + pos: 'absolute', + right: '0', + top: '0', + bottom: '0', + px: 'var(--select-trigger-padding-x)', + pointerEvents: 'none', + }, + indicator: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + color: { + base: 'fg.muted', + _disabled: 'fg.subtle', + _invalid: 'fg.error', + }, + }, + content: { + background: 'bg.panel', + display: 'flex', + flexDirection: 'column', + zIndex: 'dropdown', + borderRadius: 'l2', + outline: 0, + maxH: '96', + overflowY: 'auto', + boxShadow: 'md', + _open: { + animationStyle: 'slide-fade-in', + animationDuration: 'fast', + }, + _closed: { + animationStyle: 'slide-fade-out', + animationDuration: 'fastest', + }, + }, + item: { + position: 'relative', + userSelect: 'none', + display: 'flex', + alignItems: 'center', + gap: '2', + cursor: 'option', + justifyContent: 'space-between', + flex: '1', + textAlign: 'start', + borderRadius: 'l1', + _highlighted: { + bg: { + _light: 'bg.muted', + _dark: 'bg.emphasized', + }, + }, + _disabled: { + pointerEvents: 'none', + opacity: '0.5', + }, + _icon: { + width: '4', + height: '4', + }, + }, + control: { + pos: 'relative', + }, + itemText: { + flex: '1', + }, + itemGroup: { + _first: { + mt: '0', + }, + }, + itemGroupLabel: { + py: '1', + fontWeight: 'medium', + }, + label: { + fontWeight: 'medium', + userSelect: 'none', + textStyle: 'sm', + _disabled: { + layerStyle: 'disabled', + }, + }, + valueText: { + lineClamp: '1', + maxW: '80%', + }, + }, + variants: { + variant: { + outline: { + trigger: { + bg: 'transparent', + borderWidth: '1px', + borderColor: 'border', + _expanded: { + borderColor: 'border.emphasized', + }, + }, + }, + subtle: { + trigger: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + }, + }, + }, + size: { + xs: { + root: { + '--select-trigger-height': 'sizes.8', + '--select-trigger-padding-x': 'spacing.2', + }, + content: { + p: '1', + gap: '1', + textStyle: 'xs', + }, + trigger: { + textStyle: 'xs', + gap: '1', + }, + item: { + py: '1', + px: '2', + }, + itemGroupLabel: { + py: '1', + px: '2', + }, + indicator: { + _icon: { + width: '3.5', + height: '3.5', + }, + }, + }, + sm: { + root: { + '--select-trigger-height': 'sizes.9', + '--select-trigger-padding-x': 'spacing.2.5', + }, + content: { + p: '1', + textStyle: 'sm', + }, + trigger: { + textStyle: 'sm', + gap: '1', + }, + indicator: { + _icon: { + width: '4', + height: '4', + }, + }, + item: { + py: '1', + px: '1.5', + }, + itemGroup: { + mt: '1', + }, + itemGroupLabel: { + py: '1', + px: '1.5', + }, + }, + md: { + root: { + '--select-trigger-height': 'sizes.10', + '--select-trigger-padding-x': 'spacing.3', + }, + content: { + p: '1', + textStyle: 'sm', + }, + itemGroup: { + mt: '1.5', + }, + item: { + py: '1.5', + px: '2', + }, + itemIndicator: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + }, + itemGroupLabel: { + py: '1.5', + px: '2', + }, + trigger: { + textStyle: 'sm', + gap: '2', + }, + indicator: { + _icon: { + width: '4', + height: '4', + }, + }, + }, + lg: { + root: { + '--select-trigger-height': 'sizes.12', + '--select-trigger-padding-x': 'spacing.4', + }, + content: { + p: '1.5', + textStyle: 'md', + }, + itemGroup: { + mt: '2', + }, + item: { + py: '2', + px: '3', + }, + itemGroupLabel: { + py: '2', + px: '3', + }, + trigger: { + textStyle: 'md', + py: '3', + gap: '2', + }, + indicator: { + _icon: { + width: '5', + height: '5', + }, + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + slider: { + className: 'chakra-slider', + slots: [ + 'root', + 'label', + 'thumb', + 'valueText', + 'track', + 'range', + 'control', + 'markerGroup', + 'marker', + 'draggingIndicator', + 'markerIndicator', + ], + base: { + root: { + display: 'flex', + flexDirection: 'column', + gap: '1', + textStyle: 'sm', + position: 'relative', + isolation: 'isolate', + touchAction: 'none', + }, + label: { + fontWeight: 'medium', + textStyle: 'sm', + }, + control: { + display: 'inline-flex', + alignItems: 'center', + position: 'relative', + }, + track: { + overflow: 'hidden', + borderRadius: 'full', + flex: '1', + }, + range: { + width: 'inherit', + height: 'inherit', + _disabled: { + bg: 'border.emphasized!', + }, + }, + markerGroup: { + position: 'absolute!', + zIndex: '1', + }, + marker: { + '--marker-bg': { + base: 'white', + _underValue: 'colors.bg', + }, + display: 'flex', + alignItems: 'center', + gap: 'calc(var(--slider-thumb-size) / 2)', + color: 'fg.muted', + textStyle: 'xs', + }, + markerIndicator: { + width: 'var(--slider-marker-size)', + height: 'var(--slider-marker-size)', + borderRadius: 'full', + bg: 'var(--marker-bg)', + }, + thumb: { + width: 'var(--slider-thumb-size)', + height: 'var(--slider-thumb-size)', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + outline: 0, + zIndex: '2', + borderRadius: 'full', + _focusVisible: { + ring: '2px', + ringColor: 'colorPalette.focusRing', + ringOffset: '2px', + ringOffsetColor: 'bg', + }, + }, + }, + variants: { + size: { + sm: { + root: { + '--slider-thumb-size': 'sizes.4', + '--slider-track-size': 'sizes.1.5', + '--slider-marker-center': '6px', + '--slider-marker-size': 'sizes.1', + '--slider-marker-inset': '3px', + }, + }, + md: { + root: { + '--slider-thumb-size': 'sizes.5', + '--slider-track-size': 'sizes.2', + '--slider-marker-center': '8px', + '--slider-marker-size': 'sizes.1', + '--slider-marker-inset': '4px', + }, + }, + lg: { + root: { + '--slider-thumb-size': 'sizes.6', + '--slider-track-size': 'sizes.2.5', + '--slider-marker-center': '9px', + '--slider-marker-size': 'sizes.1.5', + '--slider-marker-inset': '5px', + }, + }, + }, + variant: { + outline: { + track: { + shadow: 'inset', + bg: 'bg.emphasized/72', + }, + range: { + bg: 'colorPalette.solid', + }, + thumb: { + borderWidth: '2px', + borderColor: 'colorPalette.solid', + bg: 'bg', + _disabled: { + bg: 'border.emphasized', + borderColor: 'border.emphasized', + }, + }, + }, + solid: { + track: { + bg: 'colorPalette.subtle', + _disabled: { + bg: 'bg.muted', + }, + }, + range: { + bg: 'colorPalette.solid', + }, + thumb: { + bg: 'colorPalette.solid', + _disabled: { + bg: 'border.emphasized', + }, + }, + }, + }, + orientation: { + vertical: { + root: { + display: 'inline-flex', + }, + control: { + flexDirection: 'column', + height: '100%', + minWidth: 'var(--slider-thumb-size)', + '&[data-has-mark-label]': { + marginEnd: '4', + }, + }, + track: { + width: 'var(--slider-track-size)', + }, + thumb: { + left: '50%', + translate: '-50% 0', + }, + markerGroup: { + insetStart: 'var(--slider-marker-center)', + insetBlock: 'var(--slider-marker-inset)', + }, + marker: { + flexDirection: 'row', + }, + }, + horizontal: { + control: { + flexDirection: 'row', + width: '100%', + minHeight: 'var(--slider-thumb-size)', + '&[data-has-mark-label]': { + marginBottom: '4', + }, + }, + track: { + height: 'var(--slider-track-size)', + }, + thumb: { + top: '50%', + translate: '0 -50%', + }, + markerGroup: { + top: 'var(--slider-marker-center)', + insetInline: 'var(--slider-marker-inset)', + }, + marker: { + flexDirection: 'column', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + orientation: 'horizontal', + }, + }, + stat: { + className: 'chakra-stat', + slots: [ + 'root', + 'label', + 'helpText', + 'valueText', + 'valueUnit', + 'indicator', + ], + base: { + root: { + display: 'flex', + flexDirection: 'column', + gap: '1', + position: 'relative', + flex: '1', + }, + label: { + display: 'inline-flex', + gap: '1.5', + alignItems: 'center', + color: 'fg.muted', + textStyle: 'sm', + }, + helpText: { + color: 'fg.muted', + textStyle: 'xs', + }, + valueUnit: { + color: 'fg.muted', + textStyle: 'xs', + fontWeight: 'initial', + letterSpacing: 'initial', + }, + valueText: { + verticalAlign: 'baseline', + fontWeight: 'semibold', + letterSpacing: 'tight', + fontFeatureSettings: 'pnum', + fontVariantNumeric: 'proportional-nums', + display: 'inline-flex', + gap: '1', + }, + indicator: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + marginEnd: 1, + '& :where(svg)': { + w: '1em', + h: '1em', + }, + '&[data-type=up]': { + color: 'fg.success', + }, + '&[data-type=down]': { + color: 'fg.error', + }, + }, + }, + variants: { + size: { + sm: { + valueText: { + textStyle: 'xl', + }, + }, + md: { + valueText: { + textStyle: '2xl', + }, + }, + lg: { + valueText: { + textStyle: '3xl', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + steps: { + className: 'chakra-steps', + slots: [ + 'root', + 'list', + 'item', + 'trigger', + 'indicator', + 'separator', + 'content', + 'title', + 'description', + 'nextTrigger', + 'prevTrigger', + 'progress', + ], + base: { + root: { + display: 'flex', + width: 'full', + }, + list: { + display: 'flex', + justifyContent: 'space-between', + '--steps-gutter': 'spacing.3', + '--steps-thickness': '2px', + }, + title: { + fontWeight: 'medium', + color: 'fg', + }, + description: { + color: 'fg.muted', + }, + separator: { + bg: 'border', + flex: '1', + }, + indicator: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flexShrink: '0', + borderRadius: 'full', + fontWeight: 'medium', + width: 'var(--steps-size)', + height: 'var(--steps-size)', + _icon: { + flexShrink: '0', + width: 'var(--steps-icon-size)', + height: 'var(--steps-icon-size)', + }, + }, + item: { + position: 'relative', + display: 'flex', + flex: '1 0 0', + '&:last-of-type': { + flex: 'initial', + '& [data-part=separator]': { + display: 'none', + }, + }, + }, + trigger: { + display: 'flex', + alignItems: 'center', + gap: '3', + textAlign: 'start', + focusVisibleRing: 'outside', + borderRadius: 'l2', + }, + content: { + focusVisibleRing: 'outside', + }, + }, + variants: { + orientation: { + vertical: { + root: { + flexDirection: 'row', + height: '100%', + }, + list: { + flexDirection: 'column', + alignItems: 'flex-start', + }, + separator: { + position: 'absolute', + width: 'var(--steps-thickness)', + height: '100%', + maxHeight: + 'calc(100% - var(--steps-size) - var(--steps-gutter) * 2)', + top: 'calc(var(--steps-size) + var(--steps-gutter))', + insetStart: 'calc(var(--steps-size) / 2 - 1px)', + }, + item: { + alignItems: 'flex-start', + }, + }, + horizontal: { + root: { + flexDirection: 'column', + width: '100%', + }, + list: { + flexDirection: 'row', + alignItems: 'center', + }, + separator: { + width: '100%', + height: 'var(--steps-thickness)', + marginX: 'var(--steps-gutter)', + }, + item: { + alignItems: 'center', + }, + }, + }, + variant: { + solid: { + indicator: { + _incomplete: { + borderWidth: 'var(--steps-thickness)', + }, + _current: { + bg: 'colorPalette.muted', + borderWidth: 'var(--steps-thickness)', + borderColor: 'colorPalette.solid', + color: 'colorPalette.fg', + }, + _complete: { + bg: 'colorPalette.solid', + borderColor: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + }, + separator: { + _complete: { + bg: 'colorPalette.solid', + }, + }, + }, + subtle: { + indicator: { + _incomplete: { + bg: 'bg.muted', + }, + _current: { + bg: 'colorPalette.muted', + color: 'colorPalette.fg', + }, + _complete: { + bg: 'colorPalette.emphasized', + color: 'colorPalette.fg', + }, + }, + separator: { + _complete: { + bg: 'colorPalette.emphasized', + }, + }, + }, + }, + size: { + xs: { + root: { + gap: '2.5', + }, + list: { + '--steps-size': 'sizes.6', + '--steps-icon-size': 'sizes.3.5', + textStyle: 'xs', + }, + title: { + textStyle: 'sm', + }, + }, + sm: { + root: { + gap: '3', + }, + list: { + '--steps-size': 'sizes.8', + '--steps-icon-size': 'sizes.4', + textStyle: 'xs', + }, + title: { + textStyle: 'sm', + }, + }, + md: { + root: { + gap: '4', + }, + list: { + '--steps-size': 'sizes.10', + '--steps-icon-size': 'sizes.4', + textStyle: 'sm', + }, + title: { + textStyle: 'sm', + }, + }, + lg: { + root: { + gap: '6', + }, + list: { + '--steps-size': 'sizes.11', + '--steps-icon-size': 'sizes.5', + textStyle: 'md', + }, + title: { + textStyle: 'md', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'solid', + orientation: 'horizontal', + }, + }, + switch: { + slots: ['root', 'label', 'control', 'thumb', 'indicator'], + className: 'chakra-switch', + base: { + root: { + display: 'inline-flex', + gap: '2.5', + alignItems: 'center', + position: 'relative', + verticalAlign: 'middle', + '--switch-diff': 'calc(var(--switch-width) - var(--switch-height))', + '--switch-x': { + base: 'var(--switch-diff)', + _rtl: 'calc(var(--switch-diff) * -1)', + }, + }, + label: { + lineHeight: '1', + userSelect: 'none', + fontSize: 'sm', + fontWeight: 'medium', + _disabled: { + opacity: '0.5', + }, + }, + indicator: { + position: 'absolute', + height: 'var(--switch-height)', + width: 'var(--switch-height)', + fontSize: 'var(--switch-indicator-font-size)', + fontWeight: 'medium', + flexShrink: 0, + userSelect: 'none', + display: 'grid', + placeContent: 'center', + transition: 'inset-inline-start 0.12s ease', + insetInlineStart: 'calc(var(--switch-x) - 2px)', + _checked: { + insetInlineStart: '2px', + }, + }, + control: { + display: 'inline-flex', + gap: '0.5rem', + flexShrink: 0, + justifyContent: 'flex-start', + cursor: 'switch', + borderRadius: 'full', + position: 'relative', + width: 'var(--switch-width)', + height: 'var(--switch-height)', + _disabled: { + opacity: '0.5', + cursor: 'not-allowed', + }, + _invalid: { + outline: '2px solid', + outlineColor: 'border.error', + outlineOffset: '2px', + }, + }, + thumb: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: 0, + transitionProperty: 'translate', + transitionDuration: 'fast', + borderRadius: 'inherit', + _checked: { + translate: 'var(--switch-x) 0', + }, + }, + }, + variants: { + variant: { + solid: { + control: { + borderRadius: 'full', + bg: 'bg.emphasized', + focusVisibleRing: 'outside', + _checked: { + bg: 'colorPalette.solid', + }, + }, + thumb: { + bg: 'white', + width: 'var(--switch-height)', + height: 'var(--switch-height)', + scale: '0.8', + boxShadow: 'sm', + _checked: { + bg: 'colorPalette.contrast', + }, + }, + }, + raised: { + control: { + borderRadius: 'full', + height: 'calc(var(--switch-height) / 2)', + bg: 'bg.muted', + boxShadow: 'inset', + _checked: { + bg: 'colorPalette.solid/60', + }, + }, + thumb: { + width: 'var(--switch-height)', + height: 'var(--switch-height)', + position: 'relative', + top: 'calc(var(--switch-height) * -0.25)', + bg: 'white', + boxShadow: 'xs', + focusVisibleRing: 'outside', + _checked: { + bg: 'colorPalette.solid', + }, + }, + }, + }, + size: { + xs: { + root: { + '--switch-width': 'sizes.6', + '--switch-height': 'sizes.3', + '--switch-indicator-font-size': 'fontSizes.xs', + }, + }, + sm: { + root: { + '--switch-width': 'sizes.8', + '--switch-height': 'sizes.4', + '--switch-indicator-font-size': 'fontSizes.xs', + }, + }, + md: { + root: { + '--switch-width': 'sizes.10', + '--switch-height': 'sizes.5', + '--switch-indicator-font-size': 'fontSizes.sm', + }, + }, + lg: { + root: { + '--switch-width': 'sizes.12', + '--switch-height': 'sizes.6', + '--switch-indicator-font-size': 'fontSizes.md', + }, + }, + }, + }, + defaultVariants: { + variant: 'solid', + size: 'md', + }, + }, + table: { + className: 'chakra-table', + slots: [ + 'root', + 'header', + 'body', + 'row', + 'columnHeader', + 'cell', + 'footer', + 'caption', + ], + base: { + root: { + fontVariantNumeric: 'lining-nums tabular-nums', + borderCollapse: 'collapse', + width: 'full', + textAlign: 'start', + verticalAlign: 'top', + }, + row: { + _selected: { + bg: 'colorPalette.subtle', + }, + }, + cell: { + textAlign: 'start', + alignItems: 'center', + }, + columnHeader: { + fontWeight: 'medium', + textAlign: 'start', + color: 'fg', + }, + caption: { + fontWeight: 'medium', + textStyle: 'xs', + }, + footer: { + fontWeight: 'medium', + }, + }, + variants: { + interactive: { + true: { + body: { + '& tr': { + _hover: { + bg: 'colorPalette.subtle', + }, + }, + }, + }, + }, + stickyHeader: { + true: { + header: { + '& :where(tr)': { + top: 'var(--table-sticky-offset, 0)', + position: 'sticky', + zIndex: 1, + }, + }, + }, + }, + striped: { + true: { + row: { + '&:nth-of-type(odd) td': { + bg: 'bg.muted', + }, + }, + }, + }, + showColumnBorder: { + true: { + columnHeader: { + '&:not(:last-of-type)': { + borderInlineEndWidth: '1px', + }, + }, + cell: { + '&:not(:last-of-type)': { + borderInlineEndWidth: '1px', + }, + }, + }, + }, + variant: { + line: { + columnHeader: { + borderBottomWidth: '1px', + }, + cell: { + borderBottomWidth: '1px', + }, + row: { + bg: 'bg', + }, + }, + outline: { + root: { + boxShadow: '0 0 0 1px {colors.border}', + overflow: 'hidden', + }, + columnHeader: { + borderBottomWidth: '1px', + }, + header: { + bg: 'bg.muted', + }, + row: { + '&:not(:last-of-type)': { + borderBottomWidth: '1px', + }, + }, + footer: { + borderTopWidth: '1px', + }, + }, + }, + size: { + sm: { + root: { + textStyle: 'sm', + }, + columnHeader: { + px: '2', + py: '2', + }, + cell: { + px: '2', + py: '2', + }, + }, + md: { + root: { + textStyle: 'sm', + }, + columnHeader: { + px: '3', + py: '3', + }, + cell: { + px: '3', + py: '3', + }, + }, + lg: { + root: { + textStyle: 'md', + }, + columnHeader: { + px: '4', + py: '3', + }, + cell: { + px: '4', + py: '3', + }, + }, + }, + }, + defaultVariants: { + variant: 'line', + size: 'md', + }, + }, + tabs: { + slots: [ + 'root', + 'trigger', + 'list', + 'content', + 'contentGroup', + 'indicator', + ], + className: 'chakra-tabs', + base: { + root: { + '--tabs-trigger-radius': 'radii.l2', + position: 'relative', + _horizontal: { + display: 'block', + }, + _vertical: { + display: 'flex', + }, + }, + list: { + display: 'inline-flex', + position: 'relative', + isolation: 'isolate', + '--tabs-indicator-shadow': 'shadows.xs', + '--tabs-indicator-bg': 'colors.bg', + minH: 'var(--tabs-height)', + _horizontal: { + flexDirection: 'row', + }, + _vertical: { + flexDirection: 'column', + }, + }, + trigger: { + outline: '0', + minW: 'var(--tabs-height)', + height: 'var(--tabs-height)', + display: 'flex', + alignItems: 'center', + fontWeight: 'medium', + position: 'relative', + cursor: 'button', + gap: '2', + _focusVisible: { + zIndex: 1, + outline: '2px solid', + outlineColor: 'colorPalette.focusRing', + }, + _disabled: { + cursor: 'not-allowed', + opacity: 0.5, + }, + }, + content: { + focusVisibleRing: 'inside', + _horizontal: { + width: '100%', + pt: 'var(--tabs-content-padding)', + }, + _vertical: { + height: '100%', + ps: 'var(--tabs-content-padding)', + }, + }, + indicator: { + width: 'var(--width)', + height: 'var(--height)', + borderRadius: 'var(--tabs-indicator-radius)', + bg: 'var(--tabs-indicator-bg)', + shadow: 'var(--tabs-indicator-shadow)', + zIndex: -1, + }, + }, + variants: { + fitted: { + true: { + list: { + display: 'flex', + }, + trigger: { + flex: 1, + textAlign: 'center', + justifyContent: 'center', + }, + }, + }, + justify: { + start: { + list: { + justifyContent: 'flex-start', + }, + }, + center: { + list: { + justifyContent: 'center', + }, + }, + end: { + list: { + justifyContent: 'flex-end', + }, + }, + }, + size: { + sm: { + root: { + '--tabs-height': 'sizes.9', + '--tabs-content-padding': 'spacing.3', + }, + trigger: { + py: '1', + px: '3', + textStyle: 'sm', + }, + }, + md: { + root: { + '--tabs-height': 'sizes.10', + '--tabs-content-padding': 'spacing.4', + }, + trigger: { + py: '2', + px: '4', + textStyle: 'sm', + }, + }, + lg: { + root: { + '--tabs-height': 'sizes.11', + '--tabs-content-padding': 'spacing.4.5', + }, + trigger: { + py: '2', + px: '4.5', + textStyle: 'md', + }, + }, + }, + variant: { + line: { + list: { + display: 'flex', + borderColor: 'border', + _horizontal: { + borderBottomWidth: '1px', + }, + _vertical: { + borderEndWidth: '1px', + }, + }, + trigger: { + color: 'fg.muted', + _disabled: { + _active: { + bg: 'initial', + }, + }, + _selected: { + color: 'fg', + _horizontal: { + layerStyle: 'indicator.bottom', + '--indicator-offset-y': '-1px', + '--indicator-color': 'colors.colorPalette.solid', + }, + _vertical: { + layerStyle: 'indicator.end', + '--indicator-offset-x': '-1px', + }, + }, + }, + }, + subtle: { + trigger: { + borderRadius: 'var(--tabs-trigger-radius)', + color: 'fg.muted', + _selected: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + }, + }, + }, + enclosed: { + list: { + bg: 'bg.muted', + padding: '1', + borderRadius: 'l3', + minH: 'calc(var(--tabs-height) - 4px)', + }, + trigger: { + justifyContent: 'center', + color: 'fg.muted', + borderRadius: 'var(--tabs-trigger-radius)', + _selected: { + bg: 'bg', + color: 'colorPalette.fg', + shadow: 'xs', + }, + }, + }, + outline: { + list: { + '--line-thickness': '1px', + '--line-offset': 'calc(var(--line-thickness) * -1)', + borderColor: 'border', + display: 'flex', + _horizontal: { + _before: { + content: '""', + position: 'absolute', + bottom: '0px', + width: '100%', + borderBottomWidth: 'var(--line-thickness)', + borderBottomColor: 'border', + }, + }, + _vertical: { + _before: { + content: '""', + position: 'absolute', + insetInline: 'var(--line-offset)', + height: 'calc(100% - calc(var(--line-thickness) * 2))', + borderEndWidth: 'var(--line-thickness)', + borderEndColor: 'border', + }, + }, + }, + trigger: { + color: 'fg.muted', + borderWidth: '1px', + borderColor: 'transparent', + _selected: { + bg: 'currentBg', + color: 'colorPalette.fg', + }, + _horizontal: { + borderTopRadius: 'var(--tabs-trigger-radius)', + marginBottom: 'var(--line-offset)', + marginEnd: { + _notLast: 'var(--line-offset)', + }, + _selected: { + borderColor: 'border', + borderBottomColor: 'transparent', + }, + }, + _vertical: { + borderStartRadius: 'var(--tabs-trigger-radius)', + marginEnd: 'var(--line-offset)', + marginBottom: { + _notLast: 'var(--line-offset)', + }, + _selected: { + borderColor: 'border', + borderEndColor: 'transparent', + }, + }, + }, + }, + plain: { + trigger: { + color: 'fg.muted', + _selected: { + color: 'colorPalette.fg', + }, + borderRadius: 'var(--tabs-trigger-radius)', + '&[data-selected][data-ssr]': { + bg: 'var(--tabs-indicator-bg)', + shadow: 'var(--tabs-indicator-shadow)', + borderRadius: 'var(--tabs-indicator-radius)', + }, + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'line', + }, + }, + tag: { + slots: ['root', 'label', 'closeTrigger', 'startElement', 'endElement'], + className: 'chakra-tag', + base: { + root: { + display: 'inline-flex', + alignItems: 'center', + verticalAlign: 'top', + maxWidth: '100%', + userSelect: 'none', + borderRadius: 'l2', + focusVisibleRing: 'outside', + }, + label: { + lineClamp: '1', + }, + closeTrigger: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + outline: '0', + borderRadius: 'l1', + color: 'currentColor', + focusVisibleRing: 'inside', + focusRingWidth: '2px', + }, + startElement: { + flexShrink: 0, + boxSize: 'var(--tag-element-size)', + ms: 'var(--tag-element-offset)', + '&:has([data-scope=avatar])': { + boxSize: 'var(--tag-avatar-size)', + ms: 'calc(var(--tag-element-offset) * 1.5)', + }, + _icon: { + boxSize: '100%', + }, + }, + endElement: { + flexShrink: 0, + boxSize: 'var(--tag-element-size)', + me: 'var(--tag-element-offset)', + _icon: { + boxSize: '100%', + }, + '&:has(button)': { + ms: 'calc(var(--tag-element-offset) * -1)', + }, + }, + }, + variants: { + size: { + sm: { + root: { + px: '1.5', + minH: '4.5', + gap: '1', + '--tag-avatar-size': 'spacing.3', + '--tag-element-size': 'spacing.3', + '--tag-element-offset': '-2px', + }, + label: { + textStyle: 'xs', + }, + }, + md: { + root: { + px: '1.5', + minH: '5', + gap: '1', + '--tag-avatar-size': 'spacing.3.5', + '--tag-element-size': 'spacing.3.5', + '--tag-element-offset': '-2px', + }, + label: { + textStyle: 'xs', + }, + }, + lg: { + root: { + px: '2', + minH: '6', + gap: '1.5', + '--tag-avatar-size': 'spacing.4.5', + '--tag-element-size': 'spacing.4', + '--tag-element-offset': '-3px', + }, + label: { + textStyle: 'sm', + }, + }, + xl: { + root: { + px: '2.5', + minH: '8', + gap: '1.5', + '--tag-avatar-size': 'spacing.6', + '--tag-element-size': 'spacing.4.5', + '--tag-element-offset': '-4px', + }, + label: { + textStyle: 'sm', + }, + }, + }, + variant: { + subtle: { + root: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + }, + }, + solid: { + root: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + }, + outline: { + root: { + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + }, + surface: { + root: { + bg: 'colorPalette.subtle', + color: 'colorPalette.fg', + shadow: 'inset 0 0 0px 1px var(--shadow-color)', + shadowColor: 'colorPalette.muted', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'surface', + }, + }, + toast: { + slots: [ + 'root', + 'title', + 'description', + 'indicator', + 'closeTrigger', + 'actionTrigger', + ], + className: 'chakra-toast', + base: { + root: { + width: 'full', + display: 'flex', + alignItems: 'flex-start', + position: 'relative', + gap: '3', + py: '4', + ps: '4', + pe: '6', + borderRadius: 'l2', + translate: 'var(--x) var(--y)', + scale: 'var(--scale)', + zIndex: 'var(--z-index)', + height: 'var(--height)', + opacity: 'var(--opacity)', + willChange: 'translate, opacity, scale', + transition: + 'translate 400ms, scale 400ms, opacity 400ms, height 400ms, box-shadow 200ms', + transitionTimingFunction: 'cubic-bezier(0.21, 1.02, 0.73, 1)', + _closed: { + transition: 'translate 400ms, scale 400ms, opacity 200ms', + transitionTimingFunction: 'cubic-bezier(0.06, 0.71, 0.55, 1)', + }, + bg: 'bg.panel', + color: 'fg', + boxShadow: 'xl', + '--toast-trigger-bg': 'colors.bg.muted', + '&[data-type=warning]': { + bg: 'orange.solid', + color: 'orange.contrast', + '--toast-trigger-bg': '{white/10}', + '--toast-border-color': '{white/40}', + }, + '&[data-type=success]': { + bg: 'green.solid', + color: 'green.contrast', + '--toast-trigger-bg': '{white/10}', + '--toast-border-color': '{white/40}', + }, + '&[data-type=error]': { + bg: 'red.solid', + color: 'red.contrast', + '--toast-trigger-bg': '{white/10}', + '--toast-border-color': '{white/40}', + }, + }, + title: { + fontWeight: 'medium', + textStyle: 'sm', + marginEnd: '2', + }, + description: { + display: 'inline', + textStyle: 'sm', + opacity: '0.8', + }, + indicator: { + flexShrink: '0', + boxSize: '5', + }, + actionTrigger: { + textStyle: 'sm', + fontWeight: 'medium', + height: '8', + px: '3', + borderRadius: 'l2', + alignSelf: 'center', + borderWidth: '1px', + borderColor: 'var(--toast-border-color, inherit)', + transition: 'background 200ms', + _hover: { + bg: 'var(--toast-trigger-bg)', + }, + }, + closeTrigger: { + position: 'absolute', + top: '1', + insetEnd: '1', + padding: '1', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + color: '{currentColor/60}', + borderRadius: 'l2', + textStyle: 'md', + transition: 'background 200ms', + }, + }, + }, + tooltip: { + slots: ['trigger', 'arrow', 'arrowTip', 'positioner', 'content'], + className: 'chakra-tooltip', + base: { + content: { + '--tooltip-bg': 'colors.bg.inverted', + bg: 'var(--tooltip-bg)', + color: 'fg.inverted', + px: '2.5', + py: '1', + borderRadius: 'l2', + fontWeight: 'medium', + textStyle: 'xs', + boxShadow: 'md', + maxW: 'xs', + zIndex: 'tooltip', + transformOrigin: 'var(--transform-origin)', + _open: { + animationStyle: 'scale-fade-in', + animationDuration: 'fast', + }, + _closed: { + animationStyle: 'scale-fade-out', + animationDuration: 'fast', + }, + }, + arrow: { + '--arrow-size': 'sizes.2', + '--arrow-background': 'var(--tooltip-bg)', + }, + arrowTip: { + borderTopWidth: '1px', + borderInlineStartWidth: '1px', + borderColor: 'var(--tooltip-bg)', + }, + }, + }, + status: { + className: 'chakra-status', + slots: ['root', 'indicator'], + base: { + root: { + display: 'inline-flex', + alignItems: 'center', + gap: '2', + }, + indicator: { + width: '0.64em', + height: '0.64em', + flexShrink: 0, + borderRadius: 'full', + forcedColorAdjust: 'none', + bg: 'colorPalette.solid', + }, + }, + variants: { + size: { + sm: { + root: { + textStyle: 'xs', + }, + }, + md: { + root: { + textStyle: 'sm', + }, + }, + lg: { + root: { + textStyle: 'md', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + timeline: { + slots: [ + 'root', + 'item', + 'content', + 'separator', + 'indicator', + 'connector', + 'title', + 'description', + ], + className: 'chakra-timeline', + base: { + root: { + display: 'flex', + flexDirection: 'column', + width: 'full', + '--timeline-thickness': '1px', + '--timeline-gutter': '4px', + }, + item: { + display: 'flex', + position: 'relative', + alignItems: 'flex-start', + flexShrink: 0, + gap: '4', + _last: { + '& :where(.chakra-timeline__separator)': { + display: 'none', + }, + }, + }, + separator: { + position: 'absolute', + borderStartWidth: 'var(--timeline-thickness)', + ms: 'calc(-1 * var(--timeline-thickness) / 2)', + insetInlineStart: 'calc(var(--timeline-indicator-size) / 2)', + insetBlock: '0', + borderColor: 'border', + }, + indicator: { + outline: '2px solid {colors.bg}', + position: 'relative', + flexShrink: '0', + boxSize: 'var(--timeline-indicator-size)', + fontSize: 'var(--timeline-font-size)', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + borderRadius: 'full', + fontWeight: 'medium', + }, + connector: { + alignSelf: 'stretch', + position: 'relative', + }, + content: { + pb: '6', + display: 'flex', + flexDirection: 'column', + width: 'full', + gap: '2', + }, + title: { + display: 'flex', + fontWeight: 'medium', + flexWrap: 'wrap', + gap: '1.5', + alignItems: 'center', + mt: 'var(--timeline-margin)', + }, + description: { + color: 'fg.muted', + textStyle: 'xs', + }, + }, + variants: { + variant: { + subtle: { + indicator: { + bg: 'colorPalette.muted', + }, + }, + solid: { + indicator: { + bg: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + }, + outline: { + indicator: { + bg: 'currentBg', + borderWidth: '1px', + borderColor: 'colorPalette.muted', + }, + }, + plain: {}, + }, + size: { + sm: { + root: { + '--timeline-indicator-size': 'sizes.4', + '--timeline-font-size': 'fontSizes.2xs', + }, + title: { + textStyle: 'xs', + }, + }, + md: { + root: { + '--timeline-indicator-size': 'sizes.5', + '--timeline-font-size': 'fontSizes.xs', + }, + title: { + textStyle: 'sm', + }, + }, + lg: { + root: { + '--timeline-indicator-size': 'sizes.6', + '--timeline-font-size': 'fontSizes.xs', + }, + title: { + mt: '0.5', + textStyle: 'sm', + }, + }, + xl: { + root: { + '--timeline-indicator-size': 'sizes.8', + '--timeline-font-size': 'fontSizes.sm', + }, + title: { + mt: '1.5', + textStyle: 'sm', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'solid', + }, + }, + colorPicker: { + className: 'colorPicker', + slots: [ + 'root', + 'label', + 'control', + 'trigger', + 'positioner', + 'content', + 'area', + 'areaThumb', + 'valueText', + 'areaBackground', + 'channelSlider', + 'channelSliderLabel', + 'channelSliderTrack', + 'channelSliderThumb', + 'channelSliderValueText', + 'channelInput', + 'transparencyGrid', + 'swatchGroup', + 'swatchTrigger', + 'swatchIndicator', + 'swatch', + 'eyeDropperTrigger', + 'formatTrigger', + 'formatSelect', + 'view', + ], + base: { + root: { + display: 'flex', + flexDirection: 'column', + gap: '1.5', + }, + label: { + color: 'fg', + fontWeight: 'medium', + textStyle: 'sm', + }, + valueText: { + textAlign: 'start', + }, + control: { + display: 'flex', + alignItems: 'center', + flexDirection: 'row', + gap: '2', + position: 'relative', + }, + swatchTrigger: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + }, + trigger: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + flexDirection: 'row', + flexShrink: '0', + gap: '2', + textStyle: 'sm', + minH: 'var(--input-height)', + minW: 'var(--input-height)', + px: '1', + rounded: 'l2', + _disabled: { + opacity: '0.5', + }, + '--focus-color': 'colors.colorPalette.focusRing', + '&:focus-visible': { + borderColor: 'var(--focus-color)', + outline: '1px solid var(--focus-color)', + }, + '&[data-fit-content]': { + '--input-height': 'unset', + px: '0', + border: '0', + }, + }, + content: { + display: 'flex', + flexDirection: 'column', + bg: 'bg.panel', + borderRadius: 'l3', + boxShadow: 'lg', + width: '64', + p: '4', + gap: '3', + zIndex: 'dropdown', + _open: { + animationStyle: 'slide-fade-in', + animationDuration: 'fast', + }, + _closed: { + animationStyle: 'slide-fade-out', + animationDuration: 'faster', + }, + }, + area: { + height: '180px', + borderRadius: 'l2', + overflow: 'hidden', + }, + areaThumb: { + borderRadius: 'full', + height: 'var(--thumb-size)', + width: 'var(--thumb-size)', + borderWidth: '2px', + borderColor: 'white', + shadow: 'sm', + focusVisibleRing: 'mixed', + focusRingColor: 'white', + }, + areaBackground: { + height: 'full', + }, + channelSlider: { + borderRadius: 'l2', + flex: '1', + }, + channelSliderTrack: { + height: 'var(--slider-height)', + borderRadius: 'inherit', + boxShadow: 'inset 0 0 0 1px rgba(0,0,0,0.1)', + }, + swatchGroup: { + display: 'flex', + flexDirection: 'row', + flexWrap: 'wrap', + gap: '2', + }, + swatch: { + boxSize: 'var(--swatch-size)', + shadow: 'inset 0 0 0 1px rgba(0, 0, 0, 0.1)', + '--checker-size': '8px', + '--checker-bg': 'colors.bg', + '--checker-fg': 'colors.bg.emphasized', + background: + 'linear-gradient(var(--color), var(--color)), repeating-conic-gradient(var(--checker-fg) 0%, var(--checker-fg) 25%, var(--checker-bg) 0%, var(--checker-bg) 50%) 0% 50% / var(--checker-size) var(--checker-size) !important', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: '0', + borderRadius: 'l1', + }, + swatchIndicator: { + color: 'white', + rounded: 'full', + }, + channelSliderThumb: { + borderRadius: 'full', + height: 'var(--thumb-size)', + width: 'var(--thumb-size)', + borderWidth: '2px', + borderColor: 'white', + shadow: 'sm', + transform: 'translate(-50%, -50%)', + focusVisibleRing: 'outside', + focusRingOffset: '1px', + }, + channelInput: { + width: '100%', + minWidth: '0', + outline: '0', + position: 'relative', + appearance: 'none', + textAlign: 'start', + borderRadius: 'l2', + _disabled: { + layerStyle: 'disabled', + }, + height: 'var(--input-height)', + minW: 'var(--input-height)', + '--focus-color': 'colors.colorPalette.focusRing', + '--error-color': 'colors.border.error', + _invalid: { + focusRingColor: 'var(--error-color)', + borderColor: 'var(--error-color)', + }, + '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': { + WebkitAppearance: 'none', + margin: 0, + }, + }, + formatSelect: { + textStyle: 'xs', + textTransform: 'uppercase', + borderWidth: '1px', + minH: '6', + focusRing: 'inside', + rounded: 'l2', + }, + transparencyGrid: { + borderRadius: 'l2', + }, + view: { + display: 'flex', + flexDirection: 'column', + gap: '2', + }, + }, + variants: { + size: { + '2xs': { + channelInput: { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.7', + }, + swatch: { + '--swatch-size': 'sizes.4.5', + }, + trigger: { + '--input-height': 'sizes.7', + }, + area: { + '--thumb-size': 'sizes.3', + }, + channelSlider: { + '--slider-height': 'sizes.3', + '--thumb-size': 'sizes.3', + }, + }, + xs: { + channelInput: { + textStyle: 'xs', + px: '2', + '--input-height': 'sizes.8', + }, + swatch: { + '--swatch-size': 'sizes.5', + }, + trigger: { + '--input-height': 'sizes.8', + }, + area: { + '--thumb-size': 'sizes.3.5', + }, + channelSlider: { + '--slider-height': 'sizes.3.5', + '--thumb-size': 'sizes.3.5', + }, + }, + sm: { + channelInput: { + textStyle: 'sm', + px: '2.5', + '--input-height': 'sizes.9', + }, + swatch: { + '--swatch-size': 'sizes.6', + }, + trigger: { + '--input-height': 'sizes.9', + }, + area: { + '--thumb-size': 'sizes.3.5', + }, + channelSlider: { + '--slider-height': 'sizes.3.5', + '--thumb-size': 'sizes.3.5', + }, + }, + md: { + channelInput: { + textStyle: 'sm', + px: '3', + '--input-height': 'sizes.10', + }, + swatch: { + '--swatch-size': 'sizes.7', + }, + trigger: { + '--input-height': 'sizes.10', + }, + area: { + '--thumb-size': 'sizes.3.5', + }, + channelSlider: { + '--slider-height': 'sizes.3.5', + '--thumb-size': 'sizes.3.5', + }, + }, + lg: { + channelInput: { + textStyle: 'md', + px: '4', + '--input-height': 'sizes.11', + }, + swatch: { + '--swatch-size': 'sizes.7', + }, + trigger: { + '--input-height': 'sizes.11', + }, + area: { + '--thumb-size': 'sizes.3.5', + }, + channelSlider: { + '--slider-height': 'sizes.3.5', + '--thumb-size': 'sizes.3.5', + }, + }, + xl: { + channelInput: { + textStyle: 'md', + px: '4.5', + '--input-height': 'sizes.12', + }, + swatch: { + '--swatch-size': 'sizes.8', + }, + trigger: { + '--input-height': 'sizes.12', + }, + area: { + '--thumb-size': 'sizes.3.5', + }, + channelSlider: { + '--slider-height': 'sizes.3.5', + '--thumb-size': 'sizes.3.5', + }, + }, + '2xl': { + channelInput: { + textStyle: 'lg', + px: '5', + '--input-height': 'sizes.16', + }, + swatch: { + '--swatch-size': 'sizes.10', + }, + trigger: { + '--input-height': 'sizes.16', + }, + area: { + '--thumb-size': 'sizes.3.5', + }, + channelSlider: { + '--slider-height': 'sizes.3.5', + '--thumb-size': 'sizes.3.5', + }, + }, + }, + variant: { + outline: { + channelInput: { + bg: 'transparent', + borderWidth: '1px', + borderColor: 'border', + focusVisibleRing: 'inside', + }, + trigger: { + borderWidth: '1px', + }, + }, + subtle: { + channelInput: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + focusVisibleRing: 'inside', + }, + trigger: { + borderWidth: '1px', + borderColor: 'transparent', + bg: 'bg.muted', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + variant: 'outline', + }, + }, + qrCode: { + slots: ['root', 'frame', 'pattern', 'overlay', 'downloadTrigger'], + className: 'chakra-qr-code', + base: { + root: { + position: 'relative', + width: 'fit-content', + '--qr-code-overlay-size': 'calc(var(--qr-code-size) / 3)', + }, + frame: { + width: 'var(--qr-code-size)', + height: 'var(--qr-code-size)', + fill: 'currentColor', + }, + overlay: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + width: 'var(--qr-code-overlay-size)', + height: 'var(--qr-code-overlay-size)', + padding: '1', + bg: 'bg', + rounded: 'l1', + }, + }, + variants: { + size: { + '2xs': { + root: { + '--qr-code-size': '40px', + }, + }, + xs: { + root: { + '--qr-code-size': '64px', + }, + }, + sm: { + root: { + '--qr-code-size': '80px', + }, + }, + md: { + root: { + '--qr-code-size': '120px', + }, + }, + lg: { + root: { + '--qr-code-size': '160px', + }, + }, + xl: { + root: { + '--qr-code-size': '200px', + }, + }, + '2xl': { + root: { + '--qr-code-size': '240px', + }, + }, + full: { + root: { + '--qr-code-size': '100%', + }, + }, + }, + }, + defaultVariants: { + size: 'md', + }, + }, + }, + textStyles: { + '2xs': { + value: { + fontSize: '2xs', + lineHeight: '0.75rem', + }, + }, + xs: { + value: { + fontSize: 'xs', + lineHeight: '1rem', + }, + }, + sm: { + value: { + fontSize: 'sm', + lineHeight: '1.25rem', + }, + }, + md: { + value: { + fontSize: 'md', + lineHeight: '1.5rem', + }, + }, + lg: { + value: { + fontSize: 'lg', + lineHeight: '1.75rem', + }, + }, + xl: { + value: { + fontSize: 'xl', + lineHeight: '1.875rem', + }, + }, + '2xl': { + value: { + fontSize: '2xl', + lineHeight: '2rem', + }, + }, + '3xl': { + value: { + fontSize: '3xl', + lineHeight: '2.375rem', + }, + }, + '4xl': { + value: { + fontSize: '4xl', + lineHeight: '2.75rem', + letterSpacing: '-0.025em', + }, + }, + '5xl': { + value: { + fontSize: '5xl', + lineHeight: '3.75rem', + letterSpacing: '-0.025em', + }, + }, + '6xl': { + value: { + fontSize: '6xl', + lineHeight: '4.5rem', + letterSpacing: '-0.025em', + }, + }, + '7xl': { + value: { + fontSize: '7xl', + lineHeight: '5.75rem', + letterSpacing: '-0.025em', + }, + }, + none: { + value: {}, + }, + }, + layerStyles: { + 'fill.muted': { + value: { + background: 'colorPalette.muted', + color: 'colorPalette.fg', + }, + }, + 'fill.subtle': { + value: { + background: 'colorPalette.subtle', + color: 'colorPalette.fg', + }, + }, + 'fill.surface': { + value: { + background: 'colorPalette.subtle', + color: 'colorPalette.fg', + boxShadow: '0 0 0px 1px var(--shadow-color)', + boxShadowColor: 'colorPalette.muted', + }, + }, + 'fill.solid': { + value: { + background: 'colorPalette.solid', + color: 'colorPalette.contrast', + }, + }, + 'outline.subtle': { + value: { + color: 'colorPalette.fg', + boxShadow: 'inset 0 0 0px 1px var(--shadow-color)', + boxShadowColor: 'colorPalette.subtle', + }, + }, + 'outline.solid': { + value: { + borderWidth: '1px', + borderColor: 'colorPalette.solid', + color: 'colorPalette.fg', + }, + }, + 'indicator.bottom': { + value: { + position: 'relative', + '--indicator-color-fallback': 'colors.colorPalette.solid', + _before: { + content: '""', + position: 'absolute', + bottom: 'var(--indicator-offset-y, 0)', + insetInline: 'var(--indicator-offset-x, 0)', + height: 'var(--indicator-thickness, 2px)', + background: + 'var(--indicator-color, var(--indicator-color-fallback))', + }, + }, + }, + 'indicator.top': { + value: { + position: 'relative', + '--indicator-color-fallback': 'colors.colorPalette.solid', + _before: { + content: '""', + position: 'absolute', + top: 'var(--indicator-offset-y, 0)', + insetInline: 'var(--indicator-offset-x, 0)', + height: 'var(--indicator-thickness, 2px)', + background: + 'var(--indicator-color, var(--indicator-color-fallback))', + }, + }, + }, + 'indicator.start': { + value: { + position: 'relative', + '--indicator-color-fallback': 'colors.colorPalette.solid', + _before: { + content: '""', + position: 'absolute', + insetInlineStart: 'var(--indicator-offset-x, 0)', + insetBlock: 'var(--indicator-offset-y, 0)', + width: 'var(--indicator-thickness, 2px)', + background: + 'var(--indicator-color, var(--indicator-color-fallback))', + }, + }, + }, + 'indicator.end': { + value: { + position: 'relative', + '--indicator-color-fallback': 'colors.colorPalette.solid', + _before: { + content: '""', + position: 'absolute', + insetInlineEnd: 'var(--indicator-offset-x, 0)', + insetBlock: 'var(--indicator-offset-y, 0)', + width: 'var(--indicator-thickness, 2px)', + background: + 'var(--indicator-color, var(--indicator-color-fallback))', + }, + }, + }, + disabled: { + value: { + opacity: '0.5', + cursor: 'not-allowed', + }, + }, + none: { + value: {}, + }, + }, + animationStyles: { + 'slide-fade-in': { + value: { + transformOrigin: 'var(--transform-origin)', + '&[data-placement^=top]': { + animationName: 'slide-from-bottom, fade-in', + }, + '&[data-placement^=bottom]': { + animationName: 'slide-from-top, fade-in', + }, + '&[data-placement^=left]': { + animationName: 'slide-from-right, fade-in', + }, + '&[data-placement^=right]': { + animationName: 'slide-from-left, fade-in', + }, + }, + }, + 'slide-fade-out': { + value: { + transformOrigin: 'var(--transform-origin)', + '&[data-placement^=top]': { + animationName: 'slide-to-bottom, fade-out', + }, + '&[data-placement^=bottom]': { + animationName: 'slide-to-top, fade-out', + }, + '&[data-placement^=left]': { + animationName: 'slide-to-right, fade-out', + }, + '&[data-placement^=right]': { + animationName: 'slide-to-left, fade-out', + }, + }, + }, + 'scale-fade-in': { + value: { + transformOrigin: 'var(--transform-origin)', + animationName: 'scale-in, fade-in', + }, + }, + 'scale-fade-out': { + value: { + transformOrigin: 'var(--transform-origin)', + animationName: 'scale-out, fade-out', + }, + }, + }, + }, +}; diff --git a/front/doc/.keep b/front/doc/.keep new file mode 100644 index 0000000..e69de29 diff --git a/front/index.html b/front/index.html new file mode 100644 index 0000000..9634717 --- /dev/null +++ b/front/index.html @@ -0,0 +1,13 @@ + + + + + + Karideo + + + +
+ + + diff --git a/front/knip.ts b/front/knip.ts new file mode 100644 index 0000000..5730c49 --- /dev/null +++ b/front/knip.ts @@ -0,0 +1,9 @@ +import type { KnipConfig } from 'knip'; + +const config: KnipConfig = { + // Ignoring mostly shell binaries + ignoreBinaries: ['export', 'sleep'], + ignore: [], +}; + +export default config; diff --git a/front/package.json b/front/package.json new file mode 100644 index 0000000..79861ce --- /dev/null +++ b/front/package.json @@ -0,0 +1,91 @@ +{ + "name": "karideo", + "private": true, + "version": "0.0.1", + "description": "KAR web music application", + "author": { + "name": "Edouard DUPIN", + "email": "yui.heero@gmail.farm" + }, + "license": "PROPRIETARY", + "engines": { + "node": ">=20" + }, + "scripts": { + "update_packages": "ncu --target minor", + "upgrade_packages": "ncu --upgrade ", + "install_dependency": "pnpm install", + "test": "vitest run", + "test:watch": "vitest watch", + "build": "tsc && vite build", + "static:build": "pnpm build", + "dev": "vite", + "pretty": "prettier -w .", + "lint": "pnpm tsc --noEmit", + "storybook": "storybook dev -p 3001", + "storybook:build": "storybook build && mv ./storybook-static ./public/storybook" + }, + "lint-staged": { + "*.{ts,tsx,js,jsx,json}": "prettier --write" + }, + "dependencies": { + "@trivago/prettier-plugin-sort-imports": "5.2.2", + "@chakra-ui/cli": "3.7.0", + "@chakra-ui/react": "3.7.0", + "@emotion/react": "11.14.0", + "allotment": "1.20.2", + "css-mediaquery": "0.1.2", + "dayjs": "1.11.13", + "history": "5.3.0", + "next-themes": "^0.4.4", + "react": "19.0.0-rc.1", + "react-dom": "19.0.0-rc.1", + "react-error-boundary": "5.0.0", + "react-icons": "5.4.0", + "react-router-dom": "7.1.5", + "react-select": "5.10.0", + "react-use": "17.6.0", + "zod": "3.24.1", + "zustand": "5.0.3" + }, + "devDependencies": { + "@chakra-ui/styled-system": "^2.12.0", + "@playwright/test": "1.50.1", + "@storybook/addon-actions": "8.5.4", + "@storybook/addon-essentials": "8.5.4", + "@storybook/addon-links": "8.5.4", + "@storybook/addon-mdx-gfm": "8.5.4", + "@storybook/react": "8.5.4", + "@storybook/react-vite": "8.5.4", + "@storybook/theming": "8.5.4", + "@testing-library/jest-dom": "6.6.3", + "@testing-library/react": "16.2.0", + "@testing-library/user-event": "14.6.1", + "@trivago/prettier-plugin-sort-imports": "5.2.2", + "@types/jest": "29.5.14", + "@types/node": "22.13.1", + "@types/react": "19.0.8", + "@types/react-dom": "19.0.3", + "@typescript-eslint/eslint-plugin": "8.24.0", + "@typescript-eslint/parser": "8.24.0", + "@vitejs/plugin-react": "4.3.4", + "eslint": "9.20.1", + "eslint-plugin-import": "2.31.0", + "eslint-plugin-react": "7.37.4", + "eslint-plugin-react-hooks": "5.1.0", + "eslint-plugin-storybook": "0.11.2", + "jest": "29.7.0", + "jest-environment-jsdom": "29.7.0", + "knip": "5.44.0", + "lint-staged": "15.4.3", + "npm-check-updates": "^17.1.14", + "prettier": "3.5.0", + "puppeteer": "24.2.0", + "react-is": "19.0.0", + "storybook": "8.5.4", + "ts-node": "10.9.2", + "typescript": "5.7.3", + "vite": "6.1.0", + "vitest": "3.0.5" + } +} diff --git a/front/playwright-report/.keep b/front/playwright-report/.keep new file mode 100644 index 0000000..e69de29 diff --git a/front/pnpm-lock.yaml b/front/pnpm-lock.yaml new file mode 100644 index 0000000..54b01c8 --- /dev/null +++ b/front/pnpm-lock.yaml @@ -0,0 +1,10742 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@chakra-ui/cli': + specifier: 3.7.0 + version: 3.7.0(@chakra-ui/react@3.7.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)) + '@chakra-ui/react': + specifier: 3.7.0 + version: 3.7.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + '@emotion/react': + specifier: 11.14.0 + version: 11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1) + '@trivago/prettier-plugin-sort-imports': + specifier: 5.2.2 + version: 5.2.2(prettier@3.5.0) + allotment: + specifier: 1.20.2 + version: 1.20.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + css-mediaquery: + specifier: 0.1.2 + version: 0.1.2 + dayjs: + specifier: 1.11.13 + version: 1.11.13 + history: + specifier: 5.3.0 + version: 5.3.0 + next-themes: + specifier: ^0.4.4 + version: 0.4.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + react: + specifier: 19.0.0-rc.1 + version: 19.0.0-rc.1 + react-dom: + specifier: 19.0.0-rc.1 + version: 19.0.0-rc.1(react@19.0.0-rc.1) + react-error-boundary: + specifier: 5.0.0 + version: 5.0.0(react@19.0.0-rc.1) + react-icons: + specifier: 5.4.0 + version: 5.4.0(react@19.0.0-rc.1) + react-router-dom: + specifier: 7.1.5 + version: 7.1.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + react-select: + specifier: 5.10.0 + version: 5.10.0(@types/react@19.0.8)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + react-speech-recognition: + specifier: 3.10.0 + version: 3.10.0(react@19.0.0-rc.1) + react-use: + specifier: 17.6.0 + version: 17.6.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + regenerator-runtime: + specifier: 0.14.1 + version: 0.14.1 + zod: + specifier: 3.24.1 + version: 3.24.1 + zustand: + specifier: 5.0.3 + version: 5.0.3(@types/react@19.0.8)(react@19.0.0-rc.1) + devDependencies: + '@chakra-ui/styled-system': + specifier: ^2.12.0 + version: 2.12.0(react@19.0.0-rc.1) + '@playwright/test': + specifier: 1.50.1 + version: 1.50.1 + '@storybook/addon-actions': + specifier: 8.5.4 + version: 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-essentials': + specifier: 8.5.4 + version: 8.5.4(@types/react@19.0.8)(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-links': + specifier: 8.5.4 + version: 8.5.4(react@19.0.0-rc.1)(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-mdx-gfm': + specifier: 8.5.4 + version: 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/react': + specifier: 8.5.4 + version: 8.5.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3) + '@storybook/react-vite': + specifier: 8.5.4 + version: 8.5.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)(rollup@4.34.6)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0)) + '@storybook/theming': + specifier: 8.5.4 + version: 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@testing-library/jest-dom': + specifier: 6.6.3 + version: 6.6.3 + '@testing-library/react': + specifier: 16.2.0 + version: 16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + '@testing-library/user-event': + specifier: 14.6.1 + version: 14.6.1(@testing-library/dom@10.4.0) + '@types/jest': + specifier: 29.5.14 + version: 29.5.14 + '@types/node': + specifier: 22.13.1 + version: 22.13.1 + '@types/react': + specifier: 19.0.8 + version: 19.0.8 + '@types/react-dom': + specifier: 19.0.3 + version: 19.0.3(@types/react@19.0.8) + '@typescript-eslint/eslint-plugin': + specifier: 8.24.0 + version: 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': + specifier: 8.24.0 + version: 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + '@vitejs/plugin-react': + specifier: 4.3.4 + version: 4.3.4(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0)) + eslint: + specifier: 9.20.1 + version: 9.20.1(jiti@2.4.2) + eslint-plugin-import: + specifier: 2.31.0 + version: 2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint@9.20.1(jiti@2.4.2)) + eslint-plugin-react: + specifier: 7.37.4 + version: 7.37.4(eslint@9.20.1(jiti@2.4.2)) + eslint-plugin-react-hooks: + specifier: 5.1.0 + version: 5.1.0(eslint@9.20.1(jiti@2.4.2)) + eslint-plugin-storybook: + specifier: 0.11.2 + version: 0.11.2(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + jest-environment-jsdom: + specifier: 29.7.0 + version: 29.7.0 + knip: + specifier: 5.44.0 + version: 5.44.0(@types/node@22.13.1)(typescript@5.7.3) + lint-staged: + specifier: 15.4.3 + version: 15.4.3 + npm-check-updates: + specifier: ^17.1.14 + version: 17.1.14 + prettier: + specifier: 3.5.0 + version: 3.5.0 + puppeteer: + specifier: 24.2.0 + version: 24.2.0(typescript@5.7.3) + react-is: + specifier: 19.0.0 + version: 19.0.0 + storybook: + specifier: 8.5.4 + version: 8.5.4(prettier@3.5.0) + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@22.13.1)(typescript@5.7.3) + typescript: + specifier: 5.7.3 + version: 5.7.3 + vite: + specifier: 6.1.0 + version: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + vitest: + specifier: 3.0.5 + version: 3.0.5(@types/debug@4.1.12)(@types/node@22.13.1)(jiti@2.4.2)(jsdom@20.0.3)(yaml@2.7.0) + +packages: + + '@adobe/css-tools@4.4.1': + resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@ark-ui/react@4.9.1': + resolution: {integrity: sha512-grnfoSUrGxN0VMgtf4yvpMgin2T4ERINqYm3x/XKny+q2iIO76PD7yjNP7IW+CDmNxy3QPOidcvRiCyy6x0LGA==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.8': + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.8': + resolution: {integrity: sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.8': + resolution: {integrity: sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.26.5': + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.26.5': + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.7': + resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.8': + resolution: {integrity: sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.26.7': + resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.26.8': + resolution: {integrity: sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.8': + resolution: {integrity: sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.8': + resolution: {integrity: sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@chakra-ui/cli@3.7.0': + resolution: {integrity: sha512-sWge85MWdz6F9RzkerO2B7muok56BIREqXSpelAB/Yt34ZsPBjMG1ive3cU7LEYPAu6OzeaCSkH+xWdcfEMGwA==} + hasBin: true + peerDependencies: + '@chakra-ui/react': '>=3.0.0-next.0' + + '@chakra-ui/react@3.7.0': + resolution: {integrity: sha512-LjorCIXVKylRQK2Lgs6K7+pHLdVOwJjpD2FwHC3bm+RGPMlKW0p7+zYE1haICBkpgW1ycOCqYU+th06Bc2nG7Q==} + peerDependencies: + '@emotion/react': '>=11' + react: '>=18' + react-dom: '>=18' + + '@chakra-ui/styled-system@2.12.0': + resolution: {integrity: sha512-zoqLw1I2y4GlZ0LDoyw8o0JjoDOW6u0IwFPAoHuw0UMbP8glHUGvwEL1STug/i/GzBKw83yoF6ae41HIQvhMww==} + + '@chakra-ui/utils@2.2.2': + resolution: {integrity: sha512-jUPLT0JzRMWxpdzH6c+t0YMJYrvc5CLericgITV3zDSXblkfx3DsYXqU11DJTSGZI9dUKzM1Wd0Wswn4eJwvFQ==} + peerDependencies: + react: '>=16.8.0' + + '@clack/core@0.4.1': + resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} + + '@clack/prompts@0.9.1': + resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + + '@emotion/cache@11.14.0': + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/is-prop-valid@1.3.1': + resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.14.0': + resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.11.0': + resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.20.0': + resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@floating-ui/core@1.6.9': + resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + + '@floating-ui/dom@1.6.12': + resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==} + + '@floating-ui/dom@1.6.13': + resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + + '@floating-ui/utils@0.2.9': + resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} + + '@internationalized/date@3.7.0': + resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==} + + '@internationalized/number@3.6.0': + resolution: {integrity: sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0': + resolution: {integrity: sha512-qYDdL7fPwLRI+bJNurVcis+tNgJmvWjH4YTBGXTA8xMuxFrnAz6E5o35iyzyKbq5J5Lr8mJGfrR5GXl+WGwhgQ==} + peerDependencies: + typescript: '>= 4.3.x' + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@juggle/resize-observer@3.4.0': + resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.scandir@4.0.1': + resolution: {integrity: sha512-vAkI715yhnmiPupY+dq+xenu5Tdf2TBQ66jLvBIcCddtz+5Q8LbMKaf9CIJJreez8fQ8fgaY+RaywQx8RJIWpw==} + engines: {node: '>=18.18.0'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@4.0.0': + resolution: {integrity: sha512-ctr6bByzksKRCV0bavi8WoQevU6plSp2IkllIsEqaiKe2mwNNnaluhnRhcsgGZHrrHk57B3lf95MkLMO3STYcg==} + engines: {node: '>=18.18.0'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@3.0.1': + resolution: {integrity: sha512-nIh/M6Kh3ZtOmlY00DaUYB4xeeV6F3/ts1l29iwl3/cfyY/OuCfUx+v08zgx8TKPTifXRcjjqVQ4KB2zOYSbyw==} + engines: {node: '>=18.18.0'} + + '@pandacss/is-valid-prop@0.41.0': + resolution: {integrity: sha512-BE6h6CsJk14ugIRrsazJtN3fcg+KDFRat1Bs93YFKH6jd4DOb1yUyVvC70jKqPVvg70zEcV8acZ7VdcU5TLu+w==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@playwright/test@1.50.1': + resolution: {integrity: sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==} + engines: {node: '>=18'} + hasBin: true + + '@puppeteer/browsers@2.7.1': + resolution: {integrity: sha512-MK7rtm8JjaxPN7Mf1JdZIZKPD2Z+W7osvrC1vjpvfOX1K0awDIHYbNi89f7eotp7eMUn2shWnt03HwVbriXtKQ==} + engines: {node: '>=18'} + hasBin: true + + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.34.6': + resolution: {integrity: sha512-+GcCXtOQoWuC7hhX1P00LqjjIiS/iOouHXhMdiDSnq/1DGTox4SpUvO52Xm+div6+106r+TcvOeo/cxvyEyTgg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.34.6': + resolution: {integrity: sha512-E8+2qCIjciYUnCa1AiVF1BkRgqIGW9KzJeesQqVfyRITGQN+dFuoivO0hnro1DjT74wXLRZ7QF8MIbz+luGaJA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.34.6': + resolution: {integrity: sha512-z9Ib+OzqN3DZEjX7PDQMHEhtF+t6Mi2z/ueChQPLS/qUMKY7Ybn5A2ggFoKRNRh1q1T03YTQfBTQCJZiepESAg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.34.6': + resolution: {integrity: sha512-PShKVY4u0FDAR7jskyFIYVyHEPCPnIQY8s5OcXkdU8mz3Y7eXDJPdyM/ZWjkYdR2m0izD9HHWA8sGcXn+Qrsyg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.34.6': + resolution: {integrity: sha512-YSwyOqlDAdKqs0iKuqvRHLN4SrD2TiswfoLfvYXseKbL47ht1grQpq46MSiQAx6rQEN8o8URtpXARCpqabqxGQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.34.6': + resolution: {integrity: sha512-HEP4CgPAY1RxXwwL5sPFv6BBM3tVeLnshF03HMhJYCNc6kvSqBgTMmsEjb72RkZBAWIqiPUyF1JpEBv5XT9wKQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.34.6': + resolution: {integrity: sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.34.6': + resolution: {integrity: sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.34.6': + resolution: {integrity: sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.34.6': + resolution: {integrity: sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.34.6': + resolution: {integrity: sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.34.6': + resolution: {integrity: sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.34.6': + resolution: {integrity: sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.34.6': + resolution: {integrity: sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.34.6': + resolution: {integrity: sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.34.6': + resolution: {integrity: sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.34.6': + resolution: {integrity: sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.34.6': + resolution: {integrity: sha512-oLHxuyywc6efdKVTxvc0135zPrRdtYVjtVD5GUm55I3ODxhU/PwkQFD97z16Xzxa1Fz0AEe4W/2hzRtd+IfpOA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.34.6': + resolution: {integrity: sha512-0PVwmgzZ8+TZ9oGBmdZoQVXflbvuwzN/HRclujpl4N/q3i+y0lqLw8n1bXA8ru3sApDjlmONaNAuYr38y1Kr9w==} + cpu: [x64] + os: [win32] + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@snyk/github-codeowners@1.1.0': + resolution: {integrity: sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==} + engines: {node: '>=8.10'} + hasBin: true + + '@storybook/addon-actions@8.5.4': + resolution: {integrity: sha512-b7dwmVWaiJJmPdNrCCuy5wPD1HsPNGHCH+O9XJDrQpZ4EFREAcoWurIztldy5PV7DOOeLlW5rXxtwEEN41emQg==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-backgrounds@8.5.4': + resolution: {integrity: sha512-PldWAiNGZ2gjwHSYpqCgkMAQ9kt6yZSZ6BMvQMEMZ5uUhTlQ65g/aSAVN8a3baM79idPA3yetnMm2ybXbUxKOQ==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-controls@8.5.4': + resolution: {integrity: sha512-6rI+IIYdTpR7RrZQfE1ixPINm+a4DOggs82PX8q8gLGErHQo1TSfLaUeNpysb9DTZev0PhTdajdiW4AVakMgyg==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-docs@8.5.4': + resolution: {integrity: sha512-dLDM1oycm50a2wJVtuPwoNLIBmy8Z9r7e0F9InsPu9iTZAZLb6C5lYDNXG7GkFrRU/Q2yqSb9q7upoV7UiPGWA==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-essentials@8.5.4': + resolution: {integrity: sha512-syocWJaOI+JpV6aRhw1+QKFjJ0LEt1L/qDDz+UWyH2ryppXUkKQtc8nJVkLogkWODIZ/Q4cjIVD0kdrDSmtu0g==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-highlight@8.5.4': + resolution: {integrity: sha512-llrxTpzJs+F61nU9ZPaVhw8iHE3hVSc5bVRuEFSRRroJC/wSNGBHz9nLBfmZ7w+06dXK4S5DRHbYehBLRRzj3Q==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-links@8.5.4': + resolution: {integrity: sha512-t28NJXhtTGa4RbzGOWNoL0T9liqhdlVbq3wkhbpUgXI4ay5BA2bVsVUuO7vKDp26oNeaZDsSyWv78Gg7FoeVmQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.5.4 + peerDependenciesMeta: + react: + optional: true + + '@storybook/addon-mdx-gfm@8.5.4': + resolution: {integrity: sha512-E+qm4XVUPqgZYphecmx4KOi9lEGXaxC3uoE05fTPYJhAmzX9QqC3Rtz+p5t96AiXPSJPb7aYjSuMZOn1zP5t8w==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-measure@8.5.4': + resolution: {integrity: sha512-VmKvXGm7s++BUrnmT8GHw2A3x+nDTk+8PtP4cBVaqMqyiYOd7ycWDrCTrLl/sm+WcYo3NY9/iXYNgluN4rKQ5Q==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-outline@8.5.4': + resolution: {integrity: sha512-DSrTzQpCObZ9Af3djJPWVkBxvUfkBtMMeXKaGazOZem90vk2r1Q2PRaX8J/xhWxMhZtvjQuYexAyn5O7JxdaWA==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-toolbars@8.5.4': + resolution: {integrity: sha512-aszYJ8VJjaQV6RcZhD27NMSHpPHygt130l3VnRg1EqKN/r2QdNU1hVC8n2EPASYOJfOQH4Q9eySIplbQYSt0+g==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/addon-viewport@8.5.4': + resolution: {integrity: sha512-CweXFUXmdG9d4uRVspGzhtrzwyLYQMKLIpjz1N5jDHiT234+xWKYtlqYbpmm5x56M/w9kzxqIWgyMgB/i2mPIA==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/blocks@8.5.4': + resolution: {integrity: sha512-QLfQ5KX6m2FAsz1zjB+mUp9jEA+LCzIHo3BxLr/tWN3pIwSURoHs2wrHDXT2r+wu5CBesGvTKI4KUWlsxsOF9g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^8.5.4 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/builder-vite@8.5.4': + resolution: {integrity: sha512-cuzl+S/4wfhOZTZ2nIiUkAyJ3tUPFgr6ghTx3aPWjlXrB7fQfO008HQl8p2aa1ZJB1E0IAxpfsb09/Kf+0nO2w==} + peerDependencies: + storybook: ^8.5.4 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + + '@storybook/components@8.5.4': + resolution: {integrity: sha512-z4lWN4W1cUqlhOFQ3Kg33Yu4uuoOvECQtxJqNHUPFsHNOtIbYIdUMCLwiJFUxrzdJXUnOqn5QTcsFerWX6Roag==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/core@8.5.4': + resolution: {integrity: sha512-x7SoqdDAi6+x7hFRF7SIcxKKNdj8E1pK0B9k6uf+cop16/mxNWazqQFJRpKRE66h/ImYqopMnpX3ASaa3Khm4w==} + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + + '@storybook/csf-plugin@8.5.4': + resolution: {integrity: sha512-W368wMblH861QlW5gfZEwF/LYrWQ2NheXgikBfYv73se1WxvQCo8IMLXCNpgmYhse81GsvXRddKULGsqDSH37A==} + peerDependencies: + storybook: ^8.5.4 + + '@storybook/csf@0.1.12': + resolution: {integrity: sha512-9/exVhabisyIVL0VxTCxo01Tdm8wefIXKXfltAPTSr8cbLn5JAxGQ6QV3mjdecLGEOucfoVhAKtJfVHxEK1iqw==} + + '@storybook/csf@0.1.13': + resolution: {integrity: sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==} + + '@storybook/global@5.0.0': + resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} + + '@storybook/icons@1.3.2': + resolution: {integrity: sha512-t3xcbCKkPvqyef8urBM0j/nP6sKtnlRkVgC+8JTbTAZQjaTmOjes3byEgzs89p4B/K6cJsg9wLW2k3SknLtYJw==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + + '@storybook/manager-api@8.5.4': + resolution: {integrity: sha512-kFK5DM+4YPob0qdiXN5DJh33fDyQvNJb7IAobDS/rPo2L+t6M+DAgqEsXLQXT9nUbnUD9IcCjwEnjKa+EHU2RA==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/preview-api@8.5.4': + resolution: {integrity: sha512-V9cTl5uWRmWAA4hCmz97PxgP0QYq2DpJUpeSxt/+Hhhm1OYTxAYJWt6Y3pIfqEFhOFjQzZwTprzGYzVjk4S3DA==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/react-dom-shim@8.5.4': + resolution: {integrity: sha512-m6soTAZFlOH5L2CW3V3g1eJ9Z06Gzgv8urOrnqeBmyCTcpuzxs4GRf9whvu5x/ULZAuvAL77H53d9W1/UYI4sQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.5.4 + + '@storybook/react-vite@8.5.4': + resolution: {integrity: sha512-FPk8k7EkNkVP7A3oCHgnNPoOn9Ebj8WswOpkAlClmKXbyWFgdVYvz6X34pbmqqfba+o3+icQhPPEIAAvmVe2ow==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@storybook/test': 8.5.4 + 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 + storybook: ^8.5.4 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + '@storybook/test': + optional: true + + '@storybook/react@8.5.4': + resolution: {integrity: sha512-4OipHaxH+IYqrYrX25kjrXTC3gj0NhpksYG/cfZ38MgLY+odFHGI7hNMgx9YMoaL/pnQRtnVjWaz2nIahsUXSA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@storybook/test': 8.5.4 + 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 + storybook: ^8.5.4 + typescript: '>= 4.2.x' + peerDependenciesMeta: + '@storybook/test': + optional: true + typescript: + optional: true + + '@storybook/theming@8.5.4': + resolution: {integrity: sha512-mgMQDe6rF0fS3cDGx55KSzv0URA9Eefo89uoh2oKUmv5+M30067axNK62A9Ys03fSVcB11Iccen0cyu3SHeiyw==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@testing-library/dom@10.4.0': + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} + + '@testing-library/jest-dom@6.6.3': + resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/react@16.2.0': + resolution: {integrity: sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@testing-library/user-event@14.6.1': + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + + '@trivago/prettier-plugin-sort-imports@5.2.2': + resolution: {integrity: sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==} + engines: {node: '>18.12'} + peerDependencies: + '@vue/compiler-sfc': 3.x + prettier: 2.x - 3.x + prettier-plugin-svelte: 3.x + svelte: 4.x || 5.x + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + prettier-plugin-svelte: + optional: true + svelte: + optional: true + + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/cli-table@0.3.4': + resolution: {integrity: sha512-GsALrTL69mlwbAw/MHF1IPTadSLZQnsxe7a80G8l4inN/iEXCOcVeT/S7aRc6hbhqzL9qZ314kHPDQnQ3ev+HA==} + + '@types/cookie@0.6.0': + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/doctrine@0.0.9': + resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/gensync@1.0.4': + resolution: {integrity: sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} + + '@types/js-cookie@2.2.7': + resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} + + '@types/jsdom@20.0.1': + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/lodash.mergewith@4.6.9': + resolution: {integrity: sha512-fgkoCAOF47K7sxrQ7Mlud2TH023itugZs2bUg8h/KzT+BnZNrR2jAOmaokbLunHNnobXVWOezAeNn/lZqwxkcw==} + + '@types/lodash@4.17.15': + resolution: {integrity: sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@22.13.1': + resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/react-dom@19.0.3': + resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==} + peerDependencies: + '@types/react': ^19.0.0 + + '@types/react-transition-group@4.4.12': + resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==} + peerDependencies: + '@types/react': '*' + + '@types/react@19.0.8': + resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==} + + '@types/resolve@1.20.6': + resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/uuid@9.0.8': + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@typescript-eslint/eslint-plugin@8.24.0': + resolution: {integrity: sha512-aFcXEJJCI4gUdXgoo/j9udUYIHgF23MFkg09LFz2dzEmU0+1Plk4rQWv/IYKvPHAtlkkGoB3m5e6oUp+JPsNaQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/parser@8.24.0': + resolution: {integrity: sha512-MFDaO9CYiard9j9VepMNa9MTcqVvSny2N4hkY6roquzj8pdCBRENhErrteaQuu7Yjn1ppk0v1/ZF9CG3KIlrTA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/scope-manager@8.24.0': + resolution: {integrity: sha512-HZIX0UByphEtdVBKaQBgTDdn9z16l4aTUz8e8zPQnyxwHBtf5vtl1L+OhH+m1FGV9DrRmoDuYKqzVrvWDcDozw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.24.0': + resolution: {integrity: sha512-8fitJudrnY8aq0F1wMiPM1UUgiXQRJ5i8tFjq9kGfRajU+dbPyOuHbl0qRopLEidy0MwqgTHDt6CnSeXanNIwA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/types@8.24.0': + resolution: {integrity: sha512-VacJCBTyje7HGAw7xp11q439A+zeGG0p0/p2zsZwpnMzjPB5WteaWqt4g2iysgGFafrqvyLWqq6ZPZAOCoefCw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.24.0': + resolution: {integrity: sha512-ITjYcP0+8kbsvT9bysygfIfb+hBj6koDsu37JZG7xrCiy3fPJyNmfVtaGsgTUSEuTzcvME5YI5uyL5LD1EV5ZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/utils@8.24.0': + resolution: {integrity: sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/visitor-keys@8.24.0': + resolution: {integrity: sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@visulima/boxen@1.0.29': + resolution: {integrity: sha512-z+JkZVhUTKfAdM1vjILnWwAd75NFFZH0/4Y2ByYnXNroZq5fB9Qv316lyA4LI9DZgoFhxgwf9Z+HWw8tagLvWw==} + engines: {node: '>=18.0.0 <=23.x'} + os: [darwin, linux, win32] + + '@vitejs/plugin-react@4.3.4': + resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + + '@vitest/expect@3.0.5': + resolution: {integrity: sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==} + + '@vitest/mocker@3.0.5': + resolution: {integrity: sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@3.0.5': + resolution: {integrity: sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==} + + '@vitest/runner@3.0.5': + resolution: {integrity: sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==} + + '@vitest/snapshot@3.0.5': + resolution: {integrity: sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==} + + '@vitest/spy@3.0.5': + resolution: {integrity: sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==} + + '@vitest/utils@3.0.5': + resolution: {integrity: sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==} + + '@xobotyi/scrollbar-width@1.9.5': + resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} + + '@zag-js/accordion@0.82.1': + resolution: {integrity: sha512-DWaElpm6RhntW8zVPMfd+s461FuXi6rv4pDPpXb4xCAJ0KTkBzS6PFxoBLL+11Mjv9XioaBoJatIGOCF8GAtTA==} + + '@zag-js/anatomy@0.82.1': + resolution: {integrity: sha512-wpgU7LyU9St3o/ft8Nkundi7MkW37vN1hYc2E7VA/R6mun0qiANsEf83ymIlAYnovLC6WUlBso9xwqejr6wRCg==} + + '@zag-js/aria-hidden@0.82.1': + resolution: {integrity: sha512-KSz9oMY9rn1N3k3tFTKHlU66eQf8XZ/gy/ex27J0ykZoaYJplWQerSZvVakbILeh+rtpvdiTNaSgrCAwYwvAPA==} + + '@zag-js/auto-resize@0.82.1': + resolution: {integrity: sha512-adOB7Y4p4i6b8GJv4V6qhlK1YRj4Ejs5I+eWFd8Rx535uQIcxEEVtpEAD5SRYg5PNk1ikaT+GCoHnTadGj6PuA==} + + '@zag-js/avatar@0.82.1': + resolution: {integrity: sha512-XjRvDRmBxwy5OtIzlQOpf7zNk4g0b/uA7qZve5Hz0R7yWOu+NFlbFv0GsvRfgyYMCT5J0xBu271EG9FJq3QKyw==} + + '@zag-js/carousel@0.82.1': + resolution: {integrity: sha512-MO9+9oedxdKynxgvLLzXs+VQSOhu+GvsCLV4fBt7nMBMGIRHtRSzXHRNRkO0aqbsO/nKQ8TFH7GYzI1NqT/y4A==} + + '@zag-js/checkbox@0.82.1': + resolution: {integrity: sha512-yD/h8ao/JTljEo+zthpKzTy/f9fqOlJ7Nd6psPoSKZy2MRGD0TDUbOjravb3icVgjTLCiaPVWMWdonny08Me6A==} + + '@zag-js/clipboard@0.82.1': + resolution: {integrity: sha512-r1r3vwozs+lyNgccR3OfmYAydP0cJbIHGsgDKGuempinqv6xIoptHOkFgWNd6Kxz/3MnxP+BMEy6fZzECXkhdQ==} + + '@zag-js/collapsible@0.82.1': + resolution: {integrity: sha512-TuggUoXRVBOwACksi63TsN2rOukzUpe6oVMUvp9MaQaDbg9gpw0JzLTrdAaHfE+bhgXAb3EjN6wcZjq8zBctZQ==} + + '@zag-js/collection@0.82.1': + resolution: {integrity: sha512-uteM+xWZlWhRQe5biA5QWyva9PdzXONs+bpycUtZt8MakQgPmhW2whY9r1aW5NFVb/ScTwGAIGB3Eyc6Npz7Wg==} + + '@zag-js/color-picker@0.82.1': + resolution: {integrity: sha512-/MShDVBFNnXResLzeyWyKApeHuB9rmUeJo3WD/Bl6rTwjmvVCKRYguIe1SQviOokMLjuAyh0YWXdKMQw0HvMqQ==} + + '@zag-js/color-utils@0.82.1': + resolution: {integrity: sha512-BMSYcBeypGX0wCLszU2jxWBRUmd5/wPDJ59Y3Zwl9yNld0gtMnuBLSUeokMcG0UVQ/BxkyrWu3VDkKTUYKprqQ==} + + '@zag-js/combobox@0.82.1': + resolution: {integrity: sha512-Me3a0Sw4dTtmBRmbLGO/C1LJ4btZwbd5RLYnf8RPhEnqGJ5Z05i+ffWEe+SNBvpQO14njqBcF6P8VypVD/Ro1A==} + + '@zag-js/core@0.82.1': + resolution: {integrity: sha512-Ux0fkt1PumcqLwExcEozCMEfKBxtd2JlnitXo4hR3lJW5q9G52FkgWDyPSrhblyTkX+7RgxViZTMnHxaXs99jg==} + + '@zag-js/date-picker@0.82.1': + resolution: {integrity: sha512-f+4CV29+hcQ3Yw9hh0yyVRANONIUEWIrPS1fpnrrUNtIC0Y7f1Ajx+x089X9VxgQhwreK1sEwpnrL2vIqy+9+A==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/date-utils@0.82.1': + resolution: {integrity: sha512-z9sHtgV4fvtXsqLaTD4/o+D+H5wumLYhIw/Bj3yC41gR5oa4Wo9QifRT9DBfvuokmXsrnRZ8k32hUtWoYb6M/A==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/dialog@0.82.1': + resolution: {integrity: sha512-oqi+6Y/rx6ZKxg3s9r6bIuo33x+5+UDhvrlk31kE3LWgU1KJjVV0VEkFMK9B1SJTY7IizhlWMyDx+JXJ+jOy5Q==} + + '@zag-js/dismissable@0.82.1': + resolution: {integrity: sha512-vs+zkORzaeNzX4Wsy4OkW1AVce7l4Tc6DHZq8gqNB5SvhK+5wEPl6EmacQRvZyoCxi2m6xpaI98UkLCmVJKU+Q==} + + '@zag-js/dom-query@0.82.1': + resolution: {integrity: sha512-KFtbqDUykQur587hyrGi8LL8GfTS2mqBpIT0kL3E+S63Mq7U84i+hGf3VyNuInMB5ONpkNEk5JN4G9/HWQ6pAQ==} + + '@zag-js/editable@0.82.1': + resolution: {integrity: sha512-V5i3kYSHFJYj8914nBf4VKKtm6m59gG482vm20As4EnLcwGFrOBbm4HXUgsKq0wYSLy/lTtvMrUT8Iqudye2gw==} + + '@zag-js/element-rect@0.82.1': + resolution: {integrity: sha512-xXUjmeIUdxkxic5bepp6fVqN9Qs+54PXCAUl6g/DtJecQVmVooIfa3SLSULhany4aR4mlGojp5TJxvSpUBA58Q==} + + '@zag-js/element-size@0.82.1': + resolution: {integrity: sha512-k1rOE6NhoULI9d5pt2qVUxWCQVEf3OTPH8UDnbsdf11xn+hMCzRYd9lekUdVGrcHHGvEK+W6iAfWZnlwsJsmow==} + + '@zag-js/file-upload@0.82.1': + resolution: {integrity: sha512-6cgJsy9bf2DB0v+CVq1L4g4aCePTpfWsV4C0HC+82K+OSPomiIPsQS87wo4+eAcy3z+80Qh+uglZCFAwkW8W+g==} + + '@zag-js/file-utils@0.82.1': + resolution: {integrity: sha512-/u86hMd+E5UCrrY9akDAExkO7sgPA1lXzWC9gSX4LSxHATk7Vo4o5+4LiE1MX4WZRytOhtxAycJzNDVpqzmppQ==} + + '@zag-js/focus-trap@0.82.1': + resolution: {integrity: sha512-z5OzmR8O3n2043Lwhp1qcizNHXvzc/Xteb3hWmxbX9hR3k0wHJeMXMj3GTDO0FBixRt+d8iHEmt3/8CkI72mqw==} + + '@zag-js/focus-visible@0.82.1': + resolution: {integrity: sha512-b87FqZO6e9RmTY4msEzwZ3hZ8pRuPd2vbR2b6SlXr6ohtmGKlGgBGO4kmarZN/ClE+7VOnOEqIicatRBEgX9bw==} + + '@zag-js/highlight-word@0.82.1': + resolution: {integrity: sha512-lS5r3V0l7Z53QyNwkxulYp5QYA9mFkU+3XsZqfM6cBjh+wmGE1xeIwknAmFtYvuYNK37AwT7pp5z0Rm1Ep6WVQ==} + + '@zag-js/hover-card@0.82.1': + resolution: {integrity: sha512-fp9t/PNXODwxXR1X+VzgYeSpgoJ+M3W/qvuA2stgPI4kEinwKEssSlP2sH6gTmQVZKL8SV1jiNQinVh00NE85g==} + + '@zag-js/i18n-utils@0.82.1': + resolution: {integrity: sha512-YcTIqka6+/YoH2VRBMnv3CvTjHdUo/NG2nMenAB9Wq0MLTn+TAtcsujenz7ckJcgayVhFAchWNhwK9+/cs1dAw==} + + '@zag-js/interact-outside@0.82.1': + resolution: {integrity: sha512-WcWJB5kM41fDM6YMGC3ZEPVn1q3Nrm+cAFkllRJrRY4+bUKXmtN8bqDaRKghP+dG5CXz66SiM6xBvDE4nqtK5Q==} + + '@zag-js/live-region@0.82.1': + resolution: {integrity: sha512-BmSXc41y1uOra/UV1lt8BurWkuwne/+c371IJCK6l+MWsO0ufq1lrjfx4cyFf5yhVcPRkhv/b/0i+7RxfDSK1A==} + + '@zag-js/menu@0.82.1': + resolution: {integrity: sha512-faAlQZYeWHcGH8nIxBYh7HHfVjSKsHV8yUsbhMD0XkePWM6eB+dPRd/Fc3DeT8ieM8+sUODnTHEuxar0i48v4w==} + + '@zag-js/number-input@0.82.1': + resolution: {integrity: sha512-QIQlxlxM78+TkEhPEGlTbkBR3G2ngm5vhc3BFw4sG6ABMyre8TiIH37EqQB7EGKyAcuz6QwPk3AervHMFKe4YQ==} + + '@zag-js/pagination@0.82.1': + resolution: {integrity: sha512-1Rsd3cSnlewefNB1RBI0ymK5wlgiBcK42H1IrJIhly6+SXDAhp0Oc45ofsCzpfhkQ4be+A9Cb30ayc6J4ZU2kA==} + + '@zag-js/pin-input@0.82.1': + resolution: {integrity: sha512-P7UN7rIt03YHt05SuK+kZ9mhl4AfvCvaSGB/9KzEq5r6p1D3lc4+0LVkkOvL2EEB8vbGY/y5BNcvaF2jPQPH5Q==} + + '@zag-js/popover@0.82.1': + resolution: {integrity: sha512-zZ8H/jcjaXcLRX4dBcmandexeKV/5cBOt4AUVEnd3/X5NFFkA2Njz8rpQFcNRZl814NxG4RCchIu8kmonmUKCA==} + + '@zag-js/popper@0.82.1': + resolution: {integrity: sha512-vQTmVUs6aLGqKmWb+FnLDntsulvd/sCvgndeTmwOHRW8PBwPb86aDnvNrNosBSS+Kk9p6CMJwWZ6CuPWR5Kf7Q==} + + '@zag-js/presence@0.82.1': + resolution: {integrity: sha512-eZeAkq2s7NYCiNVMvkWL2Or458hZj71u7ygCt6skA18sO1ZksY+qIFqj99leCov+fesz06Hf8bxZz5029t/Wjg==} + + '@zag-js/progress@0.82.1': + resolution: {integrity: sha512-Fy1EjUda7o7e/yTKbZgKKayGOsHxkjLG+x0AakHmbR/k2VKbM4QuFHB9RJLlqNd9a+m/BzS1kEKWzCJ7/mXL9Q==} + + '@zag-js/qr-code@0.82.1': + resolution: {integrity: sha512-E1N1o1dPVuhWkcrg6urut2aaCqrc16OeE9VJh1mAGIUknF3p0QScH+ql7J/n9r8WOa21xyF6HLKhnWVPRQmHGg==} + + '@zag-js/radio-group@0.82.1': + resolution: {integrity: sha512-YTqP4Ok2YEmEXCEiNW2tufZ6svt4sh7KHqrHZq81vPAJMKKhVosP6LnZvmt4dVn6tKJ0OU8idwFVtPM5jSAWoA==} + + '@zag-js/rating-group@0.82.1': + resolution: {integrity: sha512-ULl0OA207b6Ilsr2QWt4dbx58hA/NnyCmHpvv1pAYSlH3K0Es5b25B80Cc5jM/3NK3yqoY81OkS9U8lxmpWo+A==} + + '@zag-js/react@0.82.1': + resolution: {integrity: sha512-CZivUTFQ4TdRKTN+9wpWAo0lEZlMnbjJPVn2VJVpcz+eRNUeoVzevkNY/OzAqdV3mp+VtdNabQn1fAz8ngViPQ==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@zag-js/rect-utils@0.82.1': + resolution: {integrity: sha512-gXmvj1wK9FeToOCzvoZ5gycqUNRzfeqd84uwJeG9zA8SVdoyEnoAji8IAynneq8t3LbiNUcu37wjTw0dcWM6ig==} + + '@zag-js/remove-scroll@0.82.1': + resolution: {integrity: sha512-68cvXvqgNOlucbnGKRyephk8Qg8wb4xpjgUdmF9xQwICdY/uhW2p4ZGJ4471TDCDIlpoBrJPYsWqV2oWH3QNfA==} + + '@zag-js/scroll-snap@0.82.1': + resolution: {integrity: sha512-HL3MkBpWx4Cw0+h1UP/PnvLP3Z1T+F5mkeS8HWmiP+KPzhtFiEBRrve+xk7h7BMXifteg2UZy53ZiZfJeGsd3w==} + + '@zag-js/select@0.82.1': + resolution: {integrity: sha512-cc6D8Iz+Ewnx9L0J63QGqC2bbiwzCEcJVE/j4OZDcy4Qk3lqr3qA09uuJbQxAi7yvIeB44DIEt9ryTZPkZbgiw==} + + '@zag-js/signature-pad@0.82.1': + resolution: {integrity: sha512-s8ae88OpAafkpuqimO9beUiVTn3FG+bnWeWnYQOLtNYMCNHzQbVZp9QBNbOoUpNcDT14mx9rfZe98BqfiMohFw==} + + '@zag-js/slider@0.82.1': + resolution: {integrity: sha512-qXVvXbDRq6Cla036M9OH6plO7ubefM7k65NJQKjtITDua+VliKQLXj9BrdPLT9K96wWntW+D/TiZXE+JNbR4ow==} + + '@zag-js/splitter@0.82.1': + resolution: {integrity: sha512-eMNncj+pcepYTf+51s4ysDS/tjtKXswpwsSQR0AeNqCE3SW3TGzHOM0+uheyjgv9EmDGDrr3Imdo0PCkq3bqug==} + + '@zag-js/steps@0.82.1': + resolution: {integrity: sha512-N/LVOPbpQGtqpnNsdgZsQytpvXVoJ9Uldo8G38Q7892wwhVx63L0qLaiOK+SkU7kUTueOh109HezZ67nq3sadw==} + + '@zag-js/store@0.82.1': + resolution: {integrity: sha512-uWlVivLZBCuAEXrXOITM1srwfBtAnT8kBYVPElrT5aSO9gkV1YC/g+YdFRol7KKOg12qO561CPKReVfilmtAKg==} + + '@zag-js/switch@0.82.1': + resolution: {integrity: sha512-lIZsOs5nG9TkPs75+OK5THprEO0u3NAiLnEJ489KEFautVX/GMwAWvGHNFS7CcCpLZv+EpVKAPAdmGfEphrzhA==} + + '@zag-js/tabs@0.82.1': + resolution: {integrity: sha512-1uwNRvy8LyUTCAWjL1kD7BexOZ0sHrZ4OnUwDNuaWbqxUjtzoe+ftvcLXvmwFMmrns7o1SVnjqkgSVKuE4mcDA==} + + '@zag-js/tags-input@0.82.1': + resolution: {integrity: sha512-1mY8nCNMQgMwWBV5zX0bUcIgstqKjvFOAuYhGLIxbQPbgX7lP8Kr3nuhABh0oC0KnWaKfOMlItir2k795G4KMQ==} + + '@zag-js/time-picker@0.82.1': + resolution: {integrity: sha512-nWKx3yyHFBUBPOTDFhi3du4wWlQe8wY0EoeWLQN6bpJSF4qo/BosTZJkUHm//FgUdwdhQBFOAsrlrJ0vL4qvNA==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/timer@0.82.1': + resolution: {integrity: sha512-uG4xCrYHgDZJgvW+71ROQX0xIkqMup37ZpNSLS2f5eD5DO1n/9NYLztA1YyeCJyv1aEDsZreeJLJvNDElgXA2A==} + + '@zag-js/toast@0.82.1': + resolution: {integrity: sha512-4dL99zHXQg8j7ReJAR9zLAp5lNKMS4Nm+THnJaKsA0TF5QkELGnsZz47oKhFY0aQn46paxMLVagLqQ0+2i6D1w==} + + '@zag-js/toggle-group@0.82.1': + resolution: {integrity: sha512-8YaYKFz3ciiQhlTFScrvqH3Ke6UMDQLSgMEsCcERBYatd6TxkJwlFiBzpksIDsZpmloBrylyItJvqmzj9jt6Ig==} + + '@zag-js/tooltip@0.82.1': + resolution: {integrity: sha512-ewF/1h2INDJlzYnoIigcWFWim56ezhfl7YGKgqLBdxBoRvZHyhRIfR8bbddVZk4k144gXsMVMeXwS6VEt6D0eQ==} + + '@zag-js/tour@0.82.1': + resolution: {integrity: sha512-Oo4ZA3vG2sYEotfrWVXfIV1KW0Z+s91U+2YPtM2sOLnhetEVXxj/AwAruZfvS6WOcTI7D9UBrrQolY94fdZeOA==} + + '@zag-js/tree-view@0.82.1': + resolution: {integrity: sha512-xvYwaL49ffC8nnb+ENgNtkSZE1jMh8tm1E777AqBqnrhJZ28+FA9Sk8YDuWIWhNOV/r4n97jTXqj4SAGCrlAMQ==} + + '@zag-js/types@0.82.1': + resolution: {integrity: sha512-Nr/CU/z/SZWDL92P2u9VDZL9JUxY8L1P7dGI0CmDKHlEHk1+vzqg3UnVkUKkZ5eVMNLtloHbrux5X9Gmkl39WQ==} + + '@zag-js/utils@0.82.1': + resolution: {integrity: sha512-JUGdEjstrzB0G2AJqzQiURIl6UZ1ONYgby/pqBKX57LO5LxasQXk9oNZh8+ZAvePNC/lKqqTtyyI02YQB4XwkA==} + + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + allotment@1.20.2: + resolution: {integrity: sha512-TaCuHfYNcsJS9EPk04M7TlG5Rl3vbAdHeAyrTE9D5vbpzV+wxnRoUrulDbfnzaQcPIZKpHJNixDOoZNuzliKEA==} + peerDependencies: + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + b4a@1.6.7: + resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + + babel-preset-current-node-syntax@1.1.0: + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.5.4: + resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} + + bare-fs@4.0.1: + resolution: {integrity: sha512-ilQs4fm/l9eMfWY2dY0WCIUplSUp7U0CT1vrqMg1MUdeZl4fypu5UP0XcDBK5WBQPJAKP1b7XEodISmekH/CEg==} + engines: {bare: '>=1.7.0'} + + bare-os@3.4.0: + resolution: {integrity: sha512-9Ous7UlnKbe3fMi7Y+qh0DwAup6A1JkYgPnjvMDNOlmnxNRQvQ/7Nst+OnUQKzk0iAT0m9BisbDVp9gCv8+ETA==} + engines: {bare: '>=1.6.0'} + + bare-path@3.0.0: + resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + + bare-stream@2.6.5: + resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} + peerDependencies: + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true + + basic-ftp@5.0.5: + resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + engines: {node: '>=10.0.0'} + + better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browser-assert@1.2.1: + resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} + + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bundle-n-require@1.1.1: + resolution: {integrity: sha512-EB2wFjXF106LQLe/CYnKCMCdLeTW47AtcEtUfiqAOgr2a08k0+YgRklur2aLfEYHlhz6baMskZ8L2U92Hh0vyA==} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001699: + resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chromium-bidi@1.2.0: + resolution: {integrity: sha512-XtdJ1GSN6S3l7tO7F77GhNsw0K367p0IsLYf2yZawCVAKKC3lUvDhPdMVrB2FNhmhfW43QGYbEX3Wg6q0maGwQ==} + peerDependencies: + devtools-protocol: '*' + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-table@0.3.11: + resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} + engines: {node: '>= 0.2.0'} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + colors@1.0.3: + resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} + engines: {node: '>=0.1.90'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + + css-mediaquery@0.1.2: + resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} + + data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + devtools-protocol@0.0.1402036: + resolution: {integrity: sha512-JwAYQgEvm3yD45CHB+RmF5kMbWtXBaOGwuxa87sZogHcLCv8c/IqnThaoQ1y60d7pXWjSKWQphPEc+1rAScVdg==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + + dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + + domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + easy-table@1.2.0: + resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==} + + electron-to-chromium@1.5.97: + resolution: {integrity: sha512-HKLtaH02augM7ZOdYRuO19rWDeY+QSJ1VxnXFa/XDFLf07HvM90pALIJFgrO+UVaajI3+aJMMpojoUTLZyQ7JQ==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + es-abstract@1.23.9: + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.2.1: + resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + 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 + + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-react-hooks@5.1.0: + resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react@7.37.4: + resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + + eslint-plugin-storybook@0.11.2: + resolution: {integrity: sha512-0Z4DUklJrC+GHjCRXa7PYfPzWC15DaVnwaOYenpgXiCEijXPZkLKCms+rHhtoRcWccP7Z8DpOOaP1gc3P9oOwg==} + engines: {node: '>= 18'} + peerDependencies: + eslint: '>=8' + + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.20.1: + resolution: {integrity: sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-shallow-equal@1.0.0: + resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} + + fastest-stable-stringify@2.0.2: + resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} + + fastq@1.19.0: + resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} + engines: {node: '>= 6'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} + + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-uri@6.0.4: + resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} + engines: {node: '>= 14'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + engines: {node: '>=18'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + history@5.3.0: + resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + hyphenate-style-name@1.1.0: + resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + inline-style-prefixer@7.0.1: + resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + javascript-natural-sort@0.7.1: + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-jsdom@29.7.0: + resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + + js-cookie@2.2.1: + resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + + jsdom@20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + knip@5.44.0: + resolution: {integrity: sha512-j39v3LYCmU6P6HN/TG14bc0Dlthl12g6NogdEZHQdhlVS6BqfnGGS3ospYYwLill6Sdc68eptwGtThunqq7lxA==} + engines: {node: '>=18.18.0'} + hasBin: true + peerDependencies: + '@types/node': '>=18' + typescript: '>=5.0.4' + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@15.4.3: + resolution: {integrity: sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==} + engines: {node: '>=18.12.0'} + hasBin: true + + listr2@8.2.5: + resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} + engines: {node: '>=18.0.0'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.clamp@4.0.3: + resolution: {integrity: sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + look-it-up@2.1.0: + resolution: {integrity: sha512-nMoGWW2HurtuJf6XAL56FWTDCWLOTSsanrgwOyaR5Y4e3zfG5N/0cU5xWZSEU3tBxhQugRbV1xL9jb+ug7yZww==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + loupe@3.1.3: + resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-or-similar@1.5.0: + resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + + memoizerific@1.11.3: + resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-core-commonmark@2.0.2: + resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.0.4: + resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + + micromark@4.0.1: + resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nano-css@5.6.2: + resolution: {integrity: sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==} + peerDependencies: + react: '*' + react-dom: '*' + + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + + next-themes@0.4.4: + resolution: {integrity: sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-eval@2.0.0: + resolution: {integrity: sha512-Ap+L9HznXAVeJj3TJ1op6M6bg5xtTq8L5CU/PJxtkhea/DrIxdTknGKIECKd/v/Lgql95iuMAYvIzBNd0pmcMg==} + engines: {node: '>= 4'} + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-check-updates@17.1.14: + resolution: {integrity: sha512-dr4bXIxETubLI1tFGeock5hN8yVjahvaVpx+lPO4/O2md3zJuxB7FgH3MIoTvQSCgsgkIRpe0skti01IEAA5tA==} + engines: {node: ^18.18.0 || >=20.0.0, npm: '>=8.12.1'} + hasBin: true + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nwsapi@2.2.16: + resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pac-proxy-agent@7.1.0: + resolution: {integrity: sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw==} + engines: {node: '>= 14'} + + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-manager-detector@0.1.2: + resolution: {integrity: sha512-iePyefLTOm2gEzbaZKSW+eBMjg+UYsQvUKxmvGXAQ987K16efBg10MxIjZs08iyX+DY2/owKY9DIdu193kX33w==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + pathe@2.0.2: + resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} + + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + perfect-freehand@1.2.2: + resolution: {integrity: sha512-eh31l019WICQ03pkF3FSzHxB8n07ItqIQ++G5UV8JX0zVOXzgTGCqnRR0jJ2h9U8/2uW4W4mtGJELt9kEV0CFQ==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + playwright-core@1.50.1: + resolution: {integrity: sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.50.1: + resolution: {integrity: sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==} + engines: {node: '>=18'} + hasBin: true + + polished@4.3.1: + resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} + engines: {node: '>=10'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss@8.5.2: + resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} + hasBin: true + + prettier@3.5.0: + resolution: {integrity: sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + proxy-agent@6.5.0: + resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} + engines: {node: '>= 14'} + + proxy-compare@3.0.1: + resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + proxy-memoize@3.0.1: + resolution: {integrity: sha512-VDdG/VYtOgdGkWJx7y0o7p+zArSf2383Isci8C+BP3YXgMYDoPd3cCBjw0JdWb6YBb9sFiOPbAADDVTPJnh+9g==} + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + puppeteer-core@24.2.0: + resolution: {integrity: sha512-e4A4/xqWdd4kcE6QVHYhJ+Qlx/+XpgjP4d8OwBx0DJoY/nkIRhSgYmKQnv7+XSs1ofBstalt+XPGrkaz4FoXOQ==} + engines: {node: '>=18'} + + puppeteer@24.2.0: + resolution: {integrity: sha512-z8vv7zPEgrilIbOo3WNvM+2mXMnyM9f4z6zdrB88Fzeuo43Oupmjrzk3EpuvuCtyK0A7Lsllfx7Z+4BvEEGJcQ==} + engines: {node: '>=18'} + hasBin: true + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-docgen-typescript@2.2.2: + resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==} + peerDependencies: + typescript: '>= 4.3.x' + + react-docgen@7.1.1: + resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==} + engines: {node: '>=16.14.0'} + + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + + react-dom@19.0.0-rc.1: + resolution: {integrity: sha512-k8MfDX+4G+eaa1cXXI9QF4d+pQtYol3nx8vauqRWUEOPqC7NQn2qmEqUsLoSd28rrZUL+R3T2VC+kZ2Hyx1geQ==} + peerDependencies: + react: 19.0.0-rc.1 + + react-error-boundary@5.0.0: + resolution: {integrity: sha512-tnjAxG+IkpLephNcePNA7v6F/QpWLH8He65+DmedchDwg162JZqx4NmbXj0mlAYVVEd81OW7aFhmbsScYfiAFQ==} + peerDependencies: + react: '>=16.13.1' + + react-icons@5.4.0: + resolution: {integrity: sha512-7eltJxgVt7X64oHh6wSWNwwbKTCtMfK35hcjvJS0yxEAhPM8oUKdS3+kqaW1vicIltw+kR2unHaa12S9pPALoQ==} + peerDependencies: + react: '*' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + react-is@19.0.0: + resolution: {integrity: sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==} + + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + + react-router-dom@7.1.5: + resolution: {integrity: sha512-/4f9+up0Qv92D3bB8iN5P1s3oHAepSGa9h5k6tpTFlixTTskJZwKGhJ6vRJ277tLD1zuaZTt95hyGWV1Z37csQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + + react-router@7.1.5: + resolution: {integrity: sha512-8BUF+hZEU4/z/JD201yK6S+UYhsf58bzYIDq2NS1iGpwxSXDu7F+DeGSkIXMFBuHZB21FSiCzEcUb18cQNdRkA==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + + react-select@5.10.0: + resolution: {integrity: sha512-k96gw+i6N3ExgDwPIg0lUPmexl1ygPe6u5BdQFNBhkpbwroIgCNXdubtIzHfThYXYYTubwOBafoMnn7ruEP1xA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + react-speech-recognition@3.10.0: + resolution: {integrity: sha512-EVSr4Ik8l9urwdPiK2r0+ADrLyDDrjB0qBRdUWO+w2MfwEBrj6NuRmy1GD3x7BU/V6/hab0pl8Lupen0zwlJyw==} + peerDependencies: + react: '>=16.8.0' + + react-transition-group@4.4.5: + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + + react-universal-interface@0.6.2: + resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} + peerDependencies: + react: '*' + tslib: '*' + + react-use@17.6.0: + resolution: {integrity: sha512-OmedEScUMKFfzn1Ir8dBxiLLSOzhKe/dPZwVxcujweSj45aNM7BEGPb9BEVIgVEqEXx6f3/TsXzwIktNgUR02g==} + peerDependencies: + react: '*' + react-dom: '*' + + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + + react@19.0.0-rc.1: + resolution: {integrity: sha512-NZKln+uyPuyHchzP07I6GGYFxdAoaKhehgpCa3ltJGzwE31OYumLeshGaitA1R/fS5d9D2qpZVwTFAr6zCLM9w==} + engines: {node: '>=0.10.0'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recast@0.23.9: + resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} + engines: {node: '>= 4'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup@4.34.6: + resolution: {integrity: sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rtl-css-js@1.16.1: + resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + + scheduler@0.25.0-rc.1: + resolution: {integrity: sha512-fVinv2lXqYpKConAMdergOl5owd0rY1O4P/QTe0aWKCqGtu7VsCt1iqQFxSJtqK4Lci/upVSBpGwVC7eWcuS9Q==} + + screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true + + set-cookie-parser@2.7.1: + resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-harmonic-interval@1.0.1: + resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} + engines: {node: '>=6.9'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + smol-toml@1.3.1: + resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==} + engines: {node: '>= 18'} + + socks-proxy-agent@8.0.5: + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} + + socks@2.8.4: + resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} + engines: {node: '>=0.10.0'} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + stack-generator@2.0.10: + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + stacktrace-gps@3.1.2: + resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} + + stacktrace-js@2.0.2: + resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} + + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + + storybook@8.5.4: + resolution: {integrity: sha512-TMXXOprDjkt8GbTCgzZSi0sPYoKMfvN+9gGnU7gRa8s1C0QhqkE0lc6fq9pl8nahXPF5ala4gPOaxjQbuJUvNQ==} + hasBin: true + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + + streamx@2.22.0: + resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-json-comments@5.0.1: + resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==} + engines: {node: '>=14.16'} + + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + + stylis@4.3.6: + resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + summary@2.1.0: + resolution: {integrity: sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-fs@3.0.8: + resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + engines: {node: '>=14.0.0'} + + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@2.0.1: + resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + ts-easing@0.2.0: + resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + turbo-stream@2.4.0: + resolution: {integrity: sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typed-query-selector@2.12.0: + resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} + + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + unplugin@1.16.1: + resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} + engines: {node: '>=14.0.0'} + + update-browserslist-db@1.1.2: + resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + use-isomorphic-layout-effect@1.2.0: + resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-resize-observer@9.1.0: + resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} + peerDependencies: + react: 16.8.0 - 18 + react-dom: 16.8.0 - 18 + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite-node@3.0.5: + resolution: {integrity: sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + + vite@6.1.0: + resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@3.0.5: + resolution: {integrity: sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.0.5 + '@vitest/ui': 3.0.5 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/debug': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-validation-error@3.4.0: + resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + + zustand@5.0.3: + resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@adobe/css-tools@4.4.1': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@ark-ui/react@4.9.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + dependencies: + '@internationalized/date': 3.7.0 + '@zag-js/accordion': 0.82.1 + '@zag-js/anatomy': 0.82.1 + '@zag-js/auto-resize': 0.82.1 + '@zag-js/avatar': 0.82.1 + '@zag-js/carousel': 0.82.1 + '@zag-js/checkbox': 0.82.1 + '@zag-js/clipboard': 0.82.1 + '@zag-js/collapsible': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/color-picker': 0.82.1 + '@zag-js/color-utils': 0.82.1 + '@zag-js/combobox': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/date-picker': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/date-utils': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/dialog': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/editable': 0.82.1 + '@zag-js/file-upload': 0.82.1 + '@zag-js/file-utils': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/highlight-word': 0.82.1 + '@zag-js/hover-card': 0.82.1 + '@zag-js/i18n-utils': 0.82.1 + '@zag-js/menu': 0.82.1 + '@zag-js/number-input': 0.82.1 + '@zag-js/pagination': 0.82.1 + '@zag-js/pin-input': 0.82.1 + '@zag-js/popover': 0.82.1 + '@zag-js/presence': 0.82.1 + '@zag-js/progress': 0.82.1 + '@zag-js/qr-code': 0.82.1 + '@zag-js/radio-group': 0.82.1 + '@zag-js/rating-group': 0.82.1 + '@zag-js/react': 0.82.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + '@zag-js/select': 0.82.1 + '@zag-js/signature-pad': 0.82.1 + '@zag-js/slider': 0.82.1 + '@zag-js/splitter': 0.82.1 + '@zag-js/steps': 0.82.1 + '@zag-js/switch': 0.82.1 + '@zag-js/tabs': 0.82.1 + '@zag-js/tags-input': 0.82.1 + '@zag-js/time-picker': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/timer': 0.82.1 + '@zag-js/toast': 0.82.1 + '@zag-js/toggle-group': 0.82.1 + '@zag-js/tooltip': 0.82.1 + '@zag-js/tour': 0.82.1 + '@zag-js/tree-view': 0.82.1 + '@zag-js/types': 0.82.1 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.8': {} + + '@babel/core@7.26.8': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.8 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8) + '@babel/helpers': 7.26.7 + '@babel/parser': 7.26.8 + '@babel/template': 7.26.8 + '@babel/traverse': 7.26.8 + '@babel/types': 7.26.8 + '@types/gensync': 1.0.4 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.8': + dependencies: + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.26.5': + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.8 + '@babel/types': 7.26.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.26.5': {} + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helpers@7.26.7': + dependencies: + '@babel/template': 7.26.8 + '@babel/types': 7.26.8 + + '@babel/parser@7.26.8': + dependencies: + '@babel/types': 7.26.8 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.8)': + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/runtime@7.26.7': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.26.8': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + + '@babel/traverse@7.26.8': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.8 + '@babel/parser': 7.26.8 + '@babel/template': 7.26.8 + '@babel/types': 7.26.8 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.8': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@bcoe/v8-coverage@0.2.3': {} + + '@chakra-ui/cli@3.7.0(@chakra-ui/react@3.7.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1))': + dependencies: + '@chakra-ui/react': 3.7.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + '@clack/prompts': 0.9.1 + '@pandacss/is-valid-prop': 0.41.0 + '@types/cli-table': 0.3.4 + '@types/debug': 4.1.12 + '@visulima/boxen': 1.0.29 + bundle-n-require: 1.1.1 + chokidar: 3.6.0 + cli-table: 0.3.11 + commander: 12.1.0 + debug: 4.4.0 + globby: 14.0.2 + https-proxy-agent: 7.0.6 + look-it-up: 2.1.0 + node-fetch: 3.3.2 + package-manager-detector: 0.1.2 + prettier: 3.3.3 + scule: 1.3.0 + sucrase: 3.35.0 + zod: 3.24.1 + transitivePeerDependencies: + - supports-color + + '@chakra-ui/react@3.7.0(@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1))(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + dependencies: + '@ark-ui/react': 4.9.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + '@emotion/is-prop-valid': 1.3.1 + '@emotion/react': 11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0-rc.1) + '@emotion/utils': 1.4.2 + '@pandacss/is-valid-prop': 0.41.0 + csstype: 3.1.3 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + + '@chakra-ui/styled-system@2.12.0(react@19.0.0-rc.1)': + dependencies: + '@chakra-ui/utils': 2.2.2(react@19.0.0-rc.1) + csstype: 3.1.3 + transitivePeerDependencies: + - react + + '@chakra-ui/utils@2.2.2(react@19.0.0-rc.1)': + dependencies: + '@types/lodash.mergewith': 4.6.9 + lodash.mergewith: 4.6.2 + react: 19.0.0-rc.1 + + '@clack/core@0.4.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.9.1': + dependencies: + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@emotion/babel-plugin@11.13.5': + dependencies: + '@babel/helper-module-imports': 7.25.9 + '@babel/runtime': 7.26.7 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.3 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/cache@11.14.0': + dependencies: + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + stylis: 4.2.0 + + '@emotion/hash@0.9.2': {} + + '@emotion/is-prop-valid@1.3.1': + dependencies: + '@emotion/memoize': 0.9.0 + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1)': + dependencies: + '@babel/runtime': 7.26.7 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0-rc.1) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 19.0.0-rc.1 + optionalDependencies: + '@types/react': 19.0.8 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.3': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.2 + csstype: 3.1.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/unitless@0.10.0': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.0.0-rc.1)': + dependencies: + react: 19.0.0-rc.1 + + '@emotion/utils@1.4.2': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + + '@eslint-community/eslint-utils@4.4.1(eslint@9.20.1(jiti@2.4.2))': + dependencies: + eslint: 9.20.1(jiti@2.4.2) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.2': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.10.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.11.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.2.0': + dependencies: + ajv: 6.12.6 + debug: 4.4.0 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.20.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.2.5': + dependencies: + '@eslint/core': 0.10.0 + levn: 0.4.1 + + '@floating-ui/core@1.6.9': + dependencies: + '@floating-ui/utils': 0.2.9 + + '@floating-ui/dom@1.6.12': + dependencies: + '@floating-ui/core': 1.6.9 + '@floating-ui/utils': 0.2.9 + + '@floating-ui/dom@1.6.13': + dependencies: + '@floating-ui/core': 1.6.9 + '@floating-ui/utils': 0.2.9 + + '@floating-ui/utils@0.2.9': {} + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} + + '@internationalized/date@3.7.0': + dependencies: + '@swc/helpers': 0.5.15 + + '@internationalized/number@3.6.0': + dependencies: + '@swc/helpers': 0.5.15 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 22.13.1 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 22.13.1 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.26.8 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.13.1 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0))': + dependencies: + glob: 10.4.5 + magic-string: 0.27.0 + react-docgen-typescript: 2.2.2(typescript@5.7.3) + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + optionalDependencies: + typescript: 5.7.3 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@juggle/resize-observer@3.4.0': {} + + '@mdx-js/react@3.1.0(@types/react@19.0.8)(react@19.0.0)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 19.0.8 + react: 19.0.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.scandir@4.0.1': + dependencies: + '@nodelib/fs.stat': 4.0.0 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.stat@4.0.0': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.0 + + '@nodelib/fs.walk@3.0.1': + dependencies: + '@nodelib/fs.scandir': 4.0.1 + fastq: 1.19.0 + + '@pandacss/is-valid-prop@0.41.0': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@playwright/test@1.50.1': + dependencies: + playwright: 1.50.1 + + '@puppeteer/browsers@2.7.1': + dependencies: + debug: 4.4.0 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.5.0 + semver: 7.7.1 + tar-fs: 3.0.8 + yargs: 17.7.2 + transitivePeerDependencies: + - bare-buffer + - supports-color + + '@rollup/pluginutils@5.1.4(rollup@4.34.6)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.34.6 + + '@rollup/rollup-android-arm-eabi@4.34.6': + optional: true + + '@rollup/rollup-android-arm64@4.34.6': + optional: true + + '@rollup/rollup-darwin-arm64@4.34.6': + optional: true + + '@rollup/rollup-darwin-x64@4.34.6': + optional: true + + '@rollup/rollup-freebsd-arm64@4.34.6': + optional: true + + '@rollup/rollup-freebsd-x64@4.34.6': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.34.6': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.34.6': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.34.6': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.34.6': + optional: true + + '@rollup/rollup-linux-x64-musl@4.34.6': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.34.6': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.34.6': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.34.6': + optional: true + + '@rtsao/scc@1.1.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/merge-streams@2.3.0': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@snyk/github-codeowners@1.1.0': + dependencies: + commander: 4.1.1 + ignore: 5.3.2 + p-map: 4.0.0 + + '@storybook/addon-actions@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/global': 5.0.0 + '@types/uuid': 9.0.8 + dequal: 2.0.3 + polished: 4.3.1 + storybook: 8.5.4(prettier@3.5.0) + uuid: 9.0.1 + + '@storybook/addon-backgrounds@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + + '@storybook/addon-controls@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/global': 5.0.0 + dequal: 2.0.3 + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + + '@storybook/addon-docs@8.5.4(@types/react@19.0.8)(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@mdx-js/react': 3.1.0(@types/react@19.0.8)(react@19.0.0) + '@storybook/blocks': 8.5.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0)) + '@storybook/csf-plugin': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/react-dom-shim': 8.5.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0)) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' + + '@storybook/addon-essentials@8.5.4(@types/react@19.0.8)(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/addon-actions': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-backgrounds': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-controls': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-docs': 8.5.4(@types/react@19.0.8)(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-highlight': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-measure': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-outline': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-toolbars': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/addon-viewport': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' + + '@storybook/addon-highlight@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/addon-links@8.5.4(react@19.0.0-rc.1)(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/csf': 0.1.12 + '@storybook/global': 5.0.0 + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + optionalDependencies: + react: 19.0.0-rc.1 + + '@storybook/addon-mdx-gfm@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + remark-gfm: 4.0.1 + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color + + '@storybook/addon-measure@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.5.4(prettier@3.5.0) + tiny-invariant: 1.3.3 + + '@storybook/addon-outline@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + + '@storybook/addon-toolbars@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/addon-viewport@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + memoizerific: 1.11.3 + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/blocks@8.5.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0))': + dependencies: + '@storybook/csf': 0.1.12 + '@storybook/icons': 1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + optionalDependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@storybook/builder-vite@8.5.4(storybook@8.5.4(prettier@3.5.0))(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0))': + dependencies: + '@storybook/csf-plugin': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + browser-assert: 1.2.1 + storybook: 8.5.4(prettier@3.5.0) + ts-dedent: 2.2.0 + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + + '@storybook/components@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/core@8.5.4(prettier@3.5.0)': + dependencies: + '@storybook/csf': 0.1.12 + better-opn: 3.0.2 + browser-assert: 1.2.1 + esbuild: 0.24.2 + esbuild-register: 3.6.0(esbuild@0.24.2) + jsdoc-type-pratt-parser: 4.1.0 + process: 0.11.10 + recast: 0.23.9 + semver: 7.7.1 + util: 0.12.5 + ws: 8.18.0 + optionalDependencies: + prettier: 3.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@storybook/csf-plugin@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + storybook: 8.5.4(prettier@3.5.0) + unplugin: 1.16.1 + + '@storybook/csf@0.1.12': + dependencies: + type-fest: 2.19.0 + + '@storybook/csf@0.1.13': + dependencies: + type-fest: 2.19.0 + + '@storybook/global@5.0.0': {} + + '@storybook/icons@1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@storybook/manager-api@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/preview-api@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/react-dom-shim@8.5.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.4(prettier@3.5.0))': + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/react-dom-shim@8.5.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)(storybook@8.5.4(prettier@3.5.0))': + dependencies: + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + storybook: 8.5.4(prettier@3.5.0) + + '@storybook/react-vite@8.5.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)(rollup@4.34.6)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0))': + dependencies: + '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.7.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0)) + '@rollup/pluginutils': 5.1.4(rollup@4.34.6) + '@storybook/builder-vite': 8.5.4(storybook@8.5.4(prettier@3.5.0))(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0)) + '@storybook/react': 8.5.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3) + find-up: 5.0.0 + magic-string: 0.30.17 + react: 19.0.0-rc.1 + react-docgen: 7.1.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + resolve: 1.22.10 + storybook: 8.5.4(prettier@3.5.0) + tsconfig-paths: 4.2.0 + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + transitivePeerDependencies: + - rollup + - supports-color + - typescript + + '@storybook/react@8.5.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)(storybook@8.5.4(prettier@3.5.0))(typescript@5.7.3)': + dependencies: + '@storybook/components': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/global': 5.0.0 + '@storybook/manager-api': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/preview-api': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + '@storybook/react-dom-shim': 8.5.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)(storybook@8.5.4(prettier@3.5.0)) + '@storybook/theming': 8.5.4(storybook@8.5.4(prettier@3.5.0)) + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + storybook: 8.5.4(prettier@3.5.0) + optionalDependencies: + typescript: 5.7.3 + + '@storybook/theming@8.5.4(storybook@8.5.4(prettier@3.5.0))': + dependencies: + storybook: 8.5.4(prettier@3.5.0) + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@testing-library/dom@10.4.0': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/runtime': 7.26.7 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.6.3': + dependencies: + '@adobe/css-tools': 4.4.1 + aria-query: 5.3.2 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + + '@testing-library/react@16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + dependencies: + '@babel/runtime': 7.26.7 + '@testing-library/dom': 10.4.0 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + optionalDependencies: + '@types/react': 19.0.8 + '@types/react-dom': 19.0.3(@types/react@19.0.8) + + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': + dependencies: + '@testing-library/dom': 10.4.0 + + '@tootallnate/once@2.0.0': {} + + '@tootallnate/quickjs-emscripten@0.23.0': {} + + '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.5.0)': + dependencies: + '@babel/generator': 7.26.8 + '@babel/parser': 7.26.8 + '@babel/traverse': 7.26.8 + '@babel/types': 7.26.8 + javascript-natural-sort: 0.7.1 + lodash: 4.17.21 + prettier: 3.5.0 + transitivePeerDependencies: + - supports-color + + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@types/aria-query@5.0.4': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.26.8 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.26.8 + + '@types/cli-table@0.3.4': {} + + '@types/cookie@0.6.0': {} + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + + '@types/doctrine@0.0.9': {} + + '@types/estree@1.0.6': {} + + '@types/gensync@1.0.4': {} + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 22.13.1 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/js-cookie@2.2.7': {} + + '@types/jsdom@20.0.1': + dependencies: + '@types/node': 22.13.1 + '@types/tough-cookie': 4.0.5 + parse5: 7.2.1 + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/lodash.mergewith@4.6.9': + dependencies: + '@types/lodash': 4.17.15 + + '@types/lodash@4.17.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.13': {} + + '@types/ms@2.1.0': {} + + '@types/node@22.13.1': + dependencies: + undici-types: 6.20.0 + + '@types/parse-json@4.0.2': {} + + '@types/react-dom@19.0.3(@types/react@19.0.8)': + dependencies: + '@types/react': 19.0.8 + + '@types/react-transition-group@4.4.12(@types/react@19.0.8)': + dependencies: + '@types/react': 19.0.8 + + '@types/react@19.0.8': + dependencies: + csstype: 3.1.3 + + '@types/resolve@1.20.6': {} + + '@types/stack-utils@2.0.3': {} + + '@types/tough-cookie@4.0.5': {} + + '@types/unist@3.0.3': {} + + '@types/uuid@9.0.8': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 22.13.1 + optional: true + + '@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.24.0 + '@typescript-eslint/type-utils': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.24.0 + eslint: 9.20.1(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.24.0 + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.24.0 + debug: 4.4.0 + eslint: 9.20.1(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.24.0': + dependencies: + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/visitor-keys': 8.24.0 + + '@typescript-eslint/type-utils@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + debug: 4.4.0 + eslint: 9.20.1(jiti@2.4.2) + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.24.0': {} + + '@typescript-eslint/typescript-estree@8.24.0(typescript@5.7.3)': + dependencies: + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/visitor-keys': 8.24.0 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.0.1(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.24.0 + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) + eslint: 9.20.1(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.24.0': + dependencies: + '@typescript-eslint/types': 8.24.0 + eslint-visitor-keys: 4.2.0 + + '@visulima/boxen@1.0.29': {} + + '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0))': + dependencies: + '@babel/core': 7.26.8 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.8) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.8) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@3.0.5': + dependencies: + '@vitest/spy': 3.0.5 + '@vitest/utils': 3.0.5 + chai: 5.1.2 + tinyrainbow: 2.0.0 + + '@vitest/mocker@3.0.5(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0))': + dependencies: + '@vitest/spy': 3.0.5 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + + '@vitest/pretty-format@3.0.5': + dependencies: + tinyrainbow: 2.0.0 + + '@vitest/runner@3.0.5': + dependencies: + '@vitest/utils': 3.0.5 + pathe: 2.0.2 + + '@vitest/snapshot@3.0.5': + dependencies: + '@vitest/pretty-format': 3.0.5 + magic-string: 0.30.17 + pathe: 2.0.2 + + '@vitest/spy@3.0.5': + dependencies: + tinyspy: 3.0.2 + + '@vitest/utils@3.0.5': + dependencies: + '@vitest/pretty-format': 3.0.5 + loupe: 3.1.3 + tinyrainbow: 2.0.0 + + '@xobotyi/scrollbar-width@1.9.5': {} + + '@zag-js/accordion@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/anatomy@0.82.1': {} + + '@zag-js/aria-hidden@0.82.1': {} + + '@zag-js/auto-resize@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/avatar@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/carousel@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/scroll-snap': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/checkbox@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/clipboard@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/collapsible@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/collection@0.82.1': + dependencies: + '@zag-js/utils': 0.82.1 + + '@zag-js/color-picker@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/color-utils': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/color-utils@0.82.1': + dependencies: + '@zag-js/utils': 0.82.1 + + '@zag-js/combobox@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/aria-hidden': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/core@0.82.1': + dependencies: + '@zag-js/store': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/date-picker@0.82.1(@internationalized/date@3.7.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/date-utils': 0.82.1(@internationalized/date@3.7.0) + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/live-region': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/date-utils@0.82.1(@internationalized/date@3.7.0)': + dependencies: + '@internationalized/date': 3.7.0 + + '@zag-js/dialog@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/aria-hidden': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/remove-scroll': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/dismissable@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/dom-query@0.82.1': + dependencies: + '@zag-js/types': 0.82.1 + + '@zag-js/editable@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/element-rect@0.82.1': {} + + '@zag-js/element-size@0.82.1': {} + + '@zag-js/file-upload@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/file-utils': 0.82.1 + '@zag-js/i18n-utils': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/file-utils@0.82.1': + dependencies: + '@zag-js/i18n-utils': 0.82.1 + + '@zag-js/focus-trap@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/focus-visible@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/highlight-word@0.82.1': {} + + '@zag-js/hover-card@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/i18n-utils@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/interact-outside@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/live-region@0.82.1': {} + + '@zag-js/menu@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/rect-utils': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/number-input@0.82.1': + dependencies: + '@internationalized/number': 3.6.0 + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/pagination@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/pin-input@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/popover@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/aria-hidden': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/remove-scroll': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/popper@0.82.1': + dependencies: + '@floating-ui/dom': 1.6.12 + '@zag-js/dom-query': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/presence@0.82.1': + dependencies: + '@zag-js/core': 0.82.1 + '@zag-js/types': 0.82.1 + + '@zag-js/progress@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/qr-code@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + proxy-memoize: 3.0.1 + uqr: 0.1.2 + + '@zag-js/radio-group@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/element-rect': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/rating-group@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/react@0.82.1(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1)': + dependencies: + '@zag-js/core': 0.82.1 + '@zag-js/store': 0.82.1 + '@zag-js/types': 0.82.1 + proxy-compare: 3.0.1 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + + '@zag-js/rect-utils@0.82.1': {} + + '@zag-js/remove-scroll@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/scroll-snap@0.82.1': + dependencies: + '@zag-js/dom-query': 0.82.1 + + '@zag-js/select@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/signature-pad@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + perfect-freehand: 1.2.2 + + '@zag-js/slider@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/element-size': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/splitter@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/steps@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/store@0.82.1': + dependencies: + proxy-compare: 3.0.1 + + '@zag-js/switch@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tabs@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/element-rect': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tags-input@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/auto-resize': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/live-region': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/time-picker@0.82.1(@internationalized/date@3.7.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/timer@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/toast@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/toggle-group@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tooltip@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-visible': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tour@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dismissable': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/focus-trap': 0.82.1 + '@zag-js/interact-outside': 0.82.1 + '@zag-js/popper': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/tree-view@0.82.1': + dependencies: + '@zag-js/anatomy': 0.82.1 + '@zag-js/collection': 0.82.1 + '@zag-js/core': 0.82.1 + '@zag-js/dom-query': 0.82.1 + '@zag-js/types': 0.82.1 + '@zag-js/utils': 0.82.1 + + '@zag-js/types@0.82.1': + dependencies: + csstype: 3.1.3 + + '@zag-js/utils@0.82.1': {} + + abab@2.0.6: {} + + acorn-globals@7.0.1: + dependencies: + acorn: 8.14.0 + acorn-walk: 8.3.4 + + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.0 + + acorn@8.14.0: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + agent-base@7.1.3: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + allotment@1.20.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + classnames: 2.5.1 + eventemitter3: 5.0.1 + lodash.clamp: 4.0.3 + lodash.debounce: 4.0.8 + lodash.isequal: 4.5.0 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + use-resize-observer: 9.1.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@4.1.3: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + + aria-query@5.3.2: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.3 + is-array-buffer: 3.0.5 + + array-includes@3.1.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.1.1 + get-intrinsic: 1.2.7 + is-string: 1.1.1 + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.0.2 + + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-shim-unscopables: 1.0.2 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-shim-unscopables: 1.0.2 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + is-array-buffer: 3.0.5 + + assertion-error@2.0.1: {} + + ast-types@0.13.4: + dependencies: + tslib: 2.8.1 + + ast-types@0.16.1: + dependencies: + tslib: 2.8.1 + + async-function@1.0.0: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + b4a@1.6.7: {} + + babel-jest@29.7.0(@babel/core@7.26.8): + dependencies: + '@babel/core': 7.26.8 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.26.8) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.26.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.26.8 + '@babel/types': 7.26.8 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.26.7 + cosmiconfig: 7.1.0 + resolve: 1.22.10 + + babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.8): + dependencies: + '@babel/core': 7.26.8 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.8) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.8) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.8) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.8) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.8) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.8) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.8) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.8) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.8) + + babel-preset-jest@29.6.3(@babel/core@7.26.8): + dependencies: + '@babel/core': 7.26.8 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.8) + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + bare-events@2.5.4: + optional: true + + bare-fs@4.0.1: + dependencies: + bare-events: 2.5.4 + bare-path: 3.0.0 + bare-stream: 2.6.5(bare-events@2.5.4) + transitivePeerDependencies: + - bare-buffer + optional: true + + bare-os@3.4.0: + optional: true + + bare-path@3.0.0: + dependencies: + bare-os: 3.4.0 + optional: true + + bare-stream@2.6.5(bare-events@2.5.4): + dependencies: + streamx: 2.22.0 + optionalDependencies: + bare-events: 2.5.4 + optional: true + + basic-ftp@5.0.5: {} + + better-opn@3.0.2: + dependencies: + open: 8.4.2 + + binary-extensions@2.3.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browser-assert@1.2.1: {} + + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001699 + electron-to-chromium: 1.5.97 + node-releases: 2.0.19 + update-browserslist-db: 1.1.2(browserslist@4.24.4) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-crc32@0.2.13: {} + + buffer-from@1.1.2: {} + + bundle-n-require@1.1.1: + dependencies: + esbuild: 0.20.2 + node-eval: 2.0.0 + + cac@6.7.14: {} + + call-bind-apply-helpers@1.0.1: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.7 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.7 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001699: {} + + ccount@2.0.1: {} + + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.3 + pathval: 2.0.0 + + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.4.1: {} + + char-regex@1.0.2: {} + + character-entities@2.0.2: {} + + check-error@2.1.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chromium-bidi@1.2.0(devtools-protocol@0.0.1402036): + dependencies: + devtools-protocol: 0.0.1402036 + mitt: 3.0.1 + zod: 3.24.1 + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.3: {} + + classnames@2.5.1: {} + + clean-stack@2.2.0: {} + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-table@0.3.11: + dependencies: + colors: 1.0.3 + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@1.0.4: + optional: true + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + colors@1.0.3: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@12.1.0: {} + + commander@13.1.0: {} + + commander@4.1.1: {} + + concat-map@0.0.1: {} + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + cookie@1.0.2: {} + + copy-to-clipboard@3.3.3: + dependencies: + toggle-selection: 1.0.6 + + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.1 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + + cosmiconfig@9.0.0(typescript@5.7.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.7.3 + + create-jest@29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-require@1.1.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-in-js-utils@3.1.0: + dependencies: + hyphenate-style-name: 1.1.0 + + css-mediaquery@0.1.2: {} + + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + css.escape@1.5.1: {} + + cssom@0.3.8: {} + + cssom@0.5.0: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + + csstype@3.1.3: {} + + data-uri-to-buffer@4.0.1: {} + + data-uri-to-buffer@6.0.2: {} + + data-urls@3.0.2: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + dayjs@1.11.13: {} + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decimal.js@10.5.0: {} + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + dedent@1.5.3(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 + + deep-eql@5.0.2: {} + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + optional: true + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + detect-newline@3.1.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + devtools-protocol@0.0.1402036: {} + + diff-sequences@29.6.3: {} + + diff@4.0.2: {} + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + + dom-helpers@5.2.1: + dependencies: + '@babel/runtime': 7.26.7 + csstype: 3.1.3 + + domexception@4.0.0: + dependencies: + webidl-conversions: 7.0.0 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + easy-table@1.2.0: + dependencies: + ansi-regex: 5.0.1 + optionalDependencies: + wcwidth: 1.0.1 + + electron-to-chromium@1.5.97: {} + + emittery@0.13.1: {} + + emoji-regex@10.4.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + enhanced-resolve@5.18.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + entities@4.5.0: {} + + env-paths@2.2.1: {} + + environment@1.1.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + es-abstract@1.23.9: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.18 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-iterator-helpers@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-set-tostringtag: 2.1.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.7 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + iterator.prototype: 1.1.5 + safe-array-concat: 1.1.3 + + es-module-lexer@1.6.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.0.2: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esbuild-register@3.6.0(esbuild@0.24.2): + dependencies: + debug: 4.4.0 + esbuild: 0.24.2 + transitivePeerDependencies: + - supports-color + + esbuild@0.20.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + escalade@3.2.0: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.16.1 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.20.1(jiti@2.4.2)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.20.1(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint@9.20.1(jiti@2.4.2)): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.20.1(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.20.1(jiti@2.4.2)) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-react-hooks@5.1.0(eslint@9.20.1(jiti@2.4.2)): + dependencies: + eslint: 9.20.1(jiti@2.4.2) + + eslint-plugin-react@7.37.4(eslint@9.20.1(jiti@2.4.2)): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.2.1 + eslint: 9.20.1(jiti@2.4.2) + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.1 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.12 + string.prototype.repeat: 1.0.0 + + eslint-plugin-storybook@0.11.2(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3): + dependencies: + '@storybook/csf': 0.1.13 + '@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.20.1(jiti@2.4.2) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-scope@8.2.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint@9.20.1(jiti@2.4.2): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/core': 0.11.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.20.0 + '@eslint/plugin-kit': 0.2.5 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0 + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 + transitivePeerDependencies: + - supports-color + + espree@10.3.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.6 + + esutils@2.0.3: {} + + eventemitter3@5.0.1: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + exit@0.1.2: {} + + expect-type@1.1.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + extend@3.0.2: {} + + extract-zip@2.0.1: + dependencies: + debug: 4.4.0 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-shallow-equal@1.0.0: {} + + fastest-stable-stringify@2.0.2: {} + + fastq@1.19.0: + dependencies: + reusify: 1.0.4 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-root@1.1.0: {} + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.2 + keyv: 4.5.4 + + flatted@3.3.2: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data@4.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + fs.realpath@1.0.0: {} + + fsevents@2.3.2: + optional: true + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.3.0: {} + + get-intrinsic@1.2.7: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-package-type@0.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@5.2.0: + dependencies: + pump: 3.0.2 + + get-stream@6.0.1: {} + + get-stream@8.0.1: {} + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + + get-uri@6.0.4: + dependencies: + basic-ftp: 5.0.5 + data-uri-to-buffer: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@14.0.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@14.0.2: + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.3 + ignore: 5.3.2 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + has-bigints@1.1.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + history@5.3.0: + dependencies: + '@babel/runtime': 7.26.7 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + html-encoding-sniffer@3.0.0: + dependencies: + whatwg-encoding: 2.0.0 + + html-escaper@2.0.2: {} + + http-proxy-agent@5.0.0: + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.3 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + human-signals@5.0.0: {} + + hyphenate-style-name@1.1.0: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + ignore@5.3.2: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + inline-style-prefixer@7.0.1: + dependencies: + css-in-js-utils: 3.1.0 + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + + is-arrayish@0.2.1: {} + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.3 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-docker@2.2.1: {} + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.3 + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 + + is-generator-fn@2.1.0: {} + + is-generator-function@1.1.0: + dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-map@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-plain-obj@4.1.0: {} + + is-potential-custom-element-name@1.0.1: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.3 + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.3 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.18 + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.3 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.26.8 + '@babel/parser': 7.26.8 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.26.8 + '@babel/parser': 7.26.8 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + iterator.prototype@1.1.5: + dependencies: + define-data-property: 1.1.4 + es-object-atoms: 1.1.1 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + has-symbols: 1.1.0 + set-function-name: 2.0.2 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + javascript-natural-sort@0.7.1: {} + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0(babel-plugin-macros@3.1.0): + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3(babel-plugin-macros@3.1.0) + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)): + dependencies: + '@babel/core': 7.26.8 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.26.8) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.13.1 + ts-node: 10.9.2(@types/node@22.13.1)(typescript@5.7.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-jsdom@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/jsdom': 20.0.1 + '@types/node': 22.13.1 + jest-mock: 29.7.0 + jest-util: 29.7.0 + jsdom: 20.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 22.13.1 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.10 + resolve.exports: 2.0.3 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + chalk: 4.1.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.26.8 + '@babel/generator': 7.26.8 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.8) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.8) + '@babel/types': 7.26.8 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.8) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@29.7.0: + dependencies: + '@types/node': 22.13.1 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@22.13.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jiti@2.4.2: {} + + js-cookie@2.2.1: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsbn@1.1.0: {} + + jsdoc-type-pratt-parser@4.1.0: {} + + jsdom@20.0.3: + dependencies: + abab: 2.0.6 + acorn: 8.14.0 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.5.0 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.1 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.16 + parse5: 7.2.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.18.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kleur@3.0.3: {} + + knip@5.44.0(@types/node@22.13.1)(typescript@5.7.3): + dependencies: + '@nodelib/fs.walk': 3.0.1 + '@snyk/github-codeowners': 1.1.0 + '@types/node': 22.13.1 + easy-table: 1.2.0 + enhanced-resolve: 5.18.1 + fast-glob: 3.3.3 + jiti: 2.4.2 + js-yaml: 4.1.0 + minimist: 1.2.8 + picocolors: 1.1.1 + picomatch: 4.0.2 + pretty-ms: 9.2.0 + smol-toml: 1.3.1 + strip-json-comments: 5.0.1 + summary: 2.1.0 + typescript: 5.7.3 + zod: 3.24.1 + zod-validation-error: 3.4.0(zod@3.24.1) + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + lint-staged@15.4.3: + dependencies: + chalk: 5.4.1 + commander: 13.1.0 + debug: 4.4.0 + execa: 8.0.1 + lilconfig: 3.1.3 + listr2: 8.2.5 + micromatch: 4.0.8 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.7.0 + transitivePeerDependencies: + - supports-color + + listr2@8.2.5: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.clamp@4.0.3: {} + + lodash.debounce@4.0.8: {} + + lodash.isequal@4.5.0: {} + + lodash.merge@4.6.2: {} + + lodash.mergewith@4.6.2: {} + + lodash@4.17.21: {} + + log-update@6.1.0: + dependencies: + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + + longest-streak@3.1.0: {} + + look-it-up@2.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + loupe@3.1.3: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@7.18.3: {} + + lz-string@1.5.0: {} + + magic-string@0.27.0: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + make-dir@4.0.0: + dependencies: + semver: 7.7.1 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + map-or-similar@1.5.0: {} + + markdown-table@3.0.4: {} + + math-intrinsics@1.1.0: {} + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.14: {} + + memoize-one@6.0.0: {} + + memoizerific@1.11.3: + dependencies: + map-or-similar: 1.5.0 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromark-core-commonmark@2.0.2: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.0.4 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.1 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.1 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-encode@2.0.1: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.1 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.0.4: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.1: {} + + micromark@4.0.1: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.0 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.0.4 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + mimic-function@5.0.1: {} + + min-indent@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mitt@3.0.1: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nano-css@5.6.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + css-tree: 1.1.3 + csstype: 3.1.3 + fastest-stable-stringify: 2.0.2 + inline-style-prefixer: 7.0.1 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + rtl-css-js: 1.16.1 + stacktrace-js: 2.0.2 + stylis: 4.3.6 + + nanoid@3.3.8: {} + + natural-compare@1.4.0: {} + + netmask@2.0.2: {} + + next-themes@0.4.4(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + + node-domexception@1.0.0: {} + + node-eval@2.0.0: + dependencies: + path-is-absolute: 1.0.1 + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-int64@0.4.0: {} + + node-releases@2.0.19: {} + + normalize-path@3.0.0: {} + + npm-check-updates@17.1.14: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nwsapi@2.2.16: {} + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.entries@1.1.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.1.1 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.2.7 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@2.2.0: {} + + pac-proxy-agent@7.1.0: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.3 + debug: 4.4.0 + get-uri: 6.0.4 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + pac-resolver@7.0.1: + dependencies: + degenerator: 5.0.1 + netmask: 2.0.2 + + package-json-from-dist@1.0.1: {} + + package-manager-detector@0.1.2: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-ms@4.0.0: {} + + parse5@7.2.1: + dependencies: + entities: 4.5.0 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-type@4.0.0: {} + + path-type@5.0.0: {} + + pathe@2.0.2: {} + + pathval@2.0.0: {} + + pend@1.2.0: {} + + perfect-freehand@1.2.2: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + pidtree@0.6.0: {} + + pirates@4.0.6: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + playwright-core@1.50.1: {} + + playwright@1.50.1: + dependencies: + playwright-core: 1.50.1 + optionalDependencies: + fsevents: 2.3.2 + + polished@4.3.1: + dependencies: + '@babel/runtime': 7.26.7 + + possible-typed-array-names@1.1.0: {} + + postcss@8.5.2: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier@3.3.3: {} + + prettier@3.5.0: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + + process@0.11.10: {} + + progress@2.0.3: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + proxy-agent@6.5.0: + dependencies: + agent-base: 7.1.3 + debug: 4.4.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 7.18.3 + pac-proxy-agent: 7.1.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + proxy-compare@3.0.1: {} + + proxy-from-env@1.1.0: {} + + proxy-memoize@3.0.1: + dependencies: + proxy-compare: 3.0.1 + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + punycode@2.3.1: {} + + puppeteer-core@24.2.0: + dependencies: + '@puppeteer/browsers': 2.7.1 + chromium-bidi: 1.2.0(devtools-protocol@0.0.1402036) + debug: 4.4.0 + devtools-protocol: 0.0.1402036 + typed-query-selector: 2.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - bare-buffer + - bufferutil + - supports-color + - utf-8-validate + + puppeteer@24.2.0(typescript@5.7.3): + dependencies: + '@puppeteer/browsers': 2.7.1 + chromium-bidi: 1.2.0(devtools-protocol@0.0.1402036) + cosmiconfig: 9.0.0(typescript@5.7.3) + devtools-protocol: 0.0.1402036 + puppeteer-core: 24.2.0 + typed-query-selector: 2.12.0 + transitivePeerDependencies: + - bare-buffer + - bufferutil + - supports-color + - typescript + - utf-8-validate + + pure-rand@6.1.0: {} + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + react-docgen-typescript@2.2.2(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + + react-docgen@7.1.1: + dependencies: + '@babel/core': 7.26.8 + '@babel/traverse': 7.26.8 + '@babel/types': 7.26.8 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + '@types/doctrine': 0.0.9 + '@types/resolve': 1.20.6 + doctrine: 3.0.0 + resolve: 1.22.10 + strip-indent: 4.0.0 + transitivePeerDependencies: + - supports-color + + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + + react-dom@19.0.0-rc.1(react@19.0.0-rc.1): + dependencies: + react: 19.0.0-rc.1 + scheduler: 0.25.0-rc.1 + + react-error-boundary@5.0.0(react@19.0.0-rc.1): + dependencies: + '@babel/runtime': 7.26.7 + react: 19.0.0-rc.1 + + react-icons@5.4.0(react@19.0.0-rc.1): + dependencies: + react: 19.0.0-rc.1 + + react-is@16.13.1: {} + + react-is@17.0.2: {} + + react-is@18.3.1: {} + + react-is@19.0.0: {} + + react-refresh@0.14.2: {} + + react-router-dom@7.1.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react-router: 7.1.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + + react-router@7.1.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + '@types/cookie': 0.6.0 + cookie: 1.0.2 + react: 19.0.0-rc.1 + set-cookie-parser: 2.7.1 + turbo-stream: 2.4.0 + optionalDependencies: + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + + react-select@5.10.0(@types/react@19.0.8)(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + '@babel/runtime': 7.26.7 + '@emotion/cache': 11.14.0 + '@emotion/react': 11.14.0(@types/react@19.0.8)(react@19.0.0-rc.1) + '@floating-ui/dom': 1.6.13 + '@types/react-transition-group': 4.4.12(@types/react@19.0.8) + memoize-one: 6.0.0 + prop-types: 15.8.1 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react-transition-group: 4.4.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + use-isomorphic-layout-effect: 1.2.0(@types/react@19.0.8)(react@19.0.0-rc.1) + transitivePeerDependencies: + - '@types/react' + - supports-color + + react-speech-recognition@3.10.0(react@19.0.0-rc.1): + dependencies: + react: 19.0.0-rc.1 + + react-transition-group@4.4.5(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + '@babel/runtime': 7.26.7 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + + react-universal-interface@0.6.2(react@19.0.0-rc.1)(tslib@2.8.1): + dependencies: + react: 19.0.0-rc.1 + tslib: 2.8.1 + + react-use@17.6.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + '@types/js-cookie': 2.2.7 + '@xobotyi/scrollbar-width': 1.9.5 + copy-to-clipboard: 3.3.3 + fast-deep-equal: 3.1.3 + fast-shallow-equal: 1.0.0 + js-cookie: 2.2.1 + nano-css: 5.6.2(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1) + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + react-universal-interface: 0.6.2(react@19.0.0-rc.1)(tslib@2.8.1) + resize-observer-polyfill: 1.5.1 + screenfull: 5.2.0 + set-harmonic-interval: 1.0.1 + throttle-debounce: 3.0.1 + ts-easing: 0.2.0 + tslib: 2.8.1 + + react@19.0.0: {} + + react@19.0.0-rc.1: {} + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + recast@0.23.9: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.8.1 + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regenerator-runtime@0.14.1: {} + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.1 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + require-directory@2.1.1: {} + + requires-port@1.0.0: {} + + resize-observer-polyfill@1.5.1: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve.exports@2.0.3: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + reusify@1.0.4: {} + + rfdc@1.4.1: {} + + rollup@4.34.6: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.34.6 + '@rollup/rollup-android-arm64': 4.34.6 + '@rollup/rollup-darwin-arm64': 4.34.6 + '@rollup/rollup-darwin-x64': 4.34.6 + '@rollup/rollup-freebsd-arm64': 4.34.6 + '@rollup/rollup-freebsd-x64': 4.34.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.6 + '@rollup/rollup-linux-arm-musleabihf': 4.34.6 + '@rollup/rollup-linux-arm64-gnu': 4.34.6 + '@rollup/rollup-linux-arm64-musl': 4.34.6 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.6 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.6 + '@rollup/rollup-linux-riscv64-gnu': 4.34.6 + '@rollup/rollup-linux-s390x-gnu': 4.34.6 + '@rollup/rollup-linux-x64-gnu': 4.34.6 + '@rollup/rollup-linux-x64-musl': 4.34.6 + '@rollup/rollup-win32-arm64-msvc': 4.34.6 + '@rollup/rollup-win32-ia32-msvc': 4.34.6 + '@rollup/rollup-win32-x64-msvc': 4.34.6 + fsevents: 2.3.3 + + rtl-css-js@1.16.1: + dependencies: + '@babel/runtime': 7.26.7 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safer-buffer@2.1.2: {} + + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + + scheduler@0.25.0: {} + + scheduler@0.25.0-rc.1: {} + + screenfull@5.2.0: {} + + scule@1.3.0: {} + + semver@6.3.1: {} + + semver@7.7.1: {} + + set-cookie-parser@2.7.1: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.7 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-harmonic-interval@1.0.1: {} + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + siginfo@2.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slash@5.1.0: {} + + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + + smart-buffer@4.2.0: {} + + smol-toml@1.3.1: {} + + socks-proxy-agent@8.0.5: + dependencies: + agent-base: 7.1.3 + debug: 4.4.0 + socks: 2.8.4 + transitivePeerDependencies: + - supports-color + + socks@2.8.4: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + + source-map-js@1.2.1: {} + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.5.6: {} + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + sprintf-js@1.0.3: {} + + sprintf-js@1.1.3: {} + + stack-generator@2.0.10: + dependencies: + stackframe: 1.3.4 + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stackback@0.0.2: {} + + stackframe@1.3.4: {} + + stacktrace-gps@3.1.2: + dependencies: + source-map: 0.5.6 + stackframe: 1.3.4 + + stacktrace-js@2.0.2: + dependencies: + error-stack-parser: 2.1.4 + stack-generator: 2.0.10 + stacktrace-gps: 3.1.2 + + std-env@3.8.0: {} + + storybook@8.5.4(prettier@3.5.0): + dependencies: + '@storybook/core': 8.5.4(prettier@3.5.0) + optionalDependencies: + prettier: 3.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + streamx@2.22.0: + dependencies: + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + optionalDependencies: + bare-events: 2.5.4 + + string-argv@0.3.2: {} + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + + string.prototype.matchall@4.0.12: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.2.7 + gopd: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + regexp.prototype.flags: 1.5.4 + set-function-name: 2.0.2 + side-channel: 1.1.0 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.9 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom@3.0.0: {} + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-final-newline@3.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-indent@4.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + strip-json-comments@5.0.1: {} + + stylis@4.2.0: {} + + stylis@4.3.6: {} + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + summary@2.1.0: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + symbol-tree@3.2.4: {} + + tapable@2.2.1: {} + + tar-fs@3.0.8: + dependencies: + pump: 3.0.2 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 4.0.1 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-buffer + + tar-stream@3.1.7: + dependencies: + b4a: 1.6.7 + fast-fifo: 1.3.2 + streamx: 2.22.0 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + text-decoder@1.2.3: + dependencies: + b4a: 1.6.7 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + throttle-debounce@3.0.1: {} + + tiny-invariant@1.3.3: {} + + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + + tinypool@1.0.2: {} + + tinyrainbow@2.0.0: {} + + tinyspy@3.0.2: {} + + tmpl@1.0.5: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toggle-selection@1.0.6: {} + + tough-cookie@4.1.4: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tr46@3.0.0: + dependencies: + punycode: 2.3.1 + + trough@2.2.0: {} + + ts-api-utils@2.0.1(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + + ts-dedent@2.2.0: {} + + ts-easing@0.2.0: {} + + ts-interface-checker@0.1.13: {} + + ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.13.1 + acorn: 8.14.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.7.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@2.8.1: {} + + turbo-stream@2.4.0: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + type-fest@2.19.0: {} + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typed-query-selector@2.12.0: {} + + typescript@5.7.3: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.3 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + undici-types@6.20.0: {} + + unicorn-magic@0.1.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@0.2.0: {} + + unplugin@1.16.1: + dependencies: + acorn: 8.14.0 + webpack-virtual-modules: 0.6.2 + + update-browserslist-db@1.1.2(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + + uqr@0.1.2: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + use-isomorphic-layout-effect@1.2.0(@types/react@19.0.8)(react@19.0.0-rc.1): + dependencies: + react: 19.0.0-rc.1 + optionalDependencies: + '@types/react': 19.0.8 + + use-resize-observer@9.1.0(react-dom@19.0.0-rc.1(react@19.0.0-rc.1))(react@19.0.0-rc.1): + dependencies: + '@juggle/resize-observer': 3.4.0 + react: 19.0.0-rc.1 + react-dom: 19.0.0-rc.1(react@19.0.0-rc.1) + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.1.0 + is-typed-array: 1.1.15 + which-typed-array: 1.1.18 + + uuid@9.0.1: {} + + v8-compile-cache-lib@3.0.1: {} + + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + vite-node@3.0.5(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 2.0.2 + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0): + dependencies: + esbuild: 0.24.2 + postcss: 8.5.2 + rollup: 4.34.6 + optionalDependencies: + '@types/node': 22.13.1 + fsevents: 2.3.3 + jiti: 2.4.2 + yaml: 2.7.0 + + vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.13.1)(jiti@2.4.2)(jsdom@20.0.3)(yaml@2.7.0): + dependencies: + '@vitest/expect': 3.0.5 + '@vitest/mocker': 3.0.5(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0)) + '@vitest/pretty-format': 3.0.5 + '@vitest/runner': 3.0.5 + '@vitest/snapshot': 3.0.5 + '@vitest/spy': 3.0.5 + '@vitest/utils': 3.0.5 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 2.0.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + vite-node: 3.0.5(@types/node@22.13.1)(jiti@2.4.2)(yaml@2.7.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/debug': 4.1.12 + '@types/node': 22.13.1 + jsdom: 20.0.3 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + w3c-xmlserializer@4.0.0: + dependencies: + xml-name-validator: 4.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + optional: true + + web-streams-polyfill@3.3.3: {} + + webidl-conversions@7.0.0: {} + + webpack-virtual-modules@0.6.2: {} + + whatwg-encoding@2.0.0: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@3.0.0: {} + + whatwg-url@11.0.0: + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.3 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.18 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.18: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + for-each: 0.3.5 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@8.18.0: {} + + xml-name-validator@4.0.0: {} + + xmlchars@2.2.0: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml@1.10.2: {} + + yaml@2.7.0: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + yn@3.1.1: {} + + yocto-queue@0.1.0: {} + + zod-validation-error@3.4.0(zod@3.24.1): + dependencies: + zod: 3.24.1 + + zod@3.24.1: {} + + zustand@5.0.3(@types/react@19.0.8)(react@19.0.0-rc.1): + optionalDependencies: + '@types/react': 19.0.8 + react: 19.0.0-rc.1 + + zwitch@2.0.4: {} diff --git a/front/prettier.config.js b/front/prettier.config.js new file mode 100644 index 0000000..02bcac1 --- /dev/null +++ b/front/prettier.config.js @@ -0,0 +1,16 @@ +// Using a JS file, allowing us to add comments +module.exports = { + // This plugins line is mandatory for the plugin to work with pnpm. + // https://github.com/trivago/prettier-plugin-sort-imports/blob/61d069711008c530f5a41ca4e254781abc5de358/README.md?plain=1#L89-L96 + plugins: ['@trivago/prettier-plugin-sort-imports'], + endOfLine: 'lf', + semi: true, + singleQuote: true, + tabWidth: 2, + trailingComma: 'es5', + arrowParens: 'always', + importOrder: ['^react$', '^(?!^react$|^@/|^[./]).*', '^@/(.*)$', '^[./]'], + importOrderSeparation: true, + importOrderSortSpecifiers: true, + importOrderParserPlugins: ['jsx', 'typescript'], +}; diff --git a/front/public/favicon.ico b/front/public/favicon.ico new file mode 100644 index 0000000..b54cbd2 Binary files /dev/null and b/front/public/favicon.ico differ diff --git a/front/src/App.tsx b/front/src/App.tsx new file mode 100644 index 0000000..5a221c0 --- /dev/null +++ b/front/src/App.tsx @@ -0,0 +1,20 @@ +import { ErrorBoundary } from '@/errors/ErrorBoundary'; + +import { AudioPlayer } from './components'; +import { EnvDevelopment } from './components/EnvDevelopment/EnvDevelopment'; +import { AppRoutes } from './scene/AppRoutes'; +import { ServiceContextProvider } from './service/ServiceContext'; + +export const App = () => { + return ( + + + + + + + + ); +}; + +export default App; diff --git a/front/src/assets/images/avatar_generic.svg b/front/src/assets/images/avatar_generic.svg new file mode 100644 index 0000000..af04a82 --- /dev/null +++ b/front/src/assets/images/avatar_generic.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + diff --git a/front/src/assets/images/ikon.svg b/front/src/assets/images/ikon.svg new file mode 100644 index 0000000..e426f99 --- /dev/null +++ b/front/src/assets/images/ikon.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/front/src/back-api/api/data-resource.ts b/front/src/back-api/api/data-resource.ts new file mode 100644 index 0000000..7b32bb2 --- /dev/null +++ b/front/src/back-api/api/data-resource.ts @@ -0,0 +1,128 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { + ObjectId, +} from "../model"; + +export namespace DataResource { + + /** + * Get back some data from the data environment (with a beautiful name (permit download with basic name) + */ + export function retrieveDataFull({ + restConfig, + queries, + params, + data, + }: { + restConfig: RESTConfig, + queries: { + Authorization?: string, + }, + params: { + name: string, + oid: ObjectId, + }, + data: string, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/data/{oid}/{name}", + requestType: HTTPRequestModel.GET, + }, + restConfig, + params, + queries, + data, + }); + }; + /** + * Get back some data from the data environment + */ + export function retrieveDataId({ + restConfig, + queries, + params, + data, + }: { + restConfig: RESTConfig, + queries: { + Authorization?: string, + }, + params: { + oid: ObjectId, + }, + data: string, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/data/{oid}", + requestType: HTTPRequestModel.GET, + }, + restConfig, + params, + queries, + data, + }); + }; + /** + * Get a thumbnail of from the data environment (if resize is possible) + */ + export function retrieveDataThumbnailId({ + restConfig, + queries, + params, + data, + }: { + restConfig: RESTConfig, + queries: { + Authorization?: string, + }, + params: { + oid: ObjectId, + }, + data: string, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/data/thumbnail/{oid}", + requestType: HTTPRequestModel.GET, + }, + restConfig, + params, + queries, + data, + }); + }; + /** + * Insert a new data in the data environment + */ + export function uploadFile({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: { + file: File, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/data//upload/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.MULTIPART, + }, + restConfig, + data, + }); + }; +} diff --git a/front/src/back-api/api/front.ts b/front/src/back-api/api/front.ts new file mode 100644 index 0000000..34b80f8 --- /dev/null +++ b/front/src/back-api/api/front.ts @@ -0,0 +1,6 @@ +/** + * Interface of the server (auto-generated code) + */ +export namespace Front { + +} diff --git a/front/src/back-api/api/health-check.ts b/front/src/back-api/api/health-check.ts new file mode 100644 index 0000000..6bddd5c --- /dev/null +++ b/front/src/back-api/api/health-check.ts @@ -0,0 +1,35 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, +} from "../rest-tools"; + +import { + HealthResult, + isHealthResult, +} from "../model"; + +export namespace HealthCheck { + + /** + * Get the server state (health) + */ + export function getHealth({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/health_check/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isHealthResult); + }; +} diff --git a/front/src/back-api/api/index.ts b/front/src/back-api/api/index.ts new file mode 100644 index 0000000..9806c68 --- /dev/null +++ b/front/src/back-api/api/index.ts @@ -0,0 +1,12 @@ +/** + * Interface of the server (auto-generated code) + */ +export * from "./data-resource" +export * from "./front" +export * from "./health-check" +export * from "./media-resource" +export * from "./season-resource" +export * from "./series-resource" +export * from "./type-resource" +export * from "./user-media-advancement-resource" +export * from "./user-resource" diff --git a/front/src/back-api/api/media-resource.ts b/front/src/back-api/api/media-resource.ts new file mode 100644 index 0000000..fd0e9b2 --- /dev/null +++ b/front/src/back-api/api/media-resource.ts @@ -0,0 +1,214 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTCallbacks, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + Long, + Media, + MediaWrite, + UUID, + ZodMedia, + isMedia, +} from "../model"; + +export namespace MediaResource { + + /** + * Get a specific Media with his ID + */ + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/media/{id}", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isMedia); + }; + + export const ZodGetsTypeReturn = zod.array(ZodMedia); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + + /** + * Get all Media + */ + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/media/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + /** + * Modify a specific Media + */ + export function patch({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: MediaWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/media/{id}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isMedia); + }; + /** + * Remove a specific Media + */ + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/media/{id}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; + /** + * Remove a specific cover of a media + */ + export function removeCover({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + coverId: UUID, + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/media/{id}/cover/{coverId}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isMedia); + }; + /** + * Upload a new season cover media + */ + export function uploadCover({ + restConfig, + params, + data, + callbacks, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: { + file: File, + }, + callbacks?: RESTCallbacks, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/media/{id}/cover", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.MULTIPART, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + callbacks, + }, isMedia); + }; + /** + * Create a new Media + */ + export function uploadFile({ + restConfig, + data, + callbacks, + }: { + restConfig: RESTConfig, + data: { + fileName: string, + file: File, + series: string, + universe: string, + season: string, + episode: string, + typeId: string, + title: string, + }, + callbacks?: RESTCallbacks, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/media/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.MULTIPART, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + callbacks, + }, isMedia); + }; +} diff --git a/front/src/back-api/api/season-resource.ts b/front/src/back-api/api/season-resource.ts new file mode 100644 index 0000000..78ecc70 --- /dev/null +++ b/front/src/back-api/api/season-resource.ts @@ -0,0 +1,203 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTCallbacks, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + Long, + Season, + SeasonWrite, + UUID, + ZodSeason, + isSeason, +} from "../model"; + +export namespace SeasonResource { + + /** + * Get all season + */ + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/season/{id}", + requestType: HTTPRequestModel.GET, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isSeason); + }; + + export const ZodGetsTypeReturn = zod.array(ZodSeason); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + + /** + * Get a specific Season with his ID + */ + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/season/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + /** + * Modify a specific season + */ + export function patch({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: SeasonWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/season/{id}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isSeason); + }; + /** + * Create a new season + */ + export function post({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: SeasonWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/season/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isSeason); + }; + /** + * Remove a specific season + */ + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/season/{id}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; + /** + * Remove a specific cover of a season + */ + export function removeCover({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + coverId: UUID, + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/season/{id}/cover/{coverId}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isSeason); + }; + /** + * Upload a new season cover season + */ + export function uploadCover({ + restConfig, + params, + data, + callbacks, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: { + file: File, + }, + callbacks?: RESTCallbacks, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/season/{id}/cover", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.MULTIPART, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + callbacks, + }, isSeason); + }; +} diff --git a/front/src/back-api/api/series-resource.ts b/front/src/back-api/api/series-resource.ts new file mode 100644 index 0000000..18c90c6 --- /dev/null +++ b/front/src/back-api/api/series-resource.ts @@ -0,0 +1,203 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTCallbacks, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + Long, + Series, + SeriesWrite, + UUID, + ZodSeries, + isSeries, +} from "../model"; + +export namespace SeriesResource { + + /** + * Get a specific Series with his ID + */ + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/series/{id}", + requestType: HTTPRequestModel.GET, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isSeries); + }; + + export const ZodGetsTypeReturn = zod.array(ZodSeries); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + + /** + * Get all Series + */ + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/series/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + /** + * Modify a specific Series + */ + export function patch({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: SeriesWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/series/{id}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isSeries); + }; + /** + * Create a new Series + */ + export function post({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: SeriesWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/series/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isSeries); + }; + /** + * Remove a specific Series + */ + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/series/{id}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; + /** + * Remove a specific Series of a season + */ + export function removeCover({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + coverId: UUID, + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/series/{id}/cover/{coverId}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isSeries); + }; + /** + * Upload a new season cover Series + */ + export function uploadCover({ + restConfig, + params, + data, + callbacks, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: { + file: File, + }, + callbacks?: RESTCallbacks, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/series/{id}/cover", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.MULTIPART, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + callbacks, + }, isSeries); + }; +} diff --git a/front/src/back-api/api/type-resource.ts b/front/src/back-api/api/type-resource.ts new file mode 100644 index 0000000..8b3da6e --- /dev/null +++ b/front/src/back-api/api/type-resource.ts @@ -0,0 +1,203 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTCallbacks, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + Long, + Type, + TypeWrite, + UUID, + ZodType, + isType, +} from "../model"; + +export namespace TypeResource { + + /** + * Get a specific Type with his ID + */ + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/type/{id}", + requestType: HTTPRequestModel.GET, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isType); + }; + + export const ZodGetsTypeReturn = zod.array(ZodType); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + + /** + * Get all Type + */ + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/type/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + /** + * Modify a specific Type + */ + export function patch({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: TypeWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/type/{id}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isType); + }; + /** + * Create a new Type + */ + export function post({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: TypeWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/type/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isType); + }; + /** + * Remove a specific Type + */ + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/type/{id}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; + /** + * Remove a specific cover of a type + */ + export function removeCover({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + coverId: UUID, + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/type/{id}/cover/{coverId}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isType); + }; + /** + * Upload a new season cover Type + */ + export function uploadCover({ + restConfig, + params, + data, + callbacks, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: { + file: File, + }, + callbacks?: RESTCallbacks, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/type/{id}/cover", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.MULTIPART, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + callbacks, + }, isType); + }; +} diff --git a/front/src/back-api/api/user-media-advancement-resource.ts b/front/src/back-api/api/user-media-advancement-resource.ts new file mode 100644 index 0000000..fd66801 --- /dev/null +++ b/front/src/back-api/api/user-media-advancement-resource.ts @@ -0,0 +1,124 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + Long, + MediaInformationsDeltaWrite, + UserMediaAdvancement, + ZodUserMediaAdvancement, + isUserMediaAdvancement, +} from "../model"; + +export namespace UserMediaAdvancementResource { + + /** + * Get a specific user advancement with his ID + */ + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/advancement/{id}", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isUserMediaAdvancement); + }; + + export const ZodGetsTypeReturn = zod.array(ZodUserMediaAdvancement); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + + /** + * Get all user advancement + */ + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/advancement/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + /** + * Modify a user advancement + */ + export function patch({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: MediaInformationsDeltaWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/advancement/{id}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isUserMediaAdvancement); + }; + /** + * Remove a specific user advancement + */ + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/advancement/{id}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; +} diff --git a/front/src/back-api/api/user-resource.ts b/front/src/back-api/api/user-resource.ts new file mode 100644 index 0000000..34b5ebe --- /dev/null +++ b/front/src/back-api/api/user-resource.ts @@ -0,0 +1,93 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + Long, + UserKarideo, + UserOut, + ZodUserKarideo, + isUserKarideo, + isUserOut, +} from "../model"; + +export namespace UserResource { + + /** + * Get a specific user data + */ + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/{id}", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isUserKarideo); + }; + /** + * Get the user personal data + */ + export function getMe({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/me", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isUserOut); + }; + + export const ZodGetsTypeReturn = zod.array(ZodUserKarideo); + export type GetsTypeReturn = zod.infer; + + export function isGetsTypeReturn(data: any): data is GetsTypeReturn { + try { + ZodGetsTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetsTypeReturn' error=${e}`); + return false; + } + } + + /** + * Get all the users + */ + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; +} diff --git a/front/src/back-api/index.ts b/front/src/back-api/index.ts new file mode 100644 index 0000000..c483eda --- /dev/null +++ b/front/src/back-api/index.ts @@ -0,0 +1,7 @@ +/** + * Interface of the server (auto-generated code) + */ +export * from "./model"; +export * from "./api"; +export * from "./rest-tools"; + diff --git a/front/src/back-api/model/data.ts b/front/src/back-api/model/data.ts new file mode 100644 index 0000000..be379d2 --- /dev/null +++ b/front/src/back-api/model/data.ts @@ -0,0 +1,67 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodObjectId} from "./object-id"; +import {ZodOIDGenericDataSoftDelete, ZodOIDGenericDataSoftDeleteWrite } from "./oid-generic-data-soft-delete"; + +export const ZodData = ZodOIDGenericDataSoftDelete.extend({ + /** + * Sha512 of the data + */ + sha512: zod.string().max(512), + /** + * Mime -type of the media + */ + mimeType: zod.string().max(512), + /** + * Size in Byte of the data + */ + size: ZodLong, + /** + * Unique ObjectID of the object + */ + oid: ZodObjectId.readonly(), + +}); + +export type Data = zod.infer; + +export function isData(data: any): data is Data { + try { + ZodData.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodData' error=${e}`); + return false; + } +} +export const ZodDataWrite = ZodOIDGenericDataSoftDeleteWrite.extend({ + /** + * Sha512 of the data + */ + sha512: zod.string().max(512).optional(), + /** + * Mime -type of the media + */ + mimeType: zod.string().max(512).optional(), + /** + * Size in Byte of the data + */ + size: ZodLong.optional(), + +}); + +export type DataWrite = zod.infer; + +export function isDataWrite(data: any): data is DataWrite { + try { + ZodDataWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodDataWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/float.ts b/front/src/back-api/model/float.ts new file mode 100644 index 0000000..a8dd76c --- /dev/null +++ b/front/src/back-api/model/float.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodFloat = zod.number(); +export type Float = zod.infer; diff --git a/front/src/back-api/model/generic-data-soft-delete.ts b/front/src/back-api/model/generic-data-soft-delete.ts new file mode 100644 index 0000000..741eee0 --- /dev/null +++ b/front/src/back-api/model/generic-data-soft-delete.ts @@ -0,0 +1,39 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodGenericData, ZodGenericDataWrite } from "./generic-data"; + +export const ZodGenericDataSoftDelete = ZodGenericData.extend({ + /** + * Deleted state + */ + deleted: zod.boolean().readonly().optional(), + +}); + +export type GenericDataSoftDelete = zod.infer; + +export function isGenericDataSoftDelete(data: any): data is GenericDataSoftDelete { + try { + ZodGenericDataSoftDelete.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericDataSoftDelete' error=${e}`); + return false; + } +} +export const ZodGenericDataSoftDeleteWrite = ZodGenericDataWrite; + +export type GenericDataSoftDeleteWrite = zod.infer; + +export function isGenericDataSoftDeleteWrite(data: any): data is GenericDataSoftDeleteWrite { + try { + ZodGenericDataSoftDeleteWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericDataSoftDeleteWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/generic-data.ts b/front/src/back-api/model/generic-data.ts new file mode 100644 index 0000000..898b37a --- /dev/null +++ b/front/src/back-api/model/generic-data.ts @@ -0,0 +1,40 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodGenericTiming, ZodGenericTimingWrite } from "./generic-timing"; + +export const ZodGenericData = ZodGenericTiming.extend({ + /** + * Unique Id of the object + */ + id: ZodLong.readonly(), + +}); + +export type GenericData = zod.infer; + +export function isGenericData(data: any): data is GenericData { + try { + ZodGenericData.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericData' error=${e}`); + return false; + } +} +export const ZodGenericDataWrite = ZodGenericTimingWrite; + +export type GenericDataWrite = zod.infer; + +export function isGenericDataWrite(data: any): data is GenericDataWrite { + try { + ZodGenericDataWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericDataWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/generic-timing.ts b/front/src/back-api/model/generic-timing.ts new file mode 100644 index 0000000..d1e28d7 --- /dev/null +++ b/front/src/back-api/model/generic-timing.ts @@ -0,0 +1,45 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodIsoDate} from "./iso-date"; + +export const ZodGenericTiming = zod.object({ + /** + * Create time of the object + */ + createdAt: ZodIsoDate.readonly().optional(), + /** + * When update the object + */ + updatedAt: ZodIsoDate.readonly().optional(), + +}); + +export type GenericTiming = zod.infer; + +export function isGenericTiming(data: any): data is GenericTiming { + try { + ZodGenericTiming.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericTiming' error=${e}`); + return false; + } +} +export const ZodGenericTimingWrite = zod.object({ + +}); + +export type GenericTimingWrite = zod.infer; + +export function isGenericTimingWrite(data: any): data is GenericTimingWrite { + try { + ZodGenericTimingWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericTimingWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/health-result.ts b/front/src/back-api/model/health-result.ts new file mode 100644 index 0000000..2b265d6 --- /dev/null +++ b/front/src/back-api/model/health-result.ts @@ -0,0 +1,36 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodHealthResult = zod.object({ + +}); + +export type HealthResult = zod.infer; + +export function isHealthResult(data: any): data is HealthResult { + try { + ZodHealthResult.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodHealthResult' error=${e}`); + return false; + } +} +export const ZodHealthResultWrite = zod.object({ + +}); + +export type HealthResultWrite = zod.infer; + +export function isHealthResultWrite(data: any): data is HealthResultWrite { + try { + ZodHealthResultWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodHealthResultWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/index.ts b/front/src/back-api/model/index.ts new file mode 100644 index 0000000..252035d --- /dev/null +++ b/front/src/back-api/model/index.ts @@ -0,0 +1,30 @@ +/** + * Interface of the server (auto-generated code) + */ +export * from "./data" +export * from "./float" +export * from "./generic-data" +export * from "./generic-data-soft-delete" +export * from "./generic-timing" +export * from "./health-result" +export * from "./integer" +export * from "./iso-date" +export * from "./jwt-header" +export * from "./jwt-payload" +export * from "./jwt-token" +export * from "./long" +export * from "./media" +export * from "./media-informations-delta" +export * from "./object-id" +export * from "./oid-generic-data" +export * from "./oid-generic-data-soft-delete" +export * from "./rest-error-response" +export * from "./season" +export * from "./series" +export * from "./timestamp" +export * from "./type" +export * from "./user" +export * from "./user-karideo" +export * from "./user-media-advancement" +export * from "./user-out" +export * from "./uuid" diff --git a/front/src/back-api/model/integer.ts b/front/src/back-api/model/integer.ts new file mode 100644 index 0000000..03fd143 --- /dev/null +++ b/front/src/back-api/model/integer.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodInteger = zod.number().safe(); +export type Integer = zod.infer; diff --git a/front/src/back-api/model/iso-date.ts b/front/src/back-api/model/iso-date.ts new file mode 100644 index 0000000..83802be --- /dev/null +++ b/front/src/back-api/model/iso-date.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodIsoDate = zod.string().datetime({ precision: 3 }); +export type IsoDate = zod.infer; diff --git a/front/src/back-api/model/jwt-header.ts b/front/src/back-api/model/jwt-header.ts new file mode 100644 index 0000000..a89fe30 --- /dev/null +++ b/front/src/back-api/model/jwt-header.ts @@ -0,0 +1,40 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodJwtHeader = zod.object({ + typ: zod.string().max(128), + alg: zod.string().max(128), + +}); + +export type JwtHeader = zod.infer; + +export function isJwtHeader(data: any): data is JwtHeader { + try { + ZodJwtHeader.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodJwtHeader' error=${e}`); + return false; + } +} +export const ZodJwtHeaderWrite = zod.object({ + typ: zod.string().max(128).optional(), + alg: zod.string().max(128).optional(), + +}); + +export type JwtHeaderWrite = zod.infer; + +export function isJwtHeaderWrite(data: any): data is JwtHeaderWrite { + try { + ZodJwtHeaderWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodJwtHeaderWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/jwt-payload.ts b/front/src/back-api/model/jwt-payload.ts new file mode 100644 index 0000000..27b88e1 --- /dev/null +++ b/front/src/back-api/model/jwt-payload.ts @@ -0,0 +1,51 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; + +export const ZodJwtPayload = zod.object({ + sub: zod.string(), + application: zod.string(), + iss: zod.string(), + right: zod.record(zod.string(), zod.record(zod.string(), ZodLong)), + login: zod.string(), + exp: ZodLong, + iat: ZodLong, + +}); + +export type JwtPayload = zod.infer; + +export function isJwtPayload(data: any): data is JwtPayload { + try { + ZodJwtPayload.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodJwtPayload' error=${e}`); + return false; + } +} +export const ZodJwtPayloadWrite = zod.object({ + sub: zod.string().optional(), + application: zod.string().optional(), + iss: zod.string().optional(), + right: zod.record(zod.string(), zod.record(zod.string(), ZodLong)).optional(), + login: zod.string().optional(), + exp: ZodLong.optional(), + iat: ZodLong.optional(), + +}); + +export type JwtPayloadWrite = zod.infer; + +export function isJwtPayloadWrite(data: any): data is JwtPayloadWrite { + try { + ZodJwtPayloadWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodJwtPayloadWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/jwt-token.ts b/front/src/back-api/model/jwt-token.ts new file mode 100644 index 0000000..af74806 --- /dev/null +++ b/front/src/back-api/model/jwt-token.ts @@ -0,0 +1,44 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodJwtHeader, ZodJwtHeaderWrite } from "./jwt-header"; +import {ZodJwtPayload, ZodJwtPayloadWrite } from "./jwt-payload"; + +export const ZodJwtToken = zod.object({ + header: ZodJwtHeader, + payload: ZodJwtPayload, + signature: zod.string(), + +}); + +export type JwtToken = zod.infer; + +export function isJwtToken(data: any): data is JwtToken { + try { + ZodJwtToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodJwtToken' error=${e}`); + return false; + } +} +export const ZodJwtTokenWrite = zod.object({ + header: ZodJwtHeader.optional(), + payload: ZodJwtPayload.optional(), + signature: zod.string().optional(), + +}); + +export type JwtTokenWrite = zod.infer; + +export function isJwtTokenWrite(data: any): data is JwtTokenWrite { + try { + ZodJwtTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodJwtTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/long.ts b/front/src/back-api/model/long.ts new file mode 100644 index 0000000..6817b15 --- /dev/null +++ b/front/src/back-api/model/long.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodLong = zod.number(); +export type Long = zod.infer; diff --git a/front/src/back-api/model/media-informations-delta.ts b/front/src/back-api/model/media-informations-delta.ts new file mode 100644 index 0000000..5658b4e --- /dev/null +++ b/front/src/back-api/model/media-informations-delta.ts @@ -0,0 +1,36 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodMediaInformationsDelta = zod.object({ + +}); + +export type MediaInformationsDelta = zod.infer; + +export function isMediaInformationsDelta(data: any): data is MediaInformationsDelta { + try { + ZodMediaInformationsDelta.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodMediaInformationsDelta' error=${e}`); + return false; + } +} +export const ZodMediaInformationsDeltaWrite = zod.object({ + +}); + +export type MediaInformationsDeltaWrite = zod.infer; + +export function isMediaInformationsDeltaWrite(data: any): data is MediaInformationsDeltaWrite { + try { + ZodMediaInformationsDeltaWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodMediaInformationsDeltaWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/media.ts b/front/src/back-api/model/media.ts new file mode 100644 index 0000000..c00829d --- /dev/null +++ b/front/src/back-api/model/media.ts @@ -0,0 +1,122 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodObjectId} from "./object-id"; +import {ZodLong} from "./long"; +import {ZodInteger} from "./integer"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodMedia = ZodGenericDataSoftDelete.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string(), + /** + * Description of the media + */ + description: zod.string().optional(), + /** + * Foreign Key Id of the data + */ + dataId: ZodObjectId, + /** + * Type of the media + */ + typeId: ZodLong.optional(), + /** + * Series reference of the media + */ + seriesId: ZodLong.optional(), + /** + * Season reference of the media + */ + seasonId: ZodLong.optional(), + /** + * Episode Id + */ + episode: ZodInteger.optional(), + date: ZodInteger.optional(), + /** + * Creation years of the media + */ + time: ZodInteger.optional(), + /** + * Limitation Age of the media + */ + ageLimit: ZodInteger.optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).optional(), + +}); + +export type Media = zod.infer; + +export function isMedia(data: any): data is Media { + try { + ZodMedia.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodMedia' error=${e}`); + return false; + } +} +export const ZodMediaWrite = ZodGenericDataSoftDeleteWrite.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string().optional(), + /** + * Description of the media + */ + description: zod.string().nullable().optional(), + /** + * Foreign Key Id of the data + */ + dataId: ZodObjectId.optional(), + /** + * Type of the media + */ + typeId: ZodLong.nullable().optional(), + /** + * Series reference of the media + */ + seriesId: ZodLong.nullable().optional(), + /** + * Season reference of the media + */ + seasonId: ZodLong.nullable().optional(), + /** + * Episode Id + */ + episode: ZodInteger.nullable().optional(), + date: ZodInteger.nullable().optional(), + /** + * Creation years of the media + */ + time: ZodInteger.nullable().optional(), + /** + * Limitation Age of the media + */ + ageLimit: ZodInteger.nullable().optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).nullable().optional(), + +}); + +export type MediaWrite = zod.infer; + +export function isMediaWrite(data: any): data is MediaWrite { + try { + ZodMediaWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodMediaWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/object-id.ts b/front/src/back-api/model/object-id.ts new file mode 100644 index 0000000..ace0bd1 --- /dev/null +++ b/front/src/back-api/model/object-id.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodObjectId = zod.string().length(24, "Invalid ObjectId length").regex(/^[a-fA-F0-9]{24}$/, "Invalid ObjectId format"); +export type ObjectId = zod.infer; diff --git a/front/src/back-api/model/oid-generic-data-soft-delete.ts b/front/src/back-api/model/oid-generic-data-soft-delete.ts new file mode 100644 index 0000000..7bf9a18 --- /dev/null +++ b/front/src/back-api/model/oid-generic-data-soft-delete.ts @@ -0,0 +1,44 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodObjectId} from "./object-id"; +import {ZodOIDGenericData, ZodOIDGenericDataWrite } from "./oid-generic-data"; + +export const ZodOIDGenericDataSoftDelete = ZodOIDGenericData.extend({ + /** + * Deleted state + */ + deleted: zod.boolean().readonly().optional(), + /** + * Unique ObjectID of the object + */ + oid: ZodObjectId.readonly(), + +}); + +export type OIDGenericDataSoftDelete = zod.infer; + +export function isOIDGenericDataSoftDelete(data: any): data is OIDGenericDataSoftDelete { + try { + ZodOIDGenericDataSoftDelete.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodOIDGenericDataSoftDelete' error=${e}`); + return false; + } +} +export const ZodOIDGenericDataSoftDeleteWrite = ZodOIDGenericDataWrite; + +export type OIDGenericDataSoftDeleteWrite = zod.infer; + +export function isOIDGenericDataSoftDeleteWrite(data: any): data is OIDGenericDataSoftDeleteWrite { + try { + ZodOIDGenericDataSoftDeleteWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodOIDGenericDataSoftDeleteWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/oid-generic-data.ts b/front/src/back-api/model/oid-generic-data.ts new file mode 100644 index 0000000..35479a6 --- /dev/null +++ b/front/src/back-api/model/oid-generic-data.ts @@ -0,0 +1,40 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodObjectId} from "./object-id"; +import {ZodGenericTiming, ZodGenericTimingWrite } from "./generic-timing"; + +export const ZodOIDGenericData = ZodGenericTiming.extend({ + /** + * Unique ObjectID of the object + */ + oid: ZodObjectId.readonly(), + +}); + +export type OIDGenericData = zod.infer; + +export function isOIDGenericData(data: any): data is OIDGenericData { + try { + ZodOIDGenericData.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodOIDGenericData' error=${e}`); + return false; + } +} +export const ZodOIDGenericDataWrite = ZodGenericTimingWrite; + +export type OIDGenericDataWrite = zod.infer; + +export function isOIDGenericDataWrite(data: any): data is OIDGenericDataWrite { + try { + ZodOIDGenericDataWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodOIDGenericDataWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/part-right.ts b/front/src/back-api/model/part-right.ts new file mode 100644 index 0000000..afe69e9 --- /dev/null +++ b/front/src/back-api/model/part-right.ts @@ -0,0 +1,24 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export enum PartRight { + READ = 1, + NONE = 0, + WRITE = 2, + READ_WRITE = 3, + }; + +export const ZodPartRight = zod.nativeEnum(PartRight); + +export function isPartRight(data: any): data is PartRight { + try { + ZodPartRight.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodPartRight' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/rest-error-response.ts b/front/src/back-api/model/rest-error-response.ts new file mode 100644 index 0000000..4ee9576 --- /dev/null +++ b/front/src/back-api/model/rest-error-response.ts @@ -0,0 +1,29 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodObjectId} from "./object-id"; +import {ZodInteger} from "./integer"; + +export const ZodRestErrorResponse = zod.object({ + oid: ZodObjectId.optional(), + name: zod.string(), + message: zod.string(), + time: zod.string(), + status: ZodInteger, + statusMessage: zod.string(), + +}); + +export type RestErrorResponse = zod.infer; + +export function isRestErrorResponse(data: any): data is RestErrorResponse { + try { + ZodRestErrorResponse.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRestErrorResponse' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/season.ts b/front/src/back-api/model/season.ts new file mode 100644 index 0000000..1b8f511 --- /dev/null +++ b/front/src/back-api/model/season.ts @@ -0,0 +1,71 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodObjectId} from "./object-id"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodSeason = ZodGenericDataSoftDelete.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string(), + /** + * Description of the media + */ + description: zod.string().optional(), + /** + * series parent ID + */ + parentId: ZodLong, + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).optional(), + +}); + +export type Season = zod.infer; + +export function isSeason(data: any): data is Season { + try { + ZodSeason.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodSeason' error=${e}`); + return false; + } +} +export const ZodSeasonWrite = ZodGenericDataSoftDeleteWrite.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string().optional(), + /** + * Description of the media + */ + description: zod.string().nullable().optional(), + /** + * series parent ID + */ + parentId: ZodLong.optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).nullable().optional(), + +}); + +export type SeasonWrite = zod.infer; + +export function isSeasonWrite(data: any): data is SeasonWrite { + try { + ZodSeasonWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodSeasonWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/series.ts b/front/src/back-api/model/series.ts new file mode 100644 index 0000000..3840b76 --- /dev/null +++ b/front/src/back-api/model/series.ts @@ -0,0 +1,71 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodObjectId} from "./object-id"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodSeries = ZodGenericDataSoftDelete.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string(), + /** + * Description of the media + */ + description: zod.string().optional(), + /** + * series parent ID + */ + parentId: ZodLong, + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).optional(), + +}); + +export type Series = zod.infer; + +export function isSeries(data: any): data is Series { + try { + ZodSeries.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodSeries' error=${e}`); + return false; + } +} +export const ZodSeriesWrite = ZodGenericDataSoftDeleteWrite.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string().optional(), + /** + * Description of the media + */ + description: zod.string().nullable().optional(), + /** + * series parent ID + */ + parentId: ZodLong.optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).nullable().optional(), + +}); + +export type SeriesWrite = zod.infer; + +export function isSeriesWrite(data: any): data is SeriesWrite { + try { + ZodSeriesWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodSeriesWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/timestamp.ts b/front/src/back-api/model/timestamp.ts new file mode 100644 index 0000000..262f5d1 --- /dev/null +++ b/front/src/back-api/model/timestamp.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodTimestamp = zod.string().datetime({ precision: 3 }); +export type Timestamp = zod.infer; diff --git a/front/src/back-api/model/type.ts b/front/src/back-api/model/type.ts new file mode 100644 index 0000000..daa43f6 --- /dev/null +++ b/front/src/back-api/model/type.ts @@ -0,0 +1,62 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodObjectId} from "./object-id"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodType = ZodGenericDataSoftDelete.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string(), + /** + * Description of the media + */ + description: zod.string().optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).optional(), + +}); + +export type Type = zod.infer; + +export function isType(data: any): data is Type { + try { + ZodType.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodType' error=${e}`); + return false; + } +} +export const ZodTypeWrite = ZodGenericDataSoftDeleteWrite.extend({ + /** + * Name of the media (this represent the title) + */ + name: zod.string().optional(), + /** + * Description of the media + */ + description: zod.string().nullable().optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodObjectId).nullable().optional(), + +}); + +export type TypeWrite = zod.infer; + +export function isTypeWrite(data: any): data is TypeWrite { + try { + ZodTypeWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodTypeWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-karideo.ts b/front/src/back-api/model/user-karideo.ts new file mode 100644 index 0000000..f8f8995 --- /dev/null +++ b/front/src/back-api/model/user-karideo.ts @@ -0,0 +1,33 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodUser, ZodUserWrite } from "./user"; + +export const ZodUserKarideo = ZodUser; + +export type UserKarideo = zod.infer; + +export function isUserKarideo(data: any): data is UserKarideo { + try { + ZodUserKarideo.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserKarideo' error=${e}`); + return false; + } +} +export const ZodUserKarideoWrite = ZodUserWrite; + +export type UserKarideoWrite = zod.infer; + +export function isUserKarideoWrite(data: any): data is UserKarideoWrite { + try { + ZodUserKarideoWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserKarideoWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-media-advancement.ts b/front/src/back-api/model/user-media-advancement.ts new file mode 100644 index 0000000..8f4fa60 --- /dev/null +++ b/front/src/back-api/model/user-media-advancement.ts @@ -0,0 +1,80 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodFloat} from "./float"; +import {ZodInteger} from "./integer"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodUserMediaAdvancement = ZodGenericDataSoftDelete.extend({ + /** + * Foreign Key Id of the user + */ + userId: ZodLong.optional(), + /** + * Id of the media + */ + mediaId: ZodLong, + /** + * Percent of advancement in the media + */ + percent: ZodFloat, + /** + * Number of second of advancement in the media + */ + time: ZodInteger, + /** + * Number of time this media has been read + */ + count: ZodInteger, + +}); + +export type UserMediaAdvancement = zod.infer; + +export function isUserMediaAdvancement(data: any): data is UserMediaAdvancement { + try { + ZodUserMediaAdvancement.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserMediaAdvancement' error=${e}`); + return false; + } +} +export const ZodUserMediaAdvancementWrite = ZodGenericDataSoftDeleteWrite.extend({ + /** + * Foreign Key Id of the user + */ + userId: ZodLong.nullable().optional(), + /** + * Id of the media + */ + mediaId: ZodLong.optional(), + /** + * Percent of advancement in the media + */ + percent: ZodFloat.optional(), + /** + * Number of second of advancement in the media + */ + time: ZodInteger.optional(), + /** + * Number of time this media has been read + */ + count: ZodInteger.optional(), + +}); + +export type UserMediaAdvancementWrite = zod.infer; + +export function isUserMediaAdvancementWrite(data: any): data is UserMediaAdvancementWrite { + try { + ZodUserMediaAdvancementWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserMediaAdvancementWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-out.ts b/front/src/back-api/model/user-out.ts new file mode 100644 index 0000000..afb77eb --- /dev/null +++ b/front/src/back-api/model/user-out.ts @@ -0,0 +1,41 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; + +export const ZodUserOut = zod.object({ + id: ZodLong, + login: zod.string().optional(), + +}); + +export type UserOut = zod.infer; + +export function isUserOut(data: any): data is UserOut { + try { + ZodUserOut.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserOut' error=${e}`); + return false; + } +} +export const ZodUserOutWrite = zod.object({ + id: ZodLong, + login: zod.string().nullable().optional(), + +}); + +export type UserOutWrite = zod.infer; + +export function isUserOutWrite(data: any): data is UserOutWrite { + try { + ZodUserOutWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserOutWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user.ts b/front/src/back-api/model/user.ts new file mode 100644 index 0000000..0fc33b8 --- /dev/null +++ b/front/src/back-api/model/user.ts @@ -0,0 +1,55 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodTimestamp} from "./timestamp"; +import {ZodUUID} from "./uuid"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodUser = ZodGenericDataSoftDelete.extend({ + login: zod.string().min(3).max(128), + lastConnection: ZodTimestamp.optional(), + blocked: zod.boolean().optional(), + blockedReason: zod.string().max(512).optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodUUID).optional(), + +}); + +export type User = zod.infer; + +export function isUser(data: any): data is User { + try { + ZodUser.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUser' error=${e}`); + return false; + } +} +export const ZodUserWrite = ZodGenericDataSoftDeleteWrite.extend({ + login: zod.string().min(3).max(128).optional(), + lastConnection: ZodTimestamp.nullable().optional(), + blocked: zod.boolean().nullable().optional(), + blockedReason: zod.string().max(512).nullable().optional(), + /** + * List of Id of the specific covers + */ + covers: zod.array(ZodUUID).nullable().optional(), + +}); + +export type UserWrite = zod.infer; + +export function isUserWrite(data: any): data is UserWrite { + try { + ZodUserWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/uuid.ts b/front/src/back-api/model/uuid.ts new file mode 100644 index 0000000..93c1be4 --- /dev/null +++ b/front/src/back-api/model/uuid.ts @@ -0,0 +1,8 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodUUID = zod.string().uuid(); +export type UUID = zod.infer; diff --git a/front/src/back-api/rest-tools.ts b/front/src/back-api/rest-tools.ts new file mode 100644 index 0000000..d269ed7 --- /dev/null +++ b/front/src/back-api/rest-tools.ts @@ -0,0 +1,454 @@ +/** @file + * @author Edouard DUPIN + * @copyright 2024, Edouard DUPIN, all right reserved + * @license MPL-2 + */ + +import { RestErrorResponse, isRestErrorResponse } from "./model"; + +export enum HTTPRequestModel { + ARCHIVE = "ARCHIVE", + DELETE = "DELETE", + HEAD = "HEAD", + GET = "GET", + OPTION = "OPTION", + PATCH = "PATCH", + POST = "POST", + PUT = "PUT", + RESTORE = "RESTORE", +} +export enum HTTPMimeType { + ALL = "*/*", + CSV = "text/csv", + IMAGE = "image/*", + IMAGE_JPEG = "image/jpeg", + IMAGE_PNG = "image/png", + JSON = "application/json", + MULTIPART = "multipart/form-data", + OCTET_STREAM = "application/octet-stream", + TEXT_PLAIN = "text/plain", +} + +export interface RESTConfig { + // base of the server: http(s)://my.server.org/plop/api/ + server: string; + // Token to access of the data. + token?: string; +} + +export interface RESTModel { + // base of the local API request: "sheep/{id}". + endPoint: string; + // Type of the request. + requestType?: HTTPRequestModel; + // Input type requested. + accept?: HTTPMimeType; + // Content of the local data. + contentType?: HTTPMimeType; + // Mode of the TOKEN in URL or Header (?token:${tokenInUrl}) + tokenInUrl?: boolean; +} + +export interface ModelResponseHttp { + status: number; + data: any; +} + +function isNullOrUndefined(data: any): data is undefined | null { + return data === undefined || data === null; +} + +// generic progression callback +export type ProgressCallback = (count: number, total: number) => void; + +export interface RESTAbort { + abort?: () => boolean; +} + +// Rest generic callback have a basic model to upload and download advancement. +export interface RESTCallbacks { + progressUpload?: ProgressCallback; + progressDownload?: ProgressCallback; + abortHandle?: RESTAbort; +} + +export interface RESTRequestType { + restModel: RESTModel; + restConfig: RESTConfig; + data?: any; + params?: object; + queries?: object; + callbacks?: RESTCallbacks; +} + +function replaceAll(input, searchValue, replaceValue) { + return input.split(searchValue).join(replaceValue); +} + +function removeTrailingSlashes(input: string): string { + if (isNullOrUndefined(input)) { + return "undefined"; + } + return input.replace(/\/+$/, ""); +} +function removeLeadingSlashes(input: string): string { + if (isNullOrUndefined(input)) { + return ""; + } + return input.replace(/^\/+/, ""); +} + +export function RESTUrl({ + restModel, + restConfig, + params, + queries, +}: RESTRequestType): string { + // Create the URL PATH: + let generateUrl = `${removeTrailingSlashes( + restConfig.server + )}/${removeLeadingSlashes(restModel.endPoint)}`; + if (params !== undefined) { + for (let key of Object.keys(params)) { + generateUrl = replaceAll(generateUrl, `{${key}}`, `${params[key]}`); + } + } + if ( + queries === undefined && + (restConfig.token === undefined || restModel.tokenInUrl !== true) + ) { + return generateUrl; + } + const searchParams = new URLSearchParams(); + if (queries !== undefined) { + for (let key of Object.keys(queries)) { + const value = queries[key]; + if (Array.isArray(value)) { + for (const element of value) { + searchParams.append(`${key}`, `${element}`); + } + } else { + searchParams.append(`${key}`, `${value}`); + } + } + } + if (restConfig.token !== undefined && restModel.tokenInUrl === true) { + searchParams.append("Authorization", `Bearer ${restConfig.token}`); + } + return generateUrl + "?" + searchParams.toString(); +} + +export function fetchProgress( + generateUrl: string, + { + method, + headers, + body, + }: { + method: HTTPRequestModel; + headers: any; + body: any; + }, + { progressUpload, progressDownload, abortHandle }: RESTCallbacks +): Promise { + const xhr: { + io?: XMLHttpRequest; + } = { + io: new XMLHttpRequest(), + }; + return new Promise((resolve, reject) => { + // Stream the upload progress + if (progressUpload) { + xhr.io?.upload.addEventListener("progress", (dataEvent) => { + if (dataEvent.lengthComputable) { + progressUpload(dataEvent.loaded, dataEvent.total); + } + }); + } + // Stream the download progress + if (progressDownload) { + xhr.io?.addEventListener("progress", (dataEvent) => { + if (dataEvent.lengthComputable) { + progressDownload(dataEvent.loaded, dataEvent.total); + } + }); + } + if (abortHandle) { + abortHandle.abort = () => { + if (xhr.io) { + console.log(`Request abort on the XMLHttpRequest: ${generateUrl}`); + xhr.io.abort(); + return true; + } + console.log( + `Request abort (FAIL) on the XMLHttpRequest: ${generateUrl}` + ); + return false; + }; + } + // Check if we have an internal Fail: + xhr.io?.addEventListener("error", () => { + xhr.io = undefined; + reject(new TypeError("Failed to fetch")); + }); + + // Capture the end of the stream + xhr.io?.addEventListener("loadend", () => { + if (xhr.io?.readyState !== XMLHttpRequest.DONE) { + return; + } + if (xhr.io?.status === 0) { + //the stream has been aborted + reject(new TypeError("Fetch has been aborted")); + return; + } + // Stream is ended, transform in a generic response: + const response = new Response(xhr.io.response, { + status: xhr.io.status, + statusText: xhr.io.statusText, + }); + const headersArray = replaceAll( + xhr.io.getAllResponseHeaders().trim(), + "\r\n", + "\n" + ).split("\n"); + headersArray.forEach(function (header) { + const firstColonIndex = header.indexOf(":"); + if (firstColonIndex !== -1) { + const key = header.substring(0, firstColonIndex).trim(); + const value = header.substring(firstColonIndex + 1).trim(); + response.headers.set(key, value); + } else { + response.headers.set(header, ""); + } + }); + xhr.io = undefined; + resolve(response); + }); + xhr.io?.open(method, generateUrl, true); + if (!isNullOrUndefined(headers)) { + for (const [key, value] of Object.entries(headers)) { + xhr.io?.setRequestHeader(key, value as string); + } + } + xhr.io?.send(body); + }); +} + +export function RESTRequest({ + restModel, + restConfig, + data, + params, + queries, + callbacks, +}: RESTRequestType): Promise { + // Create the URL PATH: + let generateUrl = RESTUrl({ restModel, restConfig, data, params, queries }); + let headers: any = {}; + if (restConfig.token !== undefined && restModel.tokenInUrl !== true) { + headers["Authorization"] = `Bearer ${restConfig.token}`; + } + if (restModel.accept !== undefined) { + headers["Accept"] = restModel.accept; + } + if (restModel.requestType !== HTTPRequestModel.GET && + restModel.requestType !== HTTPRequestModel.ARCHIVE && + restModel.requestType !== HTTPRequestModel.RESTORE + ) { + // if Get we have not a content type, the body is empty + if (restModel.contentType !== HTTPMimeType.MULTIPART && + restModel.contentType !== undefined + ) { + // special case of multi-part ==> no content type otherwise the browser does not set the ";bundary=--****" + headers["Content-Type"] = restModel.contentType; + } + } + let body = data; + if (restModel.contentType === HTTPMimeType.JSON) { + body = JSON.stringify(data); + } else if (restModel.contentType === HTTPMimeType.MULTIPART) { + const formData = new FormData(); + for (const name in data) { + formData.append(name, data[name]); + } + body = formData; + } + return new Promise((resolve, reject) => { + let action: undefined | Promise = undefined; + if ( + isNullOrUndefined(callbacks) || + (isNullOrUndefined(callbacks.progressDownload) && + isNullOrUndefined(callbacks.progressUpload) && + isNullOrUndefined(callbacks.abortHandle)) + ) { + // No information needed: call the generic fetch interface + action = fetch(generateUrl, { + method: restModel.requestType, + headers, + body, + }); + } else { + // need progression information: call old fetch model (XMLHttpRequest) that permit to keep % upload and % download for HTTP1.x + action = fetchProgress( + generateUrl, + { + method: restModel.requestType ?? HTTPRequestModel.GET, + headers, + body, + }, + callbacks + ); + } + action + .then((response: Response) => { + if (response.status >= 200 && response.status <= 299) { + const contentType = response.headers.get("Content-Type"); + if ( + !isNullOrUndefined(restModel.accept) && + restModel.accept !== contentType + ) { + reject({ + name: "Model accept type incompatible", + time: Date().toString(), + status: 901, + message: `REST Content type are not compatible: ${restModel.accept} != ${contentType}`, + statusMessage: "Fetch error", + error: "rest-tools.ts Wrong type in the message return type", + } as RestErrorResponse); + } else if (contentType === HTTPMimeType.JSON) { + response + .json() + .then((value: any) => { + resolve({ status: response.status, data: value }); + }) + .catch((reason: Error) => { + reject({ + name: "API serialization error", + time: Date().toString(), + status: 902, + message: `REST parse json fail: ${reason}`, + statusMessage: "Fetch parse error", + error: "rest-tools.ts Wrong message model to parse", + } as RestErrorResponse); + }); + } else { + resolve({ status: response.status, data: response.body }); + } + } else { + // the answer is not correct not a 2XX + // clone the response to keep the raw data if case of error: + response + .clone() + .json() + .then((value: any) => { + if (isRestErrorResponse(value)) { + reject(value); + } else { + response + .text() + .then((dataError: string) => { + reject({ + name: "API serialization error", + time: Date().toString(), + status: 903, + message: `REST parse error json with wrong type fail. ${dataError}`, + statusMessage: "Fetch parse error", + error: "rest-tools.ts Wrong message model to parse", + } as RestErrorResponse); + }) + .catch((reason: any) => { + reject({ + name: "API serialization error", + time: Date().toString(), + status: response.status, + message: `unmanaged error model: ??? with error: ${reason}`, + statusMessage: "Fetch ERROR parse error", + error: "rest-tools.ts Wrong message model to parse", + } as RestErrorResponse); + }); + } + }) + .catch((reason: Error) => { + response + .text() + .then((dataError: string) => { + reject({ + name: "API serialization error", + time: Date().toString(), + status: response.status, + message: `unmanaged error model: ${dataError} with error: ${reason}`, + statusMessage: "Fetch ERROR TEXT parse error", + error: "rest-tools.ts Wrong message model to parse", + } as RestErrorResponse); + }) + .catch((reason: any) => { + reject({ + name: "API serialization error", + time: Date().toString(), + status: response.status, + message: `unmanaged error model: ??? with error: ${reason}`, + statusMessage: "Fetch ERROR TEXT FAIL", + error: "rest-tools.ts Wrong message model to parse", + } as RestErrorResponse); + }); + }); + } + }) + .catch((error: Error) => { + if (isRestErrorResponse(error)) { + reject(error); + } else { + reject({ + name: "Request fail", + time: Date(), + status: 999, + message: error, + statusMessage: "Fetch catch error", + error: "rest-tools.ts detect an error in the fetch request", + }); + } + }); + }); +} + +export function RESTRequestJson( + request: RESTRequestType, + checker?: (data: any) => data is TYPE +): Promise { + return new Promise((resolve, reject) => { + RESTRequest(request) + .then((value: ModelResponseHttp) => { + if (isNullOrUndefined(checker)) { + console.log(`Have no check of MODEL in API: ${RESTUrl(request)}`); + resolve(value.data); + } else if (checker === undefined || checker(value.data)) { + resolve(value.data); + } else { + reject({ + name: "Model check fail", + time: Date().toString(), + status: 950, + error: "REST Fail to verify the data", + statusMessage: "API cast ERROR", + message: "api.ts Check type as fail", + } as RestErrorResponse); + } + }) + .catch((reason: RestErrorResponse) => { + reject(reason); + }); + }); +} + +export function RESTRequestVoid(request: RESTRequestType): Promise { + return new Promise((resolve, reject) => { + RESTRequest(request) + .then((value: ModelResponseHttp) => { + resolve(); + }) + .catch((reason: RestErrorResponse) => { + reject(reason); + }); + }); +} diff --git a/front/src/components/AudioPlayer.tsx b/front/src/components/AudioPlayer.tsx new file mode 100644 index 0000000..90b7e2a --- /dev/null +++ b/front/src/components/AudioPlayer.tsx @@ -0,0 +1,374 @@ +import { useEffect, useRef, useState } from 'react'; + +import { Box, Flex, IconButton, SliderTrack, Text } from '@chakra-ui/react'; +import { + MdFastForward, + MdFastRewind, + MdLooksOne, + MdNavigateBefore, + MdNavigateNext, + MdPause, + MdPlayArrow, + MdRepeat, + MdRepeatOne, + MdStop, + MdTrendingFlat, +} from 'react-icons/md'; + +import { useColorModeValue } from '@/components/ui/color-mode'; +import { useActivePlaylistService } from '@/service/ActivePlaylist'; +import { useSpecificMedia } from '@/service/Media'; +import { useSpecificSeason } from '@/service/Season'; +import { useSpecificSeries } from '@/service/Series'; +import { useSpecificType } from '@/service/Type'; +import { DataUrlAccess } from '@/utils/data-url-access'; +import { isNullOrUndefined } from '@/utils/validator'; + +import { Slider } from './ui/slider'; + +export enum PlayMode { + PLAY_ONE, + PLAY_ALL, + PLAY_ONE_LOOP, + PLAY_ALL_LOOP, +} + +const playModeIcon = { + [PlayMode.PLAY_ONE]: , + [PlayMode.PLAY_ALL]: ( + + ), + [PlayMode.PLAY_ONE_LOOP]: ( + + ), + [PlayMode.PLAY_ALL_LOOP]: ( + + ), +}; + +export type AudioPlayerProps = {}; + +const formatTime = (time) => { + if (time && !isNaN(time)) { + const minutes = Math.floor(time / 60); + const formatMinutes = minutes < 10 ? `0${minutes}` : `${minutes}`; + const seconds = Math.floor(time % 60); + const formatSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`; + return `${formatMinutes}:${formatSeconds}`; + } + return '00:00'; +}; + +export const AudioPlayer = ({}: AudioPlayerProps) => { + const { playMediaList, MediaOffset, previous, next, first } = + useActivePlaylistService(); + const audioRef = useRef(null); + const [isPlaying, setIsPlaying] = useState(false); + const [timeProgress, setTimeProgress] = useState(0); + const [playingMode, setPlayingMode] = useState(PlayMode.PLAY_ALL); + const [duration, setDuration] = useState(0); + const { dataMedia } = useSpecificMedia( + MediaOffset !== undefined ? playMediaList[MediaOffset] : undefined + ); + const { dataSeason } = useSpecificSeason(dataMedia?.seasonId); + const { dataType } = useSpecificType(dataMedia?.typeId); + const { dataSeries } = useSpecificSeries(dataMedia?.seriesId); + + const [mediaSource, setMediaSource] = useState(''); + useEffect(() => { + setMediaSource( + dataMedia && dataMedia?.dataId + ? DataUrlAccess.getUrl(dataMedia?.dataId) + : '' + ); + }, [dataMedia, setMediaSource]); + const backColor = useColorModeValue('back.100', 'back.800'); + const configButton = { + borderRadius: 'full', + backgroundColor: 'transparent', + _hover: { + bgColor: 'brand.500', + }, + width: '50px', + height: '50px', + padding: '5px', + }; + + useEffect(() => { + if (!audioRef || !audioRef.current) { + return; + } + if (isPlaying) { + audioRef.current.play(); + } else { + audioRef.current.pause(); + } + }, [isPlaying, audioRef]); + + const onAudioEnded = () => { + if (playMediaList.length === 0 || isNullOrUndefined(MediaOffset)) { + return; + } + if (playingMode === PlayMode.PLAY_ALL_LOOP) { + if (playMediaList.length == MediaOffset + 1) { + first(); + } else { + next(); + } + } else if (playingMode === PlayMode.PLAY_ALL) { + next(); + } else if (playingMode === PlayMode.PLAY_ONE_LOOP) { + onSeek(0); + onPlay(); + } + }; + const onSeek = (newValue) => { + console.log(`onSeek: ${newValue}`); + if (!audioRef || !audioRef.current) { + return; + } + audioRef.current.currentTime = newValue; + }; + const onPlay = () => { + if (!audioRef || !audioRef.current) { + return; + } + if (isPlaying) { + audioRef.current.pause(); + } else { + audioRef.current.play(); + } + }; + const onStop = () => { + if (!audioRef || !audioRef.current) { + return; + } + if (audioRef.current.currentTime == 0 && audioRef.current.paused) { + // TODO remove current playing value + } else { + audioRef.current.pause(); + audioRef.current.currentTime = 0; + } + }; + const onNavigatePrevious = () => { + previous(); + }; + const onFastRewind = () => { + if (!audioRef || !audioRef.current) { + return; + } + audioRef.current.currentTime -= 10; + }; + const onFastForward = () => { + if (!audioRef || !audioRef.current) { + return; + } + audioRef.current.currentTime += 10; + }; + const onNavigateNext = () => { + next(); + }; + const onTypePlay = () => { + setPlayingMode((value: PlayMode) => { + if (value === PlayMode.PLAY_ONE) { + return PlayMode.PLAY_ALL; + } else if (value === PlayMode.PLAY_ALL) { + return PlayMode.PLAY_ONE_LOOP; + } else if (value === PlayMode.PLAY_ONE_LOOP) { + return PlayMode.PLAY_ALL_LOOP; + } else { + return PlayMode.PLAY_ONE; + } + }); + }; + /** + * Call when meta-data is updated + */ + function onChangeMetadata(): void { + const seconds = audioRef.current?.duration; + if (seconds !== undefined) { + setDuration(seconds); + } + } + const onTimeUpdate = () => { + if (!audioRef || !audioRef.current) { + return; + } + console.log(`onTimeUpdate ${audioRef.current.currentTime}`); + setTimeProgress(audioRef.current.currentTime); + }; + const onDurationChange = (event) => {}; + const onChangeStateToPlay = () => { + setIsPlaying(true); + }; + const onChangeStateToPause = () => { + setIsPlaying(false); + }; + const marks = () => { + const minutes = Math.floor(duration / 60); + const result: number[] = []; + for (let i = 1; i <= minutes; i++) { + result.push(60 * i); + } + return result; + }; + return ( + <> + {!isNullOrUndefined(MediaOffset) && ( + + + {dataMedia?.name ?? '???'} + + + {dataSeries && dataSeries.name} + {dataSeason && dataSeason?.name} + {dataType && ` / ${dataType.name}`} + + + onSeek(e.value)} + variant="outline" + colorPalette="brand" + marks={marks()} + //focusCapture={false} + > + + + + + + {formatTime(timeProgress)} + + + {formatTime(duration)} + + + + + {isPlaying ? ( + + ) : ( + + )} + + + + + + {' '} + + + + + + + + + + + + {playModeIcon[playingMode]} + + + + )} + +