@bigbinary/neeto-atoms 1.0.125 → 1.0.127

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 (48) 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/cjs/{Combobox-ChwUxTXb.js → Combobox-CW2aVZlW.js} +5 -2
  6. package/dist/cjs/{Combobox-ChwUxTXb.js.map → Combobox-CW2aVZlW.js.map} +1 -1
  7. package/dist/cjs/{Select-BjWAZwbk.js → Select-C5YNUW3E.js} +2 -2
  8. package/dist/cjs/{Select-BjWAZwbk.js.map → Select-C5YNUW3E.js.map} +1 -1
  9. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  10. package/dist/cjs/components/Select.js +2 -2
  11. package/dist/cjs/components/index.js +2 -2
  12. package/dist/cjs/formik/Select.js +2 -2
  13. package/dist/cjs/formik/index.js +2 -2
  14. package/dist/cjs/index.js +2 -2
  15. package/dist/cjs/primitives/Combobox.js +1 -1
  16. package/dist/cjs/primitives/ContextMenu.js +4 -1
  17. package/dist/cjs/primitives/ContextMenu.js.map +1 -1
  18. package/dist/cjs/primitives/DropdownMenu.js +67 -6
  19. package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
  20. package/dist/cjs/primitives/Menubar.js +4 -1
  21. package/dist/cjs/primitives/Menubar.js.map +1 -1
  22. package/dist/cjs/primitives/Select.js +4 -1
  23. package/dist/cjs/primitives/Select.js.map +1 -1
  24. package/dist/cjs/primitives/index.js +1 -1
  25. package/dist/components/DropdownMenu/Label.d.ts +6 -0
  26. package/dist/components/DropdownMenu/types.d.ts +7 -1
  27. package/dist/components/DropdownMenu.js.map +1 -1
  28. package/dist/components/Select.js +2 -2
  29. package/dist/components/index.js +2 -2
  30. package/dist/formik/Select.js +2 -2
  31. package/dist/formik/index.js +2 -2
  32. package/dist/index.js +2 -2
  33. package/dist/primitives/Combobox.d.ts +1 -1
  34. package/dist/primitives/Combobox.js +1 -1
  35. package/dist/primitives/ContextMenu.d.ts +1 -1
  36. package/dist/primitives/ContextMenu.js +4 -1
  37. package/dist/primitives/ContextMenu.js.map +1 -1
  38. package/dist/primitives/DropdownMenu.d.ts +24 -6
  39. package/dist/primitives/DropdownMenu.js +67 -6
  40. package/dist/primitives/DropdownMenu.js.map +1 -1
  41. package/dist/primitives/Menubar.d.ts +1 -1
  42. package/dist/primitives/Menubar.js +4 -1
  43. package/dist/primitives/Menubar.js.map +1 -1
  44. package/dist/primitives/Select.d.ts +1 -1
  45. package/dist/primitives/Select.js +4 -1
  46. package/dist/primitives/Select.js.map +1 -1
  47. package/dist/primitives/index.js +1 -1
  48. package/package.json +1 -1
@@ -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":["forwardRef","useTranslation","jsxs","ButtonGroup","cn","jsx","Button","DropdownMenuTrigger","PrimitiveButton","ChevronDown","hyphenize","createContext","useState","useCallback","DropdownMenu","DropdownMenuContent","DropdownMenuSeparator","DropdownMenuLabel","DropdownMenuGroup","useContext","useMemo","Fragment","PrimitiveDropdownMenuItem","DropdownMenuSub","DropdownMenuSubTrigger","renderIcon","DropdownMenuSubContent"],"mappings":"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"}
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":["forwardRef","useTranslation","jsxs","ButtonGroup","cn","jsx","Button","DropdownMenuTrigger","PrimitiveButton","ChevronDown","hyphenize","createContext","useState","useCallback","DropdownMenu","DropdownMenuContent","DropdownMenuSeparator","DropdownMenuLabel","DropdownMenuGroup","useContext","useMemo","Fragment","PrimitiveDropdownMenuItem","DropdownMenuSub","DropdownMenuSubTrigger","renderIcon","DropdownMenuSubContent"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Select = require('../Select-BjWAZwbk.js');
3
+ var Select = require('../Select-C5YNUW3E.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../fieldIds-DiVU6GVS.js');
@@ -44,7 +44,7 @@ require('react-i18next');
44
44
  require('../loader-circle-Bw7zP2Gn.js');
45
45
  require('../label-BdcX4_ud.js');
46
46
  require('../separator-DSL-aG1J.js');
47
- require('../Combobox-ChwUxTXb.js');
47
+ require('../Combobox-CW2aVZlW.js');
48
48
  require('../useAriaHiddenCleanup-CT0To2AH.js');
49
49
  require('../input-group-BQqwtQF2.js');
50
50
  require('../input-BVxqXG2C.js');
@@ -21,7 +21,7 @@ var Pagination = require('../Pagination-WyQlBpvK.js');
21
21
  var Popover = require('../Popover-5BUgIW60.js');
22
22
  var Progress = require('../Progress-n_VwK9_E.js');
23
23
  var RadioGroup = require('../RadioGroup-B-u8rdbf.js');
24
- var Select = require('../Select-BjWAZwbk.js');
24
+ var Select = require('../Select-C5YNUW3E.js');
25
25
  var Sheet = require('../Sheet-D-NWMprq.js');
26
26
  var Slider = require('../Slider-DIUSlx_m.js');
27
27
  var Spinner = require('../Spinner-DRoghJA8.js');
@@ -128,7 +128,7 @@ require('../primitives/HoverCard.js');
128
128
  require('../primitives/Progress.js');
129
129
  require('../primitives/RadioGroup.js');
130
130
  require('../SelectFieldWrapper-CIh_atln.js');
131
- require('../Combobox-ChwUxTXb.js');
131
+ require('../Combobox-CW2aVZlW.js');
132
132
  require('../primitives/Sheet.js');
133
133
  require('../sheet-CQ82jJkC.js');
134
134
  require('../primitives/Slider.js');
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
5
  var formik = require('formik');
6
6
  var ramda = require('ramda');
7
- var Select = require('../Select-BjWAZwbk.js');
7
+ var Select = require('../Select-C5YNUW3E.js');
8
8
  require('../fieldIds-DiVU6GVS.js');
9
9
  require('../hyphenize-BTrVNVv3.js');
10
10
  require('../SelectFieldWrapper-CIh_atln.js');
@@ -46,7 +46,7 @@ require('react-i18next');
46
46
  require('../loader-circle-Bw7zP2Gn.js');
47
47
  require('../label-BdcX4_ud.js');
48
48
  require('../separator-DSL-aG1J.js');
49
- require('../Combobox-ChwUxTXb.js');
49
+ require('../Combobox-CW2aVZlW.js');
50
50
  require('../useAriaHiddenCleanup-CT0To2AH.js');
51
51
  require('../input-group-BQqwtQF2.js');
52
52
  require('../input-BVxqXG2C.js');
@@ -65,9 +65,9 @@ require('../hyphenize-BTrVNVv3.js');
65
65
  require('../withIconSize-C6LP0R7o.js');
66
66
  require('../Textarea-bxleSw86.js');
67
67
  require('../primitives/Textarea.js');
68
- require('../Select-BjWAZwbk.js');
68
+ require('../Select-C5YNUW3E.js');
69
69
  require('../SelectFieldWrapper-CIh_atln.js');
70
- require('../Combobox-ChwUxTXb.js');
70
+ require('../Combobox-CW2aVZlW.js');
71
71
  require('../useAriaHiddenCleanup-CT0To2AH.js');
72
72
  require('../chevron-down-CPsWSS51.js');
73
73
  require('../x-Brw3FJst.js');
package/dist/cjs/index.js CHANGED
@@ -26,7 +26,7 @@ var Pagination = require('./Pagination-WyQlBpvK.js');
26
26
  var Popover = require('./Popover-5BUgIW60.js');
27
27
  var Progress = require('./Progress-n_VwK9_E.js');
28
28
  var RadioGroup = require('./RadioGroup-B-u8rdbf.js');
29
- var Select = require('./Select-BjWAZwbk.js');
29
+ var Select = require('./Select-C5YNUW3E.js');
30
30
  var Sheet = require('./Sheet-D-NWMprq.js');
31
31
  var Slider = require('./Slider-DIUSlx_m.js');
32
32
  var Spinner = require('./Spinner-DRoghJA8.js');
@@ -132,7 +132,7 @@ require('./primitives/HoverCard.js');
132
132
  require('./primitives/Progress.js');
133
133
  require('./primitives/RadioGroup.js');
134
134
  require('./SelectFieldWrapper-CIh_atln.js');
135
- require('./Combobox-ChwUxTXb.js');
135
+ require('./Combobox-CW2aVZlW.js');
136
136
  require('./primitives/Sheet.js');
137
137
  require('./sheet-CQ82jJkC.js');
138
138
  require('./primitives/Slider.js');
@@ -3,7 +3,7 @@
3
3
  require('react/jsx-runtime');
4
4
  require('react');
5
5
  require('../utils-BhM0B89p.js');
6
- var primitives_Combobox = require('../Combobox-ChwUxTXb.js');
6
+ var primitives_Combobox = require('../Combobox-CW2aVZlW.js');
7
7
  require('../button-CDZTqJzs.js');
8
8
  require('../index-vioSzJOw.js');
9
9
  require('../index-DuNgWCXZ.js');
@@ -542,7 +542,10 @@ function ContextMenuShortcut$1({
542
542
 
543
543
  const ContextMenu = (props) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenu$1, { ...props });
544
544
  const ContextMenuTrigger = (props) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger$1, { ...props });
545
- const ContextMenuContent = (props) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuContent$1, { ...props });
545
+ const ContextMenuContent = ({
546
+ className,
547
+ ...props
548
+ }) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuContent$1, { className: utils.cn("shadow-lg", className), ...props });
546
549
  const ContextMenuItem = (props) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuItem$1, { ...props });
547
550
  const ContextMenuCheckboxItem = (props) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuCheckboxItem$1, { ...props });
548
551
  const ContextMenuRadioItem = (props) => /* @__PURE__ */ jsxRuntime.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":["createContextScope","createMenuScope","ContextMenu","React","useCallbackRef","jsx","MenuPrimitive.Root","ContextMenuTrigger","jsxs","Fragment","MenuPrimitive.Anchor","Primitive","composeEventHandlers","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","useControllableState","MenuPrimitive.Sub","ContextMenuSubTrigger","MenuPrimitive.SubTrigger","ContextMenuSubContent","MenuPrimitive.SubContent","ContextMenuPrimitive.Root","ContextMenuPrimitive.Trigger","cn","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
+ {"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":["createContextScope","createMenuScope","ContextMenu","React","useCallbackRef","jsx","MenuPrimitive.Root","ContextMenuTrigger","jsxs","Fragment","MenuPrimitive.Anchor","Primitive","composeEventHandlers","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","useControllableState","MenuPrimitive.Sub","ContextMenuSubTrigger","MenuPrimitive.SubTrigger","ContextMenuSubContent","MenuPrimitive.SubContent","ContextMenuPrimitive.Root","ContextMenuPrimitive.Trigger","cn","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]}
@@ -341,6 +341,7 @@ function DropdownMenuContent$1({
341
341
  Content2,
342
342
  {
343
343
  "data-slot": "dropdown-menu-content",
344
+ "data-testid": "nui-dropdown-container",
344
345
  sideOffset,
345
346
  align,
346
347
  className: utils.cn("z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-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-[state=closed]:overflow-hidden 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),
@@ -542,40 +543,99 @@ function DropdownMenuSubContent$1({
542
543
  );
543
544
  }
544
545
 
546
+ const ITEM_SIZE_CLASSES = {
547
+ default: "gap-2 px-3 py-2",
548
+ compact: ""
549
+ };
550
+ const INDICATOR_ITEM_SIZE_CLASSES = {
551
+ default: "gap-2 ps-3 py-2",
552
+ compact: ""
553
+ };
554
+ const LABEL_SIZE_CLASSES = {
555
+ default: "px-3",
556
+ compact: ""
557
+ };
545
558
  const DropdownMenu = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu$1, { ...props });
546
559
  const DropdownMenuPortal = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPortal$1, { ...props });
547
560
  const DropdownMenuTrigger = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger$1, { ...props });
548
- const DropdownMenuContent = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuContent$1, { ...props });
561
+ const DropdownMenuContent = ({
562
+ className,
563
+ ...props
564
+ }) => (
565
+ // shadcn's base locks the menu to the trigger's width
566
+ // (`w-(--radix-dropdown-menu-trigger-width)`), which collapses a menu
567
+ // opened from a small icon trigger to the `min-w-32` floor and truncates
568
+ // longer labels. A dropdown menu should size to its content — `w-auto`
569
+ // (twMerge wins over the base `w-*`) restores that, with a comfortable floor.
570
+ // `max-w-(--radix-…-available-width)` bounds it to the viewport so a very
571
+ // long label clips (base `overflow-x-hidden` + item `truncate`) instead of
572
+ // pushing the menu off-screen.
573
+ /* @__PURE__ */ jsxRuntime.jsx(
574
+ DropdownMenuContent$1,
575
+ {
576
+ className: utils.cn(
577
+ "w-auto max-w-(--radix-dropdown-menu-content-available-width) min-w-40 shadow-lg",
578
+ className
579
+ ),
580
+ ...props
581
+ }
582
+ )
583
+ );
549
584
  const DropdownMenuGroup = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuGroup$1, { ...props });
550
- const DropdownMenuLabel = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuLabel$1, { ...props });
585
+ const DropdownMenuLabel = ({
586
+ className,
587
+ size = "default",
588
+ ...props
589
+ }) => (
590
+ // Horizontal padding tracks the item `size` so section labels stay aligned
591
+ // with the items they categorize (default `px-3`, compact shadcn `px-1.5`).
592
+ /* @__PURE__ */ jsxRuntime.jsx(
593
+ DropdownMenuLabel$1,
594
+ {
595
+ className: utils.cn(LABEL_SIZE_CLASSES[size], className),
596
+ ...props
597
+ }
598
+ )
599
+ );
551
600
  const DropdownMenuItem = ({
552
601
  className,
602
+ size = "default",
553
603
  ...props
554
604
  }) => /* @__PURE__ */ jsxRuntime.jsx(
555
605
  DropdownMenuItem$1,
556
606
  {
557
- className: utils.cn("cursor-pointer", className),
607
+ className: utils.cn("cursor-pointer", ITEM_SIZE_CLASSES[size], className),
558
608
  ...props
559
609
  }
560
610
  );
561
611
  const DropdownMenuCheckboxItem = ({
562
612
  className,
613
+ size = "default",
563
614
  ...props
564
615
  }) => /* @__PURE__ */ jsxRuntime.jsx(
565
616
  DropdownMenuCheckboxItem$1,
566
617
  {
567
- className: utils.cn("cursor-pointer", className),
618
+ className: utils.cn(
619
+ "cursor-pointer",
620
+ INDICATOR_ITEM_SIZE_CLASSES[size],
621
+ className
622
+ ),
568
623
  ...props
569
624
  }
570
625
  );
571
626
  const DropdownMenuRadioGroup = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuRadioGroup$1, { ...props });
572
627
  const DropdownMenuRadioItem = ({
573
628
  className,
629
+ size = "default",
574
630
  ...props
575
631
  }) => /* @__PURE__ */ jsxRuntime.jsx(
576
632
  DropdownMenuRadioItem$1,
577
633
  {
578
- className: utils.cn("cursor-pointer", className),
634
+ className: utils.cn(
635
+ "cursor-pointer",
636
+ INDICATOR_ITEM_SIZE_CLASSES[size],
637
+ className
638
+ ),
579
639
  ...props
580
640
  }
581
641
  );
@@ -584,11 +644,12 @@ const DropdownMenuShortcut = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownM
584
644
  const DropdownMenuSub = (props) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSub$1, { ...props });
585
645
  const DropdownMenuSubTrigger = ({
586
646
  className,
647
+ size = "default",
587
648
  ...props
588
649
  }) => /* @__PURE__ */ jsxRuntime.jsx(
589
650
  DropdownMenuSubTrigger$1,
590
651
  {
591
- className: utils.cn("cursor-pointer", className),
652
+ className: utils.cn("cursor-pointer", ITEM_SIZE_CLASSES[size], className),
592
653
  ...props
593
654
  }
594
655
  );