@ou-imdt/utils
Version:
Utility library for interactive media development
14 lines (13 loc) • 642 B
JavaScript
import debounceCallback from '../debounce.js';
import resizeIframe from './resizeIframe.js';
/**
* Returns a configured resize observer with the specified debounce and delay settings.
* @param {number} debounce - The debounce time in milliseconds.
* @param {number} delay - The delay time in milliseconds.
* @returns {ResizeObserver} A configured resize observer instance.
*/
export default function configuredVLEResizer(debounce = true, delay = 75) {
const resize = () => (this?.resizeIframe ?? resizeIframe)();
const callback = debounce ? debounceCallback(resize, delay) : resize;
return new ResizeObserver(() => callback());
};