A container for grouping related content and actions.
Create project
Deploy your new project in one click.
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@/components/ui/card'
import { Label } from '@/components/ui/label'
import { Input } from '@/components/ui/input'
import { Button } from '@/components/ui/button'
export default function CardDemo() {
return (
<Card className="w-full max-w-sm">
<CardHeader>
<CardTitle>Create project</CardTitle>
<CardDescription>Deploy your new project in one click.</CardDescription>
</CardHeader>
<CardContent>
<div className="grid gap-4">
<div className="grid gap-1.5">
<Label htmlFor="card-demo-name">Name</Label>
<Input id="card-demo-name" placeholder="My project" />
</div>
</div>
</CardContent>
<CardFooter className="justify-end gap-2">
<Button variant="outline">Cancel</Button>
<Button>Deploy</Button>
</CardFooter>
</Card>
)
}
Installation
pnpm dlx shadcn@latest add https://kagadmodyaa.vercel.app/r/card.jsonNeeds a React + Tailwind project set up with shadcn. Copies the component source straight into your project, so you can edit it.
Card imports cn() from lib/utils.ts — add it too if you don't have it yet:
import { clsx, type ClassValue } from 'clsx'
import { twMerge } from 'tailwind-merge'
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
Usage
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@/components/ui/card'
<Card>
<CardHeader>
<CardTitle>Create project</CardTitle>
<CardDescription>Deploy your new project in one click.</CardDescription>
</CardHeader>
<CardContent>...</CardContent>
<CardFooter>...</CardFooter>
</Card>API Reference
| Name | Type | Default | Description |
|---|---|---|---|
| Card | React.HTMLAttributes<HTMLDivElement> | — | The outer container — border, radius, padding. |
| CardHeader | React.HTMLAttributes<HTMLDivElement> | — | Holds CardTitle and CardDescription. |
| CardTitle | React.HTMLAttributes<HTMLDivElement> | — | The card’s heading. |
| CardDescription | React.HTMLAttributes<HTMLDivElement> | — | Muted supporting text under the title. |
| CardContent | React.HTMLAttributes<HTMLDivElement> | — | The card’s main content area. |
| CardFooter | React.HTMLAttributes<HTMLDivElement> | — | Actions, usually right- or full-width aligned. |