@commercetools/nimbus 0.0.5-rc1 → 0.0.5-rc4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/components/avatar/avatar.recipe.tsx","../src/components/avatar/avatar.slots.tsx","../src/components/avatar/avatar.tsx","../src/components/box/box.tsx","../src/components/button/button.recipe.ts","../../../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../node_modules/.pnpm/@emotion+is-prop-valid@1.3.1/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../src/components/button/button.slots.tsx","../src/components/button/button.tsx","../src/components/dialog/dialog.tsx","../src/components/icon-button/icon-button.tsx","../src/components/link/link.recipe.ts","../src/components/link/link.slots.tsx","../src/components/link/link.tsx","../src/components/list/list.tsx","../src/components/simple-grid/simple-grid.tsx","../src/components/table/table.tsx","../src/components/text/text.tsx","../src/components/tooltip/tooltip.recipe.ts","../src/components/tooltip/tooltip.slots.ts","../src/components/tooltip/tooltip.tsx","../src/components/tooltip/tooltip-trigger.tsx","../src/components/tooltip/make-element-focusable.tsx","../../../node_modules/.pnpm/next-themes@0.4.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next-themes/dist/index.mjs","../src/components/nimbus-provider/color-mode.tsx","../src/theme/animation-styles.ts","../src/theme/breakpoints.ts","../src/theme/global-css.ts","../src/theme/keyframes.ts","../src/theme/layer-styles.ts","../src/components/code/code.recipe.ts","../src/components/heading/heading.recipe.ts","../src/components/kbd/kbd.recipe.ts","../src/components/text-input/text-input.recipe.tsx","../src/theme/recipes/index.ts","../src/theme/semantic-tokens/colors.ts","../src/theme/semantic-tokens/shadows.ts","../src/theme/semantic-tokens/radii.ts","../src/theme/semantic-tokens/index.ts","../src/components/dialog/dialog.recipe.ts","../src/components/list/list.recipe.ts","../src/components/table/table.recipe.ts","../src/components/checkbox/checkbox.recipe.tsx","../src/components/select/select.recipe.tsx","../src/components/accordion/accordion.recipe.tsx","../src/theme/slot-recipes/index.ts","../src/theme/text-styles.ts","../src/theme/tokens/aspect-ratios.ts","../src/theme/tokens/animations.ts","../src/theme/tokens/blurs.ts","../src/theme/tokens/borders.ts","../src/theme/tokens/colors.ts","../src/theme/tokens/durations.ts","../src/theme/tokens/easings.ts","../src/theme/tokens/fonts.ts","../src/theme/tokens/font-sizes.ts","../src/theme/tokens/font-weights.ts","../src/theme/tokens/letter-spacings.ts","../src/theme/tokens/line-heights.ts","../src/theme/tokens/radii.ts","../src/theme/tokens/spacing.ts","../src/theme/tokens/sizes.ts","../src/theme/tokens/z-index.ts","../src/theme/tokens/cursor.ts","../src/theme/tokens/index.ts","../src/theme/index.ts","../src/components/nimbus-provider/nimbus-provider.tsx","../src/utils/extractStyleProps.ts","../src/components/checkbox/checkbox.slots.tsx","../src/components/checkbox/checkbox.tsx","../src/components/stack/stack.tsx","../src/components/visually-hidden/visually-hidden.tsx","../src/components/text-input/text-input.slots.tsx","../src/components/text-input/text-input.tsx","../src/components/grid/grid.tsx","../src/components/select/select.slots.tsx","../src/components/select/components/select.clear-button.tsx","../src/components/select/components/select.root.tsx","../src/utils/fixedForwardRef.ts","../src/components/select/components/select.options.tsx","../src/components/select/components/select.option.tsx","../src/components/select/components/select.option-group.tsx","../src/components/select/select.tsx","../src/components/accordion/accordion.slots.tsx","../src/components/accordion/accordion-context.tsx","../src/components/accordion/components/accordion-group.tsx","../src/components/accordion/components/accordion-header.tsx","../src/components/accordion/components/accordion-content.tsx","../src/components/accordion/components/accordion-item.tsx","../src/components/accordion/accordion.tsx","../src/components/loading-spinner/loading-spinner.recipe.tsx","../src/components/loading-spinner/loading-spinner.slots.tsx","../src/components/loading-spinner/loading-spinner.tsx","../src/components/card/card.recipe.tsx","../src/components/card/card.slots.tsx","../src/components/card/components/card.root.tsx","../src/components/card/components/card.header.tsx","../src/components/card/components/card.content.tsx","../src/components/card/card.tsx","../src/components/badge/badge.recipe.tsx","../src/components/badge/badge.slots.tsx","../src/components/badge/badge.tsx","../src/components/alert/alert.recipe.tsx","../src/components/alert/alert.slots.tsx","../src/components/alert/components/alert.root.tsx","../src/components/alert/components/alert.title.tsx","../src/components/alert/components/alert.description.tsx","../src/components/alert/components/alert.actions.tsx","../src/components/alert/components/alert.dismiss-button.tsx","../src/components/alert/alert.tsx","../src/components/toggle-button-group/toggle-button-group.recipe.tsx","../src/components/toggle-button-group/toggle-button-group.slots.tsx","../src/components/toggle-button-group/components/toggle-button-group.root.tsx","../src/components/toggle-button-group/components/toggle-button-group.button.tsx","../src/components/toggle-button-group/toggle-button-group.tsx","../src/components/form-field/form-field.recipe.tsx","../src/components/form-field/form-field.slots.tsx","../src/components/form-field/components/form-field.root.tsx","../src/components/form-field/components/form-field.label.tsx","../src/components/form-field/components/form-field.input.tsx","../src/components/form-field/components/form-field.description.tsx","../src/components/form-field/components/form-field.error.tsx","../src/components/form-field/components/form-field.info-box.tsx","../src/components/form-field/form-field.tsx","../../../node_modules/.pnpm/react-hotkeys-hook@4.6.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-hotkeys-hook/dist/react-hotkeys-hook.esm.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useMountedState.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useSetState.js","../../../node_modules/.pnpm/toggle-selection@1.0.6/node_modules/toggle-selection/index.js","../../../node_modules/.pnpm/copy-to-clipboard@3.3.3/node_modules/copy-to-clipboard/index.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useCopyToClipboard.js"],"sourcesContent":["import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const avatarRecipe = defineRecipe({\n className: \"avatar\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n verticalAlign: \"middle\",\n overflow: \"hidden\",\n userSelect: \"none\",\n borderRadius: \"full\",\n flexShrink: 0,\n fontWeight: \"600\",\n backgroundColor: \"colorPalette.3\",\n colorPalette: \"primary\",\n color: \"colorPalette.11\",\n focusVisibleRing: \"outside\",\n \"button&\": {\n cursor: \"button\",\n },\n _disabled: {\n layerStyle: \"disabled\",\n },\n },\n variants: {\n size: {\n md: { width: 1000, height: 1000, textStyle: \"sm\" },\n xs: { width: 800, height: 800, textStyle: \"xs\" },\n \"2xs\": { width: 600, height: 600, textStyle: \"xs\" },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\nimport { avatarRecipe } from \"./avatar.recipe\";\n\ninterface AvatarRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface AvatarRootProps\n extends HTMLChakraProps<\"div\", AvatarRecipeProps> {}\nconst { withContext } = createRecipeContext({ recipe: avatarRecipe });\n\nexport const AvatarRoot = withContext<HTMLElement, AvatarRootProps>(\"figure\");\n","import { forwardRef } from \"react\";\nimport { Image } from \"@chakra-ui/react\";\nimport { type AvatarProps } from \"./avatar.types\";\nimport { AvatarRoot } from \"./avatar.slots.tsx\";\n\nfunction getInitials(firstName: string, lastName: string) {\n return (\n firstName.split(\"\")[0].toUpperCase() + lastName.split(\"\")[0].toUpperCase()\n );\n}\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>((props, ref) => {\n const { firstName, lastName, src, alt, ...rest } = props;\n\n const fullName = `${firstName} ${lastName}`;\n\n const sharedProps = {\n \"aria-label\": `${fullName} avatar`,\n ref,\n ...rest,\n };\n return (\n <AvatarRoot {...sharedProps}>\n {src ? (\n // TODO: implement more robust error handling for image\n <Image src={src} alt={alt || fullName} />\n ) : (\n getInitials(firstName, lastName)\n )}\n </AvatarRoot>\n );\n});\n\nAvatar.displayName = \"Avatar\";\n","import { forwardRef } from \"react\";\nimport { Box as ChakraBox, type HTMLChakraProps } from \"@chakra-ui/react\";\nexport interface BoxProps extends HTMLChakraProps<\"div\"> {\n children?: React.ReactNode;\n}\n\nexport const Box = forwardRef<HTMLDivElement, BoxProps>((props, ref) => {\n return <ChakraBox ref={ref} {...props} />;\n});\n\nBox.displayName = \"Box\";\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const buttonRecipe = defineRecipe({\n className: \"nimbus-button\",\n base: {\n borderRadius: \"200\",\n display: \"inline-flex\",\n appearance: \"none\",\n alignItems: \"center\",\n justifyContent: \"center\",\n userSelect: \"none\",\n position: \"relative\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n cursor: \"button\",\n flexShrink: \"0\",\n outline: \"0\",\n lineHeight: \"1.2\",\n isolation: \"isolate\",\n fontWeight: \"500\",\n transitionProperty: \"common\",\n transitionDuration: \"moderate\",\n focusVisibleRing: \"outside\",\n _disabled: {\n layerStyle: \"disabled\",\n },\n _icon: {\n flexShrink: \"0\",\n },\n },\n variants: {\n size: {\n \"2xs\": {\n h: \"600\",\n minW: \"600\",\n fontSize: \"300\",\n fontWeight: \"500\",\n lineHeight: \"400\",\n px: \"200\",\n gap: \"100\",\n _icon: {\n width: \"400\",\n height: \"400\",\n },\n },\n xs: {\n h: \"800\",\n minW: \"800\",\n fontSize: \"350\",\n fontWeight: \"500\",\n lineHeight: \"400\",\n px: \"300\",\n gap: \"100\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n },\n /* sm: {\n h: \"900\",\n minW: \"900\",\n px: \"350\",\n textStyle: \"sm\",\n gap: \"200\",\n _icon: {\n width: \"400\",\n height: \"400\",\n },\n }, */\n md: {\n h: \"1000\",\n minW: \"1000\",\n fontSize: \"400\",\n lineHeight: \"500\",\n px: \"400\",\n gap: \"200\",\n _icon: {\n width: \"600\",\n height: \"600\",\n },\n },\n /* lg: {\n h: \"1100\",\n minW: \"1100\",\n textStyle: \"md\",\n px: \"500\",\n gap: \"300\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n }, */\n /* xl: {\n h: \"1200\",\n minW: \"1200\",\n textStyle: \"md\",\n px: \"500\",\n gap: \"250\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n }, */\n /* \"2xl\": {\n h: \"1600\",\n minW: \"1600\",\n textStyle: \"lg\",\n px: \"700\",\n gap: \"300\",\n _icon: {\n width: \"600\",\n height: \"600\",\n },\n }, */\n },\n variant: {\n solid: {\n bg: \"colorPalette.9\",\n color: \"colorPalette.contrast\",\n _hover: {\n bg: \"colorPalette.10\",\n },\n _expanded: {\n bg: \"colorPalette.10\",\n },\n },\n subtle: {\n bg: \"colorPalette.3\",\n color: \"colorPalette.11\",\n _hover: {\n bg: \"colorPalette.4\",\n },\n _expanded: {\n bg: \"colorPalette.4\",\n },\n },\n outline: {\n borderWidth: \"1px\",\n borderColor: \"colorPalette.7\",\n color: \"colorPalette.11\",\n transitionProperty: \"background-color, border-color, color\",\n transitionDuration: \"moderate\",\n _hover: {\n bg: \"colorPalette.3\",\n borderColor: \"colorPalette.8\",\n },\n _expanded: {\n bg: \"colorPalette.subtle\",\n },\n },\n ghost: {\n color: \"colorPalette.11\",\n _hover: {\n bg: \"colorPalette.4\",\n },\n _expanded: {\n bg: \"colorPalette.4\",\n },\n },\n link: {\n color: \"colorPalette.11\",\n _hover: {\n textDecoration: \"underline\",\n },\n },\n },\n tone: {\n primary: {\n colorPalette: \"primary\",\n },\n critical: {\n colorPalette: \"critical\",\n },\n neutral: {\n colorPalette: \"neutral\",\n },\n info: {\n colorPalette: \"info\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"subtle\",\n },\n});\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n defaultSystem,\n} from \"@chakra-ui/react\";\nimport { buttonRecipe } from \"./button.recipe\";\nimport shouldForwardProp from \"@emotion/is-prop-valid\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the button element.\n */\ninterface ButtonRecipeProps extends RecipeProps<\"button\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport type ButtonRootProps = HTMLChakraProps<\"button\", ButtonRecipeProps>;\n\nconst { withContext } = createRecipeContext({\n recipe: buttonRecipe,\n});\n\n/**\n * Root component that provides the styling context for the Battn component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const ButtonRoot = withContext<HTMLButtonElement, ButtonRootProps>(\n \"button\",\n {\n defaultProps: {\n type: \"button\",\n },\n /** make sure the `onPress` properties won't end up as attribute on the rendered DOM element */\n shouldForwardProp(prop, variantKeys) {\n const chakraSfp =\n !variantKeys?.includes(prop) && !defaultSystem.isValidProperty(prop);\n return shouldForwardProp(prop) && chakraSfp && !prop.includes(\"onPress\");\n },\n }\n);\n","import { forwardRef, useRef } from \"react\";\nimport { useButton, useObjectRef, mergeProps } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { ButtonRoot } from \"./button.slots.tsx\";\nimport type { ButtonProps } from \"./button.types.ts\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, forwardedRef) => {\n const { as, asChild, children, ...rest } = props;\n\n // create a local ref (because the consumer may not provide a forwardedRef)\n const localRef = useRef<HTMLButtonElement>(null);\n // merge the local ref with a potentially forwarded ref\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n // if asChild is set, for react-aria to add the button-role, the elementType\n // has to be manually set to something else than button\n const elementType = as || (asChild ? \"a\" : \"button\") || \"button\";\n\n const { buttonProps } = useButton(\n {\n ...rest,\n elementType,\n },\n ref\n );\n\n return (\n <ButtonRoot {...mergeProps(rest, buttonProps, { as, asChild, ref })}>\n {children}\n </ButtonRoot>\n );\n }\n);\n\n// Manually assign a displayName for debugging purposes\nButton.displayName = \"Button\";\n","import { Dialog as ChakraDialog, Portal } from \"@chakra-ui/react\";\nimport { forwardRef } from \"react\";\nimport { Button } from \"../button\";\n\ninterface DialogContentProps extends ChakraDialog.ContentProps {\n portalled?: boolean;\n portalRef?: React.RefObject<HTMLElement>;\n backdrop?: boolean;\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n function DialogContent(props, ref) {\n const {\n children,\n portalled = true,\n portalRef,\n backdrop = true,\n ...rest\n } = props;\n\n return (\n <Portal disabled={!portalled} container={portalRef}>\n {backdrop && <ChakraDialog.Backdrop />}\n <ChakraDialog.Positioner>\n <ChakraDialog.Content ref={ref} {...rest} asChild={false}>\n {children}\n </ChakraDialog.Content>\n </ChakraDialog.Positioner>\n </Portal>\n );\n }\n);\n\nexport const DialogCloseTrigger = forwardRef<\n HTMLButtonElement,\n ChakraDialog.CloseTriggerProps\n>(function DialogCloseTrigger(props, ref) {\n return (\n <ChakraDialog.CloseTrigger\n position=\"absolute\"\n top=\"2\"\n insetEnd=\"2\"\n {...props}\n asChild\n >\n <Button size=\"xs\" ref={ref}>\n {props.children}\n </Button>\n </ChakraDialog.CloseTrigger>\n );\n});\n\nexport const DialogRoot = ChakraDialog.Root;\nexport const DialogFooter = ChakraDialog.Footer;\nexport const DialogHeader = ChakraDialog.Header;\nexport const DialogBody = ChakraDialog.Body;\nexport const DialogBackdrop = ChakraDialog.Backdrop;\nexport const DialogTitle = ChakraDialog.Title;\nexport const DialogDescription = ChakraDialog.Description;\nexport const DialogTrigger = ChakraDialog.Trigger;\nexport const DialogActionTrigger = ChakraDialog.ActionTrigger;\n","import { forwardRef } from \"react\";\nimport type { IconButtonProps } from \"./icon-button.types\";\nimport { Button } from \"@/components\";\n\n/**\n * IconButton\n * ============================================================\n * displays a button with only an icon as child. It is based\n * on the regular `Button` component, but with a few adjustments.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ children, ...props }, ref) => {\n return (\n <Button px={0} py={0} ref={ref} {...props}>\n {children}\n </Button>\n );\n }\n);\n\nIconButton.displayName = \"IconButton\";\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Link component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const linkRecipe = defineRecipe({\n className: \"nimbus-link\",\n // Base styles applied to all instances of the component\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n color: \"colorPalette.11\",\n borderRadius: \"100\",\n focusVisibleRing: \"outside\",\n bg: \"transparent\",\n outline: \"none\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n textUnderlineOffset: \"3px\",\n _hover: {\n textDecorationThickness: \"12%\",\n },\n },\n // Available variants for customizing the component's appearance\n variants: {\n // Size variants from smallest to largest\n size: {\n xs: {\n fontSize: \"300\",\n lineHeight: \"450\",\n },\n sm: {\n fontSize: \"350\",\n lineHeight: \"500\",\n },\n md: {\n fontSize: \"400\",\n lineHeight: \"600\",\n },\n },\n // style variants\n fontColor: {\n primary: {\n color: \"primary\",\n },\n inherit: {\n color: \"inherit\",\n },\n },\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { linkRecipe } from \"./link.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the a element.\n */\ninterface LinkRecipeProps extends RecipeProps<\"a\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport type LinkRootProps = HTMLChakraProps<\"a\", LinkRecipeProps>;\n\nconst { withContext } = createRecipeContext({ recipe: linkRecipe });\n\n/**\n * Root component that provides the styling context for the Link component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const LinkRoot = withContext<HTMLAnchorElement, LinkRootProps>(\"a\");\n","import { forwardRef, useRef } from \"react\";\nimport { LinkRoot } from \"./link.slots\";\nimport type { LinkProps } from \"./link.types\";\nimport { useLink, useObjectRef, mergeProps } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\n\n/**\n * Link\n * ============================================================\n * To allow a user to navigate to a different page or resource\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLAnchorElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)\n */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n (props, forwardedRef) => {\n const { as, asChild, children, ...rest } = props;\n\n const localRef = useRef<HTMLAnchorElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n const elementType = (as as string) || (asChild ? \"span\" : \"a\") || \"a\";\n const { linkProps } = useLink({ ...rest, elementType }, ref);\n\n return (\n <LinkRoot {...mergeProps(rest, linkProps, { as, asChild, ref })}>\n {children}\n </LinkRoot>\n );\n }\n);\n\nLink.displayName = \"Link\";\n","import { List } from \"@chakra-ui/react\";\n\nexport type ListRootType = React.ComponentProps<typeof List.Root>;\nexport type ListItemType = React.ComponentProps<typeof List.Item>;\n\nconst ListRoot = (props: ListRootType) => <List.Root {...props} />;\nconst ListItem = (props: ListItemType) => <List.Item {...props} />;\n\nexport { List, ListRoot, ListItem };\n","import { forwardRef } from \"react\";\nimport {\n SimpleGrid as ChakraSimpleGrid,\n GridItem,\n type SimpleGridProps as ChakraSimpleGridProps,\n} from \"@chakra-ui/react\";\n\n/**\n * SimpleGrid\n * ============================================================\n * The SimpleGrid Layout Component provides a flexible and responsive way to structure content.\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n */\nexport interface SimpleGridProps extends ChakraSimpleGridProps {\n children?: React.ReactNode;\n}\n\nconst GridComponent = forwardRef<HTMLDivElement, SimpleGridProps>(\n (props, ref) => {\n return <ChakraSimpleGrid ref={ref} {...props} />;\n }\n);\n\nGridComponent.displayName = \"SimpleGrid\";\n\nexport const SimpleGrid = Object.assign(GridComponent, {\n Item: GridItem,\n});\n","import { Table } from \"@chakra-ui/react\";\n\n// Extracting props types from subcomponents\nexport type TableRootProps = React.ComponentProps<typeof Table.Root>;\nexport type TableColumnGroupProps = React.ComponentProps<\n typeof Table.ColumnGroup\n>;\nexport type TableColumnProps = React.ComponentProps<typeof Table.Column>;\nexport type TableHeaderProps = React.ComponentProps<typeof Table.Header>;\nexport type TableFooterProps = React.ComponentProps<typeof Table.Footer>;\nexport type TableRowProps = React.ComponentProps<typeof Table.Row>;\nexport type TableCellProps = React.ComponentProps<typeof Table.Cell>;\nexport type TableBodyProps = React.ComponentProps<typeof Table.Body>;\nexport type TableColumnHeaderProps = React.ComponentProps<\n typeof Table.ColumnHeader\n>;\n\nconst TableRoot = (props: TableRootProps) => <Table.Root {...props} />;\nconst TableColumnGroup = (props: TableColumnGroupProps) => (\n <Table.ColumnGroup {...props} />\n);\nconst TableColumn = (props: TableColumnProps) => <Table.Column {...props} />;\nconst TableHeader = (props: TableHeaderProps) => <Table.Header {...props} />;\nconst TableFooter = (props: TableFooterProps) => <Table.Footer {...props} />;\nconst TableRow = (props: TableRowProps) => <Table.Row {...props} />;\nconst TableCell = (props: TableCellProps) => <Table.Cell {...props} />;\nconst TableBody = (props: TableBodyProps) => <Table.Body {...props} />;\nconst TableColumnHeader = (props: TableColumnHeaderProps) => (\n <Table.ColumnHeader {...props} />\n);\n\nexport {\n Table,\n TableRoot,\n TableColumnGroup,\n TableColumn,\n TableHeader,\n TableFooter,\n TableRow,\n TableCell,\n TableBody,\n TableColumnHeader,\n};\n","import {\n Text as ChakraText,\n type TextProps as ChakraTextProps,\n} from \"@chakra-ui/react\";\nimport { forwardRef } from \"react\";\n\nexport interface TextProps extends ChakraTextProps {}\n\n/**\n * Render Text\n *\n * Use this component to render text. Various props can be passed to customize the text.\n * Check the documentation for more information.\n *\n * @see https://DOMAIN/components/typography/text\n */\nexport const Text = forwardRef<HTMLParagraphElement, TextProps>(\n (props, ref) => {\n return <ChakraText ref={ref} {...props} />;\n }\n);\n\nText.displayName = \"Text\";\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Tooltip component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const tooltipRecipe = defineRecipe({\n // Unique class name prefix for the component\n className: \"nimbus-tooltip\",\n\n // Base styles applied to all instances of the component\n base: {\n color: \"white\",\n textStyle: \"xs\",\n fontWeight: \"400\",\n background: \"slate.12\",\n display: \"inline-flex\",\n alignItems: \"center\",\n borderRadius: \"100\",\n paddingX: \"300\",\n paddingY: \"100\",\n margin: \"100\",\n maxW: \"6400\",\n boxShadow: \"1\",\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { type TooltipProps as RATooltipProps } from \"react-aria-components\";\n\nimport { tooltipRecipe } from \"./tooltip.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n */\ninterface TooltipRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface TooltipRootProps\n extends HTMLChakraProps<\"div\", TooltipRecipeProps> {}\n\nconst { withContext } = createRecipeContext({ recipe: tooltipRecipe });\n\n/**\n * Root component that provides the styling context for the Tooltip component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TooltipRoot = withContext<\n HTMLDivElement,\n TooltipRootProps & RATooltipProps\n>(\"div\");\n","import { forwardRef } from \"react\";\nimport { Tooltip as RATooltip } from \"react-aria-components\";\nimport { TooltipRoot } from \"./tooltip.slots\";\nimport type { TooltipProps } from \"./tooltip.types\";\n\n/**\n * Tooltip\n * ============================================================\n * A contextual popup that displays a description for an element, uses `Tooltip` component from `react-aria-components`.\n *\n * Features:\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLDivElement' attributes (including aria- & data-attributes)\n * - allows overriding styles by using style-props\n *\n * Further Context:\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n * - [ARIA Tooltip Pattern](https://www.w3.org/TR/wai-aria-1.2/#tooltip)\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip({ children, placement = \"bottom\", ...props }, forwardedRef) {\n return (\n <TooltipRoot ref={forwardedRef} asChild {...props}>\n <RATooltip placement={placement} {...props}>\n {children}\n </RATooltip>\n </TooltipRoot>\n );\n }\n);\nTooltip.displayName = \"Tooltip\";\n","import { TooltipTrigger as RATooltipTrigger } from \"react-aria-components\";\n\n/**\n * TooltipTrigger\n * ============================================================\n * TooltipTrigger wraps around a trigger element and a Tooltip.\n * It handles opening and closing the Tooltip when the user hovers over or focuses the trigger,\n * and positioning the Tooltip relative to the trigger.\n *\n * Directly exported from `react-aria-components`\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n */\nexport const TooltipTrigger = RATooltipTrigger;\n// @ts-expect-error displaynames can be set on component instances, necessary for pretty react-live output\nTooltipTrigger.displayName = \"TooltipTrigger\";\n","import {\n cloneElement,\n forwardRef,\n useRef,\n type PropsWithChildren,\n isValidElement,\n} from \"react\";\nimport {\n mergeProps,\n useObjectRef,\n useFocusable,\n type FocusableOptions,\n} from \"react-aria\";\n\nimport { mergeRefs } from \"@chakra-ui/react\";\n\n/**\n * MakeElementFocusable\n * ============================================================\n * A helper component that adds props from `react-aria`s `useFocusable` hook\n * to its child so that it can be used as a trigger element for a `Tooltip`\n *\n * Caveats:\n * - Using non-interactive elements as tooltip triggers is against ARIA best-practices,\n * it is your responsibility to ensure that the underlying trigger element handles\n * focus and hover interactions correctly for keyboard-only users\n *\n * Features:\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLElement' attributes (including aria- & data-attributes)\n *\n * Further Context:\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n * - [React Aria Components Issue re:Tooltip with custom trigger](https://github.com/adobe/react-spectrum/issues/5733#issuecomment-1918691983)\n * - [ARIA Tooltip Pattern](https://www.w3.org/TR/wai-aria-1.2/#tooltip)\n */\nexport const MakeElementFocusable = forwardRef<\n HTMLElement,\n PropsWithChildren<FocusableOptions<HTMLElement>>\n>(function MakeElementFocusable(props, forwardedRef) {\n const localRef = useRef<HTMLElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const { focusableProps } = useFocusable(props, ref);\n if (isValidElement(props.children)) {\n return cloneElement(\n props.children,\n mergeProps(\n focusableProps,\n props.children.props as PropsWithChildren<\n FocusableOptions<HTMLElement>\n >,\n { ref: ref }\n )\n );\n }\n});\nMakeElementFocusable.displayName = \"MakeElementFocusable\";\n","\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","\"use client\";\nimport { ThemeProvider, useTheme, type ThemeProviderProps } from \"next-themes\";\n\nexport interface ColorModeProviderProps extends ThemeProviderProps {}\n\nexport function ColorModeProvider(props: ColorModeProviderProps) {\n return (\n <ThemeProvider attribute=\"class\" disableTransitionOnChange {...props} />\n );\n}\n\nexport function useColorMode() {\n const { resolvedTheme, setTheme } = useTheme();\n const toggleColorMode = () => {\n setTheme(resolvedTheme === \"light\" ? \"dark\" : \"light\");\n };\n return {\n colorMode: resolvedTheme,\n setColorMode: setTheme,\n toggleColorMode,\n };\n}\n\nexport function useColorModeValue<T>(light: T, dark: T) {\n const { colorMode } = useColorMode();\n return colorMode === \"light\" ? light : dark;\n}\n\nexport function ColorModeLabel() {\n const { colorMode } = useColorMode();\n return colorMode === \"light\" ? \"Light Theme\" : \"DarkTheme\";\n}\n","import { defineAnimationStyles } from \"@chakra-ui/react\";\n\ntype AnimationStylesType = ReturnType<typeof defineAnimationStyles>;\n\nexport const animationStyles: AnimationStylesType = defineAnimationStyles({\n \"slide-fade-in\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n \"&[data-placement^=top]\": {\n animationName: \"slide-from-bottom, fade-in\",\n },\n \"&[data-placement^=bottom]\": {\n animationName: \"slide-from-top, fade-in\",\n },\n \"&[data-placement^=left]\": {\n animationName: \"slide-from-right, fade-in\",\n },\n \"&[data-placement^=right]\": {\n animationName: \"slide-from-left, fade-in\",\n },\n },\n },\n \"slide-fade-out\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n \"&[data-placement^=top]\": {\n animationName: \"slide-to-bottom, fade-out\",\n },\n \"&[data-placement^=bottom]\": {\n animationName: \"slide-to-top, fade-out\",\n },\n \"&[data-placement^=left]\": {\n animationName: \"slide-to-right, fade-out\",\n },\n \"&[data-placement^=right]\": {\n animationName: \"slide-to-left, fade-out\",\n },\n },\n },\n \"scale-fade-in\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n animationName: \"scale-in, fade-in\",\n },\n },\n \"scale-fade-out\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n animationName: \"scale-out, fade-out\",\n },\n },\n});\n","import { themeTokens } from \"@commercetools/nimbus-tokens\";\n\ninterface BreakpointValue {\n value?: string;\n [key: string]: any;\n}\n\ninterface BreakpointsTokenObject {\n [key: string]: string | BreakpointValue;\n}\n\ninterface TransformedBreakpoints {\n [key: string]: string;\n}\n\nfunction transformBreakpoints(\n input: BreakpointsTokenObject\n): TransformedBreakpoints {\n const transformed: TransformedBreakpoints = {};\n\n for (const key in input) {\n if ((input[key] as BreakpointValue)?.value) {\n transformed[key] = (input[key] as BreakpointValue).value!;\n } else {\n transformed[key] = input[key] as string;\n }\n }\n\n return transformed;\n}\n\nexport const breakpoints = transformBreakpoints(themeTokens.breakpoints);\n","import { defineGlobalStyles } from \"@chakra-ui/react\";\n\nexport const globalCss = defineGlobalStyles({\n \"*\": {\n fontFeatureSettings:\n '\"liga\", \"calt\", \"case\", \"ss01\", \"ss07\", \"ss08\", \"tnum\"',\n \"--ring-inset\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--ring-offset-width\": \"0px\",\n \"--ring-offset-color\": \"#fff\",\n \"--ring-color\": \"rgba(66, 153, 225, 0.6)\",\n \"--ring-offset-shadow\": \"0 0 #0000\",\n \"--ring-shadow\": \"0 0 #0000\",\n \"--focus-ring-color\": \"colors.primary.7\",\n \"--brightness\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--contrast\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--grayscale\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--hue-rotate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--invert\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--saturate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--sepia\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--drop-shadow\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-blur\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-brightness\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-contrast\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-grayscale\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-hue-rotate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-invert\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-opacity\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-saturate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-sepia\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--global-font-mono\": \"fonts.mono\",\n \"--global-font-body\": \"fonts.body\",\n \"--global-color-border\": \"colors.border\",\n },\n /** 'liga' may replace 2 characters with a single one,\n * which causes differences in formatting when a monospace font is used.*/\n \"code *\": {\n fontFeatureSettings: '\"calt\", \"case\", \"ss01\", \"ss07\", \"ss08\", \"tnum\"',\n },\n html: {\n color: \"fg\",\n bg: \"bg\",\n lineHeight: \"1.5\",\n colorPalette: \"neutral\",\n },\n \"*::placeholder\": {\n color: \"fg.muted/80\",\n },\n \"*::selection\": {\n bg: \"colorPalette.9\",\n color: \"colorPalette.contrast\",\n },\n});\n","export const keyframes = {\n spin: {\n \"0%\": {\n transform: \"rotate(0deg)\",\n },\n \"100%\": {\n transform: \"rotate(360deg)\",\n },\n },\n pulse: {\n \"50%\": {\n opacity: \"0.5\",\n },\n },\n ping: {\n \"75%, 100%\": {\n transform: \"scale(2)\",\n opacity: \"0\",\n },\n },\n bounce: {\n \"0%, 100%\": {\n transform: \"translateY(-25%)\",\n animationTimingFunction: \"cubic-bezier(0.8,0,1,1)\",\n },\n \"50%\": {\n transform: \"none\",\n animationTimingFunction: \"cubic-bezier(0,0,0.2,1)\",\n },\n },\n\n \"fade-in\": {\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n },\n \"fade-out\": {\n from: {\n opacity: 1,\n },\n to: {\n opacity: 0,\n },\n },\n \"slide-from-left-full\": {\n from: {\n translate: \"-100% 0\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-from-right-full\": {\n from: {\n translate: \"100% 0\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-from-top-full\": {\n from: {\n translate: \"0 -100%\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-from-bottom-full\": {\n from: {\n translate: \"0 100%\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-to-left-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"-100% 0\",\n },\n },\n \"slide-to-right-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"100% 0\",\n },\n },\n \"slide-to-top-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"0 -100%\",\n },\n },\n \"slide-to-bottom-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"0 100%\",\n },\n },\n \"slide-from-top\": {\n \"0%\": {\n translate: \"0 -0.5rem\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-from-bottom\": {\n \"0%\": {\n translate: \"0 0.5rem\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-from-left\": {\n \"0%\": {\n translate: \"-0.5rem 0\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-from-right\": {\n \"0%\": {\n translate: \"0.5rem 0\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-to-top\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"0 -0.5rem\",\n },\n },\n \"slide-to-bottom\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"0 0.5rem\",\n },\n },\n \"slide-to-left\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"-0.5rem 0\",\n },\n },\n \"slide-to-right\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"0.5rem 0\",\n },\n },\n \"scale-in\": {\n from: {\n scale: \"0.95\",\n },\n to: {\n scale: \"1\",\n },\n },\n \"scale-out\": {\n from: {\n scale: \"1\",\n },\n to: {\n scale: \"0.95\",\n },\n },\n};\n","import { defineLayerStyles } from \"@chakra-ui/react\";\n\ntype LayerStylesType = ReturnType<typeof defineLayerStyles>;\n\nexport const layerStyles: LayerStylesType = defineLayerStyles({\n disabled: {\n value: {\n opacity: \"0.5\",\n cursor: \"not-allowed\",\n },\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const codeRecipe = defineRecipe({\n className: \"nimbus-code\",\n base: {\n fontFamily: \"mono\",\n alignItems: \"center\",\n display: \"inline-flex\",\n borderRadius: \"100\",\n },\n variants: {\n variant: {\n solid: {\n bg: \"colorPalette.4\",\n color: \"colorPalette.11\",\n },\n subtle: {\n bg: \"colorPalette.3\",\n color: \"colorPalette.11\",\n },\n outline: {\n color: \"colorPalette.fg\",\n shadow: \"inset 0 0 0px 1px var(--shadow-color)\",\n shadowColor: \"colorPalette.muted\",\n },\n surface: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n shadow: \"inset 0 0 0px 1px var(--shadow-color)\",\n shadowColor: \"colorPalette.muted\",\n },\n plain: {\n color: \"colorPalette.fg\",\n },\n },\n size: {\n xs: {\n textStyle: \"2xs\",\n px: \"100\",\n minH: \"400\",\n },\n sm: {\n textStyle: \"xs\",\n px: \"150\",\n minH: \"500\",\n },\n md: {\n textStyle: \"sm\",\n px: \"200\",\n minH: \"600\",\n },\n lg: {\n textStyle: \"sm\",\n px: \"250\",\n minH: \"700\",\n },\n },\n },\n defaultVariants: {\n variant: \"solid\",\n size: \"md\",\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const headingRecipe = defineRecipe({\n className: \"nimbus-heading\",\n base: {\n fontFamily: \"heading\",\n fontWeight: \"600\",\n },\n variants: {\n size: {\n xs: {\n textStyle: \"xs\",\n },\n sm: {\n textStyle: \"sm\",\n },\n md: {\n textStyle: \"md\",\n },\n lg: {\n textStyle: \"lg\",\n },\n xl: {\n textStyle: \"xl\",\n },\n \"2xl\": {\n textStyle: \"2xl\",\n },\n \"3xl\": {\n textStyle: \"3xl\",\n },\n \"4xl\": {\n textStyle: \"4xl\",\n },\n \"5xl\": {\n textStyle: \"5xl\",\n },\n \"6xl\": {\n textStyle: \"6xl\",\n },\n \"7xl\": {\n textStyle: \"7xl\",\n },\n },\n },\n defaultVariants: {\n size: \"xl\",\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const kbdRecipe = defineRecipe({\n className: \"nimbus-kbd\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n fontWeight: \"medium\",\n fontFamily: \"mono\",\n flexShrink: \"0\",\n whiteSpace: \"nowrap\",\n wordSpacing: \"-0.5em\",\n userSelect: \"none\",\n px: \"100\",\n borderRadius: \"100\",\n },\n variants: {\n variant: {\n raised: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n borderWidth: \"1px\",\n borderBottomWidth: \"2px\",\n borderColor: \"colorPalette.muted\",\n },\n outline: {\n borderWidth: \"1px\",\n color: \"colorPalette.fg\",\n },\n subtle: {\n bg: \"colorPalette.muted\",\n color: \"colorPalette.fg\",\n },\n plain: {\n color: \"colorPalette.fg\",\n },\n },\n size: {\n sm: {\n textStyle: \"xs\",\n height: \"450\",\n },\n md: {\n textStyle: \"sm\",\n height: \"500\",\n },\n lg: {\n textStyle: \"md\",\n height: \"600\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"raised\",\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the TextInput component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const textInputRecipe = defineRecipe({\n // Unique class name prefix for the component\n className: \"nimbus-text-input\",\n\n // Base styles applied to all instances of the component\n base: {\n display: \"block\",\n borderRadius: \"200\",\n colorPalette: \"neutral\",\n focusVisibleRing: \"outside\",\n bg: \"transparent\",\n outline: \"none\",\n boxShadow: \"inset 0 0 0 var(--border-width) var(--border-color)\",\n _placeholder: {\n opacity: 0.5,\n color: \"currentColor\",\n },\n _disabled: {\n layerStyle: \"disabled\",\n },\n \"&[data-invalid='true']\": {\n \"--border-color\": \"colors.critical.7\",\n color: \"critical.11\",\n },\n },\n\n variants: {\n size: {\n sm: {\n h: 800,\n textStyle: \"sm\",\n px: 300,\n },\n md: {\n h: 1000,\n textStyle: \"md\",\n px: 400,\n },\n },\n\n variant: {\n solid: {\n \"--border-width\": \"sizes.25\",\n \"--border-color\": \"colors.neutral.7\",\n backgroundColor: \"neutral.1\",\n _hover: {\n backgroundColor: \"primary.2\",\n },\n },\n ghost: {\n _hover: {\n backgroundColor: \"primary.2\",\n },\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n variant: \"solid\",\n },\n});\n","import { avatarRecipe } from \"@/components/avatar/avatar.recipe\";\nimport { buttonRecipe } from \"@/components/button/button.recipe\";\nimport { codeRecipe } from \"@/components/code/code.recipe\";\nimport { headingRecipe } from \"@/components/heading/heading.recipe\";\n\nimport { kbdRecipe } from \"@/components/kbd/kbd.recipe\";\nimport { linkRecipe } from \"@/components/link/link.recipe\";\nimport { tooltipRecipe } from \"@/components/tooltip/tooltip.recipe\";\nimport { textInputRecipe } from \"@/components/text-input/text-input.recipe\";\n\nexport const recipes = {\n avatar: avatarRecipe,\n button: buttonRecipe,\n code: codeRecipe,\n heading: headingRecipe,\n kbd: kbdRecipe,\n link: linkRecipe,\n tooltip: tooltipRecipe,\n textInput: textInputRecipe,\n};\n","import { defineSemanticTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const colors = defineSemanticTokens.colors({\n bg: {\n DEFAULT: {\n value: {\n _light: \"{colors.neutral.1}\",\n _dark: \"{colors.neutral.1}\",\n },\n },\n },\n fg: {\n DEFAULT: {\n value: {\n _light: \"{colors.neutral.12}\",\n _dark: \"{colors.neutral.12}\",\n },\n },\n },\n border: {\n DEFAULT: {\n value: \"{colors.neutral.6}\",\n },\n muted: {\n value: \"{colors.neutral.7}\",\n },\n subtle: {\n value: \"{colors.neutral.6}\",\n },\n emphasized: {\n value: \"{colors.neutral.8}\",\n },\n inverted: {\n value: \"{colors.neutral.9}\",\n },\n critical: {\n value: \"{colors.critical.8}\",\n },\n warning: {\n value: \"{colors.warning.8}\",\n },\n positive: {\n value: \"{colors.positive.8}\",\n },\n info: {\n value: \"{colors.ingo.8}\",\n },\n },\n ...themeTokens.color[\"system-palettes\"],\n ...themeTokens.color[\"brand-palettes\"],\n ...themeTokens.color[\"semantic-palettes\"],\n});\n\nexport const darkColors = colors;\n","import { defineSemanticTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const shadows = defineSemanticTokens.shadows(themeTokens.shadow);\n","import { defineSemanticTokens } from \"@chakra-ui/react\";\n\nexport const radii = defineSemanticTokens.radii({});\n","import { colors } from \"./colors\";\nimport { shadows } from \"./shadows\";\nimport { radii } from \"./radii\";\n\nexport const semanticTokens = {\n colors,\n shadows,\n radii,\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const dialogSlotRecipe = defineSlotRecipe({\n slots: [\n \"trigger\",\n \"backdrop\",\n \"positioner\",\n \"content\",\n \"title\",\n \"description\",\n \"closeTrigger\",\n \"header\",\n \"body\",\n \"footer\",\n \"backdrop\",\n ],\n className: \"nimbus-dialog\",\n base: {\n backdrop: {\n bg: {\n _dark: \"bg/50\",\n _light: \"fg/50\",\n },\n pos: \"fixed\",\n left: 0,\n top: 0,\n w: \"100vw\",\n h: \"100dvh\",\n zIndex: \"modal\",\n _open: {\n animationName: \"fade-in\",\n animationDuration: \"slow\",\n },\n _closed: {\n animationName: \"fade-out\",\n animationDuration: \"moderate\",\n },\n },\n positioner: {\n display: \"flex\",\n width: \"100vw\",\n height: \"100dvh\",\n position: \"fixed\",\n left: 0,\n top: 0,\n \"--dialog-z-index\": \"zIndex.modal\",\n zIndex: \"calc(var(--dialog-z-index) + var(--layer-index, 0))\",\n justifyContent: \"center\",\n overscrollBehaviorY: \"none\",\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n width: \"100%\",\n outline: 0,\n borderRadius: \"200\",\n textStyle: \"sm\",\n my: \"var(--dialog-margin, var(--dialog-base-margin))\",\n \"--dialog-z-index\": \"zIndex.modal\",\n zIndex: \"calc(var(--dialog-z-index) + var(--layer-index, 0))\",\n bg: \"bg\",\n boxShadow: \"lg\",\n _open: {\n animationDuration: \"moderate\",\n },\n _closed: {\n animationDuration: \"faster\",\n },\n },\n header: {\n flex: 0,\n px: \"600\",\n pt: \"600\",\n pb: \"400\",\n },\n body: {\n flex: \"1\",\n px: \"600\",\n pt: \"200\",\n pb: \"600\",\n },\n footer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: \"300\",\n px: \"600\",\n pt: \"200\",\n pb: \"400\",\n },\n title: {\n textStyle: \"lg\",\n fontWeight: \"semibold\",\n },\n description: {\n color: \"fg.muted\",\n },\n },\n variants: {\n placement: {\n center: {\n positioner: {\n alignItems: \"center\",\n },\n content: {\n \"--dialog-base-margin\": \"auto\",\n mx: \"auto\",\n },\n },\n top: {\n positioner: {\n alignItems: \"flex-start\",\n },\n content: {\n \"--dialog-base-margin\": \"spacing.1600\",\n mx: \"auto\",\n },\n },\n bottom: {\n positioner: {\n alignItems: \"flex-end\",\n },\n content: {\n \"--dialog-base-margin\": \"spacing.1600\",\n mx: \"auto\",\n },\n },\n },\n scrollBehavior: {\n inside: {\n positioner: {\n overflow: \"hidden\",\n },\n content: {\n maxH: \"calc(100% - 7.5rem)\",\n },\n body: {\n overflow: \"auto\",\n },\n },\n outside: {\n positioner: {\n overflow: \"auto\",\n pointerEvents: \"auto\",\n },\n },\n },\n size: {\n xs: {\n content: {\n maxW: \"sm\",\n },\n },\n sm: {\n content: {\n maxW: \"md\",\n },\n },\n md: {\n content: {\n maxW: \"lg\",\n },\n },\n lg: {\n content: {\n maxW: \"2xl\",\n },\n },\n xl: {\n content: {\n maxW: \"4xl\",\n },\n },\n cover: {\n positioner: {\n padding: \"1000\",\n },\n content: {\n width: \"100%\",\n height: \"100%\",\n \"--dialog-margin\": \"0\",\n },\n },\n full: {\n content: {\n maxW: \"100vw\",\n minH: \"100vh\",\n \"--dialog-margin\": \"0\",\n borderRadius: \"0\",\n },\n },\n },\n motionPreset: {\n scale: {\n content: {\n _open: {\n animationName: \"scale-in, fade-in\",\n },\n _closed: {\n animationName: \"scale-out, fade-out\",\n },\n },\n },\n \"slide-in-bottom\": {\n content: {\n _open: {\n animationName: \"slide-from-bottom, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-bottom, fade-out\",\n },\n },\n },\n \"slide-in-top\": {\n content: {\n _open: {\n animationName: \"slide-from-top, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-top, fade-out\",\n },\n },\n },\n \"slide-in-left\": {\n content: {\n _open: {\n animationName: \"slide-from-left, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-left, fade-out\",\n },\n },\n },\n \"slide-in-right\": {\n content: {\n _open: {\n animationName: \"slide-from-right, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-right, fade-out\",\n },\n },\n },\n none: {},\n },\n },\n defaultVariants: {\n size: \"md\",\n scrollBehavior: \"outside\",\n placement: \"top\",\n motionPreset: \"scale\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const listSlotRecipe = defineSlotRecipe({\n className: \"chakra-list\",\n slots: [\"root\", \"item\", \"indicator\"],\n base: {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--list-gap)\",\n \"& :where(ul, ol)\": {\n marginTop: \"var(--list-gap)\",\n },\n },\n item: {\n whiteSpace: \"normal\",\n display: \"list-item\",\n },\n indicator: {\n marginEnd: \"200\",\n minHeight: \"1lh\",\n flexShrink: 0,\n display: \"inline-block\",\n verticalAlign: \"middle\",\n },\n },\n variants: {\n variant: {\n marker: {\n root: {\n listStyle: \"revert\",\n listStylePosition: \"inside\",\n },\n item: {\n _marker: {\n color: \"fg.subtle\",\n },\n },\n },\n plain: {\n item: {\n alignItems: \"flex-start\",\n display: \"inline-flex\",\n },\n },\n },\n align: {\n center: {\n item: {\n alignItems: \"center\",\n },\n },\n start: {\n item: {\n alignItems: \"flex-start\",\n },\n },\n end: {\n item: {\n alignItems: \"flex-end\",\n },\n },\n },\n },\n defaultVariants: {\n variant: \"marker\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const tableSlotRecipe = defineSlotRecipe({\n className: \"chakra-table\",\n slots: [\n \"root\",\n \"header\",\n \"body\",\n \"row\",\n \"columnHeader\",\n \"cell\",\n \"footer\",\n \"caption\",\n ],\n base: {\n root: {\n fontVariantNumeric: \"lining-nums tabular-nums\",\n borderCollapse: \"collapse\",\n width: \"full\",\n textAlign: \"start\",\n verticalAlign: \"top\",\n },\n row: {\n _selected: {\n bg: \"colorPalette.subtle\",\n },\n },\n cell: {\n textAlign: \"start\",\n alignItems: \"center\",\n },\n columnHeader: {\n fontWeight: \"medium\",\n textAlign: \"start\",\n color: \"fg\",\n },\n caption: {\n fontWeight: \"medium\",\n textStyle: \"xs\",\n },\n footer: {\n fontWeight: \"medium\",\n },\n },\n variants: {\n interactive: {\n true: {\n body: {\n \"& tr\": {\n _hover: {\n bg: \"colorPalette.subtle\",\n },\n },\n },\n },\n },\n stickyHeader: {\n true: {\n header: {\n \"& :where(tr)\": {\n top: \"var(--table-sticky-offset, 0)\",\n position: \"sticky\",\n zIndex: 1,\n },\n },\n },\n },\n striped: {\n true: {\n row: {\n \"&:nth-of-type(odd) td\": {\n bg: \"bg.muted\",\n },\n },\n },\n },\n showColumnBorder: {\n true: {\n columnHeader: {\n \"&:not(:last-of-type)\": {\n borderInlineEndWidth: \"1px\",\n },\n },\n cell: {\n \"&:not(:last-of-type)\": {\n borderInlineEndWidth: \"1px\",\n },\n },\n },\n },\n variant: {\n line: {\n columnHeader: {\n borderBottomWidth: \"1px\",\n },\n cell: {\n borderBottomWidth: \"1px\",\n },\n row: {\n bg: \"bg\",\n },\n },\n outline: {\n root: {\n boxShadow: \"0 0 0 1px {colors.border}\",\n overflow: \"hidden\",\n },\n columnHeader: {\n borderBottomWidth: \"1px\",\n },\n header: {\n bg: \"bg.muted\",\n },\n row: {\n \"&:not(:last-of-type)\": {\n borderBottomWidth: \"1px\",\n },\n },\n footer: {\n borderTopWidth: \"1px\",\n },\n },\n },\n size: {\n sm: {\n root: {\n textStyle: \"sm\",\n },\n columnHeader: {\n px: \"200\",\n py: \"200\",\n },\n cell: {\n px: \"200\",\n py: \"200\",\n },\n },\n md: {\n root: {\n textStyle: \"sm\",\n },\n columnHeader: {\n px: \"300\",\n py: \"300\",\n },\n cell: {\n px: \"300\",\n py: \"300\",\n },\n },\n lg: {\n root: {\n textStyle: \"md\",\n },\n columnHeader: {\n px: \"400\",\n py: \"300\",\n },\n cell: {\n px: \"400\",\n py: \"300\",\n },\n },\n },\n },\n defaultVariants: {\n variant: \"line\",\n size: \"md\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Checkbox component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const checkboxSlotRecipe = defineSlotRecipe({\n slots: [\"root\", \"label\", \"indicator\"],\n // Unique class name prefix for the component\n className: \"nimbus-checkbox\",\n\n base: {\n root: {\n colorPalette: \"primary\",\n display: \"inline-flex\",\n gap: \"200\",\n alignItems: \"center\",\n verticalAlign: \"top\",\n minWidth: \"600\",\n minHeight: \"600\",\n\n [\"&[data-disabled='true']\"]: {\n layerStyle: \"disabled\",\n },\n },\n label: {\n flexShrink: 0,\n userSelect: \"none\",\n color: \"neutral.11\",\n\n [\"&[data-invalid='true']\"]: {\n color: \"critical.11\",\n },\n },\n indicator: {\n position: \"relative\",\n display: \"flex\",\n flexShrink: 0,\n alignItems: \"center\",\n justifyContent: \"center\",\n border: \"solid-50\",\n borderRadius: \"50\",\n focusRing: \"outside\",\n borderColor: \"neutral.9\",\n bg: \"transparent\",\n color: \"neutral.11\",\n\n _icon: {\n w: \"350\",\n h: \"350\",\n },\n\n \"&:hover\": {\n borderColor: \"neutral.10\",\n },\n\n [\"&[data-invalid='true']\"]: {\n bg: \"transparent\",\n borderColor: \"critical.9\",\n color: \"critical.11\",\n\n \"&:hover\": {\n borderColor: \"critical.10\",\n },\n },\n\n [\"&[data-selected='true'], &[data-indeterminate='true']\"]: {\n bg: \"colorPalette.9\",\n borderColor: \"colorPalette.9\",\n color: \"colorPalette.contrast\",\n\n \"&:hover\": {\n bg: \"colorPalette.10\",\n borderColor: \"colorPalette.10\",\n },\n\n \"&[data-invalid='true']\": {\n bg: \"critical.9\",\n borderColor: \"critical.9\",\n color: \"critical.contrast\",\n\n \"&:hover\": {\n bg: \"critical.10\",\n borderColor: \"critical.10\",\n },\n },\n },\n },\n },\n variants: {\n size: {\n md: {\n label: {\n fontSize: \"350\",\n fontWeight: \"400\",\n lineHeight: \"400\",\n },\n indicator: {\n w: \"400\",\n h: \"400\",\n zIndex: 1,\n _after: {\n position: \"absolute\",\n content: \"''\",\n width: \"600\",\n height: \"600\",\n zIndex: 0,\n },\n },\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Select component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const selectSlotRecipe = defineSlotRecipe({\n slots: [\n \"root\",\n \"trigger\",\n \"triggerLabel\",\n \"options\",\n \"optionGroup\",\n \"option\",\n ],\n // Unique class name prefix for the component\n className: \"nimbus-select\",\n\n // Base styles applied to all instances of the component\n base: {\n // RA <Select>\n root: {\n colorPalette: \"primary\",\n display: \"inline-block\",\n position: \"relative\",\n maxWidth: \"100%\",\n borderRadius: \"200\",\n // [data-focused]\n // [data-focus-visible]\n // [data-open]\n // [data-invalid]\n // [data-required]\n \"&[data-disabled]\": {\n layerStyle: \"disabled\",\n pointerEvents: \"none\",\n },\n },\n trigger: {\n cursor: \"button\",\n display: \"inline-flex\",\n focusRing: \"outside\",\n alignItems: \"flex-start\",\n borderRadius: \"200\",\n color: \"neutral.12\",\n width: \"100%\",\n userSelect: \"none\",\n boxShadow: \"inset 0 0 0 var(--border-width) var(--border-color)\",\n\n \"& span\": {\n display: \"inline-block\",\n my: \"auto\",\n },\n '& [slot=\"description\"]': {\n display: \"none\",\n },\n\n \"[data-invalid] &\": {\n \"--border-width\": \"sizes.50\",\n \"--border-color\": \"colors.critical.7\",\n },\n\n // [data-hovered]\n // [data-pressed]\n // [data-focused]\n // [data-focus-visible]\n // [data-disabled]\n // [data-pending]\n },\n triggerLabel: {\n // *Magic*\n // the trigger-label defines the overall width of the select,\n // but since we position 2 buttons/icons next to it, we need to account for\n // their width as well and reserve some space for them\n // = label-button-gap + button-size + icon-size\n // = 8px + 24px + 24px\n // = 56px * 25 = 1400 token\n \"--button-safespace\": \"sizes.1400\",\n color: \"neutral.12\",\n textAlign: \"left\",\n marginRight: \"var(--button-safespace)\",\n maxWidth: \"100%\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n\n \"&[data-placeholder]\": {\n opacity: 0.5,\n },\n \"[data-invalid] &\": {\n color: \"critical.11\",\n },\n },\n // Popover\n options: {\n \"--scrollbar-color\": \"colors.neutral.8\",\n \"--scrollbar-bg\": \"colors.neutral.3\",\n\n bg: \"bg\",\n borderRadius: \"200\",\n boxShadow: \"5\",\n minWidth: \"var(--trigger-width)\",\n p: \"200\",\n focusRing: \"outside\",\n maxHeight: \"40svh\",\n overflowY: \"auto\",\n scrollbarWidth: \"thin\",\n scrollbarColor: \"var(--scrollbar-color) var(--scrollbar-bg)\",\n // [data-trigger=\"...\"]\n // [data-placement=\"left | right | top | bottom\"]\n // [data-entering]\n // [data-exiting]\n },\n // Option group header\n optionGroup: {\n textStyle: \"xs\",\n color: \"neutral.11\",\n fontWeight: \"600\",\n lineHeight: \"350\",\n letterSpacing: \"25\",\n textTransform: \"uppercase\",\n p: \"200\",\n borderBottom: \"solid-25\",\n borderColor: \"neutral.6\",\n mx: \"-200\",\n mt: \"200\",\n mb: \"300\",\n },\n // ListBoxItem\n option: {\n focusRing: \"outside\",\n cursor: \"menuitem\",\n color: \"neutral.12\",\n textStyle: \"sm\",\n p: \"200\",\n borderRadius: \"200\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n\n '&[aria-selected=\"true\"], &[data-focused=\"true\"]': {\n bg: \"primary.4\",\n },\n\n '& [slot=\"label\"]': {\n display: \"block\",\n },\n\n '& [slot=\"description\"]': {\n display: \"block\",\n color: \"neutral.11\",\n textStyle: \"xs\",\n },\n\n '&[data-disabled=\"true\"]': {\n layerStyle: \"disabled\",\n },\n },\n },\n\n // Available variants for customizing the component's appearance\n variants: {\n // Size variants from smallest to largest\n size: {\n sm: {\n root: {},\n trigger: {\n h: \"800\",\n px: \"400\",\n textStyle: \"sm\",\n },\n },\n md: {\n root: {},\n trigger: {\n h: \"1000\",\n px: \"400\",\n textStyle: \"md\",\n },\n }, // Medium\n },\n\n // Visual style variants\n variant: {\n outline: {\n root: {\n bg: \"bg\",\n \"&:hover\": {\n bg: \"primary.2\",\n },\n },\n trigger: {\n \"--border-width\": \"sizes.25\",\n \"--border-color\": \"colors.neutral.7\",\n },\n },\n ghost: {\n root: {\n bg: \"transparent\",\n \"&:hover\": {\n bg: \"primaryAlpha.2\",\n },\n },\n trigger: {\n \"--border-width\": \"sizes.25\",\n \"--border-color\": \"transparent\",\n },\n },\n },\n },\n\n // Default variant values when not explicitly specified\n defaultVariants: {\n size: \"md\",\n variant: \"outline\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Accordion component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const accordionSlotRecipe = defineSlotRecipe({\n slots: [\n \"root\",\n \"disclosure\",\n \"trigger\",\n \"panel\",\n \"accordionTitle\",\n \"headerContentRight\",\n ],\n // Unique class name prefix for the component\n className: \"nimbus-accordion\",\n\n base: {\n root: {\n width: \"100%\",\n },\n disclosure: {\n width: \"100%\",\n },\n trigger: {\n fontSize: \"var(--font-size)\",\n focusVisibleRing: \"outside\",\n minHeight: \"1200\",\n bg: \"none\",\n flexGrow: 1,\n display: \"flex\",\n alignItems: \"center\",\n gap: \"8px\",\n width: \"auto\",\n \"& svg\": {\n width: \"var(--width)\",\n height: \"var(--height)\",\n rotate: \"0deg\",\n transition: \"rotate 200ms\",\n },\n '&[aria-expanded=\"true\"] svg': {\n rotate: \"90deg\",\n },\n \"&[disabled]\": {\n layerStyle: \"disabled\",\n },\n },\n panel: {\n paddingTop: \"var(--padding-top)\",\n paddingBottom: \"var(--padding-bottom)\",\n paddingLeft: \"var(--padding-left)\",\n '&[aria-hidden=\"true\"]': {\n display: \"none\",\n },\n },\n accordionTitle: {\n fontWeight: \"700\",\n },\n },\n\n variants: {\n size: {\n md: {\n trigger: {\n \"--font-size\": \"fontSizes.500\",\n \"& svg\": {\n \"--width\": \"sizes.600\",\n \"--height\": \"sizes.600\",\n },\n },\n panel: {\n \"--padding-top\": \"spacing.600\",\n \"--padding-bottom\": \"spacing.800\",\n \"--padding-left\": \"spacing.800\",\n },\n },\n sm: {\n trigger: {\n \"--font-size\": \"fontSizes.400\",\n \"& svg\": {\n \"--width\": \"sizes.500\",\n \"--height\": \"sizes.500\",\n },\n },\n panel: {\n \"--padding-top\": \"spacing.400\",\n \"--padding-bottom\": \"spacing.600\",\n \"--padding-left\": \"spacing.700\",\n },\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { dialogSlotRecipe } from \"@/components/dialog/dialog.recipe\";\nimport { listSlotRecipe } from \"@/components/list/list.recipe\";\nimport { tableSlotRecipe } from \"@/components/table/table.recipe\";\nimport { checkboxSlotRecipe } from \"@/components/checkbox/checkbox.recipe\";\nimport { selectSlotRecipe } from \"@/components/select/select.recipe\";\nimport { accordionSlotRecipe } from \"@/components/accordion/accordion.recipe\";\n\nexport const slotRecipes = {\n dialog: dialogSlotRecipe,\n list: listSlotRecipe,\n table: tableSlotRecipe,\n checkbox: checkboxSlotRecipe,\n select: selectSlotRecipe,\n accordion: accordionSlotRecipe,\n};\n","import { defineTextStyles } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\ntype TextStylesType = ReturnType<typeof defineTextStyles>;\n\nexport const textStyles: TextStylesType = defineTextStyles(\n themeTokens.textStyle\n);\n","import { defineTokens } from \"@chakra-ui/react\";\n\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const aspectRatios = defineTokens.durations(themeTokens.aspectRatio);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const animations = defineTokens.animations(themeTokens.animation);\n","import { defineTokens } from \"@chakra-ui/react\";\n\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const blurs = defineTokens.blurs(themeTokens.blur);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const borders = defineTokens.borders(themeTokens.border);\n","import { themeTokens } from \"@commercetools/nimbus-tokens\";\nimport { defineTokens } from \"@chakra-ui/react\";\n\nexport const colors = defineTokens.colors({\n ...themeTokens.color[\"blacks-and-whites\"],\n});\n\nexport const darkColors = colors;\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const durations = defineTokens.durations(themeTokens.duration);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const easings = defineTokens.easings(themeTokens.easing);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const fonts = defineTokens.fonts(themeTokens.fontFamily);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const fontSizes = defineTokens.fontSizes(themeTokens.fontSize);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const fontWeights = defineTokens.fontWeights(themeTokens.fontWeight);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\n// convert token percentage values (needed by figma) to em values (needded by code)\n// todo: fix this in the token build process\nconst convertPercentToEm = (\n obj: Record<string, { value: string }>\n): Record<string, { value: string }> => {\n return Object.keys(obj).reduce(\n (acc, key) => {\n // Remove '%' and divide by 100 to convert to em\n const percentage = parseFloat(obj[key].value);\n const emValue = percentage / 100; // 1% = 0.01em, 100% = 1em\n // Update the object with the new em value\n acc[key] = { value: `${emValue}em` };\n return acc;\n },\n {} as Record<string, { value: string }>\n );\n};\n\nexport const letterSpacings = defineTokens.letterSpacings(\n convertPercentToEm(themeTokens.letterSpacing)\n);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const lineHeights = defineTokens.lineHeights(themeTokens.lineHeight);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const radii = defineTokens.radii(themeTokens.borderRadius);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const spacing = defineTokens.spacing(themeTokens.spacing);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const sizes = defineTokens.sizes({\n ...themeTokens.size,\n \"1/2\": {\n value: \"50%\",\n },\n \"1/3\": {\n value: \"33.333333%\",\n },\n \"2/3\": {\n value: \"66.666667%\",\n },\n \"1/4\": {\n value: \"25%\",\n },\n \"3/4\": {\n value: \"75%\",\n },\n \"1/5\": {\n value: \"20%\",\n },\n \"2/5\": {\n value: \"40%\",\n },\n \"3/5\": {\n value: \"60%\",\n },\n \"4/5\": {\n value: \"80%\",\n },\n \"1/6\": {\n value: \"16.666667%\",\n },\n \"2/6\": {\n value: \"33.333333%\",\n },\n \"3/6\": {\n value: \"50%\",\n },\n \"4/6\": {\n value: \"66.666667%\",\n },\n \"5/6\": {\n value: \"83.333333%\",\n },\n \"1/12\": {\n value: \"8.333333%\",\n },\n \"2/12\": {\n value: \"16.666667%\",\n },\n \"3/12\": {\n value: \"25%\",\n },\n \"4/12\": {\n value: \"33.333333%\",\n },\n \"5/12\": {\n value: \"41.666667%\",\n },\n \"6/12\": {\n value: \"50%\",\n },\n \"7/12\": {\n value: \"58.333333%\",\n },\n \"8/12\": {\n value: \"66.666667%\",\n },\n \"9/12\": {\n value: \"75%\",\n },\n \"10/12\": {\n value: \"83.333333%\",\n },\n \"11/12\": {\n value: \"91.666667%\",\n },\n max: {\n value: \"max-content\",\n },\n min: {\n value: \"min-content\",\n },\n fit: {\n value: \"fit-content\",\n },\n prose: {\n value: \"60ch\",\n },\n full: {\n value: \"100%\",\n },\n dvh: {\n value: \"100dvh\",\n },\n svh: {\n value: \"100svh\",\n },\n lvh: {\n value: \"100lvh\",\n },\n dvw: {\n value: \"100dvw\",\n },\n svw: {\n value: \"100svw\",\n },\n lvw: {\n value: \"100lvw\",\n },\n vw: {\n value: \"100vw\",\n },\n vh: {\n value: \"100vh\",\n },\n});\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const zIndex = defineTokens.zIndex(themeTokens.zIndex);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const cursor = defineTokens.cursor(themeTokens.cursor);\n","import { aspectRatios } from \"./aspect-ratios\";\nimport { animations } from \"./animations\";\nimport { blurs } from \"./blurs\";\nimport { borders } from \"./borders\";\nimport { colors, darkColors } from \"./colors\";\nimport { durations } from \"./durations\";\nimport { easings } from \"./easings\";\nimport { fonts } from \"./fonts\";\nimport { fontSizes } from \"./font-sizes\";\nimport { fontWeights } from \"./font-weights\";\nimport { letterSpacings } from \"./letter-spacings\";\nimport { lineHeights } from \"./line-heights\";\nimport { radii } from \"./radii\";\nimport { spacing } from \"./spacing\";\nimport { sizes } from \"./sizes\";\nimport { zIndex } from \"./z-index\";\nimport { cursor } from \"./cursor\";\n\nexport const tokens = {\n aspectRatios,\n animations,\n blurs,\n borders,\n colors,\n durations,\n easings,\n fonts,\n fontSizes,\n fontWeights,\n letterSpacings,\n lineHeights,\n radii,\n spacing,\n sizes,\n zIndex,\n cursor,\n};\n\nexport const darkTokens = {\n aspectRatios,\n animations,\n blurs,\n borders,\n colors: darkColors,\n durations,\n easings,\n fonts,\n fontSizes,\n fontWeights,\n letterSpacings,\n lineHeights,\n radii,\n spacing,\n sizes,\n zIndex,\n cursor,\n};\n","import {\n createSystem,\n defaultBaseConfig,\n defineConfig,\n} from \"@chakra-ui/react\";\nimport { animationStyles } from \"./animation-styles\";\nimport { breakpoints } from \"./breakpoints\";\nimport { globalCss } from \"./global-css\";\nimport { keyframes } from \"./keyframes\";\nimport { layerStyles } from \"./layer-styles\";\nimport { recipes } from \"./recipes\";\nimport { semanticTokens } from \"./semantic-tokens\";\nimport { slotRecipes } from \"./slot-recipes\";\nimport { textStyles } from \"./text-styles\";\nimport { tokens } from \"./tokens\";\n\nconst themeConfig = defineConfig({\n preflight: true,\n cssVarsPrefix: \"nimbus\",\n cssVarsRoot: \":where(:root, :host)\",\n globalCss,\n theme: {\n breakpoints,\n keyframes,\n tokens,\n semanticTokens,\n recipes,\n slotRecipes,\n textStyles,\n layerStyles,\n animationStyles,\n },\n});\n\nexport const system = createSystem(defaultBaseConfig, themeConfig);\n","\"use client\";\n\nimport {\n ChakraProvider,\n // defaultSystem as defaultSystemChakra,\n} from \"@chakra-ui/react\";\nimport { ColorModeProvider, type ColorModeProviderProps } from \"./color-mode\";\nimport { system } from \"../../theme\";\nimport { useEffect, useState } from \"react\";\n\nexport function useColorScheme() {\n const [colorScheme, setColorScheme] = useState(getCurrentColorScheme());\n\n // Helper function to get the current color-scheme from the <html> tag\n function getCurrentColorScheme() {\n return (\n document.documentElement.style.getPropertyValue(\"color-scheme\") ||\n localStorage.getItem(\"theme\") ||\n \"light\"\n );\n }\n\n useEffect(() => {\n const htmlElement = document.documentElement;\n\n const observer = new MutationObserver(() => {\n const newColorScheme = getCurrentColorScheme();\n setColorScheme(newColorScheme);\n });\n\n // Observe changes to the 'style' attribute of the <html> element\n observer.observe(htmlElement, {\n attributes: true,\n attributeFilter: [\"style\"],\n });\n\n return () => observer.disconnect();\n }, []);\n\n return colorScheme;\n}\n\nexport function NimbusProvider({ children, ...props }: ColorModeProviderProps) {\n return (\n <ChakraProvider value={system}>\n <ColorModeProvider enableSystem={false} {...props}>\n <>{children}</>\n </ColorModeProvider>\n </ChakraProvider>\n );\n}\n","import { defaultSystem } from \"@chakra-ui/react\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n defaultSystem.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react\";\nimport { checkboxSlotRecipe } from \"./checkbox.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"checkbox\",\n});\n\nexport interface CheckboxRootProps\n extends HTMLChakraProps<\n \"label\",\n RecipeVariantProps<typeof checkboxSlotRecipe>\n > {}\nexport const CheckboxRoot = withProvider<HTMLLabelElement, CheckboxRootProps>(\n \"label\",\n \"root\"\n);\n\ninterface CheckboxLabelProps extends HTMLChakraProps<\"span\"> {}\nexport const CheckboxLabel = withContext<HTMLSpanElement, CheckboxLabelProps>(\n \"span\",\n \"label\"\n);\n\ninterface ChekcboxIndicatorProps extends HTMLChakraProps<\"span\"> {}\nexport const CheckboxIndicator = withContext<\n HTMLSpanElement,\n ChekcboxIndicatorProps\n>(\"span\", \"indicator\");\n","import { forwardRef, useRef } from \"react\";\nimport { useToggleState } from \"react-stately\";\nimport { useSlotRecipe } from \"@chakra-ui/react\";\nimport { VisuallyHidden } from \"@/components\";\nimport { Check, Remove as Minus } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nimport {\n useFocusRing,\n useCheckbox,\n useObjectRef,\n mergeProps,\n} from \"react-aria\";\n\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport type { CheckboxProps } from \"./checkbox.types\";\nimport {\n CheckboxIndicator,\n CheckboxRoot,\n CheckboxLabel,\n} from \"./checkbox.slots\";\n\n/**\n * Checkbox\n * ============================================================\n * displays a checkbox and an associated label\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLDivElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)\n */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (props, forwardedRef) => {\n const localRef = useRef<HTMLInputElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n const recipe = useSlotRecipe({ key: \"checkbox\" });\n const [recipeProps] = recipe.splitVariantProps(props);\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n const state = useToggleState(props);\n const { inputProps } = useCheckbox(restProps, state, ref);\n\n const { isFocused, focusProps } = useFocusRing();\n const isSelected = state.isSelected && !props.isIndeterminate;\n const isIndeterminate = props.isIndeterminate;\n\n const stateProps = {\n \"data-selected\": isSelected,\n \"data-indeterminate\": isIndeterminate,\n \"data-invalid\": props.isInvalid,\n \"data-disabled\": props.isDisabled,\n \"data-focus\": isFocused || undefined,\n };\n\n return (\n <CheckboxRoot\n data-slot=\"root\"\n {...recipeProps}\n {...stateProps}\n {...styleProps}\n >\n <CheckboxIndicator data-slot=\"indicator\" {...stateProps}>\n {isSelected && <Check />}\n {isIndeterminate && <Minus />}\n <VisuallyHidden as=\"span\">\n <input {...mergeProps(inputProps, focusProps)} ref={ref} />\n </VisuallyHidden>\n </CheckboxIndicator>\n\n {props.children && (\n <CheckboxLabel data-slot=\"label\" {...stateProps}>\n {props.children}\n </CheckboxLabel>\n )}\n </CheckboxRoot>\n );\n }\n);\nCheckbox.displayName = \"Checkbox\";\n","import { forwardRef } from \"react\";\nimport {\n Stack as ChakraStack,\n type StackProps as ChakraStackProps,\n} from \"@chakra-ui/react\";\n\nexport interface StackProps extends ChakraStackProps {\n children?: React.ReactNode;\n}\n\nexport const Stack = forwardRef<HTMLDivElement, StackProps>((props, ref) => {\n return <ChakraStack ref={ref} {...props} />;\n});\n\nStack.displayName = \"Stack\";\n","import {\n VisuallyHidden as ReactAriaViusallyHidden,\n type VisuallyHiddenProps as ReactAriaVisuallyHiddenProps,\n} from \"react-aria\";\n\nexport interface VisuallyHiddenProps\n extends Omit<ReactAriaVisuallyHiddenProps, \"elementType\"> {\n /** specifies the element type to render, use `span` for inline content\n * and `div` for block content */\n as?: \"span\" | \"div\";\n}\n\nexport const VisuallyHidden = (props: VisuallyHiddenProps) => {\n const { as = \"div\", ...leftoverProps } = props;\n return <ReactAriaViusallyHidden elementType={as} {...leftoverProps} />;\n};\n\nVisuallyHidden.displayName = \"VisuallyHidden\";\n","import {\n type HTMLChakraProps,\n type RecipeVariantProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { textInputRecipe } from \"./text-input.recipe\";\n\nexport interface TextInputRecipeProps\n extends RecipeVariantProps<typeof textInputRecipe>,\n UnstyledProp {}\n\nexport type TextInputRootProps = HTMLChakraProps<\"input\", TextInputRecipeProps>;\n\nconst { withContext } = createRecipeContext({ recipe: textInputRecipe });\n\n/**\n * Root component that provides the styling context for the TextInput component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TextInputRoot = withContext<HTMLInputElement, TextInputRootProps>(\n \"input\"\n);\n","import { forwardRef, useRef } from \"react\";\nimport { TextInputRoot } from \"./text-input.slots\";\nimport type { TextInputProps } from \"./text-input.types\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs, useRecipe } from \"@chakra-ui/react\";\nimport { textInputRecipe } from \"./text-input.recipe\";\nimport { TextField, Input } from \"react-aria-components\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\n/**\n * TextInput\n * ============================================================\n * An input component that takes in a text as input\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLInputElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n */\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n (props, forwardedRef) => {\n const localRef = useRef<HTMLInputElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const recipe = useRecipe({ recipe: textInputRecipe });\n const [recipeProps, leftOverProps] = recipe.splitVariantProps(props);\n const [styleProps, textfieldProps] = extractStyleProps(leftOverProps);\n\n return (\n <TextField {...textfieldProps}>\n <TextInputRoot ref={ref} {...recipeProps} {...styleProps} asChild>\n <Input />\n </TextInputRoot>\n </TextField>\n );\n }\n);\nTextInput.displayName = \"TextInput\";\n","import { forwardRef } from \"react\";\nimport {\n Grid as ChakraGrid,\n GridItem,\n type GridProps as ChakraGridProps,\n} from \"@chakra-ui/react\";\n\n/**\n * Grid\n * ============================================================\n * The Grid Layout Component provides a flexible and responsive way to structure content using a two-dimensional grid system. It allows elements to be arranged in rows and columns, enabling dynamic and efficient layouts for different screen sizes.\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n */\nexport interface GridProps extends ChakraGridProps {\n children?: React.ReactNode;\n}\n\nconst GridComponent = forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n return <ChakraGrid ref={ref} {...props} />;\n});\n\nGridComponent.displayName = \"Grid\";\n\nexport const Grid = Object.assign(GridComponent, {\n Item: GridItem,\n});\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react\";\nimport { selectSlotRecipe } from \"./select.recipe\";\nimport { type SelectProps as RaSelectProps } from \"react-aria-components\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"select\",\n});\n\n// Select\nexport interface SelectRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof selectSlotRecipe> & RaSelectProps<object>\n > {}\nexport const SelectRootSlot = withProvider<HTMLDivElement, SelectRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger Button\nexport interface SelectTriggerSlotProps extends HTMLChakraProps<\"button\"> {}\nexport const SelectTriggerSlot = withContext<\n HTMLButtonElement,\n SelectTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Trigger Button Label\nexport interface SelectTriggerLabelSlotProps extends HTMLChakraProps<\"span\"> {}\nexport const SelectTriggerLabelSlot = withContext<\n HTMLButtonElement,\n SelectTriggerLabelSlotProps\n>(\"span\", \"triggerLabel\");\n\n// ListBox\nexport interface SelectOptionsSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionsSlot = withContext<\n HTMLDivElement,\n SelectOptionsSlotProps\n>(\"div\", \"options\");\n\n// ListBoxItem\nexport interface SelectOptionSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionSlot = withContext<\n HTMLDivElement,\n SelectOptionSlotProps\n>(\"div\", \"option\");\n\n// OptionGroup\nexport interface SelectOptionGroupSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionGroupSlot = withContext<\n HTMLDivElement,\n SelectOptionGroupSlotProps\n>(\"div\", \"optionGroup\");\n","import { useContext } from \"react\";\nimport { Close as CloseIcon } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"@/components\";\nimport { SelectStateContext } from \"react-aria-components\";\n\nexport const SelectClearButton = () => {\n const state = useContext(SelectStateContext);\n\n if (!state?.selectedKey) {\n return null;\n }\n\n const onPressRequest = () => {\n state?.setSelectedKey(null);\n };\n\n return (\n <IconButton\n pointerEvents=\"all\"\n size=\"2xs\"\n variant=\"ghost\"\n tone=\"primary\"\n aria-label=\"Clear Selection\"\n onPress={onPressRequest}\n >\n <CloseIcon />\n </IconButton>\n );\n};\n\nSelectClearButton.displayName = \"Select.ClearButton\";\n","import { forwardRef } from \"react\";\nimport { chakra, useSlotRecipe } from \"@chakra-ui/react\";\n\nimport {\n KeyboardArrowDown as DropdownIndicatorIcon,\n Loop as SpinnerIcon,\n} from \"@commercetools/nimbus-icons\";\n\nimport { Flex, Box } from \"@/components\";\nimport {\n Button as RaButton,\n Popover as RaPopover,\n Select as RaSelect,\n SelectValue as RaSelectValue,\n} from \"react-aria-components\";\nimport {\n SelectRootSlot,\n SelectTriggerSlot,\n SelectTriggerLabelSlot,\n} from \"./../select.slots\";\nimport { SelectClearButton } from \"./select.clear-button\";\nimport { type SelectRootProps } from \"./../select.types\";\nimport { selectSlotRecipe } from \"../select.recipe\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nexport const SelectRoot = forwardRef<HTMLDivElement, SelectRootProps>(\n ({ children, isLoading, isDisabled, ...props }, ref) => {\n const recipe = useSlotRecipe({ recipe: selectSlotRecipe });\n const [recipeProps, restRecipeProps] = recipe.splitVariantProps(props);\n const [styleProps, restProps] = extractStyleProps(restRecipeProps);\n\n const raSelectProps = {\n ...restProps,\n isDisabled: isLoading || isDisabled,\n };\n\n return (\n <SelectRootSlot asChild ref={ref} {...recipeProps} {...styleProps}>\n <RaSelect {...raSelectProps}>\n <chakra.div position=\"relative\">\n <SelectTriggerSlot zIndex={0} asChild>\n <RaButton>\n <SelectTriggerLabelSlot asChild>\n <RaSelectValue />\n </SelectTriggerLabelSlot>\n </RaButton>\n </SelectTriggerSlot>\n <Flex\n position=\"absolute\"\n top=\"0\"\n bottom=\"0\"\n zIndex={1}\n right=\"400\"\n pointerEvents=\"none\"\n >\n <Flex width=\"600\" my=\"auto\">\n <SelectClearButton />\n </Flex>\n\n <Flex my=\"auto\" w=\"600\" h=\"600\" pointerEvents=\"none\">\n <Box color=\"neutral.9\" asChild m=\"auto\" w=\"400\" h=\"400\">\n {isLoading ? (\n <Box asChild animation=\"spin\" animationDuration=\"slowest\">\n <SpinnerIcon />\n </Box>\n ) : (\n <DropdownIndicatorIcon />\n )}\n </Box>\n </Flex>\n </Flex>\n </chakra.div>\n\n <RaPopover>{children}</RaPopover>\n </RaSelect>\n </SelectRootSlot>\n );\n }\n);\n\nSelectRoot.displayName = \"Select.Root\";\n","import { forwardRef, type JSX } from \"react\";\n\n/**\n * This is a workaround to fix the type of `forwardRef`.\n * The issue is that the type of `forwardRef` is not correct when using generics.\n *\n * While not ideal from a type-safety perspective, it's necessary because\n * TypeScript cannot properly express the transformation that happens when\n * combining generics with `forwardRef`.\n */\nexport const fixedForwardRef = <T, P extends object>(\n render: (props: P, ref: React.Ref<T>) => JSX.Element\n): ((props: P & React.RefAttributes<T>) => JSX.Element) => {\n // @ts-expect-error - This tells TypeScript to \"trust us\" about the resulting type.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any\n return forwardRef(render) as any;\n};\n","import { type ForwardedRef } from \"react\";\nimport { ListBox as RaListBox } from \"react-aria-components\";\nimport { SelectOptionsSlot } from \"./../select.slots\";\nimport type { SelectOptionsProps } from \"../select.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { fixedForwardRef } from \"@/utils/fixedForwardRef\";\n\nexport const SelectOptions = fixedForwardRef(\n <T extends object>(\n props: SelectOptionsProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n ) => {\n const [styleProps, rest] = extractStyleProps(props);\n return (\n <SelectOptionsSlot asChild {...styleProps}>\n <RaListBox ref={forwardedRef} {...rest} />\n </SelectOptionsSlot>\n );\n }\n);\n\n// @ts-expect-error - doesn't work with this complex types\nSelectOptions.displayName = \"Select.Options\";\n","import { type ForwardedRef } from \"react\";\nimport { ListBoxItem as RaListBoxItem } from \"react-aria-components\";\nimport { SelectOptionSlot } from \"./../select.slots\";\nimport type { SelectOptionProps } from \"../select.types\";\nimport { fixedForwardRef } from \"@/utils/fixedForwardRef\";\n\nexport const SelectOption = fixedForwardRef(\n <T extends object>(\n props: SelectOptionProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n ) => {\n return (\n <SelectOptionSlot asChild ref={forwardedRef}>\n <RaListBoxItem {...props} />\n </SelectOptionSlot>\n );\n }\n);\n\n// @ts-expect-error - doesn't work with this complex types\nSelectOption.displayName = \"Select.Option\";\n","import { forwardRef, type ForwardedRef, type ReactNode } from \"react\";\n\nimport {\n ListBoxSection as RaListBoxSection,\n Header as RaHeader,\n Collection,\n} from \"react-aria-components\";\nimport { SelectOptionGroupSlot } from \"./../select.slots\";\nimport type { SelectOptionGroupProps } from \"../select.types\";\nimport { fixedForwardRef } from \"@/utils/fixedForwardRef\";\n\nexport const SelectOptionGroup = fixedForwardRef(\n <T extends object>(\n { label, items, children, ...props }: SelectOptionGroupProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n ) => {\n // Validate that children is a function when items is provided\n if (items && typeof children !== \"function\") {\n throw new Error(\n 'SelectOptionGroup: When \"items\" is provided, \"children\" must be a function'\n );\n }\n\n return (\n <RaListBoxSection ref={forwardedRef} {...props}>\n <SelectOptionGroupSlot asChild>\n <RaHeader>{label}</RaHeader>\n </SelectOptionGroupSlot>\n\n {items ? (\n <Collection items={items}>\n {(item: T) => {\n if (typeof children === \"function\") {\n return children(item);\n }\n return null;\n }}\n </Collection>\n ) : (\n (children as ReactNode)\n )}\n </RaListBoxSection>\n );\n }\n);\n\n// @ts-expect-error - doesn't work with this complex types\nSelectOptionGroup.displayName = \"Select.OptionGroup\";\n","import { SelectRoot as _SelectRoot } from \"./components/select.root\";\nimport { SelectOptions as _SelectOptions } from \"./components/select.options\";\nimport { SelectOption as _SelectOption } from \"./components/select.option\";\nimport { SelectOptionGroup as _SelectOptionGroup } from \"./components/select.option-group\";\n\nexport const Select = {\n Root: _SelectRoot,\n Options: _SelectOptions,\n Option: _SelectOption,\n OptionGroup: _SelectOptionGroup,\n};\n\n/**\n * todo: get rid of this, this is needed for the react-docgen-typescript script\n * that is parsing the typescript types for our documentation. The _ underscores\n * serve as a reminder that this exports are awkward and should not be used.\n */\nexport { _SelectRoot, _SelectOptions, _SelectOption, _SelectOptionGroup };\n","import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react\";\nimport type { AccordionRootProps } from \"./accordion.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"accordion\",\n});\n\nexport const AccordionRoot = withProvider<HTMLDivElement, AccordionRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AccordionDisclosure = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"disclosure\");\n\nexport const AccordionTrigger = withContext<\n HTMLButtonElement,\n HTMLChakraProps<\"button\">\n>(\"button\", \"trigger\");\n\nexport const AccordionPanel = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"panel\");\n\nexport const AccordionTitle = withContext<\n HTMLButtonElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"accordionTitle\");\n\nexport const HeaderRightContent = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"headerContentRight\");\n","import React, { createContext } from \"react\";\nimport type { DisclosureGroupState } from \"react-stately\";\n\n// Define types for the item context\nexport interface ItemContextType {\n isExpanded: boolean;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n panelRef: React.RefObject<HTMLDivElement | null>;\n buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\n panelProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\n isFocusVisible: boolean;\n}\n\n// Create and export the contexts\nexport const ItemContext = createContext<ItemContextType | null>(null);\nexport const DisclosureGroupStateContext =\n createContext<DisclosureGroupState | null>(null);\n","import React, { forwardRef, type Key } from \"react\";\nimport { AccordionRoot as AccordionRootSlot } from \"../accordion.slots\";\nimport { useDisclosureGroupState } from \"react-stately\";\nimport { useSlotRecipe } from \"@chakra-ui/react\";\nimport type { DisclosureGroupProps } from \"../accordion.types\";\nimport { DisclosureGroupStateContext } from \"../accordion-context\";\n\nexport const AccordionGroup = forwardRef<HTMLDivElement, DisclosureGroupProps>(\n ({ children, onExpandedChange, ...props }, forwardedRef) => {\n const state = useDisclosureGroupState({\n ...props,\n onExpandedChange: (keys: Set<Key>) => {\n onExpandedChange?.(keys.size > 0);\n },\n });\n const recipe = useSlotRecipe({ key: \"accordion\" });\n const [recipeProps] = recipe.splitVariantProps(props);\n\n return (\n <DisclosureGroupStateContext.Provider value={state}>\n <AccordionRootSlot data-slot=\"root\" ref={forwardedRef} {...recipeProps}>\n {children}\n </AccordionRootSlot>\n </DisclosureGroupStateContext.Provider>\n );\n }\n);\n","import React, { forwardRef, useContext } from \"react\";\nimport {\n AccordionTrigger,\n AccordionTitle,\n HeaderRightContent,\n} from \"../accordion.slots\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { Flex } from \"@/components\";\nimport { KeyboardArrowRight } from \"@commercetools/nimbus-icons\";\nimport type { DisclosureGroupProps } from \"../accordion.types\";\nimport { ItemContext } from \"../accordion-context\";\n\nexport const AccordionHeader = forwardRef<\n HTMLButtonElement,\n DisclosureGroupProps\n>(({ children }, ref) => {\n const context = useContext(ItemContext);\n if (!context) {\n throw new Error(\"Accordion.Header must be used within Accordion.Item\");\n }\n\n // Extract HeaderRightContent if present\n const headerContent = React.Children.toArray(children).reduce<{\n main: React.ReactNode[];\n rightContent: React.ReactNode[];\n }>(\n (acc, child) => {\n if (React.isValidElement(child) && child.type === HeaderRightContent) {\n acc.rightContent.push(child);\n } else {\n acc.main.push(child);\n }\n return acc;\n },\n { main: [], rightContent: [] }\n );\n\n return (\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n borderBottom=\"solid-25\"\n borderColor=\"neutral.4\"\n >\n <AccordionTrigger\n ref={mergeRefs(context.triggerRef, ref)}\n {...context.buttonProps}\n data-slot=\"trigger\"\n outline={context.isFocusVisible ? undefined : \"none\"}\n >\n <KeyboardArrowRight />\n <AccordionTitle data-slot=\"accordionTitle\">\n {headerContent.main}\n </AccordionTitle>\n </AccordionTrigger>\n {headerContent.rightContent.length > 0 && (\n <HeaderRightContent data-slot=\"headerContentRight\">\n {headerContent.rightContent}\n </HeaderRightContent>\n )}\n </Flex>\n );\n});\n","import React, { forwardRef, useContext } from \"react\";\nimport { AccordionPanel } from \"../accordion.slots\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeProps, mergeRefs } from \"@chakra-ui/react\";\nimport type { DisclosureGroupProps } from \"../accordion.types\";\nimport { ItemContext } from \"../accordion-context\";\n\n// Create Content component\nexport const AccordionContent = forwardRef<\n HTMLDivElement,\n DisclosureGroupProps\n>((props, forwardedRef) => {\n const context = useContext(ItemContext);\n const ref = useObjectRef<HTMLDivElement>(\n mergeRefs(context?.panelRef, forwardedRef)\n );\n\n return (\n // @ts-expect-error TODO - fix prop types merging conflict\n <AccordionPanel\n ref={ref}\n {...mergeProps({ ...context?.panelProps, ...props })}\n data-slot=\"panel\"\n >\n {props.children}\n </AccordionPanel>\n );\n});\n","import React, { forwardRef, useContext, useRef } from \"react\";\nimport { AccordionDisclosure } from \"../accordion.slots\";\nimport { useDisclosureState } from \"react-stately\";\nimport {\n useDisclosure,\n mergeProps,\n useButton,\n useFocusRing,\n useId,\n} from \"react-aria\";\nimport type { DisclosureItemProps } from \"../accordion.types\";\n// Import the contexts from the shared file\nimport { ItemContext, DisclosureGroupStateContext } from \"../accordion-context\";\n\nexport const AccordionItem = forwardRef<HTMLDivElement, DisclosureItemProps>(\n (\n { children, id, isDisabled, isExpanded, onExpandedChange, value },\n forwardedRef\n ) => {\n const defaultId = useId();\n const itemId = id || defaultId;\n const itemValue = value || itemId;\n\n // Get group state from context\n const groupState = useContext(DisclosureGroupStateContext);\n\n // Determine if expanded based on group state or prop\n const expanded = groupState\n ? groupState.expandedKeys.has(itemValue)\n : isExpanded;\n\n // Create disclosure state\n const state = useDisclosureState({\n isExpanded: expanded,\n onExpandedChange: (isExpanded) => {\n if (groupState) {\n groupState.toggleKey(itemValue);\n }\n onExpandedChange?.(isExpanded);\n },\n });\n\n // Create refs and get props\n const panelRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const disabled = isDisabled || groupState?.isDisabled || false;\n\n const { buttonProps, panelProps } = useDisclosure(\n {\n isExpanded: state.isExpanded,\n isDisabled: disabled,\n },\n state,\n panelRef\n );\n\n const { buttonProps: finalButtonProps } = useButton(\n buttonProps,\n triggerRef\n );\n const { focusProps, isFocusVisible } = useFocusRing();\n\n // Create context value for Header and Content\n const contextValue = {\n isExpanded: state.isExpanded,\n triggerRef,\n panelRef,\n buttonProps: mergeProps(finalButtonProps, focusProps),\n panelProps,\n isFocusVisible,\n };\n\n // Using the imported ItemContext\n return (\n <ItemContext.Provider value={contextValue}>\n <AccordionDisclosure\n data-slot=\"disclosure\"\n data-value={itemValue}\n data-expanded={state.isExpanded}\n ref={forwardedRef}\n >\n {children}\n </AccordionDisclosure>\n </ItemContext.Provider>\n );\n }\n);\n","import { HeaderRightContent } from \"./accordion.slots\";\nimport { AccordionGroup } from \"./components/accordion-group\";\nimport { AccordionHeader } from \"./components/accordion-header\";\nimport { AccordionContent } from \"./components/accordion-content\";\nimport { AccordionItem } from \"./components/accordion-item\";\n\n// Create the Accordion namespace object as an object literal\nexport const Accordion = {\n Root: AccordionGroup,\n Item: AccordionItem,\n Header: AccordionHeader,\n Content: AccordionContent,\n HeaderRightContent,\n};\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the LoadingSpinner component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const loadingSpinnerRecipe = defineRecipe({\n className: \"nimbus-loading-spinner\",\n\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg\": {\n overflow: \"visible\",\n // This proportionally scales the spinner to fit the container while also scaling padding\n transform: \"scale(calc(1 - 2/12))\",\n },\n \"& svg [data-svg-path='spinner-pointer']\": {\n stroke: \"colorPalette.10\",\n animationName: \"spin\",\n animationDuration: \"0.5s\",\n animationTimingFunction: \"linear\",\n animationIterationCount: \"infinite\",\n transformOrigin: \"center center 0\",\n },\n \"& svg [data-svg-path='spinner-circle']\": {\n stroke: \"colorPalette.5\",\n },\n },\n\n variants: {\n size: {\n \"2xs\": {\n width: \"350\",\n height: \"350\",\n },\n xs: {\n width: \"500\",\n height: \"500\",\n },\n sm: {\n width: \"600\",\n height: \"600\",\n },\n md: {\n width: \"800\",\n height: \"800\",\n },\n lg: {\n width: \"1000\",\n height: \"1000\",\n },\n },\n\n tone: {\n primary: {\n colorPalette: \"ctvioletAlpha\",\n },\n white: {\n colorPalette: \"whiteAlpha\",\n },\n },\n },\n\n defaultVariants: {\n size: \"sm\",\n tone: \"primary\",\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { loadingSpinnerRecipe } from \"./loading-spinner.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the div element.\n */\nexport interface LoadingSpinnerRecipeProps\n extends RecipeProps<\"div\">,\n UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport type LoadingSpinnerRootProps = Omit<\n HTMLChakraProps<\"div\", LoadingSpinnerRecipeProps>,\n // We want to omit polymorphic props from the root props since they are not used internally.\n \"as\" | \"asChild\"\n>;\n\nconst { withContext } = createRecipeContext({ recipe: loadingSpinnerRecipe });\n\n/**\n * Root component that provides the styling context for the LoadingSpinner component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const LoadingSpinnerRoot = withContext<\n HTMLDivElement,\n LoadingSpinnerRootProps\n>(\"div\");\n","import { forwardRef } from \"react\";\nimport { LoadingSpinnerRoot } from \"./loading-spinner.slots\";\nimport type { LoadingSpinnerProps } from \"./loading-spinner.types\";\nimport { mergeProps, useProgressBar } from \"react-aria\";\n\nconst circlePath =\n \"M22.5 12C22.5 13.3789 22.2284 14.7443 21.7007 16.0182C21.1731 17.2921 20.3996 18.4496 19.4246 19.4246C18.4496 20.3996 17.2921 21.1731 16.0182 21.7007C14.7443 22.2284 13.3789 22.5 12 22.5C10.6211 22.5 9.25574 22.2284 7.98182 21.7007C6.7079 21.1731 5.55039 20.3996 4.57538 19.4246C3.60036 18.4496 2.82694 17.2921 2.29926 16.0182C1.77159 14.7443 1.5 13.3789 1.5 12C1.5 10.6211 1.77159 9.25574 2.29927 7.98182C2.82694 6.7079 3.60037 5.55039 4.57538 4.57538C5.5504 3.60036 6.70791 2.82694 7.98183 2.29926C9.25575 1.77159 10.6211 1.5 12 1.5C13.3789 1.5 14.7443 1.77159 16.0182 2.29927C17.2921 2.82694 18.4496 3.60037 19.4246 4.57538C20.3996 5.5504 21.1731 6.70791 21.7007 7.98183C22.2284 9.25575 22.5 10.6211 22.5 12L22.5 12Z\";\nconst pointerPath =\n \"M12 1.5C13.3789 1.5 14.7443 1.77159 16.0182 2.29927C17.2921 2.82694 18.4496 3.60036 19.4246 4.57538C20.3996 5.55039 21.1731 6.70791 21.7007 7.98183C22.2284 9.25574 22.5 10.6211 22.5 12\";\n\n/**\n * LoadingSpinner\n * ============================================================\n * Indicates ongoing processes or loading states\n */\nexport const LoadingSpinner = forwardRef<HTMLDivElement, LoadingSpinnerProps>(\n ({ \"aria-label\": ariaLabel = \"Loading data\", ...props }, ref) => {\n const { progressBarProps } = useProgressBar({\n isIndeterminate: true,\n \"aria-label\": ariaLabel,\n ...props,\n });\n\n return (\n <LoadingSpinnerRoot\n ref={ref}\n {...mergeProps(props, progressBarProps)}\n aria-label={ariaLabel}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d={circlePath}\n data-svg-path=\"spinner-circle\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d={pointerPath}\n data-svg-path=\"spinner-pointer\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </LoadingSpinnerRoot>\n );\n }\n);\nLoadingSpinner.displayName = \"LoadingSpinner\";\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Card component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const cardRecipe = defineSlotRecipe({\n slots: [\"root\", \"header\", \"content\"],\n\n className: \"nimbus-card\",\n\n base: {\n root: {\n colorPalette: \"slate\",\n display: \"inline-flex\",\n alignItems: \"flex-start\",\n borderRadius: \"300\",\n focusVisibleRing: \"outside\",\n },\n },\n\n variants: {\n cardPadding: {\n sm: {\n root: {\n padding: \"200\",\n },\n },\n md: {\n root: {\n padding: \"400\",\n },\n },\n lg: {\n root: {\n padding: \"600\",\n },\n },\n },\n\n borderStyle: {\n none: {},\n outlined: {\n root: {\n border: \"solid-25\",\n borderColor: \"colorPalette.3\",\n },\n },\n },\n elevation: {\n none: {},\n elevated: {\n root: {\n shadow: \"1\",\n },\n },\n },\n backgroundStyle: {\n default: {\n root: {\n backgroundColor: \"colorPalette.contrast\",\n },\n },\n muted: {\n root: {\n backgroundColor: \"colorPalette.2\",\n },\n },\n },\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { cardRecipe } from \"./card.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the div element.\n */\ninterface CardRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport interface CardRootProps\n extends HTMLChakraProps<\"div\", CardRecipeProps> {}\n\nexport interface CardHeaderProps\n extends HTMLChakraProps<\"div\", CardRecipeProps> {}\n\nexport interface CardContentProps\n extends HTMLChakraProps<\"div\", CardRecipeProps> {}\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: cardRecipe,\n});\n\n/**\n * Root component that provides the styling context for the Card component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const CardRoot = withProvider<HTMLDivElement, CardRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const CardHeader = withContext<HTMLDivElement, CardHeaderProps>(\n \"div\",\n \"header\"\n);\nexport const CardContent = withContext<HTMLDivElement, CardContentProps>(\n \"div\",\n \"content\"\n);\n","import {\n createContext,\n forwardRef,\n useMemo,\n useState,\n type ReactNode,\n} from \"react\";\nimport { CardRoot as CardRootSlot } from \"../card.slots\";\nimport type { CardProps } from \"../card.types\";\nimport { Stack } from \"../../stack\";\nimport { mergeProps, useFocusRing } from \"react-aria\";\n\ntype CardContextValue = {\n setHeader: (header: React.ReactNode) => void;\n setContent: (content: React.ReactNode) => void;\n};\n\nexport const CardContext = createContext<CardContextValue | undefined>(\n undefined\n);\n\nexport const CardRoot = forwardRef<HTMLDivElement, CardProps>(\n ({ children, ...props }, ref) => {\n const { isFocused, isFocusVisible, focusProps } = useFocusRing();\n const [headerNode, setHeader] = useState<ReactNode>(null);\n const [contentNode, setContent] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setHeader,\n setContent,\n }),\n [setHeader, setContent]\n );\n\n return (\n <CardContext.Provider value={contextValue}>\n <CardRootSlot\n ref={ref}\n {...mergeProps(props, focusProps)}\n data-focus={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n tabIndex={0}\n >\n {/* Always render them in this order/layout to protect consumers */}\n <Stack direction=\"column\" gap=\"200\">\n {headerNode}\n {contentNode}\n </Stack>\n\n {/* Render all consumer sub-components, including our own */}\n {children}\n </CardRootSlot>\n </CardContext.Provider>\n );\n }\n);\n\nCardRoot.displayName = \"Card.Root\";\n","import { useContext, useEffect } from \"react\";\nimport {\n CardHeader as CardHeaderSlot,\n type CardHeaderProps,\n} from \"../card.slots\";\nimport { CardContext } from \"./card.root\";\n\nexport const CardHeader = ({ children, ...props }: CardHeaderProps) => {\n const context = useContext(CardContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <CardHeaderSlot {...props}>{children}</CardHeaderSlot>\n );\n // Register it with the parent\n context.setHeader(slotElement);\n\n // On unmount, remove it\n return () => context.setHeader(null);\n }\n }, [children, props]);\n\n return null;\n};\nCardHeader.displayName = \"Card.Header\";\n","import { useContext, useEffect } from \"react\";\nimport {\n CardContent as CardContentSlot,\n type CardContentProps,\n} from \"../card.slots\";\nimport { CardContext } from \"./card.root\";\n\nexport const CardContent = ({ children, ...props }: CardContentProps) => {\n const context = useContext(CardContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <CardContentSlot {...props}>{children}</CardContentSlot>\n );\n // Register it with the parent\n context.setContent(slotElement);\n\n // On unmount, remove it\n return () => context.setContent(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nCardContent.displayName = \"Card.Content\";\n","import { CardRoot } from \"./components/card.root\";\nimport { CardHeader } from \"./components/card.header\";\nimport { CardContent } from \"./components/card.content\";\n\nexport { CardRoot, CardHeader, CardContent };\n\nexport const Card = {\n Root: CardRoot,\n Header: CardHeader,\n Content: CardContent,\n};\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Badge component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const badgeRecipe = defineRecipe({\n className: \"nimbus-badge\",\n\n // Base styles applied to all instances of the component\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n borderRadius: \"200\",\n justifyContent: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n py: \"25\",\n fontWeight: \"500\",\n backgroundColor: \"colorPalette.3\",\n color: \"colorPalette.11\",\n w: \"auto\",\n userSelect: \"none\",\n _icon: {\n flexShrink: \"0\",\n },\n },\n\n // Available variants for customizing the component's appearance\n variants: {\n size: {\n \"2xs\": {\n fontSize: \"300\",\n gap: \"100\",\n h: \"600\",\n lineHeight: \"350\",\n px: \"200\",\n _icon: {\n width: \"400\",\n height: \"400\",\n },\n },\n xs: {\n fontSize: \"350\",\n gap: \"100\",\n h: \"800\",\n lineHeight: \"400\",\n px: \"300\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n },\n md: {\n fontSize: \"400\",\n gap: \"200\",\n h: \"1000\",\n lineHeight: \"500\",\n px: \"400\",\n _icon: {\n width: \"600\",\n height: \"600\",\n },\n },\n },\n },\n\n // Default variant values when not explicitly specified\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { createRecipeContext } from \"@chakra-ui/react\";\n\nimport { badgeRecipe } from \"./badge.recipe\";\nimport type { BadgeRootProps } from \"./badge.types\";\n\nconst { withContext } = createRecipeContext({ recipe: badgeRecipe });\n\nexport const BadgeRoot = withContext<HTMLSpanElement, BadgeRootProps>(\"span\");\n","import { forwardRef, useRef } from \"react\";\nimport { BadgeRoot } from \"./badge.slots\";\nimport type { BadgeProps } from \"./badge.types\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { useObjectRef, mergeProps } from \"react-aria\";\n/**\n * Badge\n * ============================================================\n * badge\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLSpanElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)\n */\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n (props, forwardedRef) => {\n const { as, asChild, children, ...rest } = props;\n\n const localRef = useRef<HTMLSpanElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n const elementType = as || \"span\";\n\n return (\n <BadgeRoot as={elementType} {...mergeProps(rest, { ref })}>\n {children}\n </BadgeRoot>\n );\n }\n);\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Alert component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const alertRecipe = defineSlotRecipe({\n slots: [\"root\", \"title\", \"description\", \"icon\", \"actions\", \"dismissButton\"],\n // Unique class name prefix for the component\n className: \"nimbus-alert\",\n\n // Base styles applied to all instances of the component\n base: {\n root: {\n display: \"inline-flex\",\n flexDirection: \"row\",\n gap: \"200\",\n width: \"100%\",\n },\n icon: {\n marginTop: \"50\",\n \"& svg\": {\n width: \"500\",\n height: \"500\",\n color: \"colorPalette.11\",\n },\n },\n title: {\n color: \"colorPalette.11\",\n },\n description: {\n color: \"colorPalette.11\",\n },\n },\n\n variants: {\n tone: {\n critical: {\n root: { colorPalette: \"critical\" },\n },\n info: {\n root: { colorPalette: \"info\" },\n },\n warning: {\n root: { colorPalette: \"amber\" },\n },\n positive: {\n root: { colorPalette: \"positive\" },\n },\n },\n\n variant: {\n flat: {},\n outlined: {\n root: {\n border: \"solid-25\",\n borderColor: \"colorPalette.5\",\n backgroundColor: \"colorPalette.2\",\n padding: \"200\",\n borderRadius: \"200\",\n },\n },\n },\n },\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport { alertRecipe } from \"./alert.recipe\";\nimport type {\n AlertActionsProps,\n AlertDescriptionProps,\n AlertDismissButtonProps,\n AlertIconProps,\n AlertRootProps,\n AlertTitleProps,\n} from \"./alert.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: alertRecipe,\n});\n\nexport const AlertRoot = withProvider<HTMLDivElement, AlertRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AlertTitle = withContext<HTMLDivElement, AlertTitleProps>(\n \"div\",\n \"title\"\n);\n\nexport const AlertDescription = withContext<\n HTMLDivElement,\n AlertDescriptionProps\n>(\"div\", \"description\");\n\nexport const AlertIcon = withContext<HTMLDivElement, AlertIconProps>(\n \"div\",\n \"icon\"\n);\n\nexport const AlertActions = withContext<HTMLDivElement, AlertActionsProps>(\n \"div\",\n \"actions\"\n);\n\n// This is a div wrapper for layout placement - note that we expect it to receive `IconButton` props, but we use a `div`.\n// We then forward the consumer props to the interior `IconButton` component.\nexport const AlertDismissButton = withContext<\n HTMLDivElement,\n AlertDismissButtonProps\n>(\"div\", \"dismissButton\");\n","import {\n createContext,\n forwardRef,\n useMemo,\n useState,\n type ReactNode,\n} from \"react\";\nimport { AlertRoot as AlertRootSlot, AlertIcon } from \"../alert.slots\";\nimport type { AlertProps, AlertRootComponent } from \"../alert.types\";\nimport { Box } from \"../../box\";\nimport { Stack } from \"../../stack\";\nimport {\n CheckCircleOutline,\n ErrorOutline,\n Info,\n WarningAmber,\n} from \"@commercetools/nimbus-icons\";\n\nconst getIconFromTone = (tone: AlertProps[\"tone\"]) => {\n switch (tone) {\n case \"critical\":\n return <ErrorOutline />;\n case \"info\":\n return <Info />;\n case \"warning\":\n return <WarningAmber />;\n case \"positive\":\n return <CheckCircleOutline />;\n default:\n return null;\n }\n};\n\ntype AlertContextValue = {\n setTitle: (title: ReactNode) => void;\n setDescription: (description: ReactNode) => void;\n setActions: (actions: ReactNode) => void;\n setDismiss: (dismiss: ReactNode) => void;\n};\n\nexport const AlertContext = createContext<AlertContextValue | undefined>(\n undefined\n);\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const AlertRoot: AlertRootComponent = forwardRef<\n HTMLDivElement,\n AlertProps\n>(({ children, ...props }, ref) => {\n const [titleNode, setTitle] = useState<ReactNode>(null);\n const [descriptionNode, setDescription] = useState<ReactNode>(null);\n const [actionsNode, setActions] = useState<ReactNode>(null);\n const [dismissNode, setDismiss] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setTitle,\n setDescription,\n setActions,\n setDismiss,\n }),\n [setTitle, setDescription, setActions, setDismiss]\n );\n\n return (\n <AlertContext.Provider value={contextValue}>\n <AlertRootSlot ref={ref} {...props} role=\"alert\">\n <AlertIcon alignItems=\"flex-start\">\n {getIconFromTone(props.tone)}\n </AlertIcon>\n <Stack flex=\"1\" gap=\"200\">\n <Box>\n {titleNode}\n {descriptionNode}\n </Box>\n {actionsNode}\n </Stack>\n {dismissNode}\n\n {children}\n </AlertRootSlot>\n </AlertContext.Provider>\n );\n});\n\nAlertRoot.displayName = \"Alert.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertTitle as AlertTitleSlot } from \"../alert.slots\";\nimport type { AlertTitleProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertTitle = ({ children, ...props }: AlertTitleProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertTitleSlot {...props} fontWeight=\"600\">\n {children}\n </AlertTitleSlot>\n );\n // Register it with the parent\n context.setTitle(slotElement);\n\n // On unmount, remove it\n return () => context.setTitle(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertTitle.displayName = \"Alert.Title\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDescription as AlertDescriptionSlot } from \"../alert.slots\";\nimport type { AlertDescriptionProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDescription = ({\n children,\n ...props\n}: AlertDescriptionProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDescriptionSlot {...props}>{children}</AlertDescriptionSlot>\n );\n // Register it with the parent\n context.setDescription(slotElement);\n\n // On unmount, remove it\n return () => context.setDescription(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDescription.displayName = \"Alert.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertActions as AlertActionsSlot } from \"../alert.slots\";\nimport type { AlertActionsProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertActions = ({ children, ...props }: AlertActionsProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertActionsSlot {...props}>{children}</AlertActionsSlot>\n );\n // Register it with the parent\n context.setActions(slotElement);\n\n // On unmount, remove it\n return () => context.setActions(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertActions.displayName = \"Alert.Actions\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDismissButton as AlertDismissButtonSlot } from \"../alert.slots\";\nimport type { AlertDismissButtonProps } from \"../alert.types\";\nimport { Clear } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"../../icon-button\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDismissButton = ({\n children,\n ...props\n}: AlertDismissButtonProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDismissButtonSlot>\n <IconButton\n aria-label=\"Dismiss\"\n {...props}\n variant=\"ghost\"\n size=\"2xs\"\n >\n <Clear role=\"img\" />\n </IconButton>\n </AlertDismissButtonSlot>\n );\n // Register it with the parent\n context.setDismiss(slotElement);\n\n // On unmount, remove it\n return () => context.setDismiss(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDismissButton.displayName = \"Alert.DismissButton\";\n","import { AlertTitle } from \"./components/alert.title\";\nimport { AlertDescription } from \"./components/alert.description\";\nimport { AlertActions } from \"./components/alert.actions\";\nimport { AlertDismissButton } from \"./components/alert.dismiss-button\";\nimport { AlertRoot } from \"./components/alert.root\";\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const Alert = {\n Root: AlertRoot,\n Title: AlertTitle,\n Description: AlertDescription,\n Actions: AlertActions,\n DismissButton: AlertDismissButton,\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\nimport { buttonRecipe } from \"../button/button.recipe\";\n\n/**\n * Recipe configuration for the ToggleButtonGroup component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const buttonGroupRecipe = defineSlotRecipe({\n slots: [\"root\", \"button\"],\n // Unique class name prefix for the component\n className: \"nimbus-toggle-button-group\",\n\n // Base styles applied to all instances of the component\n base: {\n root: {\n display: \"inline-flex\",\n },\n button: {\n // Base style is the same as our Button\n ...buttonRecipe.base,\n // Default style is outlined\n ...buttonRecipe.variants?.variant.outline,\n // Create overrides for custom ToggleButtonGroup styles\n borderRadius: \"0\",\n borderRightWidth: \"0\",\n \"&:first-of-type\": {\n borderLeftRadius: \"200\",\n },\n \"&:last-of-type\": {\n borderRightWidth: \"1px\",\n borderRightRadius: \"200\",\n },\n // When selected, the button is styled like a solid button\n \"&[data-selected=true]\": buttonRecipe.variants?.variant.solid,\n },\n },\n\n variants: {\n size: {\n xs: {\n button: buttonRecipe.variants?.size.xs,\n },\n md: {\n button: buttonRecipe.variants?.size.md,\n },\n },\n\n tone: {\n primary: {\n button: { colorPalette: \"primary\" },\n },\n critical: {\n button: { colorPalette: \"critical\" },\n },\n neutral: {\n button: { colorPalette: \"neutral\" },\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport { buttonGroupRecipe } from \"./toggle-button-group.recipe\";\nimport type {\n ToggleButtonGroupButtonProps,\n ToggleButtonGroupProps,\n ToggleButtonGroupButtonComponent,\n} from \"./toggle-button-group.types\";\nimport {\n ToggleButton as RacToggleButton,\n ToggleButtonGroup as RacToggleButtonGroup,\n} from \"react-aria-components\";\n\nconst { withContext, withProvider } = createSlotRecipeContext({\n recipe: buttonGroupRecipe,\n});\n\nexport const ToggleButtonGroupRoot = withProvider<\n typeof RacToggleButtonGroup,\n ToggleButtonGroupProps\n>(RacToggleButtonGroup, \"root\");\n\nexport const ToggleButtonGroupButton: ToggleButtonGroupButtonComponent =\n withContext<typeof RacToggleButton, ToggleButtonGroupButtonProps>(\n RacToggleButton,\n \"button\"\n );\n","import { forwardRef } from \"react\";\nimport { ToggleButtonGroupRoot as ToggleButtonGroupRootSlot } from \"../toggle-button-group.slots\";\nimport type { ToggleButtonGroupRootComponent } from \"../toggle-button-group.types\";\n\nexport const ToggleButtonGroupRoot: ToggleButtonGroupRootComponent = forwardRef(\n ({ children, ...rest }, ref) => {\n return (\n <ToggleButtonGroupRootSlot ref={ref} {...rest}>\n {children}\n </ToggleButtonGroupRootSlot>\n );\n }\n);\n\nToggleButtonGroupRoot.displayName = \"ToggleButtonGroup.Root\";\n","import { forwardRef } from \"react\";\nimport { ToggleButtonGroupButton as ToggleButtonGroupButtonSlot } from \"../toggle-button-group.slots\";\nimport type { ToggleButtonGroupButtonComponent } from \"../toggle-button-group.types\";\n\nexport const ToggleButtonGroupButton: ToggleButtonGroupButtonComponent =\n forwardRef(({ children, ...rest }, ref) => {\n return (\n <ToggleButtonGroupButtonSlot {...rest} ref={ref}>\n {children}\n </ToggleButtonGroupButtonSlot>\n );\n });\n\nToggleButtonGroupButton.displayName = \"ToggleButtonGroup.Button\";\n","import { ToggleButtonGroupRoot } from \"./components/toggle-button-group.root\";\nimport { ToggleButtonGroupButton } from \"./components/toggle-button-group.button\";\n\nexport { ToggleButtonGroupRoot, ToggleButtonGroupButton };\n\n/**\n * ToggleButtonGroup\n * ============================================================\n * To group multiple `Button` components together, visually and logically, representing a set of related actions.\n */\nexport const ToggleButtonGroup = {\n Root: ToggleButtonGroupRoot,\n Button: ToggleButtonGroupButton,\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nconst columnLayout = `\n\"label\"\n\"input\"\n\"description\"\n\"error\"\n`;\nconst rowLayout = `\n\"label input\"\n\"label description\"\n\"label error\"\n`;\n\n/**\n * Recipe configuration for the FormField component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const formFieldRecipe = defineSlotRecipe({\n slots: [\"root\", \"label\", \"input\", \"description\", \"error\", \"popover\"],\n // Unique class name prefix for the component\n className: \"nimbus-ui-form-field\",\n\n base: {\n root: {\n \"--grid-gap\": \"spacing.100\",\n\n display: \"grid\",\n width: \"auto\",\n },\n label: {\n gridArea: \"label\",\n fontWeight: \"500\",\n color: \"neutral.11\",\n fontSize: \"var(--form-field-font-size)\",\n lineHeight: \"var(--form-field-line-height)\",\n },\n input: {\n gridArea: \"input\",\n },\n description: {\n gridArea: \"description\",\n color: \"neutral.11\",\n fontSize: \"var(--form-field-font-size)\",\n lineHeight: \"var(--form-field-line-height)\",\n },\n error: {\n gridArea: \"error\",\n color: \"critical.11\",\n fontSize: \"var(--form-field-font-size)\",\n lineHeight: \"var(--form-field-line-height)\",\n },\n popover: {\n \"--scrollbar-color\": \"colors.neutral.8\",\n \"--scrollbar-bg\": \"colors.neutral.3\",\n bg: \"neutral.1\",\n maxWidth: \"xl\",\n borderRadius: \"200\",\n boxShadow: \"6\",\n border: \"solid-25\",\n borderColor: \"neutral.8\",\n maxHeight: \"40svh\",\n overflow: \"auto\",\n scrollbarWidth: \"thin\",\n scrollbarColor: \"var(--scrollbar-color) var(--scrollbar-bg)\",\n focusRing: \"outside\",\n },\n },\n\n variants: {\n size: {\n md: {\n root: {\n \"--form-field-font-size\": \"fontSizes.350\",\n \"--form-field-line-height\": \"lineHeights.500\",\n },\n },\n sm: {\n root: {\n \"--form-field-font-size\": \"fontSizes.300\",\n \"--form-field-line-height\": \"lineHeights.450\",\n },\n },\n },\n direction: {\n column: {\n root: {\n gridTemplateAreas: columnLayout,\n },\n input: {\n mt: \"var(--grid-gap)\",\n },\n description: {\n mt: \"var(--grid-gap)\",\n },\n error: {\n mt: \"var(--grid-gap)\",\n },\n },\n row: {\n root: {\n gridTemplateAreas: rowLayout,\n gridTemplateColumns: \"auto 1fr\",\n gridColumnGap: \"200\",\n },\n description: {\n mt: \"var(--grid-gap)\",\n },\n error: {\n mt: \"var(--grid-gap)\",\n },\n },\n },\n },\n\n // Default variant values when not explicitly specified\n defaultVariants: {\n direction: \"column\",\n size: \"md\",\n },\n});\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n type HTMLChakraProps,\n type RecipeVariantProps,\n type UnstyledProp,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { formFieldRecipe } from \"./form-field.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: formFieldRecipe,\n});\n\n// Root slot\nexport interface FormFieldRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof formFieldRecipe> & UnstyledProp\n > {}\n\nexport const FormFieldRootSlot = withProvider<\n HTMLDivElement,\n FormFieldRootSlotProps\n>(\"div\", \"root\");\n\n// Label Slot\nexport interface FormFieldLabelSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldLabelSlot = withContext<\n HTMLDivElement,\n FormFieldLabelSlotProps\n>(\"div\", \"label\");\n\n// Input Slot\nexport interface FormFieldInputSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldInputSlot = withContext<\n HTMLDivElement,\n FormFieldInputSlotProps\n>(\"div\", \"input\");\n\n// Description Slot\nexport interface FormFieldDescriptionSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldDescriptionSlot = withContext<\n HTMLDivElement,\n FormFieldDescriptionSlotProps\n>(\"div\", \"description\");\n\n// Error Slot\nexport interface FormFieldErrorSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldErrorSlot = withContext<\n HTMLDivElement,\n FormFieldErrorSlotProps\n>(\"div\", \"error\");\n\n// Error Slot\nexport interface FormFieldPopoverSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldPopoverSlot = withContext<\n HTMLDivElement,\n FormFieldPopoverSlotProps\n>(\"div\", \"popover\");\n","import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useEffect,\n useState,\n} from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField } from \"react-aria\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"../form-field\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldInputSlot,\n FormFieldLabelSlot,\n FormFieldPopoverSlot,\n FormFieldRootSlot,\n} from \"../form-field.slots\";\nimport { Dialog, DialogTrigger, Popover } from \"react-aria-components\";\nimport { Box, IconButton } from \"@/components\";\nimport { ErrorOutline, HelpOutline } from \"@commercetools/nimbus-icons\";\n\n/**\n * FormField\n * ============================================================\n * displays inputs in a FormField context\n */\nexport const FormFieldRoot = forwardRef<HTMLDivElement, FormFieldProps>(\n (\n { isInvalid, isRequired, isDisabled, isReadOnly, children, ...props },\n ref\n ) => {\n const [context, setContext] = useState<FormFieldContextPayloadType>({\n label: null,\n description: null,\n error: null,\n info: null,\n input: null,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n });\n\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label: context.label,\n description: context.description,\n errorMessage: context.error,\n });\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }));\n }, [isInvalid, isRequired, isDisabled, isReadOnly]);\n\n const inputProps = {\n ...fieldProps,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n };\n\n return (\n <FormFieldContext.Provider value={{ context, setContext }}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps}>\n {context.label}\n {isRequired && <sup aria-hidden=\"true\">*</sup>}\n </label>\n {context.info && (\n <DialogTrigger>\n <Box\n as=\"span\"\n display=\"inline-block\"\n position=\"relative\"\n width=\"1ch\"\n height=\"1ch\"\n ml=\"200\"\n >\n <Box\n as=\"span\"\n display=\"inline-flex\"\n position=\"absolute\"\n top=\"50%\"\n right=\"50%\"\n transform=\"translate(50%, -50%)\"\n >\n <IconButton\n aria-label=\"__MORE INFO\"\n size=\"2xs\"\n tone=\"info\"\n variant=\"link\"\n >\n <HelpOutline />\n </IconButton>\n </Box>\n </Box>\n <Popover>\n <FormFieldPopoverSlot asChild>\n <Dialog>\n <Box p=\"300\">{context.info}</Box>\n </Dialog>\n </FormFieldPopoverSlot>\n </Popover>\n </DialogTrigger>\n )}\n </FormFieldLabelSlot>\n )}\n {context.input && (\n <FormFieldInputSlot {...context.inputSlotProps}>\n {Children.map(context.input, (child) => {\n // Important: Check if the child is a valid React element before cloning.\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n // If it's not a valid element (e.g., text node, null, undefined), return it as is.\n return child;\n })}\n </FormFieldInputSlot>\n )}\n {context.description && (\n <FormFieldDescriptionSlot\n {...descriptionProps}\n {...context.descriptionSlotProps}\n >\n {context.description}\n </FormFieldDescriptionSlot>\n )}\n {isInvalid && context.error && (\n <FormFieldErrorSlot\n {...errorMessageProps}\n {...context.errorSlotProps}\n >\n <Box\n as={ErrorOutline}\n display=\"inline-flex\"\n boxSize=\"400\"\n verticalAlign=\"text-bottom\"\n mr=\"100\"\n />\n {context.error}\n </FormFieldErrorSlot>\n )}\n {children}\n </FormFieldRootSlot>\n </FormFieldContext.Provider>\n );\n }\n);\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldLabelSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldLabel = ({\n children,\n ...labelSlotProps\n}: FormFieldLabelSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n label: children,\n labelSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldInputSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n input: children,\n inputSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldDescriptionSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldDescription = ({\n children,\n ...descriptionSlotProps\n}: FormFieldDescriptionSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n description: children,\n descriptionSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldErrorSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldError = ({\n children,\n ...errorSlotProps\n}: FormFieldErrorSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n error: children,\n errorSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect, type ReactNode } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\n\nexport const FormFieldInfoBox = ({ children }: { children: ReactNode }) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n info: children,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { createContext, type ReactNode } from \"react\";\nimport { FormFieldRoot } from \"./components/form-field.root\";\nimport { FormFieldLabel } from \"./components/form-field.label\";\nimport { FormFieldInput } from \"./components/form-field.input\";\nimport { FormFieldDescription } from \"./components/form-field.description\";\nimport { FormFieldError } from \"./components/form-field.error\";\nimport { FormFieldInfoBox } from \"./components/form-field.info-box\";\nimport type {\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldInputSlotProps,\n FormFieldLabelSlotProps,\n} from \"./form-field.slots\";\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n input: ReactNode;\n inputSlotProps?: FormFieldInputSlotProps;\n description: ReactNode;\n descriptionSlotProps?: FormFieldDescriptionSlotProps;\n error: ReactNode;\n errorSlotProps?: FormFieldErrorSlotProps;\n info: ReactNode;\n isInvalid?: boolean;\n isRequired?: boolean;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type FormFieldContextType = {\n context: FormFieldContextPayloadType;\n setContext: React.Dispatch<React.SetStateAction<FormFieldContextPayloadType>>;\n};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n input: null,\n },\n setContext: () => {},\n});\n\nexport const FormField = {\n Root: FormFieldRoot,\n Label: FormFieldLabel,\n Input: FormFieldInput,\n Description: FormFieldDescription,\n Error: FormFieldError,\n InfoBox: FormFieldInfoBox,\n};\n","import { useContext, createContext, useState, useCallback, useRef, useLayoutEffect, useEffect } from 'react';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\n\nvar reservedModifierKeywords = ['shift', 'alt', 'meta', 'mod', 'ctrl'];\nvar mappedKeys = {\n esc: 'escape',\n \"return\": 'enter',\n '.': 'period',\n ',': 'comma',\n '-': 'slash',\n ' ': 'space',\n '`': 'backquote',\n '#': 'backslash',\n '+': 'bracketright',\n ShiftLeft: 'shift',\n ShiftRight: 'shift',\n AltLeft: 'alt',\n AltRight: 'alt',\n MetaLeft: 'meta',\n MetaRight: 'meta',\n OSLeft: 'meta',\n OSRight: 'meta',\n ControlLeft: 'ctrl',\n ControlRight: 'ctrl'\n};\nfunction mapKey(key) {\n return (key && mappedKeys[key] || key || '').trim().toLowerCase().replace(/key|digit|numpad|arrow/, '');\n}\nfunction isHotkeyModifier(key) {\n return reservedModifierKeywords.includes(key);\n}\nfunction parseKeysHookInput(keys, splitKey) {\n if (splitKey === void 0) {\n splitKey = ',';\n }\n return keys.split(splitKey);\n}\nfunction parseHotkey(hotkey, combinationKey, description) {\n if (combinationKey === void 0) {\n combinationKey = '+';\n }\n var keys = hotkey.toLocaleLowerCase().split(combinationKey).map(function (k) {\n return mapKey(k);\n });\n var modifiers = {\n alt: keys.includes('alt'),\n ctrl: keys.includes('ctrl') || keys.includes('control'),\n shift: keys.includes('shift'),\n meta: keys.includes('meta'),\n mod: keys.includes('mod')\n };\n var singleCharKeys = keys.filter(function (k) {\n return !reservedModifierKeywords.includes(k);\n });\n return _extends({}, modifiers, {\n keys: singleCharKeys,\n description: description,\n hotkey: hotkey\n });\n}\n\n(function () {\n if (typeof document !== 'undefined') {\n document.addEventListener('keydown', function (e) {\n if (e.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n pushToCurrentlyPressedKeys([mapKey(e.key), mapKey(e.code)]);\n });\n document.addEventListener('keyup', function (e) {\n if (e.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n removeFromCurrentlyPressedKeys([mapKey(e.key), mapKey(e.code)]);\n });\n }\n if (typeof window !== 'undefined') {\n window.addEventListener('blur', function () {\n currentlyPressedKeys.clear();\n });\n }\n})();\nvar currentlyPressedKeys = /*#__PURE__*/new Set();\n// https://github.com/microsoft/TypeScript/issues/17002\nfunction isReadonlyArray(value) {\n return Array.isArray(value);\n}\nfunction isHotkeyPressed(key, splitKey) {\n if (splitKey === void 0) {\n splitKey = ',';\n }\n var hotkeyArray = isReadonlyArray(key) ? key : key.split(splitKey);\n return hotkeyArray.every(function (hotkey) {\n return currentlyPressedKeys.has(hotkey.trim().toLowerCase());\n });\n}\nfunction pushToCurrentlyPressedKeys(key) {\n var hotkeyArray = Array.isArray(key) ? key : [key];\n /*\r\n Due to a weird behavior on macOS we need to clear the set if the user pressed down the meta key and presses another key.\r\n https://stackoverflow.com/questions/11818637/why-does-javascript-drop-keyup-events-when-the-metakey-is-pressed-on-mac-browser\r\n Otherwise the set will hold all ever pressed keys while the meta key is down which leads to wrong results.\r\n */\n if (currentlyPressedKeys.has('meta')) {\n currentlyPressedKeys.forEach(function (key) {\n return !isHotkeyModifier(key) && currentlyPressedKeys[\"delete\"](key.toLowerCase());\n });\n }\n hotkeyArray.forEach(function (hotkey) {\n return currentlyPressedKeys.add(hotkey.toLowerCase());\n });\n}\nfunction removeFromCurrentlyPressedKeys(key) {\n var hotkeyArray = Array.isArray(key) ? key : [key];\n /*\r\n Due to a weird behavior on macOS we need to clear the set if the user pressed down the meta key and presses another key.\r\n https://stackoverflow.com/questions/11818637/why-does-javascript-drop-keyup-events-when-the-metakey-is-pressed-on-mac-browser\r\n Otherwise the set will hold all ever pressed keys while the meta key is down which leads to wrong results.\r\n */\n if (key === 'meta') {\n currentlyPressedKeys.clear();\n } else {\n hotkeyArray.forEach(function (hotkey) {\n return currentlyPressedKeys[\"delete\"](hotkey.toLowerCase());\n });\n }\n}\n\nfunction maybePreventDefault(e, hotkey, preventDefault) {\n if (typeof preventDefault === 'function' && preventDefault(e, hotkey) || preventDefault === true) {\n e.preventDefault();\n }\n}\nfunction isHotkeyEnabled(e, hotkey, enabled) {\n if (typeof enabled === 'function') {\n return enabled(e, hotkey);\n }\n return enabled === true || enabled === undefined;\n}\nfunction isKeyboardEventTriggeredByInput(ev) {\n return isHotkeyEnabledOnTag(ev, ['input', 'textarea', 'select']);\n}\nfunction isHotkeyEnabledOnTag(event, enabledOnTags) {\n if (enabledOnTags === void 0) {\n enabledOnTags = false;\n }\n var target = event.target,\n composed = event.composed;\n var targetTagName = null;\n if (isCustomElement(target) && composed) {\n targetTagName = event.composedPath()[0] && event.composedPath()[0].tagName;\n } else {\n targetTagName = target && target.tagName;\n }\n if (isReadonlyArray(enabledOnTags)) {\n return Boolean(targetTagName && enabledOnTags && enabledOnTags.some(function (tag) {\n var _targetTagName;\n return tag.toLowerCase() === ((_targetTagName = targetTagName) == null ? void 0 : _targetTagName.toLowerCase());\n }));\n }\n return Boolean(targetTagName && enabledOnTags && enabledOnTags);\n}\nfunction isCustomElement(element) {\n // We just do a basic check w/o any complex RegEx or validation against the list of legacy names containing a hyphen,\n // as none of them is likely to be an event target, and it won't hurt anyway if we miss.\n // see: https://html.spec.whatwg.org/multipage/custom-elements.html#prod-potentialcustomelementname\n return !!element.tagName && !element.tagName.startsWith(\"-\") && element.tagName.includes(\"-\");\n}\nfunction isScopeActive(activeScopes, scopes) {\n if (activeScopes.length === 0 && scopes) {\n console.warn('A hotkey has the \"scopes\" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>');\n return true;\n }\n if (!scopes) {\n return true;\n }\n return activeScopes.some(function (scope) {\n return scopes.includes(scope);\n }) || activeScopes.includes('*');\n}\nvar isHotkeyMatchingKeyboardEvent = function isHotkeyMatchingKeyboardEvent(e, hotkey, ignoreModifiers) {\n if (ignoreModifiers === void 0) {\n ignoreModifiers = false;\n }\n var alt = hotkey.alt,\n meta = hotkey.meta,\n mod = hotkey.mod,\n shift = hotkey.shift,\n ctrl = hotkey.ctrl,\n keys = hotkey.keys;\n var pressedKeyUppercase = e.key,\n code = e.code,\n ctrlKey = e.ctrlKey,\n metaKey = e.metaKey,\n shiftKey = e.shiftKey,\n altKey = e.altKey;\n var keyCode = mapKey(code);\n var pressedKey = pressedKeyUppercase.toLowerCase();\n if (!(keys != null && keys.includes(keyCode)) && !(keys != null && keys.includes(pressedKey)) && !['ctrl', 'control', 'unknown', 'meta', 'alt', 'shift', 'os'].includes(keyCode)) {\n return false;\n }\n if (!ignoreModifiers) {\n // We check the pressed keys for compatibility with the keyup event. In keyup events the modifier flags are not set.\n if (alt === !altKey && pressedKey !== 'alt') {\n return false;\n }\n if (shift === !shiftKey && pressedKey !== 'shift') {\n return false;\n }\n // Mod is a special key name that is checking for meta on macOS and ctrl on other platforms\n if (mod) {\n if (!metaKey && !ctrlKey) {\n return false;\n }\n } else {\n if (meta === !metaKey && pressedKey !== 'meta' && pressedKey !== 'os') {\n return false;\n }\n if (ctrl === !ctrlKey && pressedKey !== 'ctrl' && pressedKey !== 'control') {\n return false;\n }\n }\n }\n // All modifiers are correct, now check the key\n // If the key is set, we check for the key\n if (keys && keys.length === 1 && (keys.includes(pressedKey) || keys.includes(keyCode))) {\n return true;\n } else if (keys) {\n // Check if all keys are present in pressedDownKeys set\n return isHotkeyPressed(keys);\n } else if (!keys) {\n // If the key is not set, we only listen for modifiers, that check went alright, so we return true\n return true;\n }\n // There is nothing that matches.\n return false;\n};\n\nvar BoundHotkeysProxyProvider = /*#__PURE__*/createContext(undefined);\nvar useBoundHotkeysProxy = function useBoundHotkeysProxy() {\n return useContext(BoundHotkeysProxyProvider);\n};\nfunction BoundHotkeysProxyProviderProvider(_ref) {\n var addHotkey = _ref.addHotkey,\n removeHotkey = _ref.removeHotkey,\n children = _ref.children;\n return /*#__PURE__*/jsx(BoundHotkeysProxyProvider.Provider, {\n value: {\n addHotkey: addHotkey,\n removeHotkey: removeHotkey\n },\n children: children\n });\n}\n\nfunction deepEqual(x, y) {\n //@ts-ignore\n return x && y && typeof x === 'object' && typeof y === 'object' ? Object.keys(x).length === Object.keys(y).length &&\n //@ts-ignore\n Object.keys(x).reduce(function (isEqual, key) {\n return isEqual && deepEqual(x[key], y[key]);\n }, true) : x === y;\n}\n\nvar HotkeysContext = /*#__PURE__*/createContext({\n hotkeys: [],\n enabledScopes: [],\n toggleScope: function toggleScope() {},\n enableScope: function enableScope() {},\n disableScope: function disableScope() {}\n});\nvar useHotkeysContext = function useHotkeysContext() {\n return useContext(HotkeysContext);\n};\nvar HotkeysProvider = function HotkeysProvider(_ref) {\n var _ref$initiallyActiveS = _ref.initiallyActiveScopes,\n initiallyActiveScopes = _ref$initiallyActiveS === void 0 ? ['*'] : _ref$initiallyActiveS,\n children = _ref.children;\n var _useState = useState((initiallyActiveScopes == null ? void 0 : initiallyActiveScopes.length) > 0 ? initiallyActiveScopes : ['*']),\n internalActiveScopes = _useState[0],\n setInternalActiveScopes = _useState[1];\n var _useState2 = useState([]),\n boundHotkeys = _useState2[0],\n setBoundHotkeys = _useState2[1];\n var enableScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.includes('*')) {\n return [scope];\n }\n return Array.from(new Set([].concat(prev, [scope])));\n });\n }, []);\n var disableScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.filter(function (s) {\n return s !== scope;\n }).length === 0) {\n return ['*'];\n } else {\n return prev.filter(function (s) {\n return s !== scope;\n });\n }\n });\n }, []);\n var toggleScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.includes(scope)) {\n if (prev.filter(function (s) {\n return s !== scope;\n }).length === 0) {\n return ['*'];\n } else {\n return prev.filter(function (s) {\n return s !== scope;\n });\n }\n } else {\n if (prev.includes('*')) {\n return [scope];\n }\n return Array.from(new Set([].concat(prev, [scope])));\n }\n });\n }, []);\n var addBoundHotkey = useCallback(function (hotkey) {\n setBoundHotkeys(function (prev) {\n return [].concat(prev, [hotkey]);\n });\n }, []);\n var removeBoundHotkey = useCallback(function (hotkey) {\n setBoundHotkeys(function (prev) {\n return prev.filter(function (h) {\n return !deepEqual(h, hotkey);\n });\n });\n }, []);\n return /*#__PURE__*/jsx(HotkeysContext.Provider, {\n value: {\n enabledScopes: internalActiveScopes,\n hotkeys: boundHotkeys,\n enableScope: enableScope,\n disableScope: disableScope,\n toggleScope: toggleScope\n },\n children: /*#__PURE__*/jsx(BoundHotkeysProxyProviderProvider, {\n addHotkey: addBoundHotkey,\n removeHotkey: removeBoundHotkey,\n children: children\n })\n });\n};\n\nfunction useDeepEqualMemo(value) {\n var ref = useRef(undefined);\n if (!deepEqual(ref.current, value)) {\n ref.current = value;\n }\n return ref.current;\n}\n\nvar stopPropagation = function stopPropagation(e) {\n e.stopPropagation();\n e.preventDefault();\n e.stopImmediatePropagation();\n};\nvar useSafeLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\nfunction useHotkeys(keys, callback, options, dependencies) {\n var _useState = useState(null),\n ref = _useState[0],\n setRef = _useState[1];\n var hasTriggeredRef = useRef(false);\n var _options = !(options instanceof Array) ? options : !(dependencies instanceof Array) ? dependencies : undefined;\n var _keys = isReadonlyArray(keys) ? keys.join(_options == null ? void 0 : _options.splitKey) : keys;\n var _deps = options instanceof Array ? options : dependencies instanceof Array ? dependencies : undefined;\n var memoisedCB = useCallback(callback, _deps != null ? _deps : []);\n var cbRef = useRef(memoisedCB);\n if (_deps) {\n cbRef.current = memoisedCB;\n } else {\n cbRef.current = callback;\n }\n var memoisedOptions = useDeepEqualMemo(_options);\n var _useHotkeysContext = useHotkeysContext(),\n enabledScopes = _useHotkeysContext.enabledScopes;\n var proxy = useBoundHotkeysProxy();\n useSafeLayoutEffect(function () {\n if ((memoisedOptions == null ? void 0 : memoisedOptions.enabled) === false || !isScopeActive(enabledScopes, memoisedOptions == null ? void 0 : memoisedOptions.scopes)) {\n return;\n }\n var listener = function listener(e, isKeyUp) {\n var _e$target;\n if (isKeyUp === void 0) {\n isKeyUp = false;\n }\n if (isKeyboardEventTriggeredByInput(e) && !isHotkeyEnabledOnTag(e, memoisedOptions == null ? void 0 : memoisedOptions.enableOnFormTags)) {\n return;\n }\n // TODO: SINCE THE EVENT IS NOW ATTACHED TO THE REF, THE ACTIVE ELEMENT CAN NEVER BE INSIDE THE REF. THE HOTKEY ONLY TRIGGERS IF THE\n // REF IS THE ACTIVE ELEMENT. THIS IS A PROBLEM SINCE FOCUSED SUB COMPONENTS WON'T TRIGGER THE HOTKEY.\n if (ref !== null) {\n var rootNode = ref.getRootNode();\n if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement !== ref && !ref.contains(rootNode.activeElement)) {\n stopPropagation(e);\n return;\n }\n }\n if ((_e$target = e.target) != null && _e$target.isContentEditable && !(memoisedOptions != null && memoisedOptions.enableOnContentEditable)) {\n return;\n }\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n var _hotkey$keys;\n var hotkey = parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey);\n if (isHotkeyMatchingKeyboardEvent(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.ignoreModifiers) || (_hotkey$keys = hotkey.keys) != null && _hotkey$keys.includes('*')) {\n if (memoisedOptions != null && memoisedOptions.ignoreEventWhen != null && memoisedOptions.ignoreEventWhen(e)) {\n return;\n }\n if (isKeyUp && hasTriggeredRef.current) {\n return;\n }\n maybePreventDefault(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.preventDefault);\n if (!isHotkeyEnabled(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.enabled)) {\n stopPropagation(e);\n return;\n }\n // Execute the user callback for that hotkey\n cbRef.current(e, hotkey);\n if (!isKeyUp) {\n hasTriggeredRef.current = true;\n }\n }\n });\n };\n var handleKeyDown = function handleKeyDown(event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n pushToCurrentlyPressedKeys(mapKey(event.code));\n if ((memoisedOptions == null ? void 0 : memoisedOptions.keydown) === undefined && (memoisedOptions == null ? void 0 : memoisedOptions.keyup) !== true || memoisedOptions != null && memoisedOptions.keydown) {\n listener(event);\n }\n };\n var handleKeyUp = function handleKeyUp(event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n removeFromCurrentlyPressedKeys(mapKey(event.code));\n hasTriggeredRef.current = false;\n if (memoisedOptions != null && memoisedOptions.keyup) {\n listener(event, true);\n }\n };\n var domNode = ref || (_options == null ? void 0 : _options.document) || document;\n // @ts-ignore\n domNode.addEventListener('keyup', handleKeyUp);\n // @ts-ignore\n domNode.addEventListener('keydown', handleKeyDown);\n if (proxy) {\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n return proxy.addHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));\n });\n }\n return function () {\n // @ts-ignore\n domNode.removeEventListener('keyup', handleKeyUp);\n // @ts-ignore\n domNode.removeEventListener('keydown', handleKeyDown);\n if (proxy) {\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n return proxy.removeHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));\n });\n }\n };\n }, [ref, _keys, memoisedOptions, enabledScopes]);\n return setRef;\n}\n\nfunction useRecordHotkeys() {\n var _useState = useState(new Set()),\n keys = _useState[0],\n setKeys = _useState[1];\n var _useState2 = useState(false),\n isRecording = _useState2[0],\n setIsRecording = _useState2[1];\n var handler = useCallback(function (event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n setKeys(function (prev) {\n var newKeys = new Set(prev);\n newKeys.add(mapKey(event.code));\n return newKeys;\n });\n }, []);\n var stop = useCallback(function () {\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', handler);\n setIsRecording(false);\n }\n }, [handler]);\n var start = useCallback(function () {\n setKeys(new Set());\n if (typeof document !== 'undefined') {\n stop();\n document.addEventListener('keydown', handler);\n setIsRecording(true);\n }\n }, [handler, stop]);\n var resetKeys = useCallback(function () {\n setKeys(new Set());\n }, []);\n return [keys, {\n start: start,\n stop: stop,\n resetKeys: resetKeys,\n isRecording: isRecording\n }];\n}\n\nexport { HotkeysProvider, isHotkeyPressed, useHotkeys, useHotkeysContext, useRecordHotkeys };\n//# sourceMappingURL=react-hotkeys-hook.esm.js.map\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useMountedState() {\n var mountedRef = useRef(false);\n var get = useCallback(function () { return mountedRef.current; }, []);\n useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n }, []);\n return get;\n}\n","import { useCallback, useState } from 'react';\nvar useSetState = function (initialState) {\n if (initialState === void 0) { initialState = {}; }\n var _a = useState(initialState), state = _a[0], set = _a[1];\n var setState = useCallback(function (patch) {\n set(function (prevState) {\n return Object.assign({}, prevState, patch instanceof Function ? patch(prevState) : patch);\n });\n }, []);\n return [state, setState];\n};\nexport default useSetState;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","import writeText from 'copy-to-clipboard';\nimport { useCallback } from 'react';\nimport useMountedState from './useMountedState';\nimport useSetState from './useSetState';\nvar useCopyToClipboard = function () {\n var isMounted = useMountedState();\n var _a = useSetState({\n value: undefined,\n error: undefined,\n noUserInteraction: true,\n }), state = _a[0], setState = _a[1];\n var copyToClipboard = useCallback(function (value) {\n if (!isMounted()) {\n return;\n }\n var noUserInteraction;\n var normalizedValue;\n try {\n // only strings and numbers casted to strings can be copied to clipboard\n if (typeof value !== 'string' && typeof value !== 'number') {\n var error = new Error(\"Cannot copy typeof \" + typeof value + \" to clipboard, must be a string\");\n if (process.env.NODE_ENV === 'development')\n console.error(error);\n setState({\n value: value,\n error: error,\n noUserInteraction: true,\n });\n return;\n }\n // empty strings are also considered invalid\n else if (value === '') {\n var error = new Error(\"Cannot copy empty string to clipboard.\");\n if (process.env.NODE_ENV === 'development')\n console.error(error);\n setState({\n value: value,\n error: error,\n noUserInteraction: true,\n });\n return;\n }\n normalizedValue = value.toString();\n noUserInteraction = writeText(normalizedValue);\n setState({\n value: normalizedValue,\n error: undefined,\n noUserInteraction: noUserInteraction,\n });\n }\n catch (error) {\n setState({\n value: normalizedValue,\n error: error,\n noUserInteraction: noUserInteraction,\n });\n }\n }, []);\n return [state, copyToClipboard];\n};\nexport default useCopyToClipboard;\n"],"names":["avatarRecipe","defineRecipe","withContext","createRecipeContext","AvatarRoot","getInitials","firstName","lastName","Avatar","forwardRef","props","ref","src","alt","rest","fullName","sharedProps","jsx","Image","Box","ChakraBox","buttonRecipe","memoize","fn","cache","arg","reactPropsRegex","isPropValid","prop","ButtonRoot","variantKeys","chakraSfp","defaultSystem","shouldForwardProp","Button","forwardedRef","as","asChild","children","localRef","useRef","useObjectRef","mergeRefs","elementType","buttonProps","useButton","mergeProps","DialogContent","portalled","portalRef","backdrop","Portal","ChakraDialog","DialogCloseTrigger","DialogRoot","DialogFooter","DialogHeader","DialogBody","DialogBackdrop","DialogTitle","DialogDescription","DialogTrigger","DialogActionTrigger","IconButton","linkRecipe","LinkRoot","Link","linkProps","useLink","ListRoot","List","ListItem","GridComponent","ChakraSimpleGrid","SimpleGrid","GridItem","TableRoot","Table","TableColumnGroup","TableColumn","TableHeader","TableFooter","TableRow","TableCell","TableBody","TableColumnHeader","Text","ChakraText","tooltipRecipe","TooltipRoot","Tooltip","placement","RATooltip","TooltipTrigger","RATooltipTrigger","MakeElementFocusable","focusableProps","useFocusable","isValidElement","cloneElement","M","i","s","u","m","a","l","h","d","w","p","n","y","k","S","f","R","c","b","I","O","x","t","U","z","J","V","N","H","T","E","o","r","v","C","W","P","L","g","D","A","Q","_","ColorModeProvider","ThemeProvider","useColorMode","resolvedTheme","setTheme","useTheme","useColorModeValue","light","dark","colorMode","ColorModeLabel","animationStyles","defineAnimationStyles","transformBreakpoints","input","transformed","key","_a","breakpoints","themeTokens","globalCss","defineGlobalStyles","keyframes","layerStyles","defineLayerStyles","codeRecipe","headingRecipe","kbdRecipe","textInputRecipe","recipes","colors","defineSemanticTokens","shadows","radii","semanticTokens","dialogSlotRecipe","defineSlotRecipe","listSlotRecipe","tableSlotRecipe","checkboxSlotRecipe","selectSlotRecipe","accordionSlotRecipe","slotRecipes","textStyles","defineTextStyles","aspectRatios","defineTokens","animations","blurs","borders","durations","easings","fonts","fontSizes","fontWeights","convertPercentToEm","obj","acc","emValue","letterSpacings","lineHeights","spacing","sizes","zIndex","cursor","tokens","themeConfig","defineConfig","system","createSystem","defaultBaseConfig","useColorScheme","colorScheme","setColorScheme","useState","getCurrentColorScheme","useEffect","htmlElement","observer","newColorScheme","NimbusProvider","ChakraProvider","Fragment","extractStyleProps","styleProps","otherProps","withProvider","createSlotRecipeContext","CheckboxRoot","CheckboxLabel","CheckboxIndicator","Checkbox","recipe","useSlotRecipe","recipeProps","restProps","state","useToggleState","inputProps","useCheckbox","isFocused","focusProps","useFocusRing","isSelected","isIndeterminate","stateProps","jsxs","Check","Minus","VisuallyHidden","Stack","ChakraStack","leftoverProps","ReactAriaViusallyHidden","TextInputRoot","TextInput","useRecipe","leftOverProps","textfieldProps","TextField","Input","ChakraGrid","Grid","SelectRootSlot","SelectTriggerSlot","SelectTriggerLabelSlot","SelectOptionsSlot","SelectOptionSlot","SelectOptionGroupSlot","SelectClearButton","useContext","SelectStateContext","onPressRequest","CloseIcon","SelectRoot","isLoading","isDisabled","restRecipeProps","raSelectProps","RaSelect","chakra","RaButton","RaSelectValue","Flex","SpinnerIcon","DropdownIndicatorIcon","RaPopover","fixedForwardRef","render","SelectOptions","RaListBox","SelectOption","RaListBoxItem","SelectOptionGroup","label","items","RaListBoxSection","RaHeader","Collection","item","Select","_SelectRoot","_SelectOptions","_SelectOption","_SelectOptionGroup","AccordionRoot","AccordionDisclosure","AccordionTrigger","AccordionPanel","AccordionTitle","HeaderRightContent","ItemContext","createContext","DisclosureGroupStateContext","AccordionGroup","onExpandedChange","useDisclosureGroupState","keys","AccordionRootSlot","AccordionHeader","context","headerContent","React","child","KeyboardArrowRight","AccordionContent","AccordionItem","id","isExpanded","value","defaultId","useId","itemValue","groupState","expanded","useDisclosureState","panelRef","triggerRef","disabled","panelProps","useDisclosure","finalButtonProps","isFocusVisible","contextValue","Accordion","loadingSpinnerRecipe","LoadingSpinnerRoot","circlePath","pointerPath","LoadingSpinner","ariaLabel","progressBarProps","useProgressBar","cardRecipe","CardRoot","CardHeader","CardContent","CardContext","headerNode","setHeader","contentNode","setContent","useMemo","CardRootSlot","slotElement","CardHeaderSlot","CardContentSlot","Card","badgeRecipe","BadgeRoot","Badge","alertRecipe","AlertRoot","AlertTitle","AlertDescription","AlertIcon","AlertActions","AlertDismissButton","getIconFromTone","tone","ErrorOutline","Info","WarningAmber","CheckCircleOutline","AlertContext","titleNode","setTitle","descriptionNode","setDescription","actionsNode","setActions","dismissNode","setDismiss","AlertRootSlot","AlertTitleSlot","AlertDescriptionSlot","AlertActionsSlot","AlertDismissButtonSlot","Clear","Alert","buttonGroupRecipe","_b","_c","_d","ToggleButtonGroupRoot","RacToggleButtonGroup","ToggleButtonGroupButton","RacToggleButton","ToggleButtonGroupRootSlot","ToggleButtonGroupButtonSlot","ToggleButtonGroup","columnLayout","rowLayout","formFieldRecipe","FormFieldRootSlot","FormFieldLabelSlot","FormFieldInputSlot","FormFieldDescriptionSlot","FormFieldErrorSlot","FormFieldPopoverSlot","FormFieldRoot","isInvalid","isRequired","isReadOnly","setContext","labelProps","fieldProps","descriptionProps","errorMessageProps","useField","prevContext","FormFieldContext","HelpOutline","Popover","Dialog","Children","FormFieldLabel","labelSlotProps","FormFieldInput","inputSlotProps","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField","_extends","e","reservedModifierKeywords","mappedKeys","mapKey","isHotkeyModifier","parseKeysHookInput","splitKey","parseHotkey","hotkey","combinationKey","description","modifiers","singleCharKeys","pushToCurrentlyPressedKeys","removeFromCurrentlyPressedKeys","currentlyPressedKeys","isReadonlyArray","isHotkeyPressed","hotkeyArray","maybePreventDefault","preventDefault","isHotkeyEnabled","enabled","isKeyboardEventTriggeredByInput","ev","isHotkeyEnabledOnTag","event","enabledOnTags","target","composed","targetTagName","isCustomElement","tag","_targetTagName","element","isScopeActive","activeScopes","scopes","scope","isHotkeyMatchingKeyboardEvent","ignoreModifiers","meta","mod","shift","ctrl","pressedKeyUppercase","code","ctrlKey","metaKey","shiftKey","altKey","keyCode","pressedKey","BoundHotkeysProxyProvider","useBoundHotkeysProxy","deepEqual","isEqual","HotkeysContext","useHotkeysContext","useDeepEqualMemo","stopPropagation","useSafeLayoutEffect","useLayoutEffect","useHotkeys","callback","options","dependencies","_useState","setRef","hasTriggeredRef","_options","_keys","_deps","memoisedCB","useCallback","cbRef","memoisedOptions","_useHotkeysContext","enabledScopes","proxy","listener","isKeyUp","_e$target","rootNode","_hotkey$keys","handleKeyDown","handleKeyUp","domNode","useMountedState","mountedRef","get","useSetState","initialState","set","setState","patch","prevState","toggleSelection","selection","active","ranges","range","deselectCurrent","require$$0","clipboardToIE11Formatting","defaultMessage","format","message","copyKey","copy","text","debug","reselectPrevious","mark","success","successful","err","copyToClipboard","useCopyToClipboard","isMounted","noUserInteraction","normalizedValue","error","writeText"],"mappings":"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AAA,aAAa,QAAQ3B,EAAAA,YAAY,OAAO,ECAlD2C,GAAQhB,eAAa,MAAM,CACtC,GAAG3B,EAAY,YAAA,KACf,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,YACT,EACA,OAAQ,CACN,MAAO,WACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,KACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,KACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,KACT,EACA,QAAS,CACP,MAAO,YACT,EACA,QAAS,CACP,MAAO,YACT,EACA,IAAK,CACH,MAAO,aACT,EACA,IAAK,CACH,MAAO,aACT,EACA,IAAK,CACH,MAAO,aACT,EACA,MAAO,CACL,MAAO,MACT,EACA,KAAM,CACJ,MAAO,MACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,GAAI,CACF,MAAO,OACT,EACA,GAAI,CACF,MAAO,OAAA,CAEX,CAAC,ECpHY4C,GAASjB,EAAA,aAAa,OAAO3B,EAAAA,YAAY,MAAM,ECA/C6C,GAASlB,EAAA,aAAa,OAAO3B,EAAAA,YAAY,MAAM,ECe/C8C,GAAS,CACpB,aAAApB,GACA,WAAAE,GACA,MAAAC,GACA,QAAAC,GACA,OAAAnB,GACA,UAAAoB,GACA,QAAAC,GACA,MAAAC,GACA,UAAAC,GACA,YAAAC,GACA,eAAAK,GACA,YAAAC,GACA,MAAA3B,GACA,QAAA4B,GACA,MAAAC,GACA,OAAAC,GACA,OAAAC,EACF,ECpBME,GAAcC,EAAAA,aAAa,CAC/B,UAAW,GACX,cAAe,SACf,YAAa,uBACb,UAAA/C,GACA,MAAO,CACL,YAAAF,GACA,UAAAI,GACA,OAAA2C,GACA,eAAA/B,GACA,QAAAL,GACA,YAAAa,GACA,WAAAC,GACA,YAAApB,GACA,gBAAAZ,EAAA,CAEJ,CAAC,EAEYyD,GAASC,EAAAA,aAAaC,EAAAA,kBAAmBJ,EAAW,ECxB1D,SAASK,IAAiB,CAC/B,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAAA,SAASC,GAAuB,EAGtE,SAASA,GAAwB,CAE7B,OAAA,SAAS,gBAAgB,MAAM,iBAAiB,cAAc,GAC9D,aAAa,QAAQ,OAAO,GAC5B,OAAA,CAIJC,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAc,SAAS,gBAEvBC,EAAW,IAAI,iBAAiB,IAAM,CAC1C,MAAMC,EAAiBJ,EAAsB,EAC7CF,EAAeM,CAAc,CAAA,CAC9B,EAGD,OAAAD,EAAS,QAAQD,EAAa,CAC5B,WAAY,GACZ,gBAAiB,CAAC,OAAO,CAAA,CAC1B,EAEM,IAAMC,EAAS,WAAW,CACnC,EAAG,EAAE,EAEEN,CACT,CAEO,SAASQ,GAAe,CAAE,SAAAzL,EAAU,GAAG5B,GAAiC,CAC7E,OACGO,EAAA,IAAA+M,EAAA,eAAA,CAAe,MAAOb,GACrB,SAAClM,EAAAA,IAAA8H,GAAA,CAAkB,aAAc,GAAQ,GAAGrI,EAC1C,SAAGO,EAAA,IAAAgN,EAAA,SAAA,CAAA,SAAA3L,CAAA,CAAS,CACd,CAAA,EACF,CAEJ,CC3CO,SAAS4L,EACdxN,EAC4C,CAC5C,MAAMyN,EAAsC,CAAC,EACvCC,EAAa,CAAE,GAAG1N,CAAM,EAG9B,cAAO,KAAKA,CAAK,EAAE,QAASqJ,GAAQ,CAEhC,OAAO,UAAU,eAAe,KAAKrJ,EAAOqJ,CAAG,GAC/C/H,EAAA,cAAc,gBAAgB+H,CAAG,IAEtBoE,EAAApE,CAAG,EAAIrJ,EAAMqJ,CAAc,EACtC,OAAOqE,EAAWrE,CAAG,EACvB,CACD,EAEM,CAACoE,EAAYC,CAA6B,CACnD,CCjBA,KAAM,cAAEC,GAAA,YAAcnO,EAAY,EAAIoO,0BAAwB,CAC5D,IAAK,UACP,CAAC,EAOYC,GAAeF,GAC1B,QACA,MACF,EAGaG,GAAgBtO,GAC3B,OACA,OACF,EAGauO,GAAoBvO,GAG/B,OAAQ,WAAW,ECGRwO,GAAWjO,EAAA,WACtB,CAACC,EAAOyB,IAAiB,CACjB,MAAAI,EAAWC,SAAyB,IAAI,EACxC7B,EAAM8B,EAAA,aAAaC,EAAU,UAAAH,EAAUJ,CAAY,CAAC,EAEpDwM,EAASC,EAAA,cAAc,CAAE,IAAK,WAAY,EAC1C,CAACC,CAAW,EAAIF,EAAO,kBAAkBjO,CAAK,EAE9C,CAACyN,EAAYW,CAAS,EAAIZ,EAAkBxN,CAAK,EAEjDqO,EAAQC,kBAAetO,CAAK,EAC5B,CAAE,WAAAuO,CAAW,EAAIC,EAAAA,YAAYJ,EAAWC,EAAOpO,CAAG,EAElD,CAAE,UAAAwO,EAAW,WAAAC,CAAW,EAAIC,eAAa,EACzCC,EAAaP,EAAM,YAAc,CAACrO,EAAM,gBACxC6O,EAAkB7O,EAAM,gBAExB8O,EAAa,CACjB,gBAAiBF,EACjB,qBAAsBC,EACtB,eAAgB7O,EAAM,UACtB,gBAAiBA,EAAM,WACvB,aAAcyO,GAAa,MAC7B,EAGE,OAAAM,EAAA,KAAClB,GAAA,CACC,YAAU,OACT,GAAGM,EACH,GAAGW,EACH,GAAGrB,EAEJ,SAAA,CAAAsB,EAAA,KAAChB,GAAkB,CAAA,YAAU,YAAa,GAAGe,EAC1C,SAAA,CAAAF,SAAeI,EAAM,MAAA,EAAA,EACrBH,SAAoBI,EAAM,OAAA,EAAA,EAC1B1O,EAAAA,IAAA2O,GAAA,CAAe,GAAG,OACjB,SAAC3O,EAAA,IAAA,QAAA,CAAO,GAAG6B,EAAA,WAAWmM,EAAYG,CAAU,EAAG,IAAAzO,CAAU,CAAA,CAC3D,CAAA,CAAA,EACF,EAECD,EAAM,UACJO,MAAAuN,GAAA,CAAc,YAAU,QAAS,GAAGgB,EAClC,SAAA9O,EAAM,QACT,CAAA,CAAA,CAAA,CAEJ,CAAA,CAGN,EACAgO,GAAS,YAAc,WC1EhB,MAAMmB,EAAQpP,EAAA,WAAuC,CAACC,EAAOC,IAC1DM,EAAA,IAAA6O,EAAA,MAAA,CAAY,IAAAnP,EAAW,GAAGD,CAAO,CAAA,CAC1C,EAEDmP,EAAM,YAAc,QCFP,MAAAD,GAAkBlP,GAA+B,CAC5D,KAAM,CAAE,GAAA0B,EAAK,MAAO,GAAG2N,CAAkB,EAAArP,EACzC,OAAQO,EAAAA,IAAA+O,EAAAA,eAAA,CAAwB,YAAa5N,EAAK,GAAG2N,EAAe,CACtE,EAEAH,GAAe,YAAc,iBCF7B,KAAM,CAAA,YAAE1P,EAAY,EAAIC,EAAAA,oBAAoB,CAAE,OAAQwK,GAAiB,EAM1DsF,GAAgB/P,GAC3B,OACF,ECFagQ,GAAYzP,EAAA,WACvB,CAACC,EAAOyB,IAAiB,CACjB,MAAAI,EAAWC,SAAyB,IAAI,EACxC7B,EAAM8B,EAAA,aAAaC,EAAU,UAAAH,EAAUJ,CAAY,CAAC,EACpDwM,EAASwB,EAAA,UAAU,CAAE,OAAQxF,GAAiB,EAC9C,CAACkE,EAAauB,CAAa,EAAIzB,EAAO,kBAAkBjO,CAAK,EAC7D,CAACyN,EAAYkC,CAAc,EAAInC,EAAkBkC,CAAa,EAEpE,aACGE,EAAW,UAAA,CAAA,GAAGD,EACb,SAAApP,EAAA,IAACgP,IAAc,IAAAtP,EAAW,GAAGkO,EAAc,GAAGV,EAAY,QAAO,GAC/D,SAAClN,EAAA,IAAAsP,QAAA,CAAA,CAAM,CACT,CAAA,EACF,CAAA,CAGN,EACAL,GAAU,YAAc,YClBxB,MAAM1L,GAAgB/D,EAAA,WAAsC,CAACC,EAAOC,IAC1DM,EAAA,IAAAuP,EAAA,KAAA,CAAW,IAAA7P,EAAW,GAAGD,CAAO,CAAA,CACzC,EAED8D,GAAc,YAAc,OAEf,MAAAiM,GAAO,OAAO,OAAOjM,GAAe,CAC/C,KAAMG,EAAAA,QACR,CAAC,ECnBK,cAAE0J,GAAA,YAAcnO,CAAY,EAAIoO,0BAAwB,CAC5D,IAAK,QACP,CAAC,EAQYoC,GAAiBrC,GAC5B,MACA,MACF,EAIasC,GAAoBzQ,EAG/B,SAAU,SAAS,EAIR0Q,GAAyB1Q,EAGpC,OAAQ,cAAc,EAIX2Q,GAAoB3Q,EAG/B,MAAO,SAAS,EAIL4Q,GAAmB5Q,EAG9B,MAAO,QAAQ,EAIJ6Q,GAAwB7Q,EAGnC,MAAO,aAAa,ECpDT8Q,GAAoB,IAAM,CAC/B,MAAAjC,EAAQkC,aAAWC,oBAAkB,EAEvC,GAAA,EAACnC,GAAA,MAAAA,EAAO,aACH,OAAA,KAGT,MAAMoC,EAAiB,IAAM,CAC3BpC,GAAA,MAAAA,EAAO,eAAe,KACxB,EAGE,OAAA9N,EAAA,IAAC8C,EAAA,CACC,cAAc,MACd,KAAK,MACL,QAAQ,QACR,KAAK,UACL,aAAW,kBACX,QAASoN,EAET,eAACC,EAAAA,MAAU,CAAA,CAAA,CAAA,CACb,CAEJ,EAEAJ,GAAkB,YAAc,qBCLzB,MAAMK,GAAa5Q,EAAA,WACxB,CAAC,CAAE,SAAA6B,EAAU,UAAAgP,EAAW,WAAAC,EAAY,GAAG7Q,GAASC,IAAQ,CACtD,MAAMgO,EAASC,EAAA,cAAc,CAAE,OAAQrD,GAAkB,EACnD,CAACsD,EAAa2C,CAAe,EAAI7C,EAAO,kBAAkBjO,CAAK,EAC/D,CAACyN,EAAYW,CAAS,EAAIZ,EAAkBsD,CAAe,EAE3DC,EAAgB,CACpB,GAAG3C,EACH,WAAYwC,GAAaC,CAC3B,EAEA,OACGtQ,EAAAA,IAAAyP,GAAA,CAAe,QAAO,GAAC,IAAA/P,EAAW,GAAGkO,EAAc,GAAGV,EACrD,SAAAsB,EAAA,KAACiC,EAAU,OAAA,CAAA,GAAGD,EACZ,SAAA,CAAAhC,EAAA,KAACkC,EAAO,OAAA,IAAP,CAAW,SAAS,WACnB,SAAA,CAAA1Q,EAAAA,IAAC0P,GAAkB,CAAA,OAAQ,EAAG,QAAO,GACnC,SAAC1P,EAAAA,IAAA2Q,EAAA,OAAA,CACC,SAAC3Q,MAAA2P,GAAA,CAAuB,QAAO,GAC7B,SAAA3P,EAAAA,IAAC4Q,EAAc,YAAA,EAAA,CAAA,CACjB,CACF,CAAA,EACF,EACApC,EAAA,KAACqC,EAAA,KAAA,CACC,SAAS,WACT,IAAI,IACJ,OAAO,IACP,OAAQ,EACR,MAAM,MACN,cAAc,OAEd,SAAA,CAAA7Q,EAAAA,IAAC6Q,QAAK,MAAM,MAAM,GAAG,OACnB,SAAA7Q,EAAA,IAAC+P,KAAkB,CACrB,CAAA,QAECc,EAAAA,KAAK,CAAA,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,OAC5C,eAAC3Q,EAAI,CAAA,MAAM,YAAY,QAAO,GAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAC/C,SACCmQ,EAAArQ,MAACE,EAAI,CAAA,QAAO,GAAC,UAAU,OAAO,kBAAkB,UAC9C,eAAC4Q,EAAY,KAAA,EAAA,CAAA,CACf,EAEC9Q,EAAAA,IAAA+Q,EAAA,kBAAA,EAAsB,EAE3B,CACF,CAAA,CAAA,CAAA,CAAA,CACF,EACF,EAEA/Q,MAACgR,EAAAA,SAAW,SAAA3P,CAAS,CAAA,CAAA,CAAA,CACvB,CACF,CAAA,CAAA,CAGN,EAEA+O,GAAW,YAAc,cCtEZ,MAAAa,GACXC,GAIO1R,EAAAA,WAAW0R,CAAM,ECRbC,GAAgBF,GAC3B,CACExR,EACAyB,IACG,CACH,KAAM,CAACgM,EAAYrN,CAAI,EAAIoN,EAAkBxN,CAAK,EAClD,OACGO,EAAAA,IAAA4P,GAAA,CAAkB,QAAO,GAAE,GAAG1C,EAC7B,SAAClN,EAAAA,IAAAoR,EAAAA,QAAA,CAAU,IAAKlQ,EAAe,GAAGrB,CAAM,CAAA,EAC1C,CAAA,CAGN,EAGAsR,GAAc,YAAc,iBChBrB,MAAME,GAAeJ,GAC1B,CACExR,EACAyB,IAGElB,EAAA,IAAC6P,GAAiB,CAAA,QAAO,GAAC,IAAK3O,EAC7B,SAAClB,EAAA,IAAAsR,EAAA,YAAA,CAAe,GAAG7R,CAAA,CAAO,CAC5B,CAAA,CAGN,EAGA4R,GAAa,YAAc,gBCTpB,MAAME,GAAoBN,GAC/B,CACE,CAAE,MAAAO,EAAO,MAAAC,EAAO,SAAApQ,EAAU,GAAG5B,GAC7ByB,IACG,CAEC,GAAAuQ,GAAS,OAAOpQ,GAAa,WAC/B,MAAM,IAAI,MACR,4EACF,EAGF,OACGmN,EAAAA,KAAAkD,EAAAA,eAAA,CAAiB,IAAKxQ,EAAe,GAAGzB,EACvC,SAAA,CAAAO,EAAAA,IAAC8P,IAAsB,QAAO,GAC5B,SAAC9P,MAAA2R,EAAAA,OAAA,CAAU,WAAM,CACnB,CAAA,EAECF,EACCzR,EAAA,IAAC4R,EAAW,WAAA,CAAA,MAAAH,EACT,SAACI,GACI,OAAOxQ,GAAa,WACfA,EAASwQ,CAAI,EAEf,KAEX,EAECxQ,CAAA,EAEL,CAAA,CAGN,EAGAkQ,GAAkB,YAAc,qBC1CzB,MAAMO,GAAS,CACpB,KAAMC,GACN,QAASC,GACT,OAAQC,GACR,YAAaC,EACf,ECJM,cAAE9E,GAAA,YAAcnO,CAAY,EAAIoO,0BAAwB,CAC5D,IAAK,WACP,CAAC,EAEY8E,GAAgB/E,GAC3B,MACA,MACF,EAEagF,GAAsBnT,EAGjC,MAAO,YAAY,EAERoT,GAAmBpT,EAG9B,SAAU,SAAS,EAERqT,GAAiBrT,EAG5B,MAAO,OAAO,EAEHsT,GAAiBtT,EAG5B,MAAO,gBAAgB,EAEZuT,GAAqBvT,EAGhC,MAAO,oBAAoB,ECxBhBwT,GAAcC,gBAAsC,IAAI,EACxDC,GACXD,gBAA2C,IAAI,ECTpCE,GAAiBpT,EAAA,WAC5B,CAAC,CAAE,SAAA6B,EAAU,iBAAAwR,EAAkB,GAAGpT,CAAA,EAASyB,IAAiB,CAC1D,MAAM4M,EAAQgF,GAAAA,wBAAwB,CACpC,GAAGrT,EACH,iBAAmBsT,GAAmB,CACjBF,GAAA,MAAAA,EAAAE,EAAK,KAAO,EAAC,CAClC,CACD,EACKrF,EAASC,EAAA,cAAc,CAAE,IAAK,YAAa,EAC3C,CAACC,CAAW,EAAIF,EAAO,kBAAkBjO,CAAK,EAEpD,OACGO,EAAAA,IAAA2S,GAA4B,SAA5B,CAAqC,MAAO7E,EAC3C,SAAA9N,MAACgT,GAAkB,CAAA,YAAU,OAAO,IAAK9R,EAAe,GAAG0M,EACxD,SAAAvM,CACH,CAAA,EACF,CAAA,CAGN,ECda4R,GAAkBzT,EAAAA,WAG7B,CAAC,CAAE,SAAA6B,CAAA,EAAY3B,IAAQ,CACjB,MAAAwT,EAAUlD,aAAWyC,EAAW,EACtC,GAAI,CAACS,EACG,MAAA,IAAI,MAAM,qDAAqD,EAIvE,MAAMC,EAAgBC,EAAM,SAAS,QAAQ/R,CAAQ,EAAE,OAIrD,CAACkK,EAAK8H,KACAD,EAAM,eAAeC,CAAK,GAAKA,EAAM,OAASb,GAC5CjH,EAAA,aAAa,KAAK8H,CAAK,EAEvB9H,EAAA,KAAK,KAAK8H,CAAK,EAEd9H,GAET,CAAE,KAAM,GAAI,aAAc,CAAG,CAAA,CAC/B,EAGE,OAAAiD,EAAA,KAACqC,EAAA,KAAA,CACC,eAAe,gBACf,WAAW,SACX,aAAa,WACb,YAAY,YAEZ,SAAA,CAAArC,EAAA,KAAC6D,GAAA,CACC,IAAK5Q,EAAA,UAAUyR,EAAQ,WAAYxT,CAAG,EACrC,GAAGwT,EAAQ,YACZ,YAAU,UACV,QAASA,EAAQ,eAAiB,OAAY,OAE9C,SAAA,CAAAlT,EAAA,IAACsT,EAAmB,mBAAA,EAAA,EACnBtT,EAAA,IAAAuS,GAAA,CAAe,YAAU,iBACvB,WAAc,IACjB,CAAA,CAAA,CAAA,CACF,EACCY,EAAc,aAAa,OAAS,SAClCX,GAAmB,CAAA,YAAU,qBAC3B,SAAAW,EAAc,YACjB,CAAA,CAAA,CAAA,CAEJ,CAEJ,CAAC,ECtDYI,GAAmB/T,EAAA,WAG9B,CAACC,EAAOyB,IAAiB,CACnB,MAAAgS,EAAUlD,aAAWyC,EAAW,EAChC/S,EAAM8B,EAAA,aACVC,YAAUyR,GAAA,YAAAA,EAAS,SAAUhS,CAAY,CAC3C,EAEA,OAEElB,EAAA,IAACsS,GAAA,CACC,IAAA5S,EACC,GAAGmC,EAAAA,WAAW,CAAE,GAAGqR,GAAA,YAAAA,EAAS,WAAY,GAAGzT,EAAO,EACnD,YAAU,QAET,SAAMA,EAAA,QAAA,CAAA,CAGb,CAAC,ECbY+T,GAAgBhU,EAAA,WAC3B,CACE,CAAE,SAAA6B,EAAU,GAAAoS,EAAI,WAAAnD,EAAY,WAAAoD,EAAY,iBAAAb,EAAkB,MAAAc,CAAM,EAChEzS,IACG,CACH,MAAM0S,EAAYC,EAAAA,MAAM,EAElBC,EAAYH,IADHF,GAAMG,GAIfG,EAAa/D,aAAW2C,EAA2B,EAGnDqB,EAAWD,EACbA,EAAW,aAAa,IAAID,CAAS,EACrCJ,EAGE5F,EAAQmG,GAAAA,mBAAmB,CAC/B,WAAYD,EACZ,iBAAmBN,GAAe,CAC5BK,GACFA,EAAW,UAAUD,CAAS,EAEhCjB,GAAA,MAAAA,EAAmBa,EAAU,CAC/B,CACD,EAGKQ,EAAW3S,SAAuB,IAAI,EACtC4S,EAAa5S,SAA0B,IAAI,EAC3C6S,EAAW9D,IAAcyD,GAAA,YAAAA,EAAY,aAAc,GAEnD,CAAE,YAAApS,EAAa,WAAA0S,CAAA,EAAeC,EAAA,cAClC,CACE,WAAYxG,EAAM,WAClB,WAAYsG,CACd,EACAtG,EACAoG,CACF,EAEM,CAAE,YAAaK,CAAA,EAAqB3S,EAAA,UACxCD,EACAwS,CACF,EACM,CAAE,WAAAhG,EAAY,eAAAqG,CAAe,EAAIpG,eAAa,EAG9CqG,EAAe,CACnB,WAAY3G,EAAM,WAClB,WAAAqG,EACA,SAAAD,EACA,YAAarS,EAAAA,WAAW0S,EAAkBpG,CAAU,EACpD,WAAAkG,EACA,eAAAG,CACF,EAGA,OACGxU,EAAAA,IAAAyS,GAAY,SAAZ,CAAqB,MAAOgC,EAC3B,SAAAzU,EAAA,IAACoS,GAAA,CACC,YAAU,aACV,aAAY0B,EACZ,gBAAehG,EAAM,WACrB,IAAK5M,EAEJ,SAAAG,CAAA,CAAA,EAEL,CAAA,CAGN,EC/EaqT,GAAY,CACvB,KAAM9B,GACN,KAAMY,GACN,OAAQP,GACR,QAASM,GACT,mBAAAf,EACF,ECPamC,GAAuB3V,EAAAA,aAAa,CAC/C,UAAW,yBAEX,KAAM,CACJ,QAAS,cACT,WAAY,SACZ,eAAgB,SAChB,QAAS,CACP,SAAU,UAEV,UAAW,uBACb,EACA,0CAA2C,CACzC,OAAQ,kBACR,cAAe,OACf,kBAAmB,OACnB,wBAAyB,SACzB,wBAAyB,WACzB,gBAAiB,iBACnB,EACA,yCAA0C,CACxC,OAAQ,gBAAA,CAEZ,EAEA,SAAU,CACR,KAAM,CACJ,MAAO,CACL,MAAO,MACP,OAAQ,KACV,EACA,GAAI,CACF,MAAO,MACP,OAAQ,KACV,EACA,GAAI,CACF,MAAO,MACP,OAAQ,KACV,EACA,GAAI,CACF,MAAO,MACP,OAAQ,KACV,EACA,GAAI,CACF,MAAO,OACP,OAAQ,MAAA,CAEZ,EAEA,KAAM,CACJ,QAAS,CACP,aAAc,eAChB,EACA,MAAO,CACL,aAAc,YAAA,CAChB,CAEJ,EAEA,gBAAiB,CACf,KAAM,KACN,KAAM,SAAA,CAEV,CAAC,ECzCK,CAAA,YAAEC,EAAY,EAAIC,EAAAA,oBAAoB,CAAE,OAAQyV,GAAsB,EAM/DC,GAAqB3V,GAGhC,KAAK,EChCD4V,GACJ,ktBACIC,GACJ,2LAOWC,GAAiBvV,EAAA,WAC5B,CAAC,CAAE,aAAcwV,EAAY,eAAgB,GAAGvV,GAASC,IAAQ,CACzD,KAAA,CAAE,iBAAAuV,CAAiB,EAAIC,iBAAe,CAC1C,gBAAiB,GACjB,aAAcF,EACd,GAAGvV,CAAA,CACJ,EAGC,OAAAO,EAAA,IAAC4U,GAAA,CACC,IAAAlV,EACC,GAAGmC,EAAW,WAAApC,EAAOwV,CAAgB,EACtC,aAAYD,EAEZ,gBAAC,MAAI,CAAA,MAAM,6BAA6B,QAAQ,YAAY,KAAK,OAC/D,SAAA,CAAAhV,EAAA,IAAC,OAAA,CACC,EAAG6U,GACH,gBAAc,iBACd,YAAY,IACZ,cAAc,QACd,eAAe,OAAA,CACjB,EACA7U,EAAA,IAAC,OAAA,CACC,EAAG8U,GACH,gBAAc,kBACd,YAAY,IACZ,cAAc,QACd,eAAe,OAAA,CAAA,CACjB,CACF,CAAA,CAAA,CACF,CAAA,CAGN,EACAC,GAAe,YAAc,iBC3CtB,MAAMI,GAAajL,EAAAA,iBAAiB,CACzC,MAAO,CAAC,OAAQ,SAAU,SAAS,EAEnC,UAAW,cAEX,KAAM,CACJ,KAAM,CACJ,aAAc,QACd,QAAS,cACT,WAAY,aACZ,aAAc,MACd,iBAAkB,SAAA,CAEtB,EAEA,SAAU,CACR,YAAa,CACX,GAAI,CACF,KAAM,CACJ,QAAS,KAAA,CAEb,EACA,GAAI,CACF,KAAM,CACJ,QAAS,KAAA,CAEb,EACA,GAAI,CACF,KAAM,CACJ,QAAS,KAAA,CACX,CAEJ,EAEA,YAAa,CACX,KAAM,CAAC,EACP,SAAU,CACR,KAAM,CACJ,OAAQ,WACR,YAAa,gBAAA,CACf,CAEJ,EACA,UAAW,CACT,KAAM,CAAC,EACP,SAAU,CACR,KAAM,CACJ,OAAQ,GAAA,CACV,CAEJ,EACA,gBAAiB,CACf,QAAS,CACP,KAAM,CACJ,gBAAiB,uBAAA,CAErB,EACA,MAAO,CACL,KAAM,CACJ,gBAAiB,gBAAA,CACnB,CACF,CACF,CAEJ,CAAC,ECzCK,cAAEkD,GAAA,YAAcnO,EAAY,EAAIoO,0BAAwB,CAC5D,OAAQ8H,EACV,CAAC,EAMYC,GAAWhI,GACtB,MACA,MACF,EAEaiI,GAAapW,GACxB,MACA,QACF,EACaqW,GAAcrW,GACzB,MACA,SACF,EChCasW,GAAc7C,EAAA,cACzB,MACF,EAEa0C,GAAW5V,EAAA,WACtB,CAAC,CAAE,SAAA6B,EAAU,GAAG5B,CAAA,EAASC,IAAQ,CAC/B,KAAM,CAAE,UAAAwO,EAAW,eAAAsG,EAAgB,WAAArG,CAAA,EAAeC,EAAAA,aAAa,EACzD,CAACoH,EAAYC,CAAS,EAAIjJ,EAAAA,SAAoB,IAAI,EAClD,CAACkJ,EAAaC,CAAU,EAAInJ,EAAAA,SAAoB,IAAI,EAGpDiI,EAAemB,EAAA,QACnB,KAAO,CACL,UAAAH,EACA,WAAAE,CAAA,GAEF,CAACF,EAAWE,CAAU,CACxB,EAEA,OACG3V,EAAAA,IAAAuV,GAAY,SAAZ,CAAqB,MAAOd,EAC3B,SAAAjG,EAAA,KAACqH,GAAA,CACC,IAAAnW,EACC,GAAGmC,EAAW,WAAApC,EAAO0O,CAAU,EAChC,aAAYD,GAAa,OACzB,qBAAoBsG,GAAkB,OACtC,SAAU,EAGV,SAAA,CAAAhG,EAAA,KAACI,EAAM,CAAA,UAAU,SAAS,IAAI,MAC3B,SAAA,CAAA4G,EACAE,CAAA,EACH,EAGCrU,CAAA,CAAA,CAAA,EAEL,CAAA,CAGN,EAEA+T,GAAS,YAAc,YCpDhB,MAAMC,GAAa,CAAC,CAAE,SAAAhU,EAAU,GAAG5B,KAA6B,CAC/D,MAAAyT,EAAUlD,aAAWuF,EAAW,EAEtC7I,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIwG,EAAS,CACX,MAAM4C,EACJ9V,EAAAA,IAAC+V,GAAgB,CAAA,GAAGtW,EAAQ,SAAA4B,EAAS,EAGvC,OAAA6R,EAAQ,UAAU4C,CAAW,EAGtB,IAAM5C,EAAQ,UAAU,IAAI,CAAA,CACrC,EACC,CAAC7R,EAAU5B,CAAK,CAAC,EAEb,IACT,EACA4V,GAAW,YAAc,cClBlB,MAAMC,GAAc,CAAC,CAAE,SAAAjU,EAAU,GAAG5B,KAA8B,CACjE,MAAAyT,EAAUlD,aAAWuF,EAAW,EAEtC7I,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIwG,EAAS,CACX,MAAM4C,EACJ9V,EAAAA,IAACgW,GAAiB,CAAA,GAAGvW,EAAQ,SAAA4B,EAAS,EAGxC,OAAA6R,EAAQ,WAAW4C,CAAW,EAGvB,IAAM5C,EAAQ,WAAW,IAAI,CAAA,CACtC,EACC,CAAC7R,EAAU5B,CAAK,CAAC,EAEb,IACT,EAEA6V,GAAY,YAAc,eCpBnB,MAAMW,GAAO,CAClB,KAAMb,GACN,OAAQC,GACR,QAASC,EACX,ECJaY,GAAclX,EAAAA,aAAa,CACtC,UAAW,eAGX,KAAM,CACJ,QAAS,cACT,WAAY,SACZ,aAAc,MACd,eAAgB,SAChB,WAAY,SACZ,cAAe,SACf,GAAI,KACJ,WAAY,MACZ,gBAAiB,iBACjB,MAAO,kBACP,EAAG,OACH,WAAY,OACZ,MAAO,CACL,WAAY,GAAA,CAEhB,EAGA,SAAU,CACR,KAAM,CACJ,MAAO,CACL,SAAU,MACV,IAAK,MACL,EAAG,MACH,WAAY,MACZ,GAAI,MACJ,MAAO,CACL,MAAO,MACP,OAAQ,KAAA,CAEZ,EACA,GAAI,CACF,SAAU,MACV,IAAK,MACL,EAAG,MACH,WAAY,MACZ,GAAI,MACJ,MAAO,CACL,MAAO,MACP,OAAQ,KAAA,CAEZ,EACA,GAAI,CACF,SAAU,MACV,IAAK,MACL,EAAG,OACH,WAAY,MACZ,GAAI,MACJ,MAAO,CACL,MAAO,MACP,OAAQ,KAAA,CACV,CACF,CAEJ,EAGA,gBAAiB,CACf,KAAM,IAAA,CAEV,CAAC,EClEK,CAAA,YAAEC,EAAY,EAAIC,EAAAA,oBAAoB,CAAE,OAAQgX,GAAa,EAEtDC,GAAYlX,GAA6C,MAAM,ECY/DmX,GAAQ5W,EAAA,WACnB,CAACC,EAAOyB,IAAiB,CACvB,KAAM,CAAE,GAAAC,EAAI,QAAAC,EAAS,SAAAC,EAAU,GAAGxB,CAAS,EAAAJ,EAErC6B,EAAWC,SAAwB,IAAI,EACvC7B,EAAM8B,EAAA,aAAaC,EAAU,UAAAH,EAAUJ,CAAY,CAAC,EAEpDQ,EAAcP,GAAM,OAGxB,OAAAnB,MAACmW,GAAU,CAAA,GAAIzU,EAAc,GAAGG,aAAWhC,EAAM,CAAE,IAAAH,EAAK,EACrD,SAAA2B,CACH,CAAA,CAAA,CAGN,EC5BagV,GAAcnM,EAAAA,iBAAiB,CAC1C,MAAO,CAAC,OAAQ,QAAS,cAAe,OAAQ,UAAW,eAAe,EAE1E,UAAW,eAGX,KAAM,CACJ,KAAM,CACJ,QAAS,cACT,cAAe,MACf,IAAK,MACL,MAAO,MACT,EACA,KAAM,CACJ,UAAW,KACX,QAAS,CACP,MAAO,MACP,OAAQ,MACR,MAAO,iBAAA,CAEX,EACA,MAAO,CACL,MAAO,iBACT,EACA,YAAa,CACX,MAAO,iBAAA,CAEX,EAEA,SAAU,CACR,KAAM,CACJ,SAAU,CACR,KAAM,CAAE,aAAc,UAAW,CACnC,EACA,KAAM,CACJ,KAAM,CAAE,aAAc,MAAO,CAC/B,EACA,QAAS,CACP,KAAM,CAAE,aAAc,OAAQ,CAChC,EACA,SAAU,CACR,KAAM,CAAE,aAAc,UAAW,CAAA,CAErC,EAEA,QAAS,CACP,KAAM,CAAC,EACP,SAAU,CACR,KAAM,CACJ,OAAQ,WACR,YAAa,iBACb,gBAAiB,iBACjB,QAAS,MACT,aAAc,KAAA,CAChB,CACF,CACF,CAEJ,CAAC,ECrDK,cAAEkD,GAAA,YAAcnO,CAAY,EAAIoO,0BAAwB,CAC5D,OAAQgJ,EACV,CAAC,EAEYC,GAAYlJ,GACvB,MACA,MACF,EAEamJ,GAAatX,EACxB,MACA,OACF,EAEauX,GAAmBvX,EAG9B,MAAO,aAAa,EAETwX,GAAYxX,EACvB,MACA,MACF,EAEayX,GAAezX,EAC1B,MACA,SACF,EAIa0X,GAAqB1X,EAGhC,MAAO,eAAe,EC3BlB2X,GAAmBC,GAA6B,CACpD,OAAQA,EAAM,CACZ,IAAK,WACH,aAAQC,EAAa,aAAA,EAAA,EACvB,IAAK,OACH,aAAQC,EAAK,KAAA,EAAA,EACf,IAAK,UACH,aAAQC,EAAa,aAAA,EAAA,EACvB,IAAK,WACH,aAAQC,EAAmB,mBAAA,EAAA,EAC7B,QACS,OAAA,IAAA,CAEb,EASaC,EAAexE,EAAA,cAC1B,MACF,EAOa4D,GAAgC9W,aAG3C,CAAC,CAAE,SAAA6B,EAAU,GAAG5B,GAASC,IAAQ,CACjC,KAAM,CAACyX,EAAWC,CAAQ,EAAI5K,EAAAA,SAAoB,IAAI,EAChD,CAAC6K,EAAiBC,CAAc,EAAI9K,EAAAA,SAAoB,IAAI,EAC5D,CAAC+K,EAAaC,CAAU,EAAIhL,EAAAA,SAAoB,IAAI,EACpD,CAACiL,EAAaC,CAAU,EAAIlL,EAAAA,SAAoB,IAAI,EAGpDiI,EAAemB,EAAA,QACnB,KAAO,CACL,SAAAwB,EACA,eAAAE,EACA,WAAAE,EACA,WAAAE,CAAA,GAEF,CAACN,EAAUE,EAAgBE,EAAYE,CAAU,CACnD,EAEA,OACG1X,EAAAA,IAAAkX,EAAa,SAAb,CAAsB,MAAOzC,EAC5B,SAACjG,EAAA,KAAAmJ,GAAA,CAAc,IAAAjY,EAAW,GAAGD,EAAO,KAAK,QACvC,SAAA,CAAAO,MAACyW,IAAU,WAAW,aACnB,SAAgBG,GAAAnX,EAAM,IAAI,EAC7B,EACC+O,EAAA,KAAAI,EAAA,CAAM,KAAK,IAAI,IAAI,MAClB,SAAA,CAAAJ,OAACtO,EACE,CAAA,SAAA,CAAAiX,EACAE,CAAA,EACH,EACCE,CAAA,EACH,EACCE,EAEApW,CAAA,CAAA,CACH,CACF,CAAA,CAEJ,CAAC,EAEDiV,GAAU,YAAc,aCrFjB,MAAMC,GAAa,CAAC,CAAE,SAAAlV,EAAU,GAAG5B,KAA6B,CAC/D,MAAAyT,EAAUlD,aAAWkH,CAAY,EAEvCxK,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIwG,EAAS,CACX,MAAM4C,EACH9V,EAAA,IAAA4X,GAAA,CAAgB,GAAGnY,EAAO,WAAW,MACnC,SAAA4B,EACH,EAGF,OAAA6R,EAAQ,SAAS4C,CAAW,EAGrB,IAAM5C,EAAQ,SAAS,IAAI,CAAA,CACpC,EACC,CAAC7R,EAAU5B,CAAK,CAAC,EAEb,IACT,EAEA8W,GAAW,YAAc,cCrBlB,MAAMC,GAAmB,CAAC,CAC/B,SAAAnV,EACA,GAAG5B,CACL,IAA6B,CACrB,MAAAyT,EAAUlD,aAAWkH,CAAY,EAEvCxK,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIwG,EAAS,CACX,MAAM4C,EACJ9V,EAAAA,IAAC6X,GAAsB,CAAA,GAAGpY,EAAQ,SAAA4B,EAAS,EAG7C,OAAA6R,EAAQ,eAAe4C,CAAW,EAG3B,IAAM5C,EAAQ,eAAe,IAAI,CAAA,CAC1C,EACC,CAAC7R,EAAU5B,CAAK,CAAC,EAEb,IACT,EAEA+W,GAAiB,YAAc,oBCtBxB,MAAME,GAAe,CAAC,CAAE,SAAArV,EAAU,GAAG5B,KAA+B,CACnE,MAAAyT,EAAUlD,aAAWkH,CAAY,EAEvCxK,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIwG,EAAS,CACX,MAAM4C,EACJ9V,EAAAA,IAAC8X,GAAkB,CAAA,GAAGrY,EAAQ,SAAA4B,EAAS,EAGzC,OAAA6R,EAAQ,WAAW4C,CAAW,EAGvB,IAAM5C,EAAQ,WAAW,IAAI,CAAA,CACtC,EACC,CAAC7R,EAAU5B,CAAK,CAAC,EAEb,IACT,EAEAiX,GAAa,YAAc,gBCjBpB,MAAMC,GAAqB,CAAC,CACjC,SAAAtV,EACA,GAAG5B,CACL,IAA+B,CACvB,MAAAyT,EAAUlD,aAAWkH,CAAY,EAEvCxK,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIwG,EAAS,CACL,MAAA4C,QACHiC,GACC,CAAA,SAAA/X,EAAA,IAAC8C,EAAA,CACC,aAAW,UACV,GAAGrD,EACJ,QAAQ,QACR,KAAK,MAEL,SAAAO,EAAAA,IAACgY,EAAAA,MAAM,CAAA,KAAK,KAAM,CAAA,CAAA,CAAA,EAEtB,EAGF,OAAA9E,EAAQ,WAAW4C,CAAW,EAGvB,IAAM5C,EAAQ,WAAW,IAAI,CAAA,CACtC,EACC,CAAC7R,EAAU5B,CAAK,CAAC,EAEb,IACT,EAEAkX,GAAmB,YAAc,sBC3B1B,MAAMsB,GAAQ,CACnB,KAAM3B,GACN,MAAOC,GACP,YAAaC,GACb,QAASE,GACT,cAAeC,EACjB,kBCVO,MAAMuB,GAAoBhO,EAAAA,iBAAiB,CAChD,MAAO,CAAC,OAAQ,QAAQ,EAExB,UAAW,6BAGX,KAAM,CACJ,KAAM,CACJ,QAAS,aACX,EACA,OAAQ,CAEN,GAAG9J,EAAa,KAEhB,IAAG2I,GAAA3I,EAAa,WAAb,YAAA2I,GAAuB,QAAQ,QAElC,aAAc,IACd,iBAAkB,IAClB,kBAAmB,CACjB,iBAAkB,KACpB,EACA,iBAAkB,CAChB,iBAAkB,MAClB,kBAAmB,KACrB,EAEA,yBAAyBoP,GAAA/X,EAAa,WAAb,YAAA+X,GAAuB,QAAQ,KAAA,CAE5D,EAEA,SAAU,CACR,KAAM,CACJ,GAAI,CACF,QAAQC,GAAAhY,EAAa,WAAb,YAAAgY,GAAuB,KAAK,EACtC,EACA,GAAI,CACF,QAAQC,GAAAjY,EAAa,WAAb,YAAAiY,GAAuB,KAAK,EAAA,CAExC,EAEA,KAAM,CACJ,QAAS,CACP,OAAQ,CAAE,aAAc,SAAU,CACpC,EACA,SAAU,CACR,OAAQ,CAAE,aAAc,UAAW,CACrC,EACA,QAAS,CACP,OAAQ,CAAE,aAAc,SAAU,CAAA,CACpC,CAEJ,EAEA,gBAAiB,CACf,KAAM,IAAA,CAEV,CAAC,ECnDK,aAAEpZ,GAAA,aAAamO,EAAa,EAAIC,0BAAwB,CAC5D,OAAQ6K,EACV,CAAC,EAEYI,GAAwBlL,GAGnCmL,EAAA,kBAAsB,MAAM,EAEjBC,GACXvZ,GACEwZ,EAAA,aACA,QACF,ECrBWH,GAAwD9Y,EAAA,WACnE,CAAC,CAAE,SAAA6B,EAAU,GAAGxB,CAAA,EAAQH,IAEnBM,EAAAA,IAAA0Y,GAAA,CAA0B,IAAAhZ,EAAW,GAAGG,EACtC,SAAAwB,EACH,CAGN,EAEAiX,GAAsB,YAAc,yBCVvB,MAAAE,GACXhZ,aAAW,CAAC,CAAE,SAAA6B,EAAU,GAAGxB,GAAQH,IAE9BM,EAAAA,IAAA2Y,GAAA,CAA6B,GAAG9Y,EAAM,IAAAH,EACpC,SAAA2B,EACH,CAEH,EAEHmX,GAAwB,YAAc,2BCH/B,MAAMI,GAAoB,CAC/B,KAAMN,GACN,OAAQE,EACV,ECXMK,GAAe;AAAA;AAAA;AAAA;AAAA;AAAA,EAMfC,GAAY;AAAA;AAAA;AAAA;AAAA,EAULC,GAAkB7O,EAAAA,iBAAiB,CAC9C,MAAO,CAAC,OAAQ,QAAS,QAAS,cAAe,QAAS,SAAS,EAEnE,UAAW,uBAEX,KAAM,CACJ,KAAM,CACJ,aAAc,cAEd,QAAS,OACT,MAAO,MACT,EACA,MAAO,CACL,SAAU,QACV,WAAY,MACZ,MAAO,aACP,SAAU,8BACV,WAAY,+BACd,EACA,MAAO,CACL,SAAU,OACZ,EACA,YAAa,CACX,SAAU,cACV,MAAO,aACP,SAAU,8BACV,WAAY,+BACd,EACA,MAAO,CACL,SAAU,QACV,MAAO,cACP,SAAU,8BACV,WAAY,+BACd,EACA,QAAS,CACP,oBAAqB,mBACrB,iBAAkB,mBAClB,GAAI,YACJ,SAAU,KACV,aAAc,MACd,UAAW,IACX,OAAQ,WACR,YAAa,YACb,UAAW,QACX,SAAU,OACV,eAAgB,OAChB,eAAgB,6CAChB,UAAW,SAAA,CAEf,EAEA,SAAU,CACR,KAAM,CACJ,GAAI,CACF,KAAM,CACJ,yBAA0B,gBAC1B,2BAA4B,iBAAA,CAEhC,EACA,GAAI,CACF,KAAM,CACJ,yBAA0B,gBAC1B,2BAA4B,iBAAA,CAC9B,CAEJ,EACA,UAAW,CACT,OAAQ,CACN,KAAM,CACJ,kBAAmB2O,EACrB,EACA,MAAO,CACL,GAAI,iBACN,EACA,YAAa,CACX,GAAI,iBACN,EACA,MAAO,CACL,GAAI,iBAAA,CAER,EACA,IAAK,CACH,KAAM,CACJ,kBAAmBC,GACnB,oBAAqB,WACrB,cAAe,KACjB,EACA,YAAa,CACX,GAAI,iBACN,EACA,MAAO,CACL,GAAI,iBAAA,CACN,CACF,CAEJ,EAGA,gBAAiB,CACf,UAAW,SACX,KAAM,IAAA,CAEV,CAAC,EC9GK,CAAE,aAAA1L,GAAc,YAAAnO,CAAY,EAAIoO,0BAAwB,CAC5D,OAAQ0L,EACV,CAAC,EASYC,GAAoB5L,GAG/B,MAAO,MAAM,EAIF6L,GAAqBha,EAGhC,MAAO,OAAO,EAIHia,GAAqBja,EAGhC,MAAO,OAAO,EAIHka,GAA2Bla,EAGtC,MAAO,aAAa,EAITma,GAAqBna,EAGhC,MAAO,OAAO,EAIHoa,GAAuBpa,EAGlC,MAAO,SAAS,EC5BLqa,GAAgB9Z,EAAA,WAC3B,CACE,CAAE,UAAA+Z,EAAW,WAAAC,EAAY,WAAAlJ,EAAY,WAAAmJ,EAAY,SAAApY,EAAU,GAAG5B,CAAM,EACpEC,IACG,CACH,KAAM,CAACwT,EAASwG,CAAU,EAAIlN,WAAsC,CAClE,MAAO,KACP,YAAa,KACb,MAAO,KACP,KAAM,KACN,MAAO,KACP,UAAA+M,EACA,WAAAC,EACA,WAAAlJ,EACA,WAAAmJ,CAAA,CACD,EAEK,CAAE,WAAAE,EAAY,WAAAC,EAAY,iBAAAC,EAAkB,kBAAAC,CAAA,EAChDC,EAAAA,SAAS,CACP,MAAO7G,EAAQ,MACf,YAAaA,EAAQ,YACrB,aAAcA,EAAQ,KAAA,CACvB,EAEHxG,EAAAA,UAAU,IAAM,CACdgN,EAAYM,IAAiB,CAC3B,GAAGA,EACH,UAAAT,EACA,WAAAC,EACA,WAAAlJ,EACA,WAAAmJ,CAAA,EACA,GACD,CAACF,EAAWC,EAAYlJ,EAAYmJ,CAAU,CAAC,EAElD,MAAMzL,EAAa,CACjB,GAAG4L,EACH,UAAAL,EACA,WAAAC,EACA,WAAAlJ,EACA,WAAAmJ,CACF,EAEA,OACGzZ,EAAAA,IAAAia,EAAiB,SAAjB,CAA0B,MAAO,CAAE,QAAA/G,EAAS,WAAAwG,CAC3C,EAAA,SAAAlL,EAAA,KAACwK,GAAkB,CAAA,IAAAtZ,EAAW,GAAGD,EAC9B,SAAA,CAAAyT,EAAQ,OACP1E,OAACyK,GAAoB,CAAA,GAAG/F,EAAQ,eAC9B,SAAA,CAAC1E,EAAAA,KAAA,QAAA,CAAO,GAAGmL,EACR,SAAA,CAAQzG,EAAA,MACRsG,GAAcxZ,EAAA,IAAC,MAAI,CAAA,cAAY,OAAO,SAAC,GAAA,CAAA,CAAA,EAC1C,EACCkT,EAAQ,MACP1E,EAAAA,KAAC5L,EACC,cAAA,CAAA,SAAA,CAAA5C,EAAA,IAACE,EAAA,CACC,GAAG,OACH,QAAQ,eACR,SAAS,WACT,MAAM,MACN,OAAO,MACP,GAAG,MAEH,SAAAF,EAAA,IAACE,EAAA,CACC,GAAG,OACH,QAAQ,cACR,SAAS,WACT,IAAI,MACJ,MAAM,MACN,UAAU,uBAEV,SAAAF,EAAA,IAAC8C,EAAA,CACC,aAAW,cACX,KAAK,MACL,KAAK,OACL,QAAQ,OAER,eAACoX,EAAAA,YAAY,CAAA,CAAA,CAAA,CAAA,CACf,CAAA,CACF,CACF,QACCC,EACC,QAAA,CAAA,SAAAna,MAACqZ,GAAqB,CAAA,QAAO,GAC3B,SAACrZ,EAAAA,IAAAoa,EAAA,OAAA,CACC,SAACpa,MAAAE,EAAA,CAAI,EAAE,MAAO,SAAAgT,EAAQ,IAAK,CAAA,CAC7B,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,EAEJ,EAEDA,EAAQ,OACNlT,EAAAA,IAAAkZ,GAAA,CAAoB,GAAGhG,EAAQ,eAC7B,SAAAmH,EAAA,SAAS,IAAInH,EAAQ,MAAQG,GAExBpO,EAAAA,eAAeoO,CAAK,EACfnO,EAAA,aAAamO,EAAOrF,CAAU,EAGhCqF,CACR,EACH,EAEDH,EAAQ,aACPlT,EAAA,IAACmZ,GAAA,CACE,GAAGU,EACH,GAAG3G,EAAQ,qBAEX,SAAQA,EAAA,WAAA,CACX,EAEDqG,GAAarG,EAAQ,OACpB1E,EAAA,KAAC4K,GAAA,CACE,GAAGU,EACH,GAAG5G,EAAQ,eAEZ,SAAA,CAAAlT,EAAA,IAACE,EAAA,CACC,GAAI4W,EAAA,aACJ,QAAQ,cACR,QAAQ,MACR,cAAc,cACd,GAAG,KAAA,CACL,EACC5D,EAAQ,KAAA,CAAA,CACX,EAED7R,CAAA,CAAA,CACH,CACF,CAAA,CAAA,CAGN,EC7JaiZ,GAAiB,CAAC,CAC7B,SAAAjZ,EACA,GAAGkZ,CACL,IAA+B,CAC7B,KAAM,CAAE,WAAAb,CAAA,EAAe1J,EAAA,WAAWiK,CAAgB,EAElDvN,OAAAA,EAAAA,UAAU,IAAM,CACdgN,EAAYM,IAAiB,CAC3B,GAAGA,EACH,MAAO3Y,EACP,eAAAkZ,CAAA,EACA,CAAA,EACD,CAAClZ,EAAUqY,CAAU,CAAC,EAElB,IACT,ECfac,GAAiB,CAAC,CAC7B,SAAAnZ,EACA,GAAGoZ,CACL,IAA+B,CAC7B,KAAM,CAAE,WAAAf,CAAA,EAAe1J,EAAA,WAAWiK,CAAgB,EAElDvN,OAAAA,EAAAA,UAAU,IAAM,CACdgN,EAAYM,IAAiB,CAC3B,GAAGA,EACH,MAAO3Y,EACP,eAAAoZ,CAAA,EACA,CAAA,EACD,CAACpZ,EAAUqY,CAAU,CAAC,EAElB,IACT,ECfagB,GAAuB,CAAC,CACnC,SAAArZ,EACA,GAAGsZ,CACL,IAAqC,CACnC,KAAM,CAAE,WAAAjB,CAAA,EAAe1J,EAAA,WAAWiK,CAAgB,EAElDvN,OAAAA,EAAAA,UAAU,IAAM,CACdgN,EAAYM,IAAiB,CAC3B,GAAGA,EACH,YAAa3Y,EACb,qBAAAsZ,CAAA,EACA,CAAA,EACD,CAACtZ,EAAUqY,CAAU,CAAC,EAElB,IACT,ECfakB,GAAiB,CAAC,CAC7B,SAAAvZ,EACA,GAAGwZ,CACL,IAA+B,CAC7B,KAAM,CAAE,WAAAnB,CAAA,EAAe1J,EAAA,WAAWiK,CAAgB,EAElDvN,OAAAA,EAAAA,UAAU,IAAM,CACdgN,EAAYM,IAAiB,CAC3B,GAAGA,EACH,MAAO3Y,EACP,eAAAwZ,CAAA,EACA,CAAA,EACD,CAACxZ,EAAUqY,CAAU,CAAC,EAElB,IACT,EChBaoB,GAAmB,CAAC,CAAE,SAAAzZ,KAAwC,CACzE,KAAM,CAAE,WAAAqY,CAAA,EAAe1J,EAAA,WAAWiK,CAAgB,EAElDvN,OAAAA,EAAAA,UAAU,IAAM,CACdgN,EAAYM,IAAiB,CAC3B,GAAGA,EACH,KAAM3Y,CAAA,EACN,CAAA,EACD,CAACA,EAAUqY,CAAU,CAAC,EAElB,IACT,ECqBaO,EAAmBvH,EAAAA,cAAoC,CAClE,QAAS,CACP,MAAO,KACP,YAAa,KACb,MAAO,KACP,KAAM,KACN,MAAO,IACT,EACA,WAAY,IAAM,CAAA,CACpB,CAAC,EAEYqI,GAAY,CACvB,KAAMzB,GACN,MAAOgB,GACP,MAAOE,GACP,YAAaE,GACb,MAAOE,GACP,QAASE,EACX,EClDA,SAASE,IAAW,CAClB,OAAOA,GAAW,OAAO,OAAS,OAAO,OAAO,KAAI,EAAK,SAAUlV,EAAG,CACpE,QAASmV,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIxU,EAAI,UAAUwU,CAAC,EACnB,QAAS,KAAKxU,GAAI,CAAE,GAAE,eAAe,KAAKA,EAAG,CAAC,IAAMX,EAAE,CAAC,EAAIW,EAAE,CAAC,EACpE,CACI,OAAOX,CACR,EAAEkV,GAAS,MAAM,KAAM,SAAS,CACnC,CAEA,IAAIE,GAA2B,CAAC,QAAS,MAAO,OAAQ,MAAO,MAAM,EACjEC,GAAa,CACf,IAAK,SACL,OAAU,QACV,IAAK,SACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,YACL,IAAK,YACL,IAAK,eACL,UAAW,QACX,WAAY,QACZ,QAAS,MACT,SAAU,MACV,SAAU,OACV,UAAW,OACX,OAAQ,OACR,QAAS,OACT,YAAa,OACb,aAAc,MAChB,EACA,SAASC,EAAOtS,EAAK,CACnB,OAAQA,GAAOqS,GAAWrS,CAAG,GAAKA,GAAO,IAAI,KAAI,EAAG,YAAa,EAAC,QAAQ,yBAA0B,EAAE,CACxG,CACA,SAASuS,GAAiBvS,EAAK,CAC7B,OAAOoS,GAAyB,SAASpS,CAAG,CAC9C,CACA,SAASwS,EAAmBvI,EAAMwI,EAAU,CAC1C,OAAIA,IAAa,SACfA,EAAW,KAENxI,EAAK,MAAMwI,CAAQ,CAC5B,CACA,SAASC,EAAYC,EAAQC,EAAgBC,EAAa,CACpDD,IAAmB,SACrBA,EAAiB,KAEnB,IAAI3I,EAAO0I,EAAO,kBAAmB,EAAC,MAAMC,CAAc,EAAE,IAAI,SAAU1V,EAAG,CAC3E,OAAOoV,EAAOpV,CAAC,CACnB,CAAG,EACG4V,EAAY,CACd,IAAK7I,EAAK,SAAS,KAAK,EACxB,KAAMA,EAAK,SAAS,MAAM,GAAKA,EAAK,SAAS,SAAS,EACtD,MAAOA,EAAK,SAAS,OAAO,EAC5B,KAAMA,EAAK,SAAS,MAAM,EAC1B,IAAKA,EAAK,SAAS,KAAK,CACzB,EACG8I,EAAiB9I,EAAK,OAAO,SAAU/M,EAAG,CAC5C,MAAO,CAACkV,GAAyB,SAASlV,CAAC,CAC/C,CAAG,EACD,OAAOgV,GAAS,CAAE,EAAEY,EAAW,CAC7B,KAAMC,EACN,YAAaF,EACb,OAAQF,CACZ,CAAG,CACH,EAEC,UAAY,CACP,OAAO,SAAa,MACtB,SAAS,iBAAiB,UAAW,SAAU,EAAG,CAC5C,EAAE,MAAQ,QAIdK,GAA2B,CAACV,EAAO,EAAE,GAAG,EAAGA,EAAO,EAAE,IAAI,CAAC,CAAC,CAChE,CAAK,EACD,SAAS,iBAAiB,QAAS,SAAU,EAAG,CAC1C,EAAE,MAAQ,QAIdW,GAA+B,CAACX,EAAO,EAAE,GAAG,EAAGA,EAAO,EAAE,IAAI,CAAC,CAAC,CACpE,CAAK,GAEC,OAAO,OAAW,KACpB,OAAO,iBAAiB,OAAQ,UAAY,CAC1CY,EAAqB,MAAO,CAClC,CAAK,CAEL,GAAI,EACJ,IAAIA,EAAoC,IAAI,IAE5C,SAASC,GAAgBtI,EAAO,CAC9B,OAAO,MAAM,QAAQA,CAAK,CAC5B,CACA,SAASuI,GAAgBpT,EAAKyS,EAAU,CAClCA,IAAa,SACfA,EAAW,KAEb,IAAIY,EAAcF,GAAgBnT,CAAG,EAAIA,EAAMA,EAAI,MAAMyS,CAAQ,EACjE,OAAOY,EAAY,MAAM,SAAUV,EAAQ,CACzC,OAAOO,EAAqB,IAAIP,EAAO,KAAM,EAAC,YAAW,CAAE,CAC/D,CAAG,CACH,CACA,SAASK,GAA2BhT,EAAK,CACvC,IAAIqT,EAAc,MAAM,QAAQrT,CAAG,EAAIA,EAAM,CAACA,CAAG,EAM7CkT,EAAqB,IAAI,MAAM,GACjCA,EAAqB,QAAQ,SAAUlT,EAAK,CAC1C,MAAO,CAACuS,GAAiBvS,CAAG,GAAKkT,EAAqB,OAAUlT,EAAI,aAAa,CACvF,CAAK,EAEHqT,EAAY,QAAQ,SAAUV,EAAQ,CACpC,OAAOO,EAAqB,IAAIP,EAAO,YAAW,CAAE,CACxD,CAAG,CACH,CACA,SAASM,GAA+BjT,EAAK,CAC3C,IAAIqT,EAAc,MAAM,QAAQrT,CAAG,EAAIA,EAAM,CAACA,CAAG,EAM7CA,IAAQ,OACVkT,EAAqB,MAAO,EAE5BG,EAAY,QAAQ,SAAUV,EAAQ,CACpC,OAAOO,EAAqB,OAAUP,EAAO,YAAW,CAAE,CAChE,CAAK,CAEL,CAEA,SAASW,GAAoB,EAAGX,EAAQY,EAAgB,EAClD,OAAOA,GAAmB,YAAcA,EAAe,EAAGZ,CAAM,GAAKY,IAAmB,KAC1F,EAAE,eAAgB,CAEtB,CACA,SAASC,GAAgB,EAAGb,EAAQc,EAAS,CAC3C,OAAI,OAAOA,GAAY,WACdA,EAAQ,EAAGd,CAAM,EAEnBc,IAAY,IAAQA,IAAY,MACzC,CACA,SAASC,GAAgCC,EAAI,CAC3C,OAAOC,GAAqBD,EAAI,CAAC,QAAS,WAAY,QAAQ,CAAC,CACjE,CACA,SAASC,GAAqBC,EAAOC,EAAe,CAC9CA,IAAkB,SACpBA,EAAgB,IAElB,IAAIC,EAASF,EAAM,OACjBG,EAAWH,EAAM,SACfI,EAAgB,KAMpB,OALIC,GAAgBH,CAAM,GAAKC,EAC7BC,EAAgBJ,EAAM,aAAY,EAAG,CAAC,GAAKA,EAAM,aAAY,EAAG,CAAC,EAAE,QAEnEI,EAAgBF,GAAUA,EAAO,QAE/BZ,GAAgBW,CAAa,EACxB,GAAQG,GAAiBH,GAAiBA,EAAc,KAAK,SAAUK,EAAK,CACjF,IAAIC,EACJ,OAAOD,EAAI,YAAa,MAAOC,EAAiBH,IAAkB,KAAO,OAASG,EAAe,cACvG,CAAK,GAEI,GAAQH,GAAiBH,GAAiBA,EACnD,CACA,SAASI,GAAgBG,EAAS,CAIhC,MAAO,CAAC,CAACA,EAAQ,SAAW,CAACA,EAAQ,QAAQ,WAAW,GAAG,GAAKA,EAAQ,QAAQ,SAAS,GAAG,CAC9F,CACA,SAASC,GAAcC,EAAcC,EAAQ,CAC3C,OAAID,EAAa,SAAW,GAAKC,GAC/B,QAAQ,KAAK,2KAA2K,EACjL,IAEJA,EAGED,EAAa,KAAK,SAAUE,EAAO,CACxC,OAAOD,EAAO,SAASC,CAAK,CAChC,CAAG,GAAKF,EAAa,SAAS,GAAG,EAJtB,EAKX,CACA,IAAIG,GAAgC,SAAuCvC,EAAGQ,EAAQgC,EAAiB,CACjGA,IAAoB,SACtBA,EAAkB,IAEpB,IAAI7d,EAAM6b,EAAO,IACfiC,EAAOjC,EAAO,KACdkC,EAAMlC,EAAO,IACbmC,EAAQnC,EAAO,MACfoC,EAAOpC,EAAO,KACd1I,EAAO0I,EAAO,KACZqC,EAAsB7C,EAAE,IAC1B8C,EAAO9C,EAAE,KACT+C,EAAU/C,EAAE,QACZgD,EAAUhD,EAAE,QACZiD,EAAWjD,EAAE,SACbkD,EAASlD,EAAE,OACTmD,EAAUhD,EAAO2C,CAAI,EACrBM,EAAaP,EAAoB,YAAa,EAClD,GAAI,EAAE/K,GAAQ,MAAQA,EAAK,SAASqL,CAAO,IAAM,EAAErL,GAAQ,MAAQA,EAAK,SAASsL,CAAU,IAAM,CAAC,CAAC,OAAQ,UAAW,UAAW,OAAQ,MAAO,QAAS,IAAI,EAAE,SAASD,CAAO,EAC7K,MAAO,GAET,GAAI,CAACX,EAAiB,CAKpB,GAHI7d,IAAQ,CAACue,GAAUE,IAAe,OAGlCT,IAAU,CAACM,GAAYG,IAAe,QACxC,MAAO,GAGT,GAAIV,GACF,GAAI,CAACM,GAAW,CAACD,EACf,MAAO,WAGLN,IAAS,CAACO,GAAWI,IAAe,QAAUA,IAAe,MAG7DR,IAAS,CAACG,GAAWK,IAAe,QAAUA,IAAe,UAC/D,MAAO,EAGf,CAGE,OAAItL,GAAQA,EAAK,SAAW,IAAMA,EAAK,SAASsL,CAAU,GAAKtL,EAAK,SAASqL,CAAO,GAC3E,GACErL,EAEFmJ,GAAgBnJ,CAAI,EACjB,CAAAA,CAMd,EAEIuL,GAAyC5L,EAAa,cAAC,MAAS,EAChE6L,GAAuB,UAAgC,CACzD,OAAOvO,EAAAA,WAAWsO,EAAyB,CAC7C,EAcA,SAASE,GAAUhY,EAAGT,EAAG,CAEvB,OAAOS,GAAKT,GAAK,OAAOS,GAAM,UAAY,OAAOT,GAAM,SAAW,OAAO,KAAKS,CAAC,EAAE,SAAW,OAAO,KAAKT,CAAC,EAAE,QAE3G,OAAO,KAAKS,CAAC,EAAE,OAAO,SAAUiY,EAAS3V,EAAK,CAC5C,OAAO2V,GAAWD,GAAUhY,EAAEsC,CAAG,EAAG/C,EAAE+C,CAAG,CAAC,CAC9C,EAAK,EAAI,EAAItC,IAAMT,CACnB,CAEA,IAAI2Y,GAA8BhM,EAAAA,cAAc,CAC9C,QAAS,CAAE,EACX,cAAe,CAAE,EACjB,YAAa,UAAuB,CAAE,EACtC,YAAa,UAAuB,CAAE,EACtC,aAAc,UAAwB,CAAA,CACxC,CAAC,EACGiM,GAAoB,UAA6B,CACnD,OAAO3O,EAAAA,WAAW0O,EAAc,CAClC,EAgFA,SAASE,GAAiBjL,EAAO,CAC/B,IAAIjU,EAAM6B,EAAM,OAAC,MAAS,EAC1B,OAAKid,GAAU9e,EAAI,QAASiU,CAAK,IAC/BjU,EAAI,QAAUiU,GAETjU,EAAI,OACb,CAEA,IAAImf,GAAkB,SAAyB5D,EAAG,CAChDA,EAAE,gBAAiB,EACnBA,EAAE,eAAgB,EAClBA,EAAE,yBAA0B,CAC9B,EACI6D,GAAsB,OAAO,OAAW,IAAcC,EAAe,gBAAGrS,EAAS,UACrF,SAASsS,GAAWjM,EAAMkM,EAAUC,EAASC,EAAc,CACzD,IAAIC,EAAY5S,EAAQ,SAAC,IAAI,EAC3B9M,EAAM0f,EAAU,CAAC,EACjBC,EAASD,EAAU,CAAC,EAClBE,EAAkB/d,EAAM,OAAC,EAAK,EAC9Bge,EAAaL,aAAmB,MAAqBC,aAAwB,MAAwB,OAAfA,EAA7CD,EACzCM,EAAQvD,GAAgBlJ,CAAI,EAAIA,EAAK,KAAKwM,GAAY,KAAO,OAASA,EAAS,QAAQ,EAAIxM,EAC3F0M,EAAQP,aAAmB,MAAQA,EAAUC,aAAwB,MAAQA,EAAe,OAC5FO,EAAaC,EAAAA,YAAYV,EAAUQ,GAAwB,EAAE,EAC7DG,EAAQre,EAAM,OAACme,CAAU,EACzBD,EACFG,EAAM,QAAUF,EAEhBE,EAAM,QAAUX,EAElB,IAAIY,EAAkBjB,GAAiBW,CAAQ,EAC3CO,EAAqBnB,GAAmB,EAC1CoB,EAAgBD,EAAmB,cACjCE,EAAQzB,GAAsB,EAClC,OAAAO,GAAoB,UAAY,CAC9B,GAAK,GAAAe,GAAmB,KAAO,OAASA,EAAgB,WAAa,IAAS,CAACzC,GAAc2C,EAAeF,GAAmB,KAAO,OAASA,EAAgB,MAAM,GAGrK,KAAII,EAAW,SAAkBhF,EAAGiF,EAAS,CAC3C,IAAIC,EAIJ,GAHID,IAAY,SACdA,EAAU,IAER,EAAA1D,GAAgCvB,CAAC,GAAK,CAACyB,GAAqBzB,EAAG4E,GAAmB,KAAO,OAASA,EAAgB,gBAAgB,GAKtI,IAAIngB,IAAQ,KAAM,CAChB,IAAI0gB,EAAW1gB,EAAI,YAAa,EAChC,IAAK0gB,aAAoB,UAAYA,aAAoB,aAAeA,EAAS,gBAAkB1gB,GAAO,CAACA,EAAI,SAAS0gB,EAAS,aAAa,EAAG,CAC/IvB,GAAgB5D,CAAC,EACjB,MACV,CACA,EACWkF,EAAYlF,EAAE,SAAW,MAAQkF,EAAU,mBAAqB,EAAEN,GAAmB,MAAQA,EAAgB,0BAGlHvE,EAAmBkE,EAAOK,GAAmB,KAAO,OAASA,EAAgB,QAAQ,EAAE,QAAQ,SAAU/W,EAAK,CAC5G,IAAIuX,EACA5E,EAASD,EAAY1S,EAAK+W,GAAmB,KAAO,OAASA,EAAgB,cAAc,EAC/F,GAAIrC,GAA8BvC,EAAGQ,EAAQoE,GAAmB,KAAO,OAASA,EAAgB,eAAe,IAAMQ,EAAe5E,EAAO,OAAS,MAAQ4E,EAAa,SAAS,GAAG,EAAG,CAItL,GAHIR,GAAmB,MAAQA,EAAgB,iBAAmB,MAAQA,EAAgB,gBAAgB5E,CAAC,GAGvGiF,GAAWZ,EAAgB,QAC7B,OAGF,GADAlD,GAAoBnB,EAAGQ,EAAQoE,GAAmB,KAAO,OAASA,EAAgB,cAAc,EAC5F,CAACvD,GAAgBrB,EAAGQ,EAAQoE,GAAmB,KAAO,OAASA,EAAgB,OAAO,EAAG,CAC3FhB,GAAgB5D,CAAC,EACjB,MACZ,CAEU2E,EAAM,QAAQ3E,EAAGQ,CAAM,EAClByE,IACHZ,EAAgB,QAAU,GAEtC,CACA,CAAO,EACF,EACGgB,EAAgB,SAAuB3D,EAAO,CAC5CA,EAAM,MAAQ,SAIlBb,GAA2BV,EAAOuB,EAAM,IAAI,CAAC,IACxCkD,GAAmB,KAAO,OAASA,EAAgB,WAAa,SAAcA,GAAmB,KAAO,OAASA,EAAgB,SAAW,IAAQA,GAAmB,MAAQA,EAAgB,UAClMI,EAAStD,CAAK,EAEjB,EACG4D,EAAc,SAAqB5D,EAAO,CACxCA,EAAM,MAAQ,SAIlBZ,GAA+BX,EAAOuB,EAAM,IAAI,CAAC,EACjD2C,EAAgB,QAAU,GACtBO,GAAmB,MAAQA,EAAgB,OAC7CI,EAAStD,EAAO,EAAI,EAEvB,EACG6D,EAAU9gB,IAAQ6f,GAAY,KAAO,OAASA,EAAS,WAAa,SAExE,OAAAiB,EAAQ,iBAAiB,QAASD,CAAW,EAE7CC,EAAQ,iBAAiB,UAAWF,CAAa,EAC7CN,GACF1E,EAAmBkE,EAAOK,GAAmB,KAAO,OAASA,EAAgB,QAAQ,EAAE,QAAQ,SAAU/W,EAAK,CAC5G,OAAOkX,EAAM,UAAUxE,EAAY1S,EAAK+W,GAAmB,KAAO,OAASA,EAAgB,eAAgBA,GAAmB,KAAO,OAASA,EAAgB,WAAW,CAAC,CAClL,CAAO,EAEI,UAAY,CAEjBW,EAAQ,oBAAoB,QAASD,CAAW,EAEhDC,EAAQ,oBAAoB,UAAWF,CAAa,EAChDN,GACF1E,EAAmBkE,EAAOK,GAAmB,KAAO,OAASA,EAAgB,QAAQ,EAAE,QAAQ,SAAU/W,EAAK,CAC5G,OAAOkX,EAAM,aAAaxE,EAAY1S,EAAK+W,GAAmB,KAAO,OAASA,EAAgB,eAAgBA,GAAmB,KAAO,OAASA,EAAgB,WAAW,CAAC,CACvL,CAAS,CAEJ,EACF,EAAE,CAACngB,EAAK8f,EAAOK,EAAiBE,CAAa,CAAC,EACxCV,CACT,CCxee,SAASoB,IAAkB,CACtC,IAAIC,EAAanf,EAAM,OAAC,EAAK,EACzBof,EAAMhB,EAAAA,YAAY,UAAY,CAAE,OAAOe,EAAW,OAAU,EAAE,EAAE,EACpEhU,OAAAA,EAAAA,UAAU,UAAY,CAClB,OAAAgU,EAAW,QAAU,GACd,UAAY,CACfA,EAAW,QAAU,EACxB,CACJ,EAAE,EAAE,EACEC,CACX,CCVA,IAAIC,GAAc,SAAUC,EAAc,CAClCA,IAAiB,SAAUA,EAAe,CAAA,GAC9C,IAAI9X,EAAKyD,EAAAA,SAASqU,CAAY,EAAG/S,EAAQ/E,EAAG,CAAC,EAAG+X,EAAM/X,EAAG,CAAC,EACtDgY,EAAWpB,cAAY,SAAUqB,EAAO,CACxCF,EAAI,SAAUG,EAAW,CACrB,OAAO,OAAO,OAAO,CAAA,EAAIA,EAAWD,aAAiB,SAAWA,EAAMC,CAAS,EAAID,CAAK,CACpG,CAAS,CACJ,EAAE,EAAE,EACL,MAAO,CAAClT,EAAOiT,CAAQ,CAC3B,gJCTAG,GAAiB,UAAY,CAC3B,IAAIC,EAAY,SAAS,aAAc,EACvC,GAAI,CAACA,EAAU,WACb,OAAO,UAAY,CAAE,EAKvB,QAHIC,EAAS,SAAS,cAElBC,EAAS,CAAE,EACNjc,EAAI,EAAGA,EAAI+b,EAAU,WAAY/b,IACxCic,EAAO,KAAKF,EAAU,WAAW/b,CAAC,CAAC,EAGrC,OAAQgc,EAAO,QAAQ,YAAa,EAAA,CAClC,IAAK,QACL,IAAK,WACHA,EAAO,KAAM,EACb,MAEF,QACEA,EAAS,KACT,KACN,CAEE,OAAAD,EAAU,gBAAiB,EACpB,UAAY,CACjBA,EAAU,OAAS,SACnBA,EAAU,gBAAiB,EAEtBA,EAAU,YACbE,EAAO,QAAQ,SAASC,EAAO,CAC7BH,EAAU,SAASG,CAAK,CAChC,CAAO,EAGHF,GACAA,EAAO,MAAO,CACf,CACF,mDCpCD,IAAIG,EAAkBC,GAA2B,EAE7CC,EAA4B,CAC9B,aAAc,OACd,YAAa,MACb,QAAW,MACb,EAEIC,EAAiB,mCAErB,SAASC,EAAOC,EAAS,CACvB,IAAIC,GAAW,YAAY,KAAK,UAAU,SAAS,EAAI,IAAM,QAAU,KACvE,OAAOD,EAAQ,QAAQ,gBAAiBC,CAAO,CACjD,CAEA,SAASC,EAAKC,EAAM7C,EAAS,CAC3B,IAAI8C,EACFJ,EACAK,EACAX,EACAH,EACAe,EACAC,EAAU,GACPjD,IACHA,EAAU,CAAE,GAEd8C,EAAQ9C,EAAQ,OAAS,GACzB,GAAI,CACF+C,EAAmBV,EAAiB,EAEpCD,EAAQ,SAAS,YAAa,EAC9BH,EAAY,SAAS,aAAc,EAEnCe,EAAO,SAAS,cAAc,MAAM,EACpCA,EAAK,YAAcH,EAEnBG,EAAK,WAAa,OAElBA,EAAK,MAAM,IAAM,QAEjBA,EAAK,MAAM,SAAW,QACtBA,EAAK,MAAM,IAAM,EACjBA,EAAK,MAAM,KAAO,mBAElBA,EAAK,MAAM,WAAa,MAExBA,EAAK,MAAM,iBAAmB,OAC9BA,EAAK,MAAM,cAAgB,OAC3BA,EAAK,MAAM,aAAe,OAC1BA,EAAK,MAAM,WAAa,OACxBA,EAAK,iBAAiB,OAAQ,SAASjH,EAAG,CAExC,GADAA,EAAE,gBAAiB,EACfiE,EAAQ,OAEV,GADAjE,EAAE,eAAgB,EACd,OAAOA,EAAE,cAAkB,IAAa,CAC1C+G,GAAS,QAAQ,KAAK,+BAA+B,EACrDA,GAAS,QAAQ,KAAK,0BAA0B,EAChD,OAAO,cAAc,UAAW,EAChC,IAAIL,EAASF,EAA0BvC,EAAQ,MAAM,GAAKuC,EAA0B,QACpF,OAAO,cAAc,QAAQE,EAAQI,CAAI,CACnD,MACU9G,EAAE,cAAc,UAAW,EAC3BA,EAAE,cAAc,QAAQiE,EAAQ,OAAQ6C,CAAI,EAG5C7C,EAAQ,SACVjE,EAAE,eAAgB,EAClBiE,EAAQ,OAAOjE,EAAE,aAAa,EAEtC,CAAK,EAED,SAAS,KAAK,YAAYiH,CAAI,EAE9BZ,EAAM,mBAAmBY,CAAI,EAC7Bf,EAAU,SAASG,CAAK,EAExB,IAAIc,EAAa,SAAS,YAAY,MAAM,EAC5C,GAAI,CAACA,EACH,MAAM,IAAI,MAAM,+BAA+B,EAEjDD,EAAU,EACX,OAAQE,EAAK,CACZL,GAAS,QAAQ,MAAM,qCAAsCK,CAAG,EAChEL,GAAS,QAAQ,KAAK,0BAA0B,EAChD,GAAI,CACF,OAAO,cAAc,QAAQ9C,EAAQ,QAAU,OAAQ6C,CAAI,EAC3D7C,EAAQ,QAAUA,EAAQ,OAAO,OAAO,aAAa,EACrDiD,EAAU,EACX,OAAQE,EAAK,CACZL,GAAS,QAAQ,MAAM,uCAAwCK,CAAG,EAClEL,GAAS,QAAQ,MAAM,wBAAwB,EAC/CJ,EAAUD,EAAO,YAAazC,EAAUA,EAAQ,QAAUwC,CAAc,EACxE,OAAO,OAAOE,EAASG,CAAI,CACjC,CACA,QAAY,CACJZ,IACE,OAAOA,EAAU,aAAe,WAClCA,EAAU,YAAYG,CAAK,EAE3BH,EAAU,gBAAiB,GAI3Be,GACF,SAAS,KAAK,YAAYA,CAAI,EAEhCD,EAAkB,CACtB,CAEE,OAAOE,CACT,CAEA,OAAAG,GAAiBR,iCC9Gd,IAACS,GAAqB,UAAY,CACjC,IAAIC,EAAY/B,GAAiB,EAC7B1X,EAAK6X,GAAY,CACjB,MAAO,OACP,MAAO,OACP,kBAAmB,EAC3B,CAAK,EAAG9S,EAAQ/E,EAAG,CAAC,EAAGgY,EAAWhY,EAAG,CAAC,EAC9BuZ,EAAkB3C,cAAY,SAAUhM,EAAO,CAC/C,GAAK6O,EAAS,EAGd,KAAIC,EACAC,EACJ,GAAI,CAEA,GAAI,OAAO/O,GAAU,UAAY,OAAOA,GAAU,SAAU,CACxD,IAAIgP,EAAQ,IAAI,MAAM,sBAAwB,OAAOhP,EAAQ,iCAAiC,EAC1F,QAAQ,IAAI,WAAa,eACzB,QAAQ,MAAMgP,CAAK,EACvB5B,EAAS,CACL,MAAOpN,EACP,MAAOgP,EACP,kBAAmB,EACvC,CAAiB,EACD,MAChB,SAEqBhP,IAAU,GAAI,CACnB,IAAIgP,EAAQ,IAAI,MAAM,wCAAwC,EAC1D,QAAQ,IAAI,WAAa,eACzB,QAAQ,MAAMA,CAAK,EACvB5B,EAAS,CACL,MAAOpN,EACP,MAAOgP,EACP,kBAAmB,EACvC,CAAiB,EACD,MAChB,CACYD,EAAkB/O,EAAM,SAAU,EAClC8O,EAAoBG,GAAUF,CAAe,EAC7C3B,EAAS,CACL,MAAO2B,EACP,MAAO,OACP,kBAAmBD,CACnC,CAAa,CACb,OACeE,EAAO,CACV5B,EAAS,CACL,MAAO2B,EACP,MAAOC,EACP,kBAAmBF,CACnC,CAAa,CACb,EACK,EAAE,EAAE,EACL,MAAO,CAAC3U,EAAOwU,CAAe,CAClC","x_google_ignoreList":[5,6,23,124,125,126,127,128,129]}
1
+ {"version":3,"file":"index.cjs","sources":["../src/components/avatar/avatar.recipe.tsx","../src/components/avatar/avatar.slots.tsx","../src/components/avatar/avatar.tsx","../src/components/box/box.tsx","../src/components/button/button.recipe.ts","../../../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../node_modules/.pnpm/@emotion+is-prop-valid@1.3.1/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../src/components/button/button.slots.tsx","../src/components/button/button.tsx","../src/components/dialog/dialog.tsx","../src/components/icon-button/icon-button.tsx","../src/components/link/link.recipe.ts","../src/components/link/link.slots.tsx","../src/components/link/link.tsx","../src/components/list/list.tsx","../src/components/simple-grid/simple-grid.tsx","../src/components/table/table.tsx","../src/components/text/text.tsx","../src/components/tooltip/tooltip.recipe.ts","../src/components/tooltip/tooltip.slots.ts","../src/components/tooltip/tooltip.tsx","../src/components/tooltip/tooltip-trigger.tsx","../src/components/tooltip/make-element-focusable.tsx","../../../node_modules/.pnpm/next-themes@0.4.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next-themes/dist/index.mjs","../src/components/nimbus-provider/color-mode.tsx","../src/theme/animation-styles.ts","../src/theme/breakpoints.ts","../src/theme/global-css.ts","../src/theme/keyframes.ts","../src/theme/layer-styles.ts","../src/components/code/code.recipe.ts","../src/components/heading/heading.recipe.ts","../src/components/kbd/kbd.recipe.ts","../src/components/text-input/text-input.recipe.tsx","../src/theme/recipes/index.ts","../src/theme/semantic-tokens/colors.ts","../src/theme/semantic-tokens/shadows.ts","../src/theme/semantic-tokens/radii.ts","../src/theme/semantic-tokens/index.ts","../src/components/dialog/dialog.recipe.ts","../src/components/list/list.recipe.ts","../src/components/table/table.recipe.ts","../src/components/checkbox/checkbox.recipe.tsx","../src/components/select/select.recipe.tsx","../src/components/accordion/accordion.recipe.tsx","../src/theme/slot-recipes/index.ts","../src/theme/text-styles.ts","../src/theme/tokens/aspect-ratios.ts","../src/theme/tokens/animations.ts","../src/theme/tokens/blurs.ts","../src/theme/tokens/borders.ts","../src/theme/tokens/colors.ts","../src/theme/tokens/durations.ts","../src/theme/tokens/easings.ts","../src/theme/tokens/fonts.ts","../src/theme/tokens/font-sizes.ts","../src/theme/tokens/font-weights.ts","../src/theme/tokens/letter-spacings.ts","../src/theme/tokens/line-heights.ts","../src/theme/tokens/radii.ts","../src/theme/tokens/spacing.ts","../src/theme/tokens/sizes.ts","../src/theme/tokens/z-index.ts","../src/theme/tokens/cursor.ts","../src/theme/tokens/index.ts","../src/theme/index.ts","../src/components/nimbus-provider/nimbus-provider.tsx","../src/utils/extractStyleProps.ts","../src/components/checkbox/checkbox.slots.tsx","../src/components/checkbox/checkbox.tsx","../src/components/stack/stack.tsx","../src/components/visually-hidden/visually-hidden.tsx","../src/components/text-input/text-input.slots.tsx","../src/components/text-input/text-input.tsx","../src/components/grid/grid.tsx","../src/components/select/select.slots.tsx","../src/components/select/components/select.clear-button.tsx","../src/components/select/components/select.root.tsx","../src/utils/fixedForwardRef.ts","../src/components/select/components/select.options.tsx","../src/components/select/components/select.option.tsx","../src/components/select/components/select.option-group.tsx","../src/components/select/select.tsx","../src/components/accordion/accordion.slots.tsx","../src/components/accordion/accordion-context.tsx","../src/components/accordion/components/accordion-group.tsx","../src/components/accordion/components/accordion-header.tsx","../src/components/accordion/components/accordion-content.tsx","../src/components/accordion/components/accordion-item.tsx","../src/components/accordion/accordion.tsx","../src/components/loading-spinner/loading-spinner.recipe.tsx","../src/components/loading-spinner/loading-spinner.slots.tsx","../src/components/loading-spinner/loading-spinner.tsx","../src/components/card/card.recipe.tsx","../src/components/card/card.slots.tsx","../src/components/card/components/card.root.tsx","../src/components/card/components/card.header.tsx","../src/components/card/components/card.content.tsx","../src/components/card/card.tsx","../src/components/badge/badge.recipe.tsx","../src/components/badge/badge.slots.tsx","../src/components/badge/badge.tsx","../src/components/alert/alert.recipe.tsx","../src/components/alert/alert.slots.tsx","../src/components/alert/components/alert.root.tsx","../src/components/alert/components/alert.title.tsx","../src/components/alert/components/alert.description.tsx","../src/components/alert/components/alert.actions.tsx","../src/components/alert/components/alert.dismiss-button.tsx","../src/components/alert/alert.tsx","../src/components/toggle-button-group/toggle-button-group.recipe.tsx","../src/components/toggle-button-group/toggle-button-group.slots.tsx","../src/components/toggle-button-group/components/toggle-button-group.root.tsx","../src/components/toggle-button-group/components/toggle-button-group.button.tsx","../src/components/toggle-button-group/toggle-button-group.tsx","../src/components/form-field/form-field.recipe.tsx","../src/components/form-field/form-field.slots.tsx","../src/components/form-field/components/form-field.root.tsx","../src/components/form-field/components/form-field.label.tsx","../src/components/form-field/components/form-field.input.tsx","../src/components/form-field/components/form-field.description.tsx","../src/components/form-field/components/form-field.error.tsx","../src/components/form-field/components/form-field.info-box.tsx","../src/components/form-field/form-field.tsx","../../../node_modules/.pnpm/react-hotkeys-hook@4.6.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-hotkeys-hook/dist/react-hotkeys-hook.esm.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useMountedState.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useSetState.js","../../../node_modules/.pnpm/toggle-selection@1.0.6/node_modules/toggle-selection/index.js","../../../node_modules/.pnpm/copy-to-clipboard@3.3.3/node_modules/copy-to-clipboard/index.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useCopyToClipboard.js"],"sourcesContent":["import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const avatarRecipe = defineRecipe({\n className: \"avatar\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n verticalAlign: \"middle\",\n overflow: \"hidden\",\n userSelect: \"none\",\n borderRadius: \"full\",\n flexShrink: 0,\n fontWeight: \"600\",\n backgroundColor: \"colorPalette.3\",\n colorPalette: \"primary\",\n color: \"colorPalette.11\",\n focusVisibleRing: \"outside\",\n \"button&\": {\n cursor: \"button\",\n },\n _disabled: {\n layerStyle: \"disabled\",\n },\n },\n variants: {\n size: {\n md: { width: 1000, height: 1000, textStyle: \"sm\" },\n xs: { width: 800, height: 800, textStyle: \"xs\" },\n \"2xs\": { width: 600, height: 600, textStyle: \"xs\" },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\nimport { avatarRecipe } from \"./avatar.recipe\";\n\ninterface AvatarRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface AvatarRootProps\n extends HTMLChakraProps<\"div\", AvatarRecipeProps> {}\nconst { withContext } = createRecipeContext({ recipe: avatarRecipe });\n\nexport const AvatarRoot = withContext<HTMLElement, AvatarRootProps>(\"figure\");\n","import { forwardRef } from \"react\";\nimport { Image } from \"@chakra-ui/react\";\nimport { type AvatarProps } from \"./avatar.types\";\nimport { AvatarRoot } from \"./avatar.slots.tsx\";\n\nfunction getInitials(firstName: string, lastName: string) {\n return (\n firstName.split(\"\")[0].toUpperCase() + lastName.split(\"\")[0].toUpperCase()\n );\n}\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>((props, ref) => {\n const { firstName, lastName, src, alt, ...rest } = props;\n\n const fullName = `${firstName} ${lastName}`;\n\n const sharedProps = {\n \"aria-label\": `${fullName} avatar`,\n ref,\n ...rest,\n };\n return (\n <AvatarRoot {...sharedProps}>\n {src ? (\n // TODO: implement more robust error handling for image\n <Image src={src} alt={alt || fullName} />\n ) : (\n getInitials(firstName, lastName)\n )}\n </AvatarRoot>\n );\n});\n\nAvatar.displayName = \"Avatar\";\n","import { forwardRef } from \"react\";\nimport { Box as ChakraBox, type HTMLChakraProps } from \"@chakra-ui/react\";\nexport interface BoxProps extends HTMLChakraProps<\"div\"> {\n children?: React.ReactNode;\n}\n\nexport const Box = forwardRef<HTMLDivElement, BoxProps>((props, ref) => {\n return <ChakraBox ref={ref} {...props} />;\n});\n\nBox.displayName = \"Box\";\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const buttonRecipe = defineRecipe({\n className: \"nimbus-button\",\n base: {\n borderRadius: \"200\",\n display: \"inline-flex\",\n appearance: \"none\",\n alignItems: \"center\",\n justifyContent: \"center\",\n userSelect: \"none\",\n position: \"relative\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n borderWidth: \"1px\",\n borderColor: \"transparent\",\n cursor: \"button\",\n flexShrink: \"0\",\n outline: \"0\",\n lineHeight: \"1.2\",\n isolation: \"isolate\",\n fontWeight: \"500\",\n transitionProperty: \"common\",\n transitionDuration: \"moderate\",\n focusVisibleRing: \"outside\",\n _disabled: {\n layerStyle: \"disabled\",\n },\n _icon: {\n flexShrink: \"0\",\n },\n },\n variants: {\n size: {\n \"2xs\": {\n h: \"600\",\n minW: \"600\",\n fontSize: \"300\",\n fontWeight: \"500\",\n lineHeight: \"400\",\n px: \"200\",\n gap: \"100\",\n _icon: {\n width: \"400\",\n height: \"400\",\n },\n },\n xs: {\n h: \"800\",\n minW: \"800\",\n fontSize: \"350\",\n fontWeight: \"500\",\n lineHeight: \"400\",\n px: \"300\",\n gap: \"100\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n },\n /* sm: {\n h: \"900\",\n minW: \"900\",\n px: \"350\",\n textStyle: \"sm\",\n gap: \"200\",\n _icon: {\n width: \"400\",\n height: \"400\",\n },\n }, */\n md: {\n h: \"1000\",\n minW: \"1000\",\n fontSize: \"400\",\n lineHeight: \"500\",\n px: \"400\",\n gap: \"200\",\n _icon: {\n width: \"600\",\n height: \"600\",\n },\n },\n /* lg: {\n h: \"1100\",\n minW: \"1100\",\n textStyle: \"md\",\n px: \"500\",\n gap: \"300\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n }, */\n /* xl: {\n h: \"1200\",\n minW: \"1200\",\n textStyle: \"md\",\n px: \"500\",\n gap: \"250\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n }, */\n /* \"2xl\": {\n h: \"1600\",\n minW: \"1600\",\n textStyle: \"lg\",\n px: \"700\",\n gap: \"300\",\n _icon: {\n width: \"600\",\n height: \"600\",\n },\n }, */\n },\n variant: {\n solid: {\n bg: \"colorPalette.9\",\n color: \"colorPalette.contrast\",\n _hover: {\n bg: \"colorPalette.10\",\n },\n _expanded: {\n bg: \"colorPalette.10\",\n },\n },\n subtle: {\n bg: \"colorPalette.3\",\n color: \"colorPalette.11\",\n _hover: {\n bg: \"colorPalette.4\",\n },\n _expanded: {\n bg: \"colorPalette.4\",\n },\n },\n outline: {\n borderWidth: \"1px\",\n borderColor: \"colorPalette.7\",\n color: \"colorPalette.11\",\n transitionProperty: \"background-color, border-color, color\",\n transitionDuration: \"moderate\",\n _hover: {\n bg: \"colorPalette.3\",\n borderColor: \"colorPalette.8\",\n },\n _expanded: {\n bg: \"colorPalette.subtle\",\n },\n },\n ghost: {\n color: \"colorPalette.11\",\n _hover: {\n bg: \"colorPalette.4\",\n },\n _expanded: {\n bg: \"colorPalette.4\",\n },\n },\n link: {\n color: \"colorPalette.11\",\n _hover: {\n textDecoration: \"underline\",\n },\n },\n },\n tone: {\n primary: {\n colorPalette: \"primary\",\n },\n critical: {\n colorPalette: \"critical\",\n },\n neutral: {\n colorPalette: \"neutral\",\n },\n info: {\n colorPalette: \"info\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"subtle\",\n },\n});\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n defaultSystem,\n} from \"@chakra-ui/react\";\nimport { buttonRecipe } from \"./button.recipe\";\nimport shouldForwardProp from \"@emotion/is-prop-valid\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the button element.\n */\ninterface ButtonRecipeProps extends RecipeProps<\"button\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport type ButtonRootProps = HTMLChakraProps<\"button\", ButtonRecipeProps>;\n\nconst { withContext } = createRecipeContext({\n recipe: buttonRecipe,\n});\n\n/**\n * Root component that provides the styling context for the Battn component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const ButtonRoot = withContext<HTMLButtonElement, ButtonRootProps>(\n \"button\",\n {\n defaultProps: {\n type: \"button\",\n },\n /** make sure the `onPress` properties won't end up as attribute on the rendered DOM element */\n shouldForwardProp(prop, variantKeys) {\n const chakraSfp =\n !variantKeys?.includes(prop) && !defaultSystem.isValidProperty(prop);\n return shouldForwardProp(prop) && chakraSfp && !prop.includes(\"onPress\");\n },\n }\n);\n","import { forwardRef, useRef } from \"react\";\nimport { useButton, useObjectRef, mergeProps } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { ButtonRoot } from \"./button.slots.tsx\";\nimport type { ButtonProps } from \"./button.types.ts\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, forwardedRef) => {\n const { as, asChild, children, ...rest } = props;\n\n // create a local ref (because the consumer may not provide a forwardedRef)\n const localRef = useRef<HTMLButtonElement>(null);\n // merge the local ref with a potentially forwarded ref\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n // if asChild is set, for react-aria to add the button-role, the elementType\n // has to be manually set to something else than button\n const elementType = as || (asChild ? \"a\" : \"button\") || \"button\";\n\n const { buttonProps } = useButton(\n {\n ...rest,\n elementType,\n },\n ref\n );\n\n return (\n <ButtonRoot {...mergeProps(rest, buttonProps, { as, asChild, ref })}>\n {children}\n </ButtonRoot>\n );\n }\n);\n\n// Manually assign a displayName for debugging purposes\nButton.displayName = \"Button\";\n","import { Dialog as ChakraDialog, Portal } from \"@chakra-ui/react\";\nimport { forwardRef } from \"react\";\nimport { Button } from \"../button\";\n\ninterface DialogContentProps extends ChakraDialog.ContentProps {\n portalled?: boolean;\n portalRef?: React.RefObject<HTMLElement>;\n backdrop?: boolean;\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n function DialogContent(props, ref) {\n const {\n children,\n portalled = true,\n portalRef,\n backdrop = true,\n ...rest\n } = props;\n\n return (\n <Portal disabled={!portalled} container={portalRef}>\n {backdrop && <ChakraDialog.Backdrop />}\n <ChakraDialog.Positioner>\n <ChakraDialog.Content ref={ref} {...rest} asChild={false}>\n {children}\n </ChakraDialog.Content>\n </ChakraDialog.Positioner>\n </Portal>\n );\n }\n);\n\nexport const DialogCloseTrigger = forwardRef<\n HTMLButtonElement,\n ChakraDialog.CloseTriggerProps\n>(function DialogCloseTrigger(props, ref) {\n return (\n <ChakraDialog.CloseTrigger\n position=\"absolute\"\n top=\"2\"\n insetEnd=\"2\"\n {...props}\n asChild\n >\n <Button size=\"xs\" ref={ref}>\n {props.children}\n </Button>\n </ChakraDialog.CloseTrigger>\n );\n});\n\nexport const DialogRoot = ChakraDialog.Root;\nexport const DialogFooter = ChakraDialog.Footer;\nexport const DialogHeader = ChakraDialog.Header;\nexport const DialogBody = ChakraDialog.Body;\nexport const DialogBackdrop = ChakraDialog.Backdrop;\nexport const DialogTitle = ChakraDialog.Title;\nexport const DialogDescription = ChakraDialog.Description;\nexport const DialogTrigger = ChakraDialog.Trigger;\nexport const DialogActionTrigger = ChakraDialog.ActionTrigger;\n","import { forwardRef } from \"react\";\nimport type { IconButtonProps } from \"./icon-button.types\";\nimport { Button } from \"@/components\";\n\n/**\n * IconButton\n * ============================================================\n * displays a button with only an icon as child. It is based\n * on the regular `Button` component, but with a few adjustments.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ children, ...props }, ref) => {\n return (\n <Button px={0} py={0} ref={ref} {...props}>\n {children}\n </Button>\n );\n }\n);\n\nIconButton.displayName = \"IconButton\";\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Link component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const linkRecipe = defineRecipe({\n className: \"nimbus-link\",\n // Base styles applied to all instances of the component\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n color: \"colorPalette.11\",\n borderRadius: \"100\",\n focusVisibleRing: \"outside\",\n bg: \"transparent\",\n outline: \"none\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n textUnderlineOffset: \"3px\",\n _hover: {\n textDecorationThickness: \"12%\",\n },\n },\n // Available variants for customizing the component's appearance\n variants: {\n // Size variants from smallest to largest\n size: {\n xs: {\n fontSize: \"300\",\n lineHeight: \"450\",\n },\n sm: {\n fontSize: \"350\",\n lineHeight: \"500\",\n },\n md: {\n fontSize: \"400\",\n lineHeight: \"600\",\n },\n },\n // style variants\n fontColor: {\n primary: {\n color: \"primary\",\n },\n inherit: {\n color: \"inherit\",\n },\n },\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { linkRecipe } from \"./link.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the a element.\n */\ninterface LinkRecipeProps extends RecipeProps<\"a\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport type LinkRootProps = HTMLChakraProps<\"a\", LinkRecipeProps>;\n\nconst { withContext } = createRecipeContext({ recipe: linkRecipe });\n\n/**\n * Root component that provides the styling context for the Link component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const LinkRoot = withContext<HTMLAnchorElement, LinkRootProps>(\"a\");\n","import { forwardRef, useRef } from \"react\";\nimport { LinkRoot } from \"./link.slots\";\nimport type { LinkProps } from \"./link.types\";\nimport { useLink, useObjectRef, mergeProps } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\n\n/**\n * Link\n * ============================================================\n * To allow a user to navigate to a different page or resource\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLAnchorElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)\n */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n (props, forwardedRef) => {\n const { as, asChild, children, ...rest } = props;\n\n const localRef = useRef<HTMLAnchorElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n const elementType = (as as string) || (asChild ? \"span\" : \"a\") || \"a\";\n const { linkProps } = useLink({ ...rest, elementType }, ref);\n\n return (\n <LinkRoot {...mergeProps(rest, linkProps, { as, asChild, ref })}>\n {children}\n </LinkRoot>\n );\n }\n);\n\nLink.displayName = \"Link\";\n","import { List } from \"@chakra-ui/react\";\n\nexport type ListRootType = React.ComponentProps<typeof List.Root>;\nexport type ListItemType = React.ComponentProps<typeof List.Item>;\n\nconst ListRoot = (props: ListRootType) => <List.Root {...props} />;\nconst ListItem = (props: ListItemType) => <List.Item {...props} />;\n\nexport { List, ListRoot, ListItem };\n","import { forwardRef } from \"react\";\nimport {\n SimpleGrid as ChakraSimpleGrid,\n GridItem,\n type SimpleGridProps as ChakraSimpleGridProps,\n} from \"@chakra-ui/react\";\n\n/**\n * SimpleGrid\n * ============================================================\n * The SimpleGrid Layout Component provides a flexible and responsive way to structure content.\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n */\nexport interface SimpleGridProps extends ChakraSimpleGridProps {\n children?: React.ReactNode;\n}\n\nconst GridComponent = forwardRef<HTMLDivElement, SimpleGridProps>(\n (props, ref) => {\n return <ChakraSimpleGrid ref={ref} {...props} />;\n }\n);\n\nGridComponent.displayName = \"SimpleGrid\";\n\nexport const SimpleGrid = Object.assign(GridComponent, {\n Item: GridItem,\n});\n","import { Table } from \"@chakra-ui/react\";\n\n// Extracting props types from subcomponents\nexport type TableRootProps = React.ComponentProps<typeof Table.Root>;\nexport type TableColumnGroupProps = React.ComponentProps<\n typeof Table.ColumnGroup\n>;\nexport type TableColumnProps = React.ComponentProps<typeof Table.Column>;\nexport type TableHeaderProps = React.ComponentProps<typeof Table.Header>;\nexport type TableFooterProps = React.ComponentProps<typeof Table.Footer>;\nexport type TableRowProps = React.ComponentProps<typeof Table.Row>;\nexport type TableCellProps = React.ComponentProps<typeof Table.Cell>;\nexport type TableBodyProps = React.ComponentProps<typeof Table.Body>;\nexport type TableColumnHeaderProps = React.ComponentProps<\n typeof Table.ColumnHeader\n>;\n\nconst TableRoot = (props: TableRootProps) => <Table.Root {...props} />;\nconst TableColumnGroup = (props: TableColumnGroupProps) => (\n <Table.ColumnGroup {...props} />\n);\nconst TableColumn = (props: TableColumnProps) => <Table.Column {...props} />;\nconst TableHeader = (props: TableHeaderProps) => <Table.Header {...props} />;\nconst TableFooter = (props: TableFooterProps) => <Table.Footer {...props} />;\nconst TableRow = (props: TableRowProps) => <Table.Row {...props} />;\nconst TableCell = (props: TableCellProps) => <Table.Cell {...props} />;\nconst TableBody = (props: TableBodyProps) => <Table.Body {...props} />;\nconst TableColumnHeader = (props: TableColumnHeaderProps) => (\n <Table.ColumnHeader {...props} />\n);\n\nexport {\n Table,\n TableRoot,\n TableColumnGroup,\n TableColumn,\n TableHeader,\n TableFooter,\n TableRow,\n TableCell,\n TableBody,\n TableColumnHeader,\n};\n","import {\n Text as ChakraText,\n type TextProps as ChakraTextProps,\n} from \"@chakra-ui/react\";\nimport { forwardRef } from \"react\";\n\nexport interface TextProps extends ChakraTextProps {}\n\n/**\n * Render Text\n *\n * Use this component to render text. Various props can be passed to customize the text.\n * Check the documentation for more information.\n *\n * @see https://DOMAIN/components/typography/text\n */\nexport const Text = forwardRef<HTMLParagraphElement, TextProps>(\n (props, ref) => {\n return <ChakraText ref={ref} {...props} />;\n }\n);\n\nText.displayName = \"Text\";\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Tooltip component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const tooltipRecipe = defineRecipe({\n // Unique class name prefix for the component\n className: \"nimbus-tooltip\",\n\n // Base styles applied to all instances of the component\n base: {\n color: \"white\",\n textStyle: \"xs\",\n fontWeight: \"400\",\n background: \"slate.12\",\n display: \"inline-flex\",\n alignItems: \"center\",\n borderRadius: \"100\",\n paddingX: \"300\",\n paddingY: \"100\",\n margin: \"100\",\n maxW: \"6400\",\n boxShadow: \"1\",\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { type TooltipProps as RATooltipProps } from \"react-aria-components\";\n\nimport { tooltipRecipe } from \"./tooltip.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n */\ninterface TooltipRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface TooltipRootProps\n extends HTMLChakraProps<\"div\", TooltipRecipeProps> {}\n\nconst { withContext } = createRecipeContext({ recipe: tooltipRecipe });\n\n/**\n * Root component that provides the styling context for the Tooltip component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TooltipRoot = withContext<\n HTMLDivElement,\n TooltipRootProps & RATooltipProps\n>(\"div\");\n","import { forwardRef } from \"react\";\nimport { Tooltip as RATooltip } from \"react-aria-components\";\nimport { TooltipRoot } from \"./tooltip.slots\";\nimport type { TooltipProps } from \"./tooltip.types\";\n\n/**\n * Tooltip\n * ============================================================\n * A contextual popup that displays a description for an element, uses `Tooltip` component from `react-aria-components`.\n *\n * Features:\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLDivElement' attributes (including aria- & data-attributes)\n * - allows overriding styles by using style-props\n *\n * Further Context:\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n * - [ARIA Tooltip Pattern](https://www.w3.org/TR/wai-aria-1.2/#tooltip)\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip({ children, placement = \"bottom\", ...props }, forwardedRef) {\n return (\n <TooltipRoot ref={forwardedRef} asChild {...props}>\n <RATooltip placement={placement} {...props}>\n {children}\n </RATooltip>\n </TooltipRoot>\n );\n }\n);\nTooltip.displayName = \"Tooltip\";\n","import { TooltipTrigger as RATooltipTrigger } from \"react-aria-components\";\n\n/**\n * TooltipTrigger\n * ============================================================\n * TooltipTrigger wraps around a trigger element and a Tooltip.\n * It handles opening and closing the Tooltip when the user hovers over or focuses the trigger,\n * and positioning the Tooltip relative to the trigger.\n *\n * Directly exported from `react-aria-components`\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n */\nexport const TooltipTrigger = RATooltipTrigger;\n// @ts-expect-error displaynames can be set on component instances, necessary for pretty react-live output\nTooltipTrigger.displayName = \"TooltipTrigger\";\n","import {\n cloneElement,\n forwardRef,\n useRef,\n type PropsWithChildren,\n isValidElement,\n} from \"react\";\nimport {\n mergeProps,\n useObjectRef,\n useFocusable,\n type FocusableOptions,\n} from \"react-aria\";\n\nimport { mergeRefs } from \"@chakra-ui/react\";\n\n/**\n * MakeElementFocusable\n * ============================================================\n * A helper component that adds props from `react-aria`s `useFocusable` hook\n * to its child so that it can be used as a trigger element for a `Tooltip`\n *\n * Caveats:\n * - Using non-interactive elements as tooltip triggers is against ARIA best-practices,\n * it is your responsibility to ensure that the underlying trigger element handles\n * focus and hover interactions correctly for keyboard-only users\n *\n * Features:\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLElement' attributes (including aria- & data-attributes)\n *\n * Further Context:\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n * - [React Aria Components Issue re:Tooltip with custom trigger](https://github.com/adobe/react-spectrum/issues/5733#issuecomment-1918691983)\n * - [ARIA Tooltip Pattern](https://www.w3.org/TR/wai-aria-1.2/#tooltip)\n */\nexport const MakeElementFocusable = forwardRef<\n HTMLElement,\n PropsWithChildren<FocusableOptions<HTMLElement>>\n>(function MakeElementFocusable(props, forwardedRef) {\n const localRef = useRef<HTMLElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const { focusableProps } = useFocusable(props, ref);\n if (isValidElement(props.children)) {\n return cloneElement(\n props.children,\n mergeProps(\n focusableProps,\n props.children.props as PropsWithChildren<\n FocusableOptions<HTMLElement>\n >,\n { ref: ref }\n )\n );\n }\n});\nMakeElementFocusable.displayName = \"MakeElementFocusable\";\n","\"use client\";import*as t from\"react\";var M=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=[\"light\",\"dark\"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n===\"system\"?c():n;p(y)}catch(n){}};var b=[\"light\",\"dark\"],I=\"(prefers-color-scheme: dark)\",O=typeof window==\"undefined\",x=t.createContext(void 0),U={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(x))!=null?e:U},J=e=>t.useContext(x)?t.createElement(t.Fragment,null,e.children):t.createElement(V,{...e}),N=[\"light\",\"dark\"],V=({forcedTheme:e,disableTransitionOnChange:i=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:m=\"theme\",themes:a=N,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:d,children:w,nonce:p,scriptProps:R})=>{let[c,n]=t.useState(()=>H(m,l)),[T,y]=t.useState(()=>c===\"system\"?E():c),k=d?Object.values(d):a,S=t.useCallback(o=>{let r=o;if(!r)return;o===\"system\"&&s&&(r=E());let v=d?d[r]:r,C=i?W(p):null,P=document.documentElement,L=g=>{g===\"class\"?(P.classList.remove(...k),v&&P.classList.add(v)):g.startsWith(\"data-\")&&(v?P.setAttribute(g,v):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(L):L(h),u){let g=b.includes(l)?l:null,D=b.includes(r)?r:g;P.style.colorScheme=D}C==null||C()},[p]),f=t.useCallback(o=>{let r=typeof o==\"function\"?o(c):o;n(r);try{localStorage.setItem(m,r)}catch(v){}},[c]),A=t.useCallback(o=>{let r=E(o);y(r),c===\"system\"&&s&&!e&&S(\"system\")},[c,e]);t.useEffect(()=>{let o=window.matchMedia(I);return o.addListener(A),A(o),()=>o.removeListener(A)},[A]),t.useEffect(()=>{let o=r=>{r.key===m&&(r.newValue?n(r.newValue):f(l))};return window.addEventListener(\"storage\",o),()=>window.removeEventListener(\"storage\",o)},[f]),t.useEffect(()=>{S(e!=null?e:c)},[e,c]);let Q=t.useMemo(()=>({theme:c,setTheme:f,forcedTheme:e,resolvedTheme:c===\"system\"?T:c,themes:s?[...a,\"system\"]:a,systemTheme:s?T:void 0}),[c,f,e,T,s,a]);return t.createElement(x.Provider,{value:Q},t.createElement(_,{forcedTheme:e,storageKey:m,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:d,themes:a,nonce:p,scriptProps:R}),w)},_=t.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return t.createElement(\"script\",{...w,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?d:\"\",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${p})`}})}),H=(e,i)=>{if(O)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||i},W=e=>{let i=document.createElement(\"style\");return e&&i.setAttribute(\"nonce\",e),i.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(i),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(i)},1)}},E=e=>(e||(e=window.matchMedia(I)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","\"use client\";\nimport { ThemeProvider, useTheme, type ThemeProviderProps } from \"next-themes\";\n\nexport interface ColorModeProviderProps extends ThemeProviderProps {}\n\nexport function ColorModeProvider(props: ColorModeProviderProps) {\n return (\n <ThemeProvider attribute=\"class\" disableTransitionOnChange {...props} />\n );\n}\n\nexport function useColorMode() {\n const { resolvedTheme, setTheme } = useTheme();\n const toggleColorMode = () => {\n setTheme(resolvedTheme === \"light\" ? \"dark\" : \"light\");\n };\n return {\n colorMode: resolvedTheme,\n setColorMode: setTheme,\n toggleColorMode,\n };\n}\n\nexport function useColorModeValue<T>(light: T, dark: T) {\n const { colorMode } = useColorMode();\n return colorMode === \"light\" ? light : dark;\n}\n\nexport function ColorModeLabel() {\n const { colorMode } = useColorMode();\n return colorMode === \"light\" ? \"Light Theme\" : \"DarkTheme\";\n}\n","import { defineAnimationStyles } from \"@chakra-ui/react\";\n\ntype AnimationStylesType = ReturnType<typeof defineAnimationStyles>;\n\nexport const animationStyles: AnimationStylesType = defineAnimationStyles({\n \"slide-fade-in\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n \"&[data-placement^=top]\": {\n animationName: \"slide-from-bottom, fade-in\",\n },\n \"&[data-placement^=bottom]\": {\n animationName: \"slide-from-top, fade-in\",\n },\n \"&[data-placement^=left]\": {\n animationName: \"slide-from-right, fade-in\",\n },\n \"&[data-placement^=right]\": {\n animationName: \"slide-from-left, fade-in\",\n },\n },\n },\n \"slide-fade-out\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n \"&[data-placement^=top]\": {\n animationName: \"slide-to-bottom, fade-out\",\n },\n \"&[data-placement^=bottom]\": {\n animationName: \"slide-to-top, fade-out\",\n },\n \"&[data-placement^=left]\": {\n animationName: \"slide-to-right, fade-out\",\n },\n \"&[data-placement^=right]\": {\n animationName: \"slide-to-left, fade-out\",\n },\n },\n },\n \"scale-fade-in\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n animationName: \"scale-in, fade-in\",\n },\n },\n \"scale-fade-out\": {\n value: {\n transformOrigin: \"var(--transform-origin)\",\n animationName: \"scale-out, fade-out\",\n },\n },\n});\n","import { themeTokens } from \"@commercetools/nimbus-tokens\";\n\ninterface BreakpointValue {\n value?: string;\n [key: string]: any;\n}\n\ninterface BreakpointsTokenObject {\n [key: string]: string | BreakpointValue;\n}\n\ninterface TransformedBreakpoints {\n [key: string]: string;\n}\n\nfunction transformBreakpoints(\n input: BreakpointsTokenObject\n): TransformedBreakpoints {\n const transformed: TransformedBreakpoints = {};\n\n for (const key in input) {\n if ((input[key] as BreakpointValue)?.value) {\n transformed[key] = (input[key] as BreakpointValue).value!;\n } else {\n transformed[key] = input[key] as string;\n }\n }\n\n return transformed;\n}\n\nexport const breakpoints = transformBreakpoints(themeTokens.breakpoints);\n","import { defineGlobalStyles } from \"@chakra-ui/react\";\n\nexport const globalCss = defineGlobalStyles({\n \"*\": {\n fontFeatureSettings:\n '\"liga\", \"calt\", \"case\", \"ss01\", \"ss07\", \"ss08\", \"tnum\"',\n \"--ring-inset\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--ring-offset-width\": \"0px\",\n \"--ring-offset-color\": \"#fff\",\n \"--ring-color\": \"rgba(66, 153, 225, 0.6)\",\n \"--ring-offset-shadow\": \"0 0 #0000\",\n \"--ring-shadow\": \"0 0 #0000\",\n \"--focus-ring-color\": \"colors.primary.7\",\n \"--brightness\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--contrast\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--grayscale\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--hue-rotate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--invert\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--saturate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--sepia\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--drop-shadow\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-blur\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-brightness\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-contrast\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-grayscale\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-hue-rotate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-invert\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-opacity\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-saturate\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--backdrop-sepia\": \"var(--chakra-empty,/*!*/ /*!*/)\",\n \"--global-font-mono\": \"fonts.mono\",\n \"--global-font-body\": \"fonts.body\",\n \"--global-color-border\": \"colors.border\",\n },\n /** 'liga' may replace 2 characters with a single one,\n * which causes differences in formatting when a monospace font is used.*/\n \"code *\": {\n fontFeatureSettings: '\"calt\", \"case\", \"ss01\", \"ss07\", \"ss08\", \"tnum\"',\n },\n html: {\n color: \"fg\",\n bg: \"bg\",\n lineHeight: \"1.5\",\n colorPalette: \"neutral\",\n },\n \"*::placeholder\": {\n color: \"fg.muted/80\",\n },\n \"*::selection\": {\n bg: \"colorPalette.9\",\n color: \"colorPalette.contrast\",\n },\n});\n","export const keyframes = {\n spin: {\n \"0%\": {\n transform: \"rotate(0deg)\",\n },\n \"100%\": {\n transform: \"rotate(360deg)\",\n },\n },\n pulse: {\n \"50%\": {\n opacity: \"0.5\",\n },\n },\n ping: {\n \"75%, 100%\": {\n transform: \"scale(2)\",\n opacity: \"0\",\n },\n },\n bounce: {\n \"0%, 100%\": {\n transform: \"translateY(-25%)\",\n animationTimingFunction: \"cubic-bezier(0.8,0,1,1)\",\n },\n \"50%\": {\n transform: \"none\",\n animationTimingFunction: \"cubic-bezier(0,0,0.2,1)\",\n },\n },\n\n \"fade-in\": {\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n },\n \"fade-out\": {\n from: {\n opacity: 1,\n },\n to: {\n opacity: 0,\n },\n },\n \"slide-from-left-full\": {\n from: {\n translate: \"-100% 0\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-from-right-full\": {\n from: {\n translate: \"100% 0\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-from-top-full\": {\n from: {\n translate: \"0 -100%\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-from-bottom-full\": {\n from: {\n translate: \"0 100%\",\n },\n to: {\n translate: \"0 0\",\n },\n },\n \"slide-to-left-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"-100% 0\",\n },\n },\n \"slide-to-right-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"100% 0\",\n },\n },\n \"slide-to-top-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"0 -100%\",\n },\n },\n \"slide-to-bottom-full\": {\n from: {\n translate: \"0 0\",\n },\n to: {\n translate: \"0 100%\",\n },\n },\n \"slide-from-top\": {\n \"0%\": {\n translate: \"0 -0.5rem\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-from-bottom\": {\n \"0%\": {\n translate: \"0 0.5rem\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-from-left\": {\n \"0%\": {\n translate: \"-0.5rem 0\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-from-right\": {\n \"0%\": {\n translate: \"0.5rem 0\",\n },\n to: {\n translate: \"0\",\n },\n },\n \"slide-to-top\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"0 -0.5rem\",\n },\n },\n \"slide-to-bottom\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"0 0.5rem\",\n },\n },\n \"slide-to-left\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"-0.5rem 0\",\n },\n },\n \"slide-to-right\": {\n \"0%\": {\n translate: \"0\",\n },\n to: {\n translate: \"0.5rem 0\",\n },\n },\n \"scale-in\": {\n from: {\n scale: \"0.95\",\n },\n to: {\n scale: \"1\",\n },\n },\n \"scale-out\": {\n from: {\n scale: \"1\",\n },\n to: {\n scale: \"0.95\",\n },\n },\n};\n","import { defineLayerStyles } from \"@chakra-ui/react\";\n\ntype LayerStylesType = ReturnType<typeof defineLayerStyles>;\n\nexport const layerStyles: LayerStylesType = defineLayerStyles({\n disabled: {\n value: {\n opacity: \"0.5\",\n cursor: \"not-allowed\",\n },\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const codeRecipe = defineRecipe({\n className: \"nimbus-code\",\n base: {\n fontFamily: \"mono\",\n alignItems: \"center\",\n display: \"inline-flex\",\n borderRadius: \"100\",\n },\n variants: {\n variant: {\n solid: {\n bg: \"colorPalette.4\",\n color: \"colorPalette.11\",\n },\n subtle: {\n bg: \"colorPalette.3\",\n color: \"colorPalette.11\",\n },\n outline: {\n color: \"colorPalette.fg\",\n shadow: \"inset 0 0 0px 1px var(--shadow-color)\",\n shadowColor: \"colorPalette.muted\",\n },\n surface: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n shadow: \"inset 0 0 0px 1px var(--shadow-color)\",\n shadowColor: \"colorPalette.muted\",\n },\n plain: {\n color: \"colorPalette.fg\",\n },\n },\n size: {\n xs: {\n textStyle: \"2xs\",\n px: \"100\",\n minH: \"400\",\n },\n sm: {\n textStyle: \"xs\",\n px: \"150\",\n minH: \"500\",\n },\n md: {\n textStyle: \"sm\",\n px: \"200\",\n minH: \"600\",\n },\n lg: {\n textStyle: \"sm\",\n px: \"250\",\n minH: \"700\",\n },\n },\n },\n defaultVariants: {\n variant: \"solid\",\n size: \"md\",\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const headingRecipe = defineRecipe({\n className: \"nimbus-heading\",\n base: {\n fontFamily: \"heading\",\n fontWeight: \"600\",\n },\n variants: {\n size: {\n xs: {\n textStyle: \"xs\",\n },\n sm: {\n textStyle: \"sm\",\n },\n md: {\n textStyle: \"md\",\n },\n lg: {\n textStyle: \"lg\",\n },\n xl: {\n textStyle: \"xl\",\n },\n \"2xl\": {\n textStyle: \"2xl\",\n },\n \"3xl\": {\n textStyle: \"3xl\",\n },\n \"4xl\": {\n textStyle: \"4xl\",\n },\n \"5xl\": {\n textStyle: \"5xl\",\n },\n \"6xl\": {\n textStyle: \"6xl\",\n },\n \"7xl\": {\n textStyle: \"7xl\",\n },\n },\n },\n defaultVariants: {\n size: \"xl\",\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\nexport const kbdRecipe = defineRecipe({\n className: \"nimbus-kbd\",\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n fontWeight: \"medium\",\n fontFamily: \"mono\",\n flexShrink: \"0\",\n whiteSpace: \"nowrap\",\n wordSpacing: \"-0.5em\",\n userSelect: \"none\",\n px: \"100\",\n borderRadius: \"100\",\n },\n variants: {\n variant: {\n raised: {\n bg: \"colorPalette.subtle\",\n color: \"colorPalette.fg\",\n borderWidth: \"1px\",\n borderBottomWidth: \"2px\",\n borderColor: \"colorPalette.muted\",\n },\n outline: {\n borderWidth: \"1px\",\n color: \"colorPalette.fg\",\n },\n subtle: {\n bg: \"colorPalette.muted\",\n color: \"colorPalette.fg\",\n },\n plain: {\n color: \"colorPalette.fg\",\n },\n },\n size: {\n sm: {\n textStyle: \"xs\",\n height: \"450\",\n },\n md: {\n textStyle: \"sm\",\n height: \"500\",\n },\n lg: {\n textStyle: \"md\",\n height: \"600\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"raised\",\n },\n});\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the TextInput component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const textInputRecipe = defineRecipe({\n // Unique class name prefix for the component\n className: \"nimbus-text-input\",\n\n // Base styles applied to all instances of the component\n base: {\n display: \"block\",\n borderRadius: \"200\",\n colorPalette: \"neutral\",\n focusVisibleRing: \"outside\",\n bg: \"transparent\",\n outline: \"none\",\n boxShadow: \"inset 0 0 0 var(--border-width) var(--border-color)\",\n _placeholder: {\n opacity: 0.5,\n color: \"currentColor\",\n },\n _disabled: {\n layerStyle: \"disabled\",\n },\n \"&[data-invalid='true']\": {\n \"--border-color\": \"colors.critical.7\",\n color: \"critical.11\",\n },\n },\n\n variants: {\n size: {\n sm: {\n h: 800,\n textStyle: \"sm\",\n px: 300,\n },\n md: {\n h: 1000,\n textStyle: \"md\",\n px: 400,\n },\n },\n\n variant: {\n solid: {\n \"--border-width\": \"sizes.25\",\n \"--border-color\": \"colors.neutral.7\",\n backgroundColor: \"neutral.1\",\n _hover: {\n backgroundColor: \"primary.2\",\n },\n },\n ghost: {\n _hover: {\n backgroundColor: \"primary.2\",\n },\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n variant: \"solid\",\n },\n});\n","import { avatarRecipe } from \"@/components/avatar/avatar.recipe\";\nimport { buttonRecipe } from \"@/components/button/button.recipe\";\nimport { codeRecipe } from \"@/components/code/code.recipe\";\nimport { headingRecipe } from \"@/components/heading/heading.recipe\";\n\nimport { kbdRecipe } from \"@/components/kbd/kbd.recipe\";\nimport { linkRecipe } from \"@/components/link/link.recipe\";\nimport { tooltipRecipe } from \"@/components/tooltip/tooltip.recipe\";\nimport { textInputRecipe } from \"@/components/text-input/text-input.recipe\";\n\nexport const recipes = {\n avatar: avatarRecipe,\n button: buttonRecipe,\n code: codeRecipe,\n heading: headingRecipe,\n kbd: kbdRecipe,\n link: linkRecipe,\n tooltip: tooltipRecipe,\n textInput: textInputRecipe,\n};\n","import { defineSemanticTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const colors = defineSemanticTokens.colors({\n bg: {\n DEFAULT: {\n value: {\n _light: \"{colors.neutral.1}\",\n _dark: \"{colors.neutral.1}\",\n },\n },\n },\n fg: {\n DEFAULT: {\n value: {\n _light: \"{colors.neutral.12}\",\n _dark: \"{colors.neutral.12}\",\n },\n },\n },\n border: {\n DEFAULT: {\n value: \"{colors.neutral.6}\",\n },\n muted: {\n value: \"{colors.neutral.7}\",\n },\n subtle: {\n value: \"{colors.neutral.6}\",\n },\n emphasized: {\n value: \"{colors.neutral.8}\",\n },\n inverted: {\n value: \"{colors.neutral.9}\",\n },\n critical: {\n value: \"{colors.critical.8}\",\n },\n warning: {\n value: \"{colors.warning.8}\",\n },\n positive: {\n value: \"{colors.positive.8}\",\n },\n info: {\n value: \"{colors.ingo.8}\",\n },\n },\n ...themeTokens.color[\"system-palettes\"],\n ...themeTokens.color[\"brand-palettes\"],\n ...themeTokens.color[\"semantic-palettes\"],\n});\n\nexport const darkColors = colors;\n","import { defineSemanticTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const shadows = defineSemanticTokens.shadows(themeTokens.shadow);\n","import { defineSemanticTokens } from \"@chakra-ui/react\";\n\nexport const radii = defineSemanticTokens.radii({});\n","import { colors } from \"./colors\";\nimport { shadows } from \"./shadows\";\nimport { radii } from \"./radii\";\n\nexport const semanticTokens = {\n colors,\n shadows,\n radii,\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const dialogSlotRecipe = defineSlotRecipe({\n slots: [\n \"trigger\",\n \"backdrop\",\n \"positioner\",\n \"content\",\n \"title\",\n \"description\",\n \"closeTrigger\",\n \"header\",\n \"body\",\n \"footer\",\n \"backdrop\",\n ],\n className: \"nimbus-dialog\",\n base: {\n backdrop: {\n bg: {\n _dark: \"bg/50\",\n _light: \"fg/50\",\n },\n pos: \"fixed\",\n left: 0,\n top: 0,\n w: \"100vw\",\n h: \"100dvh\",\n zIndex: \"modal\",\n _open: {\n animationName: \"fade-in\",\n animationDuration: \"slow\",\n },\n _closed: {\n animationName: \"fade-out\",\n animationDuration: \"moderate\",\n },\n },\n positioner: {\n display: \"flex\",\n width: \"100vw\",\n height: \"100dvh\",\n position: \"fixed\",\n left: 0,\n top: 0,\n \"--dialog-z-index\": \"zIndex.modal\",\n zIndex: \"calc(var(--dialog-z-index) + var(--layer-index, 0))\",\n justifyContent: \"center\",\n overscrollBehaviorY: \"none\",\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n width: \"100%\",\n outline: 0,\n borderRadius: \"200\",\n textStyle: \"sm\",\n my: \"var(--dialog-margin, var(--dialog-base-margin))\",\n \"--dialog-z-index\": \"zIndex.modal\",\n zIndex: \"calc(var(--dialog-z-index) + var(--layer-index, 0))\",\n bg: \"bg\",\n boxShadow: \"lg\",\n _open: {\n animationDuration: \"moderate\",\n },\n _closed: {\n animationDuration: \"faster\",\n },\n },\n header: {\n flex: 0,\n px: \"600\",\n pt: \"600\",\n pb: \"400\",\n },\n body: {\n flex: \"1\",\n px: \"600\",\n pt: \"200\",\n pb: \"600\",\n },\n footer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: \"300\",\n px: \"600\",\n pt: \"200\",\n pb: \"400\",\n },\n title: {\n textStyle: \"lg\",\n fontWeight: \"semibold\",\n },\n description: {\n color: \"fg.muted\",\n },\n },\n variants: {\n placement: {\n center: {\n positioner: {\n alignItems: \"center\",\n },\n content: {\n \"--dialog-base-margin\": \"auto\",\n mx: \"auto\",\n },\n },\n top: {\n positioner: {\n alignItems: \"flex-start\",\n },\n content: {\n \"--dialog-base-margin\": \"spacing.1600\",\n mx: \"auto\",\n },\n },\n bottom: {\n positioner: {\n alignItems: \"flex-end\",\n },\n content: {\n \"--dialog-base-margin\": \"spacing.1600\",\n mx: \"auto\",\n },\n },\n },\n scrollBehavior: {\n inside: {\n positioner: {\n overflow: \"hidden\",\n },\n content: {\n maxH: \"calc(100% - 7.5rem)\",\n },\n body: {\n overflow: \"auto\",\n },\n },\n outside: {\n positioner: {\n overflow: \"auto\",\n pointerEvents: \"auto\",\n },\n },\n },\n size: {\n xs: {\n content: {\n maxW: \"sm\",\n },\n },\n sm: {\n content: {\n maxW: \"md\",\n },\n },\n md: {\n content: {\n maxW: \"lg\",\n },\n },\n lg: {\n content: {\n maxW: \"2xl\",\n },\n },\n xl: {\n content: {\n maxW: \"4xl\",\n },\n },\n cover: {\n positioner: {\n padding: \"1000\",\n },\n content: {\n width: \"100%\",\n height: \"100%\",\n \"--dialog-margin\": \"0\",\n },\n },\n full: {\n content: {\n maxW: \"100vw\",\n minH: \"100vh\",\n \"--dialog-margin\": \"0\",\n borderRadius: \"0\",\n },\n },\n },\n motionPreset: {\n scale: {\n content: {\n _open: {\n animationName: \"scale-in, fade-in\",\n },\n _closed: {\n animationName: \"scale-out, fade-out\",\n },\n },\n },\n \"slide-in-bottom\": {\n content: {\n _open: {\n animationName: \"slide-from-bottom, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-bottom, fade-out\",\n },\n },\n },\n \"slide-in-top\": {\n content: {\n _open: {\n animationName: \"slide-from-top, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-top, fade-out\",\n },\n },\n },\n \"slide-in-left\": {\n content: {\n _open: {\n animationName: \"slide-from-left, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-left, fade-out\",\n },\n },\n },\n \"slide-in-right\": {\n content: {\n _open: {\n animationName: \"slide-from-right, fade-in\",\n },\n _closed: {\n animationName: \"slide-to-right, fade-out\",\n },\n },\n },\n none: {},\n },\n },\n defaultVariants: {\n size: \"md\",\n scrollBehavior: \"outside\",\n placement: \"top\",\n motionPreset: \"scale\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const listSlotRecipe = defineSlotRecipe({\n className: \"chakra-list\",\n slots: [\"root\", \"item\", \"indicator\"],\n base: {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--list-gap)\",\n \"& :where(ul, ol)\": {\n marginTop: \"var(--list-gap)\",\n },\n },\n item: {\n whiteSpace: \"normal\",\n display: \"list-item\",\n },\n indicator: {\n marginEnd: \"200\",\n minHeight: \"1lh\",\n flexShrink: 0,\n display: \"inline-block\",\n verticalAlign: \"middle\",\n },\n },\n variants: {\n variant: {\n marker: {\n root: {\n listStyle: \"revert\",\n listStylePosition: \"inside\",\n },\n item: {\n _marker: {\n color: \"fg.subtle\",\n },\n },\n },\n plain: {\n item: {\n alignItems: \"flex-start\",\n display: \"inline-flex\",\n },\n },\n },\n align: {\n center: {\n item: {\n alignItems: \"center\",\n },\n },\n start: {\n item: {\n alignItems: \"flex-start\",\n },\n },\n end: {\n item: {\n alignItems: \"flex-end\",\n },\n },\n },\n },\n defaultVariants: {\n variant: \"marker\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const tableSlotRecipe = defineSlotRecipe({\n className: \"chakra-table\",\n slots: [\n \"root\",\n \"header\",\n \"body\",\n \"row\",\n \"columnHeader\",\n \"cell\",\n \"footer\",\n \"caption\",\n ],\n base: {\n root: {\n fontVariantNumeric: \"lining-nums tabular-nums\",\n borderCollapse: \"collapse\",\n width: \"full\",\n textAlign: \"start\",\n verticalAlign: \"top\",\n },\n row: {\n _selected: {\n bg: \"colorPalette.subtle\",\n },\n },\n cell: {\n textAlign: \"start\",\n alignItems: \"center\",\n },\n columnHeader: {\n fontWeight: \"medium\",\n textAlign: \"start\",\n color: \"fg\",\n },\n caption: {\n fontWeight: \"medium\",\n textStyle: \"xs\",\n },\n footer: {\n fontWeight: \"medium\",\n },\n },\n variants: {\n interactive: {\n true: {\n body: {\n \"& tr\": {\n _hover: {\n bg: \"colorPalette.subtle\",\n },\n },\n },\n },\n },\n stickyHeader: {\n true: {\n header: {\n \"& :where(tr)\": {\n top: \"var(--table-sticky-offset, 0)\",\n position: \"sticky\",\n zIndex: 1,\n },\n },\n },\n },\n striped: {\n true: {\n row: {\n \"&:nth-of-type(odd) td\": {\n bg: \"bg.muted\",\n },\n },\n },\n },\n showColumnBorder: {\n true: {\n columnHeader: {\n \"&:not(:last-of-type)\": {\n borderInlineEndWidth: \"1px\",\n },\n },\n cell: {\n \"&:not(:last-of-type)\": {\n borderInlineEndWidth: \"1px\",\n },\n },\n },\n },\n variant: {\n line: {\n columnHeader: {\n borderBottomWidth: \"1px\",\n },\n cell: {\n borderBottomWidth: \"1px\",\n },\n row: {\n bg: \"bg\",\n },\n },\n outline: {\n root: {\n boxShadow: \"0 0 0 1px {colors.border}\",\n overflow: \"hidden\",\n },\n columnHeader: {\n borderBottomWidth: \"1px\",\n },\n header: {\n bg: \"bg.muted\",\n },\n row: {\n \"&:not(:last-of-type)\": {\n borderBottomWidth: \"1px\",\n },\n },\n footer: {\n borderTopWidth: \"1px\",\n },\n },\n },\n size: {\n sm: {\n root: {\n textStyle: \"sm\",\n },\n columnHeader: {\n px: \"200\",\n py: \"200\",\n },\n cell: {\n px: \"200\",\n py: \"200\",\n },\n },\n md: {\n root: {\n textStyle: \"sm\",\n },\n columnHeader: {\n px: \"300\",\n py: \"300\",\n },\n cell: {\n px: \"300\",\n py: \"300\",\n },\n },\n lg: {\n root: {\n textStyle: \"md\",\n },\n columnHeader: {\n px: \"400\",\n py: \"300\",\n },\n cell: {\n px: \"400\",\n py: \"300\",\n },\n },\n },\n },\n defaultVariants: {\n variant: \"line\",\n size: \"md\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Checkbox component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const checkboxSlotRecipe = defineSlotRecipe({\n slots: [\"root\", \"label\", \"indicator\"],\n // Unique class name prefix for the component\n className: \"nimbus-checkbox\",\n\n base: {\n root: {\n colorPalette: \"primary\",\n display: \"inline-flex\",\n gap: \"200\",\n alignItems: \"center\",\n verticalAlign: \"top\",\n minWidth: \"600\",\n minHeight: \"600\",\n\n [\"&[data-disabled='true']\"]: {\n layerStyle: \"disabled\",\n },\n },\n label: {\n flexShrink: 0,\n userSelect: \"none\",\n color: \"neutral.11\",\n\n [\"&[data-invalid='true']\"]: {\n color: \"critical.11\",\n },\n },\n indicator: {\n position: \"relative\",\n display: \"flex\",\n flexShrink: 0,\n alignItems: \"center\",\n justifyContent: \"center\",\n border: \"solid-50\",\n borderRadius: \"50\",\n focusRing: \"outside\",\n borderColor: \"neutral.9\",\n bg: \"transparent\",\n color: \"neutral.11\",\n\n _icon: {\n w: \"350\",\n h: \"350\",\n },\n\n \"&:hover\": {\n borderColor: \"neutral.10\",\n },\n\n [\"&[data-invalid='true']\"]: {\n bg: \"transparent\",\n borderColor: \"critical.9\",\n color: \"critical.11\",\n\n \"&:hover\": {\n borderColor: \"critical.10\",\n },\n },\n\n [\"&[data-selected='true'], &[data-indeterminate='true']\"]: {\n bg: \"colorPalette.9\",\n borderColor: \"colorPalette.9\",\n color: \"colorPalette.contrast\",\n\n \"&:hover\": {\n bg: \"colorPalette.10\",\n borderColor: \"colorPalette.10\",\n },\n\n \"&[data-invalid='true']\": {\n bg: \"critical.9\",\n borderColor: \"critical.9\",\n color: \"critical.contrast\",\n\n \"&:hover\": {\n bg: \"critical.10\",\n borderColor: \"critical.10\",\n },\n },\n },\n },\n },\n variants: {\n size: {\n md: {\n label: {\n fontSize: \"350\",\n fontWeight: \"400\",\n lineHeight: \"400\",\n },\n indicator: {\n w: \"400\",\n h: \"400\",\n zIndex: 1,\n _after: {\n position: \"absolute\",\n content: \"''\",\n width: \"600\",\n height: \"600\",\n zIndex: 0,\n },\n },\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Select component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const selectSlotRecipe = defineSlotRecipe({\n slots: [\n \"root\",\n \"trigger\",\n \"triggerLabel\",\n \"options\",\n \"optionGroup\",\n \"option\",\n ],\n // Unique class name prefix for the component\n className: \"nimbus-select\",\n\n // Base styles applied to all instances of the component\n base: {\n // RA <Select>\n root: {\n colorPalette: \"primary\",\n display: \"inline-block\",\n position: \"relative\",\n maxWidth: \"100%\",\n borderRadius: \"200\",\n // [data-focused]\n // [data-focus-visible]\n // [data-open]\n // [data-invalid]\n // [data-required]\n \"&[data-disabled]\": {\n layerStyle: \"disabled\",\n pointerEvents: \"none\",\n },\n },\n trigger: {\n cursor: \"button\",\n display: \"inline-flex\",\n focusRing: \"outside\",\n alignItems: \"flex-start\",\n borderRadius: \"200\",\n color: \"neutral.12\",\n width: \"100%\",\n userSelect: \"none\",\n boxShadow: \"inset 0 0 0 var(--border-width) var(--border-color)\",\n\n \"& span\": {\n display: \"inline-block\",\n my: \"auto\",\n },\n '& [slot=\"description\"]': {\n display: \"none\",\n },\n\n \"[data-invalid] &\": {\n \"--border-width\": \"sizes.50\",\n \"--border-color\": \"colors.critical.7\",\n },\n\n // [data-hovered]\n // [data-pressed]\n // [data-focused]\n // [data-focus-visible]\n // [data-disabled]\n // [data-pending]\n },\n triggerLabel: {\n // *Magic*\n // the trigger-label defines the overall width of the select,\n // but since we position 2 buttons/icons next to it, we need to account for\n // their width as well and reserve some space for them\n // = label-button-gap + button-size + icon-size\n // = 8px + 24px + 24px\n // = 56px * 25 = 1400 token\n \"--button-safespace\": \"sizes.1400\",\n color: \"neutral.12\",\n textAlign: \"left\",\n marginRight: \"var(--button-safespace)\",\n maxWidth: \"100%\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n\n \"&[data-placeholder]\": {\n opacity: 0.5,\n },\n \"[data-invalid] &\": {\n color: \"critical.11\",\n },\n },\n // Popover\n options: {\n \"--scrollbar-color\": \"colors.neutral.8\",\n \"--scrollbar-bg\": \"colors.neutral.3\",\n\n bg: \"bg\",\n borderRadius: \"200\",\n boxShadow: \"5\",\n minWidth: \"var(--trigger-width)\",\n p: \"200\",\n focusRing: \"outside\",\n maxHeight: \"40svh\",\n overflowY: \"auto\",\n scrollbarWidth: \"thin\",\n scrollbarColor: \"var(--scrollbar-color) var(--scrollbar-bg)\",\n // [data-trigger=\"...\"]\n // [data-placement=\"left | right | top | bottom\"]\n // [data-entering]\n // [data-exiting]\n },\n // Option group header\n optionGroup: {\n textStyle: \"xs\",\n color: \"neutral.11\",\n fontWeight: \"600\",\n lineHeight: \"350\",\n letterSpacing: \"25\",\n textTransform: \"uppercase\",\n p: \"200\",\n borderBottom: \"solid-25\",\n borderColor: \"neutral.6\",\n mx: \"-200\",\n mt: \"200\",\n mb: \"300\",\n },\n // ListBoxItem\n option: {\n focusRing: \"outside\",\n cursor: \"menuitem\",\n color: \"neutral.12\",\n textStyle: \"sm\",\n p: \"200\",\n borderRadius: \"200\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n\n '&[aria-selected=\"true\"], &[data-focused=\"true\"]': {\n bg: \"primary.4\",\n },\n\n '& [slot=\"label\"]': {\n display: \"block\",\n },\n\n '& [slot=\"description\"]': {\n display: \"block\",\n color: \"neutral.11\",\n textStyle: \"xs\",\n },\n\n '&[data-disabled=\"true\"]': {\n layerStyle: \"disabled\",\n },\n },\n },\n\n // Available variants for customizing the component's appearance\n variants: {\n // Size variants from smallest to largest\n size: {\n sm: {\n root: {},\n trigger: {\n h: \"800\",\n px: \"400\",\n textStyle: \"sm\",\n },\n },\n md: {\n root: {},\n trigger: {\n h: \"1000\",\n px: \"400\",\n textStyle: \"md\",\n },\n }, // Medium\n },\n\n // Visual style variants\n variant: {\n outline: {\n root: {\n bg: \"bg\",\n \"&:hover\": {\n bg: \"primary.2\",\n },\n },\n trigger: {\n \"--border-width\": \"sizes.25\",\n \"--border-color\": \"colors.neutral.7\",\n },\n },\n ghost: {\n root: {\n bg: \"transparent\",\n \"&:hover\": {\n bg: \"primaryAlpha.2\",\n },\n },\n trigger: {\n \"--border-width\": \"sizes.25\",\n \"--border-color\": \"transparent\",\n },\n },\n },\n },\n\n // Default variant values when not explicitly specified\n defaultVariants: {\n size: \"md\",\n variant: \"outline\",\n },\n});\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Accordion component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const accordionSlotRecipe = defineSlotRecipe({\n slots: [\n \"root\",\n \"disclosure\",\n \"trigger\",\n \"panel\",\n \"accordionTitle\",\n \"headerContentRight\",\n ],\n // Unique class name prefix for the component\n className: \"nimbus-accordion\",\n\n base: {\n root: {\n width: \"100%\",\n },\n disclosure: {\n width: \"100%\",\n },\n trigger: {\n fontSize: \"var(--font-size)\",\n focusVisibleRing: \"outside\",\n minHeight: \"1200\",\n bg: \"none\",\n flexGrow: 1,\n display: \"flex\",\n alignItems: \"center\",\n gap: \"8px\",\n width: \"auto\",\n \"& svg\": {\n width: \"var(--width)\",\n height: \"var(--height)\",\n rotate: \"0deg\",\n transition: \"rotate 200ms\",\n },\n '&[aria-expanded=\"true\"] svg': {\n rotate: \"90deg\",\n },\n \"&[disabled]\": {\n layerStyle: \"disabled\",\n },\n },\n panel: {\n paddingTop: \"var(--padding-top)\",\n paddingBottom: \"var(--padding-bottom)\",\n paddingLeft: \"var(--padding-left)\",\n '&[aria-hidden=\"true\"]': {\n display: \"none\",\n },\n },\n accordionTitle: {\n fontWeight: \"700\",\n },\n },\n\n variants: {\n size: {\n md: {\n trigger: {\n \"--font-size\": \"fontSizes.500\",\n \"& svg\": {\n \"--width\": \"sizes.600\",\n \"--height\": \"sizes.600\",\n },\n },\n panel: {\n \"--padding-top\": \"spacing.600\",\n \"--padding-bottom\": \"spacing.800\",\n \"--padding-left\": \"spacing.800\",\n },\n },\n sm: {\n trigger: {\n \"--font-size\": \"fontSizes.400\",\n \"& svg\": {\n \"--width\": \"sizes.500\",\n \"--height\": \"sizes.500\",\n },\n },\n panel: {\n \"--padding-top\": \"spacing.400\",\n \"--padding-bottom\": \"spacing.600\",\n \"--padding-left\": \"spacing.700\",\n },\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { dialogSlotRecipe } from \"@/components/dialog/dialog.recipe\";\nimport { listSlotRecipe } from \"@/components/list/list.recipe\";\nimport { tableSlotRecipe } from \"@/components/table/table.recipe\";\nimport { checkboxSlotRecipe } from \"@/components/checkbox/checkbox.recipe\";\nimport { selectSlotRecipe } from \"@/components/select/select.recipe\";\nimport { accordionSlotRecipe } from \"@/components/accordion/accordion.recipe\";\n\nexport const slotRecipes = {\n dialog: dialogSlotRecipe,\n list: listSlotRecipe,\n table: tableSlotRecipe,\n checkbox: checkboxSlotRecipe,\n select: selectSlotRecipe,\n accordion: accordionSlotRecipe,\n};\n","import { defineTextStyles } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\ntype TextStylesType = ReturnType<typeof defineTextStyles>;\n\nexport const textStyles: TextStylesType = defineTextStyles(\n themeTokens.textStyle\n);\n","import { defineTokens } from \"@chakra-ui/react\";\n\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const aspectRatios = defineTokens.durations(themeTokens.aspectRatio);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const animations = defineTokens.animations(themeTokens.animation);\n","import { defineTokens } from \"@chakra-ui/react\";\n\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const blurs = defineTokens.blurs(themeTokens.blur);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const borders = defineTokens.borders(themeTokens.border);\n","import { themeTokens } from \"@commercetools/nimbus-tokens\";\nimport { defineTokens } from \"@chakra-ui/react\";\n\nexport const colors = defineTokens.colors({\n ...themeTokens.color[\"blacks-and-whites\"],\n});\n\nexport const darkColors = colors;\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const durations = defineTokens.durations(themeTokens.duration);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const easings = defineTokens.easings(themeTokens.easing);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const fonts = defineTokens.fonts(themeTokens.fontFamily);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const fontSizes = defineTokens.fontSizes(themeTokens.fontSize);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const fontWeights = defineTokens.fontWeights(themeTokens.fontWeight);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\n// convert token percentage values (needed by figma) to em values (needded by code)\n// todo: fix this in the token build process\nconst convertPercentToEm = (\n obj: Record<string, { value: string }>\n): Record<string, { value: string }> => {\n return Object.keys(obj).reduce(\n (acc, key) => {\n // Remove '%' and divide by 100 to convert to em\n const percentage = parseFloat(obj[key].value);\n const emValue = percentage / 100; // 1% = 0.01em, 100% = 1em\n // Update the object with the new em value\n acc[key] = { value: `${emValue}em` };\n return acc;\n },\n {} as Record<string, { value: string }>\n );\n};\n\nexport const letterSpacings = defineTokens.letterSpacings(\n convertPercentToEm(themeTokens.letterSpacing)\n);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const lineHeights = defineTokens.lineHeights(themeTokens.lineHeight);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const radii = defineTokens.radii(themeTokens.borderRadius);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const spacing = defineTokens.spacing(themeTokens.spacing);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const sizes = defineTokens.sizes({\n ...themeTokens.size,\n \"1/2\": {\n value: \"50%\",\n },\n \"1/3\": {\n value: \"33.333333%\",\n },\n \"2/3\": {\n value: \"66.666667%\",\n },\n \"1/4\": {\n value: \"25%\",\n },\n \"3/4\": {\n value: \"75%\",\n },\n \"1/5\": {\n value: \"20%\",\n },\n \"2/5\": {\n value: \"40%\",\n },\n \"3/5\": {\n value: \"60%\",\n },\n \"4/5\": {\n value: \"80%\",\n },\n \"1/6\": {\n value: \"16.666667%\",\n },\n \"2/6\": {\n value: \"33.333333%\",\n },\n \"3/6\": {\n value: \"50%\",\n },\n \"4/6\": {\n value: \"66.666667%\",\n },\n \"5/6\": {\n value: \"83.333333%\",\n },\n \"1/12\": {\n value: \"8.333333%\",\n },\n \"2/12\": {\n value: \"16.666667%\",\n },\n \"3/12\": {\n value: \"25%\",\n },\n \"4/12\": {\n value: \"33.333333%\",\n },\n \"5/12\": {\n value: \"41.666667%\",\n },\n \"6/12\": {\n value: \"50%\",\n },\n \"7/12\": {\n value: \"58.333333%\",\n },\n \"8/12\": {\n value: \"66.666667%\",\n },\n \"9/12\": {\n value: \"75%\",\n },\n \"10/12\": {\n value: \"83.333333%\",\n },\n \"11/12\": {\n value: \"91.666667%\",\n },\n max: {\n value: \"max-content\",\n },\n min: {\n value: \"min-content\",\n },\n fit: {\n value: \"fit-content\",\n },\n prose: {\n value: \"60ch\",\n },\n full: {\n value: \"100%\",\n },\n dvh: {\n value: \"100dvh\",\n },\n svh: {\n value: \"100svh\",\n },\n lvh: {\n value: \"100lvh\",\n },\n dvw: {\n value: \"100dvw\",\n },\n svw: {\n value: \"100svw\",\n },\n lvw: {\n value: \"100lvw\",\n },\n vw: {\n value: \"100vw\",\n },\n vh: {\n value: \"100vh\",\n },\n});\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const zIndex = defineTokens.zIndex(themeTokens.zIndex);\n","import { defineTokens } from \"@chakra-ui/react\";\nimport { themeTokens } from \"@commercetools/nimbus-tokens\";\n\nexport const cursor = defineTokens.cursor(themeTokens.cursor);\n","import { aspectRatios } from \"./aspect-ratios\";\nimport { animations } from \"./animations\";\nimport { blurs } from \"./blurs\";\nimport { borders } from \"./borders\";\nimport { colors, darkColors } from \"./colors\";\nimport { durations } from \"./durations\";\nimport { easings } from \"./easings\";\nimport { fonts } from \"./fonts\";\nimport { fontSizes } from \"./font-sizes\";\nimport { fontWeights } from \"./font-weights\";\nimport { letterSpacings } from \"./letter-spacings\";\nimport { lineHeights } from \"./line-heights\";\nimport { radii } from \"./radii\";\nimport { spacing } from \"./spacing\";\nimport { sizes } from \"./sizes\";\nimport { zIndex } from \"./z-index\";\nimport { cursor } from \"./cursor\";\n\nexport const tokens = {\n aspectRatios,\n animations,\n blurs,\n borders,\n colors,\n durations,\n easings,\n fonts,\n fontSizes,\n fontWeights,\n letterSpacings,\n lineHeights,\n radii,\n spacing,\n sizes,\n zIndex,\n cursor,\n};\n\nexport const darkTokens = {\n aspectRatios,\n animations,\n blurs,\n borders,\n colors: darkColors,\n durations,\n easings,\n fonts,\n fontSizes,\n fontWeights,\n letterSpacings,\n lineHeights,\n radii,\n spacing,\n sizes,\n zIndex,\n cursor,\n};\n","import {\n createSystem,\n defaultBaseConfig,\n defineConfig,\n} from \"@chakra-ui/react\";\nimport { animationStyles } from \"./animation-styles\";\nimport { breakpoints } from \"./breakpoints\";\nimport { globalCss } from \"./global-css\";\nimport { keyframes } from \"./keyframes\";\nimport { layerStyles } from \"./layer-styles\";\nimport { recipes } from \"./recipes\";\nimport { semanticTokens } from \"./semantic-tokens\";\nimport { slotRecipes } from \"./slot-recipes\";\nimport { textStyles } from \"./text-styles\";\nimport { tokens } from \"./tokens\";\n\nconst themeConfig = defineConfig({\n preflight: true,\n cssVarsPrefix: \"nimbus\",\n cssVarsRoot: \":where(:root, :host)\",\n globalCss,\n theme: {\n breakpoints,\n keyframes,\n tokens,\n semanticTokens,\n recipes,\n slotRecipes,\n textStyles,\n layerStyles,\n animationStyles,\n },\n});\n\nexport const system = createSystem(defaultBaseConfig, themeConfig);\n","\"use client\";\n\nimport {\n ChakraProvider,\n // defaultSystem as defaultSystemChakra,\n} from \"@chakra-ui/react\";\nimport { ColorModeProvider, type ColorModeProviderProps } from \"./color-mode\";\nimport { system } from \"../../theme\";\n\nexport function NimbusProvider({ children, ...props }: ColorModeProviderProps) {\n return (\n <ChakraProvider value={system}>\n <ColorModeProvider enableSystem={false} {...props}>\n <>{children}</>\n </ColorModeProvider>\n </ChakraProvider>\n );\n}\n","import { defaultSystem } from \"@chakra-ui/react\";\n\n/**\n * Extracts chakra-ui style-props from an object, separating them from other props\n * @param props The props object to separate\n * @returns A tuple containing [styleProps, otherProps]\n */\nexport function extractStyleProps<T extends object>(\n props: T\n): [Record<string, unknown>, Omit<T, string>] {\n const styleProps: Record<string, unknown> = {};\n const otherProps = { ...props } as Record<string, unknown>;\n\n // Process only own properties\n Object.keys(props).forEach((key) => {\n if (\n Object.prototype.hasOwnProperty.call(props, key) &&\n defaultSystem.isValidProperty(key)\n ) {\n styleProps[key] = props[key as keyof T];\n delete otherProps[key];\n }\n });\n\n return [styleProps, otherProps as Omit<T, string>];\n}\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react\";\nimport { checkboxSlotRecipe } from \"./checkbox.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"checkbox\",\n});\n\nexport interface CheckboxRootProps\n extends HTMLChakraProps<\n \"label\",\n RecipeVariantProps<typeof checkboxSlotRecipe>\n > {}\nexport const CheckboxRoot = withProvider<HTMLLabelElement, CheckboxRootProps>(\n \"label\",\n \"root\"\n);\n\ninterface CheckboxLabelProps extends HTMLChakraProps<\"span\"> {}\nexport const CheckboxLabel = withContext<HTMLSpanElement, CheckboxLabelProps>(\n \"span\",\n \"label\"\n);\n\ninterface ChekcboxIndicatorProps extends HTMLChakraProps<\"span\"> {}\nexport const CheckboxIndicator = withContext<\n HTMLSpanElement,\n ChekcboxIndicatorProps\n>(\"span\", \"indicator\");\n","import { forwardRef, useRef } from \"react\";\nimport { useToggleState } from \"react-stately\";\nimport { useSlotRecipe } from \"@chakra-ui/react\";\nimport { VisuallyHidden } from \"@/components\";\nimport { Check, Remove as Minus } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nimport {\n useFocusRing,\n useCheckbox,\n useObjectRef,\n mergeProps,\n} from \"react-aria\";\n\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport type { CheckboxProps } from \"./checkbox.types\";\nimport {\n CheckboxIndicator,\n CheckboxRoot,\n CheckboxLabel,\n} from \"./checkbox.slots\";\n\n/**\n * Checkbox\n * ============================================================\n * displays a checkbox and an associated label\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLDivElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)\n */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (props, forwardedRef) => {\n const localRef = useRef<HTMLInputElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n const recipe = useSlotRecipe({ key: \"checkbox\" });\n const [recipeProps] = recipe.splitVariantProps(props);\n\n const [styleProps, restProps] = extractStyleProps(props);\n\n const state = useToggleState(props);\n const { inputProps } = useCheckbox(restProps, state, ref);\n\n const { isFocused, focusProps } = useFocusRing();\n const isSelected = state.isSelected && !props.isIndeterminate;\n const isIndeterminate = props.isIndeterminate;\n\n const stateProps = {\n \"data-selected\": isSelected,\n \"data-indeterminate\": isIndeterminate,\n \"data-invalid\": props.isInvalid,\n \"data-disabled\": props.isDisabled,\n \"data-focus\": isFocused || undefined,\n };\n\n return (\n <CheckboxRoot\n data-slot=\"root\"\n {...recipeProps}\n {...stateProps}\n {...styleProps}\n >\n <CheckboxIndicator data-slot=\"indicator\" {...stateProps}>\n {isSelected && <Check />}\n {isIndeterminate && <Minus />}\n <VisuallyHidden as=\"span\">\n <input {...mergeProps(inputProps, focusProps)} ref={ref} />\n </VisuallyHidden>\n </CheckboxIndicator>\n\n {props.children && (\n <CheckboxLabel data-slot=\"label\" {...stateProps}>\n {props.children}\n </CheckboxLabel>\n )}\n </CheckboxRoot>\n );\n }\n);\nCheckbox.displayName = \"Checkbox\";\n","import { forwardRef } from \"react\";\nimport {\n Stack as ChakraStack,\n type StackProps as ChakraStackProps,\n} from \"@chakra-ui/react\";\n\nexport interface StackProps extends ChakraStackProps {\n children?: React.ReactNode;\n}\n\nexport const Stack = forwardRef<HTMLDivElement, StackProps>((props, ref) => {\n return <ChakraStack ref={ref} {...props} />;\n});\n\nStack.displayName = \"Stack\";\n","import {\n VisuallyHidden as ReactAriaViusallyHidden,\n type VisuallyHiddenProps as ReactAriaVisuallyHiddenProps,\n} from \"react-aria\";\n\nexport interface VisuallyHiddenProps\n extends Omit<ReactAriaVisuallyHiddenProps, \"elementType\"> {\n /** specifies the element type to render, use `span` for inline content\n * and `div` for block content */\n as?: \"span\" | \"div\";\n}\n\nexport const VisuallyHidden = (props: VisuallyHiddenProps) => {\n const { as = \"div\", ...leftoverProps } = props;\n return <ReactAriaViusallyHidden elementType={as} {...leftoverProps} />;\n};\n\nVisuallyHidden.displayName = \"VisuallyHidden\";\n","import {\n type HTMLChakraProps,\n type RecipeVariantProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { textInputRecipe } from \"./text-input.recipe\";\n\nexport interface TextInputRecipeProps\n extends RecipeVariantProps<typeof textInputRecipe>,\n UnstyledProp {}\n\nexport type TextInputRootProps = HTMLChakraProps<\"input\", TextInputRecipeProps>;\n\nconst { withContext } = createRecipeContext({ recipe: textInputRecipe });\n\n/**\n * Root component that provides the styling context for the TextInput component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TextInputRoot = withContext<HTMLInputElement, TextInputRootProps>(\n \"input\"\n);\n","import { forwardRef, useRef } from \"react\";\nimport { TextInputRoot } from \"./text-input.slots\";\nimport type { TextInputProps } from \"./text-input.types\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs, useRecipe } from \"@chakra-ui/react\";\nimport { textInputRecipe } from \"./text-input.recipe\";\nimport { TextField, Input } from \"react-aria-components\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\n/**\n * TextInput\n * ============================================================\n * An input component that takes in a text as input\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLInputElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n */\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n (props, forwardedRef) => {\n const localRef = useRef<HTMLInputElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n const recipe = useRecipe({ recipe: textInputRecipe });\n const [recipeProps, leftOverProps] = recipe.splitVariantProps(props);\n const [styleProps, textfieldProps] = extractStyleProps(leftOverProps);\n\n return (\n <TextField {...textfieldProps}>\n <TextInputRoot ref={ref} {...recipeProps} {...styleProps} asChild>\n <Input />\n </TextInputRoot>\n </TextField>\n );\n }\n);\nTextInput.displayName = \"TextInput\";\n","import { forwardRef } from \"react\";\nimport {\n Grid as ChakraGrid,\n GridItem,\n type GridProps as ChakraGridProps,\n} from \"@chakra-ui/react\";\n\n/**\n * Grid\n * ============================================================\n * The Grid Layout Component provides a flexible and responsive way to structure content using a two-dimensional grid system. It allows elements to be arranged in rows and columns, enabling dynamic and efficient layouts for different screen sizes.\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n */\nexport interface GridProps extends ChakraGridProps {\n children?: React.ReactNode;\n}\n\nconst GridComponent = forwardRef<HTMLDivElement, GridProps>((props, ref) => {\n return <ChakraGrid ref={ref} {...props} />;\n});\n\nGridComponent.displayName = \"Grid\";\n\nexport const Grid = Object.assign(GridComponent, {\n Item: GridItem,\n});\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react\";\nimport { selectSlotRecipe } from \"./select.recipe\";\nimport { type SelectProps as RaSelectProps } from \"react-aria-components\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"select\",\n});\n\n// Select\nexport interface SelectRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof selectSlotRecipe> & RaSelectProps<object>\n > {}\nexport const SelectRootSlot = withProvider<HTMLDivElement, SelectRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Trigger Button\nexport interface SelectTriggerSlotProps extends HTMLChakraProps<\"button\"> {}\nexport const SelectTriggerSlot = withContext<\n HTMLButtonElement,\n SelectTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Trigger Button Label\nexport interface SelectTriggerLabelSlotProps extends HTMLChakraProps<\"span\"> {}\nexport const SelectTriggerLabelSlot = withContext<\n HTMLButtonElement,\n SelectTriggerLabelSlotProps\n>(\"span\", \"triggerLabel\");\n\n// ListBox\nexport interface SelectOptionsSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionsSlot = withContext<\n HTMLDivElement,\n SelectOptionsSlotProps\n>(\"div\", \"options\");\n\n// ListBoxItem\nexport interface SelectOptionSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionSlot = withContext<\n HTMLDivElement,\n SelectOptionSlotProps\n>(\"div\", \"option\");\n\n// OptionGroup\nexport interface SelectOptionGroupSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const SelectOptionGroupSlot = withContext<\n HTMLDivElement,\n SelectOptionGroupSlotProps\n>(\"div\", \"optionGroup\");\n","import { useContext } from \"react\";\nimport { Close as CloseIcon } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"@/components\";\nimport { SelectStateContext } from \"react-aria-components\";\n\nexport const SelectClearButton = () => {\n const state = useContext(SelectStateContext);\n\n if (!state?.selectedKey) {\n return null;\n }\n\n const onPressRequest = () => {\n state?.setSelectedKey(null);\n };\n\n return (\n <IconButton\n pointerEvents=\"all\"\n size=\"2xs\"\n variant=\"ghost\"\n tone=\"primary\"\n aria-label=\"Clear Selection\"\n onPress={onPressRequest}\n >\n <CloseIcon />\n </IconButton>\n );\n};\n\nSelectClearButton.displayName = \"Select.ClearButton\";\n","import { forwardRef } from \"react\";\nimport { chakra, useSlotRecipe } from \"@chakra-ui/react\";\n\nimport {\n KeyboardArrowDown as DropdownIndicatorIcon,\n Loop as SpinnerIcon,\n} from \"@commercetools/nimbus-icons\";\n\nimport { Flex, Box } from \"@/components\";\nimport {\n Button as RaButton,\n Popover as RaPopover,\n Select as RaSelect,\n SelectValue as RaSelectValue,\n} from \"react-aria-components\";\nimport {\n SelectRootSlot,\n SelectTriggerSlot,\n SelectTriggerLabelSlot,\n} from \"./../select.slots\";\nimport { SelectClearButton } from \"./select.clear-button\";\nimport { type SelectRootProps } from \"./../select.types\";\nimport { selectSlotRecipe } from \"../select.recipe\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nexport const SelectRoot = forwardRef<HTMLDivElement, SelectRootProps>(\n ({ children, isLoading, isDisabled, ...props }, ref) => {\n const recipe = useSlotRecipe({ recipe: selectSlotRecipe });\n const [recipeProps, restRecipeProps] = recipe.splitVariantProps(props);\n const [styleProps, restProps] = extractStyleProps(restRecipeProps);\n\n const raSelectProps = {\n ...restProps,\n isDisabled: isLoading || isDisabled,\n };\n\n return (\n <SelectRootSlot asChild ref={ref} {...recipeProps} {...styleProps}>\n <RaSelect {...raSelectProps}>\n <chakra.div position=\"relative\">\n <SelectTriggerSlot zIndex={0} asChild>\n <RaButton>\n <SelectTriggerLabelSlot asChild>\n <RaSelectValue />\n </SelectTriggerLabelSlot>\n </RaButton>\n </SelectTriggerSlot>\n <Flex\n position=\"absolute\"\n top=\"0\"\n bottom=\"0\"\n zIndex={1}\n right=\"400\"\n pointerEvents=\"none\"\n >\n <Flex width=\"600\" my=\"auto\">\n <SelectClearButton />\n </Flex>\n\n <Flex my=\"auto\" w=\"600\" h=\"600\" pointerEvents=\"none\">\n <Box color=\"neutral.9\" asChild m=\"auto\" w=\"400\" h=\"400\">\n {isLoading ? (\n <Box asChild animation=\"spin\" animationDuration=\"slowest\">\n <SpinnerIcon />\n </Box>\n ) : (\n <DropdownIndicatorIcon />\n )}\n </Box>\n </Flex>\n </Flex>\n </chakra.div>\n\n <RaPopover>{children}</RaPopover>\n </RaSelect>\n </SelectRootSlot>\n );\n }\n);\n\nSelectRoot.displayName = \"Select.Root\";\n","import { forwardRef, type JSX } from \"react\";\n\n/**\n * This is a workaround to fix the type of `forwardRef`.\n * The issue is that the type of `forwardRef` is not correct when using generics.\n *\n * While not ideal from a type-safety perspective, it's necessary because\n * TypeScript cannot properly express the transformation that happens when\n * combining generics with `forwardRef`.\n */\nexport const fixedForwardRef = <T, P extends object>(\n render: (props: P, ref: React.Ref<T>) => JSX.Element\n): ((props: P & React.RefAttributes<T>) => JSX.Element) => {\n // @ts-expect-error - This tells TypeScript to \"trust us\" about the resulting type.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any\n return forwardRef(render) as any;\n};\n","import { type ForwardedRef } from \"react\";\nimport { ListBox as RaListBox } from \"react-aria-components\";\nimport { SelectOptionsSlot } from \"./../select.slots\";\nimport type { SelectOptionsProps } from \"../select.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\nimport { fixedForwardRef } from \"@/utils/fixedForwardRef\";\n\nexport const SelectOptions = fixedForwardRef(\n <T extends object>(\n props: SelectOptionsProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n ) => {\n const [styleProps, rest] = extractStyleProps(props);\n return (\n <SelectOptionsSlot asChild {...styleProps}>\n <RaListBox ref={forwardedRef} {...rest} />\n </SelectOptionsSlot>\n );\n }\n);\n\n// @ts-expect-error - doesn't work with this complex types\nSelectOptions.displayName = \"Select.Options\";\n","import { type ForwardedRef } from \"react\";\nimport { ListBoxItem as RaListBoxItem } from \"react-aria-components\";\nimport { SelectOptionSlot } from \"./../select.slots\";\nimport type { SelectOptionProps } from \"../select.types\";\nimport { fixedForwardRef } from \"@/utils/fixedForwardRef\";\n\nexport const SelectOption = fixedForwardRef(\n <T extends object>(\n props: SelectOptionProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n ) => {\n return (\n <SelectOptionSlot asChild ref={forwardedRef}>\n <RaListBoxItem {...props} />\n </SelectOptionSlot>\n );\n }\n);\n\n// @ts-expect-error - doesn't work with this complex types\nSelectOption.displayName = \"Select.Option\";\n","import { forwardRef, type ForwardedRef, type ReactNode } from \"react\";\n\nimport {\n ListBoxSection as RaListBoxSection,\n Header as RaHeader,\n Collection,\n} from \"react-aria-components\";\nimport { SelectOptionGroupSlot } from \"./../select.slots\";\nimport type { SelectOptionGroupProps } from \"../select.types\";\nimport { fixedForwardRef } from \"@/utils/fixedForwardRef\";\n\nexport const SelectOptionGroup = fixedForwardRef(\n <T extends object>(\n { label, items, children, ...props }: SelectOptionGroupProps<T>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n ) => {\n // Validate that children is a function when items is provided\n if (items && typeof children !== \"function\") {\n throw new Error(\n 'SelectOptionGroup: When \"items\" is provided, \"children\" must be a function'\n );\n }\n\n return (\n <RaListBoxSection ref={forwardedRef} {...props}>\n <SelectOptionGroupSlot asChild>\n <RaHeader>{label}</RaHeader>\n </SelectOptionGroupSlot>\n\n {items ? (\n <Collection items={items}>\n {(item: T) => {\n if (typeof children === \"function\") {\n return children(item);\n }\n return null;\n }}\n </Collection>\n ) : (\n (children as ReactNode)\n )}\n </RaListBoxSection>\n );\n }\n);\n\n// @ts-expect-error - doesn't work with this complex types\nSelectOptionGroup.displayName = \"Select.OptionGroup\";\n","import { SelectRoot as _SelectRoot } from \"./components/select.root\";\nimport { SelectOptions as _SelectOptions } from \"./components/select.options\";\nimport { SelectOption as _SelectOption } from \"./components/select.option\";\nimport { SelectOptionGroup as _SelectOptionGroup } from \"./components/select.option-group\";\n\nexport const Select = {\n Root: _SelectRoot,\n Options: _SelectOptions,\n Option: _SelectOption,\n OptionGroup: _SelectOptionGroup,\n};\n\n/**\n * todo: get rid of this, this is needed for the react-docgen-typescript script\n * that is parsing the typescript types for our documentation. The _ underscores\n * serve as a reminder that this exports are awkward and should not be used.\n */\nexport { _SelectRoot, _SelectOptions, _SelectOption, _SelectOptionGroup };\n","import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react\";\nimport type { AccordionRootProps } from \"./accordion.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"accordion\",\n});\n\nexport const AccordionRoot = withProvider<HTMLDivElement, AccordionRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AccordionDisclosure = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"disclosure\");\n\nexport const AccordionTrigger = withContext<\n HTMLButtonElement,\n HTMLChakraProps<\"button\">\n>(\"button\", \"trigger\");\n\nexport const AccordionPanel = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"panel\");\n\nexport const AccordionTitle = withContext<\n HTMLButtonElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"accordionTitle\");\n\nexport const HeaderRightContent = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"headerContentRight\");\n","import React, { createContext } from \"react\";\nimport type { DisclosureGroupState } from \"react-stately\";\n\n// Define types for the item context\nexport interface ItemContextType {\n isExpanded: boolean;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n panelRef: React.RefObject<HTMLDivElement | null>;\n buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\n panelProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\n isFocusVisible: boolean;\n}\n\n// Create and export the contexts\nexport const ItemContext = createContext<ItemContextType | null>(null);\nexport const DisclosureGroupStateContext =\n createContext<DisclosureGroupState | null>(null);\n","import React, { forwardRef, type Key } from \"react\";\nimport { AccordionRoot as AccordionRootSlot } from \"../accordion.slots\";\nimport { useDisclosureGroupState } from \"react-stately\";\nimport { useSlotRecipe } from \"@chakra-ui/react\";\nimport type { DisclosureGroupProps } from \"../accordion.types\";\nimport { DisclosureGroupStateContext } from \"../accordion-context\";\n\nexport const AccordionGroup = forwardRef<HTMLDivElement, DisclosureGroupProps>(\n ({ children, onExpandedChange, ...props }, forwardedRef) => {\n const state = useDisclosureGroupState({\n ...props,\n onExpandedChange: (keys: Set<Key>) => {\n onExpandedChange?.(keys.size > 0);\n },\n });\n const recipe = useSlotRecipe({ key: \"accordion\" });\n const [recipeProps] = recipe.splitVariantProps(props);\n\n return (\n <DisclosureGroupStateContext.Provider value={state}>\n <AccordionRootSlot data-slot=\"root\" ref={forwardedRef} {...recipeProps}>\n {children}\n </AccordionRootSlot>\n </DisclosureGroupStateContext.Provider>\n );\n }\n);\n","import React, { forwardRef, useContext } from \"react\";\nimport {\n AccordionTrigger,\n AccordionTitle,\n HeaderRightContent,\n} from \"../accordion.slots\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { Flex } from \"@/components\";\nimport { KeyboardArrowRight } from \"@commercetools/nimbus-icons\";\nimport type { DisclosureGroupProps } from \"../accordion.types\";\nimport { ItemContext } from \"../accordion-context\";\n\nexport const AccordionHeader = forwardRef<\n HTMLButtonElement,\n DisclosureGroupProps\n>(({ children }, ref) => {\n const context = useContext(ItemContext);\n if (!context) {\n throw new Error(\"Accordion.Header must be used within Accordion.Item\");\n }\n\n // Extract HeaderRightContent if present\n const headerContent = React.Children.toArray(children).reduce<{\n main: React.ReactNode[];\n rightContent: React.ReactNode[];\n }>(\n (acc, child) => {\n if (React.isValidElement(child) && child.type === HeaderRightContent) {\n acc.rightContent.push(child);\n } else {\n acc.main.push(child);\n }\n return acc;\n },\n { main: [], rightContent: [] }\n );\n\n return (\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n borderBottom=\"solid-25\"\n borderColor=\"neutral.4\"\n >\n <AccordionTrigger\n ref={mergeRefs(context.triggerRef, ref)}\n {...context.buttonProps}\n data-slot=\"trigger\"\n outline={context.isFocusVisible ? undefined : \"none\"}\n >\n <KeyboardArrowRight />\n <AccordionTitle data-slot=\"accordionTitle\">\n {headerContent.main}\n </AccordionTitle>\n </AccordionTrigger>\n {headerContent.rightContent.length > 0 && (\n <HeaderRightContent data-slot=\"headerContentRight\">\n {headerContent.rightContent}\n </HeaderRightContent>\n )}\n </Flex>\n );\n});\n","import React, { forwardRef, useContext } from \"react\";\nimport { AccordionPanel } from \"../accordion.slots\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeProps, mergeRefs } from \"@chakra-ui/react\";\nimport type { DisclosureGroupProps } from \"../accordion.types\";\nimport { ItemContext } from \"../accordion-context\";\n\n// Create Content component\nexport const AccordionContent = forwardRef<\n HTMLDivElement,\n DisclosureGroupProps\n>((props, forwardedRef) => {\n const context = useContext(ItemContext);\n const ref = useObjectRef<HTMLDivElement>(\n mergeRefs(context?.panelRef, forwardedRef)\n );\n\n return (\n // @ts-expect-error TODO - fix prop types merging conflict\n <AccordionPanel\n ref={ref}\n {...mergeProps({ ...context?.panelProps, ...props })}\n data-slot=\"panel\"\n >\n {props.children}\n </AccordionPanel>\n );\n});\n","import React, { forwardRef, useContext, useRef } from \"react\";\nimport { AccordionDisclosure } from \"../accordion.slots\";\nimport { useDisclosureState } from \"react-stately\";\nimport {\n useDisclosure,\n mergeProps,\n useButton,\n useFocusRing,\n useId,\n} from \"react-aria\";\nimport type { DisclosureItemProps } from \"../accordion.types\";\n// Import the contexts from the shared file\nimport { ItemContext, DisclosureGroupStateContext } from \"../accordion-context\";\n\nexport const AccordionItem = forwardRef<HTMLDivElement, DisclosureItemProps>(\n (\n { children, id, isDisabled, isExpanded, onExpandedChange, value },\n forwardedRef\n ) => {\n const defaultId = useId();\n const itemId = id || defaultId;\n const itemValue = value || itemId;\n\n // Get group state from context\n const groupState = useContext(DisclosureGroupStateContext);\n\n // Determine if expanded based on group state or prop\n const expanded = groupState\n ? groupState.expandedKeys.has(itemValue)\n : isExpanded;\n\n // Create disclosure state\n const state = useDisclosureState({\n isExpanded: expanded,\n onExpandedChange: (isExpanded) => {\n if (groupState) {\n groupState.toggleKey(itemValue);\n }\n onExpandedChange?.(isExpanded);\n },\n });\n\n // Create refs and get props\n const panelRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const disabled = isDisabled || groupState?.isDisabled || false;\n\n const { buttonProps, panelProps } = useDisclosure(\n {\n isExpanded: state.isExpanded,\n isDisabled: disabled,\n },\n state,\n panelRef\n );\n\n const { buttonProps: finalButtonProps } = useButton(\n buttonProps,\n triggerRef\n );\n const { focusProps, isFocusVisible } = useFocusRing();\n\n // Create context value for Header and Content\n const contextValue = {\n isExpanded: state.isExpanded,\n triggerRef,\n panelRef,\n buttonProps: mergeProps(finalButtonProps, focusProps),\n panelProps,\n isFocusVisible,\n };\n\n // Using the imported ItemContext\n return (\n <ItemContext.Provider value={contextValue}>\n <AccordionDisclosure\n data-slot=\"disclosure\"\n data-value={itemValue}\n data-expanded={state.isExpanded}\n ref={forwardedRef}\n >\n {children}\n </AccordionDisclosure>\n </ItemContext.Provider>\n );\n }\n);\n","import { HeaderRightContent } from \"./accordion.slots\";\nimport { AccordionGroup } from \"./components/accordion-group\";\nimport { AccordionHeader } from \"./components/accordion-header\";\nimport { AccordionContent } from \"./components/accordion-content\";\nimport { AccordionItem } from \"./components/accordion-item\";\n\n// Create the Accordion namespace object as an object literal\nexport const Accordion = {\n Root: AccordionGroup,\n Item: AccordionItem,\n Header: AccordionHeader,\n Content: AccordionContent,\n HeaderRightContent,\n};\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the LoadingSpinner component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const loadingSpinnerRecipe = defineRecipe({\n className: \"nimbus-loading-spinner\",\n\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg\": {\n overflow: \"visible\",\n // This proportionally scales the spinner to fit the container while also scaling padding\n transform: \"scale(calc(1 - 2/12))\",\n },\n \"& svg [data-svg-path='spinner-pointer']\": {\n stroke: \"colorPalette.10\",\n animationName: \"spin\",\n animationDuration: \"0.5s\",\n animationTimingFunction: \"linear\",\n animationIterationCount: \"infinite\",\n transformOrigin: \"center center 0\",\n },\n \"& svg [data-svg-path='spinner-circle']\": {\n stroke: \"colorPalette.5\",\n },\n },\n\n variants: {\n size: {\n \"2xs\": {\n width: \"350\",\n height: \"350\",\n },\n xs: {\n width: \"500\",\n height: \"500\",\n },\n sm: {\n width: \"600\",\n height: \"600\",\n },\n md: {\n width: \"800\",\n height: \"800\",\n },\n lg: {\n width: \"1000\",\n height: \"1000\",\n },\n },\n\n tone: {\n primary: {\n colorPalette: \"ctvioletAlpha\",\n },\n white: {\n colorPalette: \"whiteAlpha\",\n },\n },\n },\n\n defaultVariants: {\n size: \"sm\",\n tone: \"primary\",\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { loadingSpinnerRecipe } from \"./loading-spinner.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the div element.\n */\nexport interface LoadingSpinnerRecipeProps\n extends RecipeProps<\"div\">,\n UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport type LoadingSpinnerRootProps = Omit<\n HTMLChakraProps<\"div\", LoadingSpinnerRecipeProps>,\n // We want to omit polymorphic props from the root props since they are not used internally.\n \"as\" | \"asChild\"\n>;\n\nconst { withContext } = createRecipeContext({ recipe: loadingSpinnerRecipe });\n\n/**\n * Root component that provides the styling context for the LoadingSpinner component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const LoadingSpinnerRoot = withContext<\n HTMLDivElement,\n LoadingSpinnerRootProps\n>(\"div\");\n","import { forwardRef } from \"react\";\nimport { LoadingSpinnerRoot } from \"./loading-spinner.slots\";\nimport type { LoadingSpinnerProps } from \"./loading-spinner.types\";\nimport { mergeProps, useProgressBar } from \"react-aria\";\n\nconst circlePath =\n \"M22.5 12C22.5 13.3789 22.2284 14.7443 21.7007 16.0182C21.1731 17.2921 20.3996 18.4496 19.4246 19.4246C18.4496 20.3996 17.2921 21.1731 16.0182 21.7007C14.7443 22.2284 13.3789 22.5 12 22.5C10.6211 22.5 9.25574 22.2284 7.98182 21.7007C6.7079 21.1731 5.55039 20.3996 4.57538 19.4246C3.60036 18.4496 2.82694 17.2921 2.29926 16.0182C1.77159 14.7443 1.5 13.3789 1.5 12C1.5 10.6211 1.77159 9.25574 2.29927 7.98182C2.82694 6.7079 3.60037 5.55039 4.57538 4.57538C5.5504 3.60036 6.70791 2.82694 7.98183 2.29926C9.25575 1.77159 10.6211 1.5 12 1.5C13.3789 1.5 14.7443 1.77159 16.0182 2.29927C17.2921 2.82694 18.4496 3.60037 19.4246 4.57538C20.3996 5.5504 21.1731 6.70791 21.7007 7.98183C22.2284 9.25575 22.5 10.6211 22.5 12L22.5 12Z\";\nconst pointerPath =\n \"M12 1.5C13.3789 1.5 14.7443 1.77159 16.0182 2.29927C17.2921 2.82694 18.4496 3.60036 19.4246 4.57538C20.3996 5.55039 21.1731 6.70791 21.7007 7.98183C22.2284 9.25574 22.5 10.6211 22.5 12\";\n\n/**\n * LoadingSpinner\n * ============================================================\n * Indicates ongoing processes or loading states\n */\nexport const LoadingSpinner = forwardRef<HTMLDivElement, LoadingSpinnerProps>(\n ({ \"aria-label\": ariaLabel = \"Loading data\", ...props }, ref) => {\n const { progressBarProps } = useProgressBar({\n isIndeterminate: true,\n \"aria-label\": ariaLabel,\n ...props,\n });\n\n return (\n <LoadingSpinnerRoot\n ref={ref}\n {...mergeProps(props, progressBarProps)}\n aria-label={ariaLabel}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d={circlePath}\n data-svg-path=\"spinner-circle\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d={pointerPath}\n data-svg-path=\"spinner-pointer\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </LoadingSpinnerRoot>\n );\n }\n);\nLoadingSpinner.displayName = \"LoadingSpinner\";\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Card component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const cardRecipe = defineSlotRecipe({\n slots: [\"root\", \"header\", \"content\"],\n\n className: \"nimbus-card\",\n\n base: {\n root: {\n colorPalette: \"slate\",\n display: \"inline-flex\",\n alignItems: \"flex-start\",\n borderRadius: \"300\",\n focusVisibleRing: \"outside\",\n },\n },\n\n variants: {\n cardPadding: {\n sm: {\n root: {\n padding: \"200\",\n },\n },\n md: {\n root: {\n padding: \"400\",\n },\n },\n lg: {\n root: {\n padding: \"600\",\n },\n },\n },\n\n borderStyle: {\n none: {},\n outlined: {\n root: {\n border: \"solid-25\",\n borderColor: \"colorPalette.3\",\n },\n },\n },\n elevation: {\n none: {},\n elevated: {\n root: {\n shadow: \"1\",\n },\n },\n },\n backgroundStyle: {\n default: {\n root: {\n backgroundColor: \"colorPalette.contrast\",\n },\n },\n muted: {\n root: {\n backgroundColor: \"colorPalette.2\",\n },\n },\n },\n },\n});\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { cardRecipe } from \"./card.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n * with the unstyled prop option for the div element.\n */\ninterface CardRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\nexport interface CardRootProps\n extends HTMLChakraProps<\"div\", CardRecipeProps> {}\n\nexport interface CardHeaderProps\n extends HTMLChakraProps<\"div\", CardRecipeProps> {}\n\nexport interface CardContentProps\n extends HTMLChakraProps<\"div\", CardRecipeProps> {}\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: cardRecipe,\n});\n\n/**\n * Root component that provides the styling context for the Card component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const CardRoot = withProvider<HTMLDivElement, CardRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const CardHeader = withContext<HTMLDivElement, CardHeaderProps>(\n \"div\",\n \"header\"\n);\nexport const CardContent = withContext<HTMLDivElement, CardContentProps>(\n \"div\",\n \"content\"\n);\n","import {\n createContext,\n forwardRef,\n useMemo,\n useState,\n type ReactNode,\n} from \"react\";\nimport { CardRoot as CardRootSlot } from \"../card.slots\";\nimport type { CardProps } from \"../card.types\";\nimport { Stack } from \"../../stack\";\nimport { mergeProps, useFocusRing } from \"react-aria\";\n\ntype CardContextValue = {\n setHeader: (header: React.ReactNode) => void;\n setContent: (content: React.ReactNode) => void;\n};\n\nexport const CardContext = createContext<CardContextValue | undefined>(\n undefined\n);\n\nexport const CardRoot = forwardRef<HTMLDivElement, CardProps>(\n ({ children, ...props }, ref) => {\n const { isFocused, isFocusVisible, focusProps } = useFocusRing();\n const [headerNode, setHeader] = useState<ReactNode>(null);\n const [contentNode, setContent] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setHeader,\n setContent,\n }),\n [setHeader, setContent]\n );\n\n return (\n <CardContext.Provider value={contextValue}>\n <CardRootSlot\n ref={ref}\n {...mergeProps(props, focusProps)}\n data-focus={isFocused || undefined}\n data-focus-visible={isFocusVisible || undefined}\n tabIndex={0}\n >\n {/* Always render them in this order/layout to protect consumers */}\n <Stack direction=\"column\" gap=\"200\">\n {headerNode}\n {contentNode}\n </Stack>\n\n {/* Render all consumer sub-components, including our own */}\n {children}\n </CardRootSlot>\n </CardContext.Provider>\n );\n }\n);\n\nCardRoot.displayName = \"Card.Root\";\n","import { useContext, useEffect } from \"react\";\nimport {\n CardHeader as CardHeaderSlot,\n type CardHeaderProps,\n} from \"../card.slots\";\nimport { CardContext } from \"./card.root\";\n\nexport const CardHeader = ({ children, ...props }: CardHeaderProps) => {\n const context = useContext(CardContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <CardHeaderSlot {...props}>{children}</CardHeaderSlot>\n );\n // Register it with the parent\n context.setHeader(slotElement);\n\n // On unmount, remove it\n return () => context.setHeader(null);\n }\n }, [children, props]);\n\n return null;\n};\nCardHeader.displayName = \"Card.Header\";\n","import { useContext, useEffect } from \"react\";\nimport {\n CardContent as CardContentSlot,\n type CardContentProps,\n} from \"../card.slots\";\nimport { CardContext } from \"./card.root\";\n\nexport const CardContent = ({ children, ...props }: CardContentProps) => {\n const context = useContext(CardContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <CardContentSlot {...props}>{children}</CardContentSlot>\n );\n // Register it with the parent\n context.setContent(slotElement);\n\n // On unmount, remove it\n return () => context.setContent(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nCardContent.displayName = \"Card.Content\";\n","import { CardRoot } from \"./components/card.root\";\nimport { CardHeader } from \"./components/card.header\";\nimport { CardContent } from \"./components/card.content\";\n\nexport { CardRoot, CardHeader, CardContent };\n\nexport const Card = {\n Root: CardRoot,\n Header: CardHeader,\n Content: CardContent,\n};\n","import { defineRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Badge component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const badgeRecipe = defineRecipe({\n className: \"nimbus-badge\",\n\n // Base styles applied to all instances of the component\n base: {\n display: \"inline-flex\",\n alignItems: \"center\",\n borderRadius: \"200\",\n justifyContent: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n py: \"25\",\n fontWeight: \"500\",\n backgroundColor: \"colorPalette.3\",\n color: \"colorPalette.11\",\n w: \"auto\",\n userSelect: \"none\",\n _icon: {\n flexShrink: \"0\",\n },\n },\n\n // Available variants for customizing the component's appearance\n variants: {\n size: {\n \"2xs\": {\n fontSize: \"300\",\n gap: \"100\",\n h: \"600\",\n lineHeight: \"350\",\n px: \"200\",\n _icon: {\n width: \"400\",\n height: \"400\",\n },\n },\n xs: {\n fontSize: \"350\",\n gap: \"100\",\n h: \"800\",\n lineHeight: \"400\",\n px: \"300\",\n _icon: {\n width: \"500\",\n height: \"500\",\n },\n },\n md: {\n fontSize: \"400\",\n gap: \"200\",\n h: \"1000\",\n lineHeight: \"500\",\n px: \"400\",\n _icon: {\n width: \"600\",\n height: \"600\",\n },\n },\n },\n },\n\n // Default variant values when not explicitly specified\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { createRecipeContext } from \"@chakra-ui/react\";\n\nimport { badgeRecipe } from \"./badge.recipe\";\nimport type { BadgeRootProps } from \"./badge.types\";\n\nconst { withContext } = createRecipeContext({ recipe: badgeRecipe });\n\nexport const BadgeRoot = withContext<HTMLSpanElement, BadgeRootProps>(\"span\");\n","import { forwardRef, useRef } from \"react\";\nimport { BadgeRoot } from \"./badge.slots\";\nimport type { BadgeProps } from \"./badge.types\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { useObjectRef, mergeProps } from \"react-aria\";\n/**\n * Badge\n * ============================================================\n * badge\n *\n * Features:\n *\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLSpanElement' attributes (including aria- & data-attributes)\n * - supports 'variants', 'sizes', etc. configured in the recipe\n * - allows overriding styles by using style-props\n * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)\n */\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n (props, forwardedRef) => {\n const { as, asChild, children, ...rest } = props;\n\n const localRef = useRef<HTMLSpanElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n const elementType = as || \"span\";\n\n return (\n <BadgeRoot as={elementType} {...mergeProps(rest, { ref })}>\n {children}\n </BadgeRoot>\n );\n }\n);\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\n/**\n * Recipe configuration for the Alert component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const alertRecipe = defineSlotRecipe({\n slots: [\"root\", \"title\", \"description\", \"icon\", \"actions\", \"dismissButton\"],\n // Unique class name prefix for the component\n className: \"nimbus-alert\",\n\n // Base styles applied to all instances of the component\n base: {\n root: {\n display: \"inline-flex\",\n flexDirection: \"row\",\n gap: \"200\",\n width: \"100%\",\n },\n icon: {\n marginTop: \"50\",\n \"& svg\": {\n width: \"500\",\n height: \"500\",\n color: \"colorPalette.11\",\n },\n },\n title: {\n color: \"colorPalette.11\",\n },\n description: {\n color: \"colorPalette.11\",\n },\n },\n\n variants: {\n tone: {\n critical: {\n root: { colorPalette: \"critical\" },\n },\n info: {\n root: { colorPalette: \"info\" },\n },\n warning: {\n root: { colorPalette: \"amber\" },\n },\n positive: {\n root: { colorPalette: \"positive\" },\n },\n },\n\n variant: {\n flat: {},\n outlined: {\n root: {\n border: \"solid-25\",\n borderColor: \"colorPalette.5\",\n backgroundColor: \"colorPalette.2\",\n padding: \"200\",\n borderRadius: \"200\",\n },\n },\n },\n },\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport { alertRecipe } from \"./alert.recipe\";\nimport type {\n AlertActionsProps,\n AlertDescriptionProps,\n AlertDismissButtonProps,\n AlertIconProps,\n AlertRootProps,\n AlertTitleProps,\n} from \"./alert.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: alertRecipe,\n});\n\nexport const AlertRoot = withProvider<HTMLDivElement, AlertRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AlertTitle = withContext<HTMLDivElement, AlertTitleProps>(\n \"div\",\n \"title\"\n);\n\nexport const AlertDescription = withContext<\n HTMLDivElement,\n AlertDescriptionProps\n>(\"div\", \"description\");\n\nexport const AlertIcon = withContext<HTMLDivElement, AlertIconProps>(\n \"div\",\n \"icon\"\n);\n\nexport const AlertActions = withContext<HTMLDivElement, AlertActionsProps>(\n \"div\",\n \"actions\"\n);\n\n// This is a div wrapper for layout placement - note that we expect it to receive `IconButton` props, but we use a `div`.\n// We then forward the consumer props to the interior `IconButton` component.\nexport const AlertDismissButton = withContext<\n HTMLDivElement,\n AlertDismissButtonProps\n>(\"div\", \"dismissButton\");\n","import {\n createContext,\n forwardRef,\n useMemo,\n useState,\n type ReactNode,\n} from \"react\";\nimport { AlertRoot as AlertRootSlot, AlertIcon } from \"../alert.slots\";\nimport type { AlertProps, AlertRootComponent } from \"../alert.types\";\nimport { Box } from \"../../box\";\nimport { Stack } from \"../../stack\";\nimport {\n CheckCircleOutline,\n ErrorOutline,\n Info,\n WarningAmber,\n} from \"@commercetools/nimbus-icons\";\n\nconst getIconFromTone = (tone: AlertProps[\"tone\"]) => {\n switch (tone) {\n case \"critical\":\n return <ErrorOutline />;\n case \"info\":\n return <Info />;\n case \"warning\":\n return <WarningAmber />;\n case \"positive\":\n return <CheckCircleOutline />;\n default:\n return null;\n }\n};\n\ntype AlertContextValue = {\n setTitle: (title: ReactNode) => void;\n setDescription: (description: ReactNode) => void;\n setActions: (actions: ReactNode) => void;\n setDismiss: (dismiss: ReactNode) => void;\n};\n\nexport const AlertContext = createContext<AlertContextValue | undefined>(\n undefined\n);\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const AlertRoot: AlertRootComponent = forwardRef<\n HTMLDivElement,\n AlertProps\n>(({ children, ...props }, ref) => {\n const [titleNode, setTitle] = useState<ReactNode>(null);\n const [descriptionNode, setDescription] = useState<ReactNode>(null);\n const [actionsNode, setActions] = useState<ReactNode>(null);\n const [dismissNode, setDismiss] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setTitle,\n setDescription,\n setActions,\n setDismiss,\n }),\n [setTitle, setDescription, setActions, setDismiss]\n );\n\n return (\n <AlertContext.Provider value={contextValue}>\n <AlertRootSlot ref={ref} {...props} role=\"alert\">\n <AlertIcon alignItems=\"flex-start\">\n {getIconFromTone(props.tone)}\n </AlertIcon>\n <Stack flex=\"1\" gap=\"200\">\n <Box>\n {titleNode}\n {descriptionNode}\n </Box>\n {actionsNode}\n </Stack>\n {dismissNode}\n\n {children}\n </AlertRootSlot>\n </AlertContext.Provider>\n );\n});\n\nAlertRoot.displayName = \"Alert.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertTitle as AlertTitleSlot } from \"../alert.slots\";\nimport type { AlertTitleProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertTitle = ({ children, ...props }: AlertTitleProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertTitleSlot {...props} fontWeight=\"600\">\n {children}\n </AlertTitleSlot>\n );\n // Register it with the parent\n context.setTitle(slotElement);\n\n // On unmount, remove it\n return () => context.setTitle(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertTitle.displayName = \"Alert.Title\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDescription as AlertDescriptionSlot } from \"../alert.slots\";\nimport type { AlertDescriptionProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDescription = ({\n children,\n ...props\n}: AlertDescriptionProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDescriptionSlot {...props}>{children}</AlertDescriptionSlot>\n );\n // Register it with the parent\n context.setDescription(slotElement);\n\n // On unmount, remove it\n return () => context.setDescription(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDescription.displayName = \"Alert.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertActions as AlertActionsSlot } from \"../alert.slots\";\nimport type { AlertActionsProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertActions = ({ children, ...props }: AlertActionsProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertActionsSlot {...props}>{children}</AlertActionsSlot>\n );\n // Register it with the parent\n context.setActions(slotElement);\n\n // On unmount, remove it\n return () => context.setActions(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertActions.displayName = \"Alert.Actions\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDismissButton as AlertDismissButtonSlot } from \"../alert.slots\";\nimport type { AlertDismissButtonProps } from \"../alert.types\";\nimport { Clear } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"../../icon-button\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDismissButton = ({\n children,\n ...props\n}: AlertDismissButtonProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDismissButtonSlot>\n <IconButton\n aria-label=\"Dismiss\"\n {...props}\n variant=\"ghost\"\n size=\"2xs\"\n >\n <Clear role=\"img\" />\n </IconButton>\n </AlertDismissButtonSlot>\n );\n // Register it with the parent\n context.setDismiss(slotElement);\n\n // On unmount, remove it\n return () => context.setDismiss(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDismissButton.displayName = \"Alert.DismissButton\";\n","import { AlertTitle } from \"./components/alert.title\";\nimport { AlertDescription } from \"./components/alert.description\";\nimport { AlertActions } from \"./components/alert.actions\";\nimport { AlertDismissButton } from \"./components/alert.dismiss-button\";\nimport { AlertRoot } from \"./components/alert.root\";\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const Alert = {\n Root: AlertRoot,\n Title: AlertTitle,\n Description: AlertDescription,\n Actions: AlertActions,\n DismissButton: AlertDismissButton,\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\nimport { buttonRecipe } from \"../button/button.recipe\";\n\n/**\n * Recipe configuration for the ToggleButtonGroup component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const buttonGroupRecipe = defineSlotRecipe({\n slots: [\"root\", \"button\"],\n // Unique class name prefix for the component\n className: \"nimbus-toggle-button-group\",\n\n // Base styles applied to all instances of the component\n base: {\n root: {\n display: \"inline-flex\",\n },\n button: {\n // Base style is the same as our Button\n ...buttonRecipe.base,\n // Default style is outlined\n ...buttonRecipe.variants?.variant.outline,\n // Create overrides for custom ToggleButtonGroup styles\n borderRadius: \"0\",\n borderRightWidth: \"0\",\n \"&:first-of-type\": {\n borderLeftRadius: \"200\",\n },\n \"&:last-of-type\": {\n borderRightWidth: \"1px\",\n borderRightRadius: \"200\",\n },\n // When selected, the button is styled like a solid button\n \"&[data-selected=true]\": buttonRecipe.variants?.variant.solid,\n },\n },\n\n variants: {\n size: {\n xs: {\n button: buttonRecipe.variants?.size.xs,\n },\n md: {\n button: buttonRecipe.variants?.size.md,\n },\n },\n\n tone: {\n primary: {\n button: { colorPalette: \"primary\" },\n },\n critical: {\n button: { colorPalette: \"critical\" },\n },\n neutral: {\n button: { colorPalette: \"neutral\" },\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport { buttonGroupRecipe } from \"./toggle-button-group.recipe\";\nimport type {\n ToggleButtonGroupButtonProps,\n ToggleButtonGroupProps,\n ToggleButtonGroupButtonComponent,\n} from \"./toggle-button-group.types\";\nimport {\n ToggleButton as RacToggleButton,\n ToggleButtonGroup as RacToggleButtonGroup,\n} from \"react-aria-components\";\n\nconst { withContext, withProvider } = createSlotRecipeContext({\n recipe: buttonGroupRecipe,\n});\n\nexport const ToggleButtonGroupRoot = withProvider<\n typeof RacToggleButtonGroup,\n ToggleButtonGroupProps\n>(RacToggleButtonGroup, \"root\");\n\nexport const ToggleButtonGroupButton: ToggleButtonGroupButtonComponent =\n withContext<typeof RacToggleButton, ToggleButtonGroupButtonProps>(\n RacToggleButton,\n \"button\"\n );\n","import { forwardRef } from \"react\";\nimport { ToggleButtonGroupRoot as ToggleButtonGroupRootSlot } from \"../toggle-button-group.slots\";\nimport type { ToggleButtonGroupRootComponent } from \"../toggle-button-group.types\";\n\nexport const ToggleButtonGroupRoot: ToggleButtonGroupRootComponent = forwardRef(\n ({ children, ...rest }, ref) => {\n return (\n <ToggleButtonGroupRootSlot ref={ref} {...rest}>\n {children}\n </ToggleButtonGroupRootSlot>\n );\n }\n);\n\nToggleButtonGroupRoot.displayName = \"ToggleButtonGroup.Root\";\n","import { forwardRef } from \"react\";\nimport { ToggleButtonGroupButton as ToggleButtonGroupButtonSlot } from \"../toggle-button-group.slots\";\nimport type { ToggleButtonGroupButtonComponent } from \"../toggle-button-group.types\";\n\nexport const ToggleButtonGroupButton: ToggleButtonGroupButtonComponent =\n forwardRef(({ children, ...rest }, ref) => {\n return (\n <ToggleButtonGroupButtonSlot {...rest} ref={ref}>\n {children}\n </ToggleButtonGroupButtonSlot>\n );\n });\n\nToggleButtonGroupButton.displayName = \"ToggleButtonGroup.Button\";\n","import { ToggleButtonGroupRoot } from \"./components/toggle-button-group.root\";\nimport { ToggleButtonGroupButton } from \"./components/toggle-button-group.button\";\n\nexport { ToggleButtonGroupRoot, ToggleButtonGroupButton };\n\n/**\n * ToggleButtonGroup\n * ============================================================\n * To group multiple `Button` components together, visually and logically, representing a set of related actions.\n */\nexport const ToggleButtonGroup = {\n Root: ToggleButtonGroupRoot,\n Button: ToggleButtonGroupButton,\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nconst columnLayout = `\n\"label\"\n\"input\"\n\"description\"\n\"error\"\n`;\nconst rowLayout = `\n\"label input\"\n\"label description\"\n\"label error\"\n`;\n\n/**\n * Recipe configuration for the FormField component.\n * Defines the styling variants and base styles using Chakra UI's recipe system.\n */\nexport const formFieldRecipe = defineSlotRecipe({\n slots: [\"root\", \"label\", \"input\", \"description\", \"error\", \"popover\"],\n // Unique class name prefix for the component\n className: \"nimbus-ui-form-field\",\n\n base: {\n root: {\n \"--grid-gap\": \"spacing.100\",\n\n display: \"grid\",\n width: \"auto\",\n },\n label: {\n gridArea: \"label\",\n fontWeight: \"500\",\n color: \"neutral.11\",\n fontSize: \"var(--form-field-font-size)\",\n lineHeight: \"var(--form-field-line-height)\",\n },\n input: {\n gridArea: \"input\",\n },\n description: {\n gridArea: \"description\",\n color: \"neutral.11\",\n fontSize: \"var(--form-field-font-size)\",\n lineHeight: \"var(--form-field-line-height)\",\n },\n error: {\n gridArea: \"error\",\n color: \"critical.11\",\n fontSize: \"var(--form-field-font-size)\",\n lineHeight: \"var(--form-field-line-height)\",\n },\n popover: {\n \"--scrollbar-color\": \"colors.neutral.8\",\n \"--scrollbar-bg\": \"colors.neutral.3\",\n bg: \"neutral.1\",\n maxWidth: \"xl\",\n borderRadius: \"200\",\n boxShadow: \"6\",\n border: \"solid-25\",\n borderColor: \"neutral.8\",\n maxHeight: \"40svh\",\n overflow: \"auto\",\n scrollbarWidth: \"thin\",\n scrollbarColor: \"var(--scrollbar-color) var(--scrollbar-bg)\",\n focusRing: \"outside\",\n },\n },\n\n variants: {\n size: {\n md: {\n root: {\n \"--form-field-font-size\": \"fontSizes.350\",\n \"--form-field-line-height\": \"lineHeights.500\",\n },\n },\n sm: {\n root: {\n \"--form-field-font-size\": \"fontSizes.300\",\n \"--form-field-line-height\": \"lineHeights.450\",\n },\n },\n },\n direction: {\n column: {\n root: {\n gridTemplateAreas: columnLayout,\n },\n input: {\n mt: \"var(--grid-gap)\",\n },\n description: {\n mt: \"var(--grid-gap)\",\n },\n error: {\n mt: \"var(--grid-gap)\",\n },\n },\n row: {\n root: {\n gridTemplateAreas: rowLayout,\n gridTemplateColumns: \"auto 1fr\",\n gridColumnGap: \"200\",\n },\n description: {\n mt: \"var(--grid-gap)\",\n },\n error: {\n mt: \"var(--grid-gap)\",\n },\n },\n },\n },\n\n // Default variant values when not explicitly specified\n defaultVariants: {\n direction: \"column\",\n size: \"md\",\n },\n});\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n type HTMLChakraProps,\n type RecipeVariantProps,\n type UnstyledProp,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\n\nimport { formFieldRecipe } from \"./form-field.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: formFieldRecipe,\n});\n\n// Root slot\nexport interface FormFieldRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof formFieldRecipe> & UnstyledProp\n > {}\n\nexport const FormFieldRootSlot = withProvider<\n HTMLDivElement,\n FormFieldRootSlotProps\n>(\"div\", \"root\");\n\n// Label Slot\nexport interface FormFieldLabelSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldLabelSlot = withContext<\n HTMLDivElement,\n FormFieldLabelSlotProps\n>(\"div\", \"label\");\n\n// Input Slot\nexport interface FormFieldInputSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldInputSlot = withContext<\n HTMLDivElement,\n FormFieldInputSlotProps\n>(\"div\", \"input\");\n\n// Description Slot\nexport interface FormFieldDescriptionSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldDescriptionSlot = withContext<\n HTMLDivElement,\n FormFieldDescriptionSlotProps\n>(\"div\", \"description\");\n\n// Error Slot\nexport interface FormFieldErrorSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldErrorSlot = withContext<\n HTMLDivElement,\n FormFieldErrorSlotProps\n>(\"div\", \"error\");\n\n// Error Slot\nexport interface FormFieldPopoverSlotProps extends HTMLChakraProps<\"div\"> {}\nexport const FormFieldPopoverSlot = withContext<\n HTMLDivElement,\n FormFieldPopoverSlotProps\n>(\"div\", \"popover\");\n","import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useEffect,\n useState,\n} from \"react\";\nimport type { FormFieldProps } from \"../form-field.types\";\nimport { useField } from \"react-aria\";\nimport {\n FormFieldContext,\n type FormFieldContextPayloadType,\n} from \"../form-field\";\nimport {\n FormFieldDescriptionSlot,\n FormFieldErrorSlot,\n FormFieldInputSlot,\n FormFieldLabelSlot,\n FormFieldPopoverSlot,\n FormFieldRootSlot,\n} from \"../form-field.slots\";\nimport { Dialog, DialogTrigger, Popover } from \"react-aria-components\";\nimport { Box, IconButton } from \"@/components\";\nimport { ErrorOutline, HelpOutline } from \"@commercetools/nimbus-icons\";\n\n/**\n * FormField\n * ============================================================\n * displays inputs in a FormField context\n */\nexport const FormFieldRoot = forwardRef<HTMLDivElement, FormFieldProps>(\n (\n { isInvalid, isRequired, isDisabled, isReadOnly, children, ...props },\n ref\n ) => {\n const [context, setContext] = useState<FormFieldContextPayloadType>({\n label: null,\n description: null,\n error: null,\n info: null,\n input: null,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n });\n\n const { labelProps, fieldProps, descriptionProps, errorMessageProps } =\n useField({\n label: context.label,\n description: context.description,\n errorMessage: context.error,\n });\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n }));\n }, [isInvalid, isRequired, isDisabled, isReadOnly]);\n\n const inputProps = {\n ...fieldProps,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n };\n\n return (\n <FormFieldContext.Provider value={{ context, setContext }}>\n <FormFieldRootSlot ref={ref} {...props}>\n {context.label && (\n <FormFieldLabelSlot {...context.labelSlotProps}>\n <label {...labelProps}>\n {context.label}\n {isRequired && <sup aria-hidden=\"true\">*</sup>}\n </label>\n {context.info && (\n <DialogTrigger>\n <Box\n as=\"span\"\n display=\"inline-block\"\n position=\"relative\"\n width=\"1ch\"\n height=\"1ch\"\n ml=\"200\"\n >\n <Box\n as=\"span\"\n display=\"inline-flex\"\n position=\"absolute\"\n top=\"50%\"\n right=\"50%\"\n transform=\"translate(50%, -50%)\"\n >\n <IconButton\n aria-label=\"__MORE INFO\"\n size=\"2xs\"\n tone=\"info\"\n variant=\"link\"\n >\n <HelpOutline />\n </IconButton>\n </Box>\n </Box>\n <Popover>\n <FormFieldPopoverSlot asChild>\n <Dialog>\n <Box p=\"300\">{context.info}</Box>\n </Dialog>\n </FormFieldPopoverSlot>\n </Popover>\n </DialogTrigger>\n )}\n </FormFieldLabelSlot>\n )}\n {context.input && (\n <FormFieldInputSlot {...context.inputSlotProps}>\n {Children.map(context.input, (child) => {\n // Important: Check if the child is a valid React element before cloning.\n if (isValidElement(child)) {\n return cloneElement(child, inputProps);\n }\n // If it's not a valid element (e.g., text node, null, undefined), return it as is.\n return child;\n })}\n </FormFieldInputSlot>\n )}\n {context.description && (\n <FormFieldDescriptionSlot\n {...descriptionProps}\n {...context.descriptionSlotProps}\n >\n {context.description}\n </FormFieldDescriptionSlot>\n )}\n {isInvalid && context.error && (\n <FormFieldErrorSlot\n {...errorMessageProps}\n {...context.errorSlotProps}\n >\n <Box\n as={ErrorOutline}\n display=\"inline-flex\"\n boxSize=\"400\"\n verticalAlign=\"text-bottom\"\n mr=\"100\"\n />\n {context.error}\n </FormFieldErrorSlot>\n )}\n {children}\n </FormFieldRootSlot>\n </FormFieldContext.Provider>\n );\n }\n);\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldLabelSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldLabel = ({\n children,\n ...labelSlotProps\n}: FormFieldLabelSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n label: children,\n labelSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldInputSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldInput = ({\n children,\n ...inputSlotProps\n}: FormFieldInputSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n input: children,\n inputSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldDescriptionSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldDescription = ({\n children,\n ...descriptionSlotProps\n}: FormFieldDescriptionSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n description: children,\n descriptionSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\nimport type { FormFieldErrorSlotProps } from \"../form-field.slots\";\n\nexport const FormFieldError = ({\n children,\n ...errorSlotProps\n}: FormFieldErrorSlotProps) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n error: children,\n errorSlotProps,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { useContext, useEffect, type ReactNode } from \"react\";\nimport { FormFieldContext } from \"../form-field\";\n\nexport const FormFieldInfoBox = ({ children }: { children: ReactNode }) => {\n const { setContext } = useContext(FormFieldContext);\n\n useEffect(() => {\n setContext((prevContext) => ({\n ...prevContext,\n info: children,\n }));\n }, [children, setContext]);\n\n return null;\n};\n","import { createContext, type ReactNode } from \"react\";\nimport { FormFieldRoot } from \"./components/form-field.root\";\nimport { FormFieldLabel } from \"./components/form-field.label\";\nimport { FormFieldInput } from \"./components/form-field.input\";\nimport { FormFieldDescription } from \"./components/form-field.description\";\nimport { FormFieldError } from \"./components/form-field.error\";\nimport { FormFieldInfoBox } from \"./components/form-field.info-box\";\nimport type {\n FormFieldDescriptionSlotProps,\n FormFieldErrorSlotProps,\n FormFieldInputSlotProps,\n FormFieldLabelSlotProps,\n} from \"./form-field.slots\";\n\nexport type FormFieldContextPayloadType = {\n label: ReactNode;\n labelSlotProps?: FormFieldLabelSlotProps;\n input: ReactNode;\n inputSlotProps?: FormFieldInputSlotProps;\n description: ReactNode;\n descriptionSlotProps?: FormFieldDescriptionSlotProps;\n error: ReactNode;\n errorSlotProps?: FormFieldErrorSlotProps;\n info: ReactNode;\n isInvalid?: boolean;\n isRequired?: boolean;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type FormFieldContextType = {\n context: FormFieldContextPayloadType;\n setContext: React.Dispatch<React.SetStateAction<FormFieldContextPayloadType>>;\n};\n\nexport const FormFieldContext = createContext<FormFieldContextType>({\n context: {\n label: null,\n description: null,\n error: null,\n info: null,\n input: null,\n },\n setContext: () => {},\n});\n\nexport const FormField = {\n Root: FormFieldRoot,\n Label: FormFieldLabel,\n Input: FormFieldInput,\n Description: FormFieldDescription,\n Error: FormFieldError,\n InfoBox: FormFieldInfoBox,\n};\n","import { useContext, createContext, useState, useCallback, useRef, useLayoutEffect, useEffect } from 'react';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\n\nvar reservedModifierKeywords = ['shift', 'alt', 'meta', 'mod', 'ctrl'];\nvar mappedKeys = {\n esc: 'escape',\n \"return\": 'enter',\n '.': 'period',\n ',': 'comma',\n '-': 'slash',\n ' ': 'space',\n '`': 'backquote',\n '#': 'backslash',\n '+': 'bracketright',\n ShiftLeft: 'shift',\n ShiftRight: 'shift',\n AltLeft: 'alt',\n AltRight: 'alt',\n MetaLeft: 'meta',\n MetaRight: 'meta',\n OSLeft: 'meta',\n OSRight: 'meta',\n ControlLeft: 'ctrl',\n ControlRight: 'ctrl'\n};\nfunction mapKey(key) {\n return (key && mappedKeys[key] || key || '').trim().toLowerCase().replace(/key|digit|numpad|arrow/, '');\n}\nfunction isHotkeyModifier(key) {\n return reservedModifierKeywords.includes(key);\n}\nfunction parseKeysHookInput(keys, splitKey) {\n if (splitKey === void 0) {\n splitKey = ',';\n }\n return keys.split(splitKey);\n}\nfunction parseHotkey(hotkey, combinationKey, description) {\n if (combinationKey === void 0) {\n combinationKey = '+';\n }\n var keys = hotkey.toLocaleLowerCase().split(combinationKey).map(function (k) {\n return mapKey(k);\n });\n var modifiers = {\n alt: keys.includes('alt'),\n ctrl: keys.includes('ctrl') || keys.includes('control'),\n shift: keys.includes('shift'),\n meta: keys.includes('meta'),\n mod: keys.includes('mod')\n };\n var singleCharKeys = keys.filter(function (k) {\n return !reservedModifierKeywords.includes(k);\n });\n return _extends({}, modifiers, {\n keys: singleCharKeys,\n description: description,\n hotkey: hotkey\n });\n}\n\n(function () {\n if (typeof document !== 'undefined') {\n document.addEventListener('keydown', function (e) {\n if (e.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n pushToCurrentlyPressedKeys([mapKey(e.key), mapKey(e.code)]);\n });\n document.addEventListener('keyup', function (e) {\n if (e.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n removeFromCurrentlyPressedKeys([mapKey(e.key), mapKey(e.code)]);\n });\n }\n if (typeof window !== 'undefined') {\n window.addEventListener('blur', function () {\n currentlyPressedKeys.clear();\n });\n }\n})();\nvar currentlyPressedKeys = /*#__PURE__*/new Set();\n// https://github.com/microsoft/TypeScript/issues/17002\nfunction isReadonlyArray(value) {\n return Array.isArray(value);\n}\nfunction isHotkeyPressed(key, splitKey) {\n if (splitKey === void 0) {\n splitKey = ',';\n }\n var hotkeyArray = isReadonlyArray(key) ? key : key.split(splitKey);\n return hotkeyArray.every(function (hotkey) {\n return currentlyPressedKeys.has(hotkey.trim().toLowerCase());\n });\n}\nfunction pushToCurrentlyPressedKeys(key) {\n var hotkeyArray = Array.isArray(key) ? key : [key];\n /*\r\n Due to a weird behavior on macOS we need to clear the set if the user pressed down the meta key and presses another key.\r\n https://stackoverflow.com/questions/11818637/why-does-javascript-drop-keyup-events-when-the-metakey-is-pressed-on-mac-browser\r\n Otherwise the set will hold all ever pressed keys while the meta key is down which leads to wrong results.\r\n */\n if (currentlyPressedKeys.has('meta')) {\n currentlyPressedKeys.forEach(function (key) {\n return !isHotkeyModifier(key) && currentlyPressedKeys[\"delete\"](key.toLowerCase());\n });\n }\n hotkeyArray.forEach(function (hotkey) {\n return currentlyPressedKeys.add(hotkey.toLowerCase());\n });\n}\nfunction removeFromCurrentlyPressedKeys(key) {\n var hotkeyArray = Array.isArray(key) ? key : [key];\n /*\r\n Due to a weird behavior on macOS we need to clear the set if the user pressed down the meta key and presses another key.\r\n https://stackoverflow.com/questions/11818637/why-does-javascript-drop-keyup-events-when-the-metakey-is-pressed-on-mac-browser\r\n Otherwise the set will hold all ever pressed keys while the meta key is down which leads to wrong results.\r\n */\n if (key === 'meta') {\n currentlyPressedKeys.clear();\n } else {\n hotkeyArray.forEach(function (hotkey) {\n return currentlyPressedKeys[\"delete\"](hotkey.toLowerCase());\n });\n }\n}\n\nfunction maybePreventDefault(e, hotkey, preventDefault) {\n if (typeof preventDefault === 'function' && preventDefault(e, hotkey) || preventDefault === true) {\n e.preventDefault();\n }\n}\nfunction isHotkeyEnabled(e, hotkey, enabled) {\n if (typeof enabled === 'function') {\n return enabled(e, hotkey);\n }\n return enabled === true || enabled === undefined;\n}\nfunction isKeyboardEventTriggeredByInput(ev) {\n return isHotkeyEnabledOnTag(ev, ['input', 'textarea', 'select']);\n}\nfunction isHotkeyEnabledOnTag(event, enabledOnTags) {\n if (enabledOnTags === void 0) {\n enabledOnTags = false;\n }\n var target = event.target,\n composed = event.composed;\n var targetTagName = null;\n if (isCustomElement(target) && composed) {\n targetTagName = event.composedPath()[0] && event.composedPath()[0].tagName;\n } else {\n targetTagName = target && target.tagName;\n }\n if (isReadonlyArray(enabledOnTags)) {\n return Boolean(targetTagName && enabledOnTags && enabledOnTags.some(function (tag) {\n var _targetTagName;\n return tag.toLowerCase() === ((_targetTagName = targetTagName) == null ? void 0 : _targetTagName.toLowerCase());\n }));\n }\n return Boolean(targetTagName && enabledOnTags && enabledOnTags);\n}\nfunction isCustomElement(element) {\n // We just do a basic check w/o any complex RegEx or validation against the list of legacy names containing a hyphen,\n // as none of them is likely to be an event target, and it won't hurt anyway if we miss.\n // see: https://html.spec.whatwg.org/multipage/custom-elements.html#prod-potentialcustomelementname\n return !!element.tagName && !element.tagName.startsWith(\"-\") && element.tagName.includes(\"-\");\n}\nfunction isScopeActive(activeScopes, scopes) {\n if (activeScopes.length === 0 && scopes) {\n console.warn('A hotkey has the \"scopes\" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>');\n return true;\n }\n if (!scopes) {\n return true;\n }\n return activeScopes.some(function (scope) {\n return scopes.includes(scope);\n }) || activeScopes.includes('*');\n}\nvar isHotkeyMatchingKeyboardEvent = function isHotkeyMatchingKeyboardEvent(e, hotkey, ignoreModifiers) {\n if (ignoreModifiers === void 0) {\n ignoreModifiers = false;\n }\n var alt = hotkey.alt,\n meta = hotkey.meta,\n mod = hotkey.mod,\n shift = hotkey.shift,\n ctrl = hotkey.ctrl,\n keys = hotkey.keys;\n var pressedKeyUppercase = e.key,\n code = e.code,\n ctrlKey = e.ctrlKey,\n metaKey = e.metaKey,\n shiftKey = e.shiftKey,\n altKey = e.altKey;\n var keyCode = mapKey(code);\n var pressedKey = pressedKeyUppercase.toLowerCase();\n if (!(keys != null && keys.includes(keyCode)) && !(keys != null && keys.includes(pressedKey)) && !['ctrl', 'control', 'unknown', 'meta', 'alt', 'shift', 'os'].includes(keyCode)) {\n return false;\n }\n if (!ignoreModifiers) {\n // We check the pressed keys for compatibility with the keyup event. In keyup events the modifier flags are not set.\n if (alt === !altKey && pressedKey !== 'alt') {\n return false;\n }\n if (shift === !shiftKey && pressedKey !== 'shift') {\n return false;\n }\n // Mod is a special key name that is checking for meta on macOS and ctrl on other platforms\n if (mod) {\n if (!metaKey && !ctrlKey) {\n return false;\n }\n } else {\n if (meta === !metaKey && pressedKey !== 'meta' && pressedKey !== 'os') {\n return false;\n }\n if (ctrl === !ctrlKey && pressedKey !== 'ctrl' && pressedKey !== 'control') {\n return false;\n }\n }\n }\n // All modifiers are correct, now check the key\n // If the key is set, we check for the key\n if (keys && keys.length === 1 && (keys.includes(pressedKey) || keys.includes(keyCode))) {\n return true;\n } else if (keys) {\n // Check if all keys are present in pressedDownKeys set\n return isHotkeyPressed(keys);\n } else if (!keys) {\n // If the key is not set, we only listen for modifiers, that check went alright, so we return true\n return true;\n }\n // There is nothing that matches.\n return false;\n};\n\nvar BoundHotkeysProxyProvider = /*#__PURE__*/createContext(undefined);\nvar useBoundHotkeysProxy = function useBoundHotkeysProxy() {\n return useContext(BoundHotkeysProxyProvider);\n};\nfunction BoundHotkeysProxyProviderProvider(_ref) {\n var addHotkey = _ref.addHotkey,\n removeHotkey = _ref.removeHotkey,\n children = _ref.children;\n return /*#__PURE__*/jsx(BoundHotkeysProxyProvider.Provider, {\n value: {\n addHotkey: addHotkey,\n removeHotkey: removeHotkey\n },\n children: children\n });\n}\n\nfunction deepEqual(x, y) {\n //@ts-ignore\n return x && y && typeof x === 'object' && typeof y === 'object' ? Object.keys(x).length === Object.keys(y).length &&\n //@ts-ignore\n Object.keys(x).reduce(function (isEqual, key) {\n return isEqual && deepEqual(x[key], y[key]);\n }, true) : x === y;\n}\n\nvar HotkeysContext = /*#__PURE__*/createContext({\n hotkeys: [],\n enabledScopes: [],\n toggleScope: function toggleScope() {},\n enableScope: function enableScope() {},\n disableScope: function disableScope() {}\n});\nvar useHotkeysContext = function useHotkeysContext() {\n return useContext(HotkeysContext);\n};\nvar HotkeysProvider = function HotkeysProvider(_ref) {\n var _ref$initiallyActiveS = _ref.initiallyActiveScopes,\n initiallyActiveScopes = _ref$initiallyActiveS === void 0 ? ['*'] : _ref$initiallyActiveS,\n children = _ref.children;\n var _useState = useState((initiallyActiveScopes == null ? void 0 : initiallyActiveScopes.length) > 0 ? initiallyActiveScopes : ['*']),\n internalActiveScopes = _useState[0],\n setInternalActiveScopes = _useState[1];\n var _useState2 = useState([]),\n boundHotkeys = _useState2[0],\n setBoundHotkeys = _useState2[1];\n var enableScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.includes('*')) {\n return [scope];\n }\n return Array.from(new Set([].concat(prev, [scope])));\n });\n }, []);\n var disableScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.filter(function (s) {\n return s !== scope;\n }).length === 0) {\n return ['*'];\n } else {\n return prev.filter(function (s) {\n return s !== scope;\n });\n }\n });\n }, []);\n var toggleScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.includes(scope)) {\n if (prev.filter(function (s) {\n return s !== scope;\n }).length === 0) {\n return ['*'];\n } else {\n return prev.filter(function (s) {\n return s !== scope;\n });\n }\n } else {\n if (prev.includes('*')) {\n return [scope];\n }\n return Array.from(new Set([].concat(prev, [scope])));\n }\n });\n }, []);\n var addBoundHotkey = useCallback(function (hotkey) {\n setBoundHotkeys(function (prev) {\n return [].concat(prev, [hotkey]);\n });\n }, []);\n var removeBoundHotkey = useCallback(function (hotkey) {\n setBoundHotkeys(function (prev) {\n return prev.filter(function (h) {\n return !deepEqual(h, hotkey);\n });\n });\n }, []);\n return /*#__PURE__*/jsx(HotkeysContext.Provider, {\n value: {\n enabledScopes: internalActiveScopes,\n hotkeys: boundHotkeys,\n enableScope: enableScope,\n disableScope: disableScope,\n toggleScope: toggleScope\n },\n children: /*#__PURE__*/jsx(BoundHotkeysProxyProviderProvider, {\n addHotkey: addBoundHotkey,\n removeHotkey: removeBoundHotkey,\n children: children\n })\n });\n};\n\nfunction useDeepEqualMemo(value) {\n var ref = useRef(undefined);\n if (!deepEqual(ref.current, value)) {\n ref.current = value;\n }\n return ref.current;\n}\n\nvar stopPropagation = function stopPropagation(e) {\n e.stopPropagation();\n e.preventDefault();\n e.stopImmediatePropagation();\n};\nvar useSafeLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\nfunction useHotkeys(keys, callback, options, dependencies) {\n var _useState = useState(null),\n ref = _useState[0],\n setRef = _useState[1];\n var hasTriggeredRef = useRef(false);\n var _options = !(options instanceof Array) ? options : !(dependencies instanceof Array) ? dependencies : undefined;\n var _keys = isReadonlyArray(keys) ? keys.join(_options == null ? void 0 : _options.splitKey) : keys;\n var _deps = options instanceof Array ? options : dependencies instanceof Array ? dependencies : undefined;\n var memoisedCB = useCallback(callback, _deps != null ? _deps : []);\n var cbRef = useRef(memoisedCB);\n if (_deps) {\n cbRef.current = memoisedCB;\n } else {\n cbRef.current = callback;\n }\n var memoisedOptions = useDeepEqualMemo(_options);\n var _useHotkeysContext = useHotkeysContext(),\n enabledScopes = _useHotkeysContext.enabledScopes;\n var proxy = useBoundHotkeysProxy();\n useSafeLayoutEffect(function () {\n if ((memoisedOptions == null ? void 0 : memoisedOptions.enabled) === false || !isScopeActive(enabledScopes, memoisedOptions == null ? void 0 : memoisedOptions.scopes)) {\n return;\n }\n var listener = function listener(e, isKeyUp) {\n var _e$target;\n if (isKeyUp === void 0) {\n isKeyUp = false;\n }\n if (isKeyboardEventTriggeredByInput(e) && !isHotkeyEnabledOnTag(e, memoisedOptions == null ? void 0 : memoisedOptions.enableOnFormTags)) {\n return;\n }\n // TODO: SINCE THE EVENT IS NOW ATTACHED TO THE REF, THE ACTIVE ELEMENT CAN NEVER BE INSIDE THE REF. THE HOTKEY ONLY TRIGGERS IF THE\n // REF IS THE ACTIVE ELEMENT. THIS IS A PROBLEM SINCE FOCUSED SUB COMPONENTS WON'T TRIGGER THE HOTKEY.\n if (ref !== null) {\n var rootNode = ref.getRootNode();\n if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement !== ref && !ref.contains(rootNode.activeElement)) {\n stopPropagation(e);\n return;\n }\n }\n if ((_e$target = e.target) != null && _e$target.isContentEditable && !(memoisedOptions != null && memoisedOptions.enableOnContentEditable)) {\n return;\n }\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n var _hotkey$keys;\n var hotkey = parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey);\n if (isHotkeyMatchingKeyboardEvent(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.ignoreModifiers) || (_hotkey$keys = hotkey.keys) != null && _hotkey$keys.includes('*')) {\n if (memoisedOptions != null && memoisedOptions.ignoreEventWhen != null && memoisedOptions.ignoreEventWhen(e)) {\n return;\n }\n if (isKeyUp && hasTriggeredRef.current) {\n return;\n }\n maybePreventDefault(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.preventDefault);\n if (!isHotkeyEnabled(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.enabled)) {\n stopPropagation(e);\n return;\n }\n // Execute the user callback for that hotkey\n cbRef.current(e, hotkey);\n if (!isKeyUp) {\n hasTriggeredRef.current = true;\n }\n }\n });\n };\n var handleKeyDown = function handleKeyDown(event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n pushToCurrentlyPressedKeys(mapKey(event.code));\n if ((memoisedOptions == null ? void 0 : memoisedOptions.keydown) === undefined && (memoisedOptions == null ? void 0 : memoisedOptions.keyup) !== true || memoisedOptions != null && memoisedOptions.keydown) {\n listener(event);\n }\n };\n var handleKeyUp = function handleKeyUp(event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n removeFromCurrentlyPressedKeys(mapKey(event.code));\n hasTriggeredRef.current = false;\n if (memoisedOptions != null && memoisedOptions.keyup) {\n listener(event, true);\n }\n };\n var domNode = ref || (_options == null ? void 0 : _options.document) || document;\n // @ts-ignore\n domNode.addEventListener('keyup', handleKeyUp);\n // @ts-ignore\n domNode.addEventListener('keydown', handleKeyDown);\n if (proxy) {\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n return proxy.addHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));\n });\n }\n return function () {\n // @ts-ignore\n domNode.removeEventListener('keyup', handleKeyUp);\n // @ts-ignore\n domNode.removeEventListener('keydown', handleKeyDown);\n if (proxy) {\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n return proxy.removeHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));\n });\n }\n };\n }, [ref, _keys, memoisedOptions, enabledScopes]);\n return setRef;\n}\n\nfunction useRecordHotkeys() {\n var _useState = useState(new Set()),\n keys = _useState[0],\n setKeys = _useState[1];\n var _useState2 = useState(false),\n isRecording = _useState2[0],\n setIsRecording = _useState2[1];\n var handler = useCallback(function (event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n setKeys(function (prev) {\n var newKeys = new Set(prev);\n newKeys.add(mapKey(event.code));\n return newKeys;\n });\n }, []);\n var stop = useCallback(function () {\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', handler);\n setIsRecording(false);\n }\n }, [handler]);\n var start = useCallback(function () {\n setKeys(new Set());\n if (typeof document !== 'undefined') {\n stop();\n document.addEventListener('keydown', handler);\n setIsRecording(true);\n }\n }, [handler, stop]);\n var resetKeys = useCallback(function () {\n setKeys(new Set());\n }, []);\n return [keys, {\n start: start,\n stop: stop,\n resetKeys: resetKeys,\n isRecording: isRecording\n }];\n}\n\nexport { HotkeysProvider, isHotkeyPressed, useHotkeys, useHotkeysContext, useRecordHotkeys };\n//# sourceMappingURL=react-hotkeys-hook.esm.js.map\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useMountedState() {\n var mountedRef = useRef(false);\n var get = useCallback(function () { return mountedRef.current; }, []);\n useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n }, []);\n return get;\n}\n","import { useCallback, useState } from 'react';\nvar useSetState = function (initialState) {\n if (initialState === void 0) { initialState = {}; }\n var _a = useState(initialState), state = _a[0], set = _a[1];\n var setState = useCallback(function (patch) {\n set(function (prevState) {\n return Object.assign({}, prevState, patch instanceof Function ? patch(prevState) : patch);\n });\n }, []);\n return [state, setState];\n};\nexport default useSetState;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","import writeText from 'copy-to-clipboard';\nimport { useCallback } from 'react';\nimport useMountedState from './useMountedState';\nimport useSetState from './useSetState';\nvar useCopyToClipboard = function () {\n var isMounted = useMountedState();\n var _a = useSetState({\n value: undefined,\n error: undefined,\n noUserInteraction: true,\n }), state = _a[0], setState = _a[1];\n var copyToClipboard = useCallback(function (value) {\n if (!isMounted()) {\n return;\n }\n var noUserInteraction;\n var normalizedValue;\n try {\n // only strings and numbers casted to strings can be copied to clipboard\n if (typeof value !== 'string' && typeof value !== 'number') {\n var error = new Error(\"Cannot copy typeof \" + typeof value + \" to clipboard, must be a string\");\n if (process.env.NODE_ENV === 'development')\n console.error(error);\n setState({\n value: value,\n error: error,\n noUserInteraction: true,\n });\n return;\n }\n // empty strings are also considered invalid\n else if (value === '') {\n var error = new Error(\"Cannot copy empty string to clipboard.\");\n if (process.env.NODE_ENV === 'development')\n console.error(error);\n setState({\n value: value,\n error: error,\n noUserInteraction: true,\n });\n return;\n }\n normalizedValue = value.toString();\n noUserInteraction = writeText(normalizedValue);\n setState({\n value: normalizedValue,\n error: undefined,\n noUserInteraction: noUserInteraction,\n });\n }\n catch (error) {\n setState({\n value: normalizedValue,\n error: error,\n noUserInteraction: noUserInteraction,\n });\n }\n }, []);\n return [state, copyToClipboard];\n};\nexport default useCopyToClipboard;\n"],"names":["avatarRecipe","defineRecipe","withContext","createRecipeContext","AvatarRoot","getInitials","firstName","lastName","Avatar","forwardRef","props","ref","src","alt","rest","fullName","sharedProps","jsx","Image","Box","ChakraBox","buttonRecipe","memoize","fn","cache","arg","reactPropsRegex","isPropValid","prop","ButtonRoot","variantKeys","chakraSfp","defaultSystem","shouldForwardProp","Button","forwardedRef","as","asChild","children","localRef","useRef","useObjectRef","mergeRefs","elementType","buttonProps","useButton","mergeProps","DialogContent","portalled","portalRef","backdrop","Portal","ChakraDialog","DialogCloseTrigger","DialogRoot","DialogFooter","DialogHeader","DialogBody","DialogBackdrop","DialogTitle","DialogDescription","DialogTrigger","DialogActionTrigger","IconButton","linkRecipe","LinkRoot","Link","linkProps","useLink","ListRoot","List","ListItem","GridComponent","ChakraSimpleGrid","SimpleGrid","GridItem","TableRoot","Table","TableColumnGroup","TableColumn","TableHeader","TableFooter","TableRow","TableCell","TableBody","TableColumnHeader","Text","ChakraText","tooltipRecipe","TooltipRoot","Tooltip","placement","RATooltip","TooltipTrigger","RATooltipTrigger","MakeElementFocusable","focusableProps","useFocusable","isValidElement","cloneElement","M","i","s","u","m","a","l","h","d","w","p","n","y","k","S","f","R","c","b","I","O","x","t","U","z","J","V","N","H","T","E","o","r","v","C","W","P","L","g","D","A","Q","_","ColorModeProvider","ThemeProvider","useColorMode","resolvedTheme","setTheme","useTheme","useColorModeValue","light","dark","colorMode","ColorModeLabel","animationStyles","defineAnimationStyles","transformBreakpoints","input","transformed","key","_a","breakpoints","themeTokens","globalCss","defineGlobalStyles","keyframes","layerStyles","defineLayerStyles","codeRecipe","headingRecipe","kbdRecipe","textInputRecipe","recipes","colors","defineSemanticTokens","shadows","radii","semanticTokens","dialogSlotRecipe","defineSlotRecipe","listSlotRecipe","tableSlotRecipe","checkboxSlotRecipe","selectSlotRecipe","accordionSlotRecipe","slotRecipes","textStyles","defineTextStyles","aspectRatios","defineTokens","animations","blurs","borders","durations","easings","fonts","fontSizes","fontWeights","convertPercentToEm","obj","acc","emValue","letterSpacings","lineHeights","spacing","sizes","zIndex","cursor","tokens","themeConfig","defineConfig","system","createSystem","defaultBaseConfig","NimbusProvider","ChakraProvider","Fragment","extractStyleProps","styleProps","otherProps","withProvider","createSlotRecipeContext","CheckboxRoot","CheckboxLabel","CheckboxIndicator","Checkbox","recipe","useSlotRecipe","recipeProps","restProps","state","useToggleState","inputProps","useCheckbox","isFocused","focusProps","useFocusRing","isSelected","isIndeterminate","stateProps","jsxs","Check","Minus","VisuallyHidden","Stack","ChakraStack","leftoverProps","ReactAriaViusallyHidden","TextInputRoot","TextInput","useRecipe","leftOverProps","textfieldProps","TextField","Input","ChakraGrid","Grid","SelectRootSlot","SelectTriggerSlot","SelectTriggerLabelSlot","SelectOptionsSlot","SelectOptionSlot","SelectOptionGroupSlot","SelectClearButton","useContext","SelectStateContext","onPressRequest","CloseIcon","SelectRoot","isLoading","isDisabled","restRecipeProps","raSelectProps","RaSelect","chakra","RaButton","RaSelectValue","Flex","SpinnerIcon","DropdownIndicatorIcon","RaPopover","fixedForwardRef","render","SelectOptions","RaListBox","SelectOption","RaListBoxItem","SelectOptionGroup","label","items","RaListBoxSection","RaHeader","Collection","item","Select","_SelectRoot","_SelectOptions","_SelectOption","_SelectOptionGroup","AccordionRoot","AccordionDisclosure","AccordionTrigger","AccordionPanel","AccordionTitle","HeaderRightContent","ItemContext","createContext","DisclosureGroupStateContext","AccordionGroup","onExpandedChange","useDisclosureGroupState","keys","AccordionRootSlot","AccordionHeader","context","headerContent","React","child","KeyboardArrowRight","AccordionContent","AccordionItem","id","isExpanded","value","defaultId","useId","itemValue","groupState","expanded","useDisclosureState","panelRef","triggerRef","disabled","panelProps","useDisclosure","finalButtonProps","isFocusVisible","contextValue","Accordion","loadingSpinnerRecipe","LoadingSpinnerRoot","circlePath","pointerPath","LoadingSpinner","ariaLabel","progressBarProps","useProgressBar","cardRecipe","CardRoot","CardHeader","CardContent","CardContext","headerNode","setHeader","useState","contentNode","setContent","useMemo","CardRootSlot","useEffect","slotElement","CardHeaderSlot","CardContentSlot","Card","badgeRecipe","BadgeRoot","Badge","alertRecipe","AlertRoot","AlertTitle","AlertDescription","AlertIcon","AlertActions","AlertDismissButton","getIconFromTone","tone","ErrorOutline","Info","WarningAmber","CheckCircleOutline","AlertContext","titleNode","setTitle","descriptionNode","setDescription","actionsNode","setActions","dismissNode","setDismiss","AlertRootSlot","AlertTitleSlot","AlertDescriptionSlot","AlertActionsSlot","AlertDismissButtonSlot","Clear","Alert","buttonGroupRecipe","_b","_c","_d","ToggleButtonGroupRoot","RacToggleButtonGroup","ToggleButtonGroupButton","RacToggleButton","ToggleButtonGroupRootSlot","ToggleButtonGroupButtonSlot","ToggleButtonGroup","columnLayout","rowLayout","formFieldRecipe","FormFieldRootSlot","FormFieldLabelSlot","FormFieldInputSlot","FormFieldDescriptionSlot","FormFieldErrorSlot","FormFieldPopoverSlot","FormFieldRoot","isInvalid","isRequired","isReadOnly","setContext","labelProps","fieldProps","descriptionProps","errorMessageProps","useField","prevContext","FormFieldContext","HelpOutline","Popover","Dialog","Children","FormFieldLabel","labelSlotProps","FormFieldInput","inputSlotProps","FormFieldDescription","descriptionSlotProps","FormFieldError","errorSlotProps","FormFieldInfoBox","FormField","_extends","e","reservedModifierKeywords","mappedKeys","mapKey","isHotkeyModifier","parseKeysHookInput","splitKey","parseHotkey","hotkey","combinationKey","description","modifiers","singleCharKeys","pushToCurrentlyPressedKeys","removeFromCurrentlyPressedKeys","currentlyPressedKeys","isReadonlyArray","isHotkeyPressed","hotkeyArray","maybePreventDefault","preventDefault","isHotkeyEnabled","enabled","isKeyboardEventTriggeredByInput","ev","isHotkeyEnabledOnTag","event","enabledOnTags","target","composed","targetTagName","isCustomElement","tag","_targetTagName","element","isScopeActive","activeScopes","scopes","scope","isHotkeyMatchingKeyboardEvent","ignoreModifiers","meta","mod","shift","ctrl","pressedKeyUppercase","code","ctrlKey","metaKey","shiftKey","altKey","keyCode","pressedKey","BoundHotkeysProxyProvider","useBoundHotkeysProxy","deepEqual","isEqual","HotkeysContext","useHotkeysContext","useDeepEqualMemo","stopPropagation","useSafeLayoutEffect","useLayoutEffect","useHotkeys","callback","options","dependencies","_useState","setRef","hasTriggeredRef","_options","_keys","_deps","memoisedCB","useCallback","cbRef","memoisedOptions","_useHotkeysContext","enabledScopes","proxy","listener","isKeyUp","_e$target","rootNode","_hotkey$keys","handleKeyDown","handleKeyUp","domNode","useMountedState","mountedRef","get","useSetState","initialState","set","setState","patch","prevState","toggleSelection","selection","active","ranges","range","deselectCurrent","require$$0","clipboardToIE11Formatting","defaultMessage","format","message","copyKey","copy","text","debug","reselectPrevious","mark","success","successful","err","copyToClipboard","useCopyToClipboard","isMounted","noUserInteraction","normalizedValue","error","writeText"],"mappings":"4mBAEaA,GAAeC,EAAAA,aAAa,CACvC,UAAW,SACX,KAAM,CACJ,QAAS,cACT,WAAY,SACZ,eAAgB,SAChB,cAAe,SACf,SAAU,SACV,WAAY,OACZ,aAAc,OACd,WAAY,EACZ,WAAY,MACZ,gBAAiB,iBACjB,aAAc,UACd,MAAO,kBACP,iBAAkB,UAClB,UAAW,CACT,OAAQ,QACV,EACA,UAAW,CACT,WAAY,UAAA,CAEhB,EACA,SAAU,CACR,KAAM,CACJ,GAAI,CAAE,MAAO,IAAM,OAAQ,IAAM,UAAW,IAAK,EACjD,GAAI,CAAE,MAAO,IAAK,OAAQ,IAAK,UAAW,IAAK,EAC/C,MAAO,CAAE,MAAO,IAAK,OAAQ,IAAK,UAAW,IAAK,CAAA,CAEtD,EACA,gBAAiB,CACf,KAAM,IAAA,CAEV,CAAC,ECtBK,CAAA,YAAEC,EAAY,EAAIC,EAAAA,oBAAoB,CAAE,OAAQH,GAAc,EAEvDI,GAAaF,GAA0C,QAAQ,ECV5E,SAASG,GAAYC,EAAmBC,EAAkB,CACxD,OACED,EAAU,MAAM,EAAE,EAAE,CAAC,EAAE,cAAgBC,EAAS,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,CAE7E,CAEO,MAAMC,GAASC,EAAA,WAAwC,CAACC,EAAOC,IAAQ,CAC5E,KAAM,CAAE,UAAAL,EAAW,SAAAC,EAAU,IAAAK,EAAK,IAAAC,EAAK,GAAGC,GAASJ,EAE7CK,EAAW,GAAGT,CAAS,IAAIC,CAAQ,GAEnCS,EAAc,CAClB,aAAc,GAAGD,CAAQ,UACzB,IAAAJ,EACA,GAAGG,CACL,EAEE,OAAAG,EAAA,IAACb,GAAY,CAAA,GAAGY,EACb,SAAAJ,EAEEK,EAAA,IAAAC,EAAA,MAAA,CAAM,IAAAN,EAAU,IAAKC,GAAOE,CAAU,CAAA,EAEvCV,GAAYC,EAAWC,CAAQ,EAEnC,CAEJ,CAAC,EAEDC,GAAO,YAAc,SC3Bd,MAAMW,EAAMV,EAAA,WAAqC,CAACC,EAAOC,IACtDM,EAAA,IAAAG,EAAA,IAAA,CAAU,IAAAT,EAAW,GAAGD,CAAO,CAAA,CACxC,EAEDS,EAAI,YAAc,MCRX,MAAME,EAAepB,EAAAA,aAAa,CACvC,UAAW,gBACX,KAAM,CACJ,aAAc,MACd,QAAS,cACT,WAAY,OACZ,WAAY,SACZ,eAAgB,SAChB,WAAY,OACZ,SAAU,WACV,WAAY,SACZ,cAAe,SACf,YAAa,MACb,YAAa,cACb,OAAQ,SACR,WAAY,IACZ,QAAS,IACT,WAAY,MACZ,UAAW,UACX,WAAY,MACZ,mBAAoB,SACpB,mBAAoB,WACpB,iBAAkB,UAClB,UAAW,CACT,WAAY,UACd,EACA,MAAO,CACL,WAAY,GAAA,CAEhB,EACA,SAAU,CACR,KAAM,CACJ,MAAO,CACL,EAAG,MACH,KAAM,MACN,SAAU,MACV,WAAY,MACZ,WAAY,MACZ,GAAI,MACJ,IAAK,MACL,MAAO,CACL,MAAO,MACP,OAAQ,KAAA,CAEZ,EACA,GAAI,CACF,EAAG,MACH,KAAM,MACN,SAAU,MACV,WAAY,MACZ,WAAY,MACZ,GAAI,MACJ,IAAK,MACL,MAAO,CACL,MAAO,MACP,OAAQ,KAAA,CAEZ,EAYA,GAAI,CACF,EAAG,OACH,KAAM,OACN,SAAU,MACV,WAAY,MACZ,GAAI,MACJ,IAAK,MACL,MAAO,CACL,MAAO,MACP,OAAQ,KAAA,CACV,CAmCJ,EACA,QAAS,CACP,MAAO,CACL,GAAI,iBACJ,MAAO,wBACP,OAAQ,CACN,GAAI,iBACN,EACA,UAAW,CACT,GAAI,iBAAA,CAER,EACA,OAAQ,CACN,GAAI,iBACJ,MAAO,kBACP,OAAQ,CACN,GAAI,gBACN,EACA,UAAW,CACT,GAAI,gBAAA,CAER,EACA,QAAS,CACP,YAAa,MACb,YAAa,iBACb,MAAO,kBACP,mBAAoB,wCACpB,mBAAoB,WACpB,OAAQ,CACN,GAAI,iBACJ,YAAa,gBACf,EACA,UAAW,CACT,GAAI,qBAAA,CAER,EACA,MAAO,CACL,MAAO,kBACP,OAAQ,CACN,GAAI,gBACN,EACA,UAAW,CACT,GAAI,gBAAA,CAER,EACA,KAAM,CACJ,MAAO,kBACP,OAAQ,CACN,eAAgB,WAAA,CAClB,CAEJ,EACA,KAAM,CACJ,QAAS,CACP,aAAc,SAChB,EACA,SAAU,CACR,aAAc,UAChB,EACA,QAAS,CACP,aAAc,SAChB,EACA,KAAM,CACJ,aAAc,MAAA,CAChB,CAEJ,EACA,gBAAiB,CACf,KAAM,KACN,QAAS,QAAA,CAEb,CAAC,EC3LD,SAASqB,GAAQC,EAAI,CACnB,IAAIC,EAAQ,OAAO,OAAO,IAAI,EAC9B,OAAO,SAAUC,EAAK,CACpB,OAAID,EAAMC,CAAG,IAAM,SAAWD,EAAMC,CAAG,EAAIF,EAAGE,CAAG,GAC1CD,EAAMC,CAAG,CACjB,CACH,CCHA,IAAIC,GAAkB,sgIAElBC,GAA6BL,GAAQ,SAAUM,EAAM,CACvD,OAAOF,GAAgB,KAAKE,CAAI,GAAKA,EAAK,WAAW,CAAC,IAAM,KAEzDA,EAAK,WAAW,CAAC,IAAM,KAEvBA,EAAK,WAAW,CAAC,EAAI,EAC1B,CAEA,ECUA,KAAM,CAAE1B,YAAAA,EAAY,EAAIC,sBAAoB,CAC1C,OAAQkB,CACV,CAAC,EAMYQ,GAAa3B,GACxB,SACA,CACE,aAAc,CACZ,KAAM,QACR,EAEA,kBAAkB0B,EAAME,EAAa,CAC7B,MAAAC,EACJ,EAACD,GAAA,MAAAA,EAAa,SAASF,KAAS,CAACI,EAAAA,cAAc,gBAAgBJ,CAAI,EACrE,OAAOK,GAAkBL,CAAI,GAAKG,GAAa,CAACH,EAAK,SAAS,SAAS,CAAA,CACzE,CAEJ,ECtCaM,EAASzB,EAAA,WACpB,CAACC,EAAOyB,IAAiB,CACvB,KAAM,CAAE,GAAAC,EAAI,QAAAC,EAAS,SAAAC,EAAU,GAAGxB,CAAS,EAAAJ,EAGrC6B,EAAWC,SAA0B,IAAI,EAEzC7B,EAAM8B,EAAA,aAAaC,EAAU,UAAAH,EAAUJ,CAAY,CAAC,EAIpDQ,EAAcP,IAAOC,EAAU,IAAM,WAAa,SAElD,CAAE,YAAAO,GAAgBC,EAAA,UACtB,CACE,GAAG/B,EACH,YAAA6B,CACF,EACAhC,CACF,EAEA,OACGM,EAAA,IAAAY,GAAA,CAAY,GAAGiB,EAAAA,WAAWhC,EAAM8B,EAAa,CAAE,GAAAR,EAAI,QAAAC,EAAS,IAAA1B,EAAK,EAC/D,SAAA2B,CACH,CAAA,CAAA,CAGN,EAGAJ,EAAO,YAAc,SC1Bd,MAAMa,GAAgBtC,EAAA,WAC3B,SAAuBC,EAAOC,EAAK,CAC3B,KAAA,CACJ,SAAA2B,EACA,UAAAU,EAAY,GACZ,UAAAC,EACA,SAAAC,EAAW,GACX,GAAGpC,CAAA,EACDJ,EAEJ,cACGyC,EAAO,OAAA,CAAA,SAAU,CAACH,EAAW,UAAWC,EACtC,SAAA,CAAYC,GAAAjC,EAAA,IAACmC,SAAa,SAAb,CAAA,CAAsB,EACnCnC,EAAA,IAAAmC,EAAA,OAAa,WAAb,CACC,eAACA,EAAAA,OAAa,QAAb,CAAqB,IAAAzC,EAAW,GAAGG,EAAM,QAAS,GAChD,SAAAwB,CACH,CAAA,CACF,CAAA,CAAA,EACF,CAAA,CAGN,EAEae,GAAqB5C,EAAAA,WAGhC,SAA4BC,EAAOC,EAAK,CAEtC,OAAAM,EAAA,IAACmC,EAAAA,OAAa,aAAb,CACC,SAAS,WACT,IAAI,IACJ,SAAS,IACR,GAAG1C,EACJ,QAAO,GAEP,eAACwB,EAAO,CAAA,KAAK,KAAK,IAAAvB,EACf,WAAM,QACT,CAAA,CAAA,CACF,CAEJ,CAAC,EAEY2C,GAAaF,EAAAA,OAAa,KAC1BG,GAAeH,EAAAA,OAAa,OAC5BI,GAAeJ,EAAAA,OAAa,OAC5BK,GAAaL,EAAAA,OAAa,KAC1BM,GAAiBN,EAAAA,OAAa,SAC9BO,GAAcP,EAAAA,OAAa,MAC3BQ,GAAoBR,EAAAA,OAAa,YACjCS,GAAgBT,EAAAA,OAAa,QAC7BU,GAAsBV,EAAAA,OAAa,cClDnCW,EAAatD,EAAA,WACxB,CAAC,CAAE,SAAA6B,EAAU,GAAG5B,CAAA,EAASC,IAErBM,MAACiB,GAAO,GAAI,EAAG,GAAI,EAAG,IAAAvB,EAAW,GAAGD,EACjC,SAAA4B,CACH,CAAA,CAGN,EAEAyB,EAAW,YAAc,aCdlB,MAAMC,GAAa/D,EAAAA,aAAa,CACrC,UAAW,cAEX,KAAM,CACJ,QAAS,cACT,WAAY,SACZ,MAAO,kBACP,aAAc,MACd,iBAAkB,UAClB,GAAI,cACJ,QAAS,OACT,OAAQ,UACR,eAAgB,YAChB,oBAAqB,MACrB,OAAQ,CACN,wBAAyB,KAAA,CAE7B,EAEA,SAAU,CAER,KAAM,CACJ,GAAI,CACF,SAAU,MACV,WAAY,KACd,EACA,GAAI,CACF,SAAU,MACV,WAAY,KACd,EACA,GAAI,CACF,SAAU,MACV,WAAY,KAAA,CAEhB,EAEA,UAAW,CACT,QAAS,CACP,MAAO,SACT,EACA,QAAS,CACP,MAAO,SAAA,CACT,CACF,CAEJ,CAAC,EC7BK,CAAA,YAAEC,EAAY,EAAIC,EAAAA,oBAAoB,CAAE,OAAQ6D,GAAY,EAMrDC,GAAW/D,GAA8C,GAAG,ECT5DgE,GAAOzD,EAAA,WAClB,CAACC,EAAOyB,IAAiB,CACvB,KAAM,CAAE,GAAAC,EAAI,QAAAC,EAAS,SAAAC,EAAU,GAAGxB,CAAS,EAAAJ,EAErC6B,EAAWC,SAA0B,IAAI,EACzC7B,EAAM8B,EAAA,aAAaC,EAAU,UAAAH,EAAUJ,CAAY,CAAC,EAEpDQ,EAAeP,IAAkBC,EAAU,OAAS,MAAQ,IAC5D,CAAE,UAAA8B,GAAcC,EAAA,QAAQ,CAAE,GAAGtD,EAAM,YAAA6B,CAAY,EAAGhC,CAAG,EAE3D,OACGM,EAAA,IAAAgD,GAAA,CAAU,GAAGnB,EAAAA,WAAWhC,EAAMqD,EAAW,CAAE,GAAA/B,EAAI,QAAAC,EAAS,IAAA1B,EAAK,EAC3D,SAAA2B,CACH,CAAA,CAAA,CAGN,EAEA4B,GAAK,YAAc,OChCb,MAAAG,GAAY3D,GAAwBO,EAAA,IAACqD,OAAK,KAAL,CAAW,GAAG5D,CAAO,CAAA,EAC1D6D,GAAY7D,GAAwBO,EAAA,IAACqD,OAAK,KAAL,CAAW,GAAG5D,CAAO,CAAA,ECc1D8D,GAAgB/D,EAAA,WACpB,CAACC,EAAOC,IACEM,EAAA,IAAAwD,EAAA,WAAA,CAAiB,IAAA9D,EAAW,GAAGD,CAAO,CAAA,CAElD,EAEA8D,GAAc,YAAc,aAEf,MAAAE,GAAa,OAAO,OAAOF,GAAe,CACrD,KAAMG,EAAAA,QACR,CAAC,ECbKC,GAAalE,GAA0BO,EAAA,IAAC4D,QAAM,KAAN,CAAY,GAAGnE,CAAO,CAAA,EAC9DoE,GAAoBpE,GACxBO,EAAA,IAAC4D,QAAM,YAAN,CAAmB,GAAGnE,CAAO,CAAA,EAE1BqE,GAAerE,GAA4BO,EAAA,IAAC4D,QAAM,OAAN,CAAc,GAAGnE,CAAO,CAAA,EACpEsE,GAAetE,GAA4BO,EAAA,IAAC4D,QAAM,OAAN,CAAc,GAAGnE,CAAO,CAAA,EACpEuE,GAAevE,GAA4BO,EAAA,IAAC4D,QAAM,OAAN,CAAc,GAAGnE,CAAO,CAAA,EACpEwE,GAAYxE,GAAyBO,EAAA,IAAC4D,QAAM,IAAN,CAAW,GAAGnE,CAAO,CAAA,EAC3DyE,GAAazE,GAA0BO,EAAA,IAAC4D,QAAM,KAAN,CAAY,GAAGnE,CAAO,CAAA,EAC9D0E,GAAa1E,GAA0BO,EAAA,IAAC4D,QAAM,KAAN,CAAY,GAAGnE,CAAO,CAAA,EAC9D2E,GAAqB3E,GACzBO,EAAA,IAAC4D,QAAM,aAAN,CAAoB,GAAGnE,CAAO,CAAA,ECZpB4E,GAAO7E,EAAA,WAClB,CAACC,EAAOC,IACEM,EAAA,IAAAsE,EAAA,KAAA,CAAW,IAAA5E,EAAW,GAAGD,CAAO,CAAA,CAE5C,EAEA4E,GAAK,YAAc,OChBZ,MAAME,GAAgBvF,EAAAA,aAAa,CAExC,UAAW,iBAGX,KAAM,CACJ,MAAO,QACP,UAAW,KACX,WAAY,MACZ,WAAY,WACZ,QAAS,cACT,WAAY,SACZ,aAAc,MACd,SAAU,MACV,SAAU,MACV,OAAQ,MACR,KAAM,OACN,UAAW,GAAA,CAEf,CAAC,ECAK,CAAA,YAAEC,EAAY,EAAIC,EAAAA,oBAAoB,CAAE,OAAQqF,GAAe,EAMxDC,GAAcvF,GAGzB,KAAK,ECfMwF,GAAUjF,EAAA,WACrB,SAAiB,CAAE,SAAA6B,EAAU,UAAAqD,EAAY,SAAU,GAAGjF,CAAM,EAAGyB,EAAc,CAC3E,OACGlB,EAAAA,IAAAwE,GAAA,CAAY,IAAKtD,EAAc,QAAO,GAAE,GAAGzB,EAC1C,SAAAO,EAAAA,IAAC2E,EAAAA,QAAU,CAAA,UAAAD,EAAuB,GAAGjF,EAClC,SAAA4B,CACH,CAAA,EACF,CAAA,CAGN,EACAoD,GAAQ,YAAc,UClBf,MAAMG,GAAiBC,EAAAA,eAE9BD,GAAe,YAAc,iBCsBtB,MAAME,GAAuBtF,EAAAA,WAGlC,SAA8BC,EAAOyB,EAAc,CAC7C,MAAAI,EAAWC,SAAoB,IAAI,EACnC7B,EAAM8B,EAAA,aAAaC,EAAU,UAAAH,EAAUJ,CAAY,CAAC,EACpD,CAAE,eAAA6D,CAAmB,EAAAC,eAAavF,EAAOC,CAAG,EAC9C,GAAAuF,EAAA,eAAexF,EAAM,QAAQ,EACxB,OAAAyF,EAAA,aACLzF,EAAM,SACNoC,EAAA,WACEkD,EACAtF,EAAM,SAAS,MAGf,CAAE,IAAAC,CAAS,CAAA,CAEf,CAEJ,CAAC,EACDoF,GAAqB,YAAc,uBCxDE,IAAIK,GAAE,CAAC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,IAAI,CAAC,IAAIC,EAAE,SAAS,gBAAgBC,EAAE,CAAC,QAAQ,MAAM,EAAE,SAASC,EAAEC,EAAE,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQC,GAAG,CAAC,IAAIC,EAAED,IAAI,QAAQE,EAAED,GAAGR,EAAED,EAAE,IAAIW,GAAGV,EAAEU,CAAC,GAAGA,CAAC,EAAEX,EAAES,GAAGL,EAAE,UAAU,OAAO,GAAGM,CAAC,EAAEN,EAAE,UAAU,IAAIH,GAAGA,EAAEM,CAAC,EAAEN,EAAEM,CAAC,EAAEA,CAAC,GAAGH,EAAE,aAAaI,EAAED,CAAC,CAAC,CAAC,EAAEK,EAAEL,CAAC,CAAC,CAAC,SAASK,EAAEL,EAAE,CAACJ,GAAGE,EAAE,SAASE,CAAC,IAAIH,EAAE,MAAM,YAAYG,EAAE,CAAC,SAASM,GAAG,CAAC,OAAO,OAAO,WAAW,8BAA8B,EAAE,QAAQ,OAAO,OAAO,CAAC,GAAGd,EAAEO,EAAEP,CAAC,MAAO,IAAG,CAAC,IAAIQ,EAAE,aAAa,QAAQV,CAAC,GAAGC,EAAEU,EAAEN,GAAGK,IAAI,SAASM,EAAG,EAACN,EAAED,EAAEE,CAAC,CAAC,MAAS,CAAE,CAAA,EAAMM,GAAE,CAAC,QAAQ,MAAM,EAAEC,GAAE,+BAA+BC,GAAE,OAAO,OAAQ,IAAYC,GAAEC,EAAE,cAAc,MAAM,EAAEC,GAAE,CAAC,SAAS,GAAG,CAAE,EAAC,OAAO,EAAE,EAAEC,GAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAEF,EAAE,WAAWD,EAAC,IAAI,KAAK,EAAEE,EAAC,EAAEE,GAAE,GAAGH,EAAE,WAAWD,EAAC,EAAEC,EAAE,cAAcA,EAAE,SAAS,KAAK,EAAE,QAAQ,EAAEA,EAAE,cAAcI,GAAE,CAAC,GAAG,CAAC,CAAC,EAAEC,GAAE,CAAC,QAAQ,MAAM,EAAED,GAAE,CAAC,CAAC,YAAY,EAAE,0BAA0BzB,EAAE,GAAG,aAAaC,EAAE,GAAG,kBAAkBC,EAAE,GAAG,WAAWC,EAAE,QAAQ,OAAOC,EAAEsB,GAAE,aAAarB,EAAEJ,EAAE,SAAS,QAAQ,UAAUK,EAAE,aAAa,MAAMC,EAAE,SAASC,EAAE,MAAMC,EAAE,YAAYM,CAAC,IAAI,CAAC,GAAG,CAACC,EAAEN,CAAC,EAAEW,EAAE,SAAS,IAAIM,GAAExB,EAAEE,CAAC,CAAC,EAAE,CAACuB,EAAEjB,CAAC,EAAEU,EAAE,SAAS,IAAIL,IAAI,SAASa,IAAIb,CAAC,EAAEJ,EAAEL,EAAE,OAAO,OAAOA,CAAC,EAAEH,EAAE,EAAEiB,EAAE,YAAYS,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,CAACC,EAAE,OAAOD,IAAI,UAAU7B,IAAI8B,EAAEF,KAAK,IAAIG,EAAEzB,EAAEA,EAAEwB,CAAC,EAAEA,EAAEE,EAAEjC,EAAEkC,GAAEzB,CAAC,EAAE,KAAK0B,EAAE,SAAS,gBAAgBC,EAAEC,GAAG,CAACA,IAAI,SAASF,EAAE,UAAU,OAAO,GAAGvB,CAAC,EAAEoB,GAAGG,EAAE,UAAU,IAAIH,CAAC,GAAGK,EAAE,WAAW,OAAO,IAAIL,EAAEG,EAAE,aAAaE,EAAEL,CAAC,EAAEG,EAAE,gBAAgBE,CAAC,EAAE,EAAE,GAAG,MAAM,QAAQ/B,CAAC,EAAEA,EAAE,QAAQ8B,CAAC,EAAEA,EAAE9B,CAAC,EAAEJ,EAAE,CAAC,IAAImC,EAAEpB,GAAE,SAASZ,CAAC,EAAEA,EAAE,KAAKiC,EAAErB,GAAE,SAASc,CAAC,EAAEA,EAAEM,EAAEF,EAAE,MAAM,YAAYG,CAAC,CAACL,GAAG,MAAMA,GAAG,EAAE,CAACxB,CAAC,CAAC,EAAEK,EAAEO,EAAE,YAAYS,GAAG,CAAC,IAAIC,EAAE,OAAOD,GAAG,WAAWA,EAAEd,CAAC,EAAEc,EAAEpB,EAAEqB,CAAC,EAAE,GAAG,CAAC,aAAa,QAAQ5B,EAAE4B,CAAC,CAAC,MAAS,CAAE,CAAA,EAAE,CAACf,CAAC,CAAC,EAAEuB,EAAElB,EAAE,YAAYS,GAAG,CAAC,IAAIC,EAAEF,EAAEC,CAAC,EAAEnB,EAAEoB,CAAC,EAAEf,IAAI,UAAUf,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAACe,EAAE,CAAC,CAAC,EAAEK,EAAE,UAAU,IAAI,CAAC,IAAIS,EAAE,OAAO,WAAWZ,EAAC,EAAE,OAAOY,EAAE,YAAYS,CAAC,EAAEA,EAAET,CAAC,EAAE,IAAIA,EAAE,eAAeS,CAAC,CAAC,EAAE,CAACA,CAAC,CAAC,EAAElB,EAAE,UAAU,IAAI,CAAC,IAAIS,EAAEC,GAAG,CAACA,EAAE,MAAM5B,IAAI4B,EAAE,SAASrB,EAAEqB,EAAE,QAAQ,EAAEjB,EAAET,CAAC,EAAE,EAAE,OAAO,OAAO,iBAAiB,UAAUyB,CAAC,EAAE,IAAI,OAAO,oBAAoB,UAAUA,CAAC,CAAC,EAAE,CAAChB,CAAC,CAAC,EAAEO,EAAE,UAAU,IAAI,CAAC,EAAE,GAAUL,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,IAAIwB,EAAEnB,EAAE,QAAQ,KAAK,CAAC,MAAML,EAAE,SAASF,EAAE,YAAY,EAAE,cAAcE,IAAI,SAASY,EAAEZ,EAAE,OAAOf,EAAE,CAAC,GAAGG,EAAE,QAAQ,EAAEA,EAAE,YAAYH,EAAE2B,EAAE,MAAM,GAAG,CAACZ,EAAEF,EAAE,EAAEc,EAAE3B,EAAEG,CAAC,CAAC,EAAE,OAAOiB,EAAE,cAAcD,GAAE,SAAS,CAAC,MAAMoB,CAAC,EAAEnB,EAAE,cAAcoB,GAAE,CAAC,YAAY,EAAE,WAAWtC,EAAE,UAAUG,EAAE,aAAaL,EAAE,kBAAkBC,EAAE,aAAaG,EAAE,MAAME,EAAE,OAAOH,EAAE,MAAMK,EAAE,YAAYM,CAAC,CAAC,EAAEP,CAAC,CAAC,EAAEiC,GAAEpB,EAAE,KAAK,CAAC,CAAC,YAAY,EAAE,WAAWrB,EAAE,UAAUC,EAAE,aAAaC,EAAE,kBAAkBC,EAAE,aAAaC,EAAE,MAAMC,EAAE,OAAOC,EAAE,MAAMC,EAAE,YAAYC,CAAC,IAAI,CAAC,IAAIC,EAAE,KAAK,UAAU,CAACR,EAAED,EAAEI,EAAE,EAAEE,EAAED,EAAEH,EAAEC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAOkB,EAAE,cAAc,SAAS,CAAC,GAAGb,EAAE,yBAAyB,GAAG,MAAM,OAAO,OAAQ,IAAYD,EAAE,GAAG,wBAAwB,CAAC,OAAO,IAAIR,GAAE,SAAQ,CAAE,KAAKU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAEkB,GAAE,CAAC,EAAE3B,IAAI,CAAC,GAAGmB,GAAE,OAAO,IAAIlB,EAAE,GAAG,CAACA,EAAE,aAAa,QAAQ,CAAC,GAAG,MAAM,MAAS,EAAE,OAAOA,GAAGD,CAAC,EAAEkC,GAAE,GAAG,CAAC,IAAIlC,EAAE,SAAS,cAAc,OAAO,EAAE,OAAO,GAAGA,EAAE,aAAa,QAAQ,CAAC,EAAEA,EAAE,YAAY,SAAS,eAAe,6KAA6K,CAAC,EAAE,SAAS,KAAK,YAAYA,CAAC,EAAE,IAAI,CAAC,OAAO,iBAAiB,SAAS,IAAI,EAAE,WAAW,IAAI,CAAC,SAAS,KAAK,YAAYA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE6B,EAAE,IAAI,IAAI,EAAE,OAAO,WAAWX,EAAC,GAAG,EAAE,QAAQ,OAAO,SCKtuG,SAASwB,GAAkBrI,EAA+B,CAC/D,aACGsI,GAAc,CAAA,UAAU,QAAQ,0BAAyB,GAAE,GAAGtI,EAAO,CAE1E,CAEO,SAASuI,IAAe,CAC7B,KAAM,CAAE,cAAAC,EAAe,SAAAC,CAAS,EAAIC,GAAS,EAItC,MAAA,CACL,UAAWF,EACX,aAAcC,EACd,gBANsB,IAAM,CACnBA,EAAAD,IAAkB,QAAU,OAAS,OAAO,CACvD,CAKA,CACF,CAEgB,SAAAG,GAAqBC,EAAUC,EAAS,CAChD,KAAA,CAAE,UAAAC,CAAU,EAAIP,GAAa,EAC5B,OAAAO,IAAc,QAAUF,EAAQC,CACzC,CAEO,SAASE,IAAiB,CACzB,KAAA,CAAE,UAAAD,CAAU,EAAIP,GAAa,EAC5B,OAAAO,IAAc,QAAU,cAAgB,WACjD,CC3BO,MAAME,GAAuCC,EAAAA,sBAAsB,CACxE,gBAAiB,CACf,MAAO,CACL,gBAAiB,0BACjB,yBAA0B,CACxB,cAAe,4BACjB,EACA,4BAA6B,CAC3B,cAAe,yBACjB,EACA,0BAA2B,CACzB,cAAe,2BACjB,EACA,2BAA4B,CAC1B,cAAe,0BAAA,CACjB,CAEJ,EACA,iBAAkB,CAChB,MAAO,CACL,gBAAiB,0BACjB,yBAA0B,CACxB,cAAe,2BACjB,EACA,4BAA6B,CAC3B,cAAe,wBACjB,EACA,0BAA2B,CACzB,cAAe,0BACjB,EACA,2BAA4B,CAC1B,cAAe,yBAAA,CACjB,CAEJ,EACA,gBAAiB,CACf,MAAO,CACL,gBAAiB,0BACjB,cAAe,mBAAA,CAEnB,EACA,iBAAkB,CAChB,MAAO,CACL,gBAAiB,0BACjB,cAAe,qBAAA,CACjB,CAEJ,CAAC,ECpCD,SAASC,GACPC,EACwB,OACxB,MAAMC,EAAsC,CAAC,EAE7C,UAAWC,KAAOF,GACXG,EAAAH,EAAME,CAAG,IAAT,MAAAC,EAAgC,MACnCF,EAAYC,CAAG,EAAKF,EAAME,CAAG,EAAsB,MAEvCD,EAAAC,CAAG,EAAIF,EAAME,CAAG,EAIzB,OAAAD,CACT,CAEa,MAAAG,GAAcL,GAAqBM,EAAA,YAAY,WAAW,EC7B1DC,GAAYC,EAAAA,mBAAmB,CAC1C,IAAK,CACH,oBACE,yDACF,eAAgB,kCAChB,sBAAuB,MACvB,sBAAuB,OACvB,eAAgB,0BAChB,uBAAwB,YACxB,gBAAiB,YACjB,qBAAsB,mBACtB,eAAgB,kCAChB,aAAc,kCACd,cAAe,kCACf,eAAgB,kCAChB,WAAY,kCACZ,aAAc,kCACd,UAAW,kCACX,gBAAiB,kCACjB,kBAAmB,kCACnB,wBAAyB,kCACzB,sBAAuB,kCACvB,uBAAwB,kCACxB,wBAAyB,kCACzB,oBAAqB,kCACrB,qBAAsB,kCACtB,sBAAuB,kCACvB,mBAAoB,kCACpB,qBAAsB,aACtB,qBAAsB,aACtB,wBAAyB,eAC3B,EAGA,SAAU,CACR,oBAAqB,gDACvB,EACA,KAAM,CACJ,MAAO,KACP,GAAI,KACJ,WAAY,MACZ,aAAc,SAChB,EACA,iBAAkB,CAChB,MAAO,aACT,EACA,eAAgB,CACd,GAAI,iBACJ,MAAO,uBAAA,CAEX,CAAC,ECpDYC,GAAY,CACvB,KAAM,CACJ,KAAM,CACJ,UAAW,cACb,EACA,OAAQ,CACN,UAAW,gBAAA,CAEf,EACA,MAAO,CACL,MAAO,CACL,QAAS,KAAA,CAEb,EACA,KAAM,CACJ,YAAa,CACX,UAAW,WACX,QAAS,GAAA,CAEb,EACA,OAAQ,CACN,WAAY,CACV,UAAW,mBACX,wBAAyB,yBAC3B,EACA,MAAO,CACL,UAAW,OACX,wBAAyB,yBAAA,CAE7B,EAEA,UAAW,CACT,KAAM,CACJ,QAAS,CACX,EACA,GAAI,CACF,QAAS,CAAA,CAEb,EACA,WAAY,CACV,KAAM,CACJ,QAAS,CACX,EACA,GAAI,CACF,QAAS,CAAA,CAEb,EACA,uBAAwB,CACtB,KAAM,CACJ,UAAW,SACb,EACA,GAAI,CACF,UAAW,KAAA,CAEf,EACA,wBAAyB,CACvB,KAAM,CACJ,UAAW,QACb,EACA,GAAI,CACF,UAAW,KAAA,CAEf,EACA,sBAAuB,CACrB,KAAM,CACJ,UAAW,SACb,EACA,GAAI,CACF,UAAW,KAAA,CAEf,EACA,yBAA0B,CACxB,KAAM,CACJ,UAAW,QACb,EACA,GAAI,CACF,UAAW,KAAA,CAEf,EACA,qBAAsB,CACpB,KAAM,CACJ,UAAW,KACb,EACA,GAAI,CACF,UAAW,SAAA,CAEf,EACA,sBAAuB,CACrB,KAAM,CACJ,UAAW,KACb,EACA,GAAI,CACF,UAAW,QAAA,CAEf,EACA,oBAAqB,CACnB,KAAM,CACJ,UAAW,KACb,EACA,GAAI,CACF,UAAW,SAAA,CAEf,EACA,uBAAwB,CACtB,KAAM,CACJ,UAAW,KACb,EACA,GAAI,CACF,UAAW,QAAA,CAEf,EACA,iBAAkB,CAChB,KAAM,CACJ,UAAW,WACb,EACA,GAAI,CACF,UAAW,GAAA,CAEf,EACA,oBAAqB,CACnB,KAAM,CACJ,UAAW,UACb,EACA,GAAI,CACF,UAAW,GAAA,CAEf,EACA,kBAAmB,CACjB,KAAM,CACJ,UAAW,WACb,EACA,GAAI,CACF,UAAW,GAAA,CAEf,EACA,mBAAoB,CAClB,KAAM,CACJ,UAAW,UACb,EACA,GAAI,CACF,UAAW,GAAA,CAEf,EACA,eAAgB,CACd,KAAM,CACJ,UAAW,GACb,EACA,GAAI,CACF,UAAW,WAAA,CAEf,EACA,kBAAmB,CACjB,KAAM,CACJ,UAAW,GACb,EACA,GAAI,CACF,UAAW,UAAA,CAEf,EACA,gBAAiB,CACf,KAAM,CACJ,UAAW,GACb,EACA,GAAI,CACF,UAAW,WAAA,CAEf,EACA,iBAAkB,CAChB,KAAM,CACJ,UAAW,GACb,EACA,GAAI,CACF,UAAW,UAAA,CAEf,EACA,WAAY,CACV,KAAM,CACJ,MAAO,MACT,EACA,GAAI,CACF,MAAO,GAAA,CAEX,EACA,YAAa,CACX,KAAM,CACJ,MAAO,GACT,EACA,GAAI,CACF,MAAO,MAAA,CACT,CAEJ,EC3LaC,GAA+BC,EAAAA,kBAAkB,CAC5D,SAAU,CACR,MAAO,CACL,QAAS,MACT,OAAQ,aAAA,CACV,CAEJ,CAAC,ECTYC,GAAavK,EAAAA,aAAa,CACrC,UAAW,cACX,KAAM,CACJ,WAAY,OACZ,WAAY,SACZ,QAAS,cACT,aAAc,KAChB,EACA,SAAU,CACR,QAAS,CACP,MAAO,CACL,GAAI,iBACJ,MAAO,iBACT,EACA,OAAQ,CACN,GAAI,iBACJ,MAAO,iBACT,EACA,QAAS,CACP,MAAO,kBACP,OAAQ,wCACR,YAAa,oBACf,EACA,QAAS,CACP,GAAI,sBACJ,MAAO,kBACP,OAAQ,wCACR,YAAa,oBACf,EACA,MAAO,CACL,MAAO,iBAAA,CAEX,EACA,KAAM,CACJ,GAAI,CACF,UAAW,MACX,GAAI,MACJ,KAAM,KACR,EACA,GAAI,CACF,UAAW,KACX,GAAI,MACJ,KAAM,KACR,EACA,GAAI,CACF,UAAW,KACX,GAAI,MACJ,KAAM,KACR,EACA,GAAI,CACF,UAAW,KACX,GAAI,MACJ,KAAM,KAAA,CACR,CAEJ,EACA,gBAAiB,CACf,QAAS,QACT,KAAM,IAAA,CAEV,CAAC,EC5DYwK,GAAgBxK,EAAAA,aAAa,CACxC,UAAW,iBACX,KAAM,CACJ,WAAY,UACZ,WAAY,KACd,EACA,SAAU,CACR,KAAM,CACJ,GAAI,CACF,UAAW,IACb,EACA,GAAI,CACF,UAAW,IACb,EACA,GAAI,CACF,UAAW,IACb,EACA,GAAI,CACF,UAAW,IACb,EACA,GAAI,CACF,UAAW,IACb,EACA,MAAO,CACL,UAAW,KACb,EACA,MAAO,CACL,UAAW,KACb,EACA,MAAO,CACL,UAAW,KACb,EACA,MAAO,CACL,UAAW,KACb,EACA,MAAO,CACL,UAAW,KACb,EACA,MAAO,CACL,UAAW,KAAA,CACb,CAEJ,EACA,gBAAiB,CACf,KAAM,IAAA,CAEV,CAAC,EC9CYyK,GAAYzK,EAAAA,aAAa,CACpC,UAAW,aACX,KAAM,CACJ,QAAS,cACT,WAAY,SACZ,WAAY,SACZ,WAAY,OACZ,WAAY,IACZ,WAAY,SACZ,YAAa,SACb,WAAY,OACZ,GAAI,MACJ,aAAc,KAChB,EACA,SAAU,CACR,QAAS,CACP,OAAQ,CACN,GAAI,sBACJ,MAAO,kBACP,YAAa,MACb,kBAAmB,MACnB,YAAa,oBACf,EACA,QAAS,CACP,YAAa,MACb,MAAO,iBACT,EACA,OAAQ,CACN,GAAI,qBACJ,MAAO,iBACT,EACA,MAAO,CACL,MAAO,iBAAA,CAEX,EACA,KAAM,CACJ,GAAI,CACF,UAAW,KACX,OAAQ,KACV,EACA,GAAI,CACF,UAAW,KACX,OAAQ,KACV,EACA,GAAI,CACF,UAAW,KACX,OAAQ,KAAA,CACV,CAEJ,EACA,gBAAiB,CACf,KAAM,KACN,QAAS,QAAA,CAEb,CAAC,EClDY0K,GAAkB1K,EAAAA,aAAa,CAE1C,UAAW,oBAGX,KAAM,CACJ,QAAS,QACT,aAAc,MACd,aAAc,UACd,iBAAkB,UAClB,GAAI,cACJ,QAAS,OACT,UAAW,sDACX,aAAc,CACZ,QAAS,GACT,MAAO,cACT,EACA,UAAW,CACT,WAAY,UACd,EACA,yBAA0B,CACxB,iBAAkB,oBAClB,MAAO,aAAA,CAEX,EAEA,SAAU,CACR,KAAM,CACJ,GAAI,CACF,EAAG,IACH,UAAW,KACX,GAAI,GACN,EACA,GAAI,CACF,EAAG,IACH,UAAW,KACX,GAAI,GAAA,CAER,EAEA,QAAS,CACP,MAAO,CACL,iBAAkB,WAClB,iBAAkB,mBAClB,gBAAiB,YACjB,OAAQ,CACN,gBAAiB,WAAA,CAErB,EACA,MAAO,CACL,OAAQ,CACN,gBAAiB,WAAA,CACnB,CACF,CAEJ,EAEA,gBAAiB,CACf,KAAM,KACN,QAAS,OAAA,CAEb,CAAC,ECzDY2K,GAAU,CACrB,OAAQ5K,GACR,OAAQqB,EACR,KAAMmJ,GACN,QAASC,GACT,IAAKC,GACL,KAAM1G,GACN,QAASwB,GACT,UAAWmF,EACb,EChBaE,GAASC,uBAAqB,OAAO,CAChD,GAAI,CACF,QAAS,CACP,MAAO,CACL,OAAQ,qBACR,MAAO,oBAAA,CACT,CAEJ,EACA,GAAI,CACF,QAAS,CACP,MAAO,CACL,OAAQ,sBACR,MAAO,qBAAA,CACT,CAEJ,EACA,OAAQ,CACN,QAAS,CACP,MAAO,oBACT,EACA,MAAO,CACL,MAAO,oBACT,EACA,OAAQ,CACN,MAAO,oBACT,EACA,WAAY,CACV,MAAO,oBACT,EACA,SAAU,CACR,MAAO,oBACT,EACA,SAAU,CACR,MAAO,qBACT,EACA,QAAS,CACP,MAAO,oBACT,EACA,SAAU,CACR,MAAO,qBACT,EACA,KAAM,CACJ,MAAO,iBAAA,CAEX,EACA,GAAGZ,EAAY,YAAA,MAAM,iBAAiB,EACtC,GAAGA,EAAY,YAAA,MAAM,gBAAgB,EACrC,GAAGA,EAAAA,YAAY,MAAM,mBAAmB,CAC1C,CAAC,ECjDYa,GAAUD,EAAA,qBAAqB,QAAQZ,EAAAA,YAAY,MAAM,ECDzDc,GAAQF,EAAAA,qBAAqB,MAAM,EAAE,ECErCG,GAAiB,CAAA,OAC5BJ,GACA,QAAAE,GACAC,MAAAA,EACF,ECNaE,GAAmBC,EAAAA,iBAAiB,CAC/C,MAAO,CACL,UACA,WACA,aACA,UACA,QACA,cACA,eACA,SACA,OACA,SACA,UACF,EACA,UAAW,gBACX,KAAM,CACJ,SAAU,CACR,GAAI,CACF,MAAO,QACP,OAAQ,OACV,EACA,IAAK,QACL,KAAM,EACN,IAAK,EACL,EAAG,QACH,EAAG,SACH,OAAQ,QACR,MAAO,CACL,cAAe,UACf,kBAAmB,MACrB,EACA,QAAS,CACP,cAAe,WACf,kBAAmB,UAAA,CAEvB,EACA,WAAY,CACV,QAAS,OACT,MAAO,QACP,OAAQ,SACR,SAAU,QACV,KAAM,EACN,IAAK,EACL,mBAAoB,eACpB,OAAQ,sDACR,eAAgB,SAChB,oBAAqB,MACvB,EACA,QAAS,CACP,QAAS,OACT,cAAe,SACf,SAAU,WACV,MAAO,OACP,QAAS,EACT,aAAc,MACd,UAAW,KACX,GAAI,kDACJ,mBAAoB,eACpB,OAAQ,sDACR,GAAI,KACJ,UAAW,KACX,MAAO,CACL,kBAAmB,UACrB,EACA,QAAS,CACP,kBAAmB,QAAA,CAEvB,EACA,OAAQ,CACN,KAAM,EACN,GAAI,MACJ,GAAI,MACJ,GAAI,KACN,EACA,KAAM,CACJ,KAAM,IACN,GAAI,MACJ,GAAI,MACJ,GAAI,KACN,EACA,OAAQ,CACN,QAAS,OACT,WAAY,SACZ,eAAgB,WAChB,IAAK,MACL,GAAI,MACJ,GAAI,MACJ,GAAI,KACN,EACA,MAAO,CACL,UAAW,KACX,WAAY,UACd,EACA,YAAa,CACX,MAAO,UAAA,CAEX,EACA,SAAU,CACR,UAAW,CACT,OAAQ,CACN,WAAY,CACV,WAAY,QACd,EACA,QAAS,CACP,uBAAwB,OACxB,GAAI,MAAA,CAER,EACA,IAAK,CACH,WAAY,CACV,WAAY,YACd,EACA,QAAS,CACP,uBAAwB,eACxB,GAAI,MAAA,CAER,EACA,OAAQ,CACN,WAAY,CACV,WAAY,UACd,EACA,QAAS,CACP,uBAAwB,eACxB,GAAI,MAAA,CACN,CAEJ,EACA,eAAgB,CACd,OAAQ,CACN,WAAY,CACV,SAAU,QACZ,EACA,QAAS,CACP,KAAM,qBACR,EACA,KAAM,CACJ,SAAU,MAAA,CAEd,EACA,QAAS,CACP,WAAY,CACV,SAAU,OACV,cAAe,MAAA,CACjB,CAEJ,EACA,KAAM,CACJ,GAAI,CACF,QAAS,CACP,KAAM,IAAA,CAEV,EACA,GAAI,CACF,QAAS,CACP,KAAM,IAAA,CAEV,EACA,GAAI,CACF,QAAS,CACP,KAAM,IAAA,CAEV,EACA,GAAI,CACF,QAAS,CACP,KAAM,KAAA,CAEV,EACA,GAAI,CACF,QAAS,CACP,KAAM,KAAA,CAEV,EACA,MAAO,CACL,WAAY,CACV,QAAS,MACX,EACA,QAAS,CACP,MAAO,OACP,OAAQ,OACR,kBAAmB,GAAA,CAEvB,EACA,KAAM,CACJ,QAAS,CACP,KAAM,QACN,KAAM,QACN,kBAAmB,IACnB,aAAc,GAAA,CAChB,CAEJ,EACA,aAAc,CACZ,MAAO,CACL,QAAS,CACP,MAAO,CACL,cAAe,mBACjB,EACA,QAAS,CACP,cAAe,qBAAA,CACjB,CAEJ,EACA,kBAAmB,CACjB,QAAS,CACP,MAAO,CACL,cAAe,4BACjB,EACA,QAAS,CACP,cAAe,2BAAA,CACjB,CAEJ,EACA,eAAgB,CACd,QAAS,CACP,MAAO,CACL,cAAe,yBACjB,EACA,QAAS,CACP,cAAe,wBAAA,CACjB,CAEJ,EACA,gBAAiB,CACf,QAAS,CACP,MAAO,CACL,cAAe,0BACjB,EACA,QAAS,CACP,cAAe,yBAAA,CACjB,CAEJ,EACA,iBAAkB,CAChB,QAAS,CACP,MAAO,CACL,cAAe,2BACjB,EACA,QAAS,CACP,cAAe,0BAAA,CACjB,CAEJ,EACA,KAAM,CAAA,CAAC,CAEX,EACA,gBAAiB,CACf,KAAM,KACN,eAAgB,UAChB,UAAW,MACX,aAAc,OAAA,CAElB,CAAC,EC3PYC,GAAiBD,EAAAA,iBAAiB,CAC7C,UAAW,cACX,MAAO,CAAC,OAAQ,OAAQ,WAAW,EACnC,KAAM,CACJ,KAAM,CACJ,QAAS,OACT,cAAe,SACf,IAAK,kBACL,mBAAoB,CAClB,UAAW,iBAAA,CAEf,EACA,KAAM,CACJ,WAAY,SACZ,QAAS,WACX,EACA,UAAW,CACT,UAAW,MACX,UAAW,MACX,WAAY,EACZ,QAAS,eACT,cAAe,QAAA,CAEnB,EACA,SAAU,CACR,QAAS,CACP,OAAQ,CACN,KAAM,CACJ,UAAW,SACX,kBAAmB,QACrB,EACA,KAAM,CACJ,QAAS,CACP,MAAO,WAAA,CACT,CAEJ,EACA,MAAO,CACL,KAAM,CACJ,WAAY,aACZ,QAAS,aAAA,CACX,CAEJ,EACA,MAAO,CACL,OAAQ,CACN,KAAM,CACJ,WAAY,QAAA,CAEhB,EACA,MAAO,CACL,KAAM,CACJ,WAAY,YAAA,CAEhB,EACA,IAAK,CACH,KAAM,CACJ,WAAY,UAAA,CACd,CACF,CAEJ,EACA,gBAAiB,CACf,QAAS,QAAA,CAEb,CAAC,ECjEYE,GAAkBF,EAAAA,iBAAiB,CAC9C,UAAW,eACX,MAAO,CACL,OACA,SACA,OACA,MACA,eACA,OACA,SACA,SACF,EACA,KAAM,CACJ,KAAM,CACJ,mBAAoB,2BACpB,eAAgB,WAChB,MAAO,OACP,UAAW,QACX,cAAe,KACjB,EACA,IAAK,CACH,UAAW,CACT,GAAI,qBAAA,CAER,EACA,KAAM,CACJ,UAAW,QACX,WAAY,QACd,EACA,aAAc,CACZ,WAAY,SACZ,UAAW,QACX,MAAO,IACT,EACA,QAAS,CACP,WAAY,SACZ,UAAW,IACb,EACA,OAAQ,CACN,WAAY,QAAA,CAEhB,EACA,SAAU,CACR,YAAa,CACX,KAAM,CACJ,KAAM,CACJ,OAAQ,CACN,OAAQ,CACN,GAAI,qBAAA,CACN,CACF,CACF,CAEJ,EACA,aAAc,CACZ,KAAM,CACJ,OAAQ,CACN,eAAgB,CACd,IAAK,gCACL,SAAU,SACV,OAAQ,CAAA,CACV,CACF,CAEJ,EACA,QAAS,CACP,KAAM,CACJ,IAAK,CACH,wBAAyB,CACvB,GAAI,UAAA,CACN,CACF,CAEJ,EACA,iBAAkB,CAChB,KAAM,CACJ,aAAc,CACZ,uBAAwB,CACtB,qBAAsB,KAAA,CAE1B,EACA,KAAM,CACJ,uBAAwB,CACtB,qBAAsB,KAAA,CACxB,CACF,CAEJ,EACA,QAAS,CACP,KAAM,CACJ,aAAc,CACZ,kBAAmB,KACrB,EACA,KAAM,CACJ,kBAAmB,KACrB,EACA,IAAK,CACH,GAAI,IAAA,CAER,EACA,QAAS,CACP,KAAM,CACJ,UAAW,4BACX,SAAU,QACZ,EACA,aAAc,CACZ,kBAAmB,KACrB,EACA,OAAQ,CACN,GAAI,UACN,EACA,IAAK,CACH,uBAAwB,CACtB,kBAAmB,KAAA,CAEvB,EACA,OAAQ,CACN,eAAgB,KAAA,CAClB,CAEJ,EACA,KAAM,CACJ,GAAI,CACF,KAAM,CACJ,UAAW,IACb,EACA,aAAc,CACZ,GAAI,MACJ,GAAI,KACN,EACA,KAAM,CACJ,GAAI,MACJ,GAAI,KAAA,CAER,EACA,GAAI,CACF,KAAM,CACJ,UAAW,IACb,EACA,aAAc,CACZ,GAAI,MACJ,GAAI,KACN,EACA,KAAM,CACJ,GAAI,MACJ,GAAI,KAAA,CAER,EACA,GAAI,CACF,KAAM,CACJ,UAAW,IACb,EACA,aAAc,CACZ,GAAI,MACJ,GAAI,KACN,EACA,KAAM,CACJ,GAAI,MACJ,GAAI,KAAA,CACN,CACF,CAEJ,EACA,gBAAiB,CACf,QAAS,OACT,KAAM,IAAA,CAEV,CAAC,ECnKYG,GAAqBH,EAAAA,iBAAiB,CACjD,MAAO,CAAC,OAAQ,QAAS,WAAW,EAEpC,UAAW,kBAEX,KAAM,CACJ,KAAM,CACJ,aAAc,UACd,QAAS,cACT,IAAK,MACL,WAAY,SACZ,cAAe,MACf,SAAU,MACV,UAAW,MAEV,0BAA4B,CAC3B,WAAY,UAAA,CAEhB,EACA,MAAO,CACL,WAAY,EACZ,WAAY,OACZ,MAAO,aAEN,yBAA2B,CAC1B,MAAO,aAAA,CAEX,EACA,UAAW,CACT,SAAU,WACV,QAAS,OACT,WAAY,EACZ,WAAY,SACZ,eAAgB,SAChB,OAAQ,WACR,aAAc,KACd,UAAW,UACX,YAAa,YACb,GAAI,cACJ,MAAO,aAEP,MAAO,CACL,EAAG,MACH,EAAG,KACL,EAEA,UAAW,CACT,YAAa,YACf,EAEC,yBAA2B,CAC1B,GAAI,cACJ,YAAa,aACb,MAAO,cAEP,UAAW,CACT,YAAa,aAAA,CAEjB,EAEC,wDAA0D,CACzD,GAAI,iBACJ,YAAa,iBACb,MAAO,wBAEP,UAAW,CACT,GAAI,kBACJ,YAAa,iBACf,EAEA,yBAA0B,CACxB,GAAI,aACJ,YAAa,aACb,MAAO,oBAEP,UAAW,CACT,GAAI,cACJ,YAAa,aAAA,CACf,CACF,CACF,CAEJ,EACA,SAAU,CACR,KAAM,CACJ,GAAI,CACF,MAAO,CACL,SAAU,MACV,WAAY,MACZ,WAAY,KACd,EACA,UAAW,CACT,EAAG,MACH,EAAG,MACH,OAAQ,EACR,OAAQ,CACN,SAAU,WACV,QAAS,KACT,MAAO,MACP,OAAQ,MACR,OAAQ,CAAA,CACV,CACF,CACF,CAEJ,EACA,gBAAiB,CACf,KAAM,IAAA,CAEV,CAAC,EC7GYI,GAAmBJ,EAAAA,iBAAiB,CAC/C,MAAO,CACL,OACA,UACA,eACA,UACA,cACA,QACF,EAEA,UAAW,gBAGX,KAAM,CAEJ,KAAM,CACJ,aAAc,UACd,QAAS,eACT,SAAU,WACV,SAAU,OACV,aAAc,MAMd,mBAAoB,CAClB,WAAY,WACZ,cAAe,MAAA,CAEnB,EACA,QAAS,CACP,OAAQ,SACR,QAAS,cACT,UAAW,UACX,WAAY,aACZ,aAAc,MACd,MAAO,aACP,MAAO,OACP,WAAY,OACZ,UAAW,sDAEX,SAAU,CACR,QAAS,eACT,GAAI,MACN,EACA,yBAA0B,CACxB,QAAS,MACX,EAEA,mBAAoB,CAClB,iBAAkB,WAClB,iBAAkB,mBAAA,CAStB,EACA,aAAc,CAQZ,qBAAsB,aACtB,MAAO,aACP,UAAW,OACX,YAAa,0BACb,SAAU,OACV,WAAY,SACZ,SAAU,SACV,aAAc,WAEd,sBAAuB,CACrB,QAAS,EACX,EACA,mBAAoB,CAClB,MAAO,aAAA,CAEX,EAEA,QAAS,CACP,oBAAqB,mBACrB,iBAAkB,mBAElB,GAAI,KACJ,aAAc,MACd,UAAW,IACX,SAAU,uBACV,EAAG,MACH,UAAW,UACX,UAAW,QACX,UAAW,OACX,eAAgB,OAChB,eAAgB,4CAKlB,EAEA,YAAa,CACX,UAAW,KACX,MAAO,aACP,WAAY,MACZ,WAAY,MACZ,cAAe,KACf,cAAe,YACf,EAAG,MACH,aAAc,WACd,YAAa,YACb,GAAI,OACJ,GAAI,MACJ,GAAI,KACN,EAEA,OAAQ,CACN,UAAW,UACX,OAAQ,WACR,MAAO,aACP,UAAW,KACX,EAAG,MACH,aAAc,MACd,WAAY,SACZ,SAAU,SACV,aAAc,WAEd,kDAAmD,CACjD,GAAI,WACN,EAEA,mBAAoB,CAClB,QAAS,OACX,EAEA,yBAA0B,CACxB,QAAS,QACT,MAAO,aACP,UAAW,IACb,EAEA,0BAA2B,CACzB,WAAY,UAAA,CACd,CAEJ,EAGA,SAAU,CAER,KAAM,CACJ,GAAI,CACF,KAAM,CAAC,EACP,QAAS,CACP,EAAG,MACH,GAAI,MACJ,UAAW,IAAA,CAEf,EACA,GAAI,CACF,KAAM,CAAC,EACP,QAAS,CACP,EAAG,OACH,GAAI,MACJ,UAAW,IAAA,CACb,CAEJ,EAGA,QAAS,CACP,QAAS,CACP,KAAM,CACJ,GAAI,KACJ,UAAW,CACT,GAAI,WAAA,CAER,EACA,QAAS,CACP,iBAAkB,WAClB,iBAAkB,kBAAA,CAEtB,EACA,MAAO,CACL,KAAM,CACJ,GAAI,cACJ,UAAW,CACT,GAAI,gBAAA,CAER,EACA,QAAS,CACP,iBAAkB,WAClB,iBAAkB,aAAA,CACpB,CACF,CAEJ,EAGA,gBAAiB,CACf,KAAM,KACN,QAAS,SAAA,CAEb,CAAC,ECjNYK,GAAsBL,EAAAA,iBAAiB,CAClD,MAAO,CACL,OACA,aACA,UACA,QACA,iBACA,oBACF,EAEA,UAAW,mBAEX,KAAM,CACJ,KAAM,CACJ,MAAO,MACT,EACA,WAAY,CACV,MAAO,MACT,EACA,QAAS,CACP,SAAU,mBACV,iBAAkB,UAClB,UAAW,OACX,GAAI,OACJ,SAAU,EACV,QAAS,OACT,WAAY,SACZ,IAAK,MACL,MAAO,OACP,QAAS,CACP,MAAO,eACP,OAAQ,gBACR,OAAQ,OACR,WAAY,cACd,EACA,8BAA+B,CAC7B,OAAQ,OACV,EACA,cAAe,CACb,WAAY,UAAA,CAEhB,EACA,MAAO,CACL,WAAY,qBACZ,cAAe,wBACf,YAAa,sBACb,wBAAyB,CACvB,QAAS,MAAA,CAEb,EACA,eAAgB,CACd,WAAY,KAAA,CAEhB,EAEA,SAAU,CACR,KAAM,CACJ,GAAI,CACF,QAAS,CACP,cAAe,gBACf,QAAS,CACP,UAAW,YACX,WAAY,WAAA,CAEhB,EACA,MAAO,CACL,gBAAiB,cACjB,mBAAoB,cACpB,iBAAkB,aAAA,CAEtB,EACA,GAAI,CACF,QAAS,CACP,cAAe,gBACf,QAAS,CACP,UAAW,YACX,WAAY,WAAA,CAEhB,EACA,MAAO,CACL,gBAAiB,cACjB,mBAAoB,cACpB,iBAAkB,aAAA,CACpB,CACF,CAEJ,EAEA,gBAAiB,CACf,KAAM,IAAA,CAEV,CAAC,EC1FYM,GAAc,CACzB,OAAQP,GACR,KAAME,GACN,MAAOC,GACP,SAAUC,GACV,OAAQC,GACR,UAAWC,EACb,ECTaE,GAA6BC,EAAA,iBACxCzB,cAAY,SACd,ECHa0B,GAAeC,EAAA,aAAa,UAAU3B,EAAAA,YAAY,WAAW,ECD7D4B,GAAaD,EAAA,aAAa,WAAW3B,EAAAA,YAAY,SAAS,ECC1D6B,GAAQF,EAAA,aAAa,MAAM3B,EAAAA,YAAY,IAAI,ECD3C8B,GAAUH,EAAA,aAAa,QAAQ3B,EAAAA,YAAY,MAAM,ECAjDW,GAASgB,eAAa,OAAO,CACxC,GAAG3B,EAAAA,YAAY,MAAM,mBAAmB,CAC1C,CAAC,ECFY+B,GAAYJ,EAAA,aAAa,UAAU3B,EAAAA,YAAY,QAAQ,ECAvDgC,GAAUL,EAAA,aAAa,QAAQ3B,EAAAA,YAAY,MAAM,ECAjDiC,GAAQN,EAAA,aAAa,MAAM3B,EAAAA,YAAY,UAAU,ECAjDkC,GAAYP,EAAA,aAAa,UAAU3B,EAAAA,YAAY,QAAQ,ECAvDmC,GAAcR,EAAA,aAAa,YAAY3B,EAAAA,YAAY,UAAU,ECEpEoC,GACJC,GAEO,OAAO,KAAKA,CAAG,EAAE,OACtB,CAACC,EAAKzC,IAAQ,CAGZ,MAAM0C,EADa,WAAWF,EAAIxC,CAAG,EAAE,KAAK,EACf,IAE7B,OAAAyC,EAAIzC,CAAG,EAAI,CAAE,MAAO,GAAG0C,CAAO,IAAK,EAC5BD,CACT,EACA,CAAA,CACF,EAGWE,GAAiBb,EAAa,aAAA,eACzCS,GAAmBpC,cAAY,aAAa,CAC9C,ECpBayC,GAAcd,EAAA,aAAa,YAAY3B,EAAAA,YAAY,UAAU,ECA7Dc,GAAQa,EAAA,aAAa,MAAM3B,EAAAA,YAAY,YAAY,ECAnD0C,GAAUf,EAAA,aAAa,QAAQ3B,EAAAA,YAAY,OAAO,ECAlD2C,GAAQhB,eAAa,MAAM,CACtC,GAAG3B,EAAY,YAAA,KACf,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,KACT,EACA,MAAO,CACL,MAAO,YACT,EACA,MAAO,CACL,MAAO,YACT,EACA,OAAQ,CACN,MAAO,WACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,KACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,KACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,YACT,EACA,OAAQ,CACN,MAAO,KACT,EACA,QAAS,CACP,MAAO,YACT,EACA,QAAS,CACP,MAAO,YACT,EACA,IAAK,CACH,MAAO,aACT,EACA,IAAK,CACH,MAAO,aACT,EACA,IAAK,CACH,MAAO,aACT,EACA,MAAO,CACL,MAAO,MACT,EACA,KAAM,CACJ,MAAO,MACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,IAAK,CACH,MAAO,QACT,EACA,GAAI,CACF,MAAO,OACT,EACA,GAAI,CACF,MAAO,OAAA,CAEX,CAAC,ECpHY4C,GAASjB,EAAA,aAAa,OAAO3B,EAAAA,YAAY,MAAM,ECA/C6C,GAASlB,EAAA,aAAa,OAAO3B,EAAAA,YAAY,MAAM,ECe/C8C,GAAS,CACpB,aAAApB,GACA,WAAAE,GACA,MAAAC,GACA,QAAAC,GACA,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","x_google_ignoreList":[5,6,23,124,125,126,127,128,129]}