@ozen-ui/kit
Version:
React component library
36 lines (35 loc) • 1.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useBottomSheetBaseVisibility = void 0;
var tslib_1 = require("tslib");
var react_1 = require("react");
var useStoredValue_1 = require("../../../hooks/useStoredValue");
var useBottomSheetBaseVisibility = function (_a) {
var isAnimating = _a.isAnimating, isOpen = _a.isOpen;
var _b = tslib_1.__read((0, react_1.useState)(isOpen), 2), isVisible = _b[0], setIsVisible = _b[1];
var isFirstRender = (0, useStoredValue_1.useStoredValue)(true);
var isClosingStarted = (0, useStoredValue_1.useStoredValue)(false);
(0, react_1.useEffect)(function () {
if (isOpen) {
isClosingStarted.current = false;
setIsVisible(true);
return;
}
if (isFirstRender.current) {
return;
}
isClosingStarted.current = true;
}, [isOpen]);
(0, react_1.useEffect)(function () {
if (!isClosingStarted.current || isAnimating) {
return;
}
isClosingStarted.current = false;
setIsVisible(false);
}, [isAnimating]);
(0, react_1.useEffect)(function () {
isFirstRender.current = false;
}, []);
return isVisible;
};
exports.useBottomSheetBaseVisibility = useBottomSheetBaseVisibility;
;