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

Timeline

Presenta eventos cronológicos con marcadores semánticos y contenido personalizado.

Categoría
Diseño y contenido
Import
@neural-ui/core/timeline
Selector
neu-timeline
import { NeuTimelineComponent } from '@neural-ui/core/timeline';

Uso

Proporciona items con ids estables, title y time, description, tone y un path SVG icon opcionales. align coloca el eje a la izquierda, derecha o alterno; reverse cambia el orden visual sin modificar el input. density cambia el espaciado. El Template de item sustituye el contenido completo y el de marker solo el contenido del marcador.

Ejemplos

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

Ejemplos
  1. Pedido recibido09:00

    Hemos recibido tu pedido.

  2. Listo para entregar10:30

    Tu pedido está preparado.

  3. Entregado12:00

    La entrega se ha completado.

Utiliza ids estables cuando cambie la colección de eventos.

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
  1. Pedido recibido09:00

    Hemos recibido tu pedido.

  2. Listo para entregar10:30

    Tu pedido está preparado.

  3. Entregado12:00

    La entrega se ha completado.

template.html
<neu-timeline
  [items]="items()"
  align="left"
  density="normal"
  [reverse]="false"
  ariaLabel="Historial del pedido"
/>

Datos y contenido

Timeline no tiene Outputs y no modifica ni ordena tu colección. reverse solo cambia el orden renderizado. index del Template es la posición visual desde cero tras reverse. icon es un path SVG, no una clave de un provider de iconos.

Accesibilidad y teclado

Timeline renderiza una lista ordenada con ariaLabel opcional. Incluye texto significativo en los eventos; el marcador no debe ser la única forma de identificar un estado. Los SVG decorativos se ocultan a tecnologías de asistencia. Las acciones dentro de un Template conservan su teclado nativo.

Tecla
Acción
Tab Sigue el orden normal de foco de enlaces, campos y acciones del contenido; el contenedor no añade un modelo de foco móvil.
Enter Activa un botón nativo enfocado o sigue un enlace enfocado dentro del contenido.
Space Activa un botón nativo enfocado dentro del contenido; los campos mantienen la edición normal de texto.

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
alignNeuTimelineAlign'left'[align]Eje a la izquierda, derecha o alterno.
ariaLabelstring''[ariaLabel]Nombre accesible de la lista de eventos.
densityNeuDensity'normal'[density]Escala espacial: compact, normal o relaxed.
itemsreadonly NeuTimelineItem[][][items]Eventos cronológicos con ids estables opcionales y texto.
reversebooleanfalse[reverse]Invierte el orden renderizado sin modificar items.

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
NeuTimelineItemDirective

Contenido del evento

Ver ejemplo
Directiva pública de template

Usa let-event para consultar el evento. El Template de item también recibe let-index="index", en el orden visual.

ng-template[neuTimelineItem]

Contexto utilizado: $implicit: item, index: number

NeuTimelineMarkerDirective

Marcador del evento

Ver ejemplo
Directiva pública de template

Usa let-event para consultar el evento. El Template de item también recibe let-index="index", en el orden visual.

ng-template[neuTimelineMarker]

Contexto utilizado: $implicit: item

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

Contenido del evento

NeuTimelineItemDirective

Contenido del evento
  1. 1. Pedido recibido

    Hemos recibido tu pedido.

    09:00
  2. 2. Listo para entregar

    Tu pedido está preparado.

    10:30
  3. 3. Entregado

    La entrega se ha completado.

    12:00

Marcador

NeuTimelineMarkerDirective

Marcador
  1. Pedido recibido09:00

    Hemos recibido tu pedido.

  2. Listo para entregar10:30

    Tu pedido está preparado.

  3. Entregado12:00

    La entrega se ha completado.

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

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-error Color del campo no válido o de la acción de peligro Compartido con otros consumidores de Core; limita el cambio a un ámbito. #dc2626
--neu-primary Color de marca en controles activos y énfasis Compartido con otros consumidores de Core; limita el cambio a un ámbito. #007aff
--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-text-disabled Texto de los controles deshabilitados Compartido con otros consumidores de Core; limita el cambio a un ámbito. #64748b
--neu-text-muted Etiquetas secundarias y contenido de ayuda Compartido con otros consumidores de Core; limita el cambio a un ámbito. #475569