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/uiUso#
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 regeneraname
required
Inactivo
size
tone
label
description
Tamaños
sm · md · lgTonos
brand · success · warning · danger · inkEstados
checked · indeterminate · disabledCon description
label + descriptionFusión: lista de tareas con Badge de prioridad
Checkbox + Badge — estado controlado con useStateAlta
Media
Media
Baja
0/4 completadas
Fusión: formulario de consentimientos en Card
Checkbox + Card + Button — botón habilitado solo si se marcan los requisitosCrear cuenta
Revisa y acepta las condiciones antes de continuar.
API#
CheckboxPropsextends Omit< ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'onChange' | 'checked' | 'defaultChecked' >| Prop | Tipo | Default | Descripción |
|---|---|---|---|
checked | CheckboxCheckedState | — | Estado controlado. |
defaultChecked | CheckboxCheckedState | — | Estado inicial (no controlado). |
onCheckedChange | ((checked: CheckboxCheckedState) => void) | — | Cambio de estado (indeterminate pasa a true al hacer clic). |
name | string | — | Participa en formularios nativos vía un input oculto. |
value | string | — | — |
required | boolean | — | — |
size | 'sm' | 'md' | 'lg' | — | — |
tone | 'brand' | 'success' | 'warning' | 'danger' | 'ink' | — | — |
label | string | — | — |
description | string | — | — |