Roadmap section with four milestones on a horizontal rule, each with a marker, date, title and line of text. The current milestone carries a Now label.
import { Heading } from "@/components/editorial/heading"
import {
Milestone,
MilestoneContent,
MilestoneDate,
MilestoneDescription,
MilestoneLabel,
MilestoneMarker,
MilestoneMeta,
Milestones,
MilestoneTitle,
} from "@/components/editorial/milestones"
import {
Section,
SectionContent,
SectionHeader,
SectionTitleGroup,
} from "@/components/editorial/section"
// The copy: change text here, not in the markup.
const COPY = {
title: "Roadmap",
label: "Now",
} as const
const MILESTONES = [
{
datetime: "2026-06-17",
date: "June 2026",
name: "One registry",
description: "Every block from a single install.",
},
{
datetime: "2026-09-01",
date: "September 2026",
name: "Parts",
description: "Sections, pricing and stats you can rearrange.",
current: true,
},
{
datetime: "2026-11-01",
date: "November 2026",
name: "Registers",
description: "Palettes as short lists of overrides.",
},
{
datetime: "2027-01-01",
date: "January 2027",
name: "Pages",
description: "Whole pages as single installs.",
},
] as const
export default function RoadmapMilestones01() {
return (
<Section aria-labelledby="milestones-title">
<SectionHeader>
<SectionTitleGroup>
<Heading id="milestones-title">{COPY.title}</Heading>
</SectionTitleGroup>
</SectionHeader>
<SectionContent>
<Milestones cols={4} rule="horizon">
{MILESTONES.map((m) => (
<Milestone key={m.name} current={"current" in m}>
<MilestoneMarker />
<MilestoneContent>
<MilestoneMeta>
<MilestoneDate dateTime={m.datetime}>{m.date}</MilestoneDate>
{"current" in m ? (
<MilestoneLabel>{COPY.label}</MilestoneLabel>
) : null}
</MilestoneMeta>
<MilestoneTitle>{m.name}</MilestoneTitle>
<MilestoneDescription className="text-sm/7">
{m.description}
</MilestoneDescription>
</MilestoneContent>
</Milestone>
))}
</Milestones>
</SectionContent>
</Section>
)
}
pnpm dlx shadcn add @01orbital/roadmap-milestones-01npx shadcn add @01orbital/roadmap-milestones-01yarn shadcn add @01orbital/roadmap-milestones-01bunx --bun shadcn add @01orbital/roadmap-milestones-01Free under the MIT license. Add the @01orbital registry to components.json once (install guide), then run the command.
It lands at components/blocks/milestones/roadmap-milestones-01/index.tsx, as source you own and edit.
import RoadmapMilestones01 from "@/components/blocks/milestones/roadmap-milestones-01"
export default function Example() {
return <RoadmapMilestones01 />
}Registry pieces it installs with it:
Dark Milestones with Blue Glow
Dark release timeline under an overhead Glow Section in a blue key. The horizon rule picks up the glow and the live milestone's marker shines in the same color.
Compare
Every Motion block side by side: whether it follows the theme or stays dark, the stock parts it is built on, and whether it is free. Open one for its preview, props and install.