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

Dock

Ofrece un dock compacto de acciones con iconos de aplicación, destinos de enlace y elementos personalizados.

Categoría
Acciones
Import
@neural-ui/core/dock
Selector
neu-dock
import { NeuDockComponent } from '@neural-ui/core/dock';

Visión general

Dock reúne acciones frecuentes en una barra compacta. Proporciona un array items de NeuDockItem, cada uno con una key única y una label. Usa command para ejecutar una acción, routerLink para una ruta de la aplicación o url para un enlace. Los iconos son opcionales y los resuelve tu aplicación; active marca el destino actual.

position establece una barra horizontal para top/bottom y vertical para left/right; no fija el dock al viewport. magnification amplía los elementos al pasar el cursor con un puntero preciso. breakpoint activa la presentación móvil compacta.

Interacción básica

Activa Espacio de trabajo, Documentos o Buscar. Cada elemento ejecuta su command y emite itemClick; los contadores inferiores muestran ambas acciones. Ajustes comienza desactivado. Abre Código para ver la definición de los elementos y sus eventos.

Interacción básica

Seleccionado: — · itemClick: 0 · Acciones: 0

Configurador

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.

Configurador

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-dock
  [items]="dockItems()"
  ariaLabel="Navegación de ejemplo"
  position="bottom"
  direction="ltr"
  breakpoint="960px"
  [magnification]="true"
  (itemClick)="selectItem($event)"
/>

Datos y contenido

itemClick comunica la activación después de command. itemFocus e itemBlur comunican eventos de foco. La aplicación gestiona trabajo, rutas y datos active; Core gestiona presentación y teclado. neuDockItem sustituye el contenido con item, active e index y conserva el enlace/botón y su nombre accesible.

Accesibilidad y teclado

Nombra el dock. Tab accede al elemento activo disponible; las flechas siguen orientación/dirección e Inicio/Fin van a los extremos. Las acciones ocultas/desactivadas quedan fuera del foco móvil. Intro/Espacio activan acciones; los enlaces conservan su navegación nativa. El tooltip es complementario, no el único nombre accesible. Los Templates no deben añadir controles interactivos anidados.

Tecla
Acción
Tab Entra al dock por el elemento activo disponible o sale del grupo.
Arrow keys Recorre los elementos disponibles según orientación y dirección del texto; omite los ocultos o desactivados.
Home Enfoca el primer elemento disponible.
End Enfoca el último elemento disponible.
Enter Ejecuta la acción enfocada o sigue su enlace.
Space Activa un botón de acción enfocado; los enlaces mantienen su comportamiento nativo.

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'Application dock'[ariaLabel]Nombre accesible de la navegación/menú. Usa una etiqueta específica de esta región.
ariaLabelledBystring | nullnull[ariaLabelledBy]Id de un elemento existente que nombra la navegación; tiene prioridad sobre ariaLabel.
breakpointstring'960px'[breakpoint]Umbral de ancho del viewport para la presentación móvil compacta, expresado en píxeles CSS.
directionNeuTextDirection'ltr'[direction]Dirección del texto y teclado: ltr o rtl.
itemsNeuDockItem[][][items]Datos de acciones del dock; aporta command o destino de enlace e icono, contador y estado activo opcionales.
magnificationbooleantrue[magnification]Activa la ampliación al pasar un puntero preciso; la presentación táctil conserva el formato compacto.
positionNeuDockPosition'bottom'[position]Alineación/orientación: top, right, bottom o left. El diseño de la aplicación determina su ubicación.

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
itemBlurFocusEvent(itemBlur)="onItemBlur($event)"Emite FocusEvent cuando una acción pierde el foco.
itemClickNeuDockItem(itemClick)="onItemClick($event)"Emite la hoja/acción activada. El command opcional se ejecuta antes; las entradas desactivadas no se activan.
itemFocusFocusEvent(itemFocus)="onItemFocus($event)"Emite FocusEvent cuando una acción disponible recibe el foco.

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
NeuDockItemDirectiveVer ejemplo Directiva pública de templateng-template[neuDockItem]

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

Elementos del dock

NeuDockItemDirective

Elementos del dock

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
--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-soft Superficie tenue de selección o estado activo Compartido con otros consumidores de Core; limita el cambio a un ámbito. var(--neu-primary-50)
--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-shadow-lg Elevación de la superficie o capa Compartido con otros consumidores de Core; limita el cambio a un ámbito. 0 10px 30px rgba(15, 23, 42, 0.1), 0 4px 8px rgba(15, 23, 42, 0.04)