22 lines
450 B
TypeScript
22 lines
450 B
TypeScript
import type { ElementType, ReactNode } from "react";
|
|
|
|
interface CardProps {
|
|
children: ReactNode;
|
|
className?: string;
|
|
as?: ElementType;
|
|
}
|
|
|
|
export function Card({
|
|
children,
|
|
className = "",
|
|
as: Tag = "div",
|
|
}: CardProps) {
|
|
return (
|
|
<Tag
|
|
className={`rounded-[var(--radius-md)] border border-[color:var(--color-border)] shadow-[var(--shadow-sm)] p-[var(--spacing-lg)] ${className}`.trim()}
|
|
>
|
|
{children}
|
|
</Tag>
|
|
);
|
|
}
|