snapshot of https://github.com/dream-num/univer.git (dev, 2026-09-16; blobs > 131072B omitted)
Some checks failed
📦 Build / build (push) Has been cancelled
🧪 CI Test / test shard (1/4) (push) Has been cancelled
🧪 CI Test / test shard (2/4) (push) Has been cancelled
🧪 CI Test / test shard (3/4) (push) Has been cancelled
🧪 CI Test / test shard (4/4) (push) Has been cancelled
🧪 CI Test / test (push) Has been cancelled
🧪 CI Test / eslint (push) Has been cancelled
🧪 CI Test / typecheck (push) Has been cancelled
🔫 Sync to Pro / dispatch-sync (push) Has been cancelled
🔮 Sync Mirror / sync (push) Has been cancelled
Some checks failed
📦 Build / build (push) Has been cancelled
🧪 CI Test / test shard (1/4) (push) Has been cancelled
🧪 CI Test / test shard (2/4) (push) Has been cancelled
🧪 CI Test / test shard (3/4) (push) Has been cancelled
🧪 CI Test / test shard (4/4) (push) Has been cancelled
🧪 CI Test / test (push) Has been cancelled
🧪 CI Test / eslint (push) Has been cancelled
🧪 CI Test / typecheck (push) Has been cancelled
🔫 Sync to Pro / dispatch-sync (push) Has been cancelled
🔮 Sync Mirror / sync (push) Has been cancelled
This commit is contained in:
90
common/shared/react-polyfill/react-polyfill.js
vendored
Normal file
90
common/shared/react-polyfill/react-polyfill.js
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
/* eslint-disable */
|
||||
/**
|
||||
* Starting from Univer 0.6.0, with the support for React 19[^1], UMD users may need additional adaptation.
|
||||
* It is recommended to migrate to module script[^2] and a more modern build system.
|
||||
*
|
||||
* [^1]: [Module Script] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#applying_the_module_to_your_html
|
||||
* [^2]: [support for React 19] https://github.com/dream-num/univer/pull/4247
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fix `Uncaught TypeError: client.createRoot is not a function`
|
||||
* If using UMD React < 18, you might need the following code.
|
||||
*/
|
||||
(function (global) {
|
||||
'use strict';
|
||||
if (!global.ReactDOM) {
|
||||
throw new Error('ReactDOM must be loaded before ReactCreateRoot.');
|
||||
}
|
||||
const ReactDOM = global.ReactDOM;
|
||||
if (!ReactDOM.createRoot) {
|
||||
ReactDOM.createRoot = function (container) {
|
||||
return {
|
||||
render: (element) => {
|
||||
ReactDOM.render(element, container);
|
||||
},
|
||||
};
|
||||
};
|
||||
}
|
||||
})(this);
|
||||
|
||||
/**
|
||||
* Fix `Uncaught TypeError: jsxRuntime.jsx is not a function`
|
||||
* If using UMD React, you might need the following code.
|
||||
* Reference: https://unpkg.com/react@18.3.1/cjs/react-jsx-runtime.production.min.js
|
||||
*/
|
||||
(function (global) {
|
||||
'use strict';
|
||||
if (!global.React) {
|
||||
throw new Error('React must be loaded before ReactJSXRuntime.');
|
||||
}
|
||||
const React = global.React;
|
||||
if (!React.jsx || !React.jsxs) {
|
||||
const REACT_ELEMENT_TYPE = Symbol.for('react.element');
|
||||
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
const RESERVED_PROPS = {
|
||||
key: true,
|
||||
ref: true,
|
||||
__self: true,
|
||||
__source: true,
|
||||
};
|
||||
const ReactCurrentOwner = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner;
|
||||
function createReactElement(type, config, maybeKey) {
|
||||
const props = {};
|
||||
let key = null;
|
||||
let ref = null;
|
||||
if (maybeKey !== undefined) {
|
||||
key = `${maybeKey}`;
|
||||
}
|
||||
if (config.key !== undefined) {
|
||||
key = `${config.key}`;
|
||||
}
|
||||
if (config.ref !== undefined) {
|
||||
ref = config.ref;
|
||||
}
|
||||
for (var propName in config) {
|
||||
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
||||
props[propName] = config[propName];
|
||||
}
|
||||
}
|
||||
if (type && type.defaultProps) {
|
||||
const defaultProps = type.defaultProps;
|
||||
for (var propName in defaultProps) {
|
||||
if (props[propName] === undefined) {
|
||||
props[propName] = defaultProps[propName];
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
$$typeof: REACT_ELEMENT_TYPE,
|
||||
type,
|
||||
key,
|
||||
ref,
|
||||
props,
|
||||
_owner: ReactCurrentOwner.current,
|
||||
};
|
||||
}
|
||||
React.jsx = createReactElement;
|
||||
React.jsxs = createReactElement;
|
||||
}
|
||||
})(this);
|
||||
Reference in New Issue
Block a user