Timeline

Lists entries in time order along a line.

  1. 08:00
    Morning brief
    Weather, calendar and headlines
  2. 12:30
    Inbox digest
    Unread mail since the morning
  3. 18:00
    Price check
    Flights to Tokyo under ¥3,000
  4. 22:00
    Daily log
    What got done today

Installation

pnpm dlx shadcn@latest add @paneui/timeline

Usage

Composition

Examples

Cards

Use cards when each entry carries more than two lines.

Time column

The column is 3.5rem wide; set --timeline-time on the Timeline for longer labels. Leave time out on every item to drop the column.

Hairline

The line starts at the first dot and ends at the last, so a single entry shows a dot alone.

API Reference

Timeline

Also accepts every prop of ol.

TimelineItem

Also accepts every prop of li.

time
ReactNode
Text in the time column.
timeDetail
ReactNode
Quieter second line under the time, such as a date.
tone= "default"
"default" | "primary" | "success" | "warning" | "destructive"
Dot colour; primary marks the current or next entry.
action
ReactNode
Trailing control aligned with the first line.
PropTypeDefaultDescription
timeReactNode—Text in the time column.
timeDetailReactNode—Quieter second line under the time, such as a date.
tone"default" | "primary" | "success" | "warning" | "destructive""default"Dot colour; primary marks the current or next entry.
actionReactNode—Trailing control aligned with the first line.
data-tone
The item's tone.
Data attributeDescription
data-toneThe item's tone.

TimelineTitle

Also accepts every prop of div.

TimelineDescription

Also accepts every prop of div.