{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "baseui-context-menu",
"description": "A Base UI context menu component",
"dependencies": ["@base-ui/react"],
"registryDependencies": ["@craftdotui/utils", "@craftdotui/baseui-arrow"],
"files": [
{
"path": "packages/baseui/components/context-menu/index.tsx",
"content": "\"use client\";\n\nimport type * as React from \"react\";\nimport { Check, ChevronRight, Dot } from \"lucide-react\";\nimport { ContextMenu as ContextMenuPrimitive } from \"@base-ui/react/context-menu\";\n\nimport { cn } from \"@/lib/utils\";\nimport { ARROW_STYLES, BaseArrow } from \"@/components/baseui/components/arrow\";\n\n/* -------------------------------------------------------------------------- */\n/* Root */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenu(props: ContextMenuPrimitive.Root.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Trigger */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuTrigger({\n\tclassName,\n\t...props\n}: ContextMenuPrimitive.Trigger.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Portal */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuPortal(props: ContextMenuPrimitive.Portal.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Positioner */\n/* -------------------------------------------------------------------------- */\n\ninterface ContextMenuPositionerProps\n\textends ContextMenuPrimitive.Positioner.Props {\n\tsideOffset?: number;\n}\n\nfunction ContextMenuPositioner({\n\tclassName,\n\tsideOffset = 4,\n\t...props\n}: ContextMenuPositionerProps) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Popup */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuPopup({\n\tclassName,\n\t...props\n}: ContextMenuPrimitive.Popup.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Arrow */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuArrow({\n\tclassName,\n\t...props\n}: ContextMenuPrimitive.Arrow.Props) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Item */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuItem({\n\tclassName,\n\tinset,\n\t...props\n}: ContextMenuPrimitive.Item.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Submenu Root */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuSubmenu(props: ContextMenuPrimitive.SubmenuRoot.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Submenu Trigger */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuSubmenuTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: ContextMenuPrimitive.SubmenuTrigger.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Group */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuGroup({\n\tclassName,\n\t...props\n}: ContextMenuPrimitive.Group.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Group Label */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuGroupLabel({\n\tclassName,\n\tinset,\n\t...props\n}: ContextMenuPrimitive.GroupLabel.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Radio Group */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuRadioGroup(props: ContextMenuPrimitive.RadioGroup.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Radio Item */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuRadioItem({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: ContextMenuPrimitive.RadioItem.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Radio Item Indicator */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuRadioItemIndicator(\n\tprops: ContextMenuPrimitive.RadioItemIndicator.Props,\n) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Checkbox Item */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuCheckboxItem({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: ContextMenuPrimitive.CheckboxItem.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Checkbox Item Indicator */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuCheckboxItemIndicator(\n\tprops: ContextMenuPrimitive.CheckboxItemIndicator.Props,\n) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Separator */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuSeparator({\n\tclassName,\n\t...props\n}: ContextMenuPrimitive.Separator.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Shortcut */\n/* -------------------------------------------------------------------------- */\n\nfunction ContextMenuShortcut({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Exports */\n/* -------------------------------------------------------------------------- */\n\nexport {\n\tContextMenu,\n\tContextMenuTrigger,\n\tContextMenuPortal,\n\tContextMenuPositioner,\n\tContextMenuPopup,\n\tContextMenuItem,\n\tContextMenuShortcut,\n\tContextMenuArrow,\n\tContextMenuSeparator,\n\t// submenu\n\tContextMenuSubmenu,\n\tContextMenuSubmenuTrigger,\n\t// group\n\tContextMenuGroup,\n\tContextMenuGroupLabel,\n\t// radio\n\tContextMenuRadioGroup,\n\tContextMenuRadioItem,\n\tContextMenuRadioItemIndicator,\n\t// checkbox\n\tContextMenuCheckboxItem,\n\tContextMenuCheckboxItemIndicator,\n};\n",
"type": "registry:component",
"target": "components/baseui/components/context-menu.tsx"
}
],
"type": "registry:component"
}