@spaced-out/ui-design-system
Version:
Sense UI components library
25 lines (24 loc) • 928 B
JavaScript
;
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;