{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dropdown-menu", "title": "Dropdown Menu", "description": "Terminal-style dropdown menu: selection inversion, ✓/● indicators, ▸ submenu glyph, no hover/radius/shadow. Includes checkbox, radio, sub-menu, shortcut, separator.", "dependencies": [ "@radix-ui/react-dropdown-menu" ], "registryDependencies": [ "utils", "theme-catppuccin-mocha", "font-jetbrains-mono" ], "files": [ { "path": "registry/ui/dropdown-menu.tsx", "content": "import * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { cn } from \"@/lib/utils\";\n\nfunction DropdownMenu({\n\t...props\n}: React.ComponentProps) {\n\treturn ;\n}\n\nfunction DropdownMenuTrigger({\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuPortal({\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuContent({\n\tclassName,\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction DropdownMenuItem({\n\tclassName,\n\tinset,\n\t...props\n}: React.ComponentProps & {\n\tinset?: boolean;\n}) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuCheckboxItem({\n\tclassName,\n\tchildren,\n\tchecked,\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\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 DropdownMenuRadioGroup({\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuRadioItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\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 DropdownMenuLabel({\n\tclassName,\n\tinset,\n\t...props\n}: React.ComponentProps & {\n\tinset?: boolean;\n}) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuShortcut({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuGroup({\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuSub({\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t);\n}\n\nfunction DropdownMenuSubTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: React.ComponentProps & {\n\tinset?: boolean;\n}) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n}\n\nfunction DropdownMenuSubContent({\n\tclassName,\n\t...props\n}: React.ComponentProps) {\n\treturn (\n\t\t\n\t);\n}\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuTrigger,\n\tDropdownMenuPortal,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuLabel,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuGroup,\n\tDropdownMenuSub,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuSubContent,\n};\n", "type": "registry:ui" } ], "css": { "@keyframes termcn-fade": { "from": { "opacity": "0" }, "to": { "opacity": "1" } }, "@keyframes termcn-fade-out": { "from": { "opacity": "1" }, "to": { "opacity": "0" } } }, "type": "registry:ui" }