@overmap-ai/blocks 1.0.34-command-menu.1 → 1.0.34-command-menu.2

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":"blocks.umd.cjs","sources":["../src/cva/floating.ts","../src/cva/radius.ts","../src/Provider/context.ts","../src/Provider/hooks.ts","../src/Provider/Provider.tsx","../src/AlertDialog/cva.ts","../src/AlertDialog/Content.tsx","../src/AlertDialog/context.ts","../src/AlertDialog/hooks.ts","../src/ButtonGroup/context.ts","../src/ButtonGroup/ButtonGroup.tsx","../src/ButtonGroup/hooks.ts","../src/Buttons/cva.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/AlertDialog/Provider.tsx","../src/AlertDialog/index.ts","../src/Avatar/context.ts","../src/Avatar/cva.ts","../src/Avatar/Fallback.tsx","../src/Avatar/Image.tsx","../src/Avatar/Root.tsx","../src/Avatar/index.ts","../src/Badge/cva.ts","../src/Badge/Badge.tsx","../src/Card/cva.ts","../src/Card/Card.tsx","../src/Checkbox/Indicator.tsx","../src/Checkbox/cva.ts","../src/Checkbox/Root.tsx","../src/Checkbox/index.ts","../node_modules/@react-hook/passive-layout-effect/dist/module/index.js","../node_modules/@react-hook/latest/dist/module/index.js","../node_modules/@react-hook/resize-observer/dist/module/index.js","../src/utils.ts","../src/CollapsibleTree/context.ts","../src/CollapsibleTree/CollapsibleTree.tsx","../src/CommandMenu/context.ts","../src/CommandMenu/utils.ts","../src/CommandMenu/CheckboxIndicator.tsx","../src/CommandMenu/cva.ts","../src/CommandMenu/Item.tsx","../src/CommandMenu/CheckboxItem.tsx","../src/CommandMenu/Content.tsx","../src/CommandMenu/Empty.tsx","../src/CommandMenu/Group.tsx","../src/CommandMenu/Input.tsx","../src/CommandMenu/List.tsx","../src/CommandMenu/MultiSelectGroup.tsx","../src/CommandMenu/MultiSelectItem.tsx","../src/CommandMenu/Overlay.tsx","../src/CommandMenu/Page.tsx","../src/CommandMenu/Pages.tsx","../src/CommandMenu/PageTriggerItem.tsx","../src/CommandMenu/RadioGroup.tsx","../src/CommandMenu/RadioItem.tsx","../src/CommandMenu/Root.tsx","../src/CommandMenu/SelectAllItem.tsx","../src/CommandMenu/SelectedIndicator.tsx","../src/CommandMenu/Separator.tsx","../src/CommandMenu/Trigger.tsx","../src/CommandMenu/index.ts","../src/DayPicker/Chevron.tsx","../src/DayPicker/cva.ts","../src/DayPicker/DayPicker.tsx","../src/Dialog/context.ts","../src/Dialog/hooks.ts","../src/Dialog/Content.tsx","../src/Dialog/Overlay.tsx","../src/Dialog/Root.tsx","../src/Dialog/index.ts","../src/Heading/constants.ts","../src/Heading/cva.ts","../src/Heading/Heading.tsx","../src/HoverCard/Arrow.tsx","../src/HoverCard/cva.ts","../src/HoverCard/Content.tsx","../src/HoverCard/index.ts","../src/HoverUtility/HoverUtility.tsx","../src/Input/context.ts","../src/Input/cva.ts","../src/Input/Field.tsx","../src/Input/Root.tsx","../src/Input/Slot.tsx","../src/Input/index.ts","../src/Layout/context.ts","../src/Layout/Container.tsx","../src/Layout/Root.tsx","../src/SlideOut/utils.ts","../src/SlideOut/SlideOut.tsx","../src/Layout/SlideOut.tsx","../src/Layout/SlideOutOverlay.tsx","../src/Layout/SlideOutTrigger.tsx","../src/Layout/index.ts","../src/Link/cva.ts","../src/Link/Link.tsx","../src/CheckedIndicator/context.ts","../src/CheckedIndicator/CheckedIndicator.tsx","../src/Menu/cva.ts","../src/Menu/root/context.ts","../src/Menu/constants.ts","../src/Menu/root/Root.tsx","../src/Menu/Content/context.ts","../src/Menu/Content/Content.tsx","../src/Menu/Sub/context.ts","../src/Menu/utils.ts","../src/Menu/Sub/Sub.tsx","../src/Menu/Item/Item.tsx","../src/Menu/CheckboxItem/CheckboxItem.tsx","../src/Menu/CheckboxItemIndicator/CheckboxItemIndicator.tsx","../src/Menu/ClickTrigger/ClickTrigger.tsx","../src/Menu/ContextTrigger/ContextTrigger.tsx","../src/Menu/Group/Group.tsx","../src/Menu/Input/Field.tsx","../src/Menu/Input/Root.tsx","../src/Menu/Input/Slot.tsx","../src/SelectContext/context.ts","../src/SelectContext/Provider.tsx","../src/Menu/MultiSelectGroup/MultiSelectGroup.tsx","../src/Menu/SelectedIndicator/context.ts","../src/Menu/SelectedIndicator/SelectedIndicator.tsx","../src/Menu/MultiSelectItem/MultiSelectItem.tsx","../src/Menu/Pages/context.ts","../src/Menu/Pages/Pages.tsx","../src/Menu/PageContent/PageContent.tsx","../src/Menu/PageTrigger/PageTrigger.tsx","../src/Menu/Scroll/Scroll.tsx","../src/Menu/SelectAll/context.ts","../src/Menu/SelectAll/SelectAllIndicator.tsx","../src/Menu/SelectAll/SelectAllItem.tsx","../src/Menu/SelectGroup/SelectGroup.tsx","../src/Menu/SelectItem/SelectItem.tsx","../src/Menu/Separator/Separator.tsx","../src/Menu/SubContent/SubContent.tsx","../src/Menu/SubTrigger/SubTrigger.tsx","../src/Menu/VirtualTrigger/VirtualTrigger.tsx","../src/Menu/index.ts","../src/RiIcon/RiIcon.tsx","../src/OvermapErrorBoundary/OvermapErrorBoundary.tsx","../src/Popover/Arrow.tsx","../src/Popover/cva.ts","../src/Popover/Content.tsx","../src/Popover/index.ts","../src/RadioGroup/Indicator.tsx","../src/RadioGroup/context.ts","../src/RadioGroup/cva.ts","../src/RadioGroup/Item.tsx","../src/RadioGroup/Root.tsx","../src/RadioGroup/index.ts","../src/SegmentedControl/cva.ts","../src/SegmentedControl/context.ts","../src/SegmentedControl/hooks.ts","../src/SegmentedControl/Item.tsx","../src/SegmentedControl/Root.tsx","../src/SegmentedControl/index.ts","../src/Separator/cva.ts","../src/Separator/Separator.tsx","../src/Spinner/Spinner.tsx","../src/Switch/context.ts","../src/Switch/cva.ts","../src/Switch/Root.tsx","../src/Switch/Thumb.tsx","../src/Switch/index.ts","../src/Table/Body.tsx","../src/Table/context.ts","../src/Table/cva.ts","../src/Table/Cell.tsx","../src/Table/ColumnHeaderCell.tsx","../src/Table/Footer.tsx","../src/Table/Header.tsx","../src/Table/Root.tsx","../src/Table/Row.tsx","../src/Table/RowHeaderCell.tsx","../src/Table/index.ts","../src/Tabs/context.ts","../src/Tabs/cva.ts","../src/Tabs/List.tsx","../src/Tabs/Root.tsx","../src/Tabs/hooks.ts","../src/Tabs/Trigger.tsx","../src/Tabs/index.ts","../src/Text/cva.ts","../src/Text/Text.tsx","../src/TextArea/cva.ts","../src/TextArea/TextArea.tsx","../src/Toast/cva.ts","../src/Toast/Toast.tsx","../src/Toast/ToastContext.ts","../src/Toast/ToastProvider.tsx","../src/ToggleButton/cva.ts","../src/ToggleButton/BaseToggleButton.tsx","../src/ToggleButton/IconToggleButton.tsx","../src/ToggleButton/ToggleButton.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/cva.ts","../src/Tooltip/Content.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\"\n\nexport const floating = cva(\n\t[\n\t\t\"data-[state=open]:animate-in\",\n\t\t\"data-[state=open]:fade-in-0\",\n\t\t\"data-[state=open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tshadow: {\n\t\t\t\t\"1\": [\"shadow-xs\"],\n\t\t\t\t\"2\": [\"shadow-sm\"],\n\t\t\t\t\"3\": [\"shadow-md\"],\n\t\t\t\t\"4\": [\"shadow-lg\"],\n\t\t\t\t\"5\": [\"shadow-xl\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-2\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-2\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-2\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-2\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport type FloatingStyleProps = VariantProps<typeof floating>\n","import { cva } from \"class-variance-authority\"\n\nexport const radiusCva = cva([], {\n\tvariants: {\n\t\tmaxLarge: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tradius: {\n\t\t\tnone: [\"rounded-none\"],\n\t\t\txs: [\"rounded-xs\"],\n\t\t\tsm: [\"rounded-sm\"],\n\t\t\tmd: [\"rounded-md\"],\n\t\t\tlg: [\"rounded-lg\"],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-xl\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-full\"],\n\t\t},\n\t],\n})\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"./typings\"\n\ninterface IProviderContext {\n\taccentColor: string\n\tradius: ComponentRadius\n}\n\nexport const ProviderContext = createContext({} as IProviderContext)\n","import { useContext } from \"react\"\n\nimport { ProviderContext } from \"./context\"\n\nexport const useProvider = () => {\n\tconst context = useContext(ProviderContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useProvider must be used within a Provider\")\n\t}\n\n\treturn context\n}\n","import { PropsWithChildren, useMemo } from \"react\"\n\nimport { ProviderContext } from \"./context\"\nimport type { ComponentRadius } from \"./typings\"\n\nexport interface ProviderProps extends PropsWithChildren {\n\taccentColor: string\n\tradius?: ComponentRadius\n}\n\nexport const Provider = (props: ProviderProps) => {\n\tconst { accentColor, radius = \"md\", children } = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\taccentColor,\n\t\t\tradius,\n\t\t}),\n\t\t[accentColor, radius],\n\t)\n\n\treturn <ProviderContext.Provider value={contextValue}>{children}</ProviderContext.Provider>\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const dialogOverlay = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\t\"duration-200\",\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\t\"data-[state='open']:animate-in\",\n\t\"data-[state='open']:fade-in-0\",\n\t\"data-[state='closed']:animate-out\",\n\t\"data-[state='closed']:fade-out-0\",\n])\n\nexport const dialogContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"h-max\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\t\t\"max-h-3/4\",\n\t\t\"shadow-md\",\n\t\t\"overflow-hidden\",\n\t\t\"w-full\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"fixed\",\n\t\t\"left-[50%]\",\n\t\t\"top-[50%]\",\n\t\t\"translate-x-[-50%]\",\n\t\t\"translate-y-[-50%]\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\", \"max-w-xs\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\", \"max-w-sm\"],\n\t\t\t\tmd: [\"text-md\", \"p-4\", \"max-w-md\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\", \"max-w-lg\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\", \"max-w-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { dialogContent, dialogOverlay } from \"./cva\"\nimport { AlertDialogVariantProps } from \"./typings\"\n\nexport interface AlertDialogContentProps extends RadixAlertDialog.AlertDialogContentProps, AlertDialogVariantProps {\n\tcontainer?: RadixAlertDialog.AlertDialogPortalProps[\"container\"]\n}\n\nexport const AlertDialogContent = forwardRef<HTMLDivElement, AlertDialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst { className, size, container, ...rest } = props\n\n\treturn (\n\t\t<RadixAlertDialog.Portal container={container}>\n\t\t\t<RadixAlertDialog.Overlay className={dialogOverlay({})} data-floating-content=\"\" />\n\t\t\t<RadixAlertDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixAlertDialog.Portal>\n\t)\n})\nAlertDialogContent.displayName = \"AlertDialogContent\"\n","import { createContext } from \"react\"\n\nimport { AlertDialogOptions } from \"./typings\"\n\ntype AlertDialogContextType = (options: AlertDialogOptions) => void\n\nexport const AlertDialogContext = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n","import { useContext } from \"react\"\n\nimport { AlertDialogContext } from \"./context\"\n\nexport const useAlertDialog = () => {\n\tconst alertDialogContext = useContext(AlertDialogContext)\n\tif (!alertDialogContext) {\n\t\tthrow new Error(\"No AlertDialogProvider found\")\n\t}\n\treturn alertDialogContext\n}\n","import { createContext } from \"react\"\n\nimport type { ButtonSize, ButtonVariant } from \"../Buttons\"\nimport type { ComponentRadius } from \"../Provider\"\n\ninterface IButtonGroupContext {\n\tvariant: ButtonVariant\n\tsize: ButtonSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const ButtonGroupContext = createContext<IButtonGroupContext>({} as IButtonGroupContext)\n","import { ComponentProps, PropsWithoutRef, useMemo } from \"react\"\n\nimport type { ButtonVariantProps } from \"../Buttons\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { ButtonGroupContext } from \"./context\"\n\nexport interface ButtonGroupProps\n\textends PropsWithoutRef<ComponentProps<\"div\">>,\n\t\tButtonVariantProps,\n\t\tAccentColorProps {}\n\nexport const ButtonGroup = (props: ButtonGroupProps) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tvariant = \"solid\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\taccentColor,\n\t\t}),\n\t\t[accentColor, radius, size, variant],\n\t)\n\n\treturn (\n\t\t<div {...rest}>\n\t\t\t<ButtonGroupContext.Provider value={value}>{children}</ButtonGroupContext.Provider>\n\t\t</div>\n\t)\n}\nButtonGroup.displayName = \"Buttons\"\n","import { useContext } from \"react\"\n\nimport { ButtonGroupContext } from \"./context\"\n\nexport const useButtonGroup = () => useContext(ButtonGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const buttonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"ring-(--accent-9)\",\n\t\t\t\t\t\"bg-(--accent-9)\",\n\t\t\t\t\t\"hover:bg-(--accent-10)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t\t\"active:brightness-110\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-10)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"active:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"active:bg-(--accent-a3)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t\tfill: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a3)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:inset-ring-0\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state='open']:inset-ring-0\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"solid\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface ButtonProps extends ButtonVariantProps, PropsWithoutRef<ComponentProps<\"button\">> {}\n\nexport const Button = memo(\n\tforwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: false, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface IconButtonProps\n\textends ButtonVariantProps,\n\t\tPropsWithoutRef<ComponentProps<\"button\">>,\n\t\tAccentColorProps {}\n\nexport const IconButton = memo(\n\tforwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: true, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { PropsWithChildren, useCallback, useState } from \"react\"\n\nimport { Button } from \"../Buttons\"\nimport { AlertDialogContent } from \"./Content\"\nimport { AlertDialogContext } from \"./context\"\nimport { AlertDialogOptions } from \"./typings\"\n\nexport const AlertDialogProvider = (props: PropsWithChildren) => {\n\tconst { children } = props\n\n\tconst [open, setOpen] = useState(false)\n\tconst [options, setOptions] = useState<AlertDialogOptions | null>(null)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tsetOpen(open)\n\n\t\t\tif (open) return\n\n\t\t\toptions?.onClose?.()\n\t\t},\n\t\t[options],\n\t)\n\n\tconst openAlertDialog = useCallback(\n\t\t(config: AlertDialogOptions) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\t\t\tsetOpen(true)\n\t\t\tsetOptions({\n\t\t\t\tsize: \"md\",\n\t\t\t\taction: \"Confirm\",\n\t\t\t\tcancel: \"Cancel\",\n\t\t\t\t...config,\n\t\t\t})\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialogContext.Provider value={openAlertDialog}>\n\t\t\t{children}\n\t\t\t<RadixAlertDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t\t<AlertDialogContent size={options?.size}>\n\t\t\t\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Title className=\"font-medium\">{options?.title}</RadixAlertDialog.Title>\n\t\t\t\t\t\t\t<RadixAlertDialog.Description>{options?.description}</RadixAlertDialog.Description>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex justify-end gap-2\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Cancel onClick={options?.onCancel}>\n\t\t\t\t\t\t\t\t<Button variant=\"soft\" size={options?.size} accentColor=\"base\">\n\t\t\t\t\t\t\t\t\t{options?.cancel}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Cancel>\n\t\t\t\t\t\t\t<RadixAlertDialog.Action onClick={options?.onAction}>\n\t\t\t\t\t\t\t\t<Button variant=\"solid\" size={options?.size}>\n\t\t\t\t\t\t\t\t\t{options?.action}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Action>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</RadixAlertDialog.Root>\n\t\t</AlertDialogContext.Provider>\n\t)\n}\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\n\nimport { AlertDialogContent } from \"./Content\"\n\nexport * from \"./Content\"\nexport * from \"./hooks\"\nexport * from \"./Provider\"\nexport * from \"./typings\"\n\nexport const AlertDialog = {\n\tContent: AlertDialogContent,\n\tTrigger: RadixAlertDialog.Trigger,\n\tRoot: RadixAlertDialog.Root,\n\tTitle: RadixAlertDialog.Title,\n\tDescription: RadixAlertDialog.Description,\n\tAction: RadixAlertDialog.Action,\n\tCancel: RadixAlertDialog.Cancel,\n}\n","import { createContext } from \"react\"\n\nimport type { AvatarVariant } from \"./typings\"\n\ninterface IAvatarContext {\n\tvariant: AvatarVariant\n}\n\nexport const AvatarContext = createContext({} as IAvatarContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const avatar = cva([\"shrink-0\", \"select-none\", \"inline-block\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"w-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"w-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"w-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"w-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"w-9\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const avatarFallback = cva([\"flex\", \"items-center\", \"justify-center\", \"w-full\", \"h-full\", \"rounded-[inherit]\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"solid\",\n\t},\n})\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext } from \"react\"\n\nimport { AvatarContext } from \"./context\"\nimport { avatarFallback } from \"./cva\"\n\nexport interface AvatarFallbackProps extends RadixAvatar.AvatarFallbackProps {}\n\nexport const AvatarFallback = forwardRef<HTMLSpanElement, AvatarFallbackProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { variant } = useContext(AvatarContext)\n\n\treturn <RadixAvatar.AvatarFallback className={cx(className, avatarFallback({ variant }))} ref={ref} {...rest} />\n})\nAvatarFallback.displayName = \"AvatarFallback\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface AvatarImageProps extends RadixAvatar.AvatarImageProps {}\n\nexport const AvatarImage = forwardRef<HTMLImageElement, AvatarImageProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixAvatar.Image\n\t\t\tclassName={cx(className, \"object-cover\", \"rounded-[inherit]\", \"w-full\", \"h-full\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nAvatarImage.displayName = \"AvatarImage\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { AvatarContext } from \"./context\"\nimport { avatar } from \"./cva\"\nimport type { AvatarVariantProps } from \"./typings\"\n\nexport interface AvatarRootProps extends RadixAvatar.AvatarProps, AvatarVariantProps {}\n\nexport const AvatarRoot = forwardRef<HTMLSpanElement, AvatarRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant = \"solid\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<RadixAvatar.Root\n\t\t\tclassName={cx(className, avatar({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<AvatarContext.Provider value={{ variant }}>{children}</AvatarContext.Provider>\n\t\t</RadixAvatar.Root>\n\t)\n})\nAvatarRoot.displayName = \"AvatarRoot\"\n","import { AvatarFallback } from \"./Fallback\"\nimport { AvatarImage } from \"./Image\"\nimport { AvatarRoot } from \"./Root\"\n\nexport * from \"./Fallback\"\nexport * from \"./Image\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Avatar = {\n\tFallback: AvatarFallback,\n\tImage: AvatarImage,\n\tRoot: AvatarRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const badge = cva([\"inline-flex\", \"items-center\", \"shrink-0\"], {\n\tvariants: {\n\t\ticon: {\n\t\t\ttrue: [\"justify-center\"],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"w-5\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"w-6\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"w-7\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"px-3\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"w-8\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"px-4\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"w-9\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"px-5\",\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\ticon: false,\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { badge } from \"./cva\"\nimport type { BadgeVariantProps } from \"./typings\"\n\nexport interface BadgeProps extends ComponentProps<\"span\">, BadgeVariantProps {}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant,\n\t\tsize,\n\t\ticon,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<span\n\t\t\tclassName={cx(className, badge({ variant, size, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t)\n})\nBadge.displayName = \"Badge\"\n","import { cva } from \"class-variance-authority\"\n\nexport const cardCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-2)\"],\n\t\t\tsurface: [\"bg-(--accent-2)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-2\", \"text-xs\"],\n\t\t\tsm: [\"p-3\", \"text-sm\"],\n\t\t\tmd: [\"p-4\", \"text-base\"],\n\t\t\tlg: [\"p-5\", \"text-lg\"],\n\t\t\txl: [\"p-6\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { cardCva } from \"./cva\"\nimport type { CardVariantProps } from \"./typings\"\n\nexport interface CardProps extends PropsWithoutRef<ComponentProps<\"div\">>, CardVariantProps {}\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\taccentColor = \"base\",\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, cardCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCard.displayName = \"Card\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface CheckboxIndicatorProps extends RadixCheckbox.CheckboxIndicatorProps {}\n\nexport const CheckboxIndicator = forwardRef<HTMLSpanElement, CheckboxIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixCheckbox.CheckboxIndicator\n\t\t\tclassName={cx(className, \"flex items-center justify-center\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxIndicator.displayName = \"CheckboxIndicator\"\n","import { cva } from \"class-variance-authority\"\n\nexport const checkbox = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a5)\", \"text-(--accent-a11)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-4\", \"w-4\", \"text-xs\"],\n\t\t\t\tsm: [\"h-5\", \"w-5\", \"text-sm\"],\n\t\t\t\tmd: [\"h-6\", \"w-6\", \"text-base\"],\n\t\t\t\tlg: [\"h-7\", \"w-7\", \"text-lg\"],\n\t\t\t\txl: [\"h-8\", \"w-8\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { checkbox } from \"./cva\"\nimport type { CheckboxVariantProps } from \"./typings\"\n\nexport interface CheckboxRootProps extends CheckboxVariantProps, RadixCheckbox.CheckboxProps {}\n\nexport const CheckboxRoot = forwardRef<HTMLButtonElement, CheckboxRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant,\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tclassName={cx(className, checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxRoot.displayName = \"CheckboxRoot\"\n","import { CheckboxIndicator } from \"./Indicator\"\nimport { CheckboxRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Checkbox = {\n\tRoot: CheckboxRoot,\n\tIndicator: CheckboxIndicator,\n}\n","import React from 'react';\nconst usePassiveLayoutEffect = React[typeof document !== 'undefined' && document.createElement !== void 0 ? 'useLayoutEffect' : 'useEffect'];\nexport default usePassiveLayoutEffect;","import * as React from 'react';\n\nconst useLatest = current => {\n const storedValue = React.useRef(current);\n React.useEffect(() => {\n storedValue.current = current;\n });\n return storedValue;\n};\n\nexport default useLatest;","/* eslint-disable no-return-assign */\n/* eslint-disable no-underscore-dangle */\n\nimport useLayoutEffect from '@react-hook/passive-layout-effect';\nimport useLatest from '@react-hook/latest';\n\n/**\n * A React hook that fires a callback whenever ResizeObserver detects a change to its size\n *\n * @param target A React ref created by `useRef()` or an HTML element\n * @param callback Invoked with a single `ResizeObserverEntry` any time\n * the `target` resizes\n */\n\nfunction _ref() {}\nfunction useResizeObserver(target, callback, options = {}) {\n const resizeObserver = getResizeObserver(options.polyfill);\n const storedCallback = useLatest(callback);\n useLayoutEffect(() => {\n let didUnsubscribe = false;\n const targetEl = target && 'current' in target ? target.current : target;\n if (!targetEl) return _ref;\n function cb(entry, observer) {\n if (didUnsubscribe) return;\n storedCallback.current(entry, observer);\n }\n resizeObserver.subscribe(targetEl, cb);\n return () => {\n didUnsubscribe = true;\n resizeObserver.unsubscribe(targetEl, cb);\n };\n }, [target, resizeObserver, storedCallback]);\n return resizeObserver.observer;\n}\nfunction createResizeObserver(polyfill) {\n let ticking = false;\n let allEntries = [];\n const callbacks = new Map();\n const observer = new (polyfill || window.ResizeObserver)((entries, obs) => {\n allEntries = allEntries.concat(entries);\n function _ref2() {\n const triggered = new Set();\n for (let i = 0; i < allEntries.length; i++) {\n if (triggered.has(allEntries[i].target)) continue;\n triggered.add(allEntries[i].target);\n const cbs = callbacks.get(allEntries[i].target);\n cbs === null || cbs === void 0 ? void 0 : cbs.forEach(cb => cb(allEntries[i], obs));\n }\n allEntries = [];\n ticking = false;\n }\n if (!ticking) {\n window.requestAnimationFrame(_ref2);\n }\n ticking = true;\n });\n return {\n observer,\n subscribe(target, callback) {\n var _callbacks$get;\n observer.observe(target);\n const cbs = (_callbacks$get = callbacks.get(target)) !== null && _callbacks$get !== void 0 ? _callbacks$get : [];\n cbs.push(callback);\n callbacks.set(target, cbs);\n },\n unsubscribe(target, callback) {\n var _callbacks$get2;\n const cbs = (_callbacks$get2 = callbacks.get(target)) !== null && _callbacks$get2 !== void 0 ? _callbacks$get2 : [];\n if (cbs.length === 1) {\n observer.unobserve(target);\n callbacks.delete(target);\n return;\n }\n const cbIndex = cbs.indexOf(callback);\n if (cbIndex !== -1) cbs.splice(cbIndex, 1);\n callbacks.set(target, cbs);\n }\n };\n}\nlet _resizeObserver;\nconst getResizeObserver = polyfill => !_resizeObserver ? _resizeObserver = createResizeObserver(polyfill) : _resizeObserver;\nexport default useResizeObserver;","import useResizeObserver from \"@react-hook/resize-observer\"\nimport type * as React from \"react\"\nimport {\n\tDispatch,\n\tmemo,\n\tRefObject,\n\tSetStateAction,\n\tSyntheticEvent,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseState,\n} from \"react\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport { ViewportSizes } from \"./typings\"\n\nexport interface ViewportSize {\n\tsize: ViewportSizes\n\tprevSize: ViewportSizes\n\txs: boolean\n\tsm: boolean\n\tmd: boolean\n\tlg: boolean\n\txl: boolean\n}\n\n// TODO: this should be moved to /web\n// note that this is a pretty poor way of setting this up, the better way would be to use a context at the highest level\n// in the React component tree to result in the useMediaQuery hook being called a minimal number of times. Then any components\n// that need to subscribe to the viewport size can use the context to get the current viewport size.\n/** Return value needs to be deconstructed since the object returned is not memoized */\n\ninterface useViewportSizeProps {\n\txs: number | string\n\tsm: number | string\n\tmd: number | string\n\tlg: number | string\n\txl: number | string\n}\n\nexport const useViewportSize = (props: useViewportSizeProps): ViewportSize => {\n\tconst { xs: xsProps, sm: smProps, md: mdProps, lg: lgProps, xl: xlProps } = props\n\tconst [prevSize, setPrevSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\tconst [size, setSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\t// These specific Breakpoints are from Radix, see https://www.radix-ui.com/themes/docs/theme/breakpoints\n\tconst xs = useMediaQuery({ minWidth: xsProps })\n\tconst sm = useMediaQuery({ minWidth: smProps })\n\tconst md = useMediaQuery({ minWidth: mdProps })\n\tconst lg = useMediaQuery({ minWidth: lgProps })\n\tconst xl = useMediaQuery({ minWidth: xlProps })\n\n\tuseLayoutEffect(() => {\n\t\tsetSize((prev) => {\n\t\t\tsetPrevSize(prev)\n\t\t\treturn xl ? \"xl\" : lg ? \"lg\" : md ? \"md\" : sm ? \"sm\" : xs ? \"xs\" : \"initial\"\n\t\t})\n\t}, [lg, md, sm, xl, xs])\n\n\treturn { size, prevSize, xs, sm, md, lg, xl }\n}\n\n/** utility used for stopping Event propagation.\n * @return stopPropagation a callback that calls stopPropagation on a general event */\nexport const useStopEventPropagation = () => {\n\treturn useCallback((event: Event) => {\n\t\tevent.stopPropagation()\n\t}, [])\n}\n\n/** custom hook use for providing filter functionality based on a text input field\n * @param filterFunction make sure this is wrapped in a useCallback\n * @param values items that should be filtered on (of type T) */\nexport function useTextFilter<T>(\n\tvalues: T[],\n\tfilterFunction: (value: T, filterValue: string) => boolean,\n): [T[], string, Dispatch<SetStateAction<string>>] {\n\tconst [filteredOptions, setFilteredOptions] = useState<T[]>([])\n\tconst [filterValue, setFilterValue] = useState<string>(\"\")\n\n\tuseEffect(() => {\n\t\tsetFilteredOptions(values.filter((value) => filterFunction(value, filterValue)))\n\t}, [filterFunction, filterValue, values])\n\n\treturn [filteredOptions, filterValue, setFilterValue]\n}\n\nexport const useSize = (target: RefObject<HTMLDivElement>): DOMRectReadOnly | undefined => {\n\tconst [size, setSize] = useState<DOMRectReadOnly>()\n\n\tuseLayoutEffect(() => {\n\t\tsetSize(target.current?.getBoundingClientRect())\n\t}, [target])\n\n\tconst handleResize = useCallback((entry: ResizeObserverEntry) => {\n\t\tconst rect = entry.contentRect\n\t\tsetSize(rect)\n\t}, [])\n\n\t// Where the magic happens\n\tuseResizeObserver<HTMLDivElement>(target, handleResize)\n\treturn size\n}\n\nexport const genericMemo: <T>(component: T) => T = memo\n\nexport function useControlledState<TState>(\n\tinitialState: TState,\n\tstate?: TState,\n\tsetState?: (state: TState) => void,\n): [TState, (state: TState) => void] {\n\tconst [uncontrolledState, setUncontrolledState] = useState<TState>(initialState)\n\n\treturn [state !== undefined ? state : uncontrolledState, setState !== undefined ? setState : setUncontrolledState]\n}\n\ntype RefCleanup<T> = Exclude<ReturnType<React.RefCallback<T>>, void>\n\nexport function mergeRefs<T>(refs: Array<React.Ref<T> | undefined>): React.RefCallback<T> {\n\treturn (value) => {\n\t\tconst cleanups = refs.reduce((cleanups, ref) => {\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tconst cleanup = ref(value)\n\t\t\t\tif (typeof cleanup === \"function\") {\n\t\t\t\t\tcleanups.push(cleanup)\n\t\t\t\t} else {\n\t\t\t\t\t// simulate previous ref cleanup behavior\n\t\t\t\t\tcleanups.push(() => {\n\t\t\t\t\t\tref(null)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else if (ref != null) {\n\t\t\t\tref.current = value\n\t\t\t\t// simulate previous ref cleanup behavior\n\t\t\t\tcleanups.push(() => {\n\t\t\t\t\tref.current = null\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn cleanups\n\t\t}, [] as RefCleanup<T>[])\n\n\t\treturn () => {\n\t\t\tcleanups.forEach((cleanup) => {\n\t\t\t\tcleanup()\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport const stopPropagation = (e: SyntheticEvent) => {\n\te.stopPropagation()\n}\n","import { createContext, CSSProperties, useContext } from \"react\"\n\nimport { NodeCallbacks, NodeRenderer } from \"./typings\"\n\ninterface ICollapsibleTreeContext<TMeta> extends NodeCallbacks<TMeta> {\n\tnodeClassName?: string\n\tnodeStyles?: CSSProperties\n\tdisabled: boolean\n\tnodeRenderer: NodeRenderer<TMeta>\n}\n\nexport const CollapsibleTreeContext = createContext<ICollapsibleTreeContext<never>>(\n\t{} as ICollapsibleTreeContext<unknown>,\n)\n\nexport function useCollapsibleTreeContext<TMeta>() {\n\treturn useContext(CollapsibleTreeContext) as ICollapsibleTreeContext<TMeta>\n}\n","import * as RadixPrimitiveCollapsible from \"@radix-ui/react-collapsible\"\nimport { cx } from \"class-variance-authority\"\nimport { useCallback, useMemo, useState } from \"react\"\n\nimport { genericMemo } from \"../utils\"\nimport { CollapsibleTreeContext, useCollapsibleTreeContext } from \"./context\"\nimport { CollapsibleTreeProps, TreeNodeProps } from \"./typings\"\n\nconst CollapsibleNode = genericMemo(function <TMeta>(props: TreeNodeProps<TMeta> & { level?: number }) {\n\tconst { meta, nodes, level = 0, disabled } = props\n\t/** controlling the open state to allow a developer to specify what element is responsible for triggering the open\n\t * and closing of the collapsible. */\n\tconst [controlledOpenState, setControlledOpenState] = useState<boolean>(false)\n\n\tconst {\n\t\tnodeRenderer,\n\t\tdisabled: disabledFromContext,\n\t\tonNodeOpen,\n\t\tonNodeClose,\n\t\tonNodeClick,\n\t\tnodeStyles,\n\t\tnodeClassName,\n\t} = useCollapsibleTreeContext<TMeta>()\n\n\t// Want to overwrite the global disabled state if defined specifically for a node\n\tconst isDisabled = disabled ?? disabledFromContext\n\n\tconst handleClick = useCallback(() => {\n\t\tif (onNodeClick) onNodeClick(meta)\n\t}, [meta, onNodeClick])\n\n\tconst toggleOpenState = useCallback(() => {\n\t\tsetControlledOpenState(!controlledOpenState)\n\n\t\t// If moving from closed to open, call onNodeOpen\n\t\tif (!controlledOpenState && onNodeOpen) onNodeOpen(meta)\n\n\t\t// If moving from open to closed, call onNodeClose\n\t\tif (controlledOpenState && onNodeClose) onNodeClose(meta)\n\t}, [meta, onNodeClose, onNodeOpen, controlledOpenState])\n\n\tconst { children, style, className } = useMemo(() => {\n\t\treturn nodeRenderer({\n\t\t\tmeta,\n\t\t\ttoggleOpen: toggleOpenState,\n\t\t\topen: controlledOpenState,\n\t\t\tdisabled: isDisabled,\n\t\t})\n\t}, [isDisabled, meta, nodeRenderer, toggleOpenState, controlledOpenState])\n\n\tconst combinedStyles = useMemo(\n\t\t() => ({\n\t\t\t// want node specific styles to overwrite and global node styles\n\t\t\t...nodeStyles,\n\t\t\t...style,\n\t\t}),\n\t\t[nodeStyles, style],\n\t)\n\n\treturn (\n\t\t<RadixPrimitiveCollapsible.Root asChild open={controlledOpenState} disabled={isDisabled}>\n\t\t\t<div className=\"flex w-full flex-col\">\n\t\t\t\t<div\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tclassName={cx(nodeClassName, className, \"flex w-full shrink-0 items-center\")}\n\t\t\t\t\tstyle={combinedStyles}\n\t\t\t\t\t// These are useful, and another way to style the TreeNode based on its open or disabled state\n\t\t\t\t\tdata-state={controlledOpenState ? \"open\" : \"closed\"}\n\t\t\t\t\tdata-disabled={isDisabled}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{nodes && nodes.length > 0 && (\n\t\t\t\t\t<RadixPrimitiveCollapsible.Content asChild>\n\t\t\t\t\t\t<div className=\"flex h-max w-full flex-col pl-2\">\n\t\t\t\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t\t\t\t<CollapsibleNode<TMeta>\n\t\t\t\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\t\t\t\tkey={`${level},${index}`}\n\t\t\t\t\t\t\t\t\t{...treeNodeProps}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</RadixPrimitiveCollapsible.Content>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</RadixPrimitiveCollapsible.Root>\n\t)\n})\n\n/** The Collapsible Tree Component is a reusable UI element that displays hierarchical data in a tree structure.\n * Nodes in the tree can be expanded or collapsed to show or hide their children, allowing for an intuitive and\n * space-efficient way to navigate complex data structures.*/\nexport const CollapsibleTree = genericMemo(function <TMeta>(props: CollapsibleTreeProps<TMeta>) {\n\tconst {\n\t\tnodes,\n\t\tdisabled = false,\n\t\tnodeClassName,\n\t\tnodeStyles,\n\t\tonNodeClick,\n\t\tonNodeClose,\n\t\tonNodeOpen,\n\t\tnodeRenderer,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<CollapsibleTreeContext.Provider\n\t\t\tvalue={{\n\t\t\t\tnodeRenderer,\n\t\t\t\tnodeClassName,\n\t\t\t\tnodeStyles,\n\t\t\t\tdisabled,\n\t\t\t\tonNodeClick,\n\t\t\t\tonNodeClose,\n\t\t\t\tonNodeOpen,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"flex h-max w-full flex-col\" {...rest}>\n\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t<CollapsibleNode<TMeta> key={`${0},${index}`} {...treeNodeProps} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</CollapsibleTreeContext.Provider>\n\t)\n})\n","import { createContext, Dispatch, SetStateAction } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { CheckedState, CommandMenuSize, CommandMenuVariant } from \"./typings\"\n\ninterface ICommandMenuContext {\n\tsize: CommandMenuSize\n\tvariant: CommandMenuVariant\n\tradius: ComponentRadius\n}\n\nexport const CommandMenuContext = createContext<ICommandMenuContext>({} as ICommandMenuContext)\n\nexport interface ISelectContext {\n\tselectValue: (value: string) => void\n\tselected: (value: string) => boolean\n}\n\nexport const SelectContext = createContext({} as ISelectContext)\n\nexport interface IMultiSelectGroupContext {\n\titemValueMapping: Map<string, string>\n\tsetItemValueMapping: Dispatch<SetStateAction<Map<string, string>>>\n\n\tvalues: string[]\n\tsetValues: (values: string[]) => void\n}\n\nexport const MultiSelectGroupContext = createContext({} as IMultiSelectGroupContext)\n\nexport const SelectedIndicatorContext = createContext<boolean>(false)\n\nexport const CheckboxIndicatorContext = createContext<CheckedState>(false)\n\nexport interface IMenuPagesContext {\n\tpage: string\n\tsetPage: (page: string) => void\n}\n\nexport const CommandMenuPageContext = createContext({} as IMenuPagesContext)\n\nexport interface ICommandMenuDialogContext {\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n}\n\nexport const CommandMenuDialogContext = createContext({} as ICommandMenuDialogContext)\n","import type { CheckedState } from \"./typings\"\n\nexport function getSelectedState(selected: boolean) {\n\treturn selected ? \"selected\" : \"unselected\"\n}\n\nexport function getCheckedState(checked: CheckedState) {\n\treturn checked === true ? \"checked\" : checked === false ? \"unchecked\" : \"indeterminate\"\n}\n\nexport function getActiveState(active: boolean) {\n\treturn active ? \"active\" : \"inactive\"\n}\n","import { ComponentPropsWithRef, ReactNode, use, useMemo } from \"react\"\n\nimport { CheckboxIndicatorContext } from \"./context\"\nimport type { CheckedState } from \"./typings\"\nimport { getCheckedState } from \"./utils\"\n\nexport interface CommandMenuCheckboxIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\talwaysRender?: boolean\n\tchildren: ReactNode | ((checked: CheckedState) => ReactNode)\n}\n\nexport const CommandMenuCheckboxIndicator = (props: CommandMenuCheckboxIndicatorProps) => {\n\tconst { ref, alwaysRender = false, children, ...rest } = props\n\tconst checkedState = use(CheckboxIndicatorContext)\n\n\t// Memoize the children rendering based on checked state\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(checkedState) : children\n\t}, [checkedState, children])\n\n\tconst render = alwaysRender || !!checkedState\n\n\tif (!render) return null\n\n\treturn (\n\t\t<span ref={ref} data-state={getCheckedState(checkedState)} className=\"size-max\" {...rest}>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const commandMenuContentCva = cva(\n\t[\n\t\t\"ring\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"shadow-md\",\n\t\t\"fixed\",\n\t\t\"max-w-lg\",\n\t\t\"size-full\",\n\t\t\"h-max\",\n\t\t\"overflow-hidden\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"outline-none\",\n\t\t\"top-[15%]\",\n\t\t\"left-1/2\",\n\t\t\"-translate-x-1/2\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-sm\"],\n\t\t\t\tsm: [\"text-base\"],\n\t\t\t\tmd: [\"text-base\"],\n\t\t\t\tlg: [\"text-lg\"],\n\t\t\t\txl: [\"text-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const commandMenuOverlayCva = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\t\"duration-200\",\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\t\"data-[state='open']:animate-in\",\n\t\"data-[state='open']:fade-in-0\",\n\t\"data-[state='closed']:animate-out\",\n\t\"data-[state='closed']:fade-out-0\",\n])\n\nexport const commandMenuListCva = cva(\n\t[\"[scrollbar-width:thin]\", \"[scrollbar-color:var(--base-6)_transparent]\", \"overflow-auto\", \"h-max\", \"max-h-100\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"py-1.75\", \"scroll-py-1.75\"],\n\t\t\t\tsm: [\"py-2\", \"scroll-py-2\"],\n\t\t\t\tmd: [\"py-2.25\", \"scroll-py-2.25\"],\n\t\t\t\tlg: [\"py-2.5\", \"scroll-py-2.5\"],\n\t\t\t\txl: [\"py-2.75\", \"scroll-py-2.75\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const commandMenuInputCva = cva([\"outline-none\", \"w-full\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-12\", \"px-5.25\", \"text-base\"],\n\t\t\tsm: [\"h-13\", \"px-6\", \"text-lg\"],\n\t\t\tmd: [\"h-14\", \"px-6.75\", \"text-lg\"],\n\t\t\tlg: [\"h-15\", \"px-8.5\", \"text-xl\"],\n\t\t\txl: [\"h-16\", \"px-9.25\", \"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const commandMenuSeparatorCva = cva([\"h-px\", \"bg-(--base-a6)\", \"w-full\"], {\n\tvariants: {\n\t\tspacing: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [],\n\t\t\tsm: [],\n\t\t\tmd: [],\n\t\t\tlg: [],\n\t\t\txl: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{ spacing: true, size: \"xs\", className: [\"my-1.75\"] },\n\t\t{ spacing: true, size: \"sm\", className: [\"my-2\"] },\n\t\t{ spacing: true, size: \"md\", className: [\"my-2.25\"] },\n\t\t{ spacing: true, size: \"lg\", className: [\"my-2.5\"] },\n\t\t{ spacing: true, size: \"xl\", className: [\"my-2.75\"] },\n\t],\n})\n\nexport const commandMenuItemCva = cva(\n\t[\n\t\t\"relative\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"outline-none\",\n\n\t\t// select\n\t\t\"select-none\",\n\n\t\t// cursor\n\t\t\"cursor-pointer\",\n\n\t\t// disabled\n\t\t\"data-[disabled=true]:text-(--base-a8)\",\n\t\t\"data-[disabled=true]:pointer-events-none\",\n\n\t\t// after\n\t\t\"after:absolute\",\n\t\t\"after:bg-transparent\",\n\t\t\"after:z-[-1]\",\n\t\t\"after:inset-y-0\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-10\", \"gap-3.5\", \"px-5.25\", \"after:inset-x-1.75\"],\n\t\t\t\tsm: [\"h-11\", \"gap-4\", \"px-6\", \"after:inset-x-2\"],\n\t\t\t\tmd: [\"h-12\", \"gap-4.5\", \"px-6.75\", \"after:inset-x-2.25\"],\n\t\t\t\tlg: [\"h-13\", \"gap-5\", \"px-7.5\", \"after:inset-x-2.5\"],\n\t\t\t\txl: [\"h-14\", \"gap-5.5\", \"px-8.25\", \"after:inset-x-2.75\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-[selected=true]:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-[selected=true]:after:bg-(--accent-a9)\",\n\t\t\t\t\t\"data-[selected=true]:active:after:brightness-110\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-[selected=true]:after:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[selected=true]:active:after:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tradius: {\n\t\t\t\tnone: [\"after:rounded-none\"],\n\t\t\t\txs: [\"after:rounded-xs\"],\n\t\t\t\tsm: [\"after:rounded-sm\"],\n\t\t\t\tmd: [\"after:rounded-md\"],\n\t\t\t\tlg: [\"after:rounded-lg\"],\n\t\t\t\txl: [\"after:rounded-xl\"],\n\t\t\t\tfull: [\"after:rounded-full\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"soft\",\n\t\t},\n\t},\n)\n\nexport const commandMenuEmptyCva = cva([\"flex\", \"justify-center\", \"text-(--base-a11)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"py-3.5\"],\n\t\t\tsm: [\"py-4\"],\n\t\t\tmd: [\"py-4.5\"],\n\t\t\tlg: [\"py-5\"],\n\t\t\txl: [\"py-5.5\"],\n\t\t},\n\t},\n})\n\nexport const commandMenuGroupCva = cva(\n\t[\n\t\t\"[&_[cmdk-group-heading]]:text-(--base-a10)\",\n\t\t\"[&_[cmdk-group-heading]]:flex\",\n\t\t\"[&_[cmdk-group-heading]]:items-center\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-2.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-6\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-xs\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-2.5\",\n\t\t\t\t],\n\t\t\t\tsm: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-2.75\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-6.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-sm\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-2.75\",\n\t\t\t\t],\n\t\t\t\tmd: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-3\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-7\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-sm\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-3\",\n\t\t\t\t],\n\t\t\t\tlg: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-3.25\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-7.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-base\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-3.25\",\n\t\t\t\t],\n\t\t\t\txl: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-3.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-8\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-base\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-3.5\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { CommandItem } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use, useCallback } from \"react\"\n\nimport { CommandMenuContext, CommandMenuDialogContext } from \"./context\"\nimport { commandMenuItemCva } from \"./cva\"\n\nexport interface CommandMenuItemProps extends ComponentPropsWithRef<typeof CommandItem> {\n\tcloseOnSelect?: boolean\n}\n\nexport const CommandMenuItem = memo<CommandMenuItemProps>((props) => {\n\tconst { className, ref, closeOnSelect = true, onSelect, ...rest } = props\n\n\tconst { size, variant, radius } = use(CommandMenuContext)\n\tconst { setOpen } = use(CommandMenuDialogContext)\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\tif (closeOnSelect) {\n\t\t\t\tsetOpen(false)\n\t\t\t}\n\t\t},\n\t\t[closeOnSelect, onSelect, setOpen],\n\t)\n\n\treturn (\n\t\t<CommandItem\n\t\t\tclassName={cx(className, commandMenuItemCva({ size, variant, radius }))}\n\t\t\tref={ref}\n\t\t\tonSelect={handleSelect}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCommandMenuItem.displayName = \"CommandMenuItem\"\n","import { useCallback } from \"react\"\n\nimport { CheckboxIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\nimport { getCheckedState } from \"./utils\"\n\nexport interface CommandMenuCheckboxItemProps extends CommandMenuItemProps {\n\tchecked: CheckedState\n\tonCheckedChange: (checked: boolean) => void\n}\n\nexport const CommandMenuCheckboxItem = (props: CommandMenuCheckboxItemProps) => {\n\tconst { children, ref, checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tonCheckedChange(checked !== true)\n\t\t},\n\t\t[checked, onCheckedChange, onSelect],\n\t)\n\n\treturn (\n\t\t<CheckboxIndicatorContext value={checked}>\n\t\t\t<CommandMenuItem ref={ref} onSelect={handleSelect} data-state={getCheckedState(checked)} {...rest}>\n\t\t\t\t{children}\n\t\t\t</CommandMenuItem>\n\t\t</CheckboxIndicatorContext>\n\t)\n}\n","import { DialogContentProps, DialogDescription, DialogPortalProps, DialogTitle } from \"@radix-ui/react-dialog\"\nimport { DialogContent, DialogPortal } from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { CommandRoot } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuContentCva } from \"./cva\"\nimport type { CommandMenuVariantProps } from \"./typings\"\n\nexport interface CommandMenuContentProps\n\textends ComponentPropsWithRef<typeof CommandRoot>,\n\t\tPick<\n\t\t\tDialogContentProps,\n\t\t\t| \"forceMount\"\n\t\t\t| \"onOpenAutoFocus\"\n\t\t\t| \"onCloseAutoFocus\"\n\t\t\t| \"onEscapeKeyDown\"\n\t\t\t| \"onPointerDownOutside\"\n\t\t\t| \"onInteractOutside\"\n\t\t>,\n\t\tPick<DialogPortalProps, \"container\">,\n\t\tCommandMenuVariantProps {}\n\nexport const CommandMenuContent = memo<CommandMenuContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tref,\n\t\t// DialogContent props\n\t\tforceMount,\n\t\tonOpenAutoFocus,\n\t\tonCloseAutoFocus,\n\t\tonEscapeKeyDown,\n\t\tonPointerDownOutside,\n\t\tonInteractOutside,\n\t\t// CommandMenuVariantProps\n\t\tvariant = \"soft\",\n\t\tsize = \"md\",\n\t\taccentColor = \"base\",\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(() => {\n\t\treturn {\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t}\n\t}, [radius, size, variant])\n\n\treturn (\n\t\t<DialogPortal>\n\t\t\t<DialogContent\n\t\t\t\tforceMount={forceMount}\n\t\t\t\tonOpenAutoFocus={onOpenAutoFocus}\n\t\t\t\tonCloseAutoFocus={onCloseAutoFocus}\n\t\t\t\tonEscapeKeyDown={onEscapeKeyDown}\n\t\t\t\tonPointerDownOutside={onPointerDownOutside}\n\t\t\t\tonInteractOutside={onInteractOutside}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\tasChild\n\t\t\t>\n\t\t\t\t<CommandRoot\n\t\t\t\t\tclassName={cx(className, commandMenuContentCva({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t<DialogTitle className=\"sr-only\">{props.label}</DialogTitle>\n\t\t\t\t\t<DialogDescription className=\"sr-only\">Use the command menu to trigger commands.</DialogDescription>\n\t\t\t\t\t<CommandMenuContext value={contextValue}>{children}</CommandMenuContext>\n\t\t\t\t</CommandRoot>\n\t\t\t</DialogContent>\n\t\t</DialogPortal>\n\t)\n})\nCommandMenuContent.displayName = \"CommandMenuContent\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandEmpty } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuEmptyCva } from \"./cva\"\n\nexport interface CommandMenuEmptyProps extends ComponentPropsWithRef<typeof CommandEmpty> {}\n\nexport const CommandMenuEmpty = memo<CommandMenuEmptyProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn <CommandEmpty className={cx(className, commandMenuEmptyCva({ size }))} ref={ref} {...rest} />\n})\nCommandMenuEmpty.displayName = \"CommandMenuEmpty\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandGroup } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuGroupCva } from \"./cva\"\n\nexport interface CommandMenuGroupProps extends ComponentPropsWithRef<typeof CommandGroup> {}\n\nexport const CommandMenuGroup = memo<CommandMenuGroupProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn <CommandGroup className={cx(className, commandMenuGroupCva({ size }))} ref={ref} {...rest} />\n})\nCommandMenuGroup.displayName = \"CommandMenuGroup\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandInput } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuInputCva } from \"./cva\"\n\nexport interface CommandMenuInputProps extends ComponentPropsWithRef<typeof CommandInput> {}\n\nexport const CommandMenuInput = memo<CommandMenuInputProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn <CommandInput className={cx(className, commandMenuInputCva({ size }))} ref={ref} {...rest} />\n})\nCommandMenuInput.displayName = \"CommandMenuInput\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandList, useCommandState } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuListCva } from \"./cva\"\n\nexport interface CommandMenuListProps extends ComponentPropsWithRef<typeof CommandList> {}\n\nexport const CommandMenuList = memo<CommandMenuListProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\tconst filterCount = useCommandState((state) => state.filtered.count)\n\n\treturn (\n\t\t<CommandList\n\t\t\tclassName={cx(className, commandMenuListCva({ size }))}\n\t\t\tref={ref}\n\t\t\thidden={filterCount === 0}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCommandMenuList.displayName = \"CommandMenuList\"\n","import { useCallback, useMemo, useState } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { MultiSelectGroupContext, SelectContext } from \"./context\"\nimport { CommandMenuGroup, CommandMenuGroupProps } from \"./Group\"\n\nexport interface CommandMenuMultiSelectGroupProps extends CommandMenuGroupProps {\n\tdefaultValues?: string[]\n\tvalues?: string[]\n\tonValuesChange?: (values: string[]) => void\n}\n\nexport const CommandMenuMultiSelectGroup = (props: CommandMenuMultiSelectGroupProps) => {\n\tconst { children, ref, defaultValues = [], values: controlledValues, onValuesChange, ...rest } = props\n\n\tconst [itemValueMapping, setItemValueMapping] = useState<Map<string, string>>(new Map())\n\tconst [values, setValues] = useControlledState(defaultValues, controlledValues, onValuesChange)\n\n\tconst selected = useCallback((value: string) => values.includes(value), [values])\n\n\tconst selectValue = useCallback(\n\t\t(value: string) => {\n\t\t\tif (selected(value)) {\n\t\t\t\tsetValues(values.filter((v) => v !== value))\n\t\t\t} else {\n\t\t\t\tsetValues([...values, value])\n\t\t\t}\n\t\t},\n\t\t[selected, setValues, values],\n\t)\n\n\tconst selectContextValue = useMemo(() => {\n\t\treturn {\n\t\t\tselected,\n\t\t\tselectValue,\n\t\t}\n\t}, [selectValue, selected])\n\n\tconst contextValue = useMemo(() => {\n\t\treturn {\n\t\t\titemValueMapping,\n\t\t\tsetItemValueMapping,\n\t\t\tvalues,\n\t\t\tsetValues,\n\t\t}\n\t}, [itemValueMapping, setValues, values])\n\n\treturn (\n\t\t<SelectContext value={selectContextValue}>\n\t\t\t<MultiSelectGroupContext value={contextValue}>\n\t\t\t\t<CommandMenuGroup ref={ref} aria-multiselectable {...rest}>\n\t\t\t\t\t{children}\n\t\t\t\t</CommandMenuGroup>\n\t\t\t</MultiSelectGroupContext>\n\t\t</SelectContext>\n\t)\n}\n","import { use, useCallback, useId, useLayoutEffect } from \"react\"\n\nimport { MultiSelectGroupContext, SelectContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport { getSelectedState } from \"./utils\"\n\nexport interface CommandMenuMultiSelectItemProps extends CommandMenuItemProps {\n\tvalue: string\n}\n\nexport const CommandMenuMultiSelectItem = (props: CommandMenuMultiSelectItemProps) => {\n\tconst { children, ref, value, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { selected, selectValue: handleSelectValue } = use(SelectContext)\n\n\tconst itemValueId = useId()\n\tconst { setItemValueMapping } = use(MultiSelectGroupContext)\n\n\tuseLayoutEffect(() => {\n\t\tsetItemValueMapping((prev) => new Map(prev).set(itemValueId, value))\n\n\t\treturn () => {\n\t\t\tsetItemValueMapping((prev) => {\n\t\t\t\tconst next = new Map(prev)\n\t\t\t\tnext.delete(itemValueId)\n\t\t\t\treturn next\n\t\t\t})\n\t\t}\n\t}, [itemValueId, setItemValueMapping, value])\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\thandleSelectValue(value)\n\t\t},\n\t\t[handleSelectValue, onSelect],\n\t)\n\n\tconst isSelected = selected(value)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isSelected}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\taria-selected={isSelected}\n\t\t\t\tvalue={value}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CommandMenuItem>\n\t\t</SelectedIndicatorContext>\n\t)\n}\n","import type { DialogOverlayProps, DialogPortalProps } from \"@radix-ui/react-dialog\"\nimport { DialogOverlay, DialogPortal } from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport { commandMenuOverlayCva } from \"./cva\"\n\nexport interface CommandMenuOverlayProps extends DialogOverlayProps, Pick<DialogPortalProps, \"container\"> {}\n\nexport const CommandMenuOverlay = memo<CommandMenuOverlayProps>((props) => {\n\tconst { container, className, ...rest } = props\n\n\treturn (\n\t\t<DialogPortal container={container}>\n\t\t\t<DialogOverlay className={cx(className, commandMenuOverlayCva())} data-floating-content=\"\" {...rest} />\n\t\t</DialogPortal>\n\t)\n})\nCommandMenuOverlay.displayName = \"CommandMenuOverlay\"\n","import { ComponentPropsWithRef, use, useMemo } from \"react\"\n\nimport { CommandMenuPageContext } from \"./context\"\nimport { getActiveState } from \"./utils\"\n\nexport interface CommandMenuPageProps extends ComponentPropsWithRef<\"div\"> {\n\tpage: string\n}\n\nexport const CommandMenuPage = (props: CommandMenuPageProps) => {\n\tconst { children, ref, page, ...rest } = props\n\tconst { page: activePage } = use(CommandMenuPageContext)\n\n\tconst isActive = useMemo(() => page === activePage, [page, activePage])\n\n\treturn (\n\t\t<div ref={ref} data-active={getActiveState(isActive)} hidden={!isActive} {...rest}>\n\t\t\t{isActive ? children : null}\n\t\t</div>\n\t)\n}\n","import { PropsWithChildren } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { CommandMenuPageContext } from \"./context\"\n\nexport interface CommandMenuPagesProps extends PropsWithChildren {\n\tdefaultPage?: string\n\tpage?: string\n\tonPageChange?: (page: string) => void\n}\n\nexport const CommandMenuPages = (props: CommandMenuPagesProps) => {\n\tconst { children, defaultPage = \"\", page: controlledPage, onPageChange } = props\n\n\tconst [page, setPage] = useControlledState(defaultPage, controlledPage, onPageChange)\n\n\treturn <CommandMenuPageContext value={{ page, setPage }}>{children}</CommandMenuPageContext>\n}\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { CommandMenuPageContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport { getActiveState } from \"./utils\"\n\nexport interface CommandMenuPageTriggerItemProps extends CommandMenuItemProps {\n\tpage: string\n}\n\nexport const CommandMenuPageTriggerItem = (props: CommandMenuPageTriggerItemProps) => {\n\tconst { ref, page, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { page: activePage, setPage } = use(CommandMenuPageContext)\n\n\tconst isActive = useMemo(() => page === activePage, [page, activePage])\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tsetPage(page)\n\t\t},\n\t\t[onSelect, page, setPage],\n\t)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isActive}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getActiveState(isActive)}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</SelectedIndicatorContext>\n\t)\n}\n","import { useCallback, useMemo } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { SelectContext } from \"./context\"\nimport { CommandMenuGroup, CommandMenuGroupProps } from \"./Group\"\n\nexport interface CommandMenuRadioGroupProps extends Omit<CommandMenuGroupProps, \"defaultValue\" | \"value\"> {\n\tdefaultValue?: string | null\n\tvalue?: string | null\n\tonValueChange?: (value: string | null) => void\n}\n\nexport const CommandMenuRadioGroup = (props: CommandMenuRadioGroupProps) => {\n\tconst { children, ref, defaultValue = null, value: controlledValue, onValueChange, ...rest } = props\n\n\tconst [value, setValue] = useControlledState(defaultValue, controlledValue, onValueChange)\n\n\tconst selected = useCallback((v: string) => v === value, [value])\n\n\tconst selectValue = useCallback(\n\t\t(v: string) => {\n\t\t\tsetValue(selected(v) ? null : v)\n\t\t},\n\t\t[selected, setValue],\n\t)\n\n\tconst contextValue = useMemo(() => ({ selected, selectValue }), [selected, selectValue])\n\n\treturn (\n\t\t<CommandMenuGroup ref={ref} role=\"radiogroup\" {...rest}>\n\t\t\t<SelectContext value={contextValue}>{children}</SelectContext>\n\t\t</CommandMenuGroup>\n\t)\n}\n","import { use, useCallback } from \"react\"\n\nimport { SelectContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport { getSelectedState } from \"./utils\"\n\nexport interface CommandMenuRadioItemProps extends CommandMenuItemProps {\n\tvalue: string\n}\n\nexport const CommandMenuRadioItem = (props: CommandMenuRadioItemProps) => {\n\tconst { children, ref, value, onSelect, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext)\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tselectValue(value)\n\t\t},\n\t\t[onSelect, selectValue],\n\t)\n\n\tconst isSelected = selected(value)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isSelected}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\tvalue={value}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CommandMenuItem>\n\t\t</SelectedIndicatorContext>\n\t)\n}\n","import type { DialogProps } from \"@radix-ui/react-dialog\"\nimport { Dialog } from \"@radix-ui/react-dialog\"\nimport { memo, useMemo } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { CommandMenuDialogContext } from \"./context\"\n\nexport interface CommandMenuRootProps extends DialogProps {}\n\nexport const CommandMenuRoot = memo<CommandMenuRootProps>((props) => {\n\tconst { children, defaultOpen, open: controlledOpen, onOpenChange } = props\n\n\tconst [open, setOpen] = useControlledState(defaultOpen ?? false, controlledOpen, onOpenChange)\n\n\tconst contextValue = useMemo(() => {\n\t\treturn {\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t}\n\t}, [open, setOpen])\n\n\treturn (\n\t\t<Dialog open={open} onOpenChange={setOpen} {...props}>\n\t\t\t<CommandMenuDialogContext value={contextValue}>{children}</CommandMenuDialogContext>\n\t\t</Dialog>\n\t)\n})\nCommandMenuRoot.displayName = \"CommandMenuRoot\"\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { CheckboxIndicatorContext, MultiSelectGroupContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\nimport { getCheckedState } from \"./utils\"\n\nexport interface CommandMenuSelectAllItemProps extends CommandMenuItemProps {}\n\nexport const CommandMenuSelectAllItem = (props: CommandMenuSelectAllItemProps) => {\n\tconst { ref, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { itemValueMapping, values, setValues } = use(MultiSelectGroupContext)\n\n\tconst selectedState: CheckedState = useMemo(() => {\n\t\tconst allValues = Array.from(itemValueMapping.values())\n\n\t\tif (allValues.every((value) => values.includes(value))) return true\n\n\t\tif (allValues.some((value) => values.includes(value))) return \"indeterminate\"\n\n\t\treturn false\n\t}, [itemValueMapping, values])\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tsetValues(selectedState !== true ? Array.from(itemValueMapping.values()) : [])\n\t\t},\n\t\t[itemValueMapping, onSelect, selectedState, setValues],\n\t)\n\n\treturn (\n\t\t<CheckboxIndicatorContext value={selectedState}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getCheckedState(selectedState)}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</CheckboxIndicatorContext>\n\t)\n}\n","import { ComponentPropsWithRef, ReactNode, use, useMemo } from \"react\"\n\nimport { SelectedIndicatorContext } from \"./context\"\nimport { getSelectedState } from \"./utils\"\n\nexport interface CommandMenuSelectedIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\talwaysRender?: boolean\n\tchildren: ReactNode | ((selected: boolean) => ReactNode)\n}\n\nexport const CommandMenuSelectedIndicator = (props: CommandMenuSelectedIndicatorProps) => {\n\tconst { ref, alwaysRender = false, children, ...rest } = props\n\tconst isSelected = use(SelectedIndicatorContext)\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(isSelected) : children\n\t}, [isSelected, children])\n\n\tconst render = alwaysRender || isSelected\n\n\tif (!render) return null\n\n\treturn (\n\t\t<span ref={ref} data-state={getSelectedState(isSelected)} className=\"inline-block size-max\" {...rest}>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n}\n","import { cx } from \"class-variance-authority\"\nimport { CommandSeparator } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuSeparatorCva } from \"./cva\"\n\nexport interface CommandMenuSeparatorProps extends ComponentPropsWithRef<typeof CommandSeparator> {\n\tspacing?: boolean\n}\n\nexport const CommandMenuSeparator = memo<CommandMenuSeparatorProps>((props) => {\n\tconst { className, ref, spacing = false, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn (\n\t\t<CommandSeparator ref={ref} className={cx(className, commandMenuSeparatorCva({ size, spacing }))} {...rest} />\n\t)\n})\nCommandMenuSeparator.displayName = \"CommandMenuSeparator\"\n","import type { DialogTriggerProps } from \"@radix-ui/react-dialog\"\nimport { DialogTrigger } from \"@radix-ui/react-dialog\"\nimport { memo } from \"react\"\n\nexport interface CommandMenuTriggerProps extends DialogTriggerProps {}\n\nexport const CommandMenuTrigger = memo<CommandMenuTriggerProps>((props) => {\n\treturn <DialogTrigger {...props} />\n})\nCommandMenuTrigger.displayName = \"CommandMenuTrigger\"\n","import { CommandMenuCheckboxIndicator } from \"./CheckboxIndicator\"\nimport { CommandMenuCheckboxItem } from \"./CheckboxItem\"\nimport { CommandMenuContent } from \"./Content\"\nimport { CommandMenuEmpty } from \"./Empty\"\nimport { CommandMenuGroup } from \"./Group\"\nimport { CommandMenuInput } from \"./Input\"\nimport { CommandMenuItem } from \"./Item\"\nimport { CommandMenuList } from \"./List\"\nimport { CommandMenuMultiSelectGroup } from \"./MultiSelectGroup\"\nimport { CommandMenuMultiSelectItem } from \"./MultiSelectItem\"\nimport { CommandMenuOverlay } from \"./Overlay\"\nimport { CommandMenuPage } from \"./Page\"\nimport { CommandMenuPages } from \"./Pages\"\nimport { CommandMenuPageTriggerItem } from \"./PageTriggerItem\"\nimport { CommandMenuRadioGroup } from \"./RadioGroup\"\nimport { CommandMenuRadioItem } from \"./RadioItem\"\nimport { CommandMenuRoot } from \"./Root\"\nimport { CommandMenuSelectAllItem } from \"./SelectAllItem\"\nimport { CommandMenuSelectedIndicator } from \"./SelectedIndicator\"\nimport { CommandMenuSeparator } from \"./Separator\"\nimport { CommandMenuTrigger } from \"./Trigger\"\n\nexport * from \"./CheckboxIndicator\"\nexport * from \"./CheckboxItem\"\nexport * from \"./Content\"\nexport * from \"./Empty\"\nexport * from \"./Group\"\nexport * from \"./Input\"\nexport * from \"./Item\"\nexport * from \"./List\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./Overlay\"\nexport * from \"./Page\"\nexport * from \"./Pages\"\nexport * from \"./PageTriggerItem\"\nexport * from \"./RadioGroup\"\nexport * from \"./RadioItem\"\nexport * from \"./Root\"\nexport * from \"./SelectAllItem\"\nexport * from \"./SelectedIndicator\"\nexport * from \"./Separator\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const CommandMenu = {\n\tRoot: CommandMenuRoot,\n\tOverlay: CommandMenuOverlay,\n\tContent: CommandMenuContent,\n\tTrigger: CommandMenuTrigger,\n\tInput: CommandMenuInput,\n\tList: CommandMenuList,\n\tGroup: CommandMenuGroup,\n\tItem: CommandMenuItem,\n\tSeparator: CommandMenuSeparator,\n\tEmpty: CommandMenuEmpty,\n\n\t// Multi select\n\tMultiSelectGroup: CommandMenuMultiSelectGroup,\n\tMultiSelectItem: CommandMenuMultiSelectItem,\n\tSelectAllItem: CommandMenuSelectAllItem,\n\tSelectedIndicator: CommandMenuSelectedIndicator,\n\n\t// Radio / single select\n\tRadioGroup: CommandMenuRadioGroup,\n\tRadioItem: CommandMenuRadioItem,\n\n\t// Checkbox\n\tCheckboxItem: CommandMenuCheckboxItem,\n\tCheckboxIndicator: CommandMenuCheckboxIndicator,\n\n\t// Pages\n\tPages: CommandMenuPages,\n\tPage: CommandMenuPage,\n\tPageTriggerItem: CommandMenuPageTriggerItem,\n}\n","import type { ChevronProps } from \"react-day-picker\"\nimport { RiArrowDownSLine, RiArrowLeftSLine, RiArrowRightSLine, RiArrowUpSLine } from \"react-icons/ri\"\n\nexport const Chevron = (props: ChevronProps) => {\n\tconst { orientation, ...rest } = props\n\n\tswitch (orientation) {\n\t\tcase \"up\":\n\t\t\treturn <RiArrowUpSLine {...rest} />\n\t\tcase \"down\":\n\t\t\treturn <RiArrowDownSLine {...rest} />\n\t\tcase \"left\":\n\t\t\treturn <RiArrowLeftSLine {...rest} />\n\t\tdefault:\n\t\t\treturn <RiArrowRightSLine {...rest} />\n\t}\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const rootCva = cva([\"relative\", \"size-max\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const dayButtonCva = cva(\n\t[\n\t\t\"relative\",\n\t\t\"transition-[background,text]\",\n\n\t\t\"focus:outline-hidden\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// range middle\n\t\t\"group-[.rdp-range-middle]/day:rounded-none\",\n\t\t\"group-[.rdp-range-middle]/day:bg-(--accent-a3)\",\n\n\t\t// range start/end\n\t\t\"group-[.rdp-range-start:not(.rdp-range-end)]/day:rounded-r-none\",\n\t\t\"group-[.rdp-range-end:not(.rdp-range-start)]/day:rounded-l-none\",\n\n\t\t// disabled\n\t\t\"group-data-[disabled]/day:pointer-events-none\",\n\t\t\"group-data-[disabled]/day:text-(--base-a9)\",\n\t\t\"group-data-[disabled]/day:opacity-70\",\n\n\t\t// outside (days shown)\n\t\t\"group-data-[outside]/day:pointer-events-none\",\n\t\t\"group-data-[outside]/day:text-(--base-a9)\",\n\t\t\"group-data-[outside]/day:opacity-70\",\n\t\t\"group-data-[outside]/day:!bg-transparent\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-5\"],\n\t\t\t\tsm: [\"size-6\"],\n\t\t\t\tmd: [\"size-7\"],\n\t\t\t\tlg: [\"size-8\"],\n\t\t\t\txl: [\"size-9\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsoft: [\n\t\t\t\t\t// unselected\n\t\t\t\t\t\"group-[:not([data-selected])]/day:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"group-[:not([data-selected])]/day:active:bg-(--accent-a4)\",\n\n\t\t\t\t\t// selected\n\t\t\t\t\t\"group-[[data-selected='true']:not(.rdp-range-middle)]/day:bg-(--accent-a6)\",\n\t\t\t\t],\n\t\t\t\tsolid: [\n\t\t\t\t\t// unselected\n\t\t\t\t\t\"group-[:not([data-selected])]/day:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"group-[:not([data-selected])]/day:active:bg-(--accent-a4)\",\n\n\t\t\t\t\t// selected\n\t\t\t\t\t\"group-[[data-selected='true']:not(.rdp-range-middle)]/day:bg-(--accent-indicator)\",\n\t\t\t\t\t\"group-[[data-selected='true']:not(.rdp-range-middle)]/day:text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const navButtonCva = cva(\n\t[\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t\t\"focus-visible:outline-(--base-a8)\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:bg-(--base-a3)\",\n\t\t\"active:bg-(--base-a4)\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:text-(--base-a12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-5\"],\n\t\t\t\tsm: [\"size-6\"],\n\t\t\t\tmd: [\"size-7\"],\n\t\t\t\tlg: [\"size-8\"],\n\t\t\t\txl: [\"size-9\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const weekDayCva = cva([\"font-medium\", \"text-(--base-a11)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"size-5\"],\n\t\t\tsm: [\"size-6\"],\n\t\t\tmd: [\"size-7\"],\n\t\t\tlg: [\"size-8\"],\n\t\t\txl: [\"size-9\"],\n\t\t},\n\t},\n})\n\nexport const todayCva = cva(\n\t[\n\t\t\"*:after:absolute\",\n\t\t\"*:after:bg-(--base-12)\",\n\t\t\"*:after:start-1/2\",\n\t\t\"*:after:-translate-x-1/2\",\n\t\t\"*:group-data-[disabled]/day:after:bg-(--base-a9)\",\n\n\t\t\"*:after:rounded-full\",\n\t\t\"*:after:bottom-0.5\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"*:after:size-[2px]\"],\n\t\t\t\tsm: [\"*:after:size-[3px]\"],\n\t\t\t\tmd: [\"*:after:size-[3px]\"],\n\t\t\t\tlg: [\"*:after:size-[4px]\"],\n\t\t\t\txl: [\"*:after:size-[4px]\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsoft: [\"*:after:bg-(--accent-a5)\"],\n\t\t\t\tsolid: [\"*:group-[[data-selected='true']:not(.rdp-range-middle)]/day:after:bg-(--accent-contrast)\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const monthCaptionCva = cva([\"font-medium\", \"w-full\", \"flex\", \"justify-center\", \"items-center\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-5\"],\n\t\t\tsm: [\"h-6\"],\n\t\t\tmd: [\"h-7\"],\n\t\t\tlg: [\"h-8\"],\n\t\t\txl: [\"h-9\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, useMemo } from \"react\"\nimport { DayPicker as ReactDayPicker } from \"react-day-picker\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { Chevron } from \"./Chevron\"\nimport { dayButtonCva, monthCaptionCva, navButtonCva, rootCva, todayCva, weekDayCva } from \"./cva\"\nimport { DayPickerVariantProps } from \"./typings\"\n\nexport type DayPickerProps = ComponentProps<typeof ReactDayPicker> & DayPickerVariantProps\n\nexport const DayPicker = (props: DayPickerProps) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tcomponents,\n\t\tclassNames,\n\t\taccentColor = providerContext.accentColor,\n\t\tsize = \"md\",\n\t\tvariant = \"soft\",\n\t\tradius = providerContext.radius,\n\t\tshowOutsideDays = true,\n\t\t...rest\n\t} = props\n\n\tconst computedClassNames = useMemo(() => {\n\t\treturn {\n\t\t\t...classNames,\n\t\t\troot: cx(classNames?.root, rootCva({ size })),\n\t\t\tnav: cx(classNames?.nav, [\"absolute\", \"top-0\", \"w-full\", \"flex\", \"justify-between\"]),\n\t\t\tmonth: cx(classNames?.month, [\"flex\", \"flex-col\", \"gap-1\"]),\n\t\t\tmonth_caption: cx(classNames?.month_caption, monthCaptionCva({ size })),\n\t\t\tbutton_next: cx(\n\t\t\t\tclassNames?.button_next,\n\t\t\t\tnavButtonCva({ size }),\n\t\t\t\tradiusCva({ radius: radius, maxLarge: false }),\n\t\t\t),\n\t\t\tbutton_previous: cx(\n\t\t\t\tclassNames?.button_previous,\n\t\t\t\tnavButtonCva({ size }),\n\t\t\t\tradiusCva({ radius: radius, maxLarge: false }),\n\t\t\t),\n\t\t\tweekday: cx(classNames?.weekday, weekDayCva({ size })),\n\t\t\ttoday: cx(classNames?.today, todayCva({ size, variant })),\n\t\t\tday: cx(classNames?.day, [\"group/day\"]),\n\t\t\tday_button: cx(\n\t\t\t\tclassNames?.day_button,\n\t\t\t\tdayButtonCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: radius, maxLarge: false }),\n\t\t\t),\n\t\t\trange_start: cx(classNames?.range_start, \"rdp-range-start\"),\n\t\t\trange_middle: cx(classNames?.range_middle, \"rdp-range-middle\"),\n\t\t\trange_end: cx(classNames?.range_end, \"rdp-range-end\"),\n\t\t}\n\t}, [classNames, radius, size, variant])\n\n\tconst computedComponents = useMemo(() => {\n\t\treturn {\n\t\t\t...components,\n\t\t\tChevron,\n\t\t}\n\t}, [components])\n\n\treturn (\n\t\t<ReactDayPicker\n\t\t\tdata-accent-color={accentColor}\n\t\t\tshowOutsideDays={showOutsideDays}\n\t\t\tcomponents={computedComponents}\n\t\t\tclassNames={computedClassNames}\n\t\t\t{...rest}\n\t\t/>\n\t)\n}\n","import { createContext } from \"react\"\n\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport const CloseDialogContext = createContext({} as CloseDialogWithOptions)\n","import { useContext } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\n\nexport const useCloseDialog = () => {\n\tconst dialogContext = useContext(CloseDialogContext)\n\n\tif (!dialogContext) {\n\t\tthrow new Error(\"useDialog must be used within a DialogRoot\")\n\t}\n\n\treturn dialogContext\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, ReactNode, useMemo } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport type { AlertDialogSize } from \"../AlertDialog\"\nimport { dialogContent } from \"../AlertDialog/cva\"\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { useCloseDialog } from \"./hooks\"\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport interface DialogContentProps extends Omit<RadixDialog.DialogContentProps, \"children\"> {\n\ttitle: string\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n\tsize?: AlertDialogSize\n\tchildren: ReactNode | ((close: CloseDialogWithOptions) => ReactNode)\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst close = useCloseDialog()\n\tconst { children, title, container, className, size, ...rest } = props\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(close) : children\n\t}, [children, close])\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"flex h-max w-full justify-between\">\n\t\t\t\t\t<RadixDialog.Title className=\"font-medium\">{title}</RadixDialog.Title>\n\t\t\t\t\t<RadixDialog.Close asChild>\n\t\t\t\t\t\t<IconButton accentColor=\"base\" size={size} variant=\"ghost\">\n\t\t\t\t\t\t\t<HiX />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixDialog.Close>\n\t\t\t\t</div>\n\t\t\t\t{computedChildren}\n\t\t\t</RadixDialog.Content>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogContent.displayName = \"DialogContent\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { dialogOverlay } from \"../AlertDialog/cva\"\n\nexport interface DialogOverlayProps extends RadixDialog.DialogOverlayProps {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n}\n\nexport const DialogOverlay = forwardRef<HTMLDivElement, DialogOverlayProps>((props, ref) => {\n\tconst { className, container, ...rest } = props\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Overlay\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cx(className, dialogOverlay({}))}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogOverlay.displayName = \"DialogOverlay\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { useCallback, useState } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\nimport type { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\nexport const DialogRoot = (props: DialogProps) => {\n\tconst {\n\t\tchildren,\n\t\tonOpen,\n\t\tonClose,\n\t\tdefaultOpen,\n\t\tonCloseInterrupt,\n\t\topen: externalOpen,\n\t\tonOpenChange: externalOpenChange,\n\t} = props\n\t// `innerOpen` used to track the open state of the dialog when `externalOpen` is undefined\n\tconst [innerOpen, setInnerOpen] = useState(defaultOpen ?? false)\n\tconst open = externalOpen ?? innerOpen\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (externalOpenChange) return externalOpenChange(next)\n\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => {\n\t\t\t\t\tsetInnerOpen(false)\n\t\t\t\t\tif (onClose) onClose()\n\t\t\t\t}\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t} else if (!next && onClose) {\n\t\t\t\tonClose()\n\t\t\t}\n\n\t\t\tsetInnerOpen(next)\n\t\t},\n\t\t[externalOpenChange, onOpen, onClose, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setInnerOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<CloseDialogContext.Provider value={closeDialog}>{children}</CloseDialogContext.Provider>\n\t\t</RadixDialog.Root>\n\t)\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\n\nimport { DialogContent } from \"./Content\"\nimport { DialogOverlay } from \"./Overlay\"\nimport { DialogRoot } from \"./Root\"\n\nexport * from \"./Content\"\nexport * from \"./Overlay\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Dialog = {\n\tRoot: DialogRoot,\n\tContent: DialogContent,\n\tOverlay: DialogOverlay,\n\tTrigger: RadixDialog.Trigger,\n\tClose: RadixDialog.Close,\n}\n","import type { HeadingLevel } from \"./typings\"\n\nexport const headingLevelTagMapping: Record<HeadingLevel, \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"> = {\n\t\"1\": \"h1\",\n\t\"2\": \"h2\",\n\t\"3\": \"h3\",\n\t\"4\": \"h4\",\n\t\"5\": \"h5\",\n\t\"6\": \"h6\",\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const headingCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport type { AccentColorProps } from \"../typings\"\nimport { headingLevelTagMapping } from \"./constants\"\nimport { headingCva } from \"./cva\"\nimport type { HeadingVariantProps } from \"./typings\"\n\nexport interface HeadingProps extends PropsWithoutRef<ComponentProps<\"h1\">>, HeadingVariantProps, AccentColorProps {}\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>((props, ref) => {\n\tconst { className, level = \"1\", size, weight, align, highContrast = false, accentColor, ...rest } = props\n\tconst Tag = headingLevelTagMapping[level]\n\n\treturn (\n\t\t<Tag\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, headingCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nHeading.displayName = \"Heading\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface HoverCardArrowProps extends RadixHoverCard.HoverCardArrowProps {}\n\nexport const HoverCardArrow = forwardRef<SVGSVGElement, HoverCardArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixHoverCard.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nHoverCardArrow.displayName = \"HoverCardArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const hoverCardContent = cva([\"bg-(--color-background)\", \"dark:bg-(--base-2)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { hoverCardContent } from \"./cva\"\nimport type { HoverCardVariantProps } from \"./typings\"\n\nexport interface HoverCardContentProps extends RadixHoverCard.HoverCardContentProps, HoverCardVariantProps {\n\tcontainer?: RadixHoverCard.HoverCardPortalProps[\"container\"]\n}\n\nexport const HoverCardContent = forwardRef<HTMLDivElement, HoverCardContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tside,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsideOffset = 4,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixHoverCard.Portal container={container}>\n\t\t\t<RadixHoverCard.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\thoverCardContent({ size }),\n\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tside={side}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixHoverCard.Portal>\n\t)\n})\nHoverCardContent.displayName = \"HoverCardContent\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\n\nimport { HoverCardArrow } from \"./Arrow\"\nimport { HoverCardContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const HoverCard = {\n\tArrow: HoverCardArrow,\n\tContent: HoverCardContent,\n\tRoot: RadixHoverCard.Root,\n\tTrigger: RadixHoverCard.Trigger,\n}\n","import { FC, memo, PointerEventHandler, ReactElement, useCallback, useState } from \"react\"\n\ninterface ChildProps {\n\tisHovered: boolean\n\tonPointerEnter: PointerEventHandler<HTMLElement>\n\tonPointerLeave: PointerEventHandler<HTMLElement>\n}\ninterface HoverUtilityProps {\n\tforceHover?: boolean\n\tchildren: (props: ChildProps) => ReactElement\n}\n\n/** HoverUtility is a utility component used for detecting when an element is being hovered over or not, is passes a\n * isHovered variable to its children as well as props onPointerEnter and onPointerLeave that can be spread on any\n * child component that should be used as the element to observe hovering on. See stories of examples of its use. */\nexport const HoverUtility: FC<HoverUtilityProps> = memo(function Root({ children, forceHover }: HoverUtilityProps) {\n\tconst [isHovered, setIsHovered] = useState<boolean>(false)\n\n\tconst handlePointerEnter = useCallback(() => {\n\t\tsetIsHovered(true)\n\t}, [])\n\n\tconst handlePointerLeave = useCallback(() => {\n\t\tsetIsHovered(false)\n\t}, [])\n\n\treturn children({\n\t\tisHovered: forceHover !== undefined ? forceHover : isHovered,\n\t\tonPointerEnter: handlePointerEnter,\n\t\tonPointerLeave: handlePointerLeave,\n\t})\n})\n","import { createContext } from \"react\"\n\nimport type { InputSize, InputVariant } from \"./typings\"\n\ninterface IInputContext {\n\tsize: InputSize\n\tvariant: InputVariant\n}\n\nexport const InputContext = createContext<IInputContext>({} as IInputContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"has-[:focus]:outline-2\",\n\t\t\"has-[:focus]:outline-(--accent-8)\",\n\t\t\"has-[:focus]:-outline-offset-1\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"inset-ring\", \"inset-ring-(--accent-a7)\", \"bg-(--accent-surface)\", \"text-(--accent-a12)\"],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-12)\"],\n\t\t\t\toutline: [\"inset-ring\", \"inset-ring-(--base-a7)\", \"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t\tghost: [\"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"surface\",\n\t\t},\n\t},\n)\n\nexport const inputField = cva([\"peer-[.slot]/slot:indent-0\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\tsoft: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\toutline: [\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\"],\n\t\t\tghost: ['placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)'],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"indent-1\"],\n\t\t\tsm: [\"indent-1.5\"],\n\t\t\tmd: [\"indent-2\"],\n\t\t\tlg: [\"indent-2.5\"],\n\t\t\txl: [\"indent-3\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n\nexport const inputSlot = cva([\"peer/slot\", \"slot\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"px-1\"],\n\t\t\tsm: [\"px-1.5\"],\n\t\t\tmd: [\"px-2\"],\n\t\t\tlg: [\"px-2.5\"],\n\t\t\txl: [\"px-3\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [\"text-(--accent-12)\"],\n\t\t\tsoft: [\"text-(--accent-12)\"],\n\t\t\toutline: [\"text-(--base-a11)\"],\n\t\t\tghost: [\"text-(--base-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputField } from \"./cva\"\n\nexport interface InputFieldProps extends PropsWithoutRef<ComponentProps<\"input\">> {}\n\nexport const InputField = forwardRef<HTMLInputElement, InputFieldProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(className, inputField({ size, variant }), \"grow bg-transparent outline-0\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nInputField.displayName = \"InputField\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { InputContext } from \"./context\"\nimport { inputRoot } from \"./cva\"\nimport type { InputVariantProps } from \"./typings\"\n\nexport interface InputRootProps extends InputVariantProps, PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputRoot = forwardRef<HTMLDivElement, InputRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<InputContext.Provider value={{ size, variant }}>\n\t\t\t<div\n\t\t\t\tclassName={cx(className, inputRoot({ variant, size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</InputContext.Provider>\n\t)\n})\nInputRoot.displayName = \"InputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputSlot } from \"./cva\"\n\nexport interface InputSlotProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputSlot = forwardRef<HTMLDivElement, InputSlotProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn <div className={cx(className, inputSlot({ size, variant }), \"flex items-center\")} ref={ref} {...rest} />\n})\nInputSlot.displayName = \"InputSlot\"\n","import { InputField } from \"./Field\"\nimport { InputRoot } from \"./Root\"\nimport { InputSlot } from \"./Slot\"\n\nexport * from \"./Field\"\nexport * from \"./Root\"\nexport * from \"./Slot\"\nexport * from \"./typings\"\n\nexport const Input = {\n\tField: InputField,\n\tRoot: InputRoot,\n\tSlot: InputSlot,\n}\n","import { createContext, Dispatch, SetStateAction, useContext } from \"react\"\n\ninterface ILayoutContent {\n\tsmall: boolean\n\thideLayout: boolean\n\t/** controlled value for open state of LeftSlideOut Component. */\n\tshowLeftSlideOut: boolean\n\tsetShowLeftSlideOut: Dispatch<SetStateAction<boolean>>\n\t/** controlled value for open state of RightSlideOut Component. */\n\tshowRightSlideOut: boolean\n\tsetShowRightSlideOut: Dispatch<SetStateAction<boolean>>\n}\n\nexport const LayoutContext = createContext<ILayoutContent>({} as ILayoutContent)\n\nexport const useLayoutContext = () => useContext(LayoutContext)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface ContainerProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const Container = memo(\n\tforwardRef<HTMLDivElement, ContainerProps>((props, ref) => {\n\t\tconst { children, className, ...rest } = props\n\t\tconst { hideLayout = false } = useLayoutContext()\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<div className={cx(className, \"flex h-full grow\")} ref={ref} {...rest}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { memo, PropsWithChildren, useMemo, useState } from \"react\"\n\nimport { LayoutContext } from \"./context\"\n\nexport interface RootProps extends PropsWithChildren {\n\t/** TODO: DOCUMENT THIS HEAVILY\n\t * @default false */\n\tsmall?: boolean\n\t/** controls if all Layout Components should be hidden\n\t * @default false */\n\thideLayout?: boolean\n}\n\n/** */\nexport const Root = memo((props: RootProps) => {\n\tconst { children, small = false, hideLayout = false } = props\n\tconst [showLeftSlideOut, setShowLeftSlideOut] = useState<boolean>(false)\n\tconst [showRightSlideOut, setShowRightSlideOut] = useState<boolean>(false)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsmall,\n\t\t\thideLayout,\n\t\t\tshowLeftSlideOut,\n\t\t\tsetShowLeftSlideOut,\n\t\t\tshowRightSlideOut,\n\t\t\tsetShowRightSlideOut,\n\t\t}),\n\t\t[hideLayout, showLeftSlideOut, showRightSlideOut, small],\n\t)\n\n\treturn <LayoutContext.Provider value={contextValue}>{children}</LayoutContext.Provider>\n})\nRoot.displayName = \"Layout.Root\"\n","/**\n * MIT License\n * Copyright (c) 2022 WorkOS\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n **/\nimport { useEffect, useMemo, useRef } from \"react\"\nimport ReactDOM from \"react-dom\"\n\ntype PointerDownOutsideEvent = CustomEvent<{ originalEvent: PointerEvent }>\n\n// THE CODE IN THIS FILE WAS COPIED FROM @radix-ui/react-dissmissable-layer NPM REPO.\n// https://github.com/radix-ui/primitives/tree/main/packages/react/dismissable-layer\n\n/**\n * Listens for `pointerdown` outside a React subtree. We use `pointerdown` rather than `pointerup`\n * to mimic layer-dismissing behavior present in OS.\n * Returns props to pass to the node we want to check for outside events.\n */\nexport function usePointerDownOutside(\n\tonPointerDownOutside?: (event: PointerDownOutsideEvent) => void,\n\townerElement: HTMLElement | undefined = globalThis?.document.body,\n) {\n\tconst handlePointerDownOutside = useCallbackRef(onPointerDownOutside) as EventListener\n\tconst isPointerInsideReactTreeRef = useRef<boolean>(false)\n\tconst handleClickRef = useRef(() => {})\n\n\tuseEffect(() => {\n\t\tconst handlePointerDown = (event: PointerEvent) => {\n\t\t\tif (event.target && !isPointerInsideReactTreeRef.current) {\n\t\t\t\tconst eventDetail = { originalEvent: event }\n\n\t\t\t\tconst handleAndDispatchPointerDownOutsideEvent = () => {\n\t\t\t\t\thandleAndDispatchCustomEvent(\"pointerDownOutside\", handlePointerDownOutside, eventDetail, {\n\t\t\t\t\t\tdiscrete: true,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * On touch devices, we need to wait for a click event because browsers implement\n\t\t\t\t * a ~350ms delay between the time the user stops touching the display and when the\n\t\t\t\t * browser executres events. We need to ensure we don't reactivate pointer-events within\n\t\t\t\t * this timeframe otherwise the browser may execute events that should have been prevented.\n\t\t\t\t *\n\t\t\t\t * Additionally, this also lets us deal automatically with cancellations when a click event\n\t\t\t\t * isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.\n\t\t\t\t *\n\t\t\t\t * This is why we also continuously remove the previous listener, because we cannot be\n\t\t\t\t * certain that it was raised, and therefore cleaned-up.\n\t\t\t\t */\n\t\t\t\tif (event.pointerType === \"touch\") {\n\t\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t\t\thandleClickRef.current = handleAndDispatchPointerDownOutsideEvent\n\t\t\t\t\townerElement.addEventListener(\"click\", handleClickRef.current, { once: true })\n\t\t\t\t} else {\n\t\t\t\t\thandleAndDispatchPointerDownOutsideEvent()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We need to remove the event listener in case the outside click has been canceled.\n\t\t\t\t// See: https://github.com/radix-ui/primitives/issues/2171\n\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t}\n\t\t\tisPointerInsideReactTreeRef.current = false\n\t\t}\n\t\t/**\n\t\t * if this hook executes in a component that mounts via a `pointerdown` event, the event\n\t\t * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n\t\t * this by delaying the event listener registration on the document.\n\t\t * This is not React specific, but rather how the DOM works, ie:\n\t\t * ```\n\t\t * button.addEventListener('pointerdown', () => {\n\t\t * console.log('I will log');\n\t\t * document.addEventListener('pointerdown', () => {\n\t\t * console.log('I will also log');\n\t\t * })\n\t\t * });\n\t\t */\n\t\tconst timerId = window.setTimeout(() => {\n\t\t\townerElement.addEventListener(\"pointerdown\", handlePointerDown)\n\t\t}, 0)\n\t\treturn () => {\n\t\t\twindow.clearTimeout(timerId)\n\t\t\townerElement.removeEventListener(\"pointerdown\", handlePointerDown)\n\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t}\n\t}, [ownerElement, handlePointerDownOutside])\n\n\treturn {\n\t\t// ensures we check React component tree (not just DOM tree)\n\t\tonPointerDownCapture: () => (isPointerInsideReactTreeRef.current = true),\n\t}\n}\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E[\"target\"], event: E) {\n\tif (target) ReactDOM.flushSync(() => target.dispatchEvent(event))\n}\nfunction handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>(\n\tname: string,\n\thandler: ((event: E) => void) | undefined,\n\tdetail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),\n\t{ discrete }: { discrete: boolean },\n) {\n\tconst target = detail.originalEvent.target\n\tconst event = new CustomEvent(name, { bubbles: false, cancelable: true, detail })\n\tif (handler) target.addEventListener(name, handler as EventListener, { once: true })\n\n\tif (discrete) {\n\t\tdispatchDiscreteCustomEvent(target, event)\n\t} else {\n\t\ttarget.dispatchEvent(event)\n\t}\n}\n\n/** custom hook used for creating a ref to a callback */\nexport function useCallbackRef<\n\tT extends (\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t...args: any[]\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t) => any,\n>(callback: T | undefined): T {\n\tconst callbackRef = useRef(callback)\n\n\tuseEffect(() => {\n\t\tcallbackRef.current = callback\n\t})\n\n\treturn useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, [])\n}\n","import { cx } from \"class-variance-authority\"\nimport {\n\tCSSProperties,\n\tforwardRef,\n\tmemo,\n\tMouseEventHandler,\n\tPropsWithChildren,\n\tReactNode,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\nimport { PropsWithClassNameAndStyle } from \"../typings\"\nimport { mergeRefs } from \"../utils\"\nimport { usePointerDownOutside } from \"./utils\"\n\n// TODO: Move this component to the Layout API directory and no longer expose it as an export\n\nexport interface SlideOutProps extends PropsWithChildren, PropsWithClassNameAndStyle {\n\t/** The controlled open state of the SlideOut */\n\topen: boolean\n\t/** specifies if the SlideOut is in modal mode or not.\n\t * If in modal mode, onDismiss prop should be passed\n\t * to the SlideOut component as well.\n\t * @default false */\n\tmodal?: boolean\n\t/** hides the SlideOut and its overlay but doesn't change the open state of the SlideOut. Should be used if\n\t * the SlideOut needs to be hidden for some reason but not triggering a close\n\t * @default false\n\t * */\n\thide?: boolean\n\t/** The side the SlideOut should position on and \"slide-in\" from */\n\tside: \"left\" | \"right\"\n\t/** controls if the SlideOut can be resized by the user\n\t * @default true\n\t * */\n\tresizeable?: boolean\n\t/** controls the positioning of the SlideOut.\n\t * When absolute, the SlideOut will overlay other\n\t * content within its parent container.\n\t * When relative, the SlideOut exists with and pushes other content within\n\t * its parent container.\n\t * @default \"relative\"\n\t * */\n\tposition?: \"relative\" | \"absolute\"\n\t/** sets the initialWidth of the SlideOut, can be expressed in any valid CSS size unit */\n\tinitialWidth: number | string\n\t/** sets the minimum width of the SlideOut can be expressed in any valid CSS size unit */\n\tminWidth?: number | string\n\t/** sets the maximum width of the SlideOut can be expressed in any valid CSS size unit */\n\tmaxWidth?: number | string\n\t/** callback fired when the SlideOut should be dismissed (closed) when in modal mode. The type of event resulting in\n\t * the SlideOut dismissal is passed with the callback. */\n\tonDismiss?: () => void\n\t/** callback fired when the SlideOut has finished sliding out (closing) */\n\tonClosed?: () => void\n\t/** callback fired when the SlideOut starts sliding in (opening) */\n\tonOpening?: () => void\n\t/** overlay to be rendered when the SlideOut is open*/\n\toverlayComponent?: ReactNode\n\t/** content to be rendered within the SlideOut */\n\tcontent: ReactNode | null\n}\n\nconst TIMEOUT_DURATION = 200\n\n/** The SlideOut component is a UI element that allows you to create a slide-in/slide-out effect for content within\n * your application. It provides a smooth transition animation for revealing and hiding content. */\nexport const SlideOut = memo(\n\tforwardRef<HTMLDivElement, SlideOutProps>((props, ref) => {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tstyle,\n\t\t\tchildren,\n\t\t\topen,\n\t\t\thide = false,\n\t\t\tmodal = false,\n\t\t\toverlayComponent,\n\t\t\tresizeable = true,\n\t\t\tside,\n\t\t\tposition = \"relative\",\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonDismiss,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t\tcontent,\n\t\t} = props\n\t\tconst isLeft = side === \"left\"\n\t\tconst [parentContainer, setParentContainer] = useState<HTMLElement>(document.body)\n\t\tconst childrenContainerRef = useRef<HTMLDivElement>(null)\n\t\tconst localRef = useRef<HTMLDivElement>(null)\n\t\tconst nodeRef = useRef<HTMLDivElement>(null)\n\t\tconst mergedRefs = mergeRefs([ref, localRef, nodeRef])\n\t\tconst [isResizing, setIsResizing] = useState(false)\n\t\tconst [computedWidth, setComputedWidth] = useState<number | null>(null)\n\t\tconst prevClientX = useRef<number | null>(null)\n\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\tif (modal && onDismiss) {\n\t\t\t\tonDismiss()\n\t\t\t}\n\t\t}, [modal, onDismiss])\n\n\t\tconst handleAssignParentContainer = useCallback((element: HTMLDivElement | null) => {\n\t\t\tif (element) {\n\t\t\t\tsetParentContainer(element)\n\t\t\t}\n\t\t}, [])\n\n\t\t// TODO: determine if this set up for disabling and re-enabling pointer events on sibling content makes sense\n\t\tuseEffect(() => {\n\t\t\tif (!childrenContainerRef.current) return\n\t\t\tconst originalParentPointerEvents = childrenContainerRef.current.style.pointerEvents\n\n\t\t\t// In modal mode, all pointerEvents should be disabled for all other content within the parent container\n\t\t\t// besides the SlideOut content itself\n\t\t\tif (open && modal) {\n\t\t\t\tchildrenContainerRef.current.style.pointerEvents = \"none\"\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (childrenContainerRef.current) {\n\t\t\t\t\t// this warning is invalid because the ref (childrenContainerRef) is immutable\n\t\t\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t\t\tchildrenContainerRef.current.style.pointerEvents = originalParentPointerEvents\n\t\t\t\t}\n\t\t\t}\n\t\t}, [modal, open, parentContainer.style])\n\n\t\tconst { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(handleDismiss, parentContainer)\n\n\t\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\t\tconst CSSTransitionClassNames = useMemo(\n\t\t\t() => ({\n\t\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t\tenterActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\t\texitActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t}),\n\t\t\t[isLeft],\n\t\t)\n\n\t\tconst handleMouseDown: MouseEventHandler = useCallback((e) => {\n\t\t\tconst { clientX } = e\n\n\t\t\tprevClientX.current = clientX\n\n\t\t\tsetIsResizing(true)\n\t\t}, [])\n\n\t\tconst handleMouseMove = useCallback(\n\t\t\t(e: MouseEvent) => {\n\t\t\t\tif (!isResizing) return\n\n\t\t\t\tconst { clientX } = e\n\n\t\t\t\tconst deltaX = (clientX - prevClientX.current!) * (isLeft ? 1 : -1)\n\n\t\t\t\tprevClientX.current = clientX\n\n\t\t\t\tsetComputedWidth((prevWidth) => prevWidth! + deltaX)\n\t\t\t},\n\t\t\t[isLeft, isResizing],\n\t\t)\n\n\t\tconst handleMouseUp = useCallback(() => {\n\t\t\tif (!isResizing) return\n\t\t\tprevClientX.current = null\n\t\t\tsetIsResizing(false)\n\t\t}, [isResizing])\n\n\t\tuseEffect(() => {\n\t\t\twindow.addEventListener(\"mousemove\", handleMouseMove)\n\t\t\twindow.addEventListener(\"mouseup\", handleMouseUp)\n\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener(\"mousemove\", handleMouseMove)\n\t\t\t\twindow.removeEventListener(\"mouseup\", handleMouseUp)\n\t\t\t}\n\t\t}, [handleMouseMove, handleMouseUp])\n\n\t\tuseLayoutEffect(() => {\n\t\t\tif (!open) return\n\t\t\tsetComputedWidth(localRef.current!.offsetWidth)\n\t\t}, [open])\n\n\t\tconst resizableStyle = useMemo(\n\t\t\t() =>\n\t\t\t\t({\n\t\t\t\t\t...style,\n\t\t\t\t\twidth: computedWidth ?? initialWidth,\n\t\t\t\t\tmaxWidth: maxWidth,\n\t\t\t\t\tminWidth: minWidth,\n\t\t\t\t\tposition: position,\n\t\t\t\t\t\"--slide-out-width\": `${computedWidth}${typeof computedWidth === \"number\" ? \"px\" : \"\"}`,\n\t\t\t\t}) as CSSProperties,\n\t\t\t[computedWidth, initialWidth, maxWidth, minWidth, position, style],\n\t\t)\n\n\t\tconst resizableEnable = useMemo(\n\t\t\t() => ({ left: resizeable && !isLeft, right: resizeable && isLeft }),\n\t\t\t[isLeft, resizeable],\n\t\t)\n\n\t\tconst SlideOut = useMemo(\n\t\t\t() => (\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\t<CSSTransition\n\t\t\t\t\tclassNames={CSSTransitionClassNames}\n\t\t\t\t\tin={open}\n\t\t\t\t\ttimeout={TIMEOUT_DURATION}\n\t\t\t\t\tunmountOnExit\n\t\t\t\t\tmountOnEnter\n\t\t\t\t\tonEntering={onOpening}\n\t\t\t\t\tonExited={onClosed}\n\t\t\t\t\tnodeRef={nodeRef}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cx(className, \"top-0\", \"bottom-0\", {\n\t\t\t\t\t\t\t\"left-0\": isLeft,\n\t\t\t\t\t\t\t\"right-0\": !isLeft,\n\t\t\t\t\t\t\tabsolute: position === \"absolute\",\n\t\t\t\t\t\t\trelative: position === \"relative\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tref={mergedRefs}\n\t\t\t\t\t\tonPointerDownCapture={handlePointerDownCapture}\n\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\tstyle={resizableStyle}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cx(\"absolute top-0 bottom-0 w-[3px]\", {\n\t\t\t\t\t\t\t\t\"right-0\": isLeft,\n\t\t\t\t\t\t\t\t\"left-0\": !isLeft,\n\t\t\t\t\t\t\t\t\"pointer-events-none\": !resizableEnable,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\t\t\tdata-resizing={isResizing ? \"\" : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</div>\n\t\t\t\t</CSSTransition>\n\t\t\t),\n\t\t\t[\n\t\t\t\tCSSTransitionClassNames,\n\t\t\t\topen,\n\t\t\t\tonOpening,\n\t\t\t\tonClosed,\n\t\t\t\tclassName,\n\t\t\t\tisLeft,\n\t\t\t\tposition,\n\t\t\t\tmergedRefs,\n\t\t\t\thandlePointerDownCapture,\n\t\t\t\tside,\n\t\t\t\tresizableStyle,\n\t\t\t\thandleMouseDown,\n\t\t\t\tisResizing,\n\t\t\t\tresizableEnable,\n\t\t\t\tcontent,\n\t\t\t],\n\t\t)\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"relative flex h-full max-h-full w-full max-w-full overflow-hidden\"\n\t\t\t\tref={handleAssignParentContainer}\n\t\t\t>\n\t\t\t\t{side === \"left\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t<div className=\"flex h-full max-w-full grow overflow-hidden\" ref={childrenContainerRef}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{side === \"right\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { Dispatch, forwardRef, memo, SetStateAction, useCallback, useEffect, useMemo } from \"react\"\n\nimport { SlideOut, SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nconst DEFAULT_INITIAL_WIDTH = \"30%\"\n\ninterface SlideOutImplProps extends Omit<SlideOutProps, \"open\" | \"initialWidth\"> {\n\t/** controls if the SlideOut is initially open once mounted when NOT in smallMode.\n\t * NOTE: changing the value of this will cause the SlideOut to open/close after mounting NOT in smallMode depending on\n\t * its passed in value.\n\t * @default false */\n\tdefaultOpen?: {\n\t\tsmall?: boolean\n\t\tlarge?: boolean\n\t}\n\t/** optional prop to control the open state of the SlideOut */\n\topen?: SlideOutProps[\"open\"]\n\t/** optional prop to control the initialWidth of the SlideOut\n\t * @default \"30%\" */\n\tinitialWidth?: SlideOutProps[\"initialWidth\"]\n}\n\nconst SlideOutImpl = memo(\n\tforwardRef<\n\t\tHTMLDivElement,\n\t\tSlideOutImplProps & {\n\t\t\t// seperated these here since don't want them to be actual attributes of SlideOutProps\n\t\t\tshowSlideOut: boolean\n\t\t\tsetShowSlideOut: Dispatch<SetStateAction<boolean>>\n\t\t}\n\t>((props, ref) => {\n\t\tconst { small, hideLayout } = useLayoutContext()\n\t\tconst { className, showSlideOut, setShowSlideOut, defaultOpen, side, ...rest } = props\n\n\t\tuseEffect(() => {\n\t\t\t// check if defaultOpenSmallMode specified\n\t\t\tif (small && defaultOpen?.small !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.small)\n\t\t\t} else if (!small && defaultOpen?.large !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.large)\n\t\t\t}\n\t\t}, [defaultOpen, setShowSlideOut, small])\n\n\t\t/** Callback for when SlideOut should be dismissed, only gets called when SlideOuts are open */\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\tsetShowSlideOut(false)\n\t\t}, [setShowSlideOut])\n\n\t\t// Merging props controlled and uncontrolled props\n\t\tconst mergedProps = useMemo(\n\t\t\t() => ({\n\t\t\t\t// controlled props\n\t\t\t\t...{\n\t\t\t\t\topen: showSlideOut,\n\t\t\t\t\tinitialWidth: DEFAULT_INITIAL_WIDTH,\n\t\t\t\t\tmodal: small,\n\t\t\t\t\tonDismiss: handleDismiss,\n\t\t\t\t\tposition: (small ? \"absolute\" : \"relative\") as \"relative\" | \"absolute\",\n\t\t\t\t},\n\t\t\t\t// uncontrolled props\n\t\t\t\t...rest,\n\t\t\t}),\n\t\t\t[handleDismiss, rest, showSlideOut, small],\n\t\t)\n\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<SlideOut\n\t\t\t\t\tclassName={cx(`overmap-layout-slideOut-${side}`, className)}\n\t\t\t\t\tside={side}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...mergedProps}\n\t\t\t\t/>\n\t\t\t)\n\t\t)\n\t}),\n)\n\n/** Type used for both Layout.LeftSlideOut and Layout.RightSlideOut */\nexport interface LayoutSlideOutProps extends Omit<SlideOutImplProps, \"side\"> {}\n\n/** TODO: Document */\nexport const LeftSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showLeftSlideOut, setShowLeftSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOutImpl\n\t\t\t\tside=\"left\"\n\t\t\t\tshowSlideOut={showLeftSlideOut}\n\t\t\t\tsetShowSlideOut={setShowLeftSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n\n/** TODO: Document */\nexport const RightSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showRightSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOutImpl\n\t\t\t\tside=\"right\"\n\t\t\t\tshowSlideOut={showRightSlideOut}\n\t\t\t\tsetShowSlideOut={setShowRightSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef, useMemo } from \"react\"\n\nimport { SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutOverlayProps extends PropsWithoutRef<ComponentProps<\"div\">> {\n\tactive?: boolean\n\tside: SlideOutProps[\"side\"]\n\t// TODO: Might want to rename this once standardized\n\tsmallModeOnly?: boolean\n}\nexport const SlideOutOverlay = memo(\n\tforwardRef<HTMLDivElement, LayoutOverlayProps>((props, ref) => {\n\t\tconst { className, active, side, smallModeOnly = false, ...rest } = props\n\t\tconst { small, hideLayout, showLeftSlideOut, showRightSlideOut } = useLayoutContext()\n\n\t\tconst showOverlay = useMemo(() => {\n\t\t\t// If being controlled, return controlled state\n\t\t\tif (active !== undefined) return active\n\n\t\t\t// If layout current being hidden, set to false\n\t\t\tif (hideLayout) return false\n\n\t\t\t// If smallModeOnly but not in smallMode, set to false\n\t\t\tif (smallModeOnly && !small) return false\n\n\t\t\t// Otherwise return based on the open state\n\t\t\treturn side === \"left\" ? showLeftSlideOut : showRightSlideOut\n\t\t}, [active, hideLayout, showLeftSlideOut, showRightSlideOut, side, small, smallModeOnly])\n\n\t\treturn (\n\t\t\tshowOverlay && (\n\t\t\t\t<div className={cx(\"overmap-layout-overlay\", className, \"fixed inset-0\")} ref={ref} {...rest} />\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, PropsWithChildren, useCallback } from \"react\"\n\nimport { SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface SlideOutTriggerProps extends PropsWithChildren {\n\tside: SlideOutProps[\"side\"]\n\ttype?: \"toggle\" | \"open\" | \"close\"\n}\n\nfunction nextStateBasedOnType(prevState: boolean, type: \"toggle\" | \"open\" | \"close\") {\n\tswitch (type) {\n\t\tcase \"toggle\":\n\t\t\treturn !prevState\n\t\tcase \"open\":\n\t\t\treturn true\n\t\tcase \"close\":\n\t\t\treturn false\n\t}\n}\nexport const SlideOutTrigger = memo(\n\tforwardRef<HTMLButtonElement, SlideOutTriggerProps>((props, ref) => {\n\t\tconst { side, type = \"toggle\", children } = props\n\t\tconst { setShowLeftSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\tconst handleClick = useCallback(() => {\n\t\t\tconst setShowSlideOut = side === \"left\" ? setShowLeftSlideOut : setShowRightSlideOut\n\t\t\tsetShowSlideOut((prevState) => nextStateBasedOnType(prevState, type))\n\t\t}, [setShowLeftSlideOut, setShowRightSlideOut, side, type])\n\n\t\treturn (\n\t\t\t<Slot ref={ref} onClick={handleClick}>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { Container } from \"./Container\"\nimport { Root } from \"./Root\"\nimport { LeftSlideOut, RightSlideOut } from \"./SlideOut\"\nimport { SlideOutOverlay } from \"./SlideOutOverlay\"\nimport { SlideOutTrigger } from \"./SlideOutTrigger\"\n\nexport const Layout = {\n\tRoot,\n\tContainer,\n\tSlideOutOverlay,\n\tLeftSlideOut,\n\tRightSlideOut,\n\tSlideOutTrigger,\n}\nexport type * from \"./Container\"\nexport * from \"./context\"\nexport type * from \"./Root\"\nexport type * from \"./SlideOut\"\nexport type * from \"./SlideOutOverlay\"\nexport type * from \"./SlideOutTrigger\"\n","import { cva } from \"class-variance-authority\"\n\nexport const linkCva = cva([\"cursor-pointer\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\tnone: [\"[font-size:inherit]\", \"leading-[inherit]\"],\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"none\",\n\t\tweight: \"regular\",\n\t\talign: \"left\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { linkCva } from \"./cva\"\nimport type { LinkVariantProps } from \"./typings\"\n\nexport interface LinkProps extends PropsWithoutRef<ComponentProps<\"a\">>, LinkVariantProps {}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tweight = \"regular\",\n\t\talign = \"left\",\n\t\thighContrast = false,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<a\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, linkCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !highContrast,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nLink.displayName = \"Link\"\n","import { createContext } from \"react\"\n\nimport type { CheckedState } from \"./typings\"\n\nexport const CheckedIndicatorContext = createContext({} as CheckedState)\n","import { FC, PropsWithChildren, useContext } from \"react\"\n\nimport { CheckedIndicatorContext } from \"./context\"\n\nexport interface CheckedIndicatorProps {\n\tchildren: PropsWithChildren[\"children\"] | ((indeterminate: boolean) => PropsWithChildren[\"children\"])\n}\n\nexport const CheckedIndicator: FC<CheckedIndicatorProps> = (props) => {\n\tconst { children } = props\n\n\tconst checked = useContext(CheckedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(checked === \"indeterminate\") : children\n\n\treturn checked !== false ? computedChildren : null\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const menuItem = cva(\n\t[\"select-none\", \"relative\", \"flex\", \"items-center\", \"rounded\", \"outline-none\", \"data-disabled:text-(--base-a8)\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-1.5\", \"px-1.5\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-2.25\", \"px-2.25\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-3\", \"px-3\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-3.75\", \"px-3.75\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-4.5\", \"px-4.5\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:bg-(--accent-a9)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"text-(--base-12)\", \"data-highlighted:not-data-disabled:bg-(--accent-a4)\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"soft\",\n\t\t},\n\t},\n)\n\nexport const menuSeparator = cva([\"h-px\", \"bg-(--base-a6)\", \"w-auto\", \"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"-mx-0.5\", \"my-0.5\"],\n\t\t\tsm: [\"-mx-0.75\", \"my-0.75\"],\n\t\t\tmd: [\"-mx-1\", \"my-1\"],\n\t\t\tlg: [\"-mx-1.25\", \"my-1.25\"],\n\t\t\txl: [\"-mx-1.5\", \"my-1.5\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuSelectedIndicator = cva([\"flex\", \"items-center\", \"justify-center\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"w-4\", \"h-4\"],\n\t\t\tsm: [\"w-5\", \"h-5\"],\n\t\t\tmd: [\"w-6\", \"h-6\"],\n\t\t\tlg: [\"w-7\", \"h-7\"],\n\t\t\txl: [\"w-8\", \"h-8\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"w-max\",\n\t\t\"outline-none\",\n\t\t\"pointer-events-auto\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-6)\",\n\t\t\"overflow-hidden\",\n\t\t// \"[scrollbar-width:thin]\",\n\t\t// \"[scrollbar-color:var(--base-6)_transparent]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-0.5\", \"text-xs\"],\n\t\t\t\tsm: [\"p-0.75\", \"text-sm\"],\n\t\t\t\tmd: [\"p-1\", \"text-md\"],\n\t\t\t\tlg: [\"p-1.25\", \"text-lg\"],\n\t\t\t\txl: [\"p-1.5\", \"text-xl\"],\n\t\t\t},\n\t\t\tradius: {\n\t\t\t\tnone: [\"rounded-none\"],\n\t\t\t\txs: [\"rounded-xs\"],\n\t\t\t\tsm: [\"rounded-sm\"],\n\t\t\t\tmd: [\"rounded-md\"],\n\t\t\t\tlg: [\"rounded-lg\"],\n\t\t\t\txl: [\"rounded-lg\"],\n\t\t\t\tfull: [\"rounded-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const menuOverlay = cva([\"overflow-hidden\", \"touch-manipulation\"], {\n\tvariants: {\n\t\tmodal: {\n\t\t\ttrue: [\"pointer-events-auto\"],\n\t\t\tfalse: [\"pointer-events-none\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tmodal: false,\n\t},\n})\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"transition-colors\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"box-border\",\n\t\t\"bg-transparent\",\n\t\t\"text-(--base-12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"px-1.5\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"px-2.25\", \"gap-2.25\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"px-3\", \"gap-3\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"px-3.75\", \"gap-3.75\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"px-4.5\", \"gap-4.5\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import { MiddlewareData, UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide, MenuTriggerType } from \"../typings\"\n\ninterface IMenuContext {\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\tside: MenuSide\n\tsetTriggerType: (triggerType: MenuTriggerType) => void\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string | undefined\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n\tmiddlewareData: MiddlewareData\n}\n\nexport const MenuContext = createContext<IMenuContext>({} as IMenuContext)\n\nexport const useMenuContext = () => useContext(MenuContext)\n","export const MENU_OVERFLOW_PADDING = 20\n\nexport const MENU_CONTENT_PADDING = 8\n\nexport const MENU_MINIMUM_MAX_HEIGHT = 250\n","import {\n\tautoUpdate,\n\tflip,\n\tFloatingTree,\n\thide,\n\toffset as offsetMiddleware,\n\tPlacement,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseInteractions,\n\tuseListNavigation,\n\tuseRole,\n\tVirtualElement,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuRootProps, MenuTriggerType } from \"../typings\"\nimport { MenuContext } from \"./context\"\n\nconst DEFAULT_OFFSET = 5\n\nexport const MenuRoot: FC<MenuRootProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tside = \"bottom\",\n\t\talign = \"center\",\n\t\toffset,\n\t\tloop = false,\n\t\tmodal = false,\n\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>(defaultOpen ?? false, controlledOpen, onOpenChange)\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst [triggerType, setTriggerType] = useState<MenuTriggerType | null>(null)\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context, middlewareData } = useFloating<VirtualElement>({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: setOpen,\n\t\tmiddleware: [\n\t\t\toffsetMiddleware({ mainAxis: offset ?? DEFAULT_OFFSET }),\n\t\t\tsizeMiddleware({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t}),\n\t\t\tflip({ fallbackStrategy: \"initialPlacement\" }),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst role = useRole(context, {\n\t\trole: \"menu\",\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tcapture: true,\n\t\tancestorScroll: triggerType === \"context\" || triggerType === \"virtual\",\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: triggerType === \"click\",\n\t})\n\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tactiveIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tdismiss,\n\t\tlistNavigation,\n\t\tclick,\n\t\trole,\n\t])\n\n\treturn (\n\t\t<FloatingTree>\n\t\t\t<MenuContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\topen,\n\t\t\t\t\tsetOpen,\n\t\t\t\t\trefs,\n\t\t\t\t\tcontext,\n\t\t\t\t\tfloatingStyles,\n\t\t\t\t\telementsRef,\n\t\t\t\t\tgetFloatingProps,\n\t\t\t\t\tgetItemProps,\n\t\t\t\t\tgetReferenceProps,\n\t\t\t\t\tnodeId,\n\t\t\t\t\tactiveIndex,\n\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\tmiddlewareData,\n\t\t\t\t\tside,\n\t\t\t\t\tmodal,\n\t\t\t\t\tsetTriggerType,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuContext.Provider>\n\t\t</FloatingTree>\n\t)\n}\nMenuRoot.displayName = \"Root\"\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, MutableRefObject, useContext } from \"react\"\n\nimport type { ComponentRadius } from \"../../Provider\"\nimport type { MenuSize, MenuVariant } from \"../typings\"\n\ninterface IMenuContentContext {\n\tactiveIndex: number | null\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tsetActiveIndex: (index: number | null) => void\n\trefs: UseFloatingData[\"refs\"]\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\t// style props\n\taccentColor: string\n\tradius: ComponentRadius\n\tsize: MenuSize\n\tvariant: MenuVariant\n}\n\nexport const MenuContentContext = createContext<IMenuContentContext>({} as IMenuContentContext)\n\nexport const useMenuContentContext = () => useContext(MenuContentContext)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, MouseEventHandler, useCallback, useMemo } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { useProvider } from \"../../Provider\"\nimport { stopPropagation } from \"../../utils\"\nimport { menuContent, menuOverlay } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport type { MenuContentProps } from \"../typings\"\nimport { MenuContentContext } from \"./context\"\n\nexport const MenuContent = memo(\n\tforwardRef<HTMLDivElement, MenuContentProps>((props, forwardedRef) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tsize = \"md\",\n\t\t\tvariant = \"soft\",\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = \"base\",\n\t\t\t...rest\n\t\t} = props\n\t\tconst {\n\t\t\trefs,\n\t\t\tgetFloatingProps,\n\t\t\tmiddlewareData,\n\t\t\telementsRef,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\tgetItemProps,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tnodeId,\n\t\t\tcontext,\n\t\t\tfloatingStyles,\n\t\t\tmodal,\n\t\t\tside,\n\t\t} = useMenuContext()\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\tconst handleOverlayPointerDown = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (modal) stopPropagation(e)\n\t\t\t},\n\t\t\t[modal],\n\t\t)\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingOverlay\n\t\t\t\t\t\t\tclassName={menuOverlay({ modal })}\n\t\t\t\t\t\t\tonClick={handleOverlayPointerDown}\n\t\t\t\t\t\t\tlockScroll\n\t\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FloatingFocusManager context={context}>\n\t\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"border-box w-max outline-none\"\n\t\t\t\t\t\t\t\t\t\t\tref={refs.setFloating}\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t\t</FloatingOverlay>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide } from \"../typings\"\n\ninterface ISubContext {\n\t// we know exactly what type of element the SubTrigger will be, therefore type it as Element\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\tdisabled: boolean\n\tside: MenuSide\n\tcloseRoot: boolean\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string | undefined\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n}\n\nexport const SubContext = createContext<ISubContext>({} as ISubContext)\n\nexport const useSubContext = () => useContext(SubContext)\n","import { MENU_CONTENT_PADDING } from \"./constants\"\nimport { MenuAlignment, MenuSide } from \"./typings\"\n\n// This function computes offsets specifically for submenus so that they are flush with the trigger item and\n// parent content\nexport const computeOffsets = (side: MenuSide, alignment: MenuAlignment) => {\n\tswitch (side) {\n\t\tcase \"right\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"left\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t}\n\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: 0 }\n}\n","import {\n\tautoUpdate,\n\tflip,\n\thide,\n\toffset,\n\tPlacement,\n\tsafePolygon,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseHover,\n\tuseInteractions,\n\tuseListNavigation,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuSubProps } from \"../typings\"\nimport { computeOffsets } from \"../utils\"\nimport { SubContext } from \"./context\"\n\nexport const MenuSub: FC<MenuSubProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tdisabled = false,\n\t\tside = \"right\",\n\t\talign = \"start\",\n\t\tcloseRoot = false,\n\t\tloop = false,\n\t\tmodal = false,\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>(defaultOpen ?? false, controlledOpen, onOpenChange)\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context } = useFloating({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: (open, _event, reason) => {\n\t\t\t// unique bug where reason was undefined causing close on initial hover\n\t\t\tif (reason) setOpen(open)\n\t\t},\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\tmiddleware: [\n\t\t\toffset({ ...computeOffsets(side, align) }),\n\t\t\tsizeMiddleware({\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t}),\n\t\t\tflip(),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tbubbles: closeRoot,\n\t\toutsidePress: closeRoot,\n\t})\n\n\tconst hover = useHover(context, {\n\t\trestMs: 50,\n\t\thandleClose: safePolygon({\n\t\t\tblockPointerEvents: true,\n\t\t\trequireIntent: false,\n\t\t}),\n\t\tenabled: !disabled,\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: !disabled,\n\t})\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tnested: true,\n\t\tactiveIndex: activeIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t\trtl: side === \"left\",\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tlistNavigation,\n\t\tdismiss,\n\t\thover,\n\t\tclick,\n\t])\n\n\treturn (\n\t\t<SubContext.Provider\n\t\t\tvalue={{\n\t\t\t\topen,\n\t\t\t\tsetOpen,\n\t\t\t\tnodeId,\n\t\t\t\trefs,\n\t\t\t\tfloatingStyles,\n\t\t\t\tcontext,\n\t\t\t\telementsRef,\n\t\t\t\tactiveIndex,\n\t\t\t\tsetActiveIndex,\n\t\t\t\tgetFloatingProps,\n\t\t\t\tgetItemProps,\n\t\t\t\tgetReferenceProps,\n\t\t\t\tdisabled,\n\t\t\t\tside,\n\t\t\t\tcloseRoot,\n\t\t\t\tmodal,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</SubContext.Provider>\n\t)\n}\nMenuSub.displayName = \"SubMenu\"\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, KeyboardEventHandler, memo, MouseEventHandler, useCallback, useMemo } from \"react\"\n\nimport { radiusCva } from \"../../cva\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuItem } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuItemProps } from \"../typings\"\n\nconst TRIGGER_SELECT_KEYS = [\"Enter\", \" \"]\n\nexport const MenuItem = memo(\n\tforwardRef<HTMLDivElement, MenuItemProps>((props, forwardedRef) => {\n\t\tconst rootMenuContext = useMenuContext()\n\t\tconst { getItemProps, activeIndex, setOpen, size, variant, radius } = useMenuContentContext()\n\t\tconst { closeRoot } = useSubContext()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tonSelect,\n\t\t\tonClick,\n\t\t\tonKeyDown,\n\t\t\tcloseOnSelect = true,\n\n\t\t\tdisabled,\n\t\t\t...rest\n\t\t} = props\n\n\t\tconst { ref, index } = useListItem()\n\n\t\tconst mergeRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onClick) onClick(e)\n\t\t\t\tif (onSelect) onSelect()\n\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\tif (closeRoot) rootMenuContext.setOpen(false)\n\t\t\t},\n\t\t\t[closeOnSelect, closeRoot, disabled, rootMenuContext, onClick, onSelect, setOpen],\n\t\t)\n\n\t\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onKeyDown) onKeyDown(e)\n\t\t\t\tif (TRIGGER_SELECT_KEYS.includes(e.key)) {\n\t\t\t\t\tif (onSelect) onSelect()\n\t\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[closeOnSelect, disabled, onKeyDown, onSelect, setOpen],\n\t\t)\n\n\t\tconst isActive = useMemo(() => index === activeIndex, [activeIndex, index])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\" ? children({ active: isActive, selected: false }) : children\n\t\t}, [children, isActive])\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cx(className, menuItem({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={mergeRefs}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-highlighted={isActive ? \"\" : undefined}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\tonClick: handleClick,\n\t\t\t\t\tonKeyDown: handleKeyDown,\n\t\t\t\t\ttabIndex: isActive ? 0 : -1,\n\t\t\t\t\t...rest,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { forwardRef, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../../CheckedIndicator\"\nimport { MenuItem } from \"../Item\"\nimport { MenuCheckboxItemProps } from \"../typings\"\n\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>((props, ref) => {\n\tconst { checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (checked) {\n\t\t\tcase true:\n\t\t\t\tonCheckedChange(false)\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false:\n\t\t\t\tonCheckedChange(true)\n\t\t\t\tbreak\n\t\t}\n\t}, [checked, onCheckedChange, onSelect])\n\n\treturn (\n\t\t<CheckedIndicatorContext.Provider value={checked}>\n\t\t\t<MenuItem ref={ref} onSelect={handleSelect} {...rest} />\n\t\t</CheckedIndicatorContext.Provider>\n\t)\n})\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\"\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { CheckedIndicator } from \"../../CheckedIndicator\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { MenuCheckboxIndicatorProps } from \"../typings\"\n\nexport const MenuCheckboxItemIndicator = forwardRef<HTMLSpanElement, MenuCheckboxIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t<CheckedIndicator>{children}</CheckedIndicator>\n\t\t</span>\n\t)\n})\nMenuCheckboxItemIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuClickTriggerProps } from \"../typings\"\n\nexport const MenuClickTrigger = memo(\n\tforwardRef<HTMLElement, MenuClickTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled = false } = props\n\t\tconst { getReferenceProps, refs, setTriggerType, open } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs<HTMLElement>([refs.setReference, forwardedRef])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"click\")\n\t\t}, [setTriggerType])\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t{...getReferenceProps({ disabled: disabled })}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { ClientRectObject, useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, MouseEventHandler, useCallback, useEffect, useRef } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuContextTriggerProps } from \"../typings\"\n\nexport const MenuContextTrigger = memo(\n\tforwardRef<HTMLElement, MenuContextTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled } = props\n\t\tconst ref = useRef<HTMLElement>(null)\n\t\tconst { setOpen, refs, setTriggerType } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, ref])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"context\")\n\t\t}, [setTriggerType])\n\n\t\tconst handleContextMenu = useCallback<MouseEventHandler>(\n\t\t\t(e) => {\n\t\t\t\tconst { clientY, clientX } = e\n\n\t\t\t\tif (!disabled && ref.current) {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\trefs.setPositionReference({\n\t\t\t\t\t\tgetBoundingClientRect(): ClientRectObject {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tx: clientX,\n\t\t\t\t\t\t\t\ty: clientY,\n\t\t\t\t\t\t\t\ttop: clientY,\n\t\t\t\t\t\t\t\tleft: clientX,\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\t\tbottom: clientY,\n\t\t\t\t\t\t\t\tright: clientX,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontextElement: ref.current,\n\t\t\t\t\t})\n\t\t\t\t\tsetOpen(true)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[disabled, refs, setOpen],\n\t\t)\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\tstyle={{ WebkitTouchCallout: disabled ? \"none\" : \"unset\" }}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\tonContextMenu={handleContextMenu}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo } from \"react\"\n\nimport type { MenuGroupProps } from \"../typings\"\n\nexport const MenuGroup = memo(\n\tforwardRef<HTMLDivElement, MenuGroupProps>((props, ref) => {\n\t\tconst { children, ...rest } = props\n\n\t\treturn (\n\t\t\t<div ref={ref} role=\"group\" {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { ChangeEventHandler, forwardRef, memo, useCallback, useEffect } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport type { MenuInputProps } from \"../typings\"\n\nexport const MenuInputField = memo(\n\tforwardRef<HTMLInputElement, MenuInputProps>((props, forwardedRef) => {\n\t\tconst { className, onValueChange, onChange, ...rest } = props\n\t\tconst { activeIndex, getItemProps } = useMenuContentContext()\n\t\tconst { index, ref } = useListItem()\n\n\t\tconst mergedRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (onChange) onChange(e)\n\t\t\t\tif (onValueChange) onValueChange(e.target.value)\n\t\t\t},\n\t\t\t[onChange, onValueChange],\n\t\t)\n\n\t\tuseEffect(() => {\n\t\t\treturn () => {\n\t\t\t\tif (onValueChange) onValueChange(\"\")\n\t\t\t}\n\t\t\t// REASON: Don't include onValueChange in a dependency array, if it is required in the future, it must be ensured that\n\t\t\t// users wrap there onFilterChange callback function in a useCallback otherwise typing will trigger many re-renders\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [])\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={cx(className, \"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"outline-none\")}\n\t\t\t\tref={mergedRefs}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\t...rest,\n\t\t\t\t\ttabIndex: index === activeIndex ? 0 : -1,\n\t\t\t\t\tonChange: handleChange,\n\t\t\t\t})}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { inputRoot } from \"../cva\"\nimport type { MenuInputRootProps } from \"../typings\"\n\nexport const MenuInputRoot = memo(\n\tforwardRef<HTMLDivElement, MenuInputRootProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <div className={cx(className, inputRoot({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport type { MenuInputSlotProps } from \"../typings\"\n\nexport const MenuInputSlot = memo(\n\tforwardRef<HTMLDivElement, MenuInputSlotProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\treturn <div className={cx(className, \"flex\", \"items-center\", \"text-(--base-a11)\")} ref={ref} {...rest} />\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\nimport { MultiSelectContext, SingleSelectContext } from \"./typings\"\n\nexport type ISelectContext = SingleSelectContext | MultiSelectContext\n\nexport const SelectContext = createContext<ISelectContext>({} as ISelectContext)\n\nexport function useSelectContext<Type = SingleSelectContext | MultiSelectContext>() {\n\treturn useContext(SelectContext) as Type\n}\n","import { memo, PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { SelectContext } from \"./context\"\n\ntype SelectContextProviderProps = PropsWithChildren &\n\t(\n\t\t| {\n\t\t\t\ttype: \"single\"\n\t\t\t\tdefaultValue?: string | null\n\t\t\t\tvalue?: string | null\n\t\t\t\tonValueChange?: (value: string | null) => void\n\t\t }\n\t\t| {\n\t\t\t\ttype: \"multi\"\n\t\t\t\tdefaultValues?: string[]\n\t\t\t\tvalues?: string[]\n\t\t\t\tonValuesChange?: (values: string[]) => void\n\t\t }\n\t)\nexport const SelectContextProvider = memo((props: SelectContextProviderProps) => {\n\tconst { type, children } = props\n\n\tconst [controlledValue, setControlledValue] = useState<string | null>(\n\t\ttype === \"single\" ? (props?.defaultValue ?? null) : null,\n\t)\n\tconst [controlledValues, setControlledValues] = useState<string[]>(\n\t\ttype === \"multi\" ? (props?.defaultValues ?? []) : [],\n\t)\n\n\tconst onValuesChange = useCallback(\n\t\t(values: string[]) => {\n\t\t\tsetControlledValues(values)\n\t\t\tif (type === \"multi\" && props?.onValuesChange) props.onValuesChange(values)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst onValueChange = useCallback(\n\t\t(value: string | null) => {\n\t\t\tsetControlledValue(value)\n\t\t\tif (type === \"single\" && props?.onValueChange) props.onValueChange(value)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst value = useMemo(\n\t\t() =>\n\t\t\ttype === \"multi\"\n\t\t\t\t? {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalues: props?.values ?? controlledValues,\n\t\t\t\t\t\thandleValuesChange: onValuesChange,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalue: props.value ?? controlledValue,\n\t\t\t\t\t\thandleValueChange: onValueChange,\n\t\t\t\t\t},\n\t\t[controlledValue, controlledValues, onValueChange, onValuesChange, props, type],\n\t)\n\n\treturn <SelectContext.Provider value={value}>{children}</SelectContext.Provider>\n})\nSelectContextProvider.displayName = \"SelectContextProvider\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuMultiSelectGroupProps } from \"../typings\"\n\nexport const MenuMultiSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuMultiSelectGroupProps>((props, ref) => {\n\t\tconst { children, values, onValuesChange, ...rest } = props\n\n\t\treturn (\n\t\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t\t<SelectContextProvider type=\"multi\" values={values} onValuesChange={onValuesChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectContextProvider>\n\t\t\t</MenuGroup>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface ISelectedIndicatorContext {\n\tselected: boolean\n}\n\nexport const SelectedIndicatorContext = createContext<ISelectedIndicatorContext>({} as ISelectedIndicatorContext)\n\nexport const useSelectedIndicatorContext = () => useContext(SelectedIndicatorContext)\n","import { forwardRef, PropsWithChildren } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport { useSelectedIndicatorContext } from \"./context\"\n\nexport const MenuSelectedIndicator = forwardRef<HTMLDivElement, PropsWithChildren>((props, ref) => {\n\tconst { children } = props\n\tconst { selected } = useSelectedIndicatorContext()\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<div ref={ref} className={menuSelectedIndicator({ size })}>\n\t\t\t{selected ? children : null}\n\t\t</div>\n\t)\n})\nMenuSelectedIndicator.displayName = \"SelectedIndicator\"\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuMultiSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { onSelect, children, closeOnSelect = false, value, ...rest } = props\n\n\t\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\t\tconst selected = useMemo(() => values.includes(value), [value, values])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tif (!selected) {\n\t\t\t\thandleValuesChange([...values, value])\n\t\t\t} else {\n\t\t\t\thandleValuesChange(values.filter((currentValue) => currentValue !== value))\n\t\t\t}\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValuesChange, onSelect, selected, value, values])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface IPagesContext {\n\tactivePage: string\n\tsetActivePage: (page: string) => void\n}\n\nexport const PagesContext = createContext<IPagesContext>({} as IPagesContext)\n\nexport const usePagesContext = () => useContext(PagesContext)\n","import { FC } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport type { PageProps } from \"../typings\"\nimport { PagesContext } from \"./context\"\n\nexport const MenuPages: FC<PageProps> = (props) => {\n\tconst { children, defaultPage, page, onPageChange } = props\n\n\tconst [activePage, setActivePage] = useControlledState<string>(defaultPage ?? \"\", page, onPageChange)\n\n\treturn <PagesContext.Provider value={{ activePage, setActivePage }}>{children}</PagesContext.Provider>\n}\n","import { FC } from \"react\"\n\nimport { usePagesContext } from \"../Pages\"\nimport type { PageContentProps } from \"../typings\"\n\nexport const MenuPageContent: FC<PageContentProps> = (props) => {\n\tconst { page, children } = props\n\tconst { activePage } = usePagesContext()\n\n\treturn activePage === page ? children : null\n}\nMenuPageContent.displayName = \"PageContent\"\n","import { forwardRef, memo, useCallback } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { MenuItem } from \"../Item\"\nimport { usePagesContext } from \"../Pages\"\nimport type { PageTriggerProps } from \"../typings\"\n\nexport const MenuPageTrigger = memo(\n\tforwardRef<HTMLDivElement, PageTriggerProps>((props, ref) => {\n\t\tconst { onSelect, page, ...rest } = props\n\t\tconst { refs, setActiveIndex } = useMenuContentContext()\n\t\tconst { setActivePage } = usePagesContext()\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tsetActivePage(page)\n\t\t\trefs.floating.current?.focus()\n\t\t\tsetActiveIndex(null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [onSelect, page, refs.floating, setActiveIndex, setActivePage])\n\n\t\treturn <MenuItem ref={ref} onSelect={handleSelect} closeOnSelect={false} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport type { MenuScrollProps } from \"../typings\"\n\nexport const MenuScroll = forwardRef<HTMLDivElement, MenuScrollProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\t\"h-full overflow-x-hidden overflow-y-auto [scrollbar-color:var(--base-6)_transparent] [scrollbar-width:thin]\",\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nMenuScroll.displayName = \"MenuScroll\"\n","import { createContext } from \"react\"\n\ninterface ISelectAllContext {\n\tselected: boolean | \"indeterminate\"\n}\n\nexport const SelectAllContext = createContext({} as ISelectAllContext)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext, useMemo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { SelectAllIndicatorProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllIndicator = forwardRef<HTMLSpanElement, SelectAllIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\tconst { selected } = useContext(SelectAllContext)\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(selected === \"indeterminate\") : children\n\t}, [children, selected])\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t{selected ? computedChildren : null}\n\t\t</span>\n\t)\n})\nMenuSelectAllIndicator.displayName = \"SelectAllIndicator\"\n","import { forwardRef, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport type { SelectAllItemProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllItem = forwardRef<HTMLDivElement, SelectAllItemProps>((props, ref) => {\n\tconst { children, allValues, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\tconst selected = useMemo(() => {\n\t\tconst selectValuesSet = new Set(values)\n\n\t\tif (allValues.every((value) => selectValuesSet.has(value))) return true\n\t\tif (values.length > 0) return \"indeterminate\"\n\t\treturn false\n\t}, [allValues, values])\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (selected) {\n\t\t\tcase true:\n\t\t\t\thandleValuesChange([])\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false: {\n\t\t\t\thandleValuesChange(allValues)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [allValues, handleValuesChange, onSelect, selected])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t: children\n\t}, [children, selected])\n\n\treturn (\n\t\t<SelectAllContext.Provider value={{ selected }}>\n\t\t\t<MenuItem onSelect={handleSelect} ref={ref} data-state={selected} closeOnSelect={closeOnSelect} {...rest}>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectAllContext.Provider>\n\t)\n})\nMenuSelectAllItem.displayName = \"SelectAllItem\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuSelectGroupProps } from \"../typings\"\n\nexport const MenuSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuSelectGroupProps>((props, ref) => {\n\t\tconst { children, value, onValueChange } = props\n\t\treturn (\n\t\t\t<SelectContextProvider type=\"single\" value={value} onValueChange={onValueChange}>\n\t\t\t\t<MenuGroup ref={ref}>{children}</MenuGroup>\n\t\t\t</SelectContextProvider>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { SingleSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport type { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { value, onSelect, children, closeOnSelect = true, ...rest } = props\n\t\tconst { value: currentValue, handleValueChange } = useSelectContext<SingleSelectContext>()\n\n\t\tconst selected = useMemo(() => value === currentValue, [currentValue, value])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\thandleValueChange(!selected ? value : null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValueChange, onSelect, selected, value])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSeparator } from \"../cva\"\nimport type { MenuSeparatorProps } from \"../typings\"\n\nexport const MenuSeparator = memo(\n\tforwardRef<HTMLDivElement, MenuSeparatorProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <RadixSeparator.Root className={cx(className, menuSeparator({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingPortal, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, useMemo, useRef } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { MenuContentContext, useMenuContentContext } from \"../Content/context\"\nimport { menuContent } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { SubMenuContentProps } from \"../typings\"\n\nexport const MenuSubContent = memo(\n\tforwardRef<HTMLDivElement, SubMenuContentProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { middlewareData } = useMenuContext()\n\t\tconst { accentColor, radius, variant, size } = useMenuContentContext()\n\t\tconst {\n\t\t\topen,\n\t\t\tnodeId,\n\t\t\trefs,\n\t\t\tcontext,\n\t\t\tgetFloatingProps,\n\t\t\tgetItemProps,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\telementsRef,\n\t\t\tfloatingStyles,\n\t\t\tsetOpen,\n\t\t\tside,\n\t\t} = useSubContext()\n\n\t\tconst wrapperRef = useRef<HTMLDivElement>(null)\n\n\t\tconst mergeRefs = useMergeRefs([refs.setFloating, wrapperRef])\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingFocusManager context={context} initialFocus={wrapperRef}>\n\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"outline-none\"\n\t\t\t\t\t\t\t\t\t\tref={mergeRefs}\n\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\"overmap-menu-sub-content\",\n\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { forwardRef, memo } from \"react\"\n\nimport { MenuItem } from \"../Item\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuSubTriggerProps } from \"../typings\"\n\nexport const MenuSubTrigger = memo(\n\tforwardRef<HTMLDivElement, MenuSubTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { refs, getReferenceProps, open, disabled } = useSubContext()\n\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, refs.setReference])\n\n\t\treturn (\n\t\t\t<MenuItem\n\t\t\t\tref={mergedRefs}\n\t\t\t\tcloseOnSelect={false}\n\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\tdata-open={open}\n\t\t\t\tdisabled={disabled}\n\t\t\t\t{...getReferenceProps(rest)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuItem>\n\t\t)\n\t}),\n)\n","import { memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuVirtualTriggerProps } from \"../typings\"\n\nexport const MenuVirtualTrigger = memo((props: MenuVirtualTriggerProps) => {\n\tconst { virtualElement, disabled } = props\n\tconst { refs, setTriggerType, setOpen } = useMenuContext()\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"virtual\")\n\t}, [setTriggerType])\n\n\tuseEffect(() => {\n\t\tif (!disabled && virtualElement) {\n\t\t\trefs.setPositionReference(virtualElement)\n\t\t\tsetOpen(true)\n\t\t} else {\n\t\t\trefs.setPositionReference(null)\n\t\t\tsetOpen(false)\n\t\t}\n\t}, [disabled, refs, setOpen, virtualElement])\n\n\treturn null\n})\nMenuVirtualTrigger.displayName = \"VirtualTrigger\"\n","import { MenuCheckboxItem } from \"./CheckboxItem/CheckboxItem\"\nimport { MenuCheckboxItemIndicator } from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nimport { MenuClickTrigger } from \"./ClickTrigger\"\nimport { MenuContent } from \"./Content\"\nimport { MenuContextTrigger } from \"./ContextTrigger\"\nimport { MenuGroup } from \"./Group\"\nimport { MenuInputField, MenuInputRoot, MenuInputSlot } from \"./Input\"\nimport { MenuItem } from \"./Item\"\nimport { MenuMultiSelectGroup } from \"./MultiSelectGroup\"\nimport { MenuMultiSelectItem } from \"./MultiSelectItem\"\nimport { MenuPageContent } from \"./PageContent\"\nimport { MenuPages } from \"./Pages\"\nimport { MenuPageTrigger } from \"./PageTrigger\"\nimport { MenuRoot } from \"./root\"\nimport { MenuScroll } from \"./Scroll/Scroll\"\nimport { MenuSelectAllIndicator, MenuSelectAllItem } from \"./SelectAll\"\nimport { MenuSelectedIndicator } from \"./SelectedIndicator\"\nimport { MenuSelectGroup } from \"./SelectGroup\"\nimport { MenuSelectItem } from \"./SelectItem\"\nimport { MenuSeparator } from \"./Separator\"\nimport { MenuSub } from \"./Sub\"\nimport { MenuSubContent } from \"./SubContent\"\nimport { MenuSubTrigger } from \"./SubTrigger\"\nimport { MenuVirtualTrigger } from \"./VirtualTrigger\"\n\nexport * from \"./CheckboxItem/CheckboxItem\"\nexport * from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nexport * from \"./ClickTrigger\"\nexport * from \"./Content\"\nexport * from \"./ContextTrigger\"\nexport * from \"./Group\"\nexport * from \"./Input\"\nexport * from \"./Item\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./PageContent\"\nexport * from \"./Pages\"\nexport * from \"./PageTrigger\"\nexport * from \"./root\"\nexport * from \"./Scroll/Scroll\"\nexport * from \"./SelectAll\"\nexport * from \"./SelectedIndicator\"\nexport * from \"./SelectGroup\"\nexport * from \"./SelectItem\"\nexport * from \"./Separator\"\nexport * from \"./Sub\"\nexport * from \"./SubContent\"\nexport * from \"./SubTrigger\"\nexport * from \"./typings\"\nexport * from \"./VirtualTrigger\"\n\nexport const Menu = {\n\tRoot: MenuRoot,\n\tContent: MenuContent,\n\n\t// sub\n\tSub: MenuSub,\n\tSubContent: MenuSubContent,\n\tSubTrigger: MenuSubTrigger,\n\n\t// pages\n\tPages: MenuPages,\n\tPageContent: MenuPageContent,\n\tPageTrigger: MenuPageTrigger,\n\n\t// triggers\n\tClickTrigger: MenuClickTrigger,\n\tContextTrigger: MenuContextTrigger,\n\tVirtualTrigger: MenuVirtualTrigger,\n\n\t// groups\n\tGroup: MenuGroup,\n\tSelectGroup: MenuSelectGroup,\n\tMultiSelectGroup: MenuMultiSelectGroup,\n\n\t// items\n\tItem: MenuItem,\n\tSelectItem: MenuSelectItem,\n\tMultiSelectItem: MenuMultiSelectItem,\n\tSelectAllItem: MenuSelectAllItem,\n\tCheckboxItem: MenuCheckboxItem,\n\n\t// indicators\n\tSelectAllIndicator: MenuSelectAllIndicator,\n\tSelectedIndicator: MenuSelectedIndicator,\n\tCheckboxItemIndicator: MenuCheckboxItemIndicator,\n\n\t// input\n\tInputRoot: MenuInputRoot,\n\tInputField: MenuInputField,\n\tInputSlot: MenuInputSlot,\n\n\t// other\n\tSeparator: MenuSeparator,\n\tScroll: MenuScroll,\n}\n","import { ComponentProps, forwardRef, memo } from \"react\"\nimport { IconBaseProps, IconType } from \"react-icons\"\nimport * as RiIcons from \"react-icons/ri\"\nimport { RiQuestionMark } from \"react-icons/ri\"\n\ninterface RiIconProps extends ComponentProps<\"svg\">, Pick<IconBaseProps, \"size\" | \"title\" | \"color\"> {\n\ticon: string\n}\n\n// NOTE: this should be moved to /web once any tsx have been removed from /core\n\nexport const RiIcon = memo(\n\tforwardRef<SVGSVGElement, RiIconProps>((props, ref) => {\n\t\tconst { icon, size, title, color, ...rest } = props\n\t\tconst Icon = (RiIcons as Record<string, IconType>)[icon]\n\n\t\t// eslint-disable-next-line no-console\n\t\tif (!Icon) console.error(`Icon ${icon} not found`)\n\n\t\treturn Icon ? (\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\t<Icon ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t) : (\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\t<RiQuestionMark ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t)\n\t}),\n)\nRiIcon.displayName = \"RiIcon\"\n","import React, { ErrorInfo, memo, useCallback } from \"react\"\nimport { ErrorBoundary, useErrorBoundary } from \"react-error-boundary\"\n\nimport { IconButton } from \"../Buttons\"\nimport { RiIcon } from \"../RiIcon\"\n\ninterface ErrorBoundaryProps extends React.PropsWithChildren {\n\tabsoluteCentering?: boolean\n\tmessage?: string\n}\n\ninterface ErrorFallbackProps extends ErrorBoundaryProps {\n\tonRetry: () => void\n}\n\nconst centerStyles = { placeSelf: \"center\" }\n\nconst ErrorFallback = memo((props: ErrorFallbackProps) => {\n\tconst { absoluteCentering, message = \"Something went wrong\", onRetry } = props\n\tconst { resetBoundary } = useErrorBoundary()\n\tconst height = \"20px\"\n\tconst outerFlexStyles = absoluteCentering\n\t\t? ({ position: \"absolute\", top: \"50%\", transform: \"translateY(-50%)\" } as const)\n\t\t: undefined\n\n\tconst handleRetry = useCallback(() => {\n\t\tresetBoundary()\n\t\tonRetry()\n\t}, [onRetry, resetBoundary])\n\n\treturn (\n\t\t<div className=\"flex w-full gap-2\" style={outerFlexStyles}>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t\t<RiIcon icon=\"RiAlertLine\" size={height} style={centerStyles} />\n\t\t\t<span style={{ lineHeight: height, ...centerStyles }}>{message}</span>\n\t\t\t<IconButton aria-label=\"Try again\" variant=\"soft\" onClick={handleRetry} style={centerStyles}>\n\t\t\t\t<RiIcon icon=\"RiLoopLeftLine\" size={height} />\n\t\t\t</IconButton>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t</div>\n\t)\n})\n\nErrorFallback.displayName = \"ErrorFallback\"\n\nexport const OvermapErrorBoundary = memo((props: ErrorBoundaryProps) => {\n\tconst { absoluteCentering, message } = props\n\tconst [attempt, setAttempt] = React.useState(0)\n\n\tconst logError = useCallback((error: Error, info: ErrorInfo) => {\n\t\t// TODO: Log error to Sentry\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(error, info)\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\tconst handleRetry = useCallback(() => {\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\treturn (\n\t\t<ErrorBoundary\n\t\t\tkey={attempt}\n\t\t\tfallback={<ErrorFallback absoluteCentering={absoluteCentering} message={message} onRetry={handleRetry} />}\n\t\t\tonError={logError}\n\t\t>\n\t\t\t{props.children}\n\t\t</ErrorBoundary>\n\t)\n})\n\nOvermapErrorBoundary.displayName = \"OvermapErrorBoundary\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface PopoverArrowProps extends RadixPopover.PopoverArrowProps {}\n\nexport const PopoverArrow = forwardRef<SVGSVGElement, PopoverArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixPopover.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nPopoverArrow.displayName = \"PopoverArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const popoverContent = cva([\"bg-(--color-background)\", \"dark:bg-(--base-2)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { popoverContent } from \"./cva\"\nimport type { PopoverVariantProps } from \"./typings\"\n\nexport interface PopoverContentProps extends RadixPopover.PopoverContentProps, PopoverVariantProps {\n\tcontainer?: RadixPopover.PopoverPortalProps[\"container\"]\n}\n\nexport const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsize = \"md\",\n\t\tsideOffset = 5,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixPopover.Portal container={container}>\n\t\t\t<RadixPopover.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tpopoverContent({ size }),\n\t\t\t\t\tfloating({ shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixPopover.Portal>\n\t)\n})\nPopoverContent.displayName = \"PopoverContent\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\n\nimport { PopoverArrow } from \"./Arrow\"\nimport { PopoverContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Popover = {\n\t...RadixPopover,\n\tContent: PopoverContent,\n\tArrow: PopoverArrow,\n}\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface RadioGroupIndicatorProps extends RadixRadioGroup.RadioGroupIndicatorProps {}\n\nexport const RadioGroupIndicator = forwardRef<HTMLSpanElement, RadioGroupIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Indicator className={cx(className, \"flex items-center justify-center\")} ref={ref} {...rest} />\n\t)\n})\nRadioGroupIndicator.displayName = \"RadioGroupIndicator\"\n","import { createContext } from \"react\"\n\nimport type { RadioGroupSize, RadioGroupVariant } from \"./typings\"\n\nexport interface IRadioGroupContext {\n\tsize: RadioGroupSize\n\tvariant: RadioGroupVariant\n}\n\nexport const RadioGroupContext = createContext<IRadioGroupContext>({} as IRadioGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const radioGroupItem = cva(\n\t[\n\t\t\"rounded-full\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"data-[state='checked']:transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a6)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"w-4\", \"h-4\", \"text-[0.625rem]\"],\n\t\t\t\tsm: [\"w-5\", \"h-5\", \"text-xs\"],\n\t\t\t\tmd: [\"w-6\", \"h-6\", \"text-sm\"],\n\t\t\t\tlg: [\"w-7\", \"h-7\", \"text-md\"],\n\t\t\t\txl: [\"w-8\", \"h-8\", \"text-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { RadioGroupContext } from \"./context\"\nimport { radioGroupItem } from \"./cva\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupItemProps extends RadioGroupVariantProps, RadixRadioGroup.RadioGroupItemProps {}\n\nexport const RadioGroupItem = memo(\n\tforwardRef<HTMLButtonElement, RadioGroupItemProps>((props, ref) => {\n\t\tconst radioGroupContext = useContext(RadioGroupContext)\n\t\tconst { className, size = radioGroupContext.size, variant = radioGroupContext.variant, ...rest } = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Item\n\t\t\t\tclassName={cx(className, radioGroupItem({ size, variant }), \"flex\", \"justify-center\", \"items-center\")}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioGroupContext } from \"./context\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupRootProps extends RadixRadioGroup.RadioGroupProps, RadioGroupVariantProps {}\n\nexport const RadioGroupRoot = memo(\n\tforwardRef<HTMLDivElement, RadioGroupRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\tvariant = \"surface\",\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Root className={cx(className)} ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t\t<RadioGroupContext.Provider value={{ variant, size }}>{children}</RadioGroupContext.Provider>\n\t\t\t</RadixRadioGroup.Root>\n\t\t)\n\t}),\n)\n","import { RadioGroupIndicator } from \"./Indicator\"\nimport { RadioGroupItem } from \"./Item\"\nimport { RadioGroupRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const RadioGroup = {\n\tIndicator: RadioGroupIndicator,\n\tItem: RadioGroupItem,\n\tRoot: RadioGroupRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const segmentedControlRootCva = cva([\"shrink-0\", \"transition-colors\", \"flex\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const segmentedControlItemCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-colors\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-0.25\"],\n\t\t\t\tsm: [\"gap-0.5\"],\n\t\t\t\tmd: [\"gap-1\"],\n\t\t\t\tlg: [\"gap-1.5\"],\n\t\t\t\txl: [\"gap-2\"],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t},\n\t},\n)\n","import { createContext } from \"react\"\n\nimport { ComponentRadius } from \"../Provider\"\nimport type { SegmentedControlSize, SegmentedControlVariant } from \"./typings\"\n\ninterface ISegmentedControlContext {\n\tsize: SegmentedControlSize\n\tvariant: SegmentedControlVariant\n\tradius: ComponentRadius\n\ticon: boolean\n}\n\nexport const SegmentedControlContext = createContext({} as ISegmentedControlContext)\n","import { useContext } from \"react\"\n\nimport { SegmentedControlContext } from \"./context\"\n\nexport const useSegmentedControl = () => {\n\tconst segmentedControlContext = useContext(SegmentedControlContext)\n\n\tif (!segmentedControlContext) {\n\t\tthrow new Error(\"useSegmentedControl must be used within a SegmentedControlProvider\")\n\t}\n\n\treturn segmentedControlContext\n}\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { segmentedControlItemCva } from \"./cva\"\nimport { useSegmentedControl } from \"./hooks\"\n\nexport interface SegmentedControlItemProps extends RadixToggleGroup.ToggleGroupItemProps {}\n\nexport const SegmentedControlItem = forwardRef<HTMLButtonElement, SegmentedControlItemProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, radius, variant, icon } = useSegmentedControl()\n\n\treturn (\n\t\t<RadixToggleGroup.Item\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlItemCva({ size, variant, icon }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSegmentedControlItem.displayName = \"SegmentedControlItem\"\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SegmentedControlContext } from \"./context\"\nimport { segmentedControlRootCva } from \"./cva\"\nimport type { SegmentedControlVariantProps } from \"./typings\"\n\nexport interface SegmentedControlRootProps\n\textends Omit<RadixToggleGroup.ToggleGroupSingleProps, \"type\">,\n\t\tSegmentedControlVariantProps {}\n\nexport const SegmentedControlRoot = forwardRef<HTMLDivElement, SegmentedControlRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\ticon = false,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixToggleGroup.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\ttype=\"single\"\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SegmentedControlContext.Provider value={{ size, variant, radius, icon }}>\n\t\t\t\t{children}\n\t\t\t</SegmentedControlContext.Provider>\n\t\t</RadixToggleGroup.Root>\n\t)\n})\nSegmentedControlRoot.displayName = \"SegmentedControlRoot\"\n","import { SegmentedControlItem } from \"./Item\"\nimport { SegmentedControlRoot } from \"./Root\"\n\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const SegmentedControl = {\n\tItem: SegmentedControlItem,\n\tRoot: SegmentedControlRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const separator = cva([\"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [],\n\t\t\tsm: [],\n\t\t\tmd: [],\n\t\t\tlg: [],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t\torientation: {\n\t\t\thorizontal: [\"h-px\"],\n\t\t\tvertical: [\"w-px\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"bg-(--accent-a6)\"],\n\t\t\tmedium: [\"bg-(--accent-a7)\"],\n\t\t\theavy: [\"bg-(--accent-a8)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-full\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-full\"],\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\torientation: \"horizontal\",\n\t\tweight: \"medium\",\n\t},\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { separator } from \"./cva\"\nimport type { SeparatorVariantProps } from \"./typings\"\n\ninterface SeparatorProps extends RadixSeparator.SeparatorProps, SeparatorVariantProps {}\n\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>((props, ref) => {\n\tconst { className, accentColor = \"base\", orientation, size, weight, ...rest } = props\n\n\treturn (\n\t\t<RadixSeparator.Root\n\t\t\tclassName={cx(className, separator({ orientation, size, weight }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSeparator.displayName = \"Separator\"\n","import { memo } from \"react\"\n\nexport const Spinner = memo(() => {\n\treturn <div className=\"size-5 animate-spin rounded-full border-2 border-(--base-a12) border-b-transparent\" />\n})\n\nSpinner.displayName = \"Spinner\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { SwitchSize } from \"./typings\"\n\ninterface ISwitchContext {\n\tsize: SwitchSize\n\tradius: ComponentRadius\n}\n\nexport const SwitchContext = createContext({} as ISwitchContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const switchRoot = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// ring\n\t\t\"inset-ring\",\n\t\t\"inset-ring-(--base-a4)\",\n\t\t\"data-[state=checked]:inset-ring-(--accent-track)\",\n\n\t\t// bg\n\t\t\"bg-(--base-4)\",\n\t\t\"data-[state=checked]:bg-(--accent-track)\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"w-10\"],\n\t\t\t\tsm: [\"h-6\", \"w-12\"],\n\t\t\t\tmd: [\"h-7\", \"w-14\"],\n\t\t\t\tlg: [\"h-8\", \"w-16\"],\n\t\t\t\txl: [\"h-9\", \"w-[4.5rem]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const switchThumb = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"transition-transform\",\n\t\t\"data-[state='unchecked']:translate-x-[1px]\",\n\t\t\"data-[state='checked']:translate-x-[calc(100%+1px)]\",\n\t\t\"bg-(--base-contrast)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-[calc(calc(var(--spacing)*5)-1px)]\"],\n\t\t\t\tsm: [\"size-[calc(calc(var(--spacing)*6)-1px)]\"],\n\t\t\t\tmd: [\"size-[calc(calc(var(--spacing)*7)-1px)]\"],\n\t\t\t\tlg: [\"size-[calc(calc(var(--spacing)*8)-1px)]\"],\n\t\t\t\txl: [\"size-[calc(calc(var(--spacing)*9)-1px)]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SwitchContext } from \"./context\"\nimport { switchRoot } from \"./cva\"\nimport type { SwitchVariantProps } from \"./typings\"\n\nexport interface SwitchRootProps extends RadixSwitch.SwitchProps, SwitchVariantProps {}\n\nexport const SwitchRoot = memo(\n\tforwardRef<HTMLButtonElement, SwitchRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixSwitch.Root\n\t\t\t\tclassName={cx(className, switchRoot({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<SwitchContext.Provider value={{ size, radius }}>{children}</SwitchContext.Provider>\n\t\t\t</RadixSwitch.Root>\n\t\t)\n\t}),\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { SwitchContext } from \"./context\"\nimport { switchThumb } from \"./cva\"\n\nexport interface SwitchThumbProps extends RadixSwitch.SwitchThumbProps {}\n\nexport const SwitchThumb = memo(\n\tforwardRef<HTMLSpanElement, SwitchThumbProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size, radius } = useContext(SwitchContext)\n\n\t\treturn (\n\t\t\t<RadixSwitch.Thumb\n\t\t\t\tclassName={cx(className, switchThumb({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { SwitchRoot } from \"./Root\"\nimport { SwitchThumb } from \"./Thumb\"\n\nexport * from \"./Root\"\nexport * from \"./Thumb\"\nexport * from \"./typings\"\n\nexport const Switch = {\n\tRoot: SwitchRoot,\n\tThumb: SwitchThumb,\n}\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableBodyProps extends PropsWithoutRef<ComponentProps<\"tbody\">> {}\n\nexport const TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tbody ref={ref} className={cx(className)} {...rest} />\n})\nTableBody.displayName = \"TableBody\"\n","import { createContext } from \"react\"\n\nimport { TableBorder, TableCellSize, TableVariant } from \"./typings\"\n\ninterface ITableContext {\n\tsize: TableCellSize\n\tborder: TableBorder\n\tvariant: TableVariant\n}\n\nexport const TableContext = createContext({} as ITableContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tableRootCva = cva([\"border-collapse text-left\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tghost: [],\n\t\t\tsurface: [\"border-1\", \"border-(--accent-a6)\", \"box-border\", \"overflow-hidden\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-md\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const tableCellCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\tghost: [],\n\t\t},\n\t\tcell: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-1\"],\n\t\t\tsm: [\"p-2\"],\n\t\t\tmd: [\"p-3\"],\n\t\t\tlg: [\"p-4\"],\n\t\t\txl: [\"p-5\"],\n\t\t},\n\t\tborder: {\n\t\t\tgrid: [\"box-border\", \"border\", \"border-(--accent-a6)\"],\n\t\t\trow: [\"box-border\", \"border-b\", \"border-(--accent-a6)\"],\n\t\t\tcol: [\"box-border\", \"border-x\", \"border-(--accent-a6)\"],\n\t\t\tnone: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: true,\n\t\t\tclassName: [\"bg-(--accent-a1)\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: false,\n\t\t\tclassName: [\"bg-(--accent-a2)\"],\n\t\t},\n\t],\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableCellProps extends PropsWithoutRef<ComponentProps<\"td\">> {}\n\nexport const TableCell = forwardRef<HTMLTableCellElement, TableCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <td ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableCell.displayName = \"TableCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableColumnHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableColumnHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableColumnHeaderCellProps>(\n\t(props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size, border, variant } = useContext(TableContext)\n\n\t\treturn (\n\t\t\t<th ref={ref} className={cx(className, tableCellCva({ size, border, cell: false, variant }))} {...rest} />\n\t\t)\n\t},\n)\nTableColumnHeaderCell.displayName = \"TableColumnHeaderCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableFooterProps extends PropsWithoutRef<ComponentProps<\"tfoot\">> {}\n\nexport const TableFooter = forwardRef<HTMLTableSectionElement, TableFooterProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tfoot ref={ref} className={cx(className)} {...rest} />\n})\nTableFooter.displayName = \"TableFooter\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableHeaderProps extends PropsWithoutRef<ComponentProps<\"thead\">> {}\n\nexport const TableHeader = forwardRef<HTMLTableSectionElement, TableHeaderProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <thead ref={ref} className={cx(className)} {...rest} />\n})\nTableHeader.displayName = \"TableHeader\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { TableContext } from \"./context\"\nimport { tableRootCva } from \"./cva\"\nimport type { TableVariantProps } from \"./typings\"\n\nexport interface TableRootProps extends Omit<PropsWithoutRef<ComponentProps<\"table\">>, \"border\">, TableVariantProps {}\n\nexport const TableRoot = forwardRef<HTMLTableElement, TableRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", border = \"row\", accentColor = \"base\", variant = \"ghost\", ...rest } = props\n\n\treturn (\n\t\t<table\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\ttableRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: providerContext.radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TableContext.Provider value={{ size, border, variant }}>{children}</TableContext.Provider>\n\t\t</table>\n\t)\n})\nTableRoot.displayName = \"TableRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableRowProps extends PropsWithoutRef<ComponentProps<\"tr\">> {}\n\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tr ref={ref} className={cx(className)} {...rest} />\n})\nTableRow.displayName = \"TableRow\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableRowHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableRowHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableRowHeaderCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableRowHeaderCell.displayName = \"TableRow\"\n","import { TableBody } from \"./Body\"\nimport { TableCell } from \"./Cell\"\nimport { TableColumnHeaderCell } from \"./ColumnHeaderCell\"\nimport { TableFooter } from \"./Footer\"\nimport { TableHeader } from \"./Header\"\nimport { TableRoot } from \"./Root\"\nimport { TableRow } from \"./Row\"\nimport { TableRowHeaderCell } from \"./RowHeaderCell\"\n\nexport * from \"./Body\"\nexport * from \"./Cell\"\nexport * from \"./ColumnHeaderCell\"\nexport * from \"./Footer\"\nexport * from \"./Header\"\nexport * from \"./Root\"\nexport * from \"./Row\"\nexport * from \"./RowHeaderCell\"\nexport * from \"./typings\"\n\nexport const Table = {\n\tRoot: TableRoot,\n\tHeader: TableHeader,\n\tBody: TableBody,\n\tFooter: TableFooter,\n\tRow: TableRow,\n\tCell: TableCell,\n\tRowHeaderCell: TableRowHeaderCell,\n\tColumnHeaderCell: TableColumnHeaderCell,\n}\n","import { createContext } from \"react\"\n\nimport type { TabsSize } from \"./typings\"\n\ninterface ITabsListContext {\n\tsize: TabsSize\n}\n\nexport const TabsListContext = createContext({} as ITabsListContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tabsListCva = cva([\"flex\", \"border-box\", \"inset-shadow-[0_-1px_0_0_var(--base-a6)]\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-6\", \"text-xs\"],\n\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\txl: [\"h-10\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const tabsTriggerCva = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"shrink-0\",\n\t\t\"cursor-pointer\",\n\t\t\"transition-colors\",\n\t\t\"relative\",\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:text-(--base-a12)\",\n\t\t\"data-[state=active]:text-(--base-a12)\",\n\t\t\"data-[state=active]:before:absolute\",\n\t\t\"data-[state=active]:before:inset-x-0\",\n\t\t\"data-[state=active]:before:bottom-0\",\n\t\t\"data-[state=active]:before:h-[2px]\",\n\t\t\"data-[state=active]:before:bg-(--accent-indicator)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"px-2\", \"gap-0.25\"],\n\t\t\t\tsm: [\"px-2\", \"gap-0.5\"],\n\t\t\t\tmd: [\"px-3\", \"gap-1\"],\n\t\t\t\tlg: [\"px-4\", \"gap-1.5\"],\n\t\t\t\txl: [\"px-5\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { TabsListContext } from \"./context\"\nimport { tabsListCva } from \"./cva\"\nimport type { TabsVariantProps } from \"./typings\"\n\nexport interface TabsListProps extends RadixTabs.TabsListProps, TabsVariantProps {}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", accentColor = providerContext.accentColor, ...rest } = props\n\n\treturn (\n\t\t<RadixTabs.List\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, tabsListCva({ size }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TabsListContext.Provider value={{ size }}>{children}</TabsListContext.Provider>\n\t\t</RadixTabs.List>\n\t)\n})\nTabsList.displayName = \"TabsList\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TabsRootProps extends RadixTabs.TabsProps {}\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(className, \"flex flex-col\")} {...rest} />\n})\nTabsRoot.displayName = \"TabsRoot\"\n","import { useContext } from \"react\"\n\nimport { TabsListContext } from \"./context\"\n\nexport const useTabsList = () => {\n\tconst tabsListContext = useContext(TabsListContext)\n\n\tif (!tabsListContext) {\n\t\tthrow new Error(\"useTabsList must be used within a TabsList component\")\n\t}\n\n\treturn tabsListContext\n}\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { tabsTriggerCva } from \"./cva\"\nimport { useTabsList } from \"./hooks\"\n\nexport interface TabsTriggerProps extends RadixTabs.TabsTriggerProps {}\n\nexport const TabsTrigger = forwardRef<HTMLButtonElement, TabsTriggerProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\n\tconst { size } = useTabsList()\n\n\treturn (\n\t\t<RadixTabs.Trigger ref={ref} className={cx(className, tabsTriggerCva({ size }))} {...rest}>\n\t\t\t{children}\n\t\t</RadixTabs.Trigger>\n\t)\n})\nTabsTrigger.displayName = \"TabsTrigger\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\n\nimport { TabsList } from \"./List\"\nimport { TabsRoot } from \"./Root\"\nimport { TabsTrigger } from \"./Trigger\"\n\nexport * from \"./List\"\nexport * from \"./Root\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const Tabs = {\n\tRoot: TabsRoot,\n\tList: TabsList,\n\tTrigger: TabsTrigger,\n\tContent: RadixTabs.Content,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const textCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { textCva } from \"./cva\"\nimport type { TextVariantProps } from \"./typings\"\n\nexport interface TextProps extends PropsWithoutRef<ComponentProps<\"span\">>, TextVariantProps {}\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>((props, ref) => {\n\tconst { className, size, weight, align, accentColor, highContrast = false, ...rest } = props\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, textCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nText.displayName = \"Text\"\n","import { cva } from \"class-variance-authority\"\n\nexport const textAreaCva = cva(\n\t[\n\t\t\"focus:outline-(--accent-a8)\",\n\t\t\"focus:outline-2\",\n\t\t\"focus:-outline-offset-1\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t\"placeholder-(--base-a9)\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"text-(--accent-12)\",\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t],\n\t\t\t\tghost: [\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"p-1\", \"text-xs\"],\n\t\t\t\tsm: [\"p-1.5\", \"text-sm\"],\n\t\t\t\tmd: [\"p-2\", \"text-base\"],\n\t\t\t\tlg: [\"p-2.5\", \"text-lg\"],\n\t\t\t\txl: [\"p-3\", \"text-xl\"],\n\t\t\t},\n\t\t\tresize: {\n\t\t\t\tnone: [\"resize-none\"],\n\t\t\t\tvertical: [\"resize-y\"],\n\t\t\t\thorizontal: [\"resize-x\"],\n\t\t\t\tboth: [\"resize\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"outline\",\n\t\t\tsize: \"md\",\n\t\t\tresize: \"none\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { textAreaCva } from \"./cva\"\nimport type { TextAreaVariantProps } from \"./typings\"\n\nexport interface TextAreaProps extends PropsWithoutRef<ComponentProps<\"textarea\">>, TextAreaVariantProps {}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cx(className, textAreaCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nTextArea.displayName = \"TextArea\"\n","import { cva } from \"class-variance-authority\"\n\nexport const toastCva = cva(\n\t[\n\t\t\"shadow-md\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--accent-1)\", \"text-(--accent-11)\", \"ring-1\", \"ring-inset\", \"ring-(--accent-a6)\"],\n\t\t\t\tsoft: [\"bg-(--accent-1)\", \"text-(--accent-11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixToast from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, forwardRef, memo, useCallback, useState } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toastCva } from \"./cva\"\nimport type { ToastProps } from \"./typings\"\n\nconst _Toast = forwardRef<HTMLLIElement, ToastProps>(function Toast(props, ref) {\n\tconst { radius, ...restProviderContext } = useProvider()\n\tconst {\n\t\ttitle,\n\t\tdescription,\n\t\ticon,\n\t\tsize = \"md\",\n\t\taccentColor = restProviderContext.accentColor,\n\t\tvariant,\n\t\tonClose,\n\t\tsensitivity,\n\t\taction,\n\t\t...rest\n\t} = props\n\n\tconst [open, setOpen] = useState(true)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t\tsetOpen(open)\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root\n\t\t\tclassName={cx(\n\t\t\t\t\"flex w-max items-center gap-4\",\n\t\t\t\ttoastCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\topen={open}\n\t\t\ttype={sensitivity}\n\t\t\tonOpenChange={handleOpenChange}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tdata-floating-content=\"\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<div className=\"flex grow items-center gap-3\">\n\t\t\t\t{icon}\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t<RadixToast.Title className=\"font-medium\">{title}</RadixToast.Title>\n\t\t\t\t\t\t<RadixToast.Description>{description}</RadixToast.Description>\n\t\t\t\t\t</div>\n\t\t\t\t\t{action && (\n\t\t\t\t\t\t<RadixToast.Action className=\"w-max\" altText={action.altText} asChild>\n\t\t\t\t\t\t\t{action.content}\n\t\t\t\t\t\t</RadixToast.Action>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<RadixToast.Close asChild>\n\t\t\t\t<IconButton size={size} aria-label=\"Close\" variant=\"ghost\" accentColor={accentColor}>\n\t\t\t\t\t<HiX />\n\t\t\t\t</IconButton>\n\t\t\t</RadixToast.Close>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\n","import { createContext, useContext } from \"react\"\n\nimport { IToastContext } from \"./typings\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const useToast = (): IToastContext => {\n\tconst context = useContext(ToastContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useToast must be used within a ToastProvider\")\n\t}\n\n\treturn context\n}\n","import { ToastProvider as RadixToastProvider, ToastViewport } from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, memo, useCallback, useEffect, useMemo, useState } from \"react\"\n\nimport { Toast } from \"./Toast\"\nimport { ToastContext } from \"./ToastContext\"\nimport type { IToastContext, SimpleToastProps, ToastContextProviderProps, ToastProps } from \"./typings\"\n\ninterface ToastArgs extends ToastProps {\n\tid: string\n\ttimeout: NodeJS.Timeout\n}\n\n// average reading speed is 240 words per minute\nconst WORDS_PER_SECOND = 240 / 60\n// 5 seconds is the minimum duration for a toast\nconst MIN_DURATION = 5000\n\nenum CloseReason {\n\tManual,\n\tTimeout,\n}\n\nconst calculatedDuration = (toast: ToastProps) => {\n\t// if the user has passed a duration valid, use that instead\n\tif (toast.duration && toast.duration >= MIN_DURATION) return toast.duration\n\n\t// count the number of words in the title and description\n\tconst words = toast.description.split(\" \").length + toast.title.split(\" \").length\n\t// calculate the duration based on the number of words and the severity\n\treturn MIN_DURATION + words / WORDS_PER_SECOND\n}\n\n/** this is a hack to allow toasts to be shown outside of components where hooks cannot be used */\n// eslint-disable-next-line react-refresh/only-export-components\nexport let unsafeShowToast: ((toastProps: ToastProps) => void) | undefined = undefined\n\n/** Toasts will be displayed in the top-right handle corner of the screen */\nexport const ToastProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tclassName,\n\thotkey,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastArgs[]>([])\n\n\tconst handleCloseToast = useCallback((id: string, reason: CloseReason, callback?: () => void) => {\n\t\tsetToasts((prevToasts) => {\n\t\t\tconst toast = prevToasts.find((toast) => toast.id === id)\n\t\t\t// clear the timeout if the toast is being closed manually\n\t\t\tif (toast && reason === CloseReason.Manual) clearTimeout(toast.timeout)\n\n\t\t\treturn prevToasts.filter((toast) => toast.id !== id)\n\t\t})\n\n\t\tif (callback) callback()\n\t}, [])\n\n\tconst toastContextValue = useMemo<IToastContext>(() => {\n\t\tlet counter = 0\n\n\t\tconst showToast = (toastProps: ToastProps) => {\n\t\t\tconst duration = calculatedDuration(toastProps)\n\t\t\tconst id = counter.toString()\n\t\t\tcounter += 1 // increment the counter so that ids are unique\n\n\t\t\t// manually close the toast after the duration has passed\n\t\t\t// this is necessary because the duration prop is reset on re-render\n\t\t\tconst pending = setTimeout(() => handleCloseToast(id, CloseReason.Timeout, toastProps.onClose), duration)\n\n\t\t\tsetToasts((prevToasts) => [...prevToasts, { ...toastProps, timeout: pending, duration, id }])\n\t\t}\n\t\tconst showPrimary = (toastProps: SimpleToastProps) => showToast(toastProps)\n\t\tconst showSuccess = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"success\" })\n\t\tconst showError = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"danger\" })\n\t\tconst showInfo = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"base\" })\n\t\tconst showWarning = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"warning\" })\n\n\t\tunsafeShowToast = showToast\n\n\t\treturn {\n\t\t\tshowToast,\n\t\t\tshowPrimary,\n\t\t\tshowSuccess,\n\t\t\tshowError,\n\t\t\tshowInfo,\n\t\t\tshowWarning,\n\t\t}\n\t}, [handleCloseToast])\n\n\t// clear all timeouts when the component unmounts\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tfor (const { timeout } of toasts) clearTimeout(timeout)\n\t\t}\n\t\t// only run this effect when the component unmounts\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [])\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<RadixToastProvider {...rest}>\n\t\t\t\t{children}\n\n\t\t\t\t<ToastViewport\n\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\"fixed top-0 right-0 z-[2147483647] flex max-w-[100vw] list-none flex-col items-end gap-3 overflow-x-hidden overflow-y-auto p-5 outline-none\",\n\t\t\t\t\t)}\n\t\t\t\t\thotkey={hotkey}\n\t\t\t\t/>\n\n\t\t\t\t{toasts.map(({ id, onClose, ...toastProps }) => (\n\t\t\t\t\t<Toast key={id} {...toastProps} onClose={() => handleCloseToast(id, CloseReason.Manual, onClose)} />\n\t\t\t\t))}\n\t\t\t</RadixToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { cva } from \"class-variance-authority\"\n\nexport const toggleButtonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"shrink-0\",\n\t\t\"justify-center\",\n\n\t\t// Selection\n\t\t\"select-none\",\n\n\t\t// Focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// Disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t// ring\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=off]:hover:inset-ring-transparent\",\n\t\t\t\t\t\"data-[state=on]:inset-ring-transparent\",\n\n\t\t\t\t\t// text\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\n\t\t\t\t\t// bg\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"outline\",\n\t\t},\n\t},\n)\n","import * as Toggle from \"@radix-ui/react-toggle\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toggleButtonCva } from \"./cva\"\nimport type { BaseToggleButtonProps } from \"./typings\"\n\nexport const BaseToggleButton = forwardRef<HTMLButtonElement, BaseToggleButtonProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\ticon,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<Toggle.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, toggleButtonCva({ size, variant, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nBaseToggleButton.displayName = \"BaseToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const IconToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon {...props} />\n})\nIconToggleButton.displayName = \"IconToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon={false} {...props} />\n})\nToggleButton.displayName = \"ToggleButton\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TooltipArrowProps extends RadixTooltip.TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef<SVGSVGElement, TooltipArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTooltip.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nTooltipArrow.displayName = \"TooltipArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const tooltipContent = cva(\n\t[\n\t\t\"data-[state=delayed-open]:animate-in\",\n\t\t\"data-[state=delayed-open]:fade-in-0\",\n\t\t\"data-[state=delayed-open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-inset\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"text-(--base-12)\",\n\t\t\"shadow-sm\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"px-2\"],\n\t\t\t\tsm: [\"text-sm\", \"px-3\"],\n\t\t\t\tmd: [\"text-base\", \"px-4\"],\n\t\t\t\tlg: [\"text-lg\", \"px-5\"],\n\t\t\t\txl: [\"text-xl\", \"px-6\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-1\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-1\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-1\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-1\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tside: \"top\",\n\t\t},\n\t},\n)\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { tooltipContent } from \"./cva\"\nimport type { TooltipVariantProps } from \"./typings\"\n\nexport interface TooltipContentProps extends RadixTooltip.TooltipContentProps, TooltipVariantProps {\n\tcontainer?: RadixTooltip.TooltipPortalProps[\"container\"]\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tside = \"top\",\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\tsideOffset = 2,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixTooltip.Portal container={container}>\n\t\t\t<RadixTooltip.Content\n\t\t\t\tclassName={cx(className, tooltipContent({ size, side }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</RadixTooltip.Content>\n\t\t</RadixTooltip.Portal>\n\t)\n})\nTooltipContent.displayName = \"TooltipContent\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\n\nimport { TooltipArrow } from \"./Arrow\"\nimport { TooltipContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Tooltip = {\n\tArrow: TooltipArrow,\n\tContent: TooltipContent,\n\tRoot: RadixTooltip.Root,\n\tTrigger: RadixTooltip.Trigger,\n\tProvider: RadixTooltip.Provider,\n}\n"],"names":["cva","createContext","useContext","useMemo","forwardRef","jsxs","RadixAlertDialog","jsx","cx","memo","useState","useCallback","open","RadixAvatar","RadixCheckbox","React","useLayoutEffect","useMediaQuery","useEffect","cleanups","RadixPrimitiveCollapsible","SelectContext","SelectedIndicatorContext","use","CommandItem","DialogPortal","DialogContent","CommandRoot","DialogTitle","DialogDescription","CommandEmpty","CommandGroup","CommandInput","useCommandState","CommandList","useId","value","DialogOverlay","Dialog","CommandSeparator","DialogTrigger","RiArrowUpSLine","RiArrowDownSLine","RiArrowLeftSLine","RiArrowRightSLine","ReactDayPicker","RadixDialog","HiX","RadixHoverCard","Root","inputRoot","useRef","SlideOut","CSSTransition","Fragment","Slot","useFloatingNodeId","useFloating","autoUpdate","offsetMiddleware","sizeMiddleware","flip","shift","hide","useRole","useDismiss","useClick","useListNavigation","useInteractions","FloatingTree","_a","FloatingNode","FloatingPortal","FloatingOverlay","FloatingFocusManager","FloatingList","offset","useHover","safePolygon","useListItem","mergeRefs","useMergeRefs","RadixSeparator","RiIcons","RiQuestionMark","useErrorBoundary","ErrorBoundary","RadixPopover","RadixRadioGroup","RadixToggleGroup","RadixSwitch","RadixTabs","Toast","RadixToast","unsafeShowToast","toast","RadixToastProvider","ToastViewport","Toggle","RadixTooltip"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,QAAM,WAAWA,uBAAA;AAAA,IACvB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,QAAQ;AAAA,UACP,KAAK,CAAC,WAAW;AAAA,UACjB,KAAK,CAAC,WAAW;AAAA,UACjB,KAAK,CAAC,WAAW;AAAA,UACjB,KAAK,CAAC,WAAW;AAAA,UACjB,KAAK,CAAC,WAAW;AAAA,QAClB;AAAA,QACA,MAAM;AAAA,UACL,KAAK,CAAC,wCAAwC;AAAA,UAC9C,OAAO,CAAC,wCAAwC;AAAA,UAChD,QAAQ,CAAC,wCAAwC;AAAA,UACjD,MAAM,CAAC,wCAAwC;AAAA,QAAA;AAAA,MAChD;AAAA,IACD;AAAA,EAEF;AC1Ba,QAAA,YAAYA,uBAAI,IAAA,IAAI;AAAA,IAChC,UAAU;AAAA,MACT,UAAU;AAAA,QACT,MAAM,CAAC;AAAA,QACP,OAAO,CAAA;AAAA,MACR;AAAA,MACA,QAAQ;AAAA,QACP,MAAM,CAAC,cAAc;AAAA,QACrB,IAAI,CAAC,YAAY;AAAA,QACjB,IAAI,CAAC,YAAY;AAAA,QACjB,IAAI,CAAC,YAAY;AAAA,QACjB,IAAI,CAAC,YAAY;AAAA,QACjB,IAAI,CAAC;AAAA,QACL,MAAM,CAAA;AAAA,MAAC;AAAA,IAET;AAAA,IACA,kBAAkB;AAAA,MACjB;AAAA,QACC,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW,CAAC,YAAY;AAAA,MACzB;AAAA,MACA;AAAA,QACC,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW,CAAC,YAAY;AAAA,MACzB;AAAA,MACA;AAAA,QACC,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW,CAAC,YAAY;AAAA,MACzB;AAAA,MACA;AAAA,QACC,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW,CAAC,cAAc;AAAA,MAAA;AAAA,IAC3B;AAAA,EAEF,CAAC;AC/BY,QAAA,kBAAkBC,MAAc,cAAA,EAAsB;ACLtD,QAAA,cAAc,MAAM;AAC1B,UAAA,UAAUC,iBAAW,eAAe;AAE1C,QAAI,CAAC,SAAS;AACP,YAAA,IAAI,MAAM,4CAA4C;AAAA,IAAA;AAGtD,WAAA;AAAA,EACR;ACFa,QAAA,WAAW,CAAC,UAAyB;AACjD,UAAM,EAAE,aAAa,SAAS,MAAM,SAAa,IAAA;AAEjD,UAAM,eAAeC,MAAA;AAAA,MACpB,OAAO;AAAA,QACN;AAAA,QACA;AAAA,MAAA;AAAA,MAED,CAAC,aAAa,MAAM;AAAA,IACrB;AAEA,0CAAQ,gBAAgB,UAAhB,EAAyB,OAAO,cAAe,UAAS;AAAA,EACjE;ACpBO,QAAM,gBAAgBH,uBAAAA,IAAI;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAEM,QAAM,gBAAgBA,uBAAA;AAAA,IAC5B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,WAAW,OAAO,UAAU;AAAA,UACjC,IAAI,CAAC,WAAW,OAAO,UAAU;AAAA,UACjC,IAAI,CAAC,WAAW,OAAO,UAAU;AAAA,UACjC,IAAI,CAAC,WAAW,OAAO,UAAU;AAAA,UACjC,IAAI,CAAC,WAAW,OAAO,UAAU;AAAA,QAAA;AAAA,MAEnC;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AC3Ca,QAAA,qBAAqBI,MAAA,WAAoD,CAAC,OAAO,QAAQ;AAC/F,UAAA,EAAE,OAAO,IAAI,YAAY;AAC/B,UAAM,EAAE,WAAW,MAAM,WAAW,GAAG,KAAS,IAAA;AAEhD,WACEC,2BAAA,KAAAC,4BAAiB,QAAjB,EAAwB,WACxB,UAAA;AAAA,MAACC,+BAAAD,4BAAiB,SAAjB,EAAyB,WAAW,cAAc,EAAE,GAAG,yBAAsB,IAAG;AAAA,MACjFC,2BAAA;AAAA,QAACD,4BAAiB;AAAA,QAAjB;AAAA,UACA,WAAWE,uBAAA,GAAG,WAAW,cAAc,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA,CAAC;AAAA,UACvF;AAAA,UACA,yBAAsB;AAAA,UACrB,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,IACL,GACD;AAAA,EAEF,CAAC;AACD,qBAAmB,cAAc;ACvBpB,QAAA,qBAAqBP,oBAAsC,MAAM;AACvE,UAAA,IAAI,MAAM,8BAA8B;AAAA,EAC/C,CAAC;ACJY,QAAA,iBAAiB,MAAM;AAC7B,UAAA,qBAAqBC,iBAAW,kBAAkB;AACxD,QAAI,CAAC,oBAAoB;AAClB,YAAA,IAAI,MAAM,8BAA8B;AAAA,IAAA;AAExC,WAAA;AAAA,EACR;ACEa,QAAA,qBAAqBD,MAAmC,cAAA,EAAyB;ACAjF,QAAA,cAAc,CAAC,UAA4B;AACvD,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,SAAS,gBAAgB;AAAA,MACzB,cAAc,gBAAgB;AAAA,MAC9B,GAAG;AAAA,IAAA,IACA;AAEJ,UAAM,QAAQE,MAAA;AAAA,MACb,OAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAED,CAAC,aAAa,QAAQ,MAAM,OAAO;AAAA,IACpC;AAGC,WAAAI,2BAAA,IAAC,OAAK,EAAA,GAAG,MACR,UAAAA,2BAAAA,IAAC,mBAAmB,UAAnB,EAA4B,OAAe,SAAA,CAAS,EACtD,CAAA;AAAA,EAEF;AACA,cAAY,cAAc;ACnCb,QAAA,iBAAiB,MAAML,MAAAA,WAAW,kBAAkB;ACFpD,QAAA,YAAYF,uBAAA;AAAA,IACxB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,OAAO;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAGA;AAAA,UACD;AAAA,UACA,MAAM;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAGA;AAAA,UACD;AAAA,UACA,OAAO;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAGA;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAM;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAEF;AAAA,QACA,MAAM;AAAA,UACL,MAAM,CAAC;AAAA,UACP,OAAO,CAAA;AAAA,QACR;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,WAAW,UAAU;AAAA,UACjC,IAAI,CAAC,OAAO,WAAW,SAAS;AAAA,UAChC,IAAI,CAAC,OAAO,aAAa,OAAO;AAAA,UAChC,IAAI,CAAC,OAAO,WAAW,SAAS;AAAA,UAChC,IAAI,CAAC,OAAO,WAAW,OAAO;AAAA,QAAA;AAAA,MAEhC;AAAA,MACA,kBAAkB;AAAA,QACjB;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,MAET;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,EAEF;ACxJa,QAAA,SAASS,MAAA;AAAA,IACrBL,iBAA2C,CAAC,OAAO,QAAQ;AAC1D,YAAM,kBAAkB,YAAY;AACpC,YAAM,iBAAiB,eAAe;AAChC,YAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA,UAAU,eAAe;AAAA,QACzB,OAAO,eAAe;AAAA,QACtB,SAAS,eAAe,UAAU,gBAAgB;AAAA,QAClD,cAAc,eAAe,eAAe,gBAAgB;AAAA,QAC5D,GAAG;AAAA,MAAA,IACA;AAEH,aAAAG,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAWC,uBAAA;AAAA,YACV;AAAA,YACA,UAAU,EAAE,MAAM,MAAM,OAAO,SAAS;AAAA,YACxC,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA;AAAA,UACtC;AAAA,UACA;AAAA,UACA,qBAAmB;AAAA,UAClB,GAAG;AAAA,UAEH;AAAA,QAAA;AAAA,MACF;AAAA,IAED,CAAA;AAAA,EACF;ACxBa,QAAA,aAAaC,MAAA;AAAA,IACzBL,iBAA+C,CAAC,OAAO,QAAQ;AAC9D,YAAM,kBAAkB,YAAY;AACpC,YAAM,iBAAiB,eAAe;AAChC,YAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA,UAAU,eAAe;AAAA,QACzB,OAAO,eAAe;AAAA,QACtB,SAAS,eAAe,UAAU,gBAAgB;AAAA,QAClD,cAAc,eAAe,eAAe,gBAAgB;AAAA,QAC5D,GAAG;AAAA,MAAA,IACA;AAEH,aAAAG,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAWC,uBAAA;AAAA,YACV;AAAA,YACA,UAAU,EAAE,MAAM,MAAM,MAAM,SAAS;AAAA,YACvC,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA;AAAA,UACtC;AAAA,UACA;AAAA,UACA,qBAAmB;AAAA,UAClB,GAAG;AAAA,UAEH;AAAA,QAAA;AAAA,MACF;AAAA,IAED,CAAA;AAAA,EACF;ACnCa,QAAA,sBAAsB,CAAC,UAA6B;AAC1D,UAAA,EAAE,aAAa;AAErB,UAAM,CAAC,MAAM,OAAO,IAAIE,MAAAA,SAAS,KAAK;AACtC,UAAM,CAAC,SAAS,UAAU,IAAIA,MAAAA,SAAoC,IAAI;AAEtE,UAAM,mBAAmBC,MAAA;AAAA,MACxB,CAACC,UAAkB;;AAClB,gBAAQA,KAAI;AAEZ,YAAIA,MAAM;AAEV,iDAAS,YAAT;AAAA,MACD;AAAA,MACA,CAAC,OAAO;AAAA,IACT;AAEA,UAAM,kBAAkBD,MAAA;AAAA,MACvB,CAAC,WAA+B;AAC/B,YAAI,KAAM,OAAM,IAAI,MAAM,6BAA6B;AACvD,gBAAQ,IAAI;AACD,mBAAA;AAAA,UACV,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,GAAG;AAAA,QAAA,CACH;AAAA,MACF;AAAA,MACA,CAAC,IAAI;AAAA,IACN;AAEA,WACEN,2BAAAA,KAAA,mBAAmB,UAAnB,EAA4B,OAAO,iBAClC,UAAA;AAAA,MAAA;AAAA,MACAE,+BAAAD,4BAAiB,MAAjB,EAAsB,MAAY,cAAc,kBAChD,UAACC,2BAAAA,IAAA,oBAAA,EAAmB,MAAM,mCAAS,MAClC,UAACF,2BAAAA,KAAA,OAAA,EAAI,WAAU,uBACd,UAAA;AAAA,QAACA,2BAAAA,KAAA,OAAA,EAAI,WAAU,uBACd,UAAA;AAAA,UAAAE,+BAACD,4BAAiB,OAAjB,EAAuB,WAAU,eAAe,6CAAS,OAAM;AAAA,UAC/DC,2BAAA,IAAAD,4BAAiB,aAAjB,EAA8B,6CAAS,YAAY,CAAA;AAAA,QAAA,GACrD;AAAA,QACAD,2BAAAA,KAAC,OAAI,EAAA,WAAU,0BACd,UAAA;AAAA,UAAAE,+BAACD,4BAAiB,QAAjB,EAAwB,SAAS,mCAAS,UAC1C,UAACC,+BAAA,QAAA,EAAO,SAAQ,QAAO,MAAM,mCAAS,MAAM,aAAY,QACtD,UAAA,mCAAS,OACX,CAAA,GACD;AAAA,yCACCD,4BAAiB,QAAjB,EAAwB,SAAS,mCAAS,UAC1C,UAAAC,+BAAC,QAAO,EAAA,SAAQ,SAAQ,MAAM,mCAAS,MACrC,UAAA,mCAAS,QACX,EACD,CAAA;AAAA,QAAA,EACD,CAAA;AAAA,MAAA,EACD,CAAA,EACD,CAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAEF;ACzDO,QAAM,cAAc;AAAA,IAC1B,SAAS;AAAA,IACT,SAASD,4BAAiB;AAAA,IAC1B,MAAMA,4BAAiB;AAAA,IACvB,OAAOA,4BAAiB;AAAA,IACxB,aAAaA,4BAAiB;AAAA,IAC9B,QAAQA,4BAAiB;AAAA,IACzB,QAAQA,4BAAiB;AAAA,EAC1B;ACTa,QAAA,gBAAgBL,MAAc,cAAA,EAAoB;ACNxD,QAAM,SAASD,uBAAAA,IAAI,CAAC,YAAY,eAAe,cAAc,GAAG;AAAA,IACtE,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,QAC5B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,QAC5B,IAAI,CAAC,OAAO,OAAO,WAAW;AAAA,QAC9B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,QAC5B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,MAAA;AAAA,IAE9B;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;AAEY,QAAA,iBAAiBA,uBAAAA,IAAI,CAAC,QAAQ,gBAAgB,kBAAkB,UAAU,UAAU,mBAAmB,GAAG;AAAA,IACtH,UAAU;AAAA,MACT,SAAS;AAAA,QACR,OAAO,CAAC,mBAAmB,0BAA0B;AAAA,QACrD,MAAM,CAAC,oBAAoB,qBAAqB;AAAA,QAChD,SAAS,CAAC,kBAAkB,cAAc,4BAA4B,qBAAqB;AAAA,QAC3F,SAAS,CAAC,yBAAyB,cAAc,4BAA4B,qBAAqB;AAAA,MAAA;AAAA,IAEpG;AAAA,IACA,iBAAiB;AAAA,MAChB,SAAS;AAAA,IAAA;AAAA,EAEX,CAAC;ACpBY,QAAA,iBAAiBI,MAAA,WAAiD,CAAC,OAAO,QAAQ;AAC9F,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAE/B,UAAM,EAAE,QAAA,IAAYF,MAAA,WAAW,aAAa;AAE5C,WAAQK,2BAAA,IAAAM,uBAAY,gBAAZ,EAA2B,WAAWL,uBAAAA,GAAG,WAAW,eAAe,EAAE,SAAS,CAAC,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EAC/G,CAAC;AACD,iBAAe,cAAc;ACVhB,QAAA,cAAcJ,MAAA,WAA+C,CAAC,OAAO,QAAQ;AACzF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAG9B,WAAAG,2BAAA;AAAA,MAACM,uBAAY;AAAA,MAAZ;AAAA,QACA,WAAWL,uBAAG,GAAA,WAAW,gBAAgB,qBAAqB,UAAU,QAAQ;AAAA,QAChF;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,cAAY,cAAc;ACLb,QAAA,aAAaJ,MAAA,WAA6C,CAAC,OAAO,QAAQ;AACtF,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,cAAc,gBAAgB;AAAA,MAC9B,SAAS,gBAAgB;AAAA,MACzB;AAAA,MACA,GAAG;AAAA,IAAA,IACA;AAEH,WAAAG,2BAAA;AAAA,MAACM,uBAAY;AAAA,MAAZ;AAAA,QACA,WAAWL,uBAAA,GAAG,WAAW,OAAO,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA,CAAC;AAAA,QACjF;AAAA,QACA,qBAAmB;AAAA,QAClB,GAAG;AAAA,QAEJ,UAAAD,2BAAAA,IAAC,cAAc,UAAd,EAAuB,OAAO,EAAE,WAAY,SAAS,CAAA;AAAA,MAAA;AAAA,IACvD;AAAA,EAEF,CAAC;AACD,aAAW,cAAc;ACzBlB,QAAM,SAAS;AAAA,IACrB,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,EACP;ACXa,QAAA,QAAQP,uBAAAA,IAAI,CAAC,eAAe,gBAAgB,UAAU,GAAG;AAAA,IACrE,UAAU;AAAA,MACT,MAAM;AAAA,QACL,MAAM,CAAC,gBAAgB;AAAA,QACvB,OAAO,CAAA;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACL,IAAI,CAAC,OAAO,WAAW,UAAU;AAAA,QACjC,IAAI,CAAC,OAAO,WAAW,SAAS;AAAA,QAChC,IAAI,CAAC,OAAO,aAAa,OAAO;AAAA,QAChC,IAAI,CAAC,OAAO,WAAW,SAAS;AAAA,QAChC,IAAI,CAAC,OAAO,WAAW,OAAO;AAAA,MAC/B;AAAA,MACA,SAAS;AAAA,QACR,OAAO,CAAC,mBAAmB,0BAA0B;AAAA,QACrD,MAAM,CAAC,oBAAoB,qBAAqB;AAAA,QAChD,SAAS,CAAC,kBAAkB,cAAc,4BAA4B,qBAAqB;AAAA,QAC3F,SAAS,CAAC,yBAAyB,cAAc,4BAA4B,qBAAqB;AAAA,MAAA;AAAA,IAEpG;AAAA,IACA,kBAAkB;AAAA,MACjB;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,MAAA;AAAA,IAEb;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;ACrEY,QAAA,QAAQI,MAAA,WAAwC,CAAC,OAAO,QAAQ;AAC5E,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA,cAAc,gBAAgB;AAAA,MAC9B,SAAS,gBAAgB;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW,MAAM,EAAE,SAAS,MAAM,KAAA,CAAM,GAAG,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA,CAAC;AAAA,QAC/F;AAAA,QACA,qBAAmB;AAAA,QAClB,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IACF;AAAA,EAEF,CAAC;AACD,QAAM,cAAc;AChCP,QAAA,UAAUR,uBAAI,IAAA,IAAI;AAAA,IAC9B,UAAU;AAAA,MACT,SAAS;AAAA,QACR,MAAM,CAAC,iBAAiB;AAAA,QACxB,SAAS,CAAC,mBAAmB,cAAc,0BAA0B;AAAA,QACrE,SAAS,CAAC,gBAAgB,0BAA0B;AAAA,MACrD;AAAA,MACA,MAAM;AAAA,QACL,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,WAAW;AAAA,QACvB,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EAEX,CAAC;ACXY,QAAA,OAAOI,MAAA,WAAsC,CAAC,OAAO,QAAQ;AACzE,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA,OAAO;AAAA,MACP,UAAU;AAAA,MACV,cAAc;AAAA,MACd,SAAS,gBAAgB;AAAA,MACzB,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW,QAAQ,EAAE,MAAM,SAAS,GAAG,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA,CAAC;AAAA,QAC1F,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,OAAK,cAAc;ACxBN,QAAA,oBAAoBJ,MAAA,WAAoD,CAAC,OAAO,QAAQ;AACpG,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAG9B,WAAAG,2BAAA;AAAA,MAACO,yBAAc;AAAA,MAAd;AAAA,QACA,WAAWN,uBAAAA,GAAG,WAAW,kCAAkC;AAAA,QAC3D;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,oBAAkB,cAAc;ACfzB,QAAM,WAAWR,uBAAA;AAAA,IACvB;AAAA,MACC;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAM,CAAC,oBAAoB,qBAAqB;AAAA,UAChD,SAAS,CAAC,kBAAkB,cAAc,4BAA4B,qBAAqB;AAAA,QAC5F;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,UAC5B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,UAC5B,IAAI,CAAC,OAAO,OAAO,WAAW;AAAA,UAC9B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,UAC5B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,QAAA;AAAA,MAE9B;AAAA,MACA,iBAAiB;AAAA,QAChB,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;ACpCa,QAAA,eAAeI,MAAA,WAAiD,CAAC,OAAO,QAAQ;AAC5F,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,gBAAgB;AAAA,MACzB,cAAc,gBAAgB;AAAA,MAC9B,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA;AAAA,MAACO,yBAAc;AAAA,MAAd;AAAA,QACA,WAAWN,uBAAAA,GAAG,WAAW,SAAS,EAAE,SAAS,MAAM,GAAG,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA,CAAC;AAAA,QAC3F;AAAA,QACA,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,eAAa,cAAc;ACxBpB,QAAM,WAAW;AAAA,IACvB,MAAM;AAAA,IACN,WAAW;AAAA,EACZ;ACTA,QAAM,yBAAyB,MAAM,OAAO,aAAa,eAAe,SAAS,kBAAkB,SAAS,oBAAoB,WAAW;ACC3I,QAAM,YAAY,aAAW;AAC3B,UAAM,cAAcO,iBAAM,OAAO,OAAO;AACxCA,qBAAM,UAAU,MAAM;AACpB,kBAAY,UAAU;AAAA,IAC1B,CAAG;AACD,WAAO;AAAA,EACT;ACMA,WAAS,OAAO;AAAA,EAAA;AAChB,WAAS,kBAAkB,QAAQ,UAAU,UAAU,CAAA,GAAI;AACzD,UAAM,iBAAiB,kBAAkB,QAAQ,QAAQ;AACzD,UAAM,iBAAiB,UAAU,QAAQ;AACzCC,2BAAgB,MAAM;AACpB,UAAI,iBAAiB;AACrB,YAAM,WAAW,UAAU,aAAa,SAAS,OAAO,UAAU;AAClE,UAAI,CAAC,SAAU,QAAO;AACtB,eAAS,GAAG,OAAO,UAAU;AAC3B,YAAI,eAAgB;AACpB,uBAAe,QAAQ,OAAO,QAAQ;AAAA,MAC5C;AACI,qBAAe,UAAU,UAAU,EAAE;AACrC,aAAO,MAAM;AACX,yBAAiB;AACjB,uBAAe,YAAY,UAAU,EAAE;AAAA,MACxC;AAAA,IACF,GAAE,CAAC,QAAQ,gBAAgB,cAAc,CAAC;AAC3C,WAAO,eAAe;AAAA,EACxB;AACA,WAAS,qBAAqB,UAAU;AACtC,QAAI,UAAU;AACd,QAAI,aAAa,CAAE;AACnB,UAAM,YAAY,oBAAI,IAAK;AAC3B,UAAM,WAAW,KAAK,YAAY,OAAO,gBAAgB,CAAC,SAAS,QAAQ;AACzE,mBAAa,WAAW,OAAO,OAAO;AACtC,eAAS,QAAQ;AACf,cAAM,YAAY,oBAAI,IAAK;AAC3B,iBAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,cAAI,UAAU,IAAI,WAAW,CAAC,EAAE,MAAM,EAAG;AACzC,oBAAU,IAAI,WAAW,CAAC,EAAE,MAAM;AAClC,gBAAM,MAAM,UAAU,IAAI,WAAW,CAAC,EAAE,MAAM;AAC9C,kBAAQ,QAAQ,QAAQ,SAAS,SAAS,IAAI,QAAQ,QAAM,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;AAAA,QAC1F;AACM,qBAAa,CAAE;AACf,kBAAU;AAAA,MAChB;AACI,UAAI,CAAC,SAAS;AACZ,eAAO,sBAAsB,KAAK;AAAA,MACxC;AACI,gBAAU;AAAA,IACd,CAAG;AACD,WAAO;AAAA,MACL;AAAA,MACA,UAAU,QAAQ,UAAU;AAC1B,YAAI;AACJ,iBAAS,QAAQ,MAAM;AACvB,cAAM,OAAO,iBAAiB,UAAU,IAAI,MAAM,OAAO,QAAQ,mBAAmB,SAAS,iBAAiB,CAAE;AAChH,YAAI,KAAK,QAAQ;AACjB,kBAAU,IAAI,QAAQ,GAAG;AAAA,MAC1B;AAAA,MACD,YAAY,QAAQ,UAAU;AAC5B,YAAI;AACJ,cAAM,OAAO,kBAAkB,UAAU,IAAI,MAAM,OAAO,QAAQ,oBAAoB,SAAS,kBAAkB,CAAE;AACnH,YAAI,IAAI,WAAW,GAAG;AACpB,mBAAS,UAAU,MAAM;AACzB,oBAAU,OAAO,MAAM;AACvB;AAAA,QACR;AACM,cAAM,UAAU,IAAI,QAAQ,QAAQ;AACpC,YAAI,YAAY,GAAI,KAAI,OAAO,SAAS,CAAC;AACzC,kBAAU,IAAI,QAAQ,GAAG;AAAA,MAC/B;AAAA,IACG;AAAA,EACH;AACA,MAAI;AACJ,QAAM,oBAAoB,cAAY,CAAC,kBAAkB,kBAAkB,qBAAqB,QAAQ,IAAI;ACvC/F,QAAA,kBAAkB,CAAC,UAA8C;AACvE,UAAA,EAAE,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,QAAY,IAAA;AAC5E,UAAM,CAAC,UAAU,WAAW,IAAIN,MAAAA,SAA+B,SAAS;AACxE,UAAM,CAAC,MAAM,OAAO,IAAIA,MAAAA,SAA+B,SAAS;AAEhE,UAAM,KAAKO,gBAAA,cAAc,EAAE,UAAU,SAAS;AAC9C,UAAM,KAAKA,gBAAA,cAAc,EAAE,UAAU,SAAS;AAC9C,UAAM,KAAKA,gBAAA,cAAc,EAAE,UAAU,SAAS;AAC9C,UAAM,KAAKA,gBAAA,cAAc,EAAE,UAAU,SAAS;AAC9C,UAAM,KAAKA,gBAAA,cAAc,EAAE,UAAU,SAAS;AAE9CD,UAAAA,gBAAgB,MAAM;AACrB,cAAQ,CAAC,SAAS;AACjB,oBAAY,IAAI;AACT,eAAA,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO;AAAA,MAAA,CACnE;AAAA,IAAA,GACC,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AAEvB,WAAO,EAAE,MAAM,UAAU,IAAI,IAAI,IAAI,IAAI,GAAG;AAAA,EAC7C;AAIa,QAAA,0BAA0B,MAAM;AACrC,WAAAL,MAAAA,YAAY,CAAC,UAAiB;AACpC,YAAM,gBAAgB;AAAA,IACvB,GAAG,EAAE;AAAA,EACN;AAKgB,WAAA,cACf,QACA,gBACkD;AAClD,UAAM,CAAC,iBAAiB,kBAAkB,IAAID,MAAAA,SAAc,CAAA,CAAE;AAC9D,UAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAiB,EAAE;AAEzDQ,UAAAA,UAAU,MAAM;AACI,yBAAA,OAAO,OAAO,CAAC,UAAU,eAAe,OAAO,WAAW,CAAC,CAAC;AAAA,IAC7E,GAAA,CAAC,gBAAgB,aAAa,MAAM,CAAC;AAEjC,WAAA,CAAC,iBAAiB,aAAa,cAAc;AAAA,EACrD;AAEa,QAAA,UAAU,CAAC,WAAmE;AAC1F,UAAM,CAAC,MAAM,OAAO,IAAIR,eAA0B;AAElDM,UAAAA,gBAAgB,MAAM;;AACb,eAAA,YAAO,YAAP,mBAAgB,uBAAuB;AAAA,IAAA,GAC7C,CAAC,MAAM,CAAC;AAEL,UAAA,eAAeL,kBAAY,CAAC,UAA+B;AAChE,YAAM,OAAO,MAAM;AACnB,cAAQ,IAAI;AAAA,IACb,GAAG,EAAE;AAGL,sBAAkC,QAAQ,YAAY;AAC/C,WAAA;AAAA,EACR;AAEO,QAAM,cAAsCF,MAAA;AAEnC,WAAA,mBACf,cACA,OACA,UACoC;AACpC,UAAM,CAAC,mBAAmB,oBAAoB,IAAIC,MAAAA,SAAiB,YAAY;AAExE,WAAA,CAAC,UAAU,SAAY,QAAQ,mBAAmB,aAAa,SAAY,WAAW,oBAAoB;AAAA,EAClH;AAIO,WAAS,UAAa,MAA6D;AACzF,WAAO,CAAC,UAAU;AACjB,YAAM,WAAW,KAAK,OAAO,CAACS,WAAU,QAAQ;AAC3C,YAAA,OAAO,QAAQ,YAAY;AACxB,gBAAA,UAAU,IAAI,KAAK;AACrB,cAAA,OAAO,YAAY,YAAY;AAClCA,sBAAS,KAAK,OAAO;AAAA,UAAA,OACf;AAENA,sBAAS,KAAK,MAAM;AACnB,kBAAI,IAAI;AAAA,YAAA,CACR;AAAA,UAAA;AAAA,QACF,WACU,OAAO,MAAM;AACvB,cAAI,UAAU;AAEdA,oBAAS,KAAK,MAAM;AACnB,gBAAI,UAAU;AAAA,UAAA,CACd;AAAA,QAAA;AAEKA,eAAAA;AAAAA,MACR,GAAG,EAAqB;AAExB,aAAO,MAAM;AACH,iBAAA,QAAQ,CAAC,YAAY;AACrB,kBAAA;AAAA,QAAA,CACR;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAEa,QAAA,kBAAkB,CAAC,MAAsB;AACrD,MAAE,gBAAgB;AAAA,EACnB;AC5IO,QAAM,yBAAyBlB,MAAA;AAAA,IACrC,CAAA;AAAA,EACD;AAEO,WAAS,4BAAmC;AAClD,WAAOC,MAAAA,WAAW,sBAAsB;AAAA,EACzC;ACTA,QAAM,kBAAkB,YAAY,SAAiB,OAAkD;AACtG,UAAM,EAAE,MAAM,OAAO,QAAQ,GAAG,aAAa;AAG7C,UAAM,CAAC,qBAAqB,sBAAsB,IAAIQ,MAAAA,SAAkB,KAAK;AAEvE,UAAA;AAAA,MACL;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACG,0BAAiC;AAGrC,UAAM,aAAa,YAAY;AAEzB,UAAA,cAAcC,MAAAA,YAAY,MAAM;AACjC,UAAA,yBAAyB,IAAI;AAAA,IAAA,GAC/B,CAAC,MAAM,WAAW,CAAC;AAEhB,UAAA,kBAAkBA,MAAAA,YAAY,MAAM;AACzC,6BAAuB,CAAC,mBAAmB;AAG3C,UAAI,CAAC,uBAAuB,WAAY,YAAW,IAAI;AAGnD,UAAA,uBAAuB,YAAa,aAAY,IAAI;AAAA,OACtD,CAAC,MAAM,aAAa,YAAY,mBAAmB,CAAC;AAEvD,UAAM,EAAE,UAAU,OAAO,UAAU,IAAIR,cAAQ,MAAM;AACpD,aAAO,aAAa;AAAA,QACnB;AAAA,QACA,YAAY;AAAA,QACZ,MAAM;AAAA,QACN,UAAU;AAAA,MAAA,CACV;AAAA,IAAA,GACC,CAAC,YAAY,MAAM,cAAc,iBAAiB,mBAAmB,CAAC;AAEzE,UAAM,iBAAiBA,MAAA;AAAA,MACtB,OAAO;AAAA;AAAA,QAEN,GAAG;AAAA,QACH,GAAG;AAAA,MAAA;AAAA,MAEJ,CAAC,YAAY,KAAK;AAAA,IACnB;AAEA,WACEI,2BAAAA,IAAAa,qCAA0B,MAA1B,EAA+B,SAAO,MAAC,MAAM,qBAAqB,UAAU,YAC5E,UAACf,gCAAA,OAAA,EAAI,WAAU,wBACd,UAAA;AAAA,MAAAE,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,SAAS;AAAA,UACT,WAAWC,uBAAA,GAAG,eAAe,WAAW,mCAAmC;AAAA,UAC3E,OAAO;AAAA,UAEP,cAAY,sBAAsB,SAAS;AAAA,UAC3C,iBAAe;AAAA,UAEd;AAAA,QAAA;AAAA,MACF;AAAA,MACC,SAAS,MAAM,SAAS,KACvBD,2BAAAA,IAAAa,qCAA0B,SAA1B,EAAkC,SAAO,MACzC,UAAAb,2BAAAA,IAAC,SAAI,WAAU,mCACb,gBAAM,IAAI,CAAC,eAAe,UAC1BA,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,OAAO,QAAQ;AAAA,UAEd,GAAG;AAAA,QAAA;AAAA,QADC,GAAG,KAAK,IAAI,KAAK;AAAA,MAGvB,CAAA,EACF,CAAA,EACD,CAAA;AAAA,IAAA,EAAA,CAEF,EACD,CAAA;AAAA,EAEF,CAAC;AAKY,QAAA,kBAAkB,YAAY,SAAiB,OAAoC;AACzF,UAAA;AAAA,MACL;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IAAA,IACA;AAEH,WAAAA,2BAAA;AAAA,MAAC,uBAAuB;AAAA,MAAvB;AAAA,QACA,OAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,QAEA,UAAAA,2BAAA,IAAC,SAAI,WAAU,8BAA8B,GAAG,MAC9C,UAAA,MAAM,IAAI,CAAC,eAAe,UACzBA,+BAAA,iBAAA,EAA8C,GAAG,cAArB,GAAA,GAAG,CAAC,IAAI,KAAK,EAAuB,CACjE,EACF,CAAA;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;ACjHY,QAAA,qBAAqBN,MAAmC,cAAA,EAAyB;AAOjF,QAAAoB,kBAAgBpB,MAAc,cAAA,EAAoB;AAUlD,QAAA,0BAA0BA,MAAc,cAAA,EAA8B;AAEtE,QAAAqB,6BAA2BrB,oBAAuB,KAAK;AAEvD,QAAA,2BAA2BA,oBAA4B,KAAK;AAO5D,QAAA,yBAAyBA,MAAc,cAAA,EAAuB;AAO9D,QAAA,2BAA2BA,MAAc,cAAA,EAA+B;AC5C9E,WAAS,iBAAiB,UAAmB;AACnD,WAAO,WAAW,aAAa;AAAA,EAChC;AAEO,WAAS,gBAAgB,SAAuB;AACtD,WAAO,YAAY,OAAO,YAAY,YAAY,QAAQ,cAAc;AAAA,EACzE;AAEO,WAAS,eAAe,QAAiB;AAC/C,WAAO,SAAS,WAAW;AAAA,EAC5B;ACDa,QAAA,+BAA+B,CAAC,UAA6C;AACzF,UAAM,EAAE,KAAK,eAAe,OAAO,UAAU,GAAG,SAAS;AACnD,UAAA,eAAesB,UAAI,wBAAwB;AAG3C,UAAA,mBAAmBpB,MAAAA,QAAQ,MAAM;AACtC,aAAO,OAAO,aAAa,aAAa,SAAS,YAAY,IAAI;AAAA,IAAA,GAC/D,CAAC,cAAc,QAAQ,CAAC;AAErB,UAAA,SAAS,gBAAgB,CAAC,CAAC;AAE7B,QAAA,CAAC,OAAe,QAAA;AAGnB,WAAAI,2BAAA,IAAC,QAAK,EAAA,KAAU,cAAY,gBAAgB,YAAY,GAAG,WAAU,YAAY,GAAG,MAClF,UACF,iBAAA,CAAA;AAAA,EAEF;AC3BO,QAAM,wBAAwBP,uBAAA;AAAA,IACpC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,SAAS;AAAA,UACd,IAAI,CAAC,WAAW;AAAA,UAChB,IAAI,CAAC,WAAW;AAAA,UAChB,IAAI,CAAC,SAAS;AAAA,UACd,IAAI,CAAC,SAAS;AAAA,QAAA;AAAA,MAEhB;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AAEO,QAAM,wBAAwBA,uBAAAA,IAAI;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAC;AAEM,QAAM,qBAAqBA,uBAAA;AAAA,IACjC,CAAC,0BAA0B,+CAA+C,iBAAiB,SAAS,WAAW;AAAA,IAC/G;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,WAAW,gBAAgB;AAAA,UAChC,IAAI,CAAC,QAAQ,aAAa;AAAA,UAC1B,IAAI,CAAC,WAAW,gBAAgB;AAAA,UAChC,IAAI,CAAC,UAAU,eAAe;AAAA,UAC9B,IAAI,CAAC,WAAW,gBAAgB;AAAA,QAAA;AAAA,MAElC;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AAEO,QAAM,sBAAsBA,uBAAA,IAAI,CAAC,gBAAgB,QAAQ,GAAG;AAAA,IAClE,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,QAAQ,WAAW,WAAW;AAAA,QACnC,IAAI,CAAC,QAAQ,QAAQ,SAAS;AAAA,QAC9B,IAAI,CAAC,QAAQ,WAAW,SAAS;AAAA,QACjC,IAAI,CAAC,QAAQ,UAAU,SAAS;AAAA,QAChC,IAAI,CAAC,QAAQ,WAAW,SAAS;AAAA,MAAA;AAAA,IAClC;AAAA,EAEF,CAAC;AAEM,QAAM,0BAA0BA,uBAAAA,IAAI,CAAC,QAAQ,kBAAkB,QAAQ,GAAG;AAAA,IAChF,UAAU;AAAA,MACT,SAAS;AAAA,QACR,MAAM,CAAC;AAAA,QACP,OAAO,CAAA;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAA;AAAA,MAAC;AAAA,IAEP;AAAA,IACA,kBAAkB;AAAA,MACjB,EAAE,SAAS,MAAM,MAAM,MAAM,WAAW,CAAC,SAAS,EAAE;AAAA,MACpD,EAAE,SAAS,MAAM,MAAM,MAAM,WAAW,CAAC,MAAM,EAAE;AAAA,MACjD,EAAE,SAAS,MAAM,MAAM,MAAM,WAAW,CAAC,SAAS,EAAE;AAAA,MACpD,EAAE,SAAS,MAAM,MAAM,MAAM,WAAW,CAAC,QAAQ,EAAE;AAAA,MACnD,EAAE,SAAS,MAAM,MAAM,MAAM,WAAW,CAAC,SAAS,EAAE;AAAA,IAAA;AAAA,EAEtD,CAAC;AAEM,QAAM,qBAAqBA,uBAAA;AAAA,IACjC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA;AAAA,MAGA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,QAAQ,WAAW,WAAW,oBAAoB;AAAA,UACvD,IAAI,CAAC,QAAQ,SAAS,QAAQ,iBAAiB;AAAA,UAC/C,IAAI,CAAC,QAAQ,WAAW,WAAW,oBAAoB;AAAA,UACvD,IAAI,CAAC,QAAQ,SAAS,UAAU,mBAAmB;AAAA,UACnD,IAAI,CAAC,QAAQ,WAAW,WAAW,oBAAoB;AAAA,QACxD;AAAA,QACA,SAAS;AAAA,UACR,OAAO;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAM;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAEF;AAAA,QACA,QAAQ;AAAA,UACP,MAAM,CAAC,oBAAoB;AAAA,UAC3B,IAAI,CAAC,kBAAkB;AAAA,UACvB,IAAI,CAAC,kBAAkB;AAAA,UACvB,IAAI,CAAC,kBAAkB;AAAA,UACvB,IAAI,CAAC,kBAAkB;AAAA,UACvB,IAAI,CAAC,kBAAkB;AAAA,UACvB,MAAM,CAAC,oBAAoB;AAAA,QAAA;AAAA,MAE7B;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,EAEF;AAEO,QAAM,sBAAsBA,uBAAAA,IAAI,CAAC,QAAQ,kBAAkB,mBAAmB,GAAG;AAAA,IACvF,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,MAAM;AAAA,QACX,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,MAAM;AAAA,QACX,IAAI,CAAC,QAAQ;AAAA,MAAA;AAAA,IACd;AAAA,EAEF,CAAC;AAEM,QAAM,sBAAsBA,uBAAA;AAAA,IAClC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,IAAI;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,IAAI;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,IAAI;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,IAAI;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EAEF;ACjNa,QAAA,kBAAkBS,MAAAA,KAA2B,CAAC,UAAU;AAC9D,UAAA,EAAE,WAAW,KAAK,gBAAgB,MAAM,UAAU,GAAG,SAAS;AAEpE,UAAM,EAAE,MAAM,SAAS,OAAO,IAAIc,MAAAA,IAAI,kBAAkB;AACxD,UAAM,EAAE,QAAA,IAAYA,MAAA,IAAI,wBAAwB;AAEhD,UAAM,eAAeZ,MAAA;AAAA,MACpB,CAAC,UAAkB;AAClB,6CAAW;AAEX,YAAI,eAAe;AAClB,kBAAQ,KAAK;AAAA,QAAA;AAAA,MAEf;AAAA,MACA,CAAC,eAAe,UAAU,OAAO;AAAA,IAClC;AAGC,WAAAJ,2BAAA;AAAA,MAACiB,KAAA;AAAA,MAAA;AAAA,QACA,WAAWhB,uBAAAA,GAAG,WAAW,mBAAmB,EAAE,MAAM,SAAS,OAAO,CAAC,CAAC;AAAA,QACtE;AAAA,QACA,UAAU;AAAA,QACT,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,kBAAgB,cAAc;ACzBjB,QAAA,0BAA0B,CAAC,UAAwC;AACzE,UAAA,EAAE,UAAU,KAAK,SAAS,iBAAiB,UAAU,GAAG,SAAS;AAEvE,UAAM,eAAeG,MAAA;AAAA,MACpB,CAAC,UAAkB;AAClB,6CAAW;AAKX,wBAAgB,YAAY,IAAI;AAAA,MACjC;AAAA,MACA,CAAC,SAAS,iBAAiB,QAAQ;AAAA,IACpC;AAEA,0CACE,0BAAyB,EAAA,OAAO,SAChC,UAAAJ,2BAAAA,IAAC,mBAAgB,KAAU,UAAU,cAAc,cAAY,gBAAgB,OAAO,GAAI,GAAG,MAC3F,SACF,CAAA,GACD;AAAA,EAEF;ACRa,QAAA,qBAAqBE,MAAAA,KAA8B,CAAC,UAAU;AAC1E,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,cAAc;AAAA,MACd,SAAS,gBAAgB;AAAA,MACzB,GAAG;AAAA,IAAA,IACA;AAEE,UAAA,eAAeN,MAAAA,QAAQ,MAAM;AAC3B,aAAA;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACE,GAAA,CAAC,QAAQ,MAAM,OAAO,CAAC;AAE1B,0CACEsB,YAAAA,cACA,EAAA,UAAAlB,2BAAA;AAAA,MAACmB,YAAA;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,yBAAsB;AAAA,QACtB,SAAO;AAAA,QAEP,UAAArB,2BAAA;AAAA,UAACsB,KAAA;AAAA,UAAA;AAAA,YACA,WAAWnB,uBAAA,GAAG,WAAW,sBAAsB,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA,CAAC;AAAA,YAC/F;AAAA,YACA,qBAAmB;AAAA,YAClB,GAAG;AAAA,YAEJ,UAAA;AAAA,cAAAD,2BAAA,IAACqB,YAAY,aAAA,EAAA,WAAU,WAAW,UAAA,MAAM,OAAM;AAAA,cAC7CrB,2BAAA,IAAAsB,YAAA,mBAAA,EAAkB,WAAU,WAAU,UAAyC,6CAAA;AAAA,cAC/EtB,2BAAAA,IAAA,oBAAA,EAAmB,OAAO,cAAe,SAAS,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACpD;AAAA,IAAA,GAEF;AAAA,EAEF,CAAC;AACD,qBAAmB,cAAc;ACxEpB,QAAA,mBAAmBE,MAAAA,KAA4B,CAAC,UAAU;AACtE,UAAM,EAAE,WAAW,KAAK,GAAG,KAAS,IAAA;AAEpC,UAAM,EAAE,KAAA,IAASc,MAAA,IAAI,kBAAkB;AAEvC,WAAQhB,2BAAA,IAAAuB,KAAA,cAAA,EAAa,WAAWtB,uBAAA,GAAG,WAAW,oBAAoB,EAAE,KAAA,CAAM,CAAC,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EACnG,CAAC;AACD,mBAAiB,cAAc;ACPlB,QAAA,mBAAmBC,MAAAA,KAA4B,CAAC,UAAU;AACtE,UAAM,EAAE,WAAW,KAAK,GAAG,KAAS,IAAA;AAEpC,UAAM,EAAE,KAAA,IAASc,MAAA,IAAI,kBAAkB;AAEvC,WAAQhB,2BAAA,IAAAwB,KAAA,cAAA,EAAa,WAAWvB,uBAAA,GAAG,WAAW,oBAAoB,EAAE,KAAA,CAAM,CAAC,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EACnG,CAAC;AACD,mBAAiB,cAAc;ACPlB,QAAA,mBAAmBC,MAAAA,KAA4B,CAAC,UAAU;AACtE,UAAM,EAAE,WAAW,KAAK,GAAG,KAAS,IAAA;AAEpC,UAAM,EAAE,KAAA,IAASc,MAAA,IAAI,kBAAkB;AAEvC,WAAQhB,2BAAA,IAAAyB,KAAA,cAAA,EAAa,WAAWxB,uBAAA,GAAG,WAAW,oBAAoB,EAAE,KAAA,CAAM,CAAC,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EACnG,CAAC;AACD,mBAAiB,cAAc;ACPlB,QAAA,kBAAkBC,MAAAA,KAA2B,CAAC,UAAU;AACpE,UAAM,EAAE,WAAW,KAAK,GAAG,KAAS,IAAA;AAEpC,UAAM,EAAE,KAAA,IAASc,MAAA,IAAI,kBAAkB;AACvC,UAAM,cAAcU,KAAAA,gBAAgB,CAAC,UAAU,MAAM,SAAS,KAAK;AAGlE,WAAA1B,2BAAA;AAAA,MAAC2B,KAAA;AAAA,MAAA;AAAA,QACA,WAAW1B,uBAAG,GAAA,WAAW,mBAAmB,EAAE,KAAM,CAAA,CAAC;AAAA,QACrD;AAAA,QACA,QAAQ,gBAAgB;AAAA,QACvB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,kBAAgB,cAAc;ACZjB,QAAA,8BAA8B,CAAC,UAA4C;AACjF,UAAA,EAAE,UAAU,KAAK,gBAAgB,CAAI,GAAA,QAAQ,kBAAkB,gBAAgB,GAAG,KAAA,IAAS;AAEjG,UAAM,CAAC,kBAAkB,mBAAmB,IAAIE,MAAAA,SAA8B,oBAAI,KAAK;AACvF,UAAM,CAAC,QAAQ,SAAS,IAAI,mBAAmB,eAAe,kBAAkB,cAAc;AAExF,UAAA,WAAWC,kBAAY,CAAC,UAAkB,OAAO,SAAS,KAAK,GAAG,CAAC,MAAM,CAAC;AAEhF,UAAM,cAAcA,MAAA;AAAA,MACnB,CAAC,UAAkB;AACd,YAAA,SAAS,KAAK,GAAG;AACpB,oBAAU,OAAO,OAAO,CAAC,MAAM,MAAM,KAAK,CAAC;AAAA,QAAA,OACrC;AACN,oBAAU,CAAC,GAAG,QAAQ,KAAK,CAAC;AAAA,QAAA;AAAA,MAE9B;AAAA,MACA,CAAC,UAAU,WAAW,MAAM;AAAA,IAC7B;AAEM,UAAA,qBAAqBR,MAAAA,QAAQ,MAAM;AACjC,aAAA;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,IAAA,GACE,CAAC,aAAa,QAAQ,CAAC;AAEpB,UAAA,eAAeA,MAAAA,QAAQ,MAAM;AAC3B,aAAA;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACE,GAAA,CAAC,kBAAkB,WAAW,MAAM,CAAC;AAExC,0CACEkB,iBAAc,EAAA,OAAO,oBACrB,UAAAd,+BAAC,2BAAwB,OAAO,cAC/B,UAACA,2BAAAA,IAAA,kBAAA,EAAiB,KAAU,wBAAoB,MAAE,GAAG,MACnD,SAAA,CACF,EACD,CAAA,GACD;AAAA,EAEF;AC9Ca,QAAA,6BAA6B,CAAC,UAA2C;AAC/E,UAAA,EAAE,UAAU,KAAK,OAAO,UAAU,gBAAgB,OAAO,GAAG,KAAA,IAAS;AAC3E,UAAM,EAAE,UAAU,aAAa,kBAAkB,IAAIgB,MAAAA,IAAIF,eAAa;AAEtE,UAAM,cAAcc,MAAAA,MAAM;AAC1B,UAAM,EAAE,oBAAA,IAAwBZ,MAAA,IAAI,uBAAuB;AAE3DP,UAAAA,gBAAgB,MAAM;AACD,0BAAA,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,aAAa,KAAK,CAAC;AAEnE,aAAO,MAAM;AACZ,4BAAoB,CAAC,SAAS;AACvB,gBAAA,OAAO,IAAI,IAAI,IAAI;AACzB,eAAK,OAAO,WAAW;AAChB,iBAAA;AAAA,QAAA,CACP;AAAA,MACF;AAAA,IACE,GAAA,CAAC,aAAa,qBAAqB,KAAK,CAAC;AAE5C,UAAM,eAAeL,MAAA;AAAA,MACpB,CAACyB,WAAkB;AAClB,6CAAWA;AAKX,0BAAkBA,MAAK;AAAA,MACxB;AAAA,MACA,CAAC,mBAAmB,QAAQ;AAAA,IAC7B;AAEM,UAAA,aAAa,SAAS,KAAK;AAGhC,WAAA7B,2BAAAA,IAACe,4BAAyB,EAAA,OAAO,YAChC,UAAAf,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,cAAY,iBAAiB,UAAU;AAAA,QACvC,iBAAe;AAAA,QACf;AAAA,QACA;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA,GAEH;AAAA,EAEF;ACjDa,QAAA,qBAAqBE,MAAAA,KAA8B,CAAC,UAAU;AAC1E,UAAM,EAAE,WAAW,WAAW,GAAG,KAAS,IAAA;AAE1C,WACEF,2BAAAA,IAAAkB,YAAAA,cAAA,EAAa,WACb,UAAAlB,2BAAA,IAAC8B,6BAAc,WAAW7B,uBAAA,GAAG,WAAW,sBAAA,CAAuB,GAAG,yBAAsB,IAAI,GAAG,KAAM,CAAA,GACtG;AAAA,EAEF,CAAC;AACD,qBAAmB,cAAc;ACTpB,QAAA,kBAAkB,CAAC,UAAgC;AAC/D,UAAM,EAAE,UAAU,KAAK,MAAM,GAAG,KAAS,IAAA;AACzC,UAAM,EAAE,MAAM,eAAee,MAAAA,IAAI,sBAAsB;AAEjD,UAAA,WAAWpB,MAAAA,QAAQ,MAAM,SAAS,YAAY,CAAC,MAAM,UAAU,CAAC;AAEtE,WACEI,2BAAAA,IAAA,OAAA,EAAI,KAAU,eAAa,eAAe,QAAQ,GAAG,QAAQ,CAAC,UAAW,GAAG,MAC3E,UAAA,WAAW,WAAW,MACxB;AAAA,EAEF;ACTa,QAAA,mBAAmB,CAAC,UAAiC;AACjE,UAAM,EAAE,UAAU,cAAc,IAAI,MAAM,gBAAgB,iBAAiB;AAE3E,UAAM,CAAC,MAAM,OAAO,IAAI,mBAAmB,aAAa,gBAAgB,YAAY;AAEpF,0CAAQ,wBAAuB,EAAA,OAAO,EAAE,MAAM,QAAA,GAAY,UAAS;AAAA,EACpE;ACPa,QAAA,6BAA6B,CAAC,UAA2C;AAC/E,UAAA,EAAE,KAAK,MAAM,UAAU,gBAAgB,OAAO,GAAG,SAAS;AAChE,UAAM,EAAE,MAAM,YAAY,QAAQ,IAAIgB,MAAAA,IAAI,sBAAsB;AAE1D,UAAA,WAAWpB,MAAAA,QAAQ,MAAM,SAAS,YAAY,CAAC,MAAM,UAAU,CAAC;AAEtE,UAAM,eAAeQ,MAAA;AAAA,MACpB,CAAC,UAAkB;AAClB,6CAAW;AAKX,gBAAQ,IAAI;AAAA,MACb;AAAA,MACA,CAAC,UAAU,MAAM,OAAO;AAAA,IACzB;AAGC,WAAAJ,2BAAAA,IAACe,4BAAyB,EAAA,OAAO,UAChC,UAAAf,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,cAAY,eAAe,QAAQ;AAAA,QACnC;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IAAA,GAEN;AAAA,EAEF;AC3Ba,QAAA,wBAAwB,CAAC,UAAsC;AACrE,UAAA,EAAE,UAAU,KAAK,eAAe,MAAM,OAAO,iBAAiB,eAAe,GAAG,KAAA,IAAS;AAE/F,UAAM,CAAC,OAAO,QAAQ,IAAI,mBAAmB,cAAc,iBAAiB,aAAa;AAEnF,UAAA,WAAWI,MAAAA,YAAY,CAAC,MAAc,MAAM,OAAO,CAAC,KAAK,CAAC;AAEhE,UAAM,cAAcA,MAAA;AAAA,MACnB,CAAC,MAAc;AACd,iBAAS,SAAS,CAAC,IAAI,OAAO,CAAC;AAAA,MAChC;AAAA,MACA,CAAC,UAAU,QAAQ;AAAA,IACpB;AAEM,UAAA,eAAeR,cAAQ,OAAO,EAAE,UAAU,gBAAgB,CAAC,UAAU,WAAW,CAAC;AAEvF,WACEI,2BAAAA,IAAA,kBAAA,EAAiB,KAAU,MAAK,cAAc,GAAG,MACjD,UAAAA,2BAAA,IAACc,iBAAc,EAAA,OAAO,cAAe,SAAS,CAAA,GAC/C;AAAA,EAEF;ACvBa,QAAA,uBAAuB,CAAC,UAAqC;AACzE,UAAM,EAAE,UAAU,KAAK,OAAO,UAAU,GAAG,SAAS;AACpD,UAAM,EAAE,UAAU,gBAAgBE,MAAAA,IAAIF,eAAa;AAEnD,UAAM,eAAeV,MAAA;AAAA,MACpB,CAACyB,WAAkB;AAClB,6CAAWA;AAKX,oBAAYA,MAAK;AAAA,MAClB;AAAA,MACA,CAAC,UAAU,WAAW;AAAA,IACvB;AAEM,UAAA,aAAa,SAAS,KAAK;AAGhC,WAAA7B,2BAAAA,IAACe,4BAAyB,EAAA,OAAO,YAChC,UAAAf,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,cAAY,iBAAiB,UAAU;AAAA,QACvC;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA,GAEH;AAAA,EAEF;AChCa,QAAA,kBAAkBE,MAAAA,KAA2B,CAAC,UAAU;AACpE,UAAM,EAAE,UAAU,aAAa,MAAM,gBAAgB,iBAAiB;AAEhE,UAAA,CAAC,MAAM,OAAO,IAAI,mBAAmB,eAAe,OAAO,gBAAgB,YAAY;AAEvF,UAAA,eAAeN,MAAAA,QAAQ,MAAM;AAC3B,aAAA;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,IAAA,GACE,CAAC,MAAM,OAAO,CAAC;AAElB,WACEI,2BAAAA,IAAA+B,YAAAA,QAAA,EAAO,MAAY,cAAc,SAAU,GAAG,OAC9C,UAAA/B,2BAAA,IAAC,0BAAyB,EAAA,OAAO,cAAe,SAAS,CAAA,GAC1D;AAAA,EAEF,CAAC;AACD,kBAAgB,cAAc;AClBjB,QAAA,2BAA2B,CAAC,UAAyC;AACjF,UAAM,EAAE,KAAK,UAAU,gBAAgB,OAAO,GAAG,SAAS;AAC1D,UAAM,EAAE,kBAAkB,QAAQ,UAAU,IAAIgB,MAAAA,IAAI,uBAAuB;AAErE,UAAA,gBAA8BpB,MAAAA,QAAQ,MAAM;AACjD,YAAM,YAAY,MAAM,KAAK,iBAAiB,QAAQ;AAElD,UAAA,UAAU,MAAM,CAAC,UAAU,OAAO,SAAS,KAAK,CAAC,EAAU,QAAA;AAE3D,UAAA,UAAU,KAAK,CAAC,UAAU,OAAO,SAAS,KAAK,CAAC,EAAU,QAAA;AAEvD,aAAA;AAAA,IAAA,GACL,CAAC,kBAAkB,MAAM,CAAC;AAE7B,UAAM,eAAeQ,MAAA;AAAA,MACpB,CAAC,UAAkB;AAClB,6CAAW;AAKD,kBAAA,kBAAkB,OAAO,MAAM,KAAK,iBAAiB,QAAQ,IAAI,EAAE;AAAA,MAC9E;AAAA,MACA,CAAC,kBAAkB,UAAU,eAAe,SAAS;AAAA,IACtD;AAGC,WAAAJ,2BAAAA,IAAC,0BAAyB,EAAA,OAAO,eAChC,UAAAA,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,MAAK;AAAA,QACL,UAAU;AAAA,QACV,cAAY,gBAAgB,aAAa;AAAA,QACzC;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IAAA,GAEN;AAAA,EAEF;ACrCa,QAAA,+BAA+B,CAAC,UAA6C;AACzF,UAAM,EAAE,KAAK,eAAe,OAAO,UAAU,GAAG,SAAS;AACnD,UAAA,aAAagB,UAAID,0BAAwB;AAEzC,UAAA,mBAAmBnB,MAAAA,QAAQ,MAAM;AACtC,aAAO,OAAO,aAAa,aAAa,SAAS,UAAU,IAAI;AAAA,IAAA,GAC7D,CAAC,YAAY,QAAQ,CAAC;AAEzB,UAAM,SAAS,gBAAgB;AAE3B,QAAA,CAAC,OAAe,QAAA;AAGnB,WAAAI,2BAAA,IAAC,QAAK,EAAA,KAAU,cAAY,iBAAiB,UAAU,GAAG,WAAU,yBAAyB,GAAG,MAC9F,UACF,iBAAA,CAAA;AAAA,EAEF;AChBa,QAAA,uBAAuBE,MAAAA,KAAgC,CAAC,UAAU;AAC9E,UAAM,EAAE,WAAW,KAAK,UAAU,OAAO,GAAG,SAAS;AAErD,UAAM,EAAE,KAAA,IAASc,MAAA,IAAI,kBAAkB;AAEvC,WACEhB,2BAAA,IAAAgC,KAAA,kBAAA,EAAiB,KAAU,WAAW/B,uBAAAA,GAAG,WAAW,wBAAwB,EAAE,MAAM,QAAQ,CAAC,CAAC,GAAI,GAAG,KAAM,CAAA;AAAA,EAE9G,CAAC;AACD,uBAAqB,cAAc;ACdtB,QAAA,qBAAqBC,MAAAA,KAA8B,CAAC,UAAU;AACnE,WAAAF,+BAACiC,YAAAA,eAAe,EAAA,GAAG,MAAO,CAAA;AAAA,EAClC,CAAC;AACD,qBAAmB,cAAc;ACoC1B,QAAM,cAAc;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,IACX,OAAO;AAAA;AAAA,IAGP,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,mBAAmB;AAAA;AAAA,IAGnB,YAAY;AAAA,IACZ,WAAW;AAAA;AAAA,IAGX,cAAc;AAAA,IACd,mBAAmB;AAAA;AAAA,IAGnB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,iBAAiB;AAAA,EAClB;ACxEa,QAAA,UAAU,CAAC,UAAwB;AAC/C,UAAM,EAAE,aAAa,GAAG,KAAA,IAAS;AAEjC,YAAQ,aAAa;AAAA,MACpB,KAAK;AACG,eAAAjC,+BAACkC,QAAAA,gBAAgB,EAAA,GAAG,KAAM,CAAA;AAAA,MAClC,KAAK;AACG,eAAAlC,+BAACmC,QAAAA,kBAAkB,EAAA,GAAG,KAAM,CAAA;AAAA,MACpC,KAAK;AACG,eAAAnC,+BAACoC,QAAAA,kBAAkB,EAAA,GAAG,KAAM,CAAA;AAAA,MACpC;AACQ,eAAApC,+BAACqC,QAAAA,mBAAmB,EAAA,GAAG,KAAM,CAAA;AAAA,IAAA;AAAA,EAEvC;ACdO,QAAM,UAAU5C,uBAAA,IAAI,CAAC,YAAY,UAAU,GAAG;AAAA,IACpD,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,WAAW;AAAA,QAChB,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,MAAA;AAAA,IACf;AAAA,EAEF,CAAC;AAEM,QAAM,eAAeA,uBAAA;AAAA,IAC3B;AAAA,MACC;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,QACd;AAAA,QACA,SAAS;AAAA,UACR,MAAM;AAAA;AAAA,YAEL;AAAA,YACA;AAAA;AAAA,YAGA;AAAA,UACD;AAAA,UACA,OAAO;AAAA;AAAA,YAEN;AAAA,YACA;AAAA;AAAA,YAGA;AAAA,YACA;AAAA,UAAA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EAEF;AAEO,QAAM,eAAeA,uBAAA;AAAA,IAC3B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,UACb,IAAI,CAAC,QAAQ;AAAA,QAAA;AAAA,MACd;AAAA,IACD;AAAA,EAEF;AAEO,QAAM,aAAaA,uBAAA,IAAI,CAAC,eAAe,mBAAmB,GAAG;AAAA,IACnE,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,QAAQ;AAAA,MAAA;AAAA,IACd;AAAA,EAEF,CAAC;AAEM,QAAM,WAAWA,uBAAA;AAAA,IACvB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,oBAAoB;AAAA,UACzB,IAAI,CAAC,oBAAoB;AAAA,UACzB,IAAI,CAAC,oBAAoB;AAAA,UACzB,IAAI,CAAC,oBAAoB;AAAA,UACzB,IAAI,CAAC,oBAAoB;AAAA,QAC1B;AAAA,QACA,SAAS;AAAA,UACR,MAAM,CAAC,0BAA0B;AAAA,UACjC,OAAO,CAAC,0FAA0F;AAAA,QAAA;AAAA,MACnG;AAAA,IACD;AAAA,EAEF;AAEa,QAAA,kBAAkBA,2BAAI,CAAC,eAAe,UAAU,QAAQ,kBAAkB,cAAc,GAAG;AAAA,IACvG,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,MAAA;AAAA,IACX;AAAA,EAEF,CAAC;AC5IY,QAAA,YAAY,CAAC,UAA0B;AACnD,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA,cAAc,gBAAgB;AAAA,MAC9B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS,gBAAgB;AAAA,MACzB,kBAAkB;AAAA,MAClB,GAAG;AAAA,IAAA,IACA;AAEE,UAAA,qBAAqBG,MAAAA,QAAQ,MAAM;AACjC,aAAA;AAAA,QACN,GAAG;AAAA,QACH,MAAMK,0BAAG,yCAAY,MAAM,QAAQ,EAAE,KAAA,CAAM,CAAC;AAAA,QAC5C,KAAKA,uBAAAA,GAAG,yCAAY,KAAK,CAAC,YAAY,SAAS,UAAU,QAAQ,iBAAiB,CAAC;AAAA,QACnF,OAAOA,0BAAG,yCAAY,OAAO,CAAC,QAAQ,YAAY,OAAO,CAAC;AAAA,QAC1D,eAAeA,0BAAG,yCAAY,eAAe,gBAAgB,EAAE,KAAA,CAAM,CAAC;AAAA,QACtE,aAAaA,uBAAA;AAAA,UACZ,yCAAY;AAAA,UACZ,aAAa,EAAE,MAAM;AAAA,UACrB,UAAU,EAAE,QAAgB,UAAU,MAAO,CAAA;AAAA,QAC9C;AAAA,QACA,iBAAiBA,uBAAA;AAAA,UAChB,yCAAY;AAAA,UACZ,aAAa,EAAE,MAAM;AAAA,UACrB,UAAU,EAAE,QAAgB,UAAU,MAAO,CAAA;AAAA,QAC9C;AAAA,QACA,SAASA,0BAAG,yCAAY,SAAS,WAAW,EAAE,KAAA,CAAM,CAAC;AAAA,QACrD,OAAOA,uBAAAA,GAAG,yCAAY,OAAO,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAC;AAAA,QACxD,KAAKA,uBAAAA,GAAG,yCAAY,KAAK,CAAC,WAAW,CAAC;AAAA,QACtC,YAAYA,uBAAA;AAAA,UACX,yCAAY;AAAA,UACZ,aAAa,EAAE,MAAM,SAAS;AAAA,UAC9B,UAAU,EAAE,QAAgB,UAAU,MAAO,CAAA;AAAA,QAC9C;AAAA,QACA,aAAaA,uBAAA,GAAG,yCAAY,aAAa,iBAAiB;AAAA,QAC1D,cAAcA,uBAAA,GAAG,yCAAY,cAAc,kBAAkB;AAAA,QAC7D,WAAWA,uBAAA,GAAG,yCAAY,WAAW,eAAe;AAAA,MACrD;AAAA,OACE,CAAC,YAAY,QAAQ,MAAM,OAAO,CAAC;AAEhC,UAAA,qBAAqBL,MAAAA,QAAQ,MAAM;AACjC,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IAAA,GACE,CAAC,UAAU,CAAC;AAGd,WAAAI,2BAAA;AAAA,MAACsC,eAAA;AAAA,MAAA;AAAA,QACA,qBAAmB;AAAA,QACnB;AAAA,QACA,YAAY;AAAA,QACZ,YAAY;AAAA,QACX,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF;ACpEa,QAAA,qBAAqB5C,MAAc,cAAA,EAA4B;ACArE,QAAM,iBAAiB,MAAM;AAC7B,UAAA,gBAAgBC,iBAAW,kBAAkB;AAEnD,QAAI,CAAC,eAAe;AACb,YAAA,IAAI,MAAM,4CAA4C;AAAA,IAAA;AAGtD,WAAA;AAAA,EACR;ACQa,QAAA,gBAAgBE,MAAA,WAA+C,CAAC,OAAO,QAAQ;AACrF,UAAA,EAAE,OAAO,IAAI,YAAY;AAC/B,UAAM,QAAQ,eAAe;AACvB,UAAA,EAAE,UAAU,OAAO,WAAW,WAAW,MAAM,GAAG,SAAS;AAE3D,UAAA,mBAAmBD,MAAAA,QAAQ,MAAM;AACtC,aAAO,OAAO,aAAa,aAAa,SAAS,KAAK,IAAI;AAAA,IAAA,GACxD,CAAC,UAAU,KAAK,CAAC;AAEpB,WACEI,2BAAAA,IAAAuC,uBAAY,QAAZ,EAAmB,WACnB,UAAAzC,2BAAA;AAAA,MAACyC,uBAAY;AAAA,MAAZ;AAAA,QACA,WAAWtC,uBAAA,GAAG,WAAW,cAAc,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA,CAAC;AAAA,QACvF;AAAA,QACA,yBAAsB;AAAA,QACrB,GAAG;AAAA,QAEJ,UAAA;AAAA,UAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,qCACd,UAAA;AAAA,YAAAE,2BAAA,IAACuC,uBAAY,OAAZ,EAAkB,WAAU,eAAe,UAAM,OAAA;AAAA,2CACjDA,uBAAY,OAAZ,EAAkB,SAAO,MACzB,UAACvC,+BAAA,YAAA,EAAW,aAAY,QAAO,MAAY,SAAQ,SAClD,UAACA,2BAAAA,IAAAwC,GAAA,KAAA,EAAI,GACN,EACD,CAAA;AAAA,UAAA,GACD;AAAA,UACC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAEH;AAAA,EAEF,CAAC;AACD,gBAAc,cAAc;ACxCf,QAAA,gBAAgB3C,MAAA,WAA+C,CAAC,OAAO,QAAQ;AAC3F,UAAM,EAAE,WAAW,WAAW,GAAG,KAAS,IAAA;AAE1C,WACEG,2BAAAA,IAAAuC,uBAAY,QAAZ,EAAmB,WACnB,UAAAvC,2BAAA;AAAA,MAACuC,uBAAY;AAAA,MAAZ;AAAA,QACA;AAAA,QACA,WAAWtC,uBAAAA,GAAG,WAAW,cAAc,CAAE,CAAA,CAAC;AAAA,QAC1C,yBAAsB;AAAA,QACrB,GAAG;AAAA,MAAA;AAAA,IAAA,GAEN;AAAA,EAEF,CAAC;AACD,gBAAc,cAAc;AClBf,QAAA,aAAa,CAAC,UAAuB;AAC3C,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,cAAc;AAAA,IAAA,IACX;AAEJ,UAAM,CAAC,WAAW,YAAY,IAAIE,MAAAA,SAAS,eAAe,KAAK;AAC/D,UAAM,OAAO,gBAAgB;AAE7B,UAAM,mBAAmBC,MAAA;AAAA,MACxB,CAAC,SAAkB;AACd,YAAA,mBAA2B,QAAA,mBAAmB,IAAI;AAEtD,YAAI,QAAQ,QAAQ;AACZ,iBAAA;AAAA,QAAA,WACG,CAAC,QAAQ,kBAAkB;AAErC,gBAAM,eAAe,MAAM;AAC1B,yBAAa,KAAK;AAClB,gBAAI,QAAiB,SAAA;AAAA,UACtB;AAIA,iBAAO,iBAAiB,YAAY;AAAA,QAAA,WAC1B,CAAC,QAAQ,SAAS;AACpB,kBAAA;AAAA,QAAA;AAGT,qBAAa,IAAI;AAAA,MAClB;AAAA,MACA,CAAC,oBAAoB,QAAQ,SAAS,gBAAgB;AAAA,IACvD;AAEA,UAAM,cAAcA,MAAA;AAAA,MACnB,CAAC,YAAY;AACZ,YAAI,mCAAS,OAAO;AAEnB,iBAAO,aAAa,KAAK;AAAA,QAAA;AAG1B,yBAAiB,KAAK;AAAA,MACvB;AAAA,MACA,CAAC,gBAAgB;AAAA,IAClB;AAEA,WACEJ,2BAAAA,IAAAuC,uBAAY,MAAZ,EAAiB,MAAY,cAAc,kBAC3C,UAACvC,2BAAAA,IAAA,mBAAmB,UAAnB,EAA4B,OAAO,aAAc,SAAS,CAAA,GAC5D;AAAA,EAEF;ACnDO,QAAM,SAAS;AAAA,IACrB,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAASuC,uBAAY;AAAA,IACrB,OAAOA,uBAAY;AAAA,EACpB;ACfO,QAAM,yBAAwF;AAAA,IACpG,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EACN;ACPa,QAAA,aAAa9C,uBAAI,IAAA,IAAI;AAAA,IACjC,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,WAAW;AAAA,QAChB,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,MACnB;AAAA,MACA,QAAQ;AAAA,QACP,OAAO,CAAC,YAAY;AAAA,QACpB,SAAS,CAAC,aAAa;AAAA,QACvB,QAAQ,CAAC,aAAa;AAAA,QACtB,MAAM,CAAC,WAAW;AAAA,MACnB;AAAA,MACA,OAAO;AAAA,QACN,MAAM,CAAC,WAAW;AAAA,QAClB,QAAQ,CAAC,aAAa;AAAA,QACtB,OAAO,CAAC,YAAY;AAAA,MAAA;AAAA,IACrB;AAAA,EAEF,CAAC;ACrBY,QAAA,UAAUI,MAAA,WAA6C,CAAC,OAAO,QAAQ;AACnF,UAAM,EAAE,WAAW,QAAQ,KAAK,MAAM,QAAQ,OAAO,eAAe,OAAO,aAAa,GAAG,KAAS,IAAA;AAC9F,UAAA,MAAM,uBAAuB,KAAK;AAGvC,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW,WAAW,EAAE,MAAM,QAAQ,MAAM,CAAC,GAAG;AAAA,UAC7D,uBAAuB,CAAC,CAAC;AAAA,UACzB,uBAAuB;AAAA,QAAA,CACvB;AAAA,QACD,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,UAAQ,cAAc;ACpBT,QAAA,iBAAiBJ,MAAA,WAA+C,CAAC,OAAO,QAAQ;AAC5F,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,+BAACyC,0BAAe,OAAf,EAAqB,WAAWxC,uBAAAA,GAAG,WAAW,iBAAiB,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EAC/F,CAAC;AACD,iBAAe,cAAc;ACTtB,QAAM,mBAAmBR,uBAAI,IAAA,CAAC,2BAA2B,sBAAsB,UAAU,iBAAiB,GAAG;AAAA,IACnH,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,WAAW,KAAK;AAAA,QACrB,IAAI,CAAC,WAAW,KAAK;AAAA,QACrB,IAAI,CAAC,aAAa,KAAK;AAAA,QACvB,IAAI,CAAC,WAAW,KAAK;AAAA,QACrB,IAAI,CAAC,WAAW,KAAK;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;ACDY,QAAA,mBAAmBI,MAAA,WAAkD,CAAC,OAAO,QAAQ;AACjG,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,gBAAgB;AAAA,MACzB,cAAc,gBAAgB;AAAA,MAC9B,aAAa;AAAA,MACb;AAAA,MACA,GAAG;AAAA,IAAA,IACA;AAEJ,WACEG,2BAAAA,IAAAyC,0BAAe,QAAf,EAAsB,WACtB,UAAAzC,2BAAA;AAAA,MAACyC,0BAAe;AAAA,MAAf;AAAA,QACA,WAAWxC,uBAAA;AAAA,UACV;AAAA,UACA,iBAAiB,EAAE,MAAM;AAAA,UACzB,SAAS,EAAE,MAAM,QAAQ,KAAK;AAAA,UAC9B,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA;AAAA,QACrC;AAAA,QACA;AAAA,QACA;AAAA,QACA,qBAAmB;AAAA,QACnB;AAAA,QACA,yBAAsB;AAAA,QACrB,GAAG;AAAA,MAAA;AAAA,IAAA,GAEN;AAAA,EAEF,CAAC;AACD,mBAAiB,cAAc;ACrCxB,QAAM,YAAY;AAAA,IACxB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAMwC,0BAAe;AAAA,IACrB,SAASA,0BAAe;AAAA,EACzB;ACCO,QAAM,eAAsCvC,MAAK,KAAA,SAASwC,MAAK,EAAE,UAAU,cAAiC;AAClH,UAAM,CAAC,WAAW,YAAY,IAAIvC,MAAAA,SAAkB,KAAK;AAEnD,UAAA,qBAAqBC,MAAAA,YAAY,MAAM;AAC5C,mBAAa,IAAI;AAAA,IAClB,GAAG,EAAE;AAEC,UAAA,qBAAqBA,MAAAA,YAAY,MAAM;AAC5C,mBAAa,KAAK;AAAA,IACnB,GAAG,EAAE;AAEL,WAAO,SAAS;AAAA,MACf,WAAW,eAAe,SAAY,aAAa;AAAA,MACnD,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,IAAA,CAChB;AAAA,EACF,CAAC;ACtBY,QAAA,eAAeV,MAA6B,cAAA,EAAmB;ACPrE,QAAMiD,cAAYlD,uBAAA;AAAA,IACxB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,SAAS,CAAC,cAAc,4BAA4B,yBAAyB,qBAAqB;AAAA,UAClG,MAAM,CAAC,oBAAoB,oBAAoB;AAAA,UAC/C,SAAS,CAAC,cAAc,0BAA0B,kBAAkB,kBAAkB;AAAA,UACtF,OAAO,CAAC,kBAAkB,kBAAkB;AAAA,QAC7C;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,SAAS;AAAA,UACrB,IAAI,CAAC,OAAO,SAAS;AAAA,UACrB,IAAI,CAAC,OAAO,WAAW;AAAA,UACvB,IAAI,CAAC,OAAO,SAAS;AAAA,UACrB,IAAI,CAAC,OAAO,SAAS;AAAA,QAAA;AAAA,MAEvB;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,EAEF;AAEO,QAAM,aAAaA,uBAAAA,IAAI,CAAC,4BAA4B,GAAG;AAAA,IAC7D,UAAU;AAAA,MACT,SAAS;AAAA,QACR,SAAS,CAAC,6BAA6B,0BAA0B,4BAA4B;AAAA,QAC7F,MAAM,CAAC,6BAA6B,0BAA0B,4BAA4B;AAAA,QAC1F,SAAS,CAAC,2BAA2B,4BAA4B;AAAA,QACjE,OAAO,CAAC,uDAAuD;AAAA,MAChE;AAAA,MACA,MAAM;AAAA,QACL,IAAI,CAAC,UAAU;AAAA,QACf,IAAI,CAAC,YAAY;AAAA,QACjB,IAAI,CAAC,UAAU;AAAA,QACf,IAAI,CAAC,YAAY;AAAA,QACjB,IAAI,CAAC,UAAU;AAAA,MAAA;AAAA,IAEjB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EAEX,CAAC;AAEM,QAAM,YAAYA,uBAAA,IAAI,CAAC,aAAa,MAAM,GAAG;AAAA,IACnD,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,MAAM;AAAA,QACX,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,MAAM;AAAA,QACX,IAAI,CAAC,QAAQ;AAAA,QACb,IAAI,CAAC,MAAM;AAAA,MACZ;AAAA,MACA,SAAS;AAAA,QACR,SAAS,CAAC,oBAAoB;AAAA,QAC9B,MAAM,CAAC,oBAAoB;AAAA,QAC3B,SAAS,CAAC,mBAAmB;AAAA,QAC7B,OAAO,CAAC,mBAAmB;AAAA,MAAA;AAAA,IAE7B;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;ACrEY,QAAA,aAAaI,MAAA,WAA8C,CAAC,OAAO,QAAQ;AACvF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAC/B,UAAM,EAAE,MAAM,YAAYF,MAAAA,WAAW,YAAY;AAGhD,WAAAK,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW,WAAW,EAAE,MAAM,QAAA,CAAS,GAAG,+BAA+B;AAAA,QACvF;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,aAAW,cAAc;ACTZ,QAAA,YAAYJ,MAAA,WAA2C,CAAC,OAAO,QAAQ;AACnF,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,cAAc,gBAAgB;AAAA,MAC9B,SAAS,gBAAgB;AAAA,MACzB,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA,IAAC,aAAa,UAAb,EAAsB,OAAO,EAAE,MAAM,WACrC,UAAAA,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW0C,YAAU,EAAE,SAAS,MAAM,GAAG,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA,CAAC;AAAA,QAC7F;AAAA,QACA,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IAAA,GAEN;AAAA,EAEF,CAAC;AACD,YAAU,cAAc;ACzBX,QAAA,YAAY9C,MAAA,WAA2C,CAAC,OAAO,QAAQ;AACnF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAE/B,UAAM,EAAE,MAAM,YAAYF,MAAAA,WAAW,YAAY;AAEjD,WAAQK,2BAAAA,IAAA,OAAA,EAAI,WAAWC,uBAAA,GAAG,WAAW,UAAU,EAAE,MAAM,QAAS,CAAA,GAAG,mBAAmB,GAAG,KAAW,GAAG,MAAM;AAAA,EAC9G,CAAC;AACD,YAAU,cAAc;ACNjB,QAAM,QAAQ;AAAA,IACpB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,EACP;ACAa,QAAA,gBAAgBP,MAA8B,cAAA,CAAoB,CAAA;AAElE,QAAA,mBAAmB,MAAMC,MAAAA,WAAW,aAAa;ACRvD,QAAM,YAAYO,MAAA;AAAA,IACxBL,iBAA2C,CAAC,OAAO,QAAQ;AAC1D,YAAM,EAAE,UAAU,WAAW,GAAG,KAAS,IAAA;AACzC,YAAM,EAAE,aAAa,MAAM,IAAI,iBAAiB;AAChD,aACC,CAAC,cACCG,2BAAAA,IAAA,OAAA,EAAI,WAAWC,uBAAAA,GAAG,WAAW,kBAAkB,GAAG,KAAW,GAAG,MAC/D,SACF,CAAA;AAAA,IAGF,CAAA;AAAA,EACF;ACLa,QAAA,OAAOC,MAAAA,KAAK,CAAC,UAAqB;AAC9C,UAAM,EAAE,UAAU,QAAQ,OAAO,aAAa,UAAU;AACxD,UAAM,CAAC,kBAAkB,mBAAmB,IAAIC,MAAAA,SAAkB,KAAK;AACvE,UAAM,CAAC,mBAAmB,oBAAoB,IAAIA,MAAAA,SAAkB,KAAK;AAEzE,UAAM,eAAeP,MAAA;AAAA,MACpB,OAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAED,CAAC,YAAY,kBAAkB,mBAAmB,KAAK;AAAA,IACxD;AAEA,0CAAQ,cAAc,UAAd,EAAuB,OAAO,cAAe,UAAS;AAAA,EAC/D,CAAC;AACD,OAAK,cAAc;ACCZ,WAAS,sBACf,sBACA,eAAwC,yCAAY,SAAS,MAC5D;AACK,UAAA,2BAA2B,eAAe,oBAAoB;AAC9D,UAAA,8BAA8BgD,aAAgB,KAAK;AACnD,UAAA,iBAAiBA,MAAAA,OAAO,MAAM;AAAA,IAAA,CAAE;AAEtCjC,UAAAA,UAAU,MAAM;AACT,YAAA,oBAAoB,CAAC,UAAwB;AAClD,YAAI,MAAM,UAAU,CAAC,4BAA4B,SAAS;AACnD,gBAAA,cAAc,EAAE,eAAe,MAAM;AAE3C,gBAAM,2CAA2C,MAAM;AACzB,yCAAA,sBAAsB,0BAA0B,aAAa;AAAA,cACzF,UAAU;AAAA,YAAA,CACV;AAAA,UACF;AAcI,cAAA,MAAM,gBAAgB,SAAS;AACrB,yBAAA,oBAAoB,SAAS,eAAe,OAAO;AAChE,2BAAe,UAAU;AACzB,yBAAa,iBAAiB,SAAS,eAAe,SAAS,EAAE,MAAM,MAAM;AAAA,UAAA,OACvE;AACmC,qDAAA;AAAA,UAAA;AAAA,QAC1C,OACM;AAGO,uBAAA,oBAAoB,SAAS,eAAe,OAAO;AAAA,QAAA;AAEjE,oCAA4B,UAAU;AAAA,MACvC;AAcM,YAAA,UAAU,OAAO,WAAW,MAAM;AAC1B,qBAAA,iBAAiB,eAAe,iBAAiB;AAAA,SAC5D,CAAC;AACJ,aAAO,MAAM;AACZ,eAAO,aAAa,OAAO;AACd,qBAAA,oBAAoB,eAAe,iBAAiB;AACpD,qBAAA,oBAAoB,SAAS,eAAe,OAAO;AAAA,MACjE;AAAA,IAAA,GACE,CAAC,cAAc,wBAAwB,CAAC;AAEpC,WAAA;AAAA;AAAA,MAEN,sBAAsB,MAAO,4BAA4B,UAAU;AAAA,IACpE;AAAA,EACD;AAEA,WAAS,4BAAmD,QAAqB,OAAU;AAC1F,QAAI,OAAiB,UAAA,UAAU,MAAM,OAAO,cAAc,KAAK,CAAC;AAAA,EACjE;AACA,WAAS,6BACR,MACA,SACA,QACA,EAAE,YACD;AACK,UAAA,SAAS,OAAO,cAAc;AAC9B,UAAA,QAAQ,IAAI,YAAY,MAAM,EAAE,SAAS,OAAO,YAAY,MAAM,QAAQ;AAC5E,QAAA,gBAAgB,iBAAiB,MAAM,SAA0B,EAAE,MAAM,MAAM;AAEnF,QAAI,UAAU;AACb,kCAA4B,QAAQ,KAAK;AAAA,IAAA,OACnC;AACN,aAAO,cAAc,KAAK;AAAA,IAAA;AAAA,EAE5B;AAGO,WAAS,eAMd,UAA4B;AACvB,UAAA,cAAciC,aAAO,QAAQ;AAEnCjC,UAAAA,UAAU,MAAM;AACf,kBAAY,UAAU;AAAA,IAAA,CACtB;AAEM,WAAAf,MAAA,QAAQ,MAAO,IAAI,SAAS;;AAAA,+BAAY,YAAZ,qCAAsB,GAAG;AAAA,OAAa,EAAE;AAAA,EAC5E;AC1EA,QAAM,mBAAmB;AAIZ,QAAA,WAAWM,MAAA;AAAA,IACvBL,iBAA0C,CAAC,OAAO,QAAQ;AACnD,YAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR;AAAA,QACA,aAAa;AAAA,QACb;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,IACG;AACJ,YAAM,SAAS,SAAS;AACxB,YAAM,CAAC,iBAAiB,kBAAkB,IAAIM,MAAAA,SAAsB,SAAS,IAAI;AAC3E,YAAA,uBAAuByC,aAAuB,IAAI;AAClD,YAAA,WAAWA,aAAuB,IAAI;AACtC,YAAA,UAAUA,aAAuB,IAAI;AAC3C,YAAM,aAAa,UAAU,CAAC,KAAK,UAAU,OAAO,CAAC;AACrD,YAAM,CAAC,YAAY,aAAa,IAAIzC,MAAAA,SAAS,KAAK;AAClD,YAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAwB,IAAI;AAChE,YAAA,cAAcyC,aAAsB,IAAI;AAExC,YAAA,gBAAgBxC,MAAAA,YAAY,MAAM;AACvC,YAAI,SAAS,WAAW;AACb,oBAAA;AAAA,QAAA;AAAA,MACX,GACE,CAAC,OAAO,SAAS,CAAC;AAEf,YAAA,8BAA8BA,kBAAY,CAAC,YAAmC;AACnF,YAAI,SAAS;AACZ,6BAAmB,OAAO;AAAA,QAAA;AAAA,MAE5B,GAAG,EAAE;AAGLO,YAAAA,UAAU,MAAM;AACX,YAAA,CAAC,qBAAqB,QAAS;AAC7B,cAAA,8BAA8B,qBAAqB,QAAQ,MAAM;AAIvE,YAAI,QAAQ,OAAO;AACG,+BAAA,QAAQ,MAAM,gBAAgB;AAAA,QAAA;AAEpD,eAAO,MAAM;AACZ,cAAI,qBAAqB,SAAS;AAGZ,iCAAA,QAAQ,MAAM,gBAAgB;AAAA,UAAA;AAAA,QAErD;AAAA,SACE,CAAC,OAAO,MAAM,gBAAgB,KAAK,CAAC;AAEvC,YAAM,EAAE,sBAAsB,yBAAA,IAA6B,sBAAsB,eAAe,eAAe;AAG/G,YAAM,0BAA0Bf,MAAA;AAAA,QAC/B,OAAO;AAAA,UACN,OAAO,SAAS,4BAA4B;AAAA,UAC5C,aAAa,SACV,2DACA;AAAA,UACH,WAAW,SAAS,SAAS;AAAA,UAC7B,YAAY,SACT,8EACA;AAAA,UACH,UAAU,SAAS,4BAA4B;AAAA,QAAA;AAAA,QAEhD,CAAC,MAAM;AAAA,MACR;AAEM,YAAA,kBAAqCQ,kBAAY,CAAC,MAAM;AACvD,cAAA,EAAE,YAAY;AAEpB,oBAAY,UAAU;AAEtB,sBAAc,IAAI;AAAA,MACnB,GAAG,EAAE;AAEL,YAAM,kBAAkBA,MAAA;AAAA,QACvB,CAAC,MAAkB;AAClB,cAAI,CAAC,WAAY;AAEX,gBAAA,EAAE,YAAY;AAEpB,gBAAM,UAAU,UAAU,YAAY,YAAa,SAAS,IAAI;AAEhE,sBAAY,UAAU;AAEL,2BAAA,CAAC,cAAc,YAAa,MAAM;AAAA,QACpD;AAAA,QACA,CAAC,QAAQ,UAAU;AAAA,MACpB;AAEM,YAAA,gBAAgBA,MAAAA,YAAY,MAAM;AACvC,YAAI,CAAC,WAAY;AACjB,oBAAY,UAAU;AACtB,sBAAc,KAAK;AAAA,MAAA,GACjB,CAAC,UAAU,CAAC;AAEfO,YAAAA,UAAU,MAAM;AACR,eAAA,iBAAiB,aAAa,eAAe;AAC7C,eAAA,iBAAiB,WAAW,aAAa;AAEhD,eAAO,MAAM;AACL,iBAAA,oBAAoB,aAAa,eAAe;AAChD,iBAAA,oBAAoB,WAAW,aAAa;AAAA,QACpD;AAAA,MAAA,GACE,CAAC,iBAAiB,aAAa,CAAC;AAEnCF,YAAAA,gBAAgB,MAAM;AACrB,YAAI,CAAC,KAAM;AACM,yBAAA,SAAS,QAAS,WAAW;AAAA,MAAA,GAC5C,CAAC,IAAI,CAAC;AAET,YAAM,iBAAiBb,MAAA;AAAA,QACtB,OACE;AAAA,UACA,GAAG;AAAA,UACH,OAAO,iBAAiB;AAAA,UACxB;AAAA,UACA;AAAA,UACA;AAAA,UACA,qBAAqB,GAAG,aAAa,GAAG,OAAO,kBAAkB,WAAW,OAAO,EAAE;AAAA,QAAA;AAAA,QAEvF,CAAC,eAAe,cAAc,UAAU,UAAU,UAAU,KAAK;AAAA,MAClE;AAEA,YAAM,kBAAkBA,MAAA;AAAA,QACvB,OAAO,EAAE,MAAM,cAAc,CAAC,QAAQ,OAAO,cAAc;QAC3D,CAAC,QAAQ,UAAU;AAAA,MACpB;AAEA,YAAMiD,YAAWjD,MAAA;AAAA,QAChB;AAAA;AAAA;AAAA,UAGCI,2BAAA;AAAA,YAAC8C,qBAAA;AAAA,YAAA;AAAA,cACA,YAAY;AAAA,cACZ,IAAI;AAAA,cACJ,SAAS;AAAA,cACT,eAAa;AAAA,cACb,cAAY;AAAA,cACZ,YAAY;AAAA,cACZ,UAAU;AAAA,cACV;AAAA,cAEA,UAAAhD,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACA,WAAWG,uBAAA,GAAG,WAAW,SAAS,YAAY;AAAA,oBAC7C,UAAU;AAAA,oBACV,WAAW,CAAC;AAAA,oBACZ,UAAU,aAAa;AAAA,oBACvB,UAAU,aAAa;AAAA,kBAAA,CACvB;AAAA,kBACD,KAAK;AAAA,kBACL,sBAAsB;AAAA,kBACtB,aAAW;AAAA,kBACX,OAAO;AAAA,kBAEP,UAAA;AAAA,oBAAAD,2BAAA;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACA,WAAWC,0BAAG,mCAAmC;AAAA,0BAChD,WAAW;AAAA,0BACX,UAAU,CAAC;AAAA,0BACX,uBAAuB,CAAC;AAAA,wBAAA,CACxB;AAAA,wBACD,aAAa;AAAA,wBACb,iBAAe,aAAa,KAAK;AAAA,sBAAA;AAAA,oBAClC;AAAA,oBACC;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA;AAAA,QAGF;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAEF;AAGC,aAAAH,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAU;AAAA,UACV,KAAK;AAAA,UAEJ,UAAA;AAAA,YAAS,SAAA,UAAU,CAAC,QAElBA,2BAAAA,KAAAiD,WAAAA,UAAA,EAAA,UAAA;AAAA,cAAQ,QAAA;AAAA,cAAiB;AAAA,cAAE,WAAWF;AAAAA,YAAA,GACxC;AAAA,2CAEA,OAAI,EAAA,WAAU,+CAA8C,KAAK,sBAChE,UACF;AAAA,YACC,SAAS,WAAW,CAAC,QAEnB/C,2BAAAA,KAAAiD,WAAAA,UAAA,EAAA,UAAA;AAAA,cAAQ,QAAA;AAAA,cAAiB;AAAA,cAAE,WAAWF;AAAAA,YAAA,EACxC,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAEF;AAAA,IAED,CAAA;AAAA,EACF;AChSA,QAAM,wBAAwB;AAkB9B,QAAM,eAAe3C,MAAA;AAAA,IACpBL,iBAOE,CAAC,OAAO,QAAQ;AACjB,YAAM,EAAE,OAAO,WAAW,IAAI,iBAAiB;AACzC,YAAA,EAAE,WAAW,cAAc,iBAAiB,aAAa,MAAM,GAAG,SAAS;AAEjFc,YAAAA,UAAU,MAAM;AAEX,YAAA,UAAS,2CAAa,WAAU,QAAW;AAC9C,0BAAgB,2CAAa,KAAK;AAAA,QACxB,WAAA,CAAC,UAAS,2CAAa,WAAU,QAAW;AACtD,0BAAgB,2CAAa,KAAK;AAAA,QAAA;AAAA,MAEjC,GAAA,CAAC,aAAa,iBAAiB,KAAK,CAAC;AAGlC,YAAA,gBAAgBP,MAAAA,YAAY,MAAM;AACvC,wBAAgB,KAAK;AAAA,MAAA,GACnB,CAAC,eAAe,CAAC;AAGpB,YAAM,cAAcR,MAAA;AAAA,QACnB,OAAO;AAAA;AAAA,UAEN,GAAG;AAAA,YACF,MAAM;AAAA,YACN,cAAc;AAAA,YACd,OAAO;AAAA,YACP,WAAW;AAAA,YACX,UAAW,QAAQ,aAAa;AAAA,UACjC;AAAA;AAAA,UAEA,GAAG;AAAA,QAAA;AAAA,QAEJ,CAAC,eAAe,MAAM,cAAc,KAAK;AAAA,MAC1C;AAEA,aACC,CAAC,cACAI,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAWC,uBAAA,GAAG,2BAA2B,IAAI,IAAI,SAAS;AAAA,UAC1D;AAAA,UACA;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,IAGF,CAAA;AAAA,EACF;AAMO,QAAM,eAAeC,MAAA;AAAA,IAC3BL,iBAAgD,CAAC,OAAO,QAAQ;AAC/D,YAAM,EAAE,kBAAkB,oBAAoB,IAAI,iBAAiB;AAGlE,aAAAG,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,cAAc;AAAA,UACd,iBAAiB;AAAA,UACjB;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,IAED,CAAA;AAAA,EACF;AAGO,QAAM,gBAAgBE,MAAA;AAAA,IAC5BL,iBAAgD,CAAC,OAAO,QAAQ;AAC/D,YAAM,EAAE,mBAAmB,qBAAqB,IAAI,iBAAiB;AAGpE,aAAAG,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,cAAc;AAAA,UACd,iBAAiB;AAAA,UACjB;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,IAED,CAAA;AAAA,EACF;ACvGO,QAAM,kBAAkBE,MAAA;AAAA,IAC9BL,iBAA+C,CAAC,OAAO,QAAQ;AACxD,YAAA,EAAE,WAAW,QAAQ,MAAM,gBAAgB,OAAO,GAAG,SAAS;AACpE,YAAM,EAAE,OAAO,YAAY,kBAAkB,kBAAA,IAAsB,iBAAiB;AAE9E,YAAA,cAAcD,MAAAA,QAAQ,MAAM;AAE7B,YAAA,WAAW,OAAkB,QAAA;AAGjC,YAAI,WAAmB,QAAA;AAGnB,YAAA,iBAAiB,CAAC,MAAc,QAAA;AAG7B,eAAA,SAAS,SAAS,mBAAmB;AAAA,MAAA,GAC1C,CAAC,QAAQ,YAAY,kBAAkB,mBAAmB,MAAM,OAAO,aAAa,CAAC;AAGvF,aAAA,eACEI,2BAAA,IAAA,OAAA,EAAI,WAAWC,uBAAA,GAAG,0BAA0B,WAAW,eAAe,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,IAGhG,CAAA;AAAA,EACF;AC1BA,WAAS,qBAAqB,WAAoB,MAAmC;AACpF,YAAQ,MAAM;AAAA,MACb,KAAK;AACJ,eAAO,CAAC;AAAA,MACT,KAAK;AACG,eAAA;AAAA,MACR,KAAK;AACG,eAAA;AAAA,IAAA;AAAA,EAEV;AACO,QAAM,kBAAkBC,MAAA;AAAA,IAC9BL,iBAAoD,CAAC,OAAO,QAAQ;AACnE,YAAM,EAAE,MAAM,OAAO,UAAU,SAAa,IAAA;AAC5C,YAAM,EAAE,qBAAqB,qBAAqB,IAAI,iBAAiB;AAEjE,YAAA,cAAcO,MAAAA,YAAY,MAAM;AAC/B,cAAA,kBAAkB,SAAS,SAAS,sBAAsB;AAChE,wBAAgB,CAAC,cAAc,qBAAqB,WAAW,IAAI,CAAC;AAAA,SAClE,CAAC,qBAAqB,sBAAsB,MAAM,IAAI,CAAC;AAE1D,aACEJ,2BAAAA,IAAAgD,UAAAA,MAAA,EAAK,KAAU,SAAS,aACvB,UACF;AAAA,IAED,CAAA;AAAA,EACF;AC/BO,QAAM,SAAS;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;ACXO,QAAM,UAAUvD,uBAAAA,IAAI,CAAC,gBAAgB,GAAG;AAAA,IAC9C,UAAU;AAAA,MACT,MAAM;AAAA,QACL,MAAM,CAAC,uBAAuB,mBAAmB;AAAA,QACjD,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,WAAW;AAAA,QAChB,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,MACnB;AAAA,MACA,QAAQ;AAAA,QACP,OAAO,CAAC,YAAY;AAAA,QACpB,SAAS,CAAC,aAAa;AAAA,QACvB,QAAQ,CAAC,aAAa;AAAA,QACtB,MAAM,CAAC,WAAW;AAAA,MACnB;AAAA,MACA,OAAO;AAAA,QACN,MAAM,CAAC,WAAW;AAAA,QAClB,QAAQ,CAAC,aAAa;AAAA,QACtB,OAAO,CAAC,YAAY;AAAA,MAAA;AAAA,IAEtB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IAAA;AAAA,EAET,CAAC;AC5BY,QAAA,OAAOI,MAAA,WAAyC,CAAC,OAAO,QAAQ;AAC5E,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,cAAc,gBAAgB;AAAA,MAC9B,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW,QAAQ,EAAE,MAAM,QAAQ,MAAM,CAAC,GAAG;AAAA,UAC1D,uBAAuB,CAAC;AAAA,UACxB,uBAAuB;AAAA,QAAA,CACvB;AAAA,QACD,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,OAAK,cAAc;AC7BN,QAAA,0BAA0BP,MAAc,cAAA,EAAkB;ACI1D,QAAA,mBAA8C,CAAC,UAAU;AAC/D,UAAA,EAAE,aAAa;AAEf,UAAA,UAAUC,iBAAW,uBAAuB;AAElD,UAAM,mBAAmB,OAAO,aAAa,aAAa,SAAS,YAAY,eAAe,IAAI;AAE3F,WAAA,YAAY,QAAQ,mBAAmB;AAAA,EAC/C;ACdO,QAAM,WAAWF,uBAAA;AAAA,IACvB,CAAC,eAAe,YAAY,QAAQ,gBAAgB,WAAW,gBAAgB,gCAAgC;AAAA,IAC/G;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,WAAW,WAAW,QAAQ;AAAA,UAC1C,IAAI,CAAC,OAAO,WAAW,YAAY,SAAS;AAAA,UAC5C,IAAI,CAAC,OAAO,aAAa,SAAS,MAAM;AAAA,UACxC,IAAI,CAAC,OAAO,WAAW,YAAY,SAAS;AAAA,UAC5C,IAAI,CAAC,OAAO,WAAW,WAAW,QAAQ;AAAA,QAC3C;AAAA,QACA,SAAS;AAAA,UACR,OAAO;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAM,CAAC,oBAAoB,qDAAqD;AAAA,QAAA;AAAA,MAElF;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,EAEF;AAEO,QAAM,gBAAgBA,uBAAI,IAAA,CAAC,QAAQ,kBAAkB,UAAU,UAAU,GAAG;AAAA,IAClF,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,WAAW,QAAQ;AAAA,QACxB,IAAI,CAAC,YAAY,SAAS;AAAA,QAC1B,IAAI,CAAC,SAAS,MAAM;AAAA,QACpB,IAAI,CAAC,YAAY,SAAS;AAAA,QAC1B,IAAI,CAAC,WAAW,QAAQ;AAAA,MAAA;AAAA,IAE1B;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;AAEM,QAAM,wBAAwBA,uBAAAA,IAAI,CAAC,QAAQ,gBAAgB,gBAAgB,GAAG;AAAA,IACpF,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,OAAO,KAAK;AAAA,QACjB,IAAI,CAAC,OAAO,KAAK;AAAA,QACjB,IAAI,CAAC,OAAO,KAAK;AAAA,QACjB,IAAI,CAAC,OAAO,KAAK;AAAA,QACjB,IAAI,CAAC,OAAO,KAAK;AAAA,MAAA;AAAA,IAEnB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;AAEM,QAAM,cAAcA,uBAAA;AAAA,IAC1B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA,IAGD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,SAAS,SAAS;AAAA,UACvB,IAAI,CAAC,UAAU,SAAS;AAAA,UACxB,IAAI,CAAC,OAAO,SAAS;AAAA,UACrB,IAAI,CAAC,UAAU,SAAS;AAAA,UACxB,IAAI,CAAC,SAAS,SAAS;AAAA,QACxB;AAAA,QACA,QAAQ;AAAA,UACP,MAAM,CAAC,cAAc;AAAA,UACrB,IAAI,CAAC,YAAY;AAAA,UACjB,IAAI,CAAC,YAAY;AAAA,UACjB,IAAI,CAAC,YAAY;AAAA,UACjB,IAAI,CAAC,YAAY;AAAA,UACjB,IAAI,CAAC,YAAY;AAAA,UACjB,MAAM,CAAC,YAAY;AAAA,QAAA;AAAA,MAErB;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AAEO,QAAM,cAAcA,uBAAA,IAAI,CAAC,mBAAmB,oBAAoB,GAAG;AAAA,IACzE,UAAU;AAAA,MACT,OAAO;AAAA,QACN,MAAM,CAAC,qBAAqB;AAAA,QAC5B,OAAO,CAAC,qBAAqB;AAAA,MAAA;AAAA,IAE/B;AAAA,IACA,iBAAiB;AAAA,MAChB,OAAO;AAAA,IAAA;AAAA,EAET,CAAC;AAEM,QAAM,YAAYA,uBAAA;AAAA,IACxB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,WAAW,UAAU,SAAS;AAAA,UAC1C,IAAI,CAAC,OAAO,WAAW,WAAW,UAAU;AAAA,UAC5C,IAAI,CAAC,OAAO,aAAa,QAAQ,OAAO;AAAA,UACxC,IAAI,CAAC,OAAO,WAAW,WAAW,UAAU;AAAA,UAC5C,IAAI,CAAC,OAAO,WAAW,UAAU,SAAS;AAAA,QAAA;AAAA,MAE5C;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AC9Ga,QAAA,cAAcC,MAA4B,cAAA,EAAkB;AAE5D,QAAA,iBAAiB,MAAMC,MAAAA,WAAW,WAAW;AC5BnD,QAAM,wBAAwB;AAE9B,QAAM,uBAAuB;AAE7B,QAAM,0BAA0B;ACqBvC,QAAM,iBAAiB;AAEV,QAAA,WAA8B,CAAC,UAAU;AAC/C,UAAA;AAAA,MACL;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA;AAAA,MAGR,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IAAA,IACG;AAEE,UAAA,CAAC,MAAM,OAAO,IAAI,mBAA4B,eAAe,OAAO,gBAAgB,YAAY;AAEtG,UAAM,CAAC,aAAa,cAAc,IAAIQ,MAAAA,SAAwB,IAAI;AAElE,UAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAiC,IAAI;AAErE,UAAA,cAAcyC,MAAyB,OAAA,EAAE;AAE/C,UAAM,SAASK,MAAAA,kBAAkB;AAEjC,UAAM,EAAE,MAAM,gBAAgB,SAAS,eAAA,IAAmBC,MAAAA,YAA4B;AAAA,MACrF;AAAA,MACA,UAAU;AAAA,MACV,WAAY,QAAQ,UAAU,WAAW,MAAM,QAAQ;AAAA,MACvD,sBAAsBC,MAAA;AAAA,MACtB;AAAA,MACA,cAAc;AAAA,MACd,YAAY;AAAA,QACXC,MAAAA,OAAiB,EAAE,UAAU,UAAU,gBAAgB;AAAA,QACvDC,WAAe;AAAA,UACd,MAAM,EAAE,iBAAiB,YAAY;AACpC,qBAAS,SAAS,MAAM;AAAA,cACvB;AAAA,cACA,GAAG,KAAK,IAAI,iBAAiB,uBAAuB,CAAC;AAAA,YACtD;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QAAA,CACT;AAAA,QACDC,WAAK,EAAE,kBAAkB,oBAAoB;AAAA,QAC7CC,YAAM,EAAE,SAAS,uBAAuB;AAAA,QACxCC,MAAK,KAAA;AAAA,MAAA;AAAA,IACN,CACA;AAEK,UAAA,OAAOC,cAAQ,SAAS;AAAA,MAC7B,MAAM;AAAA,IAAA,CACN;AAEK,UAAA,UAAUC,iBAAW,SAAS;AAAA,MACnC,SAAS;AAAA,MACT,gBAAgB,gBAAgB,aAAa,gBAAgB;AAAA,IAAA,CAC7D;AAEK,UAAA,QAAQC,eAAS,SAAS;AAAA,MAC/B,SAAS,gBAAgB;AAAA,IAAA,CACzB;AAEK,UAAA,iBAAiBC,wBAAkB,SAAS;AAAA,MACjD,SAAS;AAAA,MACT;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,IAAA,CACA;AAED,UAAM,EAAE,kBAAkB,cAAc,kBAAA,IAAsBC,MAAAA,gBAAgB;AAAA,MAC7E;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACA;AAED,0CACEC,MAAAA,cACA,EAAA,UAAA9D,2BAAA;AAAA,MAAC,YAAY;AAAA,MAAZ;AAAA,QACA,OAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,QAEC;AAAA,MAAA;AAAA,IAAA,GAEH;AAAA,EAEF;AACA,WAAS,cAAc;AC5GV,QAAA,qBAAqBN,MAAmC,cAAA,EAAyB;AAEjF,QAAA,wBAAwB,MAAMC,MAAAA,WAAW,kBAAkB;ACX3D,QAAA,cAAcO,MAAA;AAAA,IAC1BL,iBAA6C,CAAC,OAAO,iBAAiB;;AACrE,YAAM,kBAAkB,YAAY;AAC9B,YAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS,gBAAgB;AAAA,QACzB,cAAc;AAAA,QACd,GAAG;AAAA,MAAA,IACA;AACE,YAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,UACG,eAAe;AAEb,YAAA,yBAAwCD,MAAAA,QAAQ,MAAM;;AACpD,eAAA;AAAA,UACN,GAAG;AAAA,UACH,cAAYmE,MAAA,eAAe,SAAf,gBAAAA,IAAqB,mBAAkB,WAAW;AAAA,QAC/D;AAAA,SACE,CAAC,iBAAgB,oBAAe,SAAf,mBAAqB,eAAe,CAAC;AAEzD,YAAM,2BAA2B3D,MAAA;AAAA,QAChC,CAAC,MAAM;AACF,cAAA,uBAAuB,CAAC;AAAA,QAC7B;AAAA,QACA,CAAC,KAAK;AAAA,MACP;AAEA,4CACE4D,MAAAA,cAAa,EAAA,IAAI,QAChB,UAAA,uCACCC,sBACA,EAAA,UAAAjE,2BAAA;AAAA,QAACkE,MAAA;AAAA,QAAA;AAAA,UACA,WAAW,YAAY,EAAE,OAAO;AAAA,UAChC,SAAS;AAAA,UACT,YAAU;AAAA,UACV,yBAAsB;AAAA,UAEtB,UAAClE,2BAAA,IAAAmE,4BAAA,EAAqB,SACrB,UAAAnE,2BAAA,IAACoE,sBAAa,aACb,UAAApE,2BAAA;AAAA,YAAC,mBAAmB;AAAA,YAAnB;AAAA,cACA,OAAO;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,cAEA,UAAAA,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACA,WAAU;AAAA,kBACV,KAAK,KAAK;AAAA,kBACV,UAAU;AAAA,kBACV,OAAO;AAAA,kBACP,yBAAsB;AAAA,kBACrB,GAAG,iBAAiB;AAAA,kBAErB,UAAAA,2BAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACA,WAAWC,uBAAA;AAAA,wBACV;AAAA,wBACA,YAAY,EAAE,MAAM;AAAA,wBACpB,SAAS,EAAE,MAAM,QAAQ,KAAK;AAAA,wBAC9B,UAAU,EAAE,QAAQ,UAAU,MAAM;AAAA,wBACpC;AAAA,sBACD;AAAA,sBACA,KAAK;AAAA,sBACL,cAAY,OAAO,SAAS;AAAA,sBAC5B,aAAW;AAAA,sBACX,qBAAmB;AAAA,sBAClB,GAAG;AAAA,sBAEH;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YACD;AAAA,aAEF,EACD,CAAA;AAAA,QAAA;AAAA,SAEF,EAEF,CAAA;AAAA,IAED,CAAA;AAAA,EACF;AC3Fa,QAAA,aAAaP,MAA2B,cAAA,EAAiB;AAEzD,QAAA,gBAAgB,MAAMC,MAAAA,WAAW,UAAU;ACvB3C,QAAA,iBAAiB,CAAC,MAAgB,cAA6B;AAC3E,YAAQ,MAAM;AAAA,MACb,KAAK;AACJ,YAAI,cAAc,SAAS;AAC1B,iBAAO,EAAE,UAAU,uBAAuB,GAAG,WAAW,GAAsB;AAAA,QAAA,WACpE,cAAc,OAAO;AAC/B,iBAAO,EAAE,UAAU,uBAAuB,GAAG,WAAW,qBAAqB;AAAA,QAAA;AAE9E;AAAA,MACD,KAAK;AACJ,YAAI,cAAc,SAAS;AAC1B,iBAAO,EAAE,UAAU,uBAAuB,GAAG,WAAW,GAAsB;AAAA,QAAA,WACpE,cAAc,OAAO;AAC/B,iBAAO,EAAE,UAAU,uBAAuB,GAAG,WAAW,qBAAqB;AAAA,QAAA;AAE9E;AAAA,IAAA;AAEF,WAAO,EAAE,UAAU,uBAAuB,GAAG,WAAW,EAAE;AAAA,EAC3D;ACEa,QAAA,UAA4B,CAAC,UAAU;AAC7C,UAAA;AAAA,MACL;AAAA,MACA,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA;AAAA,MAER,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IAAA,IACG;AAEE,UAAA,CAAC,MAAM,OAAO,IAAI,mBAA4B,eAAe,OAAO,gBAAgB,YAAY;AAEtG,UAAM,SAASsD,MAAAA,kBAAkB;AAEjC,UAAM,EAAE,MAAM,gBAAgB,QAAA,IAAYC,MAAAA,YAAY;AAAA,MACrD;AAAA,MACA,UAAU;AAAA,MACV,sBAAsBC,MAAA;AAAA,MACtB;AAAA,MACA,cAAc,CAAC9C,OAAM,QAAQ,WAAW;AAEnC,YAAA,gBAAgBA,KAAI;AAAA,MACzB;AAAA,MACA,WAAY,QAAQ,UAAU,WAAW,MAAM,QAAQ;AAAA,MACvD,YAAY;AAAA,QACXgE,MAAAA,OAAO,EAAE,GAAG,eAAe,MAAM,KAAK,GAAG;AAAA,QACzChB,WAAe;AAAA,UACd,SAAS;AAAA,UACT,MAAM,EAAE,iBAAiB,YAAY;AACpC,qBAAS,SAAS,MAAM;AAAA,cACvB;AAAA,cACA,GAAG,KAAK,IAAI,iBAAiB,uBAAuB,CAAC;AAAA,YACtD;AAAA,UAAA;AAAA,QACD,CACA;AAAA,QACDC,WAAK;AAAA,QACLC,YAAM,EAAE,SAAS,uBAAuB;AAAA,QACxCC,MAAK,KAAA;AAAA,MAAA;AAAA,IACN,CACA;AAEK,UAAA,UAAUE,iBAAW,SAAS;AAAA,MACnC,SAAS;AAAA,MACT,cAAc;AAAA,IAAA,CACd;AAEK,UAAA,QAAQY,eAAS,SAAS;AAAA,MAC/B,QAAQ;AAAA,MACR,aAAaC,MAAAA,YAAY;AAAA,QACxB,oBAAoB;AAAA,QACpB,eAAe;AAAA,MAAA,CACf;AAAA,MACD,SAAS,CAAC;AAAA,IAAA,CACV;AAEK,UAAA,QAAQZ,eAAS,SAAS;AAAA,MAC/B,SAAS,CAAC;AAAA,IAAA,CACV;AAEK,UAAA,cAAcf,MAAyB,OAAA,EAAE;AAE/C,UAAM,CAAC,aAAa,cAAc,IAAIzC,MAAAA,SAAwB,IAAI;AAE5D,UAAA,iBAAiByD,wBAAkB,SAAS;AAAA,MACjD,SAAS;AAAA,MACT,QAAQ;AAAA,MACR;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,KAAK,SAAS;AAAA,IAAA,CACd;AAED,UAAM,EAAE,kBAAkB,cAAc,kBAAA,IAAsBC,MAAAA,gBAAgB;AAAA,MAC7E;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACA;AAGA,WAAA7D,2BAAA;AAAA,MAAC,WAAW;AAAA,MAAX;AAAA,QACA,OAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,QAEC;AAAA,MAAA;AAAA,IACF;AAAA,EAEF;AACA,UAAQ,cAAc;AC3HtB,QAAM,sBAAsB,CAAC,SAAS,GAAG;AAE5B,QAAA,WAAWE,MAAA;AAAA,IACvBL,iBAA0C,CAAC,OAAO,iBAAiB;AAClE,YAAM,kBAAkB,eAAe;AACjC,YAAA,EAAE,cAAc,aAAa,SAAS,MAAM,SAAS,WAAW,sBAAsB;AACtF,YAAA,EAAE,UAAU,IAAI,cAAc;AAC9B,YAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAEhB;AAAA,QACA,GAAG;AAAA,MAAA,IACA;AAEJ,YAAM,EAAE,KAAK,MAAM,IAAI2E,kBAAY;AAEnC,YAAMC,aAAYC,MAAA,aAAa,CAAC,KAAK,YAAY,CAAC;AAElD,YAAM,cAActE,MAAA;AAAA,QACnB,CAAC,MAAM;AACN,YAAE,gBAAgB;AAClB,cAAI,SAAU;AACV,cAAA,iBAAiB,CAAC;AACtB,cAAI,SAAmB,UAAA;AACnB,cAAA,uBAAuB,KAAK;AAC5B,cAAA,UAA2B,iBAAA,QAAQ,KAAK;AAAA,QAC7C;AAAA,QACA,CAAC,eAAe,WAAW,UAAU,iBAAiB,SAAS,UAAU,OAAO;AAAA,MACjF;AAEA,YAAM,gBAAgBA,MAAA;AAAA,QACrB,CAAC,MAAM;AACN,cAAI,SAAU;AACV,cAAA,qBAAqB,CAAC;AAC1B,cAAI,oBAAoB,SAAS,EAAE,GAAG,GAAG;AACxC,gBAAI,SAAmB,UAAA;AACnB,gBAAA,uBAAuB,KAAK;AAAA,UAAA;AAAA,QAElC;AAAA,QACA,CAAC,eAAe,UAAU,WAAW,UAAU,OAAO;AAAA,MACvD;AAEM,YAAA,WAAWR,MAAAA,QAAQ,MAAM,UAAU,aAAa,CAAC,aAAa,KAAK,CAAC;AAEpE,YAAA,mBAAmBA,MAAAA,QAAQ,MAAM;AAC/B,eAAA,OAAO,aAAa,aAAa,SAAS,EAAE,QAAQ,UAAU,UAAU,MAAO,CAAA,IAAI;AAAA,MAAA,GACxF,CAAC,UAAU,QAAQ,CAAC;AAGtB,aAAAI,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAWC,uBAAAA,GAAG,WAAW,SAAS,EAAE,MAAM,SAAS,GAAG,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA,CAAC;AAAA,UAC3F,KAAKwE;AAAA,UACL,MAAK;AAAA,UACL,iBAAe,WAAW,KAAK;AAAA,UAC/B,iBAAe;AAAA,UACf,oBAAkB,WAAW,KAAK;AAAA,UACjC,GAAG,aAAa;AAAA,YAChB,SAAS;AAAA,YACT,WAAW;AAAA,YACX,UAAU,WAAW,IAAI;AAAA,YACzB,GAAG;AAAA,UAAA,CACH;AAAA,UAEA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAED,CAAA;AAAA,EACF;AC7Ea,QAAA,mBAAmB5E,MAAA,WAAkD,CAAC,OAAO,QAAQ;AACjG,UAAM,EAAE,SAAS,iBAAiB,UAAU,GAAG,KAAS,IAAA;AAElD,UAAA,eAAeO,MAAAA,YAAY,MAAM;AAC3B;AAEX,cAAQ,SAAS;AAAA,QAChB,KAAK;AACJ,0BAAgB,KAAK;AACrB;AAAA,QACD,KAAK;AAAA,QACL,KAAK;AACJ,0BAAgB,IAAI;AACpB;AAAA,MAAA;AAAA,IAEA,GAAA,CAAC,SAAS,iBAAiB,QAAQ,CAAC;AAEvC,WACEJ,2BAAAA,IAAA,wBAAwB,UAAxB,EAAiC,OAAO,SACxC,UAACA,2BAAAA,IAAA,UAAA,EAAS,KAAU,UAAU,cAAe,GAAG,KAAM,CAAA,GACvD;AAAA,EAEF,CAAC;AACD,mBAAiB,cAAc;ACrBlB,QAAA,4BAA4BH,MAAA,WAAwD,CAAC,OAAO,QAAQ;AAChH,UAAM,EAAE,WAAW,UAAU,GAAG,KAAS,IAAA;AACnC,UAAA,EAAE,KAAK,IAAI,sBAAsB;AAEvC,0CACE,QAAK,EAAA,KAAU,WAAWI,0BAAG,WAAW,sBAAsB,EAAE,KAAM,CAAA,CAAC,GAAI,GAAG,MAC9E,UAACD,2BAAAA,IAAA,kBAAA,EAAkB,SAAS,CAAA,GAC7B;AAAA,EAEF,CAAC;AACD,4BAA0B,cAAc;ACX3B,QAAA,mBAAmBE,MAAA;AAAA,IAC/BL,iBAA+C,CAAC,OAAO,iBAAiB;AACvE,YAAM,EAAE,UAAU,WAAW,MAAU,IAAA;AACvC,YAAM,EAAE,mBAAmB,MAAM,gBAAgB,KAAA,IAAS,eAAe;AACzE,YAAM,aAAa6E,MAAAA,aAA0B,CAAC,KAAK,cAAc,YAAY,CAAC;AAE9E/D,YAAAA,UAAU,MAAM;AACf,uBAAe,OAAO;AAAA,MAAA,GACpB,CAAC,cAAc,CAAC;AAGlB,aAAAX,2BAAA;AAAA,QAACgD,UAAA;AAAA,QAAA;AAAA,UACA,KAAK;AAAA,UACL,iBAAe;AAAA,UACf,iBAAe,WAAW,KAAK;AAAA,UAC/B,cAAY,OAAO,SAAS;AAAA,UAC3B,GAAG,kBAAkB,EAAE,UAAoB;AAAA,UAE3C;AAAA,QAAA;AAAA,MACF;AAAA,IAED,CAAA;AAAA,EACF;ACtBa,QAAA,qBAAqB9C,MAAA;AAAA,IACjCL,iBAAiD,CAAC,OAAO,iBAAiB;AACnE,YAAA,EAAE,UAAU,SAAA,IAAa;AACzB,YAAA,MAAM+C,aAAoB,IAAI;AACpC,YAAM,EAAE,SAAS,MAAM,eAAA,IAAmB,eAAe;AACzD,YAAM,aAAa8B,MAAA,aAAa,CAAC,cAAc,GAAG,CAAC;AAEnD/D,YAAAA,UAAU,MAAM;AACf,uBAAe,SAAS;AAAA,MAAA,GACtB,CAAC,cAAc,CAAC;AAEnB,YAAM,oBAAoBP,MAAA;AAAA,QACzB,CAAC,MAAM;AACA,gBAAA,EAAE,SAAS,QAAA,IAAY;AAEzB,cAAA,CAAC,YAAY,IAAI,SAAS;AAC7B,cAAE,eAAe;AACjB,iBAAK,qBAAqB;AAAA,cACzB,wBAA0C;AAClC,uBAAA;AAAA,kBACN,GAAG;AAAA,kBACH,GAAG;AAAA,kBACH,KAAK;AAAA,kBACL,MAAM;AAAA,kBACN,QAAQ;AAAA,kBACR,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,OAAO;AAAA,gBACR;AAAA,cACD;AAAA,cACA,gBAAgB,IAAI;AAAA,YAAA,CACpB;AACD,oBAAQ,IAAI;AAAA,UAAA;AAAA,QAEd;AAAA,QACA,CAAC,UAAU,MAAM,OAAO;AAAA,MACzB;AAGC,aAAAJ,2BAAA;AAAA,QAACgD,UAAA;AAAA,QAAA;AAAA,UACA,KAAK;AAAA,UACL,OAAO,EAAE,oBAAoB,WAAW,SAAS,QAAQ;AAAA,UACzD,iBAAe;AAAA,UACf,iBAAe,WAAW,KAAK;AAAA,UAC/B,eAAe;AAAA,UAEd;AAAA,QAAA;AAAA,MACF;AAAA,IAED,CAAA;AAAA,EACF;ACrDa,QAAA,YAAY9C,MAAA;AAAA,IACxBL,iBAA2C,CAAC,OAAO,QAAQ;AAC1D,YAAM,EAAE,UAAU,GAAG,KAAA,IAAS;AAE9B,4CACE,OAAI,EAAA,KAAU,MAAK,SAAS,GAAG,MAC9B,UACF;AAAA,IAED,CAAA;AAAA,EACF;ACPa,QAAA,iBAAiBK,MAAA;AAAA,IAC7BL,iBAA6C,CAAC,OAAO,iBAAiB;AACrE,YAAM,EAAE,WAAW,eAAe,UAAU,GAAG,KAAS,IAAA;AACxD,YAAM,EAAE,aAAa,aAAa,IAAI,sBAAsB;AAC5D,YAAM,EAAE,OAAO,IAAI,IAAI2E,kBAAY;AAEnC,YAAM,aAAaE,MAAA,aAAa,CAAC,KAAK,YAAY,CAAC;AAEnD,YAAM,eAAetE,MAAA;AAAA,QACpB,CAAC,MAAM;AACF,cAAA,mBAAmB,CAAC;AACxB,cAAI,cAAe,eAAc,EAAE,OAAO,KAAK;AAAA,QAChD;AAAA,QACA,CAAC,UAAU,aAAa;AAAA,MACzB;AAEAO,YAAAA,UAAU,MAAM;AACf,eAAO,MAAM;AACR,cAAA,6BAA6B,EAAE;AAAA,QACpC;AAAA,MAID,GAAG,EAAE;AAGJ,aAAAX,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAWC,uBAAAA,GAAG,WAAW,2BAA2B,8BAA8B,cAAc;AAAA,UAChG,KAAK;AAAA,UACJ,GAAG,aAAa;AAAA,YAChB,GAAG;AAAA,YACH,UAAU,UAAU,cAAc,IAAI;AAAA,YACtC,UAAU;AAAA,UACV,CAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAED,CAAA;AAAA,EACF;ACrCa,QAAA,gBAAgBC,MAAA;AAAA,IAC5BL,iBAA+C,CAAC,OAAO,QAAQ;AAC9D,YAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAEzB,YAAA,EAAE,KAAK,IAAI,sBAAsB;AAEvC,aAAQG,2BAAA,IAAA,OAAA,EAAI,WAAWC,uBAAA,GAAG,WAAW,UAAU,EAAE,KAAA,CAAM,CAAC,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,IAC/E,CAAA;AAAA,EACF;ACVa,QAAA,gBAAgBC,MAAA;AAAA,IAC5BL,iBAA+C,CAAC,OAAO,QAAQ;AAC9D,YAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,aAAAG,2BAAA,IAAC,OAAI,EAAA,WAAWC,uBAAG,GAAA,WAAW,QAAQ,gBAAgB,mBAAmB,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,IACvG,CAAA;AAAA,EACF;ACLa,QAAA,gBAAgBP,MAA8B,cAAA,EAAoB;AAExE,WAAS,mBAAoE;AACnF,WAAOC,MAAAA,WAAW,aAAa;AAAA,EAChC;ACSa,QAAA,wBAAwBO,MAAAA,KAAK,CAAC,UAAsC;AAC1E,UAAA,EAAE,MAAM,SAAA,IAAa;AAErB,UAAA,CAAC,iBAAiB,kBAAkB,IAAIC,MAAA;AAAA,MAC7C,SAAS,YAAY,+BAAO,iBAAgB,OAAQ;AAAA,IACrD;AACM,UAAA,CAAC,kBAAkB,mBAAmB,IAAIA,MAAA;AAAA,MAC/C,SAAS,WAAW,+BAAO,kBAAiB,CAAA,IAAM,CAAA;AAAA,IACnD;AAEA,UAAM,iBAAiBC,MAAA;AAAA,MACtB,CAAC,WAAqB;AACrB,4BAAoB,MAAM;AAC1B,YAAI,SAAS,YAAW,+BAAO,gBAAgB,OAAM,eAAe,MAAM;AAAA,MAC3E;AAAA,MACA,CAAC,OAAO,IAAI;AAAA,IACb;AAEA,UAAM,gBAAgBA,MAAA;AAAA,MACrB,CAACyB,WAAyB;AACzB,2BAAmBA,MAAK;AACxB,YAAI,SAAS,aAAY,+BAAO,eAAe,OAAM,cAAcA,MAAK;AAAA,MACzE;AAAA,MACA,CAAC,OAAO,IAAI;AAAA,IACb;AAEA,UAAM,QAAQjC,MAAA;AAAA,MACb,MACC,SAAS,UACN;AAAA,QACA;AAAA,QACA,SAAQ,+BAAO,WAAU;AAAA,QACzB,oBAAoB;AAAA,MAAA,IAEpB;AAAA,QACA;AAAA,QACA,OAAO,MAAM,SAAS;AAAA,QACtB,mBAAmB;AAAA,MACpB;AAAA,MACH,CAAC,iBAAiB,kBAAkB,eAAe,gBAAgB,OAAO,IAAI;AAAA,IAC/E;AAEA,WAAQI,2BAAAA,IAAA,cAAc,UAAd,EAAuB,OAAe,SAAS,CAAA;AAAA,EACxD,CAAC;AACD,wBAAsB,cAAc;ACzDvB,QAAA,uBAAuBE,MAAA;AAAA,IACnCL,iBAAsD,CAAC,OAAO,QAAQ;AACrE,YAAM,EAAE,UAAU,QAAQ,gBAAgB,GAAG,KAAS,IAAA;AAEtD,aACEG,2BAAAA,IAAA,WAAA,EAAU,KAAW,GAAG,MACxB,UAAAA,2BAAA,IAAC,uBAAsB,EAAA,MAAK,SAAQ,QAAgB,gBAClD,SACF,CAAA,GACD;AAAA,IAED,CAAA;AAAA,EACF;ACZa,QAAA,2BAA2BN,MAAyC,cAAA,CAA+B,CAAA;AAEnG,QAAA,8BAA8B,MAAMC,MAAAA,WAAW,wBAAwB;ACFvE,QAAA,wBAAwBE,MAAA,WAA8C,CAAC,OAAO,QAAQ;AAC5F,UAAA,EAAE,aAAa;AACf,UAAA,EAAE,SAAS,IAAI,4BAA4B;AAC3C,UAAA,EAAE,KAAK,IAAI,sBAAsB;AAGtC,WAAAG,2BAAA,IAAC,OAAI,EAAA,KAAU,WAAW,sBAAsB,EAAE,KAAA,CAAM,GACtD,UAAW,WAAA,WAAW,KACxB,CAAA;AAAA,EAEF,CAAC;AACD,wBAAsB,cAAc;ACVvB,QAAA,sBAAsBE,MAAA;AAAA,IAClCL,iBAAgD,CAAC,OAAO,QAAQ;AACzD,YAAA,EAAE,UAAU,UAAU,gBAAgB,OAAO,OAAO,GAAG,SAAS;AAEtE,YAAM,EAAE,QAAQ,mBAAmB,IAAI,iBAAqC;AAEtE,YAAA,WAAWD,cAAQ,MAAM,OAAO,SAAS,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC;AAEhE,YAAA,eAAeQ,MAAAA,YAAY,MAAM;AACtC,YAAI,CAAC,UAAU;AACd,6BAAmB,CAAC,GAAG,QAAQ,KAAK,CAAC;AAAA,QAAA,OAC/B;AACN,6BAAmB,OAAO,OAAO,CAAC,iBAAiB,iBAAiB,KAAK,CAAC;AAAA,QAAA;AAE3E,YAAI,SAAmB,UAAA;AAAA,MAAA,GACrB,CAAC,oBAAoB,UAAU,UAAU,OAAO,MAAM,CAAC;AAEpD,YAAA,mBAAmBR,MAAAA,QAAQ,MAAM;AACtC,eAAO,OAAO,aAAa,aACxB,CAAC,EAAE,OAAA,MAAkC,SAAS,EAAE,UAAU,OAAQ,CAAA,IAClE;AAAA,MAAA,GACD,CAAC,UAAU,QAAQ,CAAC;AAEvB,4CACE,yBAAyB,UAAzB,EAAkC,OAAO,EAAE,YAC3C,UAAAI,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA;AAAA,UACA,MAAK;AAAA,UACL,UAAU;AAAA,UACV;AAAA,UACA,iBAAe,WAAW,KAAK;AAAA,UAC9B,GAAG;AAAA,UAEH,UAAA;AAAA,QAAA;AAAA,MAAA,GAEH;AAAA,IAED,CAAA;AAAA,EACF;ACtCa,QAAA,eAAeN,MAA6B,cAAA,EAAmB;AAE/D,QAAA,kBAAkB,MAAMC,MAAAA,WAAW,YAAY;ACH/C,QAAA,YAA2B,CAAC,UAAU;AAClD,UAAM,EAAE,UAAU,aAAa,MAAM,aAAiB,IAAA;AAEhD,UAAA,CAAC,YAAY,aAAa,IAAI,mBAA2B,eAAe,IAAI,MAAM,YAAY;AAE7F,WAAAK,2BAAA,IAAC,aAAa,UAAb,EAAsB,OAAO,EAAE,YAAY,iBAAkB,UAAS;AAAA,EAC/E;ACPa,QAAA,kBAAwC,CAAC,UAAU;AACzD,UAAA,EAAE,MAAM,SAAA,IAAa;AACrB,UAAA,EAAE,WAAW,IAAI,gBAAgB;AAEhC,WAAA,eAAe,OAAO,WAAW;AAAA,EACzC;AACA,kBAAgB,cAAc;ACJjB,QAAA,kBAAkBE,MAAA;AAAA,IAC9BL,iBAA6C,CAAC,OAAO,QAAQ;AAC5D,YAAM,EAAE,UAAU,MAAM,GAAG,KAAS,IAAA;AACpC,YAAM,EAAE,MAAM,eAAe,IAAI,sBAAsB;AACjD,YAAA,EAAE,cAAc,IAAI,gBAAgB;AAEpC,YAAA,eAAeO,MAAAA,YAAY,MAAM;;AACtC,sBAAc,IAAI;AACb,mBAAA,SAAS,YAAT,mBAAkB;AACvB,uBAAe,IAAI;AACnB,YAAI,SAAmB,UAAA;AAAA,MAAA,GACrB,CAAC,UAAU,MAAM,KAAK,UAAU,gBAAgB,aAAa,CAAC;AAE1D,aAAAJ,2BAAA,IAAC,YAAS,KAAU,UAAU,cAAc,eAAe,OAAQ,GAAG,MAAM;AAAA,IACnF,CAAA;AAAA,EACF;ACjBa,QAAA,aAAaH,MAAA,WAA4C,CAAC,OAAO,QAAQ;AACrF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAG9B,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,WAAWC,uBAAA;AAAA,UACV;AAAA,UACA;AAAA,QACD;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,aAAW,cAAc;ACbZ,QAAA,mBAAmBP,MAAc,cAAA,EAAuB;ACExD,QAAA,yBAAyBG,MAAA,WAAqD,CAAC,OAAO,QAAQ;AAC1G,UAAM,EAAE,WAAW,UAAU,GAAG,KAAS,IAAA;AACnC,UAAA,EAAE,KAAK,IAAI,sBAAsB;AACvC,UAAM,EAAE,SAAA,IAAaF,MAAA,WAAW,gBAAgB;AAE1C,UAAA,mBAAmBC,MAAAA,QAAQ,MAAM;AACtC,aAAO,OAAO,aAAa,aAAa,SAAS,aAAa,eAAe,IAAI;AAAA,IAAA,GAC/E,CAAC,UAAU,QAAQ,CAAC;AAEvB,0CACE,QAAK,EAAA,KAAU,WAAWK,uBAAAA,GAAG,WAAW,sBAAsB,EAAE,KAAM,CAAA,CAAC,GAAI,GAAG,MAC7E,UAAA,WAAW,mBAAmB,MAChC;AAAA,EAEF,CAAC;AACD,yBAAuB,cAAc;AChBxB,QAAA,oBAAoBJ,MAAA,WAA+C,CAAC,OAAO,QAAQ;AACzF,UAAA,EAAE,UAAU,WAAW,UAAU,gBAAgB,OAAO,GAAG,SAAS;AAC1E,UAAM,EAAE,QAAQ,mBAAmB,IAAI,iBAAqC;AAEtE,UAAA,WAAWD,MAAAA,QAAQ,MAAM;AACxB,YAAA,kBAAkB,IAAI,IAAI,MAAM;AAElC,UAAA,UAAU,MAAM,CAAC,UAAU,gBAAgB,IAAI,KAAK,CAAC,EAAU,QAAA;AAC/D,UAAA,OAAO,SAAS,EAAU,QAAA;AACvB,aAAA;AAAA,IAAA,GACL,CAAC,WAAW,MAAM,CAAC;AAEhB,UAAA,eAAeQ,MAAAA,YAAY,MAAM;AAC3B;AAEX,cAAQ,UAAU;AAAA,QACjB,KAAK;AACJ,6BAAmB,CAAA,CAAE;AACrB;AAAA,QACD,KAAK;AAAA,QACL,KAAK,OAAO;AACX,6BAAmB,SAAS;AAC5B;AAAA,QAAA;AAAA,MACD;AAAA,OAEC,CAAC,WAAW,oBAAoB,UAAU,QAAQ,CAAC;AAEhD,UAAA,mBAAmBR,MAAAA,QAAQ,MAAM;AACtC,aAAO,OAAO,aAAa,aACxB,CAAC,EAAE,OAAA,MAAkC,SAAS,EAAE,UAAU,OAAQ,CAAA,IAClE;AAAA,IAAA,GACD,CAAC,UAAU,QAAQ,CAAC;AAEvB,0CACE,iBAAiB,UAAjB,EAA0B,OAAO,EAAE,YACnC,UAAAI,2BAAA,IAAC,YAAS,UAAU,cAAc,KAAU,cAAY,UAAU,eAA+B,GAAG,MAClG,2BACF,CAAA,GACD;AAAA,EAEF,CAAC;AACD,oBAAkB,cAAc;AC1CnB,QAAA,kBAAkBE,MAAA;AAAA,IAC9BL,iBAAiD,CAAC,OAAO,QAAQ;AAChE,YAAM,EAAE,UAAU,OAAO,cAAkB,IAAA;AAE1C,aAAAG,2BAAA,IAAC,uBAAsB,EAAA,MAAK,UAAS,OAAc,eAClD,UAACA,2BAAAA,IAAA,WAAA,EAAU,KAAW,SAAA,CAAS,EAChC,CAAA;AAAA,IAED,CAAA;AAAA,EACF;ACRa,QAAA,iBAAiBE,MAAA;AAAA,IAC7BL,iBAAgD,CAAC,OAAO,QAAQ;AACzD,YAAA,EAAE,OAAO,UAAU,UAAU,gBAAgB,MAAM,GAAG,SAAS;AACrE,YAAM,EAAE,OAAO,cAAc,kBAAA,IAAsB,iBAAsC;AAEnF,YAAA,WAAWD,MAAAA,QAAQ,MAAM,UAAU,cAAc,CAAC,cAAc,KAAK,CAAC;AAEtE,YAAA,eAAeQ,MAAAA,YAAY,MAAM;AACpB,0BAAA,CAAC,WAAW,QAAQ,IAAI;AAC1C,YAAI,SAAmB,UAAA;AAAA,SACrB,CAAC,mBAAmB,UAAU,UAAU,KAAK,CAAC;AAE3C,YAAA,mBAAmBR,MAAAA,QAAQ,MAAM;AACtC,eAAO,OAAO,aAAa,aACxB,CAAC,EAAE,OAAA,MAAkC,SAAS,EAAE,UAAU,OAAQ,CAAA,IAClE;AAAA,MAAA,GACD,CAAC,UAAU,QAAQ,CAAC;AAEvB,4CACE,yBAAyB,UAAzB,EAAkC,OAAO,EAAE,YAC3C,UAAAI,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA;AAAA,UACA,MAAK;AAAA,UACL,UAAU;AAAA,UACV;AAAA,UACA,iBAAe,WAAW,KAAK;AAAA,UAC9B,GAAG;AAAA,UAEH,UAAA;AAAA,QAAA;AAAA,MAAA,GAEH;AAAA,IAED,CAAA;AAAA,EACF;AChCa,QAAA,gBAAgBE,MAAA;AAAA,IAC5BL,iBAA+C,CAAC,OAAO,QAAQ;AAC9D,YAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AACzB,YAAA,EAAE,KAAK,IAAI,sBAAsB;AAEvC,aAAQG,2BAAA,IAAA2E,0BAAe,MAAf,EAAoB,WAAW1E,uBAAAA,GAAG,WAAW,cAAc,EAAE,MAAM,CAAC,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,IACnG,CAAA;AAAA,EACF;ACHa,QAAA,iBAAiBC,MAAA;AAAA,IAC7BL,iBAAgD,CAAC,OAAO,iBAAiB;;AACxE,YAAM,EAAE,UAAU,GAAG,KAAA,IAAS;AACxB,YAAA,EAAE,eAAe,IAAI,eAAe;AAC1C,YAAM,EAAE,aAAa,QAAQ,SAAS,KAAA,IAAS,sBAAsB;AAC/D,YAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,UACG,cAAc;AAEZ,YAAA,aAAa+C,aAAuB,IAAI;AAE9C,YAAM6B,aAAYC,MAAAA,aAAa,CAAC,KAAK,aAAa,UAAU,CAAC;AAEvD,YAAA,yBAAwC9E,MAAAA,QAAQ,MAAM;;AACpD,eAAA;AAAA,UACN,GAAG;AAAA,UACH,cAAYmE,MAAA,eAAe,SAAf,gBAAAA,IAAqB,mBAAkB,WAAW;AAAA,QAC/D;AAAA,SACE,CAAC,iBAAgB,oBAAe,SAAf,mBAAqB,eAAe,CAAC;AAEzD,aACE/D,2BAAA,IAAAgE,oBAAA,EAAa,IAAI,QAChB,kBACChE,2BAAAA,IAAAiE,MAAA,gBAAA,EACA,UAACjE,+BAAAmE,MAAAA,sBAAA,EAAqB,SAAkB,cAAc,YACrD,UAAAnE,2BAAA,IAACoE,sBAAa,aACb,UAAApE,2BAAA;AAAA,QAAC,mBAAmB;AAAA,QAAnB;AAAA,UACA,OAAO;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UAEA,UAAAA,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,WAAU;AAAA,cACV,KAAKyE;AAAA,cACL,OAAO;AAAA,cACN,GAAG,iBAAiB;AAAA,cAErB,UAAAzE,2BAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACA,WAAWC,uBAAA;AAAA,oBACV;AAAA,oBACA,YAAY,EAAE,MAAM;AAAA,oBACpB,SAAS,EAAE,MAAM,QAAQ,KAAK;AAAA,oBAC9B,UAAU,EAAE,QAAQ,UAAU,MAAM;AAAA,oBACpC;AAAA,kBACD;AAAA,kBACA,KAAK;AAAA,kBACL,cAAY,OAAO,SAAS;AAAA,kBAC5B,aAAW;AAAA,kBACX,qBAAmB;AAAA,kBAClB,GAAG;AAAA,kBAEH;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACD;AAAA,MAAA,GAEF,EACD,CAAA,EACD,CAAA,GAEF;AAAA,IAED,CAAA;AAAA,EACF;ACxFa,QAAA,iBAAiBC,MAAA;AAAA,IAC7BL,iBAAgD,CAAC,OAAO,iBAAiB;AACxE,YAAM,EAAE,UAAU,GAAG,KAAA,IAAS;AAC9B,YAAM,EAAE,MAAM,mBAAmB,MAAM,SAAA,IAAa,cAAc;AAElE,YAAM,aAAa6E,MAAAA,aAAa,CAAC,cAAc,KAAK,YAAY,CAAC;AAGhE,aAAA1E,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,KAAK;AAAA,UACL,eAAe;AAAA,UACf,iBAAc;AAAA,UACd,aAAW;AAAA,UACX;AAAA,UACC,GAAG,kBAAkB,IAAI;AAAA,UAEzB;AAAA,QAAA;AAAA,MACF;AAAA,IAED,CAAA;AAAA,EACF;ACtBa,QAAA,qBAAqBE,MAAAA,KAAK,CAAC,UAAmC;AACpE,UAAA,EAAE,gBAAgB,SAAA,IAAa;AACrC,UAAM,EAAE,MAAM,gBAAgB,QAAA,IAAY,eAAe;AAEzDS,UAAAA,UAAU,MAAM;AACf,qBAAe,SAAS;AAAA,IAAA,GACtB,CAAC,cAAc,CAAC;AAEnBA,UAAAA,UAAU,MAAM;AACX,UAAA,CAAC,YAAY,gBAAgB;AAChC,aAAK,qBAAqB,cAAc;AACxC,gBAAQ,IAAI;AAAA,MAAA,OACN;AACN,aAAK,qBAAqB,IAAI;AAC9B,gBAAQ,KAAK;AAAA,MAAA;AAAA,OAEZ,CAAC,UAAU,MAAM,SAAS,cAAc,CAAC;AAErC,WAAA;AAAA,EACR,CAAC;AACD,qBAAmB,cAAc;AC0B1B,QAAM,OAAO;AAAA,IACnB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,IAGT,KAAK;AAAA,IACL,YAAY;AAAA,IACZ,YAAY;AAAA;AAAA,IAGZ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa;AAAA;AAAA,IAGb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,gBAAgB;AAAA;AAAA,IAGhB,OAAO;AAAA,IACP,aAAa;AAAA,IACb,kBAAkB;AAAA;AAAA,IAGlB,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,cAAc;AAAA;AAAA,IAGd,oBAAoB;AAAA,IACpB,mBAAmB;AAAA,IACnB,uBAAuB;AAAA;AAAA,IAGvB,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA;AAAA,IAGX,WAAW;AAAA,IACX,QAAQ;AAAA,EACT;ACpFa,QAAA,SAAST,MAAA;AAAA,IACrBL,iBAAuC,CAAC,OAAO,QAAQ;AACtD,YAAM,EAAE,MAAM,MAAM,OAAO,OAAO,GAAG,SAAS;AACxC,YAAA,OAAQ+E,mBAAqC,IAAI;AAGvD,UAAI,CAAC,KAAM,SAAQ,MAAM,QAAQ,IAAI,YAAY;AAE1C,aAAA;AAAA;AAAA;AAAA,uCAGL,MAAK,EAAA,KAAU,OAAc,MAAY,OAAe,GAAG,KAAM,CAAA;AAAA;AAAA;AAAA;AAAA,uCAIjEC,QAAe,gBAAA,EAAA,KAAU,OAAc,MAAY,OAAe,GAAG,KAAM,CAAA;AAAA;AAAA,IAE7E,CAAA;AAAA,EACF;AACA,SAAO,cAAc;ACfrB,QAAM,eAAe,EAAE,WAAW,SAAS;AAE3C,QAAM,gBAAgB3E,MAAAA,KAAK,CAAC,UAA8B;AACzD,UAAM,EAAE,mBAAmB,UAAU,wBAAwB,QAAY,IAAA;AACnE,UAAA,EAAE,cAAc,IAAI4E,oCAAiB;AAC3C,UAAM,SAAS;AACT,UAAA,kBAAkB,oBACpB,EAAE,UAAU,YAAY,KAAK,OAAO,WAAW,mBAAA,IAChD;AAEG,UAAA,cAAc1E,MAAAA,YAAY,MAAM;AACvB,oBAAA;AACN,cAAA;AAAA,IAAA,GACN,CAAC,SAAS,aAAa,CAAC;AAE3B,WACEN,2BAAAA,KAAA,OAAA,EAAI,WAAU,qBAAoB,OAAO,iBACzC,UAAA;AAAA,MAAAE,2BAAA,IAAC,OAAI,EAAA,OAAO,EAAE,UAAU,KAAK;AAAA,qCAC5B,QAAO,EAAA,MAAK,eAAc,MAAM,QAAQ,OAAO,cAAc;AAAA,MAC9DA,2BAAAA,IAAC,UAAK,OAAO,EAAE,YAAY,QAAQ,GAAG,aAAa,GAAI,UAAQ,SAAA;AAAA,qCAC9D,YAAW,EAAA,cAAW,aAAY,SAAQ,QAAO,SAAS,aAAa,OAAO,cAC9E,yCAAC,QAAO,EAAA,MAAK,kBAAiB,MAAM,OAAQ,CAAA,GAC7C;AAAA,qCACC,OAAI,EAAA,OAAO,EAAE,UAAU,IAAK,CAAA;AAAA,IAAA,GAC9B;AAAA,EAEF,CAAC;AAED,gBAAc,cAAc;AAEf,QAAA,uBAAuBE,MAAAA,KAAK,CAAC,UAA8B;AACjE,UAAA,EAAE,mBAAmB,QAAA,IAAY;AACvC,UAAM,CAAC,SAAS,UAAU,IAAI,MAAM,SAAS,CAAC;AAE9C,UAAM,WAAWE,MAAAA,YAAY,CAAC,OAAc,SAAoB;AAGvD,cAAA,MAAM,OAAO,IAAI;AACd,iBAAA,CAAC,SAAS,OAAO,CAAC;AAAA,IAC9B,GAAG,EAAE;AAEC,UAAA,cAAcA,MAAAA,YAAY,MAAM;AAC1B,iBAAA,CAAC,SAAS,OAAO,CAAC;AAAA,IAC9B,GAAG,EAAE;AAGJ,WAAAJ,2BAAA;AAAA,MAAC+E,mBAAA;AAAA,MAAA;AAAA,QAEA,UAAW/E,2BAAA,IAAA,eAAA,EAAc,mBAAsC,SAAkB,SAAS,aAAa;AAAA,QACvG,SAAS;AAAA,QAER,UAAM,MAAA;AAAA,MAAA;AAAA,MAJF;AAAA,IAKN;AAAA,EAEF,CAAC;AAED,uBAAqB,cAAc;ACjEtB,QAAA,eAAeH,MAAA,WAA6C,CAAC,OAAO,QAAQ;AACxF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,+BAACgF,wBAAa,OAAb,EAAmB,WAAW/E,uBAAAA,GAAG,WAAW,iBAAiB,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EAC7F,CAAC;AACD,eAAa,cAAc;ACTpB,QAAM,iBAAiBR,uBAAI,IAAA,CAAC,2BAA2B,sBAAsB,UAAU,iBAAiB,GAAG;AAAA,IACjH,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,WAAW,KAAK;AAAA,QACrB,IAAI,CAAC,WAAW,KAAK;AAAA,QACrB,IAAI,CAAC,aAAa,KAAK;AAAA,QACvB,IAAI,CAAC,WAAW,KAAK;AAAA,QACrB,IAAI,CAAC,WAAW,KAAK;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;ACDY,QAAA,iBAAiBI,MAAA,WAAgD,CAAC,OAAO,QAAQ;AAC7F,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA,SAAS,gBAAgB;AAAA,MACzB,cAAc,gBAAgB;AAAA,MAC9B,OAAO;AAAA,MACP,aAAa;AAAA,MACb;AAAA,MACA,GAAG;AAAA,IAAA,IACA;AAEJ,WACEG,2BAAAA,IAAAgF,wBAAa,QAAb,EAAoB,WACpB,UAAAhF,2BAAA;AAAA,MAACgF,wBAAa;AAAA,MAAb;AAAA,QACA,WAAW/E,uBAAA;AAAA,UACV;AAAA,UACA,eAAe,EAAE,MAAM;AAAA,UACvB,SAAS,EAAE,QAAQ,KAAK;AAAA,UACxB,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA;AAAA,QACrC;AAAA,QACA;AAAA,QACA;AAAA,QACA,qBAAmB;AAAA,QACnB,yBAAsB;AAAA,QACrB,GAAG;AAAA,MAAA;AAAA,IAAA,GAEN;AAAA,EAEF,CAAC;AACD,iBAAe,cAAc;ACnCtB,QAAM,UAAU;AAAA,IACtB,GAAG+E;AAAAA,IACH,SAAS;AAAA,IACT,OAAO;AAAA,EACR;ACPa,QAAA,sBAAsBnF,MAAA,WAAsD,CAAC,OAAO,QAAQ;AACxG,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAG9B,WAAAG,+BAACiF,2BAAgB,WAAhB,EAA0B,WAAWhF,uBAAAA,GAAG,WAAW,kCAAkC,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EAE/G,CAAC;AACD,sBAAoB,cAAc;ACJrB,QAAA,oBAAoBP,MAAkC,cAAA,EAAwB;ACPpF,QAAM,iBAAiBD,uBAAA;AAAA,IAC7B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAM,CAAC,oBAAoB,qBAAqB;AAAA,QACjD;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,OAAO,iBAAiB;AAAA,UACpC,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,UAC5B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,UAC5B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,UAC5B,IAAI,CAAC,OAAO,OAAO,SAAS;AAAA,QAAA;AAAA,MAE9B;AAAA,MACA,iBAAiB;AAAA,QAChB,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AC7Ba,QAAA,iBAAiBS,MAAA;AAAA,IAC7BL,iBAAmD,CAAC,OAAO,QAAQ;AAC5D,YAAA,oBAAoBF,iBAAW,iBAAiB;AAChD,YAAA,EAAE,WAAW,OAAO,kBAAkB,MAAM,UAAU,kBAAkB,SAAS,GAAG,KAAA,IAAS;AAGlG,aAAAK,2BAAA;AAAA,QAACiF,2BAAgB;AAAA,QAAhB;AAAA,UACA,WAAWhF,uBAAG,GAAA,WAAW,eAAe,EAAE,MAAM,QAAA,CAAS,GAAG,QAAQ,kBAAkB,cAAc;AAAA,UACpG;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,IAED,CAAA;AAAA,EACF;ACba,QAAA,iBAAiBC,MAAA;AAAA,IAC7BL,iBAAgD,CAAC,OAAO,QAAQ;AAC/D,YAAM,kBAAkB,YAAY;AAC9B,YAAA;AAAA,QACL;AAAA,QACA,cAAc,gBAAgB;AAAA,QAC9B,UAAU;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA,GAAG;AAAA,MAAA,IACA;AAGH,aAAAG,+BAACiF,2BAAgB,MAAhB,EAAqB,WAAWhF,0BAAG,SAAS,GAAG,KAAU,qBAAmB,aAAc,GAAG,MAC7F,UAAAD,2BAAA,IAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,SAAS,KAAA,GAAS,SAAA,CAAS,EACjE,CAAA;AAAA,IAED,CAAA;AAAA,EACF;ACnBO,QAAM,aAAa;AAAA,IACzB,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACP;ACXO,QAAM,0BAA0BP,uBAAAA,IAAI,CAAC,YAAY,qBAAqB,MAAM,GAAG;AAAA,IACrF,UAAU;AAAA,MACT,SAAS;AAAA,QACR,MAAM,CAAC,kBAAkB;AAAA,QACzB,SAAS,CAAC,yBAAyB,cAAc,0BAA0B;AAAA,QAC3E,SAAS,CAAC,kBAAkB,gBAAgB,0BAA0B;AAAA,MACvE;AAAA,MACA,MAAM;AAAA,QACL,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,WAAW;AAAA,QACvB,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,SAAS;AAAA,MAAA;AAAA,IACtB;AAAA,EAEF,CAAC;AAEM,QAAM,0BAA0BA,uBAAA;AAAA,IACtC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,MAAM;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAEF;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,UAAU;AAAA,UACf,IAAI,CAAC,SAAS;AAAA,UACd,IAAI,CAAC,OAAO;AAAA,UACZ,IAAI,CAAC,SAAS;AAAA,UACd,IAAI,CAAC,OAAO;AAAA,QACb;AAAA,QACA,MAAM;AAAA,UACL,MAAM,CAAC;AAAA,UACP,OAAO,CAAA;AAAA,QAAC;AAAA,MAEV;AAAA,MACA,kBAAkB;AAAA,QACjB;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,MAET;AAAA,MACA,iBAAiB;AAAA,QAChB,SAAS;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;ACjIa,QAAA,0BAA0BC,MAAc,cAAA,EAA8B;ACR5E,QAAM,sBAAsB,MAAM;AAClC,UAAA,0BAA0BC,iBAAW,uBAAuB;AAElE,QAAI,CAAC,yBAAyB;AACvB,YAAA,IAAI,MAAM,oEAAoE;AAAA,IAAA;AAG9E,WAAA;AAAA,EACR;ACFa,QAAA,uBAAuBE,MAAA,WAAyD,CAAC,OAAO,QAAQ;AAC5G,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAC/B,UAAM,EAAE,MAAM,QAAQ,SAAS,KAAA,IAAS,oBAAoB;AAG3D,WAAAG,2BAAA;AAAA,MAACkF,4BAAiB;AAAA,MAAjB;AAAA,QACA;AAAA,QACA,WAAWjF,uBAAA;AAAA,UACV;AAAA,UACA,wBAAwB,EAAE,MAAM,SAAS,MAAM;AAAA,UAC/C,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA;AAAA,QACtC;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,uBAAqB,cAAc;ACZtB,QAAA,uBAAuBJ,MAAA,WAAsD,CAAC,OAAO,QAAQ;AACzG,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,SAAS,gBAAgB;AAAA,MACzB,cAAc,gBAAgB;AAAA,MAC9B,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA;AAAA,MAACkF,4BAAiB;AAAA,MAAjB;AAAA,QACA;AAAA,QACA,WAAWjF,uBAAA;AAAA,UACV;AAAA,UACA,wBAAwB,EAAE,MAAM,SAAS;AAAA,UACzC,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA;AAAA,QACtC;AAAA,QACA,MAAK;AAAA,QACL,qBAAmB;AAAA,QAClB,GAAG;AAAA,QAEJ,UAAAD,2BAAA,IAAC,wBAAwB,UAAxB,EAAiC,OAAO,EAAE,MAAM,SAAS,QAAQ,KAAK,GACrE,SACF,CAAA;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AACD,uBAAqB,cAAc;ACtC5B,QAAM,mBAAmB;AAAA,IAC/B,MAAM;AAAA,IACN,MAAM;AAAA,EACP;ACRO,QAAM,YAAYP,uBAAAA,IAAI,CAAC,UAAU,GAAG;AAAA,IAC1C,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAC;AAAA,QACL,IAAI,CAAC;AAAA,QACL,MAAM,CAAA;AAAA,MACP;AAAA,MACA,aAAa;AAAA,QACZ,YAAY,CAAC,MAAM;AAAA,QACnB,UAAU,CAAC,MAAM;AAAA,MAClB;AAAA,MACA,QAAQ;AAAA,QACP,OAAO,CAAC,kBAAkB;AAAA,QAC1B,QAAQ,CAAC,kBAAkB;AAAA,QAC3B,OAAO,CAAC,kBAAkB;AAAA,MAAA;AAAA,IAE5B;AAAA,IACA,kBAAkB;AAAA,MACjB;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,KAAK;AAAA,MACd;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,KAAK;AAAA,MACd;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,MAAM;AAAA,MACf;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,MAAM;AAAA,MACf;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,MAAM;AAAA,MACf;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,QAAQ;AAAA,MACjB;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,KAAK;AAAA,MACd;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,KAAK;AAAA,MACd;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,MAAM;AAAA,MACf;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,MAAM;AAAA,MACf;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,MAAM;AAAA,MACf;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO,CAAC,QAAQ;AAAA,MAAA;AAAA,IAElB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,QAAQ;AAAA,IAAA;AAAA,EAEV,CAAC;AChFY,QAAA,YAAYI,MAAA,WAA2C,CAAC,OAAO,QAAQ;AAC7E,UAAA,EAAE,WAAW,cAAc,QAAQ,aAAa,MAAM,QAAQ,GAAG,KAAA,IAAS;AAG/E,WAAAG,2BAAA;AAAA,MAAC2E,0BAAe;AAAA,MAAf;AAAA,QACA,WAAW1E,uBAAAA,GAAG,WAAW,UAAU,EAAE,aAAa,MAAM,OAAO,CAAC,CAAC;AAAA,QACjE,qBAAmB;AAAA,QACnB;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,YAAU,cAAc;ACnBX,QAAA,UAAUC,WAAK,MAAM;AAC1B,WAAAF,2BAAA,IAAC,OAAI,EAAA,WAAU,qFAAqF,CAAA;AAAA,EAC5G,CAAC;AAED,UAAQ,cAAc;ACIT,QAAA,gBAAgBN,MAAc,cAAA,EAAoB;ACRxD,QAAM,aAAaD,uBAAA;AAAA,IACzB;AAAA,MACC;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,MAAM;AAAA,UAClB,IAAI,CAAC,OAAO,MAAM;AAAA,UAClB,IAAI,CAAC,OAAO,MAAM;AAAA,UAClB,IAAI,CAAC,OAAO,MAAM;AAAA,UAClB,IAAI,CAAC,OAAO,YAAY;AAAA,QAAA;AAAA,MAE1B;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AAEO,QAAM,cAAcA,uBAAA;AAAA,IAC1B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,yCAAyC;AAAA,UAC9C,IAAI,CAAC,yCAAyC;AAAA,UAC9C,IAAI,CAAC,yCAAyC;AAAA,UAC9C,IAAI,CAAC,yCAAyC;AAAA,UAC9C,IAAI,CAAC,yCAAyC;AAAA,QAAA;AAAA,MAEhD;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;ACtDa,QAAA,aAAaS,MAAA;AAAA,IACzBL,iBAA+C,CAAC,OAAO,QAAQ;AAC9D,YAAM,kBAAkB,YAAY;AAC9B,YAAA;AAAA,QACL;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA,SAAS,gBAAgB;AAAA,QACzB,cAAc,gBAAgB;AAAA,QAC9B,GAAG;AAAA,MAAA,IACA;AAGH,aAAAG,2BAAA;AAAA,QAACmF,uBAAY;AAAA,QAAZ;AAAA,UACA,WAAWlF,uBAAA,GAAG,WAAW,WAAW,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA,CAAC;AAAA,UACrF;AAAA,UACA,qBAAmB;AAAA,UAClB,GAAG;AAAA,UAEJ,UAAAD,2BAAAA,IAAC,cAAc,UAAd,EAAuB,OAAO,EAAE,MAAM,OAAO,GAAI,SAAS,CAAA;AAAA,QAAA;AAAA,MAC5D;AAAA,IAED,CAAA;AAAA,EACF;ACzBa,QAAA,cAAcE,MAAA;AAAA,IAC1BL,iBAA8C,CAAC,OAAO,QAAQ;AAC7D,YAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAE/B,YAAM,EAAE,MAAM,WAAWF,MAAAA,WAAW,aAAa;AAGhD,aAAAK,2BAAA;AAAA,QAACmF,uBAAY;AAAA,QAAZ;AAAA,UACA,WAAWlF,uBAAA,GAAG,WAAW,YAAY,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA,CAAC;AAAA,UACtF;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,IAED,CAAA;AAAA,EACF;ACjBO,QAAM,SAAS;AAAA,IACrB,MAAM;AAAA,IACN,OAAO;AAAA,EACR;ACLa,QAAA,YAAYJ,MAAA,WAAoD,CAAC,OAAO,QAAQ;AAC5F,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,2BAAA,IAAC,WAAM,KAAU,WAAWC,uBAAAA,GAAG,SAAS,GAAI,GAAG,MAAM;AAAA,EAC7D,CAAC;AACD,YAAU,cAAc;ACAX,QAAA,eAAeP,MAAc,cAAA,EAAmB;ACRtD,QAAM,eAAeD,uBAAAA,IAAI,CAAC,2BAA2B,GAAG;AAAA,IAC9D,UAAU;AAAA,MACT,SAAS;AAAA,QACR,OAAO,CAAC;AAAA,QACR,SAAS,CAAC,YAAY,wBAAwB,cAAc,iBAAiB;AAAA,MAC9E;AAAA,MACA,MAAM;AAAA,QACL,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,MAAA;AAAA,IACf;AAAA,EAEF,CAAC;AAEY,QAAA,eAAeA,uBAAI,IAAA,IAAI;AAAA,IACnC,UAAU;AAAA,MACT,SAAS;AAAA,QACR,SAAS,CAAC;AAAA,QACV,OAAO,CAAA;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACL,MAAM,CAAC;AAAA,QACP,OAAO,CAAA;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACL,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,QACV,IAAI,CAAC,KAAK;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,QACP,MAAM,CAAC,cAAc,UAAU,sBAAsB;AAAA,QACrD,KAAK,CAAC,cAAc,YAAY,sBAAsB;AAAA,QACtD,KAAK,CAAC,cAAc,YAAY,sBAAsB;AAAA,QACtD,MAAM,CAAA;AAAA,MAAC;AAAA,IAET;AAAA,IACA,kBAAkB;AAAA,MACjB;AAAA,QACC,SAAS;AAAA,QACT,MAAM;AAAA,QACN,WAAW,CAAC,kBAAkB;AAAA,MAC/B;AAAA,MACA;AAAA,QACC,SAAS;AAAA,QACT,MAAM;AAAA,QACN,WAAW,CAAC,kBAAkB;AAAA,MAAA;AAAA,IAC/B;AAAA,EAEF,CAAC;AC9CY,QAAA,YAAYI,MAAA,WAAiD,CAAC,OAAO,QAAQ;AACzF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAC/B,UAAM,EAAE,MAAM,QAAQ,QAAQ,IAAIF,MAAAA,WAAW,YAAY;AAEzD,0CAAQ,MAAG,EAAA,KAAU,WAAWM,uBAAAA,GAAG,WAAW,aAAa,EAAE,MAAM,QAAQ,MAAM,MAAM,QAAA,CAAS,CAAC,GAAI,GAAG,MAAM;AAAA,EAC/G,CAAC;AACD,YAAU,cAAc;ACNX,QAAA,wBAAwBJ,MAAA;AAAA,IACpC,CAAC,OAAO,QAAQ;AACf,YAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAC/B,YAAM,EAAE,MAAM,QAAQ,QAAQ,IAAIF,MAAAA,WAAW,YAAY;AAEzD,4CACE,MAAG,EAAA,KAAU,WAAWM,uBAAAA,GAAG,WAAW,aAAa,EAAE,MAAM,QAAQ,MAAM,OAAO,QAAA,CAAS,CAAC,GAAI,GAAG,MAAM;AAAA,IAAA;AAAA,EAG3G;AACA,wBAAsB,cAAc;ACbvB,QAAA,cAAcJ,MAAA,WAAsD,CAAC,OAAO,QAAQ;AAChG,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,2BAAA,IAAC,WAAM,KAAU,WAAWC,uBAAAA,GAAG,SAAS,GAAI,GAAG,MAAM;AAAA,EAC7D,CAAC;AACD,cAAY,cAAc;ACLb,QAAA,cAAcJ,MAAA,WAAsD,CAAC,OAAO,QAAQ;AAChG,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,2BAAA,IAAC,WAAM,KAAU,WAAWC,uBAAAA,GAAG,SAAS,GAAI,GAAG,MAAM;AAAA,EAC7D,CAAC;AACD,cAAY,cAAc;ACCb,QAAA,YAAYJ,MAAA,WAA6C,CAAC,OAAO,QAAQ;AACrF,UAAM,kBAAkB,YAAY;AACpC,UAAM,EAAE,UAAU,WAAW,OAAO,MAAM,SAAS,OAAO,cAAc,QAAQ,UAAU,SAAS,GAAG,KAAS,IAAA;AAG9G,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,WAAWC,uBAAA;AAAA,UACV;AAAA,UACA,aAAa,EAAE,MAAM,SAAS;AAAA,UAC9B,UAAU,EAAE,QAAQ,gBAAgB,QAAQ,UAAU,KAAM,CAAA;AAAA,QAC7D;AAAA,QACA,qBAAmB;AAAA,QAClB,GAAG;AAAA,QAEJ,UAAAD,2BAAA,IAAC,aAAa,UAAb,EAAsB,OAAO,EAAE,MAAM,QAAQ,QAAQ,GAAI,SAAS,CAAA;AAAA,MAAA;AAAA,IACpE;AAAA,EAEF,CAAC;AACD,YAAU,cAAc;ACzBX,QAAA,WAAWH,MAAA,WAA+C,CAAC,OAAO,QAAQ;AACtF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,2BAAA,IAAC,QAAG,KAAU,WAAWC,uBAAAA,GAAG,SAAS,GAAI,GAAG,MAAM;AAAA,EAC1D,CAAC;AACD,WAAS,cAAc;ACFV,QAAA,qBAAqBJ,MAAA,WAAgE,CAAC,OAAO,QAAQ;AACjH,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAC/B,UAAM,EAAE,MAAM,QAAQ,QAAQ,IAAIF,MAAAA,WAAW,YAAY;AAEzD,0CAAQ,MAAG,EAAA,KAAU,WAAWM,uBAAAA,GAAG,WAAW,aAAa,EAAE,MAAM,QAAQ,MAAM,MAAM,QAAA,CAAS,CAAC,GAAI,GAAG,MAAM;AAAA,EAC/G,CAAC;AACD,qBAAmB,cAAc;ACK1B,QAAM,QAAQ;AAAA,IACpB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,MAAM;AAAA,IACN,eAAe;AAAA,IACf,kBAAkB;AAAA,EACnB;ACpBa,QAAA,kBAAkBP,MAAc,cAAA,EAAsB;ACN5D,QAAM,cAAcD,uBAAAA,IAAI,CAAC,QAAQ,cAAc,0CAA0C,GAAG;AAAA,IAClG,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,OAAO,WAAW;AAAA,QACvB,IAAI,CAAC,OAAO,SAAS;AAAA,QACrB,IAAI,CAAC,QAAQ,SAAS;AAAA,MAAA;AAAA,IAExB;AAAA,IACA,iBAAiB;AAAA,MAChB,MAAM;AAAA,IAAA;AAAA,EAER,CAAC;AAEM,QAAM,iBAAiBA,uBAAA;AAAA,IAC7B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,QAAQ,UAAU;AAAA,UACvB,IAAI,CAAC,QAAQ,SAAS;AAAA,UACtB,IAAI,CAAC,QAAQ,OAAO;AAAA,UACpB,IAAI,CAAC,QAAQ,SAAS;AAAA,UACtB,IAAI,CAAC,QAAQ,OAAO;AAAA,QAAA;AAAA,MAEtB;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;ACxCa,QAAA,WAAWI,MAAA,WAA0C,CAAC,OAAO,QAAQ;AACjF,UAAM,kBAAkB,YAAY;AAC9B,UAAA,EAAE,UAAU,WAAW,OAAO,MAAM,cAAc,gBAAgB,aAAa,GAAG,KAAA,IAAS;AAGhG,WAAAG,2BAAA;AAAA,MAACoF,qBAAU;AAAA,MAAV;AAAA,QACA;AAAA,QACA,WAAWnF,uBAAG,GAAA,WAAW,YAAY,EAAE,KAAM,CAAA,CAAC;AAAA,QAC9C,qBAAmB;AAAA,QAClB,GAAG;AAAA,QAEJ,UAAAD,2BAAAA,IAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,QAAS,SAAS,CAAA;AAAA,MAAA;AAAA,IACtD;AAAA,EAEF,CAAC;AACD,WAAS,cAAc;ACpBV,QAAA,WAAWH,MAAA,WAA0C,CAAC,OAAO,QAAQ;AACjF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,+BAACoF,qBAAU,MAAV,EAAe,KAAU,WAAWnF,uBAAA,GAAG,WAAW,eAAe,GAAI,GAAG,KAAM,CAAA;AAAA,EACvF,CAAC;AACD,WAAS,cAAc;ACPhB,QAAM,cAAc,MAAM;AAC1B,UAAA,kBAAkBN,iBAAW,eAAe;AAElD,QAAI,CAAC,iBAAiB;AACf,YAAA,IAAI,MAAM,sDAAsD;AAAA,IAAA;AAGhE,WAAA;AAAA,EACR;ACHa,QAAA,cAAcE,MAAA,WAAgD,CAAC,OAAO,QAAQ;AAC1F,UAAM,EAAE,WAAW,UAAU,GAAG,KAAS,IAAA;AAEnC,UAAA,EAAE,KAAK,IAAI,YAAY;AAE7B,0CACEuF,qBAAU,SAAV,EAAkB,KAAU,WAAWnF,uBAAG,GAAA,WAAW,eAAe,EAAE,KAAM,CAAA,CAAC,GAAI,GAAG,MACnF,UACF;AAAA,EAEF,CAAC;AACD,cAAY,cAAc;ACTnB,QAAM,OAAO;AAAA,IACnB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAASmF,qBAAU;AAAA,EACpB;ACda,QAAA,UAAU3F,uBAAI,IAAA,IAAI;AAAA,IAC9B,UAAU;AAAA,MACT,MAAM;AAAA,QACL,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,WAAW;AAAA,QAChB,IAAI,CAAC,SAAS;AAAA,QACd,IAAI,CAAC,SAAS;AAAA,QACd,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,QAClB,OAAO,CAAC,UAAU;AAAA,MACnB;AAAA,MACA,QAAQ;AAAA,QACP,OAAO,CAAC,YAAY;AAAA,QACpB,SAAS,CAAC,aAAa;AAAA,QACvB,QAAQ,CAAC,aAAa;AAAA,QACtB,MAAM,CAAC,WAAW;AAAA,MACnB;AAAA,MACA,OAAO;AAAA,QACN,MAAM,CAAC,WAAW;AAAA,QAClB,QAAQ,CAAC,aAAa;AAAA,QACtB,OAAO,CAAC,YAAY;AAAA,MAAA;AAAA,IACrB;AAAA,EAEF,CAAC;ACvBY,QAAA,OAAOI,MAAA,WAAuC,CAAC,OAAO,QAAQ;AACpE,UAAA,EAAE,WAAW,MAAM,QAAQ,OAAO,aAAa,eAAe,OAAO,GAAG,KAAA,IAAS;AAEtF,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW,QAAQ,EAAE,MAAM,QAAQ,MAAM,CAAC,GAAG;AAAA,UAC1D,uBAAuB,CAAC,CAAC;AAAA,UACzB,uBAAuB;AAAA,QAAA,CACvB;AAAA,QACD,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,OAAK,cAAc;ACpBZ,QAAM,cAAcR,uBAAA;AAAA,IAC1B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,SAAS;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAM;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACD;AAAA,UACA,OAAO,CAAC,2BAA2B,8BAA8B,kBAAkB,kBAAkB;AAAA,QACtG;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,SAAS;AAAA,UACrB,IAAI,CAAC,SAAS,SAAS;AAAA,UACvB,IAAI,CAAC,OAAO,WAAW;AAAA,UACvB,IAAI,CAAC,SAAS,SAAS;AAAA,UACvB,IAAI,CAAC,OAAO,SAAS;AAAA,QACtB;AAAA,QACA,QAAQ;AAAA,UACP,MAAM,CAAC,aAAa;AAAA,UACpB,UAAU,CAAC,UAAU;AAAA,UACrB,YAAY,CAAC,UAAU;AAAA,UACvB,MAAM,CAAC,QAAQ;AAAA,QAAA;AAAA,MAEjB;AAAA,MACA,iBAAiB;AAAA,QAChB,SAAS;AAAA,QACT,MAAM;AAAA,QACN,QAAQ;AAAA,MAAA;AAAA,IACT;AAAA,EAEF;ACrDa,QAAA,WAAWI,MAAA,WAA+C,CAAC,OAAO,QAAQ;AACtF,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,gBAAgB;AAAA,MACzB,cAAc,gBAAgB;AAAA,MAC9B,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,WAAWC,uBAAAA,GAAG,WAAW,YAAY,EAAE,MAAM,SAAS,GAAG,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA,CAAC;AAAA,QAC9F;AAAA,QACA,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,WAAS,cAAc;AC5BhB,QAAM,WAAWR,uBAAA;AAAA,IACvB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,SAAS,CAAC,mBAAmB,sBAAsB,UAAU,cAAc,oBAAoB;AAAA,UAC/F,MAAM,CAAC,mBAAmB,oBAAoB;AAAA,QAC/C;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,WAAW,KAAK;AAAA,UACrB,IAAI,CAAC,WAAW,KAAK;AAAA,UACrB,IAAI,CAAC,aAAa,KAAK;AAAA,UACvB,IAAI,CAAC,WAAW,KAAK;AAAA,UACrB,IAAI,CAAC,WAAW,KAAK;AAAA,QAAA;AAAA,MAEvB;AAAA,MACA,iBAAiB;AAAA,QAChB,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;ACrBA,QAAM,SAASI,MAAAA,WAAsC,SAASwF,OAAM,OAAO,KAAK;AAC/E,UAAM,EAAE,QAAQ,GAAG,oBAAA,IAAwB,YAAY;AACjD,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,cAAc,oBAAoB;AAAA,MAClC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IAAA,IACA;AAEJ,UAAM,CAAC,MAAM,OAAO,IAAIlF,MAAAA,SAAS,IAAI;AAErC,UAAM,mBAAmBC,MAAA;AAAA,MACxB,CAACC,UAAkB;AACd,YAAA,CAACA,SAAQ,QAAiB,SAAA;AAC9B,gBAAQA,KAAI;AAAA,MACb;AAAA,MACA,CAAC,OAAO;AAAA,IACT;AAGC,WAAAP,2BAAA;AAAA,MAACwF,sBAAW;AAAA,MAAX;AAAA,QACA,WAAWrF,uBAAA;AAAA,UACV;AAAA,UACA,SAAS,EAAE,MAAM,SAAS;AAAA,UAC1B,UAAU,EAAE,QAAQ,UAAU,KAAM,CAAA;AAAA,QACrC;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,cAAc;AAAA,QACd,qBAAmB;AAAA,QACnB,yBAAsB;AAAA,QACrB,GAAG;AAAA,QAEJ,UAAA;AAAA,UAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,YAAA;AAAA,YACDA,2BAAAA,KAAC,OAAI,EAAA,WAAU,uBACd,UAAA;AAAA,cAACA,2BAAAA,KAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,gBAAAE,2BAAA,IAACsF,sBAAW,OAAX,EAAiB,WAAU,eAAe,UAAM,OAAA;AAAA,gBAChDtF,2BAAAA,IAAAsF,sBAAW,aAAX,EAAwB,UAAY,YAAA,CAAA;AAAA,cAAA,GACtC;AAAA,cACC,UACAtF,2BAAA,IAACsF,sBAAW,QAAX,EAAkB,WAAU,SAAQ,SAAS,OAAO,SAAS,SAAO,MACnE,iBAAO,QACT,CAAA;AAAA,YAAA,EAEF,CAAA;AAAA,UAAA,GACD;AAAA,yCACCA,sBAAW,OAAX,EAAiB,SAAO,MACxB,UAACtF,2BAAAA,IAAA,YAAA,EAAW,MAAY,cAAW,SAAQ,SAAQ,SAAQ,aAC1D,UAACA,2BAAAA,IAAAwC,GAAA,KAAA,EAAI,GACN,EACD,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACD;AAAA,EAEF,CAAC;AAEY,QAAA,QAAwBtC,WAAK,MAAM;ACtEnC,QAAA,eAAeR,MAAc,cAAA,CAAmB,CAAA;AAEhD,QAAA,WAAW,MAAqB;AACtC,UAAA,UAAUC,iBAAW,YAAY;AAEvC,QAAI,CAAC,SAAS;AACP,YAAA,IAAI,MAAM,8CAA8C;AAAA,IAAA;AAGxD,WAAA;AAAA,EACR;ACAA,QAAM,mBAAmB,MAAM;AAE/B,QAAM,eAAe;AAOrB,QAAM,qBAAqB,CAAC,UAAsB;AAEjD,QAAI,MAAM,YAAY,MAAM,YAAY,qBAAqB,MAAM;AAG7D,UAAA,QAAQ,MAAM,YAAY,MAAM,GAAG,EAAE,SAAS,MAAM,MAAM,MAAM,GAAG,EAAE;AAE3E,WAAO,eAAe,QAAQ;AAAA,EAC/B;AAIW4F,EAAAA,SAAAA,kBAAkE;AAGhE,QAAA,gBAA+CrF,MAAAA,KAAK,SAAS,qBAAqB;AAAA,IAC9F;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,GAA8B;AAC7B,UAAM,CAAC,QAAQ,SAAS,IAAIC,MAAAA,SAAsB,CAAA,CAAE;AAEpD,UAAM,mBAAmBC,MAAA,YAAY,CAAC,IAAY,QAAqB,aAA0B;AAChG,gBAAU,CAAC,eAAe;AACzB,cAAM,QAAQ,WAAW,KAAK,CAACoF,WAAUA,OAAM,OAAO,EAAE;AAExD,YAAI,SAAS,WAAW,EAAoB,cAAa,MAAM,OAAO;AAEtE,eAAO,WAAW,OAAO,CAACA,WAAUA,OAAM,OAAO,EAAE;AAAA,MAAA,CACnD;AAED,UAAI,SAAmB,UAAA;AAAA,IACxB,GAAG,EAAE;AAEC,UAAA,oBAAoB5F,MAAAA,QAAuB,MAAM;AACtD,UAAI,UAAU;AAER,YAAA,YAAY,CAAC,eAA2B;AACvC,cAAA,WAAW,mBAAmB,UAAU;AACxC,cAAA,KAAK,QAAQ,SAAS;AACjB,mBAAA;AAIL,cAAA,UAAU,WAAW,MAAM,iBAAiB,IAAI,GAAqB,WAAW,OAAO,GAAG,QAAQ;AAExG,kBAAU,CAAC,eAAe,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,SAAS,SAAS,UAAU,GAAI,CAAA,CAAC;AAAA,MAC7F;AACA,YAAM,cAAc,CAAC,eAAiC,UAAU,UAAU;AACpE,YAAA,cAAc,CAAC,eAAiC,UAAU,EAAE,GAAG,YAAY,aAAa,WAAW;AACnG,YAAA,YAAY,CAAC,eAAiC,UAAU,EAAE,GAAG,YAAY,aAAa,UAAU;AAChG,YAAA,WAAW,CAAC,eAAiC,UAAU,EAAE,GAAG,YAAY,aAAa,QAAQ;AAC7F,YAAA,cAAc,CAAC,eAAiC,UAAU,EAAE,GAAG,YAAY,aAAa,WAAW;AAEvF2F,MAAAA,SAAAA,kBAAA;AAEX,aAAA;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IAAA,GACE,CAAC,gBAAgB,CAAC;AAGrB5E,UAAAA,UAAU,MAAM;AACf,aAAO,MAAM;AACZ,mBAAW,EAAE,QAAA,KAAa,qBAAqB,OAAO;AAAA,MACvD;AAAA,IAGD,GAAG,EAAE;AAGJ,WAAAX,+BAAC,aAAa,UAAb,EAAsB,OAAO,mBAC7B,UAAAF,2BAAA,KAAC2F,WAAoB,eAAA,EAAA,GAAG,MACtB,UAAA;AAAA,MAAA;AAAA,MAEDzF,2BAAA;AAAA,QAAC0F,WAAA;AAAA,QAAA;AAAA,UACA,WAAWzF,uBAAA;AAAA,YACV;AAAA,YACA;AAAA,UACD;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,MAEC,OAAO,IAAI,CAAC,EAAE,IAAI,SAAS,GAAG,iBAC9BD,2BAAAA,IAAC,SAAgB,GAAG,YAAY,SAAS,MAAM,iBAAiB,IAAI,GAAoB,OAAO,EAAnF,GAAA,EAAsF,CAClG;AAAA,IAAA,EAAA,CACF,EACD,CAAA;AAAA,EAEF,CAAC;ACrHM,QAAM,kBAAkBP,uBAAA;AAAA,IAC9B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,SAAS;AAAA,UACR,SAAS;AAAA;AAAA,YAER;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAGA;AAAA,YACA;AAAA;AAAA,YAGA;AAAA,YACA;AAAA,UACD;AAAA,UACA,OAAO;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAEF;AAAA,QACA,MAAM;AAAA,UACL,MAAM,CAAC;AAAA,UACP,OAAO,CAAA;AAAA,QACR;AAAA,QACA,MAAM;AAAA,UACL,IAAI,CAAC,OAAO,WAAW,UAAU;AAAA,UACjC,IAAI,CAAC,OAAO,WAAW,SAAS;AAAA,UAChC,IAAI,CAAC,OAAO,aAAa,OAAO;AAAA,UAChC,IAAI,CAAC,OAAO,WAAW,SAAS;AAAA,UAChC,IAAI,CAAC,OAAO,WAAW,OAAO;AAAA,QAAA;AAAA,MAEhC;AAAA,MACA,kBAAkB;AAAA,QACjB;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QAEA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,MAET;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,EAEF;AClHO,QAAM,mBAAmBI,MAAA,WAAqD,CAAC,OAAO,QAAQ;AACpG,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,gBAAgB;AAAA,MACzB,cAAc,gBAAgB;AAAA,MAC9B,GAAG;AAAA,IAAA,IACA;AAGH,WAAAG,2BAAA;AAAA,MAAC2F,kBAAO;AAAA,MAAP;AAAA,QACA;AAAA,QACA,WAAW1F,uBAAAA,GAAG,WAAW,gBAAgB,EAAE,MAAM,SAAS,KAAA,CAAM,GAAG,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA,CAAC;AAAA,QACzG,qBAAmB;AAAA,QAClB,GAAG;AAAA,MAAA;AAAA,IACL;AAAA,EAEF,CAAC;AACD,mBAAiB,cAAc;ACzBlB,QAAA,mBAAmBJ,MAAA,WAAiD,CAAC,OAAO,QAAQ;AAChG,0CAAQ,kBAAiB,EAAA,KAAU,MAAI,MAAE,GAAG,OAAO;AAAA,EACpD,CAAC;AACD,mBAAiB,cAAc;ACHlB,QAAA,eAAeA,MAAA,WAAiD,CAAC,OAAO,QAAQ;AAC5F,0CAAQ,kBAAiB,EAAA,KAAU,MAAM,OAAQ,GAAG,OAAO;AAAA,EAC5D,CAAC;AACD,eAAa,cAAc;ACFd,QAAA,eAAeA,MAAA,WAA6C,CAAC,OAAO,QAAQ;AACxF,UAAM,EAAE,WAAW,GAAG,KAAA,IAAS;AAExB,WAAAG,+BAAC4F,wBAAa,OAAb,EAAmB,WAAW3F,uBAAAA,GAAG,WAAW,iBAAiB,GAAG,KAAW,GAAG,KAAM,CAAA;AAAA,EAC7F,CAAC;AACD,eAAa,cAAc;ACTpB,QAAM,iBAAiBR,uBAAA;AAAA,IAC7B;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC,UAAU;AAAA,QACT,MAAM;AAAA,UACL,IAAI,CAAC,WAAW,MAAM;AAAA,UACtB,IAAI,CAAC,WAAW,MAAM;AAAA,UACtB,IAAI,CAAC,aAAa,MAAM;AAAA,UACxB,IAAI,CAAC,WAAW,MAAM;AAAA,UACtB,IAAI,CAAC,WAAW,MAAM;AAAA,QACvB;AAAA,QACA,MAAM;AAAA,UACL,KAAK,CAAC,wCAAwC;AAAA,UAC9C,OAAO,CAAC,wCAAwC;AAAA,UAChD,QAAQ,CAAC,wCAAwC;AAAA,UACjD,MAAM,CAAC,wCAAwC;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,iBAAiB;AAAA,QAChB,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EAEF;AC1Ba,QAAA,iBAAiBI,MAAA,WAAgD,CAAC,OAAO,QAAQ;AAC7F,UAAM,kBAAkB,YAAY;AAC9B,UAAA;AAAA,MACL;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,SAAS,gBAAgB;AAAA,MACzB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,GAAG;AAAA,IAAA,IACA;AAEJ,WACEG,2BAAAA,IAAA4F,wBAAa,QAAb,EAAoB,WACpB,UAAA5F,2BAAA;AAAA,MAAC4F,wBAAa;AAAA,MAAb;AAAA,QACA,WAAW3F,uBAAAA,GAAG,WAAW,eAAe,EAAE,MAAM,MAAM,GAAG,UAAU,EAAE,QAAQ,UAAU,MAAO,CAAA,CAAC;AAAA,QAC/F;AAAA,QACA;AAAA,QACA,yBAAsB;AAAA,QACrB,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA,GAEH;AAAA,EAEF,CAAC;AACD,iBAAe,cAAc;AC/BtB,QAAM,UAAU;AAAA,IACtB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM2F,wBAAa;AAAA,IACnB,SAASA,wBAAa;AAAA,IACtB,UAAUA,wBAAa;AAAA,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[31,32,33]}
1
+ {"version":3,"file":"blocks.umd.cjs","sources":["../src/cva/floating.ts","../src/cva/radius.ts","../src/Provider/context.ts","../src/Provider/hooks.ts","../src/Provider/Provider.tsx","../src/AlertDialog/cva.ts","../src/AlertDialog/Content.tsx","../src/AlertDialog/context.ts","../src/AlertDialog/hooks.ts","../src/ButtonGroup/context.ts","../src/ButtonGroup/ButtonGroup.tsx","../src/ButtonGroup/hooks.ts","../src/Buttons/cva.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/AlertDialog/Provider.tsx","../src/AlertDialog/index.ts","../src/Avatar/context.ts","../src/Avatar/cva.ts","../src/Avatar/Fallback.tsx","../src/Avatar/Image.tsx","../src/Avatar/Root.tsx","../src/Avatar/index.ts","../src/Badge/cva.ts","../src/Badge/Badge.tsx","../src/Card/cva.ts","../src/Card/Card.tsx","../src/Checkbox/Indicator.tsx","../src/Checkbox/cva.ts","../src/Checkbox/Root.tsx","../src/Checkbox/index.ts","../node_modules/@react-hook/passive-layout-effect/dist/module/index.js","../node_modules/@react-hook/latest/dist/module/index.js","../node_modules/@react-hook/resize-observer/dist/module/index.js","../src/utils.ts","../src/CollapsibleTree/context.ts","../src/CollapsibleTree/CollapsibleTree.tsx","../src/CommandMenu/context.ts","../src/CommandMenu/utils.ts","../src/CommandMenu/CheckboxIndicator.tsx","../src/CommandMenu/cva.ts","../src/CommandMenu/Item.tsx","../src/CommandMenu/CheckboxItem.tsx","../src/CommandMenu/Content.tsx","../src/CommandMenu/Empty.tsx","../src/CommandMenu/Group.tsx","../src/CommandMenu/Input.tsx","../src/CommandMenu/List.tsx","../src/CommandMenu/MultiSelectGroup.tsx","../src/CommandMenu/MultiSelectItem.tsx","../src/CommandMenu/Overlay.tsx","../src/CommandMenu/Page.tsx","../src/CommandMenu/Pages.tsx","../src/CommandMenu/PageTriggerItem.tsx","../src/CommandMenu/RadioGroup.tsx","../src/CommandMenu/RadioItem.tsx","../src/CommandMenu/Root.tsx","../src/CommandMenu/SelectAllItem.tsx","../src/CommandMenu/SelectedIndicator.tsx","../src/CommandMenu/Separator.tsx","../src/CommandMenu/Trigger.tsx","../src/CommandMenu/index.ts","../src/DayPicker/Chevron.tsx","../src/DayPicker/cva.ts","../src/DayPicker/DayPicker.tsx","../src/Dialog/context.ts","../src/Dialog/hooks.ts","../src/Dialog/Content.tsx","../src/Dialog/Overlay.tsx","../src/Dialog/Root.tsx","../src/Dialog/index.ts","../src/Heading/constants.ts","../src/Heading/cva.ts","../src/Heading/Heading.tsx","../src/HoverCard/Arrow.tsx","../src/HoverCard/cva.ts","../src/HoverCard/Content.tsx","../src/HoverCard/index.ts","../src/HoverUtility/HoverUtility.tsx","../src/Input/context.ts","../src/Input/cva.ts","../src/Input/Field.tsx","../src/Input/Root.tsx","../src/Input/Slot.tsx","../src/Input/index.ts","../src/Layout/context.ts","../src/Layout/Container.tsx","../src/Layout/Root.tsx","../src/SlideOut/utils.ts","../src/SlideOut/SlideOut.tsx","../src/Layout/SlideOut.tsx","../src/Layout/SlideOutOverlay.tsx","../src/Layout/SlideOutTrigger.tsx","../src/Layout/index.ts","../src/Link/cva.ts","../src/Link/Link.tsx","../src/CheckedIndicator/context.ts","../src/CheckedIndicator/CheckedIndicator.tsx","../src/Menu/cva.ts","../src/Menu/root/context.ts","../src/Menu/constants.ts","../src/Menu/root/Root.tsx","../src/Menu/Content/context.ts","../src/Menu/Content/Content.tsx","../src/Menu/Sub/context.ts","../src/Menu/utils.ts","../src/Menu/Sub/Sub.tsx","../src/Menu/Item/Item.tsx","../src/Menu/CheckboxItem/CheckboxItem.tsx","../src/Menu/CheckboxItemIndicator/CheckboxItemIndicator.tsx","../src/Menu/ClickTrigger/ClickTrigger.tsx","../src/Menu/ContextTrigger/ContextTrigger.tsx","../src/Menu/Group/Group.tsx","../src/Menu/Input/Field.tsx","../src/Menu/Input/Root.tsx","../src/Menu/Input/Slot.tsx","../src/SelectContext/context.ts","../src/SelectContext/Provider.tsx","../src/Menu/MultiSelectGroup/MultiSelectGroup.tsx","../src/Menu/SelectedIndicator/context.ts","../src/Menu/SelectedIndicator/SelectedIndicator.tsx","../src/Menu/MultiSelectItem/MultiSelectItem.tsx","../src/Menu/Pages/context.ts","../src/Menu/Pages/Pages.tsx","../src/Menu/PageContent/PageContent.tsx","../src/Menu/PageTrigger/PageTrigger.tsx","../src/Menu/Scroll/Scroll.tsx","../src/Menu/SelectAll/context.ts","../src/Menu/SelectAll/SelectAllIndicator.tsx","../src/Menu/SelectAll/SelectAllItem.tsx","../src/Menu/SelectGroup/SelectGroup.tsx","../src/Menu/SelectItem/SelectItem.tsx","../src/Menu/Separator/Separator.tsx","../src/Menu/SubContent/SubContent.tsx","../src/Menu/SubTrigger/SubTrigger.tsx","../src/Menu/VirtualTrigger/VirtualTrigger.tsx","../src/Menu/index.ts","../src/RiIcon/RiIcon.tsx","../src/OvermapErrorBoundary/OvermapErrorBoundary.tsx","../src/Popover/Arrow.tsx","../src/Popover/cva.ts","../src/Popover/Content.tsx","../src/Popover/index.ts","../src/RadioGroup/Indicator.tsx","../src/RadioGroup/context.ts","../src/RadioGroup/cva.ts","../src/RadioGroup/Item.tsx","../src/RadioGroup/Root.tsx","../src/RadioGroup/index.ts","../src/SegmentedControl/cva.ts","../src/SegmentedControl/context.ts","../src/SegmentedControl/hooks.ts","../src/SegmentedControl/Item.tsx","../src/SegmentedControl/Root.tsx","../src/SegmentedControl/index.ts","../src/Separator/cva.ts","../src/Separator/Separator.tsx","../src/Spinner/Spinner.tsx","../src/Switch/context.ts","../src/Switch/cva.ts","../src/Switch/Root.tsx","../src/Switch/Thumb.tsx","../src/Switch/index.ts","../src/Table/Body.tsx","../src/Table/context.ts","../src/Table/cva.ts","../src/Table/Cell.tsx","../src/Table/ColumnHeaderCell.tsx","../src/Table/Footer.tsx","../src/Table/Header.tsx","../src/Table/Root.tsx","../src/Table/Row.tsx","../src/Table/RowHeaderCell.tsx","../src/Table/index.ts","../src/Tabs/context.ts","../src/Tabs/cva.ts","../src/Tabs/List.tsx","../src/Tabs/Root.tsx","../src/Tabs/hooks.ts","../src/Tabs/Trigger.tsx","../src/Tabs/index.ts","../src/Text/cva.ts","../src/Text/Text.tsx","../src/TextArea/cva.ts","../src/TextArea/TextArea.tsx","../src/Toast/cva.ts","../src/Toast/Toast.tsx","../src/Toast/ToastContext.ts","../src/Toast/ToastProvider.tsx","../src/ToggleButton/cva.ts","../src/ToggleButton/BaseToggleButton.tsx","../src/ToggleButton/IconToggleButton.tsx","../src/ToggleButton/ToggleButton.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/cva.ts","../src/Tooltip/Content.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\"\n\nexport const floating = cva(\n\t[\n\t\t\"data-[state=open]:animate-in\",\n\t\t\"data-[state=open]:fade-in-0\",\n\t\t\"data-[state=open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tshadow: {\n\t\t\t\t\"1\": [\"shadow-xs\"],\n\t\t\t\t\"2\": [\"shadow-sm\"],\n\t\t\t\t\"3\": [\"shadow-md\"],\n\t\t\t\t\"4\": [\"shadow-lg\"],\n\t\t\t\t\"5\": [\"shadow-xl\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-2\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-2\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-2\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-2\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport type FloatingStyleProps = VariantProps<typeof floating>\n","import { cva } from \"class-variance-authority\"\n\nexport const radiusCva = cva([], {\n\tvariants: {\n\t\tmaxLarge: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tradius: {\n\t\t\tnone: [\"rounded-none\"],\n\t\t\txs: [\"rounded-xs\"],\n\t\t\tsm: [\"rounded-sm\"],\n\t\t\tmd: [\"rounded-md\"],\n\t\t\tlg: [\"rounded-lg\"],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-xl\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-full\"],\n\t\t},\n\t],\n})\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"./typings\"\n\ninterface IProviderContext {\n\taccentColor: string\n\tradius: ComponentRadius\n}\n\nexport const ProviderContext = createContext({} as IProviderContext)\n","import { useContext } from \"react\"\n\nimport { ProviderContext } from \"./context\"\n\nexport const useProvider = () => {\n\tconst context = useContext(ProviderContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useProvider must be used within a Provider\")\n\t}\n\n\treturn context\n}\n","import { PropsWithChildren, useMemo } from \"react\"\n\nimport { ProviderContext } from \"./context\"\nimport type { ComponentRadius } from \"./typings\"\n\nexport interface ProviderProps extends PropsWithChildren {\n\taccentColor: string\n\tradius?: ComponentRadius\n}\n\nexport const Provider = (props: ProviderProps) => {\n\tconst { accentColor, radius = \"md\", children } = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\taccentColor,\n\t\t\tradius,\n\t\t}),\n\t\t[accentColor, radius],\n\t)\n\n\treturn <ProviderContext.Provider value={contextValue}>{children}</ProviderContext.Provider>\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const dialogOverlay = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\t\"duration-200\",\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\t\"data-[state='open']:animate-in\",\n\t\"data-[state='open']:fade-in-0\",\n\t\"data-[state='closed']:animate-out\",\n\t\"data-[state='closed']:fade-out-0\",\n])\n\nexport const dialogContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"h-max\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\t\t\"max-h-3/4\",\n\t\t\"shadow-md\",\n\t\t\"overflow-hidden\",\n\t\t\"w-full\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"fixed\",\n\t\t\"left-[50%]\",\n\t\t\"top-[50%]\",\n\t\t\"translate-x-[-50%]\",\n\t\t\"translate-y-[-50%]\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\", \"max-w-xs\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\", \"max-w-sm\"],\n\t\t\t\tmd: [\"text-md\", \"p-4\", \"max-w-md\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\", \"max-w-lg\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\", \"max-w-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { dialogContent, dialogOverlay } from \"./cva\"\nimport { AlertDialogVariantProps } from \"./typings\"\n\nexport interface AlertDialogContentProps extends RadixAlertDialog.AlertDialogContentProps, AlertDialogVariantProps {\n\tcontainer?: RadixAlertDialog.AlertDialogPortalProps[\"container\"]\n}\n\nexport const AlertDialogContent = forwardRef<HTMLDivElement, AlertDialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst { className, size, container, ...rest } = props\n\n\treturn (\n\t\t<RadixAlertDialog.Portal container={container}>\n\t\t\t<RadixAlertDialog.Overlay className={dialogOverlay({})} data-floating-content=\"\" />\n\t\t\t<RadixAlertDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixAlertDialog.Portal>\n\t)\n})\nAlertDialogContent.displayName = \"AlertDialogContent\"\n","import { createContext } from \"react\"\n\nimport { AlertDialogOptions } from \"./typings\"\n\ntype AlertDialogContextType = (options: AlertDialogOptions) => void\n\nexport const AlertDialogContext = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n","import { useContext } from \"react\"\n\nimport { AlertDialogContext } from \"./context\"\n\nexport const useAlertDialog = () => {\n\tconst alertDialogContext = useContext(AlertDialogContext)\n\tif (!alertDialogContext) {\n\t\tthrow new Error(\"No AlertDialogProvider found\")\n\t}\n\treturn alertDialogContext\n}\n","import { createContext } from \"react\"\n\nimport type { ButtonSize, ButtonVariant } from \"../Buttons\"\nimport type { ComponentRadius } from \"../Provider\"\n\ninterface IButtonGroupContext {\n\tvariant: ButtonVariant\n\tsize: ButtonSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const ButtonGroupContext = createContext<IButtonGroupContext>({} as IButtonGroupContext)\n","import { ComponentProps, PropsWithoutRef, useMemo } from \"react\"\n\nimport type { ButtonVariantProps } from \"../Buttons\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { ButtonGroupContext } from \"./context\"\n\nexport interface ButtonGroupProps\n\textends PropsWithoutRef<ComponentProps<\"div\">>,\n\t\tButtonVariantProps,\n\t\tAccentColorProps {}\n\nexport const ButtonGroup = (props: ButtonGroupProps) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tvariant = \"solid\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\taccentColor,\n\t\t}),\n\t\t[accentColor, radius, size, variant],\n\t)\n\n\treturn (\n\t\t<div {...rest}>\n\t\t\t<ButtonGroupContext.Provider value={value}>{children}</ButtonGroupContext.Provider>\n\t\t</div>\n\t)\n}\nButtonGroup.displayName = \"Buttons\"\n","import { useContext } from \"react\"\n\nimport { ButtonGroupContext } from \"./context\"\n\nexport const useButtonGroup = () => useContext(ButtonGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const buttonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"ring-(--accent-9)\",\n\t\t\t\t\t\"bg-(--accent-9)\",\n\t\t\t\t\t\"hover:bg-(--accent-10)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t\t\"active:brightness-110\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-10)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"active:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"active:bg-(--accent-a3)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t\tfill: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a3)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:inset-ring-0\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state='open']:inset-ring-0\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"solid\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface ButtonProps extends ButtonVariantProps, PropsWithoutRef<ComponentProps<\"button\">> {}\n\nexport const Button = memo(\n\tforwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: false, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface IconButtonProps\n\textends ButtonVariantProps,\n\t\tPropsWithoutRef<ComponentProps<\"button\">>,\n\t\tAccentColorProps {}\n\nexport const IconButton = memo(\n\tforwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: true, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { PropsWithChildren, useCallback, useState } from \"react\"\n\nimport { Button } from \"../Buttons\"\nimport { AlertDialogContent } from \"./Content\"\nimport { AlertDialogContext } from \"./context\"\nimport { AlertDialogOptions } from \"./typings\"\n\nexport const AlertDialogProvider = (props: PropsWithChildren) => {\n\tconst { children } = props\n\n\tconst [open, setOpen] = useState(false)\n\tconst [options, setOptions] = useState<AlertDialogOptions | null>(null)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tsetOpen(open)\n\n\t\t\tif (open) return\n\n\t\t\toptions?.onClose?.()\n\t\t},\n\t\t[options],\n\t)\n\n\tconst openAlertDialog = useCallback(\n\t\t(config: AlertDialogOptions) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\t\t\tsetOpen(true)\n\t\t\tsetOptions({\n\t\t\t\tsize: \"md\",\n\t\t\t\taction: \"Confirm\",\n\t\t\t\tcancel: \"Cancel\",\n\t\t\t\t...config,\n\t\t\t})\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialogContext.Provider value={openAlertDialog}>\n\t\t\t{children}\n\t\t\t<RadixAlertDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t\t<AlertDialogContent size={options?.size}>\n\t\t\t\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Title className=\"font-medium\">{options?.title}</RadixAlertDialog.Title>\n\t\t\t\t\t\t\t<RadixAlertDialog.Description>{options?.description}</RadixAlertDialog.Description>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex justify-end gap-2\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Cancel onClick={options?.onCancel}>\n\t\t\t\t\t\t\t\t<Button variant=\"soft\" size={options?.size} accentColor=\"base\">\n\t\t\t\t\t\t\t\t\t{options?.cancel}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Cancel>\n\t\t\t\t\t\t\t<RadixAlertDialog.Action onClick={options?.onAction}>\n\t\t\t\t\t\t\t\t<Button variant=\"solid\" size={options?.size}>\n\t\t\t\t\t\t\t\t\t{options?.action}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Action>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</RadixAlertDialog.Root>\n\t\t</AlertDialogContext.Provider>\n\t)\n}\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\n\nimport { AlertDialogContent } from \"./Content\"\n\nexport * from \"./Content\"\nexport * from \"./hooks\"\nexport * from \"./Provider\"\nexport * from \"./typings\"\n\nexport const AlertDialog = {\n\tContent: AlertDialogContent,\n\tTrigger: RadixAlertDialog.Trigger,\n\tRoot: RadixAlertDialog.Root,\n\tTitle: RadixAlertDialog.Title,\n\tDescription: RadixAlertDialog.Description,\n\tAction: RadixAlertDialog.Action,\n\tCancel: RadixAlertDialog.Cancel,\n}\n","import { createContext } from \"react\"\n\nimport type { AvatarVariant } from \"./typings\"\n\ninterface IAvatarContext {\n\tvariant: AvatarVariant\n}\n\nexport const AvatarContext = createContext({} as IAvatarContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const avatar = cva([\"shrink-0\", \"select-none\", \"inline-block\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"w-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"w-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"w-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"w-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"w-9\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const avatarFallback = cva([\"flex\", \"items-center\", \"justify-center\", \"w-full\", \"h-full\", \"rounded-[inherit]\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"solid\",\n\t},\n})\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext } from \"react\"\n\nimport { AvatarContext } from \"./context\"\nimport { avatarFallback } from \"./cva\"\n\nexport interface AvatarFallbackProps extends RadixAvatar.AvatarFallbackProps {}\n\nexport const AvatarFallback = forwardRef<HTMLSpanElement, AvatarFallbackProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { variant } = useContext(AvatarContext)\n\n\treturn <RadixAvatar.AvatarFallback className={cx(className, avatarFallback({ variant }))} ref={ref} {...rest} />\n})\nAvatarFallback.displayName = \"AvatarFallback\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface AvatarImageProps extends RadixAvatar.AvatarImageProps {}\n\nexport const AvatarImage = forwardRef<HTMLImageElement, AvatarImageProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixAvatar.Image\n\t\t\tclassName={cx(className, \"object-cover\", \"rounded-[inherit]\", \"w-full\", \"h-full\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nAvatarImage.displayName = \"AvatarImage\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { AvatarContext } from \"./context\"\nimport { avatar } from \"./cva\"\nimport type { AvatarVariantProps } from \"./typings\"\n\nexport interface AvatarRootProps extends RadixAvatar.AvatarProps, AvatarVariantProps {}\n\nexport const AvatarRoot = forwardRef<HTMLSpanElement, AvatarRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant = \"solid\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<RadixAvatar.Root\n\t\t\tclassName={cx(className, avatar({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<AvatarContext.Provider value={{ variant }}>{children}</AvatarContext.Provider>\n\t\t</RadixAvatar.Root>\n\t)\n})\nAvatarRoot.displayName = \"AvatarRoot\"\n","import { AvatarFallback } from \"./Fallback\"\nimport { AvatarImage } from \"./Image\"\nimport { AvatarRoot } from \"./Root\"\n\nexport * from \"./Fallback\"\nexport * from \"./Image\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Avatar = {\n\tFallback: AvatarFallback,\n\tImage: AvatarImage,\n\tRoot: AvatarRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const badge = cva([\"inline-flex\", \"items-center\", \"shrink-0\"], {\n\tvariants: {\n\t\ticon: {\n\t\t\ttrue: [\"justify-center\"],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"w-5\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"w-6\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"w-7\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"px-3\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"w-8\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"px-4\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"w-9\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"px-5\",\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\ticon: false,\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { badge } from \"./cva\"\nimport type { BadgeVariantProps } from \"./typings\"\n\nexport interface BadgeProps extends ComponentProps<\"span\">, BadgeVariantProps {}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant,\n\t\tsize,\n\t\ticon,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<span\n\t\t\tclassName={cx(className, badge({ variant, size, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t)\n})\nBadge.displayName = \"Badge\"\n","import { cva } from \"class-variance-authority\"\n\nexport const cardCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-2)\"],\n\t\t\tsurface: [\"bg-(--accent-2)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-2\", \"text-xs\"],\n\t\t\tsm: [\"p-3\", \"text-sm\"],\n\t\t\tmd: [\"p-4\", \"text-base\"],\n\t\t\tlg: [\"p-5\", \"text-lg\"],\n\t\t\txl: [\"p-6\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { cardCva } from \"./cva\"\nimport type { CardVariantProps } from \"./typings\"\n\nexport interface CardProps extends PropsWithoutRef<ComponentProps<\"div\">>, CardVariantProps {}\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\taccentColor = \"base\",\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, cardCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCard.displayName = \"Card\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface CheckboxIndicatorProps extends RadixCheckbox.CheckboxIndicatorProps {}\n\nexport const CheckboxIndicator = forwardRef<HTMLSpanElement, CheckboxIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixCheckbox.CheckboxIndicator\n\t\t\tclassName={cx(className, \"flex items-center justify-center\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxIndicator.displayName = \"CheckboxIndicator\"\n","import { cva } from \"class-variance-authority\"\n\nexport const checkbox = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a5)\", \"text-(--accent-a11)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-4\", \"w-4\", \"text-xs\"],\n\t\t\t\tsm: [\"h-5\", \"w-5\", \"text-sm\"],\n\t\t\t\tmd: [\"h-6\", \"w-6\", \"text-base\"],\n\t\t\t\tlg: [\"h-7\", \"w-7\", \"text-lg\"],\n\t\t\t\txl: [\"h-8\", \"w-8\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { checkbox } from \"./cva\"\nimport type { CheckboxVariantProps } from \"./typings\"\n\nexport interface CheckboxRootProps extends CheckboxVariantProps, RadixCheckbox.CheckboxProps {}\n\nexport const CheckboxRoot = forwardRef<HTMLButtonElement, CheckboxRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant,\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tclassName={cx(className, checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxRoot.displayName = \"CheckboxRoot\"\n","import { CheckboxIndicator } from \"./Indicator\"\nimport { CheckboxRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Checkbox = {\n\tRoot: CheckboxRoot,\n\tIndicator: CheckboxIndicator,\n}\n","import React from 'react';\nconst usePassiveLayoutEffect = React[typeof document !== 'undefined' && document.createElement !== void 0 ? 'useLayoutEffect' : 'useEffect'];\nexport default usePassiveLayoutEffect;","import * as React from 'react';\n\nconst useLatest = current => {\n const storedValue = React.useRef(current);\n React.useEffect(() => {\n storedValue.current = current;\n });\n return storedValue;\n};\n\nexport default useLatest;","/* eslint-disable no-return-assign */\n/* eslint-disable no-underscore-dangle */\n\nimport useLayoutEffect from '@react-hook/passive-layout-effect';\nimport useLatest from '@react-hook/latest';\n\n/**\n * A React hook that fires a callback whenever ResizeObserver detects a change to its size\n *\n * @param target A React ref created by `useRef()` or an HTML element\n * @param callback Invoked with a single `ResizeObserverEntry` any time\n * the `target` resizes\n */\n\nfunction _ref() {}\nfunction useResizeObserver(target, callback, options = {}) {\n const resizeObserver = getResizeObserver(options.polyfill);\n const storedCallback = useLatest(callback);\n useLayoutEffect(() => {\n let didUnsubscribe = false;\n const targetEl = target && 'current' in target ? target.current : target;\n if (!targetEl) return _ref;\n function cb(entry, observer) {\n if (didUnsubscribe) return;\n storedCallback.current(entry, observer);\n }\n resizeObserver.subscribe(targetEl, cb);\n return () => {\n didUnsubscribe = true;\n resizeObserver.unsubscribe(targetEl, cb);\n };\n }, [target, resizeObserver, storedCallback]);\n return resizeObserver.observer;\n}\nfunction createResizeObserver(polyfill) {\n let ticking = false;\n let allEntries = [];\n const callbacks = new Map();\n const observer = new (polyfill || window.ResizeObserver)((entries, obs) => {\n allEntries = allEntries.concat(entries);\n function _ref2() {\n const triggered = new Set();\n for (let i = 0; i < allEntries.length; i++) {\n if (triggered.has(allEntries[i].target)) continue;\n triggered.add(allEntries[i].target);\n const cbs = callbacks.get(allEntries[i].target);\n cbs === null || cbs === void 0 ? void 0 : cbs.forEach(cb => cb(allEntries[i], obs));\n }\n allEntries = [];\n ticking = false;\n }\n if (!ticking) {\n window.requestAnimationFrame(_ref2);\n }\n ticking = true;\n });\n return {\n observer,\n subscribe(target, callback) {\n var _callbacks$get;\n observer.observe(target);\n const cbs = (_callbacks$get = callbacks.get(target)) !== null && _callbacks$get !== void 0 ? _callbacks$get : [];\n cbs.push(callback);\n callbacks.set(target, cbs);\n },\n unsubscribe(target, callback) {\n var _callbacks$get2;\n const cbs = (_callbacks$get2 = callbacks.get(target)) !== null && _callbacks$get2 !== void 0 ? _callbacks$get2 : [];\n if (cbs.length === 1) {\n observer.unobserve(target);\n callbacks.delete(target);\n return;\n }\n const cbIndex = cbs.indexOf(callback);\n if (cbIndex !== -1) cbs.splice(cbIndex, 1);\n callbacks.set(target, cbs);\n }\n };\n}\nlet _resizeObserver;\nconst getResizeObserver = polyfill => !_resizeObserver ? _resizeObserver = createResizeObserver(polyfill) : _resizeObserver;\nexport default useResizeObserver;","import useResizeObserver from \"@react-hook/resize-observer\"\nimport type * as React from \"react\"\nimport {\n\tDispatch,\n\tmemo,\n\tRefObject,\n\tSetStateAction,\n\tSyntheticEvent,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseState,\n} from \"react\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport { ViewportSizes } from \"./typings\"\n\nexport interface ViewportSize {\n\tsize: ViewportSizes\n\tprevSize: ViewportSizes\n\txs: boolean\n\tsm: boolean\n\tmd: boolean\n\tlg: boolean\n\txl: boolean\n}\n\n// TODO: this should be moved to /web\n// note that this is a pretty poor way of setting this up, the better way would be to use a context at the highest level\n// in the React component tree to result in the useMediaQuery hook being called a minimal number of times. Then any components\n// that need to subscribe to the viewport size can use the context to get the current viewport size.\n/** Return value needs to be deconstructed since the object returned is not memoized */\n\ninterface useViewportSizeProps {\n\txs: number | string\n\tsm: number | string\n\tmd: number | string\n\tlg: number | string\n\txl: number | string\n}\n\nexport const useViewportSize = (props: useViewportSizeProps): ViewportSize => {\n\tconst { xs: xsProps, sm: smProps, md: mdProps, lg: lgProps, xl: xlProps } = props\n\tconst [prevSize, setPrevSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\tconst [size, setSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\t// These specific Breakpoints are from Radix, see https://www.radix-ui.com/themes/docs/theme/breakpoints\n\tconst xs = useMediaQuery({ minWidth: xsProps })\n\tconst sm = useMediaQuery({ minWidth: smProps })\n\tconst md = useMediaQuery({ minWidth: mdProps })\n\tconst lg = useMediaQuery({ minWidth: lgProps })\n\tconst xl = useMediaQuery({ minWidth: xlProps })\n\n\tuseLayoutEffect(() => {\n\t\tsetSize((prev) => {\n\t\t\tsetPrevSize(prev)\n\t\t\treturn xl ? \"xl\" : lg ? \"lg\" : md ? \"md\" : sm ? \"sm\" : xs ? \"xs\" : \"initial\"\n\t\t})\n\t}, [lg, md, sm, xl, xs])\n\n\treturn { size, prevSize, xs, sm, md, lg, xl }\n}\n\n/** utility used for stopping Event propagation.\n * @return stopPropagation a callback that calls stopPropagation on a general event */\nexport const useStopEventPropagation = () => {\n\treturn useCallback((event: Event) => {\n\t\tevent.stopPropagation()\n\t}, [])\n}\n\n/** custom hook use for providing filter functionality based on a text input field\n * @param filterFunction make sure this is wrapped in a useCallback\n * @param values items that should be filtered on (of type T) */\nexport function useTextFilter<T>(\n\tvalues: T[],\n\tfilterFunction: (value: T, filterValue: string) => boolean,\n): [T[], string, Dispatch<SetStateAction<string>>] {\n\tconst [filteredOptions, setFilteredOptions] = useState<T[]>([])\n\tconst [filterValue, setFilterValue] = useState<string>(\"\")\n\n\tuseEffect(() => {\n\t\tsetFilteredOptions(values.filter((value) => filterFunction(value, filterValue)))\n\t}, [filterFunction, filterValue, values])\n\n\treturn [filteredOptions, filterValue, setFilterValue]\n}\n\nexport const useSize = (target: RefObject<HTMLDivElement>): DOMRectReadOnly | undefined => {\n\tconst [size, setSize] = useState<DOMRectReadOnly>()\n\n\tuseLayoutEffect(() => {\n\t\tsetSize(target.current?.getBoundingClientRect())\n\t}, [target])\n\n\tconst handleResize = useCallback((entry: ResizeObserverEntry) => {\n\t\tconst rect = entry.contentRect\n\t\tsetSize(rect)\n\t}, [])\n\n\t// Where the magic happens\n\tuseResizeObserver<HTMLDivElement>(target, handleResize)\n\treturn size\n}\n\nexport const genericMemo: <T>(component: T) => T = memo\n\nexport function useControlledState<TState>(\n\tinitialState: TState,\n\tstate?: TState,\n\tsetState?: (state: TState) => void,\n): [TState, (state: TState) => void] {\n\tconst [uncontrolledState, setUncontrolledState] = useState<TState>(initialState)\n\n\treturn [state !== undefined ? state : uncontrolledState, setState !== undefined ? setState : setUncontrolledState]\n}\n\ntype RefCleanup<T> = Exclude<ReturnType<React.RefCallback<T>>, void>\n\nexport function mergeRefs<T>(refs: Array<React.Ref<T> | undefined>): React.RefCallback<T> {\n\treturn (value) => {\n\t\tconst cleanups = refs.reduce((cleanups, ref) => {\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tconst cleanup = ref(value)\n\t\t\t\tif (typeof cleanup === \"function\") {\n\t\t\t\t\tcleanups.push(cleanup)\n\t\t\t\t} else {\n\t\t\t\t\t// simulate previous ref cleanup behavior\n\t\t\t\t\tcleanups.push(() => {\n\t\t\t\t\t\tref(null)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else if (ref != null) {\n\t\t\t\tref.current = value\n\t\t\t\t// simulate previous ref cleanup behavior\n\t\t\t\tcleanups.push(() => {\n\t\t\t\t\tref.current = null\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn cleanups\n\t\t}, [] as RefCleanup<T>[])\n\n\t\treturn () => {\n\t\t\tcleanups.forEach((cleanup) => {\n\t\t\t\tcleanup()\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport const stopPropagation = (e: SyntheticEvent) => {\n\te.stopPropagation()\n}\n","import { createContext, CSSProperties, useContext } from \"react\"\n\nimport { NodeCallbacks, NodeRenderer } from \"./typings\"\n\ninterface ICollapsibleTreeContext<TMeta> extends NodeCallbacks<TMeta> {\n\tnodeClassName?: string\n\tnodeStyles?: CSSProperties\n\tdisabled: boolean\n\tnodeRenderer: NodeRenderer<TMeta>\n}\n\nexport const CollapsibleTreeContext = createContext<ICollapsibleTreeContext<never>>(\n\t{} as ICollapsibleTreeContext<unknown>,\n)\n\nexport function useCollapsibleTreeContext<TMeta>() {\n\treturn useContext(CollapsibleTreeContext) as ICollapsibleTreeContext<TMeta>\n}\n","import * as RadixPrimitiveCollapsible from \"@radix-ui/react-collapsible\"\nimport { cx } from \"class-variance-authority\"\nimport { useCallback, useMemo, useState } from \"react\"\n\nimport { genericMemo } from \"../utils\"\nimport { CollapsibleTreeContext, useCollapsibleTreeContext } from \"./context\"\nimport { CollapsibleTreeProps, TreeNodeProps } from \"./typings\"\n\nconst CollapsibleNode = genericMemo(function <TMeta>(props: TreeNodeProps<TMeta> & { level?: number }) {\n\tconst { meta, nodes, level = 0, disabled } = props\n\t/** controlling the open state to allow a developer to specify what element is responsible for triggering the open\n\t * and closing of the collapsible. */\n\tconst [controlledOpenState, setControlledOpenState] = useState<boolean>(false)\n\n\tconst {\n\t\tnodeRenderer,\n\t\tdisabled: disabledFromContext,\n\t\tonNodeOpen,\n\t\tonNodeClose,\n\t\tonNodeClick,\n\t\tnodeStyles,\n\t\tnodeClassName,\n\t} = useCollapsibleTreeContext<TMeta>()\n\n\t// Want to overwrite the global disabled state if defined specifically for a node\n\tconst isDisabled = disabled ?? disabledFromContext\n\n\tconst handleClick = useCallback(() => {\n\t\tif (onNodeClick) onNodeClick(meta)\n\t}, [meta, onNodeClick])\n\n\tconst toggleOpenState = useCallback(() => {\n\t\tsetControlledOpenState(!controlledOpenState)\n\n\t\t// If moving from closed to open, call onNodeOpen\n\t\tif (!controlledOpenState && onNodeOpen) onNodeOpen(meta)\n\n\t\t// If moving from open to closed, call onNodeClose\n\t\tif (controlledOpenState && onNodeClose) onNodeClose(meta)\n\t}, [meta, onNodeClose, onNodeOpen, controlledOpenState])\n\n\tconst { children, style, className } = useMemo(() => {\n\t\treturn nodeRenderer({\n\t\t\tmeta,\n\t\t\ttoggleOpen: toggleOpenState,\n\t\t\topen: controlledOpenState,\n\t\t\tdisabled: isDisabled,\n\t\t})\n\t}, [isDisabled, meta, nodeRenderer, toggleOpenState, controlledOpenState])\n\n\tconst combinedStyles = useMemo(\n\t\t() => ({\n\t\t\t// want node specific styles to overwrite and global node styles\n\t\t\t...nodeStyles,\n\t\t\t...style,\n\t\t}),\n\t\t[nodeStyles, style],\n\t)\n\n\treturn (\n\t\t<RadixPrimitiveCollapsible.Root asChild open={controlledOpenState} disabled={isDisabled}>\n\t\t\t<div className=\"flex w-full flex-col\">\n\t\t\t\t<div\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tclassName={cx(nodeClassName, className, \"flex w-full shrink-0 items-center\")}\n\t\t\t\t\tstyle={combinedStyles}\n\t\t\t\t\t// These are useful, and another way to style the TreeNode based on its open or disabled state\n\t\t\t\t\tdata-state={controlledOpenState ? \"open\" : \"closed\"}\n\t\t\t\t\tdata-disabled={isDisabled}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{nodes && nodes.length > 0 && (\n\t\t\t\t\t<RadixPrimitiveCollapsible.Content asChild>\n\t\t\t\t\t\t<div className=\"flex h-max w-full flex-col pl-2\">\n\t\t\t\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t\t\t\t<CollapsibleNode<TMeta>\n\t\t\t\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\t\t\t\tkey={`${level},${index}`}\n\t\t\t\t\t\t\t\t\t{...treeNodeProps}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</RadixPrimitiveCollapsible.Content>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</RadixPrimitiveCollapsible.Root>\n\t)\n})\n\n/** The Collapsible Tree Component is a reusable UI element that displays hierarchical data in a tree structure.\n * Nodes in the tree can be expanded or collapsed to show or hide their children, allowing for an intuitive and\n * space-efficient way to navigate complex data structures.*/\nexport const CollapsibleTree = genericMemo(function <TMeta>(props: CollapsibleTreeProps<TMeta>) {\n\tconst {\n\t\tnodes,\n\t\tdisabled = false,\n\t\tnodeClassName,\n\t\tnodeStyles,\n\t\tonNodeClick,\n\t\tonNodeClose,\n\t\tonNodeOpen,\n\t\tnodeRenderer,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<CollapsibleTreeContext.Provider\n\t\t\tvalue={{\n\t\t\t\tnodeRenderer,\n\t\t\t\tnodeClassName,\n\t\t\t\tnodeStyles,\n\t\t\t\tdisabled,\n\t\t\t\tonNodeClick,\n\t\t\t\tonNodeClose,\n\t\t\t\tonNodeOpen,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"flex h-max w-full flex-col\" {...rest}>\n\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t<CollapsibleNode<TMeta> key={`${0},${index}`} {...treeNodeProps} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</CollapsibleTreeContext.Provider>\n\t)\n})\n","import { createContext, Dispatch, SetStateAction } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { CheckedState, CommandMenuSize, CommandMenuVariant } from \"./typings\"\n\ninterface ICommandMenuContext {\n\tsize: CommandMenuSize\n\tvariant: CommandMenuVariant\n\tradius: ComponentRadius\n}\n\nexport const CommandMenuContext = createContext<ICommandMenuContext>({} as ICommandMenuContext)\n\nexport interface ISelectContext {\n\tselectValue: (value: string) => void\n\tselected: (value: string) => boolean\n}\n\nexport const SelectContext = createContext({} as ISelectContext)\n\nexport interface IMultiSelectGroupContext {\n\titemValueMapping: Map<string, string>\n\tsetItemValueMapping: Dispatch<SetStateAction<Map<string, string>>>\n\n\tvalues: string[]\n\tsetValues: (values: string[]) => void\n}\n\nexport const MultiSelectGroupContext = createContext({} as IMultiSelectGroupContext)\n\nexport const SelectedIndicatorContext = createContext<boolean>(false)\n\nexport const CheckboxIndicatorContext = createContext<CheckedState>(false)\n\nexport interface IMenuPagesContext {\n\tpage: string\n\tsetPage: (page: string) => void\n}\n\nexport const CommandMenuPageContext = createContext({} as IMenuPagesContext)\n\nexport interface ICommandMenuDialogContext {\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n}\n\nexport const CommandMenuDialogContext = createContext({} as ICommandMenuDialogContext)\n","import type { CheckedState } from \"./typings\"\n\nexport function getSelectedState(selected: boolean) {\n\treturn selected ? \"selected\" : \"unselected\"\n}\n\nexport function getCheckedState(checked: CheckedState) {\n\treturn checked === true ? \"checked\" : checked === false ? \"unchecked\" : \"indeterminate\"\n}\n\nexport function getActiveState(active: boolean) {\n\treturn active ? \"active\" : \"inactive\"\n}\n","import { ComponentPropsWithRef, ReactNode, use, useMemo } from \"react\"\n\nimport { CheckboxIndicatorContext } from \"./context\"\nimport type { CheckedState } from \"./typings\"\nimport { getCheckedState } from \"./utils\"\n\nexport interface CommandMenuCheckboxIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\talwaysRender?: boolean\n\tchildren: ReactNode | ((checked: CheckedState) => ReactNode)\n}\n\nexport const CommandMenuCheckboxIndicator = (props: CommandMenuCheckboxIndicatorProps) => {\n\tconst { ref, alwaysRender = false, children, ...rest } = props\n\tconst checkedState = use(CheckboxIndicatorContext)\n\n\t// Memoize the children rendering based on checked state\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(checkedState) : children\n\t}, [checkedState, children])\n\n\tconst render = alwaysRender || !!checkedState\n\n\tif (!render) return null\n\n\treturn (\n\t\t<span ref={ref} data-state={getCheckedState(checkedState)} className=\"size-max\" {...rest}>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const commandMenuContentCva = cva(\n\t[\n\t\t\"ring\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"shadow-md\",\n\t\t\"fixed\",\n\t\t\"max-w-lg\",\n\t\t\"size-full\",\n\t\t\"h-max\",\n\t\t\"overflow-hidden\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"outline-none\",\n\t\t\"top-[15%]\",\n\t\t\"left-1/2\",\n\t\t\"-translate-x-1/2\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-sm\"],\n\t\t\t\tsm: [\"text-base\"],\n\t\t\t\tmd: [\"text-base\"],\n\t\t\t\tlg: [\"text-lg\"],\n\t\t\t\txl: [\"text-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const commandMenuOverlayCva = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\t\"duration-200\",\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\t\"data-[state='open']:animate-in\",\n\t\"data-[state='open']:fade-in-0\",\n\t\"data-[state='closed']:animate-out\",\n\t\"data-[state='closed']:fade-out-0\",\n])\n\nexport const commandMenuListCva = cva(\n\t[\"[scrollbar-width:thin]\", \"[scrollbar-color:var(--base-6)_transparent]\", \"overflow-auto\", \"h-max\", \"max-h-100\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"py-1.75\", \"scroll-py-1.75\"],\n\t\t\t\tsm: [\"py-2\", \"scroll-py-2\"],\n\t\t\t\tmd: [\"py-2.25\", \"scroll-py-2.25\"],\n\t\t\t\tlg: [\"py-2.5\", \"scroll-py-2.5\"],\n\t\t\t\txl: [\"py-2.75\", \"scroll-py-2.75\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const commandMenuInputCva = cva([\"outline-none\", \"w-full\", \"placeholder-(--base-a9)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-12\", \"px-5.25\", \"text-base\"],\n\t\t\tsm: [\"h-13\", \"px-6\", \"text-lg\"],\n\t\t\tmd: [\"h-14\", \"px-6.75\", \"text-lg\"],\n\t\t\tlg: [\"h-15\", \"px-8.5\", \"text-xl\"],\n\t\t\txl: [\"h-16\", \"px-9.25\", \"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const commandMenuSeparatorCva = cva([\"h-px\", \"bg-(--base-a6)\", \"w-full\"], {\n\tvariants: {\n\t\tspacing: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [],\n\t\t\tsm: [],\n\t\t\tmd: [],\n\t\t\tlg: [],\n\t\t\txl: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{ spacing: true, size: \"xs\", className: [\"my-1.75\"] },\n\t\t{ spacing: true, size: \"sm\", className: [\"my-2\"] },\n\t\t{ spacing: true, size: \"md\", className: [\"my-2.25\"] },\n\t\t{ spacing: true, size: \"lg\", className: [\"my-2.5\"] },\n\t\t{ spacing: true, size: \"xl\", className: [\"my-2.75\"] },\n\t],\n})\n\nexport const commandMenuItemCva = cva(\n\t[\n\t\t\"relative\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"outline-none\",\n\n\t\t// select\n\t\t\"select-none\",\n\n\t\t// cursor\n\t\t\"cursor-pointer\",\n\n\t\t// disabled\n\t\t\"data-[disabled=true]:text-(--base-a8)\",\n\t\t\"data-[disabled=true]:pointer-events-none\",\n\n\t\t// after\n\t\t\"after:absolute\",\n\t\t\"after:bg-transparent\",\n\t\t\"after:z-[-1]\",\n\t\t\"after:inset-y-0\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-10\", \"gap-3.5\", \"px-5.25\", \"after:inset-x-1.75\"],\n\t\t\t\tsm: [\"h-11\", \"gap-4\", \"px-6\", \"after:inset-x-2\"],\n\t\t\t\tmd: [\"h-12\", \"gap-4.5\", \"px-6.75\", \"after:inset-x-2.25\"],\n\t\t\t\tlg: [\"h-13\", \"gap-5\", \"px-7.5\", \"after:inset-x-2.5\"],\n\t\t\t\txl: [\"h-14\", \"gap-5.5\", \"px-8.25\", \"after:inset-x-2.75\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-[selected=true]:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-[selected=true]:after:bg-(--accent-a9)\",\n\t\t\t\t\t\"data-[selected=true]:active:after:brightness-110\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-[selected=true]:after:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[selected=true]:active:after:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tradius: {\n\t\t\t\tnone: [\"after:rounded-none\"],\n\t\t\t\txs: [\"after:rounded-xs\"],\n\t\t\t\tsm: [\"after:rounded-sm\"],\n\t\t\t\tmd: [\"after:rounded-md\"],\n\t\t\t\tlg: [\"after:rounded-lg\"],\n\t\t\t\txl: [\"after:rounded-xl\"],\n\t\t\t\tfull: [\"after:rounded-full\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"soft\",\n\t\t},\n\t},\n)\n\nexport const commandMenuEmptyCva = cva([\"flex\", \"justify-center\", \"text-(--base-a11)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"py-3.5\"],\n\t\t\tsm: [\"py-4\"],\n\t\t\tmd: [\"py-4.5\"],\n\t\t\tlg: [\"py-5\"],\n\t\t\txl: [\"py-5.5\"],\n\t\t},\n\t},\n})\n\nexport const commandMenuGroupCva = cva(\n\t[\n\t\t\"[&_[cmdk-group-heading]]:text-(--base-a10)\",\n\t\t\"[&_[cmdk-group-heading]]:flex\",\n\t\t\"[&_[cmdk-group-heading]]:items-center\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-2.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-6\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-xs\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-2.5\",\n\t\t\t\t],\n\t\t\t\tsm: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-2.75\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-6.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-sm\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-2.75\",\n\t\t\t\t],\n\t\t\t\tmd: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-3\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-7\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-sm\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-3\",\n\t\t\t\t],\n\t\t\t\tlg: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-3.25\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-7.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-base\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-3.25\",\n\t\t\t\t],\n\t\t\t\txl: [\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:px-3.5\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:h-8\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:text-base\",\n\t\t\t\t\t\"[&_[cmdk-group-heading]]:gap-3.5\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { CommandItem } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use, useCallback } from \"react\"\n\nimport { CommandMenuContext, CommandMenuDialogContext } from \"./context\"\nimport { commandMenuItemCva } from \"./cva\"\n\nexport interface CommandMenuItemProps extends ComponentPropsWithRef<typeof CommandItem> {\n\tcloseOnSelect?: boolean\n}\n\nexport const CommandMenuItem = memo<CommandMenuItemProps>((props) => {\n\tconst { className, ref, closeOnSelect = true, onSelect, ...rest } = props\n\n\tconst { size, variant, radius } = use(CommandMenuContext)\n\tconst { setOpen } = use(CommandMenuDialogContext)\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\tif (closeOnSelect) {\n\t\t\t\tsetOpen(false)\n\t\t\t}\n\t\t},\n\t\t[closeOnSelect, onSelect, setOpen],\n\t)\n\n\treturn (\n\t\t<CommandItem\n\t\t\tclassName={cx(className, commandMenuItemCva({ size, variant, radius }))}\n\t\t\tref={ref}\n\t\t\tonSelect={handleSelect}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCommandMenuItem.displayName = \"CommandMenuItem\"\n","import { useCallback } from \"react\"\n\nimport { CheckboxIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\nimport { getCheckedState } from \"./utils\"\n\nexport interface CommandMenuCheckboxItemProps extends CommandMenuItemProps {\n\tchecked: CheckedState\n\tonCheckedChange: (checked: boolean) => void\n}\n\nexport const CommandMenuCheckboxItem = (props: CommandMenuCheckboxItemProps) => {\n\tconst { children, ref, checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tonCheckedChange(checked !== true)\n\t\t},\n\t\t[checked, onCheckedChange, onSelect],\n\t)\n\n\treturn (\n\t\t<CheckboxIndicatorContext value={checked}>\n\t\t\t<CommandMenuItem ref={ref} onSelect={handleSelect} data-state={getCheckedState(checked)} {...rest}>\n\t\t\t\t{children}\n\t\t\t</CommandMenuItem>\n\t\t</CheckboxIndicatorContext>\n\t)\n}\n","import { DialogContentProps, DialogDescription, DialogPortalProps, DialogTitle } from \"@radix-ui/react-dialog\"\nimport { DialogContent, DialogPortal } from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { CommandRoot } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuContentCva } from \"./cva\"\nimport type { CommandMenuVariantProps } from \"./typings\"\n\nexport interface CommandMenuContentProps\n\textends ComponentPropsWithRef<typeof CommandRoot>,\n\t\tPick<\n\t\t\tDialogContentProps,\n\t\t\t| \"forceMount\"\n\t\t\t| \"onOpenAutoFocus\"\n\t\t\t| \"onCloseAutoFocus\"\n\t\t\t| \"onEscapeKeyDown\"\n\t\t\t| \"onPointerDownOutside\"\n\t\t\t| \"onInteractOutside\"\n\t\t>,\n\t\tPick<DialogPortalProps, \"container\">,\n\t\tCommandMenuVariantProps {}\n\nexport const CommandMenuContent = memo<CommandMenuContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tref,\n\t\t// DialogContent props\n\t\tforceMount,\n\t\tonOpenAutoFocus,\n\t\tonCloseAutoFocus,\n\t\tonEscapeKeyDown,\n\t\tonPointerDownOutside,\n\t\tonInteractOutside,\n\t\t// CommandMenuVariantProps\n\t\tvariant = \"soft\",\n\t\tsize = \"md\",\n\t\taccentColor = \"base\",\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(() => {\n\t\treturn {\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t}\n\t}, [radius, size, variant])\n\n\treturn (\n\t\t<DialogPortal>\n\t\t\t<DialogContent\n\t\t\t\tforceMount={forceMount}\n\t\t\t\tonOpenAutoFocus={onOpenAutoFocus}\n\t\t\t\tonCloseAutoFocus={onCloseAutoFocus}\n\t\t\t\tonEscapeKeyDown={onEscapeKeyDown}\n\t\t\t\tonPointerDownOutside={onPointerDownOutside}\n\t\t\t\tonInteractOutside={onInteractOutside}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\tasChild\n\t\t\t>\n\t\t\t\t<CommandRoot\n\t\t\t\t\tclassName={cx(className, commandMenuContentCva({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\t\tref={ref}\n\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t<DialogTitle className=\"sr-only\">{props.label}</DialogTitle>\n\t\t\t\t\t<DialogDescription className=\"sr-only\">Use the command menu to trigger commands.</DialogDescription>\n\t\t\t\t\t<CommandMenuContext value={contextValue}>{children}</CommandMenuContext>\n\t\t\t\t</CommandRoot>\n\t\t\t</DialogContent>\n\t\t</DialogPortal>\n\t)\n})\nCommandMenuContent.displayName = \"CommandMenuContent\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandEmpty } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuEmptyCva } from \"./cva\"\n\nexport interface CommandMenuEmptyProps extends ComponentPropsWithRef<typeof CommandEmpty> {}\n\nexport const CommandMenuEmpty = memo<CommandMenuEmptyProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn <CommandEmpty className={cx(className, commandMenuEmptyCva({ size }))} ref={ref} {...rest} />\n})\nCommandMenuEmpty.displayName = \"CommandMenuEmpty\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandGroup } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuGroupCva } from \"./cva\"\n\nexport interface CommandMenuGroupProps extends ComponentPropsWithRef<typeof CommandGroup> {}\n\nexport const CommandMenuGroup = memo<CommandMenuGroupProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn <CommandGroup className={cx(className, commandMenuGroupCva({ size }))} ref={ref} {...rest} />\n})\nCommandMenuGroup.displayName = \"CommandMenuGroup\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandInput } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuInputCva } from \"./cva\"\n\nexport interface CommandMenuInputProps extends ComponentPropsWithRef<typeof CommandInput> {}\n\nexport const CommandMenuInput = memo<CommandMenuInputProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn <CommandInput className={cx(className, commandMenuInputCva({ size }))} ref={ref} {...rest} />\n})\nCommandMenuInput.displayName = \"CommandMenuInput\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandList, useCommandState } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuListCva } from \"./cva\"\n\nexport interface CommandMenuListProps extends ComponentPropsWithRef<typeof CommandList> {}\n\nexport const CommandMenuList = memo<CommandMenuListProps>((props) => {\n\tconst { className, ref, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\tconst filterCount = useCommandState((state) => state.filtered.count)\n\n\treturn (\n\t\t<CommandList\n\t\t\tclassName={cx(className, commandMenuListCva({ size }))}\n\t\t\tref={ref}\n\t\t\thidden={filterCount === 0}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCommandMenuList.displayName = \"CommandMenuList\"\n","import { useCallback, useMemo, useState } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { MultiSelectGroupContext, SelectContext } from \"./context\"\nimport { CommandMenuGroup, CommandMenuGroupProps } from \"./Group\"\n\nexport interface CommandMenuMultiSelectGroupProps extends CommandMenuGroupProps {\n\tdefaultValues?: string[]\n\tvalues?: string[]\n\tonValuesChange?: (values: string[]) => void\n}\n\nexport const CommandMenuMultiSelectGroup = (props: CommandMenuMultiSelectGroupProps) => {\n\tconst { children, ref, defaultValues = [], values: controlledValues, onValuesChange, ...rest } = props\n\n\tconst [itemValueMapping, setItemValueMapping] = useState<Map<string, string>>(new Map())\n\tconst [values, setValues] = useControlledState(defaultValues, controlledValues, onValuesChange)\n\n\tconst selected = useCallback((value: string) => values.includes(value), [values])\n\n\tconst selectValue = useCallback(\n\t\t(value: string) => {\n\t\t\tif (selected(value)) {\n\t\t\t\tsetValues(values.filter((v) => v !== value))\n\t\t\t} else {\n\t\t\t\tsetValues([...values, value])\n\t\t\t}\n\t\t},\n\t\t[selected, setValues, values],\n\t)\n\n\tconst selectContextValue = useMemo(() => {\n\t\treturn {\n\t\t\tselected,\n\t\t\tselectValue,\n\t\t}\n\t}, [selectValue, selected])\n\n\tconst contextValue = useMemo(() => {\n\t\treturn {\n\t\t\titemValueMapping,\n\t\t\tsetItemValueMapping,\n\t\t\tvalues,\n\t\t\tsetValues,\n\t\t}\n\t}, [itemValueMapping, setValues, values])\n\n\treturn (\n\t\t<SelectContext value={selectContextValue}>\n\t\t\t<MultiSelectGroupContext value={contextValue}>\n\t\t\t\t<CommandMenuGroup ref={ref} aria-multiselectable {...rest}>\n\t\t\t\t\t{children}\n\t\t\t\t</CommandMenuGroup>\n\t\t\t</MultiSelectGroupContext>\n\t\t</SelectContext>\n\t)\n}\n","import { use, useCallback, useId, useLayoutEffect } from \"react\"\n\nimport { MultiSelectGroupContext, SelectContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport { getSelectedState } from \"./utils\"\n\nexport interface CommandMenuMultiSelectItemProps extends CommandMenuItemProps {\n\tvalue: string\n}\n\nexport const CommandMenuMultiSelectItem = (props: CommandMenuMultiSelectItemProps) => {\n\tconst { children, ref, value, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { selected, selectValue: handleSelectValue } = use(SelectContext)\n\n\tconst itemValueId = useId()\n\tconst { setItemValueMapping } = use(MultiSelectGroupContext)\n\n\tuseLayoutEffect(() => {\n\t\tsetItemValueMapping((prev) => new Map(prev).set(itemValueId, value))\n\n\t\treturn () => {\n\t\t\tsetItemValueMapping((prev) => {\n\t\t\t\tconst next = new Map(prev)\n\t\t\t\tnext.delete(itemValueId)\n\t\t\t\treturn next\n\t\t\t})\n\t\t}\n\t}, [itemValueId, setItemValueMapping, value])\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\thandleSelectValue(value)\n\t\t},\n\t\t[handleSelectValue, onSelect],\n\t)\n\n\tconst isSelected = selected(value)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isSelected}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\taria-selected={isSelected}\n\t\t\t\tvalue={value}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CommandMenuItem>\n\t\t</SelectedIndicatorContext>\n\t)\n}\n","import type { DialogOverlayProps, DialogPortalProps } from \"@radix-ui/react-dialog\"\nimport { DialogOverlay, DialogPortal } from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport { commandMenuOverlayCva } from \"./cva\"\n\nexport interface CommandMenuOverlayProps extends DialogOverlayProps, Pick<DialogPortalProps, \"container\"> {}\n\nexport const CommandMenuOverlay = memo<CommandMenuOverlayProps>((props) => {\n\tconst { container, className, ...rest } = props\n\n\treturn (\n\t\t<DialogPortal container={container}>\n\t\t\t<DialogOverlay className={cx(className, commandMenuOverlayCva())} data-floating-content=\"\" {...rest} />\n\t\t</DialogPortal>\n\t)\n})\nCommandMenuOverlay.displayName = \"CommandMenuOverlay\"\n","import { ComponentPropsWithRef, use, useMemo } from \"react\"\n\nimport { CommandMenuPageContext } from \"./context\"\nimport { getActiveState } from \"./utils\"\n\nexport interface CommandMenuPageProps extends ComponentPropsWithRef<\"div\"> {\n\tpage: string\n}\n\nexport const CommandMenuPage = (props: CommandMenuPageProps) => {\n\tconst { children, ref, page, ...rest } = props\n\tconst { page: activePage } = use(CommandMenuPageContext)\n\n\tconst isActive = useMemo(() => page === activePage, [page, activePage])\n\n\treturn (\n\t\t<div ref={ref} data-active={getActiveState(isActive)} hidden={!isActive} {...rest}>\n\t\t\t{isActive ? children : null}\n\t\t</div>\n\t)\n}\n","import { PropsWithChildren } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { CommandMenuPageContext } from \"./context\"\n\nexport interface CommandMenuPagesProps extends PropsWithChildren {\n\tdefaultPage?: string\n\tpage?: string\n\tonPageChange?: (page: string) => void\n}\n\nexport const CommandMenuPages = (props: CommandMenuPagesProps) => {\n\tconst { children, defaultPage = \"\", page: controlledPage, onPageChange } = props\n\n\tconst [page, setPage] = useControlledState(defaultPage, controlledPage, onPageChange)\n\n\treturn <CommandMenuPageContext value={{ page, setPage }}>{children}</CommandMenuPageContext>\n}\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { CommandMenuPageContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport { getActiveState } from \"./utils\"\n\nexport interface CommandMenuPageTriggerItemProps extends CommandMenuItemProps {\n\tpage: string\n}\n\nexport const CommandMenuPageTriggerItem = (props: CommandMenuPageTriggerItemProps) => {\n\tconst { ref, page, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { page: activePage, setPage } = use(CommandMenuPageContext)\n\n\tconst isActive = useMemo(() => page === activePage, [page, activePage])\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tsetPage(page)\n\t\t},\n\t\t[onSelect, page, setPage],\n\t)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isActive}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getActiveState(isActive)}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</SelectedIndicatorContext>\n\t)\n}\n","import { useCallback, useMemo } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { SelectContext } from \"./context\"\nimport { CommandMenuGroup, CommandMenuGroupProps } from \"./Group\"\n\nexport interface CommandMenuRadioGroupProps extends Omit<CommandMenuGroupProps, \"defaultValue\" | \"value\"> {\n\tdefaultValue?: string | null\n\tvalue?: string | null\n\tonValueChange?: (value: string | null) => void\n}\n\nexport const CommandMenuRadioGroup = (props: CommandMenuRadioGroupProps) => {\n\tconst { children, ref, defaultValue = null, value: controlledValue, onValueChange, ...rest } = props\n\n\tconst [value, setValue] = useControlledState(defaultValue, controlledValue, onValueChange)\n\n\tconst selected = useCallback((v: string) => v === value, [value])\n\n\tconst selectValue = useCallback(\n\t\t(v: string) => {\n\t\t\tsetValue(selected(v) ? null : v)\n\t\t},\n\t\t[selected, setValue],\n\t)\n\n\tconst contextValue = useMemo(() => ({ selected, selectValue }), [selected, selectValue])\n\n\treturn (\n\t\t<CommandMenuGroup ref={ref} role=\"radiogroup\" {...rest}>\n\t\t\t<SelectContext value={contextValue}>{children}</SelectContext>\n\t\t</CommandMenuGroup>\n\t)\n}\n","import { use, useCallback } from \"react\"\n\nimport { SelectContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport { getSelectedState } from \"./utils\"\n\nexport interface CommandMenuRadioItemProps extends CommandMenuItemProps {\n\tvalue: string\n}\n\nexport const CommandMenuRadioItem = (props: CommandMenuRadioItemProps) => {\n\tconst { children, ref, value, onSelect, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext)\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tselectValue(value)\n\t\t},\n\t\t[onSelect, selectValue],\n\t)\n\n\tconst isSelected = selected(value)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isSelected}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\tvalue={value}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CommandMenuItem>\n\t\t</SelectedIndicatorContext>\n\t)\n}\n","import type { DialogProps } from \"@radix-ui/react-dialog\"\nimport { Dialog } from \"@radix-ui/react-dialog\"\nimport { memo, useMemo } from \"react\"\n\nimport { useControlledState } from \"../utils\"\nimport { CommandMenuDialogContext } from \"./context\"\n\nexport interface CommandMenuRootProps extends DialogProps {}\n\nexport const CommandMenuRoot = memo<CommandMenuRootProps>((props) => {\n\tconst { children, defaultOpen, open: controlledOpen, onOpenChange } = props\n\n\tconst [open, setOpen] = useControlledState(defaultOpen ?? false, controlledOpen, onOpenChange)\n\n\tconst contextValue = useMemo(() => {\n\t\treturn {\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t}\n\t}, [open, setOpen])\n\n\treturn (\n\t\t<Dialog open={open} onOpenChange={setOpen} {...props}>\n\t\t\t<CommandMenuDialogContext value={contextValue}>{children}</CommandMenuDialogContext>\n\t\t</Dialog>\n\t)\n})\nCommandMenuRoot.displayName = \"CommandMenuRoot\"\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { CheckboxIndicatorContext, MultiSelectGroupContext } from \"./context\"\nimport { CommandMenuItem, CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\nimport { getCheckedState } from \"./utils\"\n\nexport interface CommandMenuSelectAllItemProps extends CommandMenuItemProps {}\n\nexport const CommandMenuSelectAllItem = (props: CommandMenuSelectAllItemProps) => {\n\tconst { ref, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { itemValueMapping, values, setValues } = use(MultiSelectGroupContext)\n\n\tconst selectedState: CheckedState = useMemo(() => {\n\t\tconst allValues = Array.from(itemValueMapping.values())\n\n\t\tif (allValues.every((value) => values.includes(value))) return true\n\n\t\tif (allValues.some((value) => values.includes(value))) return \"indeterminate\"\n\n\t\treturn false\n\t}, [itemValueMapping, values])\n\n\tconst handleSelect = useCallback(\n\t\t(value: string) => {\n\t\t\tonSelect?.(value)\n\n\t\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t\t// if (e.defaultPrevented) return\n\n\t\t\tsetValues(selectedState !== true ? Array.from(itemValueMapping.values()) : [])\n\t\t},\n\t\t[itemValueMapping, onSelect, selectedState, setValues],\n\t)\n\n\treturn (\n\t\t<CheckboxIndicatorContext value={selectedState}>\n\t\t\t<CommandMenuItem\n\t\t\t\tref={ref}\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tdata-state={getCheckedState(selectedState)}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</CheckboxIndicatorContext>\n\t)\n}\n","import { ComponentPropsWithRef, ReactNode, use, useMemo } from \"react\"\n\nimport { SelectedIndicatorContext } from \"./context\"\nimport { getSelectedState } from \"./utils\"\n\nexport interface CommandMenuSelectedIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\talwaysRender?: boolean\n\tchildren: ReactNode | ((selected: boolean) => ReactNode)\n}\n\nexport const CommandMenuSelectedIndicator = (props: CommandMenuSelectedIndicatorProps) => {\n\tconst { ref, alwaysRender = false, children, ...rest } = props\n\tconst isSelected = use(SelectedIndicatorContext)\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(isSelected) : children\n\t}, [isSelected, children])\n\n\tconst render = alwaysRender || isSelected\n\n\tif (!render) return null\n\n\treturn (\n\t\t<span ref={ref} data-state={getSelectedState(isSelected)} className=\"inline-block size-max\" {...rest}>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n}\n","import { cx } from \"class-variance-authority\"\nimport { CommandSeparator } from \"cmdk\"\nimport { ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { CommandMenuContext } from \"./context\"\nimport { commandMenuSeparatorCva } from \"./cva\"\n\nexport interface CommandMenuSeparatorProps extends ComponentPropsWithRef<typeof CommandSeparator> {\n\tspacing?: boolean\n}\n\nexport const CommandMenuSeparator = memo<CommandMenuSeparatorProps>((props) => {\n\tconst { className, ref, spacing = false, ...rest } = props\n\n\tconst { size } = use(CommandMenuContext)\n\n\treturn (\n\t\t<CommandSeparator ref={ref} className={cx(className, commandMenuSeparatorCva({ size, spacing }))} {...rest} />\n\t)\n})\nCommandMenuSeparator.displayName = \"CommandMenuSeparator\"\n","import type { DialogTriggerProps } from \"@radix-ui/react-dialog\"\nimport { DialogTrigger } from \"@radix-ui/react-dialog\"\nimport { memo } from \"react\"\n\nexport interface CommandMenuTriggerProps extends DialogTriggerProps {}\n\nexport const CommandMenuTrigger = memo<CommandMenuTriggerProps>((props) => {\n\treturn <DialogTrigger {...props} />\n})\nCommandMenuTrigger.displayName = \"CommandMenuTrigger\"\n","import { CommandMenuCheckboxIndicator } from \"./CheckboxIndicator\"\nimport { CommandMenuCheckboxItem } from \"./CheckboxItem\"\nimport { CommandMenuContent } from \"./Content\"\nimport { CommandMenuEmpty } from \"./Empty\"\nimport { CommandMenuGroup } from \"./Group\"\nimport { CommandMenuInput } from \"./Input\"\nimport { CommandMenuItem } from \"./Item\"\nimport { CommandMenuList } from \"./List\"\nimport { CommandMenuMultiSelectGroup } from \"./MultiSelectGroup\"\nimport { CommandMenuMultiSelectItem } from \"./MultiSelectItem\"\nimport { CommandMenuOverlay } from \"./Overlay\"\nimport { CommandMenuPage } from \"./Page\"\nimport { CommandMenuPages } from \"./Pages\"\nimport { CommandMenuPageTriggerItem } from \"./PageTriggerItem\"\nimport { CommandMenuRadioGroup } from \"./RadioGroup\"\nimport { CommandMenuRadioItem } from \"./RadioItem\"\nimport { CommandMenuRoot } from \"./Root\"\nimport { CommandMenuSelectAllItem } from \"./SelectAllItem\"\nimport { CommandMenuSelectedIndicator } from \"./SelectedIndicator\"\nimport { CommandMenuSeparator } from \"./Separator\"\nimport { CommandMenuTrigger } from \"./Trigger\"\n\nexport * from \"./CheckboxIndicator\"\nexport * from \"./CheckboxItem\"\nexport * from \"./Content\"\nexport * from \"./Empty\"\nexport * from \"./Group\"\nexport * from \"./Input\"\nexport * from \"./Item\"\nexport * from \"./List\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./Overlay\"\nexport * from \"./Page\"\nexport * from \"./Pages\"\nexport * from \"./PageTriggerItem\"\nexport * from \"./RadioGroup\"\nexport * from \"./RadioItem\"\nexport * from \"./Root\"\nexport * from \"./SelectAllItem\"\nexport * from \"./SelectedIndicator\"\nexport * from \"./Separator\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const CommandMenu = {\n\tRoot: CommandMenuRoot,\n\tOverlay: CommandMenuOverlay,\n\tContent: CommandMenuContent,\n\tTrigger: CommandMenuTrigger,\n\tInput: CommandMenuInput,\n\tList: CommandMenuList,\n\tGroup: CommandMenuGroup,\n\tItem: CommandMenuItem,\n\tSeparator: CommandMenuSeparator,\n\tEmpty: CommandMenuEmpty,\n\n\t// Multi select\n\tMultiSelectGroup: CommandMenuMultiSelectGroup,\n\tMultiSelectItem: CommandMenuMultiSelectItem,\n\tSelectAllItem: CommandMenuSelectAllItem,\n\tSelectedIndicator: CommandMenuSelectedIndicator,\n\n\t// Radio / single select\n\tRadioGroup: CommandMenuRadioGroup,\n\tRadioItem: CommandMenuRadioItem,\n\n\t// Checkbox\n\tCheckboxItem: CommandMenuCheckboxItem,\n\tCheckboxIndicator: CommandMenuCheckboxIndicator,\n\n\t// Pages\n\tPages: CommandMenuPages,\n\tPage: CommandMenuPage,\n\tPageTriggerItem: CommandMenuPageTriggerItem,\n}\n","import type { ChevronProps } from \"react-day-picker\"\nimport { RiArrowDownSLine, RiArrowLeftSLine, RiArrowRightSLine, RiArrowUpSLine } from \"react-icons/ri\"\n\nexport const Chevron = (props: ChevronProps) => {\n\tconst { orientation, ...rest } = props\n\n\tswitch (orientation) {\n\t\tcase \"up\":\n\t\t\treturn <RiArrowUpSLine {...rest} />\n\t\tcase \"down\":\n\t\t\treturn <RiArrowDownSLine {...rest} />\n\t\tcase \"left\":\n\t\t\treturn <RiArrowLeftSLine {...rest} />\n\t\tdefault:\n\t\t\treturn <RiArrowRightSLine {...rest} />\n\t}\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const rootCva = cva([\"relative\", \"size-max\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const dayButtonCva = cva(\n\t[\n\t\t\"relative\",\n\t\t\"transition-[background,text]\",\n\n\t\t\"focus:outline-hidden\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// range middle\n\t\t\"group-[.rdp-range-middle]/day:rounded-none\",\n\t\t\"group-[.rdp-range-middle]/day:bg-(--accent-a3)\",\n\n\t\t// range start/end\n\t\t\"group-[.rdp-range-start:not(.rdp-range-end)]/day:rounded-r-none\",\n\t\t\"group-[.rdp-range-end:not(.rdp-range-start)]/day:rounded-l-none\",\n\n\t\t// disabled\n\t\t\"group-data-[disabled]/day:pointer-events-none\",\n\t\t\"group-data-[disabled]/day:text-(--base-a9)\",\n\t\t\"group-data-[disabled]/day:opacity-70\",\n\n\t\t// outside (days shown)\n\t\t\"group-data-[outside]/day:pointer-events-none\",\n\t\t\"group-data-[outside]/day:text-(--base-a9)\",\n\t\t\"group-data-[outside]/day:opacity-70\",\n\t\t\"group-data-[outside]/day:!bg-transparent\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-5\"],\n\t\t\t\tsm: [\"size-6\"],\n\t\t\t\tmd: [\"size-7\"],\n\t\t\t\tlg: [\"size-8\"],\n\t\t\t\txl: [\"size-9\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsoft: [\n\t\t\t\t\t// unselected\n\t\t\t\t\t\"group-[:not([data-selected])]/day:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"group-[:not([data-selected])]/day:active:bg-(--accent-a4)\",\n\n\t\t\t\t\t// selected\n\t\t\t\t\t\"group-[[data-selected='true']:not(.rdp-range-middle)]/day:bg-(--accent-a6)\",\n\t\t\t\t],\n\t\t\t\tsolid: [\n\t\t\t\t\t// unselected\n\t\t\t\t\t\"group-[:not([data-selected])]/day:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"group-[:not([data-selected])]/day:active:bg-(--accent-a4)\",\n\n\t\t\t\t\t// selected\n\t\t\t\t\t\"group-[[data-selected='true']:not(.rdp-range-middle)]/day:bg-(--accent-indicator)\",\n\t\t\t\t\t\"group-[[data-selected='true']:not(.rdp-range-middle)]/day:text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const navButtonCva = cva(\n\t[\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t\t\"focus-visible:outline-(--base-a8)\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:bg-(--base-a3)\",\n\t\t\"active:bg-(--base-a4)\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:text-(--base-a12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-5\"],\n\t\t\t\tsm: [\"size-6\"],\n\t\t\t\tmd: [\"size-7\"],\n\t\t\t\tlg: [\"size-8\"],\n\t\t\t\txl: [\"size-9\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const weekDayCva = cva([\"font-medium\", \"text-(--base-a11)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"size-5\"],\n\t\t\tsm: [\"size-6\"],\n\t\t\tmd: [\"size-7\"],\n\t\t\tlg: [\"size-8\"],\n\t\t\txl: [\"size-9\"],\n\t\t},\n\t},\n})\n\nexport const todayCva = cva(\n\t[\n\t\t\"*:after:absolute\",\n\t\t\"*:after:bg-(--base-12)\",\n\t\t\"*:after:start-1/2\",\n\t\t\"*:after:-translate-x-1/2\",\n\t\t\"*:group-data-[disabled]/day:after:bg-(--base-a9)\",\n\n\t\t\"*:after:rounded-full\",\n\t\t\"*:after:bottom-0.5\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"*:after:size-[2px]\"],\n\t\t\t\tsm: [\"*:after:size-[3px]\"],\n\t\t\t\tmd: [\"*:after:size-[3px]\"],\n\t\t\t\tlg: [\"*:after:size-[4px]\"],\n\t\t\t\txl: [\"*:after:size-[4px]\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsoft: [\"*:after:bg-(--accent-a5)\"],\n\t\t\t\tsolid: [\"*:group-[[data-selected='true']:not(.rdp-range-middle)]/day:after:bg-(--accent-contrast)\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const monthCaptionCva = cva([\"font-medium\", \"w-full\", \"flex\", \"justify-center\", \"items-center\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-5\"],\n\t\t\tsm: [\"h-6\"],\n\t\t\tmd: [\"h-7\"],\n\t\t\tlg: [\"h-8\"],\n\t\t\txl: [\"h-9\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, useMemo } from \"react\"\nimport { DayPicker as ReactDayPicker } from \"react-day-picker\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { Chevron } from \"./Chevron\"\nimport { dayButtonCva, monthCaptionCva, navButtonCva, rootCva, todayCva, weekDayCva } from \"./cva\"\nimport { DayPickerVariantProps } from \"./typings\"\n\nexport type DayPickerProps = ComponentProps<typeof ReactDayPicker> & DayPickerVariantProps\n\nexport const DayPicker = (props: DayPickerProps) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tcomponents,\n\t\tclassNames,\n\t\taccentColor = providerContext.accentColor,\n\t\tsize = \"md\",\n\t\tvariant = \"soft\",\n\t\tradius = providerContext.radius,\n\t\tshowOutsideDays = true,\n\t\t...rest\n\t} = props\n\n\tconst computedClassNames = useMemo(() => {\n\t\treturn {\n\t\t\t...classNames,\n\t\t\troot: cx(classNames?.root, rootCva({ size })),\n\t\t\tnav: cx(classNames?.nav, [\"absolute\", \"top-0\", \"w-full\", \"flex\", \"justify-between\"]),\n\t\t\tmonth: cx(classNames?.month, [\"flex\", \"flex-col\", \"gap-1\"]),\n\t\t\tmonth_caption: cx(classNames?.month_caption, monthCaptionCva({ size })),\n\t\t\tbutton_next: cx(\n\t\t\t\tclassNames?.button_next,\n\t\t\t\tnavButtonCva({ size }),\n\t\t\t\tradiusCva({ radius: radius, maxLarge: false }),\n\t\t\t),\n\t\t\tbutton_previous: cx(\n\t\t\t\tclassNames?.button_previous,\n\t\t\t\tnavButtonCva({ size }),\n\t\t\t\tradiusCva({ radius: radius, maxLarge: false }),\n\t\t\t),\n\t\t\tweekday: cx(classNames?.weekday, weekDayCva({ size })),\n\t\t\ttoday: cx(classNames?.today, todayCva({ size, variant })),\n\t\t\tday: cx(classNames?.day, [\"group/day\"]),\n\t\t\tday_button: cx(\n\t\t\t\tclassNames?.day_button,\n\t\t\t\tdayButtonCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: radius, maxLarge: false }),\n\t\t\t),\n\t\t\trange_start: cx(classNames?.range_start, \"rdp-range-start\"),\n\t\t\trange_middle: cx(classNames?.range_middle, \"rdp-range-middle\"),\n\t\t\trange_end: cx(classNames?.range_end, \"rdp-range-end\"),\n\t\t}\n\t}, [classNames, radius, size, variant])\n\n\tconst computedComponents = useMemo(() => {\n\t\treturn {\n\t\t\t...components,\n\t\t\tChevron,\n\t\t}\n\t}, [components])\n\n\treturn (\n\t\t<ReactDayPicker\n\t\t\tdata-accent-color={accentColor}\n\t\t\tshowOutsideDays={showOutsideDays}\n\t\t\tcomponents={computedComponents}\n\t\t\tclassNames={computedClassNames}\n\t\t\t{...rest}\n\t\t/>\n\t)\n}\n","import { createContext } from \"react\"\n\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport const CloseDialogContext = createContext({} as CloseDialogWithOptions)\n","import { useContext } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\n\nexport const useCloseDialog = () => {\n\tconst dialogContext = useContext(CloseDialogContext)\n\n\tif (!dialogContext) {\n\t\tthrow new Error(\"useDialog must be used within a DialogRoot\")\n\t}\n\n\treturn dialogContext\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, ReactNode, useMemo } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport type { AlertDialogSize } from \"../AlertDialog\"\nimport { dialogContent } from \"../AlertDialog/cva\"\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { useCloseDialog } from \"./hooks\"\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport interface DialogContentProps extends Omit<RadixDialog.DialogContentProps, \"children\"> {\n\ttitle: string\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n\tsize?: AlertDialogSize\n\tchildren: ReactNode | ((close: CloseDialogWithOptions) => ReactNode)\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst close = useCloseDialog()\n\tconst { children, title, container, className, size, ...rest } = props\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(close) : children\n\t}, [children, close])\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"flex h-max w-full justify-between\">\n\t\t\t\t\t<RadixDialog.Title className=\"font-medium\">{title}</RadixDialog.Title>\n\t\t\t\t\t<RadixDialog.Close asChild>\n\t\t\t\t\t\t<IconButton accentColor=\"base\" size={size} variant=\"ghost\">\n\t\t\t\t\t\t\t<HiX />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixDialog.Close>\n\t\t\t\t</div>\n\t\t\t\t{computedChildren}\n\t\t\t</RadixDialog.Content>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogContent.displayName = \"DialogContent\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { dialogOverlay } from \"../AlertDialog/cva\"\n\nexport interface DialogOverlayProps extends RadixDialog.DialogOverlayProps {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n}\n\nexport const DialogOverlay = forwardRef<HTMLDivElement, DialogOverlayProps>((props, ref) => {\n\tconst { className, container, ...rest } = props\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Overlay\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cx(className, dialogOverlay({}))}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogOverlay.displayName = \"DialogOverlay\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { useCallback, useState } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\nimport type { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\nexport const DialogRoot = (props: DialogProps) => {\n\tconst {\n\t\tchildren,\n\t\tonOpen,\n\t\tonClose,\n\t\tdefaultOpen,\n\t\tonCloseInterrupt,\n\t\topen: externalOpen,\n\t\tonOpenChange: externalOpenChange,\n\t} = props\n\t// `innerOpen` used to track the open state of the dialog when `externalOpen` is undefined\n\tconst [innerOpen, setInnerOpen] = useState(defaultOpen ?? false)\n\tconst open = externalOpen ?? innerOpen\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (externalOpenChange) return externalOpenChange(next)\n\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => {\n\t\t\t\t\tsetInnerOpen(false)\n\t\t\t\t\tif (onClose) onClose()\n\t\t\t\t}\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t} else if (!next && onClose) {\n\t\t\t\tonClose()\n\t\t\t}\n\n\t\t\tsetInnerOpen(next)\n\t\t},\n\t\t[externalOpenChange, onOpen, onClose, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setInnerOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<CloseDialogContext.Provider value={closeDialog}>{children}</CloseDialogContext.Provider>\n\t\t</RadixDialog.Root>\n\t)\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\n\nimport { DialogContent } from \"./Content\"\nimport { DialogOverlay } from \"./Overlay\"\nimport { DialogRoot } from \"./Root\"\n\nexport * from \"./Content\"\nexport * from \"./Overlay\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Dialog = {\n\tRoot: DialogRoot,\n\tContent: DialogContent,\n\tOverlay: DialogOverlay,\n\tTrigger: RadixDialog.Trigger,\n\tClose: RadixDialog.Close,\n}\n","import type { HeadingLevel } from \"./typings\"\n\nexport const headingLevelTagMapping: Record<HeadingLevel, \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"> = {\n\t\"1\": \"h1\",\n\t\"2\": \"h2\",\n\t\"3\": \"h3\",\n\t\"4\": \"h4\",\n\t\"5\": \"h5\",\n\t\"6\": \"h6\",\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const headingCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport type { AccentColorProps } from \"../typings\"\nimport { headingLevelTagMapping } from \"./constants\"\nimport { headingCva } from \"./cva\"\nimport type { HeadingVariantProps } from \"./typings\"\n\nexport interface HeadingProps extends PropsWithoutRef<ComponentProps<\"h1\">>, HeadingVariantProps, AccentColorProps {}\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>((props, ref) => {\n\tconst { className, level = \"1\", size, weight, align, highContrast = false, accentColor, ...rest } = props\n\tconst Tag = headingLevelTagMapping[level]\n\n\treturn (\n\t\t<Tag\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, headingCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nHeading.displayName = \"Heading\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface HoverCardArrowProps extends RadixHoverCard.HoverCardArrowProps {}\n\nexport const HoverCardArrow = forwardRef<SVGSVGElement, HoverCardArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixHoverCard.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nHoverCardArrow.displayName = \"HoverCardArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const hoverCardContent = cva([\"bg-(--color-background)\", \"dark:bg-(--base-2)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { hoverCardContent } from \"./cva\"\nimport type { HoverCardVariantProps } from \"./typings\"\n\nexport interface HoverCardContentProps extends RadixHoverCard.HoverCardContentProps, HoverCardVariantProps {\n\tcontainer?: RadixHoverCard.HoverCardPortalProps[\"container\"]\n}\n\nexport const HoverCardContent = forwardRef<HTMLDivElement, HoverCardContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tside,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsideOffset = 4,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixHoverCard.Portal container={container}>\n\t\t\t<RadixHoverCard.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\thoverCardContent({ size }),\n\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tside={side}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixHoverCard.Portal>\n\t)\n})\nHoverCardContent.displayName = \"HoverCardContent\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\n\nimport { HoverCardArrow } from \"./Arrow\"\nimport { HoverCardContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const HoverCard = {\n\tArrow: HoverCardArrow,\n\tContent: HoverCardContent,\n\tRoot: RadixHoverCard.Root,\n\tTrigger: RadixHoverCard.Trigger,\n}\n","import { FC, memo, PointerEventHandler, ReactElement, useCallback, useState } from \"react\"\n\ninterface ChildProps {\n\tisHovered: boolean\n\tonPointerEnter: PointerEventHandler<HTMLElement>\n\tonPointerLeave: PointerEventHandler<HTMLElement>\n}\ninterface HoverUtilityProps {\n\tforceHover?: boolean\n\tchildren: (props: ChildProps) => ReactElement\n}\n\n/** HoverUtility is a utility component used for detecting when an element is being hovered over or not, is passes a\n * isHovered variable to its children as well as props onPointerEnter and onPointerLeave that can be spread on any\n * child component that should be used as the element to observe hovering on. See stories of examples of its use. */\nexport const HoverUtility: FC<HoverUtilityProps> = memo(function Root({ children, forceHover }: HoverUtilityProps) {\n\tconst [isHovered, setIsHovered] = useState<boolean>(false)\n\n\tconst handlePointerEnter = useCallback(() => {\n\t\tsetIsHovered(true)\n\t}, [])\n\n\tconst handlePointerLeave = useCallback(() => {\n\t\tsetIsHovered(false)\n\t}, [])\n\n\treturn children({\n\t\tisHovered: forceHover !== undefined ? forceHover : isHovered,\n\t\tonPointerEnter: handlePointerEnter,\n\t\tonPointerLeave: handlePointerLeave,\n\t})\n})\n","import { createContext } from \"react\"\n\nimport type { InputSize, InputVariant } from \"./typings\"\n\ninterface IInputContext {\n\tsize: InputSize\n\tvariant: InputVariant\n}\n\nexport const InputContext = createContext<IInputContext>({} as IInputContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"has-[:focus]:outline-2\",\n\t\t\"has-[:focus]:outline-(--accent-8)\",\n\t\t\"has-[:focus]:-outline-offset-1\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"inset-ring\", \"inset-ring-(--accent-a7)\", \"bg-(--accent-surface)\", \"text-(--accent-a12)\"],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-12)\"],\n\t\t\t\toutline: [\"inset-ring\", \"inset-ring-(--base-a7)\", \"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t\tghost: [\"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"surface\",\n\t\t},\n\t},\n)\n\nexport const inputField = cva([\"peer-[.slot]/slot:indent-0\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\tsoft: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\toutline: [\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\"],\n\t\t\tghost: ['placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)'],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"indent-1\"],\n\t\t\tsm: [\"indent-1.5\"],\n\t\t\tmd: [\"indent-2\"],\n\t\t\tlg: [\"indent-2.5\"],\n\t\t\txl: [\"indent-3\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n\nexport const inputSlot = cva([\"peer/slot\", \"slot\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"px-1\"],\n\t\t\tsm: [\"px-1.5\"],\n\t\t\tmd: [\"px-2\"],\n\t\t\tlg: [\"px-2.5\"],\n\t\t\txl: [\"px-3\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [\"text-(--accent-12)\"],\n\t\t\tsoft: [\"text-(--accent-12)\"],\n\t\t\toutline: [\"text-(--base-a11)\"],\n\t\t\tghost: [\"text-(--base-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputField } from \"./cva\"\n\nexport interface InputFieldProps extends PropsWithoutRef<ComponentProps<\"input\">> {}\n\nexport const InputField = forwardRef<HTMLInputElement, InputFieldProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(className, inputField({ size, variant }), \"grow bg-transparent outline-0\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nInputField.displayName = \"InputField\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { InputContext } from \"./context\"\nimport { inputRoot } from \"./cva\"\nimport type { InputVariantProps } from \"./typings\"\n\nexport interface InputRootProps extends InputVariantProps, PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputRoot = forwardRef<HTMLDivElement, InputRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<InputContext.Provider value={{ size, variant }}>\n\t\t\t<div\n\t\t\t\tclassName={cx(className, inputRoot({ variant, size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</InputContext.Provider>\n\t)\n})\nInputRoot.displayName = \"InputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputSlot } from \"./cva\"\n\nexport interface InputSlotProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputSlot = forwardRef<HTMLDivElement, InputSlotProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn <div className={cx(className, inputSlot({ size, variant }), \"flex items-center\")} ref={ref} {...rest} />\n})\nInputSlot.displayName = \"InputSlot\"\n","import { InputField } from \"./Field\"\nimport { InputRoot } from \"./Root\"\nimport { InputSlot } from \"./Slot\"\n\nexport * from \"./Field\"\nexport * from \"./Root\"\nexport * from \"./Slot\"\nexport * from \"./typings\"\n\nexport const Input = {\n\tField: InputField,\n\tRoot: InputRoot,\n\tSlot: InputSlot,\n}\n","import { createContext, Dispatch, SetStateAction, useContext } from \"react\"\n\ninterface ILayoutContent {\n\tsmall: boolean\n\thideLayout: boolean\n\t/** controlled value for open state of LeftSlideOut Component. */\n\tshowLeftSlideOut: boolean\n\tsetShowLeftSlideOut: Dispatch<SetStateAction<boolean>>\n\t/** controlled value for open state of RightSlideOut Component. */\n\tshowRightSlideOut: boolean\n\tsetShowRightSlideOut: Dispatch<SetStateAction<boolean>>\n}\n\nexport const LayoutContext = createContext<ILayoutContent>({} as ILayoutContent)\n\nexport const useLayoutContext = () => useContext(LayoutContext)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface ContainerProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const Container = memo(\n\tforwardRef<HTMLDivElement, ContainerProps>((props, ref) => {\n\t\tconst { children, className, ...rest } = props\n\t\tconst { hideLayout = false } = useLayoutContext()\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<div className={cx(className, \"flex h-full grow\")} ref={ref} {...rest}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { memo, PropsWithChildren, useMemo, useState } from \"react\"\n\nimport { LayoutContext } from \"./context\"\n\nexport interface RootProps extends PropsWithChildren {\n\t/** TODO: DOCUMENT THIS HEAVILY\n\t * @default false */\n\tsmall?: boolean\n\t/** controls if all Layout Components should be hidden\n\t * @default false */\n\thideLayout?: boolean\n}\n\n/** */\nexport const Root = memo((props: RootProps) => {\n\tconst { children, small = false, hideLayout = false } = props\n\tconst [showLeftSlideOut, setShowLeftSlideOut] = useState<boolean>(false)\n\tconst [showRightSlideOut, setShowRightSlideOut] = useState<boolean>(false)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsmall,\n\t\t\thideLayout,\n\t\t\tshowLeftSlideOut,\n\t\t\tsetShowLeftSlideOut,\n\t\t\tshowRightSlideOut,\n\t\t\tsetShowRightSlideOut,\n\t\t}),\n\t\t[hideLayout, showLeftSlideOut, showRightSlideOut, small],\n\t)\n\n\treturn <LayoutContext.Provider value={contextValue}>{children}</LayoutContext.Provider>\n})\nRoot.displayName = \"Layout.Root\"\n","/**\n * MIT License\n * Copyright (c) 2022 WorkOS\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n **/\nimport { useEffect, useMemo, useRef } from \"react\"\nimport ReactDOM from \"react-dom\"\n\ntype PointerDownOutsideEvent = CustomEvent<{ originalEvent: PointerEvent }>\n\n// THE CODE IN THIS FILE WAS COPIED FROM @radix-ui/react-dissmissable-layer NPM REPO.\n// https://github.com/radix-ui/primitives/tree/main/packages/react/dismissable-layer\n\n/**\n * Listens for `pointerdown` outside a React subtree. We use `pointerdown` rather than `pointerup`\n * to mimic layer-dismissing behavior present in OS.\n * Returns props to pass to the node we want to check for outside events.\n */\nexport function usePointerDownOutside(\n\tonPointerDownOutside?: (event: PointerDownOutsideEvent) => void,\n\townerElement: HTMLElement | undefined = globalThis?.document.body,\n) {\n\tconst handlePointerDownOutside = useCallbackRef(onPointerDownOutside) as EventListener\n\tconst isPointerInsideReactTreeRef = useRef<boolean>(false)\n\tconst handleClickRef = useRef(() => {})\n\n\tuseEffect(() => {\n\t\tconst handlePointerDown = (event: PointerEvent) => {\n\t\t\tif (event.target && !isPointerInsideReactTreeRef.current) {\n\t\t\t\tconst eventDetail = { originalEvent: event }\n\n\t\t\t\tconst handleAndDispatchPointerDownOutsideEvent = () => {\n\t\t\t\t\thandleAndDispatchCustomEvent(\"pointerDownOutside\", handlePointerDownOutside, eventDetail, {\n\t\t\t\t\t\tdiscrete: true,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * On touch devices, we need to wait for a click event because browsers implement\n\t\t\t\t * a ~350ms delay between the time the user stops touching the display and when the\n\t\t\t\t * browser executres events. We need to ensure we don't reactivate pointer-events within\n\t\t\t\t * this timeframe otherwise the browser may execute events that should have been prevented.\n\t\t\t\t *\n\t\t\t\t * Additionally, this also lets us deal automatically with cancellations when a click event\n\t\t\t\t * isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.\n\t\t\t\t *\n\t\t\t\t * This is why we also continuously remove the previous listener, because we cannot be\n\t\t\t\t * certain that it was raised, and therefore cleaned-up.\n\t\t\t\t */\n\t\t\t\tif (event.pointerType === \"touch\") {\n\t\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t\t\thandleClickRef.current = handleAndDispatchPointerDownOutsideEvent\n\t\t\t\t\townerElement.addEventListener(\"click\", handleClickRef.current, { once: true })\n\t\t\t\t} else {\n\t\t\t\t\thandleAndDispatchPointerDownOutsideEvent()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We need to remove the event listener in case the outside click has been canceled.\n\t\t\t\t// See: https://github.com/radix-ui/primitives/issues/2171\n\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t}\n\t\t\tisPointerInsideReactTreeRef.current = false\n\t\t}\n\t\t/**\n\t\t * if this hook executes in a component that mounts via a `pointerdown` event, the event\n\t\t * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n\t\t * this by delaying the event listener registration on the document.\n\t\t * This is not React specific, but rather how the DOM works, ie:\n\t\t * ```\n\t\t * button.addEventListener('pointerdown', () => {\n\t\t * console.log('I will log');\n\t\t * document.addEventListener('pointerdown', () => {\n\t\t * console.log('I will also log');\n\t\t * })\n\t\t * });\n\t\t */\n\t\tconst timerId = window.setTimeout(() => {\n\t\t\townerElement.addEventListener(\"pointerdown\", handlePointerDown)\n\t\t}, 0)\n\t\treturn () => {\n\t\t\twindow.clearTimeout(timerId)\n\t\t\townerElement.removeEventListener(\"pointerdown\", handlePointerDown)\n\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t}\n\t}, [ownerElement, handlePointerDownOutside])\n\n\treturn {\n\t\t// ensures we check React component tree (not just DOM tree)\n\t\tonPointerDownCapture: () => (isPointerInsideReactTreeRef.current = true),\n\t}\n}\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E[\"target\"], event: E) {\n\tif (target) ReactDOM.flushSync(() => target.dispatchEvent(event))\n}\nfunction handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>(\n\tname: string,\n\thandler: ((event: E) => void) | undefined,\n\tdetail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),\n\t{ discrete }: { discrete: boolean },\n) {\n\tconst target = detail.originalEvent.target\n\tconst event = new CustomEvent(name, { bubbles: false, cancelable: true, detail })\n\tif (handler) target.addEventListener(name, handler as EventListener, { once: true })\n\n\tif (discrete) {\n\t\tdispatchDiscreteCustomEvent(target, event)\n\t} else {\n\t\ttarget.dispatchEvent(event)\n\t}\n}\n\n/** custom hook used for creating a ref to a callback */\nexport function useCallbackRef<\n\tT extends (\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t...args: any[]\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t) => any,\n>(callback: T | undefined): T {\n\tconst callbackRef = useRef(callback)\n\n\tuseEffect(() => {\n\t\tcallbackRef.current = callback\n\t})\n\n\treturn useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, [])\n}\n","import { cx } from \"class-variance-authority\"\nimport {\n\tCSSProperties,\n\tforwardRef,\n\tmemo,\n\tMouseEventHandler,\n\tPropsWithChildren,\n\tReactNode,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\nimport { PropsWithClassNameAndStyle } from \"../typings\"\nimport { mergeRefs } from \"../utils\"\nimport { usePointerDownOutside } from \"./utils\"\n\n// TODO: Move this component to the Layout API directory and no longer expose it as an export\n\nexport interface SlideOutProps extends PropsWithChildren, PropsWithClassNameAndStyle {\n\t/** The controlled open state of the SlideOut */\n\topen: boolean\n\t/** specifies if the SlideOut is in modal mode or not.\n\t * If in modal mode, onDismiss prop should be passed\n\t * to the SlideOut component as well.\n\t * @default false */\n\tmodal?: boolean\n\t/** hides the SlideOut and its overlay but doesn't change the open state of the SlideOut. Should be used if\n\t * the SlideOut needs to be hidden for some reason but not triggering a close\n\t * @default false\n\t * */\n\thide?: boolean\n\t/** The side the SlideOut should position on and \"slide-in\" from */\n\tside: \"left\" | \"right\"\n\t/** controls if the SlideOut can be resized by the user\n\t * @default true\n\t * */\n\tresizeable?: boolean\n\t/** controls the positioning of the SlideOut.\n\t * When absolute, the SlideOut will overlay other\n\t * content within its parent container.\n\t * When relative, the SlideOut exists with and pushes other content within\n\t * its parent container.\n\t * @default \"relative\"\n\t * */\n\tposition?: \"relative\" | \"absolute\"\n\t/** sets the initialWidth of the SlideOut, can be expressed in any valid CSS size unit */\n\tinitialWidth: number | string\n\t/** sets the minimum width of the SlideOut can be expressed in any valid CSS size unit */\n\tminWidth?: number | string\n\t/** sets the maximum width of the SlideOut can be expressed in any valid CSS size unit */\n\tmaxWidth?: number | string\n\t/** callback fired when the SlideOut should be dismissed (closed) when in modal mode. The type of event resulting in\n\t * the SlideOut dismissal is passed with the callback. */\n\tonDismiss?: () => void\n\t/** callback fired when the SlideOut has finished sliding out (closing) */\n\tonClosed?: () => void\n\t/** callback fired when the SlideOut starts sliding in (opening) */\n\tonOpening?: () => void\n\t/** overlay to be rendered when the SlideOut is open*/\n\toverlayComponent?: ReactNode\n\t/** content to be rendered within the SlideOut */\n\tcontent: ReactNode | null\n}\n\nconst TIMEOUT_DURATION = 200\n\n/** The SlideOut component is a UI element that allows you to create a slide-in/slide-out effect for content within\n * your application. It provides a smooth transition animation for revealing and hiding content. */\nexport const SlideOut = memo(\n\tforwardRef<HTMLDivElement, SlideOutProps>((props, ref) => {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tstyle,\n\t\t\tchildren,\n\t\t\topen,\n\t\t\thide = false,\n\t\t\tmodal = false,\n\t\t\toverlayComponent,\n\t\t\tresizeable = true,\n\t\t\tside,\n\t\t\tposition = \"relative\",\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonDismiss,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t\tcontent,\n\t\t} = props\n\t\tconst isLeft = side === \"left\"\n\t\tconst [parentContainer, setParentContainer] = useState<HTMLElement>(document.body)\n\t\tconst childrenContainerRef = useRef<HTMLDivElement>(null)\n\t\tconst localRef = useRef<HTMLDivElement>(null)\n\t\tconst nodeRef = useRef<HTMLDivElement>(null)\n\t\tconst mergedRefs = mergeRefs([ref, localRef, nodeRef])\n\t\tconst [isResizing, setIsResizing] = useState(false)\n\t\tconst [computedWidth, setComputedWidth] = useState<number | null>(null)\n\t\tconst prevClientX = useRef<number | null>(null)\n\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\tif (modal && onDismiss) {\n\t\t\t\tonDismiss()\n\t\t\t}\n\t\t}, [modal, onDismiss])\n\n\t\tconst handleAssignParentContainer = useCallback((element: HTMLDivElement | null) => {\n\t\t\tif (element) {\n\t\t\t\tsetParentContainer(element)\n\t\t\t}\n\t\t}, [])\n\n\t\t// TODO: determine if this set up for disabling and re-enabling pointer events on sibling content makes sense\n\t\tuseEffect(() => {\n\t\t\tif (!childrenContainerRef.current) return\n\t\t\tconst originalParentPointerEvents = childrenContainerRef.current.style.pointerEvents\n\n\t\t\t// In modal mode, all pointerEvents should be disabled for all other content within the parent container\n\t\t\t// besides the SlideOut content itself\n\t\t\tif (open && modal) {\n\t\t\t\tchildrenContainerRef.current.style.pointerEvents = \"none\"\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (childrenContainerRef.current) {\n\t\t\t\t\t// this warning is invalid because the ref (childrenContainerRef) is immutable\n\t\t\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t\t\tchildrenContainerRef.current.style.pointerEvents = originalParentPointerEvents\n\t\t\t\t}\n\t\t\t}\n\t\t}, [modal, open, parentContainer.style])\n\n\t\tconst { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(handleDismiss, parentContainer)\n\n\t\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\t\tconst CSSTransitionClassNames = useMemo(\n\t\t\t() => ({\n\t\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t\tenterActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\t\texitActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t}),\n\t\t\t[isLeft],\n\t\t)\n\n\t\tconst handleMouseDown: MouseEventHandler = useCallback((e) => {\n\t\t\tconst { clientX } = e\n\n\t\t\tprevClientX.current = clientX\n\n\t\t\tsetIsResizing(true)\n\t\t}, [])\n\n\t\tconst handleMouseMove = useCallback(\n\t\t\t(e: MouseEvent) => {\n\t\t\t\tif (!isResizing) return\n\n\t\t\t\tconst { clientX } = e\n\n\t\t\t\tconst deltaX = (clientX - prevClientX.current!) * (isLeft ? 1 : -1)\n\n\t\t\t\tprevClientX.current = clientX\n\n\t\t\t\tsetComputedWidth((prevWidth) => prevWidth! + deltaX)\n\t\t\t},\n\t\t\t[isLeft, isResizing],\n\t\t)\n\n\t\tconst handleMouseUp = useCallback(() => {\n\t\t\tif (!isResizing) return\n\t\t\tprevClientX.current = null\n\t\t\tsetIsResizing(false)\n\t\t}, [isResizing])\n\n\t\tuseEffect(() => {\n\t\t\twindow.addEventListener(\"mousemove\", handleMouseMove)\n\t\t\twindow.addEventListener(\"mouseup\", handleMouseUp)\n\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener(\"mousemove\", handleMouseMove)\n\t\t\t\twindow.removeEventListener(\"mouseup\", handleMouseUp)\n\t\t\t}\n\t\t}, [handleMouseMove, handleMouseUp])\n\n\t\tuseLayoutEffect(() => {\n\t\t\tif (!open) return\n\t\t\tsetComputedWidth(localRef.current!.offsetWidth)\n\t\t}, [open])\n\n\t\tconst resizableStyle = useMemo(\n\t\t\t() =>\n\t\t\t\t({\n\t\t\t\t\t...style,\n\t\t\t\t\twidth: computedWidth ?? initialWidth,\n\t\t\t\t\tmaxWidth: maxWidth,\n\t\t\t\t\tminWidth: minWidth,\n\t\t\t\t\tposition: position,\n\t\t\t\t\t\"--slide-out-width\": `${computedWidth}${typeof computedWidth === \"number\" ? \"px\" : \"\"}`,\n\t\t\t\t}) as CSSProperties,\n\t\t\t[computedWidth, initialWidth, maxWidth, minWidth, position, style],\n\t\t)\n\n\t\tconst resizableEnable = useMemo(\n\t\t\t() => ({ left: resizeable && !isLeft, right: resizeable && isLeft }),\n\t\t\t[isLeft, resizeable],\n\t\t)\n\n\t\tconst SlideOut = useMemo(\n\t\t\t() => (\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\t<CSSTransition\n\t\t\t\t\tclassNames={CSSTransitionClassNames}\n\t\t\t\t\tin={open}\n\t\t\t\t\ttimeout={TIMEOUT_DURATION}\n\t\t\t\t\tunmountOnExit\n\t\t\t\t\tmountOnEnter\n\t\t\t\t\tonEntering={onOpening}\n\t\t\t\t\tonExited={onClosed}\n\t\t\t\t\tnodeRef={nodeRef}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cx(className, \"top-0\", \"bottom-0\", {\n\t\t\t\t\t\t\t\"left-0\": isLeft,\n\t\t\t\t\t\t\t\"right-0\": !isLeft,\n\t\t\t\t\t\t\tabsolute: position === \"absolute\",\n\t\t\t\t\t\t\trelative: position === \"relative\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tref={mergedRefs}\n\t\t\t\t\t\tonPointerDownCapture={handlePointerDownCapture}\n\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\tstyle={resizableStyle}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cx(\"absolute top-0 bottom-0 w-[3px]\", {\n\t\t\t\t\t\t\t\t\"right-0\": isLeft,\n\t\t\t\t\t\t\t\t\"left-0\": !isLeft,\n\t\t\t\t\t\t\t\t\"pointer-events-none\": !resizableEnable,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\t\t\tdata-resizing={isResizing ? \"\" : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</div>\n\t\t\t\t</CSSTransition>\n\t\t\t),\n\t\t\t[\n\t\t\t\tCSSTransitionClassNames,\n\t\t\t\topen,\n\t\t\t\tonOpening,\n\t\t\t\tonClosed,\n\t\t\t\tclassName,\n\t\t\t\tisLeft,\n\t\t\t\tposition,\n\t\t\t\tmergedRefs,\n\t\t\t\thandlePointerDownCapture,\n\t\t\t\tside,\n\t\t\t\tresizableStyle,\n\t\t\t\thandleMouseDown,\n\t\t\t\tisResizing,\n\t\t\t\tresizableEnable,\n\t\t\t\tcontent,\n\t\t\t],\n\t\t)\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"relative flex h-full max-h-full w-full max-w-full overflow-hidden\"\n\t\t\t\tref={handleAssignParentContainer}\n\t\t\t>\n\t\t\t\t{side === \"left\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t<div className=\"flex h-full max-w-full grow overflow-hidden\" ref={childrenContainerRef}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{side === \"right\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { Dispatch, forwardRef, memo, SetStateAction, useCallback, useEffect, useMemo } from \"react\"\n\nimport { SlideOut, SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nconst DEFAULT_INITIAL_WIDTH = \"30%\"\n\ninterface SlideOutImplProps extends Omit<SlideOutProps, \"open\" | \"initialWidth\"> {\n\t/** controls if the SlideOut is initially open once mounted when NOT in smallMode.\n\t * NOTE: changing the value of this will cause the SlideOut to open/close after mounting NOT in smallMode depending on\n\t * its passed in value.\n\t * @default false */\n\tdefaultOpen?: {\n\t\tsmall?: boolean\n\t\tlarge?: boolean\n\t}\n\t/** optional prop to control the open state of the SlideOut */\n\topen?: SlideOutProps[\"open\"]\n\t/** optional prop to control the initialWidth of the SlideOut\n\t * @default \"30%\" */\n\tinitialWidth?: SlideOutProps[\"initialWidth\"]\n}\n\nconst SlideOutImpl = memo(\n\tforwardRef<\n\t\tHTMLDivElement,\n\t\tSlideOutImplProps & {\n\t\t\t// seperated these here since don't want them to be actual attributes of SlideOutProps\n\t\t\tshowSlideOut: boolean\n\t\t\tsetShowSlideOut: Dispatch<SetStateAction<boolean>>\n\t\t}\n\t>((props, ref) => {\n\t\tconst { small, hideLayout } = useLayoutContext()\n\t\tconst { className, showSlideOut, setShowSlideOut, defaultOpen, side, ...rest } = props\n\n\t\tuseEffect(() => {\n\t\t\t// check if defaultOpenSmallMode specified\n\t\t\tif (small && defaultOpen?.small !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.small)\n\t\t\t} else if (!small && defaultOpen?.large !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.large)\n\t\t\t}\n\t\t}, [defaultOpen, setShowSlideOut, small])\n\n\t\t/** Callback for when SlideOut should be dismissed, only gets called when SlideOuts are open */\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\tsetShowSlideOut(false)\n\t\t}, [setShowSlideOut])\n\n\t\t// Merging props controlled and uncontrolled props\n\t\tconst mergedProps = useMemo(\n\t\t\t() => ({\n\t\t\t\t// controlled props\n\t\t\t\t...{\n\t\t\t\t\topen: showSlideOut,\n\t\t\t\t\tinitialWidth: DEFAULT_INITIAL_WIDTH,\n\t\t\t\t\tmodal: small,\n\t\t\t\t\tonDismiss: handleDismiss,\n\t\t\t\t\tposition: (small ? \"absolute\" : \"relative\") as \"relative\" | \"absolute\",\n\t\t\t\t},\n\t\t\t\t// uncontrolled props\n\t\t\t\t...rest,\n\t\t\t}),\n\t\t\t[handleDismiss, rest, showSlideOut, small],\n\t\t)\n\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<SlideOut\n\t\t\t\t\tclassName={cx(`overmap-layout-slideOut-${side}`, className)}\n\t\t\t\t\tside={side}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...mergedProps}\n\t\t\t\t/>\n\t\t\t)\n\t\t)\n\t}),\n)\n\n/** Type used for both Layout.LeftSlideOut and Layout.RightSlideOut */\nexport interface LayoutSlideOutProps extends Omit<SlideOutImplProps, \"side\"> {}\n\n/** TODO: Document */\nexport const LeftSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showLeftSlideOut, setShowLeftSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOutImpl\n\t\t\t\tside=\"left\"\n\t\t\t\tshowSlideOut={showLeftSlideOut}\n\t\t\t\tsetShowSlideOut={setShowLeftSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n\n/** TODO: Document */\nexport const RightSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showRightSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOutImpl\n\t\t\t\tside=\"right\"\n\t\t\t\tshowSlideOut={showRightSlideOut}\n\t\t\t\tsetShowSlideOut={setShowRightSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef, useMemo } from \"react\"\n\nimport { SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutOverlayProps extends PropsWithoutRef<ComponentProps<\"div\">> {\n\tactive?: boolean\n\tside: SlideOutProps[\"side\"]\n\t// TODO: Might want to rename this once standardized\n\tsmallModeOnly?: boolean\n}\nexport const SlideOutOverlay = memo(\n\tforwardRef<HTMLDivElement, LayoutOverlayProps>((props, ref) => {\n\t\tconst { className, active, side, smallModeOnly = false, ...rest } = props\n\t\tconst { small, hideLayout, showLeftSlideOut, showRightSlideOut } = useLayoutContext()\n\n\t\tconst showOverlay = useMemo(() => {\n\t\t\t// If being controlled, return controlled state\n\t\t\tif (active !== undefined) return active\n\n\t\t\t// If layout current being hidden, set to false\n\t\t\tif (hideLayout) return false\n\n\t\t\t// If smallModeOnly but not in smallMode, set to false\n\t\t\tif (smallModeOnly && !small) return false\n\n\t\t\t// Otherwise return based on the open state\n\t\t\treturn side === \"left\" ? showLeftSlideOut : showRightSlideOut\n\t\t}, [active, hideLayout, showLeftSlideOut, showRightSlideOut, side, small, smallModeOnly])\n\n\t\treturn (\n\t\t\tshowOverlay && (\n\t\t\t\t<div className={cx(\"overmap-layout-overlay\", className, \"fixed inset-0\")} ref={ref} {...rest} />\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, PropsWithChildren, useCallback } from \"react\"\n\nimport { SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface SlideOutTriggerProps extends PropsWithChildren {\n\tside: SlideOutProps[\"side\"]\n\ttype?: \"toggle\" | \"open\" | \"close\"\n}\n\nfunction nextStateBasedOnType(prevState: boolean, type: \"toggle\" | \"open\" | \"close\") {\n\tswitch (type) {\n\t\tcase \"toggle\":\n\t\t\treturn !prevState\n\t\tcase \"open\":\n\t\t\treturn true\n\t\tcase \"close\":\n\t\t\treturn false\n\t}\n}\nexport const SlideOutTrigger = memo(\n\tforwardRef<HTMLButtonElement, SlideOutTriggerProps>((props, ref) => {\n\t\tconst { side, type = \"toggle\", children } = props\n\t\tconst { setShowLeftSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\tconst handleClick = useCallback(() => {\n\t\t\tconst setShowSlideOut = side === \"left\" ? setShowLeftSlideOut : setShowRightSlideOut\n\t\t\tsetShowSlideOut((prevState) => nextStateBasedOnType(prevState, type))\n\t\t}, [setShowLeftSlideOut, setShowRightSlideOut, side, type])\n\n\t\treturn (\n\t\t\t<Slot ref={ref} onClick={handleClick}>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { Container } from \"./Container\"\nimport { Root } from \"./Root\"\nimport { LeftSlideOut, RightSlideOut } from \"./SlideOut\"\nimport { SlideOutOverlay } from \"./SlideOutOverlay\"\nimport { SlideOutTrigger } from \"./SlideOutTrigger\"\n\nexport const Layout = {\n\tRoot,\n\tContainer,\n\tSlideOutOverlay,\n\tLeftSlideOut,\n\tRightSlideOut,\n\tSlideOutTrigger,\n}\nexport type * from \"./Container\"\nexport * from \"./context\"\nexport type * from \"./Root\"\nexport type * from \"./SlideOut\"\nexport type * from \"./SlideOutOverlay\"\nexport type * from \"./SlideOutTrigger\"\n","import { cva } from \"class-variance-authority\"\n\nexport const linkCva = cva([\"cursor-pointer\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\tnone: [\"[font-size:inherit]\", \"leading-[inherit]\"],\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"none\",\n\t\tweight: \"regular\",\n\t\talign: \"left\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { linkCva } from \"./cva\"\nimport type { LinkVariantProps } from \"./typings\"\n\nexport interface LinkProps extends PropsWithoutRef<ComponentProps<\"a\">>, LinkVariantProps {}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tweight = \"regular\",\n\t\talign = \"left\",\n\t\thighContrast = false,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<a\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, linkCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !highContrast,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nLink.displayName = \"Link\"\n","import { createContext } from \"react\"\n\nimport type { CheckedState } from \"./typings\"\n\nexport const CheckedIndicatorContext = createContext({} as CheckedState)\n","import { FC, PropsWithChildren, useContext } from \"react\"\n\nimport { CheckedIndicatorContext } from \"./context\"\n\nexport interface CheckedIndicatorProps {\n\tchildren: PropsWithChildren[\"children\"] | ((indeterminate: boolean) => PropsWithChildren[\"children\"])\n}\n\nexport const CheckedIndicator: FC<CheckedIndicatorProps> = (props) => {\n\tconst { children } = props\n\n\tconst checked = useContext(CheckedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(checked === \"indeterminate\") : children\n\n\treturn checked !== false ? computedChildren : null\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const menuItem = cva(\n\t[\"select-none\", \"relative\", \"flex\", \"items-center\", \"rounded\", \"outline-none\", \"data-disabled:text-(--base-a8)\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-1.5\", \"px-1.5\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-2.25\", \"px-2.25\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-3\", \"px-3\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-3.75\", \"px-3.75\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-4.5\", \"px-4.5\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:bg-(--accent-a9)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"text-(--base-12)\", \"data-highlighted:not-data-disabled:bg-(--accent-a4)\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"soft\",\n\t\t},\n\t},\n)\n\nexport const menuSeparator = cva([\"h-px\", \"bg-(--base-a6)\", \"w-auto\", \"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"-mx-0.5\", \"my-0.5\"],\n\t\t\tsm: [\"-mx-0.75\", \"my-0.75\"],\n\t\t\tmd: [\"-mx-1\", \"my-1\"],\n\t\t\tlg: [\"-mx-1.25\", \"my-1.25\"],\n\t\t\txl: [\"-mx-1.5\", \"my-1.5\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuSelectedIndicator = cva([\"flex\", \"items-center\", \"justify-center\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"w-4\", \"h-4\"],\n\t\t\tsm: [\"w-5\", \"h-5\"],\n\t\t\tmd: [\"w-6\", \"h-6\"],\n\t\t\tlg: [\"w-7\", \"h-7\"],\n\t\t\txl: [\"w-8\", \"h-8\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"w-max\",\n\t\t\"outline-none\",\n\t\t\"pointer-events-auto\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-6)\",\n\t\t\"overflow-hidden\",\n\t\t// \"[scrollbar-width:thin]\",\n\t\t// \"[scrollbar-color:var(--base-6)_transparent]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-0.5\", \"text-xs\"],\n\t\t\t\tsm: [\"p-0.75\", \"text-sm\"],\n\t\t\t\tmd: [\"p-1\", \"text-md\"],\n\t\t\t\tlg: [\"p-1.25\", \"text-lg\"],\n\t\t\t\txl: [\"p-1.5\", \"text-xl\"],\n\t\t\t},\n\t\t\tradius: {\n\t\t\t\tnone: [\"rounded-none\"],\n\t\t\t\txs: [\"rounded-xs\"],\n\t\t\t\tsm: [\"rounded-sm\"],\n\t\t\t\tmd: [\"rounded-md\"],\n\t\t\t\tlg: [\"rounded-lg\"],\n\t\t\t\txl: [\"rounded-lg\"],\n\t\t\t\tfull: [\"rounded-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const menuOverlay = cva([\"overflow-hidden\", \"touch-manipulation\"], {\n\tvariants: {\n\t\tmodal: {\n\t\t\ttrue: [\"pointer-events-auto\"],\n\t\t\tfalse: [\"pointer-events-none\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tmodal: false,\n\t},\n})\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"transition-colors\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"box-border\",\n\t\t\"bg-transparent\",\n\t\t\"text-(--base-12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"px-1.5\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"px-2.25\", \"gap-2.25\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"px-3\", \"gap-3\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"px-3.75\", \"gap-3.75\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"px-4.5\", \"gap-4.5\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import { MiddlewareData, UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide, MenuTriggerType } from \"../typings\"\n\ninterface IMenuContext {\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\tside: MenuSide\n\tsetTriggerType: (triggerType: MenuTriggerType) => void\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string | undefined\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n\tmiddlewareData: MiddlewareData\n}\n\nexport const MenuContext = createContext<IMenuContext>({} as IMenuContext)\n\nexport const useMenuContext = () => useContext(MenuContext)\n","export const MENU_OVERFLOW_PADDING = 20\n\nexport const MENU_CONTENT_PADDING = 8\n\nexport const MENU_MINIMUM_MAX_HEIGHT = 250\n","import {\n\tautoUpdate,\n\tflip,\n\tFloatingTree,\n\thide,\n\toffset as offsetMiddleware,\n\tPlacement,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseInteractions,\n\tuseListNavigation,\n\tuseRole,\n\tVirtualElement,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuRootProps, MenuTriggerType } from \"../typings\"\nimport { MenuContext } from \"./context\"\n\nconst DEFAULT_OFFSET = 5\n\nexport const MenuRoot: FC<MenuRootProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tside = \"bottom\",\n\t\talign = \"center\",\n\t\toffset,\n\t\tloop = false,\n\t\tmodal = false,\n\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>(defaultOpen ?? false, controlledOpen, onOpenChange)\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst [triggerType, setTriggerType] = useState<MenuTriggerType | null>(null)\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context, middlewareData } = useFloating<VirtualElement>({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: setOpen,\n\t\tmiddleware: [\n\t\t\toffsetMiddleware({ mainAxis: offset ?? DEFAULT_OFFSET }),\n\t\t\tsizeMiddleware({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t}),\n\t\t\tflip({ fallbackStrategy: \"initialPlacement\" }),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst role = useRole(context, {\n\t\trole: \"menu\",\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tcapture: true,\n\t\tancestorScroll: triggerType === \"context\" || triggerType === \"virtual\",\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: triggerType === \"click\",\n\t})\n\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tactiveIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tdismiss,\n\t\tlistNavigation,\n\t\tclick,\n\t\trole,\n\t])\n\n\treturn (\n\t\t<FloatingTree>\n\t\t\t<MenuContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\topen,\n\t\t\t\t\tsetOpen,\n\t\t\t\t\trefs,\n\t\t\t\t\tcontext,\n\t\t\t\t\tfloatingStyles,\n\t\t\t\t\telementsRef,\n\t\t\t\t\tgetFloatingProps,\n\t\t\t\t\tgetItemProps,\n\t\t\t\t\tgetReferenceProps,\n\t\t\t\t\tnodeId,\n\t\t\t\t\tactiveIndex,\n\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\tmiddlewareData,\n\t\t\t\t\tside,\n\t\t\t\t\tmodal,\n\t\t\t\t\tsetTriggerType,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuContext.Provider>\n\t\t</FloatingTree>\n\t)\n}\nMenuRoot.displayName = \"Root\"\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, MutableRefObject, useContext } from \"react\"\n\nimport type { ComponentRadius } from \"../../Provider\"\nimport type { MenuSize, MenuVariant } from \"../typings\"\n\ninterface IMenuContentContext {\n\tactiveIndex: number | null\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tsetActiveIndex: (index: number | null) => void\n\trefs: UseFloatingData[\"refs\"]\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\t// style props\n\taccentColor: string\n\tradius: ComponentRadius\n\tsize: MenuSize\n\tvariant: MenuVariant\n}\n\nexport const MenuContentContext = createContext<IMenuContentContext>({} as IMenuContentContext)\n\nexport const useMenuContentContext = () => useContext(MenuContentContext)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, MouseEventHandler, useCallback, useMemo } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { useProvider } from \"../../Provider\"\nimport { stopPropagation } from \"../../utils\"\nimport { menuContent, menuOverlay } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport type { MenuContentProps } from \"../typings\"\nimport { MenuContentContext } from \"./context\"\n\nexport const MenuContent = memo(\n\tforwardRef<HTMLDivElement, MenuContentProps>((props, forwardedRef) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tsize = \"md\",\n\t\t\tvariant = \"soft\",\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = \"base\",\n\t\t\t...rest\n\t\t} = props\n\t\tconst {\n\t\t\trefs,\n\t\t\tgetFloatingProps,\n\t\t\tmiddlewareData,\n\t\t\telementsRef,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\tgetItemProps,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tnodeId,\n\t\t\tcontext,\n\t\t\tfloatingStyles,\n\t\t\tmodal,\n\t\t\tside,\n\t\t} = useMenuContext()\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\tconst handleOverlayPointerDown = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (modal) stopPropagation(e)\n\t\t\t},\n\t\t\t[modal],\n\t\t)\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingOverlay\n\t\t\t\t\t\t\tclassName={menuOverlay({ modal })}\n\t\t\t\t\t\t\tonClick={handleOverlayPointerDown}\n\t\t\t\t\t\t\tlockScroll\n\t\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FloatingFocusManager context={context}>\n\t\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"border-box w-max outline-none\"\n\t\t\t\t\t\t\t\t\t\t\tref={refs.setFloating}\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t\t</FloatingOverlay>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide } from \"../typings\"\n\ninterface ISubContext {\n\t// we know exactly what type of element the SubTrigger will be, therefore type it as Element\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\tdisabled: boolean\n\tside: MenuSide\n\tcloseRoot: boolean\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string | undefined\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n}\n\nexport const SubContext = createContext<ISubContext>({} as ISubContext)\n\nexport const useSubContext = () => useContext(SubContext)\n","import { MENU_CONTENT_PADDING } from \"./constants\"\nimport { MenuAlignment, MenuSide } from \"./typings\"\n\n// This function computes offsets specifically for submenus so that they are flush with the trigger item and\n// parent content\nexport const computeOffsets = (side: MenuSide, alignment: MenuAlignment) => {\n\tswitch (side) {\n\t\tcase \"right\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"left\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t}\n\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: 0 }\n}\n","import {\n\tautoUpdate,\n\tflip,\n\thide,\n\toffset,\n\tPlacement,\n\tsafePolygon,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseHover,\n\tuseInteractions,\n\tuseListNavigation,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuSubProps } from \"../typings\"\nimport { computeOffsets } from \"../utils\"\nimport { SubContext } from \"./context\"\n\nexport const MenuSub: FC<MenuSubProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tdisabled = false,\n\t\tside = \"right\",\n\t\talign = \"start\",\n\t\tcloseRoot = false,\n\t\tloop = false,\n\t\tmodal = false,\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>(defaultOpen ?? false, controlledOpen, onOpenChange)\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context } = useFloating({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: (open, _event, reason) => {\n\t\t\t// unique bug where reason was undefined causing close on initial hover\n\t\t\tif (reason) setOpen(open)\n\t\t},\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\tmiddleware: [\n\t\t\toffset({ ...computeOffsets(side, align) }),\n\t\t\tsizeMiddleware({\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t}),\n\t\t\tflip(),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tbubbles: closeRoot,\n\t\toutsidePress: closeRoot,\n\t})\n\n\tconst hover = useHover(context, {\n\t\trestMs: 50,\n\t\thandleClose: safePolygon({\n\t\t\tblockPointerEvents: true,\n\t\t\trequireIntent: false,\n\t\t}),\n\t\tenabled: !disabled,\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: !disabled,\n\t})\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tnested: true,\n\t\tactiveIndex: activeIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t\trtl: side === \"left\",\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tlistNavigation,\n\t\tdismiss,\n\t\thover,\n\t\tclick,\n\t])\n\n\treturn (\n\t\t<SubContext.Provider\n\t\t\tvalue={{\n\t\t\t\topen,\n\t\t\t\tsetOpen,\n\t\t\t\tnodeId,\n\t\t\t\trefs,\n\t\t\t\tfloatingStyles,\n\t\t\t\tcontext,\n\t\t\t\telementsRef,\n\t\t\t\tactiveIndex,\n\t\t\t\tsetActiveIndex,\n\t\t\t\tgetFloatingProps,\n\t\t\t\tgetItemProps,\n\t\t\t\tgetReferenceProps,\n\t\t\t\tdisabled,\n\t\t\t\tside,\n\t\t\t\tcloseRoot,\n\t\t\t\tmodal,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</SubContext.Provider>\n\t)\n}\nMenuSub.displayName = \"SubMenu\"\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, KeyboardEventHandler, memo, MouseEventHandler, useCallback, useMemo } from \"react\"\n\nimport { radiusCva } from \"../../cva\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuItem } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuItemProps } from \"../typings\"\n\nconst TRIGGER_SELECT_KEYS = [\"Enter\", \" \"]\n\nexport const MenuItem = memo(\n\tforwardRef<HTMLDivElement, MenuItemProps>((props, forwardedRef) => {\n\t\tconst rootMenuContext = useMenuContext()\n\t\tconst { getItemProps, activeIndex, setOpen, size, variant, radius } = useMenuContentContext()\n\t\tconst { closeRoot } = useSubContext()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tonSelect,\n\t\t\tonClick,\n\t\t\tonKeyDown,\n\t\t\tcloseOnSelect = true,\n\n\t\t\tdisabled,\n\t\t\t...rest\n\t\t} = props\n\n\t\tconst { ref, index } = useListItem()\n\n\t\tconst mergeRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onClick) onClick(e)\n\t\t\t\tif (onSelect) onSelect()\n\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\tif (closeRoot) rootMenuContext.setOpen(false)\n\t\t\t},\n\t\t\t[closeOnSelect, closeRoot, disabled, rootMenuContext, onClick, onSelect, setOpen],\n\t\t)\n\n\t\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onKeyDown) onKeyDown(e)\n\t\t\t\tif (TRIGGER_SELECT_KEYS.includes(e.key)) {\n\t\t\t\t\tif (onSelect) onSelect()\n\t\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[closeOnSelect, disabled, onKeyDown, onSelect, setOpen],\n\t\t)\n\n\t\tconst isActive = useMemo(() => index === activeIndex, [activeIndex, index])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\" ? children({ active: isActive, selected: false }) : children\n\t\t}, [children, isActive])\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cx(className, menuItem({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={mergeRefs}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-highlighted={isActive ? \"\" : undefined}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\tonClick: handleClick,\n\t\t\t\t\tonKeyDown: handleKeyDown,\n\t\t\t\t\ttabIndex: isActive ? 0 : -1,\n\t\t\t\t\t...rest,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { forwardRef, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../../CheckedIndicator\"\nimport { MenuItem } from \"../Item\"\nimport { MenuCheckboxItemProps } from \"../typings\"\n\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>((props, ref) => {\n\tconst { checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (checked) {\n\t\t\tcase true:\n\t\t\t\tonCheckedChange(false)\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false:\n\t\t\t\tonCheckedChange(true)\n\t\t\t\tbreak\n\t\t}\n\t}, [checked, onCheckedChange, onSelect])\n\n\treturn (\n\t\t<CheckedIndicatorContext.Provider value={checked}>\n\t\t\t<MenuItem ref={ref} onSelect={handleSelect} {...rest} />\n\t\t</CheckedIndicatorContext.Provider>\n\t)\n})\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\"\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { CheckedIndicator } from \"../../CheckedIndicator\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { MenuCheckboxIndicatorProps } from \"../typings\"\n\nexport const MenuCheckboxItemIndicator = forwardRef<HTMLSpanElement, MenuCheckboxIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t<CheckedIndicator>{children}</CheckedIndicator>\n\t\t</span>\n\t)\n})\nMenuCheckboxItemIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuClickTriggerProps } from \"../typings\"\n\nexport const MenuClickTrigger = memo(\n\tforwardRef<HTMLElement, MenuClickTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled = false } = props\n\t\tconst { getReferenceProps, refs, setTriggerType, open } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs<HTMLElement>([refs.setReference, forwardedRef])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"click\")\n\t\t}, [setTriggerType])\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t{...getReferenceProps({ disabled: disabled })}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { ClientRectObject, useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, MouseEventHandler, useCallback, useEffect, useRef } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuContextTriggerProps } from \"../typings\"\n\nexport const MenuContextTrigger = memo(\n\tforwardRef<HTMLElement, MenuContextTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled } = props\n\t\tconst ref = useRef<HTMLElement>(null)\n\t\tconst { setOpen, refs, setTriggerType } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, ref])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"context\")\n\t\t}, [setTriggerType])\n\n\t\tconst handleContextMenu = useCallback<MouseEventHandler>(\n\t\t\t(e) => {\n\t\t\t\tconst { clientY, clientX } = e\n\n\t\t\t\tif (!disabled && ref.current) {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\trefs.setPositionReference({\n\t\t\t\t\t\tgetBoundingClientRect(): ClientRectObject {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tx: clientX,\n\t\t\t\t\t\t\t\ty: clientY,\n\t\t\t\t\t\t\t\ttop: clientY,\n\t\t\t\t\t\t\t\tleft: clientX,\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\t\tbottom: clientY,\n\t\t\t\t\t\t\t\tright: clientX,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontextElement: ref.current,\n\t\t\t\t\t})\n\t\t\t\t\tsetOpen(true)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[disabled, refs, setOpen],\n\t\t)\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\tstyle={{ WebkitTouchCallout: disabled ? \"none\" : \"unset\" }}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\tonContextMenu={handleContextMenu}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo } from \"react\"\n\nimport type { MenuGroupProps } from \"../typings\"\n\nexport const MenuGroup = memo(\n\tforwardRef<HTMLDivElement, MenuGroupProps>((props, ref) => {\n\t\tconst { children, ...rest } = props\n\n\t\treturn (\n\t\t\t<div ref={ref} role=\"group\" {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { ChangeEventHandler, forwardRef, memo, useCallback, useEffect } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport type { MenuInputProps } from \"../typings\"\n\nexport const MenuInputField = memo(\n\tforwardRef<HTMLInputElement, MenuInputProps>((props, forwardedRef) => {\n\t\tconst { className, onValueChange, onChange, ...rest } = props\n\t\tconst { activeIndex, getItemProps } = useMenuContentContext()\n\t\tconst { index, ref } = useListItem()\n\n\t\tconst mergedRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (onChange) onChange(e)\n\t\t\t\tif (onValueChange) onValueChange(e.target.value)\n\t\t\t},\n\t\t\t[onChange, onValueChange],\n\t\t)\n\n\t\tuseEffect(() => {\n\t\t\treturn () => {\n\t\t\t\tif (onValueChange) onValueChange(\"\")\n\t\t\t}\n\t\t\t// REASON: Don't include onValueChange in a dependency array, if it is required in the future, it must be ensured that\n\t\t\t// users wrap there onFilterChange callback function in a useCallback otherwise typing will trigger many re-renders\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [])\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={cx(className, \"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"outline-none\")}\n\t\t\t\tref={mergedRefs}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\t...rest,\n\t\t\t\t\ttabIndex: index === activeIndex ? 0 : -1,\n\t\t\t\t\tonChange: handleChange,\n\t\t\t\t})}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { inputRoot } from \"../cva\"\nimport type { MenuInputRootProps } from \"../typings\"\n\nexport const MenuInputRoot = memo(\n\tforwardRef<HTMLDivElement, MenuInputRootProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <div className={cx(className, inputRoot({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport type { MenuInputSlotProps } from \"../typings\"\n\nexport const MenuInputSlot = memo(\n\tforwardRef<HTMLDivElement, MenuInputSlotProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\treturn <div className={cx(className, \"flex\", \"items-center\", \"text-(--base-a11)\")} ref={ref} {...rest} />\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\nimport { MultiSelectContext, SingleSelectContext } from \"./typings\"\n\nexport type ISelectContext = SingleSelectContext | MultiSelectContext\n\nexport const SelectContext = createContext<ISelectContext>({} as ISelectContext)\n\nexport function useSelectContext<Type = SingleSelectContext | MultiSelectContext>() {\n\treturn useContext(SelectContext) as Type\n}\n","import { memo, PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { SelectContext } from \"./context\"\n\ntype SelectContextProviderProps = PropsWithChildren &\n\t(\n\t\t| {\n\t\t\t\ttype: \"single\"\n\t\t\t\tdefaultValue?: string | null\n\t\t\t\tvalue?: string | null\n\t\t\t\tonValueChange?: (value: string | null) => void\n\t\t }\n\t\t| {\n\t\t\t\ttype: \"multi\"\n\t\t\t\tdefaultValues?: string[]\n\t\t\t\tvalues?: string[]\n\t\t\t\tonValuesChange?: (values: string[]) => void\n\t\t }\n\t)\nexport const SelectContextProvider = memo((props: SelectContextProviderProps) => {\n\tconst { type, children } = props\n\n\tconst [controlledValue, setControlledValue] = useState<string | null>(\n\t\ttype === \"single\" ? (props?.defaultValue ?? null) : null,\n\t)\n\tconst [controlledValues, setControlledValues] = useState<string[]>(\n\t\ttype === \"multi\" ? (props?.defaultValues ?? []) : [],\n\t)\n\n\tconst onValuesChange = useCallback(\n\t\t(values: string[]) => {\n\t\t\tsetControlledValues(values)\n\t\t\tif (type === \"multi\" && props?.onValuesChange) props.onValuesChange(values)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst onValueChange = useCallback(\n\t\t(value: string | null) => {\n\t\t\tsetControlledValue(value)\n\t\t\tif (type === \"single\" && props?.onValueChange) props.onValueChange(value)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst value = useMemo(\n\t\t() =>\n\t\t\ttype === \"multi\"\n\t\t\t\t? {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalues: props?.values ?? controlledValues,\n\t\t\t\t\t\thandleValuesChange: onValuesChange,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalue: props.value ?? controlledValue,\n\t\t\t\t\t\thandleValueChange: onValueChange,\n\t\t\t\t\t},\n\t\t[controlledValue, controlledValues, onValueChange, onValuesChange, props, type],\n\t)\n\n\treturn <SelectContext.Provider value={value}>{children}</SelectContext.Provider>\n})\nSelectContextProvider.displayName = \"SelectContextProvider\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuMultiSelectGroupProps } from \"../typings\"\n\nexport const MenuMultiSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuMultiSelectGroupProps>((props, ref) => {\n\t\tconst { children, values, onValuesChange, ...rest } = props\n\n\t\treturn (\n\t\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t\t<SelectContextProvider type=\"multi\" values={values} onValuesChange={onValuesChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectContextProvider>\n\t\t\t</MenuGroup>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface ISelectedIndicatorContext {\n\tselected: boolean\n}\n\nexport const SelectedIndicatorContext = createContext<ISelectedIndicatorContext>({} as ISelectedIndicatorContext)\n\nexport const useSelectedIndicatorContext = () => useContext(SelectedIndicatorContext)\n","import { forwardRef, PropsWithChildren } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport { useSelectedIndicatorContext } from \"./context\"\n\nexport const MenuSelectedIndicator = forwardRef<HTMLDivElement, PropsWithChildren>((props, ref) => {\n\tconst { children } = props\n\tconst { selected } = useSelectedIndicatorContext()\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<div ref={ref} className={menuSelectedIndicator({ size })}>\n\t\t\t{selected ? children : null}\n\t\t</div>\n\t)\n})\nMenuSelectedIndicator.displayName = \"SelectedIndicator\"\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuMultiSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { onSelect, children, closeOnSelect = false, value, ...rest } = props\n\n\t\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\t\tconst selected = useMemo(() => values.includes(value), [value, values])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tif (!selected) {\n\t\t\t\thandleValuesChange([...values, value])\n\t\t\t} else {\n\t\t\t\thandleValuesChange(values.filter((currentValue) => currentValue !== value))\n\t\t\t}\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValuesChange, onSelect, selected, value, values])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface IPagesContext {\n\tactivePage: string\n\tsetActivePage: (page: string) => void\n}\n\nexport const PagesContext = createContext<IPagesContext>({} as IPagesContext)\n\nexport const usePagesContext = () => useContext(PagesContext)\n","import { FC } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport type { PageProps } from \"../typings\"\nimport { PagesContext } from \"./context\"\n\nexport const MenuPages: FC<PageProps> = (props) => {\n\tconst { children, defaultPage, page, onPageChange } = props\n\n\tconst [activePage, setActivePage] = useControlledState<string>(defaultPage ?? \"\", page, onPageChange)\n\n\treturn <PagesContext.Provider value={{ activePage, setActivePage }}>{children}</PagesContext.Provider>\n}\n","import { FC } from \"react\"\n\nimport { usePagesContext } from \"../Pages\"\nimport type { PageContentProps } from \"../typings\"\n\nexport const MenuPageContent: FC<PageContentProps> = (props) => {\n\tconst { page, children } = props\n\tconst { activePage } = usePagesContext()\n\n\treturn activePage === page ? children : null\n}\nMenuPageContent.displayName = \"PageContent\"\n","import { forwardRef, memo, useCallback } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { MenuItem } from \"../Item\"\nimport { usePagesContext } from \"../Pages\"\nimport type { PageTriggerProps } from \"../typings\"\n\nexport const MenuPageTrigger = memo(\n\tforwardRef<HTMLDivElement, PageTriggerProps>((props, ref) => {\n\t\tconst { onSelect, page, ...rest } = props\n\t\tconst { refs, setActiveIndex } = useMenuContentContext()\n\t\tconst { setActivePage } = usePagesContext()\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tsetActivePage(page)\n\t\t\trefs.floating.current?.focus()\n\t\t\tsetActiveIndex(null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [onSelect, page, refs.floating, setActiveIndex, setActivePage])\n\n\t\treturn <MenuItem ref={ref} onSelect={handleSelect} closeOnSelect={false} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport type { MenuScrollProps } from \"../typings\"\n\nexport const MenuScroll = forwardRef<HTMLDivElement, MenuScrollProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\t\"h-full overflow-x-hidden overflow-y-auto [scrollbar-color:var(--base-6)_transparent] [scrollbar-width:thin]\",\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nMenuScroll.displayName = \"MenuScroll\"\n","import { createContext } from \"react\"\n\ninterface ISelectAllContext {\n\tselected: boolean | \"indeterminate\"\n}\n\nexport const SelectAllContext = createContext({} as ISelectAllContext)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext, useMemo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { SelectAllIndicatorProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllIndicator = forwardRef<HTMLSpanElement, SelectAllIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\tconst { selected } = useContext(SelectAllContext)\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(selected === \"indeterminate\") : children\n\t}, [children, selected])\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t{selected ? computedChildren : null}\n\t\t</span>\n\t)\n})\nMenuSelectAllIndicator.displayName = \"SelectAllIndicator\"\n","import { forwardRef, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport type { SelectAllItemProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllItem = forwardRef<HTMLDivElement, SelectAllItemProps>((props, ref) => {\n\tconst { children, allValues, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\tconst selected = useMemo(() => {\n\t\tconst selectValuesSet = new Set(values)\n\n\t\tif (allValues.every((value) => selectValuesSet.has(value))) return true\n\t\tif (values.length > 0) return \"indeterminate\"\n\t\treturn false\n\t}, [allValues, values])\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (selected) {\n\t\t\tcase true:\n\t\t\t\thandleValuesChange([])\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false: {\n\t\t\t\thandleValuesChange(allValues)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [allValues, handleValuesChange, onSelect, selected])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t: children\n\t}, [children, selected])\n\n\treturn (\n\t\t<SelectAllContext.Provider value={{ selected }}>\n\t\t\t<MenuItem onSelect={handleSelect} ref={ref} data-state={selected} closeOnSelect={closeOnSelect} {...rest}>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectAllContext.Provider>\n\t)\n})\nMenuSelectAllItem.displayName = \"SelectAllItem\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuSelectGroupProps } from \"../typings\"\n\nexport const MenuSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuSelectGroupProps>((props, ref) => {\n\t\tconst { children, value, onValueChange } = props\n\t\treturn (\n\t\t\t<SelectContextProvider type=\"single\" value={value} onValueChange={onValueChange}>\n\t\t\t\t<MenuGroup ref={ref}>{children}</MenuGroup>\n\t\t\t</SelectContextProvider>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { SingleSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport type { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { value, onSelect, children, closeOnSelect = true, ...rest } = props\n\t\tconst { value: currentValue, handleValueChange } = useSelectContext<SingleSelectContext>()\n\n\t\tconst selected = useMemo(() => value === currentValue, [currentValue, value])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\thandleValueChange(!selected ? value : null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValueChange, onSelect, selected, value])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSeparator } from \"../cva\"\nimport type { MenuSeparatorProps } from \"../typings\"\n\nexport const MenuSeparator = memo(\n\tforwardRef<HTMLDivElement, MenuSeparatorProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <RadixSeparator.Root className={cx(className, menuSeparator({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingPortal, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, useMemo, useRef } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { MenuContentContext, useMenuContentContext } from \"../Content/context\"\nimport { menuContent } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { SubMenuContentProps } from \"../typings\"\n\nexport const MenuSubContent = memo(\n\tforwardRef<HTMLDivElement, SubMenuContentProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { middlewareData } = useMenuContext()\n\t\tconst { accentColor, radius, variant, size } = useMenuContentContext()\n\t\tconst {\n\t\t\topen,\n\t\t\tnodeId,\n\t\t\trefs,\n\t\t\tcontext,\n\t\t\tgetFloatingProps,\n\t\t\tgetItemProps,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\telementsRef,\n\t\t\tfloatingStyles,\n\t\t\tsetOpen,\n\t\t\tside,\n\t\t} = useSubContext()\n\n\t\tconst wrapperRef = useRef<HTMLDivElement>(null)\n\n\t\tconst mergeRefs = useMergeRefs([refs.setFloating, wrapperRef])\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingFocusManager context={context} initialFocus={wrapperRef}>\n\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"outline-none\"\n\t\t\t\t\t\t\t\t\t\tref={mergeRefs}\n\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\"overmap-menu-sub-content\",\n\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { forwardRef, memo } from \"react\"\n\nimport { MenuItem } from \"../Item\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuSubTriggerProps } from \"../typings\"\n\nexport const MenuSubTrigger = memo(\n\tforwardRef<HTMLDivElement, MenuSubTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { refs, getReferenceProps, open, disabled } = useSubContext()\n\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, refs.setReference])\n\n\t\treturn (\n\t\t\t<MenuItem\n\t\t\t\tref={mergedRefs}\n\t\t\t\tcloseOnSelect={false}\n\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\tdata-open={open}\n\t\t\t\tdisabled={disabled}\n\t\t\t\t{...getReferenceProps(rest)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuItem>\n\t\t)\n\t}),\n)\n","import { memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuVirtualTriggerProps } from \"../typings\"\n\nexport const MenuVirtualTrigger = memo((props: MenuVirtualTriggerProps) => {\n\tconst { virtualElement, disabled } = props\n\tconst { refs, setTriggerType, setOpen } = useMenuContext()\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"virtual\")\n\t}, [setTriggerType])\n\n\tuseEffect(() => {\n\t\tif (!disabled && virtualElement) {\n\t\t\trefs.setPositionReference(virtualElement)\n\t\t\tsetOpen(true)\n\t\t} else {\n\t\t\trefs.setPositionReference(null)\n\t\t\tsetOpen(false)\n\t\t}\n\t}, [disabled, refs, setOpen, virtualElement])\n\n\treturn null\n})\nMenuVirtualTrigger.displayName = \"VirtualTrigger\"\n","import { MenuCheckboxItem } from \"./CheckboxItem/CheckboxItem\"\nimport { MenuCheckboxItemIndicator } from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nimport { MenuClickTrigger } from \"./ClickTrigger\"\nimport { MenuContent } from \"./Content\"\nimport { MenuContextTrigger } from \"./ContextTrigger\"\nimport { MenuGroup } from \"./Group\"\nimport { MenuInputField, MenuInputRoot, MenuInputSlot } from \"./Input\"\nimport { MenuItem } from \"./Item\"\nimport { MenuMultiSelectGroup } from \"./MultiSelectGroup\"\nimport { MenuMultiSelectItem } from \"./MultiSelectItem\"\nimport { MenuPageContent } from \"./PageContent\"\nimport { MenuPages } from \"./Pages\"\nimport { MenuPageTrigger } from \"./PageTrigger\"\nimport { MenuRoot } from \"./root\"\nimport { MenuScroll } from \"./Scroll/Scroll\"\nimport { MenuSelectAllIndicator, MenuSelectAllItem } from \"./SelectAll\"\nimport { MenuSelectedIndicator } from \"./SelectedIndicator\"\nimport { MenuSelectGroup } from \"./SelectGroup\"\nimport { MenuSelectItem } from \"./SelectItem\"\nimport { MenuSeparator } from \"./Separator\"\nimport { MenuSub } from \"./Sub\"\nimport { MenuSubContent } from \"./SubContent\"\nimport { MenuSubTrigger } from \"./SubTrigger\"\nimport { MenuVirtualTrigger } from \"./VirtualTrigger\"\n\nexport * from \"./CheckboxItem/CheckboxItem\"\nexport * from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nexport * from \"./ClickTrigger\"\nexport * from \"./Content\"\nexport * from \"./ContextTrigger\"\nexport * from \"./Group\"\nexport * from \"./Input\"\nexport * from \"./Item\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./PageContent\"\nexport * from \"./Pages\"\nexport * from \"./PageTrigger\"\nexport * from \"./root\"\nexport * from \"./Scroll/Scroll\"\nexport * from \"./SelectAll\"\nexport * from \"./SelectedIndicator\"\nexport * from \"./SelectGroup\"\nexport * from \"./SelectItem\"\nexport * from \"./Separator\"\nexport * from \"./Sub\"\nexport * from \"./SubContent\"\nexport * from \"./SubTrigger\"\nexport * from \"./typings\"\nexport * from \"./VirtualTrigger\"\n\nexport const Menu = {\n\tRoot: MenuRoot,\n\tContent: MenuContent,\n\n\t// sub\n\tSub: MenuSub,\n\tSubContent: MenuSubContent,\n\tSubTrigger: MenuSubTrigger,\n\n\t// pages\n\tPages: MenuPages,\n\tPageContent: MenuPageContent,\n\tPageTrigger: MenuPageTrigger,\n\n\t// triggers\n\tClickTrigger: MenuClickTrigger,\n\tContextTrigger: MenuContextTrigger,\n\tVirtualTrigger: MenuVirtualTrigger,\n\n\t// groups\n\tGroup: MenuGroup,\n\tSelectGroup: MenuSelectGroup,\n\tMultiSelectGroup: MenuMultiSelectGroup,\n\n\t// items\n\tItem: MenuItem,\n\tSelectItem: MenuSelectItem,\n\tMultiSelectItem: MenuMultiSelectItem,\n\tSelectAllItem: MenuSelectAllItem,\n\tCheckboxItem: MenuCheckboxItem,\n\n\t// indicators\n\tSelectAllIndicator: MenuSelectAllIndicator,\n\tSelectedIndicator: MenuSelectedIndicator,\n\tCheckboxItemIndicator: MenuCheckboxItemIndicator,\n\n\t// input\n\tInputRoot: MenuInputRoot,\n\tInputField: MenuInputField,\n\tInputSlot: MenuInputSlot,\n\n\t// other\n\tSeparator: MenuSeparator,\n\tScroll: MenuScroll,\n}\n","import { ComponentProps, forwardRef, memo } from \"react\"\nimport { IconBaseProps, IconType } from \"react-icons\"\nimport * as RiIcons from \"react-icons/ri\"\nimport { RiQuestionMark } from \"react-icons/ri\"\n\ninterface RiIconProps extends ComponentProps<\"svg\">, Pick<IconBaseProps, \"size\" | \"title\" | \"color\"> {\n\ticon: string\n}\n\n// NOTE: this should be moved to /web once any tsx have been removed from /core\n\nexport const RiIcon = memo(\n\tforwardRef<SVGSVGElement, RiIconProps>((props, ref) => {\n\t\tconst { icon, size, title, color, ...rest } = props\n\t\tconst Icon = (RiIcons as Record<string, IconType>)[icon]\n\n\t\t// eslint-disable-next-line no-console\n\t\tif (!Icon) console.error(`Icon ${icon} not found`)\n\n\t\treturn Icon ? (\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\t<Icon ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t) : (\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\t<RiQuestionMark ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t)\n\t}),\n)\nRiIcon.displayName = \"RiIcon\"\n","import React, { ErrorInfo, memo, useCallback } from \"react\"\nimport { ErrorBoundary, useErrorBoundary } from \"react-error-boundary\"\n\nimport { IconButton } from \"../Buttons\"\nimport { RiIcon } from \"../RiIcon\"\n\ninterface ErrorBoundaryProps extends React.PropsWithChildren {\n\tabsoluteCentering?: boolean\n\tmessage?: string\n}\n\ninterface ErrorFallbackProps extends ErrorBoundaryProps {\n\tonRetry: () => void\n}\n\nconst centerStyles = { placeSelf: \"center\" }\n\nconst ErrorFallback = memo((props: ErrorFallbackProps) => {\n\tconst { absoluteCentering, message = \"Something went wrong\", onRetry } = props\n\tconst { resetBoundary } = useErrorBoundary()\n\tconst height = \"20px\"\n\tconst outerFlexStyles = absoluteCentering\n\t\t? ({ position: \"absolute\", top: \"50%\", transform: \"translateY(-50%)\" } as const)\n\t\t: undefined\n\n\tconst handleRetry = useCallback(() => {\n\t\tresetBoundary()\n\t\tonRetry()\n\t}, [onRetry, resetBoundary])\n\n\treturn (\n\t\t<div className=\"flex w-full gap-2\" style={outerFlexStyles}>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t\t<RiIcon icon=\"RiAlertLine\" size={height} style={centerStyles} />\n\t\t\t<span style={{ lineHeight: height, ...centerStyles }}>{message}</span>\n\t\t\t<IconButton aria-label=\"Try again\" variant=\"soft\" onClick={handleRetry} style={centerStyles}>\n\t\t\t\t<RiIcon icon=\"RiLoopLeftLine\" size={height} />\n\t\t\t</IconButton>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t</div>\n\t)\n})\n\nErrorFallback.displayName = \"ErrorFallback\"\n\nexport const OvermapErrorBoundary = memo((props: ErrorBoundaryProps) => {\n\tconst { absoluteCentering, message } = props\n\tconst [attempt, setAttempt] = React.useState(0)\n\n\tconst logError = useCallback((error: Error, info: ErrorInfo) => {\n\t\t// TODO: Log error to Sentry\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(error, info)\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\tconst handleRetry = useCallback(() => {\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\treturn (\n\t\t<ErrorBoundary\n\t\t\tkey={attempt}\n\t\t\tfallback={<ErrorFallback absoluteCentering={absoluteCentering} message={message} onRetry={handleRetry} />}\n\t\t\tonError={logError}\n\t\t>\n\t\t\t{props.children}\n\t\t</ErrorBoundary>\n\t)\n})\n\nOvermapErrorBoundary.displayName = \"OvermapErrorBoundary\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface PopoverArrowProps extends RadixPopover.PopoverArrowProps {}\n\nexport const PopoverArrow = forwardRef<SVGSVGElement, PopoverArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixPopover.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nPopoverArrow.displayName = \"PopoverArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const popoverContent = cva([\"bg-(--color-background)\", \"dark:bg-(--base-2)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { popoverContent } from \"./cva\"\nimport type { PopoverVariantProps } from \"./typings\"\n\nexport interface PopoverContentProps extends RadixPopover.PopoverContentProps, PopoverVariantProps {\n\tcontainer?: RadixPopover.PopoverPortalProps[\"container\"]\n}\n\nexport const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsize = \"md\",\n\t\tsideOffset = 5,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixPopover.Portal container={container}>\n\t\t\t<RadixPopover.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tpopoverContent({ size }),\n\t\t\t\t\tfloating({ shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixPopover.Portal>\n\t)\n})\nPopoverContent.displayName = \"PopoverContent\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\n\nimport { PopoverArrow } from \"./Arrow\"\nimport { PopoverContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Popover = {\n\t...RadixPopover,\n\tContent: PopoverContent,\n\tArrow: PopoverArrow,\n}\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface RadioGroupIndicatorProps extends RadixRadioGroup.RadioGroupIndicatorProps {}\n\nexport const RadioGroupIndicator = forwardRef<HTMLSpanElement, RadioGroupIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Indicator className={cx(className, \"flex items-center justify-center\")} ref={ref} {...rest} />\n\t)\n})\nRadioGroupIndicator.displayName = \"RadioGroupIndicator\"\n","import { createContext } from \"react\"\n\nimport type { RadioGroupSize, RadioGroupVariant } from \"./typings\"\n\nexport interface IRadioGroupContext {\n\tsize: RadioGroupSize\n\tvariant: RadioGroupVariant\n}\n\nexport const RadioGroupContext = createContext<IRadioGroupContext>({} as IRadioGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const radioGroupItem = cva(\n\t[\n\t\t\"rounded-full\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"data-[state='checked']:transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a6)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"w-4\", \"h-4\", \"text-[0.625rem]\"],\n\t\t\t\tsm: [\"w-5\", \"h-5\", \"text-xs\"],\n\t\t\t\tmd: [\"w-6\", \"h-6\", \"text-sm\"],\n\t\t\t\tlg: [\"w-7\", \"h-7\", \"text-md\"],\n\t\t\t\txl: [\"w-8\", \"h-8\", \"text-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { RadioGroupContext } from \"./context\"\nimport { radioGroupItem } from \"./cva\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupItemProps extends RadioGroupVariantProps, RadixRadioGroup.RadioGroupItemProps {}\n\nexport const RadioGroupItem = memo(\n\tforwardRef<HTMLButtonElement, RadioGroupItemProps>((props, ref) => {\n\t\tconst radioGroupContext = useContext(RadioGroupContext)\n\t\tconst { className, size = radioGroupContext.size, variant = radioGroupContext.variant, ...rest } = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Item\n\t\t\t\tclassName={cx(className, radioGroupItem({ size, variant }), \"flex\", \"justify-center\", \"items-center\")}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioGroupContext } from \"./context\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupRootProps extends RadixRadioGroup.RadioGroupProps, RadioGroupVariantProps {}\n\nexport const RadioGroupRoot = memo(\n\tforwardRef<HTMLDivElement, RadioGroupRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\tvariant = \"surface\",\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Root className={cx(className)} ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t\t<RadioGroupContext.Provider value={{ variant, size }}>{children}</RadioGroupContext.Provider>\n\t\t\t</RadixRadioGroup.Root>\n\t\t)\n\t}),\n)\n","import { RadioGroupIndicator } from \"./Indicator\"\nimport { RadioGroupItem } from \"./Item\"\nimport { RadioGroupRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const RadioGroup = {\n\tIndicator: RadioGroupIndicator,\n\tItem: RadioGroupItem,\n\tRoot: RadioGroupRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const segmentedControlRootCva = cva([\"shrink-0\", \"transition-colors\", \"flex\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const segmentedControlItemCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-colors\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-0.25\"],\n\t\t\t\tsm: [\"gap-0.5\"],\n\t\t\t\tmd: [\"gap-1\"],\n\t\t\t\tlg: [\"gap-1.5\"],\n\t\t\t\txl: [\"gap-2\"],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t},\n\t},\n)\n","import { createContext } from \"react\"\n\nimport { ComponentRadius } from \"../Provider\"\nimport type { SegmentedControlSize, SegmentedControlVariant } from \"./typings\"\n\ninterface ISegmentedControlContext {\n\tsize: SegmentedControlSize\n\tvariant: SegmentedControlVariant\n\tradius: ComponentRadius\n\ticon: boolean\n}\n\nexport const SegmentedControlContext = createContext({} as ISegmentedControlContext)\n","import { useContext } from \"react\"\n\nimport { SegmentedControlContext } from \"./context\"\n\nexport const useSegmentedControl = () => {\n\tconst segmentedControlContext = useContext(SegmentedControlContext)\n\n\tif (!segmentedControlContext) {\n\t\tthrow new Error(\"useSegmentedControl must be used within a SegmentedControlProvider\")\n\t}\n\n\treturn segmentedControlContext\n}\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { segmentedControlItemCva } from \"./cva\"\nimport { useSegmentedControl } from \"./hooks\"\n\nexport interface SegmentedControlItemProps extends RadixToggleGroup.ToggleGroupItemProps {}\n\nexport const SegmentedControlItem = forwardRef<HTMLButtonElement, SegmentedControlItemProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, radius, variant, icon } = useSegmentedControl()\n\n\treturn (\n\t\t<RadixToggleGroup.Item\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlItemCva({ size, variant, icon }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSegmentedControlItem.displayName = \"SegmentedControlItem\"\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SegmentedControlContext } from \"./context\"\nimport { segmentedControlRootCva } from \"./cva\"\nimport type { SegmentedControlVariantProps } from \"./typings\"\n\nexport interface SegmentedControlRootProps\n\textends Omit<RadixToggleGroup.ToggleGroupSingleProps, \"type\">,\n\t\tSegmentedControlVariantProps {}\n\nexport const SegmentedControlRoot = forwardRef<HTMLDivElement, SegmentedControlRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\ticon = false,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixToggleGroup.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\ttype=\"single\"\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SegmentedControlContext.Provider value={{ size, variant, radius, icon }}>\n\t\t\t\t{children}\n\t\t\t</SegmentedControlContext.Provider>\n\t\t</RadixToggleGroup.Root>\n\t)\n})\nSegmentedControlRoot.displayName = \"SegmentedControlRoot\"\n","import { SegmentedControlItem } from \"./Item\"\nimport { SegmentedControlRoot } from \"./Root\"\n\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const SegmentedControl = {\n\tItem: SegmentedControlItem,\n\tRoot: SegmentedControlRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const separator = cva([\"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [],\n\t\t\tsm: [],\n\t\t\tmd: [],\n\t\t\tlg: [],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t\torientation: {\n\t\t\thorizontal: [\"h-px\"],\n\t\t\tvertical: [\"w-px\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"bg-(--accent-a6)\"],\n\t\t\tmedium: [\"bg-(--accent-a7)\"],\n\t\t\theavy: [\"bg-(--accent-a8)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-full\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-full\"],\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\torientation: \"horizontal\",\n\t\tweight: \"medium\",\n\t},\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { separator } from \"./cva\"\nimport type { SeparatorVariantProps } from \"./typings\"\n\ninterface SeparatorProps extends RadixSeparator.SeparatorProps, SeparatorVariantProps {}\n\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>((props, ref) => {\n\tconst { className, accentColor = \"base\", orientation, size, weight, ...rest } = props\n\n\treturn (\n\t\t<RadixSeparator.Root\n\t\t\tclassName={cx(className, separator({ orientation, size, weight }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSeparator.displayName = \"Separator\"\n","import { memo } from \"react\"\n\nexport const Spinner = memo(() => {\n\treturn <div className=\"size-5 animate-spin rounded-full border-2 border-(--base-a12) border-b-transparent\" />\n})\n\nSpinner.displayName = \"Spinner\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { SwitchSize } from \"./typings\"\n\ninterface ISwitchContext {\n\tsize: SwitchSize\n\tradius: ComponentRadius\n}\n\nexport const SwitchContext = createContext({} as ISwitchContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const switchRoot = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// ring\n\t\t\"inset-ring\",\n\t\t\"inset-ring-(--base-a4)\",\n\t\t\"data-[state=checked]:inset-ring-(--accent-track)\",\n\n\t\t// bg\n\t\t\"bg-(--base-4)\",\n\t\t\"data-[state=checked]:bg-(--accent-track)\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"w-10\"],\n\t\t\t\tsm: [\"h-6\", \"w-12\"],\n\t\t\t\tmd: [\"h-7\", \"w-14\"],\n\t\t\t\tlg: [\"h-8\", \"w-16\"],\n\t\t\t\txl: [\"h-9\", \"w-[4.5rem]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const switchThumb = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"transition-transform\",\n\t\t\"data-[state='unchecked']:translate-x-[1px]\",\n\t\t\"data-[state='checked']:translate-x-[calc(100%+1px)]\",\n\t\t\"bg-(--base-contrast)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-[calc(calc(var(--spacing)*5)-1px)]\"],\n\t\t\t\tsm: [\"size-[calc(calc(var(--spacing)*6)-1px)]\"],\n\t\t\t\tmd: [\"size-[calc(calc(var(--spacing)*7)-1px)]\"],\n\t\t\t\tlg: [\"size-[calc(calc(var(--spacing)*8)-1px)]\"],\n\t\t\t\txl: [\"size-[calc(calc(var(--spacing)*9)-1px)]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SwitchContext } from \"./context\"\nimport { switchRoot } from \"./cva\"\nimport type { SwitchVariantProps } from \"./typings\"\n\nexport interface SwitchRootProps extends RadixSwitch.SwitchProps, SwitchVariantProps {}\n\nexport const SwitchRoot = memo(\n\tforwardRef<HTMLButtonElement, SwitchRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixSwitch.Root\n\t\t\t\tclassName={cx(className, switchRoot({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<SwitchContext.Provider value={{ size, radius }}>{children}</SwitchContext.Provider>\n\t\t\t</RadixSwitch.Root>\n\t\t)\n\t}),\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { SwitchContext } from \"./context\"\nimport { switchThumb } from \"./cva\"\n\nexport interface SwitchThumbProps extends RadixSwitch.SwitchThumbProps {}\n\nexport const SwitchThumb = memo(\n\tforwardRef<HTMLSpanElement, SwitchThumbProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size, radius } = useContext(SwitchContext)\n\n\t\treturn (\n\t\t\t<RadixSwitch.Thumb\n\t\t\t\tclassName={cx(className, switchThumb({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { SwitchRoot } from \"./Root\"\nimport { SwitchThumb } from \"./Thumb\"\n\nexport * from \"./Root\"\nexport * from \"./Thumb\"\nexport * from \"./typings\"\n\nexport const Switch = {\n\tRoot: SwitchRoot,\n\tThumb: SwitchThumb,\n}\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableBodyProps extends PropsWithoutRef<ComponentProps<\"tbody\">> {}\n\nexport const TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tbody ref={ref} className={cx(className)} {...rest} />\n})\nTableBody.displayName = \"TableBody\"\n","import { createContext } from \"react\"\n\nimport { TableBorder, TableCellSize, TableVariant } from \"./typings\"\n\ninterface ITableContext {\n\tsize: TableCellSize\n\tborder: TableBorder\n\tvariant: TableVariant\n}\n\nexport const TableContext = createContext({} as ITableContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tableRootCva = cva([\"border-collapse text-left\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tghost: [],\n\t\t\tsurface: [\"border-1\", \"border-(--accent-a6)\", \"box-border\", \"overflow-hidden\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-md\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const tableCellCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\tghost: [],\n\t\t},\n\t\tcell: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-1\"],\n\t\t\tsm: [\"p-2\"],\n\t\t\tmd: [\"p-3\"],\n\t\t\tlg: [\"p-4\"],\n\t\t\txl: [\"p-5\"],\n\t\t},\n\t\tborder: {\n\t\t\tgrid: [\"box-border\", \"border\", \"border-(--accent-a6)\"],\n\t\t\trow: [\"box-border\", \"border-b\", \"border-(--accent-a6)\"],\n\t\t\tcol: [\"box-border\", \"border-x\", \"border-(--accent-a6)\"],\n\t\t\tnone: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: true,\n\t\t\tclassName: [\"bg-(--accent-a1)\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: false,\n\t\t\tclassName: [\"bg-(--accent-a2)\"],\n\t\t},\n\t],\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableCellProps extends PropsWithoutRef<ComponentProps<\"td\">> {}\n\nexport const TableCell = forwardRef<HTMLTableCellElement, TableCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <td ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableCell.displayName = \"TableCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableColumnHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableColumnHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableColumnHeaderCellProps>(\n\t(props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size, border, variant } = useContext(TableContext)\n\n\t\treturn (\n\t\t\t<th ref={ref} className={cx(className, tableCellCva({ size, border, cell: false, variant }))} {...rest} />\n\t\t)\n\t},\n)\nTableColumnHeaderCell.displayName = \"TableColumnHeaderCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableFooterProps extends PropsWithoutRef<ComponentProps<\"tfoot\">> {}\n\nexport const TableFooter = forwardRef<HTMLTableSectionElement, TableFooterProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tfoot ref={ref} className={cx(className)} {...rest} />\n})\nTableFooter.displayName = \"TableFooter\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableHeaderProps extends PropsWithoutRef<ComponentProps<\"thead\">> {}\n\nexport const TableHeader = forwardRef<HTMLTableSectionElement, TableHeaderProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <thead ref={ref} className={cx(className)} {...rest} />\n})\nTableHeader.displayName = \"TableHeader\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { TableContext } from \"./context\"\nimport { tableRootCva } from \"./cva\"\nimport type { TableVariantProps } from \"./typings\"\n\nexport interface TableRootProps extends Omit<PropsWithoutRef<ComponentProps<\"table\">>, \"border\">, TableVariantProps {}\n\nexport const TableRoot = forwardRef<HTMLTableElement, TableRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", border = \"row\", accentColor = \"base\", variant = \"ghost\", ...rest } = props\n\n\treturn (\n\t\t<table\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\ttableRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: providerContext.radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TableContext.Provider value={{ size, border, variant }}>{children}</TableContext.Provider>\n\t\t</table>\n\t)\n})\nTableRoot.displayName = \"TableRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableRowProps extends PropsWithoutRef<ComponentProps<\"tr\">> {}\n\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tr ref={ref} className={cx(className)} {...rest} />\n})\nTableRow.displayName = \"TableRow\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableRowHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableRowHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableRowHeaderCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableRowHeaderCell.displayName = \"TableRow\"\n","import { TableBody } from \"./Body\"\nimport { TableCell } from \"./Cell\"\nimport { TableColumnHeaderCell } from \"./ColumnHeaderCell\"\nimport { TableFooter } from \"./Footer\"\nimport { TableHeader } from \"./Header\"\nimport { TableRoot } from \"./Root\"\nimport { TableRow } from \"./Row\"\nimport { TableRowHeaderCell } from \"./RowHeaderCell\"\n\nexport * from \"./Body\"\nexport * from \"./Cell\"\nexport * from \"./ColumnHeaderCell\"\nexport * from \"./Footer\"\nexport * from \"./Header\"\nexport * from \"./Root\"\nexport * from \"./Row\"\nexport * from \"./RowHeaderCell\"\nexport * from \"./typings\"\n\nexport const Table = {\n\tRoot: TableRoot,\n\tHeader: TableHeader,\n\tBody: TableBody,\n\tFooter: TableFooter,\n\tRow: TableRow,\n\tCell: TableCell,\n\tRowHeaderCell: TableRowHeaderCell,\n\tColumnHeaderCell: TableColumnHeaderCell,\n}\n","import { createContext } from \"react\"\n\nimport type { TabsSize } from \"./typings\"\n\ninterface ITabsListContext {\n\tsize: TabsSize\n}\n\nexport const TabsListContext = createContext({} as ITabsListContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tabsListCva = cva([\"flex\", \"border-box\", \"inset-shadow-[0_-1px_0_0_var(--base-a6)]\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-6\", \"text-xs\"],\n\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\txl: [\"h-10\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const tabsTriggerCva = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"shrink-0\",\n\t\t\"cursor-pointer\",\n\t\t\"transition-colors\",\n\t\t\"relative\",\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:text-(--base-a12)\",\n\t\t\"data-[state=active]:text-(--base-a12)\",\n\t\t\"data-[state=active]:before:absolute\",\n\t\t\"data-[state=active]:before:inset-x-0\",\n\t\t\"data-[state=active]:before:bottom-0\",\n\t\t\"data-[state=active]:before:h-[2px]\",\n\t\t\"data-[state=active]:before:bg-(--accent-indicator)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"px-2\", \"gap-0.25\"],\n\t\t\t\tsm: [\"px-2\", \"gap-0.5\"],\n\t\t\t\tmd: [\"px-3\", \"gap-1\"],\n\t\t\t\tlg: [\"px-4\", \"gap-1.5\"],\n\t\t\t\txl: [\"px-5\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { TabsListContext } from \"./context\"\nimport { tabsListCva } from \"./cva\"\nimport type { TabsVariantProps } from \"./typings\"\n\nexport interface TabsListProps extends RadixTabs.TabsListProps, TabsVariantProps {}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", accentColor = providerContext.accentColor, ...rest } = props\n\n\treturn (\n\t\t<RadixTabs.List\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, tabsListCva({ size }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TabsListContext.Provider value={{ size }}>{children}</TabsListContext.Provider>\n\t\t</RadixTabs.List>\n\t)\n})\nTabsList.displayName = \"TabsList\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TabsRootProps extends RadixTabs.TabsProps {}\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(className, \"flex flex-col\")} {...rest} />\n})\nTabsRoot.displayName = \"TabsRoot\"\n","import { useContext } from \"react\"\n\nimport { TabsListContext } from \"./context\"\n\nexport const useTabsList = () => {\n\tconst tabsListContext = useContext(TabsListContext)\n\n\tif (!tabsListContext) {\n\t\tthrow new Error(\"useTabsList must be used within a TabsList component\")\n\t}\n\n\treturn tabsListContext\n}\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { tabsTriggerCva } from \"./cva\"\nimport { useTabsList } from \"./hooks\"\n\nexport interface TabsTriggerProps extends RadixTabs.TabsTriggerProps {}\n\nexport const TabsTrigger = forwardRef<HTMLButtonElement, TabsTriggerProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\n\tconst { size } = useTabsList()\n\n\treturn (\n\t\t<RadixTabs.Trigger ref={ref} className={cx(className, tabsTriggerCva({ size }))} {...rest}>\n\t\t\t{children}\n\t\t</RadixTabs.Trigger>\n\t)\n})\nTabsTrigger.displayName = \"TabsTrigger\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\n\nimport { TabsList } from \"./List\"\nimport { TabsRoot } from \"./Root\"\nimport { TabsTrigger } from \"./Trigger\"\n\nexport * from \"./List\"\nexport * from \"./Root\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const Tabs = {\n\tRoot: TabsRoot,\n\tList: TabsList,\n\tTrigger: TabsTrigger,\n\tContent: RadixTabs.Content,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const textCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { textCva } from \"./cva\"\nimport type { TextVariantProps } from \"./typings\"\n\nexport interface TextProps extends PropsWithoutRef<ComponentProps<\"span\">>, TextVariantProps {}\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>((props, ref) => {\n\tconst { className, size, weight, align, accentColor, highContrast = false, ...rest } = props\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, textCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nText.displayName = \"Text\"\n","import { cva } from \"class-variance-authority\"\n\nexport const textAreaCva = cva(\n\t[\n\t\t\"focus:outline-(--accent-a8)\",\n\t\t\"focus:outline-2\",\n\t\t\"focus:-outline-offset-1\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t\"placeholder-(--base-a9)\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"text-(--accent-12)\",\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t],\n\t\t\t\tghost: [\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"p-1\", \"text-xs\"],\n\t\t\t\tsm: [\"p-1.5\", \"text-sm\"],\n\t\t\t\tmd: [\"p-2\", \"text-base\"],\n\t\t\t\tlg: [\"p-2.5\", \"text-lg\"],\n\t\t\t\txl: [\"p-3\", \"text-xl\"],\n\t\t\t},\n\t\t\tresize: {\n\t\t\t\tnone: [\"resize-none\"],\n\t\t\t\tvertical: [\"resize-y\"],\n\t\t\t\thorizontal: [\"resize-x\"],\n\t\t\t\tboth: [\"resize\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"outline\",\n\t\t\tsize: \"md\",\n\t\t\tresize: \"none\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { textAreaCva } from \"./cva\"\nimport type { TextAreaVariantProps } from \"./typings\"\n\nexport interface TextAreaProps extends PropsWithoutRef<ComponentProps<\"textarea\">>, TextAreaVariantProps {}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cx(className, textAreaCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nTextArea.displayName = \"TextArea\"\n","import { cva } from \"class-variance-authority\"\n\nexport const toastCva = cva(\n\t[\n\t\t\"shadow-md\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--accent-1)\", \"text-(--accent-11)\", \"ring-1\", \"ring-inset\", \"ring-(--accent-a6)\"],\n\t\t\t\tsoft: [\"bg-(--accent-1)\", \"text-(--accent-11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixToast from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, forwardRef, memo, useCallback, useState } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toastCva } from \"./cva\"\nimport type { ToastProps } from \"./typings\"\n\nconst _Toast = forwardRef<HTMLLIElement, ToastProps>(function Toast(props, ref) {\n\tconst { radius, ...restProviderContext } = useProvider()\n\tconst {\n\t\ttitle,\n\t\tdescription,\n\t\ticon,\n\t\tsize = \"md\",\n\t\taccentColor = restProviderContext.accentColor,\n\t\tvariant,\n\t\tonClose,\n\t\tsensitivity,\n\t\taction,\n\t\t...rest\n\t} = props\n\n\tconst [open, setOpen] = useState(true)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t\tsetOpen(open)\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root\n\t\t\tclassName={cx(\n\t\t\t\t\"flex w-max items-center gap-4\",\n\t\t\t\ttoastCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\topen={open}\n\t\t\ttype={sensitivity}\n\t\t\tonOpenChange={handleOpenChange}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tdata-floating-content=\"\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<div className=\"flex grow items-center gap-3\">\n\t\t\t\t{icon}\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t<RadixToast.Title className=\"font-medium\">{title}</RadixToast.Title>\n\t\t\t\t\t\t<RadixToast.Description>{description}</RadixToast.Description>\n\t\t\t\t\t</div>\n\t\t\t\t\t{action && (\n\t\t\t\t\t\t<RadixToast.Action className=\"w-max\" altText={action.altText} asChild>\n\t\t\t\t\t\t\t{action.content}\n\t\t\t\t\t\t</RadixToast.Action>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<RadixToast.Close asChild>\n\t\t\t\t<IconButton size={size} aria-label=\"Close\" variant=\"ghost\" accentColor={accentColor}>\n\t\t\t\t\t<HiX />\n\t\t\t\t</IconButton>\n\t\t\t</RadixToast.Close>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\n","import { createContext, useContext } from \"react\"\n\nimport { IToastContext } from \"./typings\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const useToast = (): IToastContext => {\n\tconst context = useContext(ToastContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useToast must be used within a ToastProvider\")\n\t}\n\n\treturn context\n}\n","import { ToastProvider as RadixToastProvider, ToastViewport } from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, memo, useCallback, useEffect, useMemo, useState } from \"react\"\n\nimport { Toast } from \"./Toast\"\nimport { ToastContext } from \"./ToastContext\"\nimport type { IToastContext, SimpleToastProps, ToastContextProviderProps, ToastProps } from \"./typings\"\n\ninterface ToastArgs extends ToastProps {\n\tid: string\n\ttimeout: NodeJS.Timeout\n}\n\n// average reading speed is 240 words per minute\nconst WORDS_PER_SECOND = 240 / 60\n// 5 seconds is the minimum duration for a toast\nconst MIN_DURATION = 5000\n\nenum CloseReason {\n\tManual,\n\tTimeout,\n}\n\nconst calculatedDuration = (toast: ToastProps) => {\n\t// if the user has passed a duration valid, use that instead\n\tif (toast.duration && toast.duration >= MIN_DURATION) return toast.duration\n\n\t// count the number of words in the title and description\n\tconst words = toast.description.split(\" \").length + toast.title.split(\" \").length\n\t// calculate the duration based on the number of words and the severity\n\treturn MIN_DURATION + words / WORDS_PER_SECOND\n}\n\n/** this is a hack to allow toasts to be shown outside of components where hooks cannot be used */\n// eslint-disable-next-line react-refresh/only-export-components\nexport let unsafeShowToast: ((toastProps: ToastProps) => void) | undefined = undefined\n\n/** Toasts will be displayed in the top-right handle corner of the screen */\nexport const ToastProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tclassName,\n\thotkey,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastArgs[]>([])\n\n\tconst handleCloseToast = useCallback((id: string, reason: CloseReason, callback?: () => void) => {\n\t\tsetToasts((prevToasts) => {\n\t\t\tconst toast = prevToasts.find((toast) => toast.id === id)\n\t\t\t// clear the timeout if the toast is being closed manually\n\t\t\tif (toast && reason === CloseReason.Manual) clearTimeout(toast.timeout)\n\n\t\t\treturn prevToasts.filter((toast) => toast.id !== id)\n\t\t})\n\n\t\tif (callback) callback()\n\t}, [])\n\n\tconst toastContextValue = useMemo<IToastContext>(() => {\n\t\tlet counter = 0\n\n\t\tconst showToast = (toastProps: ToastProps) => {\n\t\t\tconst duration = calculatedDuration(toastProps)\n\t\t\tconst id = counter.toString()\n\t\t\tcounter += 1 // increment the counter so that ids are unique\n\n\t\t\t// manually close the toast after the duration has passed\n\t\t\t// this is necessary because the duration prop is reset on re-render\n\t\t\tconst pending = setTimeout(() => handleCloseToast(id, CloseReason.Timeout, toastProps.onClose), duration)\n\n\t\t\tsetToasts((prevToasts) => [...prevToasts, { ...toastProps, timeout: pending, duration, id }])\n\t\t}\n\t\tconst showPrimary = (toastProps: SimpleToastProps) => showToast(toastProps)\n\t\tconst showSuccess = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"success\" })\n\t\tconst showError = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"danger\" })\n\t\tconst showInfo = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"base\" })\n\t\tconst showWarning = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"warning\" })\n\n\t\tunsafeShowToast = showToast\n\n\t\treturn {\n\t\t\tshowToast,\n\t\t\tshowPrimary,\n\t\t\tshowSuccess,\n\t\t\tshowError,\n\t\t\tshowInfo,\n\t\t\tshowWarning,\n\t\t}\n\t}, [handleCloseToast])\n\n\t// clear all timeouts when the component unmounts\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tfor (const { timeout } of toasts) clearTimeout(timeout)\n\t\t}\n\t\t// only run this effect when the component unmounts\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [])\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<RadixToastProvider {...rest}>\n\t\t\t\t{children}\n\n\t\t\t\t<ToastViewport\n\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\"fixed top-0 right-0 z-[2147483647] flex max-w-[100vw] list-none flex-col items-end gap-3 overflow-x-hidden overflow-y-auto p-5 outline-none\",\n\t\t\t\t\t)}\n\t\t\t\t\thotkey={hotkey}\n\t\t\t\t/>\n\n\t\t\t\t{toasts.map(({ id, onClose, ...toastProps }) => (\n\t\t\t\t\t<Toast key={id} {...toastProps} onClose={() => handleCloseToast(id, CloseReason.Manual, onClose)} />\n\t\t\t\t))}\n\t\t\t</RadixToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { cva } from \"class-variance-authority\"\n\nexport const toggleButtonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"shrink-0\",\n\t\t\"justify-center\",\n\n\t\t// Selection\n\t\t\"select-none\",\n\n\t\t// Focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// Disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t// ring\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=off]:hover:inset-ring-transparent\",\n\t\t\t\t\t\"data-[state=on]:inset-ring-transparent\",\n\n\t\t\t\t\t// text\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\n\t\t\t\t\t// bg\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"outline\",\n\t\t},\n\t},\n)\n","import * as Toggle from \"@radix-ui/react-toggle\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toggleButtonCva } from \"./cva\"\nimport type { BaseToggleButtonProps } from \"./typings\"\n\nexport const BaseToggleButton = forwardRef<HTMLButtonElement, BaseToggleButtonProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\ticon,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<Toggle.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, toggleButtonCva({ size, variant, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nBaseToggleButton.displayName = \"BaseToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const IconToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon {...props} />\n})\nIconToggleButton.displayName = \"IconToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon={false} {...props} />\n})\nToggleButton.displayName = \"ToggleButton\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TooltipArrowProps extends RadixTooltip.TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef<SVGSVGElement, TooltipArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTooltip.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nTooltipArrow.displayName = \"TooltipArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const tooltipContent = cva(\n\t[\n\t\t\"data-[state=delayed-open]:animate-in\",\n\t\t\"data-[state=delayed-open]:fade-in-0\",\n\t\t\"data-[state=delayed-open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t\t\"bg-(--color-background)\",\n\t\t\"dark:bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-inset\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"text-(--base-12)\",\n\t\t\"shadow-sm\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"px-2\"],\n\t\t\t\tsm: [\"text-sm\", \"px-3\"],\n\t\t\t\tmd: [\"text-base\", \"px-4\"],\n\t\t\t\tlg: [\"text-lg\", \"px-5\"],\n\t\t\t\txl: [\"text-xl\", \"px-6\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-1\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-1\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-1\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-1\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tside: \"top\",\n\t\t},\n\t},\n)\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { tooltipContent } from \"./cva\"\nimport type { TooltipVariantProps } from \"./typings\"\n\nexport interface TooltipContentProps extends RadixTooltip.TooltipContentProps, TooltipVariantProps {\n\tcontainer?: RadixTooltip.TooltipPortalProps[\"container\"]\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tside = \"top\",\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\tsideOffset = 2,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixTooltip.Portal container={container}>\n\t\t\t<RadixTooltip.Content\n\t\t\t\tclassName={cx(className, tooltipContent({ size, side }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</RadixTooltip.Content>\n\t\t</RadixTooltip.Portal>\n\t)\n})\nTooltipContent.displayName = \"TooltipContent\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\n\nimport { TooltipArrow } from \"./Arrow\"\nimport { TooltipContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Tooltip = {\n\tArrow: TooltipArrow,\n\tContent: TooltipContent,\n\tRoot: RadixTooltip.Root,\n\tTrigger: RadixTooltip.Trigger,\n\tProvider: RadixTooltip.Provider,\n}\n"],"names":["cva","createContext","useContext","useMemo","forwardRef","jsxs","RadixAlertDialog","jsx","cx","memo","useState","useCallback","open","RadixAvatar","RadixCheckbox","React","useLayoutEffect","useMediaQuery","useEffect","cleanups","RadixPrimitiveCollapsible","SelectContext","SelectedIndicatorContext","use","CommandItem","DialogPortal","DialogContent","CommandRoot","DialogTitle","DialogDescription","CommandEmpty","CommandGroup","CommandInput","useCommandState","CommandList","useId","value","DialogOverlay","Dialog","CommandSeparator","DialogTrigger","RiArrowUpSLine","RiArrowDownSLine","RiArrowLeftSLine","RiArrowRightSLine","ReactDayPicker","RadixDialog","HiX","RadixHoverCard","Root","inputRoot","useRef","SlideOut","CSSTransition","Fragment","Slot","useFloatingNodeId","useFloating","autoUpdate","offsetMiddleware","sizeMiddleware","flip","shift","hide","useRole","useDismiss","useClick","useListNavigation","useInteractions","FloatingTree","_a","FloatingNode","FloatingPortal","FloatingOverlay","FloatingFocusManager","FloatingList","offset","useHover","safePolygon","useListItem","mergeRefs","useMergeRefs","RadixSeparator","RiIcons","RiQuestionMark","useErrorBoundary","ErrorBoundary","RadixPopover","RadixRadioGroup","RadixToggleGroup","RadixSwitch","RadixTabs","Toast","RadixToast","unsafeShowToast","toast","RadixToastProvider","ToastViewport","Toggle","RadixTooltip"],"mappings":"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","x_google_ignoreList":[31,32,33]}