Skip to content

Stats & values

History Timeline

Milestones on a line — four columns on wide screens, a vertical timeline below.

Layout and motion from the Findit template — see it in context

Installation

$ npx shadcn@latest add https://framebrick.co/r/blocks/history-timeline.json

Usage

import { HistoryTimeline } from "@/components/history-timeline";

<HistoryTimeline
  title="Twenty years of helping people move home"
  milestones={[
    { year: "2005", label: "Founded", text: "Two agents open a small office." },
    { year: "2025", label: "Digital first", text: "Video viewings and online offers." },
  ]}
/>

Props

PropTypeDefaultDescription
labelstringOur historySmall muted line above the heading.
title / leadstring—Centered heading (h2) and lead.
milestones{ year, label, text }[]4 milestonesAn ordered list; years are h3. Four fill the row from 1024px.
classNamestring—Classes for the <section>.
  • From 1024px: equal columns — year and label, the line with its marker, the text. Below: a vertical line (centered, up to 32rem from 768px) with the texts beside it.
  • The marker is a ring with a dot in the primary color. The band sits on the muted surface. No motion.

AI prompt

Paste into v0, Lovable, Bolt or Claude to rebuild this block in your own project.

Create a React + Tailwind CSS block called HistoryTimeline.
- <section className="bg-muted py-(--section-y)">, container centered, gap-16 / 20 / 24: a centered title (small muted label, h2
  font-heading text-h2 semibold, muted lead up to max-w-lg).
- An <ol> of milestones. From 1024px a row of equal columns: year (h3, font-heading text-h3) and label (text-sm muted) with pl-5 pr-7,
  then a horizontal 2px line (foreground/15) with a marker 20px from the left, then the muted text. Below 1024px (max-w-lg, centered
  from 768px): each row has a 20px column with a vertical 2px line — 28px, the marker, then the rest — and, 28px to its right, the
  year, label and text with py-5.
- Marker: a 16px ring (border-primary) with a 10px dot (bg-primary).
- Only shadcn variables and block tokens (secondary text on bg-muted is text-foreground/65: muted-foreground
  falls under 4.5:1 there). No motion.

Be the first to know

Get new templates and components first

One short email when we release a template or a free component. No spam — unsubscribe anytime.

We use your email only for Framebrick updates. Privacy policy