UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

32 lines (26 loc) 933 B
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js'; /* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable consistent-return */ /** * Hook to observe resize events on a given element */ var useResize = function useResize(ref, callback) { useIsomorphicLayoutEffect(function () { if (!ref.current) return; var element = ref.current; if (!('ResizeObserver' in window)) return; var observer = new ResizeObserver(function (entries) { entries.forEach(function (entry) { callback === null || callback === void 0 || callback(entry); }); }); observer.observe(element); // destroy the observer return function () { if (!('ResizeObserver' in window)) return; observer === null || observer === void 0 || observer.disconnect(); }; }, [callback]); }; export { useResize }; //# sourceMappingURL=useResize.js.map