shadcn.io is not affiliated with official shadcn/ui
Centered Three-Step Process Hero Block for React
A 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.
Installation
Overview
A compact centred how-it-works hero that shows how short the road is. A headline, a sentence, a Shine Button with an outline action and a line of trust copy sit above a closing band of three step cells between the page's solid rails, split by hairlines with a + mark where the band's rule meets each rail. Each cell holds a numbered circle, a title, a one-line description and a small greyscale drawing of its screen: a linked bank account, three imported clients and a sent invoice. On a phone the cells stack with a hairline between them, and each part fades up in turn on load. It's built from Shine Button, Button, Avatar, Guides, an ordered list and your theme's tokens, with CSS transitions only. The copy speaks for Tallybook, an invoicing app for freelancers, and the primary colour stays on the one button. For onboarding flows, how-it-works sections, getting-started guides and product explainers.
FAQ
How do I change the steps?
Edit STEPS at the top of the file: each step has a title, a description and an id that picks the drawing under it (bank, clients or invoice). The number in its circle comes from its place in the list, so reordering them renumbers them. The drawings are three small components beside the block, BankDrawing, ClientsDrawing and InvoiceDrawing; swap one for your own screen, or remove the id branch to leave a step without one. The grid has three columns from the md breakpoint, so with a different count change md:grid-cols-3 to match.
How do I make each step link to its guide?
Put an <a> inside each step's h2, around the title, so the heading stays a heading and the link says where it goes. To make the whole step clickable, stretch that link over it with an after:absolute after:inset-0 pseudo-element on a relative cell and add a hover background to the li. Keep the number circle and the drawings outside the link: they're decorative.
How do screen readers read the steps?
The steps are an ordered list, so a screen reader announces three items in order. Each title is an h2 under the page's single h1, read as "Step 1: Connect your bank", with "Step 1" in visually hidden text, so someone jumping between headings still hears the order. The numbered circles and the drawings are hidden from assistive technology, since the list, the heading and the description already carry them.
How does the layout change on a phone?
Below the md breakpoint the steps stack in one column, divided by hairlines, each with its circle, title, description and drawing in reading order. The two calls to action sit side by side or wrap onto two lines at the narrowest widths, and the whole first screen, headline to buttons, fits above the first step. From md the three cells sit side by side, split by vertical hairlines, with the drawings level along their foot.
What animates, and what about reduced motion?
On load, the headline and the sentence fade up, then the buttons, then each step a beat after the one before. It's all CSS transitions on first paint, with no animation library and no JavaScript, so the block stays a server component. The Shine Button's light sweeps once on hover, focus or press; with reduced motion everything appears in place at once and the light fades in where it stands.
When should I use a steps hero instead of feature cards?
Use steps when order matters: an onboarding flow, a setup, a process where step two needs step one. The numbers say "this is a journey, and it's short". Use feature cards when the points are independent and a visitor can read them in any order; numbering them would suggest a sequence that isn't there.
Related
- Pro
Timeline Hero
Updates and timelinesA start-aligned hero with a headline, a Shine Button and an outline action over a closing band of four milestone rows on a vertical hairline, shipped, current and planned.
- Pro
Centered Feature Cards Grid Hero
Features and tablesA showcase hero between solid rails: an announcement link, a centred headline and a Shine Button, over three feature cells with overshooting hairlines, each led by a greyscale vignette of the feature.
- Pro
Checklist Hero
PricingA showcase hero for a single plan: the headline and the price in a card in card, over a grid of eight included features that share their hairlines.
- Pro
Centered Progress Bar Hero
Updates and timelinesA 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.
- 12345Pro
Split Layout Numbered Feature List Hero
Features and tablesA split hero between solid rails: an announcement link, a headline and a Shine Button with an outline button on one side, a divider, and a numbered list of six features as ruled rows on the other.
- Pro
Tabbed Feature Showcase Hero
Interactive demosA split hero for a code assistant: a headline, a Shine Button and an outline action at the start, and at the end a framed card with underline tabs for features, integrations and pricing.