@ozen-ui/kit
Version:
React component library
29 lines (28 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.usePortalContainer = void 0;
var tslib_1 = require("tslib");
var react_1 = require("react");
var environment_1 = require("../../constants/environment");
var isFunction_1 = require("../../utils/isFunction");
var react_2 = require("../../utils/react");
var usePortalContainer = function (container) {
var _a = tslib_1.__read((0, react_1.useState)(false), 2), isMounted = _a[0], setIsMounted = _a[1];
(0, react_1.useEffect)(function () {
setIsMounted(true);
}, []);
var baseContainer = (function () {
if (environment_1.isServer || !isMounted) {
return null;
}
if ((0, isFunction_1.isFunction)(container)) {
return container();
}
return container;
})();
if (baseContainer && (0, react_2.isRef)(baseContainer)) {
return baseContainer.current;
}
return baseContainer;
};
exports.usePortalContainer = usePortalContainer;