import * as React from 'react'; import { cn } from '@/lib/utils'; // Root card container props export interface CardProps extends React.HTMLAttributes {} // Header region props export interface CardHeaderProps extends React.HTMLAttributes {} // Main body props export interface CardContentProps extends React.HTMLAttributes {} // Footer region props export interface CardFooterProps extends React.HTMLAttributes {} // Title typography props export interface CardTitleProps extends React.HTMLAttributes {} // Subtitle / description props export interface CardDescriptionProps extends React.HTMLAttributes {} /** * Card — groups related content and actions. */ const Card = React.forwardRef( ({ className, ...props }, ref) => (
) ); Card.displayName = 'Card'; /** Top section inside a card (title + description). */ const CardHeader = React.forwardRef( ({ className, ...props }, ref) => (
) ); CardHeader.displayName = 'CardHeader'; /** Card heading. */ const CardTitle = React.forwardRef( ({ className, ...props }, ref) => (

) ); CardTitle.displayName = 'CardTitle'; /** Muted supporting text below the title. */ const CardDescription = React.forwardRef< HTMLParagraphElement, CardDescriptionProps >(({ className, ...props }, ref) => (

)); CardDescription.displayName = 'CardDescription'; /** Primary content area. */ const CardContent = React.forwardRef( ({ className, ...props }, ref) => (

) ); CardContent.displayName = 'CardContent'; /** Footer actions row. */ const CardFooter = React.forwardRef( ({ className, ...props }, ref) => (
) ); CardFooter.displayName = 'CardFooter'; export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, };