@flexis/ui
Version:
Styleless React Components
38 lines (29 loc) • 1.52 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = toggleScrollBlock;
var _helpers = require("../../helpers");
/**
* Toggle scroll blocking.
* @param active - Current state.
* @param unblockScroll - Unblock scroll function.
* @param element - Element to block scroll.
* @return New unblock scroll function or null.
*/
function toggleScrollBlock(active, unblockScroll) {
var element = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body;
var scrollBlocked = typeof unblockScroll === 'function';
if (active) {
if (scrollBlocked) {
unblockScroll();
}
return (0, _helpers.blockScroll)(element);
}
if (scrollBlocked) {
unblockScroll();
}
return null;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi90b2dnbGVTY3JvbGxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O0FBSUE7Ozs7Ozs7QUFPYyxTQUFVLGlCQUFWLENBQ2IsTUFEYSxFQUViLGFBRmEsRUFHVTtBQUFBLE1BQXZCLE9BQXVCLHVFQUFiLFFBQVEsQ0FBQyxJQUFJO0FBR3ZCLE1BQU0sYUFBYSxHQUFHLE9BQU8sYUFBUCxLQUF5QixVQUEvQzs7QUFFQSxNQUFJLE1BQUosRUFBWTtBQUVYLFFBQUksYUFBSixFQUFtQjtBQUNsQixNQUFBLGFBQWE7QUFDYjs7QUFFRCxXQUFPLDBCQUFZLE9BQVosQ0FBUDtBQUVBOztBQUVELE1BQUksYUFBSixFQUFtQjtBQUNsQixJQUFBLGFBQWE7QUFDYjs7QUFFRCxTQUFPLElBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==