Skip to content

Checkbox

Casilla de verificación accesible con label integrado.


Import

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

Uso básico

jsx
<Checkbox label="Acepto los términos y condiciones" />

Con label separado

jsx
<div className="flex items-center gap-2">
  <Checkbox id="terms" />
  <Label htmlFor="terms">Acepto los términos</Label>
</div>

Estados

Marcado por defecto

jsx
<Checkbox label="Recibir newsletter" defaultChecked />

Deshabilitado

jsx
<Checkbox label="Opción no disponible" disabled />
<Checkbox label="Opción fija" disabled defaultChecked />

Con hint

jsx
<Checkbox
  label="Recordarme"
  hint="Mantené la sesión activa por 30 días"
/>

Controlado

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

export function Ejemplo() {
  const [checked, setChecked] = useState(false);

  return (
    <Checkbox
      label="Acepto los términos"
      checked={checked}
      onCheckedChange={setChecked}
    />
  );
}

Props

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

Accesibilidad

  • Navegable con Tab
  • Se marca/desmarca con Space
  • aria-checked se actualiza automáticamente
  • Compatible con lectores de pantalla

Hecho con ❤️ en Argentina