UNPKG

@pdftron/webviewer-react-toolkit

Version:

A React component library for integrating with PDFTron WebViewer API.

22 lines (21 loc) 719 B
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; }