3 variants
KPI Card
The numbers a dashboard leads with. A stat tile with change and trend, a value against its goal, and a total split into its parts.
Stat
Label, value, the change against a named period colored by whether it is good news, and an optional sparkline.
Monthly revenue
$48.2K
+12.4%vs last month
Churn
2.1%
−8.0%vs last month
import { KpiCard } from "@/components/registry/kpi-card";
export function Revenue() {
return <KpiCard label="Monthly revenue" value="$48.2K" delta={0.124} deltaLabel="vs last month" />;
}54 more lines ship with an easeUI Pro license.
Buy a licenseInstall
$ bunx --bun shadcn add @easeui-pro/kpi-card
Target
A value against its goal with a bar filling toward it and a tick for how far through the period we are.
Q3 new revenue
74% of goal
$184K/ $250K
On pace to reach the goal.
import { KpiTarget } from "@/components/registry/kpi-target";
export function Goal() {
return <KpiTarget label="Q3 new revenue" value={184000} target={250000} elapsed={0.68} />;
}76 more lines ship with an easeUI Pro license.
Buy a licenseInstall
$ bunx --bun shadcn add @easeui-pro/kpi-target
Split
A total and what it is made of. One bar split into its parts, with every part's value and share.
Revenue this month
$48.2K
- Subscriptions31.2K65%
- Seats9.8K20%
- Usage5.1K11%
- Services2.1K4%
import { KpiSplit } from "@/components/registry/kpi-split";
export function Split() {
return (
<KpiSplit
label="Revenue this month"
value="$48.2K"
parts={[{ label: "Subscriptions", value: 31200 }, { label: "Usage", value: 5100 }]}
/>
);
}70 more lines ship with an easeUI Pro license.
Buy a licenseInstall
$ bunx --bun shadcn add @easeui-pro/kpi-split