import * as React from 'react'; import { cn } from '@/lib/utils'; import { PriceDelta } from './price-delta'; export interface KpiCardProps extends React.HTMLAttributes { /** Nhãn tiêu đề KPI */ label: string; /** Giá trị chính đã được format sẵn */ value: React.ReactNode; /** Delta % (dùng PriceDelta) */ delta?: number; /** Hướng delta nếu muốn override */ deltaDirection?: 'up' | 'down' | 'neutral'; /** Chú thích phía dưới */ footnote?: string; /** Icon tuỳ chọn */ icon?: React.ReactNode; /** Đang tải */ loading?: boolean; } /** * KpiCard — card số liệu nhỏ gọn: label + value + delta + footnote. */ export function KpiCard({ label, value, delta, deltaDirection, footnote, icon, loading = false, className, ...props }: KpiCardProps) { if (loading) { return (
); } return (
{label} {icon && {icon}}
{value} {delta !== undefined && ( )}
{footnote && (

{footnote}

)}
); }