UNPKG

@ozen-ui/kit

Version:

React component library

35 lines (34 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useBottomSheetBaseReady = void 0; var tslib_1 = require("tslib"); var react_1 = require("react"); var useStoredValue_1 = require("../../../../hooks/useStoredValue"); var useBottomSheetBaseReady = function () { var _a = tslib_1.__read((0, react_1.useState)(false), 2), isReady = _a[0], setReady = _a[1]; var isReadyMap = (0, useStoredValue_1.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 = (0, react_1.useCallback)(function (key) { var _a; setIsReadyMap(tslib_1.__assign(tslib_1.__assign({}, isReadyMap.current), (_a = {}, _a[key] = false, _a))); return function () { var _a; if (isReadyMap.current[key]) { return; } setIsReadyMap(tslib_1.__assign(tslib_1.__assign({}, isReadyMap.current), (_a = {}, _a[key] = true, _a))); }; }, []); return { isReady: isReady, registerReady: registerReady }; }; exports.useBottomSheetBaseReady = useBottomSheetBaseReady;