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

Rating

Avaliação com estrelas para dar uma nota ou mostrar uma média. Interativo, funciona como um grupo de rádios; somente leitura, é uma única imagem com nome em texto e aceita meias estrelas.

Feito com Base UIPadrão WAI-ARIA Radio GroupComponente clienteCódigo ↗
minimal · light · #3fa34d
readOnly
disabled

Instalação

Configure o Camaleo uma vez (Instalação) e importe o componente. O estilo carregado desenha as estrelas.

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

Anatomia

Interativo, a raiz é um grupo de rádios com um rádio por estrela. Somente leitura, a raiz é uma imagem e cada estrela é só uma forma.

★★★☆
[data-slot="rating"][data-slot="rating-item"] · [data-slot="rating-star"]ícone da estrela: [data-slot="icon"]

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
Como foi sua estadia?

4,8 · 128 avaliações

Somente leitura, com o número

O readOnly transforma as estrelas numa única imagem com o nome do getLabel. Escreva a média e o total ao lado, para todo mundo comparar de relance.

  • Tênis de trilha

  • Segunda pele de merino

  • Garrafa térmica, 750 ml

Meias estrelas

Na leitura, qualquer fração vira meia estrela, então 4,5 e 3,5 ficam diferentes. A versão interativa só aceita estrelas inteiras.

Avalie a entrega

Escolha uma estrela

Com legenda

Escolha uma estrela. Palavras como "Boa" ou "Excelente" na legenda e no nome de cada estrela dizem o que a nota significa.

Avalie seu pedido

Obrigatório numa avaliação

Envie sem estrela. Confira o valor no envio e mostre um FieldError; dentro de um Field a mensagem fica ligada ao grupo.

Avalie suas últimas compras

Tênis de trilha

Segunda pele de merino

Garrafa térmica, 750 ml

Várias na mesma tela

Quando cada linha da lista tem uma nota, dê a cada uma um aria-label com o nome do item, senão o leitor de tela repete "Sua avaliação" três vezes.

Avalie este produto

Você pode avaliar depois da entrega, em 31/10/2026.

Desativado, com motivo

Diga quando a avaliação abre. Uma fileira de estrelas cinza sem explicação parece quebrada.

Tamanhos

Defina --cml-star-size no rating: pequeno em listas e cards, grande quando dar a nota é a tarefa inteira.

Em contexto

Notas aparecem em avaliações, cards e pesquisas depois do atendimento. São pedaços inteiros de interface para copiar, no estilo que você escolheu.

Avalie seu pedido

Pedido nº 48213 · entregue em 24/10/2026

Sua avaliação
Avaliação de produtoCard · Field · Rating · Textarea · Button
Mais vendido

Tênis de trilha Serra

4,8 · 128 avaliações

R$ 649,90
Card de produtoCard · Badge · Rating · Button

Como foi o atendimento da Marina?

Sua conversa sobre um reembolso atrasado foi encerrada hoje às 14h40.

O que ajudou?

Opinião sobre o atendimentoCard · Rating · ChipGroup · Button

Boas práticas

4,8 · 128 avaliações

FaçaMostre a nota e o total.

"4,8 · 128 avaliações" é preciso e diz quanto dá para confiar.

EviteSó as estrelas.

Ninguém distingue 4,6 de 4,8, e uma avaliação parece tão sólida quanto cem.

FaçaCinco estrelas para uma opinião.

Uma escala curta é rápida de escolher e fácil de ler depois.

EviteDez estrelas.

A diferença entre 6 e 7 não quer dizer nada, e os alvos ficam pequenos.

Props

PropriedadeTipoPadrãoDescrição
maxnumber5Quantidade de estrelas.
valuenumber—A nota, quando você controla o estado. 0 quer dizer nenhuma estrela escolhida.
defaultValuenumber0A nota inicial, quando o componente guarda o próprio estado.
onValueChange((value: number) => void)—Chamada com o número da estrela quando a pessoa escolhe uma.
getLabel(value, max) => string"{n} of {max}"Nome acessível de cada estrela e da imagem somente leitura (traduzível).
disabledbooleanfalseDesativa todas as estrelas.
readOnlybooleanfalseMostra o valor como estrelas (com meias) numa única imagem, por exemplo uma média de 4,8.
requiredbooleanfalseMarca o grupo como obrigatório no formulário.
namestring—Identifica o valor no envio do formulário.

Dentro de um Field, o rótulo dá nome ao grupo, e disabled e name também podem vir de lá. Os outros atributos do grupo de rádios são repassados.

Styling hooks

Mude o visual sem copiar o componente: use os atributos ou defina os tokens num elemento pai, num estilo ou no próprio rating.

Atributos

data-slot"rating" · "rating-item" · "rating-star"
data-filledpresente nas estrelas até o valor
data-checkedpresente na estrela escolhida
data-fillfull · half · empty (estrelas somente leitura)
data-readonlypresente num rating somente leitura
data-disabledpresente quando desativado

Tokens que ele lê

Cor

--cml-accent-text--cml-border-control--cml-focus-offset--cml-focus-ring--cml-focus-width

Forma e tamanho

--cml-radius-control

Só deste componente

--cml-disabled-opacity--cml-star-color--cml-star-empty--cml-star-on-bg--cml-star-size
/* estrelas douradas, só nos cards de produto */
.product-card [data-slot="rating"] {
  --cml-star-color: var(--cml-warning);
}

Acessibilidade

TabLeva o foco à estrela escolhida (ou à primeira) e sai do rating.
→ / ↓Escolhe a próxima estrela.
← / ↑Escolhe a estrela anterior.
SpaceEscolhe a estrela focada.

Relacionados

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