UNPKG

@ozen-ui/kit

Version:

React component library

32 lines (31 loc) 1.03 kB
import { __read } from "tslib"; import { useEffect, useState } from 'react'; import { useStoredValue } from '../../../hooks/useStoredValue'; export var useBottomSheetBaseVisibility = function (_a) { var isAnimating = _a.isAnimating, isOpen = _a.isOpen; var _b = __read(useState(isOpen), 2), isVisible = _b[0], setIsVisible = _b[1]; var isFirstRender = useStoredValue(true); var isClosingStarted = useStoredValue(false); useEffect(function () { if (isOpen) { isClosingStarted.current = false; setIsVisible(true); return; } if (isFirstRender.current) { return; } isClosingStarted.current = true; }, [isOpen]); useEffect(function () { if (!isClosingStarted.current || isAnimating) { return; } isClosingStarted.current = false; setIsVisible(false); }, [isAnimating]); useEffect(function () { isFirstRender.current = false; }, []); return isVisible; };