UNPKG

@spaced-out/ui-design-system

Version:
25 lines (24 loc) 928 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); const useMountTransition = (isMounted, unmountDelay) => { const [isTransitioning, setIsTransitioning] = (0, _react.useState)(false); (0, _react.useEffect)(() => { // @ts-ignore - TS7034 - Variable 'timeoutId' implicitly has type 'any' in some locations where its type cannot be determined. let timeoutId; if (isMounted && !isTransitioning) { setIsTransitioning(true); } else if (!isMounted && isTransitioning) { timeoutId = setTimeout(() => setIsTransitioning(false), unmountDelay); } return () => { // @ts-ignore - TS7005 - Variable 'timeoutId' implicitly has an 'any' type. clearTimeout(timeoutId); }; }, [unmountDelay, isMounted, isTransitioning]); return isTransitioning; }; var _default = exports.default = useMountTransition;