BillTracker/client/components/ui/card.jsx

64 lines
1.3 KiB
React
Raw Normal View History

2026-05-03 19:51:57 -05:00
import { cn } from '@/lib/utils';
function Card({ className, ref, ...props }) {
return (
<div
ref={ref}
className={cn('rounded-2xl border border-border/80 bg-card/95 text-card-foreground shadow-sm shadow-black/10 transition-shadow hover:shadow-md hover:shadow-black/10', className)}
{...props}
/>
);
}
2026-05-03 19:51:57 -05:00
function CardHeader({ className, ref, ...props }) {
return (
<div
ref={ref}
className={cn('flex flex-col space-y-1.5 p-6', className)}
{...props}
/>
);
}
2026-05-03 19:51:57 -05:00
function CardTitle({ className, ref, ...props }) {
return (
<div
ref={ref}
className={cn('font-semibold leading-tight text-foreground', className)}
{...props}
/>
);
}
2026-05-03 19:51:57 -05:00
function CardDescription({ className, ref, ...props }) {
return (
<div
ref={ref}
className={cn('text-sm font-medium leading-relaxed text-muted-foreground', className)}
{...props}
/>
);
}
2026-05-03 19:51:57 -05:00
function CardContent({ className, ref, ...props }) {
return (
<div
ref={ref}
className={cn('p-6 pt-0', className)}
{...props}
/>
);
}
2026-05-03 19:51:57 -05:00
function CardFooter({ className, ref, ...props }) {
return (
<div
ref={ref}
className={cn('flex items-center p-6 pt-0', className)}
{...props}
/>
);
}
2026-05-03 19:51:57 -05:00
export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter };