VGTooltip

Контекстные подсказки и информационные popover: от Data API до управления экземпляром.

Базовые сценарии

Наведение, клик, информационный popover и доверенный HTML.

Под каждым примером — его HTML, JavaScript и CSS. Подключите JS из vgapp и SCSS из vgapp/scss (или готовый CSS пакета). Кнопки и раскладка используют OKAUX 1.0.2; тема сайта управляется OKAUX.

Подсказка при наведении

Минимальный Data API. title переносится в data-vg-original-title, чтобы не показывать одновременно нативную подсказку.

HTML
<button type="button" class="btn btn-primary" data-vg-toggle="tooltip" title="Сохранение не отправляет форму">
  Наведите указатель
</button>
JavaScript
/**
 * Описание: декларативный пример VGTooltip — hover.
 * Возможности: подключение через публичный Data API.
 */
// Дополнительная инициализация не требуется: используется Data API.
CSS
/* Дополнительные стили не требуются. */

Клик и закрытие

Клик переключает подсказку. Повторный клик, Esc или клик вне триггера закрывают её. Кнопку можно активировать с клавиатуры.

HTML
<button type="button" class="btn btn-primary" data-vg-toggle="tooltip"
  data-trigger="click" data-vg-title="Клик снаружи или Esc закроет подсказку">
  Нажмите для подсказки
</button>
JavaScript
/**
 * Описание: декларативный пример VGTooltip — click.
 * Возможности: подключение через публичный Data API.
 */
// Дополнительная инициализация не требуется: используется Data API.
CSS
/* Дополнительные стили не требуются. */

Заголовок и содержание

Popover открывается по клику. Второй popover закрывает первый (closeOther: true). Это информационная панель без focus trap: ссылки и формы внутри не поддерживаются.

HTML
<div class="d-flex gap-3" style="flex-wrap: wrap">
  <button type="button" class="btn btn-primary" data-vg-toggle="popover"
    data-vg-title="Срок хранения" data-vg-content="Резервная копия хранится 30 дней.">
    Условия хранения
  </button>
  <button type="button" class="btn btn-surface" data-vg-toggle="popover"
    data-vg-title="Восстановление" data-vg-content="Восстановление доступно владельцу проекта.">
    Кто может восстановить?
  </button>
</div>
JavaScript
/**
 * Описание: декларативный пример VGTooltip — popover.
 * Возможности: подключение через публичный Data API.
 */
// Дополнительная инициализация не требуется: используется Data API.
CSS
/* Дополнительные стили не требуются. */

Текст и доверенный HTML

По умолчанию теги показываются как текст. html: true разрешает разметку без санитизации: используйте только доверенный или заранее очищенный HTML.

HTML
<div class="d-flex gap-3" style="flex-wrap: wrap">
  <button type="button" class="btn btn-surface" data-vg-toggle="tooltip" data-trigger="click"
    data-vg-title="&lt;strong&gt;Обычный текст&lt;/strong&gt;">
    HTML выключен
  </button>
  <button type="button" class="btn btn-primary" data-vg-toggle="popover" data-html="true"
    data-vg-title="&lt;strong&gt;Доверенный HTML&lt;/strong&gt;"
    data-vg-content="Резервная копия &lt;em&gt;успешно создана&lt;/em&gt;.&lt;br&gt;Можно продолжать работу.">
    HTML включён
  </button>
</div>
JavaScript
/**
 * Описание: декларативный пример VGTooltip — html.
 * Возможности: подключение через публичный Data API.
 */
// Дополнительная инициализация не требуется: используется Data API.
CSS
/* Дополнительные стили не требуются. */