Open-source Flutter package · awesome_stepper 1.0.1
The beautiful Flutter stepper
An animated step progress indicator, sliding pages, form validation per step, a controller and a side-by-side layout on tablets and foldables. Material 3, dark mode, no dependencies.
Features
- 4 header styles + verticalThe classic progress circle, a progress bar, dots or numbered steps — or a vertical stepper.
- Step indicator on its ownAwesomeStepIndicator without pages; an easy move from step_progress_indicator.
- Optional steps & finish screenA Skip button on optional steps and a summary screen after the last one.
- Validation per stepcanContinue keeps users on an invalid step and marks it red. Sync or async.
- Controllernext(), back(), jumpTo() and a listenable currentStep.
- Step statesCompleted, error and locked steps; disabled steps are skipped.
- Tablets & foldablesFrom 840 px the circle and numbered headers become a side list that follows the fold; bar and dots stay as they are.
- AccessibleScreen reader announcements, 48 px buttons, RTL, arrow keys, swipe, haptics.
Install
dependencies:
awesome_stepper: ^1.0.1
AwesomeStepper(
headerType: AwesomeStepperHeader.numbered,
onCompleted: placeOrder,
steps: [
AwesomeStepperItem(
label: 'Address',
content: AddressForm(key: formKey),
canContinue: () => formKey.currentState!.validate(),
),
const AwesomeStepperItem(label: 'Payment', content: PaymentPage()),
],
)
Full docs and options on pub.dev. Keywords: Flutter stepper · vertical stepper · step progress indicator · multi-step form · wizard · onboarding · checkout flow.
Made by Muhammed Şamil Demir
I'm a senior Flutter and iOS developer and the person behind Monsware. I build these packages in the open and use them in production apps. More: all my open-source packages, about me, GitHub.
Need a Flutter or iOS app built, or help with foldables and large screens? I take on a limited number of freelance projects.