Pular para o conteúdo

Timeline

Linha do tempo de leitura: Marcos, eventos e histórico em ordem.

A Timeline (do HeroUI Pro) mostra uma cronologia só de leitura: os Marcos da Jornada de um Pedido, o registro de eventos, a história de versões. Se a pessoa avança por etapas conhecidas, use Stepper. O estado é sempre dito em texto, nunca só pela cor do marcador.

import { Timeline } from "@rastreio-x/ui";

Padrão

Cada Timeline.Item tem status, um trilho (Timeline.Rail) com marcador e conector, e um Timeline.Content. Os ícones dos marcadores são decorativos.

Status

Seis tons de marcador: default, current, success, warning, danger e muted. O item current ganha aria-current.

Registro compacto

density="compact" e size="sm" formam um registro denso de eventos, com horário e uma linha de contexto.

Atrasado

Atrasado combina marcador de aviso, a palavra visível e o texto para o leitor de tela.

Anatomia

  • Timeline.Item: um evento, com status.
  • Timeline.Rail: agrupa marcador e conector.
  • Timeline.Marker: o marcador, com ícone opcional.
  • Timeline.Connector: a linha até o próximo evento (some no último).
  • Timeline.Content: o conteúdo do evento.

Propriedades

Raiz (Timeline):

Item (Timeline.Item):

Animações

A Timeline não anima. Para destacar o evento mais novo, componha com a camada de movimento da fachada (@rastreio-x/ui/motion) respeitando prefers-reduced-motion.

Acessibilidade

  • Renderiza uma lista ordenada (ol) com itens li; passe aria-label ("Jornada do Pedido ped-8").
  • Conectores e marcadores vazios são decorativos e ficam fora da árvore de acessibilidade.
  • status="current" marca o item com aria-current; no Admin usamos aria-current="step" na Jornada.
  • Use <time dateTime> para datas, e diga o estado no texto ("— atrasado").

Boas práticas

Faça

Marcador com ícone e o estado dito em texto: Saiu para Entrega, atrasado.

Evite

Marcador que só muda de cor, ou Stepper interativo para uma cronologia de leitura.
  • Ordem cronológica estável, do mais antigo ao mais novo (ou o inverso, sempre igual).
  • Horário previsto e horário real devem ser distinguíveis (rótulo "previsto").
  • Evite chip redundante por item; um sinal por estado.
  • Para histórico longo, pagine ou recolha.

Relacionados

  • Chip para o estado de um item.
  • Card para agrupar a Jornada com outros blocos.
  • Widget como contêiner nas telas de detalhe.