- 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
- 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 vertical chronology of events, each with a marker, connector, and free-form content. Use it for audit logs, activity feeds, and version history.
Feature flag created
Owner assignedCreated
checkout-redesignfor the billing workspace.Canary rollout started
CanaryEnabled for 5% of workspaces with session replay sampling on.
Regional guardrail tripped
PausedLatency climbed in eu-central-1; rollout is holding while routing warms.
Customer messaging prepared
DocsSupport macro and changelog draft are ready in Launch notes.
Launch window scheduled
QueuedFull rollout waits for the next error-budget sweep.
Release checklist verified
ReadyRollback owner and dashboard checks are recorded in the release audit.
import {
CircleCheck,
Clock,A vertical timeline for shadcn/ui: a rail, a marker per event, and free-form content beside it. Use it for audit logs, activity feeds, deployment history, and version lists.
Installation#
pnpm dlx shadcn@latest add @dashboardcn/timelineUsage#
import {
Timeline,
TimelineConnector,
TimelineContent,
TimelineDescription,
TimelineHeader,
TimelineItem,
TimelineMarker,
TimelineRail,
TimelineTime,
TimelineTitle,
} from "@/components/ui/timeline"
<Timeline>
<TimelineItem status="current">
<TimelineRail>
<TimelineMarker><Rocket /></TimelineMarker>
<TimelineConnector />
</TimelineRail>
<TimelineContent>
<TimelineHeader>
<TimelineTitle>Canary rollout started</TimelineTitle>
<Badge variant="secondary">Canary</Badge>
<TimelineTime dateTime="2026-05-22T09:34">09:34</TimelineTime>
</TimelineHeader>
<TimelineDescription>Enabled for 5% of workspaces.</TimelineDescription>
</TimelineContent>
</TimelineItem>
</Timeline>Examples#
Compact log#
Tighten the rail and content spacing with classes. Markers take any icon and inherit text color.
Chargeback case opened
The customer disputed a renewal charge, and the finance team has seven days to submit evidence.
Payment captured
Payment authorized
Invoice generated
import { CircleCheck, CreditCard, FileText, ShieldAlert } from "lucide-react"
import { cn } from "@/lib/utils"Activity feed#
Put an avatar in the marker and any content, including cards, inside TimelineContent.
Product asset uploaded
ReviewFinal hero crop is ready for retouch review with the side profile, lace detail, and marketplace thumbnail queued.
Lighting pass reviewed
The side profile reads clearly on the landing page. Keep the outsole shadow soft so the sole texture stays visible.
Copy note resolved
Updated the launch tile copy and aligned the product badge with the approved campaign language.
Review package ready
Exported the approved crops and shared the board with the marketplace team for final sign-off.
import { ArrowUpRight } from "lucide-react"
import { Badge } from "@/components/ui/badge"Version history#
An empty marker renders a plain ring. status="current" highlights the marker and sets aria-current.
v8
DraftPrepared billing copy, tax preview states, and the final approval checklist.
Maya Chen·v7
LivePublished the pricing table refresh after support macros cleared review.
Nora Vazquez·v6
Added regional tax notes and restored the upgrade confirmation banner.
Eli Wong·v5
Reworked mobile spacing for plan cards and invoice preview rows.
Maya Chen·
import { X } from "lucide-react"
import { Badge } from "@/components/ui/badge"