@overmap-ai/blocks 1.0.31-tailwind-components.39 → 1.0.31-tailwind-components.41
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.
- package/dist/Input/cva.d.ts +3 -3
- package/dist/TextArea/cva.d.ts +1 -1
- package/dist/blocks.js +28 -37
- package/dist/blocks.js.map +1 -1
- package/dist/blocks.umd.cjs +28 -37
- package/dist/blocks.umd.cjs.map +1 -1
- package/dist/utils.d.ts +9 -7
- package/package.json +2 -2
package/dist/blocks.umd.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.umd.cjs","sources":["../src/cva/floating.ts","../src/cva/radius.ts","../src/Provider/context.ts","../src/Provider/hooks.ts","../src/Provider/Provider.tsx","../src/AlertDialog/cva.ts","../src/AlertDialog/Content.tsx","../src/AlertDialog/context.ts","../src/AlertDialog/hooks.ts","../src/ButtonGroup/context.ts","../src/ButtonGroup/ButtonGroup.tsx","../src/ButtonGroup/hooks.ts","../src/Buttons/cva.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/AlertDialog/Provider.tsx","../src/AlertDialog/index.ts","../src/Avatar/context.ts","../src/Avatar/cva.ts","../src/Avatar/Fallback.tsx","../src/Avatar/Image.tsx","../src/Avatar/Root.tsx","../src/Avatar/index.ts","../src/Badge/cva.ts","../src/Badge/Badge.tsx","../src/Card/cva.ts","../src/Card/Card.tsx","../src/Checkbox/Indicator.tsx","../src/Checkbox/cva.ts","../src/Checkbox/Root.tsx","../src/Checkbox/index.ts","../node_modules/@react-hook/passive-layout-effect/dist/module/index.js","../node_modules/@react-hook/latest/dist/module/index.js","../node_modules/@react-hook/resize-observer/dist/module/index.js","../src/utils.ts","../src/CollapsibleTree/context.ts","../src/CollapsibleTree/CollapsibleTree.tsx","../src/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/SlideOutV3/utils.ts","../src/SlideOutV3/SlideOutV3.tsx","../src/Layout/SlideOut.tsx","../src/Layout/SlideOutOverlay.tsx","../src/Layout/SlideOutTrigger.tsx","../src/Layout/index.ts","../src/Link/cva.ts","../src/Link/Link.tsx","../src/CheckedIndicator/context.ts","../src/CheckedIndicator/CheckedIndicator.tsx","../src/Menu/cva.ts","../src/Menu/root/context.ts","../src/Menu/constants.ts","../src/Menu/root/Root.tsx","../src/Menu/Content/context.ts","../src/Menu/Content/Content.tsx","../src/Menu/Sub/context.ts","../src/Menu/utils.ts","../src/Menu/Sub/Sub.tsx","../src/Menu/Item/Item.tsx","../src/Menu/CheckboxItem/CheckboxItem.tsx","../src/Menu/CheckboxItemIndicator/CheckboxItemIndicator.tsx","../src/Menu/ClickTrigger/ClickTrigger.tsx","../src/Menu/ContextTrigger/ContextTrigger.tsx","../src/Menu/Group/Group.tsx","../src/Menu/Input/Field.tsx","../src/Menu/Input/Root.tsx","../src/Menu/Input/Slot.tsx","../src/SelectContext/context.ts","../src/SelectContext/Provider.tsx","../src/Menu/MultiSelectGroup/MultiSelectGroup.tsx","../src/Menu/SelectedIndicator/context.ts","../src/Menu/SelectedIndicator/SelectedIndicator.tsx","../src/Menu/MultiSelectItem/MultiSelectItem.tsx","../src/Menu/Pages/context.ts","../src/Menu/Pages/Pages.tsx","../src/Menu/PageContent/PageContent.tsx","../src/Menu/PageTrigger/PageTrigger.tsx","../src/Menu/Scroll/Scroll.tsx","../src/Menu/SelectAll/context.ts","../src/Menu/SelectAll/SelectAllIndicator.tsx","../src/Menu/SelectAll/SelectAllItem.tsx","../src/Menu/SelectGroup/SelectGroup.tsx","../src/Menu/SelectItem/SelectItem.tsx","../src/Menu/Separator/Separator.tsx","../src/Menu/SubContent/SubContent.tsx","../src/Menu/SubTrigger/SubTrigger.tsx","../src/Menu/VirtualTrigger/VirtualTrigger.tsx","../src/Menu/index.ts","../src/RiIcon/RiIcon.tsx","../src/OvermapErrorBoundary/OvermapErrorBoundary.tsx","../src/Popover/Arrow.tsx","../src/Popover/cva.ts","../src/Popover/Content.tsx","../src/Popover/index.ts","../src/RadioGroup/Indicator.tsx","../src/RadioGroup/context.ts","../src/RadioGroup/cva.ts","../src/RadioGroup/Item.tsx","../src/RadioGroup/Root.tsx","../src/RadioGroup/index.ts","../src/SegmentedControl/cva.ts","../src/SegmentedControl/context.ts","../src/SegmentedControl/hooks.ts","../src/SegmentedControl/Item.tsx","../src/SegmentedControl/Root.tsx","../src/SegmentedControl/index.ts","../src/Separator/cva.ts","../src/Separator/Separator.tsx","../src/SlideOut/SlideOutV2.tsx","../src/Spinner/Spinner.tsx","../src/Switch/context.ts","../src/Switch/cva.ts","../src/Switch/Root.tsx","../src/Switch/Thumb.tsx","../src/Switch/index.ts","../src/Table/Body.tsx","../src/Table/context.ts","../src/Table/cva.ts","../src/Table/Cell.tsx","../src/Table/ColumnHeaderCell.tsx","../src/Table/Footer.tsx","../src/Table/Header.tsx","../src/Table/Root.tsx","../src/Table/Row.tsx","../src/Table/RowHeaderCell.tsx","../src/Table/index.ts","../src/Tabs/context.ts","../src/Tabs/cva.ts","../src/Tabs/List.tsx","../src/Tabs/Root.tsx","../src/Tabs/hooks.ts","../src/Tabs/Trigger.tsx","../src/Tabs/index.ts","../src/Text/cva.ts","../src/Text/Text.tsx","../src/TextArea/cva.ts","../src/TextArea/TextArea.tsx","../src/Toast/cva.ts","../src/Toast/Toast.tsx","../src/Toast/ToastContext.ts","../src/Toast/ToastProvider.tsx","../src/ToggleButton/cva.ts","../src/ToggleButton/BaseToggleButton.tsx","../src/ToggleButton/IconToggleButton.tsx","../src/ToggleButton/ToggleButton.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/cva.ts","../src/Tooltip/Content.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\"\n\nexport const floating = cva(\n\t[\n\t\t\"data-[state=open]:animate-in\",\n\t\t\"data-[state=open]:fade-in-0\",\n\t\t\"data-[state=open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tshadow: {\n\t\t\t\t\"1\": [\"shadow-xs\"],\n\t\t\t\t\"2\": [\"shadow-sm\"],\n\t\t\t\t\"3\": [\"shadow-md\"],\n\t\t\t\t\"4\": [\"shadow-lg\"],\n\t\t\t\t\"5\": [\"shadow-xl\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-2\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-2\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-2\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-2\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport type FloatingStyleProps = VariantProps<typeof floating>\n","import { cva } from \"class-variance-authority\"\n\nexport const radiusCva = cva([], {\n\tvariants: {\n\t\tmaxLarge: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tradius: {\n\t\t\tnone: [\"rounded-none\"],\n\t\t\txs: [\"rounded-xs\"],\n\t\t\tsm: [\"rounded-sm\"],\n\t\t\tmd: [\"rounded-md\"],\n\t\t\tlg: [\"rounded-lg\"],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-xl\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-full\"],\n\t\t},\n\t],\n})\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"./typings\"\n\ninterface IProviderContext {\n\taccentColor: string\n\tradius: ComponentRadius\n}\n\nexport const ProviderContext = createContext({} as IProviderContext)\n","import { useContext } from \"react\"\n\nimport { ProviderContext } from \"./context\"\n\nexport const useProvider = () => {\n\tconst context = useContext(ProviderContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useProvider must be used within a Provider\")\n\t}\n\n\treturn context\n}\n","import { PropsWithChildren, useMemo } from \"react\"\n\nimport { ProviderContext } from \"./context\"\nimport type { ComponentRadius } from \"./typings\"\n\nexport interface ProviderProps extends PropsWithChildren {\n\taccentColor: string\n\tradius?: ComponentRadius\n}\n\nexport const Provider = (props: ProviderProps) => {\n\tconst { accentColor, radius = \"md\", children } = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\taccentColor,\n\t\t\tradius,\n\t\t}),\n\t\t[accentColor, radius],\n\t)\n\n\treturn <ProviderContext.Provider value={contextValue}>{children}</ProviderContext.Provider>\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const dialogOverlay = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\t\"duration-200\",\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\t\"data-[state='open']:animate-in\",\n\t\"data-[state='open']:fade-in-0\",\n\t\"data-[state='closed']:animate-out\",\n\t\"data-[state='closed']:fade-out-0\",\n])\n\nexport const dialogContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"h-max\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\t\t\"max-h-3/4\",\n\t\t\"overflow-hidden\",\n\t\t\"w-full\",\n\t\t\"bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-6)\",\n\t\t\"fixed\",\n\t\t\"left-[50%]\",\n\t\t\"top-[50%]\",\n\t\t\"translate-x-[-50%]\",\n\t\t\"translate-y-[-50%]\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\", \"max-w-xs\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\", \"max-w-sm\"],\n\t\t\t\tmd: [\"text-md\", \"p-4\", \"max-w-md\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\", \"max-w-lg\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\", \"max-w-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { dialogContent, dialogOverlay } from \"./cva\"\nimport { AlertDialogVariantProps } from \"./typings\"\n\nexport interface AlertDialogContentProps extends RadixAlertDialog.AlertDialogContentProps, AlertDialogVariantProps {\n\tcontainer?: RadixAlertDialog.AlertDialogPortalProps[\"container\"]\n}\n\nexport const AlertDialogContent = forwardRef<HTMLDivElement, AlertDialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst { className, size, container, ...rest } = props\n\n\treturn (\n\t\t<RadixAlertDialog.Portal container={container}>\n\t\t\t<RadixAlertDialog.Overlay className={dialogOverlay({})} data-floating-content=\"\" />\n\t\t\t<RadixAlertDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixAlertDialog.Portal>\n\t)\n})\nAlertDialogContent.displayName = \"AlertDialogContent\"\n","import { createContext } from \"react\"\n\nimport { AlertDialogOptions } from \"./typings\"\n\ntype AlertDialogContextType = (options: AlertDialogOptions) => void\n\nexport const AlertDialogContext = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n","import { useContext } from \"react\"\n\nimport { AlertDialogContext } from \"./context\"\n\nexport const useAlertDialog = () => {\n\tconst alertDialogContext = useContext(AlertDialogContext)\n\tif (!alertDialogContext) {\n\t\tthrow new Error(\"No AlertDialogProvider found\")\n\t}\n\treturn alertDialogContext\n}\n","import { createContext } from \"react\"\n\nimport type { ButtonSize, ButtonVariant } from \"../Buttons\"\nimport type { ComponentRadius } from \"../Provider\"\n\ninterface IButtonGroupContext {\n\tvariant: ButtonVariant\n\tsize: ButtonSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const ButtonGroupContext = createContext<IButtonGroupContext>({} as IButtonGroupContext)\n","import { ComponentProps, PropsWithoutRef, useMemo } from \"react\"\n\nimport type { ButtonVariantProps } from \"../Buttons\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { ButtonGroupContext } from \"./context\"\n\nexport interface ButtonGroupProps\n\textends PropsWithoutRef<ComponentProps<\"div\">>,\n\t\tButtonVariantProps,\n\t\tAccentColorProps {}\n\nexport const ButtonGroup = (props: ButtonGroupProps) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tvariant = \"solid\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\taccentColor,\n\t\t}),\n\t\t[accentColor, radius, size, variant],\n\t)\n\n\treturn (\n\t\t<div {...rest}>\n\t\t\t<ButtonGroupContext.Provider value={value}>{children}</ButtonGroupContext.Provider>\n\t\t</div>\n\t)\n}\nButtonGroup.displayName = \"Buttons\"\n","import { useContext } from \"react\"\n\nimport { ButtonGroupContext } from \"./context\"\n\nexport const useButtonGroup = () => useContext(ButtonGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const buttonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"ring-(--accent-9)\",\n\t\t\t\t\t\"bg-(--accent-9)\",\n\t\t\t\t\t\"hover:bg-(--accent-10)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t\t\"active:brightness-110\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-10)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"active:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"active:bg-(--accent-a3)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"solid\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface ButtonProps extends ButtonVariantProps, PropsWithoutRef<ComponentProps<\"button\">> {}\n\nexport const Button = memo(\n\tforwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: false, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface IconButtonProps\n\textends ButtonVariantProps,\n\t\tPropsWithoutRef<ComponentProps<\"button\">>,\n\t\tAccentColorProps {}\n\nexport const IconButton = memo(\n\tforwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: true, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { PropsWithChildren, useCallback, useState } from \"react\"\n\nimport { Button } from \"../Buttons\"\nimport { AlertDialogContent } from \"./Content\"\nimport { AlertDialogContext } from \"./context\"\nimport { AlertDialogOptions } from \"./typings\"\n\nexport const AlertDialogProvider = (props: PropsWithChildren) => {\n\tconst { children } = props\n\n\tconst [open, setOpen] = useState(false)\n\tconst [options, setOptions] = useState<AlertDialogOptions | null>(null)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tsetOpen(open)\n\n\t\t\tif (open) return\n\n\t\t\toptions?.onClose?.()\n\t\t},\n\t\t[options],\n\t)\n\n\tconst openAlertDialog = useCallback(\n\t\t(config: AlertDialogOptions) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\t\t\tsetOpen(true)\n\t\t\tsetOptions({\n\t\t\t\tsize: \"md\",\n\t\t\t\taction: \"Confirm\",\n\t\t\t\tcancel: \"Cancel\",\n\t\t\t\t...config,\n\t\t\t})\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialogContext.Provider value={openAlertDialog}>\n\t\t\t{children}\n\t\t\t<RadixAlertDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t\t<AlertDialogContent size={options?.size}>\n\t\t\t\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Title className=\"font-medium\">{options?.title}</RadixAlertDialog.Title>\n\t\t\t\t\t\t\t<RadixAlertDialog.Description>{options?.description}</RadixAlertDialog.Description>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex justify-end gap-2\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Cancel onClick={options?.onCancel}>\n\t\t\t\t\t\t\t\t<Button variant=\"soft\" size={options?.size} accentColor=\"base\">\n\t\t\t\t\t\t\t\t\t{options?.cancel}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Cancel>\n\t\t\t\t\t\t\t<RadixAlertDialog.Action onClick={options?.onAction}>\n\t\t\t\t\t\t\t\t<Button variant=\"solid\" size={options?.size}>\n\t\t\t\t\t\t\t\t\t{options?.action}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Action>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</RadixAlertDialog.Root>\n\t\t</AlertDialogContext.Provider>\n\t)\n}\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\n\nimport { AlertDialogContent } from \"./Content\"\n\nexport * from \"./Content\"\nexport * from \"./hooks\"\nexport * from \"./Provider\"\nexport * from \"./typings\"\n\nexport const AlertDialog = {\n\tContent: AlertDialogContent,\n\tTrigger: RadixAlertDialog.Trigger,\n\tRoot: RadixAlertDialog.Root,\n\tTitle: RadixAlertDialog.Title,\n\tDescription: RadixAlertDialog.Description,\n\tAction: RadixAlertDialog.Action,\n\tCancel: RadixAlertDialog.Cancel,\n}\n","import { createContext } from \"react\"\n\nimport type { AvatarVariant } from \"./typings\"\n\ninterface IAvatarContext {\n\tvariant: AvatarVariant\n}\n\nexport const AvatarContext = createContext({} as IAvatarContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const avatar = cva([\"shrink-0\", \"select-none\", \"inline-block\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"w-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"w-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"w-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"w-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"w-9\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const avatarFallback = cva([\"flex\", \"items-center\", \"justify-center\", \"w-full\", \"h-full\", \"rounded-[inherit]\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"solid\",\n\t},\n})\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext } from \"react\"\n\nimport { AvatarContext } from \"./context\"\nimport { avatarFallback } from \"./cva\"\n\nexport interface AvatarFallbackProps extends RadixAvatar.AvatarFallbackProps {}\n\nexport const AvatarFallback = forwardRef<HTMLSpanElement, AvatarFallbackProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { variant } = useContext(AvatarContext)\n\n\treturn <RadixAvatar.AvatarFallback className={cx(className, avatarFallback({ variant }))} ref={ref} {...rest} />\n})\nAvatarFallback.displayName = \"AvatarFallback\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface AvatarImageProps extends RadixAvatar.AvatarImageProps {}\n\nexport const AvatarImage = forwardRef<HTMLImageElement, AvatarImageProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixAvatar.Image\n\t\t\tclassName={cx(className, \"object-cover\", \"rounded-[inherit]\", \"w-full\", \"h-full\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nAvatarImage.displayName = \"AvatarImage\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { AvatarContext } from \"./context\"\nimport { avatar } from \"./cva\"\nimport type { AvatarVariantProps } from \"./typings\"\n\nexport interface AvatarRootProps extends RadixAvatar.AvatarProps, AvatarVariantProps {}\n\nexport const AvatarRoot = forwardRef<HTMLSpanElement, AvatarRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant = \"solid\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<RadixAvatar.Root\n\t\t\tclassName={cx(className, avatar({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<AvatarContext.Provider value={{ variant }}>{children}</AvatarContext.Provider>\n\t\t</RadixAvatar.Root>\n\t)\n})\nAvatarRoot.displayName = \"AvatarRoot\"\n","import { AvatarFallback } from \"./Fallback\"\nimport { AvatarImage } from \"./Image\"\nimport { AvatarRoot } from \"./Root\"\n\nexport * from \"./Fallback\"\nexport * from \"./Image\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Avatar = {\n\tFallback: AvatarFallback,\n\tImage: AvatarImage,\n\tRoot: AvatarRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const badge = cva([\"inline-flex\", \"items-center\", \"shrink-0\"], {\n\tvariants: {\n\t\ticon: {\n\t\t\ttrue: [\"justify-center\"],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"w-5\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"w-6\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"w-7\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"px-3\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"w-8\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"px-4\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"w-9\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"px-5\",\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\ticon: false,\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { badge } from \"./cva\"\nimport type { BadgeVariantProps } from \"./typings\"\n\nexport interface BadgeProps extends ComponentProps<\"span\">, BadgeVariantProps {}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant,\n\t\tsize,\n\t\ticon,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<span\n\t\t\tclassName={cx(className, badge({ variant, size, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t)\n})\nBadge.displayName = \"Badge\"\n","import { cva } from \"class-variance-authority\"\n\nexport const cardCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-2)\"],\n\t\t\tsurface: [\"bg-(--accent-2)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-2\", \"text-xs\"],\n\t\t\tsm: [\"p-3\", \"text-sm\"],\n\t\t\tmd: [\"p-4\", \"text-base\"],\n\t\t\tlg: [\"p-5\", \"text-lg\"],\n\t\t\txl: [\"p-6\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { cardCva } from \"./cva\"\nimport type { CardVariantProps } from \"./typings\"\n\nexport interface CardProps extends PropsWithoutRef<ComponentProps<\"div\">>, CardVariantProps {}\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\taccentColor = \"base\",\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, cardCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCard.displayName = \"Card\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface CheckboxIndicatorProps extends RadixCheckbox.CheckboxIndicatorProps {}\n\nexport const CheckboxIndicator = forwardRef<HTMLSpanElement, CheckboxIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixCheckbox.CheckboxIndicator\n\t\t\tclassName={cx(className, \"flex items-center justify-center\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxIndicator.displayName = \"CheckboxIndicator\"\n","import { cva } from \"class-variance-authority\"\n\nexport const checkbox = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a5)\", \"text-(--accent-a11)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-4\", \"w-4\", \"text-xs\"],\n\t\t\t\tsm: [\"h-5\", \"w-5\", \"text-sm\"],\n\t\t\t\tmd: [\"h-6\", \"w-6\", \"text-base\"],\n\t\t\t\tlg: [\"h-7\", \"w-7\", \"text-lg\"],\n\t\t\t\txl: [\"h-8\", \"w-8\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { checkbox } from \"./cva\"\nimport type { CheckboxVariantProps } from \"./typings\"\n\nexport interface CheckboxRootProps extends CheckboxVariantProps, RadixCheckbox.CheckboxProps {}\n\nexport const CheckboxRoot = forwardRef<HTMLButtonElement, CheckboxRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant,\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tclassName={cx(className, checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxRoot.displayName = \"CheckboxRoot\"\n","import { CheckboxIndicator } from \"./Indicator\"\nimport { CheckboxRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Checkbox = {\n\tRoot: CheckboxRoot,\n\tIndicator: CheckboxIndicator,\n}\n","import React from 'react';\nconst usePassiveLayoutEffect = React[typeof document !== 'undefined' && document.createElement !== void 0 ? 'useLayoutEffect' : 'useEffect'];\nexport default usePassiveLayoutEffect;","import * as React from 'react';\n\nconst useLatest = current => {\n const storedValue = React.useRef(current);\n React.useEffect(() => {\n storedValue.current = current;\n });\n return storedValue;\n};\n\nexport default useLatest;","/* eslint-disable no-return-assign */\n/* eslint-disable no-underscore-dangle */\n\nimport useLayoutEffect from '@react-hook/passive-layout-effect';\nimport useLatest from '@react-hook/latest';\n\n/**\n * A React hook that fires a callback whenever ResizeObserver detects a change to its size\n *\n * @param target A React ref created by `useRef()` or an HTML element\n * @param callback Invoked with a single `ResizeObserverEntry` any time\n * the `target` resizes\n */\n\nfunction _ref() {}\nfunction useResizeObserver(target, callback, options = {}) {\n const resizeObserver = getResizeObserver(options.polyfill);\n const storedCallback = useLatest(callback);\n useLayoutEffect(() => {\n let didUnsubscribe = false;\n const targetEl = target && 'current' in target ? target.current : target;\n if (!targetEl) return _ref;\n function cb(entry, observer) {\n if (didUnsubscribe) return;\n storedCallback.current(entry, observer);\n }\n resizeObserver.subscribe(targetEl, cb);\n return () => {\n didUnsubscribe = true;\n resizeObserver.unsubscribe(targetEl, cb);\n };\n }, [target, resizeObserver, storedCallback]);\n return resizeObserver.observer;\n}\nfunction createResizeObserver(polyfill) {\n let ticking = false;\n let allEntries = [];\n const callbacks = new Map();\n const observer = new (polyfill || window.ResizeObserver)((entries, obs) => {\n allEntries = allEntries.concat(entries);\n function _ref2() {\n const triggered = new Set();\n for (let i = 0; i < allEntries.length; i++) {\n if (triggered.has(allEntries[i].target)) continue;\n triggered.add(allEntries[i].target);\n const cbs = callbacks.get(allEntries[i].target);\n cbs === null || cbs === void 0 ? void 0 : cbs.forEach(cb => cb(allEntries[i], obs));\n }\n allEntries = [];\n ticking = false;\n }\n if (!ticking) {\n window.requestAnimationFrame(_ref2);\n }\n ticking = true;\n });\n return {\n observer,\n subscribe(target, callback) {\n var _callbacks$get;\n observer.observe(target);\n const cbs = (_callbacks$get = callbacks.get(target)) !== null && _callbacks$get !== void 0 ? _callbacks$get : [];\n cbs.push(callback);\n callbacks.set(target, cbs);\n },\n unsubscribe(target, callback) {\n var _callbacks$get2;\n const cbs = (_callbacks$get2 = callbacks.get(target)) !== null && _callbacks$get2 !== void 0 ? _callbacks$get2 : [];\n if (cbs.length === 1) {\n observer.unobserve(target);\n callbacks.delete(target);\n return;\n }\n const cbIndex = cbs.indexOf(callback);\n if (cbIndex !== -1) cbs.splice(cbIndex, 1);\n callbacks.set(target, cbs);\n }\n };\n}\nlet _resizeObserver;\nconst getResizeObserver = polyfill => !_resizeObserver ? _resizeObserver = createResizeObserver(polyfill) : _resizeObserver;\nexport default useResizeObserver;","import useResizeObserver from \"@react-hook/resize-observer\"\nimport { Dispatch, memo, RefObject, SetStateAction, useCallback, useEffect, useLayoutEffect, useState } from \"react\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport { OvermapResponsive, ViewportSizes } from \"./typings\"\n\nexport interface ViewportSize {\n\tsize: ViewportSizes\n\tprevSize: ViewportSizes\n\txs: boolean\n\tsm: boolean\n\tmd: boolean\n\tlg: boolean\n\txl: boolean\n}\n\n// TODO: this should be moved to /web\n// note that this is a pretty poor way of setting this up, the better way would be to use a context at the highest level\n// in the React component tree to result in the useMediaQuery hook being called a minimal number of times. Then any components\n// that need to subscribe to the viewport size can use the context to get the current viewport size.\n/** Return value needs to be deconstructed since the object returned is not memoized */\nexport const useViewportSize = (): ViewportSize => {\n\tconst [prevSize, setPrevSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\tconst [size, setSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\t// These specific Breakpoints are from Radix, see https://www.radix-ui.com/themes/docs/theme/breakpoints\n\tconst xs = useMediaQuery({ minWidth: \"520px\" })\n\tconst sm = useMediaQuery({ minWidth: \"768px\" })\n\tconst md = useMediaQuery({ minWidth: \"1024px\" })\n\tconst lg = useMediaQuery({ minWidth: \"1280px\" })\n\tconst xl = useMediaQuery({ minWidth: \"1640px\" })\n\n\tuseLayoutEffect(() => {\n\t\tsetSize((prev) => {\n\t\t\tsetPrevSize(prev)\n\t\t\treturn xl ? \"xl\" : lg ? \"lg\" : md ? \"md\" : sm ? \"sm\" : xs ? \"xs\" : \"initial\"\n\t\t})\n\t}, [lg, md, sm, xl, xs])\n\n\treturn { size, prevSize, xs, sm, md, lg, xl }\n}\n\n/** utility used for stopping Event propagation.\n * @return stopPropagation a callback that calls stopPropagation on a general event */\nexport const useStopEventPropagation = () => {\n\treturn useCallback((event: Event) => {\n\t\tevent.stopPropagation()\n\t}, [])\n}\n\n/** custom hook use for providing filter functionality based on a text input field\n * @param filterFunction make sure this is wrapped in a useCallback\n * @param values items that should be filtered on (of type T) */\nexport function useTextFilter<T>(\n\tvalues: T[],\n\tfilterFunction: (value: T, filterValue: string) => boolean,\n): [T[], string, Dispatch<SetStateAction<string>>] {\n\tconst [filteredOptions, setFilteredOptions] = useState<T[]>([])\n\tconst [filterValue, setFilterValue] = useState<string>(\"\")\n\n\tuseEffect(() => {\n\t\tsetFilteredOptions(values.filter((value) => filterFunction(value, filterValue)))\n\t}, [filterFunction, filterValue, values])\n\n\treturn [filteredOptions, filterValue, setFilterValue]\n}\n\nexport const useSize = (target: RefObject<HTMLDivElement>): DOMRectReadOnly | undefined => {\n\tconst [size, setSize] = useState<DOMRectReadOnly>()\n\n\tuseLayoutEffect(() => {\n\t\tsetSize(target.current?.getBoundingClientRect())\n\t}, [target])\n\n\tconst handleResize = useCallback((entry: ResizeObserverEntry) => {\n\t\tconst rect = entry.contentRect\n\t\tsetSize(rect)\n\t}, [])\n\n\t// Where the magic happens\n\tuseResizeObserver<HTMLDivElement>(target, handleResize)\n\treturn size\n}\n\n/** Temporary solution for text overflow where we want the container to expand up to a max height and use ellipsis if\n * overflow still occurs. Manually break up the text into two lines and conditionally render them in separate divs.\n * The second line/div should have styling that enables ellipsis.\n * @param text The text to be split\n * @param numChars The number of characters that fit into the container\n **/\nexport const splitTextForEllipsisAndExpansion = (text: string, numChars: number) => {\n\tconst indexOfSpace = text.indexOf(\" \", numChars)\n\tconst firstLine = indexOfSpace === -1 ? text : text.substring(0, indexOfSpace)\n\tconst secondLine = indexOfSpace === -1 ? \"\" : text.substring(indexOfSpace)\n\n\treturn [firstLine, secondLine]\n}\n\nexport const genericMemo: <T>(component: T) => T = memo\n\n/** Custom hook used to activate an OvermapResponsive value, which is simply a mapping from the different viewport sizes,\n * those being \"initial\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\", to a desired value type.\n * @param value an OvermapResponsive value.\n * NOTE: \"initial\" key must be specified on otherwise an error will be thrown */\nexport function useOvermapResponsiveValue<T>(value: OvermapResponsive<T>) {\n\tconst { size } = useViewportSize()\n\tif (value === null || value === undefined) return value\n\tif (typeof value === \"object\") {\n\t\tif (!(\"initial\" in value)) {\n\t\t\t// OvermapResponsive objects require an 'initial' property to be set that acts as a default\n\t\t\tthrow new Error(\"Expected initial property to be set in Responsive object\")\n\t\t} else {\n\t\t\t/** This switch statement first checks the current size, then falls through the OvermapResponsiveValue until\n\t\t\t * it finds a breakpoint in which the OvermapResponsiveValue has explicitly defined. Since it is asserted above\n\t\t\t * that all OvermapResponsive values define the \"initial\" property, this switch statement will always output a valid\n\t\t\t * value of type T\n\t\t\t *\n\t\t\t * ex. size = \"lg\", value = { \"initial\": 1, \"sm\": 3, \"xl\": 5 }, output -> 3\n\t\t\t */\n\t\t\tswitch (size) {\n\t\t\t\tcase \"xl\":\n\t\t\t\t\tif (value[\"xl\"] !== undefined) return value[\"xl\"]\n\t\t\t\t// REASON: want to allow falling through the smaller viewport size value if this one is not defined\n\t\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\t\tcase \"lg\":\n\t\t\t\t\tif (value[\"lg\"] !== undefined) return value[\"lg\"]\n\t\t\t\t// REASON: want to allow falling through the smaller viewport size value if this one is not defined\n\t\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\t\tcase \"md\":\n\t\t\t\t\tif (value[\"md\"] !== undefined) return value[\"md\"]\n\t\t\t\t// REASON: want to allow falling through the smaller viewport size value if this one is not defined\n\t\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\t\tcase \"sm\":\n\t\t\t\t\tif (value[\"sm\"] !== undefined) return value[\"sm\"]\n\t\t\t\t// REASON: want to allow falling through the smaller viewport size value if this one is not defined\n\t\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\t\tcase \"xs\":\n\t\t\t\t\tif (value[\"xs\"] !== undefined) return value[\"xs\"]\n\t\t\t\t// REASON: want to allow falling through the smaller viewport size value if this one is not defined\n\t\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\t\tcase \"initial\":\n\t\t\t\t\treturn value[\"initial\"]\n\t\t\t}\n\t\t}\n\t}\n\treturn value\n}\n\ninterface IControlledState<TState> {\n\tstate?: TState\n\tsetState?: (state: TState) => void\n\tinitialState: TState\n}\nexport function useControlledState<TState>(args: IControlledState<TState>): [TState, (state: TState) => void] {\n\tconst { state, setState, initialState } = args\n\tconst [uncontrolledState, setUncontrolledState] = useState<TState>(initialState)\n\n\treturn [state !== undefined ? state : uncontrolledState, setState !== undefined ? setState : setUncontrolledState]\n}\n","import { createContext, CSSProperties, useContext } from \"react\"\n\nimport { NodeCallbacks, NodeRenderer } from \"./typings\"\n\ninterface ICollapsibleTreeContext<TMeta> extends NodeCallbacks<TMeta> {\n\tnodeClassName?: string\n\tnodeStyles?: CSSProperties\n\tdisabled: boolean\n\tnodeRenderer: NodeRenderer<TMeta>\n}\n\nexport const CollapsibleTreeContext = createContext<ICollapsibleTreeContext<never>>(\n\t{} as ICollapsibleTreeContext<unknown>,\n)\n\nexport function useCollapsibleTreeContext<TMeta>() {\n\treturn useContext(CollapsibleTreeContext) as ICollapsibleTreeContext<TMeta>\n}\n","import * as RadixPrimitiveCollapsible from \"@radix-ui/react-collapsible\"\nimport { cx } from \"class-variance-authority\"\nimport { useCallback, useMemo, useState } from \"react\"\n\nimport { genericMemo } from \"../utils\"\nimport { CollapsibleTreeContext, useCollapsibleTreeContext } from \"./context\"\nimport { CollapsibleTreeProps, TreeNodeProps } from \"./typings\"\n\nconst CollapsibleNode = genericMemo(function <TMeta>(props: TreeNodeProps<TMeta> & { level?: number }) {\n\tconst { meta, nodes, level = 0, disabled } = props\n\t/** controlling the open state to allow a developer to specify what element is responsible for triggering the open\n\t * and closing of the collapsible. */\n\tconst [controlledOpenState, setControlledOpenState] = useState<boolean>(false)\n\n\tconst {\n\t\tnodeRenderer,\n\t\tdisabled: disabledFromContext,\n\t\tonNodeOpen,\n\t\tonNodeClose,\n\t\tonNodeClick,\n\t\tnodeStyles,\n\t\tnodeClassName,\n\t} = useCollapsibleTreeContext<TMeta>()\n\n\t// Want to overwrite the global disabled state if defined specifically for a node\n\tconst isDisabled = disabled ?? disabledFromContext\n\n\tconst handleClick = useCallback(() => {\n\t\tif (onNodeClick) onNodeClick(meta)\n\t}, [meta, onNodeClick])\n\n\tconst toggleOpenState = useCallback(() => {\n\t\tsetControlledOpenState(!controlledOpenState)\n\n\t\t// If moving from closed to open, call onNodeOpen\n\t\tif (!controlledOpenState && onNodeOpen) onNodeOpen(meta)\n\n\t\t// If moving from open to closed, call onNodeClose\n\t\tif (controlledOpenState && onNodeClose) onNodeClose(meta)\n\t}, [meta, onNodeClose, onNodeOpen, controlledOpenState])\n\n\tconst { children, style, className } = useMemo(() => {\n\t\treturn nodeRenderer({\n\t\t\tmeta,\n\t\t\ttoggleOpen: toggleOpenState,\n\t\t\topen: controlledOpenState,\n\t\t\tdisabled: isDisabled,\n\t\t})\n\t}, [isDisabled, meta, nodeRenderer, toggleOpenState, controlledOpenState])\n\n\tconst combinedStyles = useMemo(\n\t\t() => ({\n\t\t\t// want node specific styles to overwrite and global node styles\n\t\t\t...nodeStyles,\n\t\t\t...style,\n\t\t}),\n\t\t[nodeStyles, style],\n\t)\n\n\treturn (\n\t\t<RadixPrimitiveCollapsible.Root asChild open={controlledOpenState} disabled={isDisabled}>\n\t\t\t<div className=\"flex w-full flex-col\">\n\t\t\t\t<div\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tclassName={cx(nodeClassName, className, \"flex w-full shrink-0 items-center\")}\n\t\t\t\t\tstyle={combinedStyles}\n\t\t\t\t\t// These are useful, and another way to style the TreeNode based on its open or disabled state\n\t\t\t\t\tdata-state={controlledOpenState ? \"open\" : \"closed\"}\n\t\t\t\t\tdata-disabled={isDisabled}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{nodes && nodes.length > 0 && (\n\t\t\t\t\t<RadixPrimitiveCollapsible.Content asChild>\n\t\t\t\t\t\t<div className=\"flex h-max w-full flex-col pl-2\">\n\t\t\t\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t\t\t\t<CollapsibleNode<TMeta>\n\t\t\t\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\t\t\t\tkey={`${level},${index}`}\n\t\t\t\t\t\t\t\t\t{...treeNodeProps}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</RadixPrimitiveCollapsible.Content>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</RadixPrimitiveCollapsible.Root>\n\t)\n})\n\n/** The Collapsible Tree Component is a reusable UI element that displays hierarchical data in a tree structure.\n * Nodes in the tree can be expanded or collapsed to show or hide their children, allowing for an intuitive and\n * space-efficient way to navigate complex data structures.*/\nexport const CollapsibleTree = genericMemo(function <TMeta>(props: CollapsibleTreeProps<TMeta>) {\n\tconst {\n\t\tnodes,\n\t\tdisabled = false,\n\t\tnodeClassName,\n\t\tnodeStyles,\n\t\tonNodeClick,\n\t\tonNodeClose,\n\t\tonNodeOpen,\n\t\tnodeRenderer,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<CollapsibleTreeContext.Provider\n\t\t\tvalue={{\n\t\t\t\tnodeRenderer,\n\t\t\t\tnodeClassName,\n\t\t\t\tnodeStyles,\n\t\t\t\tdisabled,\n\t\t\t\tonNodeClick,\n\t\t\t\tonNodeClose,\n\t\t\t\tonNodeOpen,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"flex h-max w-full flex-col\" {...rest}>\n\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t<CollapsibleNode<TMeta> key={`${0},${index}`} {...treeNodeProps} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</CollapsibleTreeContext.Provider>\n\t)\n})\n","import { createContext } from \"react\"\n\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport const CloseDialogContext = createContext({} as CloseDialogWithOptions)\n","import { useContext } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\n\nexport const useCloseDialog = () => {\n\tconst dialogContext = useContext(CloseDialogContext)\n\n\tif (!dialogContext) {\n\t\tthrow new Error(\"useDialog must be used within a DialogRoot\")\n\t}\n\n\treturn dialogContext\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, ReactNode, useMemo } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport type { AlertDialogSize } from \"../AlertDialog\"\nimport { dialogContent } from \"../AlertDialog/cva\"\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { useCloseDialog } from \"./hooks\"\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport interface DialogContentProps extends Omit<RadixDialog.DialogContentProps, \"children\"> {\n\ttitle: string\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n\tsize?: AlertDialogSize\n\tchildren: ReactNode | ((close: CloseDialogWithOptions) => ReactNode)\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst close = useCloseDialog()\n\tconst { children, title, container, className, size, ...rest } = props\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(close) : children\n\t}, [children, close])\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"flex h-max w-full justify-between\">\n\t\t\t\t\t<RadixDialog.Title className=\"font-medium\">{title}</RadixDialog.Title>\n\t\t\t\t\t<RadixDialog.Close>\n\t\t\t\t\t\t<IconButton accentColor=\"base\" size={size} variant=\"ghost\">\n\t\t\t\t\t\t\t<HiX />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixDialog.Close>\n\t\t\t\t</div>\n\t\t\t\t{computedChildren}\n\t\t\t</RadixDialog.Content>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogContent.displayName = \"DialogContent\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { dialogOverlay } from \"../AlertDialog/cva\"\n\nexport interface DialogOverlayProps extends RadixDialog.DialogOverlayProps {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n}\n\nexport const DialogOverlay = forwardRef<HTMLDivElement, DialogOverlayProps>((props, ref) => {\n\tconst { className, container, ...rest } = props\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Overlay\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cx(className, dialogOverlay({}))}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogOverlay.displayName = \"DialogOverlay\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { useCallback, useState } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\nimport type { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\nexport const DialogRoot = (props: DialogProps) => {\n\tconst {\n\t\tchildren,\n\t\tonOpen,\n\t\tonClose,\n\t\tdefaultOpen,\n\t\tonCloseInterrupt,\n\t\topen: externalOpen,\n\t\tonOpenChange: externalOpenChange,\n\t} = props\n\t// `innerOpen` used to track the open state of the dialog when `externalOpen` is undefined\n\tconst [innerOpen, setInnerOpen] = useState(defaultOpen ?? false)\n\tconst open = externalOpen ?? innerOpen\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (externalOpenChange) return externalOpenChange(next)\n\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => {\n\t\t\t\t\tsetInnerOpen(false)\n\t\t\t\t\tif (onClose) onClose()\n\t\t\t\t}\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t} else if (!next && onClose) {\n\t\t\t\tonClose()\n\t\t\t}\n\n\t\t\tsetInnerOpen(next)\n\t\t},\n\t\t[externalOpenChange, onOpen, onClose, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setInnerOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<CloseDialogContext.Provider value={closeDialog}>{children}</CloseDialogContext.Provider>\n\t\t</RadixDialog.Root>\n\t)\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\n\nimport { DialogContent } from \"./Content\"\nimport { DialogOverlay } from \"./Overlay\"\nimport { DialogRoot } from \"./Root\"\n\nexport * from \"./Content\"\nexport * from \"./Overlay\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Dialog = {\n\tRoot: DialogRoot,\n\tContent: DialogContent,\n\tOverlay: DialogOverlay,\n\tTrigger: RadixDialog.Trigger,\n\tClose: RadixDialog.Close,\n}\n","import type { HeadingLevel } from \"./typings\"\n\nexport const headingLevelTagMapping: Record<HeadingLevel, \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"> = {\n\t\"1\": \"h1\",\n\t\"2\": \"h2\",\n\t\"3\": \"h3\",\n\t\"4\": \"h4\",\n\t\"5\": \"h5\",\n\t\"6\": \"h6\",\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const headingCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"xl\",\n\t\tweight: \"medium\",\n\t\talign: \"left\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport type { AccentColorProps } from \"../typings\"\nimport { headingLevelTagMapping } from \"./constants\"\nimport { headingCva } from \"./cva\"\nimport type { HeadingVariantProps } from \"./typings\"\n\nexport interface HeadingProps extends PropsWithoutRef<ComponentProps<\"h1\">>, HeadingVariantProps, AccentColorProps {}\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>((props, ref) => {\n\tconst {\n\t\tclassName,\n\t\tlevel = \"1\",\n\t\tsize = \"md\",\n\t\tweight = \"medium\",\n\t\talign = \"left\",\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(className, headingCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nHeading.displayName = \"Heading\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface HoverCardArrowProps extends RadixHoverCard.HoverCardArrowProps {}\n\nexport const HoverCardArrow = forwardRef<SVGSVGElement, HoverCardArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixHoverCard.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nHoverCardArrow.displayName = \"HoverCardArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const hoverCardContent = cva([\"bg-(--base-1)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { hoverCardContent } from \"./cva\"\nimport type { HoverCardVariantProps } from \"./typings\"\n\nexport interface HoverCardContentProps extends RadixHoverCard.HoverCardContentProps, HoverCardVariantProps {\n\tcontainer?: RadixHoverCard.HoverCardPortalProps[\"container\"]\n}\n\nexport const HoverCardContent = forwardRef<HTMLDivElement, HoverCardContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tside,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsideOffset = 4,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixHoverCard.Portal container={container}>\n\t\t\t<RadixHoverCard.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\thoverCardContent({ size }),\n\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tside={side}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixHoverCard.Portal>\n\t)\n})\nHoverCardContent.displayName = \"HoverCardContent\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\n\nimport { HoverCardArrow } from \"./Arrow\"\nimport { HoverCardContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const HoverCard = {\n\tArrow: HoverCardArrow,\n\tContent: HoverCardContent,\n\tRoot: RadixHoverCard.Root,\n\tTrigger: RadixHoverCard.Trigger,\n}\n","import { FC, memo, PointerEventHandler, ReactElement, useCallback, useState } from \"react\"\n\ninterface ChildProps {\n\tisHovered: boolean\n\tonPointerEnter: PointerEventHandler<HTMLElement>\n\tonPointerLeave: PointerEventHandler<HTMLElement>\n}\ninterface HoverUtilityProps {\n\tforceHover?: boolean\n\tchildren: (props: ChildProps) => ReactElement\n}\n\n/** HoverUtility is a utility component used for detecting when an element is being hovered over or not, is passes a\n * isHovered variable to its children as well as props onPointerEnter and onPointerLeave that can be spread on any\n * child component that should be used as the element to observe hovering on. See stories of examples of its use. */\nexport const HoverUtility: FC<HoverUtilityProps> = memo(function Root({ children, forceHover }: HoverUtilityProps) {\n\tconst [isHovered, setIsHovered] = useState<boolean>(false)\n\n\tconst handlePointerEnter = useCallback(() => {\n\t\tsetIsHovered(true)\n\t}, [])\n\n\tconst handlePointerLeave = useCallback(() => {\n\t\tsetIsHovered(false)\n\t}, [])\n\n\treturn children({\n\t\tisHovered: forceHover !== undefined ? forceHover : isHovered,\n\t\tonPointerEnter: handlePointerEnter,\n\t\tonPointerLeave: handlePointerLeave,\n\t})\n})\n","import { createContext } from \"react\"\n\nimport type { InputSize, InputVariant } from \"./typings\"\n\ninterface IInputContext {\n\tsize: InputSize\n\tvariant: InputVariant\n}\n\nexport const InputContext = createContext<IInputContext>({} as IInputContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"has-[:focus]:outline-2\",\n\t\t\"has-[:focus]:outline-(--accent-8)\",\n\t\t\"has-[:focus]:-outline-offset-1\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"inset-ring\", \"inset-ring-(--accent-a7)\", \"bg-(--accent-surface)\", \"text-(--accent-a12)\"],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-12)\"],\n\t\t\t\toutline: [\"inset-ring\", \"inset-ring-(--base-a7)\", \"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"surface\",\n\t\t},\n\t},\n)\n\nexport const inputField = cva([\"peer-[.slot]/slot:indent-0\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\tsoft: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\toutline: [\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"indent-1\"],\n\t\t\tsm: [\"indent-1.5\"],\n\t\t\tmd: [\"indent-2\"],\n\t\t\tlg: [\"indent-2.5\"],\n\t\t\txl: [\"indent-3\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n\nexport const inputSlot = cva([\"peer/slot\", \"slot\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"px-1\"],\n\t\t\tsm: [\"px-1.5\"],\n\t\t\tmd: [\"px-2\"],\n\t\t\tlg: [\"px-2.5\"],\n\t\t\txl: [\"px-3\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [\"text-(--accent-12)\"],\n\t\t\tsoft: [\"text-(--accent-12)\"],\n\t\t\toutline: [\"text-(--base-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputField } from \"./cva\"\n\nexport interface InputFieldProps extends PropsWithoutRef<ComponentProps<\"input\">> {}\n\nexport const InputField = forwardRef<HTMLInputElement, InputFieldProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(className, inputField({ size, variant }), \"grow bg-transparent outline-0\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nInputField.displayName = \"InputField\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { InputContext } from \"./context\"\nimport { inputRoot } from \"./cva\"\nimport type { InputVariantProps } from \"./typings\"\n\nexport interface InputRootProps extends InputVariantProps, PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputRoot = forwardRef<HTMLDivElement, InputRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<InputContext.Provider value={{ size, variant }}>\n\t\t\t<div\n\t\t\t\tclassName={cx(className, inputRoot({ variant, size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</InputContext.Provider>\n\t)\n})\nInputRoot.displayName = \"InputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputSlot } from \"./cva\"\n\nexport interface InputSlotProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputSlot = forwardRef<HTMLDivElement, InputSlotProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn <div className={cx(className, inputSlot({ size, variant }), \"flex items-center\")} ref={ref} {...rest} />\n})\nInputSlot.displayName = \"InputSlot\"\n","import { InputField } from \"./Field\"\nimport { InputRoot } from \"./Root\"\nimport { InputSlot } from \"./Slot\"\n\nexport * from \"./Field\"\nexport * from \"./Root\"\nexport * from \"./Slot\"\nexport * from \"./typings\"\n\nexport const Input = {\n\tField: InputField,\n\tRoot: InputRoot,\n\tSlot: InputSlot,\n}\n","import { createContext, Dispatch, SetStateAction, useContext } from \"react\"\n\ninterface ILayoutContent {\n\tsmall: boolean\n\thideLayout: boolean\n\t/** controlled value for open state of LeftSlideOut Component. */\n\tshowLeftSlideOut: boolean\n\tsetShowLeftSlideOut: Dispatch<SetStateAction<boolean>>\n\t/** controlled value for open state of RightSlideOut Component. */\n\tshowRightSlideOut: boolean\n\tsetShowRightSlideOut: Dispatch<SetStateAction<boolean>>\n}\n\nexport const LayoutContext = createContext<ILayoutContent>({} as ILayoutContent)\n\nexport const useLayoutContext = () => useContext(LayoutContext)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface ContainerProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const Container = memo(\n\tforwardRef<HTMLDivElement, ContainerProps>((props, ref) => {\n\t\tconst { children, className, ...rest } = props\n\t\tconst { hideLayout = false } = useLayoutContext()\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<div className={cx(className, \"flex h-full grow\")} ref={ref} {...rest}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { memo, PropsWithChildren, useMemo, useState } from \"react\"\n\nimport { LayoutContext } from \"./context\"\n\nexport interface RootProps extends PropsWithChildren {\n\t/** TODO: DOCUMENT THIS HEAVILY\n\t * @default false */\n\tsmall?: boolean\n\t/** controls if all Layout Components should be hidden\n\t * @default false */\n\thideLayout?: boolean\n}\n\n/** */\nexport const Root = memo((props: RootProps) => {\n\tconst { children, small = false, hideLayout = false } = props\n\tconst [showLeftSlideOut, setShowLeftSlideOut] = useState<boolean>(false)\n\tconst [showRightSlideOut, setShowRightSlideOut] = useState<boolean>(false)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsmall,\n\t\t\thideLayout,\n\t\t\tshowLeftSlideOut,\n\t\t\tsetShowLeftSlideOut,\n\t\t\tshowRightSlideOut,\n\t\t\tsetShowRightSlideOut,\n\t\t}),\n\t\t[hideLayout, showLeftSlideOut, showRightSlideOut, small],\n\t)\n\n\treturn <LayoutContext.Provider value={contextValue}>{children}</LayoutContext.Provider>\n})\nRoot.displayName = \"Layout.Root\"\n","/**\n * MIT License\n * Copyright (c) 2022 WorkOS\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n **/\nimport { useEffect, useMemo, useRef } from \"react\"\nimport ReactDOM from \"react-dom\"\n\ntype PointerDownOutsideEvent = CustomEvent<{ originalEvent: PointerEvent }>\n\n// THE CODE IN THIS FILE WAS COPIED FROM @radix-ui/react-dissmissable-layer NPM REPO.\n// https://github.com/radix-ui/primitives/tree/main/packages/react/dismissable-layer\n\n/**\n * Listens for `pointerdown` outside a React subtree. We use `pointerdown` rather than `pointerup`\n * to mimic layer-dismissing behavior present in OS.\n * Returns props to pass to the node we want to check for outside events.\n */\nexport function usePointerDownOutside(\n\tonPointerDownOutside?: (event: PointerDownOutsideEvent) => void,\n\townerElement: HTMLElement | undefined = globalThis?.document.body,\n) {\n\tconst handlePointerDownOutside = useCallbackRef(onPointerDownOutside) as EventListener\n\tconst isPointerInsideReactTreeRef = useRef<boolean>(false)\n\tconst handleClickRef = useRef(() => {})\n\n\tuseEffect(() => {\n\t\tconst handlePointerDown = (event: PointerEvent) => {\n\t\t\tif (event.target && !isPointerInsideReactTreeRef.current) {\n\t\t\t\tconst eventDetail = { originalEvent: event }\n\n\t\t\t\tconst handleAndDispatchPointerDownOutsideEvent = () => {\n\t\t\t\t\thandleAndDispatchCustomEvent(\"pointerDownOutside\", handlePointerDownOutside, eventDetail, {\n\t\t\t\t\t\tdiscrete: true,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * On touch devices, we need to wait for a click event because browsers implement\n\t\t\t\t * a ~350ms delay between the time the user stops touching the display and when the\n\t\t\t\t * browser executres events. We need to ensure we don't reactivate pointer-events within\n\t\t\t\t * this timeframe otherwise the browser may execute events that should have been prevented.\n\t\t\t\t *\n\t\t\t\t * Additionally, this also lets us deal automatically with cancellations when a click event\n\t\t\t\t * isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.\n\t\t\t\t *\n\t\t\t\t * This is why we also continuously remove the previous listener, because we cannot be\n\t\t\t\t * certain that it was raised, and therefore cleaned-up.\n\t\t\t\t */\n\t\t\t\tif (event.pointerType === \"touch\") {\n\t\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t\t\thandleClickRef.current = handleAndDispatchPointerDownOutsideEvent\n\t\t\t\t\townerElement.addEventListener(\"click\", handleClickRef.current, { once: true })\n\t\t\t\t} else {\n\t\t\t\t\thandleAndDispatchPointerDownOutsideEvent()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We need to remove the event listener in case the outside click has been canceled.\n\t\t\t\t// See: https://github.com/radix-ui/primitives/issues/2171\n\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t}\n\t\t\tisPointerInsideReactTreeRef.current = false\n\t\t}\n\t\t/**\n\t\t * if this hook executes in a component that mounts via a `pointerdown` event, the event\n\t\t * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n\t\t * this by delaying the event listener registration on the document.\n\t\t * This is not React specific, but rather how the DOM works, ie:\n\t\t * ```\n\t\t * button.addEventListener('pointerdown', () => {\n\t\t * console.log('I will log');\n\t\t * document.addEventListener('pointerdown', () => {\n\t\t * console.log('I will also log');\n\t\t * })\n\t\t * });\n\t\t */\n\t\tconst timerId = window.setTimeout(() => {\n\t\t\townerElement.addEventListener(\"pointerdown\", handlePointerDown)\n\t\t}, 0)\n\t\treturn () => {\n\t\t\twindow.clearTimeout(timerId)\n\t\t\townerElement.removeEventListener(\"pointerdown\", handlePointerDown)\n\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t}\n\t}, [ownerElement, handlePointerDownOutside])\n\n\treturn {\n\t\t// ensures we check React component tree (not just DOM tree)\n\t\tonPointerDownCapture: () => (isPointerInsideReactTreeRef.current = true),\n\t}\n}\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E[\"target\"], event: E) {\n\tif (target) ReactDOM.flushSync(() => target.dispatchEvent(event))\n}\nfunction handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>(\n\tname: string,\n\thandler: ((event: E) => void) | undefined,\n\tdetail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),\n\t{ discrete }: { discrete: boolean },\n) {\n\tconst target = detail.originalEvent.target\n\tconst event = new CustomEvent(name, { bubbles: false, cancelable: true, detail })\n\tif (handler) target.addEventListener(name, handler as EventListener, { once: true })\n\n\tif (discrete) {\n\t\tdispatchDiscreteCustomEvent(target, event)\n\t} else {\n\t\ttarget.dispatchEvent(event)\n\t}\n}\n\n/** custom hook used for creating a ref to a callback */\nexport function useCallbackRef<\n\tT extends (\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t...args: any[]\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t) => any,\n>(callback: T | undefined): T {\n\tconst callbackRef = useRef(callback)\n\n\tuseEffect(() => {\n\t\tcallbackRef.current = callback\n\t})\n\n\treturn useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, [])\n}\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { cx } from \"class-variance-authority\"\nimport { NumberSize, Resizable, ResizeDirection } from \"re-resizable\"\nimport {\n\tCSSProperties,\n\tforwardRef,\n\tmemo,\n\tPropsWithChildren,\n\tReactNode,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\nimport { PropsWithClassNameAndStyle } from \"../typings\"\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 SlideOutV3Props extends PropsWithChildren, PropsWithClassNameAndStyle {\n\t/** The controlled open state of the SlideOut */\n\topen: boolean\n\t/** specifies if the SlideOut is in modal mode or not.\n\t * If in modal mode, onDismiss prop should be passed\n\t * to the SlideOut component as well.\n\t * @default false */\n\tmodal?: boolean\n\t/** hides the SlideOut and its overlay but doesn't change the open state of the SlideOut. Should be used if\n\t * the SlideOut needs to be hidden for some reason but not triggering a close\n\t * @default false\n\t * */\n\thide?: boolean\n\t/** The side the SlideOut should position on and \"slide-in\" from */\n\tside: \"left\" | \"right\"\n\t/** controls if the SlideOut can be resized by the user\n\t * @default true\n\t * */\n\tresizeable?: boolean\n\t/** controls the positioning of the SlideOut.\n\t * When absolute, the SlideOut will overlay other\n\t * content within its parent container.\n\t * When relative, the SlideOut exists with and pushes other content within\n\t * its parent container.\n\t * @default \"relative\"\n\t * */\n\tposition?: \"relative\" | \"absolute\"\n\t/** sets the initialWidth of the SlideOut, can be expressed in any valid CSS size unit */\n\tinitialWidth: number | string\n\t/** sets the minimum width of the SlideOut can be expressed in any valid CSS size unit */\n\tminWidth?: number | string\n\t/** sets the maximum width of the SlideOut can be expressed in any valid CSS size unit */\n\tmaxWidth?: number | string\n\t/** callback fired when the SlideOut should be dismissed (closed) when in modal mode. The type of event resulting in\n\t * the SlideOut dismissal is passed with the callback. */\n\tonDismiss?: () => void\n\t/** callback fired when the SlideOut has finished sliding out (closing) */\n\tonClosed?: () => void\n\t/** callback fired when the SlideOut starts sliding in (opening) */\n\tonOpening?: () => void\n\t/** overlay to be rendered when the SlideOut is open*/\n\toverlayComponent?: ReactNode\n\t/** content to be rendered within the SlideOut */\n\tcontent: ReactNode | null\n}\n\nconst TIMEOUT_DURATION = 3000\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 SlideOutV3 = memo(\n\tforwardRef<HTMLDivElement, SlideOutV3Props>((props, ref) => {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tstyle,\n\t\t\tchildren,\n\t\t\topen,\n\t\t\thide = false,\n\t\t\tmodal = false,\n\t\t\toverlayComponent,\n\t\t\tresizeable = true,\n\t\t\tside,\n\t\t\tposition = \"relative\",\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonDismiss,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t\tcontent,\n\t\t} = props\n\t\tconst isLeft = side === \"left\"\n\t\tconst [parentContainer, setParentContainer] = useState<HTMLElement>(document.body)\n\t\tconst childrenContainerRef = useRef<HTMLDivElement>(null)\n\t\tconst [slideOutWidth, setSlideOutWidth] = useState<number | string>(initialWidth)\n\n\t\t// Callback used to track the width of the SlideOut\n\t\tconst handleResize = useCallback(\n\t\t\t(_event: MouseEvent | TouchEvent, _dir: ResizeDirection, ref: HTMLElement, _delta: NumberSize) => {\n\t\t\t\tsetSlideOutWidth(ref.clientWidth)\n\t\t\t},\n\t\t\t[],\n\t\t)\n\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\t// Only allow the onDismiss behavior to work when in modal mode\n\t\t\tif (modal && onDismiss) {\n\t\t\t\tonDismiss()\n\t\t\t}\n\t\t}, [modal, onDismiss])\n\n\t\t/** Callback used to assign the Parent Container ref. Using state is necessary here to cause a rerender resetting\n\t\t * the usePointerDownOutside hook which is responsible for detecting pointer events outside the SlideOut component.\n\t\t * It needs to attach the appropriate event listeners to the SlideOuts parent element for this to happen. */\n\t\tconst handleAssignParentContainer = useCallback((element: HTMLDivElement | null) => {\n\t\t\tif (element) {\n\t\t\t\tsetParentContainer(element)\n\t\t\t}\n\t\t}, [])\n\n\t\t/** Want to reset the current width of the SlideOut when initial width changes. This allows for the width to\n\t\t * be changed depending on the viewport size, for example. */\n\t\tuseEffect(() => {\n\t\t\tsetSlideOutWidth(initialWidth)\n\t\t}, [initialWidth])\n\n\t\t// TODO: determine if this set up for disabling and re-enabling pointer events on sibling content makes sense\n\t\tuseEffect(() => {\n\t\t\tif (!childrenContainerRef.current) return\n\t\t\tconst originalParentPointerEvents = childrenContainerRef.current.style.pointerEvents\n\n\t\t\t// In modal mode, all pointerEvents should be disabled for all other content within the parent container\n\t\t\t// besides the SlideOut content itself\n\t\t\tif (open && modal) {\n\t\t\t\tchildrenContainerRef.current.style.pointerEvents = \"none\"\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (childrenContainerRef.current) {\n\t\t\t\t\t// this warning is invalid because the ref (childrenContainerRef) is immutable\n\t\t\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t\t\tchildrenContainerRef.current.style.pointerEvents = originalParentPointerEvents\n\t\t\t\t}\n\t\t\t}\n\t\t}, [modal, open, parentContainer.style])\n\n\t\t/** custom hook used for attaching event listeners and dispatching custom \"PointerDownOutside\" events.\n\t\t * It aims at detecting PointerEvents that occur OUTSIDE the SlideOut content. In this case, these event\n\t\t * listeners are attached to the parent container of the SlideOut. It returns a React Event handler that\n\t\t * should be used for capturing PointerEvents that occur WITHIN the SlideOut so those don't cause the SlideOut to close.\n\t\t * If this was not attached to the SlideOut itself, then the PointerEvents would bubble up to the parent causing\n\t\t * PointerEvents WITHIN the SlideOut to close the SlideOut, which is undesired */\n\t\tconst { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(handleDismiss, parentContainer)\n\n\t\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\t\tconst CSSTransitionClassNames = useMemo(\n\t\t\t() => ({\n\t\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t\tenterActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\t\texitActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t}),\n\t\t\t[isLeft],\n\t\t)\n\n\t\tconst resizableSize = useMemo(\n\t\t\t() =>\n\t\t\t\t// prettier-ignore\n\t\t\t\t({ width: slideOutWidth, height: \"100%\" }),\n\t\t\t[slideOutWidth],\n\t\t)\n\n\t\tconst resizableStyle = useMemo(\n\t\t\t() =>\n\t\t\t\t({\n\t\t\t\t\tposition: position,\n\t\t\t\t\t\"--slide-out-width\": `${slideOutWidth}${typeof slideOutWidth === \"number\" ? \"px\" : \"\"}`,\n\t\t\t\t}) as CSSProperties,\n\t\t\t[position, slideOutWidth],\n\t\t)\n\n\t\tconst resizableEnable = useMemo(\n\t\t\t() => ({ left: resizeable && !isLeft, right: resizeable && isLeft }),\n\t\t\t[isLeft, resizeable],\n\t\t)\n\n\t\tconst SlideOut = useMemo(\n\t\t\t() => (\n\t\t\t\t<CSSTransition\n\t\t\t\t\tclassNames={CSSTransitionClassNames}\n\t\t\t\t\tin={open}\n\t\t\t\t\ttimeout={TIMEOUT_DURATION}\n\t\t\t\t\tunmountOnExit\n\t\t\t\t\tmountOnEnter\n\t\t\t\t\tonEntering={onOpening}\n\t\t\t\t\tonExited={onClosed}\n\t\t\t\t>\n\t\t\t\t\t<Slot\n\t\t\t\t\t\tclassName={cx(className, \"top-0\", \"bottom-0\", {\n\t\t\t\t\t\t\t\"left-0\": isLeft,\n\t\t\t\t\t\t\t\"right-0\": !isLeft,\n\t\t\t\t\t\t\tabsolute: position === \"absolute\",\n\t\t\t\t\t\t\trelative: position === \"relative\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\tonPointerDownCapture={handlePointerDownCapture}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Resizable\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t\tonResize={handleResize}\n\t\t\t\t\t\t\tsize={resizableSize}\n\t\t\t\t\t\t\tstyle={resizableStyle}\n\t\t\t\t\t\t\tminWidth={minWidth}\n\t\t\t\t\t\t\tmaxWidth={maxWidth}\n\t\t\t\t\t\t\tenable={resizableEnable}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t</Resizable>\n\t\t\t\t\t</Slot>\n\t\t\t\t</CSSTransition>\n\t\t\t),\n\t\t\t[\n\t\t\t\tCSSTransitionClassNames,\n\t\t\t\topen,\n\t\t\t\tonOpening,\n\t\t\t\tonClosed,\n\t\t\t\tclassName,\n\t\t\t\tisLeft,\n\t\t\t\tposition,\n\t\t\t\tstyle,\n\t\t\t\thandlePointerDownCapture,\n\t\t\t\tref,\n\t\t\t\thandleResize,\n\t\t\t\tresizableSize,\n\t\t\t\tresizableStyle,\n\t\t\t\tminWidth,\n\t\t\t\tmaxWidth,\n\t\t\t\tresizableEnable,\n\t\t\t\tcontent,\n\t\t\t],\n\t\t)\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"relative flex h-full max-h-full w-full max-w-full overflow-hidden\"\n\t\t\t\tref={handleAssignParentContainer}\n\t\t\t>\n\t\t\t\t{side === \"left\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t<div className=\"flex h-full max-w-full grow overflow-hidden\" ref={childrenContainerRef}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{side === \"right\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { Dispatch, forwardRef, memo, SetStateAction, useCallback, useEffect, useMemo } from \"react\"\n\nimport { SlideOutV2Props } from \"../SlideOut\"\nimport { SlideOutV3, SlideOutV3Props } from \"../SlideOutV3\"\nimport { useLayoutContext } from \"./context\"\n\nconst DEFAULT_INITIAL_WIDTH = \"30%\"\n\ninterface SlideOutProps extends Omit<SlideOutV3Props, \"open\" | \"initialWidth\"> {\n\t/** controls if the SlideOut is initially open once mounted when NOT in smallMode.\n\t * NOTE: changing the value of this will cause the SlideOut to open/close after mounting NOT in smallMode depending on\n\t * its passed in value.\n\t * @default false */\n\tdefaultOpen?: {\n\t\tsmall?: boolean\n\t\tlarge?: boolean\n\t}\n\t/** optional prop to control the open state of the SlideOut */\n\topen?: SlideOutV2Props[\"open\"]\n\t/** optional prop to control the initialWidth of the SlideOut\n\t * @default \"30%\" */\n\tinitialWidth?: SlideOutV2Props[\"initialWidth\"]\n}\n\nconst SlideOut = memo(\n\tforwardRef<\n\t\tHTMLDivElement,\n\t\tSlideOutProps & {\n\t\t\t// seperated these here since don't want them to be actual attributes of SlideOutProps\n\t\t\tshowSlideOut: boolean\n\t\t\tsetShowSlideOut: Dispatch<SetStateAction<boolean>>\n\t\t}\n\t>((props, ref) => {\n\t\tconst { small, hideLayout } = useLayoutContext()\n\t\tconst { className, showSlideOut, setShowSlideOut, defaultOpen, side, ...rest } = props\n\n\t\tuseEffect(() => {\n\t\t\t// check if defaultOpenSmallMode specified\n\t\t\tif (small && defaultOpen?.small !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.small)\n\t\t\t} else if (!small && defaultOpen?.large !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.large)\n\t\t\t}\n\t\t}, [defaultOpen, setShowSlideOut, small])\n\n\t\t/** Callback for when SlideOut should be dismissed, only gets called when SlideOuts are open */\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\tsetShowSlideOut(false)\n\t\t}, [setShowSlideOut])\n\n\t\t// Merging props controlled and uncontrolled props\n\t\tconst mergedProps = useMemo(\n\t\t\t() => ({\n\t\t\t\t// controlled props\n\t\t\t\t...{\n\t\t\t\t\topen: showSlideOut,\n\t\t\t\t\tinitialWidth: DEFAULT_INITIAL_WIDTH,\n\t\t\t\t\tmodal: small,\n\t\t\t\t\tonDismiss: handleDismiss,\n\t\t\t\t\tposition: (small ? \"absolute\" : \"relative\") as \"relative\" | \"absolute\",\n\t\t\t\t},\n\t\t\t\t// uncontrolled props\n\t\t\t\t...rest,\n\t\t\t}),\n\t\t\t[handleDismiss, rest, showSlideOut, small],\n\t\t)\n\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<SlideOutV3\n\t\t\t\t\tclassName={cx(`overmap-layout-slideOut-${side}`, className)}\n\t\t\t\t\tside={side}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...mergedProps}\n\t\t\t\t/>\n\t\t\t)\n\t\t)\n\t}),\n)\n\n/** Type used for both Layout.LeftSlideOut and Layout.RightSlideOut */\nexport interface LayoutSlideOutProps extends Omit<SlideOutProps, \"side\"> {}\n\n/** TODO: Document */\nexport const LeftSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showLeftSlideOut, setShowLeftSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOut\n\t\t\t\tside=\"left\"\n\t\t\t\tshowSlideOut={showLeftSlideOut}\n\t\t\t\tsetShowSlideOut={setShowLeftSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n\n/** TODO: Document */\nexport const RightSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showRightSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOut\n\t\t\t\tside=\"right\"\n\t\t\t\tshowSlideOut={showRightSlideOut}\n\t\t\t\tsetShowSlideOut={setShowRightSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef, useMemo } from \"react\"\n\nimport { SlideOutV3Props } from \"../SlideOutV3\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutOverlayProps extends PropsWithoutRef<ComponentProps<\"div\">> {\n\tactive?: boolean\n\tside: SlideOutV3Props[\"side\"]\n\t// TODO: Might want to rename this once standardized\n\tsmallModeOnly?: boolean\n}\nexport const SlideOutOverlay = memo(\n\tforwardRef<HTMLDivElement, LayoutOverlayProps>((props, ref) => {\n\t\tconst { className, active, side, smallModeOnly = false, ...rest } = props\n\t\tconst { small, hideLayout, showLeftSlideOut, showRightSlideOut } = useLayoutContext()\n\n\t\tconst showOverlay = useMemo(() => {\n\t\t\t// If being controlled, return controlled state\n\t\t\tif (active !== undefined) return active\n\n\t\t\t// If layout current being hidden, set to false\n\t\t\tif (hideLayout) return false\n\n\t\t\t// If smallModeOnly but not in smallMode, set to false\n\t\t\tif (smallModeOnly && !small) return false\n\n\t\t\t// Otherwise return based on the open state\n\t\t\treturn side === \"left\" ? showLeftSlideOut : showRightSlideOut\n\t\t}, [active, hideLayout, showLeftSlideOut, showRightSlideOut, side, small, smallModeOnly])\n\n\t\treturn (\n\t\t\tshowOverlay && (\n\t\t\t\t<div className={cx(\"overmap-layout-overlay\", className, \"fixed inset-0\")} ref={ref} {...rest} />\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, PropsWithChildren, useCallback } from \"react\"\n\nimport { SlideOutV3Props } from \"../SlideOutV3\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface SlideOutTriggerProps extends PropsWithChildren {\n\tside: SlideOutV3Props[\"side\"]\n\ttype?: \"toggle\" | \"open\" | \"close\"\n}\n\nfunction nextStateBasedOnType(prevState: boolean, type: \"toggle\" | \"open\" | \"close\") {\n\tswitch (type) {\n\t\tcase \"toggle\":\n\t\t\treturn !prevState\n\t\tcase \"open\":\n\t\t\treturn true\n\t\tcase \"close\":\n\t\t\treturn false\n\t}\n}\nexport const SlideOutTrigger = memo(\n\tforwardRef<HTMLButtonElement, SlideOutTriggerProps>((props, ref) => {\n\t\tconst { side, type = \"toggle\", children } = props\n\t\tconst { setShowLeftSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\tconst handleClick = useCallback(() => {\n\t\t\tconst setShowSlideOut = side === \"left\" ? setShowLeftSlideOut : setShowRightSlideOut\n\t\t\tsetShowSlideOut((prevState) => nextStateBasedOnType(prevState, type))\n\t\t}, [setShowLeftSlideOut, setShowRightSlideOut, side, type])\n\n\t\treturn (\n\t\t\t<Slot ref={ref} onClick={handleClick}>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { Container } from \"./Container\"\nimport { Root } from \"./Root\"\nimport { LeftSlideOut, RightSlideOut } from \"./SlideOut\"\nimport { SlideOutOverlay } from \"./SlideOutOverlay\"\nimport { SlideOutTrigger } from \"./SlideOutTrigger\"\n\nexport const Layout = {\n\tRoot,\n\tContainer,\n\tSlideOutOverlay,\n\tLeftSlideOut,\n\tRightSlideOut,\n\tSlideOutTrigger,\n}\nexport type * from \"./Container\"\nexport * from \"./context\"\nexport type * from \"./Root\"\nexport type * from \"./SlideOut\"\nexport type * from \"./SlideOutOverlay\"\nexport type * from \"./SlideOutTrigger\"\n","import { cva } from \"class-variance-authority\"\n\nexport const linkCva = cva([\"cursor-pointer\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\tnone: [\"[font-size:inherit]\", \"leading-[inherit]\"],\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"none\",\n\t\tweight: \"regular\",\n\t\talign: \"left\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { linkCva } from \"./cva\"\nimport type { LinkVariantProps } from \"./typings\"\n\nexport interface LinkProps extends PropsWithoutRef<ComponentProps<\"a\">>, LinkVariantProps {}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tweight = \"regular\",\n\t\talign = \"left\",\n\t\thighContrast = false,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<a\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, linkCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !highContrast,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nLink.displayName = \"Link\"\n","import { createContext } from \"react\"\n\nimport type { CheckedState } from \"./typings\"\n\nexport const CheckedIndicatorContext = createContext({} as CheckedState)\n","import { FC, PropsWithChildren, useContext } from \"react\"\n\nimport { CheckedIndicatorContext } from \"./context\"\n\nexport interface CheckedIndicatorProps {\n\tchildren: PropsWithChildren[\"children\"] | ((indeterminate: boolean) => PropsWithChildren[\"children\"])\n}\n\nexport const CheckedIndicator: FC<CheckedIndicatorProps> = (props) => {\n\tconst { children } = props\n\n\tconst checked = useContext(CheckedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(checked === \"indeterminate\") : children\n\n\treturn checked !== false ? computedChildren : null\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const menuItem = cva(\n\t[\"select-none\", \"relative\", \"flex\", \"items-center\", \"rounded\", \"outline-none\", \"data-disabled:text-(--base-a8)\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-1\", \"px-1\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-1.5\", \"px-1.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-2\", \"px-2\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-2.5\", \"px-2.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-3\", \"px-3\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:bg-(--accent-a9)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"text-(--base-12)\", \"data-highlighted:not-data-disabled:bg-(--accent-a4)\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"soft\",\n\t\t},\n\t},\n)\n\nexport const menuSeparator = cva([\"h-px\", \"bg-(--base-a6)\", \"w-auto\", \"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"-mx-1\", \"my-1\"],\n\t\t\tsm: [\"-mx-1.5\", \"my-1.5\"],\n\t\t\tmd: [\"-mx-2\", \"my-2\"],\n\t\t\tlg: [\"-mx-2.5\", \"my-2.5\"],\n\t\t\txl: [\"-mx-3\", \"my-3\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuSelectedIndicator = cva([\"flex\", \"items-center\", \"justify-center\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"w-4\", \"h-4\"],\n\t\t\tsm: [\"w-5\", \"h-5\"],\n\t\t\tmd: [\"w-6\", \"h-6\"],\n\t\t\tlg: [\"w-7\", \"h-7\"],\n\t\t\txl: [\"w-8\", \"h-8\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"w-max\",\n\t\t\"outline-none\",\n\t\t\"pointer-events-auto\",\n\t\t\"bg-(--base-1)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-6)\",\n\t\t\"overflow-hidden\",\n\t\t// \"[scrollbar-width:thin]\",\n\t\t// \"[scrollbar-color:var(--base-6)_transparent]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-1\", \"text-xs\"],\n\t\t\t\tsm: [\"p-1.5\", \"text-sm\"],\n\t\t\t\tmd: [\"p-2\", \"text-md\"],\n\t\t\t\tlg: [\"p-2.5\", \"text-lg\"],\n\t\t\t\txl: [\"p-3\", \"text-xl\"],\n\t\t\t},\n\t\t\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\"], {\n\tvariants: {\n\t\tmodal: {\n\t\t\ttrue: [\"pointer-events-auto\"],\n\t\t\tfalse: [\"pointer-events-none\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tmodal: false,\n\t},\n})\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"transition-colors\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"box-border\",\n\t\t\"bg-transparent\",\n\t\t\"text-(--base-12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"px-1\", \"gap-1\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"px-1.5\", \"gap-1.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"px-2\", \"gap-2\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"px-2.5\", \"gap-2.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"px-3\", \"gap-3\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import { MiddlewareData, UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide, MenuTriggerType } from \"../typings\"\n\ninterface IMenuContext {\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\tside: MenuSide\n\tsetTriggerType: (triggerType: MenuTriggerType) => void\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n\tmiddlewareData: MiddlewareData\n}\n\nexport const MenuContext = createContext<IMenuContext>({} as IMenuContext)\n\nexport const useMenuContext = () => useContext(MenuContext)\n","export const MENU_OVERFLOW_PADDING = 20\n\nexport const MENU_CONTENT_PADDING = 8\n\nexport const MENU_MINIMUM_MAX_HEIGHT = 250\n","import {\n\tautoUpdate,\n\tflip,\n\tFloatingTree,\n\thide,\n\toffset as offsetMiddleware,\n\tPlacement,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseInteractions,\n\tuseListNavigation,\n\tuseRole,\n\tVirtualElement,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuRootProps, MenuTriggerType } from \"../typings\"\nimport { MenuContext } from \"./context\"\n\nconst DEFAULT_OFFSET = 5\n\nexport const MenuRoot: FC<MenuRootProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tside = \"bottom\",\n\t\talign = \"center\",\n\t\toffset,\n\t\tloop = false,\n\t\tmodal = false,\n\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>({\n\t\tstate: controlledOpen,\n\t\tinitialState: defaultOpen ?? false,\n\t\tsetState: onOpenChange,\n\t})\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst [triggerType, setTriggerType] = useState<MenuTriggerType | null>(null)\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context, middlewareData } = useFloating<VirtualElement>({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: setOpen,\n\t\tmiddleware: [\n\t\t\toffsetMiddleware({ mainAxis: offset ?? DEFAULT_OFFSET }),\n\t\t\tsizeMiddleware({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t}),\n\t\t\tflip({ fallbackStrategy: \"initialPlacement\" }),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst role = useRole(context, {\n\t\trole: \"menu\",\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tancestorScroll: triggerType === \"context\" || triggerType === \"virtual\",\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: triggerType === \"click\",\n\t})\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tactiveIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tdismiss,\n\t\tlistNavigation,\n\t\tclick,\n\t\trole,\n\t])\n\n\treturn (\n\t\t<FloatingTree>\n\t\t\t<MenuContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\topen,\n\t\t\t\t\tsetOpen,\n\t\t\t\t\trefs,\n\t\t\t\t\tcontext,\n\t\t\t\t\tfloatingStyles,\n\t\t\t\t\telementsRef,\n\t\t\t\t\tgetFloatingProps,\n\t\t\t\t\tgetItemProps,\n\t\t\t\t\tgetReferenceProps,\n\t\t\t\t\tnodeId,\n\t\t\t\t\tactiveIndex,\n\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\tmiddlewareData,\n\t\t\t\t\tside,\n\t\t\t\t\tmodal,\n\t\t\t\t\tsetTriggerType,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuContext.Provider>\n\t\t</FloatingTree>\n\t)\n}\nMenuRoot.displayName = \"Root\"\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, MutableRefObject, useContext } from \"react\"\n\nimport type { ComponentRadius } from \"../../Provider\"\nimport type { MenuSize, MenuVariant } from \"../typings\"\n\ninterface IMenuContentContext {\n\tactiveIndex: number | null\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tsetActiveIndex: (index: number | null) => void\n\trefs: UseFloatingData[\"refs\"]\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\t// style props\n\taccentColor: string\n\tradius: ComponentRadius\n\tsize: MenuSize\n\tvariant: MenuVariant\n}\n\nexport const MenuContentContext = createContext<IMenuContentContext>({} as IMenuContentContext)\n\nexport const useMenuContentContext = () => useContext(MenuContentContext)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, useMemo } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { useProvider } from \"../../Provider\"\nimport { menuContent, menuOverlay } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport type { MenuContentProps } from \"../typings\"\nimport { MenuContentContext } from \"./context\"\n\nexport const MenuContent = memo(\n\tforwardRef<HTMLDivElement, MenuContentProps>((props, forwardedRef) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tsize = \"md\",\n\t\t\tvariant = \"soft\",\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = \"base\",\n\t\t\t...rest\n\t\t} = props\n\t\tconst {\n\t\t\trefs,\n\t\t\tgetFloatingProps,\n\t\t\tmiddlewareData,\n\t\t\telementsRef,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\tgetItemProps,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tnodeId,\n\t\t\tcontext,\n\t\t\tfloatingStyles,\n\t\t\tmodal,\n\t\t\tside,\n\t\t} = useMenuContext()\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingOverlay className={menuOverlay({ modal })} lockScroll data-floating-content=\"\">\n\t\t\t\t\t\t\t<FloatingFocusManager context={context}>\n\t\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"border-box w-max outline-none\"\n\t\t\t\t\t\t\t\t\t\t\tref={refs.setFloating}\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t\t</FloatingOverlay>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide } from \"../typings\"\n\ninterface ISubContext {\n\t// we know exactly what type of element the SubTrigger will be, therefore type it as Element\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\tdisabled: boolean\n\tside: MenuSide\n\tcloseRoot: boolean\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n}\n\nexport const SubContext = createContext<ISubContext>({} as ISubContext)\n\nexport const useSubContext = () => useContext(SubContext)\n","import { MENU_CONTENT_PADDING } from \"./constants\"\nimport { MenuAlignment, MenuSide } from \"./typings\"\n\n// This function computes offsets specifically for submenus so that they are flush with the trigger item and\n// parent content\nexport const computeOffsets = (side: MenuSide, alignment: MenuAlignment) => {\n\tswitch (side) {\n\t\tcase \"right\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"left\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t}\n\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: 0 }\n}\n","import {\n\tautoUpdate,\n\tflip,\n\thide,\n\toffset,\n\tPlacement,\n\tsafePolygon,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseHover,\n\tuseInteractions,\n\tuseListNavigation,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuSubProps } from \"../typings\"\nimport { computeOffsets } from \"../utils\"\nimport { SubContext } from \"./context\"\n\nexport const MenuSub: FC<MenuSubProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tdisabled = false,\n\t\tside = \"right\",\n\t\talign = \"start\",\n\t\tcloseRoot = false,\n\t\tloop = false,\n\t\tmodal = false,\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>({\n\t\tinitialState: defaultOpen ?? false,\n\t\tstate: controlledOpen,\n\t\tsetState: onOpenChange,\n\t})\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context } = useFloating({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: (open, _event, reason) => {\n\t\t\t// unique bug where reason was undefined causing close on initial hover\n\t\t\tif (reason) setOpen(open)\n\t\t},\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\tmiddleware: [\n\t\t\toffset({ ...computeOffsets(side, align) }),\n\t\t\tsizeMiddleware({\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t}),\n\t\t\tflip(),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tbubbles: closeRoot,\n\t\toutsidePress: closeRoot,\n\t})\n\n\tconst hover = useHover(context, {\n\t\trestMs: 50,\n\t\thandleClose: safePolygon({\n\t\t\tblockPointerEvents: true,\n\t\t\trequireIntent: false,\n\t\t}),\n\t\tenabled: !disabled,\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: !disabled,\n\t})\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tnested: true,\n\t\tactiveIndex: activeIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t\trtl: side === \"left\",\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tlistNavigation,\n\t\tdismiss,\n\t\thover,\n\t\tclick,\n\t])\n\n\treturn (\n\t\t<SubContext.Provider\n\t\t\tvalue={{\n\t\t\t\topen,\n\t\t\t\tsetOpen,\n\t\t\t\tnodeId,\n\t\t\t\trefs,\n\t\t\t\tfloatingStyles,\n\t\t\t\tcontext,\n\t\t\t\telementsRef,\n\t\t\t\tactiveIndex,\n\t\t\t\tsetActiveIndex,\n\t\t\t\tgetFloatingProps,\n\t\t\t\tgetItemProps,\n\t\t\t\tgetReferenceProps,\n\t\t\t\tdisabled,\n\t\t\t\tside,\n\t\t\t\tcloseRoot,\n\t\t\t\tmodal,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</SubContext.Provider>\n\t)\n}\nMenuSub.displayName = \"SubMenu\"\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, KeyboardEventHandler, memo, MouseEventHandler, useCallback, useMemo } from \"react\"\n\nimport { radiusCva } from \"../../cva\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuItem } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuItemProps } from \"../typings\"\n\nconst TRIGGER_SELECT_KEYS = [\"Enter\", \" \"]\n\nexport const MenuItem = memo(\n\tforwardRef<HTMLDivElement, MenuItemProps>((props, forwardedRef) => {\n\t\tconst rootMenuContext = useMenuContext()\n\t\tconst { getItemProps, activeIndex, setOpen, size, variant, radius } = useMenuContentContext()\n\t\tconst { closeRoot } = useSubContext()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tonSelect,\n\t\t\tonClick,\n\t\t\tonKeyDown,\n\t\t\tcloseOnSelect = true,\n\n\t\t\tdisabled,\n\t\t\t...rest\n\t\t} = props\n\n\t\tconst { ref, index } = useListItem()\n\n\t\tconst mergeRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onClick) onClick(e)\n\t\t\t\tif (onSelect) onSelect()\n\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\tif (closeRoot) rootMenuContext.setOpen(false)\n\t\t\t},\n\t\t\t[closeOnSelect, closeRoot, disabled, rootMenuContext, onClick, onSelect, setOpen],\n\t\t)\n\n\t\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onKeyDown) onKeyDown(e)\n\t\t\t\tif (TRIGGER_SELECT_KEYS.includes(e.key)) {\n\t\t\t\t\tif (onSelect) onSelect()\n\t\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[closeOnSelect, disabled, onKeyDown, onSelect, setOpen],\n\t\t)\n\n\t\tconst isActive = useMemo(() => index === activeIndex, [activeIndex, index])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\" ? children({ active: isActive, selected: false }) : children\n\t\t}, [children, isActive])\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cx(className, menuItem({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={mergeRefs}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-highlighted={isActive ? \"\" : undefined}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\tonClick: handleClick,\n\t\t\t\t\tonKeyDown: handleKeyDown,\n\t\t\t\t\ttabIndex: isActive ? 0 : -1,\n\t\t\t\t\t...rest,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { forwardRef, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../../CheckedIndicator\"\nimport { MenuItem } from \"../Item\"\nimport { MenuCheckboxItemProps } from \"../typings\"\n\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>((props, ref) => {\n\tconst { checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (checked) {\n\t\t\tcase true:\n\t\t\t\tonCheckedChange(false)\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false:\n\t\t\t\tonCheckedChange(true)\n\t\t\t\tbreak\n\t\t}\n\t}, [checked, onCheckedChange, onSelect])\n\n\treturn (\n\t\t<CheckedIndicatorContext.Provider value={checked}>\n\t\t\t<MenuItem ref={ref} onSelect={handleSelect} {...rest} />\n\t\t</CheckedIndicatorContext.Provider>\n\t)\n})\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\"\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { CheckedIndicator } from \"../../CheckedIndicator\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { MenuCheckboxIndicatorProps } from \"../typings\"\n\nexport const MenuCheckboxItemIndicator = forwardRef<HTMLSpanElement, MenuCheckboxIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t<CheckedIndicator>{children}</CheckedIndicator>\n\t\t</span>\n\t)\n})\nMenuCheckboxItemIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuClickTriggerProps } from \"../typings\"\n\nexport const MenuClickTrigger = memo(\n\tforwardRef<HTMLElement, MenuClickTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled = false } = props\n\t\tconst { getReferenceProps, refs, setTriggerType } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs<HTMLElement>([refs.setReference, forwardedRef])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"click\")\n\t\t}, [setTriggerType])\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\t{...getReferenceProps({ disabled: disabled })}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { ClientRectObject, useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, MouseEventHandler, useCallback, useEffect, useRef } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuContextTriggerProps } from \"../typings\"\n\nexport const MenuContextTrigger = memo(\n\tforwardRef<HTMLElement, MenuContextTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled } = props\n\t\tconst ref = useRef<HTMLElement>(null)\n\t\tconst { setOpen, refs, setTriggerType } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, ref])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"context\")\n\t\t}, [setTriggerType])\n\n\t\tconst handleContextMenu = useCallback<MouseEventHandler>(\n\t\t\t(e) => {\n\t\t\t\tconst { clientY, clientX } = e\n\n\t\t\t\tif (!disabled && ref.current) {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\trefs.setPositionReference({\n\t\t\t\t\t\tgetBoundingClientRect(): ClientRectObject {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tx: clientX,\n\t\t\t\t\t\t\t\ty: clientY,\n\t\t\t\t\t\t\t\ttop: clientY,\n\t\t\t\t\t\t\t\tleft: clientX,\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\t\tbottom: clientY,\n\t\t\t\t\t\t\t\tright: clientX,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontextElement: ref.current,\n\t\t\t\t\t})\n\t\t\t\t\tsetOpen(true)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[disabled, refs, setOpen],\n\t\t)\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\tstyle={{ WebkitTouchCallout: disabled ? \"none\" : \"unset\" }}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\tonContextMenu={handleContextMenu}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo } from \"react\"\n\nimport type { MenuGroupProps } from \"../typings\"\n\nexport const MenuGroup = memo(\n\tforwardRef<HTMLDivElement, MenuGroupProps>((props, ref) => {\n\t\tconst { children, ...rest } = props\n\n\t\treturn (\n\t\t\t<div ref={ref} role=\"group\" {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { ChangeEventHandler, forwardRef, memo, useCallback, useEffect } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport type { MenuInputProps } from \"../typings\"\n\nexport const MenuInputField = memo(\n\tforwardRef<HTMLInputElement, MenuInputProps>((props, forwardedRef) => {\n\t\tconst { className, onValueChange, onChange, ...rest } = props\n\t\tconst { activeIndex, getItemProps } = useMenuContentContext()\n\t\tconst { index, ref } = useListItem()\n\n\t\tconst mergedRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (onChange) onChange(e)\n\t\t\t\tif (onValueChange) onValueChange(e.target.value)\n\t\t\t},\n\t\t\t[onChange, onValueChange],\n\t\t)\n\n\t\tuseEffect(() => {\n\t\t\treturn () => {\n\t\t\t\tif (onValueChange) onValueChange(\"\")\n\t\t\t}\n\t\t\t// REASON: Don't include onValueChange in a dependency array, if it is required in the future, it must be ensured that\n\t\t\t// users wrap there onFilterChange callback function in a useCallback otherwise typing will trigger many re-renders\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [])\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={cx(className, \"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"outline-none\")}\n\t\t\t\tref={mergedRefs}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\t...rest,\n\t\t\t\t\ttabIndex: index === activeIndex ? 0 : -1,\n\t\t\t\t\tonChange: handleChange,\n\t\t\t\t})}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { inputRoot } from \"../cva\"\nimport type { MenuInputRootProps } from \"../typings\"\n\nexport const MenuInputRoot = memo(\n\tforwardRef<HTMLDivElement, MenuInputRootProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <div className={cx(className, inputRoot({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport type { MenuInputSlotProps } from \"../typings\"\n\nexport const MenuInputSlot = memo(\n\tforwardRef<HTMLDivElement, MenuInputSlotProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\treturn <div className={cx(className, \"flex\", \"items-center\", \"text-(--base-a11)\")} ref={ref} {...rest} />\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\nimport { MultiSelectContext, SingleSelectContext } from \"./typings\"\n\nexport type ISelectContext = SingleSelectContext | MultiSelectContext\n\nexport const SelectContext = createContext<ISelectContext>({} as ISelectContext)\n\nexport function useSelectContext<Type = SingleSelectContext | MultiSelectContext>() {\n\treturn useContext(SelectContext) as Type\n}\n","import { memo, PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { SelectContext } from \"./context\"\n\ntype SelectContextProviderProps = PropsWithChildren &\n\t(\n\t\t| {\n\t\t\t\ttype: \"single\"\n\t\t\t\tdefaultValue?: string | null\n\t\t\t\tvalue?: string | null\n\t\t\t\tonValueChange?: (value: string | null) => void\n\t\t }\n\t\t| {\n\t\t\t\ttype: \"multi\"\n\t\t\t\tdefaultValues?: string[]\n\t\t\t\tvalues?: string[]\n\t\t\t\tonValuesChange?: (values: string[]) => void\n\t\t }\n\t)\nexport const SelectContextProvider = memo((props: SelectContextProviderProps) => {\n\tconst { type, children } = props\n\n\tconst [controlledValue, setControlledValue] = useState<string | null>(\n\t\ttype === \"single\" ? (props?.defaultValue ?? null) : null,\n\t)\n\tconst [controlledValues, setControlledValues] = useState<string[]>(\n\t\ttype === \"multi\" ? (props?.defaultValues ?? []) : [],\n\t)\n\n\tconst onValuesChange = useCallback(\n\t\t(values: string[]) => {\n\t\t\tsetControlledValues(values)\n\t\t\tif (type === \"multi\" && props?.onValuesChange) props.onValuesChange(values)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst onValueChange = useCallback(\n\t\t(value: string | null) => {\n\t\t\tsetControlledValue(value)\n\t\t\tif (type === \"single\" && props?.onValueChange) props.onValueChange(value)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst value = useMemo(\n\t\t() =>\n\t\t\ttype === \"multi\"\n\t\t\t\t? {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalues: props?.values ?? controlledValues,\n\t\t\t\t\t\thandleValuesChange: onValuesChange,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalue: props.value ?? controlledValue,\n\t\t\t\t\t\thandleValueChange: onValueChange,\n\t\t\t\t\t},\n\t\t[controlledValue, controlledValues, onValueChange, onValuesChange, props, type],\n\t)\n\n\treturn <SelectContext.Provider value={value}>{children}</SelectContext.Provider>\n})\nSelectContextProvider.displayName = \"SelectContextProvider\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuMultiSelectGroupProps } from \"../typings\"\n\nexport const MenuMultiSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuMultiSelectGroupProps>((props, ref) => {\n\t\tconst { children, values, onValuesChange, ...rest } = props\n\n\t\treturn (\n\t\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t\t<SelectContextProvider type=\"multi\" values={values} onValuesChange={onValuesChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectContextProvider>\n\t\t\t</MenuGroup>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface ISelectedIndicatorContext {\n\tselected: boolean\n}\n\nexport const SelectedIndicatorContext = createContext<ISelectedIndicatorContext>({} as ISelectedIndicatorContext)\n\nexport const useSelectedIndicatorContext = () => useContext(SelectedIndicatorContext)\n","import { forwardRef, PropsWithChildren } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport { useSelectedIndicatorContext } from \"./context\"\n\nexport const MenuSelectedIndicator = forwardRef<HTMLDivElement, PropsWithChildren>((props, ref) => {\n\tconst { children } = props\n\tconst { selected } = useSelectedIndicatorContext()\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<div ref={ref} className={menuSelectedIndicator({ size })}>\n\t\t\t{selected ? children : null}\n\t\t</div>\n\t)\n})\nMenuSelectedIndicator.displayName = \"SelectedIndicator\"\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuMultiSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { onSelect, children, closeOnSelect = false, value, ...rest } = props\n\n\t\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\t\tconst selected = useMemo(() => values.includes(value), [value, values])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tif (!selected) {\n\t\t\t\thandleValuesChange([...values, value])\n\t\t\t} else {\n\t\t\t\thandleValuesChange(values.filter((currentValue) => currentValue !== value))\n\t\t\t}\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValuesChange, onSelect, selected, value, values])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface IPagesContext {\n\tactivePage: string\n\tsetActivePage: (page: string) => void\n}\n\nexport const PagesContext = createContext<IPagesContext>({} as IPagesContext)\n\nexport const usePagesContext = () => useContext(PagesContext)\n","import { FC } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport type { PageProps } from \"../typings\"\nimport { PagesContext } from \"./context\"\n\nexport const MenuPages: FC<PageProps> = (props) => {\n\tconst { children, defaultPage, page, onPageChange } = props\n\n\tconst [activePage, setActivePage] = useControlledState<string>({\n\t\tstate: page,\n\t\tinitialState: defaultPage ?? \"\",\n\t\tsetState: onPageChange,\n\t})\n\n\treturn <PagesContext.Provider value={{ activePage, setActivePage }}>{children}</PagesContext.Provider>\n}\n","import { FC } from \"react\"\n\nimport { usePagesContext } from \"../Pages\"\nimport type { PageContentProps } from \"../typings\"\n\nexport const MenuPageContent: FC<PageContentProps> = (props) => {\n\tconst { page, children } = props\n\tconst { activePage } = usePagesContext()\n\n\treturn activePage === page ? children : null\n}\nMenuPageContent.displayName = \"PageContent\"\n","import { forwardRef, memo, useCallback } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { MenuItem } from \"../Item\"\nimport { usePagesContext } from \"../Pages\"\nimport type { PageTriggerProps } from \"../typings\"\n\nexport const MenuPageTrigger = memo(\n\tforwardRef<HTMLDivElement, PageTriggerProps>((props, ref) => {\n\t\tconst { onSelect, page, ...rest } = props\n\t\tconst { refs, setActiveIndex } = useMenuContentContext()\n\t\tconst { setActivePage } = usePagesContext()\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tsetActivePage(page)\n\t\t\trefs.floating.current?.focus()\n\t\t\tsetActiveIndex(null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [onSelect, page, refs.floating, setActiveIndex, setActivePage])\n\n\t\treturn <MenuItem ref={ref} onSelect={handleSelect} closeOnSelect={false} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport type { MenuScrollProps } from \"../typings\"\n\nexport const MenuScroll = forwardRef<HTMLDivElement, MenuScrollProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\t\"h-full overflow-x-hidden overflow-y-auto [scrollbar-color:var(--base-6)_transparent] [scrollbar-width:thin]\",\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nMenuScroll.displayName = \"MenuScroll\"\n","import { createContext } from \"react\"\n\ninterface ISelectAllContext {\n\tselected: boolean | \"indeterminate\"\n}\n\nexport const SelectAllContext = createContext({} as ISelectAllContext)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext, useMemo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { SelectAllIndicatorProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllIndicator = forwardRef<HTMLSpanElement, SelectAllIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\tconst { selected } = useContext(SelectAllContext)\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(selected === \"indeterminate\") : children\n\t}, [children, selected])\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t{selected ? computedChildren : null}\n\t\t</span>\n\t)\n})\nMenuSelectAllIndicator.displayName = \"SelectAllIndicator\"\n","import { forwardRef, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport type { SelectAllItemProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllItem = forwardRef<HTMLDivElement, SelectAllItemProps>((props, ref) => {\n\tconst { children, allValues, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\tconst selected = useMemo(() => {\n\t\tconst selectValuesSet = new Set(values)\n\n\t\tif (allValues.every((value) => selectValuesSet.has(value))) return true\n\t\tif (values.length > 0) return \"indeterminate\"\n\t\treturn false\n\t}, [allValues, values])\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (selected) {\n\t\t\tcase true:\n\t\t\t\thandleValuesChange([])\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false: {\n\t\t\t\thandleValuesChange(allValues)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [allValues, handleValuesChange, onSelect, selected])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t: children\n\t}, [children, selected])\n\n\treturn (\n\t\t<SelectAllContext.Provider value={{ selected }}>\n\t\t\t<MenuItem onSelect={handleSelect} ref={ref} data-state={selected} closeOnSelect={closeOnSelect} {...rest}>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectAllContext.Provider>\n\t)\n})\nMenuSelectAllItem.displayName = \"SelectAllItem\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuSelectGroupProps } from \"../typings\"\n\nexport const MenuSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuSelectGroupProps>((props, ref) => {\n\t\tconst { children, value, onValueChange } = props\n\t\treturn (\n\t\t\t<SelectContextProvider type=\"single\" value={value} onValueChange={onValueChange}>\n\t\t\t\t<MenuGroup ref={ref}>{children}</MenuGroup>\n\t\t\t</SelectContextProvider>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { SingleSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport type { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { value, onSelect, children, closeOnSelect = false, ...rest } = props\n\t\tconst { value: currentValue, handleValueChange } = useSelectContext<SingleSelectContext>()\n\n\t\tconst selected = useMemo(() => value === currentValue, [currentValue, value])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\thandleValueChange(!selected ? value : null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValueChange, onSelect, selected, value])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSeparator } from \"../cva\"\nimport type { MenuSeparatorProps } from \"../typings\"\n\nexport const MenuSeparator = memo(\n\tforwardRef<HTMLDivElement, MenuSeparatorProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <RadixSeparator.Root className={cx(className, menuSeparator({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingPortal, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, useMemo, useRef } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { MenuContentContext, useMenuContentContext } from \"../Content/context\"\nimport { menuContent } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { SubMenuContentProps } from \"../typings\"\n\nexport const MenuSubContent = memo(\n\tforwardRef<HTMLDivElement, SubMenuContentProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { middlewareData } = useMenuContext()\n\t\tconst { accentColor, radius, variant, size } = useMenuContentContext()\n\t\tconst {\n\t\t\topen,\n\t\t\tnodeId,\n\t\t\trefs,\n\t\t\tcontext,\n\t\t\tgetFloatingProps,\n\t\t\tgetItemProps,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\telementsRef,\n\t\t\tfloatingStyles,\n\t\t\tsetOpen,\n\t\t\tside,\n\t\t} = useSubContext()\n\n\t\tconst wrapperRef = useRef<HTMLDivElement>(null)\n\n\t\tconst mergeRefs = useMergeRefs([refs.setFloating, wrapperRef])\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingFocusManager context={context} initialFocus={wrapperRef}>\n\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"outline-none\"\n\t\t\t\t\t\t\t\t\t\tref={mergeRefs}\n\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\"overmap-menu-sub-content\",\n\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { forwardRef, memo } from \"react\"\n\nimport { MenuItem } from \"../Item\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuSubTriggerProps } from \"../typings\"\n\nexport const MenuSubTrigger = memo(\n\tforwardRef<HTMLDivElement, MenuSubTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { refs, getReferenceProps, open, disabled } = useSubContext()\n\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, refs.setReference])\n\n\t\treturn (\n\t\t\t<MenuItem\n\t\t\t\tref={mergedRefs}\n\t\t\t\tcloseOnSelect={false}\n\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\tdata-open={open}\n\t\t\t\tdisabled={disabled}\n\t\t\t\t{...getReferenceProps(rest)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuItem>\n\t\t)\n\t}),\n)\n","import { memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuVirtualTriggerProps } from \"../typings\"\n\nexport const MenuVirtualTrigger = memo((props: MenuVirtualTriggerProps) => {\n\tconst { virtualElement, disabled } = props\n\tconst { refs, setTriggerType, setOpen } = useMenuContext()\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"virtual\")\n\t}, [setTriggerType])\n\n\tuseEffect(() => {\n\t\tif (!disabled && virtualElement) {\n\t\t\trefs.setPositionReference(virtualElement)\n\t\t\tsetOpen(true)\n\t\t} else {\n\t\t\trefs.setPositionReference(null)\n\t\t\tsetOpen(false)\n\t\t}\n\t}, [disabled, refs, setOpen, virtualElement])\n\n\treturn null\n})\nMenuVirtualTrigger.displayName = \"VirtualTrigger\"\n","import { MenuCheckboxItem } from \"./CheckboxItem/CheckboxItem\"\nimport { MenuCheckboxItemIndicator } from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nimport { MenuClickTrigger } from \"./ClickTrigger\"\nimport { MenuContent } from \"./Content\"\nimport { MenuContextTrigger } from \"./ContextTrigger\"\nimport { MenuGroup } from \"./Group\"\nimport { MenuInputField, MenuInputRoot, MenuInputSlot } from \"./Input\"\nimport { MenuItem } from \"./Item\"\nimport { MenuMultiSelectGroup } from \"./MultiSelectGroup\"\nimport { MenuMultiSelectItem } from \"./MultiSelectItem\"\nimport { MenuPageContent } from \"./PageContent\"\nimport { MenuPages } from \"./Pages\"\nimport { MenuPageTrigger } from \"./PageTrigger\"\nimport { MenuRoot } from \"./root\"\nimport { MenuScroll } from \"./Scroll/Scroll\"\nimport { MenuSelectAllIndicator, MenuSelectAllItem } from \"./SelectAll\"\nimport { MenuSelectedIndicator } from \"./SelectedIndicator\"\nimport { MenuSelectGroup } from \"./SelectGroup\"\nimport { MenuSelectItem } from \"./SelectItem\"\nimport { MenuSeparator } from \"./Separator\"\nimport { MenuSub } from \"./Sub\"\nimport { MenuSubContent } from \"./SubContent\"\nimport { MenuSubTrigger } from \"./SubTrigger\"\nimport { MenuVirtualTrigger } from \"./VirtualTrigger\"\n\nexport * from \"./CheckboxItem/CheckboxItem\"\nexport * from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nexport * from \"./ClickTrigger\"\nexport * from \"./Content\"\nexport * from \"./ContextTrigger\"\nexport * from \"./Group\"\nexport * from \"./Input\"\nexport * from \"./Item\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./PageContent\"\nexport * from \"./Pages\"\nexport * from \"./PageTrigger\"\nexport * from \"./root\"\nexport * from \"./Scroll/Scroll\"\nexport * from \"./SelectAll\"\nexport * from \"./SelectedIndicator\"\nexport * from \"./SelectGroup\"\nexport * from \"./SelectItem\"\nexport * from \"./Separator\"\nexport * from \"./Sub\"\nexport * from \"./SubContent\"\nexport * from \"./SubTrigger\"\nexport * from \"./typings\"\nexport * from \"./VirtualTrigger\"\n\nexport const Menu = {\n\tRoot: MenuRoot,\n\tContent: MenuContent,\n\n\t// sub\n\tSub: MenuSub,\n\tSubContent: MenuSubContent,\n\tSubTrigger: MenuSubTrigger,\n\n\t// pages\n\tPages: MenuPages,\n\tPageContent: MenuPageContent,\n\tPageTrigger: MenuPageTrigger,\n\n\t// triggers\n\tClickTrigger: MenuClickTrigger,\n\tContextTrigger: MenuContextTrigger,\n\tVirtualTrigger: MenuVirtualTrigger,\n\n\t// groups\n\tGroup: MenuGroup,\n\tSelectGroup: MenuSelectGroup,\n\tMultiSelectGroup: MenuMultiSelectGroup,\n\n\t// items\n\tItem: MenuItem,\n\tSelectItem: MenuSelectItem,\n\tMultiSelectItem: MenuMultiSelectItem,\n\tSelectAllItem: MenuSelectAllItem,\n\tCheckboxItem: MenuCheckboxItem,\n\n\t// indicators\n\tSelectAllIndicator: MenuSelectAllIndicator,\n\tSelectedIndicator: MenuSelectedIndicator,\n\tCheckboxItemIndicator: MenuCheckboxItemIndicator,\n\n\t// input\n\tInputRoot: MenuInputRoot,\n\tInputField: MenuInputField,\n\tInputSlot: MenuInputSlot,\n\n\t// other\n\tSeparator: MenuSeparator,\n\tScroll: MenuScroll,\n}\n","import { ComponentProps, forwardRef, memo } from \"react\"\nimport { IconBaseProps, IconType } from \"react-icons\"\nimport * as RiIcons from \"react-icons/ri\"\nimport { RiQuestionMark } from \"react-icons/ri\"\n\ninterface RiIconProps extends ComponentProps<\"svg\">, Pick<IconBaseProps, \"size\" | \"title\" | \"color\"> {\n\ticon: string\n}\n\n// NOTE: this should be moved to /web once any tsx have been removed from /core\n\nexport const RiIcon = memo(\n\tforwardRef<SVGSVGElement, RiIconProps>((props, ref) => {\n\t\tconst { icon, size, title, color, ...rest } = props\n\t\tconst Icon = (RiIcons as Record<string, IconType>)[icon]\n\n\t\t// eslint-disable-next-line no-console\n\t\tif (!Icon) console.error(`Icon ${icon} not found`)\n\n\t\treturn Icon ? (\n\t\t\t<Icon ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t) : (\n\t\t\t<RiQuestionMark ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t)\n\t}),\n)\nRiIcon.displayName = \"RiIcon\"\n","import React, { memo, useCallback } from \"react\"\nimport { ErrorBoundary, useErrorBoundary } from \"react-error-boundary\"\n\nimport { IconButton } from \"../Buttons\"\nimport { RiIcon } from \"../RiIcon\"\n\ninterface ErrorBoundaryProps extends React.PropsWithChildren {\n\tabsoluteCentering?: boolean\n\tmessage?: string\n}\n\ninterface ErrorFallbackProps extends ErrorBoundaryProps {\n\tonRetry: () => void\n}\n\nconst centerStyles = { placeSelf: \"center\" }\n\nconst ErrorFallback = memo((props: ErrorFallbackProps) => {\n\tconst { absoluteCentering, message = \"Something went wrong\", onRetry } = props\n\tconst { resetBoundary } = useErrorBoundary()\n\tconst height = \"20px\"\n\tconst outerFlexStyles = absoluteCentering\n\t\t? ({ position: \"absolute\", top: \"50%\", transform: \"translateY(-50%)\" } as const)\n\t\t: undefined\n\n\tconst handleRetry = useCallback(() => {\n\t\tresetBoundary()\n\t\tonRetry()\n\t}, [onRetry, resetBoundary])\n\n\treturn (\n\t\t<div className=\"flex w-full gap-2\" style={outerFlexStyles}>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t\t<RiIcon icon=\"RiAlertLine\" size={height} style={centerStyles} />\n\t\t\t<span style={{ lineHeight: height, ...centerStyles }}>{message}</span>\n\t\t\t<IconButton aria-label=\"Try again\" variant=\"soft\" onClick={handleRetry} style={centerStyles}>\n\t\t\t\t<RiIcon icon=\"RiLoopLeftLine\" size={height} />\n\t\t\t</IconButton>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t</div>\n\t)\n})\n\nErrorFallback.displayName = \"ErrorFallback\"\n\nexport const OvermapErrorBoundary = memo((props: ErrorBoundaryProps) => {\n\tconst { absoluteCentering, message } = props\n\tconst [attempt, setAttempt] = React.useState(0)\n\n\tconst logError = useCallback((error: Error, info: { componentStack: string }) => {\n\t\t// TODO: Log error to Sentry\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(error, info)\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\tconst handleRetry = useCallback(() => {\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\treturn (\n\t\t<ErrorBoundary\n\t\t\tkey={attempt}\n\t\t\tfallback={<ErrorFallback absoluteCentering={absoluteCentering} message={message} onRetry={handleRetry} />}\n\t\t\tonError={logError}\n\t\t>\n\t\t\t{props.children}\n\t\t</ErrorBoundary>\n\t)\n})\n\nOvermapErrorBoundary.displayName = \"OvermapErrorBoundary\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface PopoverArrowProps extends RadixPopover.PopoverArrowProps {}\n\nexport const PopoverArrow = forwardRef<SVGSVGElement, PopoverArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixPopover.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nPopoverArrow.displayName = \"PopoverArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const popoverContent = cva([\"bg-(--base-1)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { popoverContent } from \"./cva\"\nimport type { PopoverVariantProps } from \"./typings\"\n\nexport interface PopoverContentProps extends RadixPopover.PopoverContentProps, PopoverVariantProps {\n\tcontainer?: RadixPopover.PopoverPortalProps[\"container\"]\n}\n\nexport const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsize = \"md\",\n\t\tsideOffset = 5,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixPopover.Portal container={container}>\n\t\t\t<RadixPopover.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tpopoverContent({ size }),\n\t\t\t\t\tfloating({ shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixPopover.Portal>\n\t)\n})\nPopoverContent.displayName = \"PopoverContent\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\n\nimport { PopoverArrow } from \"./Arrow\"\nimport { PopoverContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Popover = {\n\t...RadixPopover,\n\tContent: PopoverContent,\n\tArrow: PopoverArrow,\n}\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface RadioGroupIndicatorProps extends RadixRadioGroup.RadioGroupIndicatorProps {}\n\nexport const RadioGroupIndicator = forwardRef<HTMLSpanElement, RadioGroupIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Indicator className={cx(className, \"flex items-center justify-center\")} ref={ref} {...rest} />\n\t)\n})\nRadioGroupIndicator.displayName = \"RadioGroupIndicator\"\n","import { createContext } from \"react\"\n\nimport type { RadioGroupSize, RadioGroupVariant } from \"./typings\"\n\nexport interface IRadioGroupContext {\n\tsize: RadioGroupSize\n\tvariant: RadioGroupVariant\n}\n\nexport const RadioGroupContext = createContext<IRadioGroupContext>({} as IRadioGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const radioGroupItem = cva(\n\t[\n\t\t\"rounded-full\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"data-[state='checked']:transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a6)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"w-4\", \"h-4\", \"text-[0.625rem]\"],\n\t\t\t\tsm: [\"w-5\", \"h-5\", \"text-xs\"],\n\t\t\t\tmd: [\"w-6\", \"h-6\", \"text-sm\"],\n\t\t\t\tlg: [\"w-7\", \"h-7\", \"text-md\"],\n\t\t\t\txl: [\"w-8\", \"h-8\", \"text-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { RadioGroupContext } from \"./context\"\nimport { radioGroupItem } from \"./cva\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupItemProps extends RadioGroupVariantProps, RadixRadioGroup.RadioGroupItemProps {}\n\nexport const RadioGroupItem = memo(\n\tforwardRef<HTMLButtonElement, RadioGroupItemProps>((props, ref) => {\n\t\tconst radioGroupContext = useContext(RadioGroupContext)\n\t\tconst { className, size = radioGroupContext.size, variant = radioGroupContext.variant, ...rest } = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Item\n\t\t\t\tclassName={cx(className, radioGroupItem({ size, variant }), \"flex\", \"justify-center\", \"items-center\")}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioGroupContext } from \"./context\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupRootProps extends RadixRadioGroup.RadioGroupProps, RadioGroupVariantProps {}\n\nexport const RadioGroupRoot = memo(\n\tforwardRef<HTMLDivElement, RadioGroupRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\tvariant = \"surface\",\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Root className={cx(className)} ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t\t<RadioGroupContext.Provider value={{ variant, size }}>{children}</RadioGroupContext.Provider>\n\t\t\t</RadixRadioGroup.Root>\n\t\t)\n\t}),\n)\n","import { RadioGroupIndicator } from \"./Indicator\"\nimport { RadioGroupItem } from \"./Item\"\nimport { RadioGroupRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const RadioGroup = {\n\tIndicator: RadioGroupIndicator,\n\tItem: RadioGroupItem,\n\tRoot: RadioGroupRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const segmentedControlRootCva = cva([\"shrink-0\", \"transition-colors\", \"flex\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const segmentedControlItemCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-colors\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-0.25\"],\n\t\t\t\tsm: [\"gap-0.5\"],\n\t\t\t\tmd: [\"gap-1\"],\n\t\t\t\tlg: [\"gap-1.5\"],\n\t\t\t\txl: [\"gap-2\"],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t},\n\t},\n)\n","import { createContext } from \"react\"\n\nimport { ComponentRadius } from \"../Provider\"\nimport type { SegmentedControlSize, SegmentedControlVariant } from \"./typings\"\n\ninterface ISegmentedControlContext {\n\tsize: SegmentedControlSize\n\tvariant: SegmentedControlVariant\n\tradius: ComponentRadius\n\ticon: boolean\n}\n\nexport const SegmentedControlContext = createContext({} as ISegmentedControlContext)\n","import { useContext } from \"react\"\n\nimport { SegmentedControlContext } from \"./context\"\n\nexport const useSegmentedControl = () => {\n\tconst segmentedControlContext = useContext(SegmentedControlContext)\n\n\tif (!segmentedControlContext) {\n\t\tthrow new Error(\"useSegmentedControl must be used within a SegmentedControlProvider\")\n\t}\n\n\treturn segmentedControlContext\n}\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { segmentedControlItemCva } from \"./cva\"\nimport { useSegmentedControl } from \"./hooks\"\n\nexport interface SegmentedControlItemProps extends RadixToggleGroup.ToggleGroupItemProps {}\n\nexport const SegmentedControlItem = forwardRef<HTMLButtonElement, SegmentedControlItemProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, radius, variant, icon } = useSegmentedControl()\n\n\treturn (\n\t\t<RadixToggleGroup.Item\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlItemCva({ size, variant, icon }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSegmentedControlItem.displayName = \"SegmentedControlItem\"\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SegmentedControlContext } from \"./context\"\nimport { segmentedControlRootCva } from \"./cva\"\nimport type { SegmentedControlVariantProps } from \"./typings\"\n\nexport interface SegmentedControlRootProps\n\textends Omit<RadixToggleGroup.ToggleGroupSingleProps, \"type\">,\n\t\tSegmentedControlVariantProps {}\n\nexport const SegmentedControlRoot = forwardRef<HTMLDivElement, SegmentedControlRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\ticon = false,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixToggleGroup.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\ttype=\"single\"\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SegmentedControlContext.Provider value={{ size, variant, radius, icon }}>\n\t\t\t\t{children}\n\t\t\t</SegmentedControlContext.Provider>\n\t\t</RadixToggleGroup.Root>\n\t)\n})\nSegmentedControlRoot.displayName = \"SegmentedControlRoot\"\n","import { SegmentedControlItem } from \"./Item\"\nimport { SegmentedControlRoot } from \"./Root\"\n\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const SegmentedControl = {\n\tItem: SegmentedControlItem,\n\tRoot: SegmentedControlRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const separator = cva([\"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [],\n\t\t\tsm: [],\n\t\t\tmd: [],\n\t\t\tlg: [],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t\torientation: {\n\t\t\thorizontal: [\"h-px\"],\n\t\t\tvertical: [\"w-px\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"bg-(--accent-a6)\"],\n\t\t\tmedium: [\"bg-(--accent-a7)\"],\n\t\t\theavy: [\"bg-(--accent-a8)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-full\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-full\"],\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\torientation: \"horizontal\",\n\t\tweight: \"medium\",\n\t},\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { separator } from \"./cva\"\nimport type { SeparatorVariantProps } from \"./typings\"\n\ninterface SeparatorProps extends RadixSeparator.SeparatorProps, SeparatorVariantProps {}\n\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>((props, ref) => {\n\tconst { className, accentColor = \"base\", orientation, size, weight, ...rest } = props\n\n\treturn (\n\t\t<RadixSeparator.Root\n\t\t\tclassName={cx(className, separator({ orientation, size, weight }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSeparator.displayName = \"Separator\"\n","import { DismissableLayer } from \"@radix-ui/react-dismissable-layer\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cx } from \"class-variance-authority\"\nimport { NumberSize, Resizable, ResizeDirection } from \"re-resizable\"\nimport { CSSProperties, forwardRef, memo, PropsWithChildren, useCallback, useEffect, useMemo, useState } from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\nimport { PropsWithClassNameAndStyle } from \"../typings\"\n\n// TODO: Remove this component, it is not currently required and is a worse version of the SlideOut present in the Layout API\n\nexport interface SlideOutV2Props extends PropsWithChildren, PropsWithClassNameAndStyle {\n\t/** The controlled open state of the SlideOut */\n\topen: boolean\n\t/** prop used to specify if the SlideOut is in modal mode or not. 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/** The side the SlideOut should position on and \"slide-in\" from */\n\tside: \"left\" | \"right\"\n\t/** prop to control if the SlideOut can be resized by the user\n\t * @default true\n\t * */\n\tresizeable?: boolean\n\t/** prop used to control the positioning of the SlideOut. When absolute, the SlideOut will overlay other\n\t * content within its parent container. 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/** prop used to specify the initialWidth of the SlideOut, can be expressed in any valid CSS size unit */\n\tinitialWidth: number | string\n\t/** prop used to specify the minimum width of the SlideOut can be expressed in any valid CSS size unit */\n\tminWidth?: number | string\n\t/** prop used to specify 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}\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.\n * @deprecated */\nexport const SlideOutV2 = memo(\n\tforwardRef<HTMLDivElement, SlideOutV2Props>((props, ref) => {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tstyle,\n\t\t\tchildren,\n\t\t\topen,\n\t\t\tmodal = false,\n\t\t\tresizeable = true,\n\t\t\tside,\n\t\t\tposition = \"relative\",\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonDismiss,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t} = props\n\t\tconst isLeft = side === \"left\"\n\n\t\tconst [slideOutWidth, setSlideOutWidth] = useState<number | string>(initialWidth)\n\n\t\tconst handleResize = useCallback(\n\t\t\t(_event: MouseEvent | TouchEvent, _dir: ResizeDirection, ref: HTMLElement, _delta: NumberSize) => {\n\t\t\t\tsetSlideOutWidth(ref.clientWidth)\n\t\t\t},\n\t\t\t[],\n\t\t)\n\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\t// Only allow the onDismiss behavior to work when in modal mode\n\t\t\tif (modal && onDismiss) {\n\t\t\t\tonDismiss()\n\t\t\t}\n\t\t}, [modal, onDismiss])\n\n\t\t/** Want to reset the current width of the SlideOut when initial width changes. This allows for the width to\n\t\t * be changed depending on the viewport size, for example. */\n\t\tuseEffect(() => {\n\t\t\tsetSlideOutWidth(initialWidth)\n\t\t}, [initialWidth])\n\n\t\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\t\tconst CSSTransitionClassNames = useMemo(\n\t\t\t() => ({\n\t\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t\tenterActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\t\texitActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t}),\n\t\t\t[isLeft],\n\t\t)\n\n\t\treturn (\n\t\t\t/** The DismissableLayer Component is strictly a functionality-based component for emulating an overlay. Its main use is for\n\t\t\t * detecting interactions OUTSIDE whatever content is placed within it, allowing the developer to decide what to do with that\n\t\t\t * content when it is 'dismissed' (i.e closed, to be hidden, etc.).\n\t\t\t *\n\t\t\t * There are three main events that trigger this 'dismissal' behavior\n\t\t\t * 1) Focus is given to an element outside the content rendered within the DismissableLayer component\n\t\t\t * 2) PointerEvent occurs on an element outside the content rendered within the DismissableLayer component\n\t\t\t * 3) Escape key is pressed\n\t\t\t *\n\t\t\t * The 'disableOutsidePointerEvents' prop is used for disabling focus and PointerEvents on outside elements.\n\t\t\t * The dismissal behavior will still eb trigger, it just won't allow any elements to be interacted with until\n\t\t\t * the DismissableLayer is removed from the DOM, or 'disableOutsidePointerEvents' is set to false\n\t\t\t *\n\t\t\t * In this use case, Overmap's SlideOut will have two specific behaviors\n\t\t\t * 1) Modal mode - the SlideOut has modal-like behavior where it will dismiss PointerEvents and Focus of\n\t\t\t * \t\toutside elements\n\t\t\t * 2) Non-modal mode - the SlideOut behaves like a side panel the co-exists with content outside of it\n\t\t\t * \t\t*/\n\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>\n\t\t\t\t<DismissableLayer\n\t\t\t\t\tkey={modal ? \"1\" : \"0\"}\n\t\t\t\t\tdisableOutsidePointerEvents={modal}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\tonInteractOutside={handleDismiss}\n\t\t\t\t\tonEscapeKeyDown={handleDismiss}\n\t\t\t\t\tasChild\n\t\t\t\t>\n\t\t\t\t\t<Slot\n\t\t\t\t\t\tclassName={cx(className, \"top-0\", \"bottom-0\", {\n\t\t\t\t\t\t\t\"left-0\": isLeft,\n\t\t\t\t\t\t\t\"right-0\": !isLeft,\n\t\t\t\t\t\t\tabsolute: position === \"absolute\",\n\t\t\t\t\t\t\trelative: position === \"relative\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Resizable\n\t\t\t\t\t\t\tonResize={handleResize}\n\t\t\t\t\t\t\tsize={{ width: slideOutWidth, height: \"100%\" }}\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tposition,\n\t\t\t\t\t\t\t\t\t\"--slide-out-width\": `${slideOutWidth}${\n\t\t\t\t\t\t\t\t\t\ttypeof slideOutWidth === \"number\" ? \"px\" : \"\"\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t} as CSSProperties\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tminWidth={minWidth}\n\t\t\t\t\t\t\tmaxWidth={maxWidth}\n\t\t\t\t\t\t\tenable={{ left: resizeable && !isLeft, right: resizeable && isLeft }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Resizable>\n\t\t\t\t\t</Slot>\n\t\t\t\t</DismissableLayer>\n\t\t\t</CSSTransition>\n\t\t)\n\t}),\n)\n","import { memo } from \"react\"\n\nexport const Spinner = memo(() => {\n\treturn <div className=\"size-5 animate-spin rounded-full border-2 border-(--base-a12) border-b-transparent\" />\n})\n\nSpinner.displayName = \"Spinner\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { SwitchSize } from \"./typings\"\n\ninterface ISwitchContext {\n\tsize: SwitchSize\n\tradius: ComponentRadius\n}\n\nexport const SwitchContext = createContext({} as ISwitchContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const switchRoot = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// ring\n\t\t\"inset-ring\",\n\t\t\"inset-ring-(--base-a4)\",\n\t\t\"data-[state=checked]:inset-ring-(--accent-track)\",\n\n\t\t// bg\n\t\t\"bg-(--base-4)\",\n\t\t\"data-[state=checked]:bg-(--accent-track)\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"w-10\"],\n\t\t\t\tsm: [\"h-6\", \"w-12\"],\n\t\t\t\tmd: [\"h-7\", \"w-14\"],\n\t\t\t\tlg: [\"h-8\", \"w-16\"],\n\t\t\t\txl: [\"h-9\", \"w-[4.5rem]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const switchThumb = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"transition-transform\",\n\t\t\"data-[state='unchecked']:translate-x-[1px]\",\n\t\t\"data-[state='checked']:translate-x-[calc(100%+1px)]\",\n\t\t\"bg-(--base-contrast)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-[calc(calc(var(--spacing)*5)-1px)]\"],\n\t\t\t\tsm: [\"size-[calc(calc(var(--spacing)*6)-1px)]\"],\n\t\t\t\tmd: [\"size-[calc(calc(var(--spacing)*7)-1px)]\"],\n\t\t\t\tlg: [\"size-[calc(calc(var(--spacing)*8)-1px)]\"],\n\t\t\t\txl: [\"size-[calc(calc(var(--spacing)*9)-1px)]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SwitchContext } from \"./context\"\nimport { switchRoot } from \"./cva\"\nimport type { SwitchVariantProps } from \"./typings\"\n\nexport interface SwitchRootProps extends RadixSwitch.SwitchProps, SwitchVariantProps {}\n\nexport const SwitchRoot = memo(\n\tforwardRef<HTMLButtonElement, SwitchRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixSwitch.Root\n\t\t\t\tclassName={cx(className, switchRoot({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<SwitchContext.Provider value={{ size, radius }}>{children}</SwitchContext.Provider>\n\t\t\t</RadixSwitch.Root>\n\t\t)\n\t}),\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { SwitchContext } from \"./context\"\nimport { switchThumb } from \"./cva\"\n\nexport interface SwitchThumbProps extends RadixSwitch.SwitchThumbProps {}\n\nexport const SwitchThumb = memo(\n\tforwardRef<HTMLSpanElement, SwitchThumbProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size, radius } = useContext(SwitchContext)\n\n\t\treturn (\n\t\t\t<RadixSwitch.Thumb\n\t\t\t\tclassName={cx(className, switchThumb({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { SwitchRoot } from \"./Root\"\nimport { SwitchThumb } from \"./Thumb\"\n\nexport * from \"./Root\"\nexport * from \"./Thumb\"\nexport * from \"./typings\"\n\nexport const Switch = {\n\tRoot: SwitchRoot,\n\tThumb: SwitchThumb,\n}\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableBodyProps extends PropsWithoutRef<ComponentProps<\"tbody\">> {}\n\nexport const TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tbody ref={ref} className={cx(className)} {...rest} />\n})\nTableBody.displayName = \"TableBody\"\n","import { createContext } from \"react\"\n\nimport { TableBorder, TableCellSize, TableVariant } from \"./typings\"\n\ninterface ITableContext {\n\tsize: TableCellSize\n\tborder: TableBorder\n\tvariant: TableVariant\n}\n\nexport const TableContext = createContext({} as ITableContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tableRootCva = cva([\"border-collapse text-left\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tghost: [],\n\t\t\tsurface: [\"border-1\", \"border-(--accent-a6)\", \"box-border\", \"overflow-hidden\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-md\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const tableCellCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\tghost: [],\n\t\t},\n\t\tcell: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-1\"],\n\t\t\tsm: [\"p-2\"],\n\t\t\tmd: [\"p-3\"],\n\t\t\tlg: [\"p-4\"],\n\t\t\txl: [\"p-5\"],\n\t\t},\n\t\tborder: {\n\t\t\tgrid: [\"box-border\", \"border\", \"border-(--accent-a6)\"],\n\t\t\trow: [\"box-border\", \"border-b\", \"border-(--accent-a6)\"],\n\t\t\tcol: [\"box-border\", \"border-x\", \"border-(--accent-a6)\"],\n\t\t\tnone: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: true,\n\t\t\tclassName: [\"bg-(--accent-a1)\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: false,\n\t\t\tclassName: [\"bg-(--accent-a2)\"],\n\t\t},\n\t],\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableCellProps extends PropsWithoutRef<ComponentProps<\"td\">> {}\n\nexport const TableCell = forwardRef<HTMLTableCellElement, TableCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <td ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableCell.displayName = \"TableCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableColumnHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableColumnHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableColumnHeaderCellProps>(\n\t(props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size, border, variant } = useContext(TableContext)\n\n\t\treturn (\n\t\t\t<th ref={ref} className={cx(className, tableCellCva({ size, border, cell: false, variant }))} {...rest} />\n\t\t)\n\t},\n)\nTableColumnHeaderCell.displayName = \"TableColumnHeaderCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableFooterProps extends PropsWithoutRef<ComponentProps<\"tfoot\">> {}\n\nexport const TableFooter = forwardRef<HTMLTableSectionElement, TableFooterProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tfoot ref={ref} className={cx(className)} {...rest} />\n})\nTableFooter.displayName = \"TableFooter\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableHeaderProps extends PropsWithoutRef<ComponentProps<\"thead\">> {}\n\nexport const TableHeader = forwardRef<HTMLTableSectionElement, TableHeaderProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <thead ref={ref} className={cx(className)} {...rest} />\n})\nTableHeader.displayName = \"TableHeader\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { TableContext } from \"./context\"\nimport { tableRootCva } from \"./cva\"\nimport type { TableVariantProps } from \"./typings\"\n\nexport interface TableRootProps extends Omit<PropsWithoutRef<ComponentProps<\"table\">>, \"border\">, TableVariantProps {}\n\nexport const TableRoot = forwardRef<HTMLTableElement, TableRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", border = \"row\", accentColor = \"base\", variant = \"ghost\", ...rest } = props\n\n\treturn (\n\t\t<table\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\ttableRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: providerContext.radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TableContext.Provider value={{ size, border, variant }}>{children}</TableContext.Provider>\n\t\t</table>\n\t)\n})\nTableRoot.displayName = \"TableRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableRowProps extends PropsWithoutRef<ComponentProps<\"tr\">> {}\n\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tr ref={ref} className={cx(className)} {...rest} />\n})\nTableRow.displayName = \"TableRow\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableRowHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableRowHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableRowHeaderCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableRowHeaderCell.displayName = \"TableRow\"\n","import { TableBody } from \"./Body\"\nimport { TableCell } from \"./Cell\"\nimport { TableColumnHeaderCell } from \"./ColumnHeaderCell\"\nimport { TableFooter } from \"./Footer\"\nimport { TableHeader } from \"./Header\"\nimport { TableRoot } from \"./Root\"\nimport { TableRow } from \"./Row\"\nimport { TableRowHeaderCell } from \"./RowHeaderCell\"\n\nexport * from \"./Body\"\nexport * from \"./Cell\"\nexport * from \"./ColumnHeaderCell\"\nexport * from \"./Footer\"\nexport * from \"./Header\"\nexport * from \"./Root\"\nexport * from \"./Row\"\nexport * from \"./RowHeaderCell\"\nexport * from \"./typings\"\n\nexport const Table = {\n\tRoot: TableRoot,\n\tHeader: TableHeader,\n\tBody: TableBody,\n\tFooter: TableFooter,\n\tRow: TableRow,\n\tCell: TableCell,\n\tRowHeaderCell: TableRowHeaderCell,\n\tColumnHeaderCell: TableColumnHeaderCell,\n}\n","import { createContext } from \"react\"\n\nimport type { TabsSize } from \"./typings\"\n\ninterface ITabsListContext {\n\tsize: TabsSize\n}\n\nexport const TabsListContext = createContext({} as ITabsListContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tabsListCva = cva([\"flex\", \"border-box\", \"inset-shadow-[0_-1px_0_0_var(--base-a6)]\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const tabsTriggerCva = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"shrink-0\",\n\t\t\"cursor-pointer\",\n\t\t\"transition-colors\",\n\t\t\"relative\",\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:text-(--base-a12)\",\n\t\t\"data-[state=active]:text-(--base-a12)\",\n\t\t\"data-[state=active]:before:absolute\",\n\t\t\"data-[state=active]:before:inset-x-0\",\n\t\t\"data-[state=active]:before:bottom-0\",\n\t\t\"data-[state=active]:before:h-[2px]\",\n\t\t\"data-[state=active]:before:bg-(--accent-indicator)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"px-2\", \"gap-0.25\"],\n\t\t\t\tsm: [\"px-2\", \"gap-0.5\"],\n\t\t\t\tmd: [\"px-3\", \"gap-1\"],\n\t\t\t\tlg: [\"px-4\", \"gap-1.5\"],\n\t\t\t\txl: [\"px-5\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { TabsListContext } from \"./context\"\nimport { tabsListCva } from \"./cva\"\nimport type { TabsVariantProps } from \"./typings\"\n\nexport interface TabsListProps extends RadixTabs.TabsListProps, TabsVariantProps {}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", accentColor = providerContext.accentColor, ...rest } = props\n\n\treturn (\n\t\t<RadixTabs.List\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, tabsListCva({ size }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TabsListContext.Provider value={{ size }}>{children}</TabsListContext.Provider>\n\t\t</RadixTabs.List>\n\t)\n})\nTabsList.displayName = \"TabsList\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TabsRootProps extends RadixTabs.TabsProps {}\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(className, \"flex flex-col\")} {...rest} />\n})\nTabsRoot.displayName = \"TabsRoot\"\n","import { useContext } from \"react\"\n\nimport { TabsListContext } from \"./context\"\n\nexport const useTabsList = () => {\n\tconst tabsListContext = useContext(TabsListContext)\n\n\tif (!tabsListContext) {\n\t\tthrow new Error(\"useTabsList must be used within a TabsList component\")\n\t}\n\n\treturn tabsListContext\n}\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { tabsTriggerCva } from \"./cva\"\nimport { useTabsList } from \"./hooks\"\n\nexport interface TabsTriggerProps extends RadixTabs.TabsTriggerProps {}\n\nexport const TabsTrigger = forwardRef<HTMLButtonElement, TabsTriggerProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { size } = useTabsList()\n\n\treturn <RadixTabs.Trigger ref={ref} className={cx(className, tabsTriggerCva({ size }))} {...rest} />\n})\nTabsTrigger.displayName = \"TabsTrigger\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\n\nimport { TabsList } from \"./List\"\nimport { TabsRoot } from \"./Root\"\nimport { TabsTrigger } from \"./Trigger\"\n\nexport * from \"./List\"\nexport * from \"./Root\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const Tabs = {\n\tRoot: TabsRoot,\n\tList: TabsList,\n\tTrigger: TabsTrigger,\n\tContent: RadixTabs.Content,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const textCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { textCva } from \"./cva\"\nimport type { TextVariantProps } from \"./typings\"\n\nexport interface TextProps extends PropsWithoutRef<ComponentProps<\"span\">>, TextVariantProps {}\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>((props, ref) => {\n\tconst { className, size, weight, align, accentColor, highContrast = false, ...rest } = props\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, textCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nText.displayName = \"Text\"\n","import { cva } from \"class-variance-authority\"\n\nexport const textAreaCva = cva(\n\t[\n\t\t\"focus:outline-(--accent-a8)\",\n\t\t\"focus:outline-2\",\n\t\t\"focus:-outline-offset-1\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t\"placeholder-(--base-a9)\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"text-(--accent-12)\",\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"p-1\", \"text-xs\"],\n\t\t\t\tsm: [\"p-1.5\", \"text-sm\"],\n\t\t\t\tmd: [\"p-2\", \"text-base\"],\n\t\t\t\tlg: [\"p-2.5\", \"text-lg\"],\n\t\t\t\txl: [\"p-3\", \"text-xl\"],\n\t\t\t},\n\t\t\tresize: {\n\t\t\t\tnone: [\"resize-none\"],\n\t\t\t\tvertical: [\"resize-y\"],\n\t\t\t\thorizontal: [\"resize-x\"],\n\t\t\t\tboth: [\"resize\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"outline\",\n\t\t\tsize: \"md\",\n\t\t\tresize: \"none\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { textAreaCva } from \"./cva\"\nimport type { TextAreaVariantProps } from \"./typings\"\n\nexport interface TextAreaProps extends PropsWithoutRef<ComponentProps<\"textarea\">>, TextAreaVariantProps {}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cx(className, textAreaCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nTextArea.displayName = \"TextArea\"\n","import { cva } from \"class-variance-authority\"\n\nexport const toastCva = cva(\n\t[\n\t\t\"shadow-md\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--accent-1)\", \"text-(--accent-11)\", \"ring-1\", \"ring-inset\", \"ring-(--accent-a6)\"],\n\t\t\t\tsoft: [\"bg-(--accent-1)\", \"text-(--accent-11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixToast from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, forwardRef, memo, useCallback, useState } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toastCva } from \"./cva\"\nimport type { ToastProps } from \"./typings\"\n\nconst _Toast = forwardRef<HTMLLIElement, ToastProps>(function Toast(props, ref) {\n\tconst { radius, ...restProviderContext } = useProvider()\n\tconst {\n\t\ttitle,\n\t\tdescription,\n\t\ticon,\n\t\tsize = \"md\",\n\t\taccentColor = restProviderContext.accentColor,\n\t\tvariant,\n\t\tonClose,\n\t\tsensitivity,\n\t\taction,\n\t\t...rest\n\t} = props\n\n\tconst [open, setOpen] = useState(true)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t\tsetOpen(open)\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root\n\t\t\tclassName={cx(\n\t\t\t\t\"flex w-max items-center gap-4\",\n\t\t\t\ttoastCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\topen={open}\n\t\t\ttype={sensitivity}\n\t\t\tonOpenChange={handleOpenChange}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tdata-floating-content=\"\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<div className=\"flex grow items-center gap-3\">\n\t\t\t\t{icon}\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t<RadixToast.Title className=\"font-medium\">{title}</RadixToast.Title>\n\t\t\t\t\t\t<RadixToast.Description>{description}</RadixToast.Description>\n\t\t\t\t\t</div>\n\t\t\t\t\t{action && (\n\t\t\t\t\t\t<RadixToast.Action className=\"w-max\" altText={action.altText} asChild>\n\t\t\t\t\t\t\t{action.content}\n\t\t\t\t\t\t</RadixToast.Action>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<RadixToast.Close asChild>\n\t\t\t\t<IconButton size={size} aria-label=\"Close\" variant=\"ghost\" accentColor={accentColor}>\n\t\t\t\t\t<HiX />\n\t\t\t\t</IconButton>\n\t\t\t</RadixToast.Close>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\n","import { createContext, useContext } from \"react\"\n\nimport { IToastContext } from \"./typings\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const useToast = (): IToastContext => {\n\tconst context = useContext(ToastContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useToast must be used within a ToastProvider\")\n\t}\n\n\treturn context\n}\n","import { ToastProvider as RadixToastProvider, ToastViewport } from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, memo, useCallback, useEffect, useMemo, useState } from \"react\"\n\nimport { Toast } from \"./Toast\"\nimport { ToastContext } from \"./ToastContext\"\nimport type { IToastContext, SimpleToastProps, ToastContextProviderProps, ToastProps } from \"./typings\"\n\ninterface ToastArgs extends ToastProps {\n\tid: string\n\ttimeout: NodeJS.Timeout\n}\n\n// average reading speed is 240 words per minute\nconst WORDS_PER_SECOND = 240 / 60\n// 5 seconds is the minimum duration for a toast\nconst MIN_DURATION = 5000\n\nenum CloseReason {\n\tManual,\n\tTimeout,\n}\n\nconst calculatedDuration = (toast: ToastProps) => {\n\t// if the user has passed a duration valid, use that instead\n\tif (toast.duration && toast.duration >= MIN_DURATION) return toast.duration\n\n\t// count the number of words in the title and description\n\tconst words = toast.description.split(\" \").length + toast.title.split(\" \").length\n\t// calculate the duration based on the number of words and the severity\n\treturn MIN_DURATION + words / WORDS_PER_SECOND\n}\n\n/** this is a hack to allow toasts to be shown outside of components where hooks cannot be used */\n// eslint-disable-next-line react-refresh/only-export-components\nexport let unsafeShowToast: ((toastProps: ToastProps) => void) | undefined = undefined\n\n/** Toasts will be displayed in the top-right handle corner of the screen */\nexport const ToastProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tclassName,\n\thotkey,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastArgs[]>([])\n\n\tconst handleCloseToast = useCallback((id: string, reason: CloseReason, callback?: () => void) => {\n\t\tsetToasts((prevToasts) => {\n\t\t\tconst toast = prevToasts.find((toast) => toast.id === id)\n\t\t\t// clear the timeout if the toast is being closed manually\n\t\t\tif (toast && reason === CloseReason.Manual) clearTimeout(toast.timeout)\n\n\t\t\treturn prevToasts.filter((toast) => toast.id !== id)\n\t\t})\n\n\t\tif (callback) callback()\n\t}, [])\n\n\tconst toastContextValue = useMemo<IToastContext>(() => {\n\t\tlet counter = 0\n\n\t\tconst showToast = (toastProps: ToastProps) => {\n\t\t\tconst duration = calculatedDuration(toastProps)\n\t\t\tconst id = counter.toString()\n\t\t\tcounter += 1 // increment the counter so that ids are unique\n\n\t\t\t// manually close the toast after the duration has passed\n\t\t\t// this is necessary because the duration prop is reset on re-render\n\t\t\tconst pending = setTimeout(() => handleCloseToast(id, CloseReason.Timeout, toastProps.onClose), duration)\n\n\t\t\tsetToasts((prevToasts) => [...prevToasts, { ...toastProps, timeout: pending, duration, id }])\n\t\t}\n\t\tconst showPrimary = (toastProps: SimpleToastProps) => showToast(toastProps)\n\t\tconst showSuccess = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"success\" })\n\t\tconst showError = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"danger\" })\n\t\tconst showInfo = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"base\" })\n\t\tconst showWarning = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"warning\" })\n\n\t\tunsafeShowToast = showToast\n\n\t\treturn {\n\t\t\tshowToast,\n\t\t\tshowPrimary,\n\t\t\tshowSuccess,\n\t\t\tshowError,\n\t\t\tshowInfo,\n\t\t\tshowWarning,\n\t\t}\n\t}, [handleCloseToast])\n\n\t// clear all timeouts when the component unmounts\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tfor (const { timeout } of toasts) clearTimeout(timeout)\n\t\t}\n\t\t// only run this effect when the component unmounts\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [])\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<RadixToastProvider {...rest}>\n\t\t\t\t{children}\n\n\t\t\t\t<ToastViewport\n\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\"fixed top-0 right-0 z-[2147483647] flex max-w-[100vw] list-none flex-col items-end gap-3 overflow-x-hidden overflow-y-auto p-5 outline-none\",\n\t\t\t\t\t)}\n\t\t\t\t\thotkey={hotkey}\n\t\t\t\t/>\n\n\t\t\t\t{toasts.map(({ id, onClose, ...toastProps }) => (\n\t\t\t\t\t<Toast key={id} {...toastProps} onClose={() => handleCloseToast(id, CloseReason.Manual, onClose)} />\n\t\t\t\t))}\n\t\t\t</RadixToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { cva } from \"class-variance-authority\"\n\nexport const toggleButtonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"shrink-0\",\n\t\t\"justify-center\",\n\n\t\t// Selection\n\t\t\"select-none\",\n\n\t\t// Focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// Disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t// ring\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=off]:hover:inset-ring-transparent\",\n\t\t\t\t\t\"data-[state=on]:inset-ring-transparent\",\n\n\t\t\t\t\t// text\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\n\t\t\t\t\t// bg\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"outline\",\n\t\t},\n\t},\n)\n","import * as Toggle from \"@radix-ui/react-toggle\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toggleButtonCva } from \"./cva\"\nimport type { BaseToggleButtonProps } from \"./typings\"\n\nexport const BaseToggleButton = forwardRef<HTMLButtonElement, BaseToggleButtonProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\ticon,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<Toggle.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, toggleButtonCva({ size, variant, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nBaseToggleButton.displayName = \"BaseToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const IconToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon {...props} />\n})\nIconToggleButton.displayName = \"IconToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon={false} {...props} />\n})\nToggleButton.displayName = \"ToggleButton\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TooltipArrowProps extends RadixTooltip.TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef<SVGSVGElement, TooltipArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTooltip.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nTooltipArrow.displayName = \"TooltipArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const tooltipContent = cva(\n\t[\n\t\t\"data-[state=delayed-open]:animate-in\",\n\t\t\"data-[state=delayed-open]:fade-in-0\",\n\t\t\"data-[state=delayed-open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t\t\"bg-(--base-1)\",\n\t\t\"ring-1\",\n\t\t\"ring-inset\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"text-(--base-12)\",\n\t\t\"shadow-sm\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"px-2\"],\n\t\t\t\tsm: [\"text-sm\", \"px-3\"],\n\t\t\t\tmd: [\"text-base\", \"px-4\"],\n\t\t\t\tlg: [\"text-lg\", \"px-5\"],\n\t\t\t\txl: [\"text-xl\", \"px-6\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-1\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-1\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-1\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-1\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tside: \"top\",\n\t\t},\n\t},\n)\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { tooltipContent } from \"./cva\"\nimport type { TooltipVariantProps } from \"./typings\"\n\nexport interface TooltipContentProps extends RadixTooltip.TooltipContentProps, TooltipVariantProps {\n\tcontainer?: RadixTooltip.TooltipPortalProps[\"container\"]\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tside = \"top\",\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\tsideOffset = 2,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixTooltip.Portal container={container}>\n\t\t\t<RadixTooltip.Content\n\t\t\t\tclassName={cx(className, tooltipContent({ size, side }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</RadixTooltip.Content>\n\t\t</RadixTooltip.Portal>\n\t)\n})\nTooltipContent.displayName = \"TooltipContent\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\n\nimport { TooltipArrow } from \"./Arrow\"\nimport { TooltipContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Tooltip = {\n\tArrow: TooltipArrow,\n\tContent: TooltipContent,\n\tRoot: RadixTooltip.Root,\n\tTrigger: RadixTooltip.Trigger,\n\tProvider: RadixTooltip.Provider,\n}\n"],"names":["cva","createContext","useContext","useMemo","forwardRef","jsxs","RadixAlertDialog","jsx","cx","memo","useState","useCallback","open","RadixAvatar","RadixCheckbox","React","useLayoutEffect","useMediaQuery","useEffect","RadixPrimitiveCollapsible","RadixDialog","HiX","RadixHoverCard","Root","inputRoot","useRef","TIMEOUT_DURATION","ref","SlideOut","CSSTransition","Slot","Resizable","Fragment","useFloatingNodeId","useFloating","autoUpdate","offsetMiddleware","sizeMiddleware","flip","shift","hide","useRole","useDismiss","useClick","useListNavigation","useInteractions","FloatingTree","_a","FloatingNode","FloatingPortal","FloatingOverlay","FloatingFocusManager","FloatingList","offset","useHover","safePolygon","useListItem","useMergeRefs","value","RadixSeparator","RiIcons","RiQuestionMark","useErrorBoundary","ErrorBoundary","RadixPopover","RadixRadioGroup","RadixToggleGroup","DismissableLayer","RadixSwitch","RadixTabs","Toast","RadixToast","unsafeShowToast","toast","RadixToastProvider","ToastViewport","Toggle","RadixTooltip"],"mappings":"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","x_google_ignoreList":[31,32,33]}
|
|
1
|
+
{"version":3,"file":"blocks.umd.cjs","sources":["../src/cva/floating.ts","../src/cva/radius.ts","../src/Provider/context.ts","../src/Provider/hooks.ts","../src/Provider/Provider.tsx","../src/AlertDialog/cva.ts","../src/AlertDialog/Content.tsx","../src/AlertDialog/context.ts","../src/AlertDialog/hooks.ts","../src/ButtonGroup/context.ts","../src/ButtonGroup/ButtonGroup.tsx","../src/ButtonGroup/hooks.ts","../src/Buttons/cva.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/AlertDialog/Provider.tsx","../src/AlertDialog/index.ts","../src/Avatar/context.ts","../src/Avatar/cva.ts","../src/Avatar/Fallback.tsx","../src/Avatar/Image.tsx","../src/Avatar/Root.tsx","../src/Avatar/index.ts","../src/Badge/cva.ts","../src/Badge/Badge.tsx","../src/Card/cva.ts","../src/Card/Card.tsx","../src/Checkbox/Indicator.tsx","../src/Checkbox/cva.ts","../src/Checkbox/Root.tsx","../src/Checkbox/index.ts","../node_modules/@react-hook/passive-layout-effect/dist/module/index.js","../node_modules/@react-hook/latest/dist/module/index.js","../node_modules/@react-hook/resize-observer/dist/module/index.js","../src/utils.ts","../src/CollapsibleTree/context.ts","../src/CollapsibleTree/CollapsibleTree.tsx","../src/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/SlideOutV3/utils.ts","../src/SlideOutV3/SlideOutV3.tsx","../src/Layout/SlideOut.tsx","../src/Layout/SlideOutOverlay.tsx","../src/Layout/SlideOutTrigger.tsx","../src/Layout/index.ts","../src/Link/cva.ts","../src/Link/Link.tsx","../src/CheckedIndicator/context.ts","../src/CheckedIndicator/CheckedIndicator.tsx","../src/Menu/cva.ts","../src/Menu/root/context.ts","../src/Menu/constants.ts","../src/Menu/root/Root.tsx","../src/Menu/Content/context.ts","../src/Menu/Content/Content.tsx","../src/Menu/Sub/context.ts","../src/Menu/utils.ts","../src/Menu/Sub/Sub.tsx","../src/Menu/Item/Item.tsx","../src/Menu/CheckboxItem/CheckboxItem.tsx","../src/Menu/CheckboxItemIndicator/CheckboxItemIndicator.tsx","../src/Menu/ClickTrigger/ClickTrigger.tsx","../src/Menu/ContextTrigger/ContextTrigger.tsx","../src/Menu/Group/Group.tsx","../src/Menu/Input/Field.tsx","../src/Menu/Input/Root.tsx","../src/Menu/Input/Slot.tsx","../src/SelectContext/context.ts","../src/SelectContext/Provider.tsx","../src/Menu/MultiSelectGroup/MultiSelectGroup.tsx","../src/Menu/SelectedIndicator/context.ts","../src/Menu/SelectedIndicator/SelectedIndicator.tsx","../src/Menu/MultiSelectItem/MultiSelectItem.tsx","../src/Menu/Pages/context.ts","../src/Menu/Pages/Pages.tsx","../src/Menu/PageContent/PageContent.tsx","../src/Menu/PageTrigger/PageTrigger.tsx","../src/Menu/Scroll/Scroll.tsx","../src/Menu/SelectAll/context.ts","../src/Menu/SelectAll/SelectAllIndicator.tsx","../src/Menu/SelectAll/SelectAllItem.tsx","../src/Menu/SelectGroup/SelectGroup.tsx","../src/Menu/SelectItem/SelectItem.tsx","../src/Menu/Separator/Separator.tsx","../src/Menu/SubContent/SubContent.tsx","../src/Menu/SubTrigger/SubTrigger.tsx","../src/Menu/VirtualTrigger/VirtualTrigger.tsx","../src/Menu/index.ts","../src/RiIcon/RiIcon.tsx","../src/OvermapErrorBoundary/OvermapErrorBoundary.tsx","../src/Popover/Arrow.tsx","../src/Popover/cva.ts","../src/Popover/Content.tsx","../src/Popover/index.ts","../src/RadioGroup/Indicator.tsx","../src/RadioGroup/context.ts","../src/RadioGroup/cva.ts","../src/RadioGroup/Item.tsx","../src/RadioGroup/Root.tsx","../src/RadioGroup/index.ts","../src/SegmentedControl/cva.ts","../src/SegmentedControl/context.ts","../src/SegmentedControl/hooks.ts","../src/SegmentedControl/Item.tsx","../src/SegmentedControl/Root.tsx","../src/SegmentedControl/index.ts","../src/Separator/cva.ts","../src/Separator/Separator.tsx","../src/SlideOut/SlideOutV2.tsx","../src/Spinner/Spinner.tsx","../src/Switch/context.ts","../src/Switch/cva.ts","../src/Switch/Root.tsx","../src/Switch/Thumb.tsx","../src/Switch/index.ts","../src/Table/Body.tsx","../src/Table/context.ts","../src/Table/cva.ts","../src/Table/Cell.tsx","../src/Table/ColumnHeaderCell.tsx","../src/Table/Footer.tsx","../src/Table/Header.tsx","../src/Table/Root.tsx","../src/Table/Row.tsx","../src/Table/RowHeaderCell.tsx","../src/Table/index.ts","../src/Tabs/context.ts","../src/Tabs/cva.ts","../src/Tabs/List.tsx","../src/Tabs/Root.tsx","../src/Tabs/hooks.ts","../src/Tabs/Trigger.tsx","../src/Tabs/index.ts","../src/Text/cva.ts","../src/Text/Text.tsx","../src/TextArea/cva.ts","../src/TextArea/TextArea.tsx","../src/Toast/cva.ts","../src/Toast/Toast.tsx","../src/Toast/ToastContext.ts","../src/Toast/ToastProvider.tsx","../src/ToggleButton/cva.ts","../src/ToggleButton/BaseToggleButton.tsx","../src/ToggleButton/IconToggleButton.tsx","../src/ToggleButton/ToggleButton.tsx","../src/Tooltip/Arrow.tsx","../src/Tooltip/cva.ts","../src/Tooltip/Content.tsx","../src/Tooltip/index.ts"],"sourcesContent":["import { cva, VariantProps } from \"class-variance-authority\"\n\nexport const floating = cva(\n\t[\n\t\t\"data-[state=open]:animate-in\",\n\t\t\"data-[state=open]:fade-in-0\",\n\t\t\"data-[state=open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tshadow: {\n\t\t\t\t\"1\": [\"shadow-xs\"],\n\t\t\t\t\"2\": [\"shadow-sm\"],\n\t\t\t\t\"3\": [\"shadow-md\"],\n\t\t\t\t\"4\": [\"shadow-lg\"],\n\t\t\t\t\"5\": [\"shadow-xl\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-2\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-2\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-2\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-2\"],\n\t\t\t},\n\t\t},\n\t},\n)\n\nexport type FloatingStyleProps = VariantProps<typeof floating>\n","import { cva } from \"class-variance-authority\"\n\nexport const radiusCva = cva([], {\n\tvariants: {\n\t\tmaxLarge: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tradius: {\n\t\t\tnone: [\"rounded-none\"],\n\t\t\txs: [\"rounded-xs\"],\n\t\t\tsm: [\"rounded-sm\"],\n\t\t\tmd: [\"rounded-md\"],\n\t\t\tlg: [\"rounded-lg\"],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: true,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-lg\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"xl\",\n\t\t\tclassName: [\"rounded-xl\"],\n\t\t},\n\t\t{\n\t\t\tmaxLarge: false,\n\t\t\tradius: \"full\",\n\t\t\tclassName: [\"rounded-full\"],\n\t\t},\n\t],\n})\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"./typings\"\n\ninterface IProviderContext {\n\taccentColor: string\n\tradius: ComponentRadius\n}\n\nexport const ProviderContext = createContext({} as IProviderContext)\n","import { useContext } from \"react\"\n\nimport { ProviderContext } from \"./context\"\n\nexport const useProvider = () => {\n\tconst context = useContext(ProviderContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useProvider must be used within a Provider\")\n\t}\n\n\treturn context\n}\n","import { PropsWithChildren, useMemo } from \"react\"\n\nimport { ProviderContext } from \"./context\"\nimport type { ComponentRadius } from \"./typings\"\n\nexport interface ProviderProps extends PropsWithChildren {\n\taccentColor: string\n\tradius?: ComponentRadius\n}\n\nexport const Provider = (props: ProviderProps) => {\n\tconst { accentColor, radius = \"md\", children } = props\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\taccentColor,\n\t\t\tradius,\n\t\t}),\n\t\t[accentColor, radius],\n\t)\n\n\treturn <ProviderContext.Provider value={contextValue}>{children}</ProviderContext.Provider>\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const dialogOverlay = cva([\n\t\"fixed\",\n\t\"inset-0\",\n\t\"duration-200\",\n\t\"bg-(--black-a6)\",\n\t\"dark:bg-(--black-a8)\",\n\t\"data-[state='open']:animate-in\",\n\t\"data-[state='open']:fade-in-0\",\n\t\"data-[state='closed']:animate-out\",\n\t\"data-[state='closed']:fade-out-0\",\n])\n\nexport const dialogContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"h-max\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\t\t\"max-h-3/4\",\n\t\t\"overflow-hidden\",\n\t\t\"w-full\",\n\t\t\"bg-(--base-2)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-6)\",\n\t\t\"fixed\",\n\t\t\"left-[50%]\",\n\t\t\"top-[50%]\",\n\t\t\"translate-x-[-50%]\",\n\t\t\"translate-y-[-50%]\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\", \"max-w-xs\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\", \"max-w-sm\"],\n\t\t\t\tmd: [\"text-md\", \"p-4\", \"max-w-md\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\", \"max-w-lg\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\", \"max-w-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { dialogContent, dialogOverlay } from \"./cva\"\nimport { AlertDialogVariantProps } from \"./typings\"\n\nexport interface AlertDialogContentProps extends RadixAlertDialog.AlertDialogContentProps, AlertDialogVariantProps {\n\tcontainer?: RadixAlertDialog.AlertDialogPortalProps[\"container\"]\n}\n\nexport const AlertDialogContent = forwardRef<HTMLDivElement, AlertDialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst { className, size, container, ...rest } = props\n\n\treturn (\n\t\t<RadixAlertDialog.Portal container={container}>\n\t\t\t<RadixAlertDialog.Overlay className={dialogOverlay({})} data-floating-content=\"\" />\n\t\t\t<RadixAlertDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixAlertDialog.Portal>\n\t)\n})\nAlertDialogContent.displayName = \"AlertDialogContent\"\n","import { createContext } from \"react\"\n\nimport { AlertDialogOptions } from \"./typings\"\n\ntype AlertDialogContextType = (options: AlertDialogOptions) => void\n\nexport const AlertDialogContext = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n","import { useContext } from \"react\"\n\nimport { AlertDialogContext } from \"./context\"\n\nexport const useAlertDialog = () => {\n\tconst alertDialogContext = useContext(AlertDialogContext)\n\tif (!alertDialogContext) {\n\t\tthrow new Error(\"No AlertDialogProvider found\")\n\t}\n\treturn alertDialogContext\n}\n","import { createContext } from \"react\"\n\nimport type { ButtonSize, ButtonVariant } from \"../Buttons\"\nimport type { ComponentRadius } from \"../Provider\"\n\ninterface IButtonGroupContext {\n\tvariant: ButtonVariant\n\tsize: ButtonSize\n\tradius: ComponentRadius\n\taccentColor: string\n}\n\nexport const ButtonGroupContext = createContext<IButtonGroupContext>({} as IButtonGroupContext)\n","import { ComponentProps, PropsWithoutRef, useMemo } from \"react\"\n\nimport type { ButtonVariantProps } from \"../Buttons\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { ButtonGroupContext } from \"./context\"\n\nexport interface ButtonGroupProps\n\textends PropsWithoutRef<ComponentProps<\"div\">>,\n\t\tButtonVariantProps,\n\t\tAccentColorProps {}\n\nexport const ButtonGroup = (props: ButtonGroupProps) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tvariant = \"solid\",\n\t\tsize = \"md\",\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tradius,\n\t\t\taccentColor,\n\t\t}),\n\t\t[accentColor, radius, size, variant],\n\t)\n\n\treturn (\n\t\t<div {...rest}>\n\t\t\t<ButtonGroupContext.Provider value={value}>{children}</ButtonGroupContext.Provider>\n\t\t</div>\n\t)\n}\nButtonGroup.displayName = \"Buttons\"\n","import { useContext } from \"react\"\n\nimport { ButtonGroupContext } from \"./context\"\n\nexport const useButtonGroup = () => useContext(ButtonGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const buttonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"ring-(--accent-9)\",\n\t\t\t\t\t\"bg-(--accent-9)\",\n\t\t\t\t\t\"hover:bg-(--accent-10)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t\t\"active:brightness-110\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-10)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"hover:bg-(--accent-a4)\",\n\t\t\t\t\t\"active:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\n\t\t\t\t\t// trigger state\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"active:bg-(--accent-a3)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"hover:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"active:bg-(--accent-a4)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state='open']:inset-ring-(--accent-a8)\",\n\t\t\t\t\t\"data-[state='open']:bg-(--accent-a3)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"solid\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface ButtonProps extends ButtonVariantProps, PropsWithoutRef<ComponentProps<\"button\">> {}\n\nexport const Button = memo(\n\tforwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: false, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useButtonGroup } from \"../ButtonGroup\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport type { AccentColorProps } from \"../typings\"\nimport { buttonCva } from \"./cva\"\nimport type { ButtonVariantProps } from \"./typings\"\n\nexport interface IconButtonProps\n\textends ButtonVariantProps,\n\t\tPropsWithoutRef<ComponentProps<\"button\">>,\n\t\tAccentColorProps {}\n\nexport const IconButton = memo(\n\tforwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst buttonsContext = useButtonGroup()\n\t\tconst {\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tvariant = buttonsContext.variant,\n\t\t\tsize = buttonsContext.size,\n\t\t\tradius = buttonsContext.radius ?? providerContext.radius,\n\t\t\taccentColor = buttonsContext.accentColor ?? providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tbuttonCva({ size, icon: true, variant }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t)\n\t}),\n)\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\nimport { PropsWithChildren, useCallback, useState } from \"react\"\n\nimport { Button } from \"../Buttons\"\nimport { AlertDialogContent } from \"./Content\"\nimport { AlertDialogContext } from \"./context\"\nimport { AlertDialogOptions } from \"./typings\"\n\nexport const AlertDialogProvider = (props: PropsWithChildren) => {\n\tconst { children } = props\n\n\tconst [open, setOpen] = useState(false)\n\tconst [options, setOptions] = useState<AlertDialogOptions | null>(null)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tsetOpen(open)\n\n\t\t\tif (open) return\n\n\t\t\toptions?.onClose?.()\n\t\t},\n\t\t[options],\n\t)\n\n\tconst openAlertDialog = useCallback(\n\t\t(config: AlertDialogOptions) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\t\t\tsetOpen(true)\n\t\t\tsetOptions({\n\t\t\t\tsize: \"md\",\n\t\t\t\taction: \"Confirm\",\n\t\t\t\tcancel: \"Cancel\",\n\t\t\t\t...config,\n\t\t\t})\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialogContext.Provider value={openAlertDialog}>\n\t\t\t{children}\n\t\t\t<RadixAlertDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t\t<AlertDialogContent size={options?.size}>\n\t\t\t\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Title className=\"font-medium\">{options?.title}</RadixAlertDialog.Title>\n\t\t\t\t\t\t\t<RadixAlertDialog.Description>{options?.description}</RadixAlertDialog.Description>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex justify-end gap-2\">\n\t\t\t\t\t\t\t<RadixAlertDialog.Cancel onClick={options?.onCancel}>\n\t\t\t\t\t\t\t\t<Button variant=\"soft\" size={options?.size} accentColor=\"base\">\n\t\t\t\t\t\t\t\t\t{options?.cancel}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Cancel>\n\t\t\t\t\t\t\t<RadixAlertDialog.Action onClick={options?.onAction}>\n\t\t\t\t\t\t\t\t<Button variant=\"solid\" size={options?.size}>\n\t\t\t\t\t\t\t\t\t{options?.action}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</RadixAlertDialog.Action>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</RadixAlertDialog.Root>\n\t\t</AlertDialogContext.Provider>\n\t)\n}\n","import * as RadixAlertDialog from \"@radix-ui/react-alert-dialog\"\n\nimport { AlertDialogContent } from \"./Content\"\n\nexport * from \"./Content\"\nexport * from \"./hooks\"\nexport * from \"./Provider\"\nexport * from \"./typings\"\n\nexport const AlertDialog = {\n\tContent: AlertDialogContent,\n\tTrigger: RadixAlertDialog.Trigger,\n\tRoot: RadixAlertDialog.Root,\n\tTitle: RadixAlertDialog.Title,\n\tDescription: RadixAlertDialog.Description,\n\tAction: RadixAlertDialog.Action,\n\tCancel: RadixAlertDialog.Cancel,\n}\n","import { createContext } from \"react\"\n\nimport type { AvatarVariant } from \"./typings\"\n\ninterface IAvatarContext {\n\tvariant: AvatarVariant\n}\n\nexport const AvatarContext = createContext({} as IAvatarContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const avatar = cva([\"shrink-0\", \"select-none\", \"inline-block\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"w-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"w-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"w-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"w-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"w-9\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const avatarFallback = cva([\"flex\", \"items-center\", \"justify-center\", \"w-full\", \"h-full\", \"rounded-[inherit]\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"solid\",\n\t},\n})\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext } from \"react\"\n\nimport { AvatarContext } from \"./context\"\nimport { avatarFallback } from \"./cva\"\n\nexport interface AvatarFallbackProps extends RadixAvatar.AvatarFallbackProps {}\n\nexport const AvatarFallback = forwardRef<HTMLSpanElement, AvatarFallbackProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { variant } = useContext(AvatarContext)\n\n\treturn <RadixAvatar.AvatarFallback className={cx(className, avatarFallback({ variant }))} ref={ref} {...rest} />\n})\nAvatarFallback.displayName = \"AvatarFallback\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface AvatarImageProps extends RadixAvatar.AvatarImageProps {}\n\nexport const AvatarImage = forwardRef<HTMLImageElement, AvatarImageProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixAvatar.Image\n\t\t\tclassName={cx(className, \"object-cover\", \"rounded-[inherit]\", \"w-full\", \"h-full\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nAvatarImage.displayName = \"AvatarImage\"\n","import * as RadixAvatar from \"@radix-ui/react-avatar\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { AvatarContext } from \"./context\"\nimport { avatar } from \"./cva\"\nimport type { AvatarVariantProps } from \"./typings\"\n\nexport interface AvatarRootProps extends RadixAvatar.AvatarProps, AvatarVariantProps {}\n\nexport const AvatarRoot = forwardRef<HTMLSpanElement, AvatarRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant = \"solid\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<RadixAvatar.Root\n\t\t\tclassName={cx(className, avatar({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<AvatarContext.Provider value={{ variant }}>{children}</AvatarContext.Provider>\n\t\t</RadixAvatar.Root>\n\t)\n})\nAvatarRoot.displayName = \"AvatarRoot\"\n","import { AvatarFallback } from \"./Fallback\"\nimport { AvatarImage } from \"./Image\"\nimport { AvatarRoot } from \"./Root\"\n\nexport * from \"./Fallback\"\nexport * from \"./Image\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Avatar = {\n\tFallback: AvatarFallback,\n\tImage: AvatarImage,\n\tRoot: AvatarRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const badge = cva([\"inline-flex\", \"items-center\", \"shrink-0\"], {\n\tvariants: {\n\t\ticon: {\n\t\t\ttrue: [\"justify-center\"],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsolid: [\"bg-(--accent-9)\", \"text-(--accent-contrast)\"],\n\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"w-5\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xs\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"w-6\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"sm\",\n\t\t\tclassName: \"px-2\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"w-7\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"md\",\n\t\t\tclassName: \"px-3\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"w-8\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"lg\",\n\t\t\tclassName: \"px-4\",\n\t\t},\n\t\t{\n\t\t\ticon: true,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"w-9\",\n\t\t},\n\t\t{\n\t\t\ticon: false,\n\t\t\tsize: \"xl\",\n\t\t\tclassName: \"px-5\",\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\ticon: false,\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { badge } from \"./cva\"\nimport type { BadgeVariantProps } from \"./typings\"\n\nexport interface BadgeProps extends ComponentProps<\"span\">, BadgeVariantProps {}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\tvariant,\n\t\tsize,\n\t\ticon,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<span\n\t\t\tclassName={cx(className, badge({ variant, size, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t)\n})\nBadge.displayName = \"Badge\"\n","import { cva } from \"class-variance-authority\"\n\nexport const cardCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-2)\"],\n\t\t\tsurface: [\"bg-(--accent-2)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-2\", \"text-xs\"],\n\t\t\tsm: [\"p-3\", \"text-sm\"],\n\t\t\tmd: [\"p-4\", \"text-base\"],\n\t\t\tlg: [\"p-5\", \"text-lg\"],\n\t\t\txl: [\"p-6\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { cardCva } from \"./cva\"\nimport type { CardVariantProps } from \"./typings\"\n\nexport interface CardProps extends PropsWithoutRef<ComponentProps<\"div\">>, CardVariantProps {}\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\taccentColor = \"base\",\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, cardCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCard.displayName = \"Card\"\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface CheckboxIndicatorProps extends RadixCheckbox.CheckboxIndicatorProps {}\n\nexport const CheckboxIndicator = forwardRef<HTMLSpanElement, CheckboxIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixCheckbox.CheckboxIndicator\n\t\t\tclassName={cx(className, \"flex items-center justify-center\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxIndicator.displayName = \"CheckboxIndicator\"\n","import { cva } from \"class-variance-authority\"\n\nexport const checkbox = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"cursor-pointer\",\n\t\t\"select-none\",\n\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a5)\", \"text-(--accent-a11)\"],\n\t\t\t\toutline: [\"bg-transparent\", \"inset-ring\", \"inset-ring-(--accent-a7)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-4\", \"w-4\", \"text-xs\"],\n\t\t\t\tsm: [\"h-5\", \"w-5\", \"text-sm\"],\n\t\t\t\tmd: [\"h-6\", \"w-6\", \"text-base\"],\n\t\t\t\tlg: [\"h-7\", \"w-7\", \"text-lg\"],\n\t\t\t\txl: [\"h-8\", \"w-8\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { checkbox } from \"./cva\"\nimport type { CheckboxVariantProps } from \"./typings\"\n\nexport interface CheckboxRootProps extends CheckboxVariantProps, RadixCheckbox.CheckboxProps {}\n\nexport const CheckboxRoot = forwardRef<HTMLButtonElement, CheckboxRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant,\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixCheckbox.Root\n\t\t\tclassName={cx(className, checkbox({ variant, size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nCheckboxRoot.displayName = \"CheckboxRoot\"\n","import { CheckboxIndicator } from \"./Indicator\"\nimport { CheckboxRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Checkbox = {\n\tRoot: CheckboxRoot,\n\tIndicator: CheckboxIndicator,\n}\n","import React from 'react';\nconst usePassiveLayoutEffect = React[typeof document !== 'undefined' && document.createElement !== void 0 ? 'useLayoutEffect' : 'useEffect'];\nexport default usePassiveLayoutEffect;","import * as React from 'react';\n\nconst useLatest = current => {\n const storedValue = React.useRef(current);\n React.useEffect(() => {\n storedValue.current = current;\n });\n return storedValue;\n};\n\nexport default useLatest;","/* eslint-disable no-return-assign */\n/* eslint-disable no-underscore-dangle */\n\nimport useLayoutEffect from '@react-hook/passive-layout-effect';\nimport useLatest from '@react-hook/latest';\n\n/**\n * A React hook that fires a callback whenever ResizeObserver detects a change to its size\n *\n * @param target A React ref created by `useRef()` or an HTML element\n * @param callback Invoked with a single `ResizeObserverEntry` any time\n * the `target` resizes\n */\n\nfunction _ref() {}\nfunction useResizeObserver(target, callback, options = {}) {\n const resizeObserver = getResizeObserver(options.polyfill);\n const storedCallback = useLatest(callback);\n useLayoutEffect(() => {\n let didUnsubscribe = false;\n const targetEl = target && 'current' in target ? target.current : target;\n if (!targetEl) return _ref;\n function cb(entry, observer) {\n if (didUnsubscribe) return;\n storedCallback.current(entry, observer);\n }\n resizeObserver.subscribe(targetEl, cb);\n return () => {\n didUnsubscribe = true;\n resizeObserver.unsubscribe(targetEl, cb);\n };\n }, [target, resizeObserver, storedCallback]);\n return resizeObserver.observer;\n}\nfunction createResizeObserver(polyfill) {\n let ticking = false;\n let allEntries = [];\n const callbacks = new Map();\n const observer = new (polyfill || window.ResizeObserver)((entries, obs) => {\n allEntries = allEntries.concat(entries);\n function _ref2() {\n const triggered = new Set();\n for (let i = 0; i < allEntries.length; i++) {\n if (triggered.has(allEntries[i].target)) continue;\n triggered.add(allEntries[i].target);\n const cbs = callbacks.get(allEntries[i].target);\n cbs === null || cbs === void 0 ? void 0 : cbs.forEach(cb => cb(allEntries[i], obs));\n }\n allEntries = [];\n ticking = false;\n }\n if (!ticking) {\n window.requestAnimationFrame(_ref2);\n }\n ticking = true;\n });\n return {\n observer,\n subscribe(target, callback) {\n var _callbacks$get;\n observer.observe(target);\n const cbs = (_callbacks$get = callbacks.get(target)) !== null && _callbacks$get !== void 0 ? _callbacks$get : [];\n cbs.push(callback);\n callbacks.set(target, cbs);\n },\n unsubscribe(target, callback) {\n var _callbacks$get2;\n const cbs = (_callbacks$get2 = callbacks.get(target)) !== null && _callbacks$get2 !== void 0 ? _callbacks$get2 : [];\n if (cbs.length === 1) {\n observer.unobserve(target);\n callbacks.delete(target);\n return;\n }\n const cbIndex = cbs.indexOf(callback);\n if (cbIndex !== -1) cbs.splice(cbIndex, 1);\n callbacks.set(target, cbs);\n }\n };\n}\nlet _resizeObserver;\nconst getResizeObserver = polyfill => !_resizeObserver ? _resizeObserver = createResizeObserver(polyfill) : _resizeObserver;\nexport default useResizeObserver;","import useResizeObserver from \"@react-hook/resize-observer\"\nimport { Dispatch, memo, RefObject, SetStateAction, useCallback, useEffect, useLayoutEffect, useState } from \"react\"\nimport { useMediaQuery } from \"react-responsive\"\n\nimport { ViewportSizes } from \"./typings\"\n\nexport interface ViewportSize {\n\tsize: ViewportSizes\n\tprevSize: ViewportSizes\n\txs: boolean\n\tsm: boolean\n\tmd: boolean\n\tlg: boolean\n\txl: boolean\n}\n\n// TODO: this should be moved to /web\n// note that this is a pretty poor way of setting this up, the better way would be to use a context at the highest level\n// in the React component tree to result in the useMediaQuery hook being called a minimal number of times. Then any components\n// that need to subscribe to the viewport size can use the context to get the current viewport size.\n/** Return value needs to be deconstructed since the object returned is not memoized */\n\ninterface useViewportSizeProps {\n\txs: number | string\n\tsm: number | string\n\tmd: number | string\n\tlg: number | string\n\txl: number | string\n}\n\nexport const useViewportSize = (props: useViewportSizeProps): ViewportSize => {\n\tconst { xs: xsProps, sm: smProps, md: mdProps, lg: lgProps, xl: xlProps } = props\n\tconst [prevSize, setPrevSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\tconst [size, setSize] = useState<ViewportSize[\"size\"]>(\"initial\")\n\t// These specific Breakpoints are from Radix, see https://www.radix-ui.com/themes/docs/theme/breakpoints\n\tconst xs = useMediaQuery({ minWidth: xsProps })\n\tconst sm = useMediaQuery({ minWidth: smProps })\n\tconst md = useMediaQuery({ minWidth: mdProps })\n\tconst lg = useMediaQuery({ minWidth: lgProps })\n\tconst xl = useMediaQuery({ minWidth: xlProps })\n\n\tuseLayoutEffect(() => {\n\t\tsetSize((prev) => {\n\t\t\tsetPrevSize(prev)\n\t\t\treturn xl ? \"xl\" : lg ? \"lg\" : md ? \"md\" : sm ? \"sm\" : xs ? \"xs\" : \"initial\"\n\t\t})\n\t}, [lg, md, sm, xl, xs])\n\n\treturn { size, prevSize, xs, sm, md, lg, xl }\n}\n\n/** utility used for stopping Event propagation.\n * @return stopPropagation a callback that calls stopPropagation on a general event */\nexport const useStopEventPropagation = () => {\n\treturn useCallback((event: Event) => {\n\t\tevent.stopPropagation()\n\t}, [])\n}\n\n/** custom hook use for providing filter functionality based on a text input field\n * @param filterFunction make sure this is wrapped in a useCallback\n * @param values items that should be filtered on (of type T) */\nexport function useTextFilter<T>(\n\tvalues: T[],\n\tfilterFunction: (value: T, filterValue: string) => boolean,\n): [T[], string, Dispatch<SetStateAction<string>>] {\n\tconst [filteredOptions, setFilteredOptions] = useState<T[]>([])\n\tconst [filterValue, setFilterValue] = useState<string>(\"\")\n\n\tuseEffect(() => {\n\t\tsetFilteredOptions(values.filter((value) => filterFunction(value, filterValue)))\n\t}, [filterFunction, filterValue, values])\n\n\treturn [filteredOptions, filterValue, setFilterValue]\n}\n\nexport const useSize = (target: RefObject<HTMLDivElement>): DOMRectReadOnly | undefined => {\n\tconst [size, setSize] = useState<DOMRectReadOnly>()\n\n\tuseLayoutEffect(() => {\n\t\tsetSize(target.current?.getBoundingClientRect())\n\t}, [target])\n\n\tconst handleResize = useCallback((entry: ResizeObserverEntry) => {\n\t\tconst rect = entry.contentRect\n\t\tsetSize(rect)\n\t}, [])\n\n\t// Where the magic happens\n\tuseResizeObserver<HTMLDivElement>(target, handleResize)\n\treturn size\n}\n\n/** Temporary solution for text overflow where we want the container to expand up to a max height and use ellipsis if\n * overflow still occurs. Manually break up the text into two lines and conditionally render them in separate divs.\n * The second line/div should have styling that enables ellipsis.\n * @param text The text to be split\n * @param numChars The number of characters that fit into the container\n **/\nexport const splitTextForEllipsisAndExpansion = (text: string, numChars: number) => {\n\tconst indexOfSpace = text.indexOf(\" \", numChars)\n\tconst firstLine = indexOfSpace === -1 ? text : text.substring(0, indexOfSpace)\n\tconst secondLine = indexOfSpace === -1 ? \"\" : text.substring(indexOfSpace)\n\n\treturn [firstLine, secondLine]\n}\n\nexport const genericMemo: <T>(component: T) => T = memo\n\ninterface IControlledState<TState> {\n\tstate?: TState\n\tsetState?: (state: TState) => void\n\tinitialState: TState\n}\nexport function useControlledState<TState>(args: IControlledState<TState>): [TState, (state: TState) => void] {\n\tconst { state, setState, initialState } = args\n\tconst [uncontrolledState, setUncontrolledState] = useState<TState>(initialState)\n\n\treturn [state !== undefined ? state : uncontrolledState, setState !== undefined ? setState : setUncontrolledState]\n}\n","import { createContext, CSSProperties, useContext } from \"react\"\n\nimport { NodeCallbacks, NodeRenderer } from \"./typings\"\n\ninterface ICollapsibleTreeContext<TMeta> extends NodeCallbacks<TMeta> {\n\tnodeClassName?: string\n\tnodeStyles?: CSSProperties\n\tdisabled: boolean\n\tnodeRenderer: NodeRenderer<TMeta>\n}\n\nexport const CollapsibleTreeContext = createContext<ICollapsibleTreeContext<never>>(\n\t{} as ICollapsibleTreeContext<unknown>,\n)\n\nexport function useCollapsibleTreeContext<TMeta>() {\n\treturn useContext(CollapsibleTreeContext) as ICollapsibleTreeContext<TMeta>\n}\n","import * as RadixPrimitiveCollapsible from \"@radix-ui/react-collapsible\"\nimport { cx } from \"class-variance-authority\"\nimport { useCallback, useMemo, useState } from \"react\"\n\nimport { genericMemo } from \"../utils\"\nimport { CollapsibleTreeContext, useCollapsibleTreeContext } from \"./context\"\nimport { CollapsibleTreeProps, TreeNodeProps } from \"./typings\"\n\nconst CollapsibleNode = genericMemo(function <TMeta>(props: TreeNodeProps<TMeta> & { level?: number }) {\n\tconst { meta, nodes, level = 0, disabled } = props\n\t/** controlling the open state to allow a developer to specify what element is responsible for triggering the open\n\t * and closing of the collapsible. */\n\tconst [controlledOpenState, setControlledOpenState] = useState<boolean>(false)\n\n\tconst {\n\t\tnodeRenderer,\n\t\tdisabled: disabledFromContext,\n\t\tonNodeOpen,\n\t\tonNodeClose,\n\t\tonNodeClick,\n\t\tnodeStyles,\n\t\tnodeClassName,\n\t} = useCollapsibleTreeContext<TMeta>()\n\n\t// Want to overwrite the global disabled state if defined specifically for a node\n\tconst isDisabled = disabled ?? disabledFromContext\n\n\tconst handleClick = useCallback(() => {\n\t\tif (onNodeClick) onNodeClick(meta)\n\t}, [meta, onNodeClick])\n\n\tconst toggleOpenState = useCallback(() => {\n\t\tsetControlledOpenState(!controlledOpenState)\n\n\t\t// If moving from closed to open, call onNodeOpen\n\t\tif (!controlledOpenState && onNodeOpen) onNodeOpen(meta)\n\n\t\t// If moving from open to closed, call onNodeClose\n\t\tif (controlledOpenState && onNodeClose) onNodeClose(meta)\n\t}, [meta, onNodeClose, onNodeOpen, controlledOpenState])\n\n\tconst { children, style, className } = useMemo(() => {\n\t\treturn nodeRenderer({\n\t\t\tmeta,\n\t\t\ttoggleOpen: toggleOpenState,\n\t\t\topen: controlledOpenState,\n\t\t\tdisabled: isDisabled,\n\t\t})\n\t}, [isDisabled, meta, nodeRenderer, toggleOpenState, controlledOpenState])\n\n\tconst combinedStyles = useMemo(\n\t\t() => ({\n\t\t\t// want node specific styles to overwrite and global node styles\n\t\t\t...nodeStyles,\n\t\t\t...style,\n\t\t}),\n\t\t[nodeStyles, style],\n\t)\n\n\treturn (\n\t\t<RadixPrimitiveCollapsible.Root asChild open={controlledOpenState} disabled={isDisabled}>\n\t\t\t<div className=\"flex w-full flex-col\">\n\t\t\t\t<div\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tclassName={cx(nodeClassName, className, \"flex w-full shrink-0 items-center\")}\n\t\t\t\t\tstyle={combinedStyles}\n\t\t\t\t\t// These are useful, and another way to style the TreeNode based on its open or disabled state\n\t\t\t\t\tdata-state={controlledOpenState ? \"open\" : \"closed\"}\n\t\t\t\t\tdata-disabled={isDisabled}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{nodes && nodes.length > 0 && (\n\t\t\t\t\t<RadixPrimitiveCollapsible.Content asChild>\n\t\t\t\t\t\t<div className=\"flex h-max w-full flex-col pl-2\">\n\t\t\t\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t\t\t\t<CollapsibleNode<TMeta>\n\t\t\t\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\t\t\t\tkey={`${level},${index}`}\n\t\t\t\t\t\t\t\t\t{...treeNodeProps}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</RadixPrimitiveCollapsible.Content>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</RadixPrimitiveCollapsible.Root>\n\t)\n})\n\n/** The Collapsible Tree Component is a reusable UI element that displays hierarchical data in a tree structure.\n * Nodes in the tree can be expanded or collapsed to show or hide their children, allowing for an intuitive and\n * space-efficient way to navigate complex data structures.*/\nexport const CollapsibleTree = genericMemo(function <TMeta>(props: CollapsibleTreeProps<TMeta>) {\n\tconst {\n\t\tnodes,\n\t\tdisabled = false,\n\t\tnodeClassName,\n\t\tnodeStyles,\n\t\tonNodeClick,\n\t\tonNodeClose,\n\t\tonNodeOpen,\n\t\tnodeRenderer,\n\t\t...rest\n\t} = props\n\treturn (\n\t\t<CollapsibleTreeContext.Provider\n\t\t\tvalue={{\n\t\t\t\tnodeRenderer,\n\t\t\t\tnodeClassName,\n\t\t\t\tnodeStyles,\n\t\t\t\tdisabled,\n\t\t\t\tonNodeClick,\n\t\t\t\tonNodeClose,\n\t\t\t\tonNodeOpen,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"flex h-max w-full flex-col\" {...rest}>\n\t\t\t\t{nodes.map((treeNodeProps, index) => (\n\t\t\t\t\t<CollapsibleNode<TMeta> key={`${0},${index}`} {...treeNodeProps} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</CollapsibleTreeContext.Provider>\n\t)\n})\n","import { createContext } from \"react\"\n\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport const CloseDialogContext = createContext({} as CloseDialogWithOptions)\n","import { useContext } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\n\nexport const useCloseDialog = () => {\n\tconst dialogContext = useContext(CloseDialogContext)\n\n\tif (!dialogContext) {\n\t\tthrow new Error(\"useDialog must be used within a DialogRoot\")\n\t}\n\n\treturn dialogContext\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, ReactNode, useMemo } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport type { AlertDialogSize } from \"../AlertDialog\"\nimport { dialogContent } from \"../AlertDialog/cva\"\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { useCloseDialog } from \"./hooks\"\nimport type { CloseDialogWithOptions } from \"./typings\"\n\nexport interface DialogContentProps extends Omit<RadixDialog.DialogContentProps, \"children\"> {\n\ttitle: string\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n\tsize?: AlertDialogSize\n\tchildren: ReactNode | ((close: CloseDialogWithOptions) => ReactNode)\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>((props, ref) => {\n\tconst { radius } = useProvider()\n\tconst close = useCloseDialog()\n\tconst { children, title, container, className, size, ...rest } = props\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(close) : children\n\t}, [children, close])\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Content\n\t\t\t\tclassName={cx(className, dialogContent({ size }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"flex h-max w-full justify-between\">\n\t\t\t\t\t<RadixDialog.Title className=\"font-medium\">{title}</RadixDialog.Title>\n\t\t\t\t\t<RadixDialog.Close>\n\t\t\t\t\t\t<IconButton accentColor=\"base\" size={size} variant=\"ghost\">\n\t\t\t\t\t\t\t<HiX />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixDialog.Close>\n\t\t\t\t</div>\n\t\t\t\t{computedChildren}\n\t\t\t</RadixDialog.Content>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogContent.displayName = \"DialogContent\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { dialogOverlay } from \"../AlertDialog/cva\"\n\nexport interface DialogOverlayProps extends RadixDialog.DialogOverlayProps {\n\tcontainer?: RadixDialog.DialogPortalProps[\"container\"]\n}\n\nexport const DialogOverlay = forwardRef<HTMLDivElement, DialogOverlayProps>((props, ref) => {\n\tconst { className, container, ...rest } = props\n\n\treturn (\n\t\t<RadixDialog.Portal container={container}>\n\t\t\t<RadixDialog.Overlay\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cx(className, dialogOverlay({}))}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixDialog.Portal>\n\t)\n})\nDialogOverlay.displayName = \"DialogOverlay\"\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\nimport { useCallback, useState } from \"react\"\n\nimport { CloseDialogContext } from \"./context\"\nimport type { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\nexport const DialogRoot = (props: DialogProps) => {\n\tconst {\n\t\tchildren,\n\t\tonOpen,\n\t\tonClose,\n\t\tdefaultOpen,\n\t\tonCloseInterrupt,\n\t\topen: externalOpen,\n\t\tonOpenChange: externalOpenChange,\n\t} = props\n\t// `innerOpen` used to track the open state of the dialog when `externalOpen` is undefined\n\tconst [innerOpen, setInnerOpen] = useState(defaultOpen ?? false)\n\tconst open = externalOpen ?? innerOpen\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (externalOpenChange) return externalOpenChange(next)\n\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => {\n\t\t\t\t\tsetInnerOpen(false)\n\t\t\t\t\tif (onClose) onClose()\n\t\t\t\t}\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t} else if (!next && onClose) {\n\t\t\t\tonClose()\n\t\t\t}\n\n\t\t\tsetInnerOpen(next)\n\t\t},\n\t\t[externalOpenChange, onOpen, onClose, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setInnerOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<CloseDialogContext.Provider value={closeDialog}>{children}</CloseDialogContext.Provider>\n\t\t</RadixDialog.Root>\n\t)\n}\n","import * as RadixDialog from \"@radix-ui/react-dialog\"\n\nimport { DialogContent } from \"./Content\"\nimport { DialogOverlay } from \"./Overlay\"\nimport { DialogRoot } from \"./Root\"\n\nexport * from \"./Content\"\nexport * from \"./Overlay\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const Dialog = {\n\tRoot: DialogRoot,\n\tContent: DialogContent,\n\tOverlay: DialogOverlay,\n\tTrigger: RadixDialog.Trigger,\n\tClose: RadixDialog.Close,\n}\n","import type { HeadingLevel } from \"./typings\"\n\nexport const headingLevelTagMapping: Record<HeadingLevel, \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"> = {\n\t\"1\": \"h1\",\n\t\"2\": \"h2\",\n\t\"3\": \"h3\",\n\t\"4\": \"h4\",\n\t\"5\": \"h5\",\n\t\"6\": \"h6\",\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const headingCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport type { AccentColorProps } from \"../typings\"\nimport { headingLevelTagMapping } from \"./constants\"\nimport { headingCva } from \"./cva\"\nimport type { HeadingVariantProps } from \"./typings\"\n\nexport interface HeadingProps extends PropsWithoutRef<ComponentProps<\"h1\">>, HeadingVariantProps, AccentColorProps {}\n\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>((props, ref) => {\n\tconst { className, level = \"1\", size, weight, align, highContrast = false, accentColor, ...rest } = props\n\tconst Tag = headingLevelTagMapping[level]\n\n\treturn (\n\t\t<Tag\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, headingCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nHeading.displayName = \"Heading\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface HoverCardArrowProps extends RadixHoverCard.HoverCardArrowProps {}\n\nexport const HoverCardArrow = forwardRef<SVGSVGElement, HoverCardArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixHoverCard.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nHoverCardArrow.displayName = \"HoverCardArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const hoverCardContent = cva([\"bg-(--base-1)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { hoverCardContent } from \"./cva\"\nimport type { HoverCardVariantProps } from \"./typings\"\n\nexport interface HoverCardContentProps extends RadixHoverCard.HoverCardContentProps, HoverCardVariantProps {\n\tcontainer?: RadixHoverCard.HoverCardPortalProps[\"container\"]\n}\n\nexport const HoverCardContent = forwardRef<HTMLDivElement, HoverCardContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tside,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsideOffset = 4,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixHoverCard.Portal container={container}>\n\t\t\t<RadixHoverCard.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\thoverCardContent({ size }),\n\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tside={side}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixHoverCard.Portal>\n\t)\n})\nHoverCardContent.displayName = \"HoverCardContent\"\n","import * as RadixHoverCard from \"@radix-ui/react-hover-card\"\n\nimport { HoverCardArrow } from \"./Arrow\"\nimport { HoverCardContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const HoverCard = {\n\tArrow: HoverCardArrow,\n\tContent: HoverCardContent,\n\tRoot: RadixHoverCard.Root,\n\tTrigger: RadixHoverCard.Trigger,\n}\n","import { FC, memo, PointerEventHandler, ReactElement, useCallback, useState } from \"react\"\n\ninterface ChildProps {\n\tisHovered: boolean\n\tonPointerEnter: PointerEventHandler<HTMLElement>\n\tonPointerLeave: PointerEventHandler<HTMLElement>\n}\ninterface HoverUtilityProps {\n\tforceHover?: boolean\n\tchildren: (props: ChildProps) => ReactElement\n}\n\n/** HoverUtility is a utility component used for detecting when an element is being hovered over or not, is passes a\n * isHovered variable to its children as well as props onPointerEnter and onPointerLeave that can be spread on any\n * child component that should be used as the element to observe hovering on. See stories of examples of its use. */\nexport const HoverUtility: FC<HoverUtilityProps> = memo(function Root({ children, forceHover }: HoverUtilityProps) {\n\tconst [isHovered, setIsHovered] = useState<boolean>(false)\n\n\tconst handlePointerEnter = useCallback(() => {\n\t\tsetIsHovered(true)\n\t}, [])\n\n\tconst handlePointerLeave = useCallback(() => {\n\t\tsetIsHovered(false)\n\t}, [])\n\n\treturn children({\n\t\tisHovered: forceHover !== undefined ? forceHover : isHovered,\n\t\tonPointerEnter: handlePointerEnter,\n\t\tonPointerLeave: handlePointerLeave,\n\t})\n})\n","import { createContext } from \"react\"\n\nimport type { InputSize, InputVariant } from \"./typings\"\n\ninterface IInputContext {\n\tsize: InputSize\n\tvariant: InputVariant\n}\n\nexport const InputContext = createContext<IInputContext>({} as IInputContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"has-[:focus]:outline-2\",\n\t\t\"has-[:focus]:outline-(--accent-8)\",\n\t\t\"has-[:focus]:-outline-offset-1\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"inset-ring\", \"inset-ring-(--accent-a7)\", \"bg-(--accent-surface)\", \"text-(--accent-a12)\"],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-12)\"],\n\t\t\t\toutline: [\"inset-ring\", \"inset-ring-(--base-a7)\", \"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t\tghost: [\"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"surface\",\n\t\t},\n\t},\n)\n\nexport const inputField = cva([\"peer-[.slot]/slot:indent-0\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\tsoft: [\"placeholder-(--accent-12)\", \"placeholder:opacity-60\", \"selection:bg-(--accent-a5)\"],\n\t\t\toutline: [\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\"],\n\t\t\tghost: ['placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)'],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"indent-1\"],\n\t\t\tsm: [\"indent-1.5\"],\n\t\t\tmd: [\"indent-2\"],\n\t\t\tlg: [\"indent-2.5\"],\n\t\t\txl: [\"indent-3\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"surface\",\n\t},\n})\n\nexport const inputSlot = cva([\"peer/slot\", \"slot\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"px-1\"],\n\t\t\tsm: [\"px-1.5\"],\n\t\t\tmd: [\"px-2\"],\n\t\t\tlg: [\"px-2.5\"],\n\t\t\txl: [\"px-3\"],\n\t\t},\n\t\tvariant: {\n\t\t\tsurface: [\"text-(--accent-12)\"],\n\t\t\tsoft: [\"text-(--accent-12)\"],\n\t\t\toutline: [\"text-(--base-a11)\"],\n\t\t\tghost: [\"text-(--base-a11)\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputField } from \"./cva\"\n\nexport interface InputFieldProps extends PropsWithoutRef<ComponentProps<\"input\">> {}\n\nexport const InputField = forwardRef<HTMLInputElement, InputFieldProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn (\n\t\t<input\n\t\t\tclassName={cx(className, inputField({ size, variant }), \"grow bg-transparent outline-0\")}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nInputField.displayName = \"InputField\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { InputContext } from \"./context\"\nimport { inputRoot } from \"./cva\"\nimport type { InputVariantProps } from \"./typings\"\n\nexport interface InputRootProps extends InputVariantProps, PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputRoot = forwardRef<HTMLDivElement, InputRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tvariant = \"surface\",\n\t\tsize = \"md\",\n\t\taccentColor = providerContext.accentColor,\n\t\tradius = providerContext.radius,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<InputContext.Provider value={{ size, variant }}>\n\t\t\t<div\n\t\t\t\tclassName={cx(className, inputRoot({ variant, size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</InputContext.Provider>\n\t)\n})\nInputRoot.displayName = \"InputRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { InputContext } from \"./context\"\nimport { inputSlot } from \"./cva\"\n\nexport interface InputSlotProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const InputSlot = forwardRef<HTMLDivElement, InputSlotProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\tconst { size, variant } = useContext(InputContext)\n\n\treturn <div className={cx(className, inputSlot({ size, variant }), \"flex items-center\")} ref={ref} {...rest} />\n})\nInputSlot.displayName = \"InputSlot\"\n","import { InputField } from \"./Field\"\nimport { InputRoot } from \"./Root\"\nimport { InputSlot } from \"./Slot\"\n\nexport * from \"./Field\"\nexport * from \"./Root\"\nexport * from \"./Slot\"\nexport * from \"./typings\"\n\nexport const Input = {\n\tField: InputField,\n\tRoot: InputRoot,\n\tSlot: InputSlot,\n}\n","import { createContext, Dispatch, SetStateAction, useContext } from \"react\"\n\ninterface ILayoutContent {\n\tsmall: boolean\n\thideLayout: boolean\n\t/** controlled value for open state of LeftSlideOut Component. */\n\tshowLeftSlideOut: boolean\n\tsetShowLeftSlideOut: Dispatch<SetStateAction<boolean>>\n\t/** controlled value for open state of RightSlideOut Component. */\n\tshowRightSlideOut: boolean\n\tsetShowRightSlideOut: Dispatch<SetStateAction<boolean>>\n}\n\nexport const LayoutContext = createContext<ILayoutContent>({} as ILayoutContent)\n\nexport const useLayoutContext = () => useContext(LayoutContext)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef } from \"react\"\n\nimport { useLayoutContext } from \"./context\"\n\nexport interface ContainerProps extends PropsWithoutRef<ComponentProps<\"div\">> {}\n\nexport const Container = memo(\n\tforwardRef<HTMLDivElement, ContainerProps>((props, ref) => {\n\t\tconst { children, className, ...rest } = props\n\t\tconst { hideLayout = false } = useLayoutContext()\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<div className={cx(className, \"flex h-full grow\")} ref={ref} {...rest}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { memo, PropsWithChildren, useMemo, useState } from \"react\"\n\nimport { LayoutContext } from \"./context\"\n\nexport interface RootProps extends PropsWithChildren {\n\t/** TODO: DOCUMENT THIS HEAVILY\n\t * @default false */\n\tsmall?: boolean\n\t/** controls if all Layout Components should be hidden\n\t * @default false */\n\thideLayout?: boolean\n}\n\n/** */\nexport const Root = memo((props: RootProps) => {\n\tconst { children, small = false, hideLayout = false } = props\n\tconst [showLeftSlideOut, setShowLeftSlideOut] = useState<boolean>(false)\n\tconst [showRightSlideOut, setShowRightSlideOut] = useState<boolean>(false)\n\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tsmall,\n\t\t\thideLayout,\n\t\t\tshowLeftSlideOut,\n\t\t\tsetShowLeftSlideOut,\n\t\t\tshowRightSlideOut,\n\t\t\tsetShowRightSlideOut,\n\t\t}),\n\t\t[hideLayout, showLeftSlideOut, showRightSlideOut, small],\n\t)\n\n\treturn <LayoutContext.Provider value={contextValue}>{children}</LayoutContext.Provider>\n})\nRoot.displayName = \"Layout.Root\"\n","/**\n * MIT License\n * Copyright (c) 2022 WorkOS\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n **/\nimport { useEffect, useMemo, useRef } from \"react\"\nimport ReactDOM from \"react-dom\"\n\ntype PointerDownOutsideEvent = CustomEvent<{ originalEvent: PointerEvent }>\n\n// THE CODE IN THIS FILE WAS COPIED FROM @radix-ui/react-dissmissable-layer NPM REPO.\n// https://github.com/radix-ui/primitives/tree/main/packages/react/dismissable-layer\n\n/**\n * Listens for `pointerdown` outside a React subtree. We use `pointerdown` rather than `pointerup`\n * to mimic layer-dismissing behavior present in OS.\n * Returns props to pass to the node we want to check for outside events.\n */\nexport function usePointerDownOutside(\n\tonPointerDownOutside?: (event: PointerDownOutsideEvent) => void,\n\townerElement: HTMLElement | undefined = globalThis?.document.body,\n) {\n\tconst handlePointerDownOutside = useCallbackRef(onPointerDownOutside) as EventListener\n\tconst isPointerInsideReactTreeRef = useRef<boolean>(false)\n\tconst handleClickRef = useRef(() => {})\n\n\tuseEffect(() => {\n\t\tconst handlePointerDown = (event: PointerEvent) => {\n\t\t\tif (event.target && !isPointerInsideReactTreeRef.current) {\n\t\t\t\tconst eventDetail = { originalEvent: event }\n\n\t\t\t\tconst handleAndDispatchPointerDownOutsideEvent = () => {\n\t\t\t\t\thandleAndDispatchCustomEvent(\"pointerDownOutside\", handlePointerDownOutside, eventDetail, {\n\t\t\t\t\t\tdiscrete: true,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * On touch devices, we need to wait for a click event because browsers implement\n\t\t\t\t * a ~350ms delay between the time the user stops touching the display and when the\n\t\t\t\t * browser executres events. We need to ensure we don't reactivate pointer-events within\n\t\t\t\t * this timeframe otherwise the browser may execute events that should have been prevented.\n\t\t\t\t *\n\t\t\t\t * Additionally, this also lets us deal automatically with cancellations when a click event\n\t\t\t\t * isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.\n\t\t\t\t *\n\t\t\t\t * This is why we also continuously remove the previous listener, because we cannot be\n\t\t\t\t * certain that it was raised, and therefore cleaned-up.\n\t\t\t\t */\n\t\t\t\tif (event.pointerType === \"touch\") {\n\t\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t\t\thandleClickRef.current = handleAndDispatchPointerDownOutsideEvent\n\t\t\t\t\townerElement.addEventListener(\"click\", handleClickRef.current, { once: true })\n\t\t\t\t} else {\n\t\t\t\t\thandleAndDispatchPointerDownOutsideEvent()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// We need to remove the event listener in case the outside click has been canceled.\n\t\t\t\t// See: https://github.com/radix-ui/primitives/issues/2171\n\t\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t\t}\n\t\t\tisPointerInsideReactTreeRef.current = false\n\t\t}\n\t\t/**\n\t\t * if this hook executes in a component that mounts via a `pointerdown` event, the event\n\t\t * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n\t\t * this by delaying the event listener registration on the document.\n\t\t * This is not React specific, but rather how the DOM works, ie:\n\t\t * ```\n\t\t * button.addEventListener('pointerdown', () => {\n\t\t * console.log('I will log');\n\t\t * document.addEventListener('pointerdown', () => {\n\t\t * console.log('I will also log');\n\t\t * })\n\t\t * });\n\t\t */\n\t\tconst timerId = window.setTimeout(() => {\n\t\t\townerElement.addEventListener(\"pointerdown\", handlePointerDown)\n\t\t}, 0)\n\t\treturn () => {\n\t\t\twindow.clearTimeout(timerId)\n\t\t\townerElement.removeEventListener(\"pointerdown\", handlePointerDown)\n\t\t\townerElement.removeEventListener(\"click\", handleClickRef.current)\n\t\t}\n\t}, [ownerElement, handlePointerDownOutside])\n\n\treturn {\n\t\t// ensures we check React component tree (not just DOM tree)\n\t\tonPointerDownCapture: () => (isPointerInsideReactTreeRef.current = true),\n\t}\n}\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E[\"target\"], event: E) {\n\tif (target) ReactDOM.flushSync(() => target.dispatchEvent(event))\n}\nfunction handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>(\n\tname: string,\n\thandler: ((event: E) => void) | undefined,\n\tdetail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),\n\t{ discrete }: { discrete: boolean },\n) {\n\tconst target = detail.originalEvent.target\n\tconst event = new CustomEvent(name, { bubbles: false, cancelable: true, detail })\n\tif (handler) target.addEventListener(name, handler as EventListener, { once: true })\n\n\tif (discrete) {\n\t\tdispatchDiscreteCustomEvent(target, event)\n\t} else {\n\t\ttarget.dispatchEvent(event)\n\t}\n}\n\n/** custom hook used for creating a ref to a callback */\nexport function useCallbackRef<\n\tT extends (\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t...args: any[]\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t) => any,\n>(callback: T | undefined): T {\n\tconst callbackRef = useRef(callback)\n\n\tuseEffect(() => {\n\t\tcallbackRef.current = callback\n\t})\n\n\treturn useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, [])\n}\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { cx } from \"class-variance-authority\"\nimport { NumberSize, Resizable, ResizeDirection } from \"re-resizable\"\nimport {\n\tCSSProperties,\n\tforwardRef,\n\tmemo,\n\tPropsWithChildren,\n\tReactNode,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\nimport { PropsWithClassNameAndStyle } from \"../typings\"\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 SlideOutV3Props extends PropsWithChildren, PropsWithClassNameAndStyle {\n\t/** The controlled open state of the SlideOut */\n\topen: boolean\n\t/** specifies if the SlideOut is in modal mode or not.\n\t * If in modal mode, onDismiss prop should be passed\n\t * to the SlideOut component as well.\n\t * @default false */\n\tmodal?: boolean\n\t/** hides the SlideOut and its overlay but doesn't change the open state of the SlideOut. Should be used if\n\t * the SlideOut needs to be hidden for some reason but not triggering a close\n\t * @default false\n\t * */\n\thide?: boolean\n\t/** The side the SlideOut should position on and \"slide-in\" from */\n\tside: \"left\" | \"right\"\n\t/** controls if the SlideOut can be resized by the user\n\t * @default true\n\t * */\n\tresizeable?: boolean\n\t/** controls the positioning of the SlideOut.\n\t * When absolute, the SlideOut will overlay other\n\t * content within its parent container.\n\t * When relative, the SlideOut exists with and pushes other content within\n\t * its parent container.\n\t * @default \"relative\"\n\t * */\n\tposition?: \"relative\" | \"absolute\"\n\t/** sets the initialWidth of the SlideOut, can be expressed in any valid CSS size unit */\n\tinitialWidth: number | string\n\t/** sets the minimum width of the SlideOut can be expressed in any valid CSS size unit */\n\tminWidth?: number | string\n\t/** sets the maximum width of the SlideOut can be expressed in any valid CSS size unit */\n\tmaxWidth?: number | string\n\t/** callback fired when the SlideOut should be dismissed (closed) when in modal mode. The type of event resulting in\n\t * the SlideOut dismissal is passed with the callback. */\n\tonDismiss?: () => void\n\t/** callback fired when the SlideOut has finished sliding out (closing) */\n\tonClosed?: () => void\n\t/** callback fired when the SlideOut starts sliding in (opening) */\n\tonOpening?: () => void\n\t/** overlay to be rendered when the SlideOut is open*/\n\toverlayComponent?: ReactNode\n\t/** content to be rendered within the SlideOut */\n\tcontent: ReactNode | null\n}\n\nconst TIMEOUT_DURATION = 3000\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 SlideOutV3 = memo(\n\tforwardRef<HTMLDivElement, SlideOutV3Props>((props, ref) => {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tstyle,\n\t\t\tchildren,\n\t\t\topen,\n\t\t\thide = false,\n\t\t\tmodal = false,\n\t\t\toverlayComponent,\n\t\t\tresizeable = true,\n\t\t\tside,\n\t\t\tposition = \"relative\",\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonDismiss,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t\tcontent,\n\t\t} = props\n\t\tconst isLeft = side === \"left\"\n\t\tconst [parentContainer, setParentContainer] = useState<HTMLElement>(document.body)\n\t\tconst childrenContainerRef = useRef<HTMLDivElement>(null)\n\t\tconst [slideOutWidth, setSlideOutWidth] = useState<number | string>(initialWidth)\n\n\t\t// Callback used to track the width of the SlideOut\n\t\tconst handleResize = useCallback(\n\t\t\t(_event: MouseEvent | TouchEvent, _dir: ResizeDirection, ref: HTMLElement, _delta: NumberSize) => {\n\t\t\t\tsetSlideOutWidth(ref.clientWidth)\n\t\t\t},\n\t\t\t[],\n\t\t)\n\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\t// Only allow the onDismiss behavior to work when in modal mode\n\t\t\tif (modal && onDismiss) {\n\t\t\t\tonDismiss()\n\t\t\t}\n\t\t}, [modal, onDismiss])\n\n\t\t/** Callback used to assign the Parent Container ref. Using state is necessary here to cause a rerender resetting\n\t\t * the usePointerDownOutside hook which is responsible for detecting pointer events outside the SlideOut component.\n\t\t * It needs to attach the appropriate event listeners to the SlideOuts parent element for this to happen. */\n\t\tconst handleAssignParentContainer = useCallback((element: HTMLDivElement | null) => {\n\t\t\tif (element) {\n\t\t\t\tsetParentContainer(element)\n\t\t\t}\n\t\t}, [])\n\n\t\t/** Want to reset the current width of the SlideOut when initial width changes. This allows for the width to\n\t\t * be changed depending on the viewport size, for example. */\n\t\tuseEffect(() => {\n\t\t\tsetSlideOutWidth(initialWidth)\n\t\t}, [initialWidth])\n\n\t\t// TODO: determine if this set up for disabling and re-enabling pointer events on sibling content makes sense\n\t\tuseEffect(() => {\n\t\t\tif (!childrenContainerRef.current) return\n\t\t\tconst originalParentPointerEvents = childrenContainerRef.current.style.pointerEvents\n\n\t\t\t// In modal mode, all pointerEvents should be disabled for all other content within the parent container\n\t\t\t// besides the SlideOut content itself\n\t\t\tif (open && modal) {\n\t\t\t\tchildrenContainerRef.current.style.pointerEvents = \"none\"\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (childrenContainerRef.current) {\n\t\t\t\t\t// this warning is invalid because the ref (childrenContainerRef) is immutable\n\t\t\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t\t\tchildrenContainerRef.current.style.pointerEvents = originalParentPointerEvents\n\t\t\t\t}\n\t\t\t}\n\t\t}, [modal, open, parentContainer.style])\n\n\t\t/** custom hook used for attaching event listeners and dispatching custom \"PointerDownOutside\" events.\n\t\t * It aims at detecting PointerEvents that occur OUTSIDE the SlideOut content. In this case, these event\n\t\t * listeners are attached to the parent container of the SlideOut. It returns a React Event handler that\n\t\t * should be used for capturing PointerEvents that occur WITHIN the SlideOut so those don't cause the SlideOut to close.\n\t\t * If this was not attached to the SlideOut itself, then the PointerEvents would bubble up to the parent causing\n\t\t * PointerEvents WITHIN the SlideOut to close the SlideOut, which is undesired */\n\t\tconst { onPointerDownCapture: handlePointerDownCapture } = usePointerDownOutside(handleDismiss, parentContainer)\n\n\t\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\t\tconst CSSTransitionClassNames = useMemo(\n\t\t\t() => ({\n\t\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t\tenterActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\t\texitActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t}),\n\t\t\t[isLeft],\n\t\t)\n\n\t\tconst resizableSize = useMemo(\n\t\t\t() =>\n\t\t\t\t// prettier-ignore\n\t\t\t\t({ width: slideOutWidth, height: \"100%\" }),\n\t\t\t[slideOutWidth],\n\t\t)\n\n\t\tconst resizableStyle = useMemo(\n\t\t\t() =>\n\t\t\t\t({\n\t\t\t\t\tposition: position,\n\t\t\t\t\t\"--slide-out-width\": `${slideOutWidth}${typeof slideOutWidth === \"number\" ? \"px\" : \"\"}`,\n\t\t\t\t}) as CSSProperties,\n\t\t\t[position, slideOutWidth],\n\t\t)\n\n\t\tconst resizableEnable = useMemo(\n\t\t\t() => ({ left: resizeable && !isLeft, right: resizeable && isLeft }),\n\t\t\t[isLeft, resizeable],\n\t\t)\n\n\t\tconst SlideOut = useMemo(\n\t\t\t() => (\n\t\t\t\t<CSSTransition\n\t\t\t\t\tclassNames={CSSTransitionClassNames}\n\t\t\t\t\tin={open}\n\t\t\t\t\ttimeout={TIMEOUT_DURATION}\n\t\t\t\t\tunmountOnExit\n\t\t\t\t\tmountOnEnter\n\t\t\t\t\tonEntering={onOpening}\n\t\t\t\t\tonExited={onClosed}\n\t\t\t\t>\n\t\t\t\t\t<Slot\n\t\t\t\t\t\tclassName={cx(className, \"top-0\", \"bottom-0\", {\n\t\t\t\t\t\t\t\"left-0\": isLeft,\n\t\t\t\t\t\t\t\"right-0\": !isLeft,\n\t\t\t\t\t\t\tabsolute: position === \"absolute\",\n\t\t\t\t\t\t\trelative: position === \"relative\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\tonPointerDownCapture={handlePointerDownCapture}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Resizable\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t\tonResize={handleResize}\n\t\t\t\t\t\t\tsize={resizableSize}\n\t\t\t\t\t\t\tstyle={resizableStyle}\n\t\t\t\t\t\t\tminWidth={minWidth}\n\t\t\t\t\t\t\tmaxWidth={maxWidth}\n\t\t\t\t\t\t\tenable={resizableEnable}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t</Resizable>\n\t\t\t\t\t</Slot>\n\t\t\t\t</CSSTransition>\n\t\t\t),\n\t\t\t[\n\t\t\t\tCSSTransitionClassNames,\n\t\t\t\topen,\n\t\t\t\tonOpening,\n\t\t\t\tonClosed,\n\t\t\t\tclassName,\n\t\t\t\tisLeft,\n\t\t\t\tposition,\n\t\t\t\tstyle,\n\t\t\t\thandlePointerDownCapture,\n\t\t\t\tref,\n\t\t\t\thandleResize,\n\t\t\t\tresizableSize,\n\t\t\t\tresizableStyle,\n\t\t\t\tminWidth,\n\t\t\t\tmaxWidth,\n\t\t\t\tresizableEnable,\n\t\t\t\tcontent,\n\t\t\t],\n\t\t)\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"relative flex h-full max-h-full w-full max-w-full overflow-hidden\"\n\t\t\t\tref={handleAssignParentContainer}\n\t\t\t>\n\t\t\t\t{side === \"left\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t<div className=\"flex h-full max-w-full grow overflow-hidden\" ref={childrenContainerRef}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{side === \"right\" && !hide && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{open && overlayComponent} {content && SlideOut}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { Dispatch, forwardRef, memo, SetStateAction, useCallback, useEffect, useMemo } from \"react\"\n\nimport { SlideOutV2Props } from \"../SlideOut\"\nimport { SlideOutV3, SlideOutV3Props } from \"../SlideOutV3\"\nimport { useLayoutContext } from \"./context\"\n\nconst DEFAULT_INITIAL_WIDTH = \"30%\"\n\ninterface SlideOutProps extends Omit<SlideOutV3Props, \"open\" | \"initialWidth\"> {\n\t/** controls if the SlideOut is initially open once mounted when NOT in smallMode.\n\t * NOTE: changing the value of this will cause the SlideOut to open/close after mounting NOT in smallMode depending on\n\t * its passed in value.\n\t * @default false */\n\tdefaultOpen?: {\n\t\tsmall?: boolean\n\t\tlarge?: boolean\n\t}\n\t/** optional prop to control the open state of the SlideOut */\n\topen?: SlideOutV2Props[\"open\"]\n\t/** optional prop to control the initialWidth of the SlideOut\n\t * @default \"30%\" */\n\tinitialWidth?: SlideOutV2Props[\"initialWidth\"]\n}\n\nconst SlideOut = memo(\n\tforwardRef<\n\t\tHTMLDivElement,\n\t\tSlideOutProps & {\n\t\t\t// seperated these here since don't want them to be actual attributes of SlideOutProps\n\t\t\tshowSlideOut: boolean\n\t\t\tsetShowSlideOut: Dispatch<SetStateAction<boolean>>\n\t\t}\n\t>((props, ref) => {\n\t\tconst { small, hideLayout } = useLayoutContext()\n\t\tconst { className, showSlideOut, setShowSlideOut, defaultOpen, side, ...rest } = props\n\n\t\tuseEffect(() => {\n\t\t\t// check if defaultOpenSmallMode specified\n\t\t\tif (small && defaultOpen?.small !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.small)\n\t\t\t} else if (!small && defaultOpen?.large !== undefined) {\n\t\t\t\tsetShowSlideOut(defaultOpen?.large)\n\t\t\t}\n\t\t}, [defaultOpen, setShowSlideOut, small])\n\n\t\t/** Callback for when SlideOut should be dismissed, only gets called when SlideOuts are open */\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\tsetShowSlideOut(false)\n\t\t}, [setShowSlideOut])\n\n\t\t// Merging props controlled and uncontrolled props\n\t\tconst mergedProps = useMemo(\n\t\t\t() => ({\n\t\t\t\t// controlled props\n\t\t\t\t...{\n\t\t\t\t\topen: showSlideOut,\n\t\t\t\t\tinitialWidth: DEFAULT_INITIAL_WIDTH,\n\t\t\t\t\tmodal: small,\n\t\t\t\t\tonDismiss: handleDismiss,\n\t\t\t\t\tposition: (small ? \"absolute\" : \"relative\") as \"relative\" | \"absolute\",\n\t\t\t\t},\n\t\t\t\t// uncontrolled props\n\t\t\t\t...rest,\n\t\t\t}),\n\t\t\t[handleDismiss, rest, showSlideOut, small],\n\t\t)\n\n\t\treturn (\n\t\t\t!hideLayout && (\n\t\t\t\t<SlideOutV3\n\t\t\t\t\tclassName={cx(`overmap-layout-slideOut-${side}`, className)}\n\t\t\t\t\tside={side}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...mergedProps}\n\t\t\t\t/>\n\t\t\t)\n\t\t)\n\t}),\n)\n\n/** Type used for both Layout.LeftSlideOut and Layout.RightSlideOut */\nexport interface LayoutSlideOutProps extends Omit<SlideOutProps, \"side\"> {}\n\n/** TODO: Document */\nexport const LeftSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showLeftSlideOut, setShowLeftSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOut\n\t\t\t\tside=\"left\"\n\t\t\t\tshowSlideOut={showLeftSlideOut}\n\t\t\t\tsetShowSlideOut={setShowLeftSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n\n/** TODO: Document */\nexport const RightSlideOut = memo(\n\tforwardRef<HTMLDivElement, LayoutSlideOutProps>((props, ref) => {\n\t\tconst { showRightSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\treturn (\n\t\t\t<SlideOut\n\t\t\t\tside=\"right\"\n\t\t\t\tshowSlideOut={showRightSlideOut}\n\t\t\t\tsetShowSlideOut={setShowRightSlideOut}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, memo, PropsWithoutRef, useMemo } from \"react\"\n\nimport { SlideOutV3Props } from \"../SlideOutV3\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface LayoutOverlayProps extends PropsWithoutRef<ComponentProps<\"div\">> {\n\tactive?: boolean\n\tside: SlideOutV3Props[\"side\"]\n\t// TODO: Might want to rename this once standardized\n\tsmallModeOnly?: boolean\n}\nexport const SlideOutOverlay = memo(\n\tforwardRef<HTMLDivElement, LayoutOverlayProps>((props, ref) => {\n\t\tconst { className, active, side, smallModeOnly = false, ...rest } = props\n\t\tconst { small, hideLayout, showLeftSlideOut, showRightSlideOut } = useLayoutContext()\n\n\t\tconst showOverlay = useMemo(() => {\n\t\t\t// If being controlled, return controlled state\n\t\t\tif (active !== undefined) return active\n\n\t\t\t// If layout current being hidden, set to false\n\t\t\tif (hideLayout) return false\n\n\t\t\t// If smallModeOnly but not in smallMode, set to false\n\t\t\tif (smallModeOnly && !small) return false\n\n\t\t\t// Otherwise return based on the open state\n\t\t\treturn side === \"left\" ? showLeftSlideOut : showRightSlideOut\n\t\t}, [active, hideLayout, showLeftSlideOut, showRightSlideOut, side, small, smallModeOnly])\n\n\t\treturn (\n\t\t\tshowOverlay && (\n\t\t\t\t<div className={cx(\"overmap-layout-overlay\", className, \"fixed inset-0\")} ref={ref} {...rest} />\n\t\t\t)\n\t\t)\n\t}),\n)\n","import { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, PropsWithChildren, useCallback } from \"react\"\n\nimport { SlideOutV3Props } from \"../SlideOutV3\"\nimport { useLayoutContext } from \"./context\"\n\nexport interface SlideOutTriggerProps extends PropsWithChildren {\n\tside: SlideOutV3Props[\"side\"]\n\ttype?: \"toggle\" | \"open\" | \"close\"\n}\n\nfunction nextStateBasedOnType(prevState: boolean, type: \"toggle\" | \"open\" | \"close\") {\n\tswitch (type) {\n\t\tcase \"toggle\":\n\t\t\treturn !prevState\n\t\tcase \"open\":\n\t\t\treturn true\n\t\tcase \"close\":\n\t\t\treturn false\n\t}\n}\nexport const SlideOutTrigger = memo(\n\tforwardRef<HTMLButtonElement, SlideOutTriggerProps>((props, ref) => {\n\t\tconst { side, type = \"toggle\", children } = props\n\t\tconst { setShowLeftSlideOut, setShowRightSlideOut } = useLayoutContext()\n\n\t\tconst handleClick = useCallback(() => {\n\t\t\tconst setShowSlideOut = side === \"left\" ? setShowLeftSlideOut : setShowRightSlideOut\n\t\t\tsetShowSlideOut((prevState) => nextStateBasedOnType(prevState, type))\n\t\t}, [setShowLeftSlideOut, setShowRightSlideOut, side, type])\n\n\t\treturn (\n\t\t\t<Slot ref={ref} onClick={handleClick}>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { Container } from \"./Container\"\nimport { Root } from \"./Root\"\nimport { LeftSlideOut, RightSlideOut } from \"./SlideOut\"\nimport { SlideOutOverlay } from \"./SlideOutOverlay\"\nimport { SlideOutTrigger } from \"./SlideOutTrigger\"\n\nexport const Layout = {\n\tRoot,\n\tContainer,\n\tSlideOutOverlay,\n\tLeftSlideOut,\n\tRightSlideOut,\n\tSlideOutTrigger,\n}\nexport type * from \"./Container\"\nexport * from \"./context\"\nexport type * from \"./Root\"\nexport type * from \"./SlideOut\"\nexport type * from \"./SlideOutOverlay\"\nexport type * from \"./SlideOutTrigger\"\n","import { cva } from \"class-variance-authority\"\n\nexport const linkCva = cva([\"cursor-pointer\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\tnone: [\"[font-size:inherit]\", \"leading-[inherit]\"],\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"none\",\n\t\tweight: \"regular\",\n\t\talign: \"left\",\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { linkCva } from \"./cva\"\nimport type { LinkVariantProps } from \"./typings\"\n\nexport interface LinkProps extends PropsWithoutRef<ComponentProps<\"a\">>, LinkVariantProps {}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tweight = \"regular\",\n\t\talign = \"left\",\n\t\thighContrast = false,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<a\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, linkCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !highContrast,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nLink.displayName = \"Link\"\n","import { createContext } from \"react\"\n\nimport type { CheckedState } from \"./typings\"\n\nexport const CheckedIndicatorContext = createContext({} as CheckedState)\n","import { FC, PropsWithChildren, useContext } from \"react\"\n\nimport { CheckedIndicatorContext } from \"./context\"\n\nexport interface CheckedIndicatorProps {\n\tchildren: PropsWithChildren[\"children\"] | ((indeterminate: boolean) => PropsWithChildren[\"children\"])\n}\n\nexport const CheckedIndicator: FC<CheckedIndicatorProps> = (props) => {\n\tconst { children } = props\n\n\tconst checked = useContext(CheckedIndicatorContext)\n\n\tconst computedChildren = typeof children === \"function\" ? children(checked === \"indeterminate\") : children\n\n\treturn checked !== false ? computedChildren : null\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const menuItem = cva(\n\t[\"select-none\", \"relative\", \"flex\", \"items-center\", \"rounded\", \"outline-none\", \"data-disabled:text-(--base-a8)\"],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-1\", \"px-1\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-1.5\", \"px-1.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-2\", \"px-2\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-2.5\", \"px-2.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-3\", \"px-3\"],\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tsolid: [\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:text-(--accent-contrast)\",\n\t\t\t\t\t\"data-highlighted:not-data-disabled:bg-(--accent-a9)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"text-(--base-12)\", \"data-highlighted:not-data-disabled:bg-(--accent-a4)\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tvariant: \"soft\",\n\t\t},\n\t},\n)\n\nexport const menuSeparator = cva([\"h-px\", \"bg-(--base-a6)\", \"w-auto\", \"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"-mx-1\", \"my-1\"],\n\t\t\tsm: [\"-mx-1.5\", \"my-1.5\"],\n\t\t\tmd: [\"-mx-2\", \"my-2\"],\n\t\t\tlg: [\"-mx-2.5\", \"my-2.5\"],\n\t\t\txl: [\"-mx-3\", \"my-3\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuSelectedIndicator = cva([\"flex\", \"items-center\", \"justify-center\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"w-4\", \"h-4\"],\n\t\t\tsm: [\"w-5\", \"h-5\"],\n\t\t\tmd: [\"w-6\", \"h-6\"],\n\t\t\tlg: [\"w-7\", \"h-7\"],\n\t\t\txl: [\"w-8\", \"h-8\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const menuContent = cva(\n\t[\n\t\t\"flex\",\n\t\t\"flex-col\",\n\t\t\"w-max\",\n\t\t\"outline-none\",\n\t\t\"pointer-events-auto\",\n\t\t\"bg-(--base-1)\",\n\t\t\"ring-1\",\n\t\t\"ring-(--base-6)\",\n\t\t\"overflow-hidden\",\n\t\t// \"[scrollbar-width:thin]\",\n\t\t// \"[scrollbar-color:var(--base-6)_transparent]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"p-0.5\", \"text-xs\"],\n\t\t\t\tsm: [\"p-0.75\", \"text-sm\"],\n\t\t\t\tmd: [\"p-1\", \"text-md\"],\n\t\t\t\tlg: [\"p-1.25\", \"text-lg\"],\n\t\t\t\txl: [\"p-1.5\", \"text-xl\"],\n\t\t\t},\n\t\t\tradius: {\n\t\t\t\tnone: [\"rounded-none\"],\n\t\t\t\txs: [\"rounded-xs\"],\n\t\t\t\tsm: [\"rounded-sm\"],\n\t\t\t\tmd: [\"rounded-md\"],\n\t\t\t\tlg: [\"rounded-lg\"],\n\t\t\t\txl: [\"rounded-lg\"],\n\t\t\t\tfull: [\"rounded-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const menuOverlay = cva([\"overflow-hidden\"], {\n\tvariants: {\n\t\tmodal: {\n\t\t\ttrue: [\"pointer-events-auto\"],\n\t\t\tfalse: [\"pointer-events-none\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tmodal: false,\n\t},\n})\n\nexport const inputRoot = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-stretch\",\n\t\t\"transition-colors\",\n\t\t\"has-[:disabled]:opacity-50\",\n\t\t\"has-[:disabled]:pointer-events-none\",\n\t\t\"box-border\",\n\t\t\"bg-transparent\",\n\t\t\"text-(--base-12)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"px-1\", \"gap-1\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"px-1.5\", \"gap-1.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"px-2\", \"gap-2\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"px-2.5\", \"gap-2.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"px-3\", \"gap-3\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import { MiddlewareData, UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide, MenuTriggerType } from \"../typings\"\n\ninterface IMenuContext {\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\tside: MenuSide\n\tsetTriggerType: (triggerType: MenuTriggerType) => void\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n\tmiddlewareData: MiddlewareData\n}\n\nexport const MenuContext = createContext<IMenuContext>({} as IMenuContext)\n\nexport const useMenuContext = () => useContext(MenuContext)\n","export const MENU_OVERFLOW_PADDING = 20\n\nexport const MENU_CONTENT_PADDING = 8\n\nexport const MENU_MINIMUM_MAX_HEIGHT = 250\n","import {\n\tautoUpdate,\n\tflip,\n\tFloatingTree,\n\thide,\n\toffset as offsetMiddleware,\n\tPlacement,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseInteractions,\n\tuseListNavigation,\n\tuseRole,\n\tVirtualElement,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuRootProps, MenuTriggerType } from \"../typings\"\nimport { MenuContext } from \"./context\"\n\nconst DEFAULT_OFFSET = 5\n\nexport const MenuRoot: FC<MenuRootProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tside = \"bottom\",\n\t\talign = \"center\",\n\t\toffset,\n\t\tloop = false,\n\t\tmodal = false,\n\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>({\n\t\tstate: controlledOpen,\n\t\tinitialState: defaultOpen ?? false,\n\t\tsetState: onOpenChange,\n\t})\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst [triggerType, setTriggerType] = useState<MenuTriggerType | null>(null)\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context, middlewareData } = useFloating<VirtualElement>({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: setOpen,\n\t\tmiddleware: [\n\t\t\toffsetMiddleware({ mainAxis: offset ?? DEFAULT_OFFSET }),\n\t\t\tsizeMiddleware({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t}),\n\t\t\tflip({ fallbackStrategy: \"initialPlacement\" }),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst role = useRole(context, {\n\t\trole: \"menu\",\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tancestorScroll: triggerType === \"context\" || triggerType === \"virtual\",\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: triggerType === \"click\",\n\t})\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tactiveIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tdismiss,\n\t\tlistNavigation,\n\t\tclick,\n\t\trole,\n\t])\n\n\treturn (\n\t\t<FloatingTree>\n\t\t\t<MenuContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\topen,\n\t\t\t\t\tsetOpen,\n\t\t\t\t\trefs,\n\t\t\t\t\tcontext,\n\t\t\t\t\tfloatingStyles,\n\t\t\t\t\telementsRef,\n\t\t\t\t\tgetFloatingProps,\n\t\t\t\t\tgetItemProps,\n\t\t\t\t\tgetReferenceProps,\n\t\t\t\t\tnodeId,\n\t\t\t\t\tactiveIndex,\n\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\tmiddlewareData,\n\t\t\t\t\tside,\n\t\t\t\t\tmodal,\n\t\t\t\t\tsetTriggerType,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuContext.Provider>\n\t\t</FloatingTree>\n\t)\n}\nMenuRoot.displayName = \"Root\"\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, MutableRefObject, useContext } from \"react\"\n\nimport type { ComponentRadius } from \"../../Provider\"\nimport type { MenuSize, MenuVariant } from \"../typings\"\n\ninterface IMenuContentContext {\n\tactiveIndex: number | null\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tsetActiveIndex: (index: number | null) => void\n\trefs: UseFloatingData[\"refs\"]\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\n\t// style props\n\taccentColor: string\n\tradius: ComponentRadius\n\tsize: MenuSize\n\tvariant: MenuVariant\n}\n\nexport const MenuContentContext = createContext<IMenuContentContext>({} as IMenuContentContext)\n\nexport const useMenuContentContext = () => useContext(MenuContentContext)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, useMemo } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { useProvider } from \"../../Provider\"\nimport { menuContent, menuOverlay } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport type { MenuContentProps } from \"../typings\"\nimport { MenuContentContext } from \"./context\"\n\nexport const MenuContent = memo(\n\tforwardRef<HTMLDivElement, MenuContentProps>((props, forwardedRef) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tsize = \"md\",\n\t\t\tvariant = \"soft\",\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = \"base\",\n\t\t\t...rest\n\t\t} = props\n\t\tconst {\n\t\t\trefs,\n\t\t\tgetFloatingProps,\n\t\t\tmiddlewareData,\n\t\t\telementsRef,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\tgetItemProps,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tnodeId,\n\t\t\tcontext,\n\t\t\tfloatingStyles,\n\t\t\tmodal,\n\t\t\tside,\n\t\t} = useMenuContext()\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingOverlay className={menuOverlay({ modal })} lockScroll data-floating-content=\"\">\n\t\t\t\t\t\t\t<FloatingFocusManager context={context}>\n\t\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"border-box w-max outline-none\"\n\t\t\t\t\t\t\t\t\t\t\tref={refs.setFloating}\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t\t</FloatingOverlay>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { UseFloatingData, UseInteractionsReturn } from \"@floating-ui/react\"\nimport { createContext, CSSProperties, MutableRefObject, useContext } from \"react\"\n\nimport type { MenuSide } from \"../typings\"\n\ninterface ISubContext {\n\t// we know exactly what type of element the SubTrigger will be, therefore type it as Element\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\tdisabled: boolean\n\tside: MenuSide\n\tcloseRoot: boolean\n\tmodal: boolean\n\t// props from hoisting useFloating up\n\tnodeId: string\n\trefs: UseFloatingData[\"refs\"]\n\tfloatingStyles: CSSProperties\n\tcontext: UseFloatingData[\"context\"]\n\telementsRef: MutableRefObject<HTMLDivElement[]>\n\tactiveIndex: number | null\n\tsetActiveIndex: (index: number | null) => void\n\tgetItemProps: UseInteractionsReturn[\"getItemProps\"]\n\tgetFloatingProps: UseInteractionsReturn[\"getFloatingProps\"]\n\tgetReferenceProps: UseInteractionsReturn[\"getReferenceProps\"]\n}\n\nexport const SubContext = createContext<ISubContext>({} as ISubContext)\n\nexport const useSubContext = () => useContext(SubContext)\n","import { MENU_CONTENT_PADDING } from \"./constants\"\nimport { MenuAlignment, MenuSide } from \"./typings\"\n\n// This function computes offsets specifically for submenus so that they are flush with the trigger item and\n// parent content\nexport const computeOffsets = (side: MenuSide, alignment: MenuAlignment) => {\n\tswitch (side) {\n\t\tcase \"right\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"left\":\n\t\t\tif (alignment === \"start\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: -MENU_CONTENT_PADDING }\n\t\t\t} else if (alignment === \"end\") {\n\t\t\t\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: MENU_CONTENT_PADDING }\n\t\t\t}\n\t\t\tbreak\n\t}\n\treturn { mainAxis: MENU_CONTENT_PADDING + 1, crossAxis: 0 }\n}\n","import {\n\tautoUpdate,\n\tflip,\n\thide,\n\toffset,\n\tPlacement,\n\tsafePolygon,\n\tshift,\n\tsize as sizeMiddleware,\n\tuseClick,\n\tuseDismiss,\n\tuseFloating,\n\tuseFloatingNodeId,\n\tuseHover,\n\tuseInteractions,\n\tuseListNavigation,\n} from \"@floating-ui/react\"\nimport { FC, useRef, useState } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport { MENU_MINIMUM_MAX_HEIGHT, MENU_OVERFLOW_PADDING } from \"../constants\"\nimport type { MenuSubProps } from \"../typings\"\nimport { computeOffsets } from \"../utils\"\nimport { SubContext } from \"./context\"\n\nexport const MenuSub: FC<MenuSubProps> = (props) => {\n\tconst {\n\t\tchildren,\n\t\tdisabled = false,\n\t\tside = \"right\",\n\t\talign = \"start\",\n\t\tcloseRoot = false,\n\t\tloop = false,\n\t\tmodal = false,\n\t\t// open state related props\n\t\topen: controlledOpen,\n\t\tonOpenChange,\n\t\tdefaultOpen,\n\t} = props\n\n\tconst [open, setOpen] = useControlledState<boolean>({\n\t\tinitialState: defaultOpen ?? false,\n\t\tstate: controlledOpen,\n\t\tsetState: onOpenChange,\n\t})\n\n\tconst nodeId = useFloatingNodeId()\n\n\tconst { refs, floatingStyles, context } = useFloating({\n\t\tnodeId: nodeId,\n\t\tstrategy: \"fixed\",\n\t\twhileElementsMounted: autoUpdate,\n\t\topen: open,\n\t\tonOpenChange: (open, _event, reason) => {\n\t\t\t// unique bug where reason was undefined causing close on initial hover\n\t\t\tif (reason) setOpen(open)\n\t\t},\n\t\tplacement: (side + (align !== \"center\" ? \"-\" + align : \"\")) as Placement,\n\t\tmiddleware: [\n\t\t\toffset({ ...computeOffsets(side, align) }),\n\t\t\tsizeMiddleware({\n\t\t\t\tpadding: MENU_OVERFLOW_PADDING,\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.setProperty(\n\t\t\t\t\t\t\"--overmap-menu-available-height\",\n\t\t\t\t\t\t`${Math.max(availableHeight, MENU_MINIMUM_MAX_HEIGHT)}px`,\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t}),\n\t\t\tflip(),\n\t\t\tshift({ padding: MENU_OVERFLOW_PADDING }),\n\t\t\thide(),\n\t\t],\n\t})\n\n\tconst dismiss = useDismiss(context, {\n\t\tbubbles: closeRoot,\n\t\toutsidePress: closeRoot,\n\t})\n\n\tconst hover = useHover(context, {\n\t\trestMs: 50,\n\t\thandleClose: safePolygon({\n\t\t\tblockPointerEvents: true,\n\t\t\trequireIntent: false,\n\t\t}),\n\t\tenabled: !disabled,\n\t})\n\n\tconst click = useClick(context, {\n\t\tenabled: !disabled,\n\t})\n\n\tconst elementsRef = useRef<HTMLDivElement[]>([])\n\n\tconst [activeIndex, setActiveIndex] = useState<number | null>(null)\n\n\tconst listNavigation = useListNavigation(context, {\n\t\tlistRef: elementsRef,\n\t\tnested: true,\n\t\tactiveIndex: activeIndex,\n\t\tonNavigate: setActiveIndex,\n\t\tloop: loop,\n\t\trtl: side === \"left\",\n\t})\n\n\tconst { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n\t\tlistNavigation,\n\t\tdismiss,\n\t\thover,\n\t\tclick,\n\t])\n\n\treturn (\n\t\t<SubContext.Provider\n\t\t\tvalue={{\n\t\t\t\topen,\n\t\t\t\tsetOpen,\n\t\t\t\tnodeId,\n\t\t\t\trefs,\n\t\t\t\tfloatingStyles,\n\t\t\t\tcontext,\n\t\t\t\telementsRef,\n\t\t\t\tactiveIndex,\n\t\t\t\tsetActiveIndex,\n\t\t\t\tgetFloatingProps,\n\t\t\t\tgetItemProps,\n\t\t\t\tgetReferenceProps,\n\t\t\t\tdisabled,\n\t\t\t\tside,\n\t\t\t\tcloseRoot,\n\t\t\t\tmodal,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</SubContext.Provider>\n\t)\n}\nMenuSub.displayName = \"SubMenu\"\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, KeyboardEventHandler, memo, MouseEventHandler, useCallback, useMemo } from \"react\"\n\nimport { radiusCva } from \"../../cva\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuItem } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuItemProps } from \"../typings\"\n\nconst TRIGGER_SELECT_KEYS = [\"Enter\", \" \"]\n\nexport const MenuItem = memo(\n\tforwardRef<HTMLDivElement, MenuItemProps>((props, forwardedRef) => {\n\t\tconst rootMenuContext = useMenuContext()\n\t\tconst { getItemProps, activeIndex, setOpen, size, variant, radius } = useMenuContentContext()\n\t\tconst { closeRoot } = useSubContext()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tonSelect,\n\t\t\tonClick,\n\t\t\tonKeyDown,\n\t\t\tcloseOnSelect = true,\n\n\t\t\tdisabled,\n\t\t\t...rest\n\t\t} = props\n\n\t\tconst { ref, index } = useListItem()\n\n\t\tconst mergeRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onClick) onClick(e)\n\t\t\t\tif (onSelect) onSelect()\n\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\tif (closeRoot) rootMenuContext.setOpen(false)\n\t\t\t},\n\t\t\t[closeOnSelect, closeRoot, disabled, rootMenuContext, onClick, onSelect, setOpen],\n\t\t)\n\n\t\tconst handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (disabled) return\n\t\t\t\tif (onKeyDown) onKeyDown(e)\n\t\t\t\tif (TRIGGER_SELECT_KEYS.includes(e.key)) {\n\t\t\t\t\tif (onSelect) onSelect()\n\t\t\t\t\tif (closeOnSelect) setOpen(false)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[closeOnSelect, disabled, onKeyDown, onSelect, setOpen],\n\t\t)\n\n\t\tconst isActive = useMemo(() => index === activeIndex, [activeIndex, index])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\" ? children({ active: isActive, selected: false }) : children\n\t\t}, [children, isActive])\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cx(className, menuItem({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\t\tref={mergeRefs}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-highlighted={isActive ? \"\" : undefined}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\tonClick: handleClick,\n\t\t\t\t\tonKeyDown: handleKeyDown,\n\t\t\t\t\ttabIndex: isActive ? 0 : -1,\n\t\t\t\t\t...rest,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{computedChildren}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { forwardRef, useCallback } from \"react\"\n\nimport { CheckedIndicatorContext } from \"../../CheckedIndicator\"\nimport { MenuItem } from \"../Item\"\nimport { MenuCheckboxItemProps } from \"../typings\"\n\nexport const MenuCheckboxItem = forwardRef<HTMLDivElement, MenuCheckboxItemProps>((props, ref) => {\n\tconst { checked, onCheckedChange, onSelect, ...rest } = props\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (checked) {\n\t\t\tcase true:\n\t\t\t\tonCheckedChange(false)\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false:\n\t\t\t\tonCheckedChange(true)\n\t\t\t\tbreak\n\t\t}\n\t}, [checked, onCheckedChange, onSelect])\n\n\treturn (\n\t\t<CheckedIndicatorContext.Provider value={checked}>\n\t\t\t<MenuItem ref={ref} onSelect={handleSelect} {...rest} />\n\t\t</CheckedIndicatorContext.Provider>\n\t)\n})\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\"\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { CheckedIndicator } from \"../../CheckedIndicator\"\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { MenuCheckboxIndicatorProps } from \"../typings\"\n\nexport const MenuCheckboxItemIndicator = forwardRef<HTMLSpanElement, MenuCheckboxIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t<CheckedIndicator>{children}</CheckedIndicator>\n\t\t</span>\n\t)\n})\nMenuCheckboxItemIndicator.displayName = \"MenuCheckboxItemIndicator\"\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuClickTriggerProps } from \"../typings\"\n\nexport const MenuClickTrigger = memo(\n\tforwardRef<HTMLElement, MenuClickTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled = false } = props\n\t\tconst { getReferenceProps, refs, setTriggerType } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs<HTMLElement>([refs.setReference, forwardedRef])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"click\")\n\t\t}, [setTriggerType])\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\t{...getReferenceProps({ disabled: disabled })}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { ClientRectObject, useMergeRefs } from \"@floating-ui/react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { forwardRef, memo, MouseEventHandler, useCallback, useEffect, useRef } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuContextTriggerProps } from \"../typings\"\n\nexport const MenuContextTrigger = memo(\n\tforwardRef<HTMLElement, MenuContextTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, disabled } = props\n\t\tconst ref = useRef<HTMLElement>(null)\n\t\tconst { setOpen, refs, setTriggerType } = useMenuContext()\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, ref])\n\n\t\tuseEffect(() => {\n\t\t\tsetTriggerType(\"context\")\n\t\t}, [setTriggerType])\n\n\t\tconst handleContextMenu = useCallback<MouseEventHandler>(\n\t\t\t(e) => {\n\t\t\t\tconst { clientY, clientX } = e\n\n\t\t\t\tif (!disabled && ref.current) {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\trefs.setPositionReference({\n\t\t\t\t\t\tgetBoundingClientRect(): ClientRectObject {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tx: clientX,\n\t\t\t\t\t\t\t\ty: clientY,\n\t\t\t\t\t\t\t\ttop: clientY,\n\t\t\t\t\t\t\t\tleft: clientX,\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\t\tbottom: clientY,\n\t\t\t\t\t\t\t\tright: clientX,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontextElement: ref.current,\n\t\t\t\t\t})\n\t\t\t\t\tsetOpen(true)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[disabled, refs, setOpen],\n\t\t)\n\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\tref={mergedRefs}\n\t\t\t\tstyle={{ WebkitTouchCallout: disabled ? \"none\" : \"unset\" }}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\tonContextMenu={handleContextMenu}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Slot>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo } from \"react\"\n\nimport type { MenuGroupProps } from \"../typings\"\n\nexport const MenuGroup = memo(\n\tforwardRef<HTMLDivElement, MenuGroupProps>((props, ref) => {\n\t\tconst { children, ...rest } = props\n\n\t\treturn (\n\t\t\t<div ref={ref} role=\"group\" {...rest}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}),\n)\n","import { useListItem, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { ChangeEventHandler, forwardRef, memo, useCallback, useEffect } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport type { MenuInputProps } from \"../typings\"\n\nexport const MenuInputField = memo(\n\tforwardRef<HTMLInputElement, MenuInputProps>((props, forwardedRef) => {\n\t\tconst { className, onValueChange, onChange, ...rest } = props\n\t\tconst { activeIndex, getItemProps } = useMenuContentContext()\n\t\tconst { index, ref } = useListItem()\n\n\t\tconst mergedRefs = useMergeRefs([ref, forwardedRef])\n\n\t\tconst handleChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n\t\t\t(e) => {\n\t\t\t\tif (onChange) onChange(e)\n\t\t\t\tif (onValueChange) onValueChange(e.target.value)\n\t\t\t},\n\t\t\t[onChange, onValueChange],\n\t\t)\n\n\t\tuseEffect(() => {\n\t\t\treturn () => {\n\t\t\t\tif (onValueChange) onValueChange(\"\")\n\t\t\t}\n\t\t\t// REASON: Don't include onValueChange in a dependency array, if it is required in the future, it must be ensured that\n\t\t\t// users wrap there onFilterChange callback function in a useCallback otherwise typing will trigger many re-renders\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [])\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={cx(className, \"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"outline-none\")}\n\t\t\t\tref={mergedRefs}\n\t\t\t\t{...getItemProps({\n\t\t\t\t\t...rest,\n\t\t\t\t\ttabIndex: index === activeIndex ? 0 : -1,\n\t\t\t\t\tonChange: handleChange,\n\t\t\t\t})}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { inputRoot } from \"../cva\"\nimport type { MenuInputRootProps } from \"../typings\"\n\nexport const MenuInputRoot = memo(\n\tforwardRef<HTMLDivElement, MenuInputRootProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <div className={cx(className, inputRoot({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport type { MenuInputSlotProps } from \"../typings\"\n\nexport const MenuInputSlot = memo(\n\tforwardRef<HTMLDivElement, MenuInputSlotProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\treturn <div className={cx(className, \"flex\", \"items-center\", \"text-(--base-a11)\")} ref={ref} {...rest} />\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\nimport { MultiSelectContext, SingleSelectContext } from \"./typings\"\n\nexport type ISelectContext = SingleSelectContext | MultiSelectContext\n\nexport const SelectContext = createContext<ISelectContext>({} as ISelectContext)\n\nexport function useSelectContext<Type = SingleSelectContext | MultiSelectContext>() {\n\treturn useContext(SelectContext) as Type\n}\n","import { memo, PropsWithChildren, useCallback, useMemo, useState } from \"react\"\n\nimport { SelectContext } from \"./context\"\n\ntype SelectContextProviderProps = PropsWithChildren &\n\t(\n\t\t| {\n\t\t\t\ttype: \"single\"\n\t\t\t\tdefaultValue?: string | null\n\t\t\t\tvalue?: string | null\n\t\t\t\tonValueChange?: (value: string | null) => void\n\t\t }\n\t\t| {\n\t\t\t\ttype: \"multi\"\n\t\t\t\tdefaultValues?: string[]\n\t\t\t\tvalues?: string[]\n\t\t\t\tonValuesChange?: (values: string[]) => void\n\t\t }\n\t)\nexport const SelectContextProvider = memo((props: SelectContextProviderProps) => {\n\tconst { type, children } = props\n\n\tconst [controlledValue, setControlledValue] = useState<string | null>(\n\t\ttype === \"single\" ? (props?.defaultValue ?? null) : null,\n\t)\n\tconst [controlledValues, setControlledValues] = useState<string[]>(\n\t\ttype === \"multi\" ? (props?.defaultValues ?? []) : [],\n\t)\n\n\tconst onValuesChange = useCallback(\n\t\t(values: string[]) => {\n\t\t\tsetControlledValues(values)\n\t\t\tif (type === \"multi\" && props?.onValuesChange) props.onValuesChange(values)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst onValueChange = useCallback(\n\t\t(value: string | null) => {\n\t\t\tsetControlledValue(value)\n\t\t\tif (type === \"single\" && props?.onValueChange) props.onValueChange(value)\n\t\t},\n\t\t[props, type],\n\t)\n\n\tconst value = useMemo(\n\t\t() =>\n\t\t\ttype === \"multi\"\n\t\t\t\t? {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalues: props?.values ?? controlledValues,\n\t\t\t\t\t\thandleValuesChange: onValuesChange,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalue: props.value ?? controlledValue,\n\t\t\t\t\t\thandleValueChange: onValueChange,\n\t\t\t\t\t},\n\t\t[controlledValue, controlledValues, onValueChange, onValuesChange, props, type],\n\t)\n\n\treturn <SelectContext.Provider value={value}>{children}</SelectContext.Provider>\n})\nSelectContextProvider.displayName = \"SelectContextProvider\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuMultiSelectGroupProps } from \"../typings\"\n\nexport const MenuMultiSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuMultiSelectGroupProps>((props, ref) => {\n\t\tconst { children, values, onValuesChange, ...rest } = props\n\n\t\treturn (\n\t\t\t<MenuGroup ref={ref} {...rest}>\n\t\t\t\t<SelectContextProvider type=\"multi\" values={values} onValuesChange={onValuesChange}>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectContextProvider>\n\t\t\t</MenuGroup>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface ISelectedIndicatorContext {\n\tselected: boolean\n}\n\nexport const SelectedIndicatorContext = createContext<ISelectedIndicatorContext>({} as ISelectedIndicatorContext)\n\nexport const useSelectedIndicatorContext = () => useContext(SelectedIndicatorContext)\n","import { forwardRef, PropsWithChildren } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport { useSelectedIndicatorContext } from \"./context\"\n\nexport const MenuSelectedIndicator = forwardRef<HTMLDivElement, PropsWithChildren>((props, ref) => {\n\tconst { children } = props\n\tconst { selected } = useSelectedIndicatorContext()\n\tconst { size } = useMenuContentContext()\n\n\treturn (\n\t\t<div ref={ref} className={menuSelectedIndicator({ size })}>\n\t\t\t{selected ? children : null}\n\t\t</div>\n\t)\n})\nMenuSelectedIndicator.displayName = \"SelectedIndicator\"\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuMultiSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { onSelect, children, closeOnSelect = false, value, ...rest } = props\n\n\t\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\t\tconst selected = useMemo(() => values.includes(value), [value, values])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tif (!selected) {\n\t\t\t\thandleValuesChange([...values, value])\n\t\t\t} else {\n\t\t\t\thandleValuesChange(values.filter((currentValue) => currentValue !== value))\n\t\t\t}\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValuesChange, onSelect, selected, value, values])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import { createContext, useContext } from \"react\"\n\ninterface IPagesContext {\n\tactivePage: string\n\tsetActivePage: (page: string) => void\n}\n\nexport const PagesContext = createContext<IPagesContext>({} as IPagesContext)\n\nexport const usePagesContext = () => useContext(PagesContext)\n","import { FC } from \"react\"\n\nimport { useControlledState } from \"../../utils\"\nimport type { PageProps } from \"../typings\"\nimport { PagesContext } from \"./context\"\n\nexport const MenuPages: FC<PageProps> = (props) => {\n\tconst { children, defaultPage, page, onPageChange } = props\n\n\tconst [activePage, setActivePage] = useControlledState<string>({\n\t\tstate: page,\n\t\tinitialState: defaultPage ?? \"\",\n\t\tsetState: onPageChange,\n\t})\n\n\treturn <PagesContext.Provider value={{ activePage, setActivePage }}>{children}</PagesContext.Provider>\n}\n","import { FC } from \"react\"\n\nimport { usePagesContext } from \"../Pages\"\nimport type { PageContentProps } from \"../typings\"\n\nexport const MenuPageContent: FC<PageContentProps> = (props) => {\n\tconst { page, children } = props\n\tconst { activePage } = usePagesContext()\n\n\treturn activePage === page ? children : null\n}\nMenuPageContent.displayName = \"PageContent\"\n","import { forwardRef, memo, useCallback } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { MenuItem } from \"../Item\"\nimport { usePagesContext } from \"../Pages\"\nimport type { PageTriggerProps } from \"../typings\"\n\nexport const MenuPageTrigger = memo(\n\tforwardRef<HTMLDivElement, PageTriggerProps>((props, ref) => {\n\t\tconst { onSelect, page, ...rest } = props\n\t\tconst { refs, setActiveIndex } = useMenuContentContext()\n\t\tconst { setActivePage } = usePagesContext()\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\tsetActivePage(page)\n\t\t\trefs.floating.current?.focus()\n\t\t\tsetActiveIndex(null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [onSelect, page, refs.floating, setActiveIndex, setActivePage])\n\n\t\treturn <MenuItem ref={ref} onSelect={handleSelect} closeOnSelect={false} {...rest} />\n\t}),\n)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport type { MenuScrollProps } from \"../typings\"\n\nexport const MenuScroll = forwardRef<HTMLDivElement, MenuScrollProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\t\"h-full overflow-x-hidden overflow-y-auto [scrollbar-color:var(--base-6)_transparent] [scrollbar-width:thin]\",\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nMenuScroll.displayName = \"MenuScroll\"\n","import { createContext } from \"react\"\n\ninterface ISelectAllContext {\n\tselected: boolean | \"indeterminate\"\n}\n\nexport const SelectAllContext = createContext({} as ISelectAllContext)\n","import { cx } from \"class-variance-authority\"\nimport { forwardRef, useContext, useMemo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSelectedIndicator } from \"../cva\"\nimport type { SelectAllIndicatorProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllIndicator = forwardRef<HTMLSpanElement, SelectAllIndicatorProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\tconst { size } = useMenuContentContext()\n\tconst { selected } = useContext(SelectAllContext)\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\" ? children(selected === \"indeterminate\") : children\n\t}, [children, selected])\n\n\treturn (\n\t\t<span ref={ref} className={cx(className, menuSelectedIndicator({ size }))} {...rest}>\n\t\t\t{selected ? computedChildren : null}\n\t\t</span>\n\t)\n})\nMenuSelectAllIndicator.displayName = \"SelectAllIndicator\"\n","import { forwardRef, useCallback, useMemo } from \"react\"\n\nimport { MultiSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport type { SelectAllItemProps } from \"../typings\"\nimport { SelectAllContext } from \"./context\"\n\nexport const MenuSelectAllItem = forwardRef<HTMLDivElement, SelectAllItemProps>((props, ref) => {\n\tconst { children, allValues, onSelect, closeOnSelect = false, ...rest } = props\n\tconst { values, handleValuesChange } = useSelectContext<MultiSelectContext>()\n\n\tconst selected = useMemo(() => {\n\t\tconst selectValuesSet = new Set(values)\n\n\t\tif (allValues.every((value) => selectValuesSet.has(value))) return true\n\t\tif (values.length > 0) return \"indeterminate\"\n\t\treturn false\n\t}, [allValues, values])\n\n\tconst handleSelect = useCallback(() => {\n\t\tonSelect?.()\n\n\t\tswitch (selected) {\n\t\t\tcase true:\n\t\t\t\thandleValuesChange([])\n\t\t\t\tbreak\n\t\t\tcase \"indeterminate\":\n\t\t\tcase false: {\n\t\t\t\thandleValuesChange(allValues)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [allValues, handleValuesChange, onSelect, selected])\n\n\tconst computedChildren = useMemo(() => {\n\t\treturn typeof children === \"function\"\n\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t: children\n\t}, [children, selected])\n\n\treturn (\n\t\t<SelectAllContext.Provider value={{ selected }}>\n\t\t\t<MenuItem onSelect={handleSelect} ref={ref} data-state={selected} closeOnSelect={closeOnSelect} {...rest}>\n\t\t\t\t{computedChildren}\n\t\t\t</MenuItem>\n\t\t</SelectAllContext.Provider>\n\t)\n})\nMenuSelectAllItem.displayName = \"SelectAllItem\"\n","import { forwardRef, memo } from \"react\"\n\nimport { SelectContextProvider } from \"../../SelectContext\"\nimport { MenuGroup } from \"../Group\"\nimport type { MenuSelectGroupProps } from \"../typings\"\n\nexport const MenuSelectGroup = memo(\n\tforwardRef<HTMLDivElement, MenuSelectGroupProps>((props, ref) => {\n\t\tconst { children, value, onValueChange } = props\n\t\treturn (\n\t\t\t<SelectContextProvider type=\"single\" value={value} onValueChange={onValueChange}>\n\t\t\t\t<MenuGroup ref={ref}>{children}</MenuGroup>\n\t\t\t</SelectContextProvider>\n\t\t)\n\t}),\n)\n","import { forwardRef, memo, useCallback, useMemo } from \"react\"\n\nimport { SingleSelectContext, useSelectContext } from \"../../SelectContext\"\nimport { MenuItem } from \"../Item\"\nimport { SelectedIndicatorContext } from \"../SelectedIndicator\"\nimport type { MenuSelectItemProps } from \"../typings\"\n\nexport const MenuSelectItem = memo(\n\tforwardRef<HTMLDivElement, MenuSelectItemProps>((props, ref) => {\n\t\tconst { value, onSelect, children, closeOnSelect = false, ...rest } = props\n\t\tconst { value: currentValue, handleValueChange } = useSelectContext<SingleSelectContext>()\n\n\t\tconst selected = useMemo(() => value === currentValue, [currentValue, value])\n\n\t\tconst handleSelect = useCallback(() => {\n\t\t\thandleValueChange(!selected ? value : null)\n\t\t\tif (onSelect) onSelect()\n\t\t}, [handleValueChange, onSelect, selected, value])\n\n\t\tconst computedChildren = useMemo(() => {\n\t\t\treturn typeof children === \"function\"\n\t\t\t\t? ({ active }: { active: boolean }) => children({ selected, active })\n\t\t\t\t: children\n\t\t}, [children, selected])\n\n\t\treturn (\n\t\t\t<SelectedIndicatorContext.Provider value={{ selected }}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tref={ref}\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\tcloseOnSelect={closeOnSelect}\n\t\t\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{computedChildren}\n\t\t\t\t</MenuItem>\n\t\t\t</SelectedIndicatorContext.Provider>\n\t\t)\n\t}),\n)\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useMenuContentContext } from \"../Content\"\nimport { menuSeparator } from \"../cva\"\nimport type { MenuSeparatorProps } from \"../typings\"\n\nexport const MenuSeparator = memo(\n\tforwardRef<HTMLDivElement, MenuSeparatorProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size } = useMenuContentContext()\n\n\t\treturn <RadixSeparator.Root className={cx(className, menuSeparator({ size }))} ref={ref} {...rest} />\n\t}),\n)\n","import { FloatingFocusManager, FloatingList, FloatingNode, FloatingPortal, useMergeRefs } from \"@floating-ui/react\"\nimport { cx } from \"class-variance-authority\"\nimport { CSSProperties, forwardRef, memo, useMemo, useRef } from \"react\"\n\nimport { floating } from \"../../cva\"\nimport { radiusCva } from \"../../cva\"\nimport { MenuContentContext, useMenuContentContext } from \"../Content/context\"\nimport { menuContent } from \"../cva\"\nimport { useMenuContext } from \"../root\"\nimport { useSubContext } from \"../Sub\"\nimport type { SubMenuContentProps } from \"../typings\"\n\nexport const MenuSubContent = memo(\n\tforwardRef<HTMLDivElement, SubMenuContentProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { middlewareData } = useMenuContext()\n\t\tconst { accentColor, radius, variant, size } = useMenuContentContext()\n\t\tconst {\n\t\t\topen,\n\t\t\tnodeId,\n\t\t\trefs,\n\t\t\tcontext,\n\t\t\tgetFloatingProps,\n\t\t\tgetItemProps,\n\t\t\tactiveIndex,\n\t\t\tsetActiveIndex,\n\t\t\telementsRef,\n\t\t\tfloatingStyles,\n\t\t\tsetOpen,\n\t\t\tside,\n\t\t} = useSubContext()\n\n\t\tconst wrapperRef = useRef<HTMLDivElement>(null)\n\n\t\tconst mergeRefs = useMergeRefs([refs.setFloating, wrapperRef])\n\n\t\tconst computedFloatingStyles: CSSProperties = useMemo(() => {\n\t\t\treturn {\n\t\t\t\t...floatingStyles,\n\t\t\t\tvisibility: middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\",\n\t\t\t}\n\t\t}, [floatingStyles, middlewareData.hide?.referenceHidden])\n\n\t\treturn (\n\t\t\t<FloatingNode id={nodeId}>\n\t\t\t\t{open && (\n\t\t\t\t\t<FloatingPortal>\n\t\t\t\t\t\t<FloatingFocusManager context={context} initialFocus={wrapperRef}>\n\t\t\t\t\t\t\t<FloatingList elementsRef={elementsRef}>\n\t\t\t\t\t\t\t\t<MenuContentContext.Provider\n\t\t\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\t\t\tgetItemProps,\n\t\t\t\t\t\t\t\t\t\tactiveIndex,\n\t\t\t\t\t\t\t\t\t\tsetActiveIndex,\n\t\t\t\t\t\t\t\t\t\telementsRef,\n\t\t\t\t\t\t\t\t\t\topen,\n\t\t\t\t\t\t\t\t\t\tsetOpen,\n\t\t\t\t\t\t\t\t\t\trefs,\n\t\t\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\t\t\tradius,\n\t\t\t\t\t\t\t\t\t\taccentColor,\n\t\t\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"outline-none\"\n\t\t\t\t\t\t\t\t\t\tref={mergeRefs}\n\t\t\t\t\t\t\t\t\t\tstyle={computedFloatingStyles}\n\t\t\t\t\t\t\t\t\t\t{...getFloatingProps()}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\t\t\t\t\t\t\t\"overmap-menu-sub-content\",\n\t\t\t\t\t\t\t\t\t\t\t\tmenuContent({ size }),\n\t\t\t\t\t\t\t\t\t\t\t\tfloating({ side, shadow: \"3\" }),\n\t\t\t\t\t\t\t\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t\t\t\t\t\t\t\t\t\"max-h-(--overmap-menu-available-height)\",\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tref={forwardedRef}\n\t\t\t\t\t\t\t\t\t\t\tdata-state={open ? \"open\" : \"closed\"}\n\t\t\t\t\t\t\t\t\t\t\tdata-side={side}\n\t\t\t\t\t\t\t\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</MenuContentContext.Provider>\n\t\t\t\t\t\t\t</FloatingList>\n\t\t\t\t\t\t</FloatingFocusManager>\n\t\t\t\t\t</FloatingPortal>\n\t\t\t\t)}\n\t\t\t</FloatingNode>\n\t\t)\n\t}),\n)\n","import { useMergeRefs } from \"@floating-ui/react\"\nimport { forwardRef, memo } from \"react\"\n\nimport { MenuItem } from \"../Item\"\nimport { useSubContext } from \"../Sub\"\nimport type { MenuSubTriggerProps } from \"../typings\"\n\nexport const MenuSubTrigger = memo(\n\tforwardRef<HTMLDivElement, MenuSubTriggerProps>((props, forwardedRef) => {\n\t\tconst { children, ...rest } = props\n\t\tconst { refs, getReferenceProps, open, disabled } = useSubContext()\n\n\t\tconst mergedRefs = useMergeRefs([forwardedRef, refs.setReference])\n\n\t\treturn (\n\t\t\t<MenuItem\n\t\t\t\tref={mergedRefs}\n\t\t\t\tcloseOnSelect={false}\n\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\tdata-open={open}\n\t\t\t\tdisabled={disabled}\n\t\t\t\t{...getReferenceProps(rest)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</MenuItem>\n\t\t)\n\t}),\n)\n","import { memo, useEffect } from \"react\"\n\nimport { useMenuContext } from \"../root\"\nimport type { MenuVirtualTriggerProps } from \"../typings\"\n\nexport const MenuVirtualTrigger = memo((props: MenuVirtualTriggerProps) => {\n\tconst { virtualElement, disabled } = props\n\tconst { refs, setTriggerType, setOpen } = useMenuContext()\n\n\tuseEffect(() => {\n\t\tsetTriggerType(\"virtual\")\n\t}, [setTriggerType])\n\n\tuseEffect(() => {\n\t\tif (!disabled && virtualElement) {\n\t\t\trefs.setPositionReference(virtualElement)\n\t\t\tsetOpen(true)\n\t\t} else {\n\t\t\trefs.setPositionReference(null)\n\t\t\tsetOpen(false)\n\t\t}\n\t}, [disabled, refs, setOpen, virtualElement])\n\n\treturn null\n})\nMenuVirtualTrigger.displayName = \"VirtualTrigger\"\n","import { MenuCheckboxItem } from \"./CheckboxItem/CheckboxItem\"\nimport { MenuCheckboxItemIndicator } from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nimport { MenuClickTrigger } from \"./ClickTrigger\"\nimport { MenuContent } from \"./Content\"\nimport { MenuContextTrigger } from \"./ContextTrigger\"\nimport { MenuGroup } from \"./Group\"\nimport { MenuInputField, MenuInputRoot, MenuInputSlot } from \"./Input\"\nimport { MenuItem } from \"./Item\"\nimport { MenuMultiSelectGroup } from \"./MultiSelectGroup\"\nimport { MenuMultiSelectItem } from \"./MultiSelectItem\"\nimport { MenuPageContent } from \"./PageContent\"\nimport { MenuPages } from \"./Pages\"\nimport { MenuPageTrigger } from \"./PageTrigger\"\nimport { MenuRoot } from \"./root\"\nimport { MenuScroll } from \"./Scroll/Scroll\"\nimport { MenuSelectAllIndicator, MenuSelectAllItem } from \"./SelectAll\"\nimport { MenuSelectedIndicator } from \"./SelectedIndicator\"\nimport { MenuSelectGroup } from \"./SelectGroup\"\nimport { MenuSelectItem } from \"./SelectItem\"\nimport { MenuSeparator } from \"./Separator\"\nimport { MenuSub } from \"./Sub\"\nimport { MenuSubContent } from \"./SubContent\"\nimport { MenuSubTrigger } from \"./SubTrigger\"\nimport { MenuVirtualTrigger } from \"./VirtualTrigger\"\n\nexport * from \"./CheckboxItem/CheckboxItem\"\nexport * from \"./CheckboxItemIndicator/CheckboxItemIndicator\"\nexport * from \"./ClickTrigger\"\nexport * from \"./Content\"\nexport * from \"./ContextTrigger\"\nexport * from \"./Group\"\nexport * from \"./Input\"\nexport * from \"./Item\"\nexport * from \"./MultiSelectGroup\"\nexport * from \"./MultiSelectItem\"\nexport * from \"./PageContent\"\nexport * from \"./Pages\"\nexport * from \"./PageTrigger\"\nexport * from \"./root\"\nexport * from \"./Scroll/Scroll\"\nexport * from \"./SelectAll\"\nexport * from \"./SelectedIndicator\"\nexport * from \"./SelectGroup\"\nexport * from \"./SelectItem\"\nexport * from \"./Separator\"\nexport * from \"./Sub\"\nexport * from \"./SubContent\"\nexport * from \"./SubTrigger\"\nexport * from \"./typings\"\nexport * from \"./VirtualTrigger\"\n\nexport const Menu = {\n\tRoot: MenuRoot,\n\tContent: MenuContent,\n\n\t// sub\n\tSub: MenuSub,\n\tSubContent: MenuSubContent,\n\tSubTrigger: MenuSubTrigger,\n\n\t// pages\n\tPages: MenuPages,\n\tPageContent: MenuPageContent,\n\tPageTrigger: MenuPageTrigger,\n\n\t// triggers\n\tClickTrigger: MenuClickTrigger,\n\tContextTrigger: MenuContextTrigger,\n\tVirtualTrigger: MenuVirtualTrigger,\n\n\t// groups\n\tGroup: MenuGroup,\n\tSelectGroup: MenuSelectGroup,\n\tMultiSelectGroup: MenuMultiSelectGroup,\n\n\t// items\n\tItem: MenuItem,\n\tSelectItem: MenuSelectItem,\n\tMultiSelectItem: MenuMultiSelectItem,\n\tSelectAllItem: MenuSelectAllItem,\n\tCheckboxItem: MenuCheckboxItem,\n\n\t// indicators\n\tSelectAllIndicator: MenuSelectAllIndicator,\n\tSelectedIndicator: MenuSelectedIndicator,\n\tCheckboxItemIndicator: MenuCheckboxItemIndicator,\n\n\t// input\n\tInputRoot: MenuInputRoot,\n\tInputField: MenuInputField,\n\tInputSlot: MenuInputSlot,\n\n\t// other\n\tSeparator: MenuSeparator,\n\tScroll: MenuScroll,\n}\n","import { ComponentProps, forwardRef, memo } from \"react\"\nimport { IconBaseProps, IconType } from \"react-icons\"\nimport * as RiIcons from \"react-icons/ri\"\nimport { RiQuestionMark } from \"react-icons/ri\"\n\ninterface RiIconProps extends ComponentProps<\"svg\">, Pick<IconBaseProps, \"size\" | \"title\" | \"color\"> {\n\ticon: string\n}\n\n// NOTE: this should be moved to /web once any tsx have been removed from /core\n\nexport const RiIcon = memo(\n\tforwardRef<SVGSVGElement, RiIconProps>((props, ref) => {\n\t\tconst { icon, size, title, color, ...rest } = props\n\t\tconst Icon = (RiIcons as Record<string, IconType>)[icon]\n\n\t\t// eslint-disable-next-line no-console\n\t\tif (!Icon) console.error(`Icon ${icon} not found`)\n\n\t\treturn Icon ? (\n\t\t\t<Icon ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t) : (\n\t\t\t<RiQuestionMark ref={ref} title={title} size={size} color={color} {...rest} />\n\t\t)\n\t}),\n)\nRiIcon.displayName = \"RiIcon\"\n","import React, { memo, useCallback } from \"react\"\nimport { ErrorBoundary, useErrorBoundary } from \"react-error-boundary\"\n\nimport { IconButton } from \"../Buttons\"\nimport { RiIcon } from \"../RiIcon\"\n\ninterface ErrorBoundaryProps extends React.PropsWithChildren {\n\tabsoluteCentering?: boolean\n\tmessage?: string\n}\n\ninterface ErrorFallbackProps extends ErrorBoundaryProps {\n\tonRetry: () => void\n}\n\nconst centerStyles = { placeSelf: \"center\" }\n\nconst ErrorFallback = memo((props: ErrorFallbackProps) => {\n\tconst { absoluteCentering, message = \"Something went wrong\", onRetry } = props\n\tconst { resetBoundary } = useErrorBoundary()\n\tconst height = \"20px\"\n\tconst outerFlexStyles = absoluteCentering\n\t\t? ({ position: \"absolute\", top: \"50%\", transform: \"translateY(-50%)\" } as const)\n\t\t: undefined\n\n\tconst handleRetry = useCallback(() => {\n\t\tresetBoundary()\n\t\tonRetry()\n\t}, [onRetry, resetBoundary])\n\n\treturn (\n\t\t<div className=\"flex w-full gap-2\" style={outerFlexStyles}>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t\t<RiIcon icon=\"RiAlertLine\" size={height} style={centerStyles} />\n\t\t\t<span style={{ lineHeight: height, ...centerStyles }}>{message}</span>\n\t\t\t<IconButton aria-label=\"Try again\" variant=\"soft\" onClick={handleRetry} style={centerStyles}>\n\t\t\t\t<RiIcon icon=\"RiLoopLeftLine\" size={height} />\n\t\t\t</IconButton>\n\t\t\t<div style={{ flexGrow: 1 }} />\n\t\t</div>\n\t)\n})\n\nErrorFallback.displayName = \"ErrorFallback\"\n\nexport const OvermapErrorBoundary = memo((props: ErrorBoundaryProps) => {\n\tconst { absoluteCentering, message } = props\n\tconst [attempt, setAttempt] = React.useState(0)\n\n\tconst logError = useCallback((error: Error, info: { componentStack: string }) => {\n\t\t// TODO: Log error to Sentry\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(error, info)\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\tconst handleRetry = useCallback(() => {\n\t\tsetAttempt((prev) => prev + 1)\n\t}, [])\n\n\treturn (\n\t\t<ErrorBoundary\n\t\t\tkey={attempt}\n\t\t\tfallback={<ErrorFallback absoluteCentering={absoluteCentering} message={message} onRetry={handleRetry} />}\n\t\t\tonError={logError}\n\t\t>\n\t\t\t{props.children}\n\t\t</ErrorBoundary>\n\t)\n})\n\nOvermapErrorBoundary.displayName = \"OvermapErrorBoundary\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface PopoverArrowProps extends RadixPopover.PopoverArrowProps {}\n\nexport const PopoverArrow = forwardRef<SVGSVGElement, PopoverArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixPopover.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nPopoverArrow.displayName = \"PopoverArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const popoverContent = cva([\"bg-(--base-1)\", \"ring-1\", \"ring-(--base-6)\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n","import * as RadixPopover from \"@radix-ui/react-popover\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { floating } from \"../cva\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { popoverContent } from \"./cva\"\nimport type { PopoverVariantProps } from \"./typings\"\n\nexport interface PopoverContentProps extends RadixPopover.PopoverContentProps, PopoverVariantProps {\n\tcontainer?: RadixPopover.PopoverPortalProps[\"container\"]\n}\n\nexport const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\tsize = \"md\",\n\t\tsideOffset = 5,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixPopover.Portal container={container}>\n\t\t\t<RadixPopover.Content\n\t\t\t\tclassName={cx(\n\t\t\t\t\tclassName,\n\t\t\t\t\tpopoverContent({ size }),\n\t\t\t\t\tfloating({ shadow: \"3\" }),\n\t\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</RadixPopover.Portal>\n\t)\n})\nPopoverContent.displayName = \"PopoverContent\"\n","import * as RadixPopover from \"@radix-ui/react-popover\"\n\nimport { PopoverArrow } from \"./Arrow\"\nimport { PopoverContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Popover = {\n\t...RadixPopover,\n\tContent: PopoverContent,\n\tArrow: PopoverArrow,\n}\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface RadioGroupIndicatorProps extends RadixRadioGroup.RadioGroupIndicatorProps {}\n\nexport const RadioGroupIndicator = forwardRef<HTMLSpanElement, RadioGroupIndicatorProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn (\n\t\t<RadixRadioGroup.Indicator className={cx(className, \"flex items-center justify-center\")} ref={ref} {...rest} />\n\t)\n})\nRadioGroupIndicator.displayName = \"RadioGroupIndicator\"\n","import { createContext } from \"react\"\n\nimport type { RadioGroupSize, RadioGroupVariant } from \"./typings\"\n\nexport interface IRadioGroupContext {\n\tsize: RadioGroupSize\n\tvariant: RadioGroupVariant\n}\n\nexport const RadioGroupContext = createContext<IRadioGroupContext>({} as IRadioGroupContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const radioGroupItem = cva(\n\t[\n\t\t\"rounded-full\",\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"data-[state='checked']:transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-(--base-surface)\",\n\t\t\t\t\t\"data-[state='checked']:bg-(--accent-indicator)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a6)\",\n\t\t\t\t\t\"data-[state='checked']:inset-ring-(--accent-indicator)\",\n\t\t\t\t\t\"text-(--accent-contrast)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\"bg-(--accent-a3)\", \"text-(--accent-a11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"w-4\", \"h-4\", \"text-[0.625rem]\"],\n\t\t\t\tsm: [\"w-5\", \"h-5\", \"text-xs\"],\n\t\t\t\tmd: [\"w-6\", \"h-6\", \"text-sm\"],\n\t\t\t\tlg: [\"w-7\", \"h-7\", \"text-md\"],\n\t\t\t\txl: [\"w-8\", \"h-8\", \"text-lg\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { RadioGroupContext } from \"./context\"\nimport { radioGroupItem } from \"./cva\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupItemProps extends RadioGroupVariantProps, RadixRadioGroup.RadioGroupItemProps {}\n\nexport const RadioGroupItem = memo(\n\tforwardRef<HTMLButtonElement, RadioGroupItemProps>((props, ref) => {\n\t\tconst radioGroupContext = useContext(RadioGroupContext)\n\t\tconst { className, size = radioGroupContext.size, variant = radioGroupContext.variant, ...rest } = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Item\n\t\t\t\tclassName={cx(className, radioGroupItem({ size, variant }), \"flex\", \"justify-center\", \"items-center\")}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import * as RadixRadioGroup from \"@radix-ui/react-radio-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { RadioGroupContext } from \"./context\"\nimport type { RadioGroupVariantProps } from \"./typings\"\n\nexport interface RadioGroupRootProps extends RadixRadioGroup.RadioGroupProps, RadioGroupVariantProps {}\n\nexport const RadioGroupRoot = memo(\n\tforwardRef<HTMLDivElement, RadioGroupRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\tvariant = \"surface\",\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixRadioGroup.Root className={cx(className)} ref={ref} data-accent-color={accentColor} {...rest}>\n\t\t\t\t<RadioGroupContext.Provider value={{ variant, size }}>{children}</RadioGroupContext.Provider>\n\t\t\t</RadixRadioGroup.Root>\n\t\t)\n\t}),\n)\n","import { RadioGroupIndicator } from \"./Indicator\"\nimport { RadioGroupItem } from \"./Item\"\nimport { RadioGroupRoot } from \"./Root\"\n\nexport * from \"./Indicator\"\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const RadioGroup = {\n\tIndicator: RadioGroupIndicator,\n\tItem: RadioGroupItem,\n\tRoot: RadioGroupRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const segmentedControlRootCva = cva([\"shrink-0\", \"transition-colors\", \"flex\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsoft: [\"bg-(--accent-a3)\"],\n\t\t\tsurface: [\"bg-(--accent-surface)\", \"inset-ring\", \"inset-ring-(--accent-a6)\"],\n\t\t\toutline: [\"bg-transparent\", \"inset-ring-1\", \"inset-ring-(--accent-a6)\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"h-5\", \"text-xs\"],\n\t\t\tsm: [\"h-6\", \"text-sm\"],\n\t\t\tmd: [\"h-7\", \"text-base\"],\n\t\t\tlg: [\"h-8\", \"text-lg\"],\n\t\t\txl: [\"h-9\", \"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const segmentedControlItemCva = cva(\n\t[\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-colors\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\toutline: [\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a5)\",\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"hover:text-(--accent-a12)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"gap-0.25\"],\n\t\t\t\tsm: [\"gap-0.5\"],\n\t\t\t\tmd: [\"gap-1\"],\n\t\t\t\tlg: [\"gap-1.5\"],\n\t\t\t\txl: [\"gap-2\"],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t},\n\t},\n)\n","import { createContext } from \"react\"\n\nimport { ComponentRadius } from \"../Provider\"\nimport type { SegmentedControlSize, SegmentedControlVariant } from \"./typings\"\n\ninterface ISegmentedControlContext {\n\tsize: SegmentedControlSize\n\tvariant: SegmentedControlVariant\n\tradius: ComponentRadius\n\ticon: boolean\n}\n\nexport const SegmentedControlContext = createContext({} as ISegmentedControlContext)\n","import { useContext } from \"react\"\n\nimport { SegmentedControlContext } from \"./context\"\n\nexport const useSegmentedControl = () => {\n\tconst segmentedControlContext = useContext(SegmentedControlContext)\n\n\tif (!segmentedControlContext) {\n\t\tthrow new Error(\"useSegmentedControl must be used within a SegmentedControlProvider\")\n\t}\n\n\treturn segmentedControlContext\n}\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { segmentedControlItemCva } from \"./cva\"\nimport { useSegmentedControl } from \"./hooks\"\n\nexport interface SegmentedControlItemProps extends RadixToggleGroup.ToggleGroupItemProps {}\n\nexport const SegmentedControlItem = forwardRef<HTMLButtonElement, SegmentedControlItemProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, radius, variant, icon } = useSegmentedControl()\n\n\treturn (\n\t\t<RadixToggleGroup.Item\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlItemCva({ size, variant, icon }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSegmentedControlItem.displayName = \"SegmentedControlItem\"\n","import * as RadixToggleGroup from \"@radix-ui/react-toggle-group\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SegmentedControlContext } from \"./context\"\nimport { segmentedControlRootCva } from \"./cva\"\nimport type { SegmentedControlVariantProps } from \"./typings\"\n\nexport interface SegmentedControlRootProps\n\textends Omit<RadixToggleGroup.ToggleGroupSingleProps, \"type\">,\n\t\tSegmentedControlVariantProps {}\n\nexport const SegmentedControlRoot = forwardRef<HTMLDivElement, SegmentedControlRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"md\",\n\t\tvariant = \"surface\",\n\t\ticon = false,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixToggleGroup.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\tsegmentedControlRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: false }),\n\t\t\t)}\n\t\t\ttype=\"single\"\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<SegmentedControlContext.Provider value={{ size, variant, radius, icon }}>\n\t\t\t\t{children}\n\t\t\t</SegmentedControlContext.Provider>\n\t\t</RadixToggleGroup.Root>\n\t)\n})\nSegmentedControlRoot.displayName = \"SegmentedControlRoot\"\n","import { SegmentedControlItem } from \"./Item\"\nimport { SegmentedControlRoot } from \"./Root\"\n\nexport * from \"./Item\"\nexport * from \"./Root\"\nexport * from \"./typings\"\n\nexport const SegmentedControl = {\n\tItem: SegmentedControlItem,\n\tRoot: SegmentedControlRoot,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const separator = cva([\"shrink-0\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [],\n\t\t\tsm: [],\n\t\t\tmd: [],\n\t\t\tlg: [],\n\t\t\txl: [],\n\t\t\tfull: [],\n\t\t},\n\t\torientation: {\n\t\t\thorizontal: [\"h-px\"],\n\t\t\tvertical: [\"w-px\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"bg-(--accent-a6)\"],\n\t\t\tmedium: [\"bg-(--accent-a7)\"],\n\t\t\theavy: [\"bg-(--accent-a8)\"],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"horizontal\",\n\t\t\tclass: [\"w-full\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xs\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-4\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"sm\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-6\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"md\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-10\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"lg\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-16\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"xl\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-24\"],\n\t\t},\n\t\t{\n\t\t\tsize: \"full\",\n\t\t\torientation: \"vertical\",\n\t\t\tclass: [\"h-full\"],\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\torientation: \"horizontal\",\n\t\tweight: \"medium\",\n\t},\n})\n","import * as RadixSeparator from \"@radix-ui/react-separator\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { separator } from \"./cva\"\nimport type { SeparatorVariantProps } from \"./typings\"\n\ninterface SeparatorProps extends RadixSeparator.SeparatorProps, SeparatorVariantProps {}\n\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>((props, ref) => {\n\tconst { className, accentColor = \"base\", orientation, size, weight, ...rest } = props\n\n\treturn (\n\t\t<RadixSeparator.Root\n\t\t\tclassName={cx(className, separator({ orientation, size, weight }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tref={ref}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nSeparator.displayName = \"Separator\"\n","import { DismissableLayer } from \"@radix-ui/react-dismissable-layer\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cx } from \"class-variance-authority\"\nimport { NumberSize, Resizable, ResizeDirection } from \"re-resizable\"\nimport { CSSProperties, forwardRef, memo, PropsWithChildren, useCallback, useEffect, useMemo, useState } from \"react\"\nimport { CSSTransition } from \"react-transition-group\"\n\nimport { PropsWithClassNameAndStyle } from \"../typings\"\n\n// TODO: Remove this component, it is not currently required and is a worse version of the SlideOut present in the Layout API\n\nexport interface SlideOutV2Props extends PropsWithChildren, PropsWithClassNameAndStyle {\n\t/** The controlled open state of the SlideOut */\n\topen: boolean\n\t/** prop used to specify if the SlideOut is in modal mode or not. 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/** The side the SlideOut should position on and \"slide-in\" from */\n\tside: \"left\" | \"right\"\n\t/** prop to control if the SlideOut can be resized by the user\n\t * @default true\n\t * */\n\tresizeable?: boolean\n\t/** prop used to control the positioning of the SlideOut. When absolute, the SlideOut will overlay other\n\t * content within its parent container. 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/** prop used to specify the initialWidth of the SlideOut, can be expressed in any valid CSS size unit */\n\tinitialWidth: number | string\n\t/** prop used to specify the minimum width of the SlideOut can be expressed in any valid CSS size unit */\n\tminWidth?: number | string\n\t/** prop used to specify 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}\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.\n * @deprecated */\nexport const SlideOutV2 = memo(\n\tforwardRef<HTMLDivElement, SlideOutV2Props>((props, ref) => {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tstyle,\n\t\t\tchildren,\n\t\t\topen,\n\t\t\tmodal = false,\n\t\t\tresizeable = true,\n\t\t\tside,\n\t\t\tposition = \"relative\",\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonDismiss,\n\t\t\tonOpening,\n\t\t\tonClosed,\n\t\t} = props\n\t\tconst isLeft = side === \"left\"\n\n\t\tconst [slideOutWidth, setSlideOutWidth] = useState<number | string>(initialWidth)\n\n\t\tconst handleResize = useCallback(\n\t\t\t(_event: MouseEvent | TouchEvent, _dir: ResizeDirection, ref: HTMLElement, _delta: NumberSize) => {\n\t\t\t\tsetSlideOutWidth(ref.clientWidth)\n\t\t\t},\n\t\t\t[],\n\t\t)\n\n\t\tconst handleDismiss = useCallback(() => {\n\t\t\t// Only allow the onDismiss behavior to work when in modal mode\n\t\t\tif (modal && onDismiss) {\n\t\t\t\tonDismiss()\n\t\t\t}\n\t\t}, [modal, onDismiss])\n\n\t\t/** Want to reset the current width of the SlideOut when initial width changes. This allows for the width to\n\t\t * be changed depending on the viewport size, for example. */\n\t\tuseEffect(() => {\n\t\t\tsetSlideOutWidth(initialWidth)\n\t\t}, [initialWidth])\n\n\t\t/** Selecting what style set to apply for SlideOut transition based on if its left or right */\n\t\tconst CSSTransitionClassNames = useMemo(\n\t\t\t() => ({\n\t\t\t\tenter: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t\tenterActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] ml-0\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] mr-0\",\n\t\t\t\tenterDone: isLeft ? \"ml-0\" : \"mr-0\",\n\t\t\t\texitActive: isLeft\n\t\t\t\t\t? \"ease-linear duration-200 transition-[margin-left] -ml-(--slide-out-width)\"\n\t\t\t\t\t: \"ease-linear duration-200 transition-[margin-right] -mr-(--slide-out-width)\",\n\t\t\t\texitDone: isLeft ? \"-ml-(--slide-out-width)\" : \"-mr-(--slide-out-width)\",\n\t\t\t}),\n\t\t\t[isLeft],\n\t\t)\n\n\t\treturn (\n\t\t\t/** The DismissableLayer Component is strictly a functionality-based component for emulating an overlay. Its main use is for\n\t\t\t * detecting interactions OUTSIDE whatever content is placed within it, allowing the developer to decide what to do with that\n\t\t\t * content when it is 'dismissed' (i.e closed, to be hidden, etc.).\n\t\t\t *\n\t\t\t * There are three main events that trigger this 'dismissal' behavior\n\t\t\t * 1) Focus is given to an element outside the content rendered within the DismissableLayer component\n\t\t\t * 2) PointerEvent occurs on an element outside the content rendered within the DismissableLayer component\n\t\t\t * 3) Escape key is pressed\n\t\t\t *\n\t\t\t * The 'disableOutsidePointerEvents' prop is used for disabling focus and PointerEvents on outside elements.\n\t\t\t * The dismissal behavior will still eb trigger, it just won't allow any elements to be interacted with until\n\t\t\t * the DismissableLayer is removed from the DOM, or 'disableOutsidePointerEvents' is set to false\n\t\t\t *\n\t\t\t * In this use case, Overmap's SlideOut will have two specific behaviors\n\t\t\t * 1) Modal mode - the SlideOut has modal-like behavior where it will dismiss PointerEvents and Focus of\n\t\t\t * \t\toutside elements\n\t\t\t * 2) Non-modal mode - the SlideOut behaves like a side panel the co-exists with content outside of it\n\t\t\t * \t\t*/\n\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>\n\t\t\t\t<DismissableLayer\n\t\t\t\t\tkey={modal ? \"1\" : \"0\"}\n\t\t\t\t\tdisableOutsidePointerEvents={modal}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\tonInteractOutside={handleDismiss}\n\t\t\t\t\tonEscapeKeyDown={handleDismiss}\n\t\t\t\t\tasChild\n\t\t\t\t>\n\t\t\t\t\t<Slot\n\t\t\t\t\t\tclassName={cx(className, \"top-0\", \"bottom-0\", {\n\t\t\t\t\t\t\t\"left-0\": isLeft,\n\t\t\t\t\t\t\t\"right-0\": !isLeft,\n\t\t\t\t\t\t\tabsolute: position === \"absolute\",\n\t\t\t\t\t\t\trelative: position === \"relative\",\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Resizable\n\t\t\t\t\t\t\tonResize={handleResize}\n\t\t\t\t\t\t\tsize={{ width: slideOutWidth, height: \"100%\" }}\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tposition,\n\t\t\t\t\t\t\t\t\t\"--slide-out-width\": `${slideOutWidth}${\n\t\t\t\t\t\t\t\t\t\ttypeof slideOutWidth === \"number\" ? \"px\" : \"\"\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t} as CSSProperties\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tminWidth={minWidth}\n\t\t\t\t\t\t\tmaxWidth={maxWidth}\n\t\t\t\t\t\t\tenable={{ left: resizeable && !isLeft, right: resizeable && isLeft }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Resizable>\n\t\t\t\t\t</Slot>\n\t\t\t\t</DismissableLayer>\n\t\t\t</CSSTransition>\n\t\t)\n\t}),\n)\n","import { memo } from \"react\"\n\nexport const Spinner = memo(() => {\n\treturn <div className=\"size-5 animate-spin rounded-full border-2 border-(--base-a12) border-b-transparent\" />\n})\n\nSpinner.displayName = \"Spinner\"\n","import { createContext } from \"react\"\n\nimport type { ComponentRadius } from \"../Provider\"\nimport type { SwitchSize } from \"./typings\"\n\ninterface ISwitchContext {\n\tsize: SwitchSize\n\tradius: ComponentRadius\n}\n\nexport const SwitchContext = createContext({} as ISwitchContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const switchRoot = cva(\n\t[\n\t\t\"shrink-0\",\n\n\t\t// select\n\t\t\"select-none\",\n\t\t\"cursor-pointer\",\n\n\t\t// focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// ring\n\t\t\"inset-ring\",\n\t\t\"inset-ring-(--base-a4)\",\n\t\t\"data-[state=checked]:inset-ring-(--accent-track)\",\n\n\t\t// bg\n\t\t\"bg-(--base-4)\",\n\t\t\"data-[state=checked]:bg-(--accent-track)\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"w-10\"],\n\t\t\t\tsm: [\"h-6\", \"w-12\"],\n\t\t\t\tmd: [\"h-7\", \"w-14\"],\n\t\t\t\tlg: [\"h-8\", \"w-16\"],\n\t\t\t\txl: [\"h-9\", \"w-[4.5rem]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n\nexport const switchThumb = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"transition-transform\",\n\t\t\"data-[state='unchecked']:translate-x-[1px]\",\n\t\t\"data-[state='checked']:translate-x-[calc(100%+1px)]\",\n\t\t\"bg-(--base-contrast)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"size-[calc(calc(var(--spacing)*5)-1px)]\"],\n\t\t\t\tsm: [\"size-[calc(calc(var(--spacing)*6)-1px)]\"],\n\t\t\t\tmd: [\"size-[calc(calc(var(--spacing)*7)-1px)]\"],\n\t\t\t\tlg: [\"size-[calc(calc(var(--spacing)*8)-1px)]\"],\n\t\t\t\txl: [\"size-[calc(calc(var(--spacing)*9)-1px)]\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { SwitchContext } from \"./context\"\nimport { switchRoot } from \"./cva\"\nimport type { SwitchVariantProps } from \"./typings\"\n\nexport interface SwitchRootProps extends RadixSwitch.SwitchProps, SwitchVariantProps {}\n\nexport const SwitchRoot = memo(\n\tforwardRef<HTMLButtonElement, SwitchRootProps>((props, ref) => {\n\t\tconst providerContext = useProvider()\n\t\tconst {\n\t\t\tclassName,\n\t\t\tsize = \"md\",\n\t\t\tchildren,\n\t\t\tradius = providerContext.radius,\n\t\t\taccentColor = providerContext.accentColor,\n\t\t\t...rest\n\t\t} = props\n\n\t\treturn (\n\t\t\t<RadixSwitch.Root\n\t\t\t\tclassName={cx(className, switchRoot({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tdata-accent-color={accentColor}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<SwitchContext.Provider value={{ size, radius }}>{children}</SwitchContext.Provider>\n\t\t\t</RadixSwitch.Root>\n\t\t)\n\t}),\n)\n","import * as RadixSwitch from \"@radix-ui/react-switch\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef, memo, useContext } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { SwitchContext } from \"./context\"\nimport { switchThumb } from \"./cva\"\n\nexport interface SwitchThumbProps extends RadixSwitch.SwitchThumbProps {}\n\nexport const SwitchThumb = memo(\n\tforwardRef<HTMLSpanElement, SwitchThumbProps>((props, ref) => {\n\t\tconst { className, ...rest } = props\n\n\t\tconst { size, radius } = useContext(SwitchContext)\n\n\t\treturn (\n\t\t\t<RadixSwitch.Thumb\n\t\t\t\tclassName={cx(className, switchThumb({ size }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t)\n\t}),\n)\n","import { SwitchRoot } from \"./Root\"\nimport { SwitchThumb } from \"./Thumb\"\n\nexport * from \"./Root\"\nexport * from \"./Thumb\"\nexport * from \"./typings\"\n\nexport const Switch = {\n\tRoot: SwitchRoot,\n\tThumb: SwitchThumb,\n}\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableBodyProps extends PropsWithoutRef<ComponentProps<\"tbody\">> {}\n\nexport const TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tbody ref={ref} className={cx(className)} {...rest} />\n})\nTableBody.displayName = \"TableBody\"\n","import { createContext } from \"react\"\n\nimport { TableBorder, TableCellSize, TableVariant } from \"./typings\"\n\ninterface ITableContext {\n\tsize: TableCellSize\n\tborder: TableBorder\n\tvariant: TableVariant\n}\n\nexport const TableContext = createContext({} as ITableContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tableRootCva = cva([\"border-collapse text-left\"], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tghost: [],\n\t\t\tsurface: [\"border-1\", \"border-(--accent-a6)\", \"box-border\", \"overflow-hidden\"],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-md\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t},\n\t},\n})\n\nexport const tableCellCva = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tsurface: [],\n\t\t\tghost: [],\n\t\t},\n\t\tcell: {\n\t\t\ttrue: [],\n\t\t\tfalse: [],\n\t\t},\n\t\tsize: {\n\t\t\txs: [\"p-1\"],\n\t\t\tsm: [\"p-2\"],\n\t\t\tmd: [\"p-3\"],\n\t\t\tlg: [\"p-4\"],\n\t\t\txl: [\"p-5\"],\n\t\t},\n\t\tborder: {\n\t\t\tgrid: [\"box-border\", \"border\", \"border-(--accent-a6)\"],\n\t\t\trow: [\"box-border\", \"border-b\", \"border-(--accent-a6)\"],\n\t\t\tcol: [\"box-border\", \"border-x\", \"border-(--accent-a6)\"],\n\t\t\tnone: [],\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: true,\n\t\t\tclassName: [\"bg-(--accent-a1)\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"surface\",\n\t\t\tcell: false,\n\t\t\tclassName: [\"bg-(--accent-a2)\"],\n\t\t},\n\t],\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableCellProps extends PropsWithoutRef<ComponentProps<\"td\">> {}\n\nexport const TableCell = forwardRef<HTMLTableCellElement, TableCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <td ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableCell.displayName = \"TableCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableColumnHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableColumnHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableColumnHeaderCellProps>(\n\t(props, ref) => {\n\t\tconst { className, ...rest } = props\n\t\tconst { size, border, variant } = useContext(TableContext)\n\n\t\treturn (\n\t\t\t<th ref={ref} className={cx(className, tableCellCva({ size, border, cell: false, variant }))} {...rest} />\n\t\t)\n\t},\n)\nTableColumnHeaderCell.displayName = \"TableColumnHeaderCell\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableFooterProps extends PropsWithoutRef<ComponentProps<\"tfoot\">> {}\n\nexport const TableFooter = forwardRef<HTMLTableSectionElement, TableFooterProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tfoot ref={ref} className={cx(className)} {...rest} />\n})\nTableFooter.displayName = \"TableFooter\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableHeaderProps extends PropsWithoutRef<ComponentProps<\"thead\">> {}\n\nexport const TableHeader = forwardRef<HTMLTableSectionElement, TableHeaderProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <thead ref={ref} className={cx(className)} {...rest} />\n})\nTableHeader.displayName = \"TableHeader\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { TableContext } from \"./context\"\nimport { tableRootCva } from \"./cva\"\nimport type { TableVariantProps } from \"./typings\"\n\nexport interface TableRootProps extends Omit<PropsWithoutRef<ComponentProps<\"table\">>, \"border\">, TableVariantProps {}\n\nexport const TableRoot = forwardRef<HTMLTableElement, TableRootProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", border = \"row\", accentColor = \"base\", variant = \"ghost\", ...rest } = props\n\n\treturn (\n\t\t<table\n\t\t\tref={ref}\n\t\t\tclassName={cx(\n\t\t\t\tclassName,\n\t\t\t\ttableRootCva({ size, variant }),\n\t\t\t\tradiusCva({ radius: providerContext.radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TableContext.Provider value={{ size, border, variant }}>{children}</TableContext.Provider>\n\t\t</table>\n\t)\n})\nTableRoot.displayName = \"TableRoot\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nexport interface TableRowProps extends PropsWithoutRef<ComponentProps<\"tr\">> {}\n\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <tr ref={ref} className={cx(className)} {...rest} />\n})\nTableRow.displayName = \"TableRow\"\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef, useContext } from \"react\"\n\nimport { TableContext } from \"./context\"\nimport { tableCellCva } from \"./cva\"\n\nexport interface TableRowHeaderCellProps extends PropsWithoutRef<ComponentProps<\"th\">> {}\n\nexport const TableRowHeaderCell = forwardRef<HTMLTableHeaderCellElement, TableRowHeaderCellProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\tconst { size, border, variant } = useContext(TableContext)\n\n\treturn <th ref={ref} className={cx(className, tableCellCva({ size, border, cell: true, variant }))} {...rest} />\n})\nTableRowHeaderCell.displayName = \"TableRow\"\n","import { TableBody } from \"./Body\"\nimport { TableCell } from \"./Cell\"\nimport { TableColumnHeaderCell } from \"./ColumnHeaderCell\"\nimport { TableFooter } from \"./Footer\"\nimport { TableHeader } from \"./Header\"\nimport { TableRoot } from \"./Root\"\nimport { TableRow } from \"./Row\"\nimport { TableRowHeaderCell } from \"./RowHeaderCell\"\n\nexport * from \"./Body\"\nexport * from \"./Cell\"\nexport * from \"./ColumnHeaderCell\"\nexport * from \"./Footer\"\nexport * from \"./Header\"\nexport * from \"./Root\"\nexport * from \"./Row\"\nexport * from \"./RowHeaderCell\"\nexport * from \"./typings\"\n\nexport const Table = {\n\tRoot: TableRoot,\n\tHeader: TableHeader,\n\tBody: TableBody,\n\tFooter: TableFooter,\n\tRow: TableRow,\n\tCell: TableCell,\n\tRowHeaderCell: TableRowHeaderCell,\n\tColumnHeaderCell: TableColumnHeaderCell,\n}\n","import { createContext } from \"react\"\n\nimport type { TabsSize } from \"./typings\"\n\ninterface ITabsListContext {\n\tsize: TabsSize\n}\n\nexport const TabsListContext = createContext({} as ITabsListContext)\n","import { cva } from \"class-variance-authority\"\n\nexport const tabsListCva = cva([\"flex\", \"border-box\", \"inset-shadow-[0_-1px_0_0_var(--base-a6)]\"], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"h-6\", \"text-xs\"],\n\t\t\tsm: [\"h-7\", \"text-sm\"],\n\t\t\tmd: [\"h-8\", \"text-base\"],\n\t\t\tlg: [\"h-9\", \"text-lg\"],\n\t\t\txl: [\"h-10\", \"text-xl\"],\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n})\n\nexport const tabsTriggerCva = cva(\n\t[\n\t\t\"select-none\",\n\t\t\"shrink-0\",\n\t\t\"cursor-pointer\",\n\t\t\"transition-colors\",\n\t\t\"relative\",\n\t\t\"h-full\",\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"text-(--base-a11)\",\n\t\t\"hover:text-(--base-a12)\",\n\t\t\"data-[state=active]:text-(--base-a12)\",\n\t\t\"data-[state=active]:before:absolute\",\n\t\t\"data-[state=active]:before:inset-x-0\",\n\t\t\"data-[state=active]:before:bottom-0\",\n\t\t\"data-[state=active]:before:h-[2px]\",\n\t\t\"data-[state=active]:before:bg-(--accent-indicator)\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"px-2\", \"gap-0.25\"],\n\t\t\t\tsm: [\"px-2\", \"gap-0.5\"],\n\t\t\t\tmd: [\"px-3\", \"gap-1\"],\n\t\t\t\tlg: [\"px-4\", \"gap-1.5\"],\n\t\t\t\txl: [\"px-5\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { useProvider } from \"../Provider\"\nimport { TabsListContext } from \"./context\"\nimport { tabsListCva } from \"./cva\"\nimport type { TabsVariantProps } from \"./typings\"\n\nexport interface TabsListProps extends RadixTabs.TabsListProps, TabsVariantProps {}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst { children, className, size = \"md\", accentColor = providerContext.accentColor, ...rest } = props\n\n\treturn (\n\t\t<RadixTabs.List\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, tabsListCva({ size }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<TabsListContext.Provider value={{ size }}>{children}</TabsListContext.Provider>\n\t\t</RadixTabs.List>\n\t)\n})\nTabsList.displayName = \"TabsList\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TabsRootProps extends RadixTabs.TabsProps {}\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTabs.Root ref={ref} className={cx(className, \"flex flex-col\")} {...rest} />\n})\nTabsRoot.displayName = \"TabsRoot\"\n","import { useContext } from \"react\"\n\nimport { TabsListContext } from \"./context\"\n\nexport const useTabsList = () => {\n\tconst tabsListContext = useContext(TabsListContext)\n\n\tif (!tabsListContext) {\n\t\tthrow new Error(\"useTabsList must be used within a TabsList component\")\n\t}\n\n\treturn tabsListContext\n}\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { tabsTriggerCva } from \"./cva\"\nimport { useTabsList } from \"./hooks\"\n\nexport interface TabsTriggerProps extends RadixTabs.TabsTriggerProps {}\n\nexport const TabsTrigger = forwardRef<HTMLButtonElement, TabsTriggerProps>((props, ref) => {\n\tconst { className, children, ...rest } = props\n\n\tconst { size } = useTabsList()\n\n\treturn (\n\t\t<RadixTabs.Trigger ref={ref} className={cx(className, tabsTriggerCva({ size }))} {...rest}>\n\t\t\t{children}\n\t\t</RadixTabs.Trigger>\n\t)\n})\nTabsTrigger.displayName = \"TabsTrigger\"\n","import * as RadixTabs from \"@radix-ui/react-tabs\"\n\nimport { TabsList } from \"./List\"\nimport { TabsRoot } from \"./Root\"\nimport { TabsTrigger } from \"./Trigger\"\n\nexport * from \"./List\"\nexport * from \"./Root\"\nexport * from \"./Trigger\"\nexport * from \"./typings\"\n\nexport const Tabs = {\n\tRoot: TabsRoot,\n\tList: TabsList,\n\tTrigger: TabsTrigger,\n\tContent: RadixTabs.Content,\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const textCva = cva([], {\n\tvariants: {\n\t\tsize: {\n\t\t\txs: [\"text-xs\"],\n\t\t\tsm: [\"text-sm\"],\n\t\t\tmd: [\"text-base\"],\n\t\t\tlg: [\"text-lg\"],\n\t\t\txl: [\"text-xl\"],\n\t\t\t\"2xl\": [\"text-2xl\"],\n\t\t\t\"3xl\": [\"text-3xl\"],\n\t\t\t\"4xl\": [\"text-4xl\"],\n\t\t\t\"5xl\": [\"text-5xl\"],\n\t\t\t\"6xl\": [\"text-6xl\"],\n\t\t\t\"7xl\": [\"text-7xl\"],\n\t\t\t\"8xl\": [\"text-8xl\"],\n\t\t\t\"9xl\": [\"text-9xl\"],\n\t\t},\n\t\tweight: {\n\t\t\tlight: [\"font-light\"],\n\t\t\tregular: [\"font-normal\"],\n\t\t\tmedium: [\"font-medium\"],\n\t\t\tbold: [\"font-bold\"],\n\t\t},\n\t\talign: {\n\t\t\tleft: [\"text-left\"],\n\t\t\tcenter: [\"text-center\"],\n\t\t\tright: [\"text-right\"],\n\t\t},\n\t},\n})\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { textCva } from \"./cva\"\nimport type { TextVariantProps } from \"./typings\"\n\nexport interface TextProps extends PropsWithoutRef<ComponentProps<\"span\">>, TextVariantProps {}\n\nexport const Text = forwardRef<HTMLSpanElement, TextProps>((props, ref) => {\n\tconst { className, size, weight, align, accentColor, highContrast = false, ...rest } = props\n\treturn (\n\t\t<span\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, textCva({ size, weight, align }), {\n\t\t\t\t\"text-(--accent-a11)\": !!accentColor,\n\t\t\t\t\"text-(--accent-a12)\": highContrast,\n\t\t\t})}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nText.displayName = \"Text\"\n","import { cva } from \"class-variance-authority\"\n\nexport const textAreaCva = cva(\n\t[\n\t\t\"focus:outline-(--accent-a8)\",\n\t\t\"focus:outline-2\",\n\t\t\"focus:-outline-offset-1\",\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\t\t\"[scrollbar-width:thin]\",\n\t\t\"[scrollbar-color:var(--base-6)_transparent]\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t\"placeholder-(--base-a9)\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--base-a7)\",\n\t\t\t\t\t\"bg-transparent\",\n\t\t\t\t\t\"text-(--base-12)\",\n\t\t\t\t],\n\t\t\t\tsurface: [\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a7)\",\n\t\t\t\t\t\"bg-(--accent-surface)\",\n\t\t\t\t\t\"text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t\tsoft: [\n\t\t\t\t\t\"bg-(--accent-a3)\",\n\t\t\t\t\t\"text-(--accent-12)\",\n\t\t\t\t\t\"placeholder-(--accent-12)\",\n\t\t\t\t\t\"placeholder:opacity-60\",\n\t\t\t\t\t\"selection:bg-(--accent-a5)\",\n\t\t\t\t],\n\t\t\t\tghost: [\"placeholder-(--base-a9)\", \"selection:bg-(--accent-a5)\", \"bg-transparent\", \"text-(--base-12)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"p-1\", \"text-xs\"],\n\t\t\t\tsm: [\"p-1.5\", \"text-sm\"],\n\t\t\t\tmd: [\"p-2\", \"text-base\"],\n\t\t\t\tlg: [\"p-2.5\", \"text-lg\"],\n\t\t\t\txl: [\"p-3\", \"text-xl\"],\n\t\t\t},\n\t\t\tresize: {\n\t\t\t\tnone: [\"resize-none\"],\n\t\t\t\tvertical: [\"resize-y\"],\n\t\t\t\thorizontal: [\"resize-x\"],\n\t\t\t\tboth: [\"resize\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"outline\",\n\t\t\tsize: \"md\",\n\t\t\tresize: \"none\",\n\t\t},\n\t},\n)\n","import { cx } from \"class-variance-authority\"\nimport { ComponentProps, forwardRef, PropsWithoutRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { textAreaCva } from \"./cva\"\nimport type { TextAreaVariantProps } from \"./typings\"\n\nexport interface TextAreaProps extends PropsWithoutRef<ComponentProps<\"textarea\">>, TextAreaVariantProps {}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cx(className, textAreaCva({ size, variant }), radiusCva({ radius, maxLarge: true }))}\n\t\t\tref={ref}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nTextArea.displayName = \"TextArea\"\n","import { cva } from \"class-variance-authority\"\n\nexport const toastCva = cva(\n\t[\n\t\t\"shadow-md\",\n\t\t\"duration-200\",\n\t\t\"data-[state='open']:animate-in\",\n\t\t\"data-[state='open']:fade-in-0\",\n\t\t\"data-[state='open']:zoom-in-95\",\n\t\t\"data-[state='closed']:animate-out\",\n\t\t\"data-[state='closed']:fade-out-0\",\n\t\t\"data-[state='closed']:zoom-out-95\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tsurface: [\"bg-(--accent-1)\", \"text-(--accent-11)\", \"ring-1\", \"ring-inset\", \"ring-(--accent-a6)\"],\n\t\t\t\tsoft: [\"bg-(--accent-1)\", \"text-(--accent-11)\"],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"p-2\"],\n\t\t\t\tsm: [\"text-sm\", \"p-3\"],\n\t\t\t\tmd: [\"text-base\", \"p-4\"],\n\t\t\t\tlg: [\"text-lg\", \"p-5\"],\n\t\t\t\txl: [\"text-xl\", \"p-6\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"surface\",\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n)\n","import * as RadixToast from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, forwardRef, memo, useCallback, useState } from \"react\"\nimport { HiX } from \"react-icons/hi\"\n\nimport { IconButton } from \"../Buttons\"\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toastCva } from \"./cva\"\nimport type { ToastProps } from \"./typings\"\n\nconst _Toast = forwardRef<HTMLLIElement, ToastProps>(function Toast(props, ref) {\n\tconst { radius, ...restProviderContext } = useProvider()\n\tconst {\n\t\ttitle,\n\t\tdescription,\n\t\ticon,\n\t\tsize = \"md\",\n\t\taccentColor = restProviderContext.accentColor,\n\t\tvariant,\n\t\tonClose,\n\t\tsensitivity,\n\t\taction,\n\t\t...rest\n\t} = props\n\n\tconst [open, setOpen] = useState(true)\n\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t\tsetOpen(open)\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root\n\t\t\tclassName={cx(\n\t\t\t\t\"flex w-max items-center gap-4\",\n\t\t\t\ttoastCva({ size, variant }),\n\t\t\t\tradiusCva({ radius, maxLarge: true }),\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\topen={open}\n\t\t\ttype={sensitivity}\n\t\t\tonOpenChange={handleOpenChange}\n\t\t\tdata-accent-color={accentColor}\n\t\t\tdata-floating-content=\"\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<div className=\"flex grow items-center gap-3\">\n\t\t\t\t{icon}\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t<RadixToast.Title className=\"font-medium\">{title}</RadixToast.Title>\n\t\t\t\t\t\t<RadixToast.Description>{description}</RadixToast.Description>\n\t\t\t\t\t</div>\n\t\t\t\t\t{action && (\n\t\t\t\t\t\t<RadixToast.Action className=\"w-max\" altText={action.altText} asChild>\n\t\t\t\t\t\t\t{action.content}\n\t\t\t\t\t\t</RadixToast.Action>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<RadixToast.Close asChild>\n\t\t\t\t<IconButton size={size} aria-label=\"Close\" variant=\"ghost\" accentColor={accentColor}>\n\t\t\t\t\t<HiX />\n\t\t\t\t</IconButton>\n\t\t\t</RadixToast.Close>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\n","import { createContext, useContext } from \"react\"\n\nimport { IToastContext } from \"./typings\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const useToast = (): IToastContext => {\n\tconst context = useContext(ToastContext)\n\n\tif (!context) {\n\t\tthrow new Error(\"useToast must be used within a ToastProvider\")\n\t}\n\n\treturn context\n}\n","import { ToastProvider as RadixToastProvider, ToastViewport } from \"@radix-ui/react-toast\"\nimport { cx } from \"class-variance-authority\"\nimport { FC, memo, useCallback, useEffect, useMemo, useState } from \"react\"\n\nimport { Toast } from \"./Toast\"\nimport { ToastContext } from \"./ToastContext\"\nimport type { IToastContext, SimpleToastProps, ToastContextProviderProps, ToastProps } from \"./typings\"\n\ninterface ToastArgs extends ToastProps {\n\tid: string\n\ttimeout: NodeJS.Timeout\n}\n\n// average reading speed is 240 words per minute\nconst WORDS_PER_SECOND = 240 / 60\n// 5 seconds is the minimum duration for a toast\nconst MIN_DURATION = 5000\n\nenum CloseReason {\n\tManual,\n\tTimeout,\n}\n\nconst calculatedDuration = (toast: ToastProps) => {\n\t// if the user has passed a duration valid, use that instead\n\tif (toast.duration && toast.duration >= MIN_DURATION) return toast.duration\n\n\t// count the number of words in the title and description\n\tconst words = toast.description.split(\" \").length + toast.title.split(\" \").length\n\t// calculate the duration based on the number of words and the severity\n\treturn MIN_DURATION + words / WORDS_PER_SECOND\n}\n\n/** this is a hack to allow toasts to be shown outside of components where hooks cannot be used */\n// eslint-disable-next-line react-refresh/only-export-components\nexport let unsafeShowToast: ((toastProps: ToastProps) => void) | undefined = undefined\n\n/** Toasts will be displayed in the top-right handle corner of the screen */\nexport const ToastProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tclassName,\n\thotkey,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastArgs[]>([])\n\n\tconst handleCloseToast = useCallback((id: string, reason: CloseReason, callback?: () => void) => {\n\t\tsetToasts((prevToasts) => {\n\t\t\tconst toast = prevToasts.find((toast) => toast.id === id)\n\t\t\t// clear the timeout if the toast is being closed manually\n\t\t\tif (toast && reason === CloseReason.Manual) clearTimeout(toast.timeout)\n\n\t\t\treturn prevToasts.filter((toast) => toast.id !== id)\n\t\t})\n\n\t\tif (callback) callback()\n\t}, [])\n\n\tconst toastContextValue = useMemo<IToastContext>(() => {\n\t\tlet counter = 0\n\n\t\tconst showToast = (toastProps: ToastProps) => {\n\t\t\tconst duration = calculatedDuration(toastProps)\n\t\t\tconst id = counter.toString()\n\t\t\tcounter += 1 // increment the counter so that ids are unique\n\n\t\t\t// manually close the toast after the duration has passed\n\t\t\t// this is necessary because the duration prop is reset on re-render\n\t\t\tconst pending = setTimeout(() => handleCloseToast(id, CloseReason.Timeout, toastProps.onClose), duration)\n\n\t\t\tsetToasts((prevToasts) => [...prevToasts, { ...toastProps, timeout: pending, duration, id }])\n\t\t}\n\t\tconst showPrimary = (toastProps: SimpleToastProps) => showToast(toastProps)\n\t\tconst showSuccess = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"success\" })\n\t\tconst showError = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"danger\" })\n\t\tconst showInfo = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"base\" })\n\t\tconst showWarning = (toastProps: SimpleToastProps) => showToast({ ...toastProps, accentColor: \"warning\" })\n\n\t\tunsafeShowToast = showToast\n\n\t\treturn {\n\t\t\tshowToast,\n\t\t\tshowPrimary,\n\t\t\tshowSuccess,\n\t\t\tshowError,\n\t\t\tshowInfo,\n\t\t\tshowWarning,\n\t\t}\n\t}, [handleCloseToast])\n\n\t// clear all timeouts when the component unmounts\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tfor (const { timeout } of toasts) clearTimeout(timeout)\n\t\t}\n\t\t// only run this effect when the component unmounts\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [])\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<RadixToastProvider {...rest}>\n\t\t\t\t{children}\n\n\t\t\t\t<ToastViewport\n\t\t\t\t\tclassName={cx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\"fixed top-0 right-0 z-[2147483647] flex max-w-[100vw] list-none flex-col items-end gap-3 overflow-x-hidden overflow-y-auto p-5 outline-none\",\n\t\t\t\t\t)}\n\t\t\t\t\thotkey={hotkey}\n\t\t\t\t/>\n\n\t\t\t\t{toasts.map(({ id, onClose, ...toastProps }) => (\n\t\t\t\t\t<Toast key={id} {...toastProps} onClose={() => handleCloseToast(id, CloseReason.Manual, onClose)} />\n\t\t\t\t))}\n\t\t\t</RadixToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { cva } from \"class-variance-authority\"\n\nexport const toggleButtonCva = cva(\n\t[\n\t\t\"flex\",\n\t\t\"items-center\",\n\t\t\"shrink-0\",\n\t\t\"justify-center\",\n\n\t\t// Selection\n\t\t\"select-none\",\n\n\t\t// Focus\n\t\t\"focus-visible:outline-2\",\n\t\t\"focus-visible:outline-offset-2\",\n\t\t\"focus-visible:outline-(--accent-a8)\",\n\n\t\t// Disabled\n\t\t\"disabled:opacity-50\",\n\t\t\"disabled:pointer-events-none\",\n\n\t\t\"transition-[background,color,box-shadow]\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\toutline: [\n\t\t\t\t\t// ring\n\t\t\t\t\t\"inset-ring\",\n\t\t\t\t\t\"inset-ring-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=off]:hover:inset-ring-transparent\",\n\t\t\t\t\t\"data-[state=on]:inset-ring-transparent\",\n\n\t\t\t\t\t// text\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\n\t\t\t\t\t// bg\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t],\n\t\t\t\tghost: [\n\t\t\t\t\t\"text-(--accent-a11)\",\n\t\t\t\t\t\"data-[state=off]:hover:bg-(--accent-a3)\",\n\t\t\t\t\t\"data-[state=on]:bg-(--accent-a4)\",\n\t\t\t\t\t\"data-[state=on]:text-(--accent-a12)\",\n\t\t\t\t],\n\t\t\t},\n\t\t\ticon: {\n\t\t\t\ttrue: [],\n\t\t\t\tfalse: [],\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\txs: [\"h-5\", \"text-xs\", \"gap-0.25\"],\n\t\t\t\tsm: [\"h-6\", \"text-sm\", \"gap-0.5\"],\n\t\t\t\tmd: [\"h-7\", \"text-base\", \"gap-1\"],\n\t\t\t\tlg: [\"h-8\", \"text-lg\", \"gap-1.5\"],\n\t\t\t\txl: [\"h-9\", \"text-xl\", \"gap-2\"],\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"w-5\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xs\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"w-6\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclass: \"px-2\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"w-7\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"md\",\n\t\t\t\tclass: \"px-3\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"w-8\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"lg\",\n\t\t\t\tclass: \"px-4\",\n\t\t\t},\n\n\t\t\t{\n\t\t\t\ticon: true,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"w-9\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: false,\n\t\t\t\tsize: \"xl\",\n\t\t\t\tclass: \"px-5\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\ticon: false,\n\t\t\tvariant: \"outline\",\n\t\t},\n\t},\n)\n","import * as Toggle from \"@radix-ui/react-toggle\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { toggleButtonCva } from \"./cva\"\nimport type { BaseToggleButtonProps } from \"./typings\"\n\nexport const BaseToggleButton = forwardRef<HTMLButtonElement, BaseToggleButtonProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tsize,\n\t\ticon,\n\t\tvariant,\n\t\tradius = providerContext.radius,\n\t\taccentColor = providerContext.accentColor,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<Toggle.Root\n\t\t\tref={ref}\n\t\t\tclassName={cx(className, toggleButtonCva({ size, variant, icon }), radiusCva({ radius, maxLarge: false }))}\n\t\t\tdata-accent-color={accentColor}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\nBaseToggleButton.displayName = \"BaseToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const IconToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon {...props} />\n})\nIconToggleButton.displayName = \"IconToggleButton\"\n","import { forwardRef } from \"react\"\n\nimport { BaseToggleButton } from \"./BaseToggleButton\"\nimport type { ToggleButtonProps } from \"./typings\"\n\nexport const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>((props, ref) => {\n\treturn <BaseToggleButton ref={ref} icon={false} {...props} />\n})\nToggleButton.displayName = \"ToggleButton\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nexport interface TooltipArrowProps extends RadixTooltip.TooltipArrowProps {}\n\nexport const TooltipArrow = forwardRef<SVGSVGElement, TooltipArrowProps>((props, ref) => {\n\tconst { className, ...rest } = props\n\n\treturn <RadixTooltip.Arrow className={cx(className, \"fill-(--base-6)\")} ref={ref} {...rest} />\n})\nTooltipArrow.displayName = \"TooltipArrow\"\n","import { cva } from \"class-variance-authority\"\n\nexport const tooltipContent = cva(\n\t[\n\t\t\"data-[state=delayed-open]:animate-in\",\n\t\t\"data-[state=delayed-open]:fade-in-0\",\n\t\t\"data-[state=delayed-open]:zoom-in-95\",\n\t\t\"data-[state=closed]:animate-out\",\n\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\"data-[state=closed]:zoom-out-95\",\n\t\t\"bg-(--base-1)\",\n\t\t\"ring-1\",\n\t\t\"ring-inset\",\n\t\t\"ring-(--base-a6)\",\n\t\t\"text-(--base-12)\",\n\t\t\"shadow-sm\",\n\t],\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: [\"text-xs\", \"px-2\"],\n\t\t\t\tsm: [\"text-sm\", \"px-3\"],\n\t\t\t\tmd: [\"text-base\", \"px-4\"],\n\t\t\t\tlg: [\"text-lg\", \"px-5\"],\n\t\t\t\txl: [\"text-xl\", \"px-6\"],\n\t\t\t},\n\t\t\tside: {\n\t\t\t\ttop: [\"data-[side=top]:slide-in-from-bottom-1\"],\n\t\t\t\tright: [\"data-[side=right]:slide-in-from-left-1\"],\n\t\t\t\tbottom: [\"data-[side=bottom]:slide-in-from-top-1\"],\n\t\t\t\tleft: [\"data-[side=left]:slide-in-from-right-1\"],\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\tside: \"top\",\n\t\t},\n\t},\n)\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\nimport { cx } from \"class-variance-authority\"\nimport { forwardRef } from \"react\"\n\nimport { radiusCva } from \"../cva\"\nimport { useProvider } from \"../Provider\"\nimport { tooltipContent } from \"./cva\"\nimport type { TooltipVariantProps } from \"./typings\"\n\nexport interface TooltipContentProps extends RadixTooltip.TooltipContentProps, TooltipVariantProps {\n\tcontainer?: RadixTooltip.TooltipPortalProps[\"container\"]\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>((props, ref) => {\n\tconst providerContext = useProvider()\n\tconst {\n\t\tclassName,\n\t\tside = \"top\",\n\t\tsize,\n\t\tradius = providerContext.radius,\n\t\tchildren,\n\t\tsideOffset = 2,\n\t\tcontainer,\n\t\t...rest\n\t} = props\n\n\treturn (\n\t\t<RadixTooltip.Portal container={container}>\n\t\t\t<RadixTooltip.Content\n\t\t\t\tclassName={cx(className, tooltipContent({ size, side }), radiusCva({ radius, maxLarge: false }))}\n\t\t\t\tref={ref}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tdata-floating-content=\"\"\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</RadixTooltip.Content>\n\t\t</RadixTooltip.Portal>\n\t)\n})\nTooltipContent.displayName = \"TooltipContent\"\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\"\n\nimport { TooltipArrow } from \"./Arrow\"\nimport { TooltipContent } from \"./Content\"\n\nexport * from \"./Arrow\"\nexport * from \"./Content\"\nexport * from \"./typings\"\n\nexport const Tooltip = {\n\tArrow: TooltipArrow,\n\tContent: TooltipContent,\n\tRoot: RadixTooltip.Root,\n\tTrigger: RadixTooltip.Trigger,\n\tProvider: RadixTooltip.Provider,\n}\n"],"names":["cva","createContext","useContext","useMemo","forwardRef","jsxs","RadixAlertDialog","jsx","cx","memo","useState","useCallback","open","RadixAvatar","RadixCheckbox","React","useLayoutEffect","useMediaQuery","useEffect","RadixPrimitiveCollapsible","RadixDialog","HiX","RadixHoverCard","Root","inputRoot","useRef","TIMEOUT_DURATION","ref","SlideOut","CSSTransition","Slot","Resizable","Fragment","useFloatingNodeId","useFloating","autoUpdate","offsetMiddleware","sizeMiddleware","flip","shift","hide","useRole","useDismiss","useClick","useListNavigation","useInteractions","FloatingTree","_a","FloatingNode","FloatingPortal","FloatingOverlay","FloatingFocusManager","FloatingList","offset","useHover","safePolygon","useListItem","useMergeRefs","value","RadixSeparator","RiIcons","RiQuestionMark","useErrorBoundary","ErrorBoundary","RadixPopover","RadixRadioGroup","RadixToggleGroup","DismissableLayer","RadixSwitch","RadixTabs","Toast","RadixToast","unsafeShowToast","toast","RadixToastProvider","ToastViewport","Toggle","RadixTooltip"],"mappings":"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","x_google_ignoreList":[31,32,33]}
|