@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. |
Override rapide
Tous les paramètres listés dans cette table sont overrideables via les props. Utilisez ce squelette comme point de départ.
<MyComponent
checked={true}
defaultChecked={true}
onChange={true}
label={<span>...</span>}
disabled={false}
size="md"
id="..."
name="..."
// +1 autres props disponibles
/>checkeddefaultCheckedonChangelabeldisabledsizeidnamevalue