UNPKG

@gravityforms/utils

Version:
34 lines (32 loc) 822 B
import debounce from './debounce'; /** * @module resize * @description Bind a function to the resize event on window with an automatic default delay. * * @since 1.0.0 * * @param {Function} fn The function to run on resize. * @param {number} wait The delay for the debouncing of the resize event. * @param {boolean} add Whether to add or remove the listener. * * @requires debounce * * @return {void} * * @example * import { resize } from "@gravityforms/utils"; * * function Example() { * // do something on resize * }; * * resize( Example, 400 ); * */ export default function resize( fn = () => {}, wait = 200, add = true ) { if ( add ) { window.addEventListener( 'resize', debounce( fn, { wait } ) ); } else { window.removeEventListener( 'resize', debounce( fn, { wait } ) ); } }