Dokumentation (english)
Components: Shadcn UI

Navigation Menu

Understand the design system and contribute to it

Component preview

The live preview for UI components is handled by components/atoms/codedocs/ComponentPreview.tsx. Use it directly inside MDX whenever you want a playground-style embed. Provide componentProps to set default values and propOptions to surface toggle-able props next to the preview.

Preview

Prop reference

Auto-generated from the component source

NavigationMenu

  • className
  • children
  • viewport = true

React.ComponentProps<typeof NavigationMenuPrimitive.Root> & { viewport?: boolean; }

NavigationMenuContent

  • className

React.ComponentProps<typeof NavigationMenuPrimitive.Content>

NavigationMenuIndicator

  • className

React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>

NavigationMenuItem

  • className

React.ComponentProps<typeof NavigationMenuPrimitive.Item>

NavigationMenuLink

  • className

React.ComponentProps<typeof NavigationMenuPrimitive.Link>

NavigationMenuList

  • className

React.ComponentProps<typeof NavigationMenuPrimitive.List>

NavigationMenuTrigger

  • className
  • children

React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>

NavigationMenuViewport

  • className

React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>

Code
// owner: Sona
"use client";

import Link from "next/link";

import {
  NavigationMenu,
  NavigationMenuContent,
  NavigationMenuItem,
  NavigationMenuLink,
  NavigationMenuList,
  NavigationMenuTrigger,
} from "@/components/ui/navigation-menu";

const products = [
  {
    title: "Automation",
    description: "Create workflows triggered by your infrastructure events.",
  },
  {
    title: "Observability",
    description: "Unify logs, traces, and metrics in one place.",
  },
];

export default function NavigationMenuExample() {
  return (
    <NavigationMenu>
      <NavigationMenuList>
        <NavigationMenuItem>
          <NavigationMenuTrigger>Products</NavigationMenuTrigger>
          <NavigationMenuContent className="grid w-[320px] gap-3 p-4 md:w-[500px] md:grid-cols-2">
            {products.map((product) => (
              <NavigationMenuLink
                asChild
                key={product.title}
                className="rounded-md border p-3"
              >
                <Link href="#">
                  <div className="text-sm font-medium">{product.title}</div>
                  <p className="text-muted-foreground text-xs">
                    {product.description}
                  </p>
                </Link>
              </NavigationMenuLink>
            ))}
          </NavigationMenuContent>
        </NavigationMenuItem>
        <NavigationMenuItem>
          <NavigationMenuTrigger>Resources</NavigationMenuTrigger>
          <NavigationMenuContent className="w-48 p-2">
            <NavigationMenuLink
              asChild
              className="block rounded-md px-2 py-1 text-sm hover:bg-muted"
            >
              <Link href="#">Docs</Link>
            </NavigationMenuLink>
            <NavigationMenuLink
              asChild
              className="block rounded-md px-2 py-1 text-sm hover:bg-muted"
            >
              <Link href="#">Support</Link>
            </NavigationMenuLink>
          </NavigationMenuContent>
        </NavigationMenuItem>
        <NavigationMenuItem>
          <NavigationMenuLink className="rounded-md px-4 py-2 text-sm font-medium">
            Pricing
          </NavigationMenuLink>
        </NavigationMenuItem>
      </NavigationMenuList>
    </NavigationMenu>
  );
}

On this page


Command Palette

Search for a command to run...

Schnellzugriffe
STRG + KSuche
STRG + DNachtmodus / Tagmodus
STRG + LSprache ändern

Software-Details
Kompiliert vor 15 Tagen
Release: v4.0.0-production
Buildnummer: master@6fbd7b5
Historie: 13 Items