# Documentation v8.0.38

Preview Downloads Purchase

# Overview

Stepper is an exclusive plugin of Metronic for handling forms with multiple steps.

# Usage

Stepper's CSS and Javascript files are bundled in the global style and scripts bundles and are globally included in all pages:

    <link href="assets/css/style.bundle.css" rel="stylesheet" type="text/css"/>
    <script src="assets/js/scripts.bundle.js"></script>

# Initialization

- Stepper does not come with its own custom CSS and it uses global input controls and related elements.
- Stepper elements are defined with `data-kt-stepper-*`HTML attributes.
- Stepper instances can be created programmatically. See below for more info.

# Basic

Use `.stepper`and `.stepper-pills`classes to enable a basic form steps with title, number and icon elements:
Example Label 1
Example Label 2
Example Label 3 Switch
Example Label 1
Example Label 2
Example Label 3 Checkbox
Input 1
Input 2
Input 1
Input 2
Input 3

    // Stepper lement
    var element = document.querySelector("#kt_stepper_example_basic");

    // Initialize Stepper
    var stepper = new KTStepper(element);

    // Handle next step
    stepper.on("kt.stepper.next", function (stepper) {
        stepper.goNext(); // go next step
    });

    // Handle previous step
    stepper.on("kt.stepper.previous", function (stepper) {
        stepper.goPrevious(); // go previous step
    });

    <!--begin::Stepper-->
    <div class="stepper stepper-pills" id="kt_stepper_example_basic">
        <!--begin::Nav-->
        <div class="stepper-nav flex-center flex-wrap mb-10">
            <!--begin::Step 1-->
            <div class="stepper-item mx-2 my-4 current" data-kt-stepper-element="nav">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">1</span>
                </div>
                <!--end::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 1
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 1-->

            <!--begin::Step 2-->
            <div class="stepper-item mx-2 my-4" data-kt-stepper-element="nav">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">2</span>
                </div>
                <!--begin::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 2
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 2-->

            <!--begin::Step 3-->
            <div class="stepper-item mx-2 my-4" data-kt-stepper-element="nav">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">3</span>
                </div>
                <!--begin::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 3
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 3-->

            <!--begin::Step 4-->
            <div class="stepper-item mx-2 my-4" data-kt-stepper-element="nav">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">4</span>
                </div>
                <!--begin::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 4
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 4-->
        </div>
        <!--end::Nav-->

        <!--begin::Form-->
        <form class="form w-lg-500px mx-auto" novalidate="novalidate" id="kt_stepper_example_basic_form">
            <!--begin::Group-->
            <div class="mb-5">
                <!--begin::Step 1-->
                <div class="flex-column current" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 1</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 2</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 3</label>
                        <!--end::Label-->

                        <!--begin::Switch-->
                        <label class="form-check form-switch form-check-custom form-check-solid">
                            <input class="form-check-input" type="checkbox" checked="checked" value="1"/>
                            <span class="form-check-label">
                                Switch
                            </span>
                        </label>
                        <!--end::Switch-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->

                <!--begin::Step 1-->
                <div class="flex-column" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 1</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 2</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <textarea class="form-control form-control-solid" rows="3" name="input2" placeholder=""></textarea>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 3</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <label class="form-check form-check-custom form-check-solid">
                            <input class="form-check-input" checked="checked" type="checkbox" value="1"/>
                            <span class="form-check-label">
                                Checkbox
                            </span>
                        </label>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->

                <!--begin::Step 1-->
                <div class="flex-column" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label d-flex align-items-center">
                            <span class="required">Input 1</span>
                            <i class="fas fa-exclamation-circle ms-2 fs-7" data-bs-toggle="tooltip" title="Example tooltip"></i>
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">
                            Input 2
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->

                <!--begin::Step 1-->
                <div class="flex-column" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label d-flex align-items-center">
                            <span class="required">Input 1</span>
                            <i class="fas fa-exclamation-circle ms-2 fs-7" data-bs-toggle="tooltip" title="Example tooltip"></i>
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">
                            Input 2
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">
                            Input 3
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input3" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->
            </div>
            <!--end::Group-->

            <!--begin::Actions-->
            <div class="d-flex flex-stack">
                <!--begin::Wrapper-->
                <div class="me-2">
                    <button type="button" class="btn btn-light btn-active-light-primary" data-kt-stepper-action="previous">
                        Back
                    </button>
                </div>
                <!--end::Wrapper-->

                <!--begin::Wrapper-->
                <div>
                    <button type="button" class="btn btn-primary" data-kt-stepper-action="submit">
                        <span class="indicator-label">
                            Submit
                        </span>
                        <span class="indicator-progress">
                            Please wait... <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                        </span>
                    </button>

                    <button type="button" class="btn btn-primary" data-kt-stepper-action="next">
                        Continue
                    </button>
                </div>
                <!--end::Wrapper-->
            </div>
            <!--end::Actions-->
        </form>
        <!--end::Form-->
    </div>
    <!--end::Stepper-->

# Vertical

Use `.stepper-column`class to enable a stepper with vertical navigation layout:
Example Label 1
Example Label 2
Example Label 3 Switch
Example Label 1
Example Label 2
Example Label 3 Checkbox
Input 1
Input 2
Input 1
Input 2
Input 3

    // Stepper lement
    var element = document.querySelector("#kt_stepper_example_vertical");

    // Initialize Stepper
    var stepper = new KTStepper(element);

    // Handle next step
    stepper.on("kt.stepper.next", function (stepper) {
        stepper.goNext(); // go next step
    });

    // Handle previous step
    stepper.on("kt.stepper.previous", function (stepper) {
        stepper.goPrevious(); // go previous step
    });

    <!--begin::Stepper-->
    <div class="stepper stepper-pills stepper-column d-flex flex-column flex-lg-row" id="kt_stepper_example_vertical">
        <!--begin::Aside-->
        <div class="d-flex flex-row-auto w-100 w-lg-300px">
            <!--begin::Nav-->
            <div class="stepper-nav flex-cente">
                <!--begin::Step 1-->
                <div class="stepper-item me-5 current" data-kt-stepper-element="nav">
                    <!--begin::Line-->
                    <div class="stepper-line w-40px"></div>
                    <!--end::Line-->

                    <!--begin::Icon-->
                    <div class="stepper-icon w-40px h-40px">
                        <i class="stepper-check fas fa-check"></i>
                        <span class="stepper-number">1</span>
                    </div>
                    <!--end::Icon-->

                    <!--begin::Label-->
                    <div class="stepper-label">
                        <h3 class="stepper-title">
                            Step 1
                        </h3>

                        <div class="stepper-desc">
                            Description
                        </div>
                    </div>
                    <!--end::Label-->
                </div>
                <!--end::Step 1-->

                <!--begin::Step 2-->
                <div class="stepper-item me-5" data-kt-stepper-element="nav">
                    <!--begin::Line-->
                    <div class="stepper-line w-40px"></div>
                    <!--end::Line-->

                    <!--begin::Icon-->
                    <div class="stepper-icon w-40px h-40px">
                        <i class="stepper-check fas fa-check"></i>
                        <span class="stepper-number">2</span>
                    </div>
                    <!--begin::Icon-->

                    <!--begin::Label-->
                    <div class="stepper-label">
                        <h3 class="stepper-title">
                            Step 2
                        </h3>

                        <div class="stepper-desc">
                            Description
                        </div>
                    </div>
                    <!--end::Label-->
                </div>
                <!--end::Step 2-->

                <!--begin::Step 3-->
                <div class="stepper-item me-5" data-kt-stepper-element="nav">
                    <!--begin::Line-->
                    <div class="stepper-line w-40px"></div>
                    <!--end::Line-->

                    <!--begin::Icon-->
                    <div class="stepper-icon w-40px h-40px">
                        <i class="stepper-check fas fa-check"></i>
                        <span class="stepper-number">3</span>
                    </div>
                    <!--begin::Icon-->

                    <!--begin::Label-->
                    <div class="stepper-label">
                        <h3 class="stepper-title">
                            Step 3
                        </h3>

                        <div class="stepper-desc">
                            Description
                        </div>
                    </div>
                    <!--end::Label-->
                </div>
                <!--end::Step 3-->

                <!--begin::Step 4-->
                <div class="stepper-item me-5" data-kt-stepper-element="nav">
                    <!--begin::Line-->
                    <div class="stepper-line w-40px"></div>
                    <!--end::Line-->

                    <!--begin::Icon-->
                    <div class="stepper-icon w-40px h-40px">
                        <i class="stepper-check fas fa-check"></i>
                        <span class="stepper-number">4</span>
                    </div>
                    <!--begin::Icon-->

                    <!--begin::Label-->
                    <div class="stepper-label">
                        <h3 class="stepper-title">
                            Step 4
                        </h3>

                        <div class="stepper-desc">
                            Description
                        </div>
                    </div>
                    <!--end::Label-->
                </div>
                <!--end::Step 4-->
            </div>
            <!--end::Nav-->
        </div>

        <!--begin::Content-->
        <div class="flex-row-fluid">
            <!--begin::Form-->
            <form class="form w-lg-500px mx-auto" novalidate="novalidate">
                <!--begin::Group-->
                <div class="mb-5">
                    <!--begin::Step 1-->
                    <div class="flex-column current" data-kt-stepper-element="content">
                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">Example Label 1</label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->

                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">Example Label 2</label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->

                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">Example Label 3</label>
                            <!--end::Label-->

                            <!--begin::Switch-->
                            <label class="form-check form-switch form-check-custom form-check-solid">
                                <input class="form-check-input" type="checkbox" checked="checked" value="1"/>
                                <span class="form-check-label">
                                    Switch
                                </span>
                            </label>
                            <!--end::Switch-->
                        </div>
                        <!--end::Input group-->
                    </div>
                    <!--begin::Step 1-->

                    <!--begin::Step 1-->
                    <div class="flex-column" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">Example Label 1</label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->

                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">Example Label 2</label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <textarea class="form-control form-control-solid" rows="3" name="input2" placeholder=""></textarea>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->

                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">Example Label 3</label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <label class="form-check form-check-custom form-check-solid">
                                <input class="form-check-input" checked="checked" type="checkbox" value="1"/>
                                <span class="form-check-label">
                                    Checkbox
                                </span>
                            </label>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->
                    </div>
                    <!--begin::Step 1-->

                    <!--begin::Step 1-->
                    <div class="flex-column" data-kt-stepper-element="content">
                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label d-flex align-items-center">
                                <span class="required">Input 1</span>
                                <i class="fas fa-exclamation-circle ms-2 fs-7" data-bs-toggle="tooltip" title="Example tooltip"></i>
                            </label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->

                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">
                                Input 2
                            </label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->
                    </div>
                    <!--begin::Step 1-->

                    <!--begin::Step 1-->
                    <div class="flex-column" data-kt-stepper-element="content">
                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label d-flex align-items-center">
                                <span class="required">Input 1</span>
                                <i class="fas fa-exclamation-circle ms-2 fs-7" data-bs-toggle="tooltip" title="Example tooltip"></i>
                            </label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->

                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">
                                Input 2
                            </label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->

                        <!--begin::Input group-->
                        <div class="fv-row mb-10">
                            <!--begin::Label-->
                            <label class="form-label">
                                Input 3
                            </label>
                            <!--end::Label-->

                            <!--begin::Input-->
                            <input type="text" class="form-control form-control-solid" name="input3" placeholder="" value=""/>
                            <!--end::Input-->
                        </div>
                        <!--end::Input group-->
                    </div>
                    <!--begin::Step 1-->
                </div>
                <!--end::Group-->

                <!--begin::Actions-->
                <div class="d-flex flex-stack">
                    <!--begin::Wrapper-->
                    <div class="me-2">
                        <button type="button" class="btn btn-light btn-active-light-primary" data-kt-stepper-action="previous">
                            Back
                        </button>
                    </div>
                    <!--end::Wrapper-->

                    <!--begin::Wrapper-->
                    <div>
                        <button type="button" class="btn btn-primary" data-kt-stepper-action="submit">
                            <span class="indicator-label">
                                Submit
                            </span>
                            <span class="indicator-progress">
                                Please wait... <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                            </span>
                        </button>

                        <button type="button" class="btn btn-primary" data-kt-stepper-action="next">
                            Continue
                        </button>
                    </div>
                    <!--end::Wrapper-->
                </div>
                <!--end::Actions-->
            </form>
            <!--end::Form-->
        </div>
    </div>
    <!--end::Stepper-->

# Clickable Navigation

Add `data-kt-stepper-action="step"`attribute to Stepper navigation links to setup a Stepper with clickable navigation:
Example Label 1
Example Label 2
Example Label 3 Switch
Example Label 1
Example Label 2
Example Label 3 Checkbox
Input 1
Input 2
Input 1
Input 2
Input 3

    // Stepper lement
    var element = document.querySelector("#kt_stepper_example_clickable");

    // Initialize Stepper
    var stepper = new KTStepper(element);

    // Handle navigation click
    stepper.on("kt.stepper.click", function (stepper) {
        stepper.goTo(stepper.getClickedStepIndex()); // go to clicked step
    });

    // Handle next step
    stepper.on("kt.stepper.next", function (stepper) {
        stepper.goNext(); // go next step
    });

    // Handle previous step
    stepper.on("kt.stepper.previous", function (stepper) {
        stepper.goPrevious(); // go previous step
    });

    <!--begin::Stepper-->
    <div class="stepper stepper-pills" id="kt_stepper_example_clickable">
        <!--begin::Nav-->
        <div class="stepper-nav flex-center flex-wrap mb-10">
            <!--begin::Step 1-->
            <div class="stepper-item mx-2 my-4 current" data-kt-stepper-element="nav" data-kt-stepper-action="step">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">1</span>
                </div>
                <!--end::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 1
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 1-->

            <!--begin::Step 2-->
            <div class="stepper-item mx-2 my-4" data-kt-stepper-element="nav" data-kt-stepper-action="step">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">2</span>
                </div>
                <!--begin::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 2
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 2-->

            <!--begin::Step 3-->
            <div class="stepper-item mx-2 my-4" data-kt-stepper-element="nav" data-kt-stepper-action="step">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">3</span>
                </div>
                <!--begin::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 3
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 3-->

            <!--begin::Step 4-->
            <div class="stepper-item mx-2 my-4" data-kt-stepper-element="nav" data-kt-stepper-action="step">
                <!--begin::Line-->
                <div class="stepper-line w-40px"></div>
                <!--end::Line-->

                <!--begin::Icon-->
                <div class="stepper-icon w-40px h-40px">
                    <i class="stepper-check fas fa-check"></i>
                    <span class="stepper-number">4</span>
                </div>
                <!--begin::Icon-->

                <!--begin::Label-->
                <div class="stepper-label">
                    <h3 class="stepper-title">
                        Step 4
                    </h3>

                    <div class="stepper-desc">
                        Description
                    </div>
                </div>
                <!--end::Label-->
            </div>
            <!--end::Step 4-->
        </div>
        <!--end::Nav-->

        <!--begin::Form-->
        <form class="form w-lg-500px mx-auto" novalidate="novalidate" id="kt_stepper_example_basic_form">
            <!--begin::Group-->
            <div class="mb-5">
                <!--begin::Step 1-->
                <div class="flex-column current" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 1</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 2</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 3</label>
                        <!--end::Label-->

                        <!--begin::Switch-->
                        <label class="form-check form-switch form-check-custom form-check-solid">
                            <input class="form-check-input" type="checkbox" checked="checked" value="1"/>
                            <span class="form-check-label">
                                Switch
                            </span>
                        </label>
                        <!--end::Switch-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->

                <!--begin::Step 1-->
                <div class="flex-column" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 1</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 2</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <textarea class="form-control form-control-solid" rows="3" name="input2" placeholder=""></textarea>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">Example Label 3</label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <label class="form-check form-check-custom form-check-solid">
                            <input class="form-check-input" checked="checked" type="checkbox" value="1"/>
                            <span class="form-check-label">
                                Checkbox
                            </span>
                        </label>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->

                <!--begin::Step 1-->
                <div class="flex-column" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label d-flex align-items-center">
                            <span class="required">Input 1</span>
                            <i class="fas fa-exclamation-circle ms-2 fs-7" data-bs-toggle="tooltip" title="Example tooltip"></i>
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">
                            Input 2
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->

                <!--begin::Step 1-->
                <div class="flex-column" data-kt-stepper-element="content">
                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label d-flex align-items-center">
                            <span class="required">Input 1</span>
                            <i class="fas fa-exclamation-circle ms-2 fs-7" data-bs-toggle="tooltip" title="Example tooltip"></i>
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input1" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">
                            Input 2
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input2" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->

                    <!--begin::Input group-->
                    <div class="fv-row mb-10">
                        <!--begin::Label-->
                        <label class="form-label">
                            Input 3
                        </label>
                        <!--end::Label-->

                        <!--begin::Input-->
                        <input type="text" class="form-control form-control-solid" name="input3" placeholder="" value=""/>
                        <!--end::Input-->
                    </div>
                    <!--end::Input group-->
                </div>
                <!--begin::Step 1-->
            </div>
            <!--end::Group-->

            <!--begin::Actions-->
            <div class="d-flex flex-stack">
                <!--begin::Wrapper-->
                <div class="me-2">
                    <button type="button" class="btn btn-light btn-active-light-primary" data-kt-stepper-action="previous">
                        Back
                    </button>
                </div>
                <!--end::Wrapper-->

                <!--begin::Wrapper-->
                <div>
                    <button type="button" class="btn btn-primary" data-kt-stepper-action="submit">
                        <span class="indicator-label">
                            Submit
                        </span>
                        <span class="indicator-progress">
                            Please wait... <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                        </span>
                    </button>

                    <button type="button" class="btn btn-primary" data-kt-stepper-action="next">
                        Continue
                    </button>
                </div>
                <!--end::Wrapper-->
            </div>
            <!--end::Actions-->
        </form>
        <!--end::Form-->
    </div>
    <!--end::Stepper-->

# Markup Reference

For the sake of design abstraction Stepper does not depend on design structure with CSS classes. Instead, it defines it's dependant elements via HTML attributes explained in the below table:

Name | Description
--- | ---
`data-kt-stepper-element="nav"` | Represents a step's navigation indicator element that may contain of step title, description, icon and number.
`data-kt-stepper-element="content"` | Represents a step content element that may contain of form elements.
`data-kt-stepper-action="next"` | Represents a next button.
`data-kt-stepper-action="previous"` | Represents a previous button.
`data-kt-stepper-action="submit"` | Represents a submit button that is shown in final step.
`data-kt-stepper-action="step"` | Enables clickable steps when set to stepper navigation links.

`.current`, `.pending`and `.completed`classes are applied to `data-kt-stepper-element="nav"`and `data-kt-stepper-element="content"`elements to highlight current, pending and competed step states.

# Methods

The following are the Stepper's functionality methods for more control.

Name | Description
--- | ---
`KTStepper(DOMElement element, Object options)` | Constructs a stepper object by given DOM element and options. `startIndex`is starting steps index. Default value is `startIndex: 1`
    var stepperEl = document.querySelector("#kt_stepper_example");
    var options = {startIndex: 1};
    var stepper = new KTStepper(stepperEl, options);
`goTo(Integer index)` | Activates a step by given index. `index`is an integer value(e.g: 1, 2, 3 ...) that represents the step's order number.
    stepper.goTo(index);
`goNext()` | Activates next step.
    stepper.goNext();
`goPrevious()` | Activates previous step.
    stepper.goPrevious();
`goFirst()` | Activates the first step.
    stepper.goFirst();
`goLast()` | Activates the last step.
    stepper.goLast();
`getClickedStepIndex()` | Returns the clicked step index number as integer when stepper nav link is set with `data-kt-stepper-action="step"`attribute.
    stepper.getClickedStepIndex();
`getCurrentStepIndex()` | Returns the current step index number as integer.
    stepper.getCurrentStepIndex();
`getNextStepIndex()` | Returns the next step's index number as integer.
    stepper.getNextStepIndex();
`getPreviousStepIndex()` | Returns the previous step's index number as integer.
    stepper.getPreviousStepIndex();
`getElement()` | Returns the Stepper's attached DOM element.
    var element = stepper.getElement();
`destroy()` | Removes the component instance from element.
    blockUI.destroy();
Static Methods
`getInstance(DOMElement element)` | Get the Stepper instance created
    var stepperElement = document.querySelector("#kt_stepper_example_1");
    var stepper = KTStepper.getInstance(stepperElement);

# Events

Below are few events for hooking into the Stepper functionality.

Event Type | Description
--- | ---
`kt.stepper.next` | This event fires on next navigation button click.
    var stepperEl = document.querySelector("#kt_stepper_example");
    var stepper = new KTStepper(stepperEl);
    stepper.on("kt.stepper.next", function() {
        // console.log("kt.stepper.next event is fired");
    });
`kt.stepper.previous` | This event fires on previous navigation button click.
    stepper.on("kt.stepper.previous", function() {
        // console.log("kt.stepper.previous event is fired");
    });
`kt.stepper.change` | This event fires before current step change.
    stepper.on("kt.stepper.change", function() {
        // console.log("kt.stepper.change event is fired");
    });
`kt.stepper.changed` | This event fires after current step change.
    stepper.on("kt.stepper.changed", function() {
        // console.log("kt.stepper.changed event is fired");
    });
`kt.stepper.click` | This event fires on clickable navigation link click.
    stepper.on("kt.stepper.click", function() {
        stepper.goTo(stepper.getClickedStepIndex()); // go to clicked step
    });

### Explore

### Metronic Licenses

License FAQs
Regular License
For single end product used by you or one client
$ 39
Extended License
For single SaaS app with paying users
$ 969
Custom License
Reach us for custom license offers.
Contact Us
Buy Now

### Metronic Demos

Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Demo 6
Demo 7
Demo 8
Demo 9
Demo 10
Demo 11
Demo 12
Demo 13
Demo 14
Demo 15
Demo 16
Demo 17
Demo 18
Demo 19
Demo 20
Demo 21
Demo 22
Coming soon
Coming soon

##### Learn & Get Inspired

## Support at devs.keenthemes.com

Join our developers community to find answer to your question and help others. FAQs
Get Support
Documentation & Videos
From guides and video tutorials, to live demos and code examples to get started.
Plugins & Components
Check out our 300+ in-house components and customized 3rd-party plugins.
Layout Builder
Build your layout, preview it and export the HTML for server side integration.
Metronic Downloads
Download your prefered framework and demo with one click.
What's New
Latest features and improvements added with our users feedback in mind.
Buy now