Описание npm пакета: hq-modal
Hq-Modal — это исключительно простой утилитарный инструмент для управления и настройки модальных окон на веб-странице. Он помогает быстро настроить и вызвать модальные окна.
Библиотека позволяет:
- Задать ширину модального окна
- Контролировать его позицию на странице
- Настроить цвет оверлея
- Показать или скрыть кнопку закрытия
- Исправить сдвиг контента при открытии модального окна
- Закрывать модальные окна по нажатию клавиши Escape или клику вне окна
- Блокировать прокрутку и взаимодействие с фоном
- Адаптивность: отлично работает на мобильных устройствах без блокировки контента
- Легковесность (~2KB в минифицированном виде), без зависимостей
Установка
Несколько вариантов использования и установки:
Вариант 1 – NPM
Установка через npm:
npm install hq-modal --save-dev
Вариант 2 – Использование через CDN
<script src="https://unpkg.com/hq-modal@latest/dist/hq-modal.umd.js"></script>
Настройка
1 – Определите модальное окно
В HTML определите блок модального окна, используя атрибут data-hq-modal-block="test-name"
и атрибут hidden
.
Замените
"test-name"
на любое имя по вашему выбору.
Пример:
<div data-hq-modal-block="test-name" hidden>
<!-- содержимое модального окна -->
</div>
2 – Добавьте элементы для вызова модального окна
Для вызова модального окна присвойте атрибут data-hq-modal-button="test-name"
любому элементу.
"test-name"
должно совпадать с именем, использованным на предыдущем шаге.
Пример:
<button data-hq-modal-button="test-name">Открыть модальное окно</button>
Необязательные кнопки закрытия внутри модального окна
Если вы хотите добавить дополнительные кнопки закрытия внутри модального окна, присвойте им атрибут data-hq-modal-close
.
Внимание: это для внутренних кнопок. Встроенная кнопка закрытия контролируется опцией
showButtonClose
при инициализации.
Пример:
<button data-hq-modal-close>Закрыть</button>
Использование
Инициализация и базовая настройка:
Если используете NPM, импортируйте модуль:
import HqModal from 'hq-modal';
Если используете CDN, просто инициализируйте:
Инициализация
const testName = new HqModal('test-name');
С параметрами конфигурации
Также можно передать параметры конфигурации:
const testName = new HqModal('test-name', {
maxWidth: '400px',
background: 'rgba(0, 0, 0, 0.5)',
top: '10px',
left: '100px',
showButtonClose: true,
});
Справочник опций
Опция | Тип | Значение по умолчанию | Описание |
---|---|---|---|
maxWidth | string |
'500px' |
Задает ширину модального окна. |
background | string |
'rgba(0, 0, 0, 0.4)' |
Цвет фона оверлея (поддерживает HEX, RGB, RGBA). |
top | string |
'0px' |
Отступ сверху. (используйте либо top , либо bottom ) |
bottom | string |
'0px' |
Отступ снизу. (используйте либо top , либо bottom ) |
left | string |
'0px' |
Отступ слева. (используйте либо left , либо right ) |
right | string |
'0px' |
Отступ справа. (используйте либо left , либо right ) |
showButtonClose | boolean |
false |
Показывать ли встроенную кнопку закрытия. |
⚠️ Важно:
top
иbottom
не должны использоваться одновременно — выберите один. То же касаетсяleft
иright
.
Требования и совместимость
- Может использоваться как ES-модуль
- Может также использоваться как UMD-бандл (
hq-modal.umd.js
включён или доступен через CDN) - Работает во всех современных браузерах
Лицензия
Этот проект лицензирован под MIT License.