Библиотека Tooltipster представляет собой современное решение для создания кастомизируемых всплывающих подсказок на веб-страницах. Для правильной работы и гибкой интеграции необходимо понимать структуру её файлов и роль каждого компонента.
После распаковки библиотеки можно увидеть стандартную структуру:
tooltipster/
├── dist/
│ ├── js/
│ │ ├── tooltipster.bundle.min.js
│ │ └── tooltipster.bundle.js
│ ├── css/
│ │ ├── tooltipster.bundle.min.css
│ │ └── tooltipster.bundle.css
│ └── plugins/
│ ├── tooltipster/sideTip/
│ │ ├── tooltipster.sideTip.min.js
│ │ └── tooltipster.sideTip.min.css
│ └── tooltipster/...
├── src/
│ ├── js/
│ │ ├── core.js
│ │ ├── instance.js
│ │ └── utils.js
│ └── css/
│ ├── tooltipster-base.css
│ └── themes/
│ ├── tooltipster-light.css
│ └── tooltipster-noir.css
├── package.json
└── README.md
distДиректория dist содержит готовые к использованию
файлы, которые подключаются напрямую в проект:
js/tooltipster.bundle.js – полный
несжатый скрипт библиотеки, включающий ядро и все плагины. Полезен для
разработки и отладки.js/tooltipster.bundle.min.js –
минифицированная версия для продакшена, сокращает размер и ускоряет
загрузку.css/tooltipster.bundle.css – полный
CSS-файл со стилями для всех компонентов.css/tooltipster.bundle.min.css –
минифицированная версия CSS.plugins/ – отдельные модули и
расширения, например sideTip для стандартного оформления
подсказки.Особенности:
dist являются итогом сборки из исходников
src.srcsrc содержит исходный код библиотеки,
разделённый на JavaScript и CSS:
core.js – основной функционал
библиотеки: инициализация подсказок, обработка событий, управление
жизненным циклом tooltip’а.instance.js – описывает
объекты-экземпляры подсказок, методы для их открытия, закрытия,
обновления содержимого.utils.js – вспомогательные функции:
работа с DOM, вычисление позиции, управление таймерами анимации.tooltipster-base.css – базовые
стили для всех подсказок.
themes/ – директория с темами
оформления:
tooltipster-light.css – светлая тема.tooltipster-noir.css – тёмная тема.Особенности:
src удобно вносить изменения и тестировать локальные
модификации.package.jsonФайл package.json определяет проект как npm-пакет и
содержит:
Используется для установки через npm и интеграции с сборщиками вроде Webpack или Vite.
Tooltipster поддерживает плагинную архитектуру.
Каждый плагин находится в dist/plugins и обычно
включает:
Пример структуры плагина SideTip:
sideTip/
├── tooltipster.sideTip.min.js
├── tooltipster.sideTip.min.css
└── README.md
Плагины могут подключаться как вместе с основной сборкой
(bundle), так и по отдельности для уменьшения объема.
dist/js/tooltipster.bundle.min.js и
dist/css/tooltipster.bundle.min.css.src и нужные плагины.src, а затем
пересобирать файлы с помощью стандартных скриптов сборки.Структура Tooltipster организована так, чтобы одновременно обеспечивать простоту подключения для готовых проектов и гибкость для профессиональной кастомизации, позволяя легко работать как с полной сборкой, так и с отдельными компонентами.