3 out of 5
Instalación
npx logic2b@next add ratingUso
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.
Accesibilidad
- Sigue el patrón de grupo de opciones: cada paso es un botón con
role="radio",aria-checkedy 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.
<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.
Rating
ComponenteRating — 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 }| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
value | number | No | — | — |
defaultValue | number | No | — | — |
onValueChange | (value: number) => void | No | — | — |
max | number | No | 5 | — |
readOnly | boolean | No | false | — |
disabled | boolean | No | false | — |
icon | React.ReactNode | No | — | — |
aria-label | string | No | "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.
- Soporte
- Comportamiento implementado
- Patrón
- radio group
| Teclas | Comportamiento |
|---|---|
| ArrowUp ArrowDown ArrowLeft ArrowRight | Move within the composite control. |
| Home End | Move to the minimum or maximum rating. |
| Space | Select 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.