Stepper
Steppers convey progress through numbered steps. It provides a wizard-like workflow.
Introduction
Stepper displays progress through a sequence of logical and numbered steps. It support horizontal and vertical orientation for desktop and mobile viewports.
Joy UI Steppers are implemented using a collection of related components:
- Stepper - a required container for steps. Renders as a
<ol>
by default. - Step - a step. Renders as a
<li>
by default. - StepIndicator - an optional indicator of a step.
First
- 2
Second
<Stepper>
<Step
indicator={
<StepIndicator variant="solid" color="primary">
<Check />
</StepIndicator>
}
>First</Step>
...
</Stepper>
Playground
Basics
import Stepper from '@mui/joy/Stepper';
import Step from '@mui/joy/Step';
- Step 1
- Step 2
- Step 3
Customization
Indicator
Pass StepIndicator as an element to Step's indicator
prop to create number or icon indicators.
The StepIndicator supports Joy UI's four global variants: soft
(default), solid
, outlined
, and plain
.
- Order placed1
- In review2
- Approved3
Indicator at the top
Set Step's orientation="vertical"
to show an indicator at the top.
- Order placed1
- In review2
- Approved3
Button
To make the Step clickable, renders the StepButton
component as a direct child of the Step.
- 2
- 3
Sizes
The Stepper component comes in three sizes: sm
, md
(default), and lg
.
- Order placed1
- In review2
- Approved3
- Order placed1
- In review2
- Approved3
- Order placed1
- In review2
- Approved3
Vertical
Use orientation="vertical"
to display the Stepper vertically. If you don't provide an indicator prop to the Step, a dot (pseudo element) will be used as the indicator.
- Order placed1
- In review2
- Approved3
- Order placed
- In review
- Approved
Extra content
For vertical Steppers, you can pass more content to the Step by grouping it inside an HTML element.
The Step switches its display to CSS grid
when the Stepper's orientation is vertical.
- 1
Billing Address
Ron Swanson
14 Lakeshore Drive
Pawnee, IN 12345
United States
T: 555-555-5555NextEdit - 2
Shipping Address
Pending - 3
Shipping Method
Pending
Connector
The connector is a pseudo element of the Step. To customize it, target ::after
element of the Step using sx
prop.
- Order placed
- In review
- Approved
- Order placed1
- Order shipped2
- Order placed
- In review
- Approved
- Order placed1
- In review2
- Approved3
<Stepper>
CSS variables
Step 1
Basic DetailsStep 2
Company DetailsStep 3
Subscription plan- 3
Step 4
Payment details
01Preliminary
02Your details
03KYC
04KYC
Payment and Billing
API
See the documentation below for a complete reference to all of the props and classes available to the components mentioned here.