Flutter docs
Default skin

Tour

A popup component for guiding users through a product.

When to use

Use when you want to guide users through a product.

Examples

Basic

The most basic usage.

Placement

Change the placement of the guide relative to the target, there are 12 placements available. When target={null} the guide will show in the center.

Custom indicator

Custom indicator.

Custom highlighted area style

Using gap to control the radius of highlight area and the offset between highlight area and the element. - Setting offset in two directions individually and offset with array type is not supported until 5.9.0.

Non-modal

Use mask={false} to make Tour non-modal. At the meantime it is recommended to use with type="primary" to emphasize the guide itself.

Custom mask style

Custom mask style.

Custom action

Custom action.

Custom semantic dom styling

You can customize the semantic dom style of Tour by passing objects/functions through classNames and styles.

API

Tour are exported from @ceebee/ui/client.

Tour

PropertyDescriptionTypeDefaultVersion
arrowWhether to show the arrow, including the configuration whether to point to the center of the elementboolean | { pointAtCenter: boolean }true—
classNamesCustomize class for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-—
closeIconCustomize close iconReact.ReactNodetrue5.9.0
disabledInteractionDisable interaction on highlighted area.booleanfalse5.13.0
gapControl the radius of the highlighted area and the offset between highlighted area and the element.{ offset?: number | [number, number]; radius?: number }{ offset?: 6 ; radius?: 2 }5.0.0 (array type offset: 5.9.0)
keyboardWhether to enable keyboard shortcutsbooleantrue6.2.0
placementPosition of the guide card relative to the target elementcenter | left | leftTop | leftBottom | right | rightTop | rightBottom | top | topLeft | topRight | bottom | bottomLeft | bottomRightbottom—
onCloseCallback function on shutdownFunction-—
onFinishCallback when the tour is finishedFunction-—
maskWhether to enable masking, change mask style and fill color by pass custom propsboolean | { style?: React.CSSProperties; color?: string; }true—
typeType, affects the background color and text colordefault | primarydefault—
openOpen tourboolean-—
onChangeCallback when the step changes. Current is the previous step(current: number) => void-—
currentWhat is the current stepnumber-—
scrollIntoViewOptionssupport pass custom scrollIntoView optionsboolean | ScrollIntoViewOptionstrue5.2.0
stylesCustomize inline style for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-—
indicatorsRendercustom indicator(current: number, total: number) => ReactNode-5.2.0
actionsRendercustom action(originNode: ReactNode, info: { current: number, total: number }) => ReactNode-5.25.0
zIndexTour's zIndexnumber10015.3.0
getPopupContainerSet the rendering node of Tour floating layer(node: HTMLElement) => HTMLElementbody5.12.0

TourStep

PropertyDescriptionTypeDefaultVersion
targetGet the element the guide card points to. Empty makes it show in center of screen() => HTMLElement | HTMLElement-—
arrowWhether to show the arrow, including the configuration whether to point to the center of the elementboolean | { pointAtCenter: boolean}true—
closeIconCustomize close iconReact.ReactNodetrue5.9.0
coverDisplayed pictures or videosReactNode-—
titletitleReactNode-—
descriptiondescriptionReactNode-—
placementPosition of the guide card relative to the target elementcenter | left | leftTop | leftBottom | right | rightTop | rightBottom | top | topLeft | topRight | bottom | bottomLeft | bottomRightbottom—
onCloseCallback function on shutdownFunction-—
maskWhether to enable masking, change mask style and fill color by pass custom props, the default follows the mask property of Tourboolean | { style?: React.CSSProperties; color?: string; }true—
typeType, affects the background color and text colordefault | primarydefault—
nextButtonPropsProperties of the Next button{ children: ReactNode; onClick: Function }-—
prevButtonPropsProperties of the previous button{ children: ReactNode; onClick: Function }-—
scrollIntoViewOptionssupport pass custom scrollIntoView options, the default follows the scrollIntoViewOptions property of Tourboolean | ScrollIntoViewOptionstrue5.2.0