Instalación
npx logic2b@next add navigation-menuUso
import {
NavigationMenu,
NavigationMenuContent,
NavigationMenuItem,
NavigationMenuLink,
NavigationMenuList,
NavigationMenuTrigger,
} from "@/components/ui/navigation-menu"
<NavigationMenu>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuTrigger>Componentes</NavigationMenuTrigger>
<NavigationMenuContent>
<NavigationMenuLink href="/docs">Documentación</NavigationMenuLink>
</NavigationMenuContent>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>
Ejemplos
Barra de enlaces
Desplegable en línea
Accesibilidad
Está construido sobre el Navigation Menu de Radix.
- Los disparadores reciben el foco; Intro/Espacio y las flechas abren el menú y desplazan la selección.
- Escape cierra el panel abierto y devuelve el foco al disparador.
- El enlace activo usa
data-active, que se asocia aaria-current, para que los lectores de pantalla anuncien la página actual. - Cada panel de contenido queda etiquetado por su disparador.
Playground interactivo
Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.
JSX generado
<NavigationMenu
aria-label="Product navigation"
>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuTrigger>Platform</NavigationMenuTrigger>
<NavigationMenuContent
className="w-64"
>
<NavigationMenuLink
href="#registry"
>Registry</NavigationMenuLink>
<NavigationMenuLink
href="#tokens"
>Design tokens</NavigationMenuLink>
</NavigationMenuContent>
</NavigationMenuItem>
<NavigationMenuItem>
<NavigationMenuLink
href="#docs"
>Documentation</NavigationMenuLink>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>Referencia de API
Generada a partir de las exportaciones públicas de TypeScript en src/ui/navigation-menu.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.
NavigationMenu
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & { viewport?: boolean }| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
viewport | boolean | No | true | — |
NavigationMenuList
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.List>NavigationMenuItem
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.Item>NavigationMenuContent
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.Content>NavigationMenuTrigger
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>NavigationMenuLink
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.Link>NavigationMenuIndicator
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>NavigationMenuViewport
ComponenteProps: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>navigationMenuTriggerStyle
Utilidad(props?: ClassProp | undefined): stringContrato de accesibilidad
Comportamiento legible por máquinas y responsabilidades de quien integra navigation-menu. Los detalles normativos conservan el texto canónico del registro.
- Soporte
- Gestionado por la primitiva
- Patrón
- navigation
- Radix Navigation Menu
| Teclas | Comportamiento |
|---|---|
| Enter Space | Activate the focused control. |
| ArrowUp ArrowDown ArrowLeft ArrowRight | Move within the composite control. |
| Escape | Close the open surface and restore focus. |
Semántica incorporada
- Keyboard-focusable triggers manage expanded content; active links can expose aria-current.
Responsabilidades de integración
- Wrap the component in a labelled nav landmark when multiple navigation regions exist.