Props

Joyride's props are split into two groups: Tour Props control how the tour runs (start/stop, events, controlled mode), and Shared Props configure the visual and interactive elements (components, positioning, locale, styles).

Beyond props, you can customize theming and behavior through Options, Styles, and Floating Options — all settable globally or per-step.

tip

The only required prop is steps. Pass an array of Step objects and you're ready to go.

Tour Props

Control the tour lifecycle: start and stop it, listen to events, switch between controlled and uncontrolled mode, and set global defaults.

PropTypeDefault

continuous

Play the tour sequentially with the Next button.

booleanfalse

debug

Log Joyride's actions to the console.

booleanfalse

initialStepIndex

The starting step index for uncontrolled tours. Ignored when stepIndex is set.

number0

nonce

A nonce value for inline styles (Content Security Policy).

string--

onEvent

A function called when Joyride fires an event. Receives (data, controls).

See Events for details.

EventHandler--

options

Default options for all steps.

Can be overridden per-step by setting option fields directly on the step object.

Partial<Options>--

portalElement

The element to render components into. Accepts a CSS selector or HTMLElement.

string | HTMLElementdocument.body

run

Run/stop the tour.

Equivalent to calling controls.start() / controls.stop() via the hook.

booleanfalse

scrollToFirstStep

Scroll the page for the first step.

booleanfalse

stepIndex

Setting a number here will turn Joyride into controlled mode.

You'll have to keep an internal state and update it with the events in onEvent.

number--

steps — required

The tour's steps. Check the step docs for more information.

Array<Step>--

Shared Props

Customize components, positioning, locale, and styles at the tour level.

Every shared prop is inherited by all steps and can be overridden individually on any Step object.

PropType

arrowComponent

Custom arrow component.

ElementType<ArrowRenderProps>

beaconComponent

Custom beacon component.

ElementType<BeaconRenderProps>

floatingOptions

Tooltip/beacon positioning config via Floating UI.

Partial<FloatingOptions>

loaderComponent

Custom loader component. Set to null to disable.

ElementType<LoaderRenderProps> | null

locale

Tooltip strings (button labels, aria-labels).

Locale

styles

Style overrides for tooltip and other elements.

PartialDeep<Styles>

tooltipComponent

Custom tooltip component.

ElementType<TooltipRenderProps>

locale

The strings used in the tooltip.

KeyTypeDefault

back

Back button label

ReactNodeBack

close

Close button label

ReactNodeClose

last

Primary button label on the last step

ReactNodeLast

next

Next button label

ReactNodeNext

nextWithProgress

Next button label when showProgress is true.

Use {current} and {total} placeholders.

ReactNodeNext ({current} of {total})

open

Beacon aria-label

ReactNodeOpen the dialog

skip

Skip button label

ReactNodeSkip
info

Type definitions: props.ts.