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 | ReactNode—Texto del switch
hintstring—Texto de ayuda
checkedboolean—Estado controlado
defaultCheckedbooleanfalseEstado inicial
onCheckedChange(checked: boolean) => void—Callback al cambiar
disabledbooleanfalseDeshabilita el switch
idstringautogeneradoID del input
classNamestring—Clases 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