{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "baseui-menu",
"description": "A Base UI menu component",
"dependencies": ["@base-ui/react"],
"registryDependencies": ["@craftdotui/utils", "@craftdotui/baseui-arrow"],
"files": [
{
"path": "packages/baseui/components/menu/index.tsx",
"content": "\"use client\";\n\nimport type * as React from \"react\";\nimport { Check, ChevronRight, Dot } from \"lucide-react\";\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\n\nimport { cn } from \"@/lib/utils\";\nimport { ARROW_STYLES, BaseArrow } from \"@/components/baseui/components/arrow\";\n\n/* -------------------------------------------------------------------------- */\n/* Menu Root */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuRoot(props: MenuPrimitive.Root.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Trigger */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuTrigger({ className, ...props }: MenuPrimitive.Trigger.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Portal */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuPortal(props: MenuPrimitive.Portal.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Backdrop */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuBackdrop({ className, ...props }: MenuPrimitive.Backdrop.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Positioner */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuPositioner({\n\tclassName,\n\tsideOffset = 10,\n\t...props\n}: MenuPrimitive.Positioner.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Popup */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuPopup({ className, ...props }: MenuPrimitive.Popup.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Arrow */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuArrow({ className, ...props }: MenuPrimitive.Arrow.Props) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Item */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuItem({\n\tclassName,\n\tinset,\n\t...props\n}: MenuPrimitive.Item.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Checkbox Item */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuCheckboxItem({\n\tclassName,\n\tchildren,\n\tinset,\n\t...props\n}: MenuPrimitive.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\nfunction MenuCheckboxItemIndicator(\n\tprops: MenuPrimitive.CheckboxItemIndicator.Props,\n) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Radio Item */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuRadioItem({\n\tclassName,\n\tchildren,\n\tinset,\n\t...props\n}: MenuPrimitive.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\nfunction MenuRadioItemIndicator(props: MenuPrimitive.RadioItemIndicator.Props) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Radio Group */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuRadioGroup(props: MenuPrimitive.RadioGroup.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Submenu */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuSubmenuRoot(props: MenuPrimitive.SubmenuRoot.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Submenu Trigger */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuSubmenuTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.SubmenuTrigger.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Group */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuGroup(props: MenuPrimitive.Group.Props) {\n\treturn ;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Group Label */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuGroupLabel({\n\tclassName,\n\tinset,\n\t...props\n}: MenuPrimitive.GroupLabel.Props & { inset?: boolean }) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Separator */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Menu Shortcut */\n/* -------------------------------------------------------------------------- */\n\nfunction MenuShortcut({\n\tclassName,\n\t...props\n}: React.HTMLAttributes) {\n\treturn (\n\t\t\n\t);\n}\n\n/* -------------------------------------------------------------------------- */\n/* Exports */\n/* -------------------------------------------------------------------------- */\n\nexport {\n\tMenuRoot,\n\tMenuTrigger,\n\tMenuPortal,\n\tMenuBackdrop,\n\tMenuPositioner,\n\tMenuPopup,\n\tMenuArrow,\n\tMenuItem,\n\tMenuSeparator,\n\tMenuGroup,\n\tMenuGroupLabel,\n\tMenuRadioGroup,\n\tMenuRadioItem,\n\tMenuRadioItemIndicator,\n\tMenuCheckboxItem,\n\tMenuCheckboxItemIndicator,\n\tMenuSubmenuRoot,\n\tMenuSubmenuTrigger,\n\tMenuShortcut,\n\tMenuPrimitive,\n};\n",
"type": "registry:component",
"target": "components/baseui/components/menu.tsx"
}
],
"type": "registry:component"
}