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}
); }