@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.
- package/dist/{Combobox-CCstgdEa.js → Combobox-h2Kez17p.js} +5 -2
- package/dist/{Combobox-CCstgdEa.js.map → Combobox-h2Kez17p.js.map} +1 -1
- package/dist/{Select-CLSJgvl6.js → Select-DpP0-jfR.js} +2 -2
- package/dist/{Select-CLSJgvl6.js.map → Select-DpP0-jfR.js.map} +1 -1
- package/dist/cjs/{Combobox-ChwUxTXb.js → Combobox-CW2aVZlW.js} +5 -2
- package/dist/cjs/{Combobox-ChwUxTXb.js.map → Combobox-CW2aVZlW.js.map} +1 -1
- package/dist/cjs/{Select-BjWAZwbk.js → Select-C5YNUW3E.js} +2 -2
- package/dist/cjs/{Select-BjWAZwbk.js.map → Select-C5YNUW3E.js.map} +1 -1
- package/dist/cjs/components/DropdownMenu.js.map +1 -1
- package/dist/cjs/components/Select.js +2 -2
- package/dist/cjs/components/index.js +2 -2
- package/dist/cjs/formik/Select.js +2 -2
- package/dist/cjs/formik/index.js +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/primitives/Combobox.js +1 -1
- package/dist/cjs/primitives/ContextMenu.js +4 -1
- package/dist/cjs/primitives/ContextMenu.js.map +1 -1
- package/dist/cjs/primitives/DropdownMenu.js +67 -6
- package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
- package/dist/cjs/primitives/Menubar.js +4 -1
- package/dist/cjs/primitives/Menubar.js.map +1 -1
- package/dist/cjs/primitives/Select.js +4 -1
- package/dist/cjs/primitives/Select.js.map +1 -1
- package/dist/cjs/primitives/index.js +1 -1
- package/dist/components/DropdownMenu/Label.d.ts +6 -0
- package/dist/components/DropdownMenu/types.d.ts +7 -1
- package/dist/components/DropdownMenu.js.map +1 -1
- package/dist/components/Select.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/formik/Select.js +2 -2
- package/dist/formik/index.js +2 -2
- package/dist/index.js +2 -2
- package/dist/primitives/Combobox.d.ts +1 -1
- package/dist/primitives/Combobox.js +1 -1
- package/dist/primitives/ContextMenu.d.ts +1 -1
- package/dist/primitives/ContextMenu.js +4 -1
- package/dist/primitives/ContextMenu.js.map +1 -1
- package/dist/primitives/DropdownMenu.d.ts +24 -6
- package/dist/primitives/DropdownMenu.js +67 -6
- package/dist/primitives/DropdownMenu.js.map +1 -1
- package/dist/primitives/Menubar.d.ts +1 -1
- package/dist/primitives/Menubar.js +4 -1
- package/dist/primitives/Menubar.js.map +1 -1
- package/dist/primitives/Select.d.ts +1 -1
- package/dist/primitives/Select.js +4 -1
- package/dist/primitives/Select.js.map +1 -1
- package/dist/primitives/index.js +1 -1
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
49
|
+
require('../Combobox-CW2aVZlW.js');
|
|
50
50
|
require('../useAriaHiddenCleanup-CT0To2AH.js');
|
|
51
51
|
require('../input-group-BQqwtQF2.js');
|
|
52
52
|
require('../input-BVxqXG2C.js');
|
package/dist/cjs/formik/index.js
CHANGED
|
@@ -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-
|
|
68
|
+
require('../Select-C5YNUW3E.js');
|
|
69
69
|
require('../SelectFieldWrapper-CIh_atln.js');
|
|
70
|
-
require('../Combobox-
|
|
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-
|
|
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-
|
|
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-
|
|
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 = (
|
|
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 = (
|
|
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 = (
|
|
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(
|
|
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(
|
|
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
|
);
|