shadcn.io is not affiliated with official shadcn/ui
Checkmark Trail Stepper Block for React Aria
A mortgage document pack with the panel above and a trail of four circles in the foot, where each confirmed step draws its check and then fills the line onward.
Installation
Overview
Reward each finished step, with this checkmark trail stepper for React with React Aria. A plus-marked frame puts the step's panel above and a trail in the foot band: four circles with a short caption each (Identity, Income, Property and Review) on a Steps line, with Back and the Shine Button under it. A panel lists the documents that step needs and asks for one tick in a Checkbox, "I have these ready". "Confirm and continue" completes the step: its circle fills, the check strokes in over 300 milliseconds and then the line to the next circle fills. With reduced motion the finished check appears at once. The last step reviews the pack and ends on "Pack ready in this demo". For document collection, approvals and any flow where finishing a step deserves a moment.
FAQ
How does the check draw itself?
It is the catalog's own check icon. Its path is given a dash as long as itself and a transition on the dash offset, and the offset starts from the full length when the icon appears, so the stroke runs in. The line to the next circle waits 300 milliseconds before it fills. It is CSS only and the DRAW constant holds the classes; under reduced motion the transition is off and the check is drawn at once.
How do I change the documents?
Edit STAGES: each step has an id, a title, an intro, the list of documents and the label of its tick. The header's count and the review step's list are worked out from the lists, so add a document and they follow. Keep the review step last, since its list names the others.
What stays local?
The ticks and the current step. Nothing is uploaded or submitted to a lender: the last step ends on "Pack ready in this demo". To make it real, upload each file where the list is and enable the tick when the uploads succeed; call your API from advance on the last step.