Primitivefeedback

Skeleton

Stable

Placeholder com a forma do conteúdo que ainda não chegou. Só vale desenhar quando essa forma é conhecida: uma caixa cinza genérica diz "espere", uma caixa do tamanho do parágrafo diz onde ele vai ficar e impede o layout de pular quando ele chega. É aria-hidden por padrão — quem anuncia o carregamento é a região, não seis retângulos vazios.

Instalação

npx up-web-ds add skeleton

Preview

Default

Catalog Row

Card

Shapes

All states

Default

Catalog Row

Card

Shapes

Usage

@/components/ui/skeleton
import { Skeleton } from '@/components/ui/skeleton'
Skeleton
<div
  role="status"
  aria-busy="true"
  aria-label="Carregando a descrição do item"
  className="flex w-full max-w-md flex-col gap-2"
>
  <Skeleton className="h-4 w-full" />
  <Skeleton className="h-4 w-full" />
  <Skeleton className="h-4 w-3/5" />
</div>

Props

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

Metadata

Notas de acessibilidade

Não é interativo: não entra na sequência de tabulação e não tem estado, então teclado e alvo de toque não têm superfície onde falhar. Leitor de tela verificado por teste: o placeholder é aria-hidden por padrão e a região carrega aria-busy, com a saída explícita de aria-hidden={false} para o caso raro em que o placeholder é mesmo a única mensagem de status. Reduced motion verificado em navegador com prefers-reduced-motion: reduce — a varredura é ambiente, não transicional, e é aplicada em motion-safe:animate-skeleton, então sob reduce ela simplesmente não roda: o placeholder para em vez de acelerar, que é exatamente a animação que a preferência existe para deter. O placeholder em si nunca é condicionado — um skeleton que sumisse levaria o estado de carregamento junto —, então ele fica estático e visível, com o gradiente do tema. Contraste verificado nos dois temas: o brilho é a superfície clareada pelo token do tema, não um branco fixo que só funciona em um deles.

Classificação

Layer
Primitive
Domínio
Domain-free (compartilhado)
Categoria
feedback
Status
Stable

Origem e distribuição

Fonte
coss registry / skeleton
Licença
MIT
Distribuição
Interna

Acessibilidade

  • Teclado: revisado
  • Leitor de tela: revisado
  • Touch: revisado
  • Reduced motion: revisado

Dependências

Pacotes
Nenhuma
Ícones
Nenhum
Construído sobre
Nenhum