import type { HTMLAttributes, ReactNode } from 'react';
import './Card.css';
type Variant = 'default' | 'elevated' | 'outlined';
interface Props extends HTMLAttributes {
variant?: Variant;
header?: ReactNode;
footer?: ReactNode;
padding?: 'sm' | 'md' | 'lg';
}
export function Card({
variant = 'default',
header,
footer,
padding = 'md',
className,
children,
...rest
}: Props) {
const classes = [
'ui-card',
`ui-card--${variant}`,
`ui-card--p-${padding}`,
className ?? '',
]
.filter(Boolean)
.join(' ');
return (
{header ?
{header}
: null}
{children}
{footer ?
{footer}
: null}
);
}