UNPKG

@spaced-out/ui-design-system

Version:
23 lines (22 loc) 715 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)(() => { let timeoutId; if (isMounted && !isTransitioning) { setIsTransitioning(true); } else if (!isMounted && isTransitioning) { timeoutId = setTimeout(() => setIsTransitioning(false), unmountDelay); } return () => { clearTimeout(timeoutId); }; }, [unmountDelay, isMounted, isTransitioning]); return isTransitioning; }; var _default = exports.default = useMountTransition;