For AI agents: the complete documentation index is available at https://wallarm.github.io/design-system/llms.txt, the full documentation bundle is available at https://wallarm.github.io/design-system/llms-full.txt, and this page is available as Markdown at https://wallarm.github.io/design-system/components/timeline.md.

Timeline

A vertical run of events in the order they happened — a timeline records what occurred, so reach for Progress when the question is how far along something is rather than what has already taken place. TimelineConnector and TimelineContent are each optional, and the last item looks after itself: its line and its bottom padding go without any special casing.

Source · Storybook

Usage

import { Timeline, TimelineConnector, TimelineIndicator, TimelineItem, TimelineSeparator } from '@wallarm-org/design-system/Timeline';

Examples

With content

Content beside the rail. The line stretches to whatever height the row turns out to need, which is why the third step's long description does not break the rhythm.

Without connector

Content with no rail at all — effectively a List of titles and descriptions, for when the order carries the sequence and a drawn line would only add furniture.

Props

PropTypeDefaultDescription
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
titlestring | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined
data-testidstring | undefined

TimelineConnector

PropTypeDefaultDescription
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
titlestring | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined

TimelineContent

PropTypeDefaultDescription
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
titlestring | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined

TimelineDescription

PropTypeDefaultDescription
titlestring | undefined
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined
asChildboolean | undefined
data-testidstring | undefined
align{ left: string; center: string; right: string; }
inline{ true: string; }
grow{ true: string; }
truncate{ true: string; false: string; }
decoration{ dashed: string; }
lineHeight{ none: string; tight: string; snug: string; normal: string; relaxed: string; }
textTransform{ uppercase: string; lowercase: string; capitalize: string; none: string; }
lineClampnumber | undefined

TimelineIndicator

PropTypeDefaultDescription
titlestring | undefined
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
relstring | undefined
color{ neutral: string; 'neutral-alt': string; brand: string; danger: string; success: string; info: string; }
onChangeChangeEventHandler<T, Element> | undefined
asChildboolean | undefinedApplies the badge to its child element, such as a span or a native button.
data-testidstring | undefined

TimelineItem

PropTypeDefaultDescription
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
titlestring | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined

TimelineSeparator

PropTypeDefaultDescription
titlestring | undefined
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined
data-testidstring | undefined
spacingcomplex
decorativeboolean | undefined

TimelineTitle

PropTypeDefaultDescription
titlestring | undefined
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined
asChildboolean | undefined
data-testidstring | undefined
align{ left: string; center: string; right: string; }
inline{ true: string; }
grow{ true: string; }
truncate{ true: string; false: string; }
decoration{ dashed: string; }
lineHeight{ none: string; tight: string; snug: string; normal: string; relaxed: string; }
textTransform{ uppercase: string; lowercase: string; capitalize: string; none: string; }
lineClampnumber | undefined

Explorer