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

Formularios

OTPField

Códigos de un solo uso en casillas separadas; pega el código completo de una vez.

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

Ejemplos

OTPField

Escribe, pega o deja que el teléfono lo llene.

Code we sent to ale@example.com

Oculto y con error

Un PIN oculta sus caracteres; los errores dicen qué hacer.

PIN
Recovery code
That code expired. Ask for a new one.

Configuraciones

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

mask: false
mask: true
numeric
alphanumeric
  1. Maskmask
  2. Typetype

Estados

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

Oscuro

Habilitado
Hover
Foco
Presionado
Disabled
Invalid

Claro

Habilitado
Hover
Foco
Presionado
Disabled
Invalid

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-bg…
  • --alea-border-strong…
  • --alea-field-bg…
  • --alea-focus…
  • --alea-focus-halo…
  • --alea-status-danger…
  • --alea-text…

Radius

  • --alea-radius-sm…

Type

  • --alea-font-family-mono…
  • --alea-font-weight-semibold…

Motion

  • --alea-motion-duration-fast…

Props

OTPField props

Códigos de un solo uso en casillas separadas: pega el código completo, las flechas y Retroceso se mueven entre casillas.

PropTipoPor defectoDescripción
defaultValuestring''El código al inicio.
errorMessageReactNode-El error mostrado cuando es inválido.
isDisabledboolean-Deshabilita todas sus partes.
isInvalidboolean-Lo marca como inválido y muestra errorMessage.
labelReactNode-La etiqueta visible ("Código de verificación").
lengthnumber6Cantidad de caracteres. Por defecto 6.
maskboolean-Oculta los caracteres (PIN).
namestring-Nombre del campo del formulario para el valor unido.
onChange((value: string) => void)-Se llama con el código mientras se escribe.
onComplete((value: string) => void)-Se llama cuando todas las casillas están llenas.
type"numeric" | "alphanumeric"'numeric'numeric (por defecto) o alphanumeric.
valuestring-El código (controlado).

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.

Variantes
typenumericalphanumeric
Estados
Focus (CSS)InvalidDisabled
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-otp.alea-otp-boxes.alea-otp-box.alea-field-error

Accesibilidad

  • Un grupo con etiqueta; cada casilla dice qué carácter es.
  • La primera casilla tiene autocomplete="one-time-code", así los teléfonos ofrecen el código del SMS.

Teclado

TeclaAcción
EscribirLlena y avanza
RetrocesoBorra y retrocede
Flecha izquierda / DerechaSe mueven entre casillas
PegarLlena todas las casillas

Qué hacer y qué evitar

Hacer

  • Di a dónde se envió el código.

Evitar

  • No caduques sin avisar.
Probado con axe, teclado y roles de lector de pantalla