Component Request
Add a CSS-only animated stepper/step indicator component for multi-step forms, onboarding wizards, and checkout flows. This is a commonly needed UI pattern not currently in EaseMotion CSS.
Proposed classes
.ease-stepper — horizontal stepper wrapper
.ease-stepper--vertical — vertical layout variant
.ease-stepper__step — individual step container
.ease-stepper__step--completed — shows filled circle with ✓ checkmark
.ease-stepper__step--active — shows pulsing ring or highlighted circle
.ease-stepper__step--upcoming — greyed out, not yet reached
.ease-stepper__connector — the line between steps (animates fill left-to-right on completion)
Animations
- Completed checkmark: scale-in from 0 to 1
- Connector fill:
width: 0% → 100% transition on the ::after pseudo-element
- Active step: subtle pulse ring (similar to notification badge but on the step circle)
CSS custom properties
--ease-step-color-completed (default: #6366f1)
--ease-step-color-active (default: #6366f1)
--ease-step-color-upcoming (default: #d1d5db)
--ease-step-size — circle diameter (default: 2rem)
--ease-step-connector-duration (default: 0.4s)
Accessibility: aria-current="step" on active, aria-label on each step circle.
File: components/stepper.css
Component Request
Add a CSS-only animated stepper/step indicator component for multi-step forms, onboarding wizards, and checkout flows. This is a commonly needed UI pattern not currently in EaseMotion CSS.
Proposed classes
.ease-stepper— horizontal stepper wrapper.ease-stepper--vertical— vertical layout variant.ease-stepper__step— individual step container.ease-stepper__step--completed— shows filled circle with ✓ checkmark.ease-stepper__step--active— shows pulsing ring or highlighted circle.ease-stepper__step--upcoming— greyed out, not yet reached.ease-stepper__connector— the line between steps (animates fill left-to-right on completion)Animations
width: 0% → 100%transition on the::afterpseudo-elementCSS custom properties
--ease-step-color-completed(default: #6366f1)--ease-step-color-active(default: #6366f1)--ease-step-color-upcoming(default: #d1d5db)--ease-step-size— circle diameter (default: 2rem)--ease-step-connector-duration(default: 0.4s)Accessibility:
aria-current="step"on active,aria-labelon each step circle.File:
components/stepper.css