UNPKG

materialuiupgraded

Version:

Material-UI's workspace package

100 lines (57 loc) 3.91 kB
--- title: Stepper React component components: MobileStepper, Step, StepButton, StepConnector, StepContent, StepIcon, StepLabel, Stepper --- # Steppers <p class="description">Steppers convey progress through numbered steps.</p> [Steppers](https://material.io/archive/guidelines/components/steppers.html) display progress through a sequence of logical and numbered steps. They may also be used for navigation. Steppers may display a transient feedback message after a step is saved. **Types of Steps** - Editable - Non-editable - Mobile - Optional **Types of Steppers** - Horizontal - Vertical - Linear - Non-linear ## Horizontal Linear The `Stepper` can be controlled by passing the current step index (zero-based) as the `activeStep` property. `Stepper` orientation is set using the `orientation` property. This example also shows the use of an optional step by placing the `optional` property on the second `Step` component. Note that it's up to you to manage when an optional step is skipped. Once you've determined this for a particular step you must set `completed={false}` to signify that even though the active step index has gone beyond the optional step, it's not actually complete. {{"demo": "pages/demos/steppers/HorizontalLinearStepper.js"}} ## Horizontal Non-linear Non-linear steppers allow users to enter a multi-step flow at any point. This example is similar to the regular horizontal stepper, except steps are no longer automatically set to `disabled={true}` based on the `activeStep` property. We've used the `StepButton` here to demonstrate clickable step labels as well as setting the `completed` flag however because steps can be accessed in a non-linear fashion it's up to your own implementation to determine when all steps are completed (or even if they need to be completed). {{"demo": "pages/demos/steppers/HorizontalNonLinearStepper.js"}} ## Horizontal Linear - Alternative Label Labels can be placed below the step icon by setting the `alternativeLabel` property on the `Stepper` component. {{"demo": "pages/demos/steppers/HorizontalLinearAlternativeLabelStepper.js"}} ## Horizontal Non Linear - Alternative Label {{"demo": "pages/demos/steppers/HorizontalNonLinearAlternativeLabelStepper.js"}} ## Horizontal Non Linear - Error Step {{"demo": "pages/demos/steppers/HorizontalNonLinearStepperWithError.js"}} ## Vertical Stepper {{"demo": "pages/demos/steppers/VerticalLinearStepper.js"}} ## Customized Stepper This component uses a customized `StepConnector` element that changes border color based on the `active` and `completed` state. {{"demo": "pages/demos/steppers/CustomizedStepper.js"}} ## Mobile Stepper This component implements a compact stepper suitable for a mobile device. See [mobile steps](https://material.io/archive/guidelines/components/steppers.html#steppers-types-of-steps) for its inspiration. ### Mobile Stepper - Text This is essentially a back/next button positioned correctly. You must implement the textual description yourself, however, an example is provided below for reference. {{"demo": "pages/demos/steppers/TextMobileStepper.js"}} ### Mobile Stepper - Text with Carousel effect This demo is very similar to the previous, the difference is the usage of [react-swipeable-views](https://github.com/oliviertassinari/react-swipeable-views) to make the transition of steps. {{"demo": "pages/demos/steppers/SwipeableTextMobileStepper.js"}} ### Mobile Stepper - Dots Use dots when the number of steps isn’t large. {{"demo": "pages/demos/steppers/DotsMobileStepper.js"}} ### Mobile Stepper - Progress Use a progress bar when there are many steps, or if there are steps that need to be inserted during the process (based on responses to earlier steps). {{"demo": "pages/demos/steppers/ProgressMobileStepper.js"}}