Toggle
Botón con estado on/off. Ideal para filtros, toggles de vista o modos.
Import
jsx
import { Toggle } from '@imansi/ui';Uso básico
jsx
<Toggle>B</Toggle>Con ícono
jsx
import { Bold, Italic, Underline } from 'lucide-react';
<Toggle aria-label="Negrita">
<Bold className="h-4 w-4" />
</Toggle>Variantes
jsx
<Toggle variant="default">Default</Toggle>
<Toggle variant="outline">Outline</Toggle>Tamaños
jsx
<Toggle size="sm">Pequeño</Toggle>
<Toggle size="md">Mediano</Toggle>
<Toggle size="lg">Grande</Toggle>Controlado
jsx
const [activo, setActivo] = useState(false);
<Toggle pressed={activo} onPressedChange={setActivo}>
<Bold className="h-4 w-4" />
</Toggle>Props
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
variant | 'default' | 'outline' | 'default' | Estilo visual |
size | 'sm' | 'md' | 'lg' | 'md' | Tamaño |
pressed | boolean | — | Estado controlado |
defaultPressed | boolean | false | Estado inicial |
onPressedChange | (pressed: boolean) => void | — | Callback |
disabled | boolean | false | Deshabilita |
Accesibilidad
aria-pressedse actualiza automáticamente- Navegable con Tab, toggle con Space
aria-labelobligatorio si solo tiene ícono
