import { type HTMLAttributes, type ReactNode, forwardRef } from "react";
interface CardProps extends HTMLAttributes {
variant?: "default" | "elevated";
hoverable?: boolean;
children: ReactNode;
}
export const Card = forwardRef(
(
{
variant = "default",
hoverable = false,
className = "",
children,
...props
},
ref,
) => (
{children}
),
);
Card.displayName = "Card";
interface CardHeaderProps extends HTMLAttributes {
title: string;
description?: string;
action?: ReactNode;
}
export const CardHeader = forwardRef(
({ title, description, action, className = "", children, ...props }, ref) => (
{title}
{description && (
{description}
)}
{action &&
{action}
}
{children}
),
);
CardHeader.displayName = "CardHeader";
interface CardContentProps extends HTMLAttributes {}
export const CardContent = forwardRef(
({ className = "", children, ...props }, ref) => (
{children}
),
);
CardContent.displayName = "CardContent";
interface CardFooterProps extends HTMLAttributes {}
export const CardFooter = forwardRef(
({ className = "", children, ...props }, ref) => (
{children}
),
);
CardFooter.displayName = "CardFooter";