Display

Timeline

An ordered list dressed as a timeline: dots, connectors, and honest time elements.

  1. Shipped the combobox

    Planted, watered, and released into the wild.

  2. Wrote the docs

    Every prop pressed neatly, like flowers in a notebook.

  3. Broke the build, briefly

    A rogue semicolon. We do not speak of it.

Show code
import {
  Timeline,
  TimelineConnector,
  TimelineContent,
  TimelineDot,
  TimelineItem,
  TimelineTime,
  TimelineTitle,
} from "@/registry/lilt/ui/timeline";

export default function TimelineDemo() {
  return (
    <Timeline className="w-full max-w-sm">
      <TimelineItem>
        <TimelineDot variant="mint" />
        <TimelineConnector />
        <TimelineContent>
          <TimelineTitle>Shipped the combobox</TimelineTitle>
          <TimelineTime dateTime="2026-07-01">July 1</TimelineTime>
          <p className="text-sm leading-relaxed text-[var(--lilt-text-muted)]">
            Planted, watered, and released into the wild.
          </p>
        </TimelineContent>
      </TimelineItem>
      <TimelineItem>
        <TimelineDot />
        <TimelineConnector />
        <TimelineContent>
          <TimelineTitle>Wrote the docs</TimelineTitle>
          <TimelineTime dateTime="2026-07-08">July 8</TimelineTime>
          <p className="text-sm leading-relaxed text-[var(--lilt-text-muted)]">
            Every prop pressed neatly, like flowers in a notebook.
          </p>
        </TimelineContent>
      </TimelineItem>
      <TimelineItem>
        <TimelineDot variant="danger" />
        <TimelineContent>
          <TimelineTitle>Broke the build, briefly</TimelineTitle>
          <TimelineTime dateTime="2026-07-15">July 15</TimelineTime>
          <p className="text-sm leading-relaxed text-[var(--lilt-text-muted)]">
            A rogue semicolon. We do not speak of it.
          </p>
        </TimelineContent>
      </TimelineItem>
    </Timeline>
  );
}

Installation

npx shadcn@latest add @lilt/timeline

Accessibility

  • An ordered list under the hood — item count and position come free for screen readers.
  • Dates are real time elements with dateTime; dots and connectors are aria-hidden decoration.