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

Formularios

WheelPicker

Ruedas que giran para elegir, como el selector de un teléfono: una o varias columnas, columnas que dan la vuelta para horas y minutos, cinco o más filas visibles. Desliza, haz scroll, haz clic en una fila o usa las flechas.

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

Ejemplos

WheelPicker

Ruedas con scroll como el selector de un teléfono: una o varias columnas. Desliza o haz scroll y la fila del medio es la elegida; haz clic en una fila; o enfoca una columna y usa las flechas.

1 × Navy, size M

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-border…
  • --alea-surface-deep…
  • --alea-surface-raised…

Space

  • --alea-space-1…
  • --alea-space-2…

Radius

  • --alea-radius-lg…
  • --alea-radius-sm…

Component

  • --alea-wheel-row…

Props

WheelPicker props

Ruedas con scroll para elegir, como el selector de un teléfono: una o varias columnas (horas y minutos, talla y color). Desliza, haz scroll, haz clic en una fila, o usa las flechas.

PropTipoPor defectoDescripción
columnsobligatoriaWheelColumn<string | number>[]-Una o más columnas lado a lado.
aria-labelstring-Nombre de todo el selector.
classNamestring-Clases extra.
defaultValueRecord<string, string | number>-Los valores elegidos al inicio. Por defecto el primer elemento de cada columna.
onChange((value: Record<string, string | number>) => void)-Se llama con el valor de cada columna cuando una cambia.
rowHeightnumberROWAltura de fila en px. Por defecto 40 (44 en pantallas táctiles).
valueRecord<string, string | number>-El valor elegido de cada columna, por id de columna (controlado).
visibleRowsnumber5Cuántas filas se muestran. Los números impares centran la elección. Por defecto 5.

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.

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-wheel.alea-wheel-band

Accesibilidad

  • Cada columna es un spinbutton con el nombre de su etiqueta, y el valor elegido como texto.
  • La rueda que gira es una comodidad para el puntero; el teclado y los lectores de pantalla usan el spinbutton.
  • Las filas miden al menos 44 px en pantallas táctiles.

Teclado

TeclaAcción
Flecha arriba / AbajoValor anterior o siguiente
Re Pág / AbajoCinco valores
Inicio / FinPrimer o último valor
TabSiguiente columna

Qué hacer y qué evitar

Hacer

  • Úsalo en pantallas táctiles para listas cortas (tallas, cantidades, horas).

Evitar

  • No lo uses para listas largas: usa Select con búsqueda.
Probado con axe, teclado y roles de lector de pantalla