@overmap-ai/blocks 1.0.34-command-menu.0 → 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.js","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\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())} {...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":["size","open","React","useLayoutEffect","cleanups","SelectContext","SelectedIndicatorContext","DialogContent","value","DialogOverlay","Dialog","ReactDayPicker","inputRoot","Root","hide","SlideOut","offset","offsetMiddleware","sizeMiddleware","_a","mergeRefs","Toast","toast","RadixToastProvider"],"mappings":"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","x_google_ignoreList":[31,32,33]}
1
+ {"version":3,"file":"blocks.js","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":["size","open","React","useLayoutEffect","cleanups","SelectContext","SelectedIndicatorContext","DialogContent","value","DialogOverlay","Dialog","ReactDayPicker","inputRoot","Root","hide","SlideOut","offset","offsetMiddleware","sizeMiddleware","_a","mergeRefs","Toast","toast","RadixToastProvider"],"mappings":"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","x_google_ignoreList":[31,32,33]}