@tamagui/react-native-web-lite
Version:
React Native for Web
21 lines (20 loc) • 815 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;
}
export {
ModalPortal
};
//# sourceMappingURL=ModalPortal.js.map