{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "navbar-01", "type": "registry:block", "registryDependencies": [ "utils", "navigation-menu", "button", "popover" ], "files": [ { "path": "registry/default/blocks/navbar/navbar-01.tsx", "content": "import { buttonVariants } from '@/registry/default/ui/button'\r\nimport {\r\n NavigationMenu,\r\n NavigationMenuItem,\r\n NavigationMenuLink,\r\n NavigationMenuList,\r\n} from '@/registry/default/ui/navigation-menu'\r\nimport { cn } from '@/lib/utils'\r\nimport { MobileNav } from './mobile-nav'\r\n// import Link from 'next/link'\r\n\r\n// Sample navigation links, you can replace these with your actual links\r\n// you can add more categories it will be rendered in mobile nav, but only the first one will be rendered in desktop nav\r\nconst navigationLinks = [\r\n {\r\n name: 'Menu',\r\n items: [\r\n { href: '#', label: 'Products', active: true },\r\n { href: '#', label: 'Pricing' },\r\n { href: '#', label: 'Docs' },\r\n { href: '#', label: 'About' },\r\n ],\r\n },\r\n]\r\n\r\nexport default function Navbar() {\r\n const Link = 'a' // if using Next.js remove this line. you can use the Link component from 'next/link'\r\n\r\n return (\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {navigationLinks[0].items.map((link, index) => (\r\n \r\n \r\n {link.label}\r\n \r\n \r\n ))}\r\n \r\n \r\n\r\n
\r\n \r\n Sign-in\r\n \r\n \r\n Get Started\r\n \r\n
\r\n
\r\n )\r\n}\r\n", "type": "registry:component", "target": "components/navbar.tsx" }, { "path": "registry/default/blocks/navbar/mobile-nav.tsx", "content": "'use client'\r\n\r\nimport React from 'react'\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from '@/registry/default/ui/popover'\r\nimport { Button } from '@/registry/default/ui/button'\r\nimport { cn } from '@/lib/utils'\r\n// import Link from 'next/link'\r\n\r\ntype MobileNavProps = {\r\n nav: {\r\n name: string\r\n items: {\r\n label: string\r\n href: string\r\n }[]\r\n }[]\r\n}\r\n\r\nexport function MobileNav({ nav }: MobileNavProps) {\r\n const Link = 'a' // if using Next.js remove this line. you can use the Link component from 'next/link'\r\n\r\n const [open, setOpen] = React.useState(false)\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Toggle Menu\r\n
\r\n \r\n
\r\n \r\n
\r\n {nav.map((category, index) => (\r\n
\r\n

\r\n {category.name}\r\n

\r\n
\r\n {category.items.map((item, index) => (\r\n setOpen(false)}\r\n >\r\n {item.label}\r\n \r\n ))}\r\n
\r\n
\r\n ))}\r\n
\r\n \r\n
\r\n )\r\n}\r\n", "type": "registry:component", "target": "components/mobile-nav.tsx" } ] }