Proporciona tabs con ids estables, etiquetas y, opcionalmente, badge o disabled. Proyecta un neu-tab-panel con un tabId correspondiente por cada pestaña. activeId junto con activeIdChange permite que la aplicación controle la selección; si se omite, initialActiveId es un valor inicial y el componente gestiona la selección. null deja expresamente todos los paneles sin seleccionar. NeuTabLabel personaliza la etiqueta de la pestaña, no el panel.
Cambia las opciones, prueba el resultado y consulta su template generado. Abre Código para ver la implementación completa.
Prueba y configura
Revisa los datos del pedido antes de continuar.
activeId: summary
template.html
<neu-tabs
[tabs]="tabs()"
[activeId]="active()"
(activeIdChange)="active.set($event)"
[flush]="false"
ariaLabel="Secciones del pedido"
>
<neu-tab-panel tabId="summary">
<p>Revisa los datos del pedido antes de continuar.</p>
</neu-tab-panel>
<neu-tab-panel tabId="activity">
<p>Hay tres actualizaciones disponibles.</p>
</neu-tab-panel>
<neu-tab-panel tabId="archive">
<p>Contenido archivado</p>
</neu-tab-panel>
</neu-tabs>
Estos valores corresponden a la vista previa actual. Los handlers, imports de Core y templates completos están en Código.
Estos inputs requieren un modelo o función, no un checkbox. Modifica el campo del mismo nombre en el componente de Código y enlázalo al template; los datos que ya usa esta vista previa se muestran en el estado anterior.
initialActiveId · K | null
En Código: define initialActiveId con este tipo y utiliza [initialActiveId]="initialActiveId" (o initialActiveId() si es una signal).
activeIdChange propone una clave de pestaña o null. En modo controlado, actualiza activeId para aceptar la propuesta. No cambies entre el modo controlado y el no controlado en la misma instancia.
Las flechas izquierda/derecha, Inicio y Fin mueven el foco entre las pestañas habilitadas. Intro o Espacio activa la pestaña enfocada; mover el foco no cambia la selección. Proporciona un ariaLabel significativo. Las barras estrechas permiten desplazamiento horizontal.
Tecla
Acción
Tab
Entra en la lista de pestañas o accede a los controles del panel activo.
ArrowLeft / ArrowRight
Mueve el foco entre pestañas habilitadas sin cambiar la selección.
Los Inputs y Outputs corresponden al paquete Core fijado. Los tipos con nombre enlazan a sus definiciones. Templates incluye ejemplos ejecutables de cada zona disponible.
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
activeId
K | null | undefined
undefined
[activeId]
ID aplicado; null no selecciona ninguno, undefined habilita el modo no controlado.
ariaLabel
string
'Content tabs'
[ariaLabel]
Nombre accesible de la lista de pestañas.
flush
boolean
false
[flush]
Elimina el espacio superior por defecto de los paneles proyectados.
initialActiveId
K | null
null
[initialActiveId]
Selección inicial si se omite activeId; null utiliza la primera pestaña habilitada.
tabs
readonly T[]
[]
[tabs]
Definiciones de pestañas: id único, label, badge y disabled opcionales.
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
activeIdChange
K | null
(activeIdChange)="onActiveIdChange($event)"
Propone la siguiente clave activa o null; se acepta actualizando activeId.
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.
Utiliza los tokens públicos de superficie, texto, espaciado y foco. Comprueba el contenido en ambos temas y con anchos reducidos.
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
--neu-border
Bordes normales de controles y celdas
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
rgba(15, 23, 42, 0.08)
--neu-primary
Color de marca en controles activos y énfasis
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#007aff
--neu-primary-dark
Tono oscuro de marca; texto de Button outline y ghost en el tema claro
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#005fcc
--neu-primary-light
Tono claro de marca; texto de Button outline y ghost en el tema oscuro
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#339dff
--neu-surface
Superficie principal del campo, cabecera o control
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#ffffff
--neu-surface-2
Superficies secundarias y filas alternas
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#f1f5f9
--neu-text
Color del texto principal y de los iconos que lo heredan
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
#0f172a
--neu-font-sans
Tipografía del texto
Compartido con otros consumidores de Core; limita el cambio a un ámbito.