Skip to content

Switch

Interruptor on/off para activar o desactivar opciones.


Import

jsx
import { Switch } from '@imansi/ui';

Uso básico

jsx
<Switch label="Modo oscuro" />

Estados

Activo por defecto

jsx
<Switch label="Notificaciones" defaultChecked />

Deshabilitado

jsx
<Switch label="Función no disponible" disabled />

Con descripción

jsx
<Switch
  label="Notificaciones por email"
  hint="Recibí un correo cuando alguien te mencione"
/>

Controlado

jsx
import { useState } from 'react';
import { Switch } from '@imansi/ui';

export function Configuracion() {
  const [oscuro, setOscuro] = useState(false);

  function toggleModo(checked) {
    setOscuro(checked);
    document.documentElement.dataset.mode = checked ? 'dark' : 'light';
  }

  return (
    <Switch
      label="Modo oscuro"
      checked={oscuro}
      onCheckedChange={toggleModo}
    />
  );
}

Props

PropTipoDefaultDescripción
labelstring | ReactNodeTexto del switch
hintstringTexto de ayuda
checkedbooleanEstado controlado
defaultCheckedbooleanfalseEstado inicial
onCheckedChange(checked: boolean) => voidCallback al cambiar
disabledbooleanfalseDeshabilita el switch
idstringautogeneradoID del input
classNamestringClases adicionales

Switch vs Checkbox

CaracterísticaSwitchCheckbox
Uso típicoConfiguración on/offSelección múltiple
EfectoInmediatoRequiere confirmar
Ejemplo"Modo oscuro""Acepto términos"

Accesibilidad

  • role="switch" con aria-checked
  • Navegable con Tab, toggle con Space
  • Compatible con lectores de pantalla

Hecho con ❤️ en Argentina