Skip to main content

Timeline

Apresentação

O componente Timeline é responsável por exibir uma linha do tempo visual, permitindo organizar eventos ou ações em ordem cronológica. Ele oferece uma estrutura clara para apresentar sequências de eventos, com suporte a diferentes estilos e personalizações.

Quando usar

  • Para exibir histórico de eventos
  • Para mostrar progresso de atividades
  • Para criar cronogramas
  • Para apresentar sequências de ações
  • Para exibir logs de atividades
  • Para criar visualizações de processo

Forma básica de uso

import { Timeline } from 'eitri-luminus';

// Timeline básica
<Timeline>
<Timeline.Item>
<Timeline.Start>2024</Timeline.Start>
<Timeline.Middle>
<div className="badge badge-primary">Evento</div>
</Timeline.Middle>
<Timeline.End>Descrição do evento</Timeline.End>
</Timeline.Item>
<Timeline.Item>
<Timeline.Start>2023</Timeline.Start>
<Timeline.Middle>
<div className="badge badge-secondary">Evento</div>
</Timeline.Middle>
<Timeline.End>Outro evento</Timeline.End>
</Timeline.Item>
</Timeline>

// Timeline com classes personalizadas
<Timeline className="timeline-vertical">
<Timeline.Item
firstItem
classNameFirstLine="border-primary"
>
<Timeline.Start>Início</Timeline.Start>
<Timeline.Middle>
<div className="badge">1</div>
</Timeline.Middle>
<Timeline.End>Primeiro evento</Timeline.End>
</Timeline.Item>
<Timeline.Item
lastItem
classNameLastLine="border-secondary"
>
<Timeline.Start>Fim</Timeline.Start>
<Timeline.Middle>
<div className="badge">2</div>
</Timeline.Middle>
<Timeline.End>Último evento</Timeline.End>
</Timeline.Item>
</Timeline>

// Timeline com conteúdo rico
<Timeline>
<Timeline.Item>
<Timeline.Start>
<div className="font-bold">Janeiro</div>
<div className="text-sm">2024</div>
</Timeline.Start>
<Timeline.Middle>
<div className="avatar">
<div className="w-8 rounded-full">
<img src="/avatar.jpg" alt="Avatar" />
</div>
</div>
</Timeline.Middle>
<Timeline.End>
<div className="card bg-base-200">
<div className="card-body">
<h3 className="card-title">Título do Evento</h3>
<p>Descrição detalhada do evento</p>
</div>
</div>
</Timeline.End>
</Timeline.Item>
</Timeline>

Propriedades

Timeline

PropriedadeTipoDescrição
classNamestringClasses CSS adicionais para o container
idstringIdentificador único do componente

Timeline.Item

PropriedadeTipoDescrição
firstItembooleanDefine se é o primeiro item da timeline
lastItembooleanDefine se é o último item da timeline
classNameFirstLinestringClasses CSS para a linha antes do item
classNameLastLinestringClasses CSS para a linha depois do item
classNamestringClasses CSS adicionais para o item
idstringIdentificador único do componente

Timeline.Start

PropriedadeTipoDescrição
classNamestringClasses CSS adicionais para o início
idstringIdentificador único do componente

Timeline.Middle

PropriedadeTipoDescrição
classNamestringClasses CSS adicionais para o meio
idstringIdentificador único do componente

Timeline.End

PropriedadeTipoDescrição
classNamestringClasses CSS adicionais para o fim
idstringIdentificador único do componente

Heranças

O componente Timeline e seus subcomponentes herdam todas as propriedades comuns da biblioteca através da interface CommonProps, que inclui:

  • Propriedades de estilo (margin, padding, etc)
  • Propriedades de layout (flex, grid, etc)
  • Propriedades de posicionamento
  • Propriedades de acessibilidade
  • Propriedades de identificação (id, data-e)

Observações

  • O componente usa uma estrutura de lista para organização
  • Suporta diferentes orientações (vertical/horizontal)
  • É possível personalizar a aparência usando classes do Tailwind
  • O componente é responsivo por padrão
  • Permite estilização personalizada das linhas de conexão
  • Suporta conteúdo rico em cada seção
  • Ideal para visualização de sequências temporais
  • Mantém a semântica HTML usando tags apropriadas
  • Pode ser combinado com outros componentes para criar visualizações complexas
  • Suporta diferentes estilos de indicadores no meio
  • Permite personalização completa de cada seção