UNPKG

@ozen-ui/kit

Version:

React component library

31 lines (30 loc) 1.15 kB
import { __assign, __read } from "tslib"; import { useCallback, useState } from 'react'; import { useStoredValue } from '../../../../hooks/useStoredValue'; export var useBottomSheetBaseReady = function () { var _a = __read(useState(false), 2), isReady = _a[0], setReady = _a[1]; var isReadyMap = useStoredValue({}); var setIsReadyMap = function (map) { isReadyMap.current = map; var states = Object.values(isReadyMap.current); if (states.length === 0) { return; } var isReady = states.every(function (state) { return !!state; }); if (isReady) { setReady(true); } }; var registerReady = useCallback(function (key) { var _a; setIsReadyMap(__assign(__assign({}, isReadyMap.current), (_a = {}, _a[key] = false, _a))); return function () { var _a; if (isReadyMap.current[key]) { return; } setIsReadyMap(__assign(__assign({}, isReadyMap.current), (_a = {}, _a[key] = true, _a))); }; }, []); return { isReady: isReady, registerReady: registerReady }; };