nbit-arco
Version:
Arco Design React UI Library.
59 lines (58 loc) • 2 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.render = void 0;
var react_dom_1 = __importDefault(require("react-dom"));
var __SECRET_INTERNALS__ = '__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED';
var CopyReactDOM = react_dom_1.default;
var copyRender;
var isReact18 = Number((_a = CopyReactDOM.version) === null || _a === void 0 ? void 0 : _a.split('.')[0]) > 17;
var createRoot;
try {
// https://github.com/facebook/react/blob/17806594cc28284fe195f918e8d77de3516848ec/packages/react-dom/npm/client.js#L10
CopyReactDOM[__SECRET_INTERNALS__] = __assign(__assign({}, CopyReactDOM[__SECRET_INTERNALS__]), { usingClientEntryPoint: true });
// Avoid console warning
createRoot = CopyReactDOM.createRoot;
}
catch (_) {
//
}
if (isReact18 && createRoot) {
copyRender = function (app, container) {
var root = createRoot(container);
root.render(app);
var originUnmount = root.unmount;
root.unmount = function () {
setTimeout(originUnmount);
};
return root;
};
}
else {
copyRender = function (app, container) {
CopyReactDOM.render(app, container);
return {
render: function (app) {
CopyReactDOM.render(app, container);
},
unmount: function () {
CopyReactDOM.unmountComponentAtNode(container);
},
};
};
}
exports.render = copyRender;