Tour

Быстрый старт​

Минимальный пример — два шага, управление через open, current и onChange:

Live Editor

Result

renderStep​

renderStep — обязательный prop, отвечающий за содержимое карточки тура. Получает пять аргументов:

АргументТипОписание
currentnumberИндекс текущего шага (с нуля)
lengthnumberОбщее количество шагов
lastbooleantrue, если шаг последний
stepTourStepДанные текущего шага (title, description, …)
goToStep(index: number) => voidПереход к произвольному шагу

Шаги тура​

Массив steps задаёт последовательность шагов. Каждый шаг описывается объектом TourStep:

СвойствоТипОписание
targetstring | RefObject | HTMLElementCSS-селектор, React ref или DOM-элемент для подсветки
placementPlacementПозиция карточки относительно цели (bottom по умолчанию)
highlightOffsetnumberОтступ подсветки — переопределяет общий highlightOffset
highlightBorderRadiusCSSProperties['borderRadius']Скругление подсветки — переопределяет общий highlightBorderRadius
titlestringЗаголовок карточки
descriptionstringОписание карточки

target​

Свойство target принимает три формата:

Строка CSS-селектора — элемент ищется через document.querySelector:

Live Editor

Result

Оверлей​

Свойство withOverlay включает затемнение фона вокруг подсвеченного элемента. Цвет регулируется через overlayColor:

Live Editor

Result

Подсветка элемента​

highlightOffset задаёт отступ вокруг целевого элемента. highlightBorderRadius задаёт форму подсветки. Оба свойства можно переопределить на уровне конкретного шага:

Live Editor

Result

Стрелка​

Свойство hasTail добавляет стрелку-указатель к карточке тура. Цвет стрелки задаётся через tailColor:

Live Editor

Result

Позиционирование карточки​

offset задаёт отступ карточки от целевого элемента в формате [mainAxis, crossAxis]. Направление определяется свойством placement в каждом шаге:

Live Editor

Result

Контролируемый и неконтролируемый режим​

Компонент поддерживает оба режима работы:

Управление состоянием вынесено наружу через open, current, onChange и onClose:

Live Editor

Result

Кастомная подсветка​

Свойство renderHighlight заменяет стандартную подсветку произвольным React-элементом. При использовании вместе с withOverlay={false} позволяет создать полностью кастомный эффект без тёмного оверлея.

Функция получает объект TourHighlightProps:

СвойствоТипОписание
leftnumberКоордината X подсветки (уже учитывает highlightOffset)
topnumberКоордината Y подсветки (уже учитывает highlightOffset)
widthnumberШирина подсветки (уже учитывает highlightOffset)
heightnumberВысота подсветки (уже учитывает highlightOffset)
borderRadiusnumberСкругление блока высветления

Пример с анимированным пульсирующим бордером:

Live Editor

Result

API​