Skip to main content

Rating

Apresentação

O componente Rating é responsável por criar sistemas de avaliação baseados em estrelas que permitem aos usuários atribuir pontuações ou classificações. Ele oferece uma interface intuitiva com estrelas clicáveis e suporta diferentes escalas de avaliação.

Luminus UI

Quando usar

  • Para avaliação de produtos
  • Para classificação de serviços
  • Para feedback de usuários
  • Para avaliação de conteúdo
  • Para classificação de restaurantes
  • Para avaliação de aplicativos
  • Para feedback de atendimento
  • Para classificação de experiências

Forma básica de uso

import { Rating } from 'eitri-luminus';

// Rating básico com 5 estrelas
<Rating max={5} />

// Rating com valor inicial
<Rating max={5} value={3} />

// Rating com onChange
<Rating
max={5}
value={rating}
onChange={(e) => setRating(Number(e.target.value))}
/>

// Rating somente leitura
<Rating
max={5}
value={4}
readOnly={true}
/>

// Rating com classes personalizadas
<Rating
max={5}
value={3}
className="rating-lg"
/>

// Rating com 10 estrelas
<Rating
max={10}
value={7}
/>

// Rating com id personalizado
<Rating
max={5}
value={2}
id="avaliacao-produto"
/>

// Rating com estilo inline
<Rating
max={5}
value={4}
style={{
gap: '4px',
fontSize: '20px'
}}
/>

// Rating para avaliação de restaurante
<Rating
max={5}
value={restaurantRating}
onChange={(e) => setRestaurantRating(Number(e.target.value))}
/>

// Rating para feedback de serviço
<Rating
max={5}
value={serviceRating}
readOnly={true}
className="rating-primary"
/>

// Rating com escala de 1 a 3
<Rating
max={3}
value={1}
onChange={(e) => console.log('Avaliação:', e.target.value)}
/>

// Rating para avaliação de conteúdo
<Rating
max={5}
value={contentRating}
style={{
color: '#ffd700',
fontSize: '24px'
}}
/>

Propriedades

PropriedadeTipoDescrição
maxnumberNúmero máximo de estrelas (padrão: 5)
valuenumberValor atual da avaliação
onChangefunctionFunção chamada quando o valor muda
readOnlybooleanSe o rating é somente leitura
idstringIdentificador único do componente
classNamestringClasses CSS adicionais

Heranças

O componente Rating herda todas as propriedades comuns da biblioteca através da interface CommonProps, que inclui:

  • Propriedades de estilo (margin, padding, etc)
  • Propriedades de layout (flex, grid, etc)
  • Propriedades de posicionamento
  • Propriedades de acessibilidade
  • Propriedades de identificação (id, data-e)

Observações

  • O componente usa a classe 'rating' para estilização base
  • Cada estrela usa a classe 'mask mask-star'
  • Suporta diferentes escalas de avaliação (1-5, 1-10, etc)
  • É responsivo por padrão
  • Pode ser estilizado com classes do Tailwind
  • Suporta propriedades de layout flexíveis
  • Mantém a acessibilidade por padrão
  • Pode ser usado em qualquer contexto de layout
  • Suporta modo somente leitura
  • Pode ser combinado com outros componentes
  • Ideal para sistemas de avaliação
  • Suporta estilos inline e classes CSS
  • Pode ser usado para diferentes tipos de feedback
  • Funciona bem com formulários de avaliação
  • Facilita a coleta de feedback
  • Suporta diferentes tamanhos de estrelas
  • Mantém estado consistente
  • Interface intuitiva e familiar