Linha do tempo — histórico de pedido, changelog, deploy — vertical ou horizontal, com 4 estados de marcador.
O que é
Lista de eventos em ordem, cada um com um marcador redondo preso a uma linha contínua. Cada item usa 4 peças opcionais: bolinha, hora, título e descrição.
Como funciona
100% CSS. A linha é um ::before no contêiner ([sw-tml]), não um elemento — os marcadores (.sw-tml-dot) ficam posicionados em cima dela via position:absolute. sw-tml="h" vira horizontal e rola de lado se não couber.
<div sw-tml="h">
<div class="sw-tml-it">
<div class="sw-tml-dot is-fil">1</div>
<div class="sw-tml-ttl">Pedido feito</div>
<div class="sw-tml-txt">12/03</div>
</div>
…
</div>
<!-- se não couber na largura, ele rola de lado sozinho -->
<!-- as 4 peças são opcionais: use só o que precisar -->
<div sw-tml>
<div class="sw-tml-it">
<div class="sw-tml-dot is-suc"></div>
<div class="sw-tml-ttl">Conta criada</div>
</div>
</div>
<!-- .sw-tml-tme (hora) e .sw-tml-txt (descrição) podem ficar de fora -->
Atributos
Nenhum.
Variantes
sw-tml (sem valor)
vertical, o padrão
h
horizontal — rola de lado se não couber
.sw-tml-it
um por evento
.sw-tml-dot (+ .is-suc/.is-ale/.is-err/.is-fil, ou vazia)
a bolinha — pode ter texto/ícone dentro; 4 estados de cor
.sw-tml-tme · .sw-tml-ttl · .sw-tml-txt
hora · título · descrição do evento
Eventos
Nenhum.
API (JavaScript)
Nenhum.
Requisitos
Nenhuma.
Limitações — o que ele não faz
É 100% CSS: a linha e os marcadores não sabem de "progresso" — quem decide qual bolinha está em qual estado é você, no HTML.
Pra um fluxo de etapas com navegação (passo 1, 2, 3 de um formulário), o componente certo é o Stepper.