import type { HTMLAttributes, ReactNode } from "react";

import { cardClass } from "@/lib/ui/variants";

interface CardProps extends HTMLAttributes<HTMLElement> {
  children: ReactNode;
  as?: "article" | "div" | "section";
}

export function Card({
  as: Component = "div",
  children,
  className,
  ...props
}: CardProps) {
  return (
    <Component className={cardClass(className)} {...props}>
      {children}
    </Component>
  );
}
