Props
Learn about the props available in the nuxt-tour module.
Tour props
All props are optional except steps.
steps
TourStep[]requiredArray of step definitions. At least one step is required. More on step props below
name
stringDefault
defaultUnique name for this tour. Used as the localStorage key suffix.
saveToLocalStorage
'never' | 'step' | 'end'Default
endControls when (and whether) tour progress is persisted to localStorage.
'end'— save only when the tour is fully completed'step'— save after each step; allows resuming mid-tour on next visit'never'— never persist; tour always shows on every page load
ttl
numberHow many days a completed tour stays hidden before showing again. Omit for no expiry.
autoStart
booleanDefault
falseStart the tour automatically when the component mounts.
startDelay
number | string | nullDefault
100Milliseconds to wait before showing the first step when
autoStart is true.highlight
booleanDefault
falseHighlight the target element with an outline while on that step.
backdrop
booleanDefault
falseShow a semi-transparent backdrop behind the tooltip.
showArrow
booleanDefault
trueShow the Popper.js arrow on the tooltip.
showProgress
booleanDefault
falseShow a "Step N of M" progress counter inside the tooltip.
keyboard
booleanDefault
trueEnable keyboard navigation.
→ / ↓ = next step, ← / ↑ = prev step, Escape = skip.scrollBehavior
'jump' | 'smooth' | 'none'Default
jumpScroll behaviour when moving between steps.
'jump' uses jump.js, 'smooth' uses native scrollIntoView, 'none' disables scrolling.trapFocus
booleanDefault
trueTrap keyboard focus inside the tooltip while active.
lockScroll
booleanDefault
truePrevent the page from scrolling while the tour is active.
transition
'fade' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right'Default
fadeTooltip enter/leave animation.
'fade' is a subtle opacity + scale. The slide variants move the tooltip in from a given direction.nextButton
ButtonConfigCustomise the Next button label and icons.
prevButton
ButtonConfigCustomise the Prev button label and icons.
skipButton
ButtonConfigCustomise the Skip button label and icons.
finishButton
ButtonConfigCustomise the Finish button (shown on the last step).
Step props (TourStep)
These are the options available on each object in the steps array.
target
string | HTMLElement | Ref | nullThe element the step should point at. Accepts a CSS selector,
HTMLElement, or a reactive ref/getter. Omit to centre the tooltip on screen.title
string | HTMLElement | Ref | nullTooltip title. Supports plain text or HTML strings.
subText
string | HTMLElement | Ref | nullSecondary line below the title.
body
string | HTMLElement | Ref | nullMain body content.
popperConfig
Partial<OptionsGeneric>Per-step Popper.js config, deep-merged over the tour default.
onShow
() => void | boolean | Promise<...>Called before the step is shown. Return
false to abort the transition.onNext
() => void | Promise<void>Called when Next is clicked on this step.
onPrev
() => void | Promise<void>Called when Prev is clicked on this step.
slot
stringSlot-name prefix for this step. A step with
slot: "intro" exposes #intro-header, #intro-body, etc.backdrop
booleanDefault
falseShow a backdrop on this step only. Overrides the tour-level
backdrop prop.transition
'fade' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right'Tooltip animation for this step only. Overrides the tour-level
transition prop. Falls back to the tour prop, then 'fade'.Button config (ButtonConfig)
Used by nextButton, prevButton, skipButton, and finishButton.
label
stringButton label text.
leftIcon
stringIcon displayed to the left of the label. Any icon from icones.netlify.app is supported.
rightIcon
stringIcon displayed to the right of the label.
<template>
<VTour
:steps="steps"
:next-button="{ label: 'Continue', rightIcon: 'heroicons:arrow-right' }"
:skip-button="{ label: 'Not now' }"
:finish-button="{ label: 'All done!', leftIcon: 'heroicons:check' }"
/>
</template>