@ozen-ui/kit
Version:
React component library
25 lines (24 loc) • 783 B
JavaScript
import { __read } from "tslib";
import { useEffect, useState } from 'react';
import { isServer } from '../../constants/environment';
import { isFunction } from '../../utils/isFunction';
import { isRef } from '../../utils/react';
export var usePortalContainer = function (container) {
var _a = __read(useState(false), 2), isMounted = _a[0], setIsMounted = _a[1];
useEffect(function () {
setIsMounted(true);
}, []);
var baseContainer = (function () {
if (isServer || !isMounted) {
return null;
}
if (isFunction(container)) {
return container();
}
return container;
})();
if (baseContainer && isRef(baseContainer)) {
return baseContainer.current;
}
return baseContainer;
};