CoolStepper is a widget that displays a step by step sequence of operations. it could be helpful for a form wizard or onboarding.


To use this package, add cool_stepper as a dependency in your pubspec.yaml file. And add this import to your file.

import 'package:cool_stepper/cool_stepper.dart';



   onCompleted: () {},
   steps: List<CoolStep>[
        title: "Basic Information",
        subtitle: "Please fill some of the basic information to get started",
        content: Container()

For each step, return a null, if you want the validation to pass or a String message which would be displayed if you set the showErrorSnackbar attribute to true.

validation: () {
          if (!_formKey.currentState!.validate()) {
            return 'Fill form correctly';
          return null;

CoolStepper Class

AttributeData typeDescriptionDefault Value
onCompletedVoid Function()@required - A function that is triggers when all steps have been completedNull
configCoolStepperConfigHelps to customize your stepperCoolStepperConfig(backText: "BACK", nextText: "NEXT", stepText: "STEP", ofText: "OF")
showErrorSnackbarbooleanShows a snakbar at the bottom of the page when a step validation fails if set to truefalse

CoolStepperConfig Properties

AttributeData typeDescriptionDefault Value
backTextStringThe text that should be displayed for the back buttonBACK
nextTextStringThe text that should be displayed for the next buttonNEXT
finalTextStringThe text that should be displayed for the next button on the final stepFINISH
stepTextStringThe text that describes the progressSTEP
ofTextStringThe text that describes the progressOF
headerColorColorThis is the background color of the headerTheme.of(context).primaryColor.withOpacity(0.1)
iconColorColorThis is the color of the iconColor.black38
iconIconThis icon replaces the default iconIcon(Icons.help_outline,size: 18,Colors.black38)
titleTextStyleTextStyleThis is the textStyle for the title textTextStyle(fontSize: 16.0,fontWeight: FontWeight.bold,color: Colors.black38)
subtitleTextStyleTextStyleThis is the textStyle for the subtitle textTextStyle(fontSize: 14.0,fontWeight: FontWeight.w600,color:
backTextListListA List of string that when supplied will override 'backText'. Must be one less than the number of steps since for the first step, the backText won't be visiblenull
nextTextListListA List of string that when supplied will override 'nextText'Must be one less than the number of steps since the 'finalText' attribute is able to set the value for the final step's next buttonnull