diff --git a/back/pom.xml b/back/pom.xml index 0c44205..d690f7b 100644 --- a/back/pom.xml +++ b/back/pom.xml @@ -20,7 +20,7 @@ kangaroo-and-rabbit archidata - 0.21.1-SNAPSHOT + 0.23.4 diff --git a/back/src/org/kar/karso/WebLauncher.java b/back/src/org/kar/karso/WebLauncher.java index 943e2a0..ea4b977 100755 --- a/back/src/org/kar/karso/WebLauncher.java +++ b/back/src/org/kar/karso/WebLauncher.java @@ -33,6 +33,7 @@ import org.kar.karso.migration.Initialization; import org.kar.karso.migration.Migration20231015; import org.kar.karso.migration.Migration20231126; import org.kar.karso.migration.Migration20240515; +import org.kar.karso.migration.Migration20250204; import org.kar.karso.model.Application; import org.kar.karso.model.ApplicationToken; import org.kar.karso.model.Right; @@ -76,6 +77,7 @@ public class WebLauncher { migrationEngine.add(new Migration20231015()); migrationEngine.add(new Migration20231126()); migrationEngine.add(new Migration20240515()); + migrationEngine.add(new Migration20250204()); WebLauncher.LOGGER.info("Migrate the DB [START]"); migrationEngine.migrateWaitAdmin(new DbConfig()); WebLauncher.LOGGER.info("Migrate the DB [STOP]"); diff --git a/back/src/org/kar/karso/WebLauncherLocal.java b/back/src/org/kar/karso/WebLauncherLocal.java index c820bd8..817e3dc 100755 --- a/back/src/org/kar/karso/WebLauncherLocal.java +++ b/back/src/org/kar/karso/WebLauncherLocal.java @@ -6,6 +6,7 @@ import java.util.List; import org.kar.archidata.api.DataResource; import org.kar.archidata.externalRestApi.AnalyzeApi; import org.kar.archidata.externalRestApi.TsGenerateApi; +import org.kar.archidata.model.token.JwtToken; import org.kar.archidata.tools.ConfigBaseVariable; import org.kar.karso.api.ApplicationResource; import org.kar.karso.api.ApplicationTokenResource; @@ -30,6 +31,7 @@ public class WebLauncherLocal extends WebLauncher { SystemConfigResource.class); final AnalyzeApi api = new AnalyzeApi(); api.addAllApi(listOfResources); + api.addModel(JwtToken.class); TsGenerateApi.generateApi(api, "../front/src/back-api/"); LOGGER.info("Generate APIs (DONE)"); } diff --git a/back/src/org/kar/karso/migration/Initialization.java b/back/src/org/kar/karso/migration/Initialization.java index 9109cf1..c0b72be 100644 --- a/back/src/org/kar/karso/migration/Initialization.java +++ b/back/src/org/kar/karso/migration/Initialization.java @@ -23,6 +23,7 @@ public class Initialization extends MigrationSqlStep { public static final List> CLASSES_BASE = List.of(Settings.class, UserAuth.class, Application.class, ApplicationToken.class, RightDescription.class, Right.class); + // created object private Application app = null; private UserAuth user = null; @@ -45,7 +46,7 @@ public class Initialization extends MigrationSqlStep { //app.id = 1L; app.name = "karso"; app.description = "Root SSO interface"; - app.redirect = "https://atria-soft/karso"; + app.redirect = "https://atria-soft.org/karso"; app.redirectDev = "http://localhost:4003/karso"; app.notification = ""; app.ttl = 666; diff --git a/back/src/org/kar/karso/migration/Migration20250204.java b/back/src/org/kar/karso/migration/Migration20250204.java new file mode 100644 index 0000000..4fd7e06 --- /dev/null +++ b/back/src/org/kar/karso/migration/Migration20250204.java @@ -0,0 +1,87 @@ +package org.kar.karso.migration; + +import java.util.List; + +import org.bson.types.ObjectId; +import org.kar.archidata.dataAccess.DBAccess; +import org.kar.archidata.dataAccess.options.AccessDeletedItems; +import org.kar.archidata.dataAccess.options.OverrideTableName; +import org.kar.archidata.filter.PartRight; +import org.kar.archidata.migration.MigrationSqlStep; +import org.kar.karso.migration.model.OIDConversion; +import org.kar.karso.model.Right; + +public class Migration20250204 extends MigrationSqlStep { + + public static final int KARSO_INITIALISATION_ID = 1; + + @Override + public String getName() { + return "migration-2025-02-04: mograte native id as ObjectId"; + } + + @Override + public void generateStep() { + // update migration update (last one) + addAction(""" + ALTER TABLE `user_link_application` ADD `_id` binary(12) AFTER `uuid`; + """); + addAction((final DBAccess da) -> { + final List datas = da.gets(OIDConversion.class, new AccessDeletedItems(), + new OverrideTableName("user_link_application")); + for (final OIDConversion elem : datas) { + elem._id = new ObjectId(); + } + for (final OIDConversion elem : datas) { + da.update(elem, elem.uuid, List.of("_id"), new OverrideTableName("user_link_application")); + } + }); + addAction(""" + ALTER TABLE `user_link_application` + CHANGE `uuid` `uuid` binary(16); + """); + addAction(""" + ALTER TABLE `user_link_application` DROP PRIMARY KEY; + """); + addAction(""" + ALTER TABLE `user_link_application` + CHANGE `_id` `_id` binary(12) NOT NULL; + """); + addAction(""" + ALTER TABLE `user_link_application` + ADD PRIMARY KEY `_id` (`_id`); + """); + addAction(""" + ALTER TABLE `user_link_application` + DROP `uuid`; + """); + addAction(""" + ALTER TABLE `user` + DROP `admin`; + """); + addAction(""" + ALTER TABLE `user` + DROP `removed`; + """); + addAction(""" + ALTER TABLE `user` ADD `blockedReason` varchar(512) AFTER `blocked`; + """); + addAction(""" + ALTER TABLE `right` + DROP `value`; + """); + addAction(""" + ALTER TABLE `right` ADD `value` JSON NOT NULL AFTER `rightDescriptionId`; + """); + addAction((final DBAccess da) -> { + final List datas = da.gets(Right.class, new AccessDeletedItems()); + for (final Right elem : datas) { + elem.value = PartRight.READ_WRITE; + } + for (final Right elem : datas) { + da.update(elem, elem.id, List.of("value")); + } + }); + } + +} diff --git a/back/src/org/kar/karso/migration/model/OIDConversion.java b/back/src/org/kar/karso/migration/model/OIDConversion.java new file mode 100644 index 0000000..7d6aa1b --- /dev/null +++ b/back/src/org/kar/karso/migration/model/OIDConversion.java @@ -0,0 +1,13 @@ +package org.kar.karso.migration.model; + +import java.util.UUID; + +import org.bson.types.ObjectId; + +import jakarta.persistence.Id; + +public class OIDConversion { + @Id + public UUID uuid = null; + public ObjectId _id = null; +} diff --git a/back/src/org/kar/karso/model/ChangePassword.java b/back/src/org/kar/karso/model/ChangePassword.java index 8548047..08e540c 100644 --- a/back/src/org/kar/karso/model/ChangePassword.java +++ b/back/src/org/kar/karso/model/ChangePassword.java @@ -1,6 +1,6 @@ package org.kar.karso.model; -import org.kar.archidata.dataAccess.options.CheckJPA; +import org.kar.archidata.checker.CheckJPA; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/back/src/org/kar/karso/model/DataGetToken.java b/back/src/org/kar/karso/model/DataGetToken.java index 7035e20..52a59d8 100644 --- a/back/src/org/kar/karso/model/DataGetToken.java +++ b/back/src/org/kar/karso/model/DataGetToken.java @@ -7,7 +7,7 @@ import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; -import org.kar.archidata.dataAccess.options.CheckJPA; +import org.kar.archidata.checker.CheckJPA; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/back/src/org/kar/karso/model/UserAuth.java b/back/src/org/kar/karso/model/UserAuth.java index 8c1bddf..74d2934 100644 --- a/back/src/org/kar/karso/model/UserAuth.java +++ b/back/src/org/kar/karso/model/UserAuth.java @@ -4,7 +4,7 @@ import java.sql.Timestamp; import java.util.List; import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.dataAccess.options.CheckJPA; +import org.kar.archidata.checker.CheckJPA; import org.kar.archidata.model.User; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/back/src/org/kar/karso/model/UserCreate.java b/back/src/org/kar/karso/model/UserCreate.java index 97e931b..5659e55 100644 --- a/back/src/org/kar/karso/model/UserCreate.java +++ b/back/src/org/kar/karso/model/UserCreate.java @@ -1,6 +1,6 @@ package org.kar.karso.model; -import org.kar.archidata.dataAccess.options.CheckJPA; +import org.kar.archidata.checker.CheckJPA; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/back/src/org/kar/karso/model/UserLinkApplication.java b/back/src/org/kar/karso/model/UserLinkApplication.java index d5a1592..028ec27 100644 --- a/back/src/org/kar/karso/model/UserLinkApplication.java +++ b/back/src/org/kar/karso/model/UserLinkApplication.java @@ -11,7 +11,7 @@ CREATE TABLE `application` ( */ import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.model.UUIDGenericDataSoftDelete; +import org.kar.archidata.model.OIDGenericDataSoftDelete; import com.fasterxml.jackson.annotation.JsonInclude; @@ -22,7 +22,7 @@ import jakarta.persistence.Table; @Table(name = "user_link_application") @DataIfNotExists @JsonInclude(JsonInclude.Include.NON_NULL) -public class UserLinkApplication extends UUIDGenericDataSoftDelete { +public class UserLinkApplication extends OIDGenericDataSoftDelete { @Column(name = "object1id") public Long userId; @Column(name = "object2id") diff --git a/front/.env.production b/front/.env.production new file mode 100644 index 0000000..ee7d204 --- /dev/null +++ b/front/.env.production @@ -0,0 +1,2 @@ +# URL for database connection +VITE_API_BASE_URL=karso/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..9f3feba --- /dev/null +++ b/front/.storybook/preview.tsx @@ -0,0 +1,43 @@ +import React from 'react'; + +import { Box } from '@chakra-ui/react'; +import { ChakraProvider } from '@chakra-ui/react'; +import { MemoryRouter } from 'react-router-dom'; + +import theme from '../src/theme'; + +// .storybook/preview.js +export const parameters = { + options: { + storySort: { + order: ['StyleGuide', 'Components', 'Fields', 'App Layout'], + }, + }, + actions: {}, + layout: 'fullscreen', + backgrounds: { disable: true, grid: { disable: true } }, + chakra: { + 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/app-build.json b/front/app-build.json new file mode 100644 index 0000000..45acc67 --- /dev/null +++ b/front/app-build.json @@ -0,0 +1,6 @@ +{ + "display": "2025-02-04", + "version": "0.0.1-dev\n - 2025-02-04T20:48:08+01:00", + "commit": "0.0.1-dev\n", + "date": "2025-02-04T20:48:08+01:00" +} \ No newline at end of file diff --git a/front/build.js b/front/build.js new file mode 100644 index 0000000..9d5de91 --- /dev/null +++ b/front/build.js @@ -0,0 +1,25 @@ +const dayjs = require('dayjs'); + +const fs = require('fs'); + +const generateAppBuild = () => { + const getVersion = () => fs.readFileSync('version.txt', 'utf8'); + + const commit = process.env.VERCEL_GIT_COMMIT_SHA + ? process.env.VERCEL_GIT_COMMIT_SHA + : getVersion(); + + const appBuildContent = { + display: `${dayjs().format('YYYY-MM-DD')}`, + version: `${commit} - ${dayjs().format()}`, + commit, + date: dayjs().format(), + }; + + fs.writeFileSync( + './app-build.json', + JSON.stringify(appBuildContent, null, 2) + ); +}; + +generateAppBuild(); diff --git a/front/config sample.ts b/front/config sample.ts new file mode 100644 index 0000000..4bc6982 --- /dev/null +++ b/front/config sample.ts @@ -0,0 +1,10888 @@ +cont plop = { + "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" + } + } + } + } +}; \ No newline at end of file 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..169e4b1 --- /dev/null +++ b/front/index.html @@ -0,0 +1,13 @@ + + + + + + karso + + + +
+ + + diff --git a/front/knip.ts b/front/knip.ts new file mode 100644 index 0000000..daacfa2 --- /dev/null +++ b/front/knip.ts @@ -0,0 +1,18 @@ +import type { KnipConfig } from 'knip'; + +const config: KnipConfig = { + // Ignoring mostly shell binaries + ignoreBinaries: ['export', 'sleep'], + ignore: [ + // Related to tests + 'tests/**', + '**.conf.js', + 'steps.d.ts', + 'steps_file.js', + 'env_ci/codecept.conf.js', + // Generic components are useful. + 'src/components/**', + ], +}; + +export default config; diff --git a/front/package.json b/front/package.json new file mode 100644 index 0000000..9788f06 --- /dev/null +++ b/front/package.json @@ -0,0 +1,92 @@ +{ + "name": "karso", + "private": true, + "version": "0.0.1", + "description": "KAR web SSO 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": "node build.js && 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.3.1", + "@chakra-ui/react": "3.3.1", + "@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": "18.3.1", + "react-dom": "18.3.1", + "react-error-boundary": "5.0.0", + "react-icons": "5.4.0", + "react-router-dom": "7.1.1", + "react-select": "5.9.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.49.1", + "@storybook/addon-actions": "8.4.7", + "@storybook/addon-essentials": "8.4.7", + "@storybook/addon-links": "8.4.7", + "@storybook/addon-mdx-gfm": "8.4.7", + "@storybook/react": "8.4.7", + "@storybook/react-vite": "8.4.7", + "@storybook/theming": "8.4.7", + "@testing-library/jest-dom": "6.6.3", + "@testing-library/react": "16.1.0", + "@testing-library/user-event": "14.5.2", + "@trivago/prettier-plugin-sort-imports": "5.2.1", + "@types/jest": "29.5.14", + "@types/node": "22.10.6", + "@types/react": "18.3.8", + "@types/react-dom": "18.3.0", + "@typescript-eslint/eslint-plugin": "8.20.0", + "@typescript-eslint/parser": "8.20.0", + "@vitejs/plugin-react": "4.3.4", + "eslint": "9.18.0", + "eslint-plugin-codeceptjs": "1.3.0", + "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.42.0", + "lint-staged": "15.3.0", + "npm-check-updates": "^17.1.13", + "prettier": "3.4.2", + "puppeteer": "24.0.0", + "react-is": "19.0.0", + "storybook": "8.4.7", + "ts-node": "10.9.2", + "typescript": "5.7.3", + "vite": "6.0.7", + "vitest": "2.1.8" + } +} \ No newline at end of file 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..7b94c7e --- /dev/null +++ b/front/pnpm-lock.yaml @@ -0,0 +1,11296 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@chakra-ui/cli': + specifier: 3.3.1 + version: 3.3.1(@chakra-ui/react@3.3.1(@emotion/react@11.14.0(@types/react@18.3.8)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@chakra-ui/react': + specifier: 3.3.1 + version: 3.3.1(@emotion/react@11.14.0(@types/react@18.3.8)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@emotion/react': + specifier: 11.14.0 + version: 11.14.0(@types/react@18.3.8)(react@18.3.1) + '@trivago/prettier-plugin-sort-imports': + specifier: 5.2.2 + version: 5.2.2(prettier@3.4.2) + allotment: + specifier: 1.20.2 + version: 1.20.2(react-dom@18.3.1(react@18.3.1))(react@18.3.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@18.3.1(react@18.3.1))(react@18.3.1) + react: + specifier: 18.3.1 + version: 18.3.1 + react-dom: + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) + react-error-boundary: + specifier: 5.0.0 + version: 5.0.0(react@18.3.1) + react-icons: + specifier: 5.4.0 + version: 5.4.0(react@18.3.1) + react-router-dom: + specifier: 7.1.1 + version: 7.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-select: + specifier: 5.9.0 + version: 5.9.0(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-use: + specifier: 17.6.0 + version: 17.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + zod: + specifier: 3.24.1 + version: 3.24.1 + zustand: + specifier: 5.0.3 + version: 5.0.3(@types/react@18.3.8)(react@18.3.1)(use-sync-external-store@1.2.2(react@18.3.1)) + devDependencies: + '@chakra-ui/styled-system': + specifier: ^2.12.0 + version: 2.12.0(react@18.3.1) + '@playwright/test': + specifier: 1.49.1 + version: 1.49.1 + '@storybook/addon-actions': + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-essentials': + specifier: 8.4.7 + version: 8.4.7(@types/react@18.3.8)(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-links': + specifier: 8.4.7 + version: 8.4.7(react@18.3.1)(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-mdx-gfm': + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/react': + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.3) + '@storybook/react-vite': + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.29.2)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.3)(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1)) + '@storybook/theming': + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@testing-library/jest-dom': + specifier: 6.6.3 + version: 6.6.3 + '@testing-library/react': + specifier: 16.1.0 + version: 16.1.0(@testing-library/dom@10.2.0)(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@testing-library/user-event': + specifier: 14.5.2 + version: 14.5.2(@testing-library/dom@10.2.0) + '@types/jest': + specifier: 29.5.14 + version: 29.5.14 + '@types/node': + specifier: 22.10.6 + version: 22.10.6 + '@types/react': + specifier: 18.3.8 + version: 18.3.8 + '@types/react-dom': + specifier: 18.3.0 + version: 18.3.0 + '@typescript-eslint/eslint-plugin': + specifier: 8.20.0 + version: 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': + specifier: 8.20.0 + version: 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@vitejs/plugin-react': + specifier: 4.3.4 + version: 4.3.4(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1)) + eslint: + specifier: 9.18.0 + version: 9.18.0(jiti@2.4.2) + eslint-plugin-codeceptjs: + specifier: 1.3.0 + version: 1.3.0 + eslint-plugin-import: + specifier: 2.31.0 + version: 2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.18.0(jiti@2.4.2)) + eslint-plugin-react: + specifier: 7.37.4 + version: 7.37.4(eslint@9.18.0(jiti@2.4.2)) + eslint-plugin-react-hooks: + specifier: 5.1.0 + version: 5.1.0(eslint@9.18.0(jiti@2.4.2)) + eslint-plugin-storybook: + specifier: 0.11.2 + version: 0.11.2(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@22.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(typescript@5.7.3)) + jest-environment-jsdom: + specifier: 29.7.0 + version: 29.7.0 + knip: + specifier: 5.42.0 + version: 5.42.0(@types/node@22.10.6)(typescript@5.7.3) + lint-staged: + specifier: 15.3.0 + version: 15.3.0 + npm-check-updates: + specifier: ^17.1.13 + version: 17.1.13 + prettier: + specifier: 3.4.2 + version: 3.4.2 + puppeteer: + specifier: 24.0.0 + version: 24.0.0(typescript@5.7.3) + react-is: + specifier: 19.0.0 + version: 19.0.0 + storybook: + specifier: 8.4.7 + version: 8.4.7(prettier@3.4.2) + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@22.10.6)(typescript@5.7.3) + typescript: + specifier: 5.7.3 + version: 5.7.3 + vite: + specifier: 6.0.7 + version: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1) + vitest: + specifier: 2.1.8 + version: 2.1.8(@types/node@22.10.6)(jsdom@20.0.3)(terser@5.31.1) + +packages: + + '@adobe/css-tools@4.4.0': + resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@ark-ui/react@4.8.0': + resolution: {integrity: sha512-42GgXBbeNzxOin1Ac/X1dP45a6SM5np3tEq8qJmDA4h82AVdPXmtZ//3GMDdLl9CXngvSlKYqsrU+/be1xj3pg==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.5': + resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + 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.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.5': + resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@7.26.7': + resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} + 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-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.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + 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-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.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + 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.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.5': + resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.7': + resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.5': + resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.7': + resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@chakra-ui/cli@3.3.1': + resolution: {integrity: sha512-TTpGVT4RuajxzYjMP95Ba3HU052cmdrYgru77ZGD+IDb/HLATjpXNViFAn1R+ITMCxa4v0zqYEWLY9Ex2L090A==} + hasBin: true + peerDependencies: + '@chakra-ui/react': '>=3.0.0-next.0' + + '@chakra-ui/react@3.3.1': + resolution: {integrity: sha512-npO3gwzU8Zf6EcfUSApeSGLgts12DVScyE316uXe17i0vO9xz5QladLKN+qdzA0YnSKsefZVErLAeM9FsKk/+A==} + 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.3.5': + resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==} + + '@clack/prompts@0.7.0': + resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} + bundledDependencies: + - is-unicode-supported + + '@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.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + 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.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + 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.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + 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.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + 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.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + 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.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + 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.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + 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.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + 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.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + 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.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + 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.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + 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.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + 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.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + 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.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + 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.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + 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.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + 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.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + 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.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + 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.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + 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.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + 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.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + 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.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + 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.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + 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.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + 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.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + 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/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.18.0': + resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + 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.4': + resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==} + + '@floating-ui/dom@1.6.12': + resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==} + + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} + + '@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.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} + + '@internationalized/date@3.6.0': + resolution: {integrity: sha512-+z6ti+CcJnRlLHok/emGEsWQhe7kfSmEW+/6qCzvKY67YPh7YOBfvc7+/+NXq+zJlbArg30tYpqLjNgcAYv2YQ==} + + '@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.4.2': + resolution: {integrity: sha512-feQ+ntr+8hbVudnsTUapiMN9q8T90XA1d5jn9QzY09sNoj4iD9wi0PY1vsBFTda4ZjEaxRK9S81oarR2nj7TFQ==} + 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.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + 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/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@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.0.1': + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} + 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.49.1': + resolution: {integrity: sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==} + engines: {node: '>=18'} + hasBin: true + + '@puppeteer/browsers@2.7.0': + resolution: {integrity: sha512-bO61XnTuopsz9kvtfqhVbH6LTM1koxK0IlBR+yuVrM2LB7mk8+5o1w18l5zqd5cs8xlf+ntgambqRqGifMDjog==} + engines: {node: '>=18'} + hasBin: true + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + 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.29.2': + resolution: {integrity: sha512-s/8RiF4bdmGnc/J0N7lHAr5ZFJj+NdJqJ/Hj29K+c4lEdoVlukzvWXB9XpWZCdakVT0YAw8iyIqUP2iFRz5/jA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.29.2': + resolution: {integrity: sha512-mKRlVj1KsKWyEOwR6nwpmzakq6SgZXW4NUHNWlYSiyncJpuXk7wdLzuKdWsRoR1WLbWsZBKvsUCdCTIAqRn9cA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.29.2': + resolution: {integrity: sha512-vJX+vennGwygmutk7N333lvQ/yKVAHnGoBS2xMRQgXWW8tvn46YWuTDOpKroSPR9BEW0Gqdga2DHqz8Pwk6X5w==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.29.2': + resolution: {integrity: sha512-e2rW9ng5O6+Mt3ht8fH0ljfjgSCC6ffmOipiLUgAnlK86CHIaiCdHCzHzmTkMj6vEkqAiRJ7ss6Ibn56B+RE5w==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.29.2': + resolution: {integrity: sha512-/xdNwZe+KesG6XJCK043EjEDZTacCtL4yurMZRLESIgHQdvtNyul3iz2Ab03ZJG0pQKbFTu681i+4ETMF9uE/Q==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.29.2': + resolution: {integrity: sha512-eXKvpThGzREuAbc6qxnArHh8l8W4AyTcL8IfEnmx+bcnmaSGgjyAHbzZvHZI2csJ+e0MYddl7DX0X7g3sAuXDQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.29.2': + resolution: {integrity: sha512-h4VgxxmzmtXLLYNDaUcQevCmPYX6zSj4SwKuzY7SR5YlnCBYsmvfYORXgiU8axhkFCDtQF3RW5LIXT8B14Qykg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.29.2': + resolution: {integrity: sha512-EObwZ45eMmWZQ1w4N7qy4+G1lKHm6mcOwDa+P2+61qxWu1PtQJ/lz2CNJ7W3CkfgN0FQ7cBUy2tk6D5yR4KeXw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.29.2': + resolution: {integrity: sha512-Z7zXVHEXg1elbbYiP/29pPwlJtLeXzjrj4241/kCcECds8Zg9fDfURWbZHRIKrEriAPS8wnVtdl4ZJBvZr325w==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.29.2': + resolution: {integrity: sha512-TF4kxkPq+SudS/r4zGPf0G08Bl7+NZcFrUSR3484WwsHgGgJyPQRLCNrQ/R5J6VzxfEeQR9XRpc8m2t7lD6SEQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.29.2': + resolution: {integrity: sha512-kO9Fv5zZuyj2zB2af4KA29QF6t7YSxKrY7sxZXfw8koDQj9bx5Tk5RjH+kWKFKok0wLGTi4bG117h31N+TIBEg==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.29.2': + resolution: {integrity: sha512-gIh776X7UCBaetVJGdjXPFurGsdWwHHinwRnC5JlLADU8Yk0EdS/Y+dMO264OjJFo7MXQ5PX4xVFbxrwK8zLqA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.29.2': + resolution: {integrity: sha512-YgikssQ5UNq1GoFKZydMEkhKbjlUq7G3h8j6yWXLBF24KyoA5BcMtaOUAXq5sydPmOPEqB6kCyJpyifSpCfQ0w==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.29.2': + resolution: {integrity: sha512-9ouIR2vFWCyL0Z50dfnon5nOrpDdkTG9lNDs7MRaienQKlTyHcDxplmk3IbhFlutpifBSBr2H4rVILwmMLcaMA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.29.2': + resolution: {integrity: sha512-ckBBNRN/F+NoSUDENDIJ2U9UWmIODgwDB/vEXCPOMcsco1niTkxTXa6D2Y/pvCnpzaidvY2qVxGzLilNs9BSzw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.29.2': + resolution: {integrity: sha512-jycl1wL4AgM2aBFJFlpll/kGvAjhK8GSbEmFT5v3KC3rP/b5xZ1KQmv0vQQ8Bzb2ieFQ0kZFPRMbre/l3Bu9JA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.29.2': + resolution: {integrity: sha512-S2V0LlcOiYkNGlRAWZwwUdNgdZBfvsDHW0wYosYFV3c7aKgEVcbonetZXsHv7jRTTX+oY5nDYT4W6B1oUpMNOg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.29.2': + resolution: {integrity: sha512-pW8kioj9H5f/UujdoX2atFlXNQ9aCfAxFRaa+mhczwcsusm6gGrSo4z0SLvqLF5LwFqFTjiLCCzGkNK/LE0utQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.29.2': + resolution: {integrity: sha512-p6fTArexECPf6KnOHvJXRpAEq0ON1CBtzG/EY4zw08kCHk/kivBc5vUEtnCFNCHOpJZ2ne77fxwRLIKD4wuW2Q==} + 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.4.7': + resolution: {integrity: sha512-mjtD5JxcPuW74T6h7nqMxWTvDneFtokg88p6kQ5OnC1M259iAXb//yiSZgu/quunMHPCXSiqn4FNOSgASTSbsA==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-backgrounds@8.4.7': + resolution: {integrity: sha512-I4/aErqtFiazcoWyKafOAm3bLpxTj6eQuH/woSbk1Yx+EzN+Dbrgx1Updy8//bsNtKkcrXETITreqHC+a57DHQ==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-controls@8.4.7': + resolution: {integrity: sha512-377uo5IsJgXLnQLJixa47+11V+7Wn9KcDEw+96aGCBCfLbWNH8S08tJHHnSu+jXg9zoqCAC23MetntVp6LetHA==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-docs@8.4.7': + resolution: {integrity: sha512-NwWaiTDT5puCBSUOVuf6ME7Zsbwz7Y79WF5tMZBx/sLQ60vpmJVQsap6NSjvK1Ravhc21EsIXqemAcBjAWu80w==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-essentials@8.4.7': + resolution: {integrity: sha512-+BtZHCBrYtQKILtejKxh0CDRGIgTl9PumfBOKRaihYb4FX1IjSAxoV/oo/IfEjlkF5f87vouShWsRa8EUauFDw==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-highlight@8.4.7': + resolution: {integrity: sha512-whQIDBd3PfVwcUCrRXvCUHWClXe9mQ7XkTPCdPo4B/tZ6Z9c6zD8JUHT76ddyHivixFLowMnA8PxMU6kCMAiNw==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-links@8.4.7': + resolution: {integrity: sha512-L/1h4dMeMKF+MM0DanN24v5p3faNYbbtOApMgg7SlcBT/tgo3+cAjkgmNpYA8XtKnDezm+T2mTDhB8mmIRZpIQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.4.7 + peerDependenciesMeta: + react: + optional: true + + '@storybook/addon-mdx-gfm@8.4.7': + resolution: {integrity: sha512-RLenpDmY0HZLqh8T6ZamSeUaLkFFJGMivIs5T3IhAo+BecYA1gWzD+T5er/k8AH8HyYJUtxt/IMCx5UrGnUr7g==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-measure@8.4.7': + resolution: {integrity: sha512-QfvqYWDSI5F68mKvafEmZic3SMiK7zZM8VA0kTXx55hF/+vx61Mm0HccApUT96xCXIgmwQwDvn9gS4TkX81Dmw==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-outline@8.4.7': + resolution: {integrity: sha512-6LYRqUZxSodmAIl8icr585Oi8pmzbZ90aloZJIpve+dBAzo7ydYrSQxxoQEVltXbKf3VeVcrs64ouAYqjisMYA==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-toolbars@8.4.7': + resolution: {integrity: sha512-OSfdv5UZs+NdGB+nZmbafGUWimiweJ/56gShlw8Neo/4jOJl1R3rnRqqY7MYx8E4GwoX+i3GF5C3iWFNQqlDcw==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/addon-viewport@8.4.7': + resolution: {integrity: sha512-hvczh/jjuXXcOogih09a663sRDDSATXwbE866al1DXgbDFraYD/LxX/QDb38W9hdjU9+Qhx8VFIcNWoMQns5HQ==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/blocks@8.4.7': + resolution: {integrity: sha512-+QH7+JwXXXIyP3fRCxz/7E2VZepAanXJM7G8nbR3wWsqWgrRp4Wra6MvybxAYCxU7aNfJX5c+RW84SNikFpcIA==} + 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.4.7 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/builder-vite@8.4.7': + resolution: {integrity: sha512-LovyXG5VM0w7CovI/k56ZZyWCveQFVDl0m7WwetpmMh2mmFJ+uPQ35BBsgTvTfc8RHi+9Q3F58qP1MQSByXi9g==} + peerDependencies: + storybook: ^8.4.7 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + + '@storybook/components@8.4.7': + resolution: {integrity: sha512-uyJIcoyeMWKAvjrG9tJBUCKxr2WZk+PomgrgrUwejkIfXMO76i6jw9BwLa0NZjYdlthDv30r9FfbYZyeNPmF0g==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/core@8.4.7': + resolution: {integrity: sha512-7Z8Z0A+1YnhrrSXoKKwFFI4gnsLbWzr8fnDCU6+6HlDukFYh8GHRcZ9zKfqmy6U3hw2h8H5DrHsxWfyaYUUOoA==} + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + + '@storybook/csf-plugin@8.4.7': + resolution: {integrity: sha512-Fgogplu4HImgC+AYDcdGm1rmL6OR1rVdNX1Be9C/NEXwOCpbbBwi0BxTf/2ZxHRk9fCeaPEcOdP5S8QHfltc1g==} + peerDependencies: + storybook: ^8.4.7 + + '@storybook/csf@0.1.11': + resolution: {integrity: sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==} + + '@storybook/global@5.0.0': + resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} + + '@storybook/icons@1.3.0': + resolution: {integrity: sha512-Nz/UzeYQdUZUhacrPyfkiiysSjydyjgg/p0P9HxB4p/WaJUUjMAcaoaLgy3EXx61zZJ3iD36WPuDkZs5QYrA0A==} + 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.4.7': + resolution: {integrity: sha512-ELqemTviCxAsZ5tqUz39sDmQkvhVAvAgiplYy9Uf15kO0SP2+HKsCMzlrm2ue2FfkUNyqbDayCPPCB0Cdn/mpQ==} + 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.4.7': + resolution: {integrity: sha512-0QVQwHw+OyZGHAJEXo6Knx+6/4er7n2rTDE5RYJ9F2E2Lg42E19pfdLlq2Jhoods2Xrclo3wj6GWR//Ahi39Eg==} + 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.4.7': + resolution: {integrity: sha512-6bkG2jvKTmWrmVzCgwpTxwIugd7Lu+2btsLAqhQSzDyIj2/uhMNp8xIMr/NBDtLgq3nomt9gefNa9xxLwk/OMg==} + 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.4.7 + + '@storybook/react-vite@8.4.7': + resolution: {integrity: sha512-iiY9iLdMXhDnilCEVxU6vQsN72pW3miaf0WSenOZRyZv3HdbpgOxI0qapOS0KCyRUnX9vTlmrSPTMchY4cAeOg==} + engines: {node: '>=18.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: ^8.4.7 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + + '@storybook/react@8.4.7': + resolution: {integrity: sha512-nQ0/7i2DkaCb7dy0NaT95llRVNYWQiPIVuhNfjr1mVhEP7XD090p0g7eqUmsx8vfdHh2BzWEo6CoBFRd3+EXxw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@storybook/test': 8.4.7 + 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.4.7 + typescript: '>= 4.2.x' + peerDependenciesMeta: + '@storybook/test': + optional: true + typescript: + optional: true + + '@storybook/theming@8.4.7': + resolution: {integrity: sha512-99rgLEjf7iwfSEmdqlHkSG3AyLcK0sfExcr0jnc6rLiAkBhzuIsvcHjjUwkR210SOCgXqBPW0ZA6uhnuyppHLw==} + 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.2.0': + resolution: {integrity: sha512-CytIvb6tVOADRngTHGWNxH8LPgO/3hi/BdCEHOf7Qd2GvZVClhVP0Wo/QHzWhpki49Bk0b4VT6xpt3fx8HTSIw==} + 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.1.0': + resolution: {integrity: sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg==} + 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.5.2': + resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + 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/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.5': + resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} + + '@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@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node@22.10.6': + resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + + '@types/react-transition-group@4.4.10': + resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} + + '@types/react@18.3.8': + resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==} + + '@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.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@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.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@typescript-eslint/eslint-plugin@8.20.0': + resolution: {integrity: sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==} + 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.20.0': + resolution: {integrity: sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==} + 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.19.0': + resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.20.0': + resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.20.0': + resolution: {integrity: sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==} + 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.19.0': + resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.20.0': + resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.19.0': + resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/typescript-estree@8.20.0': + resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/utils@8.19.0': + resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} + 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/utils@8.20.0': + resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==} + 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.19.0': + resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.20.0': + resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@visulima/boxen@1.0.25': + resolution: {integrity: sha512-U6kzb4RKO+zEwnLTYdPOnuZ2+qg0jp7YxW+gyJk04jjTXC38dpllUuEeXu7lWH91UrJWUS8qTQiP3q8DIevfWA==} + engines: {node: '>=18.* <=23.*'} + 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@2.1.8': + resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} + + '@vitest/mocker@2.1.8': + resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@2.1.8': + resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} + + '@vitest/runner@2.1.8': + resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} + + '@vitest/snapshot@2.1.8': + resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} + + '@vitest/spy@2.1.8': + resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} + + '@vitest/utils@2.1.8': + resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} + + '@xobotyi/scrollbar-width@1.9.5': + resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} + + '@zag-js/accordion@0.81.1': + resolution: {integrity: sha512-NMSx9DNz+FigY9E+FtT/3GCjpP4H0VTbBTmqUDxw3FYKgP3txPoIQGrV4Dig4hCtCiPdmlwSZatA29HrTi8+zw==} + + '@zag-js/anatomy@0.81.1': + resolution: {integrity: sha512-x63RqFLdqz2a7KCxvpWXMAwr9A5lWtag4dslku6IBu5IT0oMYuQJ0d+3NeY74xKwdctTmnLs/xRsyUfey5DarQ==} + + '@zag-js/aria-hidden@0.81.1': + resolution: {integrity: sha512-Jsd4rmdZ73+S/PVnoCxI4BjN52okPECztPIxGvNiEOJfL+/YJWmHweprJgmHZJPt9rufZ05SvfeiKr2VXso0vg==} + + '@zag-js/auto-resize@0.81.1': + resolution: {integrity: sha512-InlncZmgT+ofhrUEeQN8BOa8hUCpPNl6dwL83AxXk5J8k+SmfVr0hH6CNSeAEG9XUmepUGPzXQwYbA5t0KRtNA==} + + '@zag-js/avatar@0.81.1': + resolution: {integrity: sha512-ooMCxBamNWYYi7ZHY+FFpGJouuHWaaO9DTYRwWXsr9pW+FYGcJcPXKKsaFGPeAldBs8dqlBmFdMOWylLySau4Q==} + + '@zag-js/carousel@0.81.1': + resolution: {integrity: sha512-iQRnR5yYChFOsdAGAoH8bZei9tlSCngJJ1Bka8j+XvLHLyjOe+fqhaqwlkAFunMH1kEo1lHVbFDQ5FPGZq9PgA==} + + '@zag-js/checkbox@0.81.1': + resolution: {integrity: sha512-HmoRt7luHZXvNlsqQW5rrQlcFEVKthFkZPgAwUKM5xD7MaifDQUfaWMcOkYUBpJtziDufV2CcdIu9d1z4/hSMA==} + + '@zag-js/clipboard@0.81.1': + resolution: {integrity: sha512-ccDxY+8CsM6XvOnfSQmQqsa99XXjjByVYD4ovylk6+jXwVhToyjOxGiQq/n8zALXHLj2hM/1WIvDwZGTPr1GfQ==} + + '@zag-js/collapsible@0.81.1': + resolution: {integrity: sha512-oPnmsVtS3/1olPY4E0IwoixK95MDjIGmfHPVmNX3lioN9hbszxBoUQtsZ0ryXNH9HXvDbnJ/KWtpMELjj2TjPA==} + + '@zag-js/collection@0.81.1': + resolution: {integrity: sha512-cGvBWL0Z31Vt/RTyuwarkokfer2zlw92+mlX9Hed8198aWyI6bklmaZs77xO89fy8Osjjik/STB6TyItgn1jPA==} + + '@zag-js/color-picker@0.81.1': + resolution: {integrity: sha512-O7AI1BK/GWlyF3pf9O/9iVk2hcBaaJdBAoNyzqrI6+dPgrjs9eXA4VYyavcHZBm3ABCzqZ7ePO9mnBi//wag8Q==} + + '@zag-js/color-utils@0.81.1': + resolution: {integrity: sha512-Fq4vktoW3UmrhFMb731ldODDSQrLsSO+81eADBzbz3CgGOCOy6rYv73aIgvAgngTOp9Q98NQnTxyt1S8eEGOaw==} + + '@zag-js/combobox@0.81.1': + resolution: {integrity: sha512-FHJPDZ/A54+ksDJ5dl/Aj49BHso7T8k7s7uSADLvEVJ3kR9qJ+zTdAXR01IQPn+rZWxNUShD76YRK2VKzVt+JQ==} + + '@zag-js/core@0.81.1': + resolution: {integrity: sha512-LJwPH5RgY0EUDDSCfpXFoXQ9+CwakiZOjo9SZdq7lk+wYmP8hCv+r2FCAPclSHljyrGqpIlHU/brkcFslkcN4Q==} + + '@zag-js/date-picker@0.81.1': + resolution: {integrity: sha512-Mrhi+wFJ8I59wmRIMU/0tuL1D9/ycosmtifD7U63leZJZM32lk+Do7YUhP0FyZ/qBVcjCykU3rJZkHL9EBOuFw==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/date-utils@0.81.1': + resolution: {integrity: sha512-NWen8ebvNkPbENaVS3qcpRjeEhcjF0uiDzBlg1cBdqu2A2EUfO1/lrjYTKpboTC2fQeVoIPdrvCkMXvywHFr8Q==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/dialog@0.81.1': + resolution: {integrity: sha512-Jt6ReyeMAveLKgerhhnpiM0ZKrHCyGmRgRtFbW7o4WSQ63UUyTPgUYIvyRJeVJjAGF6IcfvVVVVY3YthRyzf8A==} + + '@zag-js/dismissable@0.81.1': + resolution: {integrity: sha512-PT19n3CK5XW7S3dQhFLxALsJ0JFsOdukxVNE5iLHPAKEuJeM6dnzG1pn6x3U1wrGybHZgaZkyiF4PWsvXsdaiQ==} + + '@zag-js/dom-query@0.81.1': + resolution: {integrity: sha512-5CsCVT6xUIwj5hTmsSplqdZXC5HFXj/wU3p+Mp0XjM63fgJODXZh79DPjx/Vqo/YrqSQPoK5dHRhUY8fiDyoSQ==} + + '@zag-js/editable@0.81.1': + resolution: {integrity: sha512-phH7pdgwn/KTnYxe7W83j764Z28fqk0rTxzAYj2Rb5ctQA8ls/UdsbBpdALEx08+rxw3pELT7wxk2Rm+n6Ljqw==} + + '@zag-js/element-rect@0.81.1': + resolution: {integrity: sha512-f11a8MqEEi8yZ4+WmoWpjDBpcWh6kZwkNYyNaVBqseWT9xGTjW3hXxz4L8G0kZaxcsMI2EEv9FNX7tB8FqJD/A==} + + '@zag-js/element-size@0.81.1': + resolution: {integrity: sha512-taasImQwXYDvlhQ9L0tPHjbG2Yxqk1FU7sIu5qf9ml1btUEAVah3+DTiCMKBsm+NzgyPY2bsRMqMW3I+4kvkaA==} + + '@zag-js/file-upload@0.81.1': + resolution: {integrity: sha512-a19kPUQ+5lyZRI9qK5ANBNTPY5syKJyva4ahmUm1EtV1Wt89x8xVRc5YG8XXaKlKrZlJdDvNPh2rMhV9QviBJw==} + + '@zag-js/file-utils@0.81.1': + resolution: {integrity: sha512-oO+7U8TjUSKxnCG9PtG+6SAgzNkf2cq+lTBjOruaRz3sbrxfNMiz2xf/fIbuhEvHryPKWo86Kd/u/kvU5/gY1A==} + + '@zag-js/focus-trap@0.81.1': + resolution: {integrity: sha512-hhW+XkuaaPyTdEBIIEjex+Sflr8sd5pCU/ISyGs4x5wHaPSfYjTUlpasC6ISZ9ADs4kKVidfDnY7u60a2WOAeA==} + + '@zag-js/focus-visible@0.81.1': + resolution: {integrity: sha512-sQopikZzXGNBcxfPzhsJn2/txD5KDoFIuZpN1TwZHCx6JTBtzWHCl/t9VpULeTSbERdCI9iTx5Zt4QxceuwEBA==} + + '@zag-js/form-utils@0.81.1': + resolution: {integrity: sha512-Zb7PvXZWIsudQsT+MZtG+HTsP/s1izifzj3ce4jEh4bgo3heLlwPTGkm+4mGqVAivcaPW4HmvwmLOgWoiXA/3A==} + + '@zag-js/highlight-word@0.81.1': + resolution: {integrity: sha512-PU4zcfVSj446CtSw+viYkFMGkCjZvrZvQxPnGENFNNUHpsnwudz1a/NJiOPxSJTLY+C0FP0vanOl9YbgEL5xGQ==} + + '@zag-js/hover-card@0.81.1': + resolution: {integrity: sha512-xoAVYUf4sk70f8z1wbeITU+QiGy7jqdPgNkbT6jbklKVS/N8Y7WdWPU67ebCJWDLrUFQ2szG3nJVY/ZiACu1RA==} + + '@zag-js/i18n-utils@0.81.1': + resolution: {integrity: sha512-/7sQuPOewdf/KpQQkizQplWIS/3PH+iqexef/IV/1sS+KgmTrTz8UsVKm4Vw7FcMmFaWlAOdHqS3UgWiJ2j24w==} + + '@zag-js/interact-outside@0.81.1': + resolution: {integrity: sha512-jfeDlxNCYbRgKwcIdSjr0C6KChbbJSQyeYi+TDmqAQEVTiVYQo3j3NMdoV0V+IVoK+xnj4wC5DhRdEIHLzRiCA==} + + '@zag-js/live-region@0.81.1': + resolution: {integrity: sha512-zyR3xbKOBQ5qftXy8TCUkj8ZAn5p2UKMgsNLYaxW2UVKMy3syMfJ57BFqg8Hvw1vZ9X9orwQG8vSb85ZBIWP9g==} + + '@zag-js/menu@0.81.1': + resolution: {integrity: sha512-CUDkAvEu/Z2xpY9KJC0Y5//nJ3FWSoOB1bml5fJVfmHSzcwU5JJ2deop1JgFGrOyIK2NYWKsiLRgONpLnkuEAA==} + + '@zag-js/number-input@0.81.1': + resolution: {integrity: sha512-NBtSgYcA8lbHC1Wn+XKXcy22qA6JBKOXxVUPuMl8RIDNPbIG5MmU1wa4XwvvvpPKdoaXvAROUiP9MgPAJgACoQ==} + + '@zag-js/pagination@0.81.1': + resolution: {integrity: sha512-ynHXkAA/LLjRvlShr+e288sB0b1mP9s6rZItPnrbs7iSopGH5C+T6yqTuBPhSKTQRL36ixw6rjbI0TusnXhlvw==} + + '@zag-js/pin-input@0.81.1': + resolution: {integrity: sha512-+oUdY+LISM1NLHrMax/wiuEhYjRAAGKZT8xY/6g4C464Xqahjc2GNQjpoJ2V2S7N7vn7Prw4m+6rbe4TWAr1Pw==} + + '@zag-js/popover@0.81.1': + resolution: {integrity: sha512-rL+6buqokxxAwCzPFmKt6p7G07zdH34ix1n1MhUVStllU7e/1Kho/bL7qeELFTIJDcgmmKBRj7sa8VJOTj0uJQ==} + + '@zag-js/popper@0.81.1': + resolution: {integrity: sha512-zTGVu8bVtuGatwrtPdL8jahvWg+wx6N4sWuuCbh7FJbfVfQ849NRgP7im0ar4MLoMFcELkJGmxYQoJ1kbtPVIg==} + + '@zag-js/presence@0.81.1': + resolution: {integrity: sha512-9cWVU8ciU0oG3wJbo6AftDCdpBIGNIk3UqXxAQf4LI//FgnOiYtOmpvl9LXrS1MqEOAwnR6rkCeiNjTmW8O4Mw==} + + '@zag-js/progress@0.81.1': + resolution: {integrity: sha512-mgUt8sub5DOCv2ic5UJqqWsR5tM/HWqMY2ug5LVN3WD9d0ChBzi2TB5nUprunDa1xbGQfk3AyPNYNYnkqHaVLQ==} + + '@zag-js/qr-code@0.81.1': + resolution: {integrity: sha512-aM2e8LwMffUq5PHaBTFseTb5PUmTgD9+avc4R/IqD6bXod/RRc0C5n2BhAsOMJnXFFucq2Wuwofk2dS4FlQ4vQ==} + + '@zag-js/radio-group@0.81.1': + resolution: {integrity: sha512-EOE9Usqf2ih6j7VqwtRak1Gq2WkMOaTh3xAgFSIpId5gI5lmbx5IPjyyufp9XZJzn6LOkHRViMHllGA9d1A2Ig==} + + '@zag-js/rating-group@0.81.1': + resolution: {integrity: sha512-9MbeNVQeLDw/PppnCrJo7I9UOGzMCstzfPyyM3Yrpt8KN+hP8h2nHW1JHUvXQ9OslJWjKLnCLxJReEJxGxNdJQ==} + + '@zag-js/react@0.81.1': + resolution: {integrity: sha512-fEBk2ejKCYDiHLEbNB6B+WgtzfigvKLP8Q3RSVc/IP9y6DkdztdWGZ80GBB/7cRdcbBOBZGK0ZEEi76iSC5YVg==} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + + '@zag-js/rect-utils@0.81.1': + resolution: {integrity: sha512-3BkNYhEYZYBk770EUiM/aZ9k1HJg9FaWKOHXGpfZpndlqjUtLLMehej7752KFcpZaDRtUZ3Po1WXq0sIgwEtxw==} + + '@zag-js/remove-scroll@0.81.1': + resolution: {integrity: sha512-ONcWwEAAa3W9kYTHKoILGlFPJQ8XHvXkaVeYA+t8IlCA5pK2cS7yGA8ItyQUFFbJu1k1es53DQESXqZHtOoWTQ==} + + '@zag-js/scroll-snap@0.81.1': + resolution: {integrity: sha512-eRbyvLxPI+rRkgd2GYCz9xeesucFgpqa9NPI3ERTibSsMSTOgZsYogi8vn6rXfW/YGS4xgiXZbVSMRgEeLPijQ==} + + '@zag-js/select@0.81.1': + resolution: {integrity: sha512-eYCJoxUfwXBMSI/+GLZCzmT3P2UMInKztRt064bW+pLMIHhsHCoUKoNNzDFFx9q27HKgXk6pZIp4/5ZnxPF4WQ==} + + '@zag-js/signature-pad@0.81.1': + resolution: {integrity: sha512-wHFeZuwoJWG5/Tk5u8T7M+ENg9nkBf8md14huW8MKVcfkLNi+a/z2B1KzodWnn4mekxUMEKAXhOdmELqqAHSOg==} + + '@zag-js/slider@0.81.1': + resolution: {integrity: sha512-1yPml/nIWpiijEmUxYzlPOIi6v2r+URhBM9giEG9mwaUU9uWtYrEQKSQVQChkPlW8xoNxtqtG6wNjEjekWDqfw==} + + '@zag-js/splitter@0.81.1': + resolution: {integrity: sha512-KlSIsCZWL1zLfqE05xyGYVKxu8OiQ91yVBqsJhuHUPTH0Ww/UQI4sU70yWqePrGi+L+VieMZUia4OFKcmhvljA==} + + '@zag-js/steps@0.81.1': + resolution: {integrity: sha512-RA/TFqsc0QBgL61R8rWUhawANvZIaXN3nNP6RQ/qcYQpVjCLIC97oDrWvZd//THrMay65wPT4iuOGkBoXLqr5g==} + + '@zag-js/store@0.81.1': + resolution: {integrity: sha512-IsRnK6G/I5Sx8kxLC/PNUmxduOeLsrtgWuw1FGu1x88BgE+/akmL9fZoGdQds+TFNPESTtqWQxiTFm1w3nn/aQ==} + + '@zag-js/switch@0.81.1': + resolution: {integrity: sha512-2lEOGzVW2bqA2GY7HVg2aKXsQoD0v65K9qVuJiP/9Lpst6JPOw5E6nEZj1xOheluHJVI29R/HBUIw9GU27MroA==} + + '@zag-js/tabs@0.81.1': + resolution: {integrity: sha512-B24xFIfVJRL0nbzp97mqKN1zJKVrL8eXR2TOq+1ZxqrnnUZ5RQNzqo46wFIItRQsHjvbxyuI54KgvL1bp29wiw==} + + '@zag-js/tags-input@0.81.1': + resolution: {integrity: sha512-nR5aE0NIaLrz2GQEGN1EkJFJrs53wdrx8cBpRn6qCIuC907fCRRDb8jdamZ51wP6GvRmgqdufuhGtbS7s78v/Q==} + + '@zag-js/time-picker@0.81.1': + resolution: {integrity: sha512-7iBOfRb7J0IYxOSy1Vbznfnq1ISzrbujbjHNY+PjbEDCA7vCEmI0vGEXHBs4YTkTaW5Sisku1a44Ua1kvHT0Dg==} + peerDependencies: + '@internationalized/date': '>=3.0.0' + + '@zag-js/timer@0.81.1': + resolution: {integrity: sha512-BcdSBf+EeQwdKiic0yDFjErCYbwa5vxVWbE7tDHoEXBWeV1xMIjqcxG20qJ2kSxDWjlkx+vpcTnDqvIYnFl5ag==} + + '@zag-js/toast@0.81.1': + resolution: {integrity: sha512-v3jEsOcgtl2yIE1kllSccMUlHC87nB7UohFkhVl5gAV2sXMQ2evLna/+DAYlBRYjJogapOW+g69rW4sPX+HZxA==} + + '@zag-js/toggle-group@0.81.1': + resolution: {integrity: sha512-x/cpAd/pER/F/pitJ+Rd3RZ02vj8pe17noE7t/1wFyiNRLTi6R4E5fik9yqyFAukLwizxCXpS3rDYIEi7ta70w==} + + '@zag-js/tooltip@0.81.1': + resolution: {integrity: sha512-yNmgLlOh1AN006TD7xTkW/lu45O201g+uEXZhwgCiJsngYmOKNFMJFCUllE3KDR/kxecOFr9UZTVual1IhFxjA==} + + '@zag-js/tour@0.81.1': + resolution: {integrity: sha512-ssKFyZyjFmRpvmlKSOEeo/yb01oCkF8XKOoYFiCgz7Pm9Guaf4rwEWbQBpzlKYaj2zZ8L6+7bOWVgt0f+ZngNw==} + + '@zag-js/tree-view@0.81.1': + resolution: {integrity: sha512-ks2OtbJXvvmC3UXUyaFQKO+LQDopNhenJ2mV+Gqs3RNqO/5EViIWbiZN6s2bsSaduQhfaCTqk4pFkeBhYIluhQ==} + + '@zag-js/types@0.81.1': + resolution: {integrity: sha512-+T9H99wHn7snO0LwZ9PHX9o4ZAz3Y80Z3nlEFCWyGwFjRwrmZxoGN016pQI+C9HUVe+qXDN5oXysV1N/1/6O0A==} + + '@zag-js/utils@0.81.1': + resolution: {integrity: sha512-lWpU6n6wKhK6GkgyE3IdEChY5AjwmrAqdr9rc4F2qlb/lEp/TFbKOn2TOiFHPLd2YzE4jElFQL7+/7CDK3qFPg==} + + 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.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} + + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + engines: {node: '>=0.4.0'} + hasBin: true + + 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.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + 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==} + + 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.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + 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'} + + 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.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + + 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.0.1: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + 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.4.2: + resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + + bare-fs@2.3.1: + resolution: {integrity: sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==} + + bare-os@2.4.0: + resolution: {integrity: sha512-v8DTT08AS/G0F9xrhyLtepoo9EJBJ85FRSMbu1pQUlAf6A8T0tEEQGMVObWeqpjhSPXsE0VGlluFBJu2fdoTNg==} + + bare-path@2.1.3: + resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} + + bare-stream@2.1.3: + resolution: {integrity: sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + 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.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} + 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==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + 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.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + 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@0.11.0: + resolution: {integrity: sha512-6CJWHkNRoyZyjV9Rwv2lYONZf1Xm0IuDyNq97nwSsxxP3wf5Bwy15K5rOvVKMtJ127jJBmxFUanSAOjgFRxgrA==} + peerDependencies: + devtools-protocol: '*' + + chromium-bidi@0.12.0: + resolution: {integrity: sha512-xzXveJmX826GGq1MeE5okD8XxaDT8172CXByhFJ687eY65rbjOIebdbUuQh+jXKaNyGKI14Veb3KjLLmSueaxA==} + peerDependencies: + devtools-protocol: '*' + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + + 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@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + 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@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + 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.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + 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.1367902: + resolution: {integrity: sha512-XxtPuC3PGakY6PD7dG66/o8KwJ/LkH2/EKe19Dcw58w53dv4/vSQEkn/SzuyhHE2q4zPgCkxQBxus3VV4ql+Pg==} + + 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.76: + resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + + 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.0: + resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} + 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.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + 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.5.0: + resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + peerDependencies: + esbuild: '>=0.12 <1' + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + 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-codeceptjs@1.3.0: + resolution: {integrity: sha512-KdRRVJxzE1Ts9SNMKn1Zt3clA1D+hl49zugiq0rncuAp0SCUlkLEacxf0nR16q4KOI1t+5kF+J9goF4iN/m+GA==} + engines: {node: '>=0.10.0'} + + 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.18.0: + resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==} + 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.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + 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.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + 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.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + 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.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + 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.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + 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.3: + resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} + 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.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=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'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + 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.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + 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.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + 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.1: + resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + 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.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + 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.0: + resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + 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 + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + 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.42.0: + resolution: {integrity: sha512-/+/GV+oIJ0A2l2LBaiHvp4sGj448T1EMQm2S1I6sPh9AIR9riBaYY19ZYq743Ql/GR0lgwwGoQ2UKNp0B93HNA==} + 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.3.0: + resolution: {integrity: sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==} + 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==} + + 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.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + + 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.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + 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.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + 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.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + 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.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + 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.13: + resolution: {integrity: sha512-m9Woo2J5XVab0VcQpYvrQ0hx3ySI1mGbiHR595mc6Lr1/FIaTWvv+oU+T1WKSfXRiluKC/V5P6Bdk5agaYpqqg==} + 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.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + 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.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + 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@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + 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.1: + resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + 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.49.1: + resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.49.1: + resolution: {integrity: sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==} + 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.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + 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.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + 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.0.0: + resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} + 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.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + puppeteer-core@24.0.0: + resolution: {integrity: sha512-bHVXmnkYnMVSbsD+pJGt8fmGZLaVYOAieVnJcDxtLIVTMq0s5RfYdzN4xVlFoBQ3T06/sPkXxca3VLVfaqLxzg==} + engines: {node: '>=18'} + + puppeteer@24.0.0: + resolution: {integrity: sha512-KRF2iWdHGSZkQ8pqftR5XR1jqnTqKRVZghMGJfJ665zS8++0cErRG2tXWfp98YqvMzsVLHfzBtTQlk0MMhCxzg==} + 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==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + react-docgen-typescript@2.2.2: + resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==} + peerDependencies: + typescript: '>= 4.3.x' + + react-docgen@7.0.3: + resolution: {integrity: sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==} + engines: {node: '>=16.14.0'} + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.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.1: + resolution: {integrity: sha512-vSrQHWlJ5DCfyrhgo0k6zViOe9ToK8uT5XGSmnuC2R3/g261IdIMpZVqfjD6vWSXdnf5Czs4VA/V60oVR6/jnA==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + + react-router@7.1.1: + resolution: {integrity: sha512-39sXJkftkKWRZ2oJtHhCxmoCrBCULr/HAH4IT5DHlgu/Q0FCPV0S4Lx+abjDTx/74xoZzNYDYbOZWlJjruyuDQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + + react-select@5.9.0: + resolution: {integrity: sha512-nwRKGanVHGjdccsnzhFte/PULziueZxGD8LL2WojON78Mvnq7LdAMEtu2frrwld1fr3geixg3iiMBIc/LLAZpw==} + 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-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@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + 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.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + 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'} + + requireindex@1.1.0: + resolution: {integrity: sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==} + engines: {node: '>=0.10.5'} + + 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.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + 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.29.2: + resolution: {integrity: sha512-tJXpsEkzsEzyAKIaB3qv3IuvTVcTN7qBw1jL4SPPXM3vzDrJgiLGFY6+HodgFaUHAJ2RYJ94zV5MKRJCoQzQeA==} + 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.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + 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.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + 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.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + 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-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + 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.4.7: + resolution: {integrity: sha512-RP/nMJxiWyFc8EVMH5gp20ID032Wvk+Yr3lmKidoegto5Iy+2dVQnUoElZb2zpbVXNHWakGuAkfI0dY1Hfp/vw==} + hasBin: true + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + + streamx@2.18.0: + resolution: {integrity: sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==} + + 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.2: + resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} + + 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@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + 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.6: + resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + terser@5.31.1: + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-decoder@1.1.0: + resolution: {integrity: sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==} + + 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'} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + 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@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + 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@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-api-utils@2.0.0: + resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} + 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'} + + unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + + 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.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + + 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'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unplugin@1.11.0: + resolution: {integrity: sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==} + engines: {node: '>=14.0.0'} + + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + 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 + + use-sync-external-store@1.2.2: + resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + 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.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + vite-node@2.1.8: + resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite@5.4.7: + resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vite@6.0.7: + resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==} + 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@2.1.8: + resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.8 + '@vitest/ui': 2.1.8 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + 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-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + 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.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + 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 + + 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.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + 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.0.3: + resolution: {integrity: sha512-cETTrcMq3Ze58vhdR0zD37uJm/694I6mAxcf/ei5bl89cC++fBNxrC2z8lkFze/8hVMPwrbtrwXHR2LB50fpHw==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + + 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.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@ark-ui/react@4.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@internationalized/date': 3.6.0 + '@zag-js/accordion': 0.81.1 + '@zag-js/anatomy': 0.81.1 + '@zag-js/auto-resize': 0.81.1 + '@zag-js/avatar': 0.81.1 + '@zag-js/carousel': 0.81.1 + '@zag-js/checkbox': 0.81.1 + '@zag-js/clipboard': 0.81.1 + '@zag-js/collapsible': 0.81.1 + '@zag-js/collection': 0.81.1 + '@zag-js/color-picker': 0.81.1 + '@zag-js/color-utils': 0.81.1 + '@zag-js/combobox': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/date-picker': 0.81.1(@internationalized/date@3.6.0) + '@zag-js/date-utils': 0.81.1(@internationalized/date@3.6.0) + '@zag-js/dialog': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/editable': 0.81.1 + '@zag-js/file-upload': 0.81.1 + '@zag-js/file-utils': 0.81.1 + '@zag-js/focus-trap': 0.81.1 + '@zag-js/highlight-word': 0.81.1 + '@zag-js/hover-card': 0.81.1 + '@zag-js/i18n-utils': 0.81.1 + '@zag-js/menu': 0.81.1 + '@zag-js/number-input': 0.81.1 + '@zag-js/pagination': 0.81.1 + '@zag-js/pin-input': 0.81.1 + '@zag-js/popover': 0.81.1 + '@zag-js/presence': 0.81.1 + '@zag-js/progress': 0.81.1 + '@zag-js/qr-code': 0.81.1 + '@zag-js/radio-group': 0.81.1 + '@zag-js/rating-group': 0.81.1 + '@zag-js/react': 0.81.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@zag-js/select': 0.81.1 + '@zag-js/signature-pad': 0.81.1 + '@zag-js/slider': 0.81.1 + '@zag-js/splitter': 0.81.1 + '@zag-js/steps': 0.81.1 + '@zag-js/switch': 0.81.1 + '@zag-js/tabs': 0.81.1 + '@zag-js/tags-input': 0.81.1 + '@zag-js/time-picker': 0.81.1(@internationalized/date@3.6.0) + '@zag-js/timer': 0.81.1 + '@zag-js/toast': 0.81.1 + '@zag-js/toggle-group': 0.81.1 + '@zag-js/tooltip': 0.81.1 + '@zag-js/tour': 0.81.1 + '@zag-js/tree-view': 0.81.1 + '@zag-js/types': 0.81.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.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.3': {} + + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.5 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.5 + '@babel/types': 7.26.5 + 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.3': + dependencies: + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/generator@7.26.5': + dependencies: + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.5 + 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.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.5 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.26.5': + dependencies: + '@babel/types': 7.26.5 + + '@babel/parser@7.26.7': + dependencies: + '@babel/types': 7.26.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/runtime@7.24.7': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 + + '@babel/traverse@7.26.4': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.5 + '@babel/template': 7.25.9 + '@babel/types': 7.26.5 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/traverse@7.26.5': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.5 + '@babel/template': 7.25.9 + '@babel/types': 7.26.5 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/traverse@7.26.7': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/template': 7.25.9 + '@babel/types': 7.26.7 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.3': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@babel/types@7.26.5': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@babel/types@7.26.7': + 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.3.1(@chakra-ui/react@3.3.1(@emotion/react@11.14.0(@types/react@18.3.8)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@chakra-ui/react': 3.3.1(@emotion/react@11.14.0(@types/react@18.3.8)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clack/prompts': 0.7.0 + '@pandacss/is-valid-prop': 0.41.0 + '@types/cli-table': 0.3.4 + '@types/debug': 4.1.12 + '@visulima/boxen': 1.0.25 + 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.3.1(@emotion/react@11.14.0(@types/react@18.3.8)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@ark-ui/react': 4.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@emotion/is-prop-valid': 1.3.1 + '@emotion/react': 11.14.0(@types/react@18.3.8)(react@18.3.1) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) + '@emotion/utils': 1.4.2 + '@pandacss/is-valid-prop': 0.41.0 + csstype: 3.1.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@chakra-ui/styled-system@2.12.0(react@18.3.1)': + dependencies: + '@chakra-ui/utils': 2.2.2(react@18.3.1) + csstype: 3.1.3 + transitivePeerDependencies: + - react + + '@chakra-ui/utils@2.2.2(react@18.3.1)': + dependencies: + '@types/lodash.mergewith': 4.6.9 + lodash.mergewith: 4.6.2 + react: 18.3.1 + + '@clack/core@0.3.5': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.7.0': + dependencies: + '@clack/core': 0.3.5 + 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.24.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@18.3.8)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.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@18.3.1) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.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@18.3.1)': + dependencies: + react: 18.3.1 + + '@emotion/utils@1.4.2': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/linux-x64@0.21.5': + 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.21.5': + 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.21.5': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.18.0(jiti@2.4.2))': + dependencies: + eslint: 9.18.0(jiti@2.4.2) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.1': + dependencies: + '@eslint/object-schema': 2.1.5 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.10.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.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.18.0': {} + + '@eslint/object-schema@2.1.5': {} + + '@eslint/plugin-kit@0.2.5': + dependencies: + '@eslint/core': 0.10.0 + levn: 0.4.1 + + '@floating-ui/core@1.6.4': + dependencies: + '@floating-ui/utils': 0.2.8 + + '@floating-ui/dom@1.6.12': + dependencies: + '@floating-ui/core': 1.6.4 + '@floating-ui/utils': 0.2.8 + + '@floating-ui/utils@0.2.8': {} + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.0 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.0': {} + + '@humanwhocodes/retry@0.4.1': {} + + '@internationalized/date@3.6.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.10.6 + 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.10.6)(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.10.6 + 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.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(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.7 + 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.10.6 + 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.10.6 + 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.10.6 + 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.0 + '@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.10.6 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + + '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.7.3)(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1))': + dependencies: + magic-string: 0.27.0 + react-docgen-typescript: 2.2.2(typescript@5.7.3) + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1) + optionalDependencies: + typescript: 5.7.3 + + '@jridgewell/gen-mapping@0.3.5': + 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/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + optional: true + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@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.4.15 + + '@juggle/resize-observer@3.4.0': {} + + '@mdx-js/react@3.0.1(@types/react@18.3.8)(react@18.3.1)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 18.3.8 + react: 18.3.1 + + '@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.17.1 + + '@nodelib/fs.walk@3.0.1': + dependencies: + '@nodelib/fs.scandir': 4.0.1 + fastq: 1.17.1 + + '@pandacss/is-valid-prop@0.41.0': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@playwright/test@1.49.1': + dependencies: + playwright: 1.49.1 + + '@puppeteer/browsers@2.7.0': + dependencies: + debug: 4.4.0 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.5.0 + semver: 7.6.3 + tar-fs: 3.0.6 + unbzip2-stream: 1.4.3 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@rollup/pluginutils@5.1.0(rollup@4.29.2)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.29.2 + + '@rollup/rollup-android-arm-eabi@4.29.2': + optional: true + + '@rollup/rollup-android-arm64@4.29.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.29.2': + optional: true + + '@rollup/rollup-darwin-x64@4.29.2': + optional: true + + '@rollup/rollup-freebsd-arm64@4.29.2': + optional: true + + '@rollup/rollup-freebsd-x64@4.29.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.29.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.29.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.29.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.29.2': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.29.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.29.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.29.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.29.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.29.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.29.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.29.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.29.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.29.2': + 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.1 + p-map: 4.0.0 + + '@storybook/addon-actions@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/global': 5.0.0 + '@types/uuid': 9.0.8 + dequal: 2.0.3 + polished: 4.3.1 + storybook: 8.4.7(prettier@3.4.2) + uuid: 9.0.1 + + '@storybook/addon-backgrounds@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + + '@storybook/addon-controls@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/global': 5.0.0 + dequal: 2.0.3 + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + + '@storybook/addon-docs@8.4.7(@types/react@18.3.8)(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@mdx-js/react': 3.0.1(@types/react@18.3.8)(react@18.3.1) + '@storybook/blocks': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2)) + '@storybook/csf-plugin': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/react-dom-shim': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2)) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' + + '@storybook/addon-essentials@8.4.7(@types/react@18.3.8)(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/addon-actions': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-backgrounds': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-controls': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-docs': 8.4.7(@types/react@18.3.8)(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-highlight': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-measure': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-outline': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-toolbars': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/addon-viewport': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' + + '@storybook/addon-highlight@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.4.7(prettier@3.4.2) + + '@storybook/addon-links@8.4.7(react@18.3.1)(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/csf': 0.1.11 + '@storybook/global': 5.0.0 + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + optionalDependencies: + react: 18.3.1 + + '@storybook/addon-mdx-gfm@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + remark-gfm: 4.0.0 + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color + + '@storybook/addon-measure@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.4.7(prettier@3.4.2) + tiny-invariant: 1.3.3 + + '@storybook/addon-outline@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + + '@storybook/addon-toolbars@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + storybook: 8.4.7(prettier@3.4.2) + + '@storybook/addon-viewport@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + memoizerific: 1.11.3 + storybook: 8.4.7(prettier@3.4.2) + + '@storybook/blocks@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2))': + dependencies: + '@storybook/csf': 0.1.11 + '@storybook/icons': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@storybook/builder-vite@8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1))': + dependencies: + '@storybook/csf-plugin': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + browser-assert: 1.2.1 + storybook: 8.4.7(prettier@3.4.2) + ts-dedent: 2.2.0 + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1) + + '@storybook/components@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + storybook: 8.4.7(prettier@3.4.2) + + '@storybook/core@8.4.7(prettier@3.4.2)': + dependencies: + '@storybook/csf': 0.1.11 + better-opn: 3.0.2 + browser-assert: 1.2.1 + esbuild: 0.21.5 + esbuild-register: 3.5.0(esbuild@0.21.5) + jsdoc-type-pratt-parser: 4.1.0 + process: 0.11.10 + recast: 0.23.9 + semver: 7.6.3 + util: 0.12.5 + ws: 8.18.0 + optionalDependencies: + prettier: 3.4.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@storybook/csf-plugin@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + storybook: 8.4.7(prettier@3.4.2) + unplugin: 1.11.0 + + '@storybook/csf@0.1.11': + dependencies: + type-fest: 2.19.0 + + '@storybook/global@5.0.0': {} + + '@storybook/icons@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@storybook/manager-api@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + storybook: 8.4.7(prettier@3.4.2) + + '@storybook/preview-api@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + storybook: 8.4.7(prettier@3.4.2) + + '@storybook/react-dom-shim@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2))': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + storybook: 8.4.7(prettier@3.4.2) + + '@storybook/react-vite@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.29.2)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.3)(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1))': + dependencies: + '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.7.3)(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1)) + '@rollup/pluginutils': 5.1.0(rollup@4.29.2) + '@storybook/builder-vite': 8.4.7(storybook@8.4.7(prettier@3.4.2))(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1)) + '@storybook/react': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.3) + find-up: 5.0.0 + magic-string: 0.30.17 + react: 18.3.1 + react-docgen: 7.0.3 + react-dom: 18.3.1(react@18.3.1) + resolve: 1.22.8 + storybook: 8.4.7(prettier@3.4.2) + tsconfig-paths: 4.2.0 + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1) + transitivePeerDependencies: + - '@storybook/test' + - rollup + - supports-color + - typescript + + '@storybook/react@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2))(typescript@5.7.3)': + dependencies: + '@storybook/components': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/global': 5.0.0 + '@storybook/manager-api': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/preview-api': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + '@storybook/react-dom-shim': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(prettier@3.4.2)) + '@storybook/theming': 8.4.7(storybook@8.4.7(prettier@3.4.2)) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + storybook: 8.4.7(prettier@3.4.2) + optionalDependencies: + typescript: 5.7.3 + + '@storybook/theming@8.4.7(storybook@8.4.7(prettier@3.4.2))': + dependencies: + storybook: 8.4.7(prettier@3.4.2) + + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@testing-library/dom@10.2.0': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/runtime': 7.24.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.0 + aria-query: 5.3.0 + 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.1.0(@testing-library/dom@10.2.0)(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.7 + '@testing-library/dom': 10.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.8 + '@types/react-dom': 18.3.0 + + '@testing-library/user-event@14.5.2(@testing-library/dom@10.2.0)': + dependencies: + '@testing-library/dom': 10.2.0 + + '@tootallnate/once@2.0.0': {} + + '@tootallnate/quickjs-emscripten@0.23.0': {} + + '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.4.2)': + dependencies: + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 + javascript-natural-sort: 0.7.1 + lodash: 4.17.21 + prettier: 3.4.2 + 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.5 + '@babel/types': 7.26.5 + '@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.5 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.26.5 + + '@types/cli-table@0.3.4': {} + + '@types/cookie@0.6.0': {} + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/doctrine@0.0.9': {} + + '@types/estree@1.0.6': {} + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 22.10.6 + + '@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.10.6 + '@types/tough-cookie': 4.0.5 + parse5: 7.1.2 + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/lodash.mergewith@4.6.9': + dependencies: + '@types/lodash': 4.17.5 + + '@types/lodash@4.17.5': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/mdx@2.0.13': {} + + '@types/ms@0.7.34': {} + + '@types/node@22.10.6': + dependencies: + undici-types: 6.20.0 + + '@types/parse-json@4.0.2': {} + + '@types/prop-types@15.7.14': {} + + '@types/react-dom@18.3.0': + dependencies: + '@types/react': 18.3.8 + + '@types/react-transition-group@4.4.10': + dependencies: + '@types/react': 18.3.8 + + '@types/react@18.3.8': + dependencies: + '@types/prop-types': 15.7.14 + 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.2': {} + + '@types/uuid@9.0.8': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 22.10.6 + optional: true + + '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.20.0 + eslint: 9.18.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.20.0 + debug: 4.4.0 + eslint: 9.18.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.19.0': + dependencies: + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 + + '@typescript-eslint/scope-manager@8.20.0': + dependencies: + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 + + '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + debug: 4.4.0 + eslint: 9.18.0(jiti@2.4.2) + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.19.0': {} + + '@typescript-eslint/types@8.20.0': {} + + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.3)': + dependencies: + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 + debug: 4.4.0 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.3)': + dependencies: + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.19.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.3) + eslint: 9.18.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + eslint: 9.18.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.19.0': + dependencies: + '@typescript-eslint/types': 8.19.0 + eslint-visitor-keys: 4.2.0 + + '@typescript-eslint/visitor-keys@8.20.0': + dependencies: + '@typescript-eslint/types': 8.20.0 + eslint-visitor-keys: 4.2.0 + + '@visulima/boxen@1.0.25': {} + + '@vitejs/plugin-react@4.3.4(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1))': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@2.1.8': + dependencies: + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 + chai: 5.1.2 + tinyrainbow: 1.2.0 + + '@vitest/mocker@2.1.8(vite@5.4.7(@types/node@22.10.6)(terser@5.31.1))': + dependencies: + '@vitest/spy': 2.1.8 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + vite: 5.4.7(@types/node@22.10.6)(terser@5.31.1) + + '@vitest/pretty-format@2.1.8': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/runner@2.1.8': + dependencies: + '@vitest/utils': 2.1.8 + pathe: 1.1.2 + + '@vitest/snapshot@2.1.8': + dependencies: + '@vitest/pretty-format': 2.1.8 + magic-string: 0.30.17 + pathe: 1.1.2 + + '@vitest/spy@2.1.8': + dependencies: + tinyspy: 3.0.2 + + '@vitest/utils@2.1.8': + dependencies: + '@vitest/pretty-format': 2.1.8 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + + '@xobotyi/scrollbar-width@1.9.5': {} + + '@zag-js/accordion@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/anatomy@0.81.1': {} + + '@zag-js/aria-hidden@0.81.1': {} + + '@zag-js/auto-resize@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + + '@zag-js/avatar@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/carousel@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/scroll-snap': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/checkbox@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/focus-visible': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/clipboard@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/collapsible@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/collection@0.81.1': + dependencies: + '@zag-js/utils': 0.81.1 + + '@zag-js/color-picker@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/color-utils': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/color-utils@0.81.1': + dependencies: + '@zag-js/utils': 0.81.1 + + '@zag-js/combobox@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/aria-hidden': 0.81.1 + '@zag-js/collection': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/core@0.81.1': + dependencies: + '@zag-js/store': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/date-picker@0.81.1(@internationalized/date@3.6.0)': + dependencies: + '@internationalized/date': 3.6.0 + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/date-utils': 0.81.1(@internationalized/date@3.6.0) + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/live-region': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/date-utils@0.81.1(@internationalized/date@3.6.0)': + dependencies: + '@internationalized/date': 3.6.0 + + '@zag-js/dialog@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/aria-hidden': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/focus-trap': 0.81.1 + '@zag-js/remove-scroll': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/dismissable@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + '@zag-js/interact-outside': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/dom-query@0.81.1': + dependencies: + '@zag-js/types': 0.81.1 + + '@zag-js/editable@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/interact-outside': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/element-rect@0.81.1': {} + + '@zag-js/element-size@0.81.1': {} + + '@zag-js/file-upload@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/file-utils': 0.81.1 + '@zag-js/i18n-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/file-utils@0.81.1': + dependencies: + '@zag-js/i18n-utils': 0.81.1 + + '@zag-js/focus-trap@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + + '@zag-js/focus-visible@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + + '@zag-js/form-utils@0.81.1': {} + + '@zag-js/highlight-word@0.81.1': {} + + '@zag-js/hover-card@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/i18n-utils@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + + '@zag-js/interact-outside@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/live-region@0.81.1': {} + + '@zag-js/menu@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/rect-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/number-input@0.81.1': + dependencies: + '@internationalized/number': 3.6.0 + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/pagination@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/pin-input@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/popover@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/aria-hidden': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/focus-trap': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/remove-scroll': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/popper@0.81.1': + dependencies: + '@floating-ui/dom': 1.6.12 + '@zag-js/dom-query': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/presence@0.81.1': + dependencies: + '@zag-js/core': 0.81.1 + '@zag-js/types': 0.81.1 + + '@zag-js/progress@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/qr-code@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + proxy-memoize: 3.0.1 + uqr: 0.1.2 + + '@zag-js/radio-group@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/element-rect': 0.81.1 + '@zag-js/focus-visible': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/rating-group@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/react@0.81.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@zag-js/core': 0.81.1 + '@zag-js/store': 0.81.1 + '@zag-js/types': 0.81.1 + proxy-compare: 3.0.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@zag-js/rect-utils@0.81.1': {} + + '@zag-js/remove-scroll@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + + '@zag-js/scroll-snap@0.81.1': + dependencies: + '@zag-js/dom-query': 0.81.1 + + '@zag-js/select@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/collection': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/signature-pad@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + perfect-freehand: 1.2.2 + + '@zag-js/slider@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/element-size': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/splitter@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/steps@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/store@0.81.1': + dependencies: + proxy-compare: 3.0.1 + + '@zag-js/switch@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/focus-visible': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/tabs@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/element-rect': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/tags-input@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/auto-resize': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/form-utils': 0.81.1 + '@zag-js/interact-outside': 0.81.1 + '@zag-js/live-region': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/time-picker@0.81.1(@internationalized/date@3.6.0)': + dependencies: + '@internationalized/date': 3.6.0 + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/timer@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/toast@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/toggle-group@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/tooltip@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/focus-visible': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/tour@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dismissable': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/focus-trap': 0.81.1 + '@zag-js/interact-outside': 0.81.1 + '@zag-js/popper': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/tree-view@0.81.1': + dependencies: + '@zag-js/anatomy': 0.81.1 + '@zag-js/collection': 0.81.1 + '@zag-js/core': 0.81.1 + '@zag-js/dom-query': 0.81.1 + '@zag-js/types': 0.81.1 + '@zag-js/utils': 0.81.1 + + '@zag-js/types@0.81.1': + dependencies: + csstype: 3.1.3 + + '@zag-js/utils@0.81.1': {} + + abab@2.0.6: {} + + acorn-globals@7.0.1: + dependencies: + acorn: 8.12.0 + acorn-walk: 8.3.3 + + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.0 + + acorn@8.12.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@18.3.1(react@18.3.1))(react@18.3.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: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-resize-observer: 9.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.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.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + 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 + + 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.0.0 + 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.0.0 + 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.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.2: + 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 + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + b4a@1.6.6: {} + + babel-jest@29.7.0(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@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.0) + 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.25.9 + '@babel/types': 7.26.5 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.24.7 + cosmiconfig: 7.1.0 + resolve: 1.22.8 + + babel-preset-current-node-syntax@1.0.1(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) + + babel-preset-jest@29.6.3(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.26.0) + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + bare-events@2.4.2: + optional: true + + bare-fs@2.3.1: + dependencies: + bare-events: 2.4.2 + bare-path: 2.1.3 + bare-stream: 2.1.3 + optional: true + + bare-os@2.4.0: + optional: true + + bare-path@2.1.3: + dependencies: + bare-os: 2.4.0 + optional: true + + bare-stream@2.1.3: + dependencies: + streamx: 2.18.0 + optional: true + + base64-js@1.5.1: {} + + 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.3: + dependencies: + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.76 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.3) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-crc32@0.2.13: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + 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.30001690: {} + + 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.2 + pathval: 2.0.0 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.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@0.11.0(devtools-protocol@0.0.1367902): + dependencies: + devtools-protocol: 0.0.1367902 + mitt: 3.0.1 + zod: 3.23.8 + + chromium-bidi@0.12.0(devtools-protocol@0.0.1367902): + dependencies: + devtools-protocol: 0.0.1367902 + mitt: 3.0.1 + zod: 3.24.1 + + ci-info@3.9.0: {} + + cjs-module-lexer@1.3.1: {} + + 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@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + 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@2.20.3: + optional: true + + 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.0 + 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.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.7.3 + + create-jest@29.7.0(@types/node@22.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(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.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(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.4.3: {} + + 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.1367902: {} + + 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.24.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.76: {} + + emittery@0.13.1: {} + + emoji-regex@10.3.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.0: + 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.0.0 + 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.0 + math-intrinsics: 1.1.0 + object-inspect: 1.13.3 + 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.5.4: {} + + es-object-atoms@1.0.0: + 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.5.0(esbuild@0.21.5): + dependencies: + debug: 4.4.0 + esbuild: 0.21.5 + 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.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + 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.1.2: {} + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + 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.15.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.18.0(jiti@2.4.2)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.18.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-codeceptjs@1.3.0: + dependencies: + requireindex: 1.1.0 + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.18.0(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.2 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.18.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.18.0(jiti@2.4.2)) + hasown: 2.0.2 + is-core-module: 2.15.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.20.0(eslint@9.18.0(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.18.0(jiti@2.4.2)): + dependencies: + eslint: 9.18.0(jiti@2.4.2) + + eslint-plugin-react@7.37.4(eslint@9.18.0(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.18.0(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.18.0(jiti@2.4.2))(typescript@5.7.3): + dependencies: + '@storybook/csf': 0.1.11 + '@typescript-eslint/utils': 8.19.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.18.0(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.18.0(jiti@2.4.2): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.18.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.5.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.1 + 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.5.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.2: + 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-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.17.1: + 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.1 + keyv: 4.5.4 + + flatted@3.3.1: {} + + for-each@0.3.3: + 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.0: + 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-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + 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.2.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.0.0 + 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.0.0 + + get-stream@5.2.0: + dependencies: + pump: 3.0.0 + + 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.3: + dependencies: + basic-ftp: 5.0.5 + data-uri-to-buffer: 6.0.2 + debug: 4.4.0 + fs-extra: 11.2.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.1 + 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.0.2: {} + + has-flag@3.0.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.24.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 + + ieee754@1.2.1: {} + + ignore@5.3.1: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.1.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.1.1: + dependencies: + call-bind: 1.0.8 + 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.0.0: + dependencies: + has-tostringtag: 1.0.2 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.0.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.1: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.15.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.2.0 + + is-generator-fn@2.1.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + 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.0: + dependencies: + call-bound: 1.0.3 + + is-weakset@2.0.3: + dependencies: + call-bind: 1.0.8 + 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.0 + '@babel/parser': 7.26.5 + '@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.0 + '@babel/parser': 7.26.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.3 + 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.0.0 + 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.10.6 + 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.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(typescript@5.7.3)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(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.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(typescript@5.7.3)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@22.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(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.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(typescript@5.7.3)): + dependencies: + '@babel/core': 7.26.0 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.26.0) + 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.10.6 + ts-node: 10.9.2(@types/node@22.10.6)(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.10.6 + 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.10.6 + 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.10.6 + 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.24.7 + '@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.10.6 + 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.8 + resolve.exports: 2.0.2 + 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.10.6 + 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.10.6 + chalk: 4.1.2 + cjs-module-lexer: 1.3.1 + 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.0 + '@babel/generator': 7.26.3 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.26.0) + '@babel/types': 7.26.3 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.26.0) + 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.6.3 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.10.6 + 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.10.6 + 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.10.6 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@22.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(typescript@5.7.3)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(typescript@5.7.3)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@22.10.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.10.6)(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.12.0 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.0 + 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.10 + parse5: 7.1.2 + 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.17.1 + 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: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.2 + 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.42.0(@types/node@22.10.6)(typescript@5.7.3): + dependencies: + '@nodelib/fs.walk': 3.0.1 + '@snyk/github-codeowners': 1.1.0 + '@types/node': 22.10.6 + easy-table: 1.2.0 + enhanced-resolve: 5.18.0 + 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.1 + pretty-ms: 9.0.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.0.3(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.3.0: + dependencies: + chalk: 5.4.1 + commander: 12.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.6.1 + 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.2: {} + + 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.6.3 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + map-or-similar@1.5.0: {} + + markdown-table@3.0.3: {} + + math-intrinsics@1.1.0: {} + + mdast-util-find-and-replace@3.0.1: + 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.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + 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.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.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.0 + 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.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + 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.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + 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.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + 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@18.3.1(react@18.3.1))(react@18.3.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: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rtl-css-js: 1.16.1 + stacktrace-js: 2.0.2 + stylis: 4.3.2 + + nanoid@3.3.7: {} + + natural-compare@1.4.0: {} + + netmask@2.0.2: {} + + next-themes@0.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.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.13: {} + + 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.10: {} + + object-assign@4.1.1: {} + + object-inspect@1.13.3: {} + + 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.0.0 + 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.0.0 + + 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.0.0 + + 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.0.0 + + 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.3 + 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.1.2: + 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@1.1.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.1: {} + + pidtree@0.6.0: {} + + pirates@4.0.6: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + playwright-core@1.49.1: {} + + playwright@1.49.1: + dependencies: + playwright-core: 1.49.1 + optionalDependencies: + fsevents: 2.3.2 + + polished@4.3.1: + dependencies: + '@babel/runtime': 7.24.7 + + possible-typed-array-names@1.0.0: {} + + postcss@8.4.49: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier@3.3.3: {} + + prettier@3.4.2: {} + + 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.0.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.9.0: {} + + pump@3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + punycode@2.3.1: {} + + puppeteer-core@24.0.0: + dependencies: + '@puppeteer/browsers': 2.7.0 + chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) + debug: 4.4.0 + devtools-protocol: 0.0.1367902 + typed-query-selector: 2.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + puppeteer@24.0.0(typescript@5.7.3): + dependencies: + '@puppeteer/browsers': 2.7.0 + chromium-bidi: 0.12.0(devtools-protocol@0.0.1367902) + cosmiconfig: 9.0.0(typescript@5.7.3) + devtools-protocol: 0.0.1367902 + puppeteer-core: 24.0.0 + typed-query-selector: 2.12.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - typescript + - utf-8-validate + + pure-rand@6.1.0: {} + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + queue-tick@1.0.1: {} + + react-docgen-typescript@2.2.2(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + + react-docgen@7.0.3: + dependencies: + '@babel/core': 7.26.0 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + '@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.8 + strip-indent: 4.0.0 + transitivePeerDependencies: + - supports-color + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-error-boundary@5.0.0(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + react: 18.3.1 + + react-icons@5.4.0(react@18.3.1): + dependencies: + react: 18.3.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.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 7.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + react-router@7.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@types/cookie': 0.6.0 + cookie: 1.0.2 + react: 18.3.1 + set-cookie-parser: 2.7.1 + turbo-stream: 2.4.0 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + + react-select@5.9.0(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + '@emotion/cache': 11.14.0 + '@emotion/react': 11.14.0(@types/react@18.3.8)(react@18.3.1) + '@floating-ui/dom': 1.6.12 + '@types/react-transition-group': 4.4.10 + memoize-one: 6.0.0 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.8)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - supports-color + + react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + react-universal-interface@0.6.2(react@18.3.1)(tslib@2.8.1): + dependencies: + react: 18.3.1 + tslib: 2.8.1 + + react-use@17.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.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@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-universal-interface: 0.6.2(react@18.3.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@18.3.1: + dependencies: + loose-envify: 1.4.0 + + 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.0.0 + 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.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 + + require-directory@2.1.1: {} + + requireindex@1.1.0: {} + + 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.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.15.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.29.2: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.29.2 + '@rollup/rollup-android-arm64': 4.29.2 + '@rollup/rollup-darwin-arm64': 4.29.2 + '@rollup/rollup-darwin-x64': 4.29.2 + '@rollup/rollup-freebsd-arm64': 4.29.2 + '@rollup/rollup-freebsd-x64': 4.29.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.29.2 + '@rollup/rollup-linux-arm-musleabihf': 4.29.2 + '@rollup/rollup-linux-arm64-gnu': 4.29.2 + '@rollup/rollup-linux-arm64-musl': 4.29.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.29.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.29.2 + '@rollup/rollup-linux-riscv64-gnu': 4.29.2 + '@rollup/rollup-linux-s390x-gnu': 4.29.2 + '@rollup/rollup-linux-x64-gnu': 4.29.2 + '@rollup/rollup-linux-x64-musl': 4.29.2 + '@rollup/rollup-win32-arm64-msvc': 4.29.2 + '@rollup/rollup-win32-ia32-msvc': 4.29.2 + '@rollup/rollup-win32-x64-msvc': 4.29.2 + fsevents: 2.3.3 + + rtl-css-js@1.16.1: + dependencies: + '@babel/runtime': 7.24.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.23.2: + dependencies: + loose-envify: 1.4.0 + + screenfull@5.2.0: {} + + scule@1.3.0: {} + + semver@6.3.1: {} + + semver@7.6.3: {} + + 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.0.0 + + 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.3 + + 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.3 + + 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.3 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + 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.3 + transitivePeerDependencies: + - supports-color + + socks@2.8.3: + 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-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + optional: true + + 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.4.7(prettier@3.4.2): + dependencies: + '@storybook/core': 8.4.7(prettier@3.4.2) + optionalDependencies: + prettier: 3.4.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + streamx@2.18.0: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + text-decoder: 1.1.0 + optionalDependencies: + bare-events: 2.4.2 + + 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.3.0 + get-east-asian-width: 1.2.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.0.0 + 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.0.0 + 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.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + 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.2: {} + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + 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@5.5.0: + dependencies: + has-flag: 3.0.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.6: + dependencies: + pump: 3.0.0 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 2.3.1 + bare-path: 2.1.3 + + tar-stream@3.1.7: + dependencies: + b4a: 1.6.6 + fast-fifo: 1.3.2 + streamx: 2.18.0 + + terser@5.31.1: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.14.0 + commander: 2.20.3 + source-map-support: 0.5.21 + optional: true + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + text-decoder@1.1.0: + dependencies: + b4a: 1.6.6 + + 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: {} + + through@2.3.8: {} + + tiny-invariant@1.3.3: {} + + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + + tinypool@1.0.2: {} + + tinyrainbow@1.2.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.9.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@1.3.0(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + + ts-api-utils@2.0.0(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.10.6)(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.10.6 + acorn: 8.12.0 + acorn-walk: 8.3.3 + 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.3 + 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.3 + 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.3 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.0.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.0.2 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + unbzip2-stream@1.4.3: + dependencies: + buffer: 5.7.1 + through: 2.3.8 + + undici-types@6.20.0: {} + + unicorn-magic@0.1.0: {} + + unified@11.0.4: + dependencies: + '@types/unist': 3.0.2 + 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.1 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@0.2.0: {} + + universalify@2.0.1: {} + + unplugin@1.11.0: + dependencies: + acorn: 8.14.0 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.2 + + update-browserslist-db@1.1.1(browserslist@4.24.3): + dependencies: + browserslist: 4.24.3 + 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@18.3.8)(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.8 + + use-resize-observer@9.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@juggle/resize-observer': 3.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + use-sync-external-store@1.2.2(react@18.3.1): + dependencies: + react: 18.3.1 + optional: true + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + 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.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + + vite-node@2.1.8(@types/node@22.10.6)(terser@5.31.1): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.5.4 + pathe: 1.1.2 + vite: 5.4.7(@types/node@22.10.6)(terser@5.31.1) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite@5.4.7(@types/node@22.10.6)(terser@5.31.1): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.49 + rollup: 4.29.2 + optionalDependencies: + '@types/node': 22.10.6 + fsevents: 2.3.3 + terser: 5.31.1 + + vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.31.1)(yaml@2.6.1): + dependencies: + esbuild: 0.24.2 + postcss: 8.4.49 + rollup: 4.29.2 + optionalDependencies: + '@types/node': 22.10.6 + fsevents: 2.3.3 + jiti: 2.4.2 + terser: 5.31.1 + yaml: 2.6.1 + + vitest@2.1.8(@types/node@22.10.6)(jsdom@20.0.3)(terser@5.31.1): + dependencies: + '@vitest/expect': 2.1.8 + '@vitest/mocker': 2.1.8(vite@5.4.7(@types/node@22.10.6)(terser@5.31.1)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.8 + '@vitest/snapshot': 2.1.8 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.7(@types/node@22.10.6)(terser@5.31.1) + vite-node: 2.1.8(@types/node@22.10.6)(terser@5.31.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 22.10.6 + jsdom: 20.0.3 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + 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-sources@3.2.3: {} + + 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.1 + 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.0.0 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.0.10 + is-regex: 1.2.1 + is-weakref: 1.1.0 + 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.3 + + 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.3 + 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.17.1: {} + + 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.6.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + 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.0.3(zod@3.24.1): + dependencies: + zod: 3.24.1 + + zod@3.23.8: {} + + zod@3.24.1: {} + + zustand@5.0.3(@types/react@18.3.8)(react@18.3.1)(use-sync-external-store@1.2.2(react@18.3.1)): + optionalDependencies: + '@types/react': 18.3.8 + react: 18.3.1 + use-sync-external-store: 1.2.2(react@18.3.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..7af6ff7 --- /dev/null +++ b/front/src/App.tsx @@ -0,0 +1,18 @@ +import { EnvDevelopment } from './components/EnvDevelopment/EnvDevelopment'; + +import { ErrorBoundary } from '@/errors/ErrorBoundary'; +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..0b1243e --- /dev/null +++ b/front/src/assets/images/ikon.svg @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/front/src/assets/images/ikon_gray.svg b/front/src/assets/images/ikon_gray.svg new file mode 100644 index 0000000..89e1f07 --- /dev/null +++ b/front/src/assets/images/ikon_gray.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/front/src/assets/images/load.svg b/front/src/assets/images/load.svg new file mode 100644 index 0000000..aa6bb7f --- /dev/null +++ b/front/src/assets/images/load.svg @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/front/src/back-api/api/application-resource.ts b/front/src/back-api/api/application-resource.ts new file mode 100644 index 0000000..2238e79 --- /dev/null +++ b/front/src/back-api/api/application-resource.ts @@ -0,0 +1,312 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + AddUserDataWrite, + Application, + ApplicationSmall, + ApplicationWrite, + ClientToken, + Long, + RightDescription, + ZodApplication, + ZodApplicationSmall, + ZodLong, + ZodRightDescription, + isApplication, + isClientToken, +} from "../model"; + +export namespace ApplicationResource { + + export function addUser({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: AddUserDataWrite, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/application/{id}/users", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }); + }; + export function create({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: ApplicationWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isApplication); + }; + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/{id}", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isApplication); + }; + + export const ZodGetApplicationUsersTypeReturn = zod.array(ZodLong); + export type GetApplicationUsersTypeReturn = zod.infer; + + export function isGetApplicationUsersTypeReturn(data: any): data is GetApplicationUsersTypeReturn { + try { + ZodGetApplicationUsersTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetApplicationUsersTypeReturn' error=${e}`); + return false; + } + } + + export function getApplicationUsers({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/{id}/users", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isGetApplicationUsersTypeReturn); + }; + + export const ZodGetApplicationsSmallTypeReturn = zod.array(ZodApplicationSmall); + export type GetApplicationsSmallTypeReturn = zod.infer; + + export function isGetApplicationsSmallTypeReturn(data: any): data is GetApplicationsSmallTypeReturn { + try { + ZodGetApplicationsSmallTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetApplicationsSmallTypeReturn' error=${e}`); + return false; + } + } + + export function getApplicationsSmall({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/small", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetApplicationsSmallTypeReturn); + }; + export function getClientToken({ + restConfig, + queries, + }: { + restConfig: RESTConfig, + queries: { + application?: string, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/get_token", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + queries, + }, isClientToken); + }; + + export const ZodGetRightsDescriptionTypeReturn = zod.array(ZodRightDescription); + export type GetRightsDescriptionTypeReturn = zod.infer; + + export function isGetRightsDescriptionTypeReturn(data: any): data is GetRightsDescriptionTypeReturn { + try { + ZodGetRightsDescriptionTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetRightsDescriptionTypeReturn' error=${e}`); + return false; + } + } + + export function getRightsDescription({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/{id}/rights", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isGetRightsDescriptionTypeReturn); + }; + + export const ZodGetsTypeReturn = zod.array(ZodApplication); + 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; + } + } + + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + export function logOut({ + restConfig, + queries, + }: { + restConfig: RESTConfig, + queries: { + application?: string, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/return", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + queries, + }); + }; + export function patch({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: ApplicationWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application/{id}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isApplication); + }; + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/application/{id}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; + export function removeUser({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + userId: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/application/{id}/users/${userId}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; +} diff --git a/front/src/back-api/api/application-token-resource.ts b/front/src/back-api/api/application-token-resource.ts new file mode 100644 index 0000000..4bbd09b --- /dev/null +++ b/front/src/back-api/api/application-token-resource.ts @@ -0,0 +1,100 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + ApplicationToken, + CreateTokenRequestWrite, + Integer, + Long, + ZodApplicationToken, + isApplicationToken, +} from "../model"; + +export namespace ApplicationTokenResource { + + export function create({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + applicationId: Long, + }, + data: CreateTokenRequestWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application_token/{applicationId}/create", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isApplicationToken); + }; + + export const ZodGetsTypeReturn = zod.array(ZodApplicationToken); + 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; + } + } + + export function gets({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + applicationId: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/application_token/{applicationId}", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isGetsTypeReturn); + }; + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + tokenId: Integer, + applicationId: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/application_token/{applicationId}/{tokenId}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; +} 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/index.ts b/front/src/back-api/api/index.ts new file mode 100644 index 0000000..1a11731 --- /dev/null +++ b/front/src/back-api/api/index.ts @@ -0,0 +1,11 @@ +/** + * Interface of the server (auto-generated code) + */ +export * from "./application-resource" +export * from "./application-token-resource" +export * from "./data-resource" +export * from "./front" +export * from "./public-key-resource" +export * from "./right-resource" +export * from "./system-config-resource" +export * from "./user-resource" diff --git a/front/src/back-api/api/public-key-resource.ts b/front/src/back-api/api/public-key-resource.ts new file mode 100644 index 0000000..bc46964 --- /dev/null +++ b/front/src/back-api/api/public-key-resource.ts @@ -0,0 +1,46 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, +} from "../rest-tools"; + +import { + PublicKey, + isPublicKey, +} from "../model"; + +export namespace PublicKeyResource { + + export function getKey({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/public_key/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isPublicKey); + }; + export function getKeyPem({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/public_key//pem", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }); + }; +} diff --git a/front/src/back-api/api/right-resource.ts b/front/src/back-api/api/right-resource.ts new file mode 100644 index 0000000..a514064 --- /dev/null +++ b/front/src/back-api/api/right-resource.ts @@ -0,0 +1,130 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + Long, + Right, + RightWrite, + ZodRight, + isRight, +} from "../model"; + +export namespace RightResource { + + export function get({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/right/{id}", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isRight); + }; + + export const ZodGetsTypeReturn = zod.array(ZodRight); + 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; + } + } + + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/right/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + export function patch({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: RightWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/right/{id}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isRight); + }; + export function post({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: RightWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/right/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isRight); + }; + export function remove({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/right/{id}", + requestType: HTTPRequestModel.DELETE, + contentType: HTTPMimeType.TEXT_PLAIN, + }, + restConfig, + params, + }); + }; +} diff --git a/front/src/back-api/api/system-config-resource.ts b/front/src/back-api/api/system-config-resource.ts new file mode 100644 index 0000000..39d2b6a --- /dev/null +++ b/front/src/back-api/api/system-config-resource.ts @@ -0,0 +1,89 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + GetSignUpAvailable, + isGetSignUpAvailable, +} from "../model"; + +export namespace SystemConfigResource { + + + export const ZodGetKeyTypeReturn = zod.record(zod.string(), zod.any()); + export type GetKeyTypeReturn = zod.infer; + + export function isGetKeyTypeReturn(data: any): data is GetKeyTypeReturn { + try { + ZodGetKeyTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetKeyTypeReturn' error=${e}`); + return false; + } + } + + export function getKey({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + key: string, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/system_config/key/{key}", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isGetKeyTypeReturn); + }; + export function isSignUpAvailable({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/system_config/is_sign_up_availlable", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetSignUpAvailable); + }; + export function setKey({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + key: string, + }, + data: object, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/system_config/key/{key}", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }); + }; +} 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..874e378 --- /dev/null +++ b/front/src/back-api/api/user-resource.ts @@ -0,0 +1,324 @@ +/** + * Interface of the server (auto-generated code) + */ +import { + HTTPMimeType, + HTTPRequestModel, + RESTConfig, + RESTRequestJson, + RESTRequestVoid, +} from "../rest-tools"; + +import { z as zod } from "zod" +import { + ChangePasswordWrite, + DataGetTokenWrite, + GetToken, + Long, + PartRight, + UserAuth, + UserAuthGet, + UserCreateWrite, + UserOut, + ZodPartRight, + ZodUserAuthGet, + isGetToken, + isUserAuth, + isUserAuthGet, + isUserOut, +} from "../model"; + +export namespace UserResource { + + export function changePassword({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: ChangePasswordWrite, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/users/password", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + }, + restConfig, + data, + }); + }; + export function create({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: UserCreateWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isUserAuthGet); + }; + 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, + }, isUserAuthGet); + }; + + export const ZodGetApplicationRightTypeReturn = zod.record(zod.string(), ZodPartRight); + export type GetApplicationRightTypeReturn = zod.infer; + + export function isGetApplicationRightTypeReturn(data: any): data is GetApplicationRightTypeReturn { + try { + ZodGetApplicationRightTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetApplicationRightTypeReturn' error=${e}`); + return false; + } + } + + export function getApplicationRight({ + restConfig, + params, + }: { + restConfig: RESTConfig, + params: { + applicationId: Long, + userId: Long, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/{userId}/application/{applicationId}/rights", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + }, isGetApplicationRightTypeReturn); + }; + export function getMe({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/me", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isUserOut); + }; + export function getToken({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: DataGetTokenWrite, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/get_token", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isGetToken); + }; + + export const ZodGetsTypeReturn = zod.array(ZodUserAuthGet); + 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; + } + } + + export function gets({ + restConfig, + }: { + restConfig: RESTConfig, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + }, isGetsTypeReturn); + }; + export function isEmailExist({ + restConfig, + queries, + }: { + restConfig: RESTConfig, + queries: { + email?: string, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/is_email_exist", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + queries, + }); + }; + export function isLoginExist({ + restConfig, + queries, + }: { + restConfig: RESTConfig, + queries: { + login?: string, + }, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/is_login_exist", + requestType: HTTPRequestModel.GET, + accept: HTTPMimeType.JSON, + }, + restConfig, + queries, + }); + }; + export function linkApplication({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + applicationId: Long, + userId: Long, + }, + data: boolean, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/{userId}/application/{applicationId}/link", + requestType: HTTPRequestModel.POST, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isUserAuth); + }; + + export const ZodPatchApplicationRightTypeReturn = zod.record(zod.string(), ZodPartRight); + export type PatchApplicationRightTypeReturn = zod.infer; + + export function isPatchApplicationRightTypeReturn(data: any): data is PatchApplicationRightTypeReturn { + try { + ZodPatchApplicationRightTypeReturn.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodPatchApplicationRightTypeReturn' error=${e}`); + return false; + } + } + + export function patchApplicationRight({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + applicationId: Long, + userId: Long, + }, + data: {[key: string]: PartRight;}, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/users/{userId}/application/{applicationId}/rights", + requestType: HTTPRequestModel.PATCH, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isPatchApplicationRightTypeReturn); + }; + export function setAdmin({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: boolean, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/users/{id}/set_admin", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }); + }; + export function setBlocked({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: boolean, + }): Promise { + return RESTRequestVoid({ + restModel: { + endPoint: "/users/{id}/set_blocked", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }); + }; +} 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/add-user-data.ts b/front/src/back-api/model/add-user-data.ts new file mode 100644 index 0000000..4a896b4 --- /dev/null +++ b/front/src/back-api/model/add-user-data.ts @@ -0,0 +1,39 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; + +export const ZodAddUserData = zod.object({ + userId: ZodLong.optional(), + +}); + +export type AddUserData = zod.infer; + +export function isAddUserData(data: any): data is AddUserData { + try { + ZodAddUserData.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodAddUserData' error=${e}`); + return false; + } +} +export const ZodAddUserDataWrite = zod.object({ + userId: ZodLong.nullable().optional(), + +}); + +export type AddUserDataWrite = zod.infer; + +export function isAddUserDataWrite(data: any): data is AddUserDataWrite { + try { + ZodAddUserDataWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodAddUserDataWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/application-small.ts b/front/src/back-api/model/application-small.ts new file mode 100644 index 0000000..9bb9919 --- /dev/null +++ b/front/src/back-api/model/application-small.ts @@ -0,0 +1,45 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; + +export const ZodApplicationSmall = zod.object({ + id: ZodLong.optional(), + name: zod.string().optional(), + description: zod.string().optional(), + redirect: zod.string().optional(), + +}); + +export type ApplicationSmall = zod.infer; + +export function isApplicationSmall(data: any): data is ApplicationSmall { + try { + ZodApplicationSmall.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationSmall' error=${e}`); + return false; + } +} +export const ZodApplicationSmallWrite = zod.object({ + id: ZodLong.nullable().optional(), + name: zod.string().nullable().optional(), + description: zod.string().nullable().optional(), + redirect: zod.string().nullable().optional(), + +}); + +export type ApplicationSmallWrite = zod.infer; + +export function isApplicationSmallWrite(data: any): data is ApplicationSmallWrite { + try { + ZodApplicationSmallWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationSmallWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/application-token.ts b/front/src/back-api/model/application-token.ts new file mode 100644 index 0000000..de173c3 --- /dev/null +++ b/front/src/back-api/model/application-token.ts @@ -0,0 +1,33 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodGenericToken, ZodGenericTokenWrite } from "./generic-token"; + +export const ZodApplicationToken = ZodGenericToken; + +export type ApplicationToken = zod.infer; + +export function isApplicationToken(data: any): data is ApplicationToken { + try { + ZodApplicationToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationToken' error=${e}`); + return false; + } +} +export const ZodApplicationTokenWrite = ZodGenericTokenWrite; + +export type ApplicationTokenWrite = zod.infer; + +export function isApplicationTokenWrite(data: any): data is ApplicationTokenWrite { + try { + ZodApplicationTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/application.ts b/front/src/back-api/model/application.ts new file mode 100644 index 0000000..17f1802 --- /dev/null +++ b/front/src/back-api/model/application.ts @@ -0,0 +1,64 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodInteger} from "./integer"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodApplication = ZodGenericDataSoftDelete.extend({ + name: zod.string().optional(), + description: zod.string().optional(), + redirect: zod.string(), + redirectDev: zod.string().optional(), + notification: zod.string().optional(), + /** + * Expiration time + */ + ttl: ZodInteger, + /** + * Right is manage with Karso + */ + manageRight: zod.boolean(), + +}); + +export type Application = zod.infer; + +export function isApplication(data: any): data is Application { + try { + ZodApplication.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplication' error=${e}`); + return false; + } +} +export const ZodApplicationWrite = ZodGenericDataSoftDeleteWrite.extend({ + name: zod.string().nullable().optional(), + description: zod.string().nullable().optional(), + redirect: zod.string().optional(), + redirectDev: zod.string().nullable().optional(), + notification: zod.string().nullable().optional(), + /** + * Expiration time + */ + ttl: ZodInteger.optional(), + /** + * Right is manage with Karso + */ + manageRight: zod.boolean().optional(), + +}); + +export type ApplicationWrite = zod.infer; + +export function isApplicationWrite(data: any): data is ApplicationWrite { + try { + ZodApplicationWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodApplicationWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/change-password.ts b/front/src/back-api/model/change-password.ts new file mode 100644 index 0000000..b7d88d7 --- /dev/null +++ b/front/src/back-api/model/change-password.ts @@ -0,0 +1,46 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodChangePassword = zod.object({ + method: zod.string().min(2).max(2), + login: zod.string().min(3).max(128), + time: zod.string().min(20).max(64), + password: zod.string().min(128).max(128), + newPassword: zod.string().min(128).max(128), + +}); + +export type ChangePassword = zod.infer; + +export function isChangePassword(data: any): data is ChangePassword { + try { + ZodChangePassword.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodChangePassword' error=${e}`); + return false; + } +} +export const ZodChangePasswordWrite = zod.object({ + method: zod.string().min(2).max(2).optional(), + login: zod.string().min(3).max(128).optional(), + time: zod.string().min(20).max(64).optional(), + password: zod.string().min(128).max(128).optional(), + newPassword: zod.string().min(128).max(128).optional(), + +}); + +export type ChangePasswordWrite = zod.infer; + +export function isChangePasswordWrite(data: any): data is ChangePasswordWrite { + try { + ZodChangePasswordWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodChangePasswordWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/client-token.ts b/front/src/back-api/model/client-token.ts new file mode 100644 index 0000000..512212c --- /dev/null +++ b/front/src/back-api/model/client-token.ts @@ -0,0 +1,40 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodClientToken = zod.object({ + url: zod.string().optional(), + jwt: zod.string().optional(), + +}); + +export type ClientToken = zod.infer; + +export function isClientToken(data: any): data is ClientToken { + try { + ZodClientToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodClientToken' error=${e}`); + return false; + } +} +export const ZodClientTokenWrite = zod.object({ + url: zod.string().nullable().optional(), + jwt: zod.string().nullable().optional(), + +}); + +export type ClientTokenWrite = zod.infer; + +export function isClientTokenWrite(data: any): data is ClientTokenWrite { + try { + ZodClientTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodClientTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/create-token-request.ts b/front/src/back-api/model/create-token-request.ts new file mode 100644 index 0000000..3b3505c --- /dev/null +++ b/front/src/back-api/model/create-token-request.ts @@ -0,0 +1,41 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodInteger} from "./integer"; + +export const ZodCreateTokenRequest = zod.object({ + name: zod.string().optional(), + validity: ZodInteger.optional(), + +}); + +export type CreateTokenRequest = zod.infer; + +export function isCreateTokenRequest(data: any): data is CreateTokenRequest { + try { + ZodCreateTokenRequest.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodCreateTokenRequest' error=${e}`); + return false; + } +} +export const ZodCreateTokenRequestWrite = zod.object({ + name: zod.string().nullable().optional(), + validity: ZodInteger.nullable().optional(), + +}); + +export type CreateTokenRequestWrite = zod.infer; + +export function isCreateTokenRequestWrite(data: any): data is CreateTokenRequestWrite { + try { + ZodCreateTokenRequestWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodCreateTokenRequestWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/data-get-token.ts b/front/src/back-api/model/data-get-token.ts new file mode 100644 index 0000000..60f77cb --- /dev/null +++ b/front/src/back-api/model/data-get-token.ts @@ -0,0 +1,44 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodDataGetToken = zod.object({ + login: zod.string().min(3).max(128), + method: zod.string().min(2).max(2), + time: zod.string().min(20).max(64), + password: zod.string().min(128).max(128), + +}); + +export type DataGetToken = zod.infer; + +export function isDataGetToken(data: any): data is DataGetToken { + try { + ZodDataGetToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodDataGetToken' error=${e}`); + return false; + } +} +export const ZodDataGetTokenWrite = zod.object({ + login: zod.string().min(3).max(128).optional(), + method: zod.string().min(2).max(2).optional(), + time: zod.string().min(20).max(64).optional(), + password: zod.string().min(128).max(128).optional(), + +}); + +export type DataGetTokenWrite = zod.infer; + +export function isDataGetTokenWrite(data: any): data is DataGetTokenWrite { + try { + ZodDataGetTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodDataGetTokenWrite' error=${e}`); + return false; + } +} 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/generic-token.ts b/front/src/back-api/model/generic-token.ts new file mode 100644 index 0000000..67d07ec --- /dev/null +++ b/front/src/back-api/model/generic-token.ts @@ -0,0 +1,47 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodTimestamp} from "./timestamp"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodGenericToken = ZodGenericDataSoftDelete.extend({ + parentId: ZodLong, + name: zod.string(), + endValidityTime: ZodTimestamp, + token: zod.string(), + +}); + +export type GenericToken = zod.infer; + +export function isGenericToken(data: any): data is GenericToken { + try { + ZodGenericToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericToken' error=${e}`); + return false; + } +} +export const ZodGenericTokenWrite = ZodGenericDataSoftDeleteWrite.extend({ + parentId: ZodLong.optional(), + name: zod.string().optional(), + endValidityTime: ZodTimestamp.optional(), + token: zod.string().optional(), + +}); + +export type GenericTokenWrite = zod.infer; + +export function isGenericTokenWrite(data: any): data is GenericTokenWrite { + try { + ZodGenericTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGenericTokenWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/get-sign-up-available.ts b/front/src/back-api/model/get-sign-up-available.ts new file mode 100644 index 0000000..638b0b2 --- /dev/null +++ b/front/src/back-api/model/get-sign-up-available.ts @@ -0,0 +1,38 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodGetSignUpAvailable = zod.object({ + signup: zod.boolean(), + +}); + +export type GetSignUpAvailable = zod.infer; + +export function isGetSignUpAvailable(data: any): data is GetSignUpAvailable { + try { + ZodGetSignUpAvailable.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetSignUpAvailable' error=${e}`); + return false; + } +} +export const ZodGetSignUpAvailableWrite = zod.object({ + signup: zod.boolean(), + +}); + +export type GetSignUpAvailableWrite = zod.infer; + +export function isGetSignUpAvailableWrite(data: any): data is GetSignUpAvailableWrite { + try { + ZodGetSignUpAvailableWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetSignUpAvailableWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/get-token.ts b/front/src/back-api/model/get-token.ts new file mode 100644 index 0000000..1e222c4 --- /dev/null +++ b/front/src/back-api/model/get-token.ts @@ -0,0 +1,38 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodGetToken = zod.object({ + jwt: zod.string(), + +}); + +export type GetToken = zod.infer; + +export function isGetToken(data: any): data is GetToken { + try { + ZodGetToken.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetToken' error=${e}`); + return false; + } +} +export const ZodGetTokenWrite = zod.object({ + jwt: zod.string().optional(), + +}); + +export type GetTokenWrite = zod.infer; + +export function isGetTokenWrite(data: any): data is GetTokenWrite { + try { + ZodGetTokenWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodGetTokenWrite' 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..7108566 --- /dev/null +++ b/front/src/back-api/model/index.ts @@ -0,0 +1,36 @@ +/** + * Interface of the server (auto-generated code) + */ +export * from "./add-user-data" +export * from "./application" +export * from "./application-small" +export * from "./application-token" +export * from "./change-password" +export * from "./client-token" +export * from "./create-token-request" +export * from "./data-get-token" +export * from "./generic-data" +export * from "./generic-data-soft-delete" +export * from "./generic-timing" +export * from "./generic-token" +export * from "./get-sign-up-available" +export * from "./get-token" +export * from "./integer" +export * from "./iso-date" +export * from "./jwt-header" +export * from "./jwt-payload" +export * from "./jwt-token" +export * from "./long" +export * from "./object-id" +export * from "./part-right" +export * from "./public-key" +export * from "./rest-error-response" +export * from "./right" +export * from "./right-description" +export * from "./timestamp" +export * from "./user" +export * from "./user-auth" +export * from "./user-auth-get" +export * from "./user-create" +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/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/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/public-key.ts b/front/src/back-api/model/public-key.ts new file mode 100644 index 0000000..b83af0e --- /dev/null +++ b/front/src/back-api/model/public-key.ts @@ -0,0 +1,38 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodPublicKey = zod.object({ + key: zod.string().optional(), + +}); + +export type PublicKey = zod.infer; + +export function isPublicKey(data: any): data is PublicKey { + try { + ZodPublicKey.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodPublicKey' error=${e}`); + return false; + } +} +export const ZodPublicKeyWrite = zod.object({ + key: zod.string().nullable().optional(), + +}); + +export type PublicKeyWrite = zod.infer; + +export function isPublicKeyWrite(data: any): data is PublicKeyWrite { + try { + ZodPublicKeyWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodPublicKeyWrite' 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/right-description.ts b/front/src/back-api/model/right-description.ts new file mode 100644 index 0000000..635f7a7 --- /dev/null +++ b/front/src/back-api/model/right-description.ts @@ -0,0 +1,70 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodRightDescription = ZodGenericDataSoftDelete.extend({ + /** + * Application id that have the reference of the right + */ + applicationId: ZodLong, + /** + * Key of the property + */ + key: zod.string(), + /** + * Title of the right + */ + title: zod.string(), + /** + * Description of the right + */ + description: zod.string(), + +}); + +export type RightDescription = zod.infer; + +export function isRightDescription(data: any): data is RightDescription { + try { + ZodRightDescription.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRightDescription' error=${e}`); + return false; + } +} +export const ZodRightDescriptionWrite = ZodGenericDataSoftDeleteWrite.extend({ + /** + * Application id that have the reference of the right + */ + applicationId: ZodLong.optional(), + /** + * Key of the property + */ + key: zod.string().optional(), + /** + * Title of the right + */ + title: zod.string().optional(), + /** + * Description of the right + */ + description: zod.string().optional(), + +}); + +export type RightDescriptionWrite = zod.infer; + +export function isRightDescriptionWrite(data: any): data is RightDescriptionWrite { + try { + ZodRightDescriptionWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRightDescriptionWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/right.ts b/front/src/back-api/model/right.ts new file mode 100644 index 0000000..a1969d6 --- /dev/null +++ b/front/src/back-api/model/right.ts @@ -0,0 +1,71 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodLong} from "./long"; +import {ZodPartRight} from "./part-right"; +import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteWrite } from "./generic-data-soft-delete"; + +export const ZodRight = ZodGenericDataSoftDelete.extend({ + /** + * application-ID that have the reference of the right + */ + applicationId: ZodLong, + /** + * user-ID + */ + userId: ZodLong, + /** + * rightDescription-ID of the right description + */ + rightDescriptionId: ZodLong, + /** + * Value of the right + */ + value: ZodPartRight, + +}); + +export type Right = zod.infer; + +export function isRight(data: any): data is Right { + try { + ZodRight.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRight' error=${e}`); + return false; + } +} +export const ZodRightWrite = ZodGenericDataSoftDeleteWrite.extend({ + /** + * application-ID that have the reference of the right + */ + applicationId: ZodLong.optional(), + /** + * user-ID + */ + userId: ZodLong.optional(), + /** + * rightDescription-ID of the right description + */ + rightDescriptionId: ZodLong.optional(), + /** + * Value of the right + */ + value: ZodPartRight.optional(), + +}); + +export type RightWrite = zod.infer; + +export function isRightWrite(data: any): data is RightWrite { + try { + ZodRightWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodRightWrite' 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/user-auth-get.ts b/front/src/back-api/model/user-auth-get.ts new file mode 100644 index 0000000..d619d57 --- /dev/null +++ b/front/src/back-api/model/user-auth-get.ts @@ -0,0 +1,41 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodUser, ZodUserWrite } from "./user"; + +export const ZodUserAuthGet = ZodUser.extend({ + email: zod.string(), + avatar: zod.boolean(), + +}); + +export type UserAuthGet = zod.infer; + +export function isUserAuthGet(data: any): data is UserAuthGet { + try { + ZodUserAuthGet.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuthGet' error=${e}`); + return false; + } +} +export const ZodUserAuthGetWrite = ZodUserWrite.extend({ + email: zod.string().optional(), + avatar: zod.boolean().optional(), + +}); + +export type UserAuthGetWrite = zod.infer; + +export function isUserAuthGetWrite(data: any): data is UserAuthGetWrite { + try { + ZodUserAuthGetWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuthGetWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-auth.ts b/front/src/back-api/model/user-auth.ts new file mode 100644 index 0000000..d0a82c5 --- /dev/null +++ b/front/src/back-api/model/user-auth.ts @@ -0,0 +1,57 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + +import {ZodTimestamp} from "./timestamp"; +import {ZodLong} from "./long"; +import {ZodUser, ZodUserWrite } from "./user"; + +export const ZodUserAuth = ZodUser.extend({ + password: zod.string().min(128).max(128).optional(), + email: zod.string().min(5).max(128), + emailValidate: ZodTimestamp.optional(), + newEmail: zod.string().min(5).max(128).optional(), + avatar: zod.boolean(), + /** + * List of accessible application (if not set the application is not available) + */ + applications: zod.array(ZodLong), + +}); + +export type UserAuth = zod.infer; + +export function isUserAuth(data: any): data is UserAuth { + try { + ZodUserAuth.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuth' error=${e}`); + return false; + } +} +export const ZodUserAuthWrite = ZodUserWrite.extend({ + password: zod.string().min(128).max(128).nullable().optional(), + email: zod.string().min(5).max(128).optional(), + emailValidate: ZodTimestamp.nullable().optional(), + newEmail: zod.string().min(5).max(128).nullable().optional(), + avatar: zod.boolean().optional(), + /** + * List of accessible application (if not set the application is not available) + */ + applications: zod.array(ZodLong).optional(), + +}); + +export type UserAuthWrite = zod.infer; + +export function isUserAuthWrite(data: any): data is UserAuthWrite { + try { + ZodUserAuthWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserAuthWrite' error=${e}`); + return false; + } +} diff --git a/front/src/back-api/model/user-create.ts b/front/src/back-api/model/user-create.ts new file mode 100644 index 0000000..e8dbb0d --- /dev/null +++ b/front/src/back-api/model/user-create.ts @@ -0,0 +1,42 @@ +/** + * Interface of the server (auto-generated code) + */ +import { z as zod } from "zod"; + + +export const ZodUserCreate = zod.object({ + login: zod.string().min(3).max(128), + email: zod.string().min(5).max(128), + password: zod.string().min(128).max(128), + +}); + +export type UserCreate = zod.infer; + +export function isUserCreate(data: any): data is UserCreate { + try { + ZodUserCreate.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserCreate' error=${e}`); + return false; + } +} +export const ZodUserCreateWrite = zod.object({ + login: zod.string().min(3).max(128).optional(), + email: zod.string().min(5).max(128).optional(), + password: zod.string().min(128).max(128).optional(), + +}); + +export type UserCreateWrite = zod.infer; + +export function isUserCreateWrite(data: any): data is UserCreateWrite { + try { + ZodUserCreateWrite.parse(data); + return true; + } catch (e: any) { + console.log(`Fail to parse data type='ZodUserCreateWrite' 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/Cover.tsx b/front/src/components/Cover.tsx new file mode 100644 index 0000000..12e8ffe --- /dev/null +++ b/front/src/components/Cover.tsx @@ -0,0 +1,99 @@ +import { ReactElement, useEffect, useState } from 'react'; + +import { Box, BoxProps, Flex, FlexProps } from '@chakra-ui/react'; +import { Image } from '@chakra-ui/react'; + +import { DataUrlAccess } from '@/utils/data-url-access'; +import { Icon } from './Icon'; +import { ObjectId } from '@/back-api'; + +export type CoversProps = Omit & { + data?: ObjectId[]; + size?: BoxProps["width"]; + iconEmpty?: ReactElement; + slideshow?: boolean; +}; + +export const Covers = ({ + data, + iconEmpty, + size = '100px', + slideshow = false, + ...rest +}: CoversProps) => { + const [currentImageIndex, setCurrentImageIndex] = useState(0); + const [previousImageIndex, setPreviousImageIndex] = useState(0); + const [topOpacity, setTopOpacity] = useState(0.0); + + useEffect(() => { + if (!slideshow) { + return; + } + const interval = setInterval(() => { + setPreviousImageIndex(currentImageIndex); + setTopOpacity(0.0); + setTimeout(() => { + setCurrentImageIndex((prevIndex) => (prevIndex + 1) % (data?.length ?? 1)); + setTopOpacity(1.0); + }, 1500); + }, 3000); + return () => clearInterval(interval); + }, [slideshow, data]); + + if (!data || data.length < 1) { + if (iconEmpty) { + return ; + } else { + return ( + + ); + } + } + if (slideshow === false || data.length === 1) { + const url = DataUrlAccess.getThumbnailUrl(data[0]); + return ; + } + const urlCurrent = DataUrlAccess.getThumbnailUrl(data[currentImageIndex]); + const urlPrevious = DataUrlAccess.getThumbnailUrl(data[previousImageIndex]); + return + + + +}; diff --git a/front/src/components/EmptyEnd.tsx b/front/src/components/EmptyEnd.tsx new file mode 100644 index 0000000..e054f6c --- /dev/null +++ b/front/src/components/EmptyEnd.tsx @@ -0,0 +1,13 @@ +import { Box } from '@chakra-ui/react'; + +export const EmptyEnd = () => { + return ( + + ); +}; diff --git a/front/src/components/EnvDevelopment/EnvDevelopment.tsx b/front/src/components/EnvDevelopment/EnvDevelopment.tsx new file mode 100644 index 0000000..a6f57de --- /dev/null +++ b/front/src/components/EnvDevelopment/EnvDevelopment.tsx @@ -0,0 +1,113 @@ + +import { + Box, + Button, + createListCollection, + Dialog, + Select, + Span, + Stack, + Text, + useDisclosure, +} from '@chakra-ui/react'; + +import { useSessionService } from '@/service/session'; +import { useLogin } from '@/scene/connection/useLogin'; + +export const USERS_COLLECTION = createListCollection({ + items: [ + { label: "karadmin", value: "adminA@666" }, + { label: "karuser", value: "userA@666" }, + { label: "NO_USER", value: "" }, + ], +}) + +export const EnvDevelopment = () => { + const dialog = useDisclosure(); + + const {clearToken} = useSessionService(); + const {connect, lastError} = useLogin(); + + const buildEnv = + process.env.NODE_ENV === 'development' + ? 'Development' + : import.meta.env.VITE_DEV_ENV_NAME; + const envName: Array = []; + !!buildEnv && envName.push(buildEnv); + + if (!envName.length) { + return null; + } + const handleChange = (key: string, value: string) => { + console.log(`SELECT: [${key}:${value}]`); + if (key === 'NO_USER') { + clearToken(); + } else { + connect(key, value); + } + }; + return ( + <> + + + {envName.join(' : ')} + + + + + + + + Development tools + + + User {lastError} + + + + + + {USERS_COLLECTION.items.map((value) => ( + handleChange(value.label, value.value)} > + {value.label} + + ))} + + + + + + + + + + + + ); +}; + diff --git a/front/src/components/Icon.tsx b/front/src/components/Icon.tsx new file mode 100644 index 0000000..1e8d8d5 --- /dev/null +++ b/front/src/components/Icon.tsx @@ -0,0 +1,41 @@ +import { + Box, + Flex, + FlexProps, +} from '@chakra-ui/react'; +import { forwardRef, ReactNode } from 'react'; + +export type IconProps = FlexProps & { + children: ReactNode; + color?: string; + sizeIcon?: FlexProps['width']; +}; + +export const Icon = forwardRef( + ({ children, color, sizeIcon = '1em', ...rest }, ref) => { + return ( + + + {children} + + + ); + } +); + +Icon.displayName = 'Icon'; diff --git a/front/src/components/Layout/PageLayout.tsx b/front/src/components/Layout/PageLayout.tsx new file mode 100644 index 0000000..5fae32b --- /dev/null +++ b/front/src/components/Layout/PageLayout.tsx @@ -0,0 +1,52 @@ +import React, { ReactNode, useEffect } from 'react'; + +import { Flex, Image } from '@chakra-ui/react'; +import { useLocation } from 'react-router-dom'; + +import ikon from '@/assets/images/ikon.svg'; +import { TOP_BAR_HEIGHT } from '@/components/TopBar/TopBar'; + +export type LayoutProps = React.PropsWithChildren & { + topBar?: ReactNode; +}; + +export const PageLayout = ({ children }: LayoutProps) => { + const { pathname } = useLocation(); + + useEffect(() => { + window.scrollTo(0, 0); + }, [pathname]); + + return ( + <> + + + + + {children} + + + ); +}; diff --git a/front/src/components/Layout/PageLayoutInfoCenter.tsx b/front/src/components/Layout/PageLayoutInfoCenter.tsx new file mode 100644 index 0000000..e0f518e --- /dev/null +++ b/front/src/components/Layout/PageLayoutInfoCenter.tsx @@ -0,0 +1,43 @@ +import React, { ReactNode, useEffect } from 'react'; + +import { Flex, FlexProps } from '@chakra-ui/react'; +import { useLocation } from 'react-router-dom'; + +import { PageLayout } from '@/components/Layout/PageLayout'; +import { colors } from '@/theme/colors'; +import { useColorModeValue } from '@/components/ui/color-mode'; + +export type LayoutProps = FlexProps & { + children: ReactNode; +}; + +export const PageLayoutInfoCenter = ({ + children, + width = '25%', + ...rest +}: LayoutProps) => { + const { pathname } = useLocation(); + + useEffect(() => { + window.scrollTo(0, 0); + }, [pathname]); + + return ( + + + {children} + + + ); +}; diff --git a/front/src/components/SearchInput.tsx b/front/src/components/SearchInput.tsx new file mode 100644 index 0000000..046c516 --- /dev/null +++ b/front/src/components/SearchInput.tsx @@ -0,0 +1,56 @@ +import { useState } from 'react'; + +import { + Group, + Input, +} from '@chakra-ui/react'; +import { MdSearch } from 'react-icons/md'; + +export type SearchInputProps = { + onChange?: (data?: string) => void; + onSubmit?: (data?: string) => void; +}; + +export const SearchInput = ({ + onChange: onChangeValue, + onSubmit: onSubmitValue, +}: SearchInputProps) => { + const [inputData, setInputData] = useState(undefined); + const [searchInputProperty, setSearchInputProperty] = + useState(undefined); + function onFocusKeep(): void { + setSearchInputProperty({ + width: '70%', + maxWidth: '70%', + }); + } + function onFocusLost(): void { + setSearchInputProperty({ + width: '250px', + }); + } + function onChange(event): void { + const data = + event.target.value.length === 0 ? undefined : event.target.value; + setInputData(data); + if (onChangeValue) { + onChangeValue(data); + } + } + function onSubmit(): void { + if (onSubmitValue) { + onSubmitValue(inputData); + } + } + return ( + + + setTimeout(() => onFocusLost(), 200)} + onChange={onChange} + onSubmit={onSubmit} + /> + + ); +}; diff --git a/front/src/components/TopBar/TopBar.tsx b/front/src/components/TopBar/TopBar.tsx new file mode 100644 index 0000000..80a068f --- /dev/null +++ b/front/src/components/TopBar/TopBar.tsx @@ -0,0 +1,228 @@ +import { ReactNode } from 'react'; + +import { + Box, + Flex, + HStack, + IconButton, + Text, + useDisclosure, + Button, + ConditionalValue, + Span, + chakra, +} from '@chakra-ui/react'; +import { + LuAlignJustify, + LuArrowBigLeft, + LuCircleUserRound, + LuLogIn, + LuLogOut, + LuMoon, + LuSettings, + LuSun, +} from 'react-icons/lu'; +import { useNavigate } from 'react-router-dom'; + +import { useServiceContext } from '@/service/ServiceContext'; +import { colors } from '@/theme/colors'; +import { useSessionService } from '@/service/session'; +import { MdHelp, MdHome, MdKey, MdMore, MdOutlineDashboardCustomize, MdOutlineGroup, MdSettings, MdSupervisedUserCircle } from 'react-icons/md'; +import { MenuContent, MenuItem, MenuRoot, MenuTrigger } from '@/components/ui/menu'; +import { useColorMode, useColorModeValue } from '@/components/ui/color-mode'; +import { + DrawerBody, + DrawerContent, + DrawerHeader, + DrawerRoot, +} from '@/components/ui/drawer'; + +export const TOP_BAR_HEIGHT = '50px'; + +export const BUTTON_TOP_BAR_PROPERTY = { + variant: "ghost" as ConditionalValue<"ghost" | "outline" | "solid" | "subtle" | "surface" | "plain" | undefined>, + //colorPalette: "brand", + fontSize: '20px', + textTransform: 'uppercase', + height: TOP_BAR_HEIGHT, +}; + +export type TopBarProps = { + children?: ReactNode; + title?: string; +}; + +const ButtonMenuLeft = ({ dest, title, icon, + onClickEnd = () => { }, }: { + dest: string, title: string, icon: ReactNode + onClickEnd?: () => void; + }) => { + const navigate = useNavigate(); + return <> + + + +} +export const TopBar = ({ title, children }: TopBarProps) => { + const { colorMode, toggleColorMode } = useColorMode(); + + const { session } = useServiceContext(); + const backColor = useColorModeValue('back.100', 'back.800'); + const drawerDisclose = useDisclosure(); + const onChangeTheme = () => { + drawerDisclose.onOpen(); + }; + const navigate = useNavigate(); + // const onSignIn = (): void => { + // clearToken(); + // requestSignIn(); + // }; + // const onSignUp = (): void => { + // clearToken(); + // requestSignUp(); + // }; + // const onSignOut = (): void => { + // clearToken(); + // requestSignOut(); + // }; + return ( + + + {title && ( + + {title} + + )} + {children} + + {!session?.token && ( + <> + + + + )} + {session?.token && ( + + + + + + + + Sign in as {session?.login ?? 'Fail'} + + navigate('/settings')}>Settings + navigate('/help')}> Help + navigate('/signout')}> + Sign-out + + {colorMode === 'light' ? ( + + Set dark mode + + ) : ( + + Set light mode + + )} + + + )} + + + + + + + + karso + + + + + + } /> + } /> + } /> + } /> + } /> + + + + + ); +}; diff --git a/front/src/components/contextMenu/ContextMenu.tsx b/front/src/components/contextMenu/ContextMenu.tsx new file mode 100644 index 0000000..ffa5249 --- /dev/null +++ b/front/src/components/contextMenu/ContextMenu.tsx @@ -0,0 +1,46 @@ +import { ReactNode, useState } from 'react'; + +import { LuMenu } from 'react-icons/lu'; +import { MenuContent, MenuItem, MenuRoot, MenuTrigger } from '../ui/menu'; +import { Button } from '../ui/button'; + + +export type MenuElement = { + icon?: ReactNode; + name: string; + onClick: () => void; +}; + +export type ContextMenuProps = { + elements?: MenuElement[]; +}; + +export const ContextMenu = ({ elements }: ContextMenuProps) => { + if (!elements) { + return <>; + } + return ( + + + {/* This is very stupid, we need to set as span to prevent a button in button... WTF */} + + + + {elements?.map((data) => ( + + {data.icon} + {data.name} + + ))} + + + ); +}; diff --git a/front/src/components/form/FormCovers.tsx b/front/src/components/form/FormCovers.tsx new file mode 100644 index 0000000..7b48ef7 --- /dev/null +++ b/front/src/components/form/FormCovers.tsx @@ -0,0 +1,176 @@ +import { + DragEventHandler, + ReactNode, + RefObject, +} from 'react'; + +import { + Box, + BoxProps, + Center, + Flex, + HStack, + Image, +} from '@chakra-ui/react'; +import { + MdHighlightOff, + MdUploadFile, +} from 'react-icons/md'; + +import { FormGroup } from '@/components/form/FormGroup'; +import { UseFormidableReturn } from '@/components/form/Formidable'; +import { DataUrlAccess } from '@/utils/data-url-access'; + +export type DragNdropProps = { + onFilesSelected?: (file: File[]) => void; + onUriSelected?: (uri: string) => void; + width?: string; + height?: string; +}; + +export const DragNdrop = ({ + onFilesSelected = () => { }, + onUriSelected = () => { }, + width = '100px', + height = '100px', +}: DragNdropProps) => { + const handleFileChange = (event) => { + const selectedFiles = event.target.files; + if (selectedFiles && selectedFiles.length > 0) { + const newFiles: File[] = Array.from(selectedFiles); + onFilesSelected(newFiles); + } + }; + const handleDrop = (eventInput: any) => { + const event = eventInput as DragEvent; + event.preventDefault(); + const droppedFiles = event.dataTransfer?.files; + console.log('drop ...' + droppedFiles?.length); + if (droppedFiles && droppedFiles?.length > 0) { + const newFiles: File[] = Array.from(droppedFiles); + onFilesSelected(newFiles); + } else { + console.log(`drop types: ${event.dataTransfer?.types}`); + const listUri = event.dataTransfer?.getData('text/uri-list'); + console.log(`listUri: ${listUri}`); + if (!listUri) { + return; + } + onUriSelected(listUri); + } + }; + + return ( + event.preventDefault()} + > + + + ); +}; + +export type CenterIconProps = BoxProps & { + children: ReactNode; + sizeIcon?: string; +}; + +export const CenterIcon = ({ + children, + sizeIcon = '15px', + ...rest +}: CenterIconProps) => { + return ( + + {children} + + ); +}; + +export type FormCoversProps = { + form: UseFormidableReturn; + variableName: string; + ref?: RefObject; + label?: string; + isRequired?: boolean; + onFilesSelected?: (files: File[]) => void; + onUriSelected?: (uri: string) => void; + onRemove?: (index: number) => void; +}; + +export const FormCovers = ({ + form, + variableName, + ref, + onFilesSelected = () => { }, + onUriSelected = () => { }, + onRemove = () => { }, + ...rest +}: FormCoversProps) => { + const urls = + DataUrlAccess.getListThumbnailUrl(form.values[variableName]) ?? []; + return ( + form.restoreValue({ [variableName]: true })} + {...rest} + > + + {urls.map((data, index) => ( + + + + onRemove && onRemove(index)} + > + + + + + ))} + + + + + + ); +}; diff --git a/front/src/components/form/FormGroup.tsx b/front/src/components/form/FormGroup.tsx new file mode 100644 index 0000000..59c3587 --- /dev/null +++ b/front/src/components/form/FormGroup.tsx @@ -0,0 +1,67 @@ +import { ReactNode } from 'react'; + +import { Flex, Text } from '@chakra-ui/react'; +import { MdErrorOutline, MdHelpOutline, MdRefresh } from 'react-icons/md'; + +export type FormGroupProps = { + error?: ReactNode; + help?: ReactNode; + label?: ReactNode; + isModify?: boolean; + onRestore?: () => void; + isRequired?: boolean; + children: ReactNode; + enableModifyNotification?: boolean; + enableReset?: boolean; +}; + +export const FormGroup = ({ + children, + error, + help, + label, + isModify = false, + isRequired = false, + enableModifyNotification = false, + enableReset = false, + onRestore, +}: FormGroupProps) => ( + + + {!!label && ( + + {label}{' '} + {isRequired && ( + + * + + )} + + )} + {!!onRestore && isModify && enableReset && ( + + )} + + {children} + {!!help && ( + + + {help} + + )} + + {!!error && ( + + + {error} + + )} + +); diff --git a/front/src/components/form/FormInput.tsx b/front/src/components/form/FormInput.tsx new file mode 100644 index 0000000..80dbfaa --- /dev/null +++ b/front/src/components/form/FormInput.tsx @@ -0,0 +1,42 @@ +import { RefObject } from 'react'; + +import { Input } from '@chakra-ui/react'; + +import { FormGroup, FormGroupProps } from '@/components/form/FormGroup'; +import { UseFormidableReturn } from '@/components/form/Formidable'; + +export type FormInputProps = { + form: UseFormidableReturn; + variableName: string; + ref?: RefObject; + label?: string; + placeholder?: string; + isRequired?: boolean; +} & Omit; + +export const FormInput = ({ + form, + variableName, + ref, + placeholder, + ...rest +}: FormInputProps) => { + return ( + form.restoreValue({ [variableName]: true })} + {...rest} + > + form.setValues({ [variableName]: e.target.value })} + /> + + ); +}; diff --git a/front/src/components/form/FormNumber.tsx b/front/src/components/form/FormNumber.tsx new file mode 100644 index 0000000..af52a4a --- /dev/null +++ b/front/src/components/form/FormNumber.tsx @@ -0,0 +1,54 @@ +import { RefObject } from 'react'; + +import { FormGroup } from '@/components/form/FormGroup'; +import { UseFormidableReturn } from '@/components/form/Formidable'; +import { NumberInputField, NumberInputProps, NumberInputRoot } from '../ui/number-input'; + +export type FormNumberProps = Pick< + NumberInputProps, + 'step' | 'defaultValue' | 'min' | 'max' +> & { + form: UseFormidableReturn; + variableName: string; + ref?: RefObject; + label?: string; + placeholder?: string; + isRequired?: boolean; +}; + +export const FormNumber = ({ + form, + variableName, + ref, + placeholder, + step, + min, + max, + defaultValue, + ...rest +}: FormNumberProps) => { + const onEvent = (value) => { + form.setValues({ [variableName]: value.value }); + } + return ( + form.restoreValue({ [variableName]: true })} + {...rest} + > + + + + + ); +}; diff --git a/front/src/components/form/FormPassword.tsx b/front/src/components/form/FormPassword.tsx new file mode 100644 index 0000000..800d767 --- /dev/null +++ b/front/src/components/form/FormPassword.tsx @@ -0,0 +1,55 @@ +import { RefObject, useState } from 'react'; + +import { chakra, Group, Input } from '@chakra-ui/react'; + +import { FormGroup, FormGroupProps } from '@/components/form/FormGroup'; +import { UseFormidableReturn } from '@/components/form/Formidable'; +import { Button } from '../ui/button'; +import { LuEye, LuEyeOff } from 'react-icons/lu'; + +export type FormInputProps = { + form: UseFormidableReturn; + variableName: string; + ref?: RefObject; + label?: string; + placeholder?: string; + isRequired?: boolean; +} & Omit; + +export const FormPassword = ({ + form, + variableName, + ref, + placeholder, + ...rest +}: FormInputProps) => { + const [showPassword, setShowPassword] = useState(false); + function toggleVisible(): void { + setShowPassword((value) => ! value) + } + + return ( + form.restoreValue({ [variableName]: true })} + {...rest} + > + + form.setValues({ [variableName]: e.target.value })} + paddingRight="47px" + /> + + + + ); +}; diff --git a/front/src/components/form/FormSelect.stories.tsx b/front/src/components/form/FormSelect.stories.tsx new file mode 100644 index 0000000..723853a --- /dev/null +++ b/front/src/components/form/FormSelect.stories.tsx @@ -0,0 +1,119 @@ +import { useState } from 'react'; + +import { Box } from '@chakra-ui/react'; + +import { FormSelect } from '@/components/form/FormSelect'; +import { useFormidable } from '@/components/form/Formidable'; + +export default { + title: 'Components/FormSelect', +}; + +type BasicFormData = { + data?: number; +}; + +export const Default = () => { + const form = useFormidable({}); + return ( + + ); +}; + +export const ChangeKeys = () => { + const form = useFormidable({}); + return ( + + ); +}; +export const ChangeName = () => { + const form = useFormidable({}); + return ( + + ); +}; +export const AddableItem = () => { + const form = useFormidable({}); + const [data, setData] = useState([ + { id: 111, name: 'first Item' }, + { id: 222, name: 'Second Item' }, + { id: 333, name: 'third item' }, + ]); + return ( + { + return new Promise((resolve, _rejects) => { + let upperId = 0; + setData((previous) => { + previous.forEach((element) => { + if (element['id'] > upperId) { + upperId = element['id']; + } + }); + upperId++; + return [...previous, { id: upperId, name: data }]; + }); + resolve({ id: upperId, name: data }); + }); + }} + options={data} + /> + ); +}; + +export const DarkBackground = { + render: () => { + const form = useFormidable({}); + return ( + + + + ); + }, + + parameters: { + docs: { + description: { + story: 'some story **markdown**', + }, + }, + }, +}; diff --git a/front/src/components/form/FormSelect.tsx b/front/src/components/form/FormSelect.tsx new file mode 100644 index 0000000..33ca7e6 --- /dev/null +++ b/front/src/components/form/FormSelect.tsx @@ -0,0 +1,72 @@ +import { RefObject } from 'react'; + +import { Text } from '@chakra-ui/react'; + +import { FormGroup } from '@/components/form/FormGroup'; +import { UseFormidableReturn } from '@/components/form/Formidable'; +import { SelectSingle } from '@/components/select/SelectSingle'; + +export type FormSelectProps = { + // Generic Form input + form: UseFormidableReturn; + // Form: Name of the variable + variableName: string; + // Forward object reference + ref?: RefObject; + // Form: Label of the input + label?: string; + // Form: Placeholder if nothing is selected + placeholder?: string; + // Form: Specify if the element is required or not + isRequired?: boolean; + // List of object options + options: object[]; + // in the option specify the value Key + keyInputKey?: string; + // in the option specify the value field + keyInputValue?: string; + // Add capability to add an item (no key but only value) + addNewItem?: (data: string) => Promise; + // if a suggestion exist at the auto compleat + suggestion?: string; +}; + +export const FormSelect = ({ + form, + variableName, + ref, + placeholder, + options, + keyInputKey = 'id', + keyInputValue = 'name', + suggestion, + addNewItem, + ...rest +}: FormSelectProps) => { + // if set add capability to add the search item + const onCreate = !addNewItem + ? undefined + : (data: string) => { + addNewItem(data).then((data: object) => form.setValues({ [variableName]: data[keyInputKey] })); + }; + return ( + form.restoreValue({ [variableName]: true })} + {...rest} + > + form.setValues({ [variableName]: value })} + keyKey={keyInputKey} + keyValue={keyInputValue} + onCreate={onCreate} + suggestion={suggestion} + /> + + ); +}; diff --git a/front/src/components/form/FormSelectMultiple.stories.tsx b/front/src/components/form/FormSelectMultiple.stories.tsx new file mode 100644 index 0000000..ef4c6b8 --- /dev/null +++ b/front/src/components/form/FormSelectMultiple.stories.tsx @@ -0,0 +1,119 @@ +import { useState } from 'react'; + +import { Box } from '@chakra-ui/react'; + +import { FormSelectMultiple } from '@/components/form/FormSelectMultiple'; +import { useFormidable } from '@/components/form/Formidable'; + +export default { + title: 'Components/FormSelectMultipleMultiple', +}; + +type BasicFormData = { + data?: number[]; +}; + +export const Default = () => { + const form = useFormidable({}); + return ( + + ); +}; + +export const ChangeKeys = () => { + const form = useFormidable({}); + return ( + + ); +}; +export const ChangeName = () => { + const form = useFormidable({}); + return ( + + ); +}; +export const AddableItem = () => { + const form = useFormidable({}); + const [data, setData] = useState([ + { id: 111, name: 'first Item' }, + { id: 222, name: 'Second Item' }, + { id: 333, name: 'third item' }, + ]); + return ( + { + return new Promise((resolve, _rejects) => { + let upperId = 0; + setData((previous) => { + previous.forEach((element) => { + if (element['id'] > upperId) { + upperId = element['id']; + } + }); + upperId++; + return [...previous, { id: upperId, name: data }]; + }); + resolve({ id: upperId, name: data }); + }); + }} + options={data} + /> + ); +}; + +export const DarkBackground = { + render: () => { + const form = useFormidable({}); + return ( + + + + ); + }, + + parameters: { + docs: { + description: { + story: 'some story **markdown**', + }, + }, + }, +}; diff --git a/front/src/components/form/FormSelectMultiple.tsx b/front/src/components/form/FormSelectMultiple.tsx new file mode 100644 index 0000000..08a6c46 --- /dev/null +++ b/front/src/components/form/FormSelectMultiple.tsx @@ -0,0 +1,66 @@ +import { RefObject } from 'react'; + +import { FormGroup } from '@/components/form/FormGroup'; +import { UseFormidableReturn } from '@/components/form/Formidable'; +import { SelectMultiple } from '@/components/select/SelectMultiple'; + +export type FormSelectMultipleProps = { + // Generic Form input + form: UseFormidableReturn; + // Form: Name of the variable + variableName: string; + // Forward object reference + ref?: RefObject; + // Form: Label of the input + label?: string; + // Form: Placeholder if nothing is selected + placeholder?: string; + // Form: Specify if the element is required or not + isRequired?: boolean; + // List of object options + options: object[]; + // in the option specify the value Key + keyInputKey?: string; + // in the option specify the value field + keyInputValue?: string; + // Add capability to add an item (no key but only value) + addNewItem?: (data: string) => Promise; +}; + +export const FormSelectMultiple = ({ + form, + variableName, + ref, + placeholder, + options, + keyInputKey = 'id', + keyInputValue = 'name', + addNewItem, + ...rest +}: FormSelectMultipleProps) => { + // if set add capability to add the search item + const onCreate = !addNewItem + ? undefined + : (data: string) => { + addNewItem(data).then((data: object) => form.setValues({ [variableName]: [...(form.values[variableName] ?? []), data[keyInputKey]] })); + }; + return ( + form.restoreValue({ [variableName]: true })} + {...rest} + > + form.setValues({ [variableName]: value })} + keyKey={keyInputKey} + keyValue={keyInputValue} + onCreate={onCreate} + /> + + ); +}; diff --git a/front/src/components/form/FormTextarea.tsx b/front/src/components/form/FormTextarea.tsx new file mode 100644 index 0000000..00ab905 --- /dev/null +++ b/front/src/components/form/FormTextarea.tsx @@ -0,0 +1,41 @@ +import { RefObject } from 'react'; + +import { Textarea } from '@chakra-ui/react'; + +import { FormGroup } from '@/components/form/FormGroup'; +import { UseFormidableReturn } from '@/components/form/Formidable'; + +export type FormTextareaProps = { + form: UseFormidableReturn; + variableName: string; + ref?: RefObject; + label?: string; + placeholder?: string; + isRequired?: boolean; +}; + +export const FormTextarea = ({ + form, + variableName, + ref, + placeholder, + ...rest +}: FormTextareaProps) => { + return ( + form.restoreValue({ [variableName]: true })} + {...rest} + > +