Skip to content

StepOptions

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:40

The options for the step

optional advanceOn: StepOptionsAdvanceOn

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:70

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().


optional arrow: boolean | StepOptionsArrow

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:75

Whether to display the arrow for the tooltip or not, or options for the arrow.


optional attachTo: StepOptionsAttachTo

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:56

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.


optional beforeShowPromise: () => Promise<unknown>

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:81

A function that returns a promise. When the promise resolves, the rest of the show code for the step will execute.

Promise<unknown>


optional buttons: readonly StepOptionsButton[]

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:87

An array of buttons to add to the step. These will be rendered in a footer below the main body text.


optional cancelIcon: StepOptionsCancelIcon

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:92

Should a cancel “✕” be shown in the header of the step?


optional canClickTarget: boolean

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:97

A boolean, that when set to false, will set pointer-events: none on the target.


optional classes: string

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:102

A string of extra classes to add to the step’s content element.


optional extraHighlights: readonly string[]

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:115

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
});

optional floatingUIOptions: object

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:158

Extra [options to pass to FloatingUI]https://floating-ui.com/docs/tutorial/

optional middleware: (false | { name: string; options?: any; fn: Promisable<MiddlewareReturn>; } | null | undefined)[]

Array of middleware objects to modify the positioning or provide data for rendering.

optional placement: Placement

Where to place the floating element relative to the reference element.

optional platform: Platform

Custom or extended platform object.

optional strategy: Strategy

The strategy to use when positioning the floating element.


optional highlightClass: string

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:121

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.


optional id: string

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:126

The string to use as the id for the step.


optional modalOverlayOpeningPadding: number

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:131

An amount of padding to add around the modal overlay opening


optional modalOverlayOpeningRadius: number | { bottomLeft?: number; bottomRight?: number; topLeft?: number; topRight?: number; }

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:136

An amount of border radius to add around the modal overlay opening


optional modalOverlayOpeningXOffset: number

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:148

An amount to offset the modal overlay opening in the x-direction


optional modalOverlayOpeningYOffset: number

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:153

An amount to offset the modal overlay opening in the y-direction


optional scrollTo: boolean | ScrollIntoViewOptions

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:163

Should the element be scrolled to when this step is shown?


optional scrollToHandler: (element) => void

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:169

A function that lets you override the default scrollTo behavior and define a custom action to do the scrolling, and possibly other logic.

HTMLElement

void


optional showOn: () => boolean

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:175

A function that, when it returns true, will show the step. If it returns false, the step will be skipped.

boolean


optional text: StepText

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:186

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.

optional title: StringOrStringFunction

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:195

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.

optional when: StepOptionsWhen

Defined in: docs-src/node_modules/shepherd.js/src/step.ts:207

You can define show, hide, etc events inside when. For example:

when: {
show: function() {
window.scrollTo(0, 0);
}
}