Card

Composant de surface utilisé pour regrouper le contenu, les actions et les métadonnées dans l'interface utilisateur PyColors.

UIMise à jour 28 avril 2026
UICarte

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

card-import.tsx
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

Utilisez pour les tuiles KPI, les résumés analytiques et les sections de tableau de bord groupées.

Paramètres

Utilisation pour les panneaux de paramètres de profil, d'organisation, de sécurité et de facturation.

Facturation

Utilisez pour les résumés de plan, les blocs de facture et les surfaces de méthodes de paiement.

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

VarianteObjet
defaultSurface principale utilisant bg-card
mutedSurface secondaire utilisant un fond plus doux
transparentConteneur 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.

Voir les tarifs

Un lien réel donne une navigation native et un comportement d'ouverture dans un nouvel onglet.

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-anatomy.tsx
<Card>
  <CardHeader>
    <CardTitle>Title</CardTitle>
    <CardDescription>Description</CardDescription>
  </CardHeader>

  <CardContent>Content</CardContent>

  <CardFooter>Actions</CardFooter>
</Card>

Utilisez chaque slot intentionnellement :

EmplacementObjet
CardHeaderPrésente la surface
CardTitleNomme le contenu groupé
CardDescriptionAjoute un contexte court
CardContentContient le corps principal
CardFooterDé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.

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

SituationUtilisation
Contenu groupé avec une surface visibleCarte
Grande section de page avec des titresChapitre
Rangées compactes répétéesÉlément de liste
Tuile de navigationCarte avec asChild lien
KPI ou métriqueCarte
Données du tableauTableau
Statut temporaire ou erreurAlerte 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

ComposanteDésignation
CardSurface des racines
CardHeaderZone de tête
CardTitleTitre de la carte
CardDescriptionTexte d ' appui
CardContentZone de contenu principale
CardFooterActions de pied de page ou métadonnées

Card props

PropTypePar défautDésignation
variantCardVariant"default"Style de surface
interactivebooleanfalseAjoute des commentaires hover et focus-visible
asChildbooleanfalseRendu via Radix Slot
classNamestring—Autres classes Tailwind

La carte étend le standard HTML div props.

card-props.ts
React.HTMLAttributes<HTMLDivElement>;

TypeScript typesLien vers la section

card-types.ts
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
  • interactive ajoute seulement des affordances visuelles (curseur, hover, anneau de focus-visible) - il n'ajoute jamais role, tabIndex, ou manipulation du clavier
  • a nues Card interactive avec aucun asChild target n'est pas accessible au clavier ou au lecteur d'écran - il s'agit uniquement de style
  • utilisation asChild avec un réel a/Link pour les cartes de navigation
  • utilisation asChild avec un réel button pour les cartes d'action
  • asChild interactive emballer un élément non focalisable (par exemple un div) 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.

AccountCurrent planRecent invoicesProject activityTeam members

Questions courantesLien vers la section