@yandex/ui
Version:
Yandex UI components
44 lines (43 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.unlock = exports.lock = void 0;
var tslib_1 = require("tslib");
var canUseDOM_1 = require("../canUseDOM");
var platform_1 = require("../platform");
var StandartScrollLocker = tslib_1.__importStar(require("./StandartScrollLocker"));
var TouchScrollLocker = tslib_1.__importStar(require("./TouchScrollLocker"));
function ensureElement(element) {
return element || document.body;
}
/**
* Добавляет запрет на прокрутку содержимого на DOM-элементе.
*
* @param container Ссылка на DOM-элемент. По-умолчанию: `document.body`
*/
function lock(container) {
if (!canUseDOM_1.canUseDOM()) {
return;
}
var element = ensureElement(container);
StandartScrollLocker.lock(element);
if (platform_1.isIOS()) {
TouchScrollLocker.lock(element);
}
}
exports.lock = lock;
/**
* Убирает запрет на прокрутку содержимого на DOM-элементе.
*
* @param container Ссылка на DOM-элемент. По-умолчанию: `document.body`
*/
function unlock(container) {
if (!canUseDOM_1.canUseDOM()) {
return;
}
var element = ensureElement(container);
StandartScrollLocker.unlock(element);
if (platform_1.isIOS()) {
TouchScrollLocker.unlock(element);
}
}
exports.unlock = unlock;