# Timeline

Milestones on a single axis whose line draws on while dots pop and labels rise in sequence; horizontal in landscape and square, vertical in portrait.

```bash
npx shadcn add https://www.reelcn.dev/r/timeline.json
```

Usage:

```tsx
<Center>
  <Timeline
    milestones={[
      { label: "Founded", date: "2019", body: "Two co-founders, one laptop" },
      { label: "Seed round", date: "2021", body: "$3.2M raised" },
      { label: "Series A", date: "2023", body: "40 people, 12 countries" },
      { label: "1M events/day", date: "2025" },
    ]}
  />
</Center>
```

Use for:

- A roadmap, launch history or step-by-step process with three to seven beats
- Company milestones or a project's key dates

Avoid:

- Ranked values changing over time. Use `bar-race`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| delay? | `number` | — | Frames to wait before entering. |
| duration? | `number` | — | Enter duration in frames. Defaults to 0.6s. Some items reuse `duration` for an unrelated local timing. See that item's own prop docs. |
| exit? | `number \| boolean` | — | Exit at the end of the parent `<Sequence>`. `false` keeps it on screen, a number sets the exit length in frames. |
| motion? | `MotionPersonality` | — | Override the theme's motion personality. |
| poster? | `boolean` | — | Renders fully entered, with no exit: for a still frame or thumbnail. Defaults to `false`. |
| holdFrames? | `number` | — | Delays the start of the exit window by this many frames, for a minimum on-screen hold. Defaults to `0`. |
| milestones | `TimelineMilestone[]` | — |  |
| size? | `number` | — | Length of the axis in design units (width in landscape/square, height in portrait). Defaults to the safe-area size. |
| drawFrames? | `number` | — | Frames the line takes to draw across every milestone. Defaults to 1.2s. |
| popDelay? | `number` | — | Extra frames a dot's pop lags behind the line reaching it. |
| lineColor? | `string` | — |  |
| dotColor? | `string` | — |  |
| labelColor? | `string` | — |  |
| dateColor? | `string` | — |  |
| bodyColor? | `string` | — |  |
| style? | `CSSProperties` | — |  |
| className? | `string` | — |  |