crucıble

Smelt

A staged multi-step loader: pending steps are cold gray stampings, the active step glows white under a shimmering underline, and completion quenches it into a checkmark stamped in a calm neutral — advancing on heavy mechanical detents.

motionpro

Installation

CLI

npx shadcn@latest add @crucible/smelt

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
stepsSmeltStep[]Ordered status lines. Each is a stage of the operation.
msPerStepnumber2000Milliseconds each step holds before the next detent.
loopbooleantrueRestart from the first step after the last.
loadingbooleantrueWhile true the loader runs; false stops the timer and quenches the current step.
valuenumberControlled active index. When set, the internal timer is disabled.
accentColorstringwhiteAccent for the active step.
steelColorstringneutral-300Color completed checkmarks settle to.
visibleStepsnumber5Rows visible in the window before the list starts detenting upward.
Also accepts all props of React.ComponentPropsWithoutRef<"div">they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.