Steps
Responsive horizontal process steps
Class props
Steps component
Responsive horizontal process steps
html
<o-steps></o-steps>Props
| Prop name | Description | Type | Values | Default |
|---|---|---|---|---|
| animateInitially | Apply animation on the initial render | boolean | - | From config: steps: { |
| animated | Step navigation is animated | boolean | - | From config: steps: { |
| animation | Transition animation name | string[] | [next, prev], [right, left, down, up] | From config: steps: { |
| ariaNextLabel | Accessibility next button aria label | string | - | From config: steps: { |
| ariaPreviousLabel | Accessibility previous button aria label | string | - | From config: steps: { |
| destroyOnHide | Destroy stepItem on hide | boolean | - | false |
| hasNavigation | Next and previous buttons below the component. You can use this property if you want to use your own custom navigation items. | boolean | - | true |
| iconNext | Icon to use for navigation button | string | - | From config: steps: { |
| iconPack | Icon pack to use for the navigation | string | mdi, fa, fas and any other custom icon pack | From config: steps: { |
| iconPrev | Icon to use for navigation button | string | - | From config: steps: { |
| labelPosition | Position of the marker label | string | bottom, right, left | From config: steps: { |
| mobileBreakpoint | Mobile breakpoint as max-width value | string | - | From config: steps: { |
| v-model | The selected item value | string|number|object | - | |
| override | Override existing theme classes completely | boolean | - | |
| position | Position of the step | string | left, centered, right | |
| rounded | Rounded step markers | boolean | - | true |
| size | Step size | string | small, medium, large | From config: steps: { |
| variant | Color of the control | string | primary, info, success, warning, danger, and any other custom color | From config: steps: { |
| vertical | Show step in vertical layout | boolean | - | false |
Events
| Event name | Properties | Description |
|---|---|---|
| update:modelValue | value string | number | object - updated modelValue prop | modelValue prop two-way binding |
| change | value string | number | object - new step valuevalue string | number | object - old step value | on step change event |
Slots
| Name | Description | Bindings |
|---|---|---|
| default | Place step items here | |
| navigation | Override step navigation | previous {disabled: boolean, action: (): void } - previous button configsnext {disabled: boolean, action: (): void } - next button configs |
StepItem component
html
<o-step-item></o-step-item>Props
| Prop name | Description | Type | Values | Default |
|---|---|---|---|---|
| ariaRole | Role attribute to be passed to the div wrapper for better accessibility | string | - | From config: steps: { |
| clickable | Item can be used directly to navigate. If undefined, previous steps are clickable while the others are not | boolean | - | |
| icon | Icon on the left | string | - | From config: steps: { |
| iconPack | Icon pack | string | - | From config: steps: { |
| label | Item label | string | - | |
| override | Override existing theme classes completely | boolean | - | |
| step | Step marker content (when there is no icon) | string|number | - | |
| tag | Step item tag name | DynamicComponent | - | From config: steps: { |
| value | Item value (it will be used as v-model of wrapper component) - default is an uuid | string|number|object | - | Default function (see source code) |
| variant | Default style for the step. This will override parent type. Could be used to set a completed step to "success" for example | string | - | |
| visible | Show/hide item | boolean | - | true |
Events
| Event name | Properties | Description |
|---|---|---|
| activate | on step item activate event | |
| deactivate | on step item deactivate event |
Slots
| Name | Description | Bindings |
|---|---|---|
| default | Step item content |
Sass variables
Current theme ➜ Oruga
| SASS Variable | Default |
|---|---|
| $steps-details-background-color | hsl(0, 0%, 100%) |
| $steps-details-padding | 0.2em |
| $steps-marker-background | var(--#{$prefix}grey-light) |
| $steps-marker-color | var(--#{$prefix}primary-invert) |
| $steps-marker-border | 0.2em solid #fff |
| $steps-marker-font-weight | 700 |
| $steps-marker-rounded-border-radius | var( --#{$prefix}base-border-radius-rounded) |
| $steps-color | var(--#{$prefix}grey-lighter) |
| $steps-previous-color | var(--#{$prefix}primary) |
| $steps-active-color | var(--#{$prefix}primary) |
| $steps-divider-height | 0.2em |
| $steps-vertical-padding | 1em 0 |
| $steps-item-line-height | var(--#{$prefix}base-line-height) |
| $steps-link-color | hsl(0, 0%, 29%) |
| $steps-content-padding | 1rem |
| $steps-font-size | var(--#{$prefix}base-font-size) |
| $steps-details-title-font-weight | 600 |
See ➜ 📄 Full scss file
Current theme ➜ Bulma
| SASS Variable | Default |
|---|---|
| $steps-colors | var.$colors |
| $steps-mobile-breakpoint | vars.$tablet |
| $steps-marker-background | css.getVar("grey-light") |
| $steps-marker-color | css.getVar("scheme-main") |
| $steps-marker-border | 0.2em solid css.getVar("white") |
| $steps-default-color | css.getVar("grey-lighter") |
| $steps-previous-color | css.getVar("scheme-main") |
| $steps-previous-background | css.getVar("primary") |
| $steps-active-color | css.getVar("primary") |
| $steps-active-background | css.getVar("scheme-main") |
| $steps-divider-height | 0.2em |
| $steps-details-background-color | css.getVar("body-background-color") |
| $steps-vertical-padding | 1em 0 |
See ➜ 📄 Full scss file
Current theme ➜ Bootstrap
| SASS Variable | Default |
|---|---|
| $steps-marker-bg | var(--#{$prefix}gray-light) |
| $steps-marker-border | var(--#{$prefix}white) |
| $steps-marker-color | var(--#{$prefix}white) |
| $steps-color-active | var(--#{$prefix}primary) |
| $steps-title-color | var(--#{$prefix}dark) |
| $steps-title-bg | var(--#{$prefix}white) |
| $steps-divider-height | 0.2em |
| $steps-content-spacer | 1rem |
| $steps-content-padding | 1rem |
| $steps-vertical-padding | 1em 0 |
See ➜ 📄 Full scss file
