@brickslab/ui-web
Case à cocher stylisée avec appearance:none et SVG background-image. Composant contrôlé — reçoit checked et onChange du parent. Supporte 3 tailles, état disabled et label React.ReactNode. Focus visible accessible.
États
unchecked · checked · disabled unchecked · disabled checked
Tailles
sm 14px · md 16px · lg 20px
Sans label
case seule — utile dans des tableaux ou des listes
Groupe contrôlé
plusieurs cases indépendantes gérées par useState
Label riche
label accepte React.ReactNode — liens, formatage
Props
| Prop | Type | Défaut | Requis | Description |
|---|---|---|---|---|
checked | boolean | — | — | État coché — contrôlé par le parent. |
defaultChecked | boolean | — | — | État coché initial — mode non-contrôlé. |
onChange | (checked: boolean) => void | — | — | Callback appelé à chaque changement d'état. |
label | React.ReactNode | — | — | Texte ou JSX affiché à droite de la case. |
disabled | boolean | false | — | Désactive l'interaction. |
size | "sm" | "md" | "lg" | "md" | — | Taille de la case à cocher (14 / 16 / 20 px). |
id | string | — | — | Attribut id natif — utile pour associer un label externe. |
name | string | — | — | Attribut name natif pour les formulaires. |
value | string | — | — | Valeur soumise dans un formulaire HTML. |