/** * @usevyre/react — Stat + StatGroup * * AI CONTEXT: * ┌──────────────────────────────────────────────────────────────────┐ * │ Component: Stat (+ StatGroup) │ * │ Import: import { Stat, StatGroup } from "@usevyre/react" │ * │ │ * │ Presentational dashboard KPI. No state. │ * │ │ * │ label = string (required) │ * │ value = string | number (required, large) │ * │ delta? = string | number (the change amount) │ * │ trend? = "up" | "down" | "neutral" (CONTROLS the color │ * │ — up=success, down=danger, neutral=muted) │ * │ deltaLabel? = string (e.g. "vs last month") │ * │ icon? = ReactNode │ * │ size = "sm" | "md"(default) | "lg" │ * │ │ * │ trend is EXPLICIT so "churn down = good" can stay green. │ * │ Wrap several in for an evenly-split row with dividers.│ * └──────────────────────────────────────────────────────────────────┘ * * @example * * * * * */ import React from "react"; import type { BaseProps } from "../../types"; export type StatTrend = "up" | "down" | "neutral"; export interface StatProps extends Omit, "title">, BaseProps { /** Metric name (required) */ label: string; /** The headline figure (required) */ value: string | number; /** The change amount, e.g. "+12%" or 24 */ delta?: string | number; /** Explicitly sets the delta color — up=success, down=danger, neutral=muted */ trend?: StatTrend; /** Context for the delta, e.g. "vs last month" */ deltaLabel?: string; /** Optional leading icon */ icon?: React.ReactNode; size?: "sm" | "md" | "lg"; } export declare const Stat: React.ForwardRefExoticComponent>; export interface StatGroupProps extends React.HTMLAttributes, BaseProps { children?: React.ReactNode; } export declare const StatGroup: React.ForwardRefExoticComponent>;