UNPKG

@tamagui/react-native-web-lite

Version:
20 lines (19 loc) 865 B
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