@pdftron/webviewer-react-toolkit
Version:
A React component library for integrating with PDFTron WebViewer API.
22 lines (21 loc) • 719 B
JavaScript
import { useEffect, useMemo, useState } from 'react';
export function useUnmountDelay(on, delay) {
if (on === void 0) { on = false; }
if (delay === void 0) { delay = 250; }
var _a = useState(on), mounted = _a[0], setMounted = _a[1];
useEffect(function () {
if (!on) {
var timeoutId_1 = window.setTimeout(function () {
setMounted(false);
}, delay);
return function () { return window.clearTimeout(timeoutId_1); };
}
setMounted(true);
return;
}, [delay, on]);
var value = useMemo(function () { return ({
mounted: mounted,
unmounting: mounted && !on,
}); }, [mounted, on]);
return value;
}