Skip to content
THE COMPONENT LIBRARY
Skip to content

Component reference

Tour

A controlled product tour with real targets.

Preview

Live preview

Changes apply to this preview only.

Tour not started
ArrowLeft / ArrowRight also move between steps.

Workspace

The highlighted regions are ordinary components; the tour only reads their rectangles.

Recent activity
Ada Lovelaceshipped the Q3 report
Noah Duboisinvited two teammates
Maya Chenconnected a data source

Width adapts to the available space

More examples

Different configurations and compositions using the real Pimolu API. Each preview runs independently and follows the site appearance.

Focused one-step introduction

A controlled tour highlights real targets and reports completion without changing global state.

Open preview

Localized tour controls

A controlled tour highlights real targets and reports completion without changing global state.

Open preview

String selector and custom labels

target="#landing-readiness" resolves after mount. showSkip turns off the skip control and finishLabel names the last action.

Open preview

Usage

Keep targets mounted and provide an exit path; onboarding must not block essential tasks.

API reference

Generated from the public TypeScript declarations. Native HTML attributes are inherited where the component extends them; this reference includes Pimolu props and selected common native attributes.

PimoluTourStep

Type source
PimoluTourStep public API
NameTypeDefaultDescription
targetRequiredPimoluTourTarget—Public Pimolu prop; see the source declaration for details.
titleRequiredReactNode—Heading of the step. It names the dialog.
descriptionReactNode—Optional body copy under the heading.
placementPimoluTourPlacement | undefined"bottom"Preferred side of the target. Defaults to "bottom".
targetRequired

PimoluTourTarget

No default extracted.

Public Pimolu prop; see the source declaration for details.

titleRequired

ReactNode

No default extracted.

Heading of the step. It names the dialog.

description

ReactNode

No default extracted.

Optional body copy under the heading.

placement

PimoluTourPlacement | undefined

Default: "bottom"

Preferred side of the target. Defaults to "bottom".

PimoluTourProps

Type source
PimoluTourProps public API
NameTypeDefaultDescription
stepsRequiredPimoluTourStep[]—Public Pimolu prop; see the source declaration for details.
openboolean | undefined—Controlled open state. Omit to let the component own it.
defaultOpenboolean | undefinedfalseInitial open state when uncontrolled. Defaults to false.
onOpenChange((open: boolean) => void) | undefined—Called whenever the tour asks to open or close.
onFinish(() => void) | undefined—Runs when the last step is completed.
onSkip(() => void) | undefined—Optional callback when the tour is skipped.
onStepChange((index: number) => void) | undefined—Called with the new zero-based index when the step changes.
initialStepnumber | undefined0Step shown when the tour opens. Defaults to 0.
showSkipboolean | undefinedtrueShow the skip control. Defaults to true.
nextLabelstring | undefined"Next"Label of the next action. Defaults to "Next".
prevLabelstring | undefined"Back"Label of the previous action. Defaults to "Back".
finishLabelstring | undefined"Finish"Label of the last action. Defaults to "Finish".
skipLabelstring | undefined"Skip"Label of the skip action. Defaults to "Skip".
classNamestring | undefined—Class applied to the fixed tour layer.
stepsRequired

PimoluTourStep[]

No default extracted.

Public Pimolu prop; see the source declaration for details.

open

boolean | undefined

No default extracted.

Controlled open state. Omit to let the component own it.

defaultOpen

boolean | undefined

Default: false

Initial open state when uncontrolled. Defaults to false.

onOpenChange

((open: boolean) => void) | undefined

No default extracted.

Called whenever the tour asks to open or close.

onFinish

(() => void) | undefined

No default extracted.

Runs when the last step is completed.

onSkip

(() => void) | undefined

No default extracted.

Optional callback when the tour is skipped.

onStepChange

((index: number) => void) | undefined

No default extracted.

Called with the new zero-based index when the step changes.

initialStep

number | undefined

Default: 0

Step shown when the tour opens. Defaults to 0.

showSkip

boolean | undefined

Default: true

Show the skip control. Defaults to true.

nextLabel

string | undefined

Default: "Next"

Label of the next action. Defaults to "Next".

prevLabel

string | undefined

Default: "Back"

Label of the previous action. Defaults to "Back".

finishLabel

string | undefined

Default: "Finish"

Label of the last action. Defaults to "Finish".

skipLabel

string | undefined

Default: "Skip"

Label of the skip action. Defaults to "Skip".

className

string | undefined

No default extracted.

Class applied to the fixed tour layer.

Accessibility

  • Verify dialog names, step focus, Escape, completion and missing-target behavior.
Read the accessibility guide →