Navigation menu
neobrutalism-components/navigation-menuFreeComponent
Neobrutalism Components publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by Neobrutalism Components on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.neobrutalism.dev/r/navigation-menu.jsonSource
1"use client"23import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"4import { cva } from "class-variance-authority"5import { ChevronDown } from "lucide-react"67import * as React from "react"89import { cn } from "@/lib/utils"1011function NavigationMenu({12 className,13 children,14 viewport = true,15 ...props16}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {17 viewport?: boolean18}) {19 return (20 <NavigationMenuPrimitive.Root21 data-slot="navigation-menu"22 data-viewport={viewport}23 className={cn(24 "relative z-10 flex max-w-max rounded-base font-heading border-border border-2 p-1 bg-main flex-1 items-center justify-center",25 className,26 )}27 {...props}28 >29 {children}30 {viewport && <NavigationMenuViewport />}31 </NavigationMenuPrimitive.Root>32 )33}3435function NavigationMenuList({36 className,37 ...props38}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {39 return (40 <NavigationMenuPrimitive.List41 data-slot="navigation-menu-list"42 className={cn(43 "group flex flex-1 list-none items-center font-heading justify-center space-x-1",44 className,45 )}46 {...props}47 />48 )49}5051function NavigationMenuItem({52 className,53 ...props54}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {55 return (56 <NavigationMenuPrimitive.Item57 data-slot="navigation-menu-item"58 className={cn("relative", className)}59 {...props}60 />61 )62}6364const navigationMenuTriggerStyle = cva(65 "group inline-flex h-10 w-max items-center justify-center text-main-foreground rounded-base bg-main px-4 py-2 text-sm font-heading transition-colors focus:outline-none disabled:pointer-events-none disabled:opacity-50",66)6768function NavigationMenuTrigger({69 className,70 children,71 ...props72}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {73 return (74 <NavigationMenuPrimitive.Trigger75 data-slot="navigation-menu-trigger"76 className={cn(navigationMenuTriggerStyle(), "group", className)}77 {...props}78 >79 {children}{" "}80 <ChevronDown81 className="relative top-[1px] ml-2 size-4 font-heading transition duration-200 group-data-[state=open]:rotate-180"82 aria-hidden="true"83 />84 </NavigationMenuPrimitive.Trigger>85 )86}8788function NavigationMenuContent({89 className,90 ...props91// … truncated
What it pulls in
npm packages
Files it writes
More from Neobrutalism Components
All 92 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | Neobrutalism Components | Components | Free | 1 dep | |
| Alertalert | Neobrutalism Components | Components | Free | no deps | |
| Alert dialogalert-dialog | Neobrutalism Components | Components | Free | 1 dep | |
| Avataravatar | Neobrutalism Components | Components | Free | 1 dep | |
| Badgebadge | Neobrutalism Components | Components | Free | no deps | |
| Breadcrumbbreadcrumb | Neobrutalism Components | Components | Free | 1 dep | |
| Buttonbutton | Neobrutalism Components | Components | Free | 1 dep | |
| Calendarcalendar | Neobrutalism Components | Components | Free | 2 deps |
