Card
A versatile container component with variants and accent colors.
Import
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@/components/ui';
Basic Usage
<Card>
<CardHeader>
<CardTitle>Card Title</CardTitle>
<CardDescription>Card description goes here</CardDescription>
</CardHeader>
<CardContent>
<p>Card content</p>
</CardContent>
<CardFooter>
<Button>Action</Button>
</CardFooter>
</Card>
Props
Card
| Prop | Type | Default | Description |
|---|---|---|---|
variant |
'default' | 'elevated' | 'bordered' |
'default' |
Card style variant |
accent |
'blue' | 'purple' | 'green' | 'orange' | 'pink' |
- | Left border accent color |
className |
string |
- | Additional CSS classes |
Variants
Default
<Card variant="default">
<CardContent>Default card with subtle shadow</CardContent>
</Card>
Elevated
<Card variant="elevated">
<CardContent>Elevated card with hover shadow effect</CardContent>
</Card>
Bordered
<Card variant="bordered">
<CardContent>Card with thicker border</CardContent>
</Card>
With Accent
<Card accent="blue">
<CardContent>Card with blue left border accent</CardContent>
</Card>
<Card accent="green">
<CardContent>Card with green left border accent</CardContent>
</Card>
<Card accent="purple">
<CardContent>Card with purple left border accent</CardContent>
</Card>
Complete Example
<Card variant="elevated">
<CardHeader>
<CardTitle>Project Settings</CardTitle>
<CardDescription>
Manage your project configuration
</CardDescription>
</CardHeader>
<CardContent>
<form className="space-y-4">
<Input label="Project Name" placeholder="My Project" />
<Textarea label="Description" placeholder="Describe your project" />
</form>
</CardContent>
<CardFooter className="justify-end gap-3">
<Button outline>Cancel</Button>
<Button color="blue">Save Changes</Button>
</CardFooter>
</Card>
Simple Card
For simple content without structure:
<Card className="p-6">
<p>Simple card with custom padding</p>
</Card>
Dashboard Cards
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
<Card accent="blue">
<CardHeader>
<CardTitle>Users</CardTitle>
</CardHeader>
<CardContent>
<p className="text-3xl font-bold">1,234</p>
</CardContent>
</Card>
<Card accent="green">
<CardHeader>
<CardTitle>Revenue</CardTitle>
</CardHeader>
<CardContent>
<p className="text-3xl font-bold">$12,345</p>
</CardContent>
</Card>
<Card accent="purple">
<CardHeader>
<CardTitle>Orders</CardTitle>
</CardHeader>
<CardContent>
<p className="text-3xl font-bold">567</p>
</CardContent>
</Card>
</div>
Subcomponents
| Component | Description |
|---|---|
CardHeader |
Header section with padding (p-6 pb-4) |
CardTitle |
Styled h3 title |
CardDescription |
Muted description text |
CardContent |
Main content area (p-6 pt-0) |
CardFooter |
Footer with flex layout (p-6 pt-0) |