easy, lightweight multi-step experiences.
Steppp is a small library for quickly creating multi-step forms, carousels, and other experiences. It emphasizes a flexible developer experience and a small bundle footprint.
Head Straight to the DocsUse Steppp to build a simple multi-step experience with a predictable, linear flow.
With two API approaches, Steppp allows you to quickly spin up multi-step forms, carousels, and other experiences with ease and a lightweight footprint.
Using either Steppp's declarative or imperative API to take users through a non-linear flow driven by some action.
Steppp relies on the Web Animations API, which means you can take full control of how steps enter and exit.
With two API approaches, Steppp allows you to quickly spin up multi-step forms, carousels, and other experiences with ease and a lightweight footprint.
Attach certain attributes to your markup and write zero JavaScript to get a basic instance up and running.
<div id="steppp">
<div data-steppp-wrapper>
<section data-steppp-active>first</section>
<section>second</section>
<section>third</section>
</div>
<button data-steppp-forward>
Forward
</button>
<button data-steppp-backward>
Backward
</button>
</div>
<script src="path/to/steppp.js"></script>
For more fine-tuned control, use Steppp's intuitive JavaScript API to set up a multi-step experience.
// After setting up your markup...
import Steppp from "steppp";
const element = document.getElementById("targetElement");
const { forward, backward, moveTo } = Steppp(element);
document.querySelector("#forward").addEventListener("click", () => {
forward();
});
document.querySelector("#backward").addEventListener("click", () => {
backward();
});
document.querySelector("#moveToStepA").addEventListener("click", () => {
moveTo("step_a");
});