@flexis/ui
Version:
Styleless React Components
28 lines (23 loc) • 1.32 kB
JavaScript
import { blockScroll } from '../../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.
*/
export default 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 blockScroll(element);
}
if (scrollBlocked) {
unblockScroll();
}
return null;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi90b2dnbGVTY3JvbGxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUNDLFdBREQsUUFFTyxlQUZQO0FBSUE7Ozs7Ozs7O0FBT0EsZUFBYyxTQUFVLGlCQUFWLENBQ2IsTUFEYSxFQUViLGFBRmEsRUFHVTtBQUFBLE1BQXZCLE9BQXVCLHVFQUFiLFFBQVEsQ0FBQyxJQUFJO0FBR3ZCLE1BQU0sYUFBYSxHQUFHLE9BQU8sYUFBUCxLQUF5QixVQUEvQzs7QUFFQSxNQUFJLE1BQUosRUFBWTtBQUVYLFFBQUksYUFBSixFQUFtQjtBQUNsQixNQUFBLGFBQWE7QUFDYjs7QUFFRCxXQUFPLFdBQVcsQ0FBQyxPQUFELENBQWxCO0FBRUE7O0FBRUQsTUFBSSxhQUFKLEVBQW1CO0FBQ2xCLElBQUEsYUFBYTtBQUNiOztBQUVELFNBQU8sSUFBUDtBQUNBIiwic291cmNlUm9vdCI6IiJ9