Navigation Menu
Una barra de navegación horizontal con paneles de links que se abren al hacer clic.
Instalación
pnpm dlx nachui add navigation-menuAnatomía
Composición
Usa la siguiente composición para construir un
NavigationMenu:La raíz renderiza un
<nav> y distribuye sus hijos en fila, así que los
anchors comunes y los links del router conviven con los items desplegables.
Cada Item maneja su propio estado: se abre con clic, nunca con hover, así los
paneles solo aparecen cuando el lector los pide, y se cierra con Escape, con
un clic afuera, o al navegar por un link. El panel lleva una pequeña flecha que
apunta al trigger que lo abrió.Links del router
NavigationMenu.Link renderiza un <a> por defecto. Para mantener la
navegación client-side (o el routing con locale), pasá asChild con el Link
de tu framework como único hijo — el contenido de la fila se inyecta adentro y
el menú igual se cierra al navegar:Variantes
Con badges
Las filas aceptan un slot
badge al lado del título — y cualquier otra cosa
que pongas dentro de Content se renderiza tal cual, como esta fila
"próximamente" no interactiva:Referencia de API
NavigationMenu
Renderiza un elemento
<nav>. Acepta todos los atributos de HTMLElement.| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | Clases CSS adicionales |
NavigationMenu.Item
Envuelve un par trigger + panel y maneja su estado de apertura.
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | Clases CSS adicionales |
NavigationMenu.Trigger
Un botón con un chevron que rota mientras el panel está abierto.
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | Clases CSS adicionales |
NavigationMenu.Content
El panel flotante, anclado debajo del item y animado al abrir/cerrar.
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | Clases CSS adicionales |
NavigationMenu.Link
| Prop | Type | Default | Description |
|---|---|---|---|
title | string | - | Título de la fila (requerido) |
description | string | - | Descripción de una línea en color muted |
icon | React.ReactNode | - | Se renderiza dentro de la cajita de ícono |
badge | React.ReactNode | - | Se renderiza al lado del título |
asChild | boolean | false | Inyecta la fila en un <Link> de routing hijo |
href | string | - | Destino del anchor cuando no se usa asChild |
className | string | - | Clases CSS adicionales |
¿Encontraste algo que mejorar?
¿Notaste un error, tipografía o detalle faltante en esta página? Ayúdanos a mejorar la documentación abriendo un issue en GitHub.