Форки библиотеки Intro.js представляют собой модифицированные версии оригинальной библиотеки, создаваемые сообществом разработчиков для расширения функциональности, устранения ограничений или адаптации под специфические сценарии использования. Основная идея форка — сохранить ядро Intro.js, обеспечивающее пошаговые интерактивные руководства, но при этом добавить новые возможности, улучшить совместимость или изменить визуальное оформление.
Ключевые направления развития форков включают:
onStepChange, onExit, onComplete
дополняются новыми, например onStepSkip,
onPopoverRender.Intro.js Extended расширяет стандартный функционал:
Пример инициализации:
var tour = introJs();
tour.setOptions({
steps: [
{ element: '#header', intro: 'Главная панель', position: 'bottom' },
{ element: '#menu', intro: 'Меню с функциями', position: 'right' }
],
showStepNumbers: true,
exitOnOverlayClick: false
});
tour.start();
Shepherd.js создавался как альтернатива с упором на модульность и расширяемость:
Особенность: полностью настраиваемый UI, включая кнопки навигации, анимацию появления поповеров и стили подсветки.
Форк для React позволяет:
для
автоматического определения шага.Пример использования в React:
import { IntroStep, IntroTour } from 'introjs-react';
function AppTour() {
const steps = [
{ element: '#button1', intro: 'Это кнопка 1' },
{ element: '#button2', intro: 'Это кнопка 2' }
];
return ;
}
Форки предоставляют расширенные возможности кастомизации стилей, которые в оригинальном Intro.js ограничены.
Пример подключения кастомного стиля:
.introjs-tooltip {
background-color: #2c3e50;
color: #ecf0f1;
border-radius: 8px;
}
.introjs-tooltip-arrow {
border-top-color: #2c3e50;
}
Многие форки добавляют новые методы и события:
addStep(stepConfig) — добавление шага динамически.removeStep(stepId) — удаление шага.goToStep(stepNumber) — переход к конкретному шагу без
последовательного вызова nextStep.onStepSkipped или
onStepPaused позволяют полностью контролировать
логику пользовательского пути.Использование расширенного API:
tour.onStepSkipped(function(step) {
console.log('Пользователь пропустил шаг:', step);
});
tour.addStep({
element: '#footer',
intro: 'Подвал страницы',
position: 'top'
});
Форки широко используются для:
Особое внимание уделяется интеграции с фреймворками, поскольку форки часто предоставляют адаптеры или хуки, упрощающие работу с компонентами и состоянием.