/** * ============================== * ✅ Card.tsx – UI Component * ============================== * * A reusable Card component that supports two layout variations: * - 'collapsed' – Compact preview card with image, title, and limited details. * - 'expanded' – Full-width view with additional metadata, tags, and formats. * */ import React, { HTMLAttributeAnchorTarget } from 'react'; import { TablerIconsProps } from '@tabler/icons-react'; import { Color } from '../../types/icon'; /** Metadata displayed in the card with an icon and value. */ interface MetadataContent { icon: React.ComponentType; stroke?: number; label: string; value: string | number; tooltip?: string; } /** Footer logos with optional tooltip text. */ interface FooterInfo { icon: string; label: string; tooltip?: string; } /** * Label badge with color customization. */ interface typeInfo { iconType?: 'dataset' | 'useCase'; label: string; fillColor?: string; borderColor?: string; } export type Shadow = 'light' | 'dark'; export type Hover = 'scale' | 'shadowHighlight'; /** * Main props for the Card component. */ export interface CardProps { imageUrl?: string; tag?: string[]; title: string; description?: string; variation: 'collapsed' | 'expanded'; iconColor: Color; formats?: string[]; metadataContent?: readonly [] | readonly [MetadataContent] | readonly [MetadataContent, MetadataContent] | readonly [MetadataContent, MetadataContent, MetadataContent]; footerContent?: FooterInfo[]; type?: typeInfo[]; href?: string; target?: HTMLAttributeAnchorTarget; /** Hover style: "scale" (default) scales and adds shadow, "borderHighlight" highlights the border. */ hover?: Hover; /** Shadow intensity: "light" (default) or "dark". */ shadow?: Shadow; withViewButton?: boolean; leftFooterChips?: FooterInfo[]; rightFooterChips?: FooterInfo[]; withDivider?: boolean; /** * Reserve collapsed description space (2 body lines) even when description is missing. * Useful when mixing cards with and without descriptions in the same row. */ reserveDescriptionSpace?: boolean; } /** * Card component – displays dataset or content previews with multiple customization options. */ declare const Card: React.FC; export default Card;