Card
Composant de surface utilisé pour regrouper le contenu, les actions et les métadonnées dans l'interface utilisateur PyColors.
Surfaces structurées pour interface produitLien vers la section
Les Carte Component est une surface fondamentale utilisée pour regrouper le contenu, les actions et les métadonnées associés.
Utilisez-le pour:
- tuiles de tableau de bord
- blocs de tarification
- panneaux de réglages
- résumés de facturation
- caractéristiques des cartes
- liste des éléments
- états vides
- sections de compte
- surfaces des produits
La carte est construite sur des tokens sémantiques tels que bg-card, border-borderet text-card-foreground, de sorte qu'il reste cohérent à travers des thèmes clairs et sombres.
Idée de base
La carte crée la structure. Utilisez-le pour regrouper du contenu significatif, pas comme décoration.
ImportationLien vers la section
import { Card } from "@pycolors/ui";Utilisation de baseLien vers la section
Utilisez Card pour regrouper un titre, une description, un contenu et des actions de pied de page facultatives.
Compte
Gérez vos paramètres de profil.
Mettez à jour les détails personnels, les préférences de sécurité et les intégrations.
Quand utiliser la carteLien vers la section
Utilisez Card lorsque le contenu a besoin d'une surface claire, d'une limite ou d'un groupement.
Tableaux de bord
Paramètres
Facturation
VariantesLien vers la section
Les cartes supportent les variantes sémantiques de surface.
Utilisez des variantes pour ajuster le contraste sans changer la mise en page.
Par défaut
Surface standard.
Muted
Surface secondaire subtile.
transparent
Surface de mise en page uniquement.
Variantes disponiblesLien vers la section
| Variante | Objet |
|---|---|
default | Surface principale utilisant bg-card |
muted | Surface secondaire utilisant un fond plus doux |
transparent | Conteneur de mise en page uniquement sans arrière-plan rempli |
Variante de règle
Utilisation default pour les surfaces primaires, muted pour les groupes
secondaires, et transparent Lorsque vous n’avez besoin que de structure.
Cartes interactivesLien vers la section
interactive ajoute des affordances visuelles uniquement - curseur, arrière-plan plan et un anneau focus-visible. La carte n'attache jamais son propre clic ou la manipulation du clavier, donc une carte interactive doit composer asChild avec un réel <button> pour une action ou un réel <a>/Link pour la navigation. Ces éléments fournissent le clavier correct, la focus et le clic sémantique nativement - Card n'a pas besoin (et ne doit pas) les recréer.
Support clavier
interactive Ne jamais ajouter role, tabIndex, ou la manipulation du
clavier - il est visuel seulement. A nue Card interactive avec aucun
asChild target n'est pas accessible au clavier ou au lecteur d'écran.
Toujours composer asChild avec un réel button pour des actions ou un réel
a/Link pour la navigation.
Avec icôneLien vers la section
Utilisation asChild pour rendre la carte comme un autre élément tout en préservant son style.
Ceci est utile pour les cartes de lien.
CompositionLien vers la section
Une carte suit généralement cette structure:
<Card>
<CardHeader>
<CardTitle>Title</CardTitle>
<CardDescription>Description</CardDescription>
</CardHeader>
<CardContent>Content</CardContent>
<CardFooter>Actions</CardFooter>
</Card>Utilisez chaque slot intentionnellement :
| Emplacement | Objet |
|---|---|
CardHeader | Présente la surface |
CardTitle | Nomme le contenu groupé |
CardDescription | Ajoute un contexte court |
CardContent | Contient le corps principal |
CardFooter | Détient des actions ou des métadonnées de support |
UtilisationsLien vers la section
Commencez par le groupe de contenu
Utilisez Card uniquement lorsque le contenu appartient ensemble.
Ajouter un titre clair
La plupart des cartes devraient avoir un titre qui explique le but de la surface.
Gardez les actions dans le pied de page
Les actions de pied de page rendent la carte plus facile à numériser et à garder la mise en page prévisible.
Utilisez l'interactivité délibérément
Les cartes interactives doivent être cliquables ou sélectionnables. Les cartes statiques ne devraient pas avoir d'affordances en vol stationnaire.
Préserver le comportement sémantique
Utilisation asChild avec un véritable lien pour les cartes de navigation.
Carte vs section vs listeLien vers la section
| Situation | Utilisation |
|---|---|
| Contenu groupé avec une surface visible | Carte |
| Grande section de page avec des titres | Chapitre |
| Rangées compactes répétées | Élément de liste |
| Tuile de navigation | Carte avec asChild lien |
| KPI ou métrique | Carte |
| Données du tableau | Tableau |
| Statut temporaire ou erreur | Alerte ou état vide |
Règle de décision
Utilisez Card lorsque la surface aide les utilisateurs à comprendre le regroupement, la priorité ou l'interaction.
APILien vers la section
Composants
| Composante | Désignation |
|---|---|
Card | Surface des racines |
CardHeader | Zone de tête |
CardTitle | Titre de la carte |
CardDescription | Texte d ' appui |
CardContent | Zone de contenu principale |
CardFooter | Actions de pied de page ou métadonnées |
Card props
| Prop | Type | Par défaut | Désignation |
|---|---|---|---|
variant | CardVariant | "default" | Style de surface |
interactive | boolean | false | Ajoute des commentaires hover et focus-visible |
asChild | boolean | false | Rendu via Radix Slot |
className | string | — | Autres classes Tailwind |
La carte étend le standard HTML div props.
React.HTMLAttributes<HTMLDivElement>;TypeScript typesLien vers la section
export type CardVariant = "default" | "muted" | "transparent";
export type CardInteractive = boolean;AccessibilitéLien vers la section
Directives :
- utiliser des en-têtes significatifs à l'intérieur des cartes lorsqu'elles introduisent une section
interactiveajoute seulement des affordances visuelles (curseur, hover, anneau de focus-visible) - il n'ajoute jamaisrole,tabIndex, ou manipulation du clavier- a nues
Card interactiveavec aucunasChildtarget n'est pas accessible au clavier ou au lecteur d'écran - il s'agit uniquement de style - utilisation
asChildavec un réela/Linkpour les cartes de navigation - utilisation
asChildavec un réelbuttonpour les cartes d'action asChild interactiveemballer un élément non focalisable (par exemple undiv) n'est pas valide - l'enfant sloté doit être un élément interactif réel- éviter les contrôles interactifs imbriqués dans une carte cliquable
- garder les états de focus visibles pour les cartes interactives
- ne pas rendre une carte interactive uniquement pour la décoration visuelle
Règle d'accessibilité
Carte ne synthétise jamais le clavier ou le comportement de focus. Une
carte interactive n'est vraiment accessible que lorsque asChild Envelopper
un réel a/Link (navigation) ou button (action) - ces éléments
fournissent un clavier correct, une focus et une sémantique de clic
nativement.
Préférez/évitezLien vers la section
Préférez
- Groupement clair
- Rythme de carte cohérent
- Rubriques sémantiques
- actions de pied de page pour les actions de niveau carte
- sémantique du lien réel pour les cartes de navigation
Éviter
- Cartes utilisées uniquement pour la décoration
- Trop de cartes imbriquées
- Style interactif sur le contenu statique
- Cartes cliquables sans sémantique de lien ou de bouton
- plusieurs actions concurrentes à l'intérieur d'une carte cliquable
Directives de copie du produitLien vers la section
La copie de la carte devrait rendre le contenu groupé facile à comprendre.
Exemples de titres forts
Titles should describe the surface immediately without extra wording.