-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathCard.tsx
More file actions
34 lines (29 loc) · 985 Bytes
/
Card.tsx
File metadata and controls
34 lines (29 loc) · 985 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { type ReactNode } from "react";
import { cn } from "~/utils/cn";
import { Header3 } from "../Headers";
export const Card = ({ children, className }: { children: ReactNode; className?: string }) => {
return (
<div
className={cn(
"flex flex-col rounded-lg border border-grid-bright bg-background-bright pb-1.5 pt-3",
className
)}
>
{children}
</div>
);
};
const CardHeader = ({ children }: { children: ReactNode }) => {
return (
<Header3 className="mb-3 flex items-center justify-between gap-2 px-3">{children}</Header3>
);
};
const CardContent = ({ children, className }: { children: ReactNode; className?: string }) => {
return <div className={cn("px-2", className)}>{children}</div>;
};
const CardAccessory = ({ children }: { children: ReactNode }) => {
return <div className="flex items-center gap-2">{children}</div>;
};
Card.Header = CardHeader;
Card.Content = CardContent;
Card.Accessory = CardAccessory;