@overmap-ai/blocks 1.0.40-alpha.3 → 1.0.40-icon-fix.0

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.
Files changed (41) hide show
  1. package/dist/LuIcon/LuIcon.d.ts +4 -6
  2. package/dist/LuIcon/index.d.ts +1 -1
  3. package/dist/LuIcon/typings.d.ts +2 -2
  4. package/dist/MenuV2/CheckboxItem.d.ts +3 -3
  5. package/dist/MenuV2/CheckboxItemIndicator.d.ts +2 -2
  6. package/dist/MenuV2/Group.d.ts +2 -2
  7. package/dist/MenuV2/GroupLabel.d.ts +2 -2
  8. package/dist/MenuV2/Item.d.ts +2 -2
  9. package/dist/MenuV2/MultiSelectAllItem.d.ts +3 -3
  10. package/dist/MenuV2/MultiSelectGroup.d.ts +3 -3
  11. package/dist/MenuV2/MultiSelectItem.d.ts +3 -3
  12. package/dist/MenuV2/Page.d.ts +2 -2
  13. package/dist/MenuV2/PageTriggerItem.d.ts +3 -3
  14. package/dist/MenuV2/Pages.d.ts +2 -2
  15. package/dist/MenuV2/Root.d.ts +3 -3
  16. package/dist/MenuV2/SelectGroup.d.ts +3 -3
  17. package/dist/MenuV2/SelectItem.d.ts +3 -3
  18. package/dist/MenuV2/SelectedIndicator.d.ts +2 -2
  19. package/dist/MenuV2/Separator.d.ts +2 -2
  20. package/dist/MenuV2/context.d.ts +2 -2
  21. package/dist/MenuV2/index.d.ts +31 -14
  22. package/dist/MenuV2/typings.d.ts +5 -5
  23. package/dist/Overlay/Close.d.ts +5 -0
  24. package/dist/Overlay/Content.d.ts +6 -0
  25. package/dist/Overlay/Description.d.ts +5 -0
  26. package/dist/Overlay/Root.d.ts +5 -0
  27. package/dist/Overlay/Title.d.ts +5 -0
  28. package/dist/Overlay/Trigger.d.ts +5 -0
  29. package/dist/Overlay/cva.d.ts +1 -0
  30. package/dist/Overlay/index.d.ts +15 -0
  31. package/dist/Rating/Item.d.ts +6 -0
  32. package/dist/Rating/ItemIndicator.d.ts +5 -0
  33. package/dist/Rating/Root.d.ts +8 -0
  34. package/dist/Rating/context.d.ts +9 -0
  35. package/dist/Rating/index.d.ts +9 -0
  36. package/dist/blocks.js +255 -111
  37. package/dist/blocks.js.map +1 -1
  38. package/dist/blocks.umd.cjs +256 -112
  39. package/dist/blocks.umd.cjs.map +1 -1
  40. package/dist/index.d.ts +2 -0
  41. package/package.json +1 -1
@@ -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","../src/SelectContext/context.ts","../src/hooks.ts","../src/utils.ts","../src/SelectContext/MultiSelectProvider.tsx","../src/SelectContext/SingleSelectProvider.tsx","../src/CheckboxGroup/context.ts","../src/CheckboxGroup/Item.tsx","../src/CheckboxGroup/ItemIndicator.tsx","../src/CheckboxGroup/Root.tsx","../src/CheckboxGroup/SelectAllItem.tsx","../src/CheckboxGroup/index.ts","../src/CheckedIndicator/context.ts","../src/CheckedIndicator/CheckedIndicator.tsx","../src/CommandMenu/CheckboxIndicator.tsx","../src/CommandMenu/context.ts","../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/SelectedIndicator/context.ts","../src/SelectedIndicator/SelectedIndicator.tsx","../src/CommandMenu/SelectedIndicator.tsx","../src/CommandMenu/Separator.tsx","../src/CommandMenu/Trigger.tsx","../src/CommandMenu/index.ts","../src/LuIcon/LuIcon.tsx","../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/Menu/cva.ts","../src/Menu/menuContentContext.ts","../src/Menu/rootContext.ts","../src/Menu/subContentContext.ts","../src/Menu/Item.tsx","../src/Menu/CheckboxItem.tsx","../src/Menu/CheckboxItemIndicator.tsx","../src/Menu/ClickTrigger.tsx","../src/Menu/Content.tsx","../src/Menu/ContextTrigger.tsx","../src/Menu/Group.tsx","../src/Menu/InputField.tsx","../src/Menu/InputRoot.tsx","../src/Menu/InputSlot.tsx","../src/Menu/Label.tsx","../src/Menu/MultiSelectGroup.tsx","../src/Menu/MultiSelectItem.tsx","../src/Menu/menuPagesContext.ts","../src/Menu/PageContent.tsx","../src/Menu/Pages.tsx","../src/Menu/PageTrigger.tsx","../src/Menu/constants.ts","../src/Menu/Root.tsx","../src/Menu/Scroll.tsx","../src/Menu/SelectAllItem.tsx","../src/Menu/SelectedIndicator.tsx","../src/Menu/SelectGroup.tsx","../src/Menu/SelectItem.tsx","../src/Menu/Separator.tsx","../src/Menu/utils.ts","../src/Menu/Sub.tsx","../src/Menu/SubContent.tsx","../src/Menu/SubTrigger.tsx","../src/Menu/VirtualTrigger.tsx","../src/Menu/index.ts","../src/MenuV2/constants.ts","../src/MenuV2/context.ts","../src/MenuV2/cva.ts","../src/MenuV2/Item.tsx","../src/MenuV2/CheckboxItem.tsx","../src/MenuV2/CheckboxItemIndicator.tsx","../src/MenuV2/Group.tsx","../src/MenuV2/GroupLabel.tsx","../src/MenuV2/MultiSelectAllItem.tsx","../src/MenuV2/MultiSelectGroup.tsx","../src/MenuV2/MultiSelectItem.tsx","../src/MenuV2/Page.tsx","../src/MenuV2/Pages.tsx","../src/MenuV2/PageTriggerItem.tsx","../src/MenuV2/utils.ts","../src/MenuV2/Root.tsx","../src/MenuV2/SelectedIndicator.tsx","../src/MenuV2/SelectGroup.tsx","../src/MenuV2/SelectItem.tsx","../src/MenuV2/Separator.tsx","../src/MenuV2/index.ts","../src/OneTimePasswordField/HiddenInput.tsx","../src/OneTimePasswordField/context.ts","../src/OneTimePasswordField/cva.ts","../src/OneTimePasswordField/Input.tsx","../src/OneTimePasswordField/Root.tsx","../src/OneTimePasswordField/index.ts","../src/OvermapErrorBoundary/OvermapErrorBoundary.tsx","../src/Popover/Arrow.tsx","../src/Popover/cva.ts","../src/Popover/Content.tsx","../src/Popover/index.ts","../src/Progress/cva.ts","../src/Progress/Progress.tsx","../src/RadioCards/context.ts","../src/RadioCards/cva.ts","../src/RadioCards/Item.tsx","../src/RadioCards/Root.tsx","../src/RadioCards/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/SegmentedTabs/context.ts","../src/SegmentedTabs/cva.ts","../src/SegmentedTabs/List.tsx","../src/SegmentedTabs/Root.tsx","../src/SegmentedTabs/Trigger.tsx","../src/SegmentedTabs/index.ts","../src/Separator/cva.ts","../src/Separator/Separator.tsx","../src/Slider/cva.ts","../src/Slider/Slider.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/ToggleGroup/context.ts","../src/ToggleGroup/cva.ts","../src/ToggleGroup/BaseItem.tsx","../src/ToggleGroup/IconItem.tsx","../src/ToggleGroup/Item.tsx","../src/ToggleGroup/Root.tsx","../src/ToggleGroup/index.ts","../src/Tooltip/Arrow.tsx","../src/Tooltip/cva.ts","../src/Tooltip/Content.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import { cva } 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","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\nexport interface 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 { memo, type 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\n/**\n * Root provider component that supplies global theme configuration to all child components.\n * Sets default accent color and border radius for the entire component tree.\n *\n * @param {string} accentColor - Global accent color used by all components (required)\n * @param [radius=\"md\"] {ComponentRadius} - Global border radius setting\n */\nexport const Provider = memo((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})\nProvider.displayName = \"Provider\"\n","import { cva } from \"class-variance-authority\"\n\nexport const dialogOverlay = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\n\t// background\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\n\t// background and border\n\t\"duration-200\",\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\"h-max\",\n\t\t\"max-h-3/4\",\n\t\t\"overflow-hidden\",\n\t\t\"w-full\",\n\n\t\t// background and border\n\t\t\"shadow-md\",\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\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\n\t\t// positioning\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\n\t\t// animation\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { dialogContent, dialogOverlay } from \"./cva\"\nimport { type AlertDialogVariantProps } from \"./typings\"\n\nexport interface AlertDialogContentProps\n\textends ComponentPropsWithRef<typeof RadixAlertDialog.Content>,\n\t\tAlertDialogVariantProps {\n\tcontainer?: RadixAlertDialog.AlertDialogPortalProps[\"container\"]\n}\n\n/**\n * Content container for AlertDialog with overlay and portal rendering.\n * Displays critical messages requiring user acknowledgment.\n *\n * @param {AlertDialogSize} [size=\"md\"] - Dialog size\n * @param container {RadixAlertDialog.AlertDialogPortalProps[\"container\"]} - Portal container element\n */\nexport const AlertDialogContent = memo<AlertDialogContentProps>((props) => {\n\tconst { radius } = useProvider()\n\tconst { ref, children, 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(dialogContent({ size }), radiusCva({ radius, maxLarge: true }), className)}\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{children}\n\t\t\t</RadixAlertDialog.Content>\n\t\t</RadixAlertDialog.Portal>\n\t)\n})\nAlertDialogContent.displayName = \"AlertDialogContent\"\n","import { createContext } from \"react\"\n\nimport { type 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 { ButtonVariantProps } from \"../Buttons\"\n\nexport interface IButtonGroupContext extends Required<ButtonVariantProps> {}\n\nexport const ButtonGroupContext = createContext<IButtonGroupContext>({} as IButtonGroupContext)\n","import { type ComponentProps, memo, type PropsWithoutRef, useMemo } from \"react\"\n\nimport type { ButtonVariantProps } from \"../Buttons\"\nimport { useProvider } from \"../Provider\"\nimport { ButtonGroupContext } from \"./context\"\n\nexport interface ButtonGroupProps extends PropsWithoutRef<ComponentProps<\"div\">>, ButtonVariantProps {}\n\n/**\n * Container for grouping multiple buttons with shared styling.\n * Provides consistent variant, size, and theme to child buttons.\n *\n * @param [variant=\"solid\"] {ButtonVariant} - Button style variant\n * @param {ButtonSize} [size=\"md\"] - Button size\n * @param radius {ComponentRadius} - Border radius\n * @param accentColor {string} - Theme color\n */\nexport const ButtonGroup = memo<ButtonGroupProps>((props) => {\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\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\t\t\"whitespace-nowrap\",\n\t\t\"text-center\",\n\t\t\"align-top\",\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 { type ComponentPropsWithRef, memo } 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, ComponentPropsWithRef<\"button\"> {}\n\n/**\n * Primary button component for user interactions.\n * Supports multiple variants, sizes, and theme colors.\n *\n * @param [variant=\"solid\"] {ButtonVariant} - Button style variant\n * @param [size=\"md\"] {ButtonSize} - Button size\n * @param radius {ComponentRadius} - Border radius\n * @param accentColor {string} - Theme color\n */\nexport const Button = memo<ButtonProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst buttonsContext = useButtonGroup()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tvariant = buttonsContext.variant,\n\t\tsize = buttonsContext.size,\n\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(buttonCva({ size, icon: false, variant }), radiusCva({ radius, maxLarge: false }), className)}\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</button>\n\t)\n})\nButton.displayName = \"Button\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } 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 extends ButtonVariantProps, ComponentPropsWithRef<\"button\">, AccentColorProps {}\n\n/**\n * Square button optimized for icon-only content.\n * Maintains 1:1 aspect ratio for consistent icon display.\n *\n * @param [variant=\"solid\"] {ButtonVariant} - Button style variant\n * @param [size=\"md\"] {ButtonSize} - Button size\n * @param radius {ComponentRadius} - Border radius\n * @param accentColor {string} - Theme color\n */\nexport const IconButton = memo<IconButtonProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst buttonsContext = useButtonGroup()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tvariant = buttonsContext.variant,\n\t\tsize = buttonsContext.size,\n\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(buttonCva({ size, icon: true, variant }), radiusCva({ radius, maxLarge: false }), className)}\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</button>\n\t)\n})\n\nIconButton.displayName = \"IconButton\"\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { memo, type PropsWithChildren, useCallback, useState } from \"react\"\n\nimport { Button } from \"../Buttons\"\nimport { AlertDialogContent } from \"./Content\"\nimport { AlertDialogContext } from \"./context\"\nimport type { AlertDialogOptions } from \"./typings\"\n\n/**\n * Provider component for programmatic alert dialogs.\n * Manages alert dialog state and provides context for opening dialogs imperatively.\n */\nexport const AlertDialogProvider = memo<PropsWithChildren>((props) => {\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})\nAlertDialogProvider.displayName = \"AlertDialogProvider\"\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\", \"align-middle\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-6\", \"w-6\", \"text-xs\"],\n\t\t\tsm: [\"h-7\", \"w-7\", \"text-sm\"],\n\t\t\tmd: [\"h-8\", \"w-8\", \"text-base\"],\n\t\t\tlg: [\"h-9\", \"w-9\", \"text-lg\"],\n\t\t\txl: [\"h-10\", \"w-10\", \"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\", \"size-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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { AvatarContext } from \"./context\"\nimport { avatarFallback } from \"./cva\"\n\nexport interface AvatarFallbackProps extends ComponentPropsWithRef<typeof RadixAvatar.AvatarFallback> {}\n\n/**\n * Fallback content for Avatar when image fails to load.\n * Typically displays user initials or placeholder icon.\n */\nexport const AvatarFallback = memo<AvatarFallbackProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { variant } = useContext(AvatarContext)\n\n\treturn (\n\t\t<RadixAvatar.AvatarFallback className={cx(avatarFallback({ variant }), className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixAvatar.AvatarFallback>\n\t)\n})\nAvatarFallback.displayName = \"AvatarFallback\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface AvatarImageProps extends ComponentPropsWithRef<typeof RadixAvatar.Image> {}\n\n/**\n * Image component for Avatar.\n * Handles loading and display of user profile images.\n */\nexport const AvatarImage = memo<AvatarImageProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn (\n\t\t<RadixAvatar.Image\n\t\t\tclassName={cx(\"object-cover\", \"rounded-[inherit]\", \"w-full\", \"h-full\", className)}\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<typeof RadixAvatar.Root>, AvatarVariantProps {}\n\n/**\n * Root container for Avatar component.\n * Displays user profile images with fallback support.\n *\n * @param [size=\"md\"] {AvatarSize} - Avatar size\n * @param [variant=\"solid\"] {AvatarVariant} - Visual style\n * @param accentColor {string} - Theme color\n * @param radius {ComponentRadius} - Border radius\n */\nexport const AvatarRoot = memo<AvatarRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize,\n\t\tvariant = \"solid\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<RadixAvatar.Root\n\t\t\tclassName={cx(avatar({ size }), radiusCva({ radius, maxLarge: false }), className)}\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\", \"whitespace-nowrap\"], {\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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\tfill: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a3)\", \"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-6\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"px-3\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"w-7\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"px-3.5\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"w-8\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"px-4\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"w-9\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"px-4.5\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"w-10\",\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"span\">, BadgeVariantProps {}\n\n/**\n * Badge component for displaying status indicators, labels, or counts.\n * Supports multiple variants and sizes.\n *\n * @param [variant=\"solid\"] {BadgeVariant} - Visual style\n * @param [size=\"md\"] {BadgeSize} - Badge size\n * @param [icon=false] {boolean} - Whether badge contains only an icon\n * @param accentColor {string} - Theme color\n * @param {ComponentRadius} radius - Border radius\n */\nexport const Badge = memo<BadgeProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\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(badge({ variant, size, icon }), radiusCva({ radius, maxLarge: false }), className)}\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-a2)\"],\n\t\t\tsurface: [\"bg-(--accent-a2)\", \"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\"],\n\t\t\tsm: [\"p-3\"],\n\t\t\tmd: [\"p-4\"],\n\t\t\tlg: [\"p-5\"],\n\t\t\txl: [\"p-6\"],\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"div\">, CardVariantProps {}\n\n/**\n * Container component for grouped content with visual separation.\n * Provides elevated or outlined appearance for content sections.\n *\n * @param {CardSize} [size=\"md\"] - Card padding size\n * @param [variant=\"surface\"] {CardVariant} - Visual style\n * @param accentColor {string} - Theme color\n * @param radius {ComponentRadius} - Border radius\n */\nexport const Card = memo<CardProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(cardCva({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nCard.displayName = \"Card\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface CheckboxIndicatorProps extends ComponentPropsWithRef<typeof RadixCheckbox.CheckboxIndicator> {}\n\n/**\n * The visual indicator that appears inside a checkbox when it's checked.\n * Automatically handles checked/indeterminate state display.\n */\nexport const CheckboxIndicator = memo<CheckboxIndicatorProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixCheckbox.CheckboxIndicator\n\t\t\tclassName={cx(\"flex items-center justify-center\", className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixCheckbox.CheckboxIndicator>\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\t\t\"align-top\",\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: [\"size-4\", \"text-xs\"],\n\t\t\t\tsm: [\"size-5\", \"text-sm\"],\n\t\t\t\tmd: [\"size-6\", \"text-base\"],\n\t\t\t\tlg: [\"size-7\", \"text-lg\"],\n\t\t\t\txl: [\"size-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 { type ComponentPropsWithRef, memo } 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, ComponentPropsWithRef<typeof RadixCheckbox.Root> {}\n\n/**\n * A customizable checkbox component that supports various styles and sizes.\n * Built on top of Radix UI Checkbox primitive with enhanced styling options.\n *\n * @param [variant=\"surface\"] {CheckboxVariant} - Visual style variant\n * @param [size=\"md\"] {CheckboxSize} - Size of the checkbox\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const CheckboxRoot = memo<CheckboxRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\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</RadixCheckbox.Root>\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 { createContext } from \"react\"\n\nexport interface ISelectContext<TValue> {\n\tselectValue: (value: TValue) => void\n\tselected: (value: TValue) => boolean\n}\n\nexport const SelectContext = createContext({} as ISelectContext<never>)\n\nexport interface IMultiSelectContext<TValue> {\n\tselectValue: (value: TValue) => void\n\tselected: (value: TValue) => boolean\n\tregisterValue: (value: TValue) => () => void\n\tallSelected: boolean\n\tsomeSelected: boolean\n\ttoggleSelectAll: () => void\n}\n\nexport const MultiSelectContext = createContext({} as IMultiSelectContext<never>)\n","import { type Dispatch, type SetStateAction, useCallback, useEffect, useId, useLayoutEffect, useState } from \"react\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport type { ViewportSizes } from \"./typings\"\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 = (\n\tprops: useViewportSizeProps,\n): Record<Exclude<ViewportSizes, \"initial\">, boolean> & {\n\tprevSize: ViewportSizes\n\tsize: ViewportSizes\n} => {\n\tconst { xs: xsProps, sm: smProps, md: mdProps, lg: lgProps, xl: xlProps } = props\n\tconst [prevSize, setPrevSize] = useState<ViewportSizes>(\"initial\")\n\tconst [size, setSize] = useState<ViewportSizes>(\"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/** 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 items items that should be filtered on (of type T) */\nexport function useTextFilter<TItem>(\n\titems: TItem[],\n\tfilterFunction: (value: TItem, filterValue: string) => boolean,\n): [TItem[], string, Dispatch<SetStateAction<string>>] {\n\tconst [filteredOptions, setFilteredOptions] = useState<TItem[]>([])\n\tconst [filterValue, setFilterValue] = useState<string>(\"\")\n\n\tuseEffect(() => {\n\t\tsetFilteredOptions(items.filter((value) => filterFunction(value, filterValue)))\n\t}, [filterFunction, filterValue, items])\n\n\treturn [filteredOptions, filterValue, setFilterValue]\n}\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\t// allow for uncontrolled state to be set\n\tconst handleStateChange = useCallback(\n\t\t(state: TState) => {\n\t\t\tsetUncontrolledState(state)\n\t\t\tsetState?.(state)\n\t\t},\n\t\t[setState],\n\t)\n\n\t// keep the uncontrolled state in sync with the controlled state\n\tuseEffect(() => {\n\t\tif (state !== undefined) {\n\t\t\tsetUncontrolledState(state)\n\t\t}\n\t}, [state])\n\n\treturn [state ?? uncontrolledState, handleStateChange]\n}\n\nexport function useFallbackId(id?: string) {\n\tconst fallbackId = useId()\n\treturn id ?? fallbackId\n}\n","import type * as React from \"react\"\nimport { memo, type RefCallback, type SyntheticEvent } from \"react\"\n\nimport type { CheckedState } from \"./CheckedIndicator\"\n\nexport const genericMemo: <T>(component: T) => T = memo\n\nexport function mergeRefs<T>(refs: Array<React.Ref<T> | undefined>): React.RefCallback<T> {\n\treturn (value) => {\n\t\tconst cleanups = refs.reduce(\n\t\t\t(cleanups, ref) => {\n\t\t\t\tif (typeof ref === \"function\") {\n\t\t\t\t\tconst cleanup = ref(value)\n\t\t\t\t\tif (typeof cleanup === \"function\") {\n\t\t\t\t\t\tcleanups.push(cleanup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// simulate previous ref cleanup behavior\n\t\t\t\t\t\tcleanups.push(() => {\n\t\t\t\t\t\t\tref(null)\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} else if (ref != null) {\n\t\t\t\t\tref.current = value\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.current = null\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn cleanups\n\t\t\t},\n\t\t\t[] as Exclude<ReturnType<RefCallback<T>>, void>[],\n\t\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\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\nexport function getBooleanState(value: boolean) {\n\treturn value ? \"true\" : \"false\"\n}\n\nexport function getOpenState(open: boolean) {\n\treturn open ? \"open\" : \"closed\"\n}\n","import { type PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { genericMemo } from \"../utils\"\nimport { MultiSelectContext } from \"./context\"\nimport type { MultiSelectProps } from \"./typings\"\n\nexport const MultiSelectProvider = genericMemo(function MultiSelectProvider<TValue>(\n\tprops: PropsWithChildren<MultiSelectProps<TValue>>,\n) {\n\tconst { children, defaultValues, values: controlledValues, onValuesChange } = props\n\n\tconst [itemValueMapping, setItemValueMapping] = useState<Set<TValue>>(new Set())\n\tconst [values, setValues] = useControlledState(defaultValues ?? [], controlledValues, onValuesChange)\n\n\tconst registerValue = useCallback((value: TValue) => {\n\t\tsetItemValueMapping((prev) => {\n\t\t\tconst newSet = new Set(prev)\n\t\t\tnewSet.add(value)\n\t\t\treturn newSet\n\t\t})\n\n\t\treturn () => {\n\t\t\tsetItemValueMapping((prev) => {\n\t\t\t\tconst newSet = new Set(prev)\n\t\t\t\tnewSet.delete(value)\n\t\t\t\treturn newSet\n\t\t\t})\n\t\t}\n\t}, [])\n\n\tconst selected = useCallback((value: TValue) => values.includes(value), [values])\n\n\tconst selectValue = useCallback(\n\t\t(value: TValue) => {\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 allSelected = useMemo(() => {\n\t\treturn Array.from(itemValueMapping.values()).every((value) => values.includes(value))\n\t}, [itemValueMapping, values])\n\n\tconst someSelected = useMemo(() => {\n\t\treturn Array.from(itemValueMapping.values()).some((value) => values.includes(value))\n\t}, [itemValueMapping, values])\n\n\tconst toggleSelectAll = useCallback(() => {\n\t\tif (allSelected) {\n\t\t\tsetValues([])\n\t\t} else {\n\t\t\tsetValues(Array.from(itemValueMapping.values()))\n\t\t}\n\t}, [allSelected, itemValueMapping, setValues])\n\n\tconst contextValue = useMemo(\n\t\t() => ({ selected, selectValue, allSelected, someSelected, toggleSelectAll, registerValue }),\n\t\t[allSelected, registerValue, selectValue, selected, someSelected, toggleSelectAll],\n\t)\n\n\treturn <MultiSelectContext value={contextValue}>{children}</MultiSelectContext>\n})\n","import { type PropsWithChildren, useCallback, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { genericMemo } from \"../utils\"\nimport { SelectContext } from \"./context\"\nimport type { SingleSelectNotRequiredProps, SingleSelectRequiredProps } from \"./typings\"\n\nexport const SingleSelectRequiredProvider = genericMemo(function SingleSelectRequiredProvider<TValue>(\n\tprops: PropsWithChildren<SingleSelectRequiredProps<TValue>>,\n) {\n\tconst { children, defaultValue, value, onValueChange } = props\n\n\t// REASON: we are expecting the user to specify a defaultValue or value, otherwise use of component is invalid\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-expect-error\n\tconst [controlledValue, setControlledValue] = useControlledState<TValue>(defaultValue, value, onValueChange)\n\n\tconst selected = useCallback((v: TValue) => v === controlledValue, [controlledValue])\n\n\tconst selectValue = useCallback(\n\t\t(v: TValue) => {\n\t\t\tif (selected(v)) return\n\t\t\tsetControlledValue(v)\n\t\t},\n\t\t[selected, setControlledValue],\n\t)\n\n\tconst contextValue = useMemo(() => ({ selected, selectValue }), [selectValue, selected])\n\n\treturn <SelectContext value={contextValue}>{children}</SelectContext>\n})\n\nexport const SingleSelectNotRequiredProvider = genericMemo(function SingleSelectNotRequiredProvider<TValue>(\n\tprops: PropsWithChildren<SingleSelectNotRequiredProps<TValue>>,\n) {\n\tconst { children, defaultValue = undefined, value: controlledValue, onValueChange } = props\n\n\tconst [value, setValue] = useControlledState(defaultValue, controlledValue, onValueChange)\n\n\tconst selected = useCallback((v: TValue) => v === value, [value])\n\n\tconst selectValue = useCallback(\n\t\t(v: TValue) => {\n\t\t\tsetValue(selected(v) ? undefined : v)\n\t\t},\n\t\t[selected, setValue],\n\t)\n\n\tconst contextValue = useMemo(() => ({ selected, selectValue }), [selected, selectValue])\n\n\treturn <SelectContext value={contextValue}>{children}</SelectContext>\n})\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { type ComponentProps, createContext } from \"react\"\n\nimport { type CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface ICheckboxGroupContext extends Required<CheckboxGroupVariantProps> {\n\tname?: string\n\trequired?: ComponentProps<typeof RadixCheckbox.Root>[\"required\"]\n\tdisabled?: ComponentProps<typeof RadixCheckbox.Root>[\"disabled\"]\n}\n\nexport const CheckboxGroupContext = createContext({} as ICheckboxGroupContext)\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use, useCallback, useLayoutEffect } from \"react\"\n\nimport { checkbox } from \"../Checkbox/cva\"\nimport { radiusCva } from \"../cva\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { CheckboxGroupContext } from \"./context\"\nimport type { CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface CheckboxGroupItemProps\n\textends Omit<\n\t\t\tComponentPropsWithRef<typeof RadixCheckbox.Root>,\n\t\t\t\"checked\" | \"defaultChecked\" | \"onCheckedChange\" | \"name\"\n\t\t>,\n\t\tCheckboxGroupVariantProps {\n\tvalue: string\n}\n\n/**\n * An individual checkbox item within a CheckboxGroup.\n * Inherits styling and behavior from its parent CheckboxGroupRoot.\n *\n * @param value - Unique identifier for this checkbox item (required)\n * @param variant - Visual style variant override (default: inherited from group)\n * @param size - Size override (default: inherited from group)\n * @param radius - Border radius override (default: inherited from group)\n * @param disabled - Whether this specific item is disabled\n */\nexport const CheckboxGroupItem = memo<CheckboxGroupItemProps>((props) => {\n\tconst groupContext = use(CheckboxGroupContext)\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\tvalue,\n\t\tdisabled,\n\t\taccentColor = groupContext.accentColor,\n\t\tvariant = groupContext.variant,\n\t\tsize = groupContext.size,\n\t\tradius = groupContext.radius,\n\t\t...rest\n\t} = props\n\tconst { selected, selectValue, registerValue } = use(MultiSelectContext) as IMultiSelectContext<string> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst isChecked = selected(value)\n\tconst isDisabled = groupContext.disabled || disabled\n\n\tconst handleCheckedChange = useCallback(() => {\n\t\tselectValue(value)\n\t}, [selectValue, value])\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tname={groupContext.name}\n\t\t\trequired={groupContext.required}\n\t\t\tdisabled={isDisabled}\n\t\t\tvalue={value}\n\t\t\tchecked={isChecked}\n\t\t\tonCheckedChange={handleCheckedChange}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxGroupItem.displayName = \"CheckboxGroupItem\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface CheckboxGroupItemIndicatorProps extends ComponentPropsWithRef<typeof RadixCheckbox.Indicator> {}\n\nexport const CheckboxGroupItemIndicator = memo<CheckboxGroupItemIndicatorProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixCheckbox.Indicator className={cx(\"flex items-center justify-center\", className)} ref={ref} {...rest} />\n})\nCheckboxGroupItemIndicator.displayName = \"CheckboxGroupItemIndicator\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { type ComponentProps, type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { MultiSelectProvider } from \"../SelectContext\"\nimport type { MultiSelectProps } from \"../SelectContext/typings\"\nimport { getBooleanState } from \"../utils\"\nimport { CheckboxGroupContext } from \"./context\"\nimport type { CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface CheckboxGroupRootProps\n\textends MultiSelectProps<string>,\n\t\tComponentPropsWithRef<\"div\">,\n\t\tCheckboxGroupVariantProps {\n\tname?: string\n\trequired?: ComponentProps<typeof RadixCheckbox.Root>[\"required\"]\n\tdisabled?: ComponentProps<typeof RadixCheckbox.Root>[\"disabled\"]\n}\n\n/**\n * A container component that manages a group of related checkboxes with shared state.\n * Provides multi-select functionality and consistent styling across all checkbox items.\n *\n * @param variant - Visual style variant applied to child checkboxes (default: \"surface\")\n * @param size - Size applied to child checkboxes (default: \"md\")\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color override (default: provider value)\n * @param name - Form name for all checkboxes in the group\n * @param required - Whether any checkbox in the group is required\n * @param disabled - Whether all checkboxes in the group are disabled\n */\nexport const CheckboxGroupRoot = memo<CheckboxGroupRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tdefaultValues,\n\t\tvalues,\n\t\tonValuesChange,\n\t\tchildren,\n\t\tname,\n\t\trequired,\n\t\tdisabled,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tname,\n\t\t\trequired,\n\t\t\tdisabled,\n\t\t\t// style props\n\t\t\taccentColor,\n\t\t\tsize,\n\t\t\tvariant,\n\t\t\tradius,\n\t\t}),\n\t\t[accentColor, disabled, name, radius, required, size, variant],\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\trole=\"group\"\n\t\t\tdata-disabled={getBooleanState(!!disabled)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\taria-disabled={getBooleanState(!!disabled)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<CheckboxGroupContext.Provider value={contextValue}>\n\t\t\t\t<MultiSelectProvider<string>\n\t\t\t\t\tdefaultValues={defaultValues}\n\t\t\t\t\tvalues={values}\n\t\t\t\t\tonValuesChange={onValuesChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</MultiSelectProvider>\n\t\t\t</CheckboxGroupContext.Provider>\n\t\t</div>\n\t)\n})\nCheckboxGroupRoot.displayName = \"CheckboxGroupRoot\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { checkbox } from \"../Checkbox/cva\"\nimport { radiusCva } from \"../cva\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { CheckboxGroupContext } from \"./context\"\nimport type { CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface CheckboxGroupSelectAllItemProps\n\textends Omit<\n\t\t\tComponentPropsWithRef<typeof RadixCheckbox.Root>,\n\t\t\t\"checked\" | \"defaultChecked\" | \"onCheckedChange\" | \"name\"\n\t\t>,\n\t\tCheckboxGroupVariantProps {}\n\n/**\n * A special checkbox that controls the selection state of all items in a CheckboxGroup.\n * Shows checked when all items are selected, indeterminate when some are selected, and unchecked when none are selected.\n *\n * @param variant - Visual style variant override (default: inherited from group)\n * @param size - Size override (default: inherited from group)\n * @param radius - Border radius override (default: inherited from group)\n * @param disabled - Whether this select all item is disabled\n */\nexport const CheckboxGroupSelectAllItem = memo<CheckboxGroupSelectAllItemProps>((props) => {\n\tconst groupContext = use(CheckboxGroupContext)\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\tdisabled,\n\t\taccentColor = groupContext.accentColor,\n\t\tvariant = groupContext.variant,\n\t\tsize = groupContext.size,\n\t\tradius = groupContext.radius,\n\t\t...rest\n\t} = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<string> // safe cast\n\n\tconst checked = allSelected ? true : someSelected ? \"indeterminate\" : false\n\tconst isDisabled = groupContext.disabled || disabled\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tname={groupContext.name}\n\t\t\trequired={groupContext.required}\n\t\t\tdisabled={isDisabled}\n\t\t\tchecked={checked}\n\t\t\tonCheckedChange={toggleSelectAll}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxGroupSelectAllItem.displayName = \"CheckboxGroupSelectAllItem\"\n","import { CheckboxGroupItem } from \"./Item\"\nimport { CheckboxGroupItemIndicator } from \"./ItemIndicator\"\nimport { CheckboxGroupRoot } from \"./Root\"\nimport { CheckboxGroupSelectAllItem } from \"./SelectAllItem\"\n\nexport * from \"./Item\"\nexport * from \"./ItemIndicator\"\nexport * from \"./Root\"\nexport * from \"./SelectAllItem\"\nexport * from \"./typings\"\n\nexport const CheckboxGroup = {\n\tRoot: CheckboxGroupRoot,\n\tItem: CheckboxGroupItem,\n\tSelectAllItem: CheckboxGroupSelectAllItem,\n\tItemIndicator: CheckboxGroupItemIndicator,\n}\n","import { createContext } from \"react\"\n\nimport type { CheckedState } from \"./typings\"\n\nexport const CheckedIndicatorContext = createContext({} as CheckedState)\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, type PropsWithChildren, useContext } from \"react\"\n\nimport { getCheckedState } from \"../utils\"\nimport { CheckedIndicatorContext } from \"./context\"\nimport type { CheckedState } from \"./typings\"\n\nexport interface CheckedIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\tchildren: PropsWithChildren[\"children\"] | ((indeterminate: CheckedState) => PropsWithChildren[\"children\"])\n}\n\nexport const CheckedIndicator = memo<CheckedIndicatorProps>((props) => {\n\tconst { children, ref, className, ...rest } = props\n\n\tconst checked = useContext(CheckedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(checked) : children\n\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\t\"flex size-max items-center\",\n\t\t\t\t{\n\t\t\t\t\tinvisible: checked === false,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-state={getCheckedState(checked)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n})\nCheckedIndicator.displayName = \"CheckedIndicator\"\n","import { memo } from \"react\"\n\nimport { CheckedIndicator, type CheckedIndicatorProps } from \"../CheckedIndicator\"\n\nexport interface CommandMenuCheckboxIndicatorProps extends CheckedIndicatorProps {}\n\nexport const CommandMenuCheckboxIndicator = memo((props: CommandMenuCheckboxIndicatorProps) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<CheckedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</CheckedIndicator>\n\t)\n})\nCommandMenuCheckboxIndicator.displayName = \"CommandMenuCheckboxIndicator\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { CheckedState, CommandMenuSize, CommandMenuVariant, CommandMenuVariantProps } from \"./typings\"\n\nexport interface ICommandMenuContext extends Required<CommandMenuVariantProps> {\n\tsize: CommandMenuSize\n\tvariant: CommandMenuVariant\n\tradius: ComponentRadius\n}\n\nexport const CommandMenuContext = createContext<ICommandMenuContext>({} as ICommandMenuContext)\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 { cva } from \"class-variance-authority\"\n\nexport const commandMenuContentCva = cva(\n\t[\n\t\t\"ring\",\n\t\t\"ring-(--base-6)\",\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: [\"py-2.5\", \"gap-3.5\", \"px-5.25\", \"after:inset-x-1.75\"],\n\t\t\t\tsm: [\"py-2.5\", \"gap-4\", \"px-6\", \"after:inset-x-2\"],\n\t\t\t\tmd: [\"py-3\", \"gap-4.5\", \"px-6.75\", \"after:inset-x-2.25\"],\n\t\t\t\tlg: [\"py-3\", \"gap-5\", \"px-7.5\", \"after:inset-x-2.5\"],\n\t\t\t\txl: [\"py-3.25\", \"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]]:py-1\",\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]]:py-1\",\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]]:py-1.25\",\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]]:py-1.25\",\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]]:py-1.25\",\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 { type ComponentPropsWithRef, memo, use, useCallback } from \"react\"\n\nimport { CommandMenuContext, CommandMenuDialogContext } from \"./context\"\nimport { commandMenuItemCva } from \"./cva\"\n\nexport interface CommandMenuItemProps extends Omit<ComponentPropsWithRef<typeof CommandItem>, \"value\" | \"onSelect\"> {\n\tcloseOnSelect?: boolean\n\tfilterValue?: string\n\tonSelect?: () => void\n}\n\nexport const CommandMenuItem = memo<CommandMenuItemProps>((props) => {\n\tconst { className, ref, closeOnSelect = true, onSelect, filterValue, ...rest } = props\n\n\tconst { size, variant, radius } = use(CommandMenuContext)\n\tconst { setOpen } = use(CommandMenuDialogContext)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tif (closeOnSelect) {\n\t\t\tsetOpen(false)\n\t\t}\n\t}, [closeOnSelect, onSelect, setOpen])\n\n\treturn (\n\t\t<CommandItem\n\t\t\tclassName={cx(commandMenuItemCva({ size, variant, radius }), className)}\n\t\t\tref={ref}\n\t\t\tonSelect={handleSelect}\n\t\t\tvalue={filterValue}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCommandMenuItem.displayName = \"CommandMenuItem\"\n","import { memo, useCallback } from \"react\"\n\nimport { getCheckedState } from \"../utils\"\nimport { CheckboxIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\n\nexport interface CommandMenuCheckboxItemProps extends CommandMenuItemProps {\n\tchecked: CheckedState\n\tonCheckedChange: (checked: boolean) => void\n}\n\nexport const CommandMenuCheckboxItem = memo((props: CommandMenuCheckboxItemProps) => {\n\tconst { children, ref, checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\tonCheckedChange(checked !== true)\n\t}, [checked, onCheckedChange, onSelect])\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})\nCommandMenuCheckboxItem.displayName = \"CommandMenuCheckboxItem\"\n","import {\n\tDialogContent,\n\ttype DialogContentProps,\n\tDialogDescription,\n\tDialogPortal,\n\ttype DialogPortalProps,\n\tDialogTitle,\n} from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { CommandRoot } from \"cmdk\"\nimport { type 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\taccentColor,\n\t\t}\n\t}, [accentColor, 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(commandMenuContentCva({ size }), radiusCva({ radius, maxLarge: true }), className)}\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 { type 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(commandMenuEmptyCva({ size }), className)} ref={ref} {...rest} />\n})\nCommandMenuEmpty.displayName = \"CommandMenuEmpty\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandGroup } from \"cmdk\"\nimport { type 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(commandMenuGroupCva({ size }), className)} ref={ref} {...rest} />\n})\nCommandMenuGroup.displayName = \"CommandMenuGroup\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandInput } from \"cmdk\"\nimport { type 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(commandMenuInputCva({ size }), className)} ref={ref} {...rest} />\n})\nCommandMenuInput.displayName = \"CommandMenuInput\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandList, useCommandState } from \"cmdk\"\nimport { type 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(commandMenuListCva({ size }), className)}\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 { MultiSelectProvider } from \"../SelectContext\"\nimport type { MultiSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { CommandMenuGroup, type CommandMenuGroupProps } from \"./Group\"\n\nexport interface CommandMenuMultiSelectGroupProps<TValue> extends CommandMenuGroupProps, MultiSelectProps<TValue> {}\n\nexport const CommandMenuMultiSelectGroup = genericMemo(function CommandMenuMultiSelectGroup<TValue>(\n\tprops: CommandMenuMultiSelectGroupProps<TValue>,\n) {\n\tconst { children, ref, defaultValues, values, onValuesChange, ...rest } = props\n\n\treturn (\n\t\t<MultiSelectProvider<TValue> values={values} onValuesChange={onValuesChange} defaultValues={defaultValues}>\n\t\t\t<CommandMenuGroup ref={ref} aria-multiselectable {...rest}>\n\t\t\t\t{children}\n\t\t\t</CommandMenuGroup>\n\t\t</MultiSelectProvider>\n\t)\n})\n","import { use, useCallback, useLayoutEffect } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\n\nexport interface CommandMenuMultiSelectItemProps<TValue> extends CommandMenuItemProps {\n\tvalue: TValue\n}\n\nexport const CommandMenuMultiSelectItem = genericMemo(function <TValue>(\n\tprops: CommandMenuMultiSelectItemProps<TValue>,\n) {\n\tconst { children, ref, value, onSelect, closeOnSelect = false, ...rest } = props\n\n\tconst {\n\t\tselected,\n\t\tselectValue: handleSelectValue,\n\t\tregisterValue,\n\t} = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\thandleSelectValue(value)\n\t}, [handleSelectValue, onSelect, value])\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\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(commandMenuOverlayCva(), className)} data-floating-content=\"\" {...rest} />\n\t\t</DialogPortal>\n\t)\n})\nCommandMenuOverlay.displayName = \"CommandMenuOverlay\"\n","import { type ComponentPropsWithRef, memo, use, useMemo } from \"react\"\n\nimport { getActiveState } from \"../utils\"\nimport { CommandMenuPageContext } from \"./context\"\n\nexport interface CommandMenuPageProps extends ComponentPropsWithRef<\"div\"> {\n\tpage: string\n}\n\nexport const CommandMenuPage = memo((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})\nCommandMenuPage.displayName = \"CommandMenuPage\"\n","import { memo, type PropsWithChildren } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\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 = memo((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})\nCommandMenuPages.displayName = \"CommandMenuPages\"\n","import { memo, use, useCallback, useMemo } from \"react\"\n\nimport { getActiveState } from \"../utils\"\nimport { CommandMenuPageContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\n\nexport interface CommandMenuPageTriggerItemProps extends CommandMenuItemProps {\n\tpage: string\n}\n\nexport const CommandMenuPageTriggerItem = memo((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\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\tsetPage(page)\n\t}, [onSelect, page, setPage])\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})\nCommandMenuPageTriggerItem.displayName = \"CommandMenuPageTriggerItem\"\n","import { SingleSelectNotRequiredProvider, SingleSelectRequiredProvider } from \"../SelectContext\"\nimport { type SingleSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { CommandMenuGroup, type CommandMenuGroupProps } from \"./Group\"\n\nexport type CommandMenuRadioGroupProps<TValue> = SingleSelectProps<TValue> &\n\tOmit<CommandMenuGroupProps, \"defaultValue\" | \"value\">\n\nexport const CommandMenuRadioGroup = genericMemo(function CommandMenuRadioGroup<TValue>(\n\tprops: CommandMenuRadioGroupProps<TValue>,\n) {\n\tconst { children, ref, required, defaultValue, value, onValueChange, ...rest } = props\n\n\treturn (\n\t\t<CommandMenuGroup ref={ref} role=\"radiogroup\" {...rest}>\n\t\t\t{required ? (\n\t\t\t\t<SingleSelectRequiredProvider<TValue>\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectRequiredProvider>\n\t\t\t) : (\n\t\t\t\t<SingleSelectNotRequiredProvider<TValue>\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectNotRequiredProvider>\n\t\t\t)}\n\t\t</CommandMenuGroup>\n\t)\n})\n","import { use, useCallback } from \"react\"\n\nimport { type ISelectContext, SelectContext } from \"../SelectContext\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\n\nexport interface CommandMenuRadioItemProps<TValue> extends CommandMenuItemProps {\n\tvalue: TValue\n}\n\nexport const CommandMenuRadioItem = genericMemo(function <TValue>(props: CommandMenuRadioItemProps<TValue>) {\n\tconst { children, ref, value, onSelect, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext) as ISelectContext<TValue> // safe cast\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\tselectValue(value)\n\t}, [onSelect, selectValue, value])\n\n\tconst isSelected = selected(value)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isSelected}>\n\t\t\t<CommandMenuItem ref={ref} onSelect={handleSelect} data-state={getSelectedState(isSelected)} {...rest}>\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 * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { memo, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { CommandMenuDialogContext } from \"./context\"\n\nexport interface CommandMenuRootProps extends DialogProps {}\n\nexport const CommandMenuRoot = memo<CommandMenuRootProps>((props) => {\n\tconst { children, defaultOpen, open: controlledOpen, onOpenChange, modal } = 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<RadixDialog.Root defaultOpen={defaultOpen} open={open} onOpenChange={setOpen} modal={modal}>\n\t\t\t<CommandMenuDialogContext value={contextValue}>{children}</CommandMenuDialogContext>\n\t\t</RadixDialog.Root>\n\t)\n})\nCommandMenuRoot.displayName = \"CommandMenuRoot\"\n","import { use, useCallback } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getCheckedState } from \"../utils\"\nimport { CheckboxIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\n\nexport interface CommandMenuSelectAllItemProps extends CommandMenuItemProps {}\n\nexport const CommandMenuSelectAllItem = genericMemo(function <TValue>(props: CommandMenuSelectAllItemProps) {\n\tconst { ref, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\ttoggleSelectAll()\n\t}, [onSelect, toggleSelectAll])\n\n\tconst selectedState: CheckedState = allSelected ? true : someSelected ? \"indeterminate\" : false\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 { createContext } from \"react\"\n\nexport const SelectedIndicatorContext = createContext<boolean>(false)\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, type PropsWithChildren, use } from \"react\"\n\nimport { getSelectedState } from \"../utils\"\nimport { SelectedIndicatorContext } from \"./context\"\n\nexport interface SelectedIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\tchildren: PropsWithChildren[\"children\"] | ((selected: boolean) => PropsWithChildren[\"children\"])\n}\n\nexport const SelectedIndicator = memo<SelectedIndicatorProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\tconst isSelected = use(SelectedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(isSelected) : children\n\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\t\"flex size-max items-center\",\n\n\t\t\t\t{\n\t\t\t\t\tinvisible: !isSelected,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n})\nSelectedIndicator.displayName = \"SelectedIndicator\"\n","import { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { SelectedIndicator } from \"../SelectedIndicator\"\n\nexport interface CommandMenuSelectedIndicatorProps extends ComponentPropsWithRef<\"span\"> {}\n\nexport const CommandMenuSelectedIndicator = memo((props: CommandMenuSelectedIndicatorProps) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<SelectedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</SelectedIndicator>\n\t)\n})\nCommandMenuSelectedIndicator.displayName = \"CommandMenuSelectedIndicator\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandSeparator } from \"cmdk\"\nimport { type 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(commandMenuSeparatorCva({ size, spacing }), className)} {...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 { cx } from \"class-variance-authority\"\nimport { DynamicIcon } from \"lucide-react/dynamic\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport type { IconType } from \"./typings\"\n\ninterface LuIconProps extends Omit<ComponentPropsWithRef<typeof DynamicIcon>, \"name\"> {\n\ticon: IconType\n}\n\n// NOTE: this should be moved to /web once any tsx have been removed from /core\n\nexport const LuIcon = memo<LuIconProps>((props) => {\n\tconst { ref, icon, className, size = \"1em\", ...rest } = props\n\n\treturn <DynamicIcon ref={ref} className={cx(\"shrink-0\", className)} size={size} name={icon} {...rest} />\n})\nLuIcon.displayName = \"LuIcon\"\n","import type { ChevronProps } from \"react-day-picker\"\n\nimport { LuIcon } from \"../LuIcon\"\n\nexport const Chevron = (props: ChevronProps) => {\n\tconst { orientation, ...rest } = props\n\n\tswitch (orientation) {\n\t\tcase \"up\":\n\t\t\treturn <LuIcon icon=\"chevron-up\" {...rest} />\n\t\tcase \"down\":\n\t\t\treturn <LuIcon icon=\"chevron-down\" {...rest} />\n\t\tcase \"left\":\n\t\t\treturn <LuIcon icon=\"chevron-left\" {...rest} />\n\t\tdefault:\n\t\t\treturn <LuIcon icon=\"chevron-right\" {...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-6\"],\n\t\t\t\tsm: [\"size-7\"],\n\t\t\t\tmd: [\"size-8\"],\n\t\t\t\tlg: [\"size-9\"],\n\t\t\t\txl: [\"size-10\"],\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-6\"],\n\t\t\t\tsm: [\"size-7\"],\n\t\t\t\tmd: [\"size-8\"],\n\t\t\t\tlg: [\"size-9\"],\n\t\t\t\txl: [\"size-10\"],\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-6\"],\n\t\t\tsm: [\"size-7\"],\n\t\t\tmd: [\"size-8\"],\n\t\t\tlg: [\"size-9\"],\n\t\t\txl: [\"size-10\"],\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 { type ComponentProps, memo, 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 type { DayPickerVariantProps } from \"./typings\"\n\nexport type DayPickerProps = ComponentProps<typeof ReactDayPicker> & DayPickerVariantProps\n\n/**\n * Date picker component built on react-day-picker with consistent styling.\n * Supports single/multiple date selection, date ranges, and custom styling variants.\n *\n * @param accentColor {string} - Accent color override\n * @param {DayPickerSize} [size=\"md\"] - Size variant affecting button and text sizes\n * @param [variant=\"soft\"] {DayPickerVariant} - Visual style variant\n * @param radius {ComponentRadius} - Border radius override\n * @param [showOutsideDays=true] {boolean} - Whether to show days from adjacent months\n */\nexport const DayPicker = memo((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})\nDayPicker.displayName = \"DayPicker\"\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 { type ComponentPropsWithRef, memo, type ReactNode, useMemo } from \"react\"\n\nimport type { AlertDialogSize } from \"../AlertDialog\"\nimport { dialogContent } from \"../AlertDialog/cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { useCloseDialog } from \"./hooks\"\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport interface DialogContentProps extends Omit<ComponentPropsWithRef<typeof RadixDialog.Content>, \"children\"> {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n\tsize?: AlertDialogSize\n\tchildren: ReactNode | ((close: CloseDialogWithOptions) => ReactNode)\n}\n\n/**\n * The main content area of a dialog with customizable size and styling.\n * Content can be static or a function that receives the close handler for interactive content.\n *\n * @param size - Size variant affecting padding and max-width (default: \"md\")\n * @param container - Portal container for rendering the content\n * @param children - Static content or function receiving close handler\n */\nexport const DialogContent = memo<DialogContentProps>((props) => {\n\tconst { radius } = useProvider()\n\tconst close = useCloseDialog()\n\tconst { ref, children, 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(dialogContent({ size }), radiusCva({ radius, maxLarge: true }), className)}\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{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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { dialogOverlay } from \"../AlertDialog/cva\"\n\nexport interface DialogOverlayProps extends ComponentPropsWithRef<typeof RadixDialog.Overlay> {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n}\n\n/**\n * A backdrop overlay that appears behind dialog content.\n * Provides visual separation and typically closes the dialog when clicked.\n *\n * @param container - Portal container for rendering the overlay\n */\nexport const DialogOverlay = memo<DialogOverlayProps>((props) => {\n\tconst { ref, children, 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(dialogOverlay({}), className)}\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</RadixDialog.Overlay>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogOverlay.displayName = \"DialogOverlay\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { memo, useCallback, useState } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\nimport type { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\n/**\n * Root component for managing dialog state and providing context to child components.\n * Supports controlled and uncontrolled modes with advanced close interruption handling.\n *\n * @param defaultOpen - Initial open state for uncontrolled mode (default: false)\n * @param open - Controlled open state\n * @param onOpenChange - Callback for controlled open state changes\n * @param onOpen - Called when dialog opens\n * @param onClose - Called when dialog closes\n * @param onCloseInterrupt - Intercept close attempts for custom handling (e.g., unsaved changes warnings)\n */\nexport const DialogRoot = memo((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})\nDialogRoot.displayName = \"DialogRoot\"\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\tTitle: RadixDialog.Title,\n\tDescription: RadixDialog.Description,\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"h1\">, HeadingVariantProps, AccentColorProps {}\n\n/**\n * Semantic heading component that renders appropriate HTML heading tags (h1-h6).\n * Provides comprehensive typography controls with accessibility-first design.\n *\n * @param [level=\"1\"] {HeadingLevel} - Semantic heading level \"1\"-\"6\"\n * @param {HeadingSize} size - Visual size variant (independent of semantic level)\n * @param weight {HeadingWeight} - Font weight variant\n * @param {HeadingAlign} align - Text alignment\n * @param accentColor {string} - Accent color for text styling\n * @param [highContrast=false] {boolean} - Enable high contrast mode\n */\nexport const Heading = memo<HeadingProps>((props) => {\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tlevel = \"1\",\n\t\tsize,\n\t\tweight,\n\t\talign,\n\t\thighContrast = false,\n\t\taccentColor,\n\t\t...rest\n\t} = props\n\tconst Tag = headingLevelTagMapping[level]\n\n\treturn (\n\t\t<Tag\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\theadingCva({ size, weight, align }),\n\t\t\t\t{\n\t\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Tag>\n\t)\n})\nHeading.displayName = \"Heading\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface HoverCardArrowProps extends ComponentPropsWithRef<typeof RadixHoverCard.Arrow> {}\n\nexport const HoverCardArrow = memo((props: HoverCardArrowProps) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixHoverCard.Arrow className={cx(\"fill-(--base-6)\", className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixHoverCard.Arrow>\n\t)\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: [\"p-2\"],\n\t\t\tsm: [\"p-3\"],\n\t\t\tmd: [\"p-4\"],\n\t\t\tlg: [\"p-5\"],\n\t\t\txl: [\"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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { hoverCardContent } from \"./cva\"\nimport type { HoverCardVariantProps } from \"./typings\"\n\nexport interface HoverCardContentProps\n\textends ComponentPropsWithRef<typeof RadixHoverCard.Content>,\n\t\tHoverCardVariantProps {\n\tcontainer?: RadixHoverCard.HoverCardPortalProps[\"container\"]\n}\n\n/**\n * Content area for hover card components that appears on hover interaction.\n * Provides rich contextual information with customizable positioning and styling.\n *\n * @param [size=\"md\"] {HoverCardSize} - Size variant affecting content dimensions\n * @param side - Preferred side for positioning relative to trigger\n * @param sideOffset - Distance from the trigger element (default: 4)\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color override (default: provider value)\n * @param container - Portal container for rendering\n */\nexport const HoverCardContent = memo<HoverCardContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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\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\tclassName,\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\t\t{children}\n\t\t\t</RadixHoverCard.Content>\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 { memo, type PointerEventHandler, type 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 = memo<HoverUtilityProps>(({ children, forceHover }) => {\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})\nHoverUtility.displayName = \"HoverUtility\"\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-6\", \"text-xs\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\t\txl: [\"h-10\", \"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:px-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: [\"px-3\"],\n\t\t\tsm: [\"px-3.5\"],\n\t\t\tmd: [\"px-4\"],\n\t\t\tlg: [\"px-4.5\"],\n\t\t\txl: [\"px-5\"],\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.5\"],\n\t\t\tsm: [\"px-1.75\"],\n\t\t\tmd: [\"px-2\"],\n\t\t\tlg: [\"px-2.25\"],\n\t\t\txl: [\"px-2.5\"],\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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputField } from \"./cva\"\n\nexport interface InputFieldProps extends ComponentPropsWithRef<\"input\"> {}\n\n/**\n * The actual input field element that receives user input.\n * Inherits styling properties from its parent InputRoot context.\n */\nexport const InputField = memo<InputFieldProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(inputField({ size, variant }), \"grow bg-transparent outline-0\", className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</input>\n\t)\n})\nInputField.displayName = \"InputField\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } 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, ComponentPropsWithRef<\"div\"> {}\n\n/**\n * Container component for input fields that provides styling context and structure.\n * Acts as a wrapper that manages the visual appearance of input field and slot elements.\n *\n * @param [variant=\"surface\"] {InputVariant} - Visual style variant\n * @param {InputSize} [size=\"md\"] - Size of the input container\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const InputRoot = memo<InputRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(inputRoot({ variant, size }), radiusCva({ radius, maxLarge: false }), className)}\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</div>\n\t\t</InputContext.Provider>\n\t)\n})\nInputRoot.displayName = \"InputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputSlot } from \"./cva\"\n\nexport interface InputSlotProps extends ComponentPropsWithRef<\"div\"> {}\n\n/**\n * Container for icons, buttons, or other elements positioned within the input.\n * Commonly used for search icons, clear buttons, or action triggers.\n * Inherits styling properties from its parent InputRoot context.\n */\nexport const InputSlot = memo<InputSlotProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<div className={cx(inputSlot({ size, variant }), \"flex items-center\", className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\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, useContext } from \"react\"\n\ninterface ILayoutContent {\n\tsmall: boolean\n\thideLayout: boolean\n\tisOpen: (id: string) => boolean\n\tsetOpen: (id: string, open: boolean) => void\n}\n\nexport const LayoutContext = createContext<ILayoutContent>({} as ILayoutContent)\n\nexport const useLayoutContext = () => useContext(LayoutContext)\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutContainerProps extends ComponentPropsWithRef<\"div\"> {}\n\n/**\n * Layout container component that provides flexible content structure.\n * Can be hidden based on layout context state.\n */\nexport const LayoutContainer = memo<LayoutContainerProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\tconst { hideLayout = false } = useLayoutContext()\n\n\treturn (\n\t\t!hideLayout && (\n\t\t\t<div className={cx(\"flex h-full grow\", className)} ref={ref} {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t)\n})\nLayoutContainer.displayName = \"LayoutContainer\"\n","import { memo, type PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { LayoutContext } from \"./context\"\n\nexport interface LayoutRootProps extends PropsWithChildren {\n\tsmall?: boolean\n\thideLayout?: boolean\n}\n\n/**\n * Root layout provider that manages layout state and slide-out visibility.\n * Provides context for all layout components and responsive behavior.\n *\n * @param small - Enable small screen layout mode (default: false)\n * @param hideLayout - Hide all layout components (default: false)\n */\nexport const LayoutRoot = memo((props: LayoutRootProps) => {\n\tconst { children, small = false, hideLayout = false } = props\n\n\tconst [openMapping, setOpenMapping] = useState<Record<string, boolean>>({})\n\n\tconst isOpen = useCallback(\n\t\t(id: string) => {\n\t\t\treturn openMapping[id] ?? false\n\t\t},\n\t\t[openMapping],\n\t)\n\n\tconst setOpen = useCallback((id: string, open: boolean) => {\n\t\tsetOpenMapping((prev) => ({ ...prev, [id]: open }))\n\t}, [])\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsmall,\n\t\t\thideLayout,\n\t\t\tisOpen,\n\t\t\tsetOpen,\n\t\t}),\n\t\t[hideLayout, isOpen, setOpen, small],\n\t)\n\n\treturn <LayoutContext.Provider value={contextValue}>{children}</LayoutContext.Provider>\n})\nLayoutRoot.displayName = \"LayoutRoot\"\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\ttype ComponentPropsWithRef,\n\ttype CSSProperties,\n\tmemo,\n\ttype MouseEventHandler,\n\ttype PropsWithChildren,\n\ttype ReactNode,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\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, Omit<ComponentPropsWithRef<\"div\">, \"content\"> {\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<SlideOutProps>((props) => {\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tstyle,\n\t\topen,\n\t\thide = false,\n\t\tmodal = false,\n\t\toverlayComponent,\n\t\tresizeable = true,\n\t\tside,\n\t\tposition = \"relative\",\n\t\tinitialWidth,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tonDismiss,\n\t\tonOpening,\n\t\tonClosed,\n\t\tcontent,\n\t\t...otherProps\n\t} = props\n\tconst isLeft = side === \"left\"\n\tconst [parentContainer, setParentContainer] = useState<HTMLElement>(document.body)\n\tconst childrenContainerRef = useRef<HTMLDivElement>(null)\n\tconst localRef = useRef<HTMLDivElement>(null)\n\tconst nodeRef = useRef<HTMLDivElement>(null)\n\tconst mergedRefs = mergeRefs([ref, localRef, nodeRef])\n\tconst [isResizing, setIsResizing] = useState(false)\n\tconst [computedWidth, setComputedWidth] = useState<number | null>(null)\n\tconst prevClientX = useRef<number | null>(null)\n\n\tconst handleDismiss = useCallback(() => {\n\t\tif (modal && onDismiss) {\n\t\t\tonDismiss()\n\t\t}\n\t}, [modal, onDismiss])\n\n\tconst handleAssignParentContainer = useCallback((element: HTMLDivElement | null) => {\n\t\tif (element) {\n\t\t\tsetParentContainer(element)\n\t\t}\n\t}, [])\n\n\t// TODO: determine if this set up for disabling and re-enabling pointer events on sibling content makes sense\n\tuseEffect(() => {\n\t\tif (!childrenContainerRef.current) return\n\t\tconst originalParentPointerEvents = childrenContainerRef.current.style.pointerEvents\n\n\t\t// In modal mode, all pointerEvents should be disabled for all other content within the parent container\n\t\t// besides the SlideOut content itself\n\t\tif (open && modal) {\n\t\t\tchildrenContainerRef.current.style.pointerEvents = \"none\"\n\t\t}\n\t\treturn () => {\n\t\t\tif (childrenContainerRef.current) {\n\t\t\t\t// this warning is invalid because the ref (childrenContainerRef) is immutable\n\t\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t\tchildrenContainerRef.current.style.pointerEvents = originalParentPointerEvents\n\t\t\t}\n\t\t}\n\t}, [modal, open, parentContainer.style])\n\n\tconst { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(handleDismiss, parentContainer)\n\n\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\tconst CSSTransitionClassNames = useMemo(\n\t\t() => ({\n\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\tenterActive: isLeft\n\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\texitActive: isLeft\n\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t}),\n\t\t[isLeft],\n\t)\n\n\tconst handleMouseDown: MouseEventHandler = useCallback((e) => {\n\t\tconst { clientX } = e\n\n\t\tprevClientX.current = clientX\n\n\t\tsetIsResizing(true)\n\t}, [])\n\n\tconst handleMouseMove = useCallback(\n\t\t(e: MouseEvent) => {\n\t\t\tif (!isResizing) return\n\n\t\t\tconst { clientX } = e\n\n\t\t\tconst deltaX = (clientX - prevClientX.current!) * (isLeft ? 1 : -1)\n\n\t\t\tprevClientX.current = clientX\n\n\t\t\tsetComputedWidth((prevWidth) => prevWidth! + deltaX)\n\t\t},\n\t\t[isLeft, isResizing],\n\t)\n\n\tconst handleMouseUp = useCallback(() => {\n\t\tif (!isResizing) return\n\t\tprevClientX.current = null\n\t\tsetIsResizing(false)\n\t}, [isResizing])\n\n\tuseEffect(() => {\n\t\twindow.addEventListener(\"mousemove\", handleMouseMove)\n\t\twindow.addEventListener(\"mouseup\", handleMouseUp)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"mousemove\", handleMouseMove)\n\t\t\twindow.removeEventListener(\"mouseup\", handleMouseUp)\n\t\t}\n\t}, [handleMouseMove, handleMouseUp])\n\n\tuseLayoutEffect(() => {\n\t\tif (!open) return\n\t\tsetComputedWidth(localRef.current!.offsetWidth)\n\t}, [open])\n\n\tconst resizableStyle = useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\t...style,\n\t\t\t\twidth: computedWidth ?? initialWidth,\n\t\t\t\tmaxWidth: maxWidth,\n\t\t\t\tminWidth: minWidth,\n\t\t\t\tposition: position,\n\t\t\t\t\"--slide-out-width\": `${computedWidth}${typeof computedWidth === \"number\" ? \"px\" : \"\"}`,\n\t\t\t}) as CSSProperties,\n\t\t[computedWidth, initialWidth, maxWidth, minWidth, position, style],\n\t)\n\n\tconst resizableEnable = useMemo(\n\t\t() => ({ left: resizeable && !isLeft, right: resizeable && isLeft }),\n\t\t[isLeft, resizeable],\n\t)\n\n\tconst SlideOut = useMemo(\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<CSSTransition\n\t\t\t\tclassNames={CSSTransitionClassNames}\n\t\t\t\tin={open}\n\t\t\t\ttimeout={TIMEOUT_DURATION}\n\t\t\t\tunmountOnExit\n\t\t\t\tmountOnEnter\n\t\t\t\tonEntering={onOpening}\n\t\t\t\tonExited={onClosed}\n\t\t\t\tnodeRef={nodeRef}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\"top-0\",\n\t\t\t\t\t\t\"bottom-0\",\n\t\t\t\t\t\t{\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\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tref={mergedRefs}\n\t\t\t\t\tonPointerDownCapture={handlePointerDownCapture}\n\t\t\t\t\tdata-side={side}\n\t\t\t\t\tstyle={resizableStyle}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cx(\"absolute top-0 bottom-0 w-[3px]\", {\n\t\t\t\t\t\t\t\"right-0\": isLeft,\n\t\t\t\t\t\t\t\"left-0\": !isLeft,\n\t\t\t\t\t\t\t\"pointer-events-none\": !resizableEnable,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\t\tdata-resizing={isResizing ? \"\" : undefined}\n\t\t\t\t\t/>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t</CSSTransition>\n\t\t),\n\t\t[\n\t\t\tCSSTransitionClassNames,\n\t\t\topen,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t\tclassName,\n\t\t\tisLeft,\n\t\t\tposition,\n\t\t\tmergedRefs,\n\t\t\thandlePointerDownCapture,\n\t\t\tside,\n\t\t\tresizableStyle,\n\t\t\thandleMouseDown,\n\t\t\tisResizing,\n\t\t\tresizableEnable,\n\t\t\tcontent,\n\t\t],\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"relative flex h-full max-h-full w-full max-w-full overflow-hidden\"\n\t\t\tref={handleAssignParentContainer}\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t{side === \"left\" && !hide && (\n\t\t\t\t<>\n\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<div className=\"flex h-full max-w-full grow overflow-hidden\" ref={childrenContainerRef}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{side === \"right\" && !hide && (\n\t\t\t\t<>\n\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n})\nSlideOut.displayName = \"SlideOut\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useCallback, useEffect } from \"react\"\n\nimport { SlideOut, type SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nconst DEFAULT_INITIAL_WIDTH = \"30%\"\n\nexport interface LayoutSlideOutProps\n\textends Omit<SlideOutProps, \"open\" | \"initialWidth\">,\n\t\tOmit<ComponentPropsWithRef<\"div\">, \"content\"> {\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\t/** unique identifier for this SlideOut instance, used to manage its open/closed state within the Layout context */\n\tid: string\n}\n\nexport const LayoutSlideOut = memo<LayoutSlideOutProps>((props) => {\n\tconst { small, hideLayout, isOpen, setOpen } = useLayoutContext()\n\tconst {\n\t\tref,\n\t\tid,\n\t\tchildren,\n\t\tclassName,\n\t\tdefaultOpen,\n\t\tside,\n\t\tinitialWidth = DEFAULT_INITIAL_WIDTH,\n\t\tonDismiss,\n\t\t...rest\n\t} = props\n\n\tconst open = isOpen(id)\n\n\tuseEffect(() => {\n\t\t// check if defaultOpenSmallMode specified\n\t\tif (small && defaultOpen?.small !== undefined) {\n\t\t\tsetOpen(id, defaultOpen?.small)\n\t\t} else if (!small && defaultOpen?.large !== undefined) {\n\t\t\tsetOpen(id, defaultOpen?.large)\n\t\t}\n\t}, [defaultOpen, id, setOpen, small])\n\n\tconst handleDismiss = useCallback(() => {\n\t\tsetOpen(id, false)\n\t\tonDismiss?.()\n\t}, [id, onDismiss, setOpen])\n\n\treturn (\n\t\t!hideLayout && (\n\t\t\t<SlideOut\n\t\t\t\tclassName={cx(`overmap-layout-slideOut-${side}`, className)}\n\t\t\t\tside={side}\n\t\t\t\tref={ref}\n\t\t\t\topen={open}\n\t\t\t\tinitialWidth={initialWidth}\n\t\t\t\tmodal={small}\n\t\t\t\tonDismiss={handleDismiss}\n\t\t\t\tposition={small ? \"absolute\" : \"relative\"}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</SlideOut>\n\t\t)\n\t)\n})\nLayoutSlideOut.displayName = \"LayoutSlideOut\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutSlideOutOverlayProps extends ComponentPropsWithRef<\"div\"> {\n\t/** manually control overlay visibility, overrides automatic management based on slideOutId */\n\tactive?: boolean\n\t/** the ID of the SlideOut component this overlay is associated with */\n\tslideOutId: string\n\t/** if true, overlay only appears in small mode (mobile/responsive view)\n\t * @default false */\n\tsmallModeOnly?: boolean\n}\n\nexport const LayoutSlideOutOverlay = memo<LayoutSlideOutOverlayProps>((props) => {\n\tconst { ref, children, className, active, slideOutId, smallModeOnly = false, ...rest } = props\n\tconst { small, hideLayout, isOpen } = useLayoutContext()\n\n\tconst showOverlay = useMemo(() => {\n\t\t// If being controlled, return controlled state\n\t\tif (active !== undefined) return active\n\n\t\t// If layout current being hidden, set to false\n\t\tif (hideLayout) return false\n\n\t\t// If smallModeOnly but not in smallMode, set to false\n\t\tif (smallModeOnly && !small) return false\n\n\t\t// Otherwise return based on the open state\n\t\treturn isOpen(slideOutId)\n\t}, [active, hideLayout, isOpen, slideOutId, small, smallModeOnly])\n\n\treturn (\n\t\tshowOverlay && (\n\t\t\t<div className={cx(\"overmap-layout-overlay\", \"fixed inset-0\", className)} ref={ref} {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t)\n})\n\nLayoutSlideOutOverlay.displayName = \"SlideOutOverlay\"\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { type ComponentPropsWithRef, memo, type PropsWithChildren, useCallback } from \"react\"\n\nimport { getOpenState } from \"../utils\"\nimport { useLayoutContext } from \"./context\"\n\nfunction nextStateBasedOnType(open: boolean, type: \"toggle\" | \"open\" | \"close\") {\n\tswitch (type) {\n\t\tcase \"toggle\":\n\t\t\treturn !open\n\t\tcase \"open\":\n\t\t\treturn true\n\t\tcase \"close\":\n\t\t\treturn false\n\t}\n}\n\nexport interface LayoutSlideOutTriggerProps extends PropsWithChildren, Omit<ComponentPropsWithRef<\"button\">, \"type\"> {\n\t/** the ID of the SlideOut component this trigger controls */\n\tslideOutId: string\n\t/** determines the action performed when the trigger is clicked\n\t * @default \"toggle\" */\n\ttype?: \"toggle\" | \"open\" | \"close\"\n}\n\nexport const LayoutSlideOutTrigger = memo<LayoutSlideOutTriggerProps>((props) => {\n\tconst { ref, slideOutId, type = \"toggle\", children, ...rest } = props\n\tconst { isOpen, setOpen } = useLayoutContext()\n\n\tconst open = isOpen(slideOutId)\n\n\tconst handleClick = useCallback(() => {\n\t\tsetOpen(slideOutId, nextStateBasedOnType(open, type))\n\t}, [open, setOpen, slideOutId, type])\n\n\treturn (\n\t\t<Slot data-state={getOpenState(open)} ref={ref} onClick={handleClick} {...rest}>\n\t\t\t{children}\n\t\t</Slot>\n\t)\n})\n\nLayoutSlideOutTrigger.displayName = \"SlideOutTrigger\"\n","import { LayoutContainer } from \"./Container\"\nimport { LayoutRoot } from \"./Root\"\nimport { LayoutSlideOut } from \"./SlideOut\"\nimport { LayoutSlideOutOverlay } from \"./SlideOutOverlay\"\nimport { LayoutSlideOutTrigger } from \"./SlideOutTrigger\"\n\nexport * from \"./Container\"\nexport * from \"./context\"\nexport * from \"./Root\"\nexport * from \"./SlideOut\"\nexport * from \"./SlideOutOverlay\"\nexport * from \"./SlideOutTrigger\"\n\nexport const Layout = {\n\tRoot: LayoutRoot,\n\tContainer: LayoutContainer,\n\tSlideOutOverlay: LayoutSlideOutOverlay,\n\tSlideOut: LayoutSlideOut,\n\tSlideOutTrigger: LayoutSlideOutTrigger,\n}\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { linkCva } from \"./cva\"\nimport type { LinkVariantProps } from \"./typings\"\n\nexport interface LinkProps extends ComponentPropsWithRef<\"a\">, LinkVariantProps {}\n\n/**\n * Styled anchor element with consistent typography and accent color support.\n * Provides enhanced visual styling for navigation and external links.\n *\n * @param [size=\"none\"] {LinkSize} - Text size variant\n * @param [weight=\"regular\"] {LinkWeight} - Font weight variant\n * @param {LinkAlign} [align=\"left\"] - Text alignment\n * @param accentColor {string} - Accent color override\n * @param [highContrast=false] {boolean} - Enable high contrast mode\n */\nexport const Link = memo<LinkProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(\n\t\t\t\tlinkCva({ size, weight, align }),\n\t\t\t\t{\n\t\t\t\t\t\"text-(--accent-a11)\": !highContrast,\n\t\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t)\n})\nLink.displayName = \"Link\"\n","import { cva } from \"class-variance-authority\"\n\nexport const menuItem = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"relative\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"rounded\",\n\t\t\"outline-none\",\n\t\t\"data-[disabled=true]:text-(--base-a8)\",\n\t\t\"shrink-0\",\n\t\t\"py-1\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-1.5\", \"px-3\"],\n\t\t\t\tsm: [\"gap-1.75\", \"px-3.5\"],\n\t\t\t\tmd: [\"gap-2\", \"px-4\"],\n\t\t\t\tlg: [\"gap-2.25\", \"px-4.5\"],\n\t\t\t\txl: [\"gap-2.5\", \"px-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=true]:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-highlighted:not-data-[disabled=true]:bg-(--accent-a9)\",\n\t\t\t\t\t\"data-highlighted:not-data-[disabled=true]:active: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-highlighted:not-data-[disabled=true]:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-highlighted:not-data-[disabled=true]:active:bg-(--accent-a4)\",\n\t\t\t\t],\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 menuLabelCva = cva([\"text-(--base-a10)\", \"flex\", \"items-center\", \"select-none\", \"py-1\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"gap-1.5\", \"px-3\", \"text-xs\"],\n\t\t\tsm: [\"gap-1.75\", \"px-3.5\", \"text-xs\"],\n\t\t\tmd: [\"gap-2\", \"px-4\", \"text-sm\"],\n\t\t\tlg: [\"gap-2.25\", \"px-4.5\", \"text-base\"],\n\t\t\txl: [\"gap-2.5\", \"px-5\", \"text-lg\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\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 menuContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"w-max\",\n\t\t\"max-w-xs\",\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],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-0.5\", \"text-xs\", \"min-w-30\"],\n\t\t\t\tsm: [\"p-0.75\", \"text-sm\", \"min-w-35\"],\n\t\t\t\tmd: [\"p-1\", \"text-md\", \"min-w-40\"],\n\t\t\t\tlg: [\"p-1.25\", \"text-lg\", \"min-w-45\"],\n\t\t\t\txl: [\"p-1.5\", \"text-xl\", \"min-w-50\"],\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\"data-[disabled=true]:opacity-50\",\n\t\t\"data-[disabled=true]:pointer-events-none\",\n\t\t\"box-border\",\n\t\t\"bg-transparent\",\n\t\t\"text-(--base-12)\",\n\t\t\"shrink-0\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-6\", \"text-xs\", \"px-3\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"px-3.5\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"px-4\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"px-4.5\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"px-5\", \"gap-2.5\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import { type UseFloatingData, type UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, type 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 { type MiddlewareData, type UseFloatingData, type UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, type CSSProperties, type 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","import { type UseFloatingData, type UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, type CSSProperties, type 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 { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type KeyboardEventHandler, memo, type MouseEventHandler, use, useCallback, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { getBooleanState } from \"../utils\"\nimport { menuItem } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { MenuContext } from \"./rootContext\"\nimport { SubContext } from \"./subContentContext\"\nimport type { MenuItemProps } from \"./typings\"\n\nconst TRIGGER_SELECT_KEYS = [\"Enter\", \" \"]\n\n/**\n * Individual menu item component with keyboard navigation and selection handling.\n * Supports both static content and render functions that receive active/selected state.\n *\n * @param closeOnSelect - Whether to close menu when item is selected (default: true)\n * @param disabled - Whether the item is disabled (default: false)\n * @param onSelect - Callback fired when item is selected\n * @param children - Static content or function receiving {active, selected} state\n */\nexport const MenuItem = memo<MenuItemProps>((props) => {\n\tconst rootMenuContext = use(MenuContext)\n\tconst { getItemProps, activeIndex, setOpen, size, variant, radius } = use(MenuContentContext)\n\tconst { closeRoot } = use(SubContext)\n\tconst {\n\t\tref: forwardedRef,\n\t\tclassName,\n\t\tchildren,\n\t\tonSelect,\n\t\tonClick,\n\t\tonKeyDown,\n\t\tcloseOnSelect = true,\n\t\tdisabled = false,\n\t\t...rest\n\t} = props\n\n\tconst { ref, index } = useListItem()\n\n\tconst mergeRefs = useMergeRefs([ref, forwardedRef])\n\n\tconst handleClick = useCallback<MouseEventHandler<HTMLLIElement>>(\n\t\t(e) => {\n\t\t\te.stopPropagation()\n\t\t\tif (disabled) return\n\t\t\tonClick?.(e)\n\t\t\tonSelect?.()\n\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\tif (closeRoot) rootMenuContext.setOpen(false)\n\t\t},\n\t\t[closeOnSelect, closeRoot, disabled, rootMenuContext, onClick, onSelect, setOpen],\n\t)\n\n\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLLIElement>>(\n\t\t(e) => {\n\t\t\tif (disabled) return\n\t\t\tonKeyDown?.(e)\n\t\t\tif (TRIGGER_SELECT_KEYS.includes(e.key)) {\n\t\t\t\tonSelect?.()\n\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t}\n\t\t},\n\t\t[closeOnSelect, disabled, onKeyDown, onSelect, setOpen],\n\t)\n\n\tconst isActive = useMemo(() => index === activeIndex, [activeIndex, index])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children({ active: isActive, selected: false }) : children\n\t}, [children, isActive])\n\n\treturn (\n\t\t<li\n\t\t\tclassName={cx(menuItem({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tref={mergeRefs}\n\t\t\trole=\"menuitem\"\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\taria-disabled={disabled}\n\t\t\tdata-highlighted={isActive ? \"\" : undefined}\n\t\t\t{...getItemProps({\n\t\t\t\tonClick: handleClick,\n\t\t\t\tonKeyDown: handleKeyDown,\n\t\t\t\ttabIndex: isActive ? 0 : -1,\n\t\t\t\t...rest,\n\t\t\t})}\n\t\t>\n\t\t\t{computedChildren}\n\t\t</li>\n\t)\n})\nMenuItem.displayName = \"MenuItem\"\n","import { memo, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { MenuItem } from \"./Item\"\nimport type { MenuCheckboxItemProps } from \"./typings\"\n\nexport const MenuCheckboxItem = memo<MenuCheckboxItemProps>((props) => {\n\tconst { ref, 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 { memo } from \"react\"\n\nimport { CheckedIndicator } from \"../CheckedIndicator\"\nimport type { MenuCheckboxIndicatorProps } from \"./typings\"\n\nexport const MenuCheckboxItemIndicator = memo<MenuCheckboxIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<CheckedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</CheckedIndicator>\n\t)\n})\nMenuCheckboxItemIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { memo, use, useEffect } from \"react\"\n\nimport { getBooleanState, getOpenState } from \"../utils\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuClickTriggerProps } from \"./typings\"\n\n/**\n * Trigger component that opens menu on click interaction.\n * Automatically sets up click event handling and accessibility attributes.\n *\n * @param disabled - Whether the trigger is disabled (default: false)\n */\nexport const MenuClickTrigger = memo<MenuClickTriggerProps>((props) => {\n\tconst { ref: forwardedRef, children, disabled = false } = props\n\tconst { getReferenceProps, refs, setTriggerType, open } = use(MenuContext)\n\tconst mergedRefs = useMergeRefs<HTMLElement>([refs.setReference, forwardedRef])\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"click\")\n\t}, [setTriggerType])\n\n\treturn (\n\t\t<Slot\n\t\t\tref={mergedRefs}\n\t\t\taria-disabled={disabled}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\tdata-state={getOpenState(open)}\n\t\t\t{...getReferenceProps({ disabled: disabled })}\n\t\t>\n\t\t\t{children}\n\t\t</Slot>\n\t)\n})\n\nMenuClickTrigger.displayName = \"MenuClickTrigger\"\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type CSSProperties, memo, type MouseEventHandler, use, useCallback, useMemo } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { getOpenState, stopPropagation } from \"../utils\"\nimport { menuContent, menuOverlay } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuContentProps } from \"./typings\"\n\n/**\n * Content container for menu items with floating positioning and focus management.\n * Handles keyboard navigation, styling variants, and portal rendering.\n *\n * @param size - Size variant affecting padding and item dimensions (default: \"md\")\n * @param variant - Visual style variant (default: \"soft\")\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color for styling (default: \"base\")\n */\nexport const MenuContent = memo<MenuContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref: forwardedRef,\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"md\",\n\t\tvariant = \"soft\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = \"base\",\n\t\t...rest\n\t} = props\n\tconst {\n\t\trefs,\n\t\tgetFloatingProps,\n\t\tmiddlewareData,\n\t\telementsRef,\n\t\tactiveIndex,\n\t\tsetActiveIndex,\n\t\tgetItemProps,\n\t\topen,\n\t\tsetOpen,\n\t\tnodeId,\n\t\tcontext,\n\t\tfloatingStyles,\n\t\tmodal,\n\t\tside,\n\t} = use(MenuContext)\n\n\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\treturn {\n\t\t\t...floatingStyles,\n\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t}\n\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\tconst handleOverlayPointerDown = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tif (modal) stopPropagation(e)\n\t\t},\n\t\t[modal],\n\t)\n\n\treturn (\n\t\t<FloatingNode id={nodeId}>\n\t\t\t{open && (\n\t\t\t\t<FloatingPortal>\n\t\t\t\t\t<FloatingOverlay\n\t\t\t\t\t\tclassName={menuOverlay({ modal })}\n\t\t\t\t\t\tonClick={handleOverlayPointerDown}\n\t\t\t\t\t\tlockScroll\n\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FloatingFocusManager context={context}>\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\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\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\tradius,\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=\"border-box w-max outline-none\"\n\t\t\t\t\t\t\t\t\t\tref={refs.setFloating}\n\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\tdata-floating-content=\"\"\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<ul\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\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\tclassName,\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={getOpenState(open)}\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</ul>\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</FloatingOverlay>\n\t\t\t\t</FloatingPortal>\n\t\t\t)}\n\t\t</FloatingNode>\n\t)\n})\nMenuContent.displayName = \"Menu.Content\"\n","import { type ClientRectObject, useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { memo, type MouseEventHandler, use, useCallback, useEffect, useRef } from \"react\"\n\nimport { getBooleanState, getOpenState } from \"../utils\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuContextTriggerProps } from \"./typings\"\n\nexport const MenuContextTrigger = memo<MenuContextTriggerProps>((props) => {\n\tconst { ref: forwardedRef, children, disabled = false } = props\n\tconst ref = useRef<HTMLElement>(null)\n\tconst { setOpen, refs, setTriggerType, open } = use(MenuContext)\n\tconst mergedRefs = useMergeRefs([forwardedRef, ref])\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"context\")\n\t}, [setTriggerType])\n\n\tconst handleContextMenu = useCallback<MouseEventHandler>(\n\t\t(e) => {\n\t\t\tconst { clientY, clientX } = e\n\n\t\t\tif (!disabled && ref.current) {\n\t\t\t\te.preventDefault()\n\t\t\t\trefs.setPositionReference({\n\t\t\t\t\tgetBoundingClientRect(): ClientRectObject {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tx: clientX,\n\t\t\t\t\t\t\ty: clientY,\n\t\t\t\t\t\t\ttop: clientY,\n\t\t\t\t\t\t\tleft: clientX,\n\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\tbottom: clientY,\n\t\t\t\t\t\t\tright: clientX,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcontextElement: ref.current,\n\t\t\t\t})\n\t\t\t\tsetOpen(true)\n\t\t\t}\n\t\t},\n\t\t[disabled, refs, setOpen],\n\t)\n\n\treturn (\n\t\t<Slot\n\t\t\tref={mergedRefs}\n\t\t\tstyle={{ WebkitTouchCallout: disabled ? \"none\" : \"unset\" }}\n\t\t\taria-disabled={disabled}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\tdata-state={getOpenState(open)}\n\t\t\tonContextMenu={handleContextMenu}\n\t\t>\n\t\t\t{children}\n\t\t</Slot>\n\t)\n})\nMenuContextTrigger.displayName = \"MenuContextTrigger\"\n","import { memo } from \"react\"\n\nimport type { MenuGroupProps } from \"./typings\"\n\nexport const MenuGroup = memo<MenuGroupProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<div ref={ref} role=\"group\" {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nMenuGroup.displayName = \"MenuGroup\"\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type ChangeEventHandler, memo, use, useCallback, useEffect } from \"react\"\n\nimport { getBooleanState } from \"../utils\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport type { MenuInputProps } from \"./typings\"\n\nexport const MenuInputField = memo<MenuInputProps>((props) => {\n\tconst { ref: forwardedRef, className, onValueChange, onChange, disabled = false, ...rest } = props\n\tconst { activeIndex, getItemProps } = use(MenuContentContext)\n\tconst { index, ref } = useListItem()\n\n\tconst mergedRefs = useMergeRefs([ref, forwardedRef])\n\n\tconst handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n\t\t(e) => {\n\t\t\tonChange?.(e)\n\t\t\tonValueChange?.(e.target.value)\n\t\t},\n\t\t[onChange, onValueChange],\n\t)\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tonValueChange?.(\"\")\n\t\t}\n\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// users wrap there onFilterChange callback function in a useCallback otherwise typing will trigger many re-renders\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [])\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"outline-none\", className)}\n\t\t\tref={mergedRefs}\n\t\t\tdisabled={disabled}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\t{...getItemProps({\n\t\t\t\t...rest,\n\t\t\t\ttabIndex: index === activeIndex ? 0 : -1,\n\t\t\t\tonChange: handleChange,\n\t\t\t})}\n\t\t/>\n\t)\n})\nMenuInputField.displayName = \"MenuInputField\"\n","import { cx } from \"class-variance-authority\"\nimport { memo, use } from \"react\"\n\nimport { inputRoot } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport type { MenuInputRootProps } from \"./typings\"\n\nexport const MenuInputRoot = memo<MenuInputRootProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\tconst { size } = use(MenuContentContext)\n\n\treturn <div className={cx(inputRoot({ size }), className)} ref={ref} {...rest} />\n})\nMenuInputRoot.displayName = \"MenuInputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport type { MenuInputSlotProps } from \"./typings\"\n\nexport const MenuInputSlot = memo<MenuInputSlotProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <div className={cx(\"flex\", \"items-center\", \"text-(--base-a11)\", className)} ref={ref} {...rest} />\n})\nMenuInputSlot.displayName = \"MenuInputSlot\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { menuLabelCva } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\n\nexport interface MenuLabelProps extends ComponentPropsWithRef<\"div\"> {}\n\nexport const MenuLabel = memo<MenuLabelProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\tconst { size } = use(MenuContentContext)\n\n\treturn <div ref={ref} className={cx(menuLabelCva({ size }), className)} {...rest} />\n})\nMenuLabel.displayName = \"MenuLabel\"\n","import { MultiSelectProvider } from \"../SelectContext\"\nimport { genericMemo } from \"../utils\"\nimport { MenuGroup } from \"./Group\"\nimport type { MenuMultiSelectGroupProps } from \"./typings\"\n\nexport const MenuMultiSelectGroup = genericMemo(function MenuMultiSelectGroup<TValue>(\n\tprops: MenuMultiSelectGroupProps<TValue>,\n) {\n\tconst { ref, children, defaultValues, values, onValuesChange, ...rest } = props\n\n\treturn (\n\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t<MultiSelectProvider<TValue> defaultValues={defaultValues} values={values} onValuesChange={onValuesChange}>\n\t\t\t\t{children}\n\t\t\t</MultiSelectProvider>\n\t\t</MenuGroup>\n\t)\n})\n","import { use, useCallback, useLayoutEffect, useMemo } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport type { MenuSelectItemProps } from \"./typings\"\n\nexport const MenuMultiSelectItem = genericMemo(function <TValue>(props: MenuSelectItemProps<TValue>) {\n\tconst { ref, onSelect, children, closeOnSelect = false, value, ...rest } = props\n\n\tconst { selected, selectValue, registerValue } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\t\t// TODO: prevent default behavior if needed\n\t\tselectValue(value)\n\t}, [onSelect, selectValue, value])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected: isSelected, active })\n\t\t\t: children\n\t}, [children, isSelected])\n\n\treturn (\n\t\t<SelectedIndicatorContext.Provider value={isSelected}>\n\t\t\t<MenuItem\n\t\t\t\tref={ref}\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectedIndicatorContext.Provider>\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 { memo, use } from \"react\"\n\nimport { PagesContext } from \"./menuPagesContext\"\nimport type { MenuPageContentProps } from \"./typings\"\n\nexport const MenuPageContent = memo<MenuPageContentProps>((props) => {\n\tconst { page, children } = props\n\tconst { activePage } = use(PagesContext)\n\n\treturn activePage === page ? children : null\n})\nMenuPageContent.displayName = \"PageContent\"\n","import { memo, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { PagesContext } from \"./menuPagesContext\"\nimport type { MenuPageProps } from \"./typings\"\n\nexport const MenuPages = memo<MenuPageProps>((props) => {\n\tconst { children, defaultPage, page, onPageChange } = props\n\n\tconst [activePage, setActivePage] = useControlledState<string>(defaultPage ?? \"\", page, onPageChange)\n\n\tconst contextValue = useMemo(() => ({ activePage, setActivePage }), [activePage, setActivePage])\n\n\treturn <PagesContext.Provider value={contextValue}>{children}</PagesContext.Provider>\n})\nMenuPages.displayName = \"MenuPages\"\n","import { memo, use, useCallback } from \"react\"\n\nimport { MenuItem } from \"./Item\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { PagesContext } from \"./menuPagesContext\"\nimport type { MenuPageTriggerProps } from \"./typings\"\n\nexport const MenuPageTrigger = memo<MenuPageTriggerProps>((props) => {\n\tconst { ref, onSelect, page, ...rest } = props\n\tconst { refs, setActiveIndex } = use(MenuContentContext)\n\tconst { setActivePage } = use(PagesContext)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\t\t// TODO: prevent default behavior if needed\n\t\tsetActivePage(page)\n\t\trefs.floating.current?.focus()\n\t\tsetActiveIndex(null)\n\t}, [onSelect, page, refs.floating, setActiveIndex, setActivePage])\n\n\treturn <MenuItem ref={ref} onSelect={handleSelect} closeOnSelect={false} {...rest} />\n})\nMenuPageTrigger.displayName = \"MenuPageTrigger\"\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\ttype Placement,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseInteractions,\n\tuseListNavigation,\n\tuseRole,\n\ttype VirtualElement,\n} from \"@floating-ui/react\"\nimport { memo, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"./constants\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuRootProps, MenuTriggerType } from \"./typings\"\n\nconst DEFAULT_OFFSET = 5\n\n/**\n * Root component for menu that manages floating UI positioning and interactions.\n * Provides context for all menu-related components with advanced keyboard navigation.\n *\n * @param side - Preferred side for menu positioning (default: \"bottom\")\n * @param align - Alignment relative to trigger (default: \"center\")\n * @param offset - Distance from trigger element\n * @param loop - Enable keyboard navigation looping (default: false)\n * @param modal - Enable modal behavior with overlay (default: false)\n * @param defaultOpen - Initial open state for uncontrolled mode\n * @param open - Controlled open state\n * @param onOpenChange - Callback for open state changes\n */\nexport const MenuRoot = memo<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\t// TODO: probably some way with template string types to not need the \"as Placement\"\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 { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport type { MenuScrollProps } from \"./typings\"\n\nexport const MenuScroll = memo<MenuScrollProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(\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\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nMenuScroll.displayName = \"MenuScroll\"\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getCheckedState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport type { SelectAllItemProps } from \"./typings\"\n\nexport const MenuSelectAllItem = genericMemo(<TValue,>(props: SelectAllItemProps) => {\n\tconst { ref, children, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tconst selectedState = allSelected ? true : someSelected ? \"indeterminate\" : false\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\ttoggleSelectAll()\n\t}, [onSelect, toggleSelectAll])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected: selectedState, active })\n\t\t\t: children\n\t}, [children, selectedState])\n\n\treturn (\n\t\t<CheckedIndicatorContext value={selectedState}>\n\t\t\t<MenuItem\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tref={ref}\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\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</CheckedIndicatorContext>\n\t)\n})\n","import { memo } from \"react\"\n\nimport { SelectedIndicator, type SelectedIndicatorProps } from \"../SelectedIndicator\"\n\nexport interface MenuSelectedIndicatorProps extends SelectedIndicatorProps {}\n\nexport const MenuSelectedIndicator = memo<MenuSelectedIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<SelectedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</SelectedIndicator>\n\t)\n})\nMenuSelectedIndicator.displayName = \"MenuSelectedIndicator\"\n","import { SingleSelectNotRequiredProvider, SingleSelectRequiredProvider } from \"../SelectContext\"\nimport { genericMemo } from \"../utils\"\nimport { MenuGroup } from \"./Group\"\nimport type { MenuSelectGroupProps } from \"./typings\"\n\nexport const MenuSelectGroup = genericMemo(function MenuSelectGroup<TValue>(props: MenuSelectGroupProps<TValue>) {\n\tconst { ref, children, required, defaultValue, value, onValueChange, ...rest } = props\n\treturn (\n\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t{required ? (\n\t\t\t\t<SingleSelectRequiredProvider defaultValue={defaultValue} value={value} onValueChange={onValueChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectRequiredProvider>\n\t\t\t) : (\n\t\t\t\t<SingleSelectNotRequiredProvider\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectNotRequiredProvider>\n\t\t\t)}\n\t\t</MenuGroup>\n\t)\n})\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { type ISelectContext, SelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport type { MenuSelectItemProps } from \"./typings\"\n\nexport const MenuSelectItem = genericMemo(function <TValue>(props: MenuSelectItemProps<TValue>) {\n\tconst { ref, value, onSelect, children, closeOnSelect = true, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext) as ISelectContext<TValue> // safe cast\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\t\t// TODO: prevent default behavior if needed\n\t\tselectValue(value)\n\t}, [onSelect, selectValue, value])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected: isSelected, active })\n\t\t\t: children\n\t}, [children, isSelected])\n\n\treturn (\n\t\t<SelectedIndicatorContext.Provider value={isSelected}>\n\t\t\t<MenuItem\n\t\t\t\tref={ref}\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectedIndicatorContext.Provider>\n\t)\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { memo, use } from \"react\"\n\nimport { menuSeparator } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport type { MenuSeparatorProps } from \"./typings\"\n\nexport const MenuSeparator = memo<MenuSeparatorProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size } = use(MenuContentContext)\n\n\treturn <RadixSeparator.Root className={cx(menuSeparator({ size }), className)} ref={ref} {...rest} />\n})\nMenuSeparator.displayName = \"MenuSeparator\"\n","import { MENU_CONTENT_PADDING } from \"./constants\"\nimport type { 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\ttype Placement,\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 { memo, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"./constants\"\nimport { SubContext } from \"./subContentContext\"\nimport type { MenuSubProps } from \"./typings\"\nimport { computeOffsets } from \"./utils\"\n\nexport const MenuSub = memo<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 { FloatingFocusManager, FloatingList, FloatingNode, FloatingPortal, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type CSSProperties, memo, use, useMemo, useRef } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { getOpenState } from \"../utils\"\nimport { menuContent } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { MenuContext } from \"./rootContext\"\nimport { SubContext } from \"./subContentContext\"\nimport type { SubMenuContentProps } from \"./typings\"\n\nexport const MenuSubContent = memo<SubMenuContentProps>((props) => {\n\tconst { ref: forwardedRef, children, ...rest } = props\n\tconst { middlewareData } = use(MenuContext)\n\tconst { accentColor, radius, variant, size } = use(MenuContentContext)\n\tconst {\n\t\topen,\n\t\tnodeId,\n\t\trefs,\n\t\tcontext,\n\t\tgetFloatingProps,\n\t\tgetItemProps,\n\t\tactiveIndex,\n\t\tsetActiveIndex,\n\t\telementsRef,\n\t\tfloatingStyles,\n\t\tsetOpen,\n\t\tside,\n\t} = use(SubContext)\n\n\tconst wrapperRef = useRef<HTMLDivElement>(null)\n\n\tconst mergeRefs = useMergeRefs([refs.setFloating, wrapperRef])\n\n\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\treturn {\n\t\t\t...floatingStyles,\n\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t}\n\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\treturn (\n\t\t<FloatingNode id={nodeId}>\n\t\t\t{open && (\n\t\t\t\t<FloatingPortal>\n\t\t\t\t\t<FloatingFocusManager context={context} initialFocus={wrapperRef}>\n\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"outline-none\"\n\t\t\t\t\t\t\t\t\tref={mergeRefs}\n\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\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\tmenuContent({ size }),\n\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\tradiusCva({ radius, maxLarge: true }),\n\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)}\n\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\tdata-state={getOpenState(open)}\n\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t</FloatingPortal>\n\t\t\t)}\n\t\t</FloatingNode>\n\t)\n})\nMenuSubContent.displayName = \"MenuSubContent\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { memo, use } from \"react\"\n\nimport { getOpenState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport { SubContext } from \"./subContentContext\"\nimport type { MenuSubTriggerProps } from \"./typings\"\n\nexport const MenuSubTrigger = memo<MenuSubTriggerProps>((props) => {\n\tconst { ref: forwardedRef, children, ...rest } = props\n\tconst { refs, getReferenceProps, open, disabled } = use(SubContext)\n\n\tconst mergedRefs = useMergeRefs([forwardedRef, refs.setReference])\n\n\treturn (\n\t\t<MenuItem\n\t\t\tref={mergedRefs}\n\t\t\tcloseOnSelect={false}\n\t\t\taria-haspopup=\"menu\"\n\t\t\tdata-state={getOpenState(open)}\n\t\t\tdisabled={disabled}\n\t\t\t{...getReferenceProps(rest)}\n\t\t>\n\t\t\t{children}\n\t\t</MenuItem>\n\t)\n})\nMenuSubTrigger.displayName = \"MenuSubTrigger\"\n","import { memo, use, useEffect } from \"react\"\n\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuVirtualTriggerProps } from \"./typings\"\n\nexport const MenuVirtualTrigger = memo((props: MenuVirtualTriggerProps) => {\n\tconst { virtualElement, disabled } = props\n\tconst { refs, setTriggerType, setOpen } = use(MenuContext)\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\"\nimport { MenuCheckboxItemIndicator } from \"./CheckboxItemIndicator\"\nimport { MenuClickTrigger } from \"./ClickTrigger\"\nimport { MenuContent } from \"./Content\"\nimport { MenuContextTrigger } from \"./ContextTrigger\"\nimport { MenuGroup } from \"./Group\"\nimport { MenuInputField } from \"./InputField\"\nimport { MenuInputRoot } from \"./InputRoot\"\nimport { MenuInputSlot } from \"./InputSlot\"\nimport { MenuItem } from \"./Item\"\nimport { MenuLabel } from \"./Label\"\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\"\nimport { MenuSelectAllItem } from \"./SelectAllItem\"\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\"\nexport * from \"./CheckboxItemIndicator\"\nexport * from \"./ClickTrigger\"\nexport * from \"./Content\"\nexport * from \"./ContextTrigger\"\nexport * from \"./Group\"\nexport * from \"./InputField\"\nexport * from \"./InputRoot\"\nexport * from \"./InputSlot\"\nexport * from \"./Item\"\nexport * from \"./Label\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./PageContent\"\nexport * from \"./Pages\"\nexport * from \"./PageTrigger\"\nexport * from \"./Root\"\nexport * from \"./Scroll\"\nexport * from \"./SelectAllItem\"\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\tSelectedIndicator: MenuSelectedIndicator,\n\tCheckboxItemIndicator: MenuCheckboxItemIndicator,\n\n\t// input\n\tInputRoot: MenuInputRoot,\n\tInputField: MenuInputField,\n\tInputSlot: MenuInputSlot,\n\n\t// others\n\tLabel: MenuLabel,\n\tSeparator: MenuSeparator,\n\tScroll: MenuScroll,\n}\n","export const KEY_MAPPING = {\n\tnext: \"ArrowDown\",\n\tprev: \"ArrowUp\",\n\tfirst: \"PageUp\",\n\tlast: \"PageDown\",\n\tselectItem: \"Enter\",\n}\n\nexport const ITEM_SELECTOR = \"menu-item\"\n\nexport const GROUP_SELECTOR = \"menu-group\"\n","import { createContext, type Dispatch, type SetStateAction } from \"react\"\n\nimport { type MenuVariantProps } from \"./typings\"\n\nexport interface IMenuRootContext extends Required<MenuVariantProps> {\n\tactiveItemId: string | null\n\tsetActiveItemId: Dispatch<SetStateAction<string | null>>\n}\n\nexport const MenuRootContext = createContext({} as IMenuRootContext)\n\nexport interface IMenuGroupContext {\n\tlabelId: string | null\n\tsetLabelId: Dispatch<SetStateAction<string | null>>\n}\n\nexport const MenuGroupContext = createContext({} as IMenuGroupContext)\n\nexport interface IMenuPagesContext {\n\tpage: string\n\tsetPage: (page: string) => void\n}\n\nexport const MenuPageContext = createContext({} as IMenuPagesContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const menuRootCva = cva([\"w-full\", \"outline-none\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"p-0.5\", \"text-xs\", \"min-w-30\"],\n\t\t\tsm: [\"p-0.75\", \"text-sm\", \"min-w-35\"],\n\t\t\tmd: [\"p-1\", \"text-md\", \"min-w-40\"],\n\t\t\tlg: [\"p-1.25\", \"text-lg\", \"min-w-45\"],\n\t\t\txl: [\"p-1.5\", \"text-xl\", \"min-w-50\"],\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: [\"rounded-lg\"],\n\t\t\tfull: [\"rounded-lg\"],\n\t\t},\n\t},\n})\n\nexport const menuItemCva = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"relative\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"outline-none\",\n\t\t\"data-[disabled=true]:text-(--base-a8)\",\n\t\t\"data-[disabled=true]:pointer-events-none\",\n\t\t\"shrink-0\",\n\t\t\"py-1\",\n\t\t\"text-(--base-12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-1.5\", \"px-3\"],\n\t\t\t\tsm: [\"gap-1.75\", \"px-3.5\"],\n\t\t\t\tmd: [\"gap-2\", \"px-4\"],\n\t\t\t\tlg: [\"gap-2.25\", \"px-4.5\"],\n\t\t\t\txl: [\"gap-2.5\", \"px-5\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:bg-(--accent-a9)\",\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:active:brightness-110\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:active:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const menuGroupLabelCva = cva([\"text-(--base-a11)\", \"flex\", \"items-center\", \"select-none\", \"py-1\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"gap-1.5\", \"px-3\", \"text-xs\"],\n\t\t\tsm: [\"gap-1.75\", \"px-3.5\", \"text-xs\"],\n\t\t\tmd: [\"gap-2\", \"px-4\", \"text-sm\"],\n\t\t\tlg: [\"gap-2.25\", \"px-4.5\", \"text-base\"],\n\t\t\txl: [\"gap-2.5\", \"px-5\", \"text-lg\"],\n\t\t},\n\t},\n})\n\nexport const menuSeparatorCva = 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})\n","import { cx } from \"class-variance-authority\"\nimport {\n\ttype ComponentPropsWithRef,\n\tmemo,\n\ttype MouseEventHandler,\n\ttype PointerEventHandler,\n\tuse,\n\tuseCallback,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n} from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { getBooleanState, mergeRefs } from \"../utils\"\nimport { ITEM_SELECTOR } from \"./constants\"\nimport { MenuRootContext } from \"./context\"\nimport { menuItemCva } from \"./cva\"\n\nexport interface MenuItemProps extends Omit<ComponentPropsWithRef<\"div\">, \"onSelect\"> {\n\tonSelect?: (e: Event) => void\n\tdisabled?: boolean\n}\n\nexport const MenuItem = memo<MenuItemProps>((props) => {\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tdisabled = false,\n\t\tonClick,\n\t\tonSelect,\n\t\tonPointerEnter,\n\t\tonPointerLeave,\n\t\tonPointerMove,\n\t\t...rest\n\t} = props\n\n\tconst internalRef = useRef<HTMLDivElement>(null)\n\tconst itemId = useId()\n\tconst { activeItemId, setActiveItemId, size, variant, radius } = use(MenuRootContext)\n\n\tconst isActive = itemId === activeItemId\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t},\n\t\t[onSelect],\n\t)\n\n\tconst handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonClick?.(e)\n\t\t\thandleSelect(new Event(\"menu-select\"))\n\t\t},\n\t\t[handleSelect, onClick],\n\t)\n\n\tconst handlePointerEnter = useCallback<PointerEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonPointerEnter?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetActiveItemId(itemId)\n\t\t},\n\t\t[onPointerEnter, setActiveItemId, itemId],\n\t)\n\n\tconst handlePointerLeave = useCallback<PointerEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonPointerLeave?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetActiveItemId(null)\n\t\t},\n\t\t[onPointerLeave, setActiveItemId],\n\t)\n\n\tconst handlePointerMove = useCallback<PointerEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonPointerMove?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetActiveItemId(itemId)\n\t\t},\n\t\t[onPointerMove, itemId, setActiveItemId],\n\t)\n\n\tuseEffect(() => {\n\t\tif (!internalRef.current) return\n\n\t\tconst element = internalRef.current\n\n\t\telement.addEventListener(\"menu-select\", handleSelect)\n\n\t\treturn () => {\n\t\t\telement.removeEventListener(\"menu-select\", handleSelect)\n\t\t}\n\t}, [handleSelect])\n\n\treturn (\n\t\t<div\n\t\t\tref={mergeRefs([ref, internalRef])}\n\t\t\tclassName={cx(menuItemCva({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\trole=\"menuitem\"\n\t\t\tonClick={handleClick}\n\t\t\tonPointerEnter={handlePointerEnter}\n\t\t\tonPointerLeave={handlePointerLeave}\n\t\t\tonPointerMove={handlePointerMove}\n\t\t\t// data attributes\n\t\t\t{...{ [ITEM_SELECTOR]: itemId }}\n\t\t\tdata-active={getBooleanState(isActive)}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\t// aria attributes\n\t\t\t// NOTE: no \"aria active\" needed since Root contains aria-activedescendant\n\t\t\taria-disabled={getBooleanState(disabled)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nMenuItem.displayName = \"MenuItem\"\n","import { memo, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { MenuItem, type MenuItemProps } from \"./Item\"\n\nexport interface MenuCheckboxItemProps extends MenuItemProps {\n\tchecked: boolean | \"indeterminate\"\n\tonCheckedChange: (checked: boolean) => void\n}\n\nexport const MenuCheckboxItem = memo<MenuCheckboxItemProps>((props) => {\n\tconst { ref, checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\n\t\t\tif (e.defaultPrevented) return\n\n\t\t\tswitch (checked) {\n\t\t\t\tcase true:\n\t\t\t\t\tonCheckedChange(false)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"indeterminate\":\n\t\t\t\t\tonCheckedChange(true)\n\t\t\t\t\tbreak\n\t\t\t\tcase false:\n\t\t\t\t\tonCheckedChange(true)\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t},\n\t\t[checked, onCheckedChange, onSelect],\n\t)\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 { memo } from \"react\"\n\nimport { CheckedIndicator, type CheckedIndicatorProps } from \"../CheckedIndicator\"\n\nexport type MenuCheckedIndicatorProps = CheckedIndicatorProps\n\nexport const MenuCheckedIndicator = memo<MenuCheckedIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<CheckedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</CheckedIndicator>\n\t)\n})\nMenuCheckedIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { type ComponentPropsWithRef, memo, useId, useMemo, useState } from \"react\"\n\nimport { GROUP_SELECTOR } from \"./constants\"\nimport { MenuGroupContext } from \"./context\"\n\nexport interface MenuGroupProps extends ComponentPropsWithRef<\"div\"> {}\n\nexport const MenuGroup = memo<MenuGroupProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\tconst groupId = useId()\n\tconst [labelId, setLabelId] = useState<string | null>(null)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tlabelId,\n\t\t\tsetLabelId,\n\t\t}),\n\t\t[labelId],\n\t)\n\n\treturn (\n\t\t<div ref={ref} role=\"group\" {...{ [GROUP_SELECTOR]: groupId }} aria-labelledby={labelId ?? undefined} {...rest}>\n\t\t\t<MenuGroupContext value={contextValue}>{children}</MenuGroupContext>\n\t\t</div>\n\t)\n})\nMenuGroup.displayName = \"MenuGroup\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use, useEffect } from \"react\"\n\nimport { useFallbackId } from \"../hooks\"\nimport { MenuGroupContext, MenuRootContext } from \"./context\"\nimport { menuGroupLabelCva } from \"./cva\"\n\nexport interface MenuGroupLabelProps extends ComponentPropsWithRef<\"div\"> {}\n\nexport const MenuGroupLabel = memo((props: MenuGroupLabelProps) => {\n\tconst { ref, children, id, className, ...rest } = props\n\n\tconst labelId = useFallbackId(id)\n\tconst { size } = use(MenuRootContext)\n\tconst { setLabelId } = use(MenuGroupContext)\n\n\tuseEffect(() => {\n\t\tsetLabelId(labelId)\n\t}, [labelId, setLabelId])\n\n\treturn (\n\t\t<div ref={ref} id={labelId} className={cx(menuGroupLabelCva({ size }), className)} {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nMenuGroupLabel.displayName = \"MenuGroupLabel\"\n","import { use, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getCheckedState } from \"../utils\"\nimport { MenuItem, type MenuItemProps } from \"./Item\"\n\nexport interface SelectAllItemProps extends MenuItemProps {}\n\nexport const MenuSelectAllItem = genericMemo(<TValue,>(props: SelectAllItemProps) => {\n\tconst { ref, children, onSelect, ...rest } = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tconst selectedState = allSelected ? true : someSelected ? \"indeterminate\" : false\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\ttoggleSelectAll()\n\t\t},\n\t\t[onSelect, toggleSelectAll],\n\t)\n\n\treturn (\n\t\t<MenuItem onSelect={handleSelect} ref={ref} data-state={getCheckedState(selectedState)} {...rest}>\n\t\t\t<CheckedIndicatorContext value={selectedState}>{children}</CheckedIndicatorContext>\n\t\t</MenuItem>\n\t)\n})\n","import { MultiSelectProvider } from \"../SelectContext\"\nimport type { MultiSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { MenuGroup, type MenuGroupProps } from \"./Group\"\n\nexport interface MenuMultiSelectGroupProps<TValue> extends MenuGroupProps, MultiSelectProps<TValue> {}\n\nexport const MenuMultiSelectGroup = genericMemo(function MenuMultiSelectGroup<TValue>(\n\tprops: MenuMultiSelectGroupProps<TValue>,\n) {\n\tconst { ref, children, defaultValues, values, onValuesChange, ...rest } = props\n\n\treturn (\n\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t<MultiSelectProvider<TValue> defaultValues={defaultValues} values={values} onValuesChange={onValuesChange}>\n\t\t\t\t{children}\n\t\t\t</MultiSelectProvider>\n\t\t</MenuGroup>\n\t)\n})\n","import { use, useCallback, useLayoutEffect } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuItem, type MenuItemProps } from \"./Item\"\n\nexport interface MenuSelectItemProps<TValue> extends MenuItemProps {\n\tvalue: TValue\n}\n\nexport const MenuMultiSelectItem = genericMemo(function <TValue>(props: MenuSelectItemProps<TValue>) {\n\tconst { ref, onSelect, children, value, ...rest } = props\n\n\tconst { selected, selectValue, registerValue } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tselectValue(value)\n\t\t},\n\t\t[onSelect, selectValue, value],\n\t)\n\n\treturn (\n\t\t<MenuItem\n\t\t\tref={ref}\n\t\t\trole=\"menuitemcheckbox\"\n\t\t\tonSelect={handleSelect}\n\t\t\t// data attributes\n\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t// aria attributes\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SelectedIndicatorContext value={isSelected}>{children}</SelectedIndicatorContext>\n\t\t</MenuItem>\n\t)\n})\n","import { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { getActiveState } from \"../utils\"\nimport { MenuPageContext } from \"./context\"\n\nexport interface MenuPageProps extends ComponentPropsWithRef<\"div\"> {\n\tpage: string\n}\n\nexport const MenuPage = memo((props: MenuPageProps) => {\n\tconst { children, ref, page, ...rest } = props\n\tconst { page: activePage } = use(MenuPageContext)\n\n\tconst isActive = 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})\nMenuPage.displayName = \"MenuPage\"\n","import { memo, type PropsWithChildren, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { MenuPageContext } from \"./context\"\n\nexport interface MenuPagesProps extends PropsWithChildren {\n\tdefaultPage?: string\n\tpage?: string\n\tonPageChange?: (page: string) => void\n}\n\nexport const MenuPages = memo((props: MenuPagesProps) => {\n\tconst { children, defaultPage = \"\", page: controlledPage, onPageChange } = props\n\n\tconst [page, setPage] = useControlledState(defaultPage, controlledPage, onPageChange)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tpage,\n\t\t\tsetPage,\n\t\t}),\n\t\t[page, setPage],\n\t)\n\n\treturn <MenuPageContext value={contextValue}>{children}</MenuPageContext>\n})\nMenuPages.displayName = \"MenuPages\"\n","import { memo, use, useCallback } from \"react\"\n\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { getActiveState } from \"../utils\"\nimport { MenuPageContext } from \"./context\"\nimport { MenuItem, type MenuItemProps } from \"./Item\"\n\nexport interface MenuPageTriggerItemProps extends MenuItemProps {\n\tpage: string\n}\n\nexport const MenuPageTriggerItem = memo((props: MenuPageTriggerItemProps) => {\n\tconst { ref, children, page, onSelect, ...rest } = props\n\tconst { page: activePage, setPage } = use(MenuPageContext)\n\n\tconst isActive = page === activePage\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetPage(page)\n\t\t},\n\t\t[onSelect, page, setPage],\n\t)\n\n\treturn (\n\t\t<MenuItem ref={ref} onSelect={handleSelect} data-state={getActiveState(isActive)} {...rest}>\n\t\t\t<SelectedIndicatorContext value={isActive}>{children}</SelectedIndicatorContext>\n\t\t</MenuItem>\n\t)\n})\nMenuPageTriggerItem.displayName = \"CommandMenuPageTriggerItem\"\n","export const computeNextIndex = (index: number, length: number, direction: \"next\" | \"prev\", loop: boolean) => {\n\tswitch (direction) {\n\t\tcase \"next\":\n\t\t\treturn index === length - 1 ? (loop ? 0 : index) : index + 1\n\t\tcase \"prev\":\n\t\t\treturn index === 0 ? (loop ? length - 1 : index) : index - 1\n\t}\n}\n","import { cx } from \"class-variance-authority\"\nimport {\n\ttype ComponentPropsWithRef,\n\ttype KeyboardEventHandler,\n\tmemo,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { mergeRefs } from \"../utils\"\nimport { GROUP_SELECTOR, ITEM_SELECTOR, KEY_MAPPING } from \"./constants\"\nimport { MenuRootContext } from \"./context\"\nimport { menuRootCva } from \"./cva\"\nimport type { MenuVariantProps } from \"./typings\"\nimport { computeNextIndex } from \"./utils\"\n\nexport interface MenuRootProps extends ComponentPropsWithRef<\"div\">, MenuVariantProps {\n\tloop?: boolean\n}\n\nexport const MenuRoot = memo<MenuRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tonKeyDown,\n\t\tloop = false,\n\t\t// style props\n\t\tradius = providerContext.radius,\n\t\taccentColor = \"base\",\n\t\tsize = \"md\",\n\t\tvariant = \"soft\",\n\t\t...rest\n\t} = props\n\n\tconst internalRef = useRef<HTMLDivElement>(null)\n\tconst [activeItemId, setActiveItemId] = useState<string | null>(null)\n\n\t// Items\n\n\tconst getItems = useCallback((element: Element) => {\n\t\treturn Array.from(element.querySelectorAll(`[${ITEM_SELECTOR}]:not([data-disabled=true]`))\n\t}, [])\n\n\tconst getFirstItem = useCallback(\n\t\t(element: Element) => {\n\t\t\treturn getItems(element).at(0)\n\t\t},\n\t\t[getItems],\n\t)\n\n\tconst getLastItem = useCallback(\n\t\t(element: Element) => {\n\t\t\treturn getItems(element).at(-1)\n\t\t},\n\t\t[getItems],\n\t)\n\n\tconst getActiveItem = useCallback(\n\t\t(element: Element) => {\n\t\t\treturn getItems(element).find((itemEle) => itemEle.getAttribute(ITEM_SELECTOR) === activeItemId)\n\t\t},\n\t\t[activeItemId, getItems],\n\t)\n\n\tconst getNextItem = useCallback(\n\t\t(element: Element, direction: \"next\" | \"prev\") => {\n\t\t\tconst items = getItems(element)\n\t\t\tconst activeItem = getActiveItem(element)\n\n\t\t\tconst activeItemIndex = items.findIndex((itemEle) => itemEle === activeItem)\n\t\t\tconst nextItemIndex = computeNextIndex(activeItemIndex, items.length, direction, loop)\n\n\t\t\treturn items[nextItemIndex]\n\t\t},\n\t\t[getActiveItem, getItems, loop],\n\t)\n\n\t// Groups\n\n\tconst getGroups = useCallback(() => {\n\t\tif (!internalRef.current) return []\n\t\treturn Array.from(internalRef.current.querySelectorAll(`[${GROUP_SELECTOR}]`))\n\t}, [])\n\n\tconst getActiveGroup = useCallback(() => {\n\t\treturn getActiveItem(internalRef.current!)?.closest(`[${GROUP_SELECTOR}]`) ?? undefined\n\t}, [getActiveItem])\n\n\tconst getNextGroup = useCallback(\n\t\t(direction: \"next\" | \"prev\") => {\n\t\t\tconst groups = getGroups()\n\t\t\tconst activeGroup = getActiveGroup()\n\n\t\t\tconst activeGroupIndex = groups.findIndex((groupEle) => groupEle === activeGroup)\n\t\t\tconst nextGroupIndex = computeNextIndex(activeGroupIndex, groups.length, direction, loop)\n\n\t\t\treturn groups[nextGroupIndex]\n\t\t},\n\t\t[getActiveGroup, getGroups, loop],\n\t)\n\n\tconst getFirstGroup = useCallback(() => {\n\t\treturn getGroups().at(0)\n\t}, [getGroups])\n\n\tconst getLastGroup = useCallback(() => {\n\t\treturn getGroups().at(-1)\n\t}, [getGroups])\n\n\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonKeyDown?.(e)\n\n\t\t\tif (e.defaultPrevented) return\n\n\t\t\tswitch (e.code) {\n\t\t\t\tcase KEY_MAPPING.selectItem: {\n\t\t\t\t\tconst activeItem = getActiveItem(internalRef.current!)\n\t\t\t\t\tif (activeItem) activeItem.dispatchEvent(new Event(\"menu-select\"))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.next: {\n\t\t\t\t\tlet nextItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst nextGroup = getNextGroup(\"next\")\n\t\t\t\t\t\tif (!nextGroup) return\n\t\t\t\t\t\tnextItem = getFirstItem(nextGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextItem = getNextItem(internalRef.current!, \"next\")\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!nextItem) return\n\t\t\t\t\tsetActiveItemId(nextItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.prev: {\n\t\t\t\t\tlet prevItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst prevGroup = getNextGroup(\"prev\")\n\t\t\t\t\t\tif (!prevGroup) return\n\t\t\t\t\t\tprevItem = getFirstItem(prevGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprevItem = getNextItem(internalRef.current!, \"prev\")\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!prevItem) return\n\t\t\t\t\tsetActiveItemId(prevItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.first: {\n\t\t\t\t\tlet firstItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst firstGroup = getFirstGroup()\n\t\t\t\t\t\tif (!firstGroup) return\n\t\t\t\t\t\tfirstItem = getFirstItem(firstGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfirstItem = getFirstItem(internalRef.current!)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!firstItem) return\n\t\t\t\t\tsetActiveItemId(firstItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.last: {\n\t\t\t\t\tlet lastItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst lastGroup = getLastGroup()\n\t\t\t\t\t\tif (!lastGroup) return\n\t\t\t\t\t\tlastItem = getFirstItem(lastGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlastItem = getLastItem(internalRef.current!)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lastItem) return\n\t\t\t\t\tsetActiveItemId(lastItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[getActiveItem, getFirstGroup, getFirstItem, getLastGroup, getLastItem, getNextGroup, getNextItem, onKeyDown],\n\t)\n\n\tuseEffect(() => {\n\t\tconst firstItem = getFirstItem(internalRef.current!)\n\t\tif (!firstItem) return\n\t\tsetActiveItemId(firstItem.getAttribute(ITEM_SELECTOR))\n\t}, [getFirstItem])\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tactiveItemId,\n\t\t\tsetActiveItemId,\n\t\t\t// style props\n\t\t\taccentColor,\n\t\t\tradius,\n\t\t\tvariant,\n\t\t\tsize,\n\t\t}),\n\t\t[accentColor, activeItemId, radius, size, variant],\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tref={mergeRefs([ref, internalRef])}\n\t\t\tclassName={cx(menuRootCva({ size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\trole=\"menu\"\n\t\t\tonKeyDown={handleKeyDown}\n\t\t\ttabIndex={0}\n\t\t\taria-activedescendant={activeItemId ?? undefined}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<MenuRootContext value={contextValue}>{children}</MenuRootContext>\n\t\t</div>\n\t)\n})\nMenuRoot.displayName = \"MenuRoot\"\n","import { memo } from \"react\"\n\nimport { SelectedIndicator, type SelectedIndicatorProps } from \"../SelectedIndicator\"\n\nexport type MenuSelectedIndicatorProps = SelectedIndicatorProps\n\nexport const MenuSelectedIndicator = memo<MenuSelectedIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<SelectedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</SelectedIndicator>\n\t)\n})\nMenuSelectedIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { SingleSelectNotRequiredProvider, SingleSelectRequiredProvider } from \"../SelectContext\"\nimport type { SingleSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { MenuGroup, type MenuGroupProps } from \"./Group\"\n\nexport type MenuSelectGroupProps<TValue> = MenuGroupProps & SingleSelectProps<TValue>\n\nexport const MenuSelectGroup = genericMemo(function MenuSelectGroup<TValue>(props: MenuSelectGroupProps<TValue>) {\n\tconst { ref, children, required, defaultValue, value, onValueChange, ...rest } = props\n\treturn (\n\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t{required ? (\n\t\t\t\t<SingleSelectRequiredProvider defaultValue={defaultValue} value={value} onValueChange={onValueChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectRequiredProvider>\n\t\t\t) : (\n\t\t\t\t<SingleSelectNotRequiredProvider\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectNotRequiredProvider>\n\t\t\t)}\n\t\t</MenuGroup>\n\t)\n})\n","import { use, useCallback } from \"react\"\n\nimport { type ISelectContext, SelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuItem, type MenuItemProps } from \"./Item\"\n\nexport interface MenuSelectItemProps<TValue> extends MenuItemProps {\n\tvalue: TValue\n}\n\nexport const MenuSelectItem = genericMemo(function <TValue>(props: MenuSelectItemProps<TValue>) {\n\tconst { ref, value, onSelect, children, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext) as ISelectContext<TValue> // safe cast\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tselectValue(value)\n\t\t},\n\t\t[onSelect, selectValue, value],\n\t)\n\n\treturn (\n\t\t<MenuItem\n\t\t\tref={ref}\n\t\t\trole=\"menuitemcheckbox\"\n\t\t\tonSelect={handleSelect}\n\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SelectedIndicatorContext value={isSelected}>{children}</SelectedIndicatorContext>\n\t\t</MenuItem>\n\t)\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { MenuRootContext } from \"./context\"\nimport { menuSeparatorCva } from \"./cva\"\n\nexport interface MenuSeparatorProps extends ComponentPropsWithRef<typeof RadixSeparator.Root> {}\n\nexport const MenuSeparator = memo<MenuSeparatorProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size } = use(MenuRootContext)\n\n\treturn <RadixSeparator.Root className={cx(menuSeparatorCva({ size }), className)} ref={ref} {...rest} />\n})\nMenuSeparator.displayName = \"MenuSeparator\"\n","import { MenuCheckboxItem } from \"./CheckboxItem\"\nimport { MenuCheckedIndicator } from \"./CheckboxItemIndicator\"\nimport { MenuGroup } from \"./Group\"\nimport { MenuGroupLabel } from \"./GroupLabel\"\nimport { MenuItem } from \"./Item\"\nimport { MenuSelectAllItem } from \"./MultiSelectAllItem\"\nimport { MenuMultiSelectGroup } from \"./MultiSelectGroup\"\nimport { MenuMultiSelectItem } from \"./MultiSelectItem\"\nimport { MenuPage } from \"./Page\"\nimport { MenuPages } from \"./Pages\"\nimport { MenuPageTriggerItem } from \"./PageTriggerItem\"\nimport { MenuRoot } from \"./Root\"\nimport { MenuSelectedIndicator } from \"./SelectedIndicator\"\nimport { MenuSelectGroup } from \"./SelectGroup\"\nimport { MenuSelectItem } from \"./SelectItem\"\nimport { MenuSeparator } from \"./Separator\"\n\nexport const MenuV2 = {\n\tRoot: MenuRoot,\n\tGroup: MenuGroup,\n\tGroupLabel: MenuGroupLabel,\n\tItem: MenuItem,\n\tSeparator: MenuSeparator,\n\tSelectGroup: MenuSelectGroup,\n\tSelectItem: MenuSelectItem,\n\tMultiSelectGroup: MenuMultiSelectGroup,\n\tMultiSelectItem: MenuMultiSelectItem,\n\tSelectAllItem: MenuSelectAllItem,\n\tSelectedIndicator: MenuSelectedIndicator,\n\tCheckboxItem: MenuCheckboxItem,\n\tCheckedIndicator: MenuCheckedIndicator,\n\tPages: MenuPages,\n\tPage: MenuPage,\n\tPageTriggerItem: MenuPageTriggerItem,\n}\n","import * as RadixOneTimePasswordField from \"@radix-ui/react-one-time-password-field\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface OneTimePasswordFieldHiddenInputProps\n\textends ComponentPropsWithRef<typeof RadixOneTimePasswordField.HiddenInput> {}\n\nexport const OneTimePasswordFieldHiddenInput = memo<OneTimePasswordFieldHiddenInputProps>((props) => {\n\treturn <RadixOneTimePasswordField.HiddenInput {...props} />\n})\nOneTimePasswordFieldHiddenInput.displayName = \"OneTimePasswordFieldHiddenInput\"\n","import { createContext } from \"react\"\n\nimport { type ComponentRadius } from \"../Provider\"\nimport type { OneTimePasswordFieldSize, OneTimePasswordFieldVariant } from \"./typings\"\n\nexport interface IOneTimePasswordFieldContext {\n\tvariant: OneTimePasswordFieldVariant\n\tsize: OneTimePasswordFieldSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const OneTimePasswordFieldContext = createContext({} as IOneTimePasswordFieldContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const onetimePasswordFieldInput = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-center\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-8)\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t\t\"disabled:opacity-50\",\n\t\t\"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: [\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\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\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\toutline: [\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\t\"placeholder-(--base-a9)\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t],\n\t\t\t\tghost: [\"bg-transparent\", \"text-(--base-12)\", 'placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)'],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"size-6 w-6\", \"text-xs\"],\n\t\t\t\tsm: [\"size-7 w-7\", \"text-sm\"],\n\t\t\t\tmd: [\"size-8 w-8\", \"text-base\"],\n\t\t\t\tlg: [\"size-9 w-9\", \"text-lg\"],\n\t\t\t\txl: [\"size-10 w-10\", \"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","import * as RadixOneTimePasswordField from \"@radix-ui/react-one-time-password-field\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { OneTimePasswordFieldContext } from \"./context\"\nimport { onetimePasswordFieldInput } from \"./cva\"\n\nexport interface OneTimePasswordFieldInputProps extends ComponentPropsWithRef<typeof RadixOneTimePasswordField.Input> {}\n\nexport const OneTimePasswordFieldInput = memo<OneTimePasswordFieldInputProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { variant, size, radius, accentColor } = use(OneTimePasswordFieldContext)\n\n\treturn (\n\t\t<RadixOneTimePasswordField.Input\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tonetimePasswordFieldInput({ variant, size }),\n\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nOneTimePasswordFieldInput.displayName = \"OneTimePasswordFieldInput\"\n","import * as RadixOneTimePasswordField from \"@radix-ui/react-one-time-password-field\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { OneTimePasswordFieldContext } from \"./context\"\nimport type { OneTimePasswordFieldVariantProps } from \"./typings\"\n\nexport interface OneTimePasswordFieldRootProps\n\textends ComponentPropsWithRef<typeof RadixOneTimePasswordField.Root>,\n\t\tOneTimePasswordFieldVariantProps {}\n\nexport const OneTimePasswordFieldRoot = memo<OneTimePasswordFieldRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(() => ({ variant, size, radius, accentColor }), [accentColor, radius, size, variant])\n\n\treturn (\n\t\t<RadixOneTimePasswordField.Root ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t<OneTimePasswordFieldContext value={contextValue}>{children}</OneTimePasswordFieldContext>\n\t\t</RadixOneTimePasswordField.Root>\n\t)\n})\nOneTimePasswordFieldRoot.displayName = \"OneTimePasswordFieldRoot\"\n","import { OneTimePasswordFieldHiddenInput } from \"./HiddenInput\"\nimport { OneTimePasswordFieldInput } from \"./Input\"\nimport { OneTimePasswordFieldRoot } from \"./Root\"\n\nexport * from \"./HiddenInput\"\nexport * from \"./Input\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const OneTimePasswordField = {\n\tHiddenInput: OneTimePasswordFieldHiddenInput,\n\tInput: OneTimePasswordFieldInput,\n\tRoot: OneTimePasswordFieldRoot,\n}\n","import { type ErrorInfo, memo, type PropsWithChildren, useCallback, useState } from \"react\"\nimport { ErrorBoundary, useErrorBoundary } from \"react-error-boundary\"\n\nimport { IconButton } from \"../Buttons\"\nimport { LuIcon } from \"../LuIcon\"\n\ninterface ErrorBoundaryProps extends 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<LuIcon icon=\"alert-triangle\" 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<LuIcon icon=\"rotate-ccw\" 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] = 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 in OvermapErrorBoundary:\", 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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface PopoverArrowProps extends ComponentPropsWithRef<typeof RadixPopover.Arrow> {}\n\nexport const PopoverArrow = memo((props: PopoverArrowProps) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixPopover.Arrow className={cx(\"fill-(--base-6)\", className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixPopover.Arrow>\n\t)\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: [\"p-2\"],\n\t\t\tsm: [\"p-3\"],\n\t\t\tmd: [\"p-4\"],\n\t\t\tlg: [\"p-5\"],\n\t\t\txl: [\"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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { popoverContent } from \"./cva\"\nimport type { PopoverVariantProps } from \"./typings\"\n\nexport interface PopoverContentProps extends ComponentPropsWithRef<typeof RadixPopover.Content>, PopoverVariantProps {\n\tcontainer?: RadixPopover.PopoverPortalProps[\"container\"]\n}\n\n/**\n * Content area for popover components with customizable sizing and positioning.\n * Rendered in a portal with floating behavior and enhanced styling.\n *\n * @param [size=\"md\"] {PopoverSize} - Size variant affecting padding and content dimensions\n * @param sideOffset - Distance from the trigger element (default: 5)\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color override (default: provider value)\n * @param container - Portal container for rendering\n */\nexport const PopoverContent = memo<PopoverContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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\tpopoverContent({ size }),\n\t\t\t\t\tfloating({ shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\tclassName,\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\t\t{children}\n\t\t\t</RadixPopover.Content>\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 { cva } from \"class-variance-authority\"\n\nexport const progressRootCva = cva([\"relative\", \"overflow-hidden\", \"grow\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-1.5\"],\n\t\t\tsm: [\"h-2\"],\n\t\t\tmd: [\"h-2.5\"],\n\t\t\tlg: [\"h-3\"],\n\t\t\txl: [\"h-3.5\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [\"bg-(--base-a3)\", \"inset-ring\", \"inset-ring-(--base-a6)\"],\n\t\t\tsoft: [\"bg-(--base-a4)\"],\n\t\t},\n\t},\n})\n\nexport const progressIndicatorCva = cva(\n\t[\n\t\t\"size-full\",\n\t\t\"transform-[scaleX(calc(var(--progress-value)/var(--progress-max)))]\",\n\t\t\"origin-[left_center]\",\n\t\t\"transition-[transform]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [],\n\t\t\t\tsm: [],\n\t\t\t\tmd: [],\n\t\t\t\tlg: [],\n\t\t\t\txl: [],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--accent-track)\"],\n\t\t\t\tsoft: [\"bg-(--accent-8)\"],\n\t\t\t},\n\t\t},\n\t},\n)\n","import * as RadixProgress from \"@radix-ui/react-progress\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { progressIndicatorCva, progressRootCva } from \"./cva\"\nimport type { ProgressVariantProps } from \"./typings\"\n\nexport interface ProgressProps\n\textends Omit<ComponentPropsWithRef<typeof RadixProgress.Root>, \"children\">,\n\t\tProgressVariantProps {}\n\n/**\n * Progress indicator component that visualizes completion status.\n * Supports different visual styles and automatically calculates progress percentage.\n *\n * @param [variant=\"surface\"] {ProgressVariant} - Visual style variant\n * @param {ProgressSize} [size=\"md\"] - Size variant affecting height and visual weight\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n * @param {number} value - Current progress value\n * @param [max=100] {number} - Maximum progress value\n */\nexport const Progress = memo<ProgressProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\tstyle,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst computedStyle = useMemo(\n\t\t() => ({\n\t\t\t...style,\n\t\t\t\"--progress-value\": rest.value ?? 0,\n\t\t\t\"--progress-max\": rest.max ?? 100,\n\t\t}),\n\t\t[rest.max, rest.value, style],\n\t)\n\n\treturn (\n\t\t<RadixProgress.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(progressRootCva({ variant, size }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tstyle={computedStyle}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<RadixProgress.ProgressIndicator className={progressIndicatorCva({ variant, size })} />\n\t\t</RadixProgress.Root>\n\t)\n})\nProgress.displayName = \"Progress\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { RadioCardsSize, RadioCardsVariant } from \"./typings\"\n\ninterface RadioCardsContext {\n\tsize: RadioCardsSize\n\tvariant: RadioCardsVariant\n\tradius: ComponentRadius\n}\n\nexport const RadioCardsContext = createContext({} as RadioCardsContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const radioCardsRootCva = 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-base\"],\n\t\t\txl: [\"text-lg\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\toutline: [],\n\t\t},\n\t},\n})\n\nexport const radioCardsItemCva = cva(\n\t[\n\t\t\"block\",\n\t\t\"overflow-hidden\",\n\t\t\"align-start\",\n\t\t\"transition-[box-shadow]\",\n\n\t\t\"disabled:opacity-50\",\n\n\t\t\"focus-visible:bg-(--accent-a3)\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-8)\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-2\"],\n\t\t\t\tsm: [\"p-3\"],\n\t\t\t\tmd: [\"p-4\"],\n\t\t\t\tlg: [\"p-5\"],\n\t\t\t\txl: [\"p-6\"],\n\t\t\t},\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=unchecked]:inset-ring\",\n\t\t\t\t\t\"data-[state=unchecked]:inset-ring-(--base-a7)\",\n\t\t\t\t\t\"data-[state=unchecked]:hover:inset-ring-(--base-a8)\",\n\t\t\t\t\t\"data-[state=checked]:outline-2\",\n\t\t\t\t\t\"data-[state=checked]:outline-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state=checked]:-outline-offset-1\",\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=unchecked]:inset-ring\",\n\t\t\t\t\t\"data-[state=unchecked]:inset-ring-(--base-a7)\",\n\t\t\t\t\t\"data-[state=unchecked]:hover:inset-ring-(--base-a8)\",\n\t\t\t\t\t\"data-[state=checked]:outline-2\",\n\t\t\t\t\t\"data-[state=checked]:outline-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state=checked]:-outline-offset-1\",\n\t\t\t\t],\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 { memo, use } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport type { AccentColorProps } from \"../typings\"\nimport { RadioCardsContext } from \"./context\"\nimport { radioCardsItemCva } from \"./cva\"\n\nexport interface RadioCardsItemProps extends RadixRadioGroup.RadioGroupItemProps, AccentColorProps {}\n\nexport const RadioCardsItem = memo<RadioCardsItemProps>((props) => {\n\tconst { variant, size, radius } = use(RadioCardsContext)\n\tconst { className, accentColor, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Item\n\t\t\tclassName={cx(radioCardsItemCva({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nRadioCardsItem.displayName = \"RadioCardsItem\"\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioCardsContext } from \"./context\"\nimport { radioCardsRootCva } from \"./cva\"\nimport type { RadiosCardsVariantProps } from \"./typings\"\n\nexport interface RadioCardsRootProps extends RadixRadioGroup.RadioGroupProps, RadiosCardsVariantProps {}\n\nexport const RadioCardsRoot = memo<RadioCardsRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t}),\n\t\t[radius, size, variant],\n\t)\n\n\treturn (\n\t\t<RadixRadioGroup.Root\n\t\t\tclassName={cx(radioCardsRootCva({ size, variant }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<RadioCardsContext value={contextValue}>{children}</RadioCardsContext>\n\t\t</RadixRadioGroup.Root>\n\t)\n})\nRadioCardsRoot.displayName = \"RadioCardsRoot\"\n","import { RadioCardsItem } from \"./Item\"\nimport { RadioCardsRoot } from \"./Root\"\n\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const RadioCards = {\n\tRoot: RadioCardsRoot,\n\tItem: RadioCardsItem,\n}\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface RadioGroupIndicatorProps extends ComponentPropsWithRef<typeof RadixRadioGroup.Indicator> {}\n\nexport const RadioGroupIndicator = memo<RadioGroupIndicatorProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Indicator\n\t\t\tclassName={cx(\"inline-flex items-center justify-center\", className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixRadioGroup.Indicator>\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\"inline-flex\",\n\t\t\"justify-center\",\n\t\t\"items-center\",\n\t\t\"shrink-0\",\n\t\t\"align-top\",\n\t\t\"cursor-pointer\",\n\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-a7)\",\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: [\"size-4\", \"text-[0.625rem]\"],\n\t\t\t\tsm: [\"size-5\", \"text-xs\"],\n\t\t\t\tmd: [\"size-6\", \"text-sm\"],\n\t\t\t\tlg: [\"size-7\", \"text-base\"],\n\t\t\t\txl: [\"size-9\", \"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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { RadioGroupContext } from \"./context\"\nimport { radioGroupItem } from \"./cva\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupItemProps\n\textends RadioGroupVariantProps,\n\t\tComponentPropsWithRef<typeof RadixRadioGroup.Item> {}\n\n/**\n * Individual radio button item within a RadioGroup.\n * Inherits styling from parent RadioGroupRoot and ensures single selection.\n *\n * @param variant - Visual style variant override (default: inherited from group)\n * @param size - Size variant override (default: inherited from group)\n */\nexport const RadioGroupItem = memo<RadioGroupItemProps>((props) => {\n\tconst radioGroupContext = useContext(RadioGroupContext)\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = radioGroupContext.size,\n\t\tvariant = radioGroupContext.variant,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixRadioGroup.Item className={cx(radioGroupItem({ size, variant }), className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixRadioGroup.Item>\n\t)\n})\n\nRadioGroupItem.displayName = \"RadioGroupItem\"\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioGroupContext } from \"./context\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupRootProps\n\textends ComponentPropsWithRef<typeof RadixRadioGroup.Root>,\n\t\tRadioGroupVariantProps {}\n\n/**\n * Root component for radio button groups that manages single-selection state.\n * Provides context for styling and behavior of child radio items.\n *\n * @param {RadioGroupVariant} [variant=\"surface\"] - Visual style variant\n * @param [size=\"md\"] {RadioGroupSize} - Size variant affecting radio button dimensions\n * @param accentColor {string} - Accent color override\n */\nexport const RadioGroupRoot = memo<RadioGroupRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\taccentColor = providerContext.accentColor,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\tchildren,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixRadioGroup.Root className={cx(className)} ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t<RadioGroupContext.Provider value={{ variant, size }}>{children}</RadioGroupContext.Provider>\n\t\t</RadixRadioGroup.Root>\n\t)\n})\n\nRadioGroupRoot.displayName = \"RadioGroupRoot\"\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(\n\t[\"shrink-0\", \"transition-colors\", \"inline-flex\", \"box-border\", \"min-w-max\", \"text-center\"],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\t\tsurface: [\"bg-(--accent-surface)\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-6\", \"text-xs\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const segmentedControlItemCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"grow\",\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-1.5\"],\n\t\t\t\tsm: [\"gap-1.75\"],\n\t\t\t\tmd: [\"gap-2\"],\n\t\t\t\tlg: [\"gap-2.25\"],\n\t\t\t\txl: [\"gap-2.5\"],\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\tradius: {\n\t\t\t\tnone: [\"rounded-none\"],\n\t\t\t\txs: [\"rounded-[calc(var(--radius-xs)-1px)]\"],\n\t\t\t\tsm: [\"rounded-[calc(var(--radius-sm)-1px)]\"],\n\t\t\t\tmd: [\"rounded-[calc(var(--radius-md)-1px)]\"],\n\t\t\t\tlg: [\"rounded-[calc(var(--radius-lg)-1px)]\"],\n\t\t\t\txl: [\"rounded-[calc(var(--radius-xl)-1px)]\"],\n\t\t\t\tfull: [\"rounded-full\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 { type ComponentRadius } from \"../Provider\"\nimport type { SegmentedControlSize, SegmentedControlVariant } from \"./typings\"\n\nexport interface 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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { segmentedControlItemCva } from \"./cva\"\nimport { useSegmentedControl } from \"./hooks\"\n\nexport interface SegmentedControlItemProps extends ComponentPropsWithRef<typeof RadixToggleGroup.Item> {}\n\n/**\n * Individual item within a SegmentedControl that can be selected.\n * Inherits styling properties from its parent SegmentedControlRoot.\n */\nexport const SegmentedControlItem = memo<SegmentedControlItemProps>((props) => {\n\tconst { ref, 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(segmentedControlItemCva({ size, variant, icon, radius }), className)}\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 { type ComponentPropsWithRef, memo } 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\" | keyof SegmentedControlVariantProps>,\n\t\tSegmentedControlVariantProps,\n\t\tOmit<\n\t\t\tComponentPropsWithRef<\"div\">,\n\t\t\tkeyof RadixToggleGroup.ToggleGroupSingleProps | keyof SegmentedControlVariantProps\n\t\t> {}\n\n/**\n * Root container for segmented control that manages selection state and styling.\n * Provides single-selection toggle group functionality with enhanced visual styling.\n *\n * @param [size=\"md\"] {SegmentedControlSize} - Size variant affecting button dimensions\n * @param {SegmentedControlVariant} [variant=\"surface\"] - Visual style variant\n * @param [icon=false] {boolean} - Whether items contain only icons\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const SegmentedControlRoot = memo<SegmentedControlRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\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\tsegmentedControlRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\tclassName,\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 { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { SegmentedTabsSize, SegmentedTabsVariant } from \"./typings\"\n\ninterface ISegmentedTabsListContext {\n\tsize: SegmentedTabsSize\n\tvariant: SegmentedTabsVariant\n\tradius: ComponentRadius\n}\n\nexport const SegmentedTabsListContext = createContext({} as ISegmentedTabsListContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const segmentedTabsListCva = cva(\n\t[\"shrink-0\", \"transition-colors\", \"inline-flex\", \"box-border\", \"min-w-max\", \"text-center\"],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\t\tsurface: [\"bg-(--accent-surface)\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-6\", \"text-xs\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\t\txl: [\"h-10\", \"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\nexport const segmentedTabsTriggerCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"grow\",\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=active]: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=active]: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=active]: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=active]: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=active]: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=active]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-1.5\"],\n\t\t\t\tsm: [\"gap-1.75\"],\n\t\t\t\tmd: [\"gap-2\"],\n\t\t\t\tlg: [\"gap-2.25\"],\n\t\t\t\txl: [\"gap-2.5\"],\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\tradius: {\n\t\t\t\tnone: [\"rounded-none\"],\n\t\t\t\txs: [\"rounded-[calc(var(--radius-xs)-1px)]\"],\n\t\t\t\tsm: [\"rounded-[calc(var(--radius-sm)-1px)]\"],\n\t\t\t\tmd: [\"rounded-[calc(var(--radius-md)-1px)]\"],\n\t\t\t\tlg: [\"rounded-[calc(var(--radius-lg)-1px)]\"],\n\t\t\t\txl: [\"rounded-[calc(var(--radius-xl)-1px)]\"],\n\t\t\t\tfull: [\"rounded-full\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SegmentedTabsListContext } from \"./context\"\nimport { segmentedTabsListCva } from \"./cva\"\nimport type { SegmentedTabsVariantProps } from \"./typings\"\n\nexport interface SegmentedTabsListProps\n\textends ComponentPropsWithRef<typeof RadixTabs.List>,\n\t\tSegmentedTabsVariantProps {}\n\nexport const SegmentedTabsList = memo<SegmentedTabsListProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsize,\n\t\t\tvariant,\n\t\t\tradius,\n\t\t}),\n\t\t[radius, size, variant],\n\t)\n\n\treturn (\n\t\t<RadixTabs.List\n\t\t\tref={ref}\n\t\t\tclassName={cx(segmentedTabsListCva({ size, variant }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SegmentedTabsListContext.Provider value={contextValue}>{children}</SegmentedTabsListContext.Provider>\n\t\t</RadixTabs.List>\n\t)\n})\nSegmentedTabsList.displayName = \"TabsList\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface SegmentedTabsRootProps extends ComponentPropsWithRef<typeof RadixTabs.Root> {}\n\nexport const SegmentedTabsRoot = memo<SegmentedTabsRootProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(\"flex flex-col\", className)} {...rest} />\n})\nSegmentedTabsRoot.displayName = \"TabsRoot\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { SegmentedTabsListContext } from \"./context\"\nimport { segmentedTabsTriggerCva } from \"./cva\"\n\nexport interface SegmentedTabsTriggerProps extends ComponentPropsWithRef<typeof RadixTabs.Trigger> {}\n\nexport const SegmentedTabsTrigger = memo<SegmentedTabsTriggerProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { size, radius, variant } = use(SegmentedTabsListContext)\n\n\treturn (\n\t\t<RadixTabs.Trigger\n\t\t\tref={ref}\n\t\t\tclassName={cx(segmentedTabsTriggerCva({ size, radius, variant }), className)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixTabs.Trigger>\n\t)\n})\nSegmentedTabsTrigger.displayName = \"TabsTrigger\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\n\nimport { SegmentedTabsList } from \"./List\"\nimport { SegmentedTabsRoot } from \"./Root\"\nimport { SegmentedTabsTrigger } from \"./Trigger\"\n\nexport * from \"./List\"\nexport * from \"./Root\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const SegmentedTabs = {\n\tRoot: SegmentedTabsRoot,\n\tList: SegmentedTabsList,\n\tTrigger: SegmentedTabsTrigger,\n\tContent: RadixTabs.Content,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const separator = cva([\"shrink-0\", \"bg-(--accent-6)\"], {\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},\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},\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { separator } from \"./cva\"\nimport type { SeparatorVariantProps } from \"./typings\"\n\ninterface SeparatorProps extends ComponentPropsWithRef<typeof RadixSeparator.Root>, SeparatorVariantProps {}\n\n/**\n * Visual divider component that separates content sections.\n * Supports both horizontal and vertical orientations with customizable styling.\n *\n * @param [orientation=\"horizontal\"] {SeparatorOrientation} - Direction of the separator\n * @param [size=\"md\"] {SeparatorSize} - Thickness/size of the separator line\n * @param [accentColor=\"base\"] {string} - Accent color for the separator\n */\nexport const Separator = memo<SeparatorProps>((props) => {\n\tconst { ref, className, accentColor = \"base\", orientation, size, ...rest } = props\n\n\treturn (\n\t\t<RadixSeparator.Root\n\t\t\tclassName={cx(separator({ orientation, size }), className)}\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 { cva } from \"class-variance-authority\"\n\nexport const sliderRootCva = cva([\"relative\", \"select-none\", \"touch-none\", \"flex\", \"items-center\"], {\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},\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\tsoft: [],\n\t\t},\n\t\torientation: {\n\t\t\thorizontal: [\"flex-row\"],\n\t\t\tvertical: [\"flex-col\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t// horizontal\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"xs\",\n\t\t\tclassName: [\"h-4\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"sm\",\n\t\t\tclassName: [\"h-5\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"md\",\n\t\t\tclassName: [\"h-6\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"lg\",\n\t\t\tclassName: [\"h-7\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"xl\",\n\t\t\tclassName: [\"h-8\"],\n\t\t},\n\t\t// vertical\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"xs\",\n\t\t\tclassName: [\"w-4\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"sm\",\n\t\t\tclassName: [\"w-5\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"md\",\n\t\t\tclassName: [\"w-6\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"lg\",\n\t\t\tclassName: [\"w-7\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"xl\",\n\t\t\tclassName: [\"w-8\"],\n\t\t},\n\t],\n})\n\nexport const sliderTrackCva = cva(\n\t[\n\t\t\"overflow-hidden\",\n\t\t\"relative\",\n\t\t\"grow\",\n\t\t\"rounded-[inherit]\",\n\n\t\t\"select-none\",\n\n\t\t\"data-disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [],\n\t\t\t\tsm: [],\n\t\t\t\tmd: [],\n\t\t\t\tlg: [],\n\t\t\t\txl: [],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--base-a3)\", \"inset-ring\", \"inset-ring-(--base-a6)\"],\n\t\t\t\tsoft: [\"bg-(--base-a4)\"],\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\thorizontal: [],\n\t\t\t\tvertical: [],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t// horizontal\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclassName: [\"h-1.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclassName: [\"h-2\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"md\",\n\t\t\t\tclassName: [\"h-2.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclassName: [\"h-3\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclassName: [\"h-3.5\"],\n\t\t\t},\n\t\t\t// vertical\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclassName: [\"w-1.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclassName: [\"w-2\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"md\",\n\t\t\t\tclassName: [\"w-2.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclassName: [\"w-3\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclassName: [\"w-3.5\"],\n\t\t\t},\n\t\t],\n\t},\n)\n\nexport const sliderRangeCva = cva(\n\t[\"absolute\", \"rounded-[inherit]\", \"data-disabled:opacity-50\", \"disabled:pointer-events-none\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [],\n\t\t\t\tsm: [],\n\t\t\t\tmd: [],\n\t\t\t\tlg: [],\n\t\t\t\txl: [],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"inset-ring\", \"inset-ring-(--base-a5)\", \"bg-(--accent-track)\"],\n\t\t\t\tsoft: [\"bg-(--accent-8)\"],\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\thorizontal: [\"h-full\"],\n\t\t\t\tvertical: [\"w-full\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const sliderThumbCva = cva(\n\t[\n\t\t\"block\",\n\t\t\"shrink-0\",\n\n\t\t\"bg-(--accent-contrast)\",\n\t\t\"inset-ring\",\n\t\t\"inset-ring-(--base-a6)\",\n\n\t\t\"disabled:pointer-events-none\",\n\t\t\"dark:data-disabled:brightness-50\",\n\n\t\t\"focus:outline-none\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-1\",\n\t\t\"focus-visible:outline-(--accent-8)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-4\"],\n\t\t\t\tsm: [\"size-5\"],\n\t\t\t\tmd: [\"size-6\"],\n\t\t\t\tlg: [\"size-7\"],\n\t\t\t\txl: [\"size-8\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [],\n\t\t\t\tsoft: [],\n\t\t\t},\n\t\t},\n\t},\n)\n","import * as RadixSlider from \"@radix-ui/react-slider\"\nimport { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { sliderRangeCva, sliderRootCva, sliderThumbCva, sliderTrackCva } from \"./cva\"\nimport type { SliderVariantProps } from \"./typings\"\n\nexport interface SliderRootProps extends RadixSlider.SliderProps, SliderVariantProps {}\n\n/**\n * A customizable slider component for selecting values from a range.\n * Supports both horizontal and vertical orientations with multiple handle support.\n *\n * @param {SliderSize} [size=\"md\"] - Size of the slider\n * @param [orientation=\"horizontal\"] {SliderOrientation} - Direction of the slider\n * @param [variant=\"surface\"] {SliderVariant} - Visual style variant\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const Slider = memo<SliderRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize = \"md\",\n\t\torientation = \"horizontal\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"surface\",\n\t\ttabIndex,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixSlider.Root\n\t\t\tclassName={cx(\n\t\t\t\tsliderRootCva({ size, variant, orientation }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\torientation={orientation}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<RadixSlider.Track className={sliderTrackCva({ size, variant, orientation })}>\n\t\t\t\t<RadixSlider.Range className={sliderRangeCva({ size, variant, orientation })} />\n\t\t\t</RadixSlider.Track>\n\t\t\t{(props.value ?? rest.defaultValue ?? []).map((value, index) => (\n\t\t\t\t<RadixSlider.Thumb\n\t\t\t\t\tkey={`${index}-${value}`}\n\t\t\t\t\tclassName={cx(sliderThumbCva({ size, variant }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\t\t{...(tabIndex !== undefined ? { tabIndex } : undefined)}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</RadixSlider.Root>\n\t)\n})\nSlider.displayName = \"Slider\"\n","import { memo } from \"react\"\n\n/**\n * Loading spinner component that indicates ongoing operations.\n * Displays a rotating circular indicator with consistent styling.\n */\nexport const Spinner = memo(() => {\n\treturn <div className=\"size-6 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-6\", \"w-12\"],\n\t\t\t\tsm: [\"h-7\", \"w-14\"],\n\t\t\t\tmd: [\"h-8\", \"w-16\"],\n\t\t\t\tlg: [\"h-9\", \"w-18\"],\n\t\t\t\txl: [\"h-10\", \"w-20\"],\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)*6)-1px)]\"],\n\t\t\t\tsm: [\"size-[calc(calc(var(--spacing)*7)-1px)]\"],\n\t\t\t\tmd: [\"size-[calc(calc(var(--spacing)*8)-1px)]\"],\n\t\t\t\tlg: [\"size-[calc(calc(var(--spacing)*9)-1px)]\"],\n\t\t\t\txl: [\"size-[calc(calc(var(--spacing)*10)-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 { type ComponentPropsWithRef, 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 ComponentPropsWithRef<typeof RadixSwitch.Root>, SwitchVariantProps {}\n\n/**\n * A toggle switch component that allows users to turn an option on or off.\n * Provides visual feedback for the current state and smooth transitions.\n *\n * @param [size=\"md\"] {SwitchSize} - Size of the switch\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const SwitchRoot = memo<SwitchRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixSwitch.Root\n\t\t\tclassName={cx(switchRoot({ size }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SwitchContext.Provider value={{ size, radius }}>{children}</SwitchContext.Provider>\n\t\t</RadixSwitch.Root>\n\t)\n})\n\nSwitchRoot.displayName = \"SwitchRoot\"\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { SwitchContext } from \"./context\"\nimport { switchThumb } from \"./cva\"\n\nexport interface SwitchThumbProps extends ComponentPropsWithRef<typeof RadixSwitch.Thumb> {}\n\n/**\n * The moveable thumb element inside a Switch that indicates the current state.\n * Automatically transitions between positions based on the switch's checked state.\n * Inherits size and radius from its parent SwitchRoot.\n */\nexport const SwitchThumb = memo<SwitchThumbProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\tconst { size, radius } = useContext(SwitchContext)\n\n\treturn (\n\t\t<RadixSwitch.Thumb\n\t\t\tclassName={cx(switchThumb({ size }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\n\nSwitchThumb.displayName = \"SwitchThumb\"\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableBodyProps extends ComponentPropsWithRef<\"tbody\"> {}\n\n/**\n * Table body section that contains the main data rows.\n * Used to group table data content for semantic structure.\n */\nexport const TableBody = memo<TableBodyProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <tbody ref={ref} className={cx(className)} {...rest} />\n})\nTableBody.displayName = \"TableBody\"\n","import { createContext } from \"react\"\n\nimport type { 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\", \"bg-(--accent-a2)\"],\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-2\"],\n\t\t\tsm: [\"p-4\"],\n\t\t\tmd: [\"p-6\"],\n\t\t\tlg: [\"p-8\"],\n\t\t\txl: [\"p-10\"],\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})\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableCellProps extends ComponentPropsWithRef<\"td\"> {}\n\n/**\n * Table cell component that displays data within table rows.\n * Inherits styling from parent TableRoot including size, borders, and variant.\n */\nexport const TableCell = memo<TableCellProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <td ref={ref} className={cx(tableCellCva({ size, border, cell: true, variant }), className)} {...rest} />\n})\nTableCell.displayName = \"TableCell\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableColumnHeaderCellProps extends ComponentPropsWithRef<\"th\"> {}\n\nexport const TableColumnHeaderCell = memo<TableColumnHeaderCellProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(tableCellCva({ size, border, cell: false, variant }), className)} {...rest} />\n})\nTableColumnHeaderCell.displayName = \"TableColumnHeaderCell\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableFooterProps extends ComponentPropsWithRef<\"tfoot\"> {}\n\nexport const TableFooter = memo<TableFooterProps>((props) => {\n\tconst { ref, 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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableHeaderProps extends ComponentPropsWithRef<\"thead\"> {}\n\n/**\n * Table header section that contains header rows and cells.\n * Used to group table header content for semantic structure.\n */\nexport const TableHeader = memo<TableHeaderProps>((props) => {\n\tconst { ref, 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 { type ComponentPropsWithRef, memo } 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<ComponentPropsWithRef<\"table\">, \"border\">, TableVariantProps {}\n\n/**\n * Root table component that provides styling context for table elements.\n * Supports various visual styles, sizes, and border configurations.\n *\n * @param [size=\"md\"] {TableSize} - Size variant affecting padding and font size\n * @param [border=\"row\"] {TableBorder} - Border style - \"none\", \"row\", \"column\", or \"all\"\n * @param [variant=\"ghost\"] {TableVariant} - Visual style variant\n * @param [accentColor=\"base\"] {string} - Accent color for styling\n */\nexport const TableRoot = memo<TableRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tborder = \"row\",\n\t\taccentColor = \"base\",\n\t\tvariant = \"ghost\",\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<table\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\ttableRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: providerContext.radius, maxLarge: true }),\n\t\t\t\tclassName,\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableRowProps extends ComponentPropsWithRef<\"tr\"> {}\n\n/**\n * Table row component that contains table cells.\n * Provides the structural foundation for table data organization.\n */\nexport const TableRow = memo<TableRowProps>((props) => {\n\tconst { ref, 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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableRowHeaderCellProps extends ComponentPropsWithRef<\"th\"> {}\n\nexport const TableRowHeaderCell = memo<TableRowHeaderCellProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(tableCellCva({ size, border, cell: true, variant }), className)} {...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\nexport interface 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-3\", \"gap-1.5\"],\n\t\t\t\tsm: [\"px-3.5\", \"gap-1.75\"],\n\t\t\t\tmd: [\"px-4\", \"gap-2\"],\n\t\t\t\tlg: [\"px-4.5\", \"gap-2.25\"],\n\t\t\t\txl: [\"px-5\", \"gap-2.5\"],\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<typeof RadixTabs.List>, TabsVariantProps {}\n\n/**\n * Container for tab trigger buttons with consistent styling and sizing.\n * Provides context for child TabsTrigger components.\n *\n * @param size - Size variant affecting trigger button dimensions (default: \"md\")\n * @param accentColor - Accent color override (default: provider value)\n */\nexport const TabsList = memo<TabsListProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst { ref, 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(tabsListCva({ size }), className)}\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TabsRootProps extends ComponentPropsWithRef<typeof RadixTabs.Root> {}\n\n/**\n * Root container for tab components that manages state and orientation.\n * Provides the foundation for tab navigation and content switching.\n */\nexport const TabsRoot = memo<TabsRootProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(\"flex flex-col\", className)} {...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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { tabsTriggerCva } from \"./cva\"\nimport { useTabsList } from \"./hooks\"\n\nexport interface TabsTriggerProps extends ComponentPropsWithRef<typeof RadixTabs.Trigger> {}\n\n/**\n * Individual tab trigger button that activates corresponding tab content.\n * Inherits size styling from its parent TabsList component.\n */\nexport const TabsTrigger = memo<TabsTriggerProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { size } = useTabsList()\n\n\treturn (\n\t\t<RadixTabs.Trigger ref={ref} className={cx(tabsTriggerCva({ size }), className)} {...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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { textCva } from \"./cva\"\nimport type { TextVariantProps } from \"./typings\"\n\nexport interface TextProps extends ComponentPropsWithRef<\"span\">, TextVariantProps {}\n\n/**\n * Versatile text component with comprehensive typography controls.\n * Supports various sizes, weights, alignments, and accent color styling.\n *\n * @param {TextSize} size - Text size variant\n * @param weight {TextWeight} - Font weight variant\n * @param {TextAlign} align - Text alignment\n * @param accentColor {string} - Accent color for text styling\n * @param [highContrast=false] {boolean} - Enable high contrast mode\n */\nexport const Text = memo<TextProps>((props) => {\n\tconst { ref, 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(\n\t\t\t\ttextCva({ size, weight, align }),\n\t\t\t\t{\n\t\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t\t},\n\t\t\t\tclassName,\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-3\", \"text-xs\"],\n\t\t\t\tsm: [\"p-3.5\", \"text-sm\"],\n\t\t\t\tmd: [\"p-4\", \"text-base\"],\n\t\t\t\tlg: [\"p-4.5\", \"text-lg\"],\n\t\t\t\txl: [\"p-5\", \"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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"textarea\">, TextAreaVariantProps {}\n\n/**\n * A multi-line text input component with customizable styling and resize options.\n * Supports various visual styles and sizes with enhanced focus and selection states.\n *\n * @param [variant=\"outline\"] {TextAreaVariant} - Visual style variant\n * @param [size=\"md\"] {TextAreaSize} - Size of the textarea\n * @param [resize=\"none\"] {TextAreaResize} - Resize behavior\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const TextArea = memo<TextAreaProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\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(textAreaCva({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\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-6)\"],\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 { type FC, memo, useCallback, useState } from \"react\"\n\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { LuIcon } from \"../LuIcon\"\nimport { useProvider } from \"../Provider\"\nimport { toastCva } from \"./cva\"\nimport type { ToastProps } from \"./typings\"\n\nconst _Toast = function Toast(props: ToastProps) {\n\tconst { radius, ...restProviderContext } = useProvider()\n\tconst {\n\t\tref,\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 max-w-full 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<LuIcon icon=\"x\" />\n\t\t\t\t</IconButton>\n\t\t\t</RadixToast.Close>\n\t\t</RadixToast.Root>\n\t)\n}\n\n/**\n * Toast notification component that displays temporary messages to users.\n * Includes title, description, icon, and optional action button with auto-dismiss functionality.\n *\n * @param title - Main toast message title (required)\n * @param description - Additional descriptive text (required)\n * @param icon - Optional icon element to display\n * @param [size=\"md\"] - Size variant affecting padding and button sizes\n * @param [variant=\"surface\"] - Visual style variant\n * @param accentColor - Accent color override (default: provider value)\n * @param sensitivity - Toast type for screen readers - \"foreground\" or \"background\"\n * @param action - Optional action object with content and altText\n * @param onClose - Callback fired when toast is closed\n */\nexport const Toast: FC<ToastProps> = memo(_Toast)\n\nToast.displayName = \"Toast\"\n","import { createContext, useContext } from \"react\"\n\nimport type { 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 { type 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 */\n/**\n * Toast context provider that manages toast state and provides toast methods to child components.\n * Automatically calculates toast duration based on content length and provides themed toast variants.\n *\n * @param className - CSS class for toast viewport positioning\n * @param hotkey - Keyboard shortcut to focus toast viewport\n */\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\t\"fixed top-0 right-0 z-[2147483647] flex w-full max-w-md list-none flex-col items-end gap-3 overflow-x-hidden overflow-y-auto p-5 outline-none\",\n\t\t\t\t\t\tclassName,\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\nToastProvider.displayName = \"ToastProvider\"\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\tsoft: [\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\"bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t],\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 { memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toggleButtonCva } from \"./cva\"\nimport type { BaseToggleButtonProps } from \"./typings\"\n\nexport const BaseToggleButton = memo<BaseToggleButtonProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\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(toggleButtonCva({ size, variant, icon }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nBaseToggleButton.displayName = \"BaseToggleButton\"\n","import { memo } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const IconToggleButton = memo<ToggleButtonProps>((props) => {\n\treturn <BaseToggleButton icon {...props} />\n})\nIconToggleButton.displayName = \"IconToggleButton\"\n","import { memo } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const ToggleButton = memo<ToggleButtonProps>((props) => {\n\treturn <BaseToggleButton icon={false} {...props} />\n})\nToggleButton.displayName = \"ToggleButton\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { ToggleGroupSize, ToggleGroupVariant } from \"./typings\"\n\nexport interface IToggleGroupContext {\n\tvariant: ToggleGroupVariant\n\tsize: ToggleGroupSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const ToggleGroupContext = createContext({} as IToggleGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const toggleGroupItemCva = 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\tsoft: [\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\"bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t],\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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},\n)\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { ToggleGroupContext } from \"./context\"\nimport { toggleGroupItemCva } from \"./cva\"\nimport type { ToggleGroupVariantProps } from \"./typings\"\n\nexport interface ToggleGroupBaseItemProps\n\textends ComponentPropsWithRef<typeof RadixToggleGroup.Item>,\n\t\tToggleGroupVariantProps {\n\ticon: boolean\n}\n\nexport const ToggleGroupBaseItem = memo<ToggleGroupBaseItemProps>((props) => {\n\tconst toggleGroupContext = use(ToggleGroupContext)\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\ticon,\n\t\taccentColor = toggleGroupContext.accentColor,\n\t\tradius = toggleGroupContext.radius,\n\t\tvariant = toggleGroupContext.variant,\n\t\tsize = toggleGroupContext.size,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixToggleGroup.Item\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\ttoggleGroupItemCva({ icon, variant, size }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nToggleGroupBaseItem.displayName = \"ToggleGroupBaseItem\"\n","import { memo } from \"react\"\n\nimport { ToggleGroupBaseItem, type ToggleGroupBaseItemProps } from \"./BaseItem\"\n\nexport interface ToggleGroupIconItemProps extends Omit<ToggleGroupBaseItemProps, \"icon\"> {}\n\nexport const ToggleGroupIconItem = memo<ToggleGroupIconItemProps>((props) => {\n\treturn <ToggleGroupBaseItem icon {...props} />\n})\nToggleGroupIconItem.displayName = \"ToggleGroupIconItem\"\n","import { memo } from \"react\"\n\nimport { ToggleGroupBaseItem, type ToggleGroupBaseItemProps } from \"./BaseItem\"\n\nexport interface ToggleGroupItemProps extends Omit<ToggleGroupBaseItemProps, \"icon\"> {}\n\n/**\n * Individual toggle item within a ToggleGroup for text-based toggles.\n * Inherits styling from parent ToggleGroupRoot and supports toggling state.\n */\nexport const ToggleGroupItem = memo<ToggleGroupItemProps>((props) => {\n\treturn <ToggleGroupBaseItem icon={false} {...props} />\n})\nToggleGroupItem.displayName = \"ToggleGroupItem\"\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { ToggleGroupContext } from \"./context\"\nimport type { ToggleGroupVariantProps } from \"./typings\"\n\nexport type ToggleGroupRootProps = ComponentPropsWithRef<typeof RadixToggleGroup.Root> & ToggleGroupVariantProps\n\n/**\n * Root component for toggle groups that manages multi-selection or single-selection state.\n * Provides context and styling for child toggle items.\n *\n * @param {ToggleGroupVariant} [variant=\"soft\"] - Visual style variant\n * @param [size=\"md\"] {ToggleGroupSize} - Size variant affecting button dimensions\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const ToggleGroupRoot = memo<ToggleGroupRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"soft\",\n\t\tsize = \"md\",\n\t\t...rest\n\t} = props\n\n\tconst contextValue = 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<RadixToggleGroup.Root ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t<ToggleGroupContext value={contextValue}>{children}</ToggleGroupContext>\n\t\t</RadixToggleGroup.Root>\n\t)\n})\nToggleGroupRoot.displayName = \"ToggleGroupRoot\"\n","import { ToggleGroupIconItem } from \"./IconItem\"\nimport { ToggleGroupItem } from \"./Item\"\nimport { ToggleGroupRoot } from \"./Root\"\n\nexport * from \"./IconItem\"\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const ToggleGroup = {\n\tRoot: ToggleGroupRoot,\n\tItem: ToggleGroupItem,\n\tIconItem: ToggleGroupIconItem,\n}\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TooltipArrowProps extends ComponentPropsWithRef<typeof RadixTooltip.Arrow> {}\n\nexport const TooltipArrow = memo((props: TooltipArrowProps) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixTooltip.Arrow className={cx(\"fill-(--base-6)\", className)} 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-(--base-6)\",\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: [\"px-3\"],\n\t\t\t\tsm: [\"px-3.5\"],\n\t\t\t\tmd: [\"px-4\"],\n\t\t\t\tlg: [\"px-4.5\"],\n\t\t\t\txl: [\"px-5\"],\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<typeof RadixTooltip.Content>, TooltipVariantProps {\n\tcontainer?: RadixTooltip.TooltipPortalProps[\"container\"]\n}\n\n/**\n * Content area for tooltip components that provides contextual help text.\n * Automatically positions itself relative to the trigger with minimal styling.\n *\n * @param [side=\"top\"] {\"top\" | \"right\" | \"bottom\" | \"left\"} - Preferred side for positioning\n * @param [size=\"md\"] {TooltipSize} - Size variant affecting text size and padding\n * @param [sideOffset=2] {number} - Distance from the trigger element\n * @param radius {ComponentRadius} - Border radius override\n * @param container {RadixTooltip.TooltipPortalProps[\"container\"]} - Portal container for rendering\n */\nexport const TooltipContent = memo<TooltipContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tside = \"top\",\n\t\tsize,\n\t\tradius = providerContext.radius,\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(tooltipContent({ size, side }), radiusCva({ radius, maxLarge: false }), className)}\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","state","cleanups","MultiSelectProvider","SingleSelectRequiredProvider","SingleSelectNotRequiredProvider","SelectedIndicatorContext","DialogContent","CommandMenuMultiSelectGroup","DialogOverlay","CommandMenuRadioGroup","ReactDayPicker","inputRoot","hide","SlideOut","MenuItem","mergeRefs","MenuCheckboxItem","_a","MenuGroup","MenuMultiSelectGroup","MenuMultiSelectItem","MenuPages","MenuRoot","offset","offsetMiddleware","sizeMiddleware","MenuSelectAllItem","MenuSelectedIndicator","MenuSelectGroup","MenuSelectItem","MenuSeparator","Toast","toast","RadixToastProvider"],"mappings":"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"}
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","../src/SelectContext/context.ts","../src/hooks.ts","../src/utils.ts","../src/SelectContext/MultiSelectProvider.tsx","../src/SelectContext/SingleSelectProvider.tsx","../src/CheckboxGroup/context.ts","../src/CheckboxGroup/Item.tsx","../src/CheckboxGroup/ItemIndicator.tsx","../src/CheckboxGroup/Root.tsx","../src/CheckboxGroup/SelectAllItem.tsx","../src/CheckboxGroup/index.ts","../src/CheckedIndicator/context.ts","../src/CheckedIndicator/CheckedIndicator.tsx","../src/CommandMenu/CheckboxIndicator.tsx","../src/CommandMenu/context.ts","../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/SelectedIndicator/context.ts","../src/SelectedIndicator/SelectedIndicator.tsx","../src/CommandMenu/SelectedIndicator.tsx","../src/CommandMenu/Separator.tsx","../src/CommandMenu/Trigger.tsx","../src/CommandMenu/index.ts","../src/LuIcon/LuIcon.tsx","../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/Menu/cva.ts","../src/Menu/menuContentContext.ts","../src/Menu/rootContext.ts","../src/Menu/subContentContext.ts","../src/Menu/Item.tsx","../src/Menu/CheckboxItem.tsx","../src/Menu/CheckboxItemIndicator.tsx","../src/Menu/ClickTrigger.tsx","../src/Menu/Content.tsx","../src/Menu/ContextTrigger.tsx","../src/Menu/Group.tsx","../src/Menu/InputField.tsx","../src/Menu/InputRoot.tsx","../src/Menu/InputSlot.tsx","../src/Menu/Label.tsx","../src/Menu/MultiSelectGroup.tsx","../src/Menu/MultiSelectItem.tsx","../src/Menu/menuPagesContext.ts","../src/Menu/PageContent.tsx","../src/Menu/Pages.tsx","../src/Menu/PageTrigger.tsx","../src/Menu/constants.ts","../src/Menu/Root.tsx","../src/Menu/Scroll.tsx","../src/Menu/SelectAllItem.tsx","../src/Menu/SelectedIndicator.tsx","../src/Menu/SelectGroup.tsx","../src/Menu/SelectItem.tsx","../src/Menu/Separator.tsx","../src/Menu/utils.ts","../src/Menu/Sub.tsx","../src/Menu/SubContent.tsx","../src/Menu/SubTrigger.tsx","../src/Menu/VirtualTrigger.tsx","../src/Menu/index.ts","../src/MenuV2/constants.ts","../src/MenuV2/context.ts","../src/MenuV2/cva.ts","../src/MenuV2/Item.tsx","../src/MenuV2/CheckboxItem.tsx","../src/MenuV2/CheckboxItemIndicator.tsx","../src/MenuV2/Group.tsx","../src/MenuV2/GroupLabel.tsx","../src/MenuV2/MultiSelectAllItem.tsx","../src/MenuV2/MultiSelectGroup.tsx","../src/MenuV2/MultiSelectItem.tsx","../src/MenuV2/Page.tsx","../src/MenuV2/Pages.tsx","../src/MenuV2/PageTriggerItem.tsx","../src/MenuV2/utils.ts","../src/MenuV2/Root.tsx","../src/MenuV2/SelectedIndicator.tsx","../src/MenuV2/SelectGroup.tsx","../src/MenuV2/SelectItem.tsx","../src/MenuV2/Separator.tsx","../src/MenuV2/index.ts","../src/OneTimePasswordField/HiddenInput.tsx","../src/OneTimePasswordField/context.ts","../src/OneTimePasswordField/cva.ts","../src/OneTimePasswordField/Input.tsx","../src/OneTimePasswordField/Root.tsx","../src/OneTimePasswordField/index.ts","../src/Overlay/Close.tsx","../src/Overlay/cva.ts","../src/Overlay/Content.tsx","../src/Overlay/Description.tsx","../src/Overlay/Root.tsx","../src/Overlay/Title.tsx","../src/Overlay/Trigger.tsx","../src/Overlay/index.ts","../src/OvermapErrorBoundary/OvermapErrorBoundary.tsx","../src/Popover/Arrow.tsx","../src/Popover/cva.ts","../src/Popover/Content.tsx","../src/Popover/index.ts","../src/Progress/cva.ts","../src/Progress/Progress.tsx","../src/RadioCards/context.ts","../src/RadioCards/cva.ts","../src/RadioCards/Item.tsx","../src/RadioCards/Root.tsx","../src/RadioCards/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/Rating/context.ts","../src/Rating/Item.tsx","../src/Rating/ItemIndicator.tsx","../src/Rating/Root.tsx","../src/Rating/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/SegmentedTabs/context.ts","../src/SegmentedTabs/cva.ts","../src/SegmentedTabs/List.tsx","../src/SegmentedTabs/Root.tsx","../src/SegmentedTabs/Trigger.tsx","../src/SegmentedTabs/index.ts","../src/Separator/cva.ts","../src/Separator/Separator.tsx","../src/Slider/cva.ts","../src/Slider/Slider.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/ToggleGroup/context.ts","../src/ToggleGroup/cva.ts","../src/ToggleGroup/BaseItem.tsx","../src/ToggleGroup/IconItem.tsx","../src/ToggleGroup/Item.tsx","../src/ToggleGroup/Root.tsx","../src/ToggleGroup/index.ts","../src/Tooltip/Arrow.tsx","../src/Tooltip/cva.ts","../src/Tooltip/Content.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import { cva } 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","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\nexport interface 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 { memo, type 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\n/**\n * Root provider component that supplies global theme configuration to all child components.\n * Sets default accent color and border radius for the entire component tree.\n *\n * @param {string} accentColor - Global accent color used by all components (required)\n * @param [radius=\"md\"] {ComponentRadius} - Global border radius setting\n */\nexport const Provider = memo((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})\nProvider.displayName = \"Provider\"\n","import { cva } from \"class-variance-authority\"\n\nexport const dialogOverlay = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\n\t// background\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\n\t// background and border\n\t\"duration-200\",\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\"h-max\",\n\t\t\"max-h-3/4\",\n\t\t\"overflow-hidden\",\n\t\t\"w-full\",\n\n\t\t// background and border\n\t\t\"shadow-md\",\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\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\n\t\t// positioning\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\n\t\t// animation\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { dialogContent, dialogOverlay } from \"./cva\"\nimport { type AlertDialogVariantProps } from \"./typings\"\n\nexport interface AlertDialogContentProps\n\textends ComponentPropsWithRef<typeof RadixAlertDialog.Content>,\n\t\tAlertDialogVariantProps {\n\tcontainer?: RadixAlertDialog.AlertDialogPortalProps[\"container\"]\n}\n\n/**\n * Content container for AlertDialog with overlay and portal rendering.\n * Displays critical messages requiring user acknowledgment.\n *\n * @param {AlertDialogSize} [size=\"md\"] - Dialog size\n * @param container {RadixAlertDialog.AlertDialogPortalProps[\"container\"]} - Portal container element\n */\nexport const AlertDialogContent = memo<AlertDialogContentProps>((props) => {\n\tconst { radius } = useProvider()\n\tconst { ref, children, 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(dialogContent({ size }), radiusCva({ radius, maxLarge: true }), className)}\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{children}\n\t\t\t</RadixAlertDialog.Content>\n\t\t</RadixAlertDialog.Portal>\n\t)\n})\nAlertDialogContent.displayName = \"AlertDialogContent\"\n","import { createContext } from \"react\"\n\nimport { type 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 { ButtonVariantProps } from \"../Buttons\"\n\nexport interface IButtonGroupContext extends Required<ButtonVariantProps> {}\n\nexport const ButtonGroupContext = createContext<IButtonGroupContext>({} as IButtonGroupContext)\n","import { type ComponentProps, memo, type PropsWithoutRef, useMemo } from \"react\"\n\nimport type { ButtonVariantProps } from \"../Buttons\"\nimport { useProvider } from \"../Provider\"\nimport { ButtonGroupContext } from \"./context\"\n\nexport interface ButtonGroupProps extends PropsWithoutRef<ComponentProps<\"div\">>, ButtonVariantProps {}\n\n/**\n * Container for grouping multiple buttons with shared styling.\n * Provides consistent variant, size, and theme to child buttons.\n *\n * @param [variant=\"solid\"] {ButtonVariant} - Button style variant\n * @param {ButtonSize} [size=\"md\"] - Button size\n * @param radius {ComponentRadius} - Border radius\n * @param accentColor {string} - Theme color\n */\nexport const ButtonGroup = memo<ButtonGroupProps>((props) => {\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\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\t\t\"whitespace-nowrap\",\n\t\t\"text-center\",\n\t\t\"align-top\",\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 { type ComponentPropsWithRef, memo } 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, ComponentPropsWithRef<\"button\"> {}\n\n/**\n * Primary button component for user interactions.\n * Supports multiple variants, sizes, and theme colors.\n *\n * @param [variant=\"solid\"] {ButtonVariant} - Button style variant\n * @param [size=\"md\"] {ButtonSize} - Button size\n * @param radius {ComponentRadius} - Border radius\n * @param accentColor {string} - Theme color\n */\nexport const Button = memo<ButtonProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst buttonsContext = useButtonGroup()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tvariant = buttonsContext.variant,\n\t\tsize = buttonsContext.size,\n\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(buttonCva({ size, icon: false, variant }), radiusCva({ radius, maxLarge: false }), className)}\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</button>\n\t)\n})\nButton.displayName = \"Button\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } 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 extends ButtonVariantProps, ComponentPropsWithRef<\"button\">, AccentColorProps {}\n\n/**\n * Square button optimized for icon-only content.\n * Maintains 1:1 aspect ratio for consistent icon display.\n *\n * @param [variant=\"solid\"] {ButtonVariant} - Button style variant\n * @param [size=\"md\"] {ButtonSize} - Button size\n * @param radius {ComponentRadius} - Border radius\n * @param accentColor {string} - Theme color\n */\nexport const IconButton = memo<IconButtonProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst buttonsContext = useButtonGroup()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tvariant = buttonsContext.variant,\n\t\tsize = buttonsContext.size,\n\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(buttonCva({ size, icon: true, variant }), radiusCva({ radius, maxLarge: false }), className)}\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</button>\n\t)\n})\n\nIconButton.displayName = \"IconButton\"\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { memo, type PropsWithChildren, useCallback, useState } from \"react\"\n\nimport { Button } from \"../Buttons\"\nimport { AlertDialogContent } from \"./Content\"\nimport { AlertDialogContext } from \"./context\"\nimport type { AlertDialogOptions } from \"./typings\"\n\n/**\n * Provider component for programmatic alert dialogs.\n * Manages alert dialog state and provides context for opening dialogs imperatively.\n */\nexport const AlertDialogProvider = memo<PropsWithChildren>((props) => {\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})\nAlertDialogProvider.displayName = \"AlertDialogProvider\"\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\", \"align-middle\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-6\", \"w-6\", \"text-xs\"],\n\t\t\tsm: [\"h-7\", \"w-7\", \"text-sm\"],\n\t\t\tmd: [\"h-8\", \"w-8\", \"text-base\"],\n\t\t\tlg: [\"h-9\", \"w-9\", \"text-lg\"],\n\t\t\txl: [\"h-10\", \"w-10\", \"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\", \"size-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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { AvatarContext } from \"./context\"\nimport { avatarFallback } from \"./cva\"\n\nexport interface AvatarFallbackProps extends ComponentPropsWithRef<typeof RadixAvatar.AvatarFallback> {}\n\n/**\n * Fallback content for Avatar when image fails to load.\n * Typically displays user initials or placeholder icon.\n */\nexport const AvatarFallback = memo<AvatarFallbackProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { variant } = useContext(AvatarContext)\n\n\treturn (\n\t\t<RadixAvatar.AvatarFallback className={cx(avatarFallback({ variant }), className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixAvatar.AvatarFallback>\n\t)\n})\nAvatarFallback.displayName = \"AvatarFallback\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface AvatarImageProps extends ComponentPropsWithRef<typeof RadixAvatar.Image> {}\n\n/**\n * Image component for Avatar.\n * Handles loading and display of user profile images.\n */\nexport const AvatarImage = memo<AvatarImageProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn (\n\t\t<RadixAvatar.Image\n\t\t\tclassName={cx(\"object-cover\", \"rounded-[inherit]\", \"w-full\", \"h-full\", className)}\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<typeof RadixAvatar.Root>, AvatarVariantProps {}\n\n/**\n * Root container for Avatar component.\n * Displays user profile images with fallback support.\n *\n * @param [size=\"md\"] {AvatarSize} - Avatar size\n * @param [variant=\"solid\"] {AvatarVariant} - Visual style\n * @param accentColor {string} - Theme color\n * @param radius {ComponentRadius} - Border radius\n */\nexport const AvatarRoot = memo<AvatarRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize,\n\t\tvariant = \"solid\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<RadixAvatar.Root\n\t\t\tclassName={cx(avatar({ size }), radiusCva({ radius, maxLarge: false }), className)}\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\", \"whitespace-nowrap\"], {\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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\tfill: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a3)\", \"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-6\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"px-3\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"w-7\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"px-3.5\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"w-8\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"px-4\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"w-9\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"px-4.5\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"w-10\",\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"span\">, BadgeVariantProps {}\n\n/**\n * Badge component for displaying status indicators, labels, or counts.\n * Supports multiple variants and sizes.\n *\n * @param [variant=\"solid\"] {BadgeVariant} - Visual style\n * @param [size=\"md\"] {BadgeSize} - Badge size\n * @param [icon=false] {boolean} - Whether badge contains only an icon\n * @param accentColor {string} - Theme color\n * @param {ComponentRadius} radius - Border radius\n */\nexport const Badge = memo<BadgeProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\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(badge({ variant, size, icon }), radiusCva({ radius, maxLarge: false }), className)}\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-a2)\"],\n\t\t\tsurface: [\"bg-(--accent-a2)\", \"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\"],\n\t\t\tsm: [\"p-3\"],\n\t\t\tmd: [\"p-4\"],\n\t\t\tlg: [\"p-5\"],\n\t\t\txl: [\"p-6\"],\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"div\">, CardVariantProps {}\n\n/**\n * Container component for grouped content with visual separation.\n * Provides elevated or outlined appearance for content sections.\n *\n * @param {CardSize} [size=\"md\"] - Card padding size\n * @param [variant=\"surface\"] {CardVariant} - Visual style\n * @param accentColor {string} - Theme color\n * @param radius {ComponentRadius} - Border radius\n */\nexport const Card = memo<CardProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(cardCva({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nCard.displayName = \"Card\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface CheckboxIndicatorProps extends ComponentPropsWithRef<typeof RadixCheckbox.CheckboxIndicator> {}\n\n/**\n * The visual indicator that appears inside a checkbox when it's checked.\n * Automatically handles checked/indeterminate state display.\n */\nexport const CheckboxIndicator = memo<CheckboxIndicatorProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixCheckbox.CheckboxIndicator\n\t\t\tclassName={cx(\"flex items-center justify-center\", className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixCheckbox.CheckboxIndicator>\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\t\t\"align-top\",\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: [\"size-4\", \"text-xs\"],\n\t\t\t\tsm: [\"size-5\", \"text-sm\"],\n\t\t\t\tmd: [\"size-6\", \"text-base\"],\n\t\t\t\tlg: [\"size-7\", \"text-lg\"],\n\t\t\t\txl: [\"size-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 { type ComponentPropsWithRef, memo } 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, ComponentPropsWithRef<typeof RadixCheckbox.Root> {}\n\n/**\n * A customizable checkbox component that supports various styles and sizes.\n * Built on top of Radix UI Checkbox primitive with enhanced styling options.\n *\n * @param [variant=\"surface\"] {CheckboxVariant} - Visual style variant\n * @param [size=\"md\"] {CheckboxSize} - Size of the checkbox\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const CheckboxRoot = memo<CheckboxRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\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</RadixCheckbox.Root>\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 { createContext } from \"react\"\n\nexport interface ISelectContext<TValue> {\n\tselectValue: (value: TValue) => void\n\tselected: (value: TValue) => boolean\n}\n\nexport const SelectContext = createContext({} as ISelectContext<never>)\n\nexport interface IMultiSelectContext<TValue> {\n\tselectValue: (value: TValue) => void\n\tselected: (value: TValue) => boolean\n\tregisterValue: (value: TValue) => () => void\n\tallSelected: boolean\n\tsomeSelected: boolean\n\ttoggleSelectAll: () => void\n}\n\nexport const MultiSelectContext = createContext({} as IMultiSelectContext<never>)\n","import { type Dispatch, type SetStateAction, useCallback, useEffect, useId, useLayoutEffect, useState } from \"react\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport type { ViewportSizes } from \"./typings\"\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 = (\n\tprops: useViewportSizeProps,\n): Record<Exclude<ViewportSizes, \"initial\">, boolean> & {\n\tprevSize: ViewportSizes\n\tsize: ViewportSizes\n} => {\n\tconst { xs: xsProps, sm: smProps, md: mdProps, lg: lgProps, xl: xlProps } = props\n\tconst [prevSize, setPrevSize] = useState<ViewportSizes>(\"initial\")\n\tconst [size, setSize] = useState<ViewportSizes>(\"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/** 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 items items that should be filtered on (of type T) */\nexport function useTextFilter<TItem>(\n\titems: TItem[],\n\tfilterFunction: (value: TItem, filterValue: string) => boolean,\n): [TItem[], string, Dispatch<SetStateAction<string>>] {\n\tconst [filteredOptions, setFilteredOptions] = useState<TItem[]>([])\n\tconst [filterValue, setFilterValue] = useState<string>(\"\")\n\n\tuseEffect(() => {\n\t\tsetFilteredOptions(items.filter((value) => filterFunction(value, filterValue)))\n\t}, [filterFunction, filterValue, items])\n\n\treturn [filteredOptions, filterValue, setFilterValue]\n}\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\t// allow for uncontrolled state to be set\n\tconst handleStateChange = useCallback(\n\t\t(state: TState) => {\n\t\t\tsetUncontrolledState(state)\n\t\t\tsetState?.(state)\n\t\t},\n\t\t[setState],\n\t)\n\n\t// keep the uncontrolled state in sync with the controlled state\n\tuseEffect(() => {\n\t\tif (state !== undefined) {\n\t\t\tsetUncontrolledState(state)\n\t\t}\n\t}, [state])\n\n\treturn [state ?? uncontrolledState, handleStateChange]\n}\n\nexport function useFallbackId(id?: string) {\n\tconst fallbackId = useId()\n\treturn id ?? fallbackId\n}\n","import type * as React from \"react\"\nimport { memo, type RefCallback, type SyntheticEvent } from \"react\"\n\nimport type { CheckedState } from \"./CheckedIndicator\"\n\nexport const genericMemo: <T>(component: T) => T = memo\n\nexport function mergeRefs<T>(refs: Array<React.Ref<T> | undefined>): React.RefCallback<T> {\n\treturn (value) => {\n\t\tconst cleanups = refs.reduce(\n\t\t\t(cleanups, ref) => {\n\t\t\t\tif (typeof ref === \"function\") {\n\t\t\t\t\tconst cleanup = ref(value)\n\t\t\t\t\tif (typeof cleanup === \"function\") {\n\t\t\t\t\t\tcleanups.push(cleanup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// simulate previous ref cleanup behavior\n\t\t\t\t\t\tcleanups.push(() => {\n\t\t\t\t\t\t\tref(null)\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} else if (ref != null) {\n\t\t\t\t\tref.current = value\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.current = null\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn cleanups\n\t\t\t},\n\t\t\t[] as Exclude<ReturnType<RefCallback<T>>, void>[],\n\t\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\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\nexport function getBooleanState(value: boolean) {\n\treturn value ? \"true\" : \"false\"\n}\n\nexport function getOpenState(open: boolean) {\n\treturn open ? \"open\" : \"closed\"\n}\n","import { type PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { genericMemo } from \"../utils\"\nimport { MultiSelectContext } from \"./context\"\nimport type { MultiSelectProps } from \"./typings\"\n\nexport const MultiSelectProvider = genericMemo(function MultiSelectProvider<TValue>(\n\tprops: PropsWithChildren<MultiSelectProps<TValue>>,\n) {\n\tconst { children, defaultValues, values: controlledValues, onValuesChange } = props\n\n\tconst [itemValueMapping, setItemValueMapping] = useState<Set<TValue>>(new Set())\n\tconst [values, setValues] = useControlledState(defaultValues ?? [], controlledValues, onValuesChange)\n\n\tconst registerValue = useCallback((value: TValue) => {\n\t\tsetItemValueMapping((prev) => {\n\t\t\tconst newSet = new Set(prev)\n\t\t\tnewSet.add(value)\n\t\t\treturn newSet\n\t\t})\n\n\t\treturn () => {\n\t\t\tsetItemValueMapping((prev) => {\n\t\t\t\tconst newSet = new Set(prev)\n\t\t\t\tnewSet.delete(value)\n\t\t\t\treturn newSet\n\t\t\t})\n\t\t}\n\t}, [])\n\n\tconst selected = useCallback((value: TValue) => values.includes(value), [values])\n\n\tconst selectValue = useCallback(\n\t\t(value: TValue) => {\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 allSelected = useMemo(() => {\n\t\treturn Array.from(itemValueMapping.values()).every((value) => values.includes(value))\n\t}, [itemValueMapping, values])\n\n\tconst someSelected = useMemo(() => {\n\t\treturn Array.from(itemValueMapping.values()).some((value) => values.includes(value))\n\t}, [itemValueMapping, values])\n\n\tconst toggleSelectAll = useCallback(() => {\n\t\tif (allSelected) {\n\t\t\tsetValues([])\n\t\t} else {\n\t\t\tsetValues(Array.from(itemValueMapping.values()))\n\t\t}\n\t}, [allSelected, itemValueMapping, setValues])\n\n\tconst contextValue = useMemo(\n\t\t() => ({ selected, selectValue, allSelected, someSelected, toggleSelectAll, registerValue }),\n\t\t[allSelected, registerValue, selectValue, selected, someSelected, toggleSelectAll],\n\t)\n\n\treturn <MultiSelectContext value={contextValue}>{children}</MultiSelectContext>\n})\n","import { type PropsWithChildren, useCallback, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { genericMemo } from \"../utils\"\nimport { SelectContext } from \"./context\"\nimport type { SingleSelectNotRequiredProps, SingleSelectRequiredProps } from \"./typings\"\n\nexport const SingleSelectRequiredProvider = genericMemo(function SingleSelectRequiredProvider<TValue>(\n\tprops: PropsWithChildren<SingleSelectRequiredProps<TValue>>,\n) {\n\tconst { children, defaultValue, value, onValueChange } = props\n\n\t// REASON: we are expecting the user to specify a defaultValue or value, otherwise use of component is invalid\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-expect-error\n\tconst [controlledValue, setControlledValue] = useControlledState<TValue>(defaultValue, value, onValueChange)\n\n\tconst selected = useCallback((v: TValue) => v === controlledValue, [controlledValue])\n\n\tconst selectValue = useCallback(\n\t\t(v: TValue) => {\n\t\t\tif (selected(v)) return\n\t\t\tsetControlledValue(v)\n\t\t},\n\t\t[selected, setControlledValue],\n\t)\n\n\tconst contextValue = useMemo(() => ({ selected, selectValue }), [selectValue, selected])\n\n\treturn <SelectContext value={contextValue}>{children}</SelectContext>\n})\n\nexport const SingleSelectNotRequiredProvider = genericMemo(function SingleSelectNotRequiredProvider<TValue>(\n\tprops: PropsWithChildren<SingleSelectNotRequiredProps<TValue>>,\n) {\n\tconst { children, defaultValue = undefined, value: controlledValue, onValueChange } = props\n\n\tconst [value, setValue] = useControlledState(defaultValue, controlledValue, onValueChange)\n\n\tconst selected = useCallback((v: TValue) => v === value, [value])\n\n\tconst selectValue = useCallback(\n\t\t(v: TValue) => {\n\t\t\tsetValue(selected(v) ? undefined : v)\n\t\t},\n\t\t[selected, setValue],\n\t)\n\n\tconst contextValue = useMemo(() => ({ selected, selectValue }), [selected, selectValue])\n\n\treturn <SelectContext value={contextValue}>{children}</SelectContext>\n})\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { type ComponentProps, createContext } from \"react\"\n\nimport { type CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface ICheckboxGroupContext extends Required<CheckboxGroupVariantProps> {\n\tname?: string\n\trequired?: ComponentProps<typeof RadixCheckbox.Root>[\"required\"]\n\tdisabled?: ComponentProps<typeof RadixCheckbox.Root>[\"disabled\"]\n}\n\nexport const CheckboxGroupContext = createContext({} as ICheckboxGroupContext)\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use, useCallback, useLayoutEffect } from \"react\"\n\nimport { checkbox } from \"../Checkbox/cva\"\nimport { radiusCva } from \"../cva\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { CheckboxGroupContext } from \"./context\"\nimport type { CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface CheckboxGroupItemProps\n\textends Omit<\n\t\t\tComponentPropsWithRef<typeof RadixCheckbox.Root>,\n\t\t\t\"checked\" | \"defaultChecked\" | \"onCheckedChange\" | \"name\"\n\t\t>,\n\t\tCheckboxGroupVariantProps {\n\tvalue: string\n}\n\n/**\n * An individual checkbox item within a CheckboxGroup.\n * Inherits styling and behavior from its parent CheckboxGroupRoot.\n *\n * @param value - Unique identifier for this checkbox item (required)\n * @param variant - Visual style variant override (default: inherited from group)\n * @param size - Size override (default: inherited from group)\n * @param radius - Border radius override (default: inherited from group)\n * @param disabled - Whether this specific item is disabled\n */\nexport const CheckboxGroupItem = memo<CheckboxGroupItemProps>((props) => {\n\tconst groupContext = use(CheckboxGroupContext)\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\tvalue,\n\t\tdisabled,\n\t\taccentColor = groupContext.accentColor,\n\t\tvariant = groupContext.variant,\n\t\tsize = groupContext.size,\n\t\tradius = groupContext.radius,\n\t\t...rest\n\t} = props\n\tconst { selected, selectValue, registerValue } = use(MultiSelectContext) as IMultiSelectContext<string> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst isChecked = selected(value)\n\tconst isDisabled = groupContext.disabled || disabled\n\n\tconst handleCheckedChange = useCallback(() => {\n\t\tselectValue(value)\n\t}, [selectValue, value])\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tname={groupContext.name}\n\t\t\trequired={groupContext.required}\n\t\t\tdisabled={isDisabled}\n\t\t\tvalue={value}\n\t\t\tchecked={isChecked}\n\t\t\tonCheckedChange={handleCheckedChange}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxGroupItem.displayName = \"CheckboxGroupItem\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface CheckboxGroupItemIndicatorProps extends ComponentPropsWithRef<typeof RadixCheckbox.Indicator> {}\n\nexport const CheckboxGroupItemIndicator = memo<CheckboxGroupItemIndicatorProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixCheckbox.Indicator className={cx(\"flex items-center justify-center\", className)} ref={ref} {...rest} />\n})\nCheckboxGroupItemIndicator.displayName = \"CheckboxGroupItemIndicator\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { type ComponentProps, type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { MultiSelectProvider } from \"../SelectContext\"\nimport type { MultiSelectProps } from \"../SelectContext/typings\"\nimport { getBooleanState } from \"../utils\"\nimport { CheckboxGroupContext } from \"./context\"\nimport type { CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface CheckboxGroupRootProps\n\textends MultiSelectProps<string>,\n\t\tComponentPropsWithRef<\"div\">,\n\t\tCheckboxGroupVariantProps {\n\tname?: string\n\trequired?: ComponentProps<typeof RadixCheckbox.Root>[\"required\"]\n\tdisabled?: ComponentProps<typeof RadixCheckbox.Root>[\"disabled\"]\n}\n\n/**\n * A container component that manages a group of related checkboxes with shared state.\n * Provides multi-select functionality and consistent styling across all checkbox items.\n *\n * @param variant - Visual style variant applied to child checkboxes (default: \"surface\")\n * @param size - Size applied to child checkboxes (default: \"md\")\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color override (default: provider value)\n * @param name - Form name for all checkboxes in the group\n * @param required - Whether any checkbox in the group is required\n * @param disabled - Whether all checkboxes in the group are disabled\n */\nexport const CheckboxGroupRoot = memo<CheckboxGroupRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tdefaultValues,\n\t\tvalues,\n\t\tonValuesChange,\n\t\tchildren,\n\t\tname,\n\t\trequired,\n\t\tdisabled,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tname,\n\t\t\trequired,\n\t\t\tdisabled,\n\t\t\t// style props\n\t\t\taccentColor,\n\t\t\tsize,\n\t\t\tvariant,\n\t\t\tradius,\n\t\t}),\n\t\t[accentColor, disabled, name, radius, required, size, variant],\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\trole=\"group\"\n\t\t\tdata-disabled={getBooleanState(!!disabled)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\taria-disabled={getBooleanState(!!disabled)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<CheckboxGroupContext.Provider value={contextValue}>\n\t\t\t\t<MultiSelectProvider<string>\n\t\t\t\t\tdefaultValues={defaultValues}\n\t\t\t\t\tvalues={values}\n\t\t\t\t\tonValuesChange={onValuesChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</MultiSelectProvider>\n\t\t\t</CheckboxGroupContext.Provider>\n\t\t</div>\n\t)\n})\nCheckboxGroupRoot.displayName = \"CheckboxGroupRoot\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { checkbox } from \"../Checkbox/cva\"\nimport { radiusCva } from \"../cva\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { CheckboxGroupContext } from \"./context\"\nimport type { CheckboxGroupVariantProps } from \"./typings\"\n\nexport interface CheckboxGroupSelectAllItemProps\n\textends Omit<\n\t\t\tComponentPropsWithRef<typeof RadixCheckbox.Root>,\n\t\t\t\"checked\" | \"defaultChecked\" | \"onCheckedChange\" | \"name\"\n\t\t>,\n\t\tCheckboxGroupVariantProps {}\n\n/**\n * A special checkbox that controls the selection state of all items in a CheckboxGroup.\n * Shows checked when all items are selected, indeterminate when some are selected, and unchecked when none are selected.\n *\n * @param variant - Visual style variant override (default: inherited from group)\n * @param size - Size override (default: inherited from group)\n * @param radius - Border radius override (default: inherited from group)\n * @param disabled - Whether this select all item is disabled\n */\nexport const CheckboxGroupSelectAllItem = memo<CheckboxGroupSelectAllItemProps>((props) => {\n\tconst groupContext = use(CheckboxGroupContext)\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\tdisabled,\n\t\taccentColor = groupContext.accentColor,\n\t\tvariant = groupContext.variant,\n\t\tsize = groupContext.size,\n\t\tradius = groupContext.radius,\n\t\t...rest\n\t} = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<string> // safe cast\n\n\tconst checked = allSelected ? true : someSelected ? \"indeterminate\" : false\n\tconst isDisabled = groupContext.disabled || disabled\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tname={groupContext.name}\n\t\t\trequired={groupContext.required}\n\t\t\tdisabled={isDisabled}\n\t\t\tchecked={checked}\n\t\t\tonCheckedChange={toggleSelectAll}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxGroupSelectAllItem.displayName = \"CheckboxGroupSelectAllItem\"\n","import { CheckboxGroupItem } from \"./Item\"\nimport { CheckboxGroupItemIndicator } from \"./ItemIndicator\"\nimport { CheckboxGroupRoot } from \"./Root\"\nimport { CheckboxGroupSelectAllItem } from \"./SelectAllItem\"\n\nexport * from \"./Item\"\nexport * from \"./ItemIndicator\"\nexport * from \"./Root\"\nexport * from \"./SelectAllItem\"\nexport * from \"./typings\"\n\nexport const CheckboxGroup = {\n\tRoot: CheckboxGroupRoot,\n\tItem: CheckboxGroupItem,\n\tSelectAllItem: CheckboxGroupSelectAllItem,\n\tItemIndicator: CheckboxGroupItemIndicator,\n}\n","import { createContext } from \"react\"\n\nimport type { CheckedState } from \"./typings\"\n\nexport const CheckedIndicatorContext = createContext({} as CheckedState)\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, type PropsWithChildren, useContext } from \"react\"\n\nimport { getCheckedState } from \"../utils\"\nimport { CheckedIndicatorContext } from \"./context\"\nimport type { CheckedState } from \"./typings\"\n\nexport interface CheckedIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\tchildren: PropsWithChildren[\"children\"] | ((indeterminate: CheckedState) => PropsWithChildren[\"children\"])\n}\n\nexport const CheckedIndicator = memo<CheckedIndicatorProps>((props) => {\n\tconst { children, ref, className, ...rest } = props\n\n\tconst checked = useContext(CheckedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(checked) : children\n\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\t\"flex size-max items-center\",\n\t\t\t\t{\n\t\t\t\t\tinvisible: checked === false,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-state={getCheckedState(checked)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n})\nCheckedIndicator.displayName = \"CheckedIndicator\"\n","import { memo } from \"react\"\n\nimport { CheckedIndicator, type CheckedIndicatorProps } from \"../CheckedIndicator\"\n\nexport interface CommandMenuCheckboxIndicatorProps extends CheckedIndicatorProps {}\n\nexport const CommandMenuCheckboxIndicator = memo((props: CommandMenuCheckboxIndicatorProps) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<CheckedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</CheckedIndicator>\n\t)\n})\nCommandMenuCheckboxIndicator.displayName = \"CommandMenuCheckboxIndicator\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { CheckedState, CommandMenuSize, CommandMenuVariant, CommandMenuVariantProps } from \"./typings\"\n\nexport interface ICommandMenuContext extends Required<CommandMenuVariantProps> {\n\tsize: CommandMenuSize\n\tvariant: CommandMenuVariant\n\tradius: ComponentRadius\n}\n\nexport const CommandMenuContext = createContext<ICommandMenuContext>({} as ICommandMenuContext)\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 { cva } from \"class-variance-authority\"\n\nexport const commandMenuContentCva = cva(\n\t[\n\t\t\"ring\",\n\t\t\"ring-(--base-6)\",\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: [\"py-2.5\", \"gap-3.5\", \"px-5.25\", \"after:inset-x-1.75\"],\n\t\t\t\tsm: [\"py-2.5\", \"gap-4\", \"px-6\", \"after:inset-x-2\"],\n\t\t\t\tmd: [\"py-3\", \"gap-4.5\", \"px-6.75\", \"after:inset-x-2.25\"],\n\t\t\t\tlg: [\"py-3\", \"gap-5\", \"px-7.5\", \"after:inset-x-2.5\"],\n\t\t\t\txl: [\"py-3.25\", \"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]]:py-1\",\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]]:py-1\",\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]]:py-1.25\",\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]]:py-1.25\",\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]]:py-1.25\",\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 { type ComponentPropsWithRef, memo, use, useCallback } from \"react\"\n\nimport { CommandMenuContext, CommandMenuDialogContext } from \"./context\"\nimport { commandMenuItemCva } from \"./cva\"\n\nexport interface CommandMenuItemProps extends Omit<ComponentPropsWithRef<typeof CommandItem>, \"value\" | \"onSelect\"> {\n\tcloseOnSelect?: boolean\n\tfilterValue?: string\n\tonSelect?: () => void\n}\n\nexport const CommandMenuItem = memo<CommandMenuItemProps>((props) => {\n\tconst { className, ref, closeOnSelect = true, onSelect, filterValue, ...rest } = props\n\n\tconst { size, variant, radius } = use(CommandMenuContext)\n\tconst { setOpen } = use(CommandMenuDialogContext)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tif (closeOnSelect) {\n\t\t\tsetOpen(false)\n\t\t}\n\t}, [closeOnSelect, onSelect, setOpen])\n\n\treturn (\n\t\t<CommandItem\n\t\t\tclassName={cx(commandMenuItemCva({ size, variant, radius }), className)}\n\t\t\tref={ref}\n\t\t\tonSelect={handleSelect}\n\t\t\tvalue={filterValue}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCommandMenuItem.displayName = \"CommandMenuItem\"\n","import { memo, useCallback } from \"react\"\n\nimport { getCheckedState } from \"../utils\"\nimport { CheckboxIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\n\nexport interface CommandMenuCheckboxItemProps extends CommandMenuItemProps {\n\tchecked: CheckedState\n\tonCheckedChange: (checked: boolean) => void\n}\n\nexport const CommandMenuCheckboxItem = memo((props: CommandMenuCheckboxItemProps) => {\n\tconst { children, ref, checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\tonCheckedChange(checked !== true)\n\t}, [checked, onCheckedChange, onSelect])\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})\nCommandMenuCheckboxItem.displayName = \"CommandMenuCheckboxItem\"\n","import {\n\tDialogContent,\n\ttype DialogContentProps,\n\tDialogDescription,\n\tDialogPortal,\n\ttype DialogPortalProps,\n\tDialogTitle,\n} from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { CommandRoot } from \"cmdk\"\nimport { type 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\taccentColor,\n\t\t}\n\t}, [accentColor, 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(commandMenuContentCva({ size }), radiusCva({ radius, maxLarge: true }), className)}\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 { type 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(commandMenuEmptyCva({ size }), className)} ref={ref} {...rest} />\n})\nCommandMenuEmpty.displayName = \"CommandMenuEmpty\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandGroup } from \"cmdk\"\nimport { type 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(commandMenuGroupCva({ size }), className)} ref={ref} {...rest} />\n})\nCommandMenuGroup.displayName = \"CommandMenuGroup\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandInput } from \"cmdk\"\nimport { type 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(commandMenuInputCva({ size }), className)} ref={ref} {...rest} />\n})\nCommandMenuInput.displayName = \"CommandMenuInput\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandList, useCommandState } from \"cmdk\"\nimport { type 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(commandMenuListCva({ size }), className)}\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 { MultiSelectProvider } from \"../SelectContext\"\nimport type { MultiSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { CommandMenuGroup, type CommandMenuGroupProps } from \"./Group\"\n\nexport interface CommandMenuMultiSelectGroupProps<TValue> extends CommandMenuGroupProps, MultiSelectProps<TValue> {}\n\nexport const CommandMenuMultiSelectGroup = genericMemo(function CommandMenuMultiSelectGroup<TValue>(\n\tprops: CommandMenuMultiSelectGroupProps<TValue>,\n) {\n\tconst { children, ref, defaultValues, values, onValuesChange, ...rest } = props\n\n\treturn (\n\t\t<MultiSelectProvider<TValue> values={values} onValuesChange={onValuesChange} defaultValues={defaultValues}>\n\t\t\t<CommandMenuGroup ref={ref} aria-multiselectable {...rest}>\n\t\t\t\t{children}\n\t\t\t</CommandMenuGroup>\n\t\t</MultiSelectProvider>\n\t)\n})\n","import { use, useCallback, useLayoutEffect } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\n\nexport interface CommandMenuMultiSelectItemProps<TValue> extends CommandMenuItemProps {\n\tvalue: TValue\n}\n\nexport const CommandMenuMultiSelectItem = genericMemo(function <TValue>(\n\tprops: CommandMenuMultiSelectItemProps<TValue>,\n) {\n\tconst { children, ref, value, onSelect, closeOnSelect = false, ...rest } = props\n\n\tconst {\n\t\tselected,\n\t\tselectValue: handleSelectValue,\n\t\tregisterValue,\n\t} = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\thandleSelectValue(value)\n\t}, [handleSelectValue, onSelect, value])\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\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(commandMenuOverlayCva(), className)} data-floating-content=\"\" {...rest} />\n\t\t</DialogPortal>\n\t)\n})\nCommandMenuOverlay.displayName = \"CommandMenuOverlay\"\n","import { type ComponentPropsWithRef, memo, use, useMemo } from \"react\"\n\nimport { getActiveState } from \"../utils\"\nimport { CommandMenuPageContext } from \"./context\"\n\nexport interface CommandMenuPageProps extends ComponentPropsWithRef<\"div\"> {\n\tpage: string\n}\n\nexport const CommandMenuPage = memo((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})\nCommandMenuPage.displayName = \"CommandMenuPage\"\n","import { memo, type PropsWithChildren } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\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 = memo((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})\nCommandMenuPages.displayName = \"CommandMenuPages\"\n","import { memo, use, useCallback, useMemo } from \"react\"\n\nimport { getActiveState } from \"../utils\"\nimport { CommandMenuPageContext, SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\n\nexport interface CommandMenuPageTriggerItemProps extends CommandMenuItemProps {\n\tpage: string\n}\n\nexport const CommandMenuPageTriggerItem = memo((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\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\tsetPage(page)\n\t}, [onSelect, page, setPage])\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})\nCommandMenuPageTriggerItem.displayName = \"CommandMenuPageTriggerItem\"\n","import { SingleSelectNotRequiredProvider, SingleSelectRequiredProvider } from \"../SelectContext\"\nimport { type SingleSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { CommandMenuGroup, type CommandMenuGroupProps } from \"./Group\"\n\nexport type CommandMenuRadioGroupProps<TValue> = SingleSelectProps<TValue> &\n\tOmit<CommandMenuGroupProps, \"defaultValue\" | \"value\">\n\nexport const CommandMenuRadioGroup = genericMemo(function CommandMenuRadioGroup<TValue>(\n\tprops: CommandMenuRadioGroupProps<TValue>,\n) {\n\tconst { children, ref, required, defaultValue, value, onValueChange, ...rest } = props\n\n\treturn (\n\t\t<CommandMenuGroup ref={ref} role=\"radiogroup\" {...rest}>\n\t\t\t{required ? (\n\t\t\t\t<SingleSelectRequiredProvider<TValue>\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectRequiredProvider>\n\t\t\t) : (\n\t\t\t\t<SingleSelectNotRequiredProvider<TValue>\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectNotRequiredProvider>\n\t\t\t)}\n\t\t</CommandMenuGroup>\n\t)\n})\n","import { use, useCallback } from \"react\"\n\nimport { type ISelectContext, SelectContext } from \"../SelectContext\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { SelectedIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\n\nexport interface CommandMenuRadioItemProps<TValue> extends CommandMenuItemProps {\n\tvalue: TValue\n}\n\nexport const CommandMenuRadioItem = genericMemo(function <TValue>(props: CommandMenuRadioItemProps<TValue>) {\n\tconst { children, ref, value, onSelect, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext) as ISelectContext<TValue> // safe cast\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\tselectValue(value)\n\t}, [onSelect, selectValue, value])\n\n\tconst isSelected = selected(value)\n\n\treturn (\n\t\t<SelectedIndicatorContext value={isSelected}>\n\t\t\t<CommandMenuItem ref={ref} onSelect={handleSelect} data-state={getSelectedState(isSelected)} {...rest}>\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 * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { memo, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { CommandMenuDialogContext } from \"./context\"\n\nexport interface CommandMenuRootProps extends DialogProps {}\n\nexport const CommandMenuRoot = memo<CommandMenuRootProps>((props) => {\n\tconst { children, defaultOpen, open: controlledOpen, onOpenChange, modal } = 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<RadixDialog.Root defaultOpen={defaultOpen} open={open} onOpenChange={setOpen} modal={modal}>\n\t\t\t<CommandMenuDialogContext value={contextValue}>{children}</CommandMenuDialogContext>\n\t\t</RadixDialog.Root>\n\t)\n})\nCommandMenuRoot.displayName = \"CommandMenuRoot\"\n","import { use, useCallback } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getCheckedState } from \"../utils\"\nimport { CheckboxIndicatorContext } from \"./context\"\nimport { CommandMenuItem, type CommandMenuItemProps } from \"./Item\"\nimport type { CheckedState } from \"./typings\"\n\nexport interface CommandMenuSelectAllItemProps extends CommandMenuItemProps {}\n\nexport const CommandMenuSelectAllItem = genericMemo(function <TValue>(props: CommandMenuSelectAllItemProps) {\n\tconst { ref, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\t// TODO: should send an event here that contains the value and then can prevent default for more control\n\t\t// if (e.defaultPrevented) return\n\n\t\ttoggleSelectAll()\n\t}, [onSelect, toggleSelectAll])\n\n\tconst selectedState: CheckedState = allSelected ? true : someSelected ? \"indeterminate\" : false\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 { createContext } from \"react\"\n\nexport const SelectedIndicatorContext = createContext<boolean>(false)\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, type PropsWithChildren, use } from \"react\"\n\nimport { getSelectedState } from \"../utils\"\nimport { SelectedIndicatorContext } from \"./context\"\n\nexport interface SelectedIndicatorProps extends Omit<ComponentPropsWithRef<\"span\">, \"children\"> {\n\tchildren: PropsWithChildren[\"children\"] | ((selected: boolean) => PropsWithChildren[\"children\"])\n}\n\nexport const SelectedIndicator = memo<SelectedIndicatorProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\tconst isSelected = use(SelectedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(isSelected) : children\n\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\t\"flex size-max items-center\",\n\n\t\t\t\t{\n\t\t\t\t\tinvisible: !isSelected,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{computedChildren}\n\t\t</span>\n\t)\n})\nSelectedIndicator.displayName = \"SelectedIndicator\"\n","import { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { SelectedIndicator } from \"../SelectedIndicator\"\n\nexport interface CommandMenuSelectedIndicatorProps extends ComponentPropsWithRef<\"span\"> {}\n\nexport const CommandMenuSelectedIndicator = memo((props: CommandMenuSelectedIndicatorProps) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<SelectedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</SelectedIndicator>\n\t)\n})\nCommandMenuSelectedIndicator.displayName = \"CommandMenuSelectedIndicator\"\n","import { cx } from \"class-variance-authority\"\nimport { CommandSeparator } from \"cmdk\"\nimport { type 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(commandMenuSeparatorCva({ size, spacing }), className)} {...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 { cx } from \"class-variance-authority\"\nimport { type LucideProps } from \"lucide-react\"\nimport { type ForwardRefExoticComponent, memo, type RefAttributes } from \"react\"\n\nexport interface LuIconProps extends Omit<LucideProps, \"ref\">, RefAttributes<SVGSVGElement> {\n\ticon: ForwardRefExoticComponent<Omit<LucideProps, \"ref\"> & RefAttributes<SVGSVGElement>>\n}\n\nexport const LuIcon = memo<LuIconProps>((props) => {\n\tconst { ref, icon: Icon, className, size = \"1em\", ...rest } = props\n\n\treturn <Icon ref={ref} className={cx(\"shrink-0\", className)} size={size} {...rest} />\n})\nLuIcon.displayName = \"LuIcon\"\n","import { ChevronDown, ChevronLeft, ChevronRight, ChevronUp } from \"lucide-react\"\nimport type { ChevronProps } from \"react-day-picker\"\n\nimport { LuIcon } from \"../LuIcon\"\n\nexport const Chevron = (props: ChevronProps) => {\n\tconst { orientation, ...rest } = props\n\n\tswitch (orientation) {\n\t\tcase \"up\":\n\t\t\treturn <LuIcon icon={ChevronUp} {...rest} />\n\t\tcase \"down\":\n\t\t\treturn <LuIcon icon={ChevronDown} {...rest} />\n\t\tcase \"left\":\n\t\t\treturn <LuIcon icon={ChevronLeft} {...rest} />\n\t\tdefault:\n\t\t\treturn <LuIcon icon={ChevronRight} {...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-6\"],\n\t\t\t\tsm: [\"size-7\"],\n\t\t\t\tmd: [\"size-8\"],\n\t\t\t\tlg: [\"size-9\"],\n\t\t\t\txl: [\"size-10\"],\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-6\"],\n\t\t\t\tsm: [\"size-7\"],\n\t\t\t\tmd: [\"size-8\"],\n\t\t\t\tlg: [\"size-9\"],\n\t\t\t\txl: [\"size-10\"],\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-6\"],\n\t\t\tsm: [\"size-7\"],\n\t\t\tmd: [\"size-8\"],\n\t\t\tlg: [\"size-9\"],\n\t\t\txl: [\"size-10\"],\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 { type ComponentProps, memo, 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 type { DayPickerVariantProps } from \"./typings\"\n\nexport type DayPickerProps = ComponentProps<typeof ReactDayPicker> & DayPickerVariantProps\n\n/**\n * Date picker component built on react-day-picker with consistent styling.\n * Supports single/multiple date selection, date ranges, and custom styling variants.\n *\n * @param accentColor {string} - Accent color override\n * @param {DayPickerSize} [size=\"md\"] - Size variant affecting button and text sizes\n * @param [variant=\"soft\"] {DayPickerVariant} - Visual style variant\n * @param radius {ComponentRadius} - Border radius override\n * @param [showOutsideDays=true] {boolean} - Whether to show days from adjacent months\n */\nexport const DayPicker = memo((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})\nDayPicker.displayName = \"DayPicker\"\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 { type ComponentPropsWithRef, memo, type ReactNode, useMemo } from \"react\"\n\nimport type { AlertDialogSize } from \"../AlertDialog\"\nimport { dialogContent } from \"../AlertDialog/cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { useCloseDialog } from \"./hooks\"\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport interface DialogContentProps extends Omit<ComponentPropsWithRef<typeof RadixDialog.Content>, \"children\"> {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n\tsize?: AlertDialogSize\n\tchildren: ReactNode | ((close: CloseDialogWithOptions) => ReactNode)\n}\n\n/**\n * The main content area of a dialog with customizable size and styling.\n * Content can be static or a function that receives the close handler for interactive content.\n *\n * @param size - Size variant affecting padding and max-width (default: \"md\")\n * @param container - Portal container for rendering the content\n * @param children - Static content or function receiving close handler\n */\nexport const DialogContent = memo<DialogContentProps>((props) => {\n\tconst { radius } = useProvider()\n\tconst close = useCloseDialog()\n\tconst { ref, children, 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(dialogContent({ size }), radiusCva({ radius, maxLarge: true }), className)}\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{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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { dialogOverlay } from \"../AlertDialog/cva\"\n\nexport interface DialogOverlayProps extends ComponentPropsWithRef<typeof RadixDialog.Overlay> {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n}\n\n/**\n * A backdrop overlay that appears behind dialog content.\n * Provides visual separation and typically closes the dialog when clicked.\n *\n * @param container - Portal container for rendering the overlay\n */\nexport const DialogOverlay = memo<DialogOverlayProps>((props) => {\n\tconst { ref, children, 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(dialogOverlay({}), className)}\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</RadixDialog.Overlay>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogOverlay.displayName = \"DialogOverlay\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { memo, useCallback, useState } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\nimport type { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\n/**\n * Root component for managing dialog state and providing context to child components.\n * Supports controlled and uncontrolled modes with advanced close interruption handling.\n *\n * @param defaultOpen - Initial open state for uncontrolled mode (default: false)\n * @param open - Controlled open state\n * @param onOpenChange - Callback for controlled open state changes\n * @param onOpen - Called when dialog opens\n * @param onClose - Called when dialog closes\n * @param onCloseInterrupt - Intercept close attempts for custom handling (e.g., unsaved changes warnings)\n */\nexport const DialogRoot = memo((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})\nDialogRoot.displayName = \"DialogRoot\"\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\tTitle: RadixDialog.Title,\n\tDescription: RadixDialog.Description,\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"h1\">, HeadingVariantProps, AccentColorProps {}\n\n/**\n * Semantic heading component that renders appropriate HTML heading tags (h1-h6).\n * Provides comprehensive typography controls with accessibility-first design.\n *\n * @param [level=\"1\"] {HeadingLevel} - Semantic heading level \"1\"-\"6\"\n * @param {HeadingSize} size - Visual size variant (independent of semantic level)\n * @param weight {HeadingWeight} - Font weight variant\n * @param {HeadingAlign} align - Text alignment\n * @param accentColor {string} - Accent color for text styling\n * @param [highContrast=false] {boolean} - Enable high contrast mode\n */\nexport const Heading = memo<HeadingProps>((props) => {\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tlevel = \"1\",\n\t\tsize,\n\t\tweight,\n\t\talign,\n\t\thighContrast = false,\n\t\taccentColor,\n\t\t...rest\n\t} = props\n\tconst Tag = headingLevelTagMapping[level]\n\n\treturn (\n\t\t<Tag\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\theadingCva({ size, weight, align }),\n\t\t\t\t{\n\t\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Tag>\n\t)\n})\nHeading.displayName = \"Heading\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface HoverCardArrowProps extends ComponentPropsWithRef<typeof RadixHoverCard.Arrow> {}\n\nexport const HoverCardArrow = memo((props: HoverCardArrowProps) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixHoverCard.Arrow className={cx(\"fill-(--base-6)\", className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixHoverCard.Arrow>\n\t)\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: [\"p-2\"],\n\t\t\tsm: [\"p-3\"],\n\t\t\tmd: [\"p-4\"],\n\t\t\tlg: [\"p-5\"],\n\t\t\txl: [\"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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { hoverCardContent } from \"./cva\"\nimport type { HoverCardVariantProps } from \"./typings\"\n\nexport interface HoverCardContentProps\n\textends ComponentPropsWithRef<typeof RadixHoverCard.Content>,\n\t\tHoverCardVariantProps {\n\tcontainer?: RadixHoverCard.HoverCardPortalProps[\"container\"]\n}\n\n/**\n * Content area for hover card components that appears on hover interaction.\n * Provides rich contextual information with customizable positioning and styling.\n *\n * @param [size=\"md\"] {HoverCardSize} - Size variant affecting content dimensions\n * @param side - Preferred side for positioning relative to trigger\n * @param sideOffset - Distance from the trigger element (default: 4)\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color override (default: provider value)\n * @param container - Portal container for rendering\n */\nexport const HoverCardContent = memo<HoverCardContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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\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\tclassName,\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\t\t{children}\n\t\t\t</RadixHoverCard.Content>\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 { memo, type PointerEventHandler, type 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 = memo<HoverUtilityProps>(({ children, forceHover }) => {\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})\nHoverUtility.displayName = \"HoverUtility\"\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-6\", \"text-xs\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\t\txl: [\"h-10\", \"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:px-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: [\"px-3\"],\n\t\t\tsm: [\"px-3.5\"],\n\t\t\tmd: [\"px-4\"],\n\t\t\tlg: [\"px-4.5\"],\n\t\t\txl: [\"px-5\"],\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.5\"],\n\t\t\tsm: [\"px-1.75\"],\n\t\t\tmd: [\"px-2\"],\n\t\t\tlg: [\"px-2.25\"],\n\t\t\txl: [\"px-2.5\"],\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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputField } from \"./cva\"\n\nexport interface InputFieldProps extends ComponentPropsWithRef<\"input\"> {}\n\n/**\n * The actual input field element that receives user input.\n * Inherits styling properties from its parent InputRoot context.\n */\nexport const InputField = memo<InputFieldProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(inputField({ size, variant }), \"grow bg-transparent outline-0\", className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</input>\n\t)\n})\nInputField.displayName = \"InputField\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } 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, ComponentPropsWithRef<\"div\"> {}\n\n/**\n * Container component for input fields that provides styling context and structure.\n * Acts as a wrapper that manages the visual appearance of input field and slot elements.\n *\n * @param [variant=\"surface\"] {InputVariant} - Visual style variant\n * @param {InputSize} [size=\"md\"] - Size of the input container\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const InputRoot = memo<InputRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(inputRoot({ variant, size }), radiusCva({ radius, maxLarge: false }), className)}\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</div>\n\t\t</InputContext.Provider>\n\t)\n})\nInputRoot.displayName = \"InputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputSlot } from \"./cva\"\n\nexport interface InputSlotProps extends ComponentPropsWithRef<\"div\"> {}\n\n/**\n * Container for icons, buttons, or other elements positioned within the input.\n * Commonly used for search icons, clear buttons, or action triggers.\n * Inherits styling properties from its parent InputRoot context.\n */\nexport const InputSlot = memo<InputSlotProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<div className={cx(inputSlot({ size, variant }), \"flex items-center\", className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\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, useContext } from \"react\"\n\ninterface ILayoutContent {\n\tsmall: boolean\n\thideLayout: boolean\n\tisOpen: (id: string) => boolean\n\tsetOpen: (id: string, open: boolean) => void\n}\n\nexport const LayoutContext = createContext<ILayoutContent>({} as ILayoutContent)\n\nexport const useLayoutContext = () => useContext(LayoutContext)\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutContainerProps extends ComponentPropsWithRef<\"div\"> {}\n\n/**\n * Layout container component that provides flexible content structure.\n * Can be hidden based on layout context state.\n */\nexport const LayoutContainer = memo<LayoutContainerProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\tconst { hideLayout = false } = useLayoutContext()\n\n\treturn (\n\t\t!hideLayout && (\n\t\t\t<div className={cx(\"flex h-full grow\", className)} ref={ref} {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t)\n})\nLayoutContainer.displayName = \"LayoutContainer\"\n","import { memo, type PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { LayoutContext } from \"./context\"\n\nexport interface LayoutRootProps extends PropsWithChildren {\n\tsmall?: boolean\n\thideLayout?: boolean\n}\n\n/**\n * Root layout provider that manages layout state and slide-out visibility.\n * Provides context for all layout components and responsive behavior.\n *\n * @param small - Enable small screen layout mode (default: false)\n * @param hideLayout - Hide all layout components (default: false)\n */\nexport const LayoutRoot = memo((props: LayoutRootProps) => {\n\tconst { children, small = false, hideLayout = false } = props\n\n\tconst [openMapping, setOpenMapping] = useState<Record<string, boolean>>({})\n\n\tconst isOpen = useCallback(\n\t\t(id: string) => {\n\t\t\treturn openMapping[id] ?? false\n\t\t},\n\t\t[openMapping],\n\t)\n\n\tconst setOpen = useCallback((id: string, open: boolean) => {\n\t\tsetOpenMapping((prev) => ({ ...prev, [id]: open }))\n\t}, [])\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsmall,\n\t\t\thideLayout,\n\t\t\tisOpen,\n\t\t\tsetOpen,\n\t\t}),\n\t\t[hideLayout, isOpen, setOpen, small],\n\t)\n\n\treturn <LayoutContext.Provider value={contextValue}>{children}</LayoutContext.Provider>\n})\nLayoutRoot.displayName = \"LayoutRoot\"\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\ttype ComponentPropsWithRef,\n\ttype CSSProperties,\n\tmemo,\n\ttype MouseEventHandler,\n\ttype PropsWithChildren,\n\ttype ReactNode,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\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, Omit<ComponentPropsWithRef<\"div\">, \"content\"> {\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<SlideOutProps>((props) => {\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tstyle,\n\t\topen,\n\t\thide = false,\n\t\tmodal = false,\n\t\toverlayComponent,\n\t\tresizeable = true,\n\t\tside,\n\t\tposition = \"relative\",\n\t\tinitialWidth,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tonDismiss,\n\t\tonOpening,\n\t\tonClosed,\n\t\tcontent,\n\t\t...otherProps\n\t} = props\n\tconst isLeft = side === \"left\"\n\tconst [parentContainer, setParentContainer] = useState<HTMLElement>(document.body)\n\tconst childrenContainerRef = useRef<HTMLDivElement>(null)\n\tconst localRef = useRef<HTMLDivElement>(null)\n\tconst nodeRef = useRef<HTMLDivElement>(null)\n\tconst mergedRefs = mergeRefs([ref, localRef, nodeRef])\n\tconst [isResizing, setIsResizing] = useState(false)\n\tconst [computedWidth, setComputedWidth] = useState<number | null>(null)\n\tconst prevClientX = useRef<number | null>(null)\n\n\tconst handleDismiss = useCallback(() => {\n\t\tif (modal && onDismiss) {\n\t\t\tonDismiss()\n\t\t}\n\t}, [modal, onDismiss])\n\n\tconst handleAssignParentContainer = useCallback((element: HTMLDivElement | null) => {\n\t\tif (element) {\n\t\t\tsetParentContainer(element)\n\t\t}\n\t}, [])\n\n\t// TODO: determine if this set up for disabling and re-enabling pointer events on sibling content makes sense\n\tuseEffect(() => {\n\t\tif (!childrenContainerRef.current) return\n\t\tconst originalParentPointerEvents = childrenContainerRef.current.style.pointerEvents\n\n\t\t// In modal mode, all pointerEvents should be disabled for all other content within the parent container\n\t\t// besides the SlideOut content itself\n\t\tif (open && modal) {\n\t\t\tchildrenContainerRef.current.style.pointerEvents = \"none\"\n\t\t}\n\t\treturn () => {\n\t\t\tif (childrenContainerRef.current) {\n\t\t\t\t// this warning is invalid because the ref (childrenContainerRef) is immutable\n\t\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t\tchildrenContainerRef.current.style.pointerEvents = originalParentPointerEvents\n\t\t\t}\n\t\t}\n\t}, [modal, open, parentContainer.style])\n\n\tconst { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(handleDismiss, parentContainer)\n\n\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\tconst CSSTransitionClassNames = useMemo(\n\t\t() => ({\n\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\tenterActive: isLeft\n\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\texitActive: isLeft\n\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t}),\n\t\t[isLeft],\n\t)\n\n\tconst handleMouseDown: MouseEventHandler = useCallback((e) => {\n\t\tconst { clientX } = e\n\n\t\tprevClientX.current = clientX\n\n\t\tsetIsResizing(true)\n\t}, [])\n\n\tconst handleMouseMove = useCallback(\n\t\t(e: MouseEvent) => {\n\t\t\tif (!isResizing) return\n\n\t\t\tconst { clientX } = e\n\n\t\t\tconst deltaX = (clientX - prevClientX.current!) * (isLeft ? 1 : -1)\n\n\t\t\tprevClientX.current = clientX\n\n\t\t\tsetComputedWidth((prevWidth) => prevWidth! + deltaX)\n\t\t},\n\t\t[isLeft, isResizing],\n\t)\n\n\tconst handleMouseUp = useCallback(() => {\n\t\tif (!isResizing) return\n\t\tprevClientX.current = null\n\t\tsetIsResizing(false)\n\t}, [isResizing])\n\n\tuseEffect(() => {\n\t\twindow.addEventListener(\"mousemove\", handleMouseMove)\n\t\twindow.addEventListener(\"mouseup\", handleMouseUp)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"mousemove\", handleMouseMove)\n\t\t\twindow.removeEventListener(\"mouseup\", handleMouseUp)\n\t\t}\n\t}, [handleMouseMove, handleMouseUp])\n\n\tuseLayoutEffect(() => {\n\t\tif (!open) return\n\t\tsetComputedWidth(localRef.current!.offsetWidth)\n\t}, [open])\n\n\tconst resizableStyle = useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\t...style,\n\t\t\t\twidth: computedWidth ?? initialWidth,\n\t\t\t\tmaxWidth: maxWidth,\n\t\t\t\tminWidth: minWidth,\n\t\t\t\tposition: position,\n\t\t\t\t\"--slide-out-width\": `${computedWidth}${typeof computedWidth === \"number\" ? \"px\" : \"\"}`,\n\t\t\t}) as CSSProperties,\n\t\t[computedWidth, initialWidth, maxWidth, minWidth, position, style],\n\t)\n\n\tconst resizableEnable = useMemo(\n\t\t() => ({ left: resizeable && !isLeft, right: resizeable && isLeft }),\n\t\t[isLeft, resizeable],\n\t)\n\n\tconst SlideOut = useMemo(\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<CSSTransition\n\t\t\t\tclassNames={CSSTransitionClassNames}\n\t\t\t\tin={open}\n\t\t\t\ttimeout={TIMEOUT_DURATION}\n\t\t\t\tunmountOnExit\n\t\t\t\tmountOnEnter\n\t\t\t\tonEntering={onOpening}\n\t\t\t\tonExited={onClosed}\n\t\t\t\tnodeRef={nodeRef}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\"top-0\",\n\t\t\t\t\t\t\"bottom-0\",\n\t\t\t\t\t\t{\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\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tref={mergedRefs}\n\t\t\t\t\tonPointerDownCapture={handlePointerDownCapture}\n\t\t\t\t\tdata-side={side}\n\t\t\t\t\tstyle={resizableStyle}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cx(\"absolute top-0 bottom-0 w-[3px]\", {\n\t\t\t\t\t\t\t\"right-0\": isLeft,\n\t\t\t\t\t\t\t\"left-0\": !isLeft,\n\t\t\t\t\t\t\t\"pointer-events-none\": !resizableEnable,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\t\tdata-resizing={isResizing ? \"\" : undefined}\n\t\t\t\t\t/>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t</CSSTransition>\n\t\t),\n\t\t[\n\t\t\tCSSTransitionClassNames,\n\t\t\topen,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t\tclassName,\n\t\t\tisLeft,\n\t\t\tposition,\n\t\t\tmergedRefs,\n\t\t\thandlePointerDownCapture,\n\t\t\tside,\n\t\t\tresizableStyle,\n\t\t\thandleMouseDown,\n\t\t\tisResizing,\n\t\t\tresizableEnable,\n\t\t\tcontent,\n\t\t],\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"relative flex h-full max-h-full w-full max-w-full overflow-hidden\"\n\t\t\tref={handleAssignParentContainer}\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t{side === \"left\" && !hide && (\n\t\t\t\t<>\n\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<div className=\"flex h-full max-w-full grow overflow-hidden\" ref={childrenContainerRef}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{side === \"right\" && !hide && (\n\t\t\t\t<>\n\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n})\nSlideOut.displayName = \"SlideOut\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useCallback, useEffect } from \"react\"\n\nimport { SlideOut, type SlideOutProps } from \"../SlideOut\"\nimport { useLayoutContext } from \"./context\"\n\nconst DEFAULT_INITIAL_WIDTH = \"30%\"\n\nexport interface LayoutSlideOutProps\n\textends Omit<SlideOutProps, \"open\" | \"initialWidth\">,\n\t\tOmit<ComponentPropsWithRef<\"div\">, \"content\"> {\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\t/** unique identifier for this SlideOut instance, used to manage its open/closed state within the Layout context */\n\tid: string\n}\n\nexport const LayoutSlideOut = memo<LayoutSlideOutProps>((props) => {\n\tconst { small, hideLayout, isOpen, setOpen } = useLayoutContext()\n\tconst {\n\t\tref,\n\t\tid,\n\t\tchildren,\n\t\tclassName,\n\t\tdefaultOpen,\n\t\tside,\n\t\tinitialWidth = DEFAULT_INITIAL_WIDTH,\n\t\tonDismiss,\n\t\t...rest\n\t} = props\n\n\tconst open = isOpen(id)\n\n\tuseEffect(() => {\n\t\t// check if defaultOpenSmallMode specified\n\t\tif (small && defaultOpen?.small !== undefined) {\n\t\t\tsetOpen(id, defaultOpen?.small)\n\t\t} else if (!small && defaultOpen?.large !== undefined) {\n\t\t\tsetOpen(id, defaultOpen?.large)\n\t\t}\n\t}, [defaultOpen, id, setOpen, small])\n\n\tconst handleDismiss = useCallback(() => {\n\t\tsetOpen(id, false)\n\t\tonDismiss?.()\n\t}, [id, onDismiss, setOpen])\n\n\treturn (\n\t\t!hideLayout && (\n\t\t\t<SlideOut\n\t\t\t\tclassName={cx(`overmap-layout-slideOut-${side}`, className)}\n\t\t\t\tside={side}\n\t\t\t\tref={ref}\n\t\t\t\topen={open}\n\t\t\t\tinitialWidth={initialWidth}\n\t\t\t\tmodal={small}\n\t\t\t\tonDismiss={handleDismiss}\n\t\t\t\tposition={small ? \"absolute\" : \"relative\"}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</SlideOut>\n\t\t)\n\t)\n})\nLayoutSlideOut.displayName = \"LayoutSlideOut\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutSlideOutOverlayProps extends ComponentPropsWithRef<\"div\"> {\n\t/** manually control overlay visibility, overrides automatic management based on slideOutId */\n\tactive?: boolean\n\t/** the ID of the SlideOut component this overlay is associated with */\n\tslideOutId: string\n\t/** if true, overlay only appears in small mode (mobile/responsive view)\n\t * @default false */\n\tsmallModeOnly?: boolean\n}\n\nexport const LayoutSlideOutOverlay = memo<LayoutSlideOutOverlayProps>((props) => {\n\tconst { ref, children, className, active, slideOutId, smallModeOnly = false, ...rest } = props\n\tconst { small, hideLayout, isOpen } = useLayoutContext()\n\n\tconst showOverlay = useMemo(() => {\n\t\t// If being controlled, return controlled state\n\t\tif (active !== undefined) return active\n\n\t\t// If layout current being hidden, set to false\n\t\tif (hideLayout) return false\n\n\t\t// If smallModeOnly but not in smallMode, set to false\n\t\tif (smallModeOnly && !small) return false\n\n\t\t// Otherwise return based on the open state\n\t\treturn isOpen(slideOutId)\n\t}, [active, hideLayout, isOpen, slideOutId, small, smallModeOnly])\n\n\treturn (\n\t\tshowOverlay && (\n\t\t\t<div className={cx(\"overmap-layout-overlay\", \"fixed inset-0\", className)} ref={ref} {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t)\n})\n\nLayoutSlideOutOverlay.displayName = \"SlideOutOverlay\"\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { type ComponentPropsWithRef, memo, type PropsWithChildren, useCallback } from \"react\"\n\nimport { getOpenState } from \"../utils\"\nimport { useLayoutContext } from \"./context\"\n\nfunction nextStateBasedOnType(open: boolean, type: \"toggle\" | \"open\" | \"close\") {\n\tswitch (type) {\n\t\tcase \"toggle\":\n\t\t\treturn !open\n\t\tcase \"open\":\n\t\t\treturn true\n\t\tcase \"close\":\n\t\t\treturn false\n\t}\n}\n\nexport interface LayoutSlideOutTriggerProps extends PropsWithChildren, Omit<ComponentPropsWithRef<\"button\">, \"type\"> {\n\t/** the ID of the SlideOut component this trigger controls */\n\tslideOutId: string\n\t/** determines the action performed when the trigger is clicked\n\t * @default \"toggle\" */\n\ttype?: \"toggle\" | \"open\" | \"close\"\n}\n\nexport const LayoutSlideOutTrigger = memo<LayoutSlideOutTriggerProps>((props) => {\n\tconst { ref, slideOutId, type = \"toggle\", children, ...rest } = props\n\tconst { isOpen, setOpen } = useLayoutContext()\n\n\tconst open = isOpen(slideOutId)\n\n\tconst handleClick = useCallback(() => {\n\t\tsetOpen(slideOutId, nextStateBasedOnType(open, type))\n\t}, [open, setOpen, slideOutId, type])\n\n\treturn (\n\t\t<Slot data-state={getOpenState(open)} ref={ref} onClick={handleClick} {...rest}>\n\t\t\t{children}\n\t\t</Slot>\n\t)\n})\n\nLayoutSlideOutTrigger.displayName = \"SlideOutTrigger\"\n","import { LayoutContainer } from \"./Container\"\nimport { LayoutRoot } from \"./Root\"\nimport { LayoutSlideOut } from \"./SlideOut\"\nimport { LayoutSlideOutOverlay } from \"./SlideOutOverlay\"\nimport { LayoutSlideOutTrigger } from \"./SlideOutTrigger\"\n\nexport * from \"./Container\"\nexport * from \"./context\"\nexport * from \"./Root\"\nexport * from \"./SlideOut\"\nexport * from \"./SlideOutOverlay\"\nexport * from \"./SlideOutTrigger\"\n\nexport const Layout = {\n\tRoot: LayoutRoot,\n\tContainer: LayoutContainer,\n\tSlideOutOverlay: LayoutSlideOutOverlay,\n\tSlideOut: LayoutSlideOut,\n\tSlideOutTrigger: LayoutSlideOutTrigger,\n}\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { linkCva } from \"./cva\"\nimport type { LinkVariantProps } from \"./typings\"\n\nexport interface LinkProps extends ComponentPropsWithRef<\"a\">, LinkVariantProps {}\n\n/**\n * Styled anchor element with consistent typography and accent color support.\n * Provides enhanced visual styling for navigation and external links.\n *\n * @param [size=\"none\"] {LinkSize} - Text size variant\n * @param [weight=\"regular\"] {LinkWeight} - Font weight variant\n * @param {LinkAlign} [align=\"left\"] - Text alignment\n * @param accentColor {string} - Accent color override\n * @param [highContrast=false] {boolean} - Enable high contrast mode\n */\nexport const Link = memo<LinkProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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(\n\t\t\t\tlinkCva({ size, weight, align }),\n\t\t\t\t{\n\t\t\t\t\t\"text-(--accent-a11)\": !highContrast,\n\t\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t)\n})\nLink.displayName = \"Link\"\n","import { cva } from \"class-variance-authority\"\n\nexport const menuItem = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"relative\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"rounded\",\n\t\t\"outline-none\",\n\t\t\"data-[disabled=true]:text-(--base-a8)\",\n\t\t\"shrink-0\",\n\t\t\"py-1\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-1.5\", \"px-3\"],\n\t\t\t\tsm: [\"gap-1.75\", \"px-3.5\"],\n\t\t\t\tmd: [\"gap-2\", \"px-4\"],\n\t\t\t\tlg: [\"gap-2.25\", \"px-4.5\"],\n\t\t\t\txl: [\"gap-2.5\", \"px-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=true]:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-highlighted:not-data-[disabled=true]:bg-(--accent-a9)\",\n\t\t\t\t\t\"data-highlighted:not-data-[disabled=true]:active: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-highlighted:not-data-[disabled=true]:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-highlighted:not-data-[disabled=true]:active:bg-(--accent-a4)\",\n\t\t\t\t],\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 menuLabelCva = cva([\"text-(--base-a10)\", \"flex\", \"items-center\", \"select-none\", \"py-1\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"gap-1.5\", \"px-3\", \"text-xs\"],\n\t\t\tsm: [\"gap-1.75\", \"px-3.5\", \"text-xs\"],\n\t\t\tmd: [\"gap-2\", \"px-4\", \"text-sm\"],\n\t\t\tlg: [\"gap-2.25\", \"px-4.5\", \"text-base\"],\n\t\t\txl: [\"gap-2.5\", \"px-5\", \"text-lg\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\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 menuContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"w-max\",\n\t\t\"max-w-xs\",\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],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-0.5\", \"text-xs\", \"min-w-30\"],\n\t\t\t\tsm: [\"p-0.75\", \"text-sm\", \"min-w-35\"],\n\t\t\t\tmd: [\"p-1\", \"text-md\", \"min-w-40\"],\n\t\t\t\tlg: [\"p-1.25\", \"text-lg\", \"min-w-45\"],\n\t\t\t\txl: [\"p-1.5\", \"text-xl\", \"min-w-50\"],\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\"data-[disabled=true]:opacity-50\",\n\t\t\"data-[disabled=true]:pointer-events-none\",\n\t\t\"box-border\",\n\t\t\"bg-transparent\",\n\t\t\"text-(--base-12)\",\n\t\t\"shrink-0\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-6\", \"text-xs\", \"px-3\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"px-3.5\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"px-4\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"px-4.5\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"px-5\", \"gap-2.5\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import { type UseFloatingData, type UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, type 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 { type MiddlewareData, type UseFloatingData, type UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, type CSSProperties, type 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","import { type UseFloatingData, type UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, type CSSProperties, type 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 { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type KeyboardEventHandler, memo, type MouseEventHandler, use, useCallback, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { getBooleanState } from \"../utils\"\nimport { menuItem } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { MenuContext } from \"./rootContext\"\nimport { SubContext } from \"./subContentContext\"\nimport type { MenuItemProps } from \"./typings\"\n\nconst TRIGGER_SELECT_KEYS = [\"Enter\", \" \"]\n\n/**\n * Individual menu item component with keyboard navigation and selection handling.\n * Supports both static content and render functions that receive active/selected state.\n *\n * @param closeOnSelect - Whether to close menu when item is selected (default: true)\n * @param disabled - Whether the item is disabled (default: false)\n * @param onSelect - Callback fired when item is selected\n * @param children - Static content or function receiving {active, selected} state\n */\nexport const MenuItem = memo<MenuItemProps>((props) => {\n\tconst rootMenuContext = use(MenuContext)\n\tconst { getItemProps, activeIndex, setOpen, size, variant, radius } = use(MenuContentContext)\n\tconst { closeRoot } = use(SubContext)\n\tconst {\n\t\tref: forwardedRef,\n\t\tclassName,\n\t\tchildren,\n\t\tonSelect,\n\t\tonClick,\n\t\tonKeyDown,\n\t\tcloseOnSelect = true,\n\t\tdisabled = false,\n\t\t...rest\n\t} = props\n\n\tconst { ref, index } = useListItem()\n\n\tconst mergeRefs = useMergeRefs([ref, forwardedRef])\n\n\tconst handleClick = useCallback<MouseEventHandler<HTMLLIElement>>(\n\t\t(e) => {\n\t\t\te.stopPropagation()\n\t\t\tif (disabled) return\n\t\t\tonClick?.(e)\n\t\t\tonSelect?.()\n\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\tif (closeRoot) rootMenuContext.setOpen(false)\n\t\t},\n\t\t[closeOnSelect, closeRoot, disabled, rootMenuContext, onClick, onSelect, setOpen],\n\t)\n\n\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLLIElement>>(\n\t\t(e) => {\n\t\t\tif (disabled) return\n\t\t\tonKeyDown?.(e)\n\t\t\tif (TRIGGER_SELECT_KEYS.includes(e.key)) {\n\t\t\t\tonSelect?.()\n\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t}\n\t\t},\n\t\t[closeOnSelect, disabled, onKeyDown, onSelect, setOpen],\n\t)\n\n\tconst isActive = useMemo(() => index === activeIndex, [activeIndex, index])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children({ active: isActive, selected: false }) : children\n\t}, [children, isActive])\n\n\treturn (\n\t\t<li\n\t\t\tclassName={cx(menuItem({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tref={mergeRefs}\n\t\t\trole=\"menuitem\"\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\taria-disabled={disabled}\n\t\t\tdata-highlighted={isActive ? \"\" : undefined}\n\t\t\t{...getItemProps({\n\t\t\t\tonClick: handleClick,\n\t\t\t\tonKeyDown: handleKeyDown,\n\t\t\t\ttabIndex: isActive ? 0 : -1,\n\t\t\t\t...rest,\n\t\t\t})}\n\t\t>\n\t\t\t{computedChildren}\n\t\t</li>\n\t)\n})\nMenuItem.displayName = \"MenuItem\"\n","import { memo, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { MenuItem } from \"./Item\"\nimport type { MenuCheckboxItemProps } from \"./typings\"\n\nexport const MenuCheckboxItem = memo<MenuCheckboxItemProps>((props) => {\n\tconst { ref, 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 { memo } from \"react\"\n\nimport { CheckedIndicator } from \"../CheckedIndicator\"\nimport type { MenuCheckboxIndicatorProps } from \"./typings\"\n\nexport const MenuCheckboxItemIndicator = memo<MenuCheckboxIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<CheckedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</CheckedIndicator>\n\t)\n})\nMenuCheckboxItemIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { memo, use, useEffect } from \"react\"\n\nimport { getBooleanState, getOpenState } from \"../utils\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuClickTriggerProps } from \"./typings\"\n\n/**\n * Trigger component that opens menu on click interaction.\n * Automatically sets up click event handling and accessibility attributes.\n *\n * @param disabled - Whether the trigger is disabled (default: false)\n */\nexport const MenuClickTrigger = memo<MenuClickTriggerProps>((props) => {\n\tconst { ref: forwardedRef, children, disabled = false } = props\n\tconst { getReferenceProps, refs, setTriggerType, open } = use(MenuContext)\n\tconst mergedRefs = useMergeRefs<HTMLElement>([refs.setReference, forwardedRef])\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"click\")\n\t}, [setTriggerType])\n\n\treturn (\n\t\t<Slot\n\t\t\tref={mergedRefs}\n\t\t\taria-disabled={disabled}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\tdata-state={getOpenState(open)}\n\t\t\t{...getReferenceProps({ disabled: disabled })}\n\t\t>\n\t\t\t{children}\n\t\t</Slot>\n\t)\n})\n\nMenuClickTrigger.displayName = \"MenuClickTrigger\"\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type CSSProperties, memo, type MouseEventHandler, use, useCallback, useMemo } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { getOpenState, stopPropagation } from \"../utils\"\nimport { menuContent, menuOverlay } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuContentProps } from \"./typings\"\n\n/**\n * Content container for menu items with floating positioning and focus management.\n * Handles keyboard navigation, styling variants, and portal rendering.\n *\n * @param size - Size variant affecting padding and item dimensions (default: \"md\")\n * @param variant - Visual style variant (default: \"soft\")\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color for styling (default: \"base\")\n */\nexport const MenuContent = memo<MenuContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref: forwardedRef,\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"md\",\n\t\tvariant = \"soft\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = \"base\",\n\t\t...rest\n\t} = props\n\tconst {\n\t\trefs,\n\t\tgetFloatingProps,\n\t\tmiddlewareData,\n\t\telementsRef,\n\t\tactiveIndex,\n\t\tsetActiveIndex,\n\t\tgetItemProps,\n\t\topen,\n\t\tsetOpen,\n\t\tnodeId,\n\t\tcontext,\n\t\tfloatingStyles,\n\t\tmodal,\n\t\tside,\n\t} = use(MenuContext)\n\n\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\treturn {\n\t\t\t...floatingStyles,\n\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t}\n\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\tconst handleOverlayPointerDown = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tif (modal) stopPropagation(e)\n\t\t},\n\t\t[modal],\n\t)\n\n\treturn (\n\t\t<FloatingNode id={nodeId}>\n\t\t\t{open && (\n\t\t\t\t<FloatingPortal>\n\t\t\t\t\t<FloatingOverlay\n\t\t\t\t\t\tclassName={menuOverlay({ modal })}\n\t\t\t\t\t\tonClick={handleOverlayPointerDown}\n\t\t\t\t\t\tlockScroll\n\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FloatingFocusManager context={context}>\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\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\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\tradius,\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=\"border-box w-max outline-none\"\n\t\t\t\t\t\t\t\t\t\tref={refs.setFloating}\n\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\tdata-floating-content=\"\"\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<ul\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\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\tclassName,\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={getOpenState(open)}\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</ul>\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</FloatingOverlay>\n\t\t\t\t</FloatingPortal>\n\t\t\t)}\n\t\t</FloatingNode>\n\t)\n})\nMenuContent.displayName = \"Menu.Content\"\n","import { type ClientRectObject, useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { memo, type MouseEventHandler, use, useCallback, useEffect, useRef } from \"react\"\n\nimport { getBooleanState, getOpenState } from \"../utils\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuContextTriggerProps } from \"./typings\"\n\nexport const MenuContextTrigger = memo<MenuContextTriggerProps>((props) => {\n\tconst { ref: forwardedRef, children, disabled = false } = props\n\tconst ref = useRef<HTMLElement>(null)\n\tconst { setOpen, refs, setTriggerType, open } = use(MenuContext)\n\tconst mergedRefs = useMergeRefs([forwardedRef, ref])\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"context\")\n\t}, [setTriggerType])\n\n\tconst handleContextMenu = useCallback<MouseEventHandler>(\n\t\t(e) => {\n\t\t\tconst { clientY, clientX } = e\n\n\t\t\tif (!disabled && ref.current) {\n\t\t\t\te.preventDefault()\n\t\t\t\trefs.setPositionReference({\n\t\t\t\t\tgetBoundingClientRect(): ClientRectObject {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tx: clientX,\n\t\t\t\t\t\t\ty: clientY,\n\t\t\t\t\t\t\ttop: clientY,\n\t\t\t\t\t\t\tleft: clientX,\n\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\tbottom: clientY,\n\t\t\t\t\t\t\tright: clientX,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tcontextElement: ref.current,\n\t\t\t\t})\n\t\t\t\tsetOpen(true)\n\t\t\t}\n\t\t},\n\t\t[disabled, refs, setOpen],\n\t)\n\n\treturn (\n\t\t<Slot\n\t\t\tref={mergedRefs}\n\t\t\tstyle={{ WebkitTouchCallout: disabled ? \"none\" : \"unset\" }}\n\t\t\taria-disabled={disabled}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\tdata-state={getOpenState(open)}\n\t\t\tonContextMenu={handleContextMenu}\n\t\t>\n\t\t\t{children}\n\t\t</Slot>\n\t)\n})\nMenuContextTrigger.displayName = \"MenuContextTrigger\"\n","import { memo } from \"react\"\n\nimport type { MenuGroupProps } from \"./typings\"\n\nexport const MenuGroup = memo<MenuGroupProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<div ref={ref} role=\"group\" {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nMenuGroup.displayName = \"MenuGroup\"\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type ChangeEventHandler, memo, use, useCallback, useEffect } from \"react\"\n\nimport { getBooleanState } from \"../utils\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport type { MenuInputProps } from \"./typings\"\n\nexport const MenuInputField = memo<MenuInputProps>((props) => {\n\tconst { ref: forwardedRef, className, onValueChange, onChange, disabled = false, ...rest } = props\n\tconst { activeIndex, getItemProps } = use(MenuContentContext)\n\tconst { index, ref } = useListItem()\n\n\tconst mergedRefs = useMergeRefs([ref, forwardedRef])\n\n\tconst handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n\t\t(e) => {\n\t\t\tonChange?.(e)\n\t\t\tonValueChange?.(e.target.value)\n\t\t},\n\t\t[onChange, onValueChange],\n\t)\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tonValueChange?.(\"\")\n\t\t}\n\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// users wrap there onFilterChange callback function in a useCallback otherwise typing will trigger many re-renders\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [])\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"outline-none\", className)}\n\t\t\tref={mergedRefs}\n\t\t\tdisabled={disabled}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\t{...getItemProps({\n\t\t\t\t...rest,\n\t\t\t\ttabIndex: index === activeIndex ? 0 : -1,\n\t\t\t\tonChange: handleChange,\n\t\t\t})}\n\t\t/>\n\t)\n})\nMenuInputField.displayName = \"MenuInputField\"\n","import { cx } from \"class-variance-authority\"\nimport { memo, use } from \"react\"\n\nimport { inputRoot } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport type { MenuInputRootProps } from \"./typings\"\n\nexport const MenuInputRoot = memo<MenuInputRootProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\tconst { size } = use(MenuContentContext)\n\n\treturn <div className={cx(inputRoot({ size }), className)} ref={ref} {...rest} />\n})\nMenuInputRoot.displayName = \"MenuInputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport type { MenuInputSlotProps } from \"./typings\"\n\nexport const MenuInputSlot = memo<MenuInputSlotProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <div className={cx(\"flex\", \"items-center\", \"text-(--base-a11)\", className)} ref={ref} {...rest} />\n})\nMenuInputSlot.displayName = \"MenuInputSlot\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { menuLabelCva } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\n\nexport interface MenuLabelProps extends ComponentPropsWithRef<\"div\"> {}\n\nexport const MenuLabel = memo<MenuLabelProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\tconst { size } = use(MenuContentContext)\n\n\treturn <div ref={ref} className={cx(menuLabelCva({ size }), className)} {...rest} />\n})\nMenuLabel.displayName = \"MenuLabel\"\n","import { MultiSelectProvider } from \"../SelectContext\"\nimport { genericMemo } from \"../utils\"\nimport { MenuGroup } from \"./Group\"\nimport type { MenuMultiSelectGroupProps } from \"./typings\"\n\nexport const MenuMultiSelectGroup = genericMemo(function MenuMultiSelectGroup<TValue>(\n\tprops: MenuMultiSelectGroupProps<TValue>,\n) {\n\tconst { ref, children, defaultValues, values, onValuesChange, ...rest } = props\n\n\treturn (\n\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t<MultiSelectProvider<TValue> defaultValues={defaultValues} values={values} onValuesChange={onValuesChange}>\n\t\t\t\t{children}\n\t\t\t</MultiSelectProvider>\n\t\t</MenuGroup>\n\t)\n})\n","import { use, useCallback, useLayoutEffect, useMemo } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport type { MenuSelectItemProps } from \"./typings\"\n\nexport const MenuMultiSelectItem = genericMemo(function <TValue>(props: MenuSelectItemProps<TValue>) {\n\tconst { ref, onSelect, children, closeOnSelect = false, value, ...rest } = props\n\n\tconst { selected, selectValue, registerValue } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\t\t// TODO: prevent default behavior if needed\n\t\tselectValue(value)\n\t}, [onSelect, selectValue, value])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected: isSelected, active })\n\t\t\t: children\n\t}, [children, isSelected])\n\n\treturn (\n\t\t<SelectedIndicatorContext.Provider value={isSelected}>\n\t\t\t<MenuItem\n\t\t\t\tref={ref}\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectedIndicatorContext.Provider>\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 { memo, use } from \"react\"\n\nimport { PagesContext } from \"./menuPagesContext\"\nimport type { MenuPageContentProps } from \"./typings\"\n\nexport const MenuPageContent = memo<MenuPageContentProps>((props) => {\n\tconst { page, children } = props\n\tconst { activePage } = use(PagesContext)\n\n\treturn activePage === page ? children : null\n})\nMenuPageContent.displayName = \"PageContent\"\n","import { memo, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { PagesContext } from \"./menuPagesContext\"\nimport type { MenuPageProps } from \"./typings\"\n\nexport const MenuPages = memo<MenuPageProps>((props) => {\n\tconst { children, defaultPage, page, onPageChange } = props\n\n\tconst [activePage, setActivePage] = useControlledState<string>(defaultPage ?? \"\", page, onPageChange)\n\n\tconst contextValue = useMemo(() => ({ activePage, setActivePage }), [activePage, setActivePage])\n\n\treturn <PagesContext.Provider value={contextValue}>{children}</PagesContext.Provider>\n})\nMenuPages.displayName = \"MenuPages\"\n","import { memo, use, useCallback } from \"react\"\n\nimport { MenuItem } from \"./Item\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { PagesContext } from \"./menuPagesContext\"\nimport type { MenuPageTriggerProps } from \"./typings\"\n\nexport const MenuPageTrigger = memo<MenuPageTriggerProps>((props) => {\n\tconst { ref, onSelect, page, ...rest } = props\n\tconst { refs, setActiveIndex } = use(MenuContentContext)\n\tconst { setActivePage } = use(PagesContext)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\t\t// TODO: prevent default behavior if needed\n\t\tsetActivePage(page)\n\t\trefs.floating.current?.focus()\n\t\tsetActiveIndex(null)\n\t}, [onSelect, page, refs.floating, setActiveIndex, setActivePage])\n\n\treturn <MenuItem ref={ref} onSelect={handleSelect} closeOnSelect={false} {...rest} />\n})\nMenuPageTrigger.displayName = \"MenuPageTrigger\"\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\ttype Placement,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseInteractions,\n\tuseListNavigation,\n\tuseRole,\n\ttype VirtualElement,\n} from \"@floating-ui/react\"\nimport { memo, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"./constants\"\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuRootProps, MenuTriggerType } from \"./typings\"\n\nconst DEFAULT_OFFSET = 5\n\n/**\n * Root component for menu that manages floating UI positioning and interactions.\n * Provides context for all menu-related components with advanced keyboard navigation.\n *\n * @param side - Preferred side for menu positioning (default: \"bottom\")\n * @param align - Alignment relative to trigger (default: \"center\")\n * @param offset - Distance from trigger element\n * @param loop - Enable keyboard navigation looping (default: false)\n * @param modal - Enable modal behavior with overlay (default: false)\n * @param defaultOpen - Initial open state for uncontrolled mode\n * @param open - Controlled open state\n * @param onOpenChange - Callback for open state changes\n */\nexport const MenuRoot = memo<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\t// TODO: probably some way with template string types to not need the \"as Placement\"\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 { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport type { MenuScrollProps } from \"./typings\"\n\nexport const MenuScroll = memo<MenuScrollProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(\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\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nMenuScroll.displayName = \"MenuScroll\"\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getCheckedState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport type { SelectAllItemProps } from \"./typings\"\n\nexport const MenuSelectAllItem = genericMemo(<TValue,>(props: SelectAllItemProps) => {\n\tconst { ref, children, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tconst selectedState = allSelected ? true : someSelected ? \"indeterminate\" : false\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\ttoggleSelectAll()\n\t}, [onSelect, toggleSelectAll])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected: selectedState, active })\n\t\t\t: children\n\t}, [children, selectedState])\n\n\treturn (\n\t\t<CheckedIndicatorContext value={selectedState}>\n\t\t\t<MenuItem\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tref={ref}\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\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</CheckedIndicatorContext>\n\t)\n})\n","import { memo } from \"react\"\n\nimport { SelectedIndicator, type SelectedIndicatorProps } from \"../SelectedIndicator\"\n\nexport interface MenuSelectedIndicatorProps extends SelectedIndicatorProps {}\n\nexport const MenuSelectedIndicator = memo<MenuSelectedIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<SelectedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</SelectedIndicator>\n\t)\n})\nMenuSelectedIndicator.displayName = \"MenuSelectedIndicator\"\n","import { SingleSelectNotRequiredProvider, SingleSelectRequiredProvider } from \"../SelectContext\"\nimport { genericMemo } from \"../utils\"\nimport { MenuGroup } from \"./Group\"\nimport type { MenuSelectGroupProps } from \"./typings\"\n\nexport const MenuSelectGroup = genericMemo(function MenuSelectGroup<TValue>(props: MenuSelectGroupProps<TValue>) {\n\tconst { ref, children, required, defaultValue, value, onValueChange, ...rest } = props\n\treturn (\n\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t{required ? (\n\t\t\t\t<SingleSelectRequiredProvider defaultValue={defaultValue} value={value} onValueChange={onValueChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectRequiredProvider>\n\t\t\t) : (\n\t\t\t\t<SingleSelectNotRequiredProvider\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectNotRequiredProvider>\n\t\t\t)}\n\t\t</MenuGroup>\n\t)\n})\n","import { use, useCallback, useMemo } from \"react\"\n\nimport { type ISelectContext, SelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport type { MenuSelectItemProps } from \"./typings\"\n\nexport const MenuSelectItem = genericMemo(function <TValue>(props: MenuSelectItemProps<TValue>) {\n\tconst { ref, value, onSelect, children, closeOnSelect = true, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext) as ISelectContext<TValue> // safe cast\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\t\t// TODO: prevent default behavior if needed\n\t\tselectValue(value)\n\t}, [onSelect, selectValue, value])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected: isSelected, active })\n\t\t\t: children\n\t}, [children, isSelected])\n\n\treturn (\n\t\t<SelectedIndicatorContext.Provider value={isSelected}>\n\t\t\t<MenuItem\n\t\t\t\tref={ref}\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonSelect={handleSelect}\n\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectedIndicatorContext.Provider>\n\t)\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { memo, use } from \"react\"\n\nimport { menuSeparator } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport type { MenuSeparatorProps } from \"./typings\"\n\nexport const MenuSeparator = memo<MenuSeparatorProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size } = use(MenuContentContext)\n\n\treturn <RadixSeparator.Root className={cx(menuSeparator({ size }), className)} ref={ref} {...rest} />\n})\nMenuSeparator.displayName = \"MenuSeparator\"\n","import { MENU_CONTENT_PADDING } from \"./constants\"\nimport type { 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\ttype Placement,\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 { memo, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"./constants\"\nimport { SubContext } from \"./subContentContext\"\nimport type { MenuSubProps } from \"./typings\"\nimport { computeOffsets } from \"./utils\"\n\nexport const MenuSub = memo<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 { FloatingFocusManager, FloatingList, FloatingNode, FloatingPortal, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { type CSSProperties, memo, use, useMemo, useRef } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { getOpenState } from \"../utils\"\nimport { menuContent } from \"./cva\"\nimport { MenuContentContext } from \"./menuContentContext\"\nimport { MenuContext } from \"./rootContext\"\nimport { SubContext } from \"./subContentContext\"\nimport type { SubMenuContentProps } from \"./typings\"\n\nexport const MenuSubContent = memo<SubMenuContentProps>((props) => {\n\tconst { ref: forwardedRef, children, ...rest } = props\n\tconst { middlewareData } = use(MenuContext)\n\tconst { accentColor, radius, variant, size } = use(MenuContentContext)\n\tconst {\n\t\topen,\n\t\tnodeId,\n\t\trefs,\n\t\tcontext,\n\t\tgetFloatingProps,\n\t\tgetItemProps,\n\t\tactiveIndex,\n\t\tsetActiveIndex,\n\t\telementsRef,\n\t\tfloatingStyles,\n\t\tsetOpen,\n\t\tside,\n\t} = use(SubContext)\n\n\tconst wrapperRef = useRef<HTMLDivElement>(null)\n\n\tconst mergeRefs = useMergeRefs([refs.setFloating, wrapperRef])\n\n\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\treturn {\n\t\t\t...floatingStyles,\n\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t}\n\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\treturn (\n\t\t<FloatingNode id={nodeId}>\n\t\t\t{open && (\n\t\t\t\t<FloatingPortal>\n\t\t\t\t\t<FloatingFocusManager context={context} initialFocus={wrapperRef}>\n\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"outline-none\"\n\t\t\t\t\t\t\t\t\tref={mergeRefs}\n\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\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\tmenuContent({ size }),\n\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\tradiusCva({ radius, maxLarge: true }),\n\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)}\n\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\tdata-state={getOpenState(open)}\n\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t</FloatingPortal>\n\t\t\t)}\n\t\t</FloatingNode>\n\t)\n})\nMenuSubContent.displayName = \"MenuSubContent\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { memo, use } from \"react\"\n\nimport { getOpenState } from \"../utils\"\nimport { MenuItem } from \"./Item\"\nimport { SubContext } from \"./subContentContext\"\nimport type { MenuSubTriggerProps } from \"./typings\"\n\nexport const MenuSubTrigger = memo<MenuSubTriggerProps>((props) => {\n\tconst { ref: forwardedRef, children, ...rest } = props\n\tconst { refs, getReferenceProps, open, disabled } = use(SubContext)\n\n\tconst mergedRefs = useMergeRefs([forwardedRef, refs.setReference])\n\n\treturn (\n\t\t<MenuItem\n\t\t\tref={mergedRefs}\n\t\t\tcloseOnSelect={false}\n\t\t\taria-haspopup=\"menu\"\n\t\t\tdata-state={getOpenState(open)}\n\t\t\tdisabled={disabled}\n\t\t\t{...getReferenceProps(rest)}\n\t\t>\n\t\t\t{children}\n\t\t</MenuItem>\n\t)\n})\nMenuSubTrigger.displayName = \"MenuSubTrigger\"\n","import { memo, use, useEffect } from \"react\"\n\nimport { MenuContext } from \"./rootContext\"\nimport type { MenuVirtualTriggerProps } from \"./typings\"\n\nexport const MenuVirtualTrigger = memo((props: MenuVirtualTriggerProps) => {\n\tconst { virtualElement, disabled } = props\n\tconst { refs, setTriggerType, setOpen } = use(MenuContext)\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\"\nimport { MenuCheckboxItemIndicator } from \"./CheckboxItemIndicator\"\nimport { MenuClickTrigger } from \"./ClickTrigger\"\nimport { MenuContent } from \"./Content\"\nimport { MenuContextTrigger } from \"./ContextTrigger\"\nimport { MenuGroup } from \"./Group\"\nimport { MenuInputField } from \"./InputField\"\nimport { MenuInputRoot } from \"./InputRoot\"\nimport { MenuInputSlot } from \"./InputSlot\"\nimport { MenuItem } from \"./Item\"\nimport { MenuLabel } from \"./Label\"\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\"\nimport { MenuSelectAllItem } from \"./SelectAllItem\"\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\"\nexport * from \"./CheckboxItemIndicator\"\nexport * from \"./ClickTrigger\"\nexport * from \"./Content\"\nexport * from \"./ContextTrigger\"\nexport * from \"./Group\"\nexport * from \"./InputField\"\nexport * from \"./InputRoot\"\nexport * from \"./InputSlot\"\nexport * from \"./Item\"\nexport * from \"./Label\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./PageContent\"\nexport * from \"./Pages\"\nexport * from \"./PageTrigger\"\nexport * from \"./Root\"\nexport * from \"./Scroll\"\nexport * from \"./SelectAllItem\"\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\tSelectedIndicator: MenuSelectedIndicator,\n\tCheckboxItemIndicator: MenuCheckboxItemIndicator,\n\n\t// input\n\tInputRoot: MenuInputRoot,\n\tInputField: MenuInputField,\n\tInputSlot: MenuInputSlot,\n\n\t// others\n\tLabel: MenuLabel,\n\tSeparator: MenuSeparator,\n\tScroll: MenuScroll,\n}\n","export const KEY_MAPPING = {\n\tnext: \"ArrowDown\",\n\tprev: \"ArrowUp\",\n\tfirst: \"PageUp\",\n\tlast: \"PageDown\",\n\tselectItem: \"Enter\",\n}\n\nexport const ITEM_SELECTOR = \"menu-item\"\n\nexport const GROUP_SELECTOR = \"menu-group\"\n","import { createContext, type Dispatch, type SetStateAction } from \"react\"\n\nimport { type MenuV2VariantProps } from \"./typings\"\n\nexport interface IMenuRootContext extends Required<MenuV2VariantProps> {\n\tactiveItemId: string | null\n\tsetActiveItemId: Dispatch<SetStateAction<string | null>>\n}\n\nexport const MenuRootContext = createContext({} as IMenuRootContext)\n\nexport interface IMenuGroupContext {\n\tlabelId: string | null\n\tsetLabelId: Dispatch<SetStateAction<string | null>>\n}\n\nexport const MenuGroupContext = createContext({} as IMenuGroupContext)\n\nexport interface IMenuPagesContext {\n\tpage: string\n\tsetPage: (page: string) => void\n}\n\nexport const MenuPageContext = createContext({} as IMenuPagesContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const menuRootCva = cva([\"w-full\", \"outline-none\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"p-0.5\", \"text-xs\", \"min-w-30\"],\n\t\t\tsm: [\"p-0.75\", \"text-sm\", \"min-w-35\"],\n\t\t\tmd: [\"p-1\", \"text-md\", \"min-w-40\"],\n\t\t\tlg: [\"p-1.25\", \"text-lg\", \"min-w-45\"],\n\t\t\txl: [\"p-1.5\", \"text-xl\", \"min-w-50\"],\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: [\"rounded-lg\"],\n\t\t\tfull: [\"rounded-lg\"],\n\t\t},\n\t},\n})\n\nexport const menuItemCva = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"relative\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"outline-none\",\n\t\t\"data-[disabled=true]:text-(--base-a8)\",\n\t\t\"data-[disabled=true]:pointer-events-none\",\n\t\t\"shrink-0\",\n\t\t\"py-1\",\n\t\t\"text-(--base-12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-1.5\", \"px-3\"],\n\t\t\t\tsm: [\"gap-1.75\", \"px-3.5\"],\n\t\t\t\tmd: [\"gap-2\", \"px-4\"],\n\t\t\t\tlg: [\"gap-2.25\", \"px-4.5\"],\n\t\t\t\txl: [\"gap-2.5\", \"px-5\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:bg-(--accent-a9)\",\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:active:brightness-110\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[active=true]:not-[data-[disabled=true]]:active:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const menuGroupLabelCva = cva([\"text-(--base-a11)\", \"flex\", \"items-center\", \"select-none\", \"py-1\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"gap-1.5\", \"px-3\", \"text-xs\"],\n\t\t\tsm: [\"gap-1.75\", \"px-3.5\", \"text-xs\"],\n\t\t\tmd: [\"gap-2\", \"px-4\", \"text-sm\"],\n\t\t\tlg: [\"gap-2.25\", \"px-4.5\", \"text-base\"],\n\t\t\txl: [\"gap-2.5\", \"px-5\", \"text-lg\"],\n\t\t},\n\t},\n})\n\nexport const menuSeparatorCva = 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})\n","import { cx } from \"class-variance-authority\"\nimport {\n\ttype ComponentPropsWithRef,\n\tmemo,\n\ttype MouseEventHandler,\n\ttype PointerEventHandler,\n\tuse,\n\tuseCallback,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n} from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { getBooleanState, mergeRefs } from \"../utils\"\nimport { ITEM_SELECTOR } from \"./constants\"\nimport { MenuRootContext } from \"./context\"\nimport { menuItemCva } from \"./cva\"\n\nexport interface MenuV2ItemProps extends Omit<ComponentPropsWithRef<\"div\">, \"onSelect\"> {\n\tonSelect?: (e: Event) => void\n\tdisabled?: boolean\n}\n\nexport const MenuV2Item = memo<MenuV2ItemProps>((props) => {\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tdisabled = false,\n\t\tonClick,\n\t\tonSelect,\n\t\tonPointerEnter,\n\t\tonPointerLeave,\n\t\tonPointerMove,\n\t\t...rest\n\t} = props\n\n\tconst internalRef = useRef<HTMLDivElement>(null)\n\tconst itemId = useId()\n\tconst { activeItemId, setActiveItemId, size, variant, radius } = use(MenuRootContext)\n\n\tconst isActive = itemId === activeItemId\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t},\n\t\t[onSelect],\n\t)\n\n\tconst handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonClick?.(e)\n\t\t\thandleSelect(new Event(\"menu-select\"))\n\t\t},\n\t\t[handleSelect, onClick],\n\t)\n\n\tconst handlePointerEnter = useCallback<PointerEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonPointerEnter?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetActiveItemId(itemId)\n\t\t},\n\t\t[onPointerEnter, setActiveItemId, itemId],\n\t)\n\n\tconst handlePointerLeave = useCallback<PointerEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonPointerLeave?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetActiveItemId(null)\n\t\t},\n\t\t[onPointerLeave, setActiveItemId],\n\t)\n\n\tconst handlePointerMove = useCallback<PointerEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonPointerMove?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetActiveItemId(itemId)\n\t\t},\n\t\t[onPointerMove, itemId, setActiveItemId],\n\t)\n\n\tuseEffect(() => {\n\t\tif (!internalRef.current) return\n\n\t\tconst element = internalRef.current\n\n\t\telement.addEventListener(\"menu-select\", handleSelect)\n\n\t\treturn () => {\n\t\t\telement.removeEventListener(\"menu-select\", handleSelect)\n\t\t}\n\t}, [handleSelect])\n\n\treturn (\n\t\t<div\n\t\t\tref={mergeRefs([ref, internalRef])}\n\t\t\tclassName={cx(menuItemCva({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\trole=\"menuitem\"\n\t\t\tonClick={handleClick}\n\t\t\tonPointerEnter={handlePointerEnter}\n\t\t\tonPointerLeave={handlePointerLeave}\n\t\t\tonPointerMove={handlePointerMove}\n\t\t\t// data attributes\n\t\t\t{...{ [ITEM_SELECTOR]: itemId }}\n\t\t\tdata-active={getBooleanState(isActive)}\n\t\t\tdata-disabled={getBooleanState(disabled)}\n\t\t\t// aria attributes\n\t\t\t// NOTE: no \"aria active\" needed since Root contains aria-activedescendant\n\t\t\taria-disabled={getBooleanState(disabled)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nMenuV2Item.displayName = \"MenuItem\"\n","import { memo, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { MenuV2Item, type MenuV2ItemProps } from \"./Item\"\n\nexport interface MenuV2CheckboxItemProps extends MenuV2ItemProps {\n\tchecked: boolean | \"indeterminate\"\n\tonCheckedChange: (checked: boolean) => void\n}\n\nexport const MenuV2CheckboxItem = memo<MenuV2CheckboxItemProps>((props) => {\n\tconst { ref, checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\n\t\t\tif (e.defaultPrevented) return\n\n\t\t\tswitch (checked) {\n\t\t\t\tcase true:\n\t\t\t\t\tonCheckedChange(false)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"indeterminate\":\n\t\t\t\t\tonCheckedChange(true)\n\t\t\t\t\tbreak\n\t\t\t\tcase false:\n\t\t\t\t\tonCheckedChange(true)\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t},\n\t\t[checked, onCheckedChange, onSelect],\n\t)\n\n\treturn (\n\t\t<CheckedIndicatorContext.Provider value={checked}>\n\t\t\t<MenuV2Item ref={ref} onSelect={handleSelect} {...rest} />\n\t\t</CheckedIndicatorContext.Provider>\n\t)\n})\nMenuV2CheckboxItem.displayName = \"MenuCheckboxItem\"\n","import { memo } from \"react\"\n\nimport { CheckedIndicator, type CheckedIndicatorProps } from \"../CheckedIndicator\"\n\nexport type MenuV2CheckedIndicatorProps = CheckedIndicatorProps\n\nexport const MenuV2CheckedIndicator = memo<MenuV2CheckedIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<CheckedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</CheckedIndicator>\n\t)\n})\nMenuV2CheckedIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { type ComponentPropsWithRef, memo, useId, useMemo, useState } from \"react\"\n\nimport { GROUP_SELECTOR } from \"./constants\"\nimport { MenuGroupContext } from \"./context\"\n\nexport interface MenuV2GroupProps extends ComponentPropsWithRef<\"div\"> {}\n\nexport const MenuV2Group = memo<MenuV2GroupProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\tconst groupId = useId()\n\tconst [labelId, setLabelId] = useState<string | null>(null)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tlabelId,\n\t\t\tsetLabelId,\n\t\t}),\n\t\t[labelId],\n\t)\n\n\treturn (\n\t\t<div ref={ref} role=\"group\" {...{ [GROUP_SELECTOR]: groupId }} aria-labelledby={labelId ?? undefined} {...rest}>\n\t\t\t<MenuGroupContext value={contextValue}>{children}</MenuGroupContext>\n\t\t</div>\n\t)\n})\nMenuV2Group.displayName = \"MenuGroup\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use, useEffect } from \"react\"\n\nimport { useFallbackId } from \"../hooks\"\nimport { MenuGroupContext, MenuRootContext } from \"./context\"\nimport { menuGroupLabelCva } from \"./cva\"\n\nexport interface MenuV2GroupLabelProps extends ComponentPropsWithRef<\"div\"> {}\n\nexport const MenuV2GroupLabel = memo((props: MenuV2GroupLabelProps) => {\n\tconst { ref, children, id, className, ...rest } = props\n\n\tconst labelId = useFallbackId(id)\n\tconst { size } = use(MenuRootContext)\n\tconst { setLabelId } = use(MenuGroupContext)\n\n\tuseEffect(() => {\n\t\tsetLabelId(labelId)\n\t}, [labelId, setLabelId])\n\n\treturn (\n\t\t<div ref={ref} id={labelId} className={cx(menuGroupLabelCva({ size }), className)} {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\n})\nMenuV2GroupLabel.displayName = \"MenuGroupLabel\"\n","import { use, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../CheckedIndicator\"\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { genericMemo, getCheckedState } from \"../utils\"\nimport { MenuV2Item, type MenuV2ItemProps } from \"./Item\"\n\nexport interface MenuV2SelectAllItemProps extends MenuV2ItemProps {}\n\nexport const MenuV2SelectAllItem = genericMemo(<TValue,>(props: MenuV2SelectAllItemProps) => {\n\tconst { ref, children, onSelect, ...rest } = props\n\tconst { allSelected, someSelected, toggleSelectAll } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tconst selectedState = allSelected ? true : someSelected ? \"indeterminate\" : false\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\ttoggleSelectAll()\n\t\t},\n\t\t[onSelect, toggleSelectAll],\n\t)\n\n\treturn (\n\t\t<MenuV2Item onSelect={handleSelect} ref={ref} data-state={getCheckedState(selectedState)} {...rest}>\n\t\t\t<CheckedIndicatorContext value={selectedState}>{children}</CheckedIndicatorContext>\n\t\t</MenuV2Item>\n\t)\n})\n","import { MultiSelectProvider } from \"../SelectContext\"\nimport type { MultiSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { MenuV2Group, type MenuV2GroupProps } from \"./Group\"\n\nexport interface MenuV2MultiSelectGroupProps<TValue> extends MenuV2GroupProps, MultiSelectProps<TValue> {}\n\nexport const MenuV2MultiSelectGroup = genericMemo(function MenuMultiSelectGroup<TValue>(\n\tprops: MenuV2MultiSelectGroupProps<TValue>,\n) {\n\tconst { ref, children, defaultValues, values, onValuesChange, ...rest } = props\n\n\treturn (\n\t\t<MenuV2Group ref={ref} {...rest}>\n\t\t\t<MultiSelectProvider<TValue> defaultValues={defaultValues} values={values} onValuesChange={onValuesChange}>\n\t\t\t\t{children}\n\t\t\t</MultiSelectProvider>\n\t\t</MenuV2Group>\n\t)\n})\n","import { use, useCallback, useLayoutEffect } from \"react\"\n\nimport { type IMultiSelectContext, MultiSelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuV2Item, type MenuV2ItemProps } from \"./Item\"\n\nexport interface MenuV2MultiSelectItemProps<TValue> extends MenuV2ItemProps {\n\tvalue: TValue\n}\n\nexport const MenuV2MultiSelectItem = genericMemo(function <TValue>(props: MenuV2MultiSelectItemProps<TValue>) {\n\tconst { ref, onSelect, children, value, ...rest } = props\n\n\tconst { selected, selectValue, registerValue } = use(MultiSelectContext) as IMultiSelectContext<TValue> // safe cast\n\n\tuseLayoutEffect(() => {\n\t\treturn registerValue(value)\n\t}, [registerValue, value])\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tselectValue(value)\n\t\t},\n\t\t[onSelect, selectValue, value],\n\t)\n\n\treturn (\n\t\t<MenuV2Item\n\t\t\tref={ref}\n\t\t\trole=\"menuitemcheckbox\"\n\t\t\tonSelect={handleSelect}\n\t\t\t// data attributes\n\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t// aria attributes\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SelectedIndicatorContext value={isSelected}>{children}</SelectedIndicatorContext>\n\t\t</MenuV2Item>\n\t)\n})\n","import { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { getActiveState } from \"../utils\"\nimport { MenuPageContext } from \"./context\"\n\nexport interface MenuV2PageProps extends ComponentPropsWithRef<\"div\"> {\n\tpage: string\n}\n\nexport const MenuV2Page = memo((props: MenuV2PageProps) => {\n\tconst { children, ref, page, ...rest } = props\n\tconst { page: activePage } = use(MenuPageContext)\n\n\tconst isActive = 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})\nMenuV2Page.displayName = \"MenuPage\"\n","import { memo, type PropsWithChildren, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { MenuPageContext } from \"./context\"\n\nexport interface MenuV2PagesProps extends PropsWithChildren {\n\tdefaultPage?: string\n\tpage?: string\n\tonPageChange?: (page: string) => void\n}\n\nexport const MenuV2Pages = memo((props: MenuV2PagesProps) => {\n\tconst { children, defaultPage = \"\", page: controlledPage, onPageChange } = props\n\n\tconst [page, setPage] = useControlledState(defaultPage, controlledPage, onPageChange)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tpage,\n\t\t\tsetPage,\n\t\t}),\n\t\t[page, setPage],\n\t)\n\n\treturn <MenuPageContext value={contextValue}>{children}</MenuPageContext>\n})\nMenuV2Pages.displayName = \"MenuPages\"\n","import { memo, use, useCallback } from \"react\"\n\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { getActiveState } from \"../utils\"\nimport { MenuPageContext } from \"./context\"\nimport { MenuV2Item, type MenuV2ItemProps } from \"./Item\"\n\nexport interface MenuV2PageTriggerItemProps extends MenuV2ItemProps {\n\tpage: string\n}\n\nexport const MenuV2PageTriggerItem = memo((props: MenuV2PageTriggerItemProps) => {\n\tconst { ref, children, page, onSelect, ...rest } = props\n\tconst { page: activePage, setPage } = use(MenuPageContext)\n\n\tconst isActive = page === activePage\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tsetPage(page)\n\t\t},\n\t\t[onSelect, page, setPage],\n\t)\n\n\treturn (\n\t\t<MenuV2Item ref={ref} onSelect={handleSelect} data-state={getActiveState(isActive)} {...rest}>\n\t\t\t<SelectedIndicatorContext value={isActive}>{children}</SelectedIndicatorContext>\n\t\t</MenuV2Item>\n\t)\n})\nMenuV2PageTriggerItem.displayName = \"CommandMenuPageTriggerItem\"\n","export const computeNextIndex = (index: number, length: number, direction: \"next\" | \"prev\", loop: boolean) => {\n\tswitch (direction) {\n\t\tcase \"next\":\n\t\t\treturn index === length - 1 ? (loop ? 0 : index) : index + 1\n\t\tcase \"prev\":\n\t\t\treturn index === 0 ? (loop ? length - 1 : index) : index - 1\n\t}\n}\n","import { cx } from \"class-variance-authority\"\nimport {\n\ttype ComponentPropsWithRef,\n\ttype KeyboardEventHandler,\n\tmemo,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { mergeRefs } from \"../utils\"\nimport { GROUP_SELECTOR, ITEM_SELECTOR, KEY_MAPPING } from \"./constants\"\nimport { MenuRootContext } from \"./context\"\nimport { menuRootCva } from \"./cva\"\nimport type { MenuV2VariantProps } from \"./typings\"\nimport { computeNextIndex } from \"./utils\"\n\nexport interface MenuV2RootProps extends ComponentPropsWithRef<\"div\">, MenuV2VariantProps {\n\tloop?: boolean\n}\n\nexport const MenuV2Root = memo<MenuV2RootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tonKeyDown,\n\t\tloop = false,\n\t\t// style props\n\t\tradius = providerContext.radius,\n\t\taccentColor = \"base\",\n\t\tsize = \"md\",\n\t\tvariant = \"soft\",\n\t\t...rest\n\t} = props\n\n\tconst internalRef = useRef<HTMLDivElement>(null)\n\tconst [activeItemId, setActiveItemId] = useState<string | null>(null)\n\n\t// Items\n\n\tconst getItems = useCallback((element: Element) => {\n\t\treturn Array.from(element.querySelectorAll(`[${ITEM_SELECTOR}]:not([data-disabled=true]`))\n\t}, [])\n\n\tconst getFirstItem = useCallback(\n\t\t(element: Element) => {\n\t\t\treturn getItems(element).at(0)\n\t\t},\n\t\t[getItems],\n\t)\n\n\tconst getLastItem = useCallback(\n\t\t(element: Element) => {\n\t\t\treturn getItems(element).at(-1)\n\t\t},\n\t\t[getItems],\n\t)\n\n\tconst getActiveItem = useCallback(\n\t\t(element: Element) => {\n\t\t\treturn getItems(element).find((itemEle) => itemEle.getAttribute(ITEM_SELECTOR) === activeItemId)\n\t\t},\n\t\t[activeItemId, getItems],\n\t)\n\n\tconst getNextItem = useCallback(\n\t\t(element: Element, direction: \"next\" | \"prev\") => {\n\t\t\tconst items = getItems(element)\n\t\t\tconst activeItem = getActiveItem(element)\n\n\t\t\tconst activeItemIndex = items.findIndex((itemEle) => itemEle === activeItem)\n\t\t\tconst nextItemIndex = computeNextIndex(activeItemIndex, items.length, direction, loop)\n\n\t\t\treturn items[nextItemIndex]\n\t\t},\n\t\t[getActiveItem, getItems, loop],\n\t)\n\n\t// Groups\n\n\tconst getGroups = useCallback(() => {\n\t\tif (!internalRef.current) return []\n\t\treturn Array.from(internalRef.current.querySelectorAll(`[${GROUP_SELECTOR}]`))\n\t}, [])\n\n\tconst getActiveGroup = useCallback(() => {\n\t\treturn getActiveItem(internalRef.current!)?.closest(`[${GROUP_SELECTOR}]`) ?? undefined\n\t}, [getActiveItem])\n\n\tconst getNextGroup = useCallback(\n\t\t(direction: \"next\" | \"prev\") => {\n\t\t\tconst groups = getGroups()\n\t\t\tconst activeGroup = getActiveGroup()\n\n\t\t\tconst activeGroupIndex = groups.findIndex((groupEle) => groupEle === activeGroup)\n\t\t\tconst nextGroupIndex = computeNextIndex(activeGroupIndex, groups.length, direction, loop)\n\n\t\t\treturn groups[nextGroupIndex]\n\t\t},\n\t\t[getActiveGroup, getGroups, loop],\n\t)\n\n\tconst getFirstGroup = useCallback(() => {\n\t\treturn getGroups().at(0)\n\t}, [getGroups])\n\n\tconst getLastGroup = useCallback(() => {\n\t\treturn getGroups().at(-1)\n\t}, [getGroups])\n\n\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n\t\t(e) => {\n\t\t\tonKeyDown?.(e)\n\n\t\t\tif (e.defaultPrevented) return\n\n\t\t\tswitch (e.code) {\n\t\t\t\tcase KEY_MAPPING.selectItem: {\n\t\t\t\t\tconst activeItem = getActiveItem(internalRef.current!)\n\t\t\t\t\tif (activeItem) activeItem.dispatchEvent(new Event(\"menu-select\"))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.next: {\n\t\t\t\t\tlet nextItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst nextGroup = getNextGroup(\"next\")\n\t\t\t\t\t\tif (!nextGroup) return\n\t\t\t\t\t\tnextItem = getFirstItem(nextGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextItem = getNextItem(internalRef.current!, \"next\")\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!nextItem) return\n\t\t\t\t\tsetActiveItemId(nextItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.prev: {\n\t\t\t\t\tlet prevItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst prevGroup = getNextGroup(\"prev\")\n\t\t\t\t\t\tif (!prevGroup) return\n\t\t\t\t\t\tprevItem = getFirstItem(prevGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprevItem = getNextItem(internalRef.current!, \"prev\")\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!prevItem) return\n\t\t\t\t\tsetActiveItemId(prevItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.first: {\n\t\t\t\t\tlet firstItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst firstGroup = getFirstGroup()\n\t\t\t\t\t\tif (!firstGroup) return\n\t\t\t\t\t\tfirstItem = getFirstItem(firstGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfirstItem = getFirstItem(internalRef.current!)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!firstItem) return\n\t\t\t\t\tsetActiveItemId(firstItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase KEY_MAPPING.last: {\n\t\t\t\t\tlet lastItem: Element | undefined\n\n\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\tconst lastGroup = getLastGroup()\n\t\t\t\t\t\tif (!lastGroup) return\n\t\t\t\t\t\tlastItem = getFirstItem(lastGroup)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlastItem = getLastItem(internalRef.current!)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!lastItem) return\n\t\t\t\t\tsetActiveItemId(lastItem.getAttribute(ITEM_SELECTOR))\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[getActiveItem, getFirstGroup, getFirstItem, getLastGroup, getLastItem, getNextGroup, getNextItem, onKeyDown],\n\t)\n\n\tuseEffect(() => {\n\t\tconst firstItem = getFirstItem(internalRef.current!)\n\t\tif (!firstItem) return\n\t\tinternalRef.current?.focus()\n\t\tsetActiveItemId(firstItem.getAttribute(ITEM_SELECTOR))\n\t}, [getFirstItem])\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tactiveItemId,\n\t\t\tsetActiveItemId,\n\t\t\t// style props\n\t\t\taccentColor,\n\t\t\tradius,\n\t\t\tvariant,\n\t\t\tsize,\n\t\t}),\n\t\t[accentColor, activeItemId, radius, size, variant],\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tref={mergeRefs([ref, internalRef])}\n\t\t\tclassName={cx(menuRootCva({ size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\trole=\"menu\"\n\t\t\tonKeyDown={handleKeyDown}\n\t\t\ttabIndex={0}\n\t\t\taria-activedescendant={activeItemId ?? undefined}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<MenuRootContext value={contextValue}>{children}</MenuRootContext>\n\t\t</div>\n\t)\n})\nMenuV2Root.displayName = \"MenuRoot\"\n","import { memo } from \"react\"\n\nimport { SelectedIndicator, type SelectedIndicatorProps } from \"../SelectedIndicator\"\n\nexport type MenuV2SelectedIndicatorProps = SelectedIndicatorProps\n\nexport const MenuV2SelectedIndicator = memo<MenuV2SelectedIndicatorProps>((props) => {\n\tconst { ref, children, ...rest } = props\n\n\treturn (\n\t\t<SelectedIndicator ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</SelectedIndicator>\n\t)\n})\nMenuV2SelectedIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { SingleSelectNotRequiredProvider, SingleSelectRequiredProvider } from \"../SelectContext\"\nimport type { SingleSelectProps } from \"../SelectContext/typings\"\nimport { genericMemo } from \"../utils\"\nimport { MenuV2Group, type MenuV2GroupProps } from \"./Group\"\n\nexport type MenuV2SelectGroupProps<TValue> = MenuV2GroupProps & SingleSelectProps<TValue>\n\nexport const MenuV2SelectGroup = genericMemo(function MenuSelectGroup<TValue>(props: MenuV2SelectGroupProps<TValue>) {\n\tconst { ref, children, required, defaultValue, value, onValueChange, ...rest } = props\n\treturn (\n\t\t<MenuV2Group ref={ref} {...rest}>\n\t\t\t{required ? (\n\t\t\t\t<SingleSelectRequiredProvider defaultValue={defaultValue} value={value} onValueChange={onValueChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectRequiredProvider>\n\t\t\t) : (\n\t\t\t\t<SingleSelectNotRequiredProvider\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonValueChange={onValueChange}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SingleSelectNotRequiredProvider>\n\t\t\t)}\n\t\t</MenuV2Group>\n\t)\n})\n","import { use, useCallback } from \"react\"\n\nimport { type ISelectContext, SelectContext } from \"../SelectContext\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { genericMemo, getSelectedState } from \"../utils\"\nimport { MenuV2Item, type MenuV2ItemProps } from \"./Item\"\n\nexport interface MenuV2SelectItemProps<TValue> extends MenuV2ItemProps {\n\tvalue: TValue\n}\n\nexport const MenuV2SelectItem = genericMemo(function <TValue>(props: MenuV2SelectItemProps<TValue>) {\n\tconst { ref, value, onSelect, children, ...rest } = props\n\tconst { selected, selectValue } = use(SelectContext) as ISelectContext<TValue> // safe cast\n\n\tconst isSelected = selected(value)\n\n\tconst handleSelect = useCallback(\n\t\t(e: Event) => {\n\t\t\tonSelect?.(e)\n\t\t\tif (e.defaultPrevented) return\n\t\t\tselectValue(value)\n\t\t},\n\t\t[onSelect, selectValue, value],\n\t)\n\n\treturn (\n\t\t<MenuV2Item\n\t\t\tref={ref}\n\t\t\trole=\"menuitemcheckbox\"\n\t\t\tonSelect={handleSelect}\n\t\t\tdata-state={getSelectedState(isSelected)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SelectedIndicatorContext value={isSelected}>{children}</SelectedIndicatorContext>\n\t\t</MenuV2Item>\n\t)\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { MenuRootContext } from \"./context\"\nimport { menuSeparatorCva } from \"./cva\"\n\nexport interface MenuV2SeparatorProps extends ComponentPropsWithRef<typeof RadixSeparator.Root> {}\n\nexport const MenuV2Separator = memo<MenuV2SeparatorProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size } = use(MenuRootContext)\n\n\treturn <RadixSeparator.Root className={cx(menuSeparatorCva({ size }), className)} ref={ref} {...rest} />\n})\nMenuV2Separator.displayName = \"MenuSeparator\"\n","import { MenuV2CheckboxItem } from \"./CheckboxItem\"\nimport { MenuV2CheckedIndicator } from \"./CheckboxItemIndicator\"\nimport { MenuV2Group } from \"./Group\"\nimport { MenuV2GroupLabel } from \"./GroupLabel\"\nimport { MenuV2Item } from \"./Item\"\nimport { MenuV2SelectAllItem } from \"./MultiSelectAllItem\"\nimport { MenuV2MultiSelectGroup } from \"./MultiSelectGroup\"\nimport { MenuV2MultiSelectItem } from \"./MultiSelectItem\"\nimport { MenuV2Page } from \"./Page\"\nimport { MenuV2Pages } from \"./Pages\"\nimport { MenuV2PageTriggerItem } from \"./PageTriggerItem\"\nimport { MenuV2Root } from \"./Root\"\nimport { MenuV2SelectedIndicator } from \"./SelectedIndicator\"\nimport { MenuV2SelectGroup } from \"./SelectGroup\"\nimport { MenuV2SelectItem } from \"./SelectItem\"\nimport { MenuV2Separator } from \"./Separator\"\n\nexport * from \"./CheckboxItem\"\nexport * from \"./CheckboxItemIndicator\"\nexport * from \"./Group\"\nexport * from \"./GroupLabel\"\nexport * from \"./Item\"\nexport * from \"./MultiSelectAllItem\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./Page\"\nexport * from \"./Pages\"\nexport * from \"./PageTriggerItem\"\nexport * from \"./Root\"\nexport * from \"./SelectedIndicator\"\nexport * from \"./SelectGroup\"\nexport * from \"./SelectItem\"\nexport * from \"./Separator\"\nexport type * from \"./typings\"\n\nexport const MenuV2 = {\n\tRoot: MenuV2Root,\n\tGroup: MenuV2Group,\n\tGroupLabel: MenuV2GroupLabel,\n\tItem: MenuV2Item,\n\tSeparator: MenuV2Separator,\n\tSelectGroup: MenuV2SelectGroup,\n\tSelectItem: MenuV2SelectItem,\n\tMultiSelectGroup: MenuV2MultiSelectGroup,\n\tMultiSelectItem: MenuV2MultiSelectItem,\n\tSelectAllItem: MenuV2SelectAllItem,\n\tSelectedIndicator: MenuV2SelectedIndicator,\n\tCheckboxItem: MenuV2CheckboxItem,\n\tCheckedIndicator: MenuV2CheckedIndicator,\n\tPages: MenuV2Pages,\n\tPage: MenuV2Page,\n\tPageTriggerItem: MenuV2PageTriggerItem,\n}\n","import * as RadixOneTimePasswordField from \"@radix-ui/react-one-time-password-field\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface OneTimePasswordFieldHiddenInputProps\n\textends ComponentPropsWithRef<typeof RadixOneTimePasswordField.HiddenInput> {}\n\nexport const OneTimePasswordFieldHiddenInput = memo<OneTimePasswordFieldHiddenInputProps>((props) => {\n\treturn <RadixOneTimePasswordField.HiddenInput {...props} />\n})\nOneTimePasswordFieldHiddenInput.displayName = \"OneTimePasswordFieldHiddenInput\"\n","import { createContext } from \"react\"\n\nimport { type ComponentRadius } from \"../Provider\"\nimport type { OneTimePasswordFieldSize, OneTimePasswordFieldVariant } from \"./typings\"\n\nexport interface IOneTimePasswordFieldContext {\n\tvariant: OneTimePasswordFieldVariant\n\tsize: OneTimePasswordFieldSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const OneTimePasswordFieldContext = createContext({} as IOneTimePasswordFieldContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const onetimePasswordFieldInput = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-center\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-8)\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t\t\"disabled:opacity-50\",\n\t\t\"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: [\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\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\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\toutline: [\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\t\"placeholder-(--base-a9)\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t],\n\t\t\t\tghost: [\"bg-transparent\", \"text-(--base-12)\", 'placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)'],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"size-6 w-6\", \"text-xs\"],\n\t\t\t\tsm: [\"size-7 w-7\", \"text-sm\"],\n\t\t\t\tmd: [\"size-8 w-8\", \"text-base\"],\n\t\t\t\tlg: [\"size-9 w-9\", \"text-lg\"],\n\t\t\t\txl: [\"size-10 w-10\", \"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","import * as RadixOneTimePasswordField from \"@radix-ui/react-one-time-password-field\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { OneTimePasswordFieldContext } from \"./context\"\nimport { onetimePasswordFieldInput } from \"./cva\"\n\nexport interface OneTimePasswordFieldInputProps extends ComponentPropsWithRef<typeof RadixOneTimePasswordField.Input> {}\n\nexport const OneTimePasswordFieldInput = memo<OneTimePasswordFieldInputProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { variant, size, radius, accentColor } = use(OneTimePasswordFieldContext)\n\n\treturn (\n\t\t<RadixOneTimePasswordField.Input\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tonetimePasswordFieldInput({ variant, size }),\n\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nOneTimePasswordFieldInput.displayName = \"OneTimePasswordFieldInput\"\n","import * as RadixOneTimePasswordField from \"@radix-ui/react-one-time-password-field\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { OneTimePasswordFieldContext } from \"./context\"\nimport type { OneTimePasswordFieldVariantProps } from \"./typings\"\n\nexport interface OneTimePasswordFieldRootProps\n\textends ComponentPropsWithRef<typeof RadixOneTimePasswordField.Root>,\n\t\tOneTimePasswordFieldVariantProps {}\n\nexport const OneTimePasswordFieldRoot = memo<OneTimePasswordFieldRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(() => ({ variant, size, radius, accentColor }), [accentColor, radius, size, variant])\n\n\treturn (\n\t\t<RadixOneTimePasswordField.Root ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t<OneTimePasswordFieldContext value={contextValue}>{children}</OneTimePasswordFieldContext>\n\t\t</RadixOneTimePasswordField.Root>\n\t)\n})\nOneTimePasswordFieldRoot.displayName = \"OneTimePasswordFieldRoot\"\n","import { OneTimePasswordFieldHiddenInput } from \"./HiddenInput\"\nimport { OneTimePasswordFieldInput } from \"./Input\"\nimport { OneTimePasswordFieldRoot } from \"./Root\"\n\nexport * from \"./HiddenInput\"\nexport * from \"./Input\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const OneTimePasswordField = {\n\tHiddenInput: OneTimePasswordFieldHiddenInput,\n\tInput: OneTimePasswordFieldInput,\n\tRoot: OneTimePasswordFieldRoot,\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface OverlayCloseProps extends ComponentPropsWithRef<typeof RadixDialog.Close> {}\n\nexport const OverlayClose = memo<OverlayCloseProps>((props) => {\n\tconst { ref, ...rest } = props\n\treturn <RadixDialog.Close ref={ref} {...rest} />\n})\nOverlayClose.displayName = \"OverlayClose\"\n","import { cva } from \"class-variance-authority\"\n\nexport const overlayContentCva = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\t\"bg-(--color-background)\",\n\t\"data-[state='closed']:animate-out\",\n\t\"data-[state='closed']:fade-out-0\",\n\t\"data-[state='closed']:zoom-out-95\",\n\t\"data-[state='open']:animate-in\",\n\t\"data-[state='open']:fade-in-0\",\n\t\"data-[state='open']:zoom-in-95\",\n])\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { overlayContentCva } from \"./cva\"\n\nexport interface OverlayContentProps extends ComponentPropsWithRef<typeof RadixDialog.Content> {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n}\n\nexport const OverlayContent = memo<OverlayContentProps>((props) => {\n\tconst { ref, container, className, ...rest } = props\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Content\n\t\t\t\tclassName={cx(overlayContentCva(), className)}\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</RadixDialog.Portal>\n\t)\n})\nOverlayContent.displayName = \"OverlayContent\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface OverlayDescriptionProps extends ComponentPropsWithRef<typeof RadixDialog.Description> {}\n\nexport const OverlayDescription = memo<OverlayDescriptionProps>((props) => {\n\tconst { ref, ...rest } = props\n\treturn <RadixDialog.Description ref={ref} {...rest} />\n})\nOverlayDescription.displayName = \"OverlayDescription\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { type ComponentProps, memo } from \"react\"\n\nexport interface OverlayRootProps extends ComponentProps<typeof RadixDialog.Root> {}\n\nexport const OverlayRoot = memo<OverlayRootProps>((props) => {\n\treturn <RadixDialog.Root {...props} />\n})\nOverlayRoot.displayName = \"OverlayRoot\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface OverlayTitleProps extends ComponentPropsWithRef<typeof RadixDialog.Title> {}\n\nexport const OverlayTitle = memo<OverlayTitleProps>((props) => {\n\tconst { ref, ...rest } = props\n\treturn <RadixDialog.Title ref={ref} {...rest} />\n})\nOverlayTitle.displayName = \"OverlayTitle\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface OverlayTriggerProps extends ComponentPropsWithRef<typeof RadixDialog.Trigger> {}\n\nexport const OverlayTrigger = memo<OverlayTriggerProps>((props) => {\n\tconst { ref, ...rest } = props\n\treturn <RadixDialog.Trigger ref={ref} {...rest} />\n})\nOverlayTrigger.displayName = \"OverlayTrigger\"\n","import { OverlayClose } from \"./Close\"\nimport { OverlayContent } from \"./Content\"\nimport { OverlayDescription } from \"./Description\"\nimport { OverlayRoot } from \"./Root\"\nimport { OverlayTitle } from \"./Title\"\nimport { OverlayTrigger } from \"./Trigger\"\n\nexport * from \"./Close\"\nexport * from \"./Content\"\nexport * from \"./Description\"\nexport * from \"./Root\"\nexport * from \"./Title\"\nexport * from \"./Trigger\"\n\nexport const Overlay = {\n\tRoot: OverlayRoot,\n\tContent: OverlayContent,\n\tTitle: OverlayTitle,\n\tDescription: OverlayDescription,\n\tTrigger: OverlayTrigger,\n\tClose: OverlayClose,\n}\n","import { AlertTriangle, RotateCcw } from \"lucide-react\"\nimport { type ErrorInfo, memo, type PropsWithChildren, useCallback, useState } from \"react\"\nimport { ErrorBoundary, useErrorBoundary } from \"react-error-boundary\"\n\nimport { IconButton } from \"../Buttons\"\nimport { LuIcon } from \"../LuIcon\"\n\ninterface ErrorBoundaryProps extends 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<LuIcon icon={AlertTriangle} 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<LuIcon icon={RotateCcw} 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] = 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 in OvermapErrorBoundary:\", 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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface PopoverArrowProps extends ComponentPropsWithRef<typeof RadixPopover.Arrow> {}\n\nexport const PopoverArrow = memo((props: PopoverArrowProps) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixPopover.Arrow className={cx(\"fill-(--base-6)\", className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixPopover.Arrow>\n\t)\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: [\"p-2\"],\n\t\t\tsm: [\"p-3\"],\n\t\t\tmd: [\"p-4\"],\n\t\t\tlg: [\"p-5\"],\n\t\t\txl: [\"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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { floating, radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { popoverContent } from \"./cva\"\nimport type { PopoverVariantProps } from \"./typings\"\n\nexport interface PopoverContentProps extends ComponentPropsWithRef<typeof RadixPopover.Content>, PopoverVariantProps {\n\tcontainer?: RadixPopover.PopoverPortalProps[\"container\"]\n}\n\n/**\n * Content area for popover components with customizable sizing and positioning.\n * Rendered in a portal with floating behavior and enhanced styling.\n *\n * @param [size=\"md\"] {PopoverSize} - Size variant affecting padding and content dimensions\n * @param sideOffset - Distance from the trigger element (default: 5)\n * @param radius - Border radius override (default: provider value)\n * @param accentColor - Accent color override (default: provider value)\n * @param container - Portal container for rendering\n */\nexport const PopoverContent = memo<PopoverContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\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\tpopoverContent({ size }),\n\t\t\t\t\tfloating({ shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\tclassName,\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\t\t{children}\n\t\t\t</RadixPopover.Content>\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 { cva } from \"class-variance-authority\"\n\nexport const progressRootCva = cva([\"relative\", \"overflow-hidden\", \"grow\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-1.5\"],\n\t\t\tsm: [\"h-2\"],\n\t\t\tmd: [\"h-2.5\"],\n\t\t\tlg: [\"h-3\"],\n\t\t\txl: [\"h-3.5\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [\"bg-(--base-a3)\", \"inset-ring\", \"inset-ring-(--base-a6)\"],\n\t\t\tsoft: [\"bg-(--base-a4)\"],\n\t\t},\n\t},\n})\n\nexport const progressIndicatorCva = cva(\n\t[\n\t\t\"size-full\",\n\t\t\"transform-[scaleX(calc(var(--progress-value)/var(--progress-max)))]\",\n\t\t\"origin-[left_center]\",\n\t\t\"transition-[transform]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [],\n\t\t\t\tsm: [],\n\t\t\t\tmd: [],\n\t\t\t\tlg: [],\n\t\t\t\txl: [],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--accent-track)\"],\n\t\t\t\tsoft: [\"bg-(--accent-8)\"],\n\t\t\t},\n\t\t},\n\t},\n)\n","import * as RadixProgress from \"@radix-ui/react-progress\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { progressIndicatorCva, progressRootCva } from \"./cva\"\nimport type { ProgressVariantProps } from \"./typings\"\n\nexport interface ProgressProps\n\textends Omit<ComponentPropsWithRef<typeof RadixProgress.Root>, \"children\">,\n\t\tProgressVariantProps {}\n\n/**\n * Progress indicator component that visualizes completion status.\n * Supports different visual styles and automatically calculates progress percentage.\n *\n * @param [variant=\"surface\"] {ProgressVariant} - Visual style variant\n * @param {ProgressSize} [size=\"md\"] - Size variant affecting height and visual weight\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n * @param {number} value - Current progress value\n * @param [max=100] {number} - Maximum progress value\n */\nexport const Progress = memo<ProgressProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\tstyle,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst computedStyle = useMemo(\n\t\t() => ({\n\t\t\t...style,\n\t\t\t\"--progress-value\": rest.value ?? 0,\n\t\t\t\"--progress-max\": rest.max ?? 100,\n\t\t}),\n\t\t[rest.max, rest.value, style],\n\t)\n\n\treturn (\n\t\t<RadixProgress.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(progressRootCva({ variant, size }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tstyle={computedStyle}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<RadixProgress.ProgressIndicator className={progressIndicatorCva({ variant, size })} />\n\t\t</RadixProgress.Root>\n\t)\n})\nProgress.displayName = \"Progress\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { RadioCardsSize, RadioCardsVariant } from \"./typings\"\n\ninterface RadioCardsContext {\n\tsize: RadioCardsSize\n\tvariant: RadioCardsVariant\n\tradius: ComponentRadius\n}\n\nexport const RadioCardsContext = createContext({} as RadioCardsContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const radioCardsRootCva = 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-base\"],\n\t\t\txl: [\"text-lg\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\toutline: [],\n\t\t},\n\t},\n})\n\nexport const radioCardsItemCva = cva(\n\t[\n\t\t\"block\",\n\t\t\"overflow-hidden\",\n\t\t\"align-start\",\n\t\t\"transition-[box-shadow]\",\n\n\t\t\"disabled:opacity-50\",\n\n\t\t\"focus-visible:bg-(--accent-a3)\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-8)\",\n\t\t\"focus-visible:-outline-offset-1\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-2\"],\n\t\t\t\tsm: [\"p-3\"],\n\t\t\t\tmd: [\"p-4\"],\n\t\t\t\tlg: [\"p-5\"],\n\t\t\t\txl: [\"p-6\"],\n\t\t\t},\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=unchecked]:inset-ring\",\n\t\t\t\t\t\"data-[state=unchecked]:inset-ring-(--base-a7)\",\n\t\t\t\t\t\"data-[state=unchecked]:hover:inset-ring-(--base-a8)\",\n\t\t\t\t\t\"data-[state=checked]:outline-2\",\n\t\t\t\t\t\"data-[state=checked]:outline-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state=checked]:-outline-offset-1\",\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=unchecked]:inset-ring\",\n\t\t\t\t\t\"data-[state=unchecked]:inset-ring-(--base-a7)\",\n\t\t\t\t\t\"data-[state=unchecked]:hover:inset-ring-(--base-a8)\",\n\t\t\t\t\t\"data-[state=checked]:outline-2\",\n\t\t\t\t\t\"data-[state=checked]:outline-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state=checked]:-outline-offset-1\",\n\t\t\t\t],\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 { memo, use } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport type { AccentColorProps } from \"../typings\"\nimport { RadioCardsContext } from \"./context\"\nimport { radioCardsItemCva } from \"./cva\"\n\nexport interface RadioCardsItemProps extends RadixRadioGroup.RadioGroupItemProps, AccentColorProps {}\n\nexport const RadioCardsItem = memo<RadioCardsItemProps>((props) => {\n\tconst { variant, size, radius } = use(RadioCardsContext)\n\tconst { className, accentColor, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Item\n\t\t\tclassName={cx(radioCardsItemCva({ variant, size }), radiusCva({ radius, maxLarge: true }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nRadioCardsItem.displayName = \"RadioCardsItem\"\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioCardsContext } from \"./context\"\nimport { radioCardsRootCva } from \"./cva\"\nimport type { RadiosCardsVariantProps } from \"./typings\"\n\nexport interface RadioCardsRootProps extends RadixRadioGroup.RadioGroupProps, RadiosCardsVariantProps {}\n\nexport const RadioCardsRoot = memo<RadioCardsRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t}),\n\t\t[radius, size, variant],\n\t)\n\n\treturn (\n\t\t<RadixRadioGroup.Root\n\t\t\tclassName={cx(radioCardsRootCva({ size, variant }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<RadioCardsContext value={contextValue}>{children}</RadioCardsContext>\n\t\t</RadixRadioGroup.Root>\n\t)\n})\nRadioCardsRoot.displayName = \"RadioCardsRoot\"\n","import { RadioCardsItem } from \"./Item\"\nimport { RadioCardsRoot } from \"./Root\"\n\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const RadioCards = {\n\tRoot: RadioCardsRoot,\n\tItem: RadioCardsItem,\n}\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface RadioGroupIndicatorProps extends ComponentPropsWithRef<typeof RadixRadioGroup.Indicator> {}\n\nexport const RadioGroupIndicator = memo<RadioGroupIndicatorProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Indicator\n\t\t\tclassName={cx(\"inline-flex items-center justify-center\", className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixRadioGroup.Indicator>\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\"inline-flex\",\n\t\t\"justify-center\",\n\t\t\"items-center\",\n\t\t\"shrink-0\",\n\t\t\"align-top\",\n\t\t\"cursor-pointer\",\n\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-a7)\",\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: [\"size-4\", \"text-[0.625rem]\"],\n\t\t\t\tsm: [\"size-5\", \"text-xs\"],\n\t\t\t\tmd: [\"size-6\", \"text-sm\"],\n\t\t\t\tlg: [\"size-7\", \"text-base\"],\n\t\t\t\txl: [\"size-9\", \"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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { RadioGroupContext } from \"./context\"\nimport { radioGroupItem } from \"./cva\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupItemProps\n\textends RadioGroupVariantProps,\n\t\tComponentPropsWithRef<typeof RadixRadioGroup.Item> {}\n\n/**\n * Individual radio button item within a RadioGroup.\n * Inherits styling from parent RadioGroupRoot and ensures single selection.\n *\n * @param variant - Visual style variant override (default: inherited from group)\n * @param size - Size variant override (default: inherited from group)\n */\nexport const RadioGroupItem = memo<RadioGroupItemProps>((props) => {\n\tconst radioGroupContext = useContext(RadioGroupContext)\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = radioGroupContext.size,\n\t\tvariant = radioGroupContext.variant,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixRadioGroup.Item className={cx(radioGroupItem({ size, variant }), className)} ref={ref} {...rest}>\n\t\t\t{children}\n\t\t</RadixRadioGroup.Item>\n\t)\n})\n\nRadioGroupItem.displayName = \"RadioGroupItem\"\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioGroupContext } from \"./context\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupRootProps\n\textends ComponentPropsWithRef<typeof RadixRadioGroup.Root>,\n\t\tRadioGroupVariantProps {}\n\n/**\n * Root component for radio button groups that manages single-selection state.\n * Provides context for styling and behavior of child radio items.\n *\n * @param {RadioGroupVariant} [variant=\"surface\"] - Visual style variant\n * @param [size=\"md\"] {RadioGroupSize} - Size variant affecting radio button dimensions\n * @param accentColor {string} - Accent color override\n */\nexport const RadioGroupRoot = memo<RadioGroupRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\taccentColor = providerContext.accentColor,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\tchildren,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixRadioGroup.Root className={cx(className)} ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t<RadioGroupContext.Provider value={{ variant, size }}>{children}</RadioGroupContext.Provider>\n\t\t</RadixRadioGroup.Root>\n\t)\n})\n\nRadioGroupRoot.displayName = \"RadioGroupRoot\"\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 { createContext } from \"react\"\n\nexport interface IRatingRootContext {\n\tvalue: number | null\n}\n\nexport const RatingRootContext = createContext({} as IRatingRootContext)\n\nexport interface IRatingItemContext {\n\tvalue: number\n}\n\nexport const RatingItemContext = createContext({} as IRatingItemContext)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { type ComponentPropsWithRef, memo, use, useMemo } from \"react\"\n\nimport { RatingItemContext, RatingRootContext } from \"./context\"\n\nexport interface RatingItemProps extends Omit<ComponentPropsWithRef<typeof RadixRadioGroup.Item>, \"value\"> {\n\tvalue: number\n}\n\nexport const RatingItem = memo<RatingItemProps>((props) => {\n\tconst { ref, children, value, ...rest } = props\n\n\tconst { value: activeValue } = use(RatingRootContext)\n\n\tconst active = !!activeValue && value <= activeValue\n\n\tconst contextValue = useMemo(() => ({ value }), [value])\n\n\treturn (\n\t\t<RadixRadioGroup.Item ref={ref} value={value.toString()} data-active={active} {...rest}>\n\t\t\t<RatingItemContext value={contextValue}>{children}</RatingItemContext>\n\t\t</RadixRadioGroup.Item>\n\t)\n})\nRatingItem.displayName = \"RatingItem\"\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { RatingItemContext, RatingRootContext } from \"./context\"\n\nexport interface RatingItemIndicatorProps extends ComponentPropsWithRef<typeof RadixRadioGroup.Indicator> {}\n\nexport const RatingItemIndicator = memo<RatingItemIndicatorProps>((props) => {\n\tconst { ref, children, forceMount, ...rest } = props\n\n\tconst { value: activeValue } = use(RatingRootContext)\n\tconst { value } = use(RatingItemContext)\n\n\tconst active = !!activeValue && value <= activeValue\n\n\treturn (\n\t\t<RadixRadioGroup.Indicator\n\t\t\tref={ref}\n\t\t\tforceMount={forceMount ?? (active || undefined)}\n\t\t\tdata-active={active}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixRadioGroup.Indicator>\n\t)\n})\nRatingItemIndicator.displayName = \"RatingItemIndicator\"\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { type ComponentPropsWithRef, memo, useCallback, useMemo } from \"react\"\n\nimport { useControlledState } from \"../hooks\"\nimport { RatingRootContext } from \"./context\"\n\nexport interface RatingRootProps\n\textends Omit<ComponentPropsWithRef<typeof RadixRadioGroup.Root>, \"defaultValue\" | \"value\" | \"onValueChange\"> {\n\tdefaultValue?: number\n\tvalue?: number | null\n\tonValueChange?: (value: number) => void\n}\n\nexport const RatingRoot = memo<RatingRootProps>((props) => {\n\tconst { ref, children, defaultValue, value: controlledValue, onValueChange, ...rest } = props\n\n\t// @ts-expect-error onValueChange is being passed down to RadixRadioGroup.Root which will never be called with null so this is safe\n\tconst [value, setValue] = useControlledState<number | null>(defaultValue ?? null, controlledValue, onValueChange)\n\n\tconst handleValueChange = useCallback(\n\t\t(value: string) => {\n\t\t\tsetValue(parseInt(value))\n\t\t},\n\t\t[setValue],\n\t)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tvalue,\n\t\t}),\n\t\t[value],\n\t)\n\n\treturn (\n\t\t<RadixRadioGroup.Root\n\t\t\tref={ref}\n\t\t\tvalue={value ? value.toString() : null}\n\t\t\tonValueChange={handleValueChange}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<RatingRootContext value={contextValue}>{children}</RatingRootContext>\n\t\t</RadixRadioGroup.Root>\n\t)\n})\nRatingRoot.displayName = \"RatingRoot\"\n","import { RatingItem } from \"./Item\"\nimport { RatingItemIndicator } from \"./ItemIndicator\"\nimport { RatingRoot } from \"./Root\"\n\nexport * from \"./Item\"\nexport * from \"./ItemIndicator\"\nexport * from \"./Root\"\n\nexport const Rating = {\n\tItem: RatingItem,\n\tItemIndicator: RatingItemIndicator,\n\tRoot: RatingRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const segmentedControlRootCva = cva(\n\t[\"shrink-0\", \"transition-colors\", \"inline-flex\", \"box-border\", \"min-w-max\", \"text-center\"],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\t\tsurface: [\"bg-(--accent-surface)\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-6\", \"text-xs\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const segmentedControlItemCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"grow\",\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-1.5\"],\n\t\t\t\tsm: [\"gap-1.75\"],\n\t\t\t\tmd: [\"gap-2\"],\n\t\t\t\tlg: [\"gap-2.25\"],\n\t\t\t\txl: [\"gap-2.5\"],\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\tradius: {\n\t\t\t\tnone: [\"rounded-none\"],\n\t\t\t\txs: [\"rounded-[calc(var(--radius-xs)-1px)]\"],\n\t\t\t\tsm: [\"rounded-[calc(var(--radius-sm)-1px)]\"],\n\t\t\t\tmd: [\"rounded-[calc(var(--radius-md)-1px)]\"],\n\t\t\t\tlg: [\"rounded-[calc(var(--radius-lg)-1px)]\"],\n\t\t\t\txl: [\"rounded-[calc(var(--radius-xl)-1px)]\"],\n\t\t\t\tfull: [\"rounded-full\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 { type ComponentRadius } from \"../Provider\"\nimport type { SegmentedControlSize, SegmentedControlVariant } from \"./typings\"\n\nexport interface 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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { segmentedControlItemCva } from \"./cva\"\nimport { useSegmentedControl } from \"./hooks\"\n\nexport interface SegmentedControlItemProps extends ComponentPropsWithRef<typeof RadixToggleGroup.Item> {}\n\n/**\n * Individual item within a SegmentedControl that can be selected.\n * Inherits styling properties from its parent SegmentedControlRoot.\n */\nexport const SegmentedControlItem = memo<SegmentedControlItemProps>((props) => {\n\tconst { ref, 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(segmentedControlItemCva({ size, variant, icon, radius }), className)}\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 { type ComponentPropsWithRef, memo } 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\" | keyof SegmentedControlVariantProps>,\n\t\tSegmentedControlVariantProps,\n\t\tOmit<\n\t\t\tComponentPropsWithRef<\"div\">,\n\t\t\tkeyof RadixToggleGroup.ToggleGroupSingleProps | keyof SegmentedControlVariantProps\n\t\t> {}\n\n/**\n * Root container for segmented control that manages selection state and styling.\n * Provides single-selection toggle group functionality with enhanced visual styling.\n *\n * @param [size=\"md\"] {SegmentedControlSize} - Size variant affecting button dimensions\n * @param {SegmentedControlVariant} [variant=\"surface\"] - Visual style variant\n * @param [icon=false] {boolean} - Whether items contain only icons\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const SegmentedControlRoot = memo<SegmentedControlRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\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\tsegmentedControlRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\tclassName,\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 { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { SegmentedTabsSize, SegmentedTabsVariant } from \"./typings\"\n\ninterface ISegmentedTabsListContext {\n\tsize: SegmentedTabsSize\n\tvariant: SegmentedTabsVariant\n\tradius: ComponentRadius\n}\n\nexport const SegmentedTabsListContext = createContext({} as ISegmentedTabsListContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const segmentedTabsListCva = cva(\n\t[\"shrink-0\", \"transition-colors\", \"inline-flex\", \"box-border\", \"min-w-max\", \"text-center\"],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\t\tsurface: [\"bg-(--accent-surface)\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"border\", \"border-(--accent-a7)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-6\", \"text-xs\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\t\txl: [\"h-10\", \"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\nexport const segmentedTabsTriggerCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"grow\",\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=active]: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=active]: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=active]: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=active]: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=active]: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=active]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-1.5\"],\n\t\t\t\tsm: [\"gap-1.75\"],\n\t\t\t\tmd: [\"gap-2\"],\n\t\t\t\tlg: [\"gap-2.25\"],\n\t\t\t\txl: [\"gap-2.5\"],\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\tradius: {\n\t\t\t\tnone: [\"rounded-none\"],\n\t\t\t\txs: [\"rounded-[calc(var(--radius-xs)-1px)]\"],\n\t\t\t\tsm: [\"rounded-[calc(var(--radius-sm)-1px)]\"],\n\t\t\t\tmd: [\"rounded-[calc(var(--radius-md)-1px)]\"],\n\t\t\t\tlg: [\"rounded-[calc(var(--radius-lg)-1px)]\"],\n\t\t\t\txl: [\"rounded-[calc(var(--radius-xl)-1px)]\"],\n\t\t\t\tfull: [\"rounded-full\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SegmentedTabsListContext } from \"./context\"\nimport { segmentedTabsListCva } from \"./cva\"\nimport type { SegmentedTabsVariantProps } from \"./typings\"\n\nexport interface SegmentedTabsListProps\n\textends ComponentPropsWithRef<typeof RadixTabs.List>,\n\t\tSegmentedTabsVariantProps {}\n\nexport const SegmentedTabsList = memo<SegmentedTabsListProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsize,\n\t\t\tvariant,\n\t\t\tradius,\n\t\t}),\n\t\t[radius, size, variant],\n\t)\n\n\treturn (\n\t\t<RadixTabs.List\n\t\t\tref={ref}\n\t\t\tclassName={cx(segmentedTabsListCva({ size, variant }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SegmentedTabsListContext.Provider value={contextValue}>{children}</SegmentedTabsListContext.Provider>\n\t\t</RadixTabs.List>\n\t)\n})\nSegmentedTabsList.displayName = \"TabsList\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface SegmentedTabsRootProps extends ComponentPropsWithRef<typeof RadixTabs.Root> {}\n\nexport const SegmentedTabsRoot = memo<SegmentedTabsRootProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(\"flex flex-col\", className)} {...rest} />\n})\nSegmentedTabsRoot.displayName = \"TabsRoot\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { SegmentedTabsListContext } from \"./context\"\nimport { segmentedTabsTriggerCva } from \"./cva\"\n\nexport interface SegmentedTabsTriggerProps extends ComponentPropsWithRef<typeof RadixTabs.Trigger> {}\n\nexport const SegmentedTabsTrigger = memo<SegmentedTabsTriggerProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { size, radius, variant } = use(SegmentedTabsListContext)\n\n\treturn (\n\t\t<RadixTabs.Trigger\n\t\t\tref={ref}\n\t\t\tclassName={cx(segmentedTabsTriggerCva({ size, radius, variant }), className)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixTabs.Trigger>\n\t)\n})\nSegmentedTabsTrigger.displayName = \"TabsTrigger\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\n\nimport { SegmentedTabsList } from \"./List\"\nimport { SegmentedTabsRoot } from \"./Root\"\nimport { SegmentedTabsTrigger } from \"./Trigger\"\n\nexport * from \"./List\"\nexport * from \"./Root\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const SegmentedTabs = {\n\tRoot: SegmentedTabsRoot,\n\tList: SegmentedTabsList,\n\tTrigger: SegmentedTabsTrigger,\n\tContent: RadixTabs.Content,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const separator = cva([\"shrink-0\", \"bg-(--accent-6)\"], {\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},\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},\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { separator } from \"./cva\"\nimport type { SeparatorVariantProps } from \"./typings\"\n\ninterface SeparatorProps extends ComponentPropsWithRef<typeof RadixSeparator.Root>, SeparatorVariantProps {}\n\n/**\n * Visual divider component that separates content sections.\n * Supports both horizontal and vertical orientations with customizable styling.\n *\n * @param [orientation=\"horizontal\"] {SeparatorOrientation} - Direction of the separator\n * @param [size=\"md\"] {SeparatorSize} - Thickness/size of the separator line\n * @param [accentColor=\"base\"] {string} - Accent color for the separator\n */\nexport const Separator = memo<SeparatorProps>((props) => {\n\tconst { ref, className, accentColor = \"base\", orientation, size, ...rest } = props\n\n\treturn (\n\t\t<RadixSeparator.Root\n\t\t\tclassName={cx(separator({ orientation, size }), className)}\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 { cva } from \"class-variance-authority\"\n\nexport const sliderRootCva = cva([\"relative\", \"select-none\", \"touch-none\", \"flex\", \"items-center\"], {\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},\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\tsoft: [],\n\t\t},\n\t\torientation: {\n\t\t\thorizontal: [\"flex-row\"],\n\t\t\tvertical: [\"flex-col\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t// horizontal\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"xs\",\n\t\t\tclassName: [\"h-4\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"sm\",\n\t\t\tclassName: [\"h-5\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"md\",\n\t\t\tclassName: [\"h-6\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"lg\",\n\t\t\tclassName: [\"h-7\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"xl\",\n\t\t\tclassName: [\"h-8\"],\n\t\t},\n\t\t// vertical\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"xs\",\n\t\t\tclassName: [\"w-4\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"sm\",\n\t\t\tclassName: [\"w-5\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"md\",\n\t\t\tclassName: [\"w-6\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"lg\",\n\t\t\tclassName: [\"w-7\"],\n\t\t},\n\t\t{\n\t\t\torientation: \"vertical\",\n\t\t\tsize: \"xl\",\n\t\t\tclassName: [\"w-8\"],\n\t\t},\n\t],\n})\n\nexport const sliderTrackCva = cva(\n\t[\n\t\t\"overflow-hidden\",\n\t\t\"relative\",\n\t\t\"grow\",\n\t\t\"rounded-[inherit]\",\n\n\t\t\"select-none\",\n\n\t\t\"data-disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [],\n\t\t\t\tsm: [],\n\t\t\t\tmd: [],\n\t\t\t\tlg: [],\n\t\t\t\txl: [],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--base-a3)\", \"inset-ring\", \"inset-ring-(--base-a6)\"],\n\t\t\t\tsoft: [\"bg-(--base-a4)\"],\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\thorizontal: [],\n\t\t\t\tvertical: [],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t// horizontal\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclassName: [\"h-1.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclassName: [\"h-2\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"md\",\n\t\t\t\tclassName: [\"h-2.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclassName: [\"h-3\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"horizontal\",\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclassName: [\"h-3.5\"],\n\t\t\t},\n\t\t\t// vertical\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclassName: [\"w-1.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclassName: [\"w-2\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"md\",\n\t\t\t\tclassName: [\"w-2.5\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclassName: [\"w-3\"],\n\t\t\t},\n\t\t\t{\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclassName: [\"w-3.5\"],\n\t\t\t},\n\t\t],\n\t},\n)\n\nexport const sliderRangeCva = cva(\n\t[\"absolute\", \"rounded-[inherit]\", \"data-disabled:opacity-50\", \"disabled:pointer-events-none\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [],\n\t\t\t\tsm: [],\n\t\t\t\tmd: [],\n\t\t\t\tlg: [],\n\t\t\t\txl: [],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"inset-ring\", \"inset-ring-(--base-a5)\", \"bg-(--accent-track)\"],\n\t\t\t\tsoft: [\"bg-(--accent-8)\"],\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\thorizontal: [\"h-full\"],\n\t\t\t\tvertical: [\"w-full\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport const sliderThumbCva = cva(\n\t[\n\t\t\"block\",\n\t\t\"shrink-0\",\n\n\t\t\"bg-(--accent-contrast)\",\n\t\t\"inset-ring\",\n\t\t\"inset-ring-(--base-a6)\",\n\n\t\t\"disabled:pointer-events-none\",\n\t\t\"dark:data-disabled:brightness-50\",\n\n\t\t\"focus:outline-none\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-1\",\n\t\t\"focus-visible:outline-(--accent-8)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-4\"],\n\t\t\t\tsm: [\"size-5\"],\n\t\t\t\tmd: [\"size-6\"],\n\t\t\t\tlg: [\"size-7\"],\n\t\t\t\txl: [\"size-8\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsurface: [],\n\t\t\t\tsoft: [],\n\t\t\t},\n\t\t},\n\t},\n)\n","import * as RadixSlider from \"@radix-ui/react-slider\"\nimport { cx } from \"class-variance-authority\"\nimport { memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { sliderRangeCva, sliderRootCva, sliderThumbCva, sliderTrackCva } from \"./cva\"\nimport type { SliderVariantProps } from \"./typings\"\n\nexport interface SliderRootProps extends RadixSlider.SliderProps, SliderVariantProps {}\n\n/**\n * A customizable slider component for selecting values from a range.\n * Supports both horizontal and vertical orientations with multiple handle support.\n *\n * @param {SliderSize} [size=\"md\"] - Size of the slider\n * @param [orientation=\"horizontal\"] {SliderOrientation} - Direction of the slider\n * @param [variant=\"surface\"] {SliderVariant} - Visual style variant\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const Slider = memo<SliderRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize = \"md\",\n\t\torientation = \"horizontal\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"surface\",\n\t\ttabIndex,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixSlider.Root\n\t\t\tclassName={cx(\n\t\t\t\tsliderRootCva({ size, variant, orientation }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\torientation={orientation}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<RadixSlider.Track className={sliderTrackCva({ size, variant, orientation })}>\n\t\t\t\t<RadixSlider.Range className={sliderRangeCva({ size, variant, orientation })} />\n\t\t\t</RadixSlider.Track>\n\t\t\t{(props.value ?? rest.defaultValue ?? []).map((value, index) => (\n\t\t\t\t<RadixSlider.Thumb\n\t\t\t\t\tkey={`${index}-${value}`}\n\t\t\t\t\tclassName={cx(sliderThumbCva({ size, variant }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\t\t{...(tabIndex !== undefined ? { tabIndex } : undefined)}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</RadixSlider.Root>\n\t)\n})\nSlider.displayName = \"Slider\"\n","import { memo } from \"react\"\n\n/**\n * Loading spinner component that indicates ongoing operations.\n * Displays a rotating circular indicator with consistent styling.\n */\nexport const Spinner = memo(() => {\n\treturn <div className=\"size-6 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-6\", \"w-12\"],\n\t\t\t\tsm: [\"h-7\", \"w-14\"],\n\t\t\t\tmd: [\"h-8\", \"w-16\"],\n\t\t\t\tlg: [\"h-9\", \"w-18\"],\n\t\t\t\txl: [\"h-10\", \"w-20\"],\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)*6)-1px)]\"],\n\t\t\t\tsm: [\"size-[calc(calc(var(--spacing)*7)-1px)]\"],\n\t\t\t\tmd: [\"size-[calc(calc(var(--spacing)*8)-1px)]\"],\n\t\t\t\tlg: [\"size-[calc(calc(var(--spacing)*9)-1px)]\"],\n\t\t\t\txl: [\"size-[calc(calc(var(--spacing)*10)-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 { type ComponentPropsWithRef, 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 ComponentPropsWithRef<typeof RadixSwitch.Root>, SwitchVariantProps {}\n\n/**\n * A toggle switch component that allows users to turn an option on or off.\n * Provides visual feedback for the current state and smooth transitions.\n *\n * @param [size=\"md\"] {SwitchSize} - Size of the switch\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const SwitchRoot = memo<SwitchRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixSwitch.Root\n\t\t\tclassName={cx(switchRoot({ size }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SwitchContext.Provider value={{ size, radius }}>{children}</SwitchContext.Provider>\n\t\t</RadixSwitch.Root>\n\t)\n})\n\nSwitchRoot.displayName = \"SwitchRoot\"\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { SwitchContext } from \"./context\"\nimport { switchThumb } from \"./cva\"\n\nexport interface SwitchThumbProps extends ComponentPropsWithRef<typeof RadixSwitch.Thumb> {}\n\n/**\n * The moveable thumb element inside a Switch that indicates the current state.\n * Automatically transitions between positions based on the switch's checked state.\n * Inherits size and radius from its parent SwitchRoot.\n */\nexport const SwitchThumb = memo<SwitchThumbProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\tconst { size, radius } = useContext(SwitchContext)\n\n\treturn (\n\t\t<RadixSwitch.Thumb\n\t\t\tclassName={cx(switchThumb({ size }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\n\nSwitchThumb.displayName = \"SwitchThumb\"\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableBodyProps extends ComponentPropsWithRef<\"tbody\"> {}\n\n/**\n * Table body section that contains the main data rows.\n * Used to group table data content for semantic structure.\n */\nexport const TableBody = memo<TableBodyProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <tbody ref={ref} className={cx(className)} {...rest} />\n})\nTableBody.displayName = \"TableBody\"\n","import { createContext } from \"react\"\n\nimport type { 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\", \"bg-(--accent-a2)\"],\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-2\"],\n\t\t\tsm: [\"p-4\"],\n\t\t\tmd: [\"p-6\"],\n\t\t\tlg: [\"p-8\"],\n\t\t\txl: [\"p-10\"],\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})\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableCellProps extends ComponentPropsWithRef<\"td\"> {}\n\n/**\n * Table cell component that displays data within table rows.\n * Inherits styling from parent TableRoot including size, borders, and variant.\n */\nexport const TableCell = memo<TableCellProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <td ref={ref} className={cx(tableCellCva({ size, border, cell: true, variant }), className)} {...rest} />\n})\nTableCell.displayName = \"TableCell\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableColumnHeaderCellProps extends ComponentPropsWithRef<\"th\"> {}\n\nexport const TableColumnHeaderCell = memo<TableColumnHeaderCellProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(tableCellCva({ size, border, cell: false, variant }), className)} {...rest} />\n})\nTableColumnHeaderCell.displayName = \"TableColumnHeaderCell\"\n","import { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableFooterProps extends ComponentPropsWithRef<\"tfoot\"> {}\n\nexport const TableFooter = memo<TableFooterProps>((props) => {\n\tconst { ref, 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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableHeaderProps extends ComponentPropsWithRef<\"thead\"> {}\n\n/**\n * Table header section that contains header rows and cells.\n * Used to group table header content for semantic structure.\n */\nexport const TableHeader = memo<TableHeaderProps>((props) => {\n\tconst { ref, 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 { type ComponentPropsWithRef, memo } 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<ComponentPropsWithRef<\"table\">, \"border\">, TableVariantProps {}\n\n/**\n * Root table component that provides styling context for table elements.\n * Supports various visual styles, sizes, and border configurations.\n *\n * @param [size=\"md\"] {TableSize} - Size variant affecting padding and font size\n * @param [border=\"row\"] {TableBorder} - Border style - \"none\", \"row\", \"column\", or \"all\"\n * @param [variant=\"ghost\"] {TableVariant} - Visual style variant\n * @param [accentColor=\"base\"] {string} - Accent color for styling\n */\nexport const TableRoot = memo<TableRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tborder = \"row\",\n\t\taccentColor = \"base\",\n\t\tvariant = \"ghost\",\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<table\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\ttableRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: providerContext.radius, maxLarge: true }),\n\t\t\t\tclassName,\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TableRowProps extends ComponentPropsWithRef<\"tr\"> {}\n\n/**\n * Table row component that contains table cells.\n * Provides the structural foundation for table data organization.\n */\nexport const TableRow = memo<TableRowProps>((props) => {\n\tconst { ref, 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 { type ComponentPropsWithRef, memo, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableRowHeaderCellProps extends ComponentPropsWithRef<\"th\"> {}\n\nexport const TableRowHeaderCell = memo<TableRowHeaderCellProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(tableCellCva({ size, border, cell: true, variant }), className)} {...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\nexport interface 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-3\", \"gap-1.5\"],\n\t\t\t\tsm: [\"px-3.5\", \"gap-1.75\"],\n\t\t\t\tmd: [\"px-4\", \"gap-2\"],\n\t\t\t\tlg: [\"px-4.5\", \"gap-2.25\"],\n\t\t\t\txl: [\"px-5\", \"gap-2.5\"],\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<typeof RadixTabs.List>, TabsVariantProps {}\n\n/**\n * Container for tab trigger buttons with consistent styling and sizing.\n * Provides context for child TabsTrigger components.\n *\n * @param size - Size variant affecting trigger button dimensions (default: \"md\")\n * @param accentColor - Accent color override (default: provider value)\n */\nexport const TabsList = memo<TabsListProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst { ref, 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(tabsListCva({ size }), className)}\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 { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TabsRootProps extends ComponentPropsWithRef<typeof RadixTabs.Root> {}\n\n/**\n * Root container for tab components that manages state and orientation.\n * Provides the foundation for tab navigation and content switching.\n */\nexport const TabsRoot = memo<TabsRootProps>((props) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(\"flex flex-col\", className)} {...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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { tabsTriggerCva } from \"./cva\"\nimport { useTabsList } from \"./hooks\"\n\nexport interface TabsTriggerProps extends ComponentPropsWithRef<typeof RadixTabs.Trigger> {}\n\n/**\n * Individual tab trigger button that activates corresponding tab content.\n * Inherits size styling from its parent TabsList component.\n */\nexport const TabsTrigger = memo<TabsTriggerProps>((props) => {\n\tconst { ref, children, className, ...rest } = props\n\n\tconst { size } = useTabsList()\n\n\treturn (\n\t\t<RadixTabs.Trigger ref={ref} className={cx(tabsTriggerCva({ size }), className)} {...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 { type ComponentPropsWithRef, memo } from \"react\"\n\nimport { textCva } from \"./cva\"\nimport type { TextVariantProps } from \"./typings\"\n\nexport interface TextProps extends ComponentPropsWithRef<\"span\">, TextVariantProps {}\n\n/**\n * Versatile text component with comprehensive typography controls.\n * Supports various sizes, weights, alignments, and accent color styling.\n *\n * @param {TextSize} size - Text size variant\n * @param weight {TextWeight} - Font weight variant\n * @param {TextAlign} align - Text alignment\n * @param accentColor {string} - Accent color for text styling\n * @param [highContrast=false] {boolean} - Enable high contrast mode\n */\nexport const Text = memo<TextProps>((props) => {\n\tconst { ref, 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(\n\t\t\t\ttextCva({ size, weight, align }),\n\t\t\t\t{\n\t\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t\t},\n\t\t\t\tclassName,\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-3\", \"text-xs\"],\n\t\t\t\tsm: [\"p-3.5\", \"text-sm\"],\n\t\t\t\tmd: [\"p-4\", \"text-base\"],\n\t\t\t\tlg: [\"p-4.5\", \"text-lg\"],\n\t\t\t\txl: [\"p-5\", \"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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<\"textarea\">, TextAreaVariantProps {}\n\n/**\n * A multi-line text input component with customizable styling and resize options.\n * Supports various visual styles and sizes with enhanced focus and selection states.\n *\n * @param [variant=\"outline\"] {TextAreaVariant} - Visual style variant\n * @param [size=\"md\"] {TextAreaSize} - Size of the textarea\n * @param [resize=\"none\"] {TextAreaResize} - Resize behavior\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const TextArea = memo<TextAreaProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\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(textAreaCva({ size, variant }), radiusCva({ radius, maxLarge: true }), className)}\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-6)\"],\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 { X } from \"lucide-react\"\nimport { type FC, memo, useCallback, useState } from \"react\"\n\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { LuIcon } from \"../LuIcon\"\nimport { useProvider } from \"../Provider\"\nimport { toastCva } from \"./cva\"\nimport type { ToastProps } from \"./typings\"\n\nconst _Toast = function Toast(props: ToastProps) {\n\tconst { radius, ...restProviderContext } = useProvider()\n\tconst {\n\t\tref,\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 max-w-full 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<LuIcon icon={X} />\n\t\t\t\t</IconButton>\n\t\t\t</RadixToast.Close>\n\t\t</RadixToast.Root>\n\t)\n}\n\n/**\n * Toast notification component that displays temporary messages to users.\n * Includes title, description, icon, and optional action button with auto-dismiss functionality.\n *\n * @param title - Main toast message title (required)\n * @param description - Additional descriptive text (required)\n * @param icon - Optional icon element to display\n * @param [size=\"md\"] - Size variant affecting padding and button sizes\n * @param [variant=\"surface\"] - Visual style variant\n * @param accentColor - Accent color override (default: provider value)\n * @param sensitivity - Toast type for screen readers - \"foreground\" or \"background\"\n * @param action - Optional action object with content and altText\n * @param onClose - Callback fired when toast is closed\n */\nexport const Toast: FC<ToastProps> = memo(_Toast)\n\nToast.displayName = \"Toast\"\n","import { createContext, useContext } from \"react\"\n\nimport type { 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 { type 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 */\n/**\n * Toast context provider that manages toast state and provides toast methods to child components.\n * Automatically calculates toast duration based on content length and provides themed toast variants.\n *\n * @param className - CSS class for toast viewport positioning\n * @param hotkey - Keyboard shortcut to focus toast viewport\n */\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\t\"fixed top-0 right-0 z-[2147483647] flex w-full max-w-md list-none flex-col items-end gap-3 overflow-x-hidden overflow-y-auto p-5 outline-none\",\n\t\t\t\t\t\tclassName,\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\nToastProvider.displayName = \"ToastProvider\"\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\tsoft: [\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\"bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t],\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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 { memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toggleButtonCva } from \"./cva\"\nimport type { BaseToggleButtonProps } from \"./typings\"\n\nexport const BaseToggleButton = memo<BaseToggleButtonProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\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(toggleButtonCva({ size, variant, icon }), radiusCva({ radius, maxLarge: false }), className)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nBaseToggleButton.displayName = \"BaseToggleButton\"\n","import { memo } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const IconToggleButton = memo<ToggleButtonProps>((props) => {\n\treturn <BaseToggleButton icon {...props} />\n})\nIconToggleButton.displayName = \"IconToggleButton\"\n","import { memo } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const ToggleButton = memo<ToggleButtonProps>((props) => {\n\treturn <BaseToggleButton icon={false} {...props} />\n})\nToggleButton.displayName = \"ToggleButton\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { ToggleGroupSize, ToggleGroupVariant } from \"./typings\"\n\nexport interface IToggleGroupContext {\n\tvariant: ToggleGroupVariant\n\tsize: ToggleGroupSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const ToggleGroupContext = createContext({} as IToggleGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const toggleGroupItemCva = 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\tsoft: [\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\"bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t],\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-6\", \"text-xs\", \"gap-1.5\"],\n\t\t\t\tsm: [\"h-7\", \"text-sm\", \"gap-1.75\"],\n\t\t\t\tmd: [\"h-8\", \"text-base\", \"gap-2\"],\n\t\t\t\tlg: [\"h-9\", \"text-lg\", \"gap-2.25\"],\n\t\t\t\txl: [\"h-10\", \"text-xl\", \"gap-2.5\"],\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-6\",\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-3\",\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-7\",\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-3.5\",\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-8\",\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-4\",\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-9\",\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.5\",\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-10\",\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},\n)\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo, use } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { ToggleGroupContext } from \"./context\"\nimport { toggleGroupItemCva } from \"./cva\"\nimport type { ToggleGroupVariantProps } from \"./typings\"\n\nexport interface ToggleGroupBaseItemProps\n\textends ComponentPropsWithRef<typeof RadixToggleGroup.Item>,\n\t\tToggleGroupVariantProps {\n\ticon: boolean\n}\n\nexport const ToggleGroupBaseItem = memo<ToggleGroupBaseItemProps>((props) => {\n\tconst toggleGroupContext = use(ToggleGroupContext)\n\tconst {\n\t\tref,\n\t\tclassName,\n\t\ticon,\n\t\taccentColor = toggleGroupContext.accentColor,\n\t\tradius = toggleGroupContext.radius,\n\t\tvariant = toggleGroupContext.variant,\n\t\tsize = toggleGroupContext.size,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixToggleGroup.Item\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\ttoggleGroupItemCva({ icon, variant, size }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nToggleGroupBaseItem.displayName = \"ToggleGroupBaseItem\"\n","import { memo } from \"react\"\n\nimport { ToggleGroupBaseItem, type ToggleGroupBaseItemProps } from \"./BaseItem\"\n\nexport interface ToggleGroupIconItemProps extends Omit<ToggleGroupBaseItemProps, \"icon\"> {}\n\nexport const ToggleGroupIconItem = memo<ToggleGroupIconItemProps>((props) => {\n\treturn <ToggleGroupBaseItem icon {...props} />\n})\nToggleGroupIconItem.displayName = \"ToggleGroupIconItem\"\n","import { memo } from \"react\"\n\nimport { ToggleGroupBaseItem, type ToggleGroupBaseItemProps } from \"./BaseItem\"\n\nexport interface ToggleGroupItemProps extends Omit<ToggleGroupBaseItemProps, \"icon\"> {}\n\n/**\n * Individual toggle item within a ToggleGroup for text-based toggles.\n * Inherits styling from parent ToggleGroupRoot and supports toggling state.\n */\nexport const ToggleGroupItem = memo<ToggleGroupItemProps>((props) => {\n\treturn <ToggleGroupBaseItem icon={false} {...props} />\n})\nToggleGroupItem.displayName = \"ToggleGroupItem\"\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { type ComponentPropsWithRef, memo, useMemo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { ToggleGroupContext } from \"./context\"\nimport type { ToggleGroupVariantProps } from \"./typings\"\n\nexport type ToggleGroupRootProps = ComponentPropsWithRef<typeof RadixToggleGroup.Root> & ToggleGroupVariantProps\n\n/**\n * Root component for toggle groups that manages multi-selection or single-selection state.\n * Provides context and styling for child toggle items.\n *\n * @param {ToggleGroupVariant} [variant=\"soft\"] - Visual style variant\n * @param [size=\"md\"] {ToggleGroupSize} - Size variant affecting button dimensions\n * @param radius {ComponentRadius} - Border radius override\n * @param accentColor {string} - Accent color override\n */\nexport const ToggleGroupRoot = memo<ToggleGroupRootProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant = \"soft\",\n\t\tsize = \"md\",\n\t\t...rest\n\t} = props\n\n\tconst contextValue = 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<RadixToggleGroup.Root ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t<ToggleGroupContext value={contextValue}>{children}</ToggleGroupContext>\n\t\t</RadixToggleGroup.Root>\n\t)\n})\nToggleGroupRoot.displayName = \"ToggleGroupRoot\"\n","import { ToggleGroupIconItem } from \"./IconItem\"\nimport { ToggleGroupItem } from \"./Item\"\nimport { ToggleGroupRoot } from \"./Root\"\n\nexport * from \"./IconItem\"\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const ToggleGroup = {\n\tRoot: ToggleGroupRoot,\n\tItem: ToggleGroupItem,\n\tIconItem: ToggleGroupIconItem,\n}\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { type ComponentPropsWithRef, memo } from \"react\"\n\nexport interface TooltipArrowProps extends ComponentPropsWithRef<typeof RadixTooltip.Arrow> {}\n\nexport const TooltipArrow = memo((props: TooltipArrowProps) => {\n\tconst { ref, className, ...rest } = props\n\n\treturn <RadixTooltip.Arrow className={cx(\"fill-(--base-6)\", className)} 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-(--base-6)\",\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: [\"px-3\"],\n\t\t\t\tsm: [\"px-3.5\"],\n\t\t\t\tmd: [\"px-4\"],\n\t\t\t\tlg: [\"px-4.5\"],\n\t\t\t\txl: [\"px-5\"],\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 { type ComponentPropsWithRef, memo } 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 ComponentPropsWithRef<typeof RadixTooltip.Content>, TooltipVariantProps {\n\tcontainer?: RadixTooltip.TooltipPortalProps[\"container\"]\n}\n\n/**\n * Content area for tooltip components that provides contextual help text.\n * Automatically positions itself relative to the trigger with minimal styling.\n *\n * @param [side=\"top\"] {\"top\" | \"right\" | \"bottom\" | \"left\"} - Preferred side for positioning\n * @param [size=\"md\"] {TooltipSize} - Size variant affecting text size and padding\n * @param [sideOffset=2] {number} - Distance from the trigger element\n * @param radius {ComponentRadius} - Border radius override\n * @param container {RadixTooltip.TooltipPortalProps[\"container\"]} - Portal container for rendering\n */\nexport const TooltipContent = memo<TooltipContentProps>((props) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tside = \"top\",\n\t\tsize,\n\t\tradius = providerContext.radius,\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(tooltipContent({ size, side }), radiusCva({ radius, maxLarge: false }), className)}\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","state","cleanups","MultiSelectProvider","SingleSelectRequiredProvider","SingleSelectNotRequiredProvider","SelectedIndicatorContext","DialogContent","CommandMenuMultiSelectGroup","DialogOverlay","CommandMenuRadioGroup","ReactDayPicker","inputRoot","hide","SlideOut","mergeRefs","_a","MenuMultiSelectGroup","offset","offsetMiddleware","sizeMiddleware","MenuSelectGroup","value","Toast","toast","RadixToastProvider"],"mappings":"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"}