InputCard
On a parfois besoin d'utiliser un composant plus visuel qu'un simple groupe de checkbox ou de radios pour proposer un choix à l'utilisateur. L'InputCard répond à ce besoin en proposant un bloc large (particulièrement adapté au tap sur mobile) contenant texte et icône au lieu d'un simple label.
L'InputCard peut être utilisé par exemple pour un choix entre plusieurs réglages, options ou fonctionnalités.
Checkbox ou Radio ?#
| Props | Valeurs autorisées | Valeur par défaut |
|---|---|---|
| type | radio, checkbox | radio |
L'input créé dans l'InputCard peut être de type radio ou checkbox en fonction de la nécessité d'avoir plusieurs options sélectionnables ou non.
important
Si c'est un radio, n'oubliez pas de faire passer un name identique à tous les InputCard du même groupe !
Taille et style#
| Props | Valeurs autorisées | Valeur par défaut |
|---|---|---|
| blockSize | md, lg | lg |
- Le
blockSizelgdéfinit des InputCard carrés de 150px * 150px (ou 120px * 120px sur des écrans inférieurs àtheme.screen.min.sm). - Le
blockSizemddéfinit des InputCard de la taille de leur contenu, ce qui les rend moins hauts et parfois moins larges que leslg.
Autres props#
| Props | Type ou valeurs autorisées | Valeur par défaut |
|---|---|---|
| id | string | ⚠️ Requis |
| text | string OR object | Aucune |
- L'
idest obligatoire et doit être unique dans toute la page, car il permet au<label>de communiquer avec l'<input>. - Le
textdéfinit le texte à afficher dans l'InputCard sous l'icône, lequel doit être passé commechildren. L'icône comme letextsont facultatifs, mais il est fortement conseillé de toujours définir untextpour des raisons d'accessibilité. - Toutes les autres props de l'InputCard sont passées directement à son
inputafin de permettre de lui ajouter tous les attributs nécessaires (nameouchecked, par exemple).
Exemples#
InputCard radio lg#
Il s'agit de la version par défaut de ce composant.