Saltar al contenido principal
Neural UIv2.0.0Documentación
Ver v1 GitHub

Menubar

Organiza acciones principales en horizontal con grupos desplegables y navegación por teclado.

Categoría
Navegación
Import
@neural-ui/core/menu
Selector
neu-menubar
import { NeuMenubarComponent } from '@neural-ui/core/menu';

Uso

Proporciona una colección NeuMenuItem. Las hojas principales actúan directamente; las entradas con children abren paneles MenuButton. visible:false oculta entradas y disabled impide interactuar. neuMenuItem permite sustituir el contenido, también en los elementos del panel hijo. Usa etiquetas principales breves y un ariaLabel descriptivo.

Ejemplos

Prueba la interacción y abre Código para ver la implementación completa.

Ejemplos

Seleccionado: — · itemClick: 0 · Acciones: 0

Prueba y configura

Cambia las opciones, prueba el resultado y consulta el template actualizado. Abre Código para ver el modelo de datos y la implementación completa.

Prueba y configura

Seleccionado: — · itemClick: 0 · Acciones: 0

Las opciones de Core actualizan este template. Los iconos, contadores y acciones desactivadas pertenecen al modelo de datos que se muestra en Código.

template.html
<neu-menubar
  [items]="items"
  ariaLabel="Navegación de ejemplo"
  (itemClick)="selectItem($event)"
/>

Datos y contenido

itemClick comunica la hoja activada. Las acciones pertenecen a los datos del elemento y se ejecutan al activarlo. El componente gestiona el desplegable abierto; no expone un Input open. Cambiar entre grupos con un desplegable abierto transfiere ese estado y no requiere otro clic.

Accesibilidad y teclado

Tab entra en la barra; izquierda/derecha recorren las acciones disponibles e Inicio/Fin van a los extremos. Abajo/arriba abren un grupo en el primer/último elemento; dentro se usa el teclado de Menu. Escape cierra el panel y devuelve el foco al botón. La dirección sigue al documento.

Tecla
Acción
Tab Entra o sale de la barra.
ArrowLeft / ArrowRight Recorre las acciones principales disponibles respetando la dirección del texto.
ArrowDown / ArrowUp Abre un grupo en su primera o última acción; dentro del grupo, recorre sus acciones.
Home / End Enfoca la primera o última acción disponible.
Enter Activa la acción enfocada o abre su grupo.
Space Activa la acción enfocada o abre su grupo.
Escape Cierra el menú emergente y devuelve el foco a su activador.

API

Inputs y Outputs corresponden al paquete instalado. Los tipos con nombre enlazan a sus definiciones. Cada Template/proyección disponible tiene un ejemplo ejecutable.

Inputs

Configura el componente con [propiedad]="valor". Tu aplicación proporciona estos valores; el componente no debe reemplazar el estado que le pasas.

Nombre
Tipo
Por defecto
Uso en el template
Descripción
ariaLabelstring'Menu bar'[ariaLabel]Nombre accesible de la navegación/menú. Usa una etiqueta específica de esta región.
itemsNeuMenuItem[][][items]Datos de acciones con claves únicas; children crea grupos. Core no modifica el array.

Outputs

Escucha un evento con (evento)="handler($event)". La tabla indica qué datos recibe tu función y cómo utilizarlos.

Nombre
Valor emitido
Uso en el template
Descripción
itemClickNeuMenuItem(itemClick)="onItemClick($event)"Emite la hoja/acción activada. El command opcional se ejecuta antes; las entradas desactivadas no se activan.

Templates

ng-content proyecta contenido dentro del componente. Los inputs TemplateRef reciben un template; las directivas ng-template identifican templates con un contexto tipado. Una directiva compartida en el entrypoint no es necesariamente un slot de este componente.

Nombre
Mecanismo
Contrato
NeuMenuItemDirectiveVer ejemplo Directiva pública de templateng-template[neuMenuItem]

Cada ejemplo muestra un template diferente. Alterna entre Demo y Código para consultar su implementación, imports y estado.

Contenido de barra y menú

NeuMenuItemDirective

Contenido de barra y menú

Seleccionado: — · itemClick: 0 · Acciones: 0

Public Types

Abre un tipo para consultar su definición y los campos de sus interfaces.

Estilos y tokens

Utiliza los tokens públicos disponibles. La resolución de iconos y el diseño que rodea al ejemplo pertenecen a la aplicación. Comprueba ambos temas y pantallas estrechas.

Tokens específicos

Este componente utiliza tokens compartidos del tema en lugar de tokens específicos.

Tokens compartidos utilizados

Sobrescríbelos en un contenedor local para afectar a este ejemplo. Una modificación en :root afecta a los demás componentes que utilizan el mismo token.

Token
Efecto aquí
Otros efectos
Valor / alternativa
Sin datos