Steppers
Divide and present content in sequenced steps.
import { Stepper, Step } from '@skeletonlabs/skeleton';
Demo
Create a set of Steps within the Stepper, then use the on:complete
event to detect when all steps are complete. Since
horizontal space may be limited on small screens, we recommend no more than five steps at max.
Event Handlers
Complete Event
function onCompleteHandler(e: Event): void { console.log('event:complete', e); }
<Stepper on:complete={onCompleteHandler}>...</Stepper>
Next, Step and Previous
Events are fired when the next or previous steps are pressed, step fires for both cases.
function onStepHandler(e: {step: number, state: {current: number, total: number}}): void {
console.log('event:step', e);
}
<Stepper on:next={onNextHandler} on:step={onStepHandler} on:back={onBackHandler}>...</Stepper>
TIP:e.state.current
contains the step shown to the user after navigation,e.step
contains the step where navigation occurred.
Locked State
Each Step can have a locked
property set, when set to TRUE this locks progression for that step. For example, you
can lock a step until a form within it becomes valid.
let lockedState: boolean = true;
<Step locked={lockedState}>...</Step>
Step Term
Use the stepTerm
property to override text shown in the animated section at the top of the Stepper, which is useful if you
need i18n support for other languages.
<!-- French: Marcher 1, Marcher 2, ... -->
<Step stepTerm='Marcher'>...</Step>
<!-- Spanish: Paso 1, Paso 2, ... -->
<Step stepTerm='Paso'>...</Step>
This can be overwritten per each Step as well, which updates the default and header slot placeholder text.