Switch
Interruptor binario on/off con soporte de estado controlado. Tres tamaños, cinco tonos, label y description opcionales, y posición del label configurable (start o end).
Instalación#
bash
pnpm add @tsukira/uiUso#
tsx
import { Switch } from "@tsukira/ui"; <Switch label="Notificaciones" defaultChecked /><Switch label="Modo oscuro" checked={dark} onCheckedChange={setDark} /><Switch label="En construcción" labelPlacement="start" disabled />Ejemplos#
Playground
cambia las props y el código se regeneraname
required
Inactivo
size
tone
label
description
labelPlacement
Tamaños
sm · md · lgTonos
brand · success · warning · danger · inkPosición del label
labelPlacement start · endCon description
label + descriptionFusión: panel de ajustes en Card
Switch + Card — filas etiquetadas con estado controladoAjustes de cuenta
Personaliza tu experiencia.
Notificaciones push
Alertas en tiempo real en tu dispositivo.
Notificaciones por correo
Resumen diario de actividad.
Sincronización automática
Actualiza datos en segundo plano.
Funciones beta
Acceso anticipado a nuevas características.
Fusión: fila de notificaciones con Badge
Switch + Badge — canal de notificación con indicador de estadoPush
ActivoCorreo
ActivoSMS
PausadoSlack
No configAPI#
SwitchPropsextends Omit< ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'onChange' | 'checked' | 'defaultChecked' >| Prop | Tipo | Default | Descripción |
|---|---|---|---|
checked | boolean | — | Estado controlado. |
defaultChecked | boolean | — | Estado inicial (no controlado). |
onCheckedChange | ((checked: boolean) => void) | — | — |
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 | — | — |
labelPlacement | 'start' | 'end' | — | Posición del label respecto al switch. |