@tamagui/react-native-web-lite
Version:
React Native for Web
20 lines (19 loc) • 865 B
JavaScript
import * as React from "react";
import ReactDOM from "react-dom";
import { canUseDOM } from "@tamagui/react-native-web-internals";
function ModalPortal(props) {
var children = props.children,
elementRef = React.useRef(null);
if (canUseDOM && !elementRef.current) {
var element = document.createElement("div");
element && document.body && (document.body.appendChild(element), elementRef.current = element);
}
return React.useEffect(() => {
if (canUseDOM) return () => {
document.body && elementRef.current && (document.body.removeChild(elementRef.current), elementRef.current = null);
};
}, []), elementRef.current && canUseDOM ? /* @__PURE__ */ReactDOM.createPortal(children, elementRef.current) : null;
}
var ModalPortal_default = ModalPortal;
export { ModalPortal_default as default };
//# sourceMappingURL=ModalPortal.mjs.map