{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "sf-dropdown-menu",
"title": "SF Dropdown Menu",
"description": "Brutalist dropdown with inverted focus state, mono text",
"registryDependencies": [
"dropdown-menu"
],
"files": [
{
"path": "components/sf/sf-dropdown-menu.tsx",
"content": "\"use client\";\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Context menu — FRAME layer dropdown navigation primitive.\n *\n * Radix DropdownMenu root wrapped with SF contract. Compose with\n * SFDropdownMenuTrigger, SFDropdownMenuContent, SFDropdownMenuGroup,\n * SFDropdownMenuItem, SFDropdownMenuLabel, SFDropdownMenuSeparator,\n * and SFDropdownMenuShortcut for full context menu behavior.\n *\n * @example\n * \n * Options\n * \n * Edit\n * \n * Delete\n * \n * \n */\nfunction SFDropdownMenu(props: React.ComponentProps) {\n return ;\n}\n\n/** Sub-component of SFDropdownMenu — trigger element that opens the dropdown on click. */\nfunction SFDropdownMenuTrigger(\n props: React.ComponentProps\n) {\n return ;\n}\n\n/** Sub-component of SFDropdownMenu — floating content panel with sharp corners, 2px border, and no shadow. */\nfunction SFDropdownMenuContent({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n );\n}\n\n/** Sub-component of SFDropdownMenu — groups related items with a mono uppercase label heading. */\nfunction SFDropdownMenuGroup({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n );\n}\n\n/** Sub-component of SFDropdownMenu — selectable menu item; inverts colors on focus/hover. */\nfunction SFDropdownMenuItem({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n );\n}\n\n/** Sub-component of SFDropdownMenu — non-interactive section label in muted foreground at xs size. */\nfunction SFDropdownMenuLabel({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n );\n}\n\n/** Sub-component of SFDropdownMenu — keyboard shortcut hint in mono uppercase, right-aligned in item. */\nfunction SFDropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n );\n}\n\n/** Sub-component of SFDropdownMenu — full-width foreground rule separating menu sections. */\nfunction SFDropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n );\n}\n\nexport {\n SFDropdownMenu,\n SFDropdownMenuTrigger,\n SFDropdownMenuContent,\n SFDropdownMenuGroup,\n SFDropdownMenuItem,\n SFDropdownMenuLabel,\n SFDropdownMenuSeparator,\n SFDropdownMenuShortcut,\n};\n",
"type": "registry:ui"
}
],
"meta": {
"layer": "frame",
"pattern": "A"
},
"type": "registry:ui"
}