Pular para o conteúdo
// visualizar em
salvo em todas as páginas

Spinner

Indicador giratório que mostra que algo está carregando quando não dá para dizer quanto falta. Anuncia o rótulo ao leitor de tela e herda a cor e o tamanho do texto.

Padrão ARIA statusComponente de servidorCódigo ↗

Instalação

Configure o Camaleo uma vez (Instalação) e importe. Ele renderiza no servidor.

import { Spinner } from "@camaleo/react";

Anatomia

Um contêiner com role="status", o anel girando e um rótulo escondido visualmente.

◌Carregando
role="status"[data-slot="spinner"]rótulo (escondido visualmente)

Exemplos

minimal · light · #3fa34d
Carregando
CarregandoCarregandoCarregando

Tamanhos

Ele tem 1em de largura, então segue o font-size. Dentro do texto, acompanha a linha.

CarregandoCarregando

Cor

Ele usa currentColor. Defina a color com um token para manter o contraste em todos os estilos.

Carregando resultados…

Com texto visível

Quando o texto está na tela, esconda-o da tecnologia assistiva (aria-hidden) para o status não ser lido duas vezes.

Verificando 3 de 12 arquivos…

No meio de uma frase

Ao lado do texto, ele acompanha a altura da linha. Diga quanto falta quando souber ("3 de 12").

Num botão

Não coloque um spinner à mão dentro do botão: use Button loading, que mantém a largura e o foco.

Verificando disponibilidade…

Verificando um campo

Um spinner na descrição do campo enquanto o valor é validado no servidor.

Em contexto

Pedidos recentes

Carregando pedidos
Carregando uma listaCard · Skeleton · Spinner
Enviando relatorio.pdf

Enviando relatorio.pdf

2,4 MB · cerca de 10 segundos

Envio em andamentoCard · Spinner · Text
Carregando
Página carregandoSpinner

Boas práticas

Sincronizando
FaçaDiga o que está carregando.

"Sincronizando" é melhor que um "Carregando" genérico, e o rótulo é o que o leitor de tela fala.

Processando vídeo — 42%
EviteSpinner para uma tarefa longa que dá para medir.

Se você sabe a porcentagem, mostre.

Processando vídeo — 42%
x
FaçaUse o Progress quando souber quanto falta.

A espera fica melhor quando a pessoa vê o fim.

Pedidos recentes

Carregando pedidos
FaçaCombine com skeletons no conteúdo.

O skeleton mostra o formato do que vem; o spinner diz que está a caminho.

Props

PropriedadeTipoPadrãoDescrição
labelReactNode"Loading" (or the `MessagesProvider` text)Anunciado ao leitor de tela pelo role="status".

Todos os atributos de <span> passam direto: style, className, aria-*.

Styling hooks

Atributos

data-slot"spinner" (o anel)
role"status" (o contêiner)

Tokens que ele lê

Só deste componente

--cml-spinner-ease

Acessibilidade

—Não recebe foco. Só anuncia o rótulo.

Relacionados

Esta página foi útil? · Editar esta página no GitHub