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

SpeedDial

Despliega un conjunto compacto de acciones rápidas desde un activador flotante.

Categoría
Acciones
Import
@neural-ui/core/speed-dial
Selector
neu-speed-dial
import { NeuSpeedDialComponent } from '@neural-ui/core/speed-dial';

Uso

items define claves estables y etiquetas de acción. Conecta open y acepta openChange para controlar la visibilidad; null habilita el estado local. direction y type eligen la distribución; radius es la distancia radial y mask añade un fondo opcional. Reserva espacio alrededor del activador. Los Templates aportan contenido visual mientras Core mantiene nombres y controles accesibles.

Ejemplos

Prueba esta interacción gestionada por la aplicación. Código incluye los eventos y los datos iniciales.

Ejemplos

Eventos: 0

Prueba y configura

Cambia las opciones públicas, prueba el resultado y consulta el template actualizado. Código contiene la implementación ejecutable completa.

Prueba y configura

Eventos: 0

template.html
<div class="remaining-speed-stage">
  <neu-speed-dial
    [items]="items()"
    [open]="open()"
    (openChange)="open.set($event)"
    [disabled]="false"
    [direction]="'up'"
    [type]="'linear'"
    [radius]="64"
    [mask]="false"
    [hideOnClickOutside]="true"
    (itemActivate)="record('itemActivate', $event.item.key)"
  [ariaLabel]="'Acciones rápidas'"
></neu-speed-dial>
</div>

Estado y eventos

items define claves estables y etiquetas de acción. Conecta open y acepta openChange para controlar la visibilidad; null habilita el estado local. direction y type eligen la distribución; radius es la distancia radial y mask añade un fondo opcional. Reserva espacio alrededor del activador. Los Templates aportan contenido visual mientras Core mantiene nombres y controles accesibles.

Accesibilidad y teclado

Intro/Espacio abre el activador. Las flechas recorren acciones habilitadas; Escape cierra y devuelve el foco.

Tecla
Acción
Tab Recorre el activador y las acciones nativas disponibles.
Enter Abre el menú desde su activador o ejecuta la acción habilitada enfocada.
Space Abre el menú desde su activador o ejecuta la acción habilitada enfocada.
Arrow keys Mueve el foco entre las acciones disponibles según la orientación del menú.
Home Enfoca la primera acción disponible del menú.
End Enfoca la última acción disponible del menú.
Escape Cierra el menú de acciones y devuelve el foco al activador.

API

Inputs, modelos y Outputs se extraen del paquete Core instalado. Los tipos públicos enlazan a sus definiciones. Los Templates incluyen ejemplos ejecutables.

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
animationReadonly<NeuSpeedDialAnimationConfig>{}[animation]Ajustes opcionales de retardo entre elementos y giro del activador.
ariaDescribedBystring | nullnull[ariaDescribedBy]IDs de los elementos que describen el control, separados por espacios.
ariaLabelstring | null'Quick actions'[ariaLabel]Nombre accesible del control o región.
ariaLabelledBystring | nullnull[ariaLabelledBy]Ids de elementos existentes que dan nombre al control o región.
directionNeuSpeedDialDirection'up'[direction]Dirección en la que se despliegan las acciones rápidas: up, down, left o right.
disabledbooleanfalse[disabled]Impide interactuar con este control.
hideOnClickOutsidebooleantrue[hideOnClickOutside]Cierra la lista de acciones rápidas al pulsar fuera.
idstring | undefinedSin valor por defecto[id]Id estable opcional del elemento. Conserva ids únicos si muestras varios menús.
itemsreadonly NeuSpeedDialItem[][][items]Colección aplicada de elementos. Claves y accesores estables identifican las entradas; el componente no modifica el array.
maskbooleanfalse[mask]Muestra un fondo detrás del menú desplegado de acciones rápidas.
openboolean | nullnull[open]Estado abierto aplicado; null permite visibilidad local. Acepta openChange para cambios controlados.
radiusnumber80[radius]Distancia en píxeles de las distribuciones radiales de acciones.
tabindexnumber0[tabindex]Orden de tabulación del activador de acciones rápidas.
tooltipReadonly<NeuSpeedDialTooltipConfig> | nullnull[tooltip]Configuración opcional de tooltip; las etiquetas siguen siendo los nombres accesibles.
typeNeuSpeedDialType'linear'[type]Distribución de acciones: linear, circle, semi-circle o quarter-circle.

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
closedNeuSpeedDialVisibilityEvent(closed)="onClosed($event)"Informa del cierre de este componente. El tipo indica los datos emitidos.
itemActivateNeuSpeedDialItemEvent(itemActivate)="onItemActivate($event)"Informa de la acción rápida y el evento original tras activarla.
openChangeboolean(openChange)="onOpenChange($event)"Propone el siguiente estado de visibilidad. Aplícalo a open cuando la visibilidad sea controlada.
openedNeuSpeedDialVisibilityEvent(opened)="onOpened($event)"Informa de la apertura de este componente. El tipo indica los datos emitidos.
triggerClickMouseEvent(triggerClick)="onTriggerClick($event)"Informa del click nativo del activador de acciones rápidas.

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
NeuSpeedDialItemDirectiveVer ejemplo Directiva pública de templateng-template[neuSpeedDialItem]
NeuSpeedDialTriggerDirectiveVer ejemplo Directiva pública de templateng-template[neuSpeedDialTrigger]

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

NeuSpeedDialItemDirective

NeuSpeedDialItemDirective

NeuSpeedDialItemDirective

Eventos: 0

NeuSpeedDialTriggerDirective

NeuSpeedDialTriggerDirective

NeuSpeedDialTriggerDirective

Eventos: 0

Métodos públicos

Nombre
Contrato
closeclose(): void;
openopen(): void;
toggletoggle(): void;

Public Types

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

Estilos y tokens

Usa los tokens públicos de la referencia. El diseño del contenedor pertenece a tu aplicación; comprueba el resultado en modo claro y oscuro y en espacios estrechos.

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-fg Contenido dibujado sobre el fondo primario Compartido con otros consumidores de Core; limita el cambio a un ámbito. #ffffff
--neu-primary-solid Fondo de las acciones de marca sólidas Compartido con otros consumidores de Core; limita el cambio a un ámbito. #006ee6
--neu-primary-solid-fg Contenido de las acciones de marca sólidas Compartido con otros consumidores de Core; limita el cambio a un ámbito. #ffffff
--neu-primary-solid-hover Fondo de las acciones sólidas al pasar el puntero Compartido con otros consumidores de Core; limita el cambio a un ámbito. #005fcc
--neu-surface Superficie principal del campo, cabecera o control Compartido con otros consumidores de Core; limita el cambio a un ámbito. #ffffff