UNPKG

@ozen-ui/kit

Version:

React component library

36 lines (35 loc) 1.31 kB
"use strict"; 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;