Saltar al contenido
Logic2BUI

Buscar en la documentación

Busca componentes y documentación

Nuevo
Menú

Valoración

Campo de valoración por estrellas basado en el patrón de grupo de opciones, con previsualización al pasar el puntero y modo de solo lectura.

3 out of 5

Instalación

npx logic2b@next add rating

Uso

import { Rating } from "@/components/ui/rating"

const [value, setValue] = React.useState(0)

<Rating value={value} onValueChange={setValue} aria-label="Valorar" />

Al volver a pulsar el valor actual, la valoración se restablece a 0.

Ejemplos

Solo lectura

Para mostrar puntuaciones, el grupo pasa a tener role="img" y una etiqueta con el formato «etiqueta: n de máximo». Puedes usar cualquier icono.

4.0 · 128 reviews

Accesibilidad

  • Sigue el patrón de grupo de opciones: cada paso es un botón con role="radio", aria-checked y una etiqueta «n de máximo».
  • Las teclas de flecha cambian el valor y la selección sigue al foco; Inicio y Fin saltan a 1 y al máximo.
  • Las valoraciones de solo lectura se anuncian como una única imagen con la puntuación en su etiqueta, no como un control desactivado.

Playground interactivo

Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.

JSX generado
<Rating
  defaultValue={3}
  max={5}
  aria-label="Product rating"
 />

Referencia de API

Generada a partir de las exportaciones públicas de TypeScript en src/ui/rating.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.

Ver JSON

Rating

Componente

Rating — a star (or custom icon) rating following the radio-group pattern: each star is a radio, arrows move the value, hover previews it. `readOnly` renders a static, labelled image instead.

Props: Omit<React.ComponentProps<"div">, "defaultValue" | "onChange"> & { value?: number defaultValue?: number onValueChange?: (value: number) => void max?: number readOnly?: boolean disabled?: boolean icon?: React.ReactNode }
PropiedadTipoObligatoriaValor predeterminadoDescripción
valuenumberNo——
defaultValuenumberNo——
onValueChange(value: number) => voidNo——
maxnumberNo5—
readOnlybooleanNofalse—
disabledbooleanNofalse—
iconReact.ReactNodeNo——
aria-labelstringNo"Rating"—

Contrato de accesibilidad

Comportamiento legible por máquinas y responsabilidades de quien integra rating. Los detalles normativos conservan el texto canónico del registro.

Ver JSON
Soporte
Comportamiento implementado
Patrón
radio group
Interacciones de teclado para rating
TeclasComportamiento
ArrowUp ArrowDown ArrowLeft ArrowRightMove within the composite control.
Home EndMove to the minimum or maximum rating.
SpaceSelect the focused rating.

Semántica incorporada

  • Interactive stars expose radiogroup/radio and aria-checked; read-only mode is a labelled image.

Responsabilidades de integración

  • Provide a contextual label and visible text for the meaning of the scale.