apps/eclipse/content/design-system/components/statistic.mdx
import { Statistic } from "@prisma/eclipse";
Basic Statistic
import { Statistic } from "@prisma/eclipse";
export function BasicStat() {
return <Statistic title="Total Users" value={1234} />;
}
Live Example:
<div className="my-4"> <Statistic title="Total Users" value={1234} /> </div>With Measurement Unit
import { Statistic } from "@prisma/eclipse";
export function StatWithMeasure() {
return <Statistic title="Response Time" value={42} measure="ms" />;
}
Live Example:
<div className="my-4"> <Statistic title="Response Time" value={42} measure="ms" /> </div>With Badge
import { Statistic } from "@prisma/eclipse";
export function StatWithBadge() {
return (
<Statistic
title="API Status"
value="99.9"
measure="%"
badge="Live"
badgeColor="success"
/>
);
}
Live Example:
<div className="my-4"> <Statistic title="API Status" value="99.9" measure="%" badge="Live" badgeColor="success" /> </div>Multiple Statistics Grid
import { Statistic } from "@prisma/eclipse";
export function StatsGrid() {
return (
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<Statistic title="Total Queries" value="1.2M" badge="Today" badgeColor="ppg" />
<Statistic title="Avg Response" value={45} measure="ms" badge="Improved" badgeColor="success" />
<Statistic title="Active Users" value={847} badge="Online" badgeColor="success" />
</div>
);
}
Live Example:
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 my-4"> <Statistic title="Total Queries" value="1.2M" badge="Today" badgeColor="ppg" /> <Statistic title="Avg Response" value={45} measure="ms" badge="Improved" badgeColor="success" /> <Statistic title="Active Users" value={847} badge="Online" badgeColor="success" /> </div>Different Badge Colors
import { Statistic } from "@prisma/eclipse";
export function ColoredBadges() {
return (
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<Statistic title="Cache Hits" value={95} measure="%" badge="Optimal" badgeColor="success" />
<Statistic title="Error Rate" value={0.3} measure="%" badge="Warning" badgeColor="warning" />
<Statistic title="Failed Requests" value={12} badge="Critical" badgeColor="error" />
<Statistic title="Database Size" value={2.4} measure="GB" badge="Growing" badgeColor="neutral" />
</div>
);
}
Live Example:
<div className="grid grid-cols-1 md:grid-cols-2 gap-4 my-4"> <Statistic title="Cache Hits" value={95} measure="%" badge="Optimal" badgeColor="success" /> <Statistic title="Error Rate" value={0.3} measure="%" badge="Warning" badgeColor="warning" /> <Statistic title="Failed Requests" value={12} badge="Critical" badgeColor="error" /> <Statistic title="Database Size" value={2.4} measure="GB" badge="Growing" badgeColor="neutral" /> </div>title - The label for the statistic (default: "Statistic")value - The numeric or string value to display (default: 0)measure - The unit of measurement (e.g., "ms", "%", "GB") (optional)badge - Badge content to display next to the title (optional)badgeColor - The color variant for the badge: "neutral", "ppg", "orm", "error", "success", "warning" (default: "ppg")success - Positive metrics, goals achievedwarning - Metrics requiring attentionerror - Critical issues or problemsppg - Prisma Pulse/Accelerate specific metricsorm - Prisma ORM specific metricsneutral - General informationPerformance Metrics
<Statistic title="Response Time" value={42} measure="ms" badge="Fast" badgeColor="success" />
<Statistic title="Throughput" value="1.2K" measure="req/s" badge="Peak" badgeColor="ppg" />
Database Statistics
<Statistic title="Total Records" value="2.4M" badge="Growing" badgeColor="neutral" />
<Statistic title="Query Speed" value={15} measure="ms" badge="Optimized" badgeColor="success" />
Usage Analytics
<Statistic title="Active Users" value={1247} badge="Online" badgeColor="success" />
<Statistic title="Daily Queries" value="45.2K" badge="Today" badgeColor="ppg" />
Health Monitoring
<Statistic title="Uptime" value={99.99} measure="%" badge="Healthy" badgeColor="success" />
<Statistic title="Error Rate" value={0.01} measure="%" badge="Low" badgeColor="warning" />
Resource Usage
<Statistic title="Memory Usage" value={67} measure="%" badge="Normal" badgeColor="neutral" />
<Statistic title="CPU Load" value={23} measure="%" badge="Low" badgeColor="success" />
The Statistic component uses:
Single Column (Mobile)
<div className="space-y-4">
<Statistic title="Metric 1" value={100} />
<Statistic title="Metric 2" value={200} />
</div>
Two Column Grid
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
<Statistic title="Metric 1" value={100} />
<Statistic title="Metric 2" value={200} />
<Statistic title="Metric 3" value={300} />
<Statistic title="Metric 4" value={400} />
</div>
Three Column Grid
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<Statistic title="Metric 1" value={100} />
<Statistic title="Metric 2" value={200} />
<Statistic title="Metric 3" value={300} />
</div>
Four Column Grid
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
<Statistic title="Metric 1" value={100} />
<Statistic title="Metric 2" value={200} />
<Statistic title="Metric 3" value={300} />
<Statistic title="Metric 4" value={400} />
</div>
The component uses Eclipse design tokens:
border-purple-400 with border-2 border-dashedrounded-lgtext-xs font-semibold tracking-widest text-gray-400 uppercasetext-4xl font-black text-gray-900text-lg text-gray-500px-6 py-5