StepOptions
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:35
The options for the step
Properties
Section titled “Properties”advanceOn?
Section titled “advanceOn?”
optionaladvanceOn?:StepOptionsAdvanceOn
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:65
An action on the page which should advance shepherd to the next step.
It should be an object with a string selector and an event name
const step = new Step(tour, { advanceOn: { selector: '.some .selector-path', event: 'click' }, ...moreOptions});event doesn’t have to be an event inside the tour, it can be any event fired on any element on the page.
You can also always manually advance the Tour by calling myTour.next().
arrow?
Section titled “arrow?”
optionalarrow?:boolean|StepOptionsArrow
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:70
Whether to display the arrow for the tooltip or not, or options for the arrow.
attachTo?
Section titled “attachTo?”
optionalattachTo?:StepOptionsAttachTo
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:51
The element the step should be attached to on the page.
An object with properties element and on.
const step = new Step(tour, { attachTo: { element: '.some .selector-path', on: 'left' }, ...moreOptions});If you don’t specify an attachTo the element will appear in the middle of the screen.
If you omit the on portion of attachTo, the element will still be highlighted, but the tooltip will appear
in the middle of the screen, without an arrow pointing to the target.
beforeShowPromise?
Section titled “beforeShowPromise?”
optionalbeforeShowPromise?: () =>Promise<unknown>
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:76
A function that returns a promise.
When the promise resolves, the rest of the show code for the step will execute.
Returns
Section titled “Returns”Promise<unknown>
buttons?
Section titled “buttons?”
optionalbuttons?: readonlyStepOptionsButton[]
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:82
An array of buttons to add to the step. These will be rendered in a footer below the main body text.
cancelIcon?
Section titled “cancelIcon?”
optionalcancelIcon?:StepOptionsCancelIcon
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:87
Should a cancel “✕” be shown in the header of the step?
canClickTarget?
Section titled “canClickTarget?”
optionalcanClickTarget?:boolean
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:92
A boolean, that when set to false, will set pointer-events: none on the target.
classes?
Section titled “classes?”
optionalclasses?:string
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:97
A string of extra classes to add to the step’s content element.
optionaldata?:Record<string,unknown>
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:106
Arbitrary, JSON-serializable data to associate with the step. Shepherd
does not use this value internally; it is a place to store your own
metadata (for example analytics ids, or context produced by a tour
generator) and read it back from step.options.data in event handlers
and button actions.
extraHighlights?
Section titled “extraHighlights?”
optionalextraHighlights?: readonlystring[]
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:119
An array of extra element selectors to highlight when the overlay is shown
The tooltip won’t be fixed to these elements, but they will be highlighted
just like the attachTo element.
const step = new Step(tour, { extraHighlights: [ '.pricing', '#docs' ], ...moreOptions});floatingUIOptions?
Section titled “floatingUIOptions?”
optionalfloatingUIOptions?:object
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:162
Extra [options to pass to FloatingUI]https://floating-ui.com/docs/tutorial/
middleware?
Section titled “middleware?”
optionalmiddleware?: (false| {name:string;options?:any;fn:Promisable<MiddlewareReturn>; } |null|undefined)[]
Array of middleware objects to modify the positioning or provide data for rendering.
placement?
Section titled “placement?”
optionalplacement?:Placement
Where to place the floating element relative to the reference element.
platform?
Section titled “platform?”
optionalplatform?:Platform
Custom or extended platform object.
strategy?
Section titled “strategy?”
optionalstrategy?:Strategy
The strategy to use when positioning the floating element.
highlightClass?
Section titled “highlightClass?”
optionalhighlightClass?:string
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:125
An extra class to apply to the attachTo element when it is
highlighted (that is, when its step is active). You can then target that selector in your CSS.
optionalid?:string
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:130
The string to use as the id for the step.
modalOverlayOpeningPadding?
Section titled “modalOverlayOpeningPadding?”
optionalmodalOverlayOpeningPadding?:number
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:135
An amount of padding to add around the modal overlay opening
modalOverlayOpeningRadius?
Section titled “modalOverlayOpeningRadius?”
optionalmodalOverlayOpeningRadius?:number| {bottomLeft?:number;bottomRight?:number;topLeft?:number;topRight?:number; }
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:140
An amount of border radius to add around the modal overlay opening
modalOverlayOpeningXOffset?
Section titled “modalOverlayOpeningXOffset?”
optionalmodalOverlayOpeningXOffset?:number
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:152
An amount to offset the modal overlay opening in the x-direction
modalOverlayOpeningYOffset?
Section titled “modalOverlayOpeningYOffset?”
optionalmodalOverlayOpeningYOffset?:number
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:157
An amount to offset the modal overlay opening in the y-direction
scrollTo?
Section titled “scrollTo?”
optionalscrollTo?:boolean|ScrollIntoViewOptions
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:167
Should the element be scrolled to when this step is shown?
scrollToHandler?
Section titled “scrollToHandler?”
optionalscrollToHandler?: (element) =>void
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:173
A function that lets you override the default scrollTo behavior and define a custom action to do the scrolling, and possibly other logic.
Parameters
Section titled “Parameters”element
Section titled “element”HTMLElement
Returns
Section titled “Returns”void
showOn?
Section titled “showOn?”
optionalshowOn?: () =>boolean
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:179
A function that, when it returns true, will show the step.
If it returns false, the step will be skipped.
Returns
Section titled “Returns”boolean
skipMissingElement?
Section titled “skipMissingElement?”
optionalskipMissingElement?:boolean
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:197
When true, a step whose attachTo.element selector (or function
locator) does not resolve to an element in the DOM is skipped, advancing
to the next step (or the previous step when navigating backwards) instead
of being shown centered. If all remaining steps are skipped, the tour
completes (going forward) or cancels (going backward), mirroring the
showOn semantics. Can be set on defaultStepOptions to apply to every
step. Combine with waitForElement to give the element time to appear
before skipping. Steps without an attachTo element are never skipped,
since they are intentionally centered.
Note that the target is looked up before the step’s own beforeShowPromise
and before-show handlers run, so an element that those handlers create is
not visible to this check. Use beforeShowPromise on its own for targets
the step itself renders.
optionaltext?:StepText
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:208
The text in the body of the step. It can be one of four types:
- HTML string- Array of HTML strings- `HTMLElement` object- `Function` to be executed when the step is built. It must return one of the three options above.title?
Section titled “title?”
optionaltitle?:StringOrStringFunction
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:217
The step’s title. It becomes an h3 at the top of the step.
- HTML string- `Function` to be executed when the step is built. It must return HTML string.waitForElement?
Section titled “waitForElement?”
optionalwaitForElement?:number
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:231
The maximum amount of time, in milliseconds, to wait for the
attachTo.element to appear in the DOM before showing the step. The DOM
is watched with a MutationObserver (falling back to polling when it is
unavailable), so the step attaches as soon as the element appears. If the
timeout expires, the step falls back to its default behavior: skipped
when skipMissingElement is true, otherwise shown centered.
The wait starts before the step’s own beforeShowPromise and before-show
handlers run, so it cannot observe a target that those handlers create, and
a function locator is re-evaluated on each DOM change until it resolves.
optionalwhen?:StepOptionsWhen
Defined in: docs-src/node_modules/shepherd.js/src/step.ts:243
You can define show, hide, etc events inside when. For example:
when: { show: function() { window.scrollTo(0, 0); }}