shadcn.io is not affiliated with official shadcn/ui
Centered Progress Bar Hero Block for React
A compact centered launch hero with a full-width progress bar that fills on load, four milestone cells divided at the quarter marks, the Shine Button and a second action.
Installation
Overview
A compact centered hero for a launch that's on its way, for React with Base UI, shown here for Halden 1.0, a self-hosted calendar. An announcement pill links to the build-in-public journal, then a headline and a promise, and then a band ruled across the page column with + marks on its corners. In the band, a Progress to launch label and its percentage sit over a thick bar that runs from rail to rail and fills from nothing when the page loads, in the foreground tone so the page's primary colour stays on the button. Under the bar four cells share hairlines at the quarter marks the bar passes: Alpha and Private beta reached, Public beta in progress, Launch up next. The filled Shine Button, Get early access, and an outline Notify me at launch follow, with a trust line below. Built with Announcement, Badge, Status, Progress, Guides, Shine Button and Button, with Lucide icons, Tailwind CSS and CSS motion that stays still under reduced motion. For product launches, beta programmes, crowdfunding campaigns and any page where visible progress toward a goal moves people to join.
FAQ
How do I change the progress and the milestones?
PROGRESS at the top of the file is the bar's value, in percent. Each milestone in MILESTONES has a label and a threshold, the percentage where it is reached. The four cells are quarters of the bar, so each cell ends at its threshold: keep four milestones 25 apart for the dividers to fall where the bar passes them. A milestone is Reached once PROGRESS gets to its threshold, the first one it hasn't reached is In progress and the rest are Up next, all worked out from the one number.
How do I show real progress, such as sign-ups toward a goal?
Work the percentage out where the page renders (sign-ups so far divided by the goal, rounded) and pass it in place of PROGRESS. The bar, its percentage and the states of the milestones all follow from that one number, and since the value is in the server's HTML the bar is right before any script runs.
How does the bar fill on load, and what happens with reduced motion?
It's CSS. A starting: style (@starting-style) draws the fill at nothing for the first frame, and a one-second transition, after a short delay, takes it to its value. With reduced motion there's no transition: the bar is drawn at its value at once, and the rest of the hero skips its entrance too.
What do screen readers hear?
The bar is a progress bar named Progress to launch, with its value, 73%. The milestones are an ordered list named Milestones, and each one is read with its state: Alpha, Reached, through Launch, Up next. Their check marks and circles are decorative. The headline is the page's one h1, and the pill and both calls to action are links named by their text.
How does the hero fit on a phone?
The band keeps all four cells in one row, so the dividers stay under the bar's quarter marks; a long label such as Private beta wraps onto two lines rather than running into its neighbour. The two calls to action stack below the sm breakpoint, and the Shine Button ends about 580 px down the first screen.
Related
- Pro
Centered Countdown Timer Hero
Signup and waitlistA compact centred launch hero on solid rails with a live countdown as a full-width band of four cells and an email form whose Shine Button shows its loading and success states.
- Pro
Waitlist Signup Hero
Signup and waitlistA compact waitlist hero: the copy beside a card-in-card email form that turns into a confirmation in place, with a closing band of three features coming at launch.
- Pro
Split Layout Progress Tracker Hero
Updates and timelinesA compact split hero for a client onboarding portal: a Shine Button and an outline link at the start, and a five-step setup tracker with a progress bar in a hairline frame at the end.
- Pro
Animated Counter Hero
Stats and live dataA compact centered hero for an invoicing app with an announcement pill, a Shine Button and a second action, over a hairline band of four figures that count up when they scroll into view.
- Pro
Centered Award Badge Hero
Logos and social proofA compact centered hero led by an award plaque in a hairline frame, with a headline, a Shine Button and an outline button, then one band of three more recognitions.
- 123Pro
Centered Three-Step Process Hero
Updates and timelinesA compact centred how-it-works hero for an invoicing app: a headline, a Shine Button with an outline action and trust copy over a closing band of three step cells, each with a small drawing of its screen.