Línea de tiempo
Flujo de eventos vertical. Lista semántica <ol>, donde el orden temporal equivale al orden del documento.
Uso básico
Uso básico
- Revisión de inicio
- Entrega de la fase uno
- Aceptación en curso
vue
<script setup lang="ts">
</script>
<template>
<LhTimeline>
<LhTimelineItem timestamp="2026-09-01">Revisión de inicio</LhTimelineItem>
<LhTimelineItem timestamp="2026-09-15" type="success">Entrega de la fase uno</LhTimelineItem>
<LhTimelineItem timestamp="2026-09-25" type="warning">Aceptación en curso</LhTimelineItem>
</LhTimeline>
</template>vue
<script>
export default {}
</script>
<template>
<LhTimeline>
<LhTimelineItem timestamp="2026-09-01">Revisión de inicio</LhTimelineItem>
<LhTimelineItem timestamp="2026-09-15" type="success">Entrega de la fase uno</LhTimelineItem>
<LhTimelineItem timestamp="2026-09-25" type="warning">Aceptación en curso</LhTimelineItem>
</LhTimeline>
</template>Distribución alternada
Alternada
- Planificación
- Desarrollo
- Pruebas de carga
hollow hace que el nodo se muestre como un círculo hueco, utilizado habitualmente para estados no completados.
Nodos huecos
- No iniciado
- En curso
- Completado
vue
<script setup lang="ts">
</script>
<template>
<!-- Distribución alternada -->
<LhTimeline mode="alternate">
<LhTimelineItem timestamp="Q1">Planificación</LhTimelineItem>
<LhTimelineItem timestamp="Q2">Desarrollo</LhTimelineItem>
<LhTimelineItem timestamp="Q3" type="danger">Pruebas de carga</LhTimelineItem>
</LhTimeline>
<!-- Nodos huecos -->
<LhTimeline>
<LhTimelineItem timestamp="Q1" hollow>No iniciado</LhTimelineItem>
<LhTimelineItem timestamp="Q2">En curso</LhTimelineItem>
<LhTimelineItem timestamp="Q3" type="success">Completado</LhTimelineItem>
</LhTimeline>
</template>vue
<script>
export default {}
</script>
<template>
<!-- Distribución alternada -->
<LhTimeline mode="alternate">
<LhTimelineItem timestamp="Q1">Planificación</LhTimelineItem>
<LhTimelineItem timestamp="Q2">Desarrollo</LhTimelineItem>
<LhTimelineItem timestamp="Q3" type="danger">Pruebas de carga</LhTimelineItem>
</LhTimeline>
<!-- Nodos huecos -->
<LhTimeline>
<LhTimelineItem timestamp="Q1" hollow>No iniciado</LhTimelineItem>
<LhTimelineItem timestamp="Q2">En curso</LhTimelineItem>
<LhTimelineItem timestamp="Q3" type="success">Completado</LhTimelineItem>
</LhTimeline>
</template>API
LhTimeline Props
| Prop | Descripción | Tipo | Predeterminado |
|---|---|---|---|
| mode | Modo de diseño | "left" | "alternate" | 'left' |
| sx | Propiedades de diseño rápido sx | LhSxProps | — |
LhTimelineItem Props
| Prop | Descripción | Tipo | Predeterminado |
|---|---|---|---|
| timestamp | Marca de tiempo | string | — |
| type | Tipo semántico del nodo | 'primary' | 'success' | 'warning' | 'danger' | — |
| hollow | Nodo hueco | boolean | false |
| sx | Propiedades de diseño rápido sx | LhSxProps | — |
Slots: default (contenido), timestamp (marca de tiempo), dot (punto personalizado).
Accesibilidad
- Lista semántica
<ol>, donde el orden temporal equivale al orden del documento, de modo que los lectores de pantalla lo anuncian en secuencia - El punto del nodo es puramente decorativo (
aria-hidden="true"); el slot de punto personalizado tampoco entra en el árbol de accesibilidad
Definiciones de tipos
Este componente exporta las siguientes estructuras de tipos TypeScript (extraídas automáticamente de los fuentes packages/components/timeline/src/types.ts y @lh-ui/share/core/*; abre cada entrada para ver la definición completa; consulta la tabla de Props de arriba para la descripción de los atributos):
LhTimelineItemProps
ts
/** Props del elemento (componente Item) */
export interface LhTimelineItemProps {
timestamp?: string
type?: 'primary' | 'success' | 'warning' | 'danger'
hollow?: boolean
/** Propiedades de diseño rápido sx */
sx?: LhSxProps
}LhTimelineProps
ts
/** Props de la línea de tiempo */
export interface LhTimelineProps {
/** Modo de diseño (alternate: distribución alternada) */
mode?: LhTimelineMode
/** Propiedades de diseño rápido sx */
sx?: LhSxProps
}LhTimelineMode (de @lh-ui/share/core/timeline)
ts
/** Modo de diseño de la línea de tiempo */
export type LhTimelineMode = 'left' | 'alternate'