@uva-glass/component-library
Version:
React components UvA
39 lines (38 loc) • 1.03 kB
JavaScript
import * as s from "react";
import { c as l } from "./client-CTOhtEms.js";
var n = /* @__PURE__ */ new Map();
function m() {
return globalThis.IS_REACT_ACT_ENVIRONMENT;
}
var a = ({ callback: e, children: r }) => {
let t = s.useRef();
return s.useLayoutEffect(() => {
t.current !== e && (t.current = e, e());
}, [e]), r;
};
typeof Promise.withResolvers > "u" && (Promise.withResolvers = () => {
let e = null, r = null;
return { promise: new Promise((t, o) => {
e = t, r = o;
}), resolve: e, reject: r };
});
var p = async (e, r, t) => {
let o = await c(r, t);
if (m()) {
o.render(e);
return;
}
let { promise: u, resolve: i } = Promise.withResolvers();
return o.render(s.createElement(a, { callback: i }, e)), u;
}, v = (e, r) => {
let t = n.get(e);
t && (t.unmount(), n.delete(e));
}, c = async (e, r) => {
let t = n.get(e);
return t || (t = l.createRoot(e, r), n.set(e, t)), t;
};
export {
p as renderElement,
v as unmountElement
};
//# sourceMappingURL=react-18-CcyoHPTJ.js.map