navigation-menu
neobrutalism/navigation-menuFreeComponent
neobrutalism publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by neobrutalism on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://neobrutalism.com/r/navigation-menu.jsonSource
1import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu"2import { cva } from "class-variance-authority"3import { ChevronDownIcon } from "lucide-react"45import { cn } from "@/lib/utils"67function NavigationMenu({8 align = "start",9 className,10 children,11 ...props12}: NavigationMenuPrimitive.Root.Props &13 Pick<NavigationMenuPrimitive.Positioner.Props, "align">) {14 return (15 <NavigationMenuPrimitive.Root16 data-slot="navigation-menu"17 className={cn(18 "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",19 className20 )}21 {...props}22 >23 {children}24 <NavigationMenuPositioner align={align} />25 </NavigationMenuPrimitive.Root>26 )27}2829function NavigationMenuList({30 className,31 ...props32}: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.List>) {33 return (34 <NavigationMenuPrimitive.List35 data-slot="navigation-menu-list"36 className={cn(37 "group flex flex-1 list-none items-center justify-center gap-0",38 className39 )}40 {...props}41 />42 )43}4445function NavigationMenuItem({46 className,47 ...props48}: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.Item>) {49 return (50 <NavigationMenuPrimitive.Item51 data-slot="navigation-menu-item"52 className={cn("relative", className)}53 {...props}54 />55 )56}5758const navigationMenuTriggerStyle = cva(59 "group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground"60)6162function NavigationMenuTrigger({63 className,64 children,65 ...props66}: NavigationMenuPrimitive.Trigger.Props) {67 return (68 <NavigationMenuPrimitive.Trigger69 data-slot="navigation-menu-trigger"70 className={cn(navigationMenuTriggerStyle(), "group", className)}71 {...props}72 >73 {children}{" "}74 <ChevronDownIcon75 className="relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180"76 aria-hidden="true"77 />78// … truncated
What it pulls in
npm packages
Files it writes
More from neobrutalism
All 54 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | neobrutalism | Components | Free | 2 deps | |
| alertalert | neobrutalism | Components | Free | 2 deps | |
| alert-dialogalert-dialog | neobrutalism | Components | Free | 1 dep | |
| aspect-ratioaspect-ratio | neobrutalism | Components | Free | 1 dep | |
| avataravatar | neobrutalism | Components | Free | 1 dep | |
| badgebadge | neobrutalism | Components | Free | 2 deps | |
| breadcrumbbreadcrumb | neobrutalism | Components | Free | 2 deps | |
| buttonbutton | neobrutalism | Components | Free | 2 deps |
