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, string, string, string] | [string, 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 | "bottom" | "left" | "right" | bottom , right , left | From config: steps: { |
mobileBreakpoint | Mobile breakpoint as max-width value | string | - | From config: steps: { |
v-model | The selected item value, use v-model to make it two-way binding | string|number|object | - | |
options | Steps options, unnecessary when default slot is used | OptionsProp<unknown> | - | |
override | Override existing theme classes completely | boolean | - | |
position | Position of the step | "centered" | "left" | "right" | 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:model-value | value T - updated modelValue prop | modelValue prop two-way binding |
change | value T - new step valuevalue T - 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 li 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 | - | |
component | Component to be injected. | Component | - | |
content | Text content, unnecessary when default slot is used | string | - | |
disabled | Item will be disabled | boolean | - | false |
events | Events to be binded to the injected component | {} | - | |
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 | - | |
props | Props to be binded to the injected component | any | - | |
step | Step marker content (when there is no icon) | number | string | - | |
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 | - | |
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 | active boolean - if item is shown |
Sass variables
Current theme ➜ Oruga
SASS Variable | Default |
---|---|
$steps-title-background-color | hsl(0, 0%, 100%) |
$steps-title-padding | 0.2em |
$steps-title-font-weight | 500 |
$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-spacer | 1rem |
$steps-content-padding | 1rem |
$steps-font-size | var(--#{$prefix}base-font-size) |
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-title-font-weight | 500 |
$steps-divider-height | 0.2em |
$steps-content-spacer | 1rem |
$steps-content-padding | 1rem |
$steps-vertical-padding | 1em 0 |
See ➜ 📄 Full scss file