components
loading
Indicadores de estado de carregamento: spinner pra ações curtas, skeleton pra blocos de conteúdo, progress pra operações com tempo conhecido.
overview
variantes
Spinner
Operação rápida sem tempo conhecido.
Skeleton
Placeholder enquanto conteúdo carrega.
Progress determinado
Quando o tempo é conhecido.
Progress indeterminado
tamanhos
modifiers · api
| prop | tipo | default | descrição |
|---|---|---|---|
| .spinner | class | — | círculo girando 32px |
| .spinner--sm | class | — | 16px |
| .spinner--lg | class | — | 64px |
| .skeleton | class | — | placeholder shimmer |
| .progress | class | — | barra de progresso |
| .progress--indeterminate | class | — | sem porcentagem |
quando usar
use
não use
acessibilidade
- aria-busy="true" no container que está carregando
- role="status" e aria-live="polite" pra anunciar mudanças
- aria-label="carregando" no spinner
- Respeitar prefers-reduced-motion (spin reduzido)
código
<!-- spinner -->
<span class="spinner" role="status" aria-label="carregando"></span>
<!-- skeleton -->
<div class="skeleton" style="height: 20px"></div>
<!-- progress -->
<div class="progress">
<div class="progress-bar" style="width: 60%"></div>
</div>