Todos los componentes (204)
Cronograma
Fechas y hora · Timeline · .amset-timeline
Qué es y cuándo usarlo
El plan de trabajo en barras: qué va del día tal al día cual y cuánto lleva hecho. Un Gantt de andar por casa, sin dependencias entre tareas. Como en el resto de gráficos de la biblioteca, el dibujo es el adorno y la tabla es el dato: debajo va una tabla de verdad con fechas, duración y avance, oculta a la vista salvo que se pida.
Cuándo usarlo
- El plan de un lanzamiento, una colección, una obra: pocas tareas con fecha de inicio (
from) y de fin (to). progress(de 0 a 100) pinta la parte hecha dentro de la barra;toneen una tarea la colorea con el vocabulario común (accent,info,success,warning,erroroneutral), ytoneen el cronograma pinta todas las que no traen el suyo.detailsale en la tabla.rangepara que dos cronogramas compartan escala, ytableVisiblecuando la tabla también tiene que verse.withToday={false}quita la línea de hoy.
Cuándo no
- Eventos de un día en el mes:
MonthAgenda. - Un proceso por fases que avanza en orden:
Steps. - Comparar cantidades:
BarChart.
Teclado: no es interactivo y no tiene paradas de Tab. Las barras no se pulsan: son parte de una imagen.
Accesibilidad: el dibujo es una imagen con el resumen escrito en su nombre («Plan de la colección de otoño. 5 tareas, del 1 de septiembre al 15 de octubre. La más larga, Fundición, 16 días.»). La tabla está siempre en el DOM con su caption, aunque no se vea. Los meses y la línea de hoy son adorno. Las barras se miden en días de calendario contados en UTC, para que el cambio de hora no meta un día de 23 horas y descuadre el ancho.
Tamaños: barras de 20, 24 o 32 px de alto, con la columna de nombres de 7, 9 u 11 rem y su letra.
Fechas en la barra: el tramo como lo escribe el idioma («10–25 sept», «21 sept – 5 oct», «15 oct» si es de un día). Si no cabe acaba en «…», y en una barra de menos de 3 rem no se pinta; entero está en el title de la barra y en la tabla.
Movimiento: las barras entran creciendo desde su inicio, lo hecho crece detrás y la línea de hoy aparece cuando ya han llegado. Si cambian las fechas, las barras se desplazan a su sitio. Con movimiento reducido, nada de eso.
Aspecto fino: --amset-timeline-name es el ancho de la columna de nombres: la cabecera de meses, las barras y la línea de hoy se colocan a partir de él. Además -height (las barras), -slot (entre filas), -font (los nombres), -description (meses, fechas y tabla), -radius, -track (el fondo de cada fila), -bar y -bar-ink (el relleno y el color de sus fechas), -progress (lo hecho, encima de la barra), -today y -today-width.
Contexto: va dentro de LocaleProvider (o de AmsetProvider), que decide cómo se escriben los meses y las fechas.
Cómo se ve
| Tarea | Empieza | Acaba | Días | Hecho |
|---|---|---|---|---|
| Diseno | 1 oct | 10 oct | 10 | — |
| Desarrollo | 8 oct | 28 oct | 21 | — |
| Pruebas | 24 oct | 4 nov | 12 | — |
<Timeline
label="Plan del proyecto"
tasks={[
{ key: 'dis', title: 'Diseno', from: '2026-10-01', to: '2026-10-10' },
{ key: 'dev', title: 'Desarrollo', from: '2026-10-08', to: '2026-10-28' },
]}
/>Props
Se importa con import { Timeline } from '@amset/ui'. Las obligatorias van marcadas.
| Prop | Tipo | Para qué sirve |
|---|---|---|
labelobligatoria | string | De que es el plan. Obligatoria: nombra el dibujo entero. |
tasksobligatoria | readonly TimelineTask[] | — |
className | string | Se une a las clases de la biblioteca, no las sustituye. |
empty | string | — |
range | DateRange | Rango a mano, para que dos cronogramas compartan escala. |
size | "sm" | "md" | "lg" | Barras de 20, 24 o 32 px, con su columna de nombres y su letra. |
tableVisible | boolean | Enseña tambien la tabla. Para el lector de pantalla esta siempre. |
today | Date | — |
tone | "neutral" | "accent" | "secondary" | "tertiary" | "info" | "success" | "warning" | "error" | El color de las barras que no traen `tone` propio. `accent` por defecto. |
withToday | boolean | Marca el dia de hoy con una linea. |
Acepta además los atributos del elemento que pinta: className, style, data-*, aria-* y sus eventos.
Mandos
Estas variables CSS son la forma de adaptarlo. Se declaran sobre el selector del componente, no en :root: la hoja las redeclara en la propia regla y una declaración en el mismo elemento gana siempre.
| Variable | Por defecto |
|---|---|
--amset-timeline-name | 9rem |
--amset-timeline-height | 1.5rem |
--amset-timeline-slot | var(--amset-space-2) |
--amset-timeline-font | var(--amset-text-sm) |
--amset-timeline-description | var(--amset-text-xs) |
--amset-timeline-radius | var(--amset-radius-sm) |
--amset-timeline-track | var(--amset-surface-2) |
--amset-timeline-bar | var(--amset-accent) |
--amset-timeline-bar-ink | var(--amset-accent-ink) |
--amset-timeline-progress | color-mix(in oklab, var(--amset-highlight) 30%, transparent) |
--amset-timeline-today | var(--amset-error) |
--amset-timeline-today-width | 2px |
Cómo se cambia
.amset-timeline {
--amset-timeline-name: ...;
--amset-timeline-height: ...;
}En el banco de pruebas
Cada estado y cada variante, para tocarlos de uno en uno, en su ficha de ui.amset.tech:
