import type { LucideIcon } from 'lucide-react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Skeleton } from '@/components/ui/skeleton'; import { cn } from '@/lib/utils'; interface StatCardProps { label: string; value: string; icon?: LucideIcon; loading?: boolean; tone?: 'default' | 'success' | 'warning' | 'danger'; className?: string; } const TONE_CLASSNAMES: Record, string> = { default: 'text-foreground', success: 'text-success', warning: 'text-warning', danger: 'text-danger', }; /** Card de resumo numérico (dashboards) — Etapa 15. */ export function StatCard({ label, value, icon: Icon, loading, tone = 'default', className }: StatCardProps) { return ( {label} {Icon && } {loading ? ( ) : (

{value}

)}
); }