Card

Conteneur avec des sections en-tete, contenu et pied de page. Installez Card depuis le registre VLLNT UI avec la CLI shadcn.

Signaler un bug

Conteneur avec des sections en-tete, contenu et pied de page. Fait partie de la famille content dans VLLNT UI, il est publie comme entree de registre lisible par machine — copiez la source directement dans votre application avec la CLI shadcn et possedez-la, sans dependance d'execution a une bibliotheque de composants.

Apercu

Basculez entre clair et sombre pour inspecter l'apercu Storybook integre.

Installation

Ajoutez Card a votre projet avec la CLI shadcn. La source arrive dans votre code, prete a etre adaptee :

pnpm dlx shadcn@latest add https://ui.vllnt.ai/r/card.json

Source

import * as React from "react"; import { cn } from "../../lib/utils"; const Card = ({ className, ref: reference, ...props }: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement>; }) => ( <div className={cn( "rounded-lg border bg-card text-card-foreground shadow-sm", className, )} ref={reference} {...props} /> ); Card.displayName = "Card"; const CardHeader = ({ className, ref: reference, ...props }: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement>; }) => ( <div className={cn("flex flex-col space-y-1.5 p-6", className)} ref={reference} {...props} /> ); CardHeader.displayName = "CardHeader"; const CardTitle = ({ className, ref: reference, ...props }: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement>; }) => ( <div className={cn( "text-2xl font-semibold leading-none tracking-tight", className, )} ref={reference} {...props} /> ); CardTitle.displayName = "CardTitle"; const CardDescription = ({ className, ref: reference, ...props }: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement>; }) => ( <div className={cn("text-sm text-muted-foreground", className)} ref={reference} {...props} /> ); CardDescription.displayName = "CardDescription"; const CardContent = ({ className, ref: reference, ...props }: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement>; }) => <div className={cn("p-6 pt-0", className)} ref={reference} {...props} />; CardContent.displayName = "CardContent"; const CardFooter = ({ className, ref: reference, ...props }: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement>; }) => ( <div className={cn("flex items-center p-6 pt-0", className)} ref={reference} {...props} /> ); CardFooter.displayName = "CardFooter"; export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, };

Stories

Explorez chaque variante et etat dans le Storybook interactif :

Apercu

Basculez entre clair et sombre pour inspecter l'apercu Storybook integre.

Dependances

  • @vllnt/ui@^0.3.0