Files
react-test/docs/data/joy/components/stepper/stepper.md
how2ice 005cf56baf
Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
init project
2025-12-12 14:26:25 +09:00

110 lines
3.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
productId: joy-ui
title: React Stepper component
components: Stepper, Step, StepButton, StepIndicator
githubLabel: 'scope: stepper'
materialDesign: https://m1.material.io/components/steppers.html
---
# Stepper
<p class="description">Steppers convey progress through numbered steps. It provides a wizard-like workflow.</p>
{{"component": "@mui/docs/ComponentLinkHeader"}}
## 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](#basics) - a required container for steps. Renders as a `<ol>` by default.
- [Step](#basics) - a step. Renders as a `<li>` by default.
- [StepIndicator](#indicator) - an optional indicator of a step.
{{"demo": "StepperUsage.js", "hideToolbar": true, "bg": "gradient"}}
## Basics
```jsx
import Stepper from '@mui/joy/Stepper';
import Step from '@mui/joy/Step';
```
{{"demo": "BasicStepper.js"}}
## 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](/joy-ui/main-features/global-variants/): `soft` (default), `solid`, `outlined`, and `plain`.
{{"demo": "IndicatorStepper.js"}}
:::info
To learn how to add your own variants, check out [Themed components—Extend variants](/joy-ui/customization/themed-components/#extend-variants).
Note that you lose the global variants when you add custom variants.
:::
#### Indicator at the top
Set Step's `orientation="vertical"` to show an indicator at the top.
{{"demo": "IndicatorTopStepper.js"}}
### Button
To make the Step clickable, renders the `StepButton` component as a direct child of the Step.
{{"demo": "ButtonStepper.js"}}
### Sizes
The Stepper component comes in three sizes: `sm`, `md` (default), and `lg`.
{{"demo": "SizesStepper.js"}}
:::info
To learn how to add custom sizes to the component, check out [Themed components—Extend sizes](/joy-ui/customization/themed-components/#extend-sizes).
:::
### 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.
{{"demo": "VerticalStepper.js"}}
#### 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.
{{"demo": "VerticalExtraContentStepper.js"}}
### Connector
The connector is a pseudo element of the Step. To customize it, target `::after` element of the Step using `sx` prop.
{{"demo": "ConnectorStepper.js"}}
## CSS Variables
{{"demo": "StepperVariables.js"}}
## Common examples
### Company registration
{{"demo": "CompanyRegistrationStepper.js"}}
### Dotted connector
{{"demo": "DottedConnector.js"}}
### Icon stepper
{{"demo": "IconStepper.js"}}