For AI agents: the complete documentation index is available at https://wallarm.github.io/design-system/llms.txt, the full documentation bundle is available at https://wallarm.github.io/design-system/llms-full.txt, and this page is available as Markdown at https://wallarm.github.io/design-system/components/tour.md.

Tour

A guided walk through the interface, for a feature the reader would not find on their own — configured with useTour({ steps }) and one rendered Tour. It owns how a step looks, not when the tour runs: deciding who sees it and how often is the application's job.

Source · Storybook

Usage

import { Badge } from '@wallarm-org/design-system/Badge';
import { Button } from '@wallarm-org/design-system/Button';
import { Info } from '@wallarm-org/design-system/icons';
import { Kbd, KbdGroup } from '@wallarm-org/design-system/Kbd';
import { HStack, VStack } from '@wallarm-org/design-system/Stack';
import { Tour, type TourStepDetails, useTour } from '@wallarm-org/design-system/Tour';

Examples

Placement

Where a step sits relative to its target. Choose the side that leaves the target visible, since the target is the point.

Beacon triggered

A beacon the reader opens themselves, which turns the tour from an interruption into an offer.

Wait for interaction

A step that waits for the reader to act before advancing, for teaching by doing rather than by reading.

Wait for input

The same, gated on input rather than a click — for a step where the reader has to type something real to continue.

Props

PropTypeDefaultDescription
presentboolean | undefinedWhether the node is present (controlled by the user)
onExitCompleteVoidFunction | undefinedFunction called when the animation ends in the closed state
onEnterCompleteVoidFunction | undefinedFunction called when the animation ends in the open state
immediateboolean | undefinedWhether to synchronize the present change immediately or defer it to the next frame
lazyMountboolean | undefinedtrueWhether to enable lazy mounting
unmountOnExitboolean | undefinedtrueWhether to unmount on exit.
skipAnimationOnMountboolean | undefinedWhether to allow the initial presence animation.
hideMode"display-none" | "activity"How to hide content when mounted but not present. - 'display-none': HTML hidden attribute. Effects stay alive. - 'activity': React 19 <Activity mode="hidden">. Effects pause. Requires React 19+.
tour *complex
data-testidstring | undefined

TourClose

PropTypeDefaultDescription
titlestring | undefined
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined
type"button" | "submit" | "reset" | undefined
disabledboolean | undefined
namestring | undefined
valuestring | number | readonly string[] | undefined
asChildboolean | undefinedUse the provided child element as the default rendered element, combining their props and behavior.
data-testidstring | undefined