Conversation Timeline
A dense rail of thin marks, one per message, that expands into a labelled list on hover. Hover or keyboard-focus the rail and it expands: every row grows and its label fades in. The row under the cursor gets extra emphasis on top - its mark brightens, its label bolds and nudges out. Click any mark to select it.
Installation
npx stepwise-ui add conversation-timeline
Default
Hover the rail (or Tab into it) to expand every row at once. Then hover a specific row for its extra emphasis.
Left side
Flip the labels to the left of the marks and recolour the active line with accent.
Props
PropTypeDescription
checkpointsTimelineCheckpoint[]Array of checkpoint objects.
activeIdstringThe currently selected checkpoint id.
onSelect(id: string) => voidCalled when a mark is clicked.
side"left" | "right"Which side labels appear on. Default "right".
rowHeightnumberPer-row height once expanded (px). Default 24.
collapsedRowHeightnumberPer-row height at rest (px). Default 8.
accentstringActive line colour. Default '#0ea5e9'.
TimelineCheckpoint
PropTypeDescription
idstringUnique identifier.
labelstringThe chat label revealed on hover.
sublabelstringOptional - reserved for richer labels.
role"user" | "assistant" | "system"Optional role tag for your own styling.