@spaced-out/ui-design-system
Version:
Sense UI components library
23 lines (22 loc) • 715 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)(() => {
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;