profileShare

rasmusjy / roundtable

Read-only snapshot

No repository description.

main default branch 181 files Expires Sep 13, 2026, 9:06 AM
card.tsx 1,787 bytes
1 import * as React from 'react';
2 import { cn } from '@/lib/utils';
3
4 const Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
5 ({ className, ...props }, ref) => (
6 <div
7 ref={ref}
8 className={cn('rounded-xl border bg-card text-card-foreground shadow-sm', className)}
9 {...props}
10 />
11 ),
12 );
13 Card.displayName = 'Card';
14
15 const CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
16 ({ className, ...props }, ref) => (
17 <div ref={ref} className={cn('flex flex-col space-y-1.5 p-5', className)} {...props} />
18 ),
19 );
20 CardHeader.displayName = 'CardHeader';
21
22 const CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
23 ({ className, ...props }, ref) => (
24 <div ref={ref} className={cn('font-semibold leading-none tracking-tight', className)} {...props} />
25 ),
26 );
27 CardTitle.displayName = 'CardTitle';
28
29 const CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
30 ({ className, ...props }, ref) => (
31 <div ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />
32 ),
33 );
34 CardDescription.displayName = 'CardDescription';
35
36 const CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
37 ({ className, ...props }, ref) => <div ref={ref} className={cn('p-5 pt-0', className)} {...props} />,
38 );
39 CardContent.displayName = 'CardContent';
40
41 const CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
42 ({ className, ...props }, ref) => (
43 <div ref={ref} className={cn('flex items-center p-5 pt-0', className)} {...props} />
44 ),
45 );
46 CardFooter.displayName = 'CardFooter';
47
48 export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
49