Saltar al contenido
Alea0.1
Pro
  1. Alea
  2. Componentes
  3. Formularios
  4. Rating

Formularios

Rating

Estrellas para calificar algo, o para mostrar una calificación.

import { Rating } from '@alea/ui';

Ejemplos

Rating

El hover previsualiza; las flechas lo cambian.

How useful was this?

4 of 5

Medias, íconos, tonos y el valor

allowHalf permite medias; icon cambia la estrella por cualquier ícono; tone lo colorea; showValue muestra el número o las palabras; presionar el valor actual lo borra.

Your rating
3.5
Favorites
Spicy
Hot
4.5

Configuraciones

Cada valor de cada propiedad, lado a lado. Los números coinciden con la leyenda.

allowClear: false
allowClear: true
allowHalf: false
allowHalf: true
sm
md
lg
accent
success
warning
danger
  1. Allow ClearallowClear
  2. Allow HalfallowHalf
  3. Sizesize
  4. Tonetone

Estados

Cada estado de interacción, forzado para compararlos, en ambos temas.

Oscuro

Habilitado
Hover
Foco
Presionado
Disabled
Read Only

Claro

Habilitado
Hover
Foco
Presionado
Disabled
Read Only

Anatomía

Las partes del componente y la clase que da estilo a cada una.

Tokens

Los tokens de diseño que usa este componente, con su valor en el tema actual. Cambia cualquiera para darle otro estilo.

Color

  • --alea-accent…
  • --alea-focus…
  • --alea-status-danger…
  • --alea-status-success…

Space

  • --alea-space-2…

Type

  • --alea-font-family-body…
  • --alea-font-size-md…
  • --alea-font-weight-semibold…

Other

  • --alea-rating-fill…

Props

Rating props

Íconos para calificar algo: estrellas o tu propio ícono, medias, borrar presionando otra vez, el valor visible, cuatro tonos. Las flechas se mueven, como en los radios.

PropTipoPor defectoDescripción
allowClearbooleantruePresionar otra vez el valor actual lo vuelve a 0. Por defecto true.
allowHalfboolean-Permite elegir medias (3,5). Los valores mostrados siempre pueden ser medias.
classNamestring-Clases extra para el elemento raíz.
defaultValuenumber0La calificación al inicio.
getValueLabel((n: number) => string)-Palabras para cada valor, leídas por los lectores de pantalla ("1 estrella" por defecto), y mostradas con showValue="label".
iconReactNode-El ícono: una estrella por defecto, o cualquier ícono (un corazón, una llama).
isDisabledboolean-Deshabilita todas sus partes.
isReadOnlyboolean-Muestra el valor sin dejar cambiarlo.
labelReactNode-Nombre de la calificación ("Califica este plugin").
maxnumber5Cantidad de íconos. Por defecto 5.
onChange((value: number) => void)-Se llama con la nueva calificación.
showValueboolean | "label"-Muestra el número después de los íconos ("4.5"), o las palabras del valor con "label".
size"sm" | "md" | "lg"'md'sm, md (por defecto) o lg.
tone"danger" | "accent" | "success" | "warning"-El color de los íconos llenos: warning (ámbar, por defecto), accent, danger o success.
valuenumber-La calificación (controlado), 0 para ninguna. Medias con allowHalf.

Especificaciones

Generado desde el código: las variantes de los tipos, los estados y tokens del CSS, y los patrones de motion que aplican. Las grillas muestran el componente real en ambos temas; los números se miden en la página.

Size

Oscuro

Rating dark
size="sm"size="md"size="lg"
Rating
Rating
Rating

Claro

Rating light
size="sm"size="md"size="lg"
Rating
Rating
Rating

Medido: alto · padding horizontal · radio de esquina · tamaño de texto, en px, de la grilla oscura.

Variantes
sizesmmdlg
tonedangeraccentsuccesswarning
Estados
Keyboard focusDisabledHover
Motion
pressmorph
Oscuro y claro
Cada color viene de tokens del tema, así que sigue a data-theme (y a presets como Graphite) en la página o en cualquier contenedor. El contraste se revisa en ambos temas.
Clases para estilos
.alea-rating-value.alea-rating.alea-rating-group.alea-rating-cell.alea-rating-item
Atributos data
data-size=smdata-size=lgdata-tone=accentdata-tone=dangerdata-tone=successdata-part=leftdata-part=right

Accesibilidad

  • Un grupo de radio: cada estrella es "n estrellas"; las calificaciones de solo lectura son una imagen con el valor.

Teclado

TeclaAcción
FlechasCambia la calificación

Qué hacer y qué evitar

Hacer

  • Muestra la cantidad de calificaciones junto a las estrellas.
  • Usa medias (allowHalf) solo cuando la diferencia importa; las estrellas enteras se eligen más rápido.

Evitar

  • No uses estrellas para una pregunta de sí o no.
  • No la hagas obligatoria sin decirlo.
Probado con axe, teclado y roles de lector de pantalla