@bigbinary/neeto-atoms 1.0.126 → 1.0.128

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/{Combobox-CCstgdEa.js → Combobox-h2Kez17p.js} +5 -2
  2. package/dist/{Combobox-CCstgdEa.js.map → Combobox-h2Kez17p.js.map} +1 -1
  3. package/dist/{Select-CLSJgvl6.js → Select-DpP0-jfR.js} +2 -2
  4. package/dist/{Select-CLSJgvl6.js.map → Select-DpP0-jfR.js.map} +1 -1
  5. package/dist/{Toastr-FXUexjdi.js → Toastr-Dhl8V1V2.js} +5 -1
  6. package/dist/Toastr-Dhl8V1V2.js.map +1 -0
  7. package/dist/cjs/{Combobox-ChwUxTXb.js → Combobox-CW2aVZlW.js} +5 -2
  8. package/dist/cjs/{Combobox-ChwUxTXb.js.map → Combobox-CW2aVZlW.js.map} +1 -1
  9. package/dist/cjs/{Select-BjWAZwbk.js → Select-C5YNUW3E.js} +2 -2
  10. package/dist/cjs/{Select-BjWAZwbk.js.map → Select-C5YNUW3E.js.map} +1 -1
  11. package/dist/cjs/{Toastr-Bp5zV23g.js → Toastr-DgllCbfd.js} +5 -1
  12. package/dist/cjs/Toastr-DgllCbfd.js.map +1 -0
  13. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  14. package/dist/cjs/components/Select.js +2 -2
  15. package/dist/cjs/components/Toastr.js +1 -1
  16. package/dist/cjs/components/index.js +3 -3
  17. package/dist/cjs/formik/Select.js +2 -2
  18. package/dist/cjs/formik/index.js +2 -2
  19. package/dist/cjs/index.js +3 -3
  20. package/dist/cjs/primitives/Combobox.js +1 -1
  21. package/dist/cjs/primitives/ContextMenu.js +4 -1
  22. package/dist/cjs/primitives/ContextMenu.js.map +1 -1
  23. package/dist/cjs/primitives/DropdownMenu.js +66 -6
  24. package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
  25. package/dist/cjs/primitives/Menubar.js +4 -1
  26. package/dist/cjs/primitives/Menubar.js.map +1 -1
  27. package/dist/cjs/primitives/Select.js +4 -1
  28. package/dist/cjs/primitives/Select.js.map +1 -1
  29. package/dist/cjs/primitives/index.js +1 -1
  30. package/dist/components/DropdownMenu/Label.d.ts +6 -0
  31. package/dist/components/DropdownMenu/types.d.ts +7 -1
  32. package/dist/components/DropdownMenu.js.map +1 -1
  33. package/dist/components/Select.js +2 -2
  34. package/dist/components/Toastr.js +1 -1
  35. package/dist/components/index.js +3 -3
  36. package/dist/formik/Select.js +2 -2
  37. package/dist/formik/index.js +2 -2
  38. package/dist/index.js +3 -3
  39. package/dist/primitives/Combobox.d.ts +1 -1
  40. package/dist/primitives/Combobox.js +1 -1
  41. package/dist/primitives/ContextMenu.d.ts +1 -1
  42. package/dist/primitives/ContextMenu.js +4 -1
  43. package/dist/primitives/ContextMenu.js.map +1 -1
  44. package/dist/primitives/DropdownMenu.d.ts +24 -6
  45. package/dist/primitives/DropdownMenu.js +66 -6
  46. package/dist/primitives/DropdownMenu.js.map +1 -1
  47. package/dist/primitives/Menubar.d.ts +1 -1
  48. package/dist/primitives/Menubar.js +4 -1
  49. package/dist/primitives/Menubar.js.map +1 -1
  50. package/dist/primitives/Select.d.ts +1 -1
  51. package/dist/primitives/Select.js +4 -1
  52. package/dist/primitives/Select.js.map +1 -1
  53. package/dist/primitives/index.js +1 -1
  54. package/package.json +1 -1
  55. package/dist/Toastr-FXUexjdi.js.map +0 -1
  56. package/dist/cjs/Toastr-Bp5zV23g.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode, type Ref } from "react";
2
- import { DropdownMenuContent, DropdownMenuItem as PrimitiveDropdownMenuItem } from "src/primitives/DropdownMenu";
2
+ import { DropdownMenuContent, DropdownMenuItem as PrimitiveDropdownMenuItem, type DropdownMenuItemSize } from "src/primitives/DropdownMenu";
3
3
  import type { ButtonProps } from "src/components/Button";
4
4
  import type { IconProp } from "src/shared/renderIcon";
5
5
  export type DropdownPosition = "top" | "bottom" | "left" | "right" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "auto";
@@ -92,6 +92,12 @@ export interface MenuItemProps extends Omit<React.ComponentProps<typeof Primitiv
92
92
  isDisabled?: boolean;
93
93
  /** Visual variant of the menu item. */
94
94
  variant?: MenuItemVariant;
95
+ /**
96
+ * Vertical density — row padding and height — of the item (font size is
97
+ * unchanged). Defaults to `"default"` (the roomy baseline); pass `"compact"`
98
+ * for dense rows in long / scrolling menus.
99
+ */
100
+ size?: DropdownMenuItemSize;
95
101
  /** Content rendered before the label. */
96
102
  prefix?: ReactNode;
97
103
  /** Content rendered after the label. */
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../../src/components/DropdownMenu/constants.ts","../../src/components/DropdownMenu/SplitTrigger.tsx","../../src/components/DropdownMenu/TriggerButton.tsx","../../src/components/DropdownMenu/types.ts","../../src/components/DropdownMenu/DropdownBase.tsx","../../src/components/DropdownMenu/Divider.tsx","../../src/components/DropdownMenu/Label.tsx","../../src/components/DropdownMenu/Menu.tsx","../../src/components/DropdownMenu/MenuItem.tsx","../../src/components/DropdownMenu/SubMenu.tsx","../../src/components/DropdownMenu/index.tsx"],"sourcesContent":["export const SIDE_MAP: Record<string, \"top\" | \"right\" | \"bottom\" | \"left\"> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n auto: \"bottom\",\n};\n\nexport const ALIGN_MAP: Record<string, \"start\" | \"center\" | \"end\"> = {\n top: \"center\",\n bottom: \"center\",\n left: \"center\",\n right: \"center\",\n \"top-start\": \"start\",\n \"top-end\": \"end\",\n \"bottom-start\": \"start\",\n \"bottom-end\": \"end\",\n \"left-start\": \"start\",\n \"left-end\": \"end\",\n \"right-start\": \"start\",\n \"right-end\": \"end\",\n auto: \"end\",\n};\n\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Button } from \"src/components/Button\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport { ButtonGroup } from \"src/primitives/ButtonGroup\";\nimport { DropdownMenuTrigger } from \"src/primitives/DropdownMenu\";\n\nimport type { BaseTriggerProps } from \"./types\";\n\ninterface SplitTriggerOwnProps extends BaseTriggerProps {\n /** Ref forwarded to the action button (left side). */\n actionButtonRef?: React.Ref<HTMLButtonElement>;\n}\n\n/**\n * Radix injects extra props (aria-expanded, data-state, …) via Slot on the\n * DropdownMenuTrigger child. We capture them with a rest-spread.\n */\ntype SplitTriggerProps = SplitTriggerOwnProps &\n Omit<React.ComponentProps<\"div\">, keyof SplitTriggerOwnProps>;\n\nconst SplitTrigger = forwardRef<HTMLDivElement, SplitTriggerProps>(\n (\n {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n actionButtonRef,\n className,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const variant = buttonProps?.variant;\n const size = buttonProps?.size;\n\n return (\n <ButtonGroup\n ref={ref}\n className={cn(\"neeto-ui-action-dropdown\", className)}\n {...otherProps}\n >\n {/* Action button — fires the primary onClick */}\n <Button\n ref={actionButtonRef}\n type=\"button\"\n label={label}\n icon={icon}\n iconPosition=\"left\"\n disabled={disabled}\n {...buttonProps}\n onClick={onClick}\n data-testid=\"action-dropdown-btn\"\n />\n\n {/* Chevron trigger — opens the dropdown menu */}\n <DropdownMenuTrigger asChild disabled={disabled}>\n <PrimitiveButton\n type=\"button\"\n variant={variant}\n size={size}\n disabled={disabled}\n aria-label={t(\n \"neetoatoms.dropdownMenu.openMenu\",\n \"Open dropdown menu\"\n )}\n className=\"px-1.5\"\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n </PrimitiveButton>\n </DropdownMenuTrigger>\n </ButtonGroup>\n );\n }\n);\nSplitTrigger.displayName = \"Dropdown.SplitTrigger\";\n\nexport { SplitTrigger };\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { hyphenize } from \"src/utils/hyphenize\";\nimport { Button } from \"src/components/Button\";\n\nimport type { BaseTriggerProps } from \"./types\";\n\n/**\n * Extra props that Radix's Slot injects when the parent Trigger uses\n * `asChild` (aria-expanded, aria-haspopup, data-state, id, …).\n * We capture them with a rest-spread so they reach the DOM button.\n */\ntype TriggerButtonProps = BaseTriggerProps &\n Omit<React.ComponentProps<\"button\">, keyof BaseTriggerProps>;\n\nconst TriggerButton = forwardRef<HTMLButtonElement, TriggerButtonProps>(\n (\n {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n className,\n ...otherProps\n },\n ref\n ) => (\n <Button\n ref={ref}\n type=\"button\"\n label={label}\n icon={icon}\n iconPosition=\"left\"\n trailing={\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n }\n disabled={disabled}\n data-testid={`${hyphenize(label)}-dropdown-icon`}\n {...otherProps}\n {...buttonProps}\n onClick={onClick}\n className={cn(className, buttonProps?.className)}\n />\n )\n);\nTriggerButton.displayName = \"Dropdown.TriggerButton\";\n\nexport { TriggerButton };\n","import { createContext, type ReactNode, type Ref } from \"react\";\n\nimport {\n DropdownMenuContent,\n DropdownMenuItem as PrimitiveDropdownMenuItem,\n} from \"src/primitives/DropdownMenu\";\nimport type { ButtonProps } from \"src/components/Button\";\nimport type { IconProp } from \"src/shared/renderIcon\";\n\nexport type DropdownPosition =\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"left-start\"\n | \"left-end\"\n | \"right-start\"\n | \"right-end\"\n | \"auto\";\n\n/**\n * Mirrors the primitive `DropdownMenuItem`'s `variant` vocabulary so the\n * wrapper speaks the same language. Keep in sync with Radix primitive.\n */\nexport type MenuItemVariant = \"default\" | \"destructive\";\n\n/**\n * Props forwarded to the trigger button. Sourced from the `Button` wrapper,\n * so consumers can pass `variant`, `size`, `loading`, `tooltipProps`,\n * `fullWidth`, `iconPosition`, etc.\n *\n * The dropdown owns these and so they are excluded:\n * - `label`/`icon`: top-level props on `DropdownMenu`\n * - `trailing`: the chevron\n * - `disabled`: `DropdownMenu`'s own `disabled` prop is authoritative\n * - `onClick`: use `DropdownMenu`'s `onClick` (drives split-button mode)\n * - `to`/`href`: a navigating trigger doesn't open a menu\n * - `asChild`/`children`: use `customTarget` / `label` instead\n */\nexport type DropdownButtonProps = Omit<\n ButtonProps,\n | \"label\"\n | \"icon\"\n | \"trailing\"\n | \"disabled\"\n | \"onClick\"\n | \"to\"\n | \"href\"\n | \"asChild\"\n | \"children\"\n>;\n\nexport interface BaseTriggerProps {\n label?: string;\n icon?: IconProp;\n buttonProps?: DropdownButtonProps;\n disabled: boolean;\n isOpen: boolean;\n onClick?: (e: React.MouseEvent) => void;\n}\n\nexport interface DropdownProps {\n /** Text label displayed inside the trigger button. */\n label?: string;\n /** Icon rendered inside the trigger button. */\n icon?: IconProp;\n /**\n * Props forwarded to the trigger button (variant, size, className,\n * loading, tooltipProps, fullWidth, iconPosition, …). In split-button\n * mode, forwarded to the action button; the chevron half visually mirrors\n * `variant`/`size`. Accepts the full `Button` prop type minus the props\n * the dropdown controls.\n */\n buttonProps?: DropdownButtonProps;\n /** Custom trigger element. Overrides the default button trigger. */\n customTarget?: ReactNode | ((props: { isOpen: boolean }) => ReactNode);\n /** Whether the dropdown is disabled. */\n disabled?: boolean;\n /** Dropdown menu content. */\n children?: ReactNode;\n /** Position of the dropdown menu relative to the trigger. */\n position?: DropdownPosition;\n /** Whether pressing Escape closes the dropdown. */\n closeOnEsc?: boolean;\n /** Whether selecting an item closes the dropdown. */\n closeOnSelect?: boolean;\n /** Whether clicking outside closes the dropdown. */\n closeOnOutsideClick?: boolean;\n /**\n * Whether the dropdown is modal. When `true`, the rest of the page is made\n * inert: focus is trapped, body scroll is locked, and sibling content is\n * hidden from assistive tech. Defaults to `false` to match the WAI-ARIA\n * `menu` pattern. Opt in only when the menu must own the user's attention\n * (e.g. a command palette).\n */\n modal?: boolean;\n /** Controlled open state. */\n isOpen?: boolean;\n /** Callback fired when the dropdown closes. */\n onClose?: () => void;\n /**\n * Callback fired when the trigger button is clicked.\n * When provided (without `customTarget`), renders a **split-button**:\n * a primary action button (fires `onClick`) paired with a separate\n * chevron that opens the dropdown menu.\n */\n onClick?: (e: React.MouseEvent) => void;\n /** Additional CSS class names for the trigger wrapper. */\n className?: string;\n /** Ref forwarded to the trigger button. In split-button mode, forwarded to the action button. */\n triggerRef?: Ref<HTMLButtonElement>;\n /** Extra props forwarded to the DropdownMenuContent. */\n dropdownProps?: Omit<\n React.ComponentProps<typeof DropdownMenuContent>,\n \"side\" | \"align\"\n >;\n}\n\nexport interface MenuItemProps extends Omit<\n React.ComponentProps<typeof PrimitiveDropdownMenuItem>,\n \"prefix\" | \"variant\" | \"onClick\"\n> {\n /** Highlight as active. */\n isActive?: boolean;\n /** Disable the menu item. */\n isDisabled?: boolean;\n /** Visual variant of the menu item. */\n variant?: MenuItemVariant;\n /** Content rendered before the label. */\n prefix?: ReactNode;\n /** Content rendered after the label. */\n suffix?: ReactNode;\n /** Internal route (renders as anchor). */\n to?: string;\n /** External link (renders as anchor). */\n href?: string;\n /** Callback fired when the item is selected. */\n onClick?: (e: Event) => void;\n /** Children / label text. */\n children?: ReactNode;\n /** Additional CSS class names. */\n className?: string;\n}\n\nexport const DropdownContext = createContext({ closeOnSelect: true });\n","import { useCallback, useState } from \"react\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from \"src/primitives/DropdownMenu\";\nimport { hyphenize } from \"src/utils/hyphenize\";\n\nimport { ALIGN_MAP, SIDE_MAP } from \"./constants\";\nimport { SplitTrigger } from \"./SplitTrigger\";\nimport { TriggerButton } from \"./TriggerButton\";\nimport { DropdownContext, type DropdownProps } from \"./types\";\n\nconst DropdownBase = ({\n label,\n icon,\n buttonProps,\n customTarget,\n disabled = false,\n children,\n position = \"bottom-end\",\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n modal = false,\n isOpen: isOpenProp,\n onClose,\n onClick,\n className,\n triggerRef,\n dropdownProps,\n}: DropdownProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isOpenProp !== undefined;\n const open = isControlled ? isOpenProp : internalOpen;\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n if (!isControlled) setInternalOpen(isOpen);\n if (!isOpen) onClose?.();\n },\n [isControlled, onClose]\n );\n\n const side = SIDE_MAP[position] ?? \"bottom\";\n const align = ALIGN_MAP[position] ?? \"end\";\n\n // Split-button mode: onClick provided without a customTarget.\n const isSplit = !!onClick && !customTarget;\n\n const sharedTriggerProps = {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen: open,\n onClick,\n };\n\n const triggerNode = isSplit ? (\n <SplitTrigger\n {...sharedTriggerProps}\n actionButtonRef={triggerRef}\n className={className}\n />\n ) : (\n <DropdownMenuTrigger asChild disabled={disabled} className={className}>\n {customTarget ? (\n typeof customTarget === \"function\" ? (\n customTarget({ isOpen: open })\n ) : (\n customTarget\n )\n ) : (\n <TriggerButton ref={triggerRef} {...sharedTriggerProps} />\n )}\n </DropdownMenuTrigger>\n );\n\n return (\n <DropdownContext.Provider value={{ closeOnSelect }}>\n <DropdownMenu open={open} onOpenChange={handleOpenChange} modal={modal}>\n {triggerNode}\n <DropdownMenuContent\n side={side}\n align={align}\n onEscapeKeyDown={closeOnEsc ? undefined : e => e.preventDefault()}\n onInteractOutside={\n closeOnOutsideClick ? undefined : e => e.preventDefault()\n }\n data-testid={`${hyphenize(label)}-dropdown-container`}\n {...dropdownProps}\n >\n {children}\n </DropdownMenuContent>\n </DropdownMenu>\n </DropdownContext.Provider>\n );\n};\n\nexport { DropdownBase };\n","import React, { forwardRef } from \"react\";\n\nimport { DropdownMenuSeparator } from \"src/primitives/DropdownMenu\";\n\nconst Divider = forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof DropdownMenuSeparator>\n>((props, ref) => <DropdownMenuSeparator ref={ref} {...props} />);\nDivider.displayName = \"Dropdown.Divider\";\n\nexport { Divider };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { DropdownMenuLabel } from \"src/primitives/DropdownMenu\";\n\ninterface MenuLabelProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst Label = forwardRef<HTMLDivElement, MenuLabelProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuLabel ref={ref} className={className} {...otherProps}>\n {children}\n </DropdownMenuLabel>\n )\n);\nLabel.displayName = \"Dropdown.Label\";\n\nexport { Label };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuGroup } from \"src/primitives/DropdownMenu\";\n\ninterface MenuProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuGroup\n ref={ref}\n className={cn(\"flex flex-col\", className)}\n {...otherProps}\n >\n {children}\n </DropdownMenuGroup>\n )\n);\nMenu.displayName = \"Dropdown.Menu\";\n\nexport { Menu };\n","import { forwardRef, useCallback, useContext, useMemo } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuItem as PrimitiveDropdownMenuItem } from \"src/primitives/DropdownMenu\";\n\nimport { DropdownContext, type MenuItemProps } from \"./types\";\n\nconst MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n (\n {\n children,\n isActive = false,\n isDisabled = false,\n variant = \"default\",\n prefix,\n suffix,\n to,\n href,\n className,\n onClick,\n disabled: _disabled,\n asChild: _asChild,\n onSelect: _onSelect,\n ...otherProps\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(DropdownContext);\n const linkHref = to ?? href;\n\n const handleSelect = useCallback(\n (e: Event) => {\n if (!closeOnSelect) e.preventDefault();\n onClick?.(e);\n },\n [closeOnSelect, onClick]\n );\n\n const itemContent = useMemo(\n () => (\n <>\n {prefix && (\n <span data-slot=\"menu-item-prefix\" className=\"shrink-0\">\n {prefix}\n </span>\n )}\n <span className=\"flex-1 truncate\">{children}</span>\n {suffix && (\n <span\n data-slot=\"menu-item-suffix\"\n className=\"ms-auto shrink-0 text-muted-foreground\"\n >\n {suffix}\n </span>\n )}\n </>\n ),\n [prefix, children, suffix]\n );\n\n return (\n <PrimitiveDropdownMenuItem\n ref={ref}\n variant={variant}\n disabled={isDisabled}\n data-active={isActive || undefined}\n className={cn(\n isActive && \"bg-accent text-accent-foreground\",\n className\n )}\n asChild={!!linkHref}\n onSelect={handleSelect}\n {...otherProps}\n >\n {linkHref ? <a href={linkHref}>{itemContent}</a> : itemContent}\n </PrimitiveDropdownMenuItem>\n );\n }\n);\nMenuItem.displayName = \"Dropdown.MenuItem\";\n\nexport { MenuItem };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { renderIcon, type IconProp } from \"src/shared/renderIcon\";\nimport {\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n} from \"src/primitives/DropdownMenu\";\n\ninterface SubMenuProps {\n label?: string;\n icon?: IconProp;\n children?: ReactNode;\n className?: string;\n triggerProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubTrigger>,\n \"ref\" | \"className\" | \"children\"\n >;\n contentProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubContent>,\n \"children\"\n >;\n}\n\nconst SubMenu = forwardRef<HTMLDivElement, SubMenuProps>(\n ({ label, icon, children, className, triggerProps, contentProps }, ref) => (\n <DropdownMenuSub>\n <DropdownMenuSubTrigger ref={ref} className={className} {...triggerProps}>\n {icon && <span className=\"shrink-0\">{renderIcon(icon, \"size-4\")}</span>}\n {label && <span>{label}</span>}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent {...contentProps}>\n {children}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n )\n);\nSubMenu.displayName = \"Dropdown.SubMenu\";\n\nexport { SubMenu };\n","import { DropdownBase } from \"./DropdownBase\";\nimport { Divider } from \"./Divider\";\nimport { Label } from \"./Label\";\nimport { Menu } from \"./Menu\";\nimport { MenuItem } from \"./MenuItem\";\nimport { SubMenu } from \"./SubMenu\";\n\nexport type { DropdownProps, DropdownPosition } from \"./types\";\n\ntype DropdownComponent = typeof DropdownBase & {\n displayName?: string;\n Menu: typeof Menu;\n MenuItem: typeof MenuItem;\n Divider: typeof Divider;\n Label: typeof Label;\n SubMenu: typeof SubMenu;\n};\n\nconst DropdownMenu = DropdownBase as DropdownComponent;\nDropdownMenu.displayName = \"DropdownMenu\";\nDropdownMenu.Menu = Menu;\nDropdownMenu.MenuItem = MenuItem;\nDropdownMenu.Divider = Divider;\nDropdownMenu.Label = Label;\nDropdownMenu.SubMenu = SubMenu;\n\nexport { DropdownMenu };\n"],"names":["PrimitiveButton","DropdownMenu","PrimitiveDropdownMenuItem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAM,QAAA,GAAgE;AAAA,EAC3E,GAAA,EAAK,KAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,WAAA,EAAa,KAAA;AAAA,EACb,SAAA,EAAW,KAAA;AAAA,EACX,cAAA,EAAgB,QAAA;AAAA,EAChB,YAAA,EAAc,QAAA;AAAA,EACd,YAAA,EAAc,MAAA;AAAA,EACd,UAAA,EAAY,MAAA;AAAA,EACZ,aAAA,EAAe,OAAA;AAAA,EACf,WAAA,EAAa,OAAA;AAAA,EACb,IAAA,EAAM;AACR,CAAA;AAEO,MAAM,SAAA,GAAwD;AAAA,EACnE,GAAA,EAAK,QAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,QAAA;AAAA,EACN,KAAA,EAAO,QAAA;AAAA,EACP,WAAA,EAAa,OAAA;AAAA,EACb,SAAA,EAAW,KAAA;AAAA,EACX,cAAA,EAAgB,OAAA;AAAA,EAChB,YAAA,EAAc,KAAA;AAAA,EACd,YAAA,EAAc,OAAA;AAAA,EACd,UAAA,EAAY,KAAA;AAAA,EACZ,aAAA,EAAe,OAAA;AAAA,EACf,WAAA,EAAa,KAAA;AAAA,EACb,IAAA,EAAM;AACR,CAAA;;ACNA,MAAM,YAAA,GAAe,UAAA;AAAA,EACnB,CACE;AAAA,IACE,KAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,IAAA,MAAM,UAAU,WAAA,EAAa,OAAA;AAC7B,IAAA,MAAM,OAAO,WAAA,EAAa,IAAA;AAE1B,IAAA,uBACE,IAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,CAAA;AAAA,QAClD,GAAG,UAAA;AAAA,QAGJ,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,eAAA;AAAA,cACL,IAAA,EAAK,QAAA;AAAA,cACL,KAAA;AAAA,cACA,IAAA;AAAA,cACA,YAAA,EAAa,MAAA;AAAA,cACb,QAAA;AAAA,cACC,GAAG,WAAA;AAAA,cACJ,OAAA;AAAA,cACA,aAAA,EAAY;AAAA;AAAA,WACd;AAAA,0BAGA,GAAA,CAAC,mBAAA,EAAA,EAAoB,OAAA,EAAO,IAAA,EAAC,QAAA,EAC3B,QAAA,kBAAA,GAAA;AAAA,YAACA,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,OAAA;AAAA,cACA,IAAA;AAAA,cACA,QAAA;AAAA,cACA,YAAA,EAAY,CAAA;AAAA,gBACV,kCAAA;AAAA,gBACA;AAAA,eACF;AAAA,cACA,SAAA,EAAU,QAAA;AAAA,cAEV,QAAA,kBAAA,GAAA;AAAA,gBAAC,WAAA;AAAA,gBAAA;AAAA,kBACC,aAAA,EAAY,MAAA;AAAA,kBACZ,SAAA,EAAW,EAAA;AAAA,oBACT,4CAAA;AAAA,oBACA,MAAA,IAAU;AAAA;AACZ;AAAA;AACF;AAAA,WACF,EACF;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ;AACF,CAAA;AACA,YAAA,CAAa,WAAA,GAAc,uBAAA;;ACvE3B,MAAM,aAAA,GAAgB,UAAA;AAAA,EACpB,CACE;AAAA,IACE,KAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,qBAEA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,QAAA;AAAA,MACL,KAAA;AAAA,MACA,IAAA;AAAA,MACA,YAAA,EAAa,MAAA;AAAA,MACb,QAAA,kBACE,GAAA;AAAA,QAAC,WAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAY,MAAA;AAAA,UACZ,SAAA,EAAW,EAAA;AAAA,YACT,4CAAA;AAAA,YACA,MAAA,IAAU;AAAA;AACZ;AAAA,OACF;AAAA,MAEF,QAAA;AAAA,MACA,aAAA,EAAa,CAAA,EAAG,SAAA,CAAU,KAAK,CAAC,CAAA,cAAA,CAAA;AAAA,MAC/B,GAAG,UAAA;AAAA,MACH,GAAG,WAAA;AAAA,MACJ,OAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,SAAA,EAAW,WAAA,EAAa,SAAS;AAAA;AAAA;AAGrD,CAAA;AACA,aAAA,CAAc,WAAA,GAAc,wBAAA;;AC6FrB,MAAM,eAAA,GAAkB,aAAA,CAAc,EAAE,aAAA,EAAe,MAAM,CAAA;;ACtIpE,MAAM,eAAe,CAAC;AAAA,EACpB,KAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,QAAA,GAAW,YAAA;AAAA,EACX,UAAA,GAAa,IAAA;AAAA,EACb,aAAA,GAAgB,IAAA;AAAA,EAChB,mBAAA,GAAsB,IAAA;AAAA,EACtB,KAAA,GAAQ,KAAA;AAAA,EACR,MAAA,EAAQ,UAAA;AAAA,EACR,OAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,KAAqB;AACnB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,KAAK,CAAA;AACtD,EAAA,MAAM,eAAe,UAAA,KAAe,MAAA;AACpC,EAAA,MAAM,IAAA,GAAO,eAAe,UAAA,GAAa,YAAA;AACzC,EAAA,MAAM,gBAAA,GAAmB,WAAA;AAAA,IACvB,CAAC,MAAA,KAAoB;AACnB,MAAA,IAAI,CAAC,YAAA,EAAc,eAAA,CAAgB,MAAM,CAAA;AACzC,MAAA,IAAI,CAAC,QAAQ,OAAA,IAAU;AAAA,IACzB,CAAA;AAAA,IACA,CAAC,cAAc,OAAO;AAAA,GACxB;AAEA,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,QAAQ,CAAA,IAAK,QAAA;AACnC,EAAA,MAAM,KAAA,GAAQ,SAAA,CAAU,QAAQ,CAAA,IAAK,KAAA;AAGrC,EAAA,MAAM,OAAA,GAAU,CAAC,CAAC,OAAA,IAAW,CAAC,YAAA;AAE9B,EAAA,MAAM,kBAAA,GAAqB;AAAA,IACzB,KAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA,EAAQ,IAAA;AAAA,IACR;AAAA,GACF;AAEA,EAAA,MAAM,cAAc,OAAA,mBAClB,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACE,GAAG,kBAAA;AAAA,MACJ,eAAA,EAAiB,UAAA;AAAA,MACjB;AAAA;AAAA,GACF,mBAEA,GAAA,CAAC,mBAAA,EAAA,EAAoB,OAAA,EAAO,IAAA,EAAC,UAAoB,SAAA,EAC9C,QAAA,EAAA,YAAA,GACC,OAAO,YAAA,KAAiB,UAAA,GACtB,YAAA,CAAa,EAAE,MAAA,EAAQ,IAAA,EAAM,CAAA,GAE7B,YAAA,mBAGF,GAAA,CAAC,iBAAc,GAAA,EAAK,UAAA,EAAa,GAAG,kBAAA,EAAoB,CAAA,EAE5D,CAAA;AAGF,EAAA,uBACE,GAAA,CAAC,eAAA,CAAgB,QAAA,EAAhB,EAAyB,KAAA,EAAO,EAAE,aAAA,EAAc,EAC/C,QAAA,kBAAA,IAAA,CAACC,cAAA,EAAA,EAAa,IAAA,EAAY,YAAA,EAAc,kBAAkB,KAAA,EACvD,QAAA,EAAA;AAAA,IAAA,WAAA;AAAA,oBACD,GAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,KAAA;AAAA,QACA,eAAA,EAAiB,UAAA,GAAa,MAAA,GAAY,CAAA,CAAA,KAAK,EAAE,cAAA,EAAe;AAAA,QAChE,iBAAA,EACE,mBAAA,GAAsB,MAAA,GAAY,CAAA,CAAA,KAAK,EAAE,cAAA,EAAe;AAAA,QAE1D,aAAA,EAAa,CAAA,EAAG,SAAA,CAAU,KAAK,CAAC,CAAA,mBAAA,CAAA;AAAA,QAC/B,GAAG,aAAA;AAAA,QAEH;AAAA;AAAA;AACH,GAAA,EACF,CAAA,EACF,CAAA;AAEJ,CAAA;;AC9FA,MAAM,OAAA,GAAU,UAAA,CAGd,CAAC,KAAA,EAAO,GAAA,yBAAS,qBAAA,EAAA,EAAsB,GAAA,EAAW,GAAG,KAAA,EAAO,CAAE,CAAA;AAChE,OAAA,CAAQ,WAAA,GAAc,kBAAA;;ACCtB,MAAM,KAAA,GAAQ,UAAA;AAAA,EACZ,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,GAAG,UAAA,EAAW,EAAG,GAAA,qBACvC,GAAA,CAAC,iBAAA,EAAA,EAAkB,GAAA,EAAU,SAAA,EAAuB,GAAG,YACpD,QAAA,EACH;AAEJ,CAAA;AACA,KAAA,CAAM,WAAA,GAAc,gBAAA;;ACNpB,MAAM,IAAA,GAAO,UAAA;AAAA,EACX,CAAC,EAAE,QAAA,EAAU,WAAW,GAAG,UAAA,IAAc,GAAA,qBACvC,GAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA;AAAA,MACvC,GAAG,UAAA;AAAA,MAEH;AAAA;AAAA;AAGP,CAAA;AACA,IAAA,CAAK,WAAA,GAAc,eAAA;;ACdnB,MAAM,QAAA,GAAW,UAAA;AAAA,EACf,CACE;AAAA,IACE,QAAA;AAAA,IACA,QAAA,GAAW,KAAA;AAAA,IACX,UAAA,GAAa,KAAA;AAAA,IACb,OAAA,GAAU,SAAA;AAAA,IACV,MAAA;AAAA,IACA,MAAA;AAAA,IACA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA,EAAU,SAAA;AAAA,IACV,OAAA,EAAS,QAAA;AAAA,IACT,QAAA,EAAU,SAAA;AAAA,IACV,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,EAAE,aAAA,EAAc,GAAI,UAAA,CAAW,eAAe,CAAA;AACpD,IAAA,MAAM,WAAW,EAAA,IAAM,IAAA;AAEvB,IAAA,MAAM,YAAA,GAAe,WAAA;AAAA,MACnB,CAAC,CAAA,KAAa;AACZ,QAAA,IAAI,CAAC,aAAA,EAAe,CAAA,CAAE,cAAA,EAAe;AACrC,QAAA,OAAA,GAAU,CAAC,CAAA;AAAA,MACb,CAAA;AAAA,MACA,CAAC,eAAe,OAAO;AAAA,KACzB;AAEA,IAAA,MAAM,WAAA,GAAc,OAAA;AAAA,MAClB,sBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,QAAA,MAAA,wBACE,MAAA,EAAA,EAAK,WAAA,EAAU,kBAAA,EAAmB,SAAA,EAAU,YAC1C,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,wBAEF,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iBAAA,EAAmB,QAAA,EAAS,CAAA;AAAA,QAC3C,MAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,kBAAA;AAAA,YACV,SAAA,EAAU,wCAAA;AAAA,YAET,QAAA,EAAA;AAAA;AAAA;AACH,OAAA,EAEJ,CAAA;AAAA,MAEF,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM;AAAA,KAC3B;AAEA,IAAA,uBACE,GAAA;AAAA,MAACC,gBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA,EAAU,UAAA;AAAA,QACV,eAAa,QAAA,IAAY,MAAA;AAAA,QACzB,SAAA,EAAW,EAAA;AAAA,UACT,QAAA,IAAY,kCAAA;AAAA,UACZ;AAAA,SACF;AAAA,QACA,OAAA,EAAS,CAAC,CAAC,QAAA;AAAA,QACX,QAAA,EAAU,YAAA;AAAA,QACT,GAAG,UAAA;AAAA,QAEH,qCAAW,GAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAM,QAAA,EAAW,uBAAY,CAAA,GAAO;AAAA;AAAA,KACrD;AAAA,EAEJ;AACF,CAAA;AACA,QAAA,CAAS,WAAA,GAAc,mBAAA;;ACvDvB,MAAM,OAAA,GAAU,UAAA;AAAA,EACd,CAAC,EAAE,KAAA,EAAO,IAAA,EAAM,QAAA,EAAU,SAAA,EAAW,YAAA,EAAc,YAAA,EAAa,EAAG,GAAA,qBACjE,IAAA,CAAC,eAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,sBAAA,EAAA,EAAuB,GAAA,EAAU,SAAA,EAAuB,GAAG,YAAA,EACzD,QAAA,EAAA;AAAA,MAAA,IAAA,wBAAS,MAAA,EAAA,EAAK,SAAA,EAAU,YAAY,QAAA,EAAA,UAAA,CAAW,IAAA,EAAM,QAAQ,CAAA,EAAE,CAAA;AAAA,MAC/D,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM;AAAA,KAAA,EACzB,CAAA;AAAA,oBACA,GAAA,CAAC,sBAAA,EAAA,EAAwB,GAAG,YAAA,EACzB,QAAA,EACH;AAAA,GAAA,EACF;AAEJ,CAAA;AACA,OAAA,CAAQ,WAAA,GAAc,kBAAA;;ACnBtB,MAAM,YAAA,GAAe;AACrB,YAAA,CAAa,WAAA,GAAc,cAAA;AAC3B,YAAA,CAAa,IAAA,GAAO,IAAA;AACpB,YAAA,CAAa,QAAA,GAAW,QAAA;AACxB,YAAA,CAAa,OAAA,GAAU,OAAA;AACvB,YAAA,CAAa,KAAA,GAAQ,KAAA;AACrB,YAAA,CAAa,OAAA,GAAU,OAAA;;;;"}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../../src/components/DropdownMenu/constants.ts","../../src/components/DropdownMenu/SplitTrigger.tsx","../../src/components/DropdownMenu/TriggerButton.tsx","../../src/components/DropdownMenu/types.ts","../../src/components/DropdownMenu/DropdownBase.tsx","../../src/components/DropdownMenu/Divider.tsx","../../src/components/DropdownMenu/Label.tsx","../../src/components/DropdownMenu/Menu.tsx","../../src/components/DropdownMenu/MenuItem.tsx","../../src/components/DropdownMenu/SubMenu.tsx","../../src/components/DropdownMenu/index.tsx"],"sourcesContent":["export const SIDE_MAP: Record<string, \"top\" | \"right\" | \"bottom\" | \"left\"> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n auto: \"bottom\",\n};\n\nexport const ALIGN_MAP: Record<string, \"start\" | \"center\" | \"end\"> = {\n top: \"center\",\n bottom: \"center\",\n left: \"center\",\n right: \"center\",\n \"top-start\": \"start\",\n \"top-end\": \"end\",\n \"bottom-start\": \"start\",\n \"bottom-end\": \"end\",\n \"left-start\": \"start\",\n \"left-end\": \"end\",\n \"right-start\": \"start\",\n \"right-end\": \"end\",\n auto: \"end\",\n};\n\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Button } from \"src/components/Button\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport { ButtonGroup } from \"src/primitives/ButtonGroup\";\nimport { DropdownMenuTrigger } from \"src/primitives/DropdownMenu\";\n\nimport type { BaseTriggerProps } from \"./types\";\n\ninterface SplitTriggerOwnProps extends BaseTriggerProps {\n /** Ref forwarded to the action button (left side). */\n actionButtonRef?: React.Ref<HTMLButtonElement>;\n}\n\n/**\n * Radix injects extra props (aria-expanded, data-state, …) via Slot on the\n * DropdownMenuTrigger child. We capture them with a rest-spread.\n */\ntype SplitTriggerProps = SplitTriggerOwnProps &\n Omit<React.ComponentProps<\"div\">, keyof SplitTriggerOwnProps>;\n\nconst SplitTrigger = forwardRef<HTMLDivElement, SplitTriggerProps>(\n (\n {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n actionButtonRef,\n className,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const variant = buttonProps?.variant;\n const size = buttonProps?.size;\n\n return (\n <ButtonGroup\n ref={ref}\n className={cn(\"neeto-ui-action-dropdown\", className)}\n {...otherProps}\n >\n {/* Action button — fires the primary onClick */}\n <Button\n ref={actionButtonRef}\n type=\"button\"\n label={label}\n icon={icon}\n iconPosition=\"left\"\n disabled={disabled}\n {...buttonProps}\n onClick={onClick}\n data-testid=\"action-dropdown-btn\"\n />\n\n {/* Chevron trigger — opens the dropdown menu */}\n <DropdownMenuTrigger asChild disabled={disabled}>\n <PrimitiveButton\n type=\"button\"\n variant={variant}\n size={size}\n disabled={disabled}\n aria-label={t(\n \"neetoatoms.dropdownMenu.openMenu\",\n \"Open dropdown menu\"\n )}\n className=\"px-1.5\"\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n </PrimitiveButton>\n </DropdownMenuTrigger>\n </ButtonGroup>\n );\n }\n);\nSplitTrigger.displayName = \"Dropdown.SplitTrigger\";\n\nexport { SplitTrigger };\n","import React, { forwardRef } from \"react\";\n\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { hyphenize } from \"src/utils/hyphenize\";\nimport { Button } from \"src/components/Button\";\n\nimport type { BaseTriggerProps } from \"./types\";\n\n/**\n * Extra props that Radix's Slot injects when the parent Trigger uses\n * `asChild` (aria-expanded, aria-haspopup, data-state, id, …).\n * We capture them with a rest-spread so they reach the DOM button.\n */\ntype TriggerButtonProps = BaseTriggerProps &\n Omit<React.ComponentProps<\"button\">, keyof BaseTriggerProps>;\n\nconst TriggerButton = forwardRef<HTMLButtonElement, TriggerButtonProps>(\n (\n {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen,\n onClick,\n className,\n ...otherProps\n },\n ref\n ) => (\n <Button\n ref={ref}\n type=\"button\"\n label={label}\n icon={icon}\n iconPosition=\"left\"\n trailing={\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"shrink-0 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n }\n disabled={disabled}\n data-testid={`${hyphenize(label)}-dropdown-icon`}\n {...otherProps}\n {...buttonProps}\n onClick={onClick}\n className={cn(className, buttonProps?.className)}\n />\n )\n);\nTriggerButton.displayName = \"Dropdown.TriggerButton\";\n\nexport { TriggerButton };\n","import { createContext, type ReactNode, type Ref } from \"react\";\n\nimport {\n DropdownMenuContent,\n DropdownMenuItem as PrimitiveDropdownMenuItem,\n type DropdownMenuItemSize,\n} from \"src/primitives/DropdownMenu\";\nimport type { ButtonProps } from \"src/components/Button\";\nimport type { IconProp } from \"src/shared/renderIcon\";\n\nexport type DropdownPosition =\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-start\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"left-start\"\n | \"left-end\"\n | \"right-start\"\n | \"right-end\"\n | \"auto\";\n\n/**\n * Mirrors the primitive `DropdownMenuItem`'s `variant` vocabulary so the\n * wrapper speaks the same language. Keep in sync with Radix primitive.\n */\nexport type MenuItemVariant = \"default\" | \"destructive\";\n\n/**\n * Props forwarded to the trigger button. Sourced from the `Button` wrapper,\n * so consumers can pass `variant`, `size`, `loading`, `tooltipProps`,\n * `fullWidth`, `iconPosition`, etc.\n *\n * The dropdown owns these and so they are excluded:\n * - `label`/`icon`: top-level props on `DropdownMenu`\n * - `trailing`: the chevron\n * - `disabled`: `DropdownMenu`'s own `disabled` prop is authoritative\n * - `onClick`: use `DropdownMenu`'s `onClick` (drives split-button mode)\n * - `to`/`href`: a navigating trigger doesn't open a menu\n * - `asChild`/`children`: use `customTarget` / `label` instead\n */\nexport type DropdownButtonProps = Omit<\n ButtonProps,\n | \"label\"\n | \"icon\"\n | \"trailing\"\n | \"disabled\"\n | \"onClick\"\n | \"to\"\n | \"href\"\n | \"asChild\"\n | \"children\"\n>;\n\nexport interface BaseTriggerProps {\n label?: string;\n icon?: IconProp;\n buttonProps?: DropdownButtonProps;\n disabled: boolean;\n isOpen: boolean;\n onClick?: (e: React.MouseEvent) => void;\n}\n\nexport interface DropdownProps {\n /** Text label displayed inside the trigger button. */\n label?: string;\n /** Icon rendered inside the trigger button. */\n icon?: IconProp;\n /**\n * Props forwarded to the trigger button (variant, size, className,\n * loading, tooltipProps, fullWidth, iconPosition, …). In split-button\n * mode, forwarded to the action button; the chevron half visually mirrors\n * `variant`/`size`. Accepts the full `Button` prop type minus the props\n * the dropdown controls.\n */\n buttonProps?: DropdownButtonProps;\n /** Custom trigger element. Overrides the default button trigger. */\n customTarget?: ReactNode | ((props: { isOpen: boolean }) => ReactNode);\n /** Whether the dropdown is disabled. */\n disabled?: boolean;\n /** Dropdown menu content. */\n children?: ReactNode;\n /** Position of the dropdown menu relative to the trigger. */\n position?: DropdownPosition;\n /** Whether pressing Escape closes the dropdown. */\n closeOnEsc?: boolean;\n /** Whether selecting an item closes the dropdown. */\n closeOnSelect?: boolean;\n /** Whether clicking outside closes the dropdown. */\n closeOnOutsideClick?: boolean;\n /**\n * Whether the dropdown is modal. When `true`, the rest of the page is made\n * inert: focus is trapped, body scroll is locked, and sibling content is\n * hidden from assistive tech. Defaults to `false` to match the WAI-ARIA\n * `menu` pattern. Opt in only when the menu must own the user's attention\n * (e.g. a command palette).\n */\n modal?: boolean;\n /** Controlled open state. */\n isOpen?: boolean;\n /** Callback fired when the dropdown closes. */\n onClose?: () => void;\n /**\n * Callback fired when the trigger button is clicked.\n * When provided (without `customTarget`), renders a **split-button**:\n * a primary action button (fires `onClick`) paired with a separate\n * chevron that opens the dropdown menu.\n */\n onClick?: (e: React.MouseEvent) => void;\n /** Additional CSS class names for the trigger wrapper. */\n className?: string;\n /** Ref forwarded to the trigger button. In split-button mode, forwarded to the action button. */\n triggerRef?: Ref<HTMLButtonElement>;\n /** Extra props forwarded to the DropdownMenuContent. */\n dropdownProps?: Omit<\n React.ComponentProps<typeof DropdownMenuContent>,\n \"side\" | \"align\"\n >;\n}\n\nexport interface MenuItemProps extends Omit<\n React.ComponentProps<typeof PrimitiveDropdownMenuItem>,\n \"prefix\" | \"variant\" | \"onClick\"\n> {\n /** Highlight as active. */\n isActive?: boolean;\n /** Disable the menu item. */\n isDisabled?: boolean;\n /** Visual variant of the menu item. */\n variant?: MenuItemVariant;\n /**\n * Vertical density — row padding and height — of the item (font size is\n * unchanged). Defaults to `\"default\"` (the roomy baseline); pass `\"compact\"`\n * for dense rows in long / scrolling menus.\n */\n size?: DropdownMenuItemSize;\n /** Content rendered before the label. */\n prefix?: ReactNode;\n /** Content rendered after the label. */\n suffix?: ReactNode;\n /** Internal route (renders as anchor). */\n to?: string;\n /** External link (renders as anchor). */\n href?: string;\n /** Callback fired when the item is selected. */\n onClick?: (e: Event) => void;\n /** Children / label text. */\n children?: ReactNode;\n /** Additional CSS class names. */\n className?: string;\n}\n\nexport const DropdownContext = createContext({ closeOnSelect: true });\n","import { useCallback, useState } from \"react\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from \"src/primitives/DropdownMenu\";\nimport { hyphenize } from \"src/utils/hyphenize\";\n\nimport { ALIGN_MAP, SIDE_MAP } from \"./constants\";\nimport { SplitTrigger } from \"./SplitTrigger\";\nimport { TriggerButton } from \"./TriggerButton\";\nimport { DropdownContext, type DropdownProps } from \"./types\";\n\nconst DropdownBase = ({\n label,\n icon,\n buttonProps,\n customTarget,\n disabled = false,\n children,\n position = \"bottom-end\",\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n modal = false,\n isOpen: isOpenProp,\n onClose,\n onClick,\n className,\n triggerRef,\n dropdownProps,\n}: DropdownProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isOpenProp !== undefined;\n const open = isControlled ? isOpenProp : internalOpen;\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n if (!isControlled) setInternalOpen(isOpen);\n if (!isOpen) onClose?.();\n },\n [isControlled, onClose]\n );\n\n const side = SIDE_MAP[position] ?? \"bottom\";\n const align = ALIGN_MAP[position] ?? \"end\";\n\n // Split-button mode: onClick provided without a customTarget.\n const isSplit = !!onClick && !customTarget;\n\n const sharedTriggerProps = {\n label,\n icon,\n buttonProps,\n disabled,\n isOpen: open,\n onClick,\n };\n\n const triggerNode = isSplit ? (\n <SplitTrigger\n {...sharedTriggerProps}\n actionButtonRef={triggerRef}\n className={className}\n />\n ) : (\n <DropdownMenuTrigger asChild disabled={disabled} className={className}>\n {customTarget ? (\n typeof customTarget === \"function\" ? (\n customTarget({ isOpen: open })\n ) : (\n customTarget\n )\n ) : (\n <TriggerButton ref={triggerRef} {...sharedTriggerProps} />\n )}\n </DropdownMenuTrigger>\n );\n\n return (\n <DropdownContext.Provider value={{ closeOnSelect }}>\n <DropdownMenu open={open} onOpenChange={handleOpenChange} modal={modal}>\n {triggerNode}\n <DropdownMenuContent\n side={side}\n align={align}\n onEscapeKeyDown={closeOnEsc ? undefined : e => e.preventDefault()}\n onInteractOutside={\n closeOnOutsideClick ? undefined : e => e.preventDefault()\n }\n data-testid={`${hyphenize(label)}-dropdown-container`}\n {...dropdownProps}\n >\n {children}\n </DropdownMenuContent>\n </DropdownMenu>\n </DropdownContext.Provider>\n );\n};\n\nexport { DropdownBase };\n","import React, { forwardRef } from \"react\";\n\nimport { DropdownMenuSeparator } from \"src/primitives/DropdownMenu\";\n\nconst Divider = forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof DropdownMenuSeparator>\n>((props, ref) => <DropdownMenuSeparator ref={ref} {...props} />);\nDivider.displayName = \"Dropdown.Divider\";\n\nexport { Divider };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport {\n DropdownMenuLabel,\n type DropdownMenuItemSize,\n} from \"src/primitives/DropdownMenu\";\n\ninterface MenuLabelProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n /**\n * Density of the section label. Match the `size` used on the menu's items\n * (default `\"default\"`) so the label stays aligned with them.\n */\n size?: DropdownMenuItemSize;\n}\n\nconst Label = forwardRef<HTMLDivElement, MenuLabelProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuLabel ref={ref} className={className} {...otherProps}>\n {children}\n </DropdownMenuLabel>\n )\n);\nLabel.displayName = \"Dropdown.Label\";\n\nexport { Label };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuGroup } from \"src/primitives/DropdownMenu\";\n\ninterface MenuProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n ({ children, className, ...otherProps }, ref) => (\n <DropdownMenuGroup\n ref={ref}\n className={cn(\"flex flex-col\", className)}\n {...otherProps}\n >\n {children}\n </DropdownMenuGroup>\n )\n);\nMenu.displayName = \"Dropdown.Menu\";\n\nexport { Menu };\n","import { forwardRef, useCallback, useContext, useMemo } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { DropdownMenuItem as PrimitiveDropdownMenuItem } from \"src/primitives/DropdownMenu\";\n\nimport { DropdownContext, type MenuItemProps } from \"./types\";\n\nconst MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n (\n {\n children,\n isActive = false,\n isDisabled = false,\n variant = \"default\",\n prefix,\n suffix,\n to,\n href,\n className,\n onClick,\n disabled: _disabled,\n asChild: _asChild,\n onSelect: _onSelect,\n ...otherProps\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(DropdownContext);\n const linkHref = to ?? href;\n\n const handleSelect = useCallback(\n (e: Event) => {\n if (!closeOnSelect) e.preventDefault();\n onClick?.(e);\n },\n [closeOnSelect, onClick]\n );\n\n const itemContent = useMemo(\n () => (\n <>\n {prefix && (\n <span data-slot=\"menu-item-prefix\" className=\"shrink-0\">\n {prefix}\n </span>\n )}\n <span className=\"flex-1 truncate\">{children}</span>\n {suffix && (\n <span\n data-slot=\"menu-item-suffix\"\n className=\"ms-auto shrink-0 text-muted-foreground\"\n >\n {suffix}\n </span>\n )}\n </>\n ),\n [prefix, children, suffix]\n );\n\n return (\n <PrimitiveDropdownMenuItem\n ref={ref}\n variant={variant}\n disabled={isDisabled}\n data-active={isActive || undefined}\n className={cn(\n isActive && \"bg-accent text-accent-foreground\",\n className\n )}\n asChild={!!linkHref}\n onSelect={handleSelect}\n {...otherProps}\n >\n {linkHref ? <a href={linkHref}>{itemContent}</a> : itemContent}\n </PrimitiveDropdownMenuItem>\n );\n }\n);\nMenuItem.displayName = \"Dropdown.MenuItem\";\n\nexport { MenuItem };\n","import React, { forwardRef, type ReactNode } from \"react\";\n\nimport { renderIcon, type IconProp } from \"src/shared/renderIcon\";\nimport {\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n} from \"src/primitives/DropdownMenu\";\n\ninterface SubMenuProps {\n label?: string;\n icon?: IconProp;\n children?: ReactNode;\n className?: string;\n triggerProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubTrigger>,\n \"ref\" | \"className\" | \"children\"\n >;\n contentProps?: Omit<\n React.ComponentProps<typeof DropdownMenuSubContent>,\n \"children\"\n >;\n}\n\nconst SubMenu = forwardRef<HTMLDivElement, SubMenuProps>(\n ({ label, icon, children, className, triggerProps, contentProps }, ref) => (\n <DropdownMenuSub>\n <DropdownMenuSubTrigger ref={ref} className={className} {...triggerProps}>\n {icon && <span className=\"shrink-0\">{renderIcon(icon, \"size-4\")}</span>}\n {label && <span>{label}</span>}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent {...contentProps}>\n {children}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n )\n);\nSubMenu.displayName = \"Dropdown.SubMenu\";\n\nexport { SubMenu };\n","import { DropdownBase } from \"./DropdownBase\";\nimport { Divider } from \"./Divider\";\nimport { Label } from \"./Label\";\nimport { Menu } from \"./Menu\";\nimport { MenuItem } from \"./MenuItem\";\nimport { SubMenu } from \"./SubMenu\";\n\nexport type { DropdownProps, DropdownPosition } from \"./types\";\n\ntype DropdownComponent = typeof DropdownBase & {\n displayName?: string;\n Menu: typeof Menu;\n MenuItem: typeof MenuItem;\n Divider: typeof Divider;\n Label: typeof Label;\n SubMenu: typeof SubMenu;\n};\n\nconst DropdownMenu = DropdownBase as DropdownComponent;\nDropdownMenu.displayName = \"DropdownMenu\";\nDropdownMenu.Menu = Menu;\nDropdownMenu.MenuItem = MenuItem;\nDropdownMenu.Divider = Divider;\nDropdownMenu.Label = Label;\nDropdownMenu.SubMenu = SubMenu;\n\nexport { DropdownMenu };\n"],"names":["PrimitiveButton","DropdownMenu","PrimitiveDropdownMenuItem"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { S as Select } from '../Select-CLSJgvl6.js';
1
+ export { S as Select } from '../Select-DpP0-jfR.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import '../fieldIds-VpluAAMl.js';
@@ -42,7 +42,7 @@ import 'react-i18next';
42
42
  import '../loader-circle-DycHUAWN.js';
43
43
  import '../label-YEsizr2c.js';
44
44
  import '../separator-ByRsc-y-.js';
45
- import '../Combobox-CCstgdEa.js';
45
+ import '../Combobox-h2Kez17p.js';
46
46
  import '../useAriaHiddenCleanup-BIUbPJ6V.js';
47
47
  import '../input-group-Ba2bJ2DW.js';
48
48
  import '../input-CNbQc_tG.js';
@@ -1,4 +1,4 @@
1
- export { T as Toastr } from '../Toastr-FXUexjdi.js';
1
+ export { T as Toastr } from '../Toastr-Dhl8V1V2.js';
2
2
  import 'react/jsx-runtime';
3
3
  import '../index-CDo_esrR.js';
4
4
  import '../createLucideIcon-C8ycilSN.js';
@@ -19,7 +19,7 @@ export { P as Pagination } from '../Pagination-yjG8uCpV.js';
19
19
  export { P as Popover } from '../Popover-BHGvcdV2.js';
20
20
  export { P as Progress } from '../Progress-DbtLbWf8.js';
21
21
  export { R as RadioGroup } from '../RadioGroup-CBXByAMW.js';
22
- export { S as Select } from '../Select-CLSJgvl6.js';
22
+ export { S as Select } from '../Select-DpP0-jfR.js';
23
23
  export { S as Sheet } from '../Sheet-D1MWtg1q.js';
24
24
  export { S as Slider } from '../Slider-CxQdlyHZ.js';
25
25
  export { S as Spinner } from '../Spinner-vfggfvEp.js';
@@ -29,7 +29,7 @@ export { T as Tabs } from '../Tabs-DaXiF_67.js';
29
29
  export { T as Textarea } from '../Textarea-CUe09-sr.js';
30
30
  export { T as TimePicker } from '../TimePicker-BixF9wdU.js';
31
31
  export { T as TimePickerPanel } from '../TimePickerPanel--KDX5QwS.js';
32
- export { T as Toastr } from '../Toastr-FXUexjdi.js';
32
+ export { T as Toastr } from '../Toastr-Dhl8V1V2.js';
33
33
  export { T as Tooltip } from '../Tooltip-DWDsgyx7.js';
34
34
  export { T as TranslationProvider } from '../TranslationProvider-Dd0ITHC0.js';
35
35
  export { T as Tree } from '../Tree-Cb1Zkayi.js';
@@ -126,7 +126,7 @@ import '../primitives/HoverCard.js';
126
126
  import '../primitives/Progress.js';
127
127
  import '../primitives/RadioGroup.js';
128
128
  import '../SelectFieldWrapper-D370CD4o.js';
129
- import '../Combobox-CCstgdEa.js';
129
+ import '../Combobox-h2Kez17p.js';
130
130
  import '../primitives/Sheet.js';
131
131
  import '../sheet-BD8c3_Va.js';
132
132
  import '../primitives/Slider.js';
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { useField, useFormikContext, getIn } from 'formik';
4
4
  import { dissoc } from 'ramda';
5
- import { S as Select } from '../Select-CLSJgvl6.js';
5
+ import { S as Select } from '../Select-DpP0-jfR.js';
6
6
  import '../fieldIds-VpluAAMl.js';
7
7
  import '../hyphenize-TRhMI0tl.js';
8
8
  import '../SelectFieldWrapper-D370CD4o.js';
@@ -44,7 +44,7 @@ import 'react-i18next';
44
44
  import '../loader-circle-DycHUAWN.js';
45
45
  import '../label-YEsizr2c.js';
46
46
  import '../separator-ByRsc-y-.js';
47
- import '../Combobox-CCstgdEa.js';
47
+ import '../Combobox-h2Kez17p.js';
48
48
  import '../useAriaHiddenCleanup-BIUbPJ6V.js';
49
49
  import '../input-group-Ba2bJ2DW.js';
50
50
  import '../input-CNbQc_tG.js';
@@ -63,9 +63,9 @@ import '../hyphenize-TRhMI0tl.js';
63
63
  import '../withIconSize-BonoFXeH.js';
64
64
  import '../Textarea-CUe09-sr.js';
65
65
  import '../primitives/Textarea.js';
66
- import '../Select-CLSJgvl6.js';
66
+ import '../Select-DpP0-jfR.js';
67
67
  import '../SelectFieldWrapper-D370CD4o.js';
68
- import '../Combobox-CCstgdEa.js';
68
+ import '../Combobox-h2Kez17p.js';
69
69
  import '../useAriaHiddenCleanup-BIUbPJ6V.js';
70
70
  import '../chevron-down-BNi0ntys.js';
71
71
  import '../x-_o2T3n6D.js';
package/dist/index.js CHANGED
@@ -25,7 +25,7 @@ export { P as Pagination } from './Pagination-yjG8uCpV.js';
25
25
  export { P as Popover } from './Popover-BHGvcdV2.js';
26
26
  export { P as Progress } from './Progress-DbtLbWf8.js';
27
27
  export { R as RadioGroup } from './RadioGroup-CBXByAMW.js';
28
- export { S as Select } from './Select-CLSJgvl6.js';
28
+ export { S as Select } from './Select-DpP0-jfR.js';
29
29
  export { S as Sheet } from './Sheet-D1MWtg1q.js';
30
30
  export { S as Slider } from './Slider-CxQdlyHZ.js';
31
31
  export { S as Spinner } from './Spinner-vfggfvEp.js';
@@ -34,7 +34,7 @@ export { S as Switch } from './Switch-C9fqpoNR.js';
34
34
  export { T as Tabs } from './Tabs-DaXiF_67.js';
35
35
  export { T as Textarea } from './Textarea-CUe09-sr.js';
36
36
  export { T as TimePicker } from './TimePicker-BixF9wdU.js';
37
- export { T as Toastr } from './Toastr-FXUexjdi.js';
37
+ export { T as Toastr } from './Toastr-Dhl8V1V2.js';
38
38
  export { T as Tooltip } from './Tooltip-DWDsgyx7.js';
39
39
  export { T as Tree } from './Tree-Cb1Zkayi.js';
40
40
  export { T as TreeSelect } from './TreeSelect-rrTHwY42.js';
@@ -131,7 +131,7 @@ import './primitives/HoverCard.js';
131
131
  import './primitives/Progress.js';
132
132
  import './primitives/RadioGroup.js';
133
133
  import './SelectFieldWrapper-D370CD4o.js';
134
- import './Combobox-CCstgdEa.js';
134
+ import './Combobox-h2Kez17p.js';
135
135
  import './primitives/Sheet.js';
136
136
  import './sheet-BD8c3_Va.js';
137
137
  import './primitives/Slider.js';
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { Combobox as ShadcnCombobox, ComboboxInput as ShadcnComboboxInput, ComboboxContent as ShadcnComboboxContent, ComboboxList as ShadcnComboboxList, ComboboxItem as ShadcnComboboxItem, ComboboxGroup as ShadcnComboboxGroup, ComboboxLabel as ShadcnComboboxLabel, ComboboxCollection as ShadcnComboboxCollection, ComboboxEmpty as ShadcnComboboxEmpty, ComboboxSeparator as ShadcnComboboxSeparator, ComboboxChips as ShadcnComboboxChips, ComboboxChip as ShadcnComboboxChip, ComboboxTrigger as ShadcnComboboxTrigger, ComboboxValue as ShadcnComboboxValue, useComboboxAnchor } from "src/shadcn/components/combobox";
3
3
  declare const Combobox: (props: React.ComponentProps<typeof ShadcnCombobox>) => import("react/jsx-runtime").JSX.Element;
4
4
  declare const ComboboxInput: (props: React.ComponentProps<typeof ShadcnComboboxInput>) => import("react/jsx-runtime").JSX.Element;
5
- declare const ComboboxContent: (props: React.ComponentProps<typeof ShadcnComboboxContent>) => import("react/jsx-runtime").JSX.Element;
5
+ declare const ComboboxContent: ({ className, ...props }: React.ComponentProps<typeof ShadcnComboboxContent>) => import("react/jsx-runtime").JSX.Element;
6
6
  declare const ComboboxList: (props: React.ComponentProps<typeof ShadcnComboboxList>) => import("react/jsx-runtime").JSX.Element;
7
7
  declare const ComboboxItem: ({ className, ...props }: React.ComponentProps<typeof ShadcnComboboxItem>) => import("react/jsx-runtime").JSX.Element;
8
8
  declare const ComboboxGroup: (props: React.ComponentProps<typeof ShadcnComboboxGroup>) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import 'react/jsx-runtime';
2
2
  import 'react';
3
3
  import '../utils-BJnb9o5c.js';
4
- export { C as Combobox, a as ComboboxChip, b as ComboboxChips, c as ComboboxChipsInput, d as ComboboxCollection, e as ComboboxContent, f as ComboboxEmpty, g as ComboboxGroup, h as ComboboxInput, i as ComboboxItem, j as ComboboxLabel, k as ComboboxList, l as ComboboxSeparator, m as ComboboxTrigger, n as ComboboxValue, u as useComboboxAnchor } from '../Combobox-CCstgdEa.js';
4
+ export { C as Combobox, a as ComboboxChip, b as ComboboxChips, c as ComboboxChipsInput, d as ComboboxCollection, e as ComboboxContent, f as ComboboxEmpty, g as ComboboxGroup, h as ComboboxInput, i as ComboboxItem, j as ComboboxLabel, k as ComboboxList, l as ComboboxSeparator, m as ComboboxTrigger, n as ComboboxValue, u as useComboboxAnchor } from '../Combobox-h2Kez17p.js';
5
5
  import '../button-DTkEk06V.js';
6
6
  import '../index-Bo3AAQJp.js';
7
7
  import '../index-CfriMyrd.js';
@@ -2,7 +2,7 @@ import type React from "react";
2
2
  import { ContextMenu as ShadcnContextMenu, ContextMenuTrigger as ShadcnContextMenuTrigger, ContextMenuContent as ShadcnContextMenuContent, ContextMenuItem as ShadcnContextMenuItem, ContextMenuCheckboxItem as ShadcnContextMenuCheckboxItem, ContextMenuRadioItem as ShadcnContextMenuRadioItem, ContextMenuLabel as ShadcnContextMenuLabel, ContextMenuSeparator as ShadcnContextMenuSeparator, ContextMenuShortcut as ShadcnContextMenuShortcut, ContextMenuGroup as ShadcnContextMenuGroup, ContextMenuPortal as ShadcnContextMenuPortal, ContextMenuSub as ShadcnContextMenuSub, ContextMenuSubContent as ShadcnContextMenuSubContent, ContextMenuSubTrigger as ShadcnContextMenuSubTrigger, ContextMenuRadioGroup as ShadcnContextMenuRadioGroup } from "src/shadcn/components/context-menu";
3
3
  declare const ContextMenu: (props: React.ComponentProps<typeof ShadcnContextMenu>) => import("react/jsx-runtime").JSX.Element;
4
4
  declare const ContextMenuTrigger: (props: React.ComponentProps<typeof ShadcnContextMenuTrigger>) => import("react/jsx-runtime").JSX.Element;
5
- declare const ContextMenuContent: (props: React.ComponentProps<typeof ShadcnContextMenuContent>) => import("react/jsx-runtime").JSX.Element;
5
+ declare const ContextMenuContent: ({ className, ...props }: React.ComponentProps<typeof ShadcnContextMenuContent>) => import("react/jsx-runtime").JSX.Element;
6
6
  declare const ContextMenuItem: (props: React.ComponentProps<typeof ShadcnContextMenuItem>) => import("react/jsx-runtime").JSX.Element;
7
7
  declare const ContextMenuCheckboxItem: (props: React.ComponentProps<typeof ShadcnContextMenuCheckboxItem>) => import("react/jsx-runtime").JSX.Element;
8
8
  declare const ContextMenuRadioItem: (props: React.ComponentProps<typeof ShadcnContextMenuRadioItem>) => import("react/jsx-runtime").JSX.Element;
@@ -520,7 +520,10 @@ function ContextMenuShortcut$1({
520
520
 
521
521
  const ContextMenu = (props) => /* @__PURE__ */ jsx(ContextMenu$1, { ...props });
522
522
  const ContextMenuTrigger = (props) => /* @__PURE__ */ jsx(ContextMenuTrigger$1, { ...props });
523
- const ContextMenuContent = (props) => /* @__PURE__ */ jsx(ContextMenuContent$1, { ...props });
523
+ const ContextMenuContent = ({
524
+ className,
525
+ ...props
526
+ }) => /* @__PURE__ */ jsx(ContextMenuContent$1, { className: cn("shadow-lg", className), ...props });
524
527
  const ContextMenuItem = (props) => /* @__PURE__ */ jsx(ContextMenuItem$1, { ...props });
525
528
  const ContextMenuCheckboxItem = (props) => /* @__PURE__ */ jsx(ContextMenuCheckboxItem$1, { ...props });
526
529
  const ContextMenuRadioItem = (props) => /* @__PURE__ */ jsx(ContextMenuRadioItem$1, { ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","sources":["../../node_modules/@radix-ui/react-context-menu/dist/index.mjs","../../src/shadcn/components/context-menu.tsx","../../src/primitives/ContextMenu.tsx"],"sourcesContent":["\"use client\";\n\n// src/context-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CONTEXT_MENU_NAME = \"ContextMenu\";\nvar [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope\n]);\nvar useMenuScope = createMenuScope();\nvar [ContextMenuProvider, useContextMenuContext] = createContextMenuContext(CONTEXT_MENU_NAME);\nvar ContextMenu = (props) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (open2) => {\n setOpen(open2);\n handleOpenChangeProp(open2);\n },\n [handleOpenChangeProp]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope: __scopeContextMenu,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n MenuPrimitive.Root,\n {\n ...menuScope,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children\n }\n )\n }\n );\n};\nContextMenu.displayName = CONTEXT_MENU_NAME;\nvar TRIGGER_NAME = \"ContextMenuTrigger\";\nvar ContextMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, disabled = false, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current })\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { ...menuScope, virtualRef }),\n /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: forwardedRef,\n style: { WebkitTouchCallout: \"none\", ...props.style },\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n handleOpen(event);\n event.preventDefault();\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n ),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress)),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, whenTouchOrPen(clearLongPress)),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))\n }\n )\n ] });\n }\n);\nContextMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"ContextMenuPortal\";\nvar ContextMenuPortal = (props) => {\n const { __scopeContextMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nContextMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"ContextMenuContent\";\nvar ContextMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n side: \"right\",\n sideOffset: 2,\n align: \"start\",\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n },\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nContextMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"ContextMenuGroup\";\nvar ContextMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nContextMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"ContextMenuLabel\";\nvar ContextMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nContextMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"ContextMenuItem\";\nvar ContextMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nContextMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\nvar ContextMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\nvar ContextMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\nvar ContextMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"ContextMenuItemIndicator\";\nvar ContextMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"ContextMenuSeparator\";\nvar ContextMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nContextMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"ContextMenuArrow\";\nvar ContextMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nContextMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"ContextMenuSub\";\nvar ContextMenuSub = (props) => {\n const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nContextMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\nvar ContextMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...triggerItemProps, ref: forwardedRef });\n});\nContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"ContextMenuSubContent\";\nvar ContextMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nContextMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction whenTouchOrPen(handler) {\n return (event) => event.pointerType !== \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = ContextMenu;\nvar Trigger = ContextMenuTrigger;\nvar Portal2 = ContextMenuPortal;\nvar Content2 = ContextMenuContent;\nvar Group2 = ContextMenuGroup;\nvar Label2 = ContextMenuLabel;\nvar Item2 = ContextMenuItem;\nvar CheckboxItem2 = ContextMenuCheckboxItem;\nvar RadioGroup2 = ContextMenuRadioGroup;\nvar RadioItem2 = ContextMenuRadioItem;\nvar ItemIndicator2 = ContextMenuItemIndicator;\nvar Separator2 = ContextMenuSeparator;\nvar Arrow2 = ContextMenuArrow;\nvar Sub2 = ContextMenuSub;\nvar SubTrigger2 = ContextMenuSubTrigger;\nvar SubContent2 = ContextMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n ContextMenu,\n ContextMenuArrow,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuItemIndicator,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createContextMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\nimport { ContextMenu as ContextMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { ChevronRightIcon, CheckIcon } from \"lucide-react\"\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />\n}\n\nfunction ContextMenuTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger\n data-slot=\"context-menu-trigger\"\n className={cn(\"select-none\", className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n )\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n )\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n}) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n className={cn(\"z-50 max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"rtl:rotate-180 ms-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n )\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\"z-50 min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute end-2\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute end-2\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n )\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"ms-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","import type React from \"react\";\nimport {\n ContextMenu as ShadcnContextMenu,\n ContextMenuTrigger as ShadcnContextMenuTrigger,\n ContextMenuContent as ShadcnContextMenuContent,\n ContextMenuItem as ShadcnContextMenuItem,\n ContextMenuCheckboxItem as ShadcnContextMenuCheckboxItem,\n ContextMenuRadioItem as ShadcnContextMenuRadioItem,\n ContextMenuLabel as ShadcnContextMenuLabel,\n ContextMenuSeparator as ShadcnContextMenuSeparator,\n ContextMenuShortcut as ShadcnContextMenuShortcut,\n ContextMenuGroup as ShadcnContextMenuGroup,\n ContextMenuPortal as ShadcnContextMenuPortal,\n ContextMenuSub as ShadcnContextMenuSub,\n ContextMenuSubContent as ShadcnContextMenuSubContent,\n ContextMenuSubTrigger as ShadcnContextMenuSubTrigger,\n ContextMenuRadioGroup as ShadcnContextMenuRadioGroup,\n} from \"src/shadcn/components/context-menu\";\n\nconst ContextMenu = (props: React.ComponentProps<typeof ShadcnContextMenu>) => (\n <ShadcnContextMenu {...props} />\n);\n\nconst ContextMenuTrigger = (\n props: React.ComponentProps<typeof ShadcnContextMenuTrigger>\n) => <ShadcnContextMenuTrigger {...props} />;\n\nconst ContextMenuContent = (\n props: React.ComponentProps<typeof ShadcnContextMenuContent>\n) => <ShadcnContextMenuContent {...props} />;\n\nconst ContextMenuItem = (\n props: React.ComponentProps<typeof ShadcnContextMenuItem>\n) => <ShadcnContextMenuItem {...props} />;\n\nconst ContextMenuCheckboxItem = (\n props: React.ComponentProps<typeof ShadcnContextMenuCheckboxItem>\n) => <ShadcnContextMenuCheckboxItem {...props} />;\n\nconst ContextMenuRadioItem = (\n props: React.ComponentProps<typeof ShadcnContextMenuRadioItem>\n) => <ShadcnContextMenuRadioItem {...props} />;\n\nconst ContextMenuLabel = (\n props: React.ComponentProps<typeof ShadcnContextMenuLabel>\n) => <ShadcnContextMenuLabel {...props} />;\n\nconst ContextMenuSeparator = (\n props: React.ComponentProps<typeof ShadcnContextMenuSeparator>\n) => <ShadcnContextMenuSeparator {...props} />;\n\nconst ContextMenuShortcut = (\n props: React.ComponentProps<typeof ShadcnContextMenuShortcut>\n) => <ShadcnContextMenuShortcut {...props} />;\n\nconst ContextMenuGroup = (\n props: React.ComponentProps<typeof ShadcnContextMenuGroup>\n) => <ShadcnContextMenuGroup {...props} />;\n\nconst ContextMenuPortal = (\n props: React.ComponentProps<typeof ShadcnContextMenuPortal>\n) => <ShadcnContextMenuPortal {...props} />;\n\nconst ContextMenuSub = (\n props: React.ComponentProps<typeof ShadcnContextMenuSub>\n) => <ShadcnContextMenuSub {...props} />;\n\nconst ContextMenuSubContent = (\n props: React.ComponentProps<typeof ShadcnContextMenuSubContent>\n) => <ShadcnContextMenuSubContent {...props} />;\n\nconst ContextMenuSubTrigger = (\n props: React.ComponentProps<typeof ShadcnContextMenuSubTrigger>\n) => <ShadcnContextMenuSubTrigger {...props} />;\n\nconst ContextMenuRadioGroup = (\n props: React.ComponentProps<typeof ShadcnContextMenuRadioGroup>\n) => <ShadcnContextMenuRadioGroup {...props} />;\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n};\n"],"names":["ContextMenu","MenuPrimitive.Root","ContextMenuTrigger","MenuPrimitive.Anchor","ContextMenuPortal","MenuPrimitive.Portal","ContextMenuContent","MenuPrimitive.Content","ContextMenuGroup","MenuPrimitive.Group","ContextMenuLabel","MenuPrimitive.Label","ContextMenuItem","MenuPrimitive.Item","ContextMenuCheckboxItem","MenuPrimitive.CheckboxItem","ContextMenuRadioGroup","MenuPrimitive.RadioGroup","ContextMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","ContextMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","ContextMenuSub","MenuPrimitive.Sub","ContextMenuSubTrigger","MenuPrimitive.SubTrigger","ContextMenuSubContent","MenuPrimitive.SubContent","ContextMenuPrimitive.Root","ContextMenuPrimitive.Trigger","ContextMenuPrimitive.Group","ContextMenuPrimitive.Portal","ContextMenuPrimitive.Sub","ContextMenuPrimitive.RadioGroup","ContextMenuPrimitive.Content","ContextMenuPrimitive.Item","ContextMenuPrimitive.SubTrigger","ChevronRightIcon","ContextMenuPrimitive.SubContent","ContextMenuPrimitive.CheckboxItem","ContextMenuPrimitive.ItemIndicator","CheckIcon","ContextMenuPrimitive.RadioItem","ContextMenuPrimitive.Label","ContextMenuPrimitive.Separator","ContextMenuShortcut","ShadcnContextMenu","ShadcnContextMenuTrigger","ShadcnContextMenuContent","ShadcnContextMenuItem","ShadcnContextMenuCheckboxItem","ShadcnContextMenuRadioItem","ShadcnContextMenuLabel","ShadcnContextMenuSeparator","ShadcnContextMenuShortcut","ShadcnContextMenuGroup","ShadcnContextMenuPortal","ShadcnContextMenuSub","ShadcnContextMenuSubContent","ShadcnContextMenuSubTrigger","ShadcnContextMenuRadioGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAI,iBAAiB,GAAG,aAAa;AACrC,IAAI,CAAC,wBAAgD,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,EAAE;AAC/F,EAAE;AACF,CAAC,CAAC;AACF,IAAI,YAAY,GAAG,eAAe,EAAE;AACpC,IAAI,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,wBAAwB,CAAC,iBAAiB,CAAC;AAC9F,IAAIA,aAAW,GAAG,CAAC,KAAK,KAAK;AAC7B,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK;AACjF,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC/C,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,MAAM,oBAAoB,GAAG,cAAc,CAAC,YAAY,CAAC;AAC3D,EAAE,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW;AAC5C,IAAI,CAAC,KAAK,KAAK;AACf,MAAM,OAAO,CAAC,KAAK,CAAC;AACpB,MAAM,oBAAoB,CAAC,KAAK,CAAC;AACjC,IAAI,CAAC;AACL,IAAI,CAAC,oBAAoB;AACzB,GAAG;AACH,EAAE,uBAAuB,GAAG;AAC5B,IAAI,mBAAmB;AACvB,IAAI;AACJ,MAAM,KAAK,EAAE,kBAAkB;AAC/B,MAAM,IAAI;AACV,MAAM,YAAY,EAAE,gBAAgB;AACpC,MAAM,KAAK;AACX,MAAM,QAAQ,kBAAkB,GAAG;AACnC,QAAQC,KAAkB;AAC1B,QAAQ;AACR,UAAU,GAAG,SAAS;AACtB,UAAU,GAAG;AACb,UAAU,IAAI;AACd,UAAU,YAAY,EAAE,gBAAgB;AACxC,UAAU,KAAK;AACf,UAAU;AACV;AACA;AACA;AACA,GAAG;AACH,CAAC;AACDD,aAAW,CAAC,WAAW,GAAG,iBAAiB;AAC3C,IAAI,YAAY,GAAG,oBAAoB;AACvC,IAAIE,oBAAkB,GAAG,KAAK,CAAC,UAAU;AACzC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AAC3B,IAAI,MAAM,EAAE,kBAAkB,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK;AAC3E,IAAI,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,CAAC;AAC3E,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACtD,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACjD,IAAI,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;AACpC,MAAM,qBAAqB,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;AAChG,KAAK,CAAC;AACN,IAAI,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,IAAI,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW;AAC5C,MAAM,MAAM,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC1D,MAAM;AACN,KAAK;AACL,IAAI,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK;AAClC,MAAM,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE;AAC/D,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;AAChC,IAAI,CAAC;AACL,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC;AAC3D,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC1F,IAAI,uBAAuB,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE;AACtD,sBAAsB,GAAG,CAACC,OAAoB,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC;AAC7E,sBAAsB,GAAG;AACzB,QAAQ,SAAS,CAAC,IAAI;AACtB,QAAQ;AACR,UAAU,YAAY,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ;AACxD,UAAU,eAAe,EAAE,QAAQ,GAAG,EAAE,GAAG,MAAM;AACjD,UAAU,GAAG,YAAY;AACzB,UAAU,GAAG,EAAE,YAAY;AAC3B,UAAU,KAAK,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;AAC/D,UAAU,aAAa,EAAE,QAAQ,GAAG,KAAK,CAAC,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK;AAC/G,YAAY,cAAc,EAAE;AAC5B,YAAY,UAAU,CAAC,KAAK,CAAC;AAC7B,YAAY,KAAK,CAAC,cAAc,EAAE;AAClC,UAAU,CAAC,CAAC;AACZ,UAAU,aAAa,EAAE,QAAQ,GAAG,KAAK,CAAC,aAAa,GAAG,oBAAoB;AAC9E,YAAY,KAAK,CAAC,aAAa;AAC/B,YAAY,cAAc,CAAC,CAAC,KAAK,KAAK;AACtC,cAAc,cAAc,EAAE;AAC9B,cAAc,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;AACzF,YAAY,CAAC;AACb,WAAW;AACX,UAAU,aAAa,EAAE,QAAQ,GAAG,KAAK,CAAC,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;AACnI,UAAU,eAAe,EAAE,QAAQ,GAAG,KAAK,CAAC,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;AACzI,UAAU,WAAW,EAAE,QAAQ,GAAG,KAAK,CAAC,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC;AAC5H;AACA;AACA,KAAK,EAAE,CAAC;AACR,EAAE;AACF,CAAC;AACDD,oBAAkB,CAAC,WAAW,GAAG,YAAY;AAC7C,IAAI,WAAW,GAAG,mBAAmB;AACrC,IAAIE,mBAAiB,GAAG,CAAC,KAAK,KAAK;AACnC,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK;AACtD,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG,CAACC,MAAoB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;AACpF,CAAC;AACDD,mBAAiB,CAAC,WAAW,GAAG,WAAW;AAC3C,IAAI,YAAY,GAAG,oBAAoB;AACvC,IAAIE,oBAAkB,GAAG,KAAK,CAAC,UAAU;AACzC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AAC3B,IAAI,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK;AACzD,IAAI,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,CAAC;AAC3E,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACtD,IAAI,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACvD,IAAI,uBAAuB,GAAG;AAC9B,MAAMC,UAAqB;AAC3B,MAAM;AACN,QAAQ,GAAG,SAAS;AACpB,QAAQ,GAAG,YAAY;AACvB,QAAQ,GAAG,EAAE,YAAY;AACzB,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,UAAU,EAAE,CAAC;AACrB,QAAQ,KAAK,EAAE,OAAO;AACtB,QAAQ,gBAAgB,EAAE,CAAC,KAAK,KAAK;AACrC,UAAU,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;AACzC,UAAU,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,OAAO,EAAE;AAC1E,YAAY,KAAK,CAAC,cAAc,EAAE;AAClC,UAAU;AACV,UAAU,uBAAuB,CAAC,OAAO,GAAG,KAAK;AACjD,QAAQ,CAAC;AACT,QAAQ,iBAAiB,EAAE,CAAC,KAAK,KAAK;AACtC,UAAU,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC1C,UAAU,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,GAAG,IAAI;AAC/F,QAAQ,CAAC;AACT,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG,KAAK,CAAC,KAAK;AACxB;AACA,UAAU,GAAG;AACb,YAAY,+CAA+C,EAAE,sCAAsC;AACnG,YAAY,8CAA8C,EAAE,qCAAqC;AACjG,YAAY,+CAA+C,EAAE,sCAAsC;AACnG,YAAY,oCAAoC,EAAE,kCAAkC;AACpF,YAAY,qCAAqC,EAAE;AACnD;AACA;AACA;AACA,KAAK;AACL,EAAE;AACF,CAAC;AACDD,oBAAkB,CAAC,WAAW,GAAG,YAAY;AAC7C,IAAI,UAAU,GAAG,kBAAkB;AACnC,IAAIE,kBAAgB,GAAG,KAAK,CAAC,UAAU;AACvC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AAC3B,IAAI,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK;AACvD,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACtD,IAAI,uBAAuB,GAAG,CAACC,KAAmB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACvG,EAAE;AACF,CAAC;AACDD,kBAAgB,CAAC,WAAW,GAAG,UAAU;AACzC,IAAI,UAAU,GAAG,kBAAkB;AACnC,IAAIE,kBAAgB,GAAG,KAAK,CAAC,UAAU;AACvC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AAC3B,IAAI,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK;AACvD,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACtD,IAAI,uBAAuB,GAAG,CAACC,KAAmB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACvG,EAAE;AACF,CAAC;AACDD,kBAAgB,CAAC,WAAW,GAAG,UAAU;AACzC,IAAI,SAAS,GAAG,iBAAiB;AACjC,IAAIE,iBAAe,GAAG,KAAK,CAAC,UAAU;AACtC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AAC3B,IAAI,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AACtD,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACtD,IAAI,uBAAuB,GAAG,CAACC,OAAkB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACrG,EAAE;AACF,CAAC;AACDD,iBAAe,CAAC,WAAW,GAAG,SAAS;AACvC,IAAI,kBAAkB,GAAG,yBAAyB;AAClD,IAAIE,yBAAuB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK;AACxE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,EAAE,GAAG,KAAK;AAC5D,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG,CAACC,YAA0B,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,iBAAiB,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACnH,CAAC,CAAC;AACFD,yBAAuB,CAAC,WAAW,GAAG,kBAAkB;AACxD,IAAI,gBAAgB,GAAG,uBAAuB;AAC9C,IAAIE,uBAAqB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK;AACtE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK;AAC1D,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG,CAACC,UAAwB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAC/G,CAAC,CAAC;AACFD,uBAAqB,CAAC,WAAW,GAAG,gBAAgB;AACpD,IAAI,eAAe,GAAG,sBAAsB;AAC5C,IAAIE,sBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK;AACrE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK;AACzD,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG,CAACC,SAAuB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAC7G,CAAC,CAAC;AACFD,sBAAoB,CAAC,WAAW,GAAG,eAAe;AAClD,IAAI,cAAc,GAAG,0BAA0B;AAC/C,IAAI,wBAAwB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK;AACzE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,GAAG,KAAK;AAC7D,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG,CAACE,aAA2B,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACrH,CAAC,CAAC;AACF,wBAAwB,CAAC,WAAW,GAAG,cAAc;AACrD,IAAI,cAAc,GAAG,sBAAsB;AAC3C,IAAIC,sBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK;AACrE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK;AACzD,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG,CAACC,SAAuB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAC7G,CAAC,CAAC;AACFD,sBAAoB,CAAC,WAAW,GAAG,cAAc;AACjD,IAAI,UAAU,GAAG,kBAAkB;AACnC,IAAI,gBAAgB,GAAG,KAAK,CAAC,UAAU;AACvC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AAC3B,IAAI,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK;AACvD,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACtD,IAAI,uBAAuB,GAAG,CAACE,MAAmB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACvG,EAAE;AACF,CAAC;AACD,gBAAgB,CAAC,WAAW,GAAG,UAAU;AACzC,IAAI,QAAQ,GAAG,gBAAgB;AAC/B,IAAIC,gBAAc,GAAG,CAAC,KAAK,KAAK;AAChC,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK;AAC3F,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;AAC/C,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,WAAW,EAAE,WAAW,IAAI,KAAK;AACrC,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,uBAAuB,GAAG,CAACC,GAAiB,EAAE,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACxG,CAAC;AACDD,gBAAc,CAAC,WAAW,GAAG,QAAQ;AACrC,IAAI,gBAAgB,GAAG,uBAAuB;AAC9C,IAAIE,uBAAqB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK;AACtE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,GAAG,KAAK;AAC3D,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG,CAACC,UAAwB,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,gBAAgB,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AAChH,CAAC,CAAC;AACFD,uBAAqB,CAAC,WAAW,GAAG,gBAAgB;AACpD,IAAI,gBAAgB,GAAG,uBAAuB;AAC9C,IAAIE,uBAAqB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK;AACtE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK;AAC1D,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;AACpD,EAAE,uBAAuB,GAAG;AAC5B,IAAIC,UAAwB;AAC5B,IAAI;AACJ,MAAM,GAAG,SAAS;AAClB,MAAM,GAAG,eAAe;AACxB,MAAM,GAAG,EAAE,YAAY;AACvB,MAAM,KAAK,EAAE;AACb,QAAQ,GAAG,KAAK,CAAC,KAAK;AACtB;AACA,QAAQ,GAAG;AACX,UAAU,+CAA+C,EAAE,sCAAsC;AACjG,UAAU,8CAA8C,EAAE,qCAAqC;AAC/F,UAAU,+CAA+C,EAAE,sCAAsC;AACjG,UAAU,oCAAoC,EAAE,kCAAkC;AAClF,UAAU,qCAAqC,EAAE;AACjD;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC;AACFD,uBAAqB,CAAC,WAAW,GAAG,gBAAgB;AACpD,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM;AAC3E;AACA,IAAI,KAAK,GAAG5B,aAAW;AACvB,IAAI,OAAO,GAAGE,oBAAkB;AAChC,IAAI,OAAO,GAAGE,mBAAiB;AAC/B,IAAI,QAAQ,GAAGE,oBAAkB;AACjC,IAAI,MAAM,GAAGE,kBAAgB;AAC7B,IAAI,MAAM,GAAGE,kBAAgB;AAC7B,IAAI,KAAK,GAAGE,iBAAe;AAC3B,IAAI,aAAa,GAAGE,yBAAuB;AAC3C,IAAI,WAAW,GAAGE,uBAAqB;AACvC,IAAI,UAAU,GAAGE,sBAAoB;AACrC,IAAI,cAAc,GAAG,wBAAwB;AAC7C,IAAI,UAAU,GAAGG,sBAAoB;AAErC,IAAI,IAAI,GAAGG,gBAAc;AACzB,IAAI,WAAW,GAAGE,uBAAqB;AACvC,IAAI,WAAW,GAAGE,uBAAqB;;AC1RvC,SAAS5B,aAAA,CAAY;AAAA,EACnB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,2BAAQ8B,KAAqB,EAArB,EAA0B,WAAA,EAAU,cAAA,EAAgB,GAAG,KAAA,EAAO,CAAA;AACxE;AAEA,SAAS5B,oBAAA,CAAmB;AAAA,EAC1B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA8D;AAC5D,EAAA,uBACE,GAAA;AAAA,IAAC6B,OAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,sBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,aAAA,EAAe,SAAS,CAAA;AAAA,MACrC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAASvB,kBAAA,CAAiB;AAAA,EACxB,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,2BACGwB,MAAqB,EAArB,EAA2B,WAAA,EAAU,oBAAA,EAAsB,GAAG,KAAA,EAAO,CAAA;AAE1E;AAEA,SAAS5B,mBAAA,CAAkB;AAAA,EACzB,GAAG;AACL,CAAA,EAA6D;AAC3D,EAAA,2BACG6B,OAAqB,EAArB,EAA4B,WAAA,EAAU,qBAAA,EAAuB,GAAG,KAAA,EAAO,CAAA;AAE5E;AAEA,SAAST,gBAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,2BAAQU,IAAqB,EAArB,EAAyB,WAAA,EAAU,kBAAA,EAAoB,GAAG,KAAA,EAAO,CAAA;AAC3E;AAEA,SAASlB,uBAAA,CAAsB;AAAA,EAC7B,GAAG;AACL,CAAA,EAAiE;AAC/D,EAAA,uBACE,GAAA;AAAA,IAACmB,WAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,0BAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS7B,oBAAA,CAAmB;AAAA,EAC1B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,GAAA,CAAC2B,OAAqB,EAArB,EACC,QAAA,kBAAA,GAAA;AAAA,IAACG,QAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,sBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,kiBAAA,EAAoiB,SAAU,CAAA;AAAA,MAC3jB,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAEA,SAASxB,iBAAA,CAAgB;AAAA,EACvB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACE,GAAA;AAAA,IAACyB,KAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,cAAA,EAAc,OAAA;AAAA,MACd,SAAA,EAAW,EAAA;AAAA,QACT,inBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAASX,uBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,IAAA;AAAA,IAACY,WAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,0BAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,wSAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAACC,YAAA,EAAA,EAAiB,SAAA,EAAU,wBAAA,EAAyB;AAAA;AAAA;AAAA,GACvD;AAEJ;AAEA,SAASX,uBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiE;AAC/D,EAAA,uBACE,GAAA;AAAA,IAACY,WAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,0BAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,ucAAA,EAAyc,SAAU,CAAA;AAAA,MAChe,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS1B,yBAAA,CAAwB;AAAA,EAC/B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,IAAA;AAAA,IAAC2B,aAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,4BAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,4TAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAK,SAAA,EAAU,oCAAA,EACd,QAAA,kBAAA,GAAA,CAACC,gBAAA,EACC,QAAA,kBAAA,GAAA;AAAA,UAACC,KAAA;AAAA,UAAA;AAAA,WAEH,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAEA,SAASzB,sBAAA,CAAqB;AAAA,EAC5B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,IAAA;AAAA,IAAC0B,UAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,yBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,4TAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAK,SAAA,EAAU,oCAAA,EACd,QAAA,kBAAA,GAAA,CAACF,gBAAA,EACC,QAAA,kBAAA,GAAA;AAAA,UAACC,KAAA;AAAA,UAAA;AAAA,WAEH,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAEA,SAASjC,kBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,GAAA;AAAA,IAACmC,MAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,uEAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAASxB,sBAAA,CAAqB;AAAA,EAC5B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgE;AAC9D,EAAA,uBACE,GAAA;AAAA,IAACyB,UAAqB;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,wBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,MACnD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAASC,qBAAA,CAAoB;AAAA,EAC3B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4GAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;;AC/NA,MAAM,cAAc,CAAC,KAAA,qBACnB,GAAA,CAACC,aAAA,EAAA,EAAmB,GAAG,KAAA,EAAO;AAGhC,MAAM,qBAAqB,CACzB,KAAA,qBACG,GAAA,CAACC,oBAAA,EAAA,EAA0B,GAAG,KAAA,EAAO;AAE1C,MAAM,qBAAqB,CACzB,KAAA,qBACG,GAAA,CAACC,oBAAA,EAAA,EAA0B,GAAG,KAAA,EAAO;AAE1C,MAAM,kBAAkB,CACtB,KAAA,qBACG,GAAA,CAACC,iBAAA,EAAA,EAAuB,GAAG,KAAA,EAAO;AAEvC,MAAM,0BAA0B,CAC9B,KAAA,qBACG,GAAA,CAACC,yBAAA,EAAA,EAA+B,GAAG,KAAA,EAAO;AAE/C,MAAM,uBAAuB,CAC3B,KAAA,qBACG,GAAA,CAACC,sBAAA,EAAA,EAA4B,GAAG,KAAA,EAAO;AAE5C,MAAM,mBAAmB,CACvB,KAAA,qBACG,GAAA,CAACC,kBAAA,EAAA,EAAwB,GAAG,KAAA,EAAO;AAExC,MAAM,uBAAuB,CAC3B,KAAA,qBACG,GAAA,CAACC,sBAAA,EAAA,EAA4B,GAAG,KAAA,EAAO;AAE5C,MAAM,sBAAsB,CAC1B,KAAA,qBACG,GAAA,CAACC,qBAAA,EAAA,EAA2B,GAAG,KAAA,EAAO;AAE3C,MAAM,mBAAmB,CACvB,KAAA,qBACG,GAAA,CAACC,kBAAA,EAAA,EAAwB,GAAG,KAAA,EAAO;AAExC,MAAM,oBAAoB,CACxB,KAAA,qBACG,GAAA,CAACC,mBAAA,EAAA,EAAyB,GAAG,KAAA,EAAO;AAEzC,MAAM,iBAAiB,CACrB,KAAA,qBACG,GAAA,CAACC,gBAAA,EAAA,EAAsB,GAAG,KAAA,EAAO;AAEtC,MAAM,wBAAwB,CAC5B,KAAA,qBACG,GAAA,CAACC,uBAAA,EAAA,EAA6B,GAAG,KAAA,EAAO;AAE7C,MAAM,wBAAwB,CAC5B,KAAA,qBACG,GAAA,CAACC,uBAAA,EAAA,EAA6B,GAAG,KAAA,EAAO;AAE7C,MAAM,wBAAwB,CAC5B,KAAA,qBACG,GAAA,CAACC,uBAAA,EAAA,EAA6B,GAAG,KAAA,EAAO;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ContextMenu.js","sources":["../../node_modules/@radix-ui/react-context-menu/dist/index.mjs","../../src/shadcn/components/context-menu.tsx","../../src/primitives/ContextMenu.tsx"],"sourcesContent":["\"use client\";\n\n// src/context-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CONTEXT_MENU_NAME = \"ContextMenu\";\nvar [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope\n]);\nvar useMenuScope = createMenuScope();\nvar [ContextMenuProvider, useContextMenuContext] = createContextMenuContext(CONTEXT_MENU_NAME);\nvar ContextMenu = (props) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (open2) => {\n setOpen(open2);\n handleOpenChangeProp(open2);\n },\n [handleOpenChangeProp]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope: __scopeContextMenu,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n MenuPrimitive.Root,\n {\n ...menuScope,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children\n }\n )\n }\n );\n};\nContextMenu.displayName = CONTEXT_MENU_NAME;\nvar TRIGGER_NAME = \"ContextMenuTrigger\";\nvar ContextMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, disabled = false, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current })\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { ...menuScope, virtualRef }),\n /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: forwardedRef,\n style: { WebkitTouchCallout: \"none\", ...props.style },\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n handleOpen(event);\n event.preventDefault();\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n ),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress)),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, whenTouchOrPen(clearLongPress)),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))\n }\n )\n ] });\n }\n);\nContextMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"ContextMenuPortal\";\nvar ContextMenuPortal = (props) => {\n const { __scopeContextMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nContextMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"ContextMenuContent\";\nvar ContextMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n side: \"right\",\n sideOffset: 2,\n align: \"start\",\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n },\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nContextMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"ContextMenuGroup\";\nvar ContextMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nContextMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"ContextMenuLabel\";\nvar ContextMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nContextMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"ContextMenuItem\";\nvar ContextMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nContextMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\nvar ContextMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\nvar ContextMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\nvar ContextMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"ContextMenuItemIndicator\";\nvar ContextMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"ContextMenuSeparator\";\nvar ContextMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nContextMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"ContextMenuArrow\";\nvar ContextMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nContextMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"ContextMenuSub\";\nvar ContextMenuSub = (props) => {\n const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nContextMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\nvar ContextMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...triggerItemProps, ref: forwardedRef });\n});\nContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"ContextMenuSubContent\";\nvar ContextMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nContextMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction whenTouchOrPen(handler) {\n return (event) => event.pointerType !== \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = ContextMenu;\nvar Trigger = ContextMenuTrigger;\nvar Portal2 = ContextMenuPortal;\nvar Content2 = ContextMenuContent;\nvar Group2 = ContextMenuGroup;\nvar Label2 = ContextMenuLabel;\nvar Item2 = ContextMenuItem;\nvar CheckboxItem2 = ContextMenuCheckboxItem;\nvar RadioGroup2 = ContextMenuRadioGroup;\nvar RadioItem2 = ContextMenuRadioItem;\nvar ItemIndicator2 = ContextMenuItemIndicator;\nvar Separator2 = ContextMenuSeparator;\nvar Arrow2 = ContextMenuArrow;\nvar Sub2 = ContextMenuSub;\nvar SubTrigger2 = ContextMenuSubTrigger;\nvar SubContent2 = ContextMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n ContextMenu,\n ContextMenuArrow,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuItemIndicator,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createContextMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\nimport { ContextMenu as ContextMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { ChevronRightIcon, CheckIcon } from \"lucide-react\"\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />\n}\n\nfunction ContextMenuTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger\n data-slot=\"context-menu-trigger\"\n className={cn(\"select-none\", className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n )\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n )\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n}) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n className={cn(\"z-50 max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"rtl:rotate-180 ms-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n )\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\"z-50 min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\", className )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute end-2\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute end-2\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon\n />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n )\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"ms-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","import type React from \"react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n ContextMenu as ShadcnContextMenu,\n ContextMenuTrigger as ShadcnContextMenuTrigger,\n ContextMenuContent as ShadcnContextMenuContent,\n ContextMenuItem as ShadcnContextMenuItem,\n ContextMenuCheckboxItem as ShadcnContextMenuCheckboxItem,\n ContextMenuRadioItem as ShadcnContextMenuRadioItem,\n ContextMenuLabel as ShadcnContextMenuLabel,\n ContextMenuSeparator as ShadcnContextMenuSeparator,\n ContextMenuShortcut as ShadcnContextMenuShortcut,\n ContextMenuGroup as ShadcnContextMenuGroup,\n ContextMenuPortal as ShadcnContextMenuPortal,\n ContextMenuSub as ShadcnContextMenuSub,\n ContextMenuSubContent as ShadcnContextMenuSubContent,\n ContextMenuSubTrigger as ShadcnContextMenuSubTrigger,\n ContextMenuRadioGroup as ShadcnContextMenuRadioGroup,\n} from \"src/shadcn/components/context-menu\";\n\nconst ContextMenu = (props: React.ComponentProps<typeof ShadcnContextMenu>) => (\n <ShadcnContextMenu {...props} />\n);\n\nconst ContextMenuTrigger = (\n props: React.ComponentProps<typeof ShadcnContextMenuTrigger>\n) => <ShadcnContextMenuTrigger {...props} />;\n\nconst ContextMenuContent = ({\n className,\n ...props\n}: React.ComponentProps<typeof ShadcnContextMenuContent>) => (\n <ShadcnContextMenuContent className={cn(\"shadow-lg\", className)} {...props} />\n);\n\nconst ContextMenuItem = (\n props: React.ComponentProps<typeof ShadcnContextMenuItem>\n) => <ShadcnContextMenuItem {...props} />;\n\nconst ContextMenuCheckboxItem = (\n props: React.ComponentProps<typeof ShadcnContextMenuCheckboxItem>\n) => <ShadcnContextMenuCheckboxItem {...props} />;\n\nconst ContextMenuRadioItem = (\n props: React.ComponentProps<typeof ShadcnContextMenuRadioItem>\n) => <ShadcnContextMenuRadioItem {...props} />;\n\nconst ContextMenuLabel = (\n props: React.ComponentProps<typeof ShadcnContextMenuLabel>\n) => <ShadcnContextMenuLabel {...props} />;\n\nconst ContextMenuSeparator = (\n props: React.ComponentProps<typeof ShadcnContextMenuSeparator>\n) => <ShadcnContextMenuSeparator {...props} />;\n\nconst ContextMenuShortcut = (\n props: React.ComponentProps<typeof ShadcnContextMenuShortcut>\n) => <ShadcnContextMenuShortcut {...props} />;\n\nconst ContextMenuGroup = (\n props: React.ComponentProps<typeof ShadcnContextMenuGroup>\n) => <ShadcnContextMenuGroup {...props} />;\n\nconst ContextMenuPortal = (\n props: React.ComponentProps<typeof ShadcnContextMenuPortal>\n) => <ShadcnContextMenuPortal {...props} />;\n\nconst ContextMenuSub = (\n props: React.ComponentProps<typeof ShadcnContextMenuSub>\n) => <ShadcnContextMenuSub {...props} />;\n\nconst ContextMenuSubContent = (\n props: React.ComponentProps<typeof ShadcnContextMenuSubContent>\n) => <ShadcnContextMenuSubContent {...props} />;\n\nconst ContextMenuSubTrigger = (\n props: React.ComponentProps<typeof ShadcnContextMenuSubTrigger>\n) => <ShadcnContextMenuSubTrigger {...props} />;\n\nconst ContextMenuRadioGroup = (\n props: React.ComponentProps<typeof ShadcnContextMenuRadioGroup>\n) => <ShadcnContextMenuRadioGroup {...props} />;\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n};\n"],"names":["ContextMenu","MenuPrimitive.Root","ContextMenuTrigger","MenuPrimitive.Anchor","ContextMenuPortal","MenuPrimitive.Portal","ContextMenuContent","MenuPrimitive.Content","ContextMenuGroup","MenuPrimitive.Group","ContextMenuLabel","MenuPrimitive.Label","ContextMenuItem","MenuPrimitive.Item","ContextMenuCheckboxItem","MenuPrimitive.CheckboxItem","ContextMenuRadioGroup","MenuPrimitive.RadioGroup","ContextMenuRadioItem","MenuPrimitive.RadioItem","MenuPrimitive.ItemIndicator","ContextMenuSeparator","MenuPrimitive.Separator","MenuPrimitive.Arrow","ContextMenuSub","MenuPrimitive.Sub","ContextMenuSubTrigger","MenuPrimitive.SubTrigger","ContextMenuSubContent","MenuPrimitive.SubContent","ContextMenuPrimitive.Root","ContextMenuPrimitive.Trigger","ContextMenuPrimitive.Group","ContextMenuPrimitive.Portal","ContextMenuPrimitive.Sub","ContextMenuPrimitive.RadioGroup","ContextMenuPrimitive.Content","ContextMenuPrimitive.Item","ContextMenuPrimitive.SubTrigger","ChevronRightIcon","ContextMenuPrimitive.SubContent","ContextMenuPrimitive.CheckboxItem","ContextMenuPrimitive.ItemIndicator","CheckIcon","ContextMenuPrimitive.RadioItem","ContextMenuPrimitive.Label","ContextMenuPrimitive.Separator","ContextMenuShortcut","ShadcnContextMenu","ShadcnContextMenuTrigger","ShadcnContextMenuContent","ShadcnContextMenuItem","ShadcnContextMenuCheckboxItem","ShadcnContextMenuRadioItem","ShadcnContextMenuLabel","ShadcnContextMenuSeparator","ShadcnContextMenuShortcut","ShadcnContextMenuGroup","ShadcnContextMenuPortal","ShadcnContextMenuSub","ShadcnContextMenuSubContent","ShadcnContextMenuSubTrigger","ShadcnContextMenuRadioGroup"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,18 +1,36 @@
1
1
  import type React from "react";
2
2
  import { DropdownMenu as ShadcnDropdownMenu, DropdownMenuPortal as ShadcnDropdownMenuPortal, DropdownMenuTrigger as ShadcnDropdownMenuTrigger, DropdownMenuContent as ShadcnDropdownMenuContent, DropdownMenuGroup as ShadcnDropdownMenuGroup, DropdownMenuLabel as ShadcnDropdownMenuLabel, DropdownMenuItem as ShadcnDropdownMenuItem, DropdownMenuCheckboxItem as ShadcnDropdownMenuCheckboxItem, DropdownMenuRadioGroup as ShadcnDropdownMenuRadioGroup, DropdownMenuRadioItem as ShadcnDropdownMenuRadioItem, DropdownMenuSeparator as ShadcnDropdownMenuSeparator, DropdownMenuShortcut as ShadcnDropdownMenuShortcut, DropdownMenuSub as ShadcnDropdownMenuSub, DropdownMenuSubTrigger as ShadcnDropdownMenuSubTrigger, DropdownMenuSubContent as ShadcnDropdownMenuSubContent } from "src/shadcn/components/dropdown-menu";
3
+ /**
4
+ * Vertical density — row padding, height and gap — shared by all selectable
5
+ * menu items (`DropdownMenuItem`, `DropdownMenuCheckboxItem`,
6
+ * `DropdownMenuRadioItem`, `DropdownMenuSubTrigger`). Font size is unchanged
7
+ * (14px). `default` is the roomy baseline; `compact` opts back into shadcn's
8
+ * dense rows for long / scrolling menus.
9
+ */
10
+ export type DropdownMenuItemSize = "default" | "compact";
3
11
  declare const DropdownMenu: (props: React.ComponentProps<typeof ShadcnDropdownMenu>) => import("react/jsx-runtime").JSX.Element;
4
12
  declare const DropdownMenuPortal: (props: React.ComponentProps<typeof ShadcnDropdownMenuPortal>) => import("react/jsx-runtime").JSX.Element;
5
13
  declare const DropdownMenuTrigger: (props: React.ComponentProps<typeof ShadcnDropdownMenuTrigger>) => import("react/jsx-runtime").JSX.Element;
6
- declare const DropdownMenuContent: (props: React.ComponentProps<typeof ShadcnDropdownMenuContent>) => import("react/jsx-runtime").JSX.Element;
14
+ declare const DropdownMenuContent: ({ className, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuContent>) => import("react/jsx-runtime").JSX.Element;
7
15
  declare const DropdownMenuGroup: (props: React.ComponentProps<typeof ShadcnDropdownMenuGroup>) => import("react/jsx-runtime").JSX.Element;
8
- declare const DropdownMenuLabel: (props: React.ComponentProps<typeof ShadcnDropdownMenuLabel>) => import("react/jsx-runtime").JSX.Element;
9
- declare const DropdownMenuItem: ({ className, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuItem>) => import("react/jsx-runtime").JSX.Element;
10
- declare const DropdownMenuCheckboxItem: ({ className, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuCheckboxItem>) => import("react/jsx-runtime").JSX.Element;
16
+ declare const DropdownMenuLabel: ({ className, size, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuLabel> & {
17
+ size?: DropdownMenuItemSize;
18
+ }) => import("react/jsx-runtime").JSX.Element;
19
+ declare const DropdownMenuItem: ({ className, size, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuItem> & {
20
+ size?: DropdownMenuItemSize;
21
+ }) => import("react/jsx-runtime").JSX.Element;
22
+ declare const DropdownMenuCheckboxItem: ({ className, size, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuCheckboxItem> & {
23
+ size?: DropdownMenuItemSize;
24
+ }) => import("react/jsx-runtime").JSX.Element;
11
25
  declare const DropdownMenuRadioGroup: (props: React.ComponentProps<typeof ShadcnDropdownMenuRadioGroup>) => import("react/jsx-runtime").JSX.Element;
12
- declare const DropdownMenuRadioItem: ({ className, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuRadioItem>) => import("react/jsx-runtime").JSX.Element;
26
+ declare const DropdownMenuRadioItem: ({ className, size, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuRadioItem> & {
27
+ size?: DropdownMenuItemSize;
28
+ }) => import("react/jsx-runtime").JSX.Element;
13
29
  declare const DropdownMenuSeparator: (props: React.ComponentProps<typeof ShadcnDropdownMenuSeparator>) => import("react/jsx-runtime").JSX.Element;
14
30
  declare const DropdownMenuShortcut: (props: React.ComponentProps<typeof ShadcnDropdownMenuShortcut>) => import("react/jsx-runtime").JSX.Element;
15
31
  declare const DropdownMenuSub: (props: React.ComponentProps<typeof ShadcnDropdownMenuSub>) => import("react/jsx-runtime").JSX.Element;
16
- declare const DropdownMenuSubTrigger: ({ className, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuSubTrigger>) => import("react/jsx-runtime").JSX.Element;
32
+ declare const DropdownMenuSubTrigger: ({ className, size, ...props }: React.ComponentProps<typeof ShadcnDropdownMenuSubTrigger> & {
33
+ size?: DropdownMenuItemSize;
34
+ }) => import("react/jsx-runtime").JSX.Element;
17
35
  declare const DropdownMenuSubContent: (props: React.ComponentProps<typeof ShadcnDropdownMenuSubContent>) => import("react/jsx-runtime").JSX.Element;
18
36
  export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };