Performance report
ProObjectives with status, progress and commentary.
pnpm dlx shadcn@latest add @caliper/performance-reportOctober performance
Oct 1 – Oct 31, 2025
| Objective | Actual | Target | Trend | Status |
|---|---|---|---|---|
| Growth | ||||
| Monthly revenueRavi Patel | $184,300 | $175,000 | On track | |
| New customersKofi Mensah | 142 | 160 | Off track | |
| Product | ||||
| Weekly active teamsNoor Haddad | 1,260 | 1,300 | At risk | |
| Activation within 7 daysNoor Haddad | 54% | 70% | Off track | |
| Reliability | ||||
| p95 API latencyLena Fischer | 238 ms | ≤ 220 ms | At risk | |
| UptimeLena Fischer | 99.97% | 99.95% | On track | |
When to use #
Use it for
- A periodic review of goals.
Skip it when
- You need only a chart.
Installation #
pnpm dlx shadcn@latest add @caliper/performance-report
Adds its 5 files to components/ui/, each with its own stylesheet, and installs their packages. Pro installs with your access token, set up once per project. See Pro access. The first part also adds Caliper UI’s tokens; import them once as in Installation.
Usage #
Import it from your copy of the source. The example behind the preview comes with the source. It is built from PerformanceReport and objectiveStatus.
import { PerformanceReport, objectiveStatus } from "@/components/ui/performance-report"
The worked example comes with Pro
The 23-line example behind the preview opens here with a Pro or Team licence.
API reference #
PerformanceReport
component
objectiveStatus
component
Accessibility #
It exposes group and status semantics, with aria-label, aria-hidden and aria-pressed kept in step with state. Changes that matter are announced through a live region.
No custom key handling; Tab and the native activation keys do the work.
Motion #
It declares no animation in its component source. Any transition comes from its stylesheet, which uses the duration tokens that collapse to instant under prefers-reduced-motion.