Introducing PrimeReact v11-alpha 🎉Discover Now
styledPanel

Stepper

The Stepper component displays a wizard-like workflow by guiding users through the multi-step progression.

Content I
preview

Usage#

import { Stepper } from '@primereact/ui/stepper';
<Stepper.Root>
    <Stepper.List>
        <Stepper.Step>
            <Stepper.Header />
            <Stepper.Separator />
        </Stepper.Step>
    <Stepper.Panels>
        <Stepper.Panel />
    </Stepper.Panels>
</Stepper.Root>

Examples#

Horizontal#

Stepper requires two Stepper.List, Stepper.Step, Stepper.Panels and Stepper.Panel components as children which are displayed horizontally.

Content I
horizontal-demo

Vertical#

Stepper requires two Stepper.Item, Stepper.Step and Stepper.Panel components as children which are displayed vertically.

Content I
vertical-demo

Linear#

Linear mode enforces step-by-step progression through the workflow, requiring users to complete the current step before proceeding to the next one. This ensures a controlled navigation flow through the process.

Content I
linear-demo

Steps Only#

For a more compact UI, the steps-only mode displays just the step indicators without content panels. This is useful for indicating progress without showing the actual step content.

steps-only-demo

Template#

The optional as property controls the default container element of a step, for example setting it to a button renders a button for the header instead of a div. The asChild option enables the headless mode for further customization by passing callbacks and properties to implement your own step.

Create your account
template-demo

API#

Sub-Components#

See Primitive API for StepperRoot, StepperList, StepperStep, StepperItem, StepperHeader, StepperNumber, StepperTitle, StepperSeparator, StepperPanels, StepperPanel, StepperContent component documentation.

Hooks#

See Headless API for useStepper hook documentation.

Accessibility#

See Stepper Primitive for WAI-ARIA compliance details and keyboard support.