{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "menu", "title": "Menu", "description": "A neumorphic dropdown menu component with various item types.", "dependencies": ["@base-ui/react", "@phosphor-icons/react"], "registryDependencies": ["utils"], "files": [ { "path": "src/components/ui/menu.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { Check } from \"@phosphor-icons/react/dist/ssr\";\nimport { cn } from \"@/lib/utils\";\n\nconst Menu = BaseMenu.Root;\nconst MenuTrigger = BaseMenu.Trigger;\nconst MenuPortal = BaseMenu.Portal;\nconst MenuGroup = BaseMenu.Group;\nconst MenuRadioGroup = BaseMenu.RadioGroup;\n\nconst MenuPositioner = React.forwardRef<\n React.ComponentRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nMenuPositioner.displayName = \"MenuPositioner\";\n\nconst MenuPopup = React.forwardRef<\n React.ComponentRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nMenuPopup.displayName = \"MenuPopup\";\n\nconst MenuItem = React.forwardRef<\n React.ComponentRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nMenuItem.displayName = \"MenuItem\";\n\nconst MenuCheckboxItem = React.forwardRef<\n React.ComponentRef,\n React.ComponentPropsWithoutRef\n>(({ className, children, checked, ...props }, ref) => (\n \n \n \n \n \n \n {children}\n \n));\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nconst MenuRadioItem = React.forwardRef<\n React.ComponentRef,\n React.ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => (\n \n \n \n \n \n \n {children}\n \n));\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nconst MenuGroupLabel = React.forwardRef<\n React.ComponentRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nMenuGroupLabel.displayName = \"MenuGroupLabel\";\n\nconst MenuSeparator = React.forwardRef<\n React.ComponentRef,\n React.ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n));\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport {\n Menu,\n MenuTrigger,\n MenuPortal,\n MenuPositioner,\n MenuPopup,\n MenuItem,\n MenuCheckboxItem,\n MenuRadioGroup,\n MenuRadioItem,\n MenuGroup,\n MenuGroupLabel,\n MenuSeparator,\n};\n", "type": "registry:ui" } ], "type": "registry:ui" }