{"version":3,"file":"context-menu-trigger.cjs","sources":["../../../components/context-menu/context-menu-trigger.tsx"],"sourcesContent":["'use client';\n\nimport {\n  Autocomplete as AutocompletePrimitive,\n  ContextMenu as ContextMenuPrimitive\n} from '@base-ui/react';\nimport { ChevronRightIcon } from '~/icons';\nimport { Cell, CellBaseProps } from '../menu/cell';\nimport { useMenuContext } from '../menu/menu-root';\nimport { getMatch } from '../menu/utils';\n\nexport interface ContextMenuTriggerProps\n  extends ContextMenuPrimitive.Trigger.Props {}\n\nexport const ContextMenuTrigger = ({\n  children,\n  ...props\n}: ContextMenuTriggerProps) => {\n  return (\n    <ContextMenuPrimitive.Trigger data-slot='context-menu-trigger' {...props}>\n      {children}\n    </ContextMenuPrimitive.Trigger>\n  );\n};\nContextMenuTrigger.displayName = 'ContextMenu.Trigger';\n\nexport interface ContextMenuSubTriggerProps\n  extends ContextMenuPrimitive.SubmenuTrigger.Props,\n    CellBaseProps {\n  value?: string;\n}\n\nexport const ContextMenuSubTrigger = ({\n  children,\n  value,\n  trailingIcon = <ChevronRightIcon />,\n  leadingIcon,\n  ...props\n}: ContextMenuSubTriggerProps) => {\n  const { parent, inputRef } = useMenuContext();\n\n  if (parent?.shouldFilter && !getMatch(value, children, parent?.inputValue)) {\n    return null;\n  }\n\n  const cell = <Cell leadingIcon={leadingIcon} trailingIcon={trailingIcon} />;\n  return (\n    <ContextMenuPrimitive.SubmenuTrigger\n      render={\n        parent?.autocomplete ? (\n          <AutocompletePrimitive.Item\n            value={value}\n            render={cell}\n            onPointerEnter={e => {\n              if (document?.activeElement !== parent?.inputRef?.current)\n                parent?.inputRef?.current?.focus();\n              props?.onPointerEnter?.(e);\n            }}\n            onKeyDown={e => {\n              requestAnimationFrame(() => {\n                inputRef?.current?.focus();\n              });\n              props?.onKeyDown?.(e);\n            }}\n          />\n        ) : (\n          cell\n        )\n      }\n      {...props}\n      role={parent?.autocomplete ? 'option' : 'menuitem'}\n      data-slot='menu-subtrigger'\n    >\n      {children}\n    </ContextMenuPrimitive.SubmenuTrigger>\n  );\n};\nContextMenuSubTrigger.displayName = 'ContextMenu.SubTrigger';\n"],"names":[],"mappings":";;;;;;;;;;;AAcO;AAIL;AAKF;AACA;;;AAiBE;AACE;;AAGF;AACA;;AASc;AACF;AACF;;AAGI;AACF;AACA;AACF;AAaZ;AACA;;;"}