shadcn.io is not affiliated with official shadcn/ui
Sequential Milestone Checklist Features Block for Solid
A features section for a launch-readiness tool: five milestones in an accordion, each a grouped checklist of real checkboxes, with every milestone locked until the one before it is complete.
Installation
Overview
A features section for Solid with Ark UI, built around gated milestones. A side header that stays in view as you scroll holds the headline, a progress ring of the requirements ticked so far and "2 of 5 milestones complete" in rolling digits. Beside it, behind a divider that meets the page's top rule with a plus mark, an accordion of five milestones on ruled rows opens one at a time; each opens to its requirements as real checkboxes in three groups (Legal, Security and Support), and ticking them updates the milestone's chip, the ring and the count. A milestone stays locked until the one before it is complete, so the order can't be skipped. It's built from Accordion, Checkbox, Circular Progress, Sliding Number, Badge and the Guides line kit, with your theme's tokens for every colour and no button. For launch plans, compliance checklists, onboarding programmes and any process with gates.
FAQ
How do I change the milestones and their requirements?
Edit the five milestone objects at the top of the file. Each has a name, a sentence and six requirements, each with a group (Legal, Security or Support), an id and a label. The counts, the percentage in the ring, "of 5 milestones complete" and each chip are all worked out from what is ticked, so they can't drift. START lists what is ticked when the page loads; clear it to start from nothing.
How does the locking work?
A milestone is open to work on while every milestone before it is complete. A locked row still sits in the list and can be reached from the keyboard, but it won't open, and its text says what it waits for ("Locked until Private beta is complete"). If you untick a box in an earlier milestone, every milestone after it locks again, and an open one gives way to the first milestone still to do. Ticking the last box of a milestone doesn't open the next one on its own; you choose when.
What does a screen reader hear?
Each row is a heading with its name, how many requirements are ticked (or what it waits for) and its state. Each checkbox is named by its requirement, and the three groups are fieldsets with legends. A polite status says when a milestone completes and which one unlocks, or when one stops being complete.
How does it work from the keyboard?
Tab moves through the rows and into the open milestone's checkboxes; Space ticks a box, and Enter or Space on a row opens it. The arrow keys, Home and End also move between rows on most versions; the Base UI and React Aria versions use Tab between rows instead.