Components
- Activity Heatmap
- Activity Rings
- Bar Chart
- Bar List
- Command Palette
- Composed Chart
- Corner Frame
- Data Table
- Delta Badge
- Distribution Bar
- Donut Chart
- Dot Plot
- Funnel Chart
- Heatmap Chart
- KPI Card
- Metric List
- Metric Value
- Period Tabs
- Radar Chart
- Radial Gauge
- Sankey Chart
- Scatter Chart
- Segmented Meter
- Sparkline
- Tick Bar
- Timeline
- Trend Chart
Blocks
- Activity Rings Card
- Allocation Card
- Balance Chart Card
- Breakdown Card
- Commerce KPI Row
- Contributions Card
- Data Table Card
- Distribution Card
- Dot Plot Card
- Dual Metric Card
- Funnel Chart Card
- Goal Chart Card
- Heatmap Chart Card
- Insight Card
- KPI Row Card
- Metric Tabs Chart Card
- Payment Summary Card
- Period Bar Chart Card
- Progress Card
- Revenue Ring Card
- Ring KPI Card
- Score Gauge Card
- Stage Bars Card
- Status Gauge Card
- Tick KPI Card
A card with a row of KPI tiles, each with a segmented ring next to the value and a comparison to the previous value.
API response time
132 ms
down from 148 msError rate
1.4 %
up from 0.9 %Request throughput
4.3K req/s
up from 3.9K req/simport { EllipsisVertical } from "lucide-react"
import { Button } from "@/components/ui/button"A row of KPI tiles where each value sits next to a small segmented ring showing progress or share, with a comparison to the previous value beneath. Good for targets and quotas.
Installation#
pnpm dlx shadcn@latest add @dashboardcn/ring-kpi-cardAlso installs card, tooltip from shadcn/ui if missing.
Usage#
import { RingKpiCard } from "@/components/ring-kpi-card"
<RingKpiCard
metrics={[
{ label: "API response time", value: 132, previous: 148, unit: "ms", max: 200, invertDelta: true },
{ label: "Error rate", value: 1.4, previous: 0.9, unit: "%", max: 5, invertDelta: true },
{ label: "Request throughput", value: 4300, previous: 3900, format: "compact", unit: "req/s", max: 5000 },
]}
/>Your dashboard, your code.
Every component is copied into your project with the shadcn CLI. No package to upgrade, nothing to override.