Renders a semantic nav element to encapsulate the step links. Given this is a Landmark Region, in order to comply with the General Principles of Landmark Design it is necessary for it to have an aria-label. The aria-label can be customised by providing the label prop.Implements the roving tabindex pattern when the steps are interactive (see below).When used in linear mode (default), the progressbar role is implemented, providing the additional context of progression within the defined flow to screen readers.
The Stepper can be de-emphasized by setting the tone to neutral.This makes the highlight colour follow the default text colour, including inverting on dark surfaces to improve contrast.
The default mode is linear, which requires each step be completed before advancing. This mode requires a step number be passed to the progress prop to indicate the user’s progress.
Use the buttons to move between steps and update their completion status
For non-sequential steps, the mode can be set to non-linear. This allows users to navigate between steps regardless of completion.In this mode, the activeStep prop is required and individual step completion can be controlled via the complete prop on the Step itself.
Use the buttons to move between steps without changing their completion status
Steps can be made interactive by providing a handler via the onStepClick prop. This function receives the stepNumber and the id (as provided to the Step component itself).
In linear mode, a user can only interact with previous steps, e.g. steps that come before the current progress.
In linear mode, the step number passed to the progress prop will also be the active step. Any previous step can be made active using the activeStep prop.In non-linear mode, the activeStep prop is required to set the starting point.
We recommend providing "Back" and "Continue" buttons for the user to navigate through the steps. When relevant, you may also want to provide a "Save" button so the user can return to their progress later.Regardless of the actions you provide, consider which are most important and apply an appropriate visual hierarchy using variants solid, ghost, soft and transparent.
Resize your browser window to see responsive behaviour.
When designing in a language other than english, the button word lengths may become too long to fit side by side on mobile. If this is the case, you can stack buttons vertically with “Continue” on the top followed by “Back” then “Save”.
Braid components are very explicit about the properties they accept, which makes providing arbitrary data attributes not possible. Instead, a data prop can be provided as a single collection of data attributes.