
Company history in three columns under a top rule, one per year, each with a date, title and paragraph. No markers; a header and description sit above.
blocks/milestones/history-milestones-01/index.tsx
import { Heading } from "@/components/editorial/heading"
import {
Milestone,
MilestoneContent,
MilestoneDate,
MilestoneDescription,
MilestoneMeta,
Milestones,
MilestoneTitle,
} from "@/components/editorial/milestones"
import {
Section,
SectionContent,
SectionDescription,
SectionHeader,
SectionTitleGroup,
} from "@/components/editorial/section"
// The copy: change text here, not in the markup.
const COPY = {
title: "Three years of the studio",
body: "The kit grew out of client work. These are the turns that made it a product.",
} as const
const MILESTONES = [
{
date: "2024",
name: "A shared folder",
description:
"Components copied between client repos, each one drifting a little from the last.",
},
{
date: "2025",
name: "A registry",
description:
"The folder became an install command. One source, every project reading from it.",
},
{
date: "2026",
name: "A system",
description:
"Parts that compose, one neutral theme, and art that is ours. The product you are looking at.",
},
] as const
export default function HistoryMilestones01() {
return (
<Section aria-labelledby="years-title">
<SectionHeader>
<SectionTitleGroup>
<Heading id="years-title">{COPY.title}</Heading>
</SectionTitleGroup>
<SectionDescription>{COPY.body}</SectionDescription>
</SectionHeader>
<SectionContent>
<Milestones cols={3} rule="top" className="@2xl:gap-12">
{MILESTONES.map((m) => (
<Milestone key={m.date} className="text-foreground">
<MilestoneContent>
<MilestoneMeta>
<MilestoneDate dateTime={m.date}>{m.date}</MilestoneDate>
</MilestoneMeta>
<MilestoneTitle>{m.name}</MilestoneTitle>
<MilestoneDescription>{m.description}</MilestoneDescription>
</MilestoneContent>
</Milestone>
))}
</Milestones>
</SectionContent>
</Section>
)
}