@bizhermit/react-sdk
Version:
React SDK
1 lines • 744 B
JavaScript
;var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const string_utils_1=__importDefault(require("@bizhermit/basic-utils/dist/string-utils")),react_1=require("react"),usePortalElement=e=>{const t=(0,react_1.useRef)(e?.id||string_utils_1.default.generateUuidV4()),[r,u]=(0,react_1.useState)();return(0,react_1.useEffect)((()=>{let r=document.getElementById(t.current);return null==r&&(r=document.createElement("div"),r.id=t.current,document.body.appendChild(r),e?.mount?.(r),u(r)),()=>{try{e?.unmount?.(r)}catch(e){console.log(e)}try{document.body.removeChild(r)}catch(e){console.log(e)}}}),[]),r};exports.default=usePortalElement;