/** * @fileoverview Saasflare MetricCard — dashboard KPI display. * @module packages/ui/components/ui/metric-card * @layer core * * Displays a single metric with label, value, trend indicator, and optional icon. * Used in dashboard overviews, analytics panels, and summary sections. * * @example * import { MetricCard } from "@saasflare/ui"; * import { UsersIcon } from "./phosphor"; * * } * /> */ import * as React from "react"; import { type SaasflareComponentProps } from "../../providers"; /** Trend indicator data */ interface MetricTrend { /** Numeric change (displayed as percentage) */ value: number; /** Direction of the trend */ direction: "up" | "down" | "flat"; } /** Props for the MetricCard component */ interface MetricCardProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { /** Metric label (e.g. "Revenue", "Active Users") */ label: string; /** Formatted metric value (e.g. "$12,345", "1,234") */ value: string; /** Optional trend indicator */ trend?: MetricTrend; /** Optional icon element */ icon?: React.ReactNode; } /** * Dashboard metric card displaying a KPI with trend. * * @component * @layer core * * @param {string} label - Metric label * @param {string} value - Formatted metric value * @param {MetricTrend} trend - Optional trend with value and direction * @param {React.ReactNode} icon - Optional icon * * @example * */ declare function MetricCard({ label, value, trend, icon, className, surface, radius, animated, iconWeight, ...props }: MetricCardProps): import("react/jsx-runtime").JSX.Element; export { MetricCard, type MetricCardProps, type MetricTrend };