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

Meter

Medidor que mostra uma medida dentro de uma faixa conhecida, como o armazenamento usado, as vagas ocupadas ou a força de uma senha. Para uma tarefa que caminha até terminar, como um envio, use o Progress.

Feito com Base UIPadrão WAI-ARIA meterComponente clienteCódigo ↗
minimal · light · #3fa34d
Armazenamento
x
tone
showValue

Instalação

Configure o Camaleo uma vez (Instalação) e importe o que precisar. O estilo carregado cuida do visual.

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

Anatomia

Uma raiz com um cabeçalho (rótulo e valor) e um trilho com o preenchimento. Cada parte tem um data-slot que você pode usar no CSS.

trilhopreenchimentoArmazenamento 64,2 de 100 GB
[data-slot="meter"][data-slot="meter-track"] · [data-slot="meter-indicator"]rótulo · valor

Exemplos

Cada exemplo é um arquivo real que você pode copiar. Todos usam o estilo, o modo e a cor escolhidos na barra acima.

minimal · light · #3fa34d
Armazenamento64,2 de 100 GB
x

Meter: quanto algo está cheio

Armazenamento180 de 256 GB
x

Progress: quanto de uma tarefa já foi feito

Enviando backup.zip
x

Meter ou Progress?

O Meter diz quanto algo está cheio, e o valor pode subir ou descer. O Progress diz quanto de uma tarefa já foi feito, e só anda para a frente.

Espaço das fotos42% · Tudo certo
x
E-mails enviados no mês78% · Perto do limite
x
Chamadas à API hoje94% · Quase no fim
x

Tons para o status

Use brand quando está tudo bem, warning quando chega perto do limite e danger quando a pessoa precisa agir. Diga isso no texto também, não só na cor.

Caixa de e-mail6 de 15 GB · Bastante espaço
x

Avise antes de encher

Clique para adicionar arquivos. Escolha o tom a partir do valor: o medidor fica warning em 75% e danger quando a caixa enche.

Usuários ativos no mês8.450 de 10.000
x

Na unidade de verdade

Use o limite real em max e mostre "8.450 de 10.000". As pessoas pensam em usuários e gigabytes, não em porcentagem.

Vagas7 de 10 vagas
x

Vagas, por extenso

Com o getAriaValueText, o leitor de tela fala "7 de 10 vagas em uso" em vez de "70 por cento".

Temperatura da sala de reunião24 °C
x

Uma faixa que não começa no zero

Use min e max para escalas como temperatura. O preenchimento mostra onde 24 °C fica entre 16 e 32.

Armazenamento

Arquivos, fotos e e-mails dividem seus 15 GB.

Espaço usado12,4 de 15 GB
x

Numa linha de configurações

Coloque o medidor ao lado da ação que resolve. "Liberar espaço" perto do número poupa a pessoa de procurar.

Em contexto

O medidor fica onde a pessoa confere os limites dela. São pedaços inteiros de interface para copiar, no estilo que você escolheu.

Vagas da equipe

Seu plano Pro inclui 20 vagas.

Vagas em uso18 de 20 vagas
x
Vagas da equipeCard · Meter · Button

Crie uma senha

Use pelo menos 12 caracteres, com números e símbolos.

Força da senhaForte
x
Força da senhaCard · Label · Input · Meter

Recursos do servidor

Processador34%
x
Memória12,8 de 16 GB
x
Disco300 de 512 GB
x
Recursos do servidorCard · Meter

Boas práticas

Espaço em disco780 MB de 1 GB
x
FaçaMeça algo que tem limite.

Espaço em disco, vagas, e-mails do mês: um valor e um máximo conhecido.

Enviando arquivo78%
x
EviteUm medidor para um envio.

Um envio é uma tarefa com fim. Use o Progress, para o leitor de tela anunciar uma barra de progresso.

Conexões com o banco85 de 100 conexões
x
FaçaMostre o valor e o limite.

"85 de 100 conexões" diz quanto espaço ainda sobra.

Banco de dados85
x
EviteUm número sem unidade.

85 o quê? Porcentagem, megabytes ou usuários? A pessoa não sabe se deve se preocupar.

Props

PropriedadeTipoPadrãoDescrição
labelReactNode—Rótulo visível. Também é o nome do medidor para o leitor de tela.
showValuebooleantrueMostra o valor ao lado do rótulo.
valueLabelReactNode—Troca o texto do valor, por exemplo por "18 de 20 vagas". Muda só o que aparece na tela.
toneMeterTone"brand"Cor do preenchimento: brand quando está tudo bem, warning perto do limite, danger quando é preciso agir.
formatIntl.NumberFormatOptions—Opções de Intl.NumberFormat para o valor formatado.
getAriaValueText(formattedValue, value) => string—O texto que o leitor de tela ouve para o valor. Por padrão, a porcentagem.
localeIntl.LocalesArgument—Idioma usado para formatar o valor.
maxnumber100O maior valor da faixa, como o limite do plano.
minnumber0O menor valor da faixa.
value*number—A medida atual, entre min e max.

As outras props da raiz do medidor do Base UI e os atributos nativos de <div> passam direto.

Styling hooks

Atributos

data-tonebrand · warning · danger
data-slot"meter" · "meter-track" · "meter-indicator"

Tokens que ele lê

Cor

--cml-accent-text--cml-border-control--cml-danger--cml-fg--cml-fg-secondary--cml-surface--cml-warning

Forma e tamanho

--cml-border-width--cml-gap--cml-radius-pill

Tipografia e movimento

--cml-duration-base--cml-ease-standard--cml-font-label

Só deste componente

--cml-meter-border--cml-meter-height--cml-meter-radius

Acessibilidade

—Não recebe foco. Ele só mostra um valor; os controles ao redor é que recebem o foco.

Relacionados

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