Checkbox
Contrôle de sélection booléen pour les paramètres, les formulaires, les filtres, le consentement et les flux de produits à sélection multiple dans PyColors UI.
Choix booléens pour les formulaires et les paramètres de produitsLien vers la section
Les Case à cocher Le composant permet aux utilisateurs de sélectionner une ou plusieurs options dans une liste, de confirmer un paramètre ou d’opter pour une condition spécifique.
Utilisez-le pour:
- paramètres basculent qui peuvent être sélectionnés indépendamment
- filtres à sélection multiple
- termes, consentement et champs de confirmation
- préférences groupées
- flux de produits de type checklist
- choix de forme facultatifs
Checkbox est construit sur Boîte à cocher Radix et stylisé avec des tokens sémantiques PyColors tels que border-input, bg-background, text-foregroundet ring-ring.
Idée de base
La case à cocher est pour la sélection explicite. Utilisez-le lorsque chaque option peut être cochée ou décochée indépendamment.
ImportationLien vers la section
import { Checkbox } from "@pycolors/ui";Utilisation de baseLien vers la section
Utilisez une case à cocher avec une étiquette lorsque l'utilisateur doit activer ou sélectionner une option.
Collectez des données sur l'utilisation des produits pour améliorer l'expérience du tableau de bord.
Règle des étiquettes
Toujours connecter l'étiquette visible avec la case à cocher en utilisant
htmlFor et id, à moins que l'étiquette n'enroule le contrôle directement.
Quand utiliser la case à cocherLien vers la section
Utilisez la case à cocher lorsque les options sont indépendantes et que l'utilisateur peut sélectionner plusieurs choix.
Paramètres
Filtres
Consentement
État vérifiéLien vers la section
Utilisation defaultChecked pour les cases à cocher non contrôlées et checked avec onCheckedChange État contrôlé du produit.
Cette option démarre et peut être modifiée par l'utilisateur.
Cette option démarre sans vérification.
Case à cocher contrôléeLien vers la section
Utilisez une case à cocher contrôlée lorsque la valeur cochée entraîne l'état de l'application.
Ajoutez des fondations d'auth, de facturation et d'route protégées à la configuration.
Règle de l'État
Radix Checkbox peut retourner true, falseou "indeterminate".
Convertissez la valeur intentionnellement lorsque votre application attend un
booléen.
État indéterminéLien vers la section
Utilisez l'état indéterminé pour les cases à cocher parent lorsque seuls certains éléments enfants sont sélectionnés.
Utilisation checked="indeterminate" lorsque votre application est la propriété de l'État, ou defaultChecked="indeterminate" pour une sélection partielle initiale non contrôlée. Appuyez sur Espace pour sélectionner une case à cocher partielle non contrôlée. À l'intérieur d'un formulaire, un bouton de réinitialisation natif restaure son état initial, y compris le tiret de sélection partielle.
import { Button, Checkbox, CheckboxField, CheckboxLabel } from "@pycolors/ui";
export function PartialSelection() {
return (
<form>
<CheckboxField>
<Checkbox
id="project-selection"
name="projects"
value="all"
defaultChecked="indeterminate"
/>
<CheckboxLabel htmlFor="project-selection">
Select projects
</CheckboxLabel>
</CheckboxField>
<Button type="reset" variant="outline">
Reset selection
</Button>
</form>
);
}Certaines fonctionnalités sont actuellement sélectionnées.
État handicapéLien vers la section
Utilisez les cases à cocher désactivées uniquement lorsque l'option ne peut pas être modifiée pour le moment.
Cette option n'est pas disponible sur le plan actuel.
Ce paramètre est activé par défaut et ne peut pas être modifié.
Disabled copy
Lorsqu’une option désactivée peut frustrer les utilisateurs, expliquez pourquoi elle n’est pas disponible et ce qui la déverrouille.
Validation du formulaireLien vers la section
Utilisez le error prop lorsqu'une case à cocher requise n'est pas sélectionnée. Il rend visible la copie d'erreur, définit aria-invalid, et relie le message aux deux aria-describedby et aria-errormessage. L'erreur a role="alert"Il est donc annoncé lorsqu'il apparaît. Fourni par les consommateurs aria-describedby Les valeurs sont conservées à côté de l'identifiant du message d'erreur.
You must accept the terms before continuing.
Nécessaire avant de créer un espace de travail.
UtilisationsLien vers la section
Utilisez des cases à cocher pour les options indépendantes
Chaque case à cocher doit représenter un choix qui peut être sélectionné sans forcer une décision mutuellement exclusive.
Gardez les étiquettes claires et précises
L'étiquette doit expliquer exactement ce qui est activé, sélectionné ou confirmé.
Ajouter des descriptions pour les conséquences importantes
Utilisation CheckboxDescription lorsque le choix affecte la confidentialité, la facturation, la livraison, la visibilité ou l'accès.
Gérer l'état indéterminé intentionnellement
Utilisation "indeterminate" uniquement lorsqu'il représente un état de groupe mixte.
Valider les confirmations requises
Pour les champs de consentement ou de conditions requis, affichez un message d'erreur directe près de la case à cocher.
Checkbox vs Switch vs Radio GroupLien vers la section
| Situation | Utilisation |
|---|---|
| Sélections indépendantes multiples | Case à cocher |
| Consentement ou confirmation requis | Case à cocher |
| Sélection de parents avec des enfants mixtes | Case à cocher avec état indéterminé |
| Mise en marche/arrêt immédiate | Commutateur |
| Un choix parmi un groupe mutuellement exclusif | Groupe Radio |
| Petite liste d'actions de menu | Menu déroulant |
Règle de décision
Utilisez la case à cocher pour la sélection, le commutateur pour l'activation immédiate et le groupe Radio pour un choix exclusif.
APILien vers la section
Composants
| Composante | Désignation |
|---|---|
Checkbox | Contrôle de la case à cocher racine construit sur Radix |
CheckboxField | Aide à la mise en page pour les lignes de case à cocher |
CheckboxContent | Aide à la pile de texte pour l'étiquette et la description |
CheckboxLabel | Aide-étiquette accessible |
CheckboxDescription | Texte d'appui |
Cocher les props
| Prop | Type | Par défaut | Désignation |
|---|---|---|---|
checked | boolean | "indeterminate" | — | État contrôlé vérifié |
defaultChecked | boolean | "indeterminate" | — | État initial vérifié sans contrôle |
onCheckedChange | (checked) => void | — | Appelé lorsque l'état vérifié change |
disabled | boolean | false | Désactive la case à cocher |
required | boolean | false | Cochez la case au besoin |
error | string | — | Rend une erreur annoncée et définit l'état invalide |
name | string | — | Nom du champ de formulaire |
value | string | — | Valeur du formulaire soumis |
className | string | — | Autres classes Tailwind |
Checkbox étend Radix Checkbox Root props.
TypeScript typesLien vers la section
export interface CheckboxProps extends React.ComponentPropsWithoutRef<
typeof CheckboxPrimitive.Root
> {
error?: string;
}
const Checkbox = React.forwardRef<
React.ComponentRef<typeof CheckboxPrimitive.Root>,
CheckboxProps
>((props, ref) => {
// ...
});AccessibilitéLien vers la section
Checkbox est construit sur les primitives Radix Checkbox.
Cela signifie :
- L'interaction du clavier est gérée
- Les états vérifiés et indéterminés sont exposés aux technologies d'assistance.
- L'état désactivé est exposé correctement
- focus style utilise PyColors ring tokens
- L'utilisation des formulaires fonctionne grâce à la sémantique des formulaires natifs
errorrend visible la copie d'erreur et les filsaria-invalid,aria-describedbyetaria-errormessage
Directives :
- fournir une étiquette visible pour chaque case à cocher
- connecter des étiquettes en utilisant
htmlForetid - utiliser des descriptions pour des choix ayant des conséquences
- Ne comptez pas uniquement sur la couleur pour les états de validation
- utiliser le
errorprop pour les confirmations requises non valides - Gardez les étiquettes courtes et orientées vers l'action
Règle d'accessibilité
Une case à cocher a besoin d'un nom accessible clair. L'étiquette doit avoir un sens même lorsqu'elle est lue sans contexte.
Préférez/évitezLien vers la section
Préférez
- étiquettes claires liées à htmlFor et id
- cases à cocher pour les choix indépendants multi-sélection
- description de l'impact sur la vie privée, la facturation ou l'accès
- état indéterminé pour la sélection mixte des parents
- copie de validation visible pour les confirmations requises
Éviter
- Cochez la case pour des choix mutuellement exclusifs
- utiliser la case à cocher comme paramètre immédiat lorsque le commutateur est plus clair
- étiquettes qui disent seulement « Oui » ou « Activer »
- Options désactivées sans explication
- communication d'erreur couleur uniquement
Directives de copie du produitLien vers la section
La copie de case à cocher doit décrire le résultat sélectionné, pas le contrôle de l'interface utilisateur.
Envoyer un résumé hebdomadaire du produit
Recevez un court e-mail avec l'utilisation, la facturation et l'activité de l'espace de travail.