{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "header-3",
"type": "registry:block",
"description": "Feature-rich responsive header with scroll blur, animated mobile drawer, and nested navigation menus.",
"registryDependencies": [
"button",
"navigation-menu"
],
"files": [
{
"path": "registry/blocks/header/3/header.tsx",
"content": "\"use client\";\nimport {\n BarChart,\n CodeIcon,\n FileText,\n GlobeIcon,\n Handshake,\n HelpCircle,\n LayersIcon,\n Leaf,\n type LucideIcon,\n PlugIcon,\n RotateCcw,\n Shield,\n Star,\n UserPlusIcon,\n Users,\n} from \"lucide-react\";\nimport React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Logo } from \"@/components/logo\";\nimport { MenuToggleIcon } from \"@/components/menu-toggle-icon\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n} from \"@/components/ui/navigation-menu\";\nimport { useScroll } from \"@/hooks/use-scroll\";\nimport { cn } from \"@/lib/utils\";\n\ntype LinkItem = {\n title: string;\n href: string;\n icon: LucideIcon;\n description?: string;\n};\n\nexport function Header() {\n const [open, setOpen] = React.useState(false);\n const scrolled = useScroll(10);\n\n React.useEffect(() => {\n if (open) {\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = \"\";\n }\n return () => {\n document.body.style.overflow = \"\";\n };\n }, [open]);\n\n return (\n