Stepper (Pasos a pasos)
Steppers convey progress through numbered steps. It provides a wizard-like workflow.
Steppers 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
Note: Steppers are no longer documented in the Material Design guidelines, but Material-UI will continue to support them.
Horizontal Stepper
Horizontal steppers are ideal when the contents of one step depend on an earlier step.
Step 1
Lineal
A linear stepper allows the user to complete the steps in sequence.
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.
Step 1
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.
The use of the StepButton
here demonstrates 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).
Step 1
Customized Stepper
Labels can be placed below the step icon by setting the alternativeLabel
prop on the Stepper
component.
<Stepper activeStep={1} alternativeLabel>
{steps.map((label) => (
<Step key={label}>
<StepLabel>{label}</StepLabel>
</Step>
))}
</Stepper>
Non-linear - Alternative Label
He aquí un ejemplo de personalización del componente. Puedes aprender más sobre esto en la sección Personalizando Componentes de la documentación.
<Stepper alternativeLabel activeStep={1} connector={<QontoConnector />}>
{steps.map((label) => (
<Step key={label}>
<StepLabel StepIconComponent={QontoStepIcon}>{label}</StepLabel>
</Step>
))}
</Stepper>
<Stepper alternativeLabel activeStep={1} connector={<ColorlibConnector />}>
{steps.map((label) => (
<Step key={label}>
<StepLabel StepIconComponent={ColorlibStepIcon}>{label}</StepLabel>
</Step>
))}
</Stepper>
Vertical Stepper
Vertical steppers are designed for narrow screen sizes. They are ideal for mobile. All the features of the horizontal stepper can be implemented.
For each ad campaign that you create, you can control how much you're willing to spend on clicks and conversions, which networks and geographical locations you want your ads to show on, and more.
Progreso
The content of a step is unmounted when closed. If you need to make the content available to search engines or render expensive component trees inside your modal while optimizing for interaction responsiveness it might be a good idea to keep the step mounted with:
<StepContent TransitionProps={{ unmountOnExit: false }} />
Mobile Stepper
This component implements a compact stepper suitable for a mobile device. It has more limited functionality than the vertical stepper. See mobile steps for its inspiration.
The mobile stepper supports three variants to display progress through the available steps: text, dots, and progress.
Text
Use dots when the number of steps isn’t large.
Select campaign settings
Text with Carousel effect
This demo is very similar to the previous, the difference is the usage of react-swipeable-views to make the transition of steps.
San Francisco – Oakland Bay Bridge, United States
Progreso
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).