Checkbox

Casilla de verificación con soporte de estado controlado e indeterminado. Tres tamaños, cinco tonos de color y label/description opcionales. Al hacer clic, el estado indeterminado pasa directamente a true.

Instalación#

bash
pnpm add @tsukira/ui

Uso#

tsx
import { Checkbox } from "@tsukira/ui"; <Checkbox label="Recordar sesión" defaultChecked /><Checkbox label="Aceptar términos" required /><Checkbox checked="indeterminate" label="Seleccionar todos" onCheckedChange={(v) => console.log(v)} />

Ejemplos#

Playground

cambia las props y el código se regenera

name

required

Inactivo

size

tone

label

description

Tamaños

sm · md · lg

Tonos

brand · success · warning · danger · ink

Estados

checked · indeterminate · disabled

Con description

label + description

Fusión: lista de tareas con Badge de prioridad

Checkbox + Badge — estado controlado con useState
Alta
Media
Media
Baja

0/4 completadas

Fusión: formulario de consentimientos en Card

Checkbox + Card + Button — botón habilitado solo si se marcan los requisitos

Crear cuenta

Revisa y acepta las condiciones antes de continuar.

API#

CheckboxPropsextends Omit< ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'onChange' | 'checked' | 'defaultChecked' >
PropTipoDefaultDescripción
checkedCheckboxCheckedStateEstado controlado.
defaultCheckedCheckboxCheckedStateEstado inicial (no controlado).
onCheckedChange((checked: CheckboxCheckedState) => void)Cambio de estado (indeterminate pasa a true al hacer clic).
namestringParticipa en formularios nativos vía un input oculto.
valuestring
requiredboolean
size'sm' | 'md' | 'lg'
tone'brand' | 'success' | 'warning' | 'danger' | 'ink'
labelstring
descriptionstring