shadcn.io is not affiliated with official shadcn/ui
Numbered Onboarding Steps Banner Block for React
An interactive five-step setup checklist as a card in card: Start completes the next step and the button moves down a row, with a live count and an All set state.
Installation
Overview
A numbered onboarding checklist banner for React with Base UI, for the first minutes in a new product. A muted shell with + marks on its corners wraps a raised panel: a header with "Setup checklist" and a live "3 / 5 done", then an ordered list of five rows, each 40 px tall. A finished step shows a filled check and a struck-through title; the others show their number, and only the next step carries a ghost Start button. Pressing it completes the step, the button moves down a row and focus goes with it. After the last step the header says "All set". It's built from Button and Guides, and it follows your theme.
FAQ
How do I change the steps and the starting point?
Edit STEPS, the titles in order, and INITIAL, how many are done when the page loads (3 here, so the demo shows a checklist already under way). A step is done when its index is below the count, so the list can only be finished in order.
How do I make Start do something?
The start handler only adds one to the count. Put your real work there: open the step's page, call your API, then raise the count when it succeeds. If the steps are completed elsewhere, drive done from your user's progress instead of the button.
Where does keyboard focus go after Start?
The button you pressed is replaced by the next row's, so focus moves to that Start button, and Tab carries on from there. After the last step there is no button, so focus goes to a line that only screen readers see ("All five steps are done."), and Start over appears in the header.
What do screen readers hear?
The count is a polite live region: pressing Start announces "4 / 5 done", and finishing announces "All set". Each row says its state in words ("Done: Create a workspace", "Next: Run a first build"), the current step is marked aria-current="step", and the Start button's name includes its step ("Start: Run a first build").
Related
- Pro
Numbered Steps Banner
Numbered listsA setup tracker for a workspace tool: four numbered steps in a row joined by a line, finished ones checked, the current one ringed, and a Resume button under it.
- Pro
Expandable Timeline Banner
Disclosures and tabsA parcel notice for a tracking product as a disclosure: a header that names the current stage and its step, and a vertical four-step timeline when opened.
- 010203Pro
Numbered Announcements Banner
Numbered listsA weekly digest band for a product-updates tool: a quiet title and count, then three numbered announcements on hairlines, each row one link with a trailing arrow.
- Pro
A setting callout for an uptime monitor: a card in card with a bell icon, a heading and a sentence, and an Off or On label beside a switch that rewrites the sentence and lights a status dot.
- Pro
An acknowledge-once callout for a newsletter platform: a card in card with an info icon, a heading, one sentence and a footer whose checkbox rewrites the outline button from Got it to Dismiss permanently.
- 72%Pro
An export job in one row for an invoicing tool: a thin progress bar with its percentage and seconds left that fills once and turns into a Download button, with Cancel and Run again.