Skip to content

MazTimeline

MazTimeline is a step/progress timeline component for Vue 3 with support for horizontal, vertical, and responsive layouts, customizable colors, sizes, step states, and scoped slots

Before use it, you should install the MazUi plugin in your project, follow instructions in Getting Started

Basic usage

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Directions

Horizontal

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Vertical

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Auto (responsive)

The default direction is 'auto', which switches from horizontal to vertical based on the breakpoint prop (default: '768px').

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Colors

Use the color prop to change the theme color.

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Sizes

Use the size prop to change the indicator size.

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step states

Each step can have a manual state property: 'completed', 'active', 'error', 'warning', or 'pending'.

Completed

Step finished

Active

In progress

Error

Something went wrong

Warning

Needs attention

Pending

Not started

Clickable

Enable clickable to allow users to navigate between steps by clicking on them. The click-step event is emitted with the step index.

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Disabled steps

Individual steps can be disabled by setting disabled: true on the step object.

Account

Create your account

Profile

Set up your profile

Settings

Locked

Complete

All done!

Without step numbers

Hide the step numbers inside indicators with :show-step-numbers="false".

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Without auto-validate

By default, completed steps show a checkmark. Disable this with :auto-validate-steps="false".

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Rounded sizes

Customize the indicator border radius with the rounded-size prop.

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Step 1

Step 2

Step 3

Custom slots

MazTimeline provides scoped slots for full customization.

Indicator slot

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Content slot

Account

Step 1 - completed

Profile

Step 2 - active

Settings

Step 3 - pending

Complete

Step 4 - pending

Connector slot

Account

Create your account

Profile

Set up your profile

Settings

Configure preferences

Complete

All done!

Props

NameDescriptionTypeRequiredDefaultPossible values
model-valueIndex of the active step (v-model)numberNoundefined-
stepsArray of timeline steps to displayMazTimelineItem[]Yesundefined-
directionLayout direction of the timeline - 'horizontal': always horizontal - 'vertical': always vertical - 'auto': horizontal above breakpoint, vertical belowMazTimelineDirectionNoauto'horizontal' | 'vertical' | 'auto'
breakpointCSS media breakpoint for auto direction (below this value → vertical)stringNo768px-
colorColor theme for active and completed stepsMazTimelineColorNoprimary'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'destructive' | 'contrast'
sizeSize of the step indicators and typographyMazSizeNomd'mini' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
show-step-numbersShow step numbers inside the indicatorsbooleanNotrue-
auto-validate-stepsAutomatically show a checkmark icon for completed stepsbooleanNotrue-
clickableEnable click interaction on stepsbooleanNofalse-
animatedEnable animations (pulse on active, state transitions, connector progress)booleanNotrue-
rounded-sizeBorder radius of step indicatorsMazTimelineRoundedSizeNofull'none' | 'sm' | 'md' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'

Events

Event namePropertiesDescription
update:modelValuevalue mixed - The new active step indexEmitted when the active step changes
click-steppayload mixed - The step data and its indexEmitted when a clickable step is clicked

Slots

NameDescriptionBindings
indicatorCustom content for the step indicator circlestep MazTimelineItem - The step data
index number - The step index
state MazTimelineStepState - The resolved step state

contentFull custom content area replacing title and subtitlestep MazTimelineItem - The step data
index number - The step index
state MazTimelineStepState - The resolved step state

titleCustom title contentstep MazTimelineItem - The step data
index number - The step index
state MazTimelineStepState - The resolved step state
subtitleCustom subtitle contentstep MazTimelineItem - The step data
index number - The step index
state MazTimelineStepState - The resolved step state
connectorCustom connector between stepsindex number - The index of the step before this connector