import { Color } from '@ionic/core'; /** * Logo configuration for stats card. */ export interface StatsCardLogo { /** Logo image URL */ src: string; /** Alt text for accessibility */ alt: string; /** Max height in pixels (default: 32) */ maxHeight?: number; /** Max width in pixels (default: 120) */ maxWidth?: number; } /** * Trend configuration for stats card. */ export interface StatsTrend { /** Trend value (percentage or absolute) */ value: number; /** Trend direction */ direction: 'up' | 'down' | 'neutral'; /** Trend label (e.g., "vs last month") */ label?: string; /** Invert colors (up=bad, down=good) */ invertColors?: boolean; } /** * Metadata for the stats card component. */ export interface StatsCardMetadata { /** Stat title/label */ title: string; /** Main stat value */ value: string | number; /** Value prefix (e.g., "$", "€") */ prefix?: string; /** Value suffix (e.g., "%", "users") */ suffix?: string; /** Icon name */ icon?: string; /** Card color */ color?: Color; /** Background style */ background?: 'solid' | 'gradient' | 'light'; /** Trend indicator */ trend?: StatsTrend; /** Footer text */ footer?: string; /** Description text (for GitLab-style layout) */ description?: string; /** Company/brand logo displayed at bottom */ logo?: StatsCardLogo; /** Minimum height in pixels (for uniform card sizes) */ minHeight?: number; /** Loading state */ loading?: boolean; /** Unique token identifier */ token?: string; }