@flexis/ui
Version:
Styleless React Components
22 lines • 1.37 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, element = document.body) {
const scrollBlocked = typeof unblockScroll === 'function';
if (active) {
if (scrollBlocked) {
unblockScroll();
}
return blockScroll(element);
}
if (scrollBlocked) {
unblockScroll();
}
return null;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlU2Nyb2xsQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb21tb24vdG9nZ2xlU2Nyb2xsQmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFdBQVcsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsT0FBTyxVQUFVLGlCQUFpQixDQUN4QyxNQUFlLEVBQ2YsYUFBeUIsRUFDekIsT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJO0lBR3ZCLE1BQU0sYUFBYSxHQUFHLE9BQU8sYUFBYSxLQUFLLFVBQVUsQ0FBQztJQUUxRCxJQUFJLE1BQU0sRUFBRTtRQUVYLElBQUksYUFBYSxFQUFFO1lBQ2xCLGFBQWEsRUFBRSxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7S0FFNUI7SUFFRCxJQUFJLGFBQWEsRUFBRTtRQUNsQixhQUFhLEVBQUUsQ0FBQztLQUNoQjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQyJ9