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

Stepper

Guía una tarea por pasos con contenido y estado en la aplicación.

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

Uso

steps aporta etiquetas, descripciones opcionales y estados completed y disabled. activeStep empieza en 0; acepta stepChange para actualizarlo. linear impide saltar más de un paso hacia delante salvo que el actual esté marcado completed. next() y prev() proponen pasos contiguos y respetan disabled. Renderiza el contenido activo con el control de flujo de Angular dentro del componente.

Ejemplos

Prueba el comportamiento y abre Código para consultar la implementación.

Ejemplos

Introduce tus datos de contacto.

Prueba y configura

Cambia las opciones y prueba el resultado. El template generado sigue tu configuración; Código contiene la implementación ejecutable completa.

Prueba y configura

Introduce tus datos de contacto.

Paso activo: 1

template.html
<neu-stepper
  #wizard
  [steps]="steps()"
  [activeStep]="active()"
  [linear]="true"
  (stepChange)="active.set($event)"
>
  @switch (active()) {
    @case (0) { <p>Datos de contacto</p> }
    @case (1) { <p>Dirección de entrega</p> }
    @case (2) { <p>Revisar pedido</p> }
  }
  <button neu-button (neuClick)="wizard.next()">
    Continuar
  </button>
</neu-stepper>

Datos y contenido

La aplicación gestiona activeStep, finalización y validación. next() no marca el paso como completado ni valida un formulario. La proyección por defecto es contenido normal, no una directiva neuStepContent.

Accesibilidad y teclado

El botón activo tiene aria-current="step". Los pasos deshabilitados no reciben foco. Usa Tab entre botones habilitados e Intro o Espacio para proponer un paso. En pantallas compactas las etiquetas siguen disponibles en el nombre accesible y el tooltip.

Tecla
Acción
Tab Recorre los botones de pasos habilitados.
Enter Propone el paso enfocado; el paso actual se indica con aria-current.
Space Propone el paso enfocado; el paso actual se indica con aria-current.

API

Inputs y Outputs corresponden al paquete fijado. Los tipos con nombre enlazan a sus definiciones; cada Template 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
activeStepnumber0[activeStep]Índice activo aplicado desde 0.
linearbooleanfalse[linear]Restringe los saltos hacia delante salvo que el paso actual esté completado.
stepsNeuStepperStep[][][steps]Etiquetas, descripciones y estados completed/disabled ordenados.

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
stepChangenumber(stepChange)="onStepChange($event)"Propone el siguiente índice habilitado; acéptalo en activeStep.

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
*

Contenido del paso activo

Ver ejemplo
Proyección de contenido

Usa @switch con activeStep para renderizar contenido de la aplicación; no se necesita una directiva neuStepContent.

<ng-content />

Contexto utilizado: —

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

Contenido del paso

*

Contenido del paso

Contacto

Tus datos

Este contenido pertenece a la aplicación y sigue activeStep.

Métodos públicos

Nombre
Contrato
goTogoTo(i: number): void;
nextnext(): void;
prevprev(): void;

Public Types

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

Estilos y tokens

Utiliza tokens públicos de espaciado, superficie, texto y foco. Comprueba el contenido proyectado y los controles en ambos temas y con anchos reducidos.

Tokens específicos

Token
Efecto
Estado / variante
Valor / origen
Alternativa
--neu-stepper-connector-gap Valor del tema heredado que utiliza este componente Superficie del campo var(--neu-space-2)Declaración raíz--neu-space-2
--neu-stepper-indicator-radius Radio de esquina Superficie del campo calc(var(--neu-stepper-indicator-size) / 2)Declaración raíz--neu-stepper-indicator-size
--neu-stepper-indicator-size Valor del tema heredado que utiliza este componente Superficie del campo 32pxDeclaración raízSin alias de token

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-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