Темы и размеры
Четыре семантические темы и размеры default / compact. Тема сайта остаётся под управлением OKAUX, цвета VGApp подключены через общий SCSS-адаптер.
Выберите тему и размер.
<div id="alert-themes-controls" class="d-flex flex-wrap gap-2">
<button type="button" class="btn btn-error btn-sm" data-alert-theme="danger">Danger · default</button>
<button type="button" class="btn btn-warning btn-sm" data-alert-theme="warning">Warning · compact</button>
<button type="button" class="btn btn-success btn-sm" data-alert-theme="success">Success · default</button>
<button type="button" class="btn btn-info btn-sm" data-alert-theme="info">Info · compact</button>
</div>
<p id="alert-themes-result" role="status" class="mt-3 mb-0">Выберите тему и размер.</p>
/**
* Описание: рабочий пример VGAlert для копирования и демо.
* Возможности: запуск публичного API и отображение результата без изменения данных.
*/
import { VGAlert } from 'vgapp';
function initAlertDemo() {
const controls = document.querySelector('#alert-themes-controls');
if (!controls) return;
controls.querySelectorAll('button').forEach(button => {
button.addEventListener('click', () => {
const theme = button.dataset.alertTheme;
VGAlert.call({
theme,
size: ['warning', 'info'].includes(theme) ? 'compact' : 'default',
mode: 'info',
message: { title: theme, description: 'Цвета наследуют текущую тему сайта.' },
buttons: { cancel: { text: 'Закрыть', class: ['btn-surface', 'btn-sm'] } },
}).catch(() => { document.querySelector('#alert-themes-result').textContent = theme + ': сообщение закрыто.'; });
});
});
}
initAlertDemo();
/* Дополнительные стили не требуются. */