Files
univer/examples/umd/docs.html
T
2026-06-12 20:40:19 +08:00

196 lines
7.8 KiB
HTML

<head>
<script
src="https://unpkg.com/react@18.3.1/umd/react.production.min.js"
integrity="sha384-DGyLxAyjq0f9SPpVevD6IgztCFlnMF6oW/XQGmfe+IsZ8TqEiDrcHkMLKI6fiB/Z"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.production.min.js"
integrity="sha384-gTGxhz21lVGYNMcdJOyq01Edg0jhn/c22nsx0kyqP0TxaV5WVdsSH1fSDUf5YJj1"
crossorigin="anonymous"
></script>
<script>
/**
* 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);
</script>
<script
src="https://unpkg.com/rxjs@7.8.1/dist/bundles/rxjs.umd.min.js"
integrity="sha384-Opyi337NBU4M11Xx1aRUN4dZejlRWsq277uHWHyysNm4frJzmqu7KvgkHu4YWTqk"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/echarts@5.6.0/dist/echarts.min.js"
integrity="sha384-pPi0zxBAoDu6+JXW/C68UZLvBUUtU+7zonhif43rqj7pxsGyqyqzcian2Rj37Rss"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/@wendellhu/redi@1.1.2/dist/umd/index.js"
integrity="sha384-F4WZII63zjCUVMrITB+Vu6vQFNeE93iOJ8Qovkx5rdYxskyLdx0JnJZY4QLLCjk3"
crossorigin="anonymous"
></script>
<script
src="https://unpkg.com/@wendellhu/redi@1.1.2/dist/umd/react-bindings/index.js"
integrity="sha384-jJdF43Ttfx58SshGsOzzjyBHEuP03xjyRVMmHmrwARzwOnVrnVvFJARk6O8tW/OF"
crossorigin="anonymous"
></script>
<script src="/packages/themes/lib/umd/index.js"></script>
<script src="/packages/protocol/lib/umd/index.js"></script>
<script src="/packages/core/lib/umd/index.js"></script>
<script src="/packages/network/lib/umd/index.js"></script>
<script src="/packages/telemetry/lib/umd/index.js"></script>
<script src="/packages/rpc/lib/umd/index.js"></script>
<script src="/packages/design/lib/umd/index.js"></script>
<script src="/packages/engine-render/lib/umd/index.js"></script>
<script src="/packages/engine-formula/lib/umd/index.js"></script>
<script src="/packages/drawing/lib/umd/index.js"></script>
<script src="/packages/ui/lib/umd/index.js"></script>
<script src="/packages/docs/lib/umd/index.js"></script>
<script src="/packages/docs-ui/lib/umd/index.js"></script>
<script src="/packages/core/lib/umd/facade.js"></script>
<script src="/packages/engine-formula/lib/umd/facade.js"></script>
<script src="/packages/ui/lib/umd/facade.js"></script>
<script src="/packages/docs-ui/lib/umd/facade.js"></script>
<script src="/packages/design/lib/umd/locale/en-US.js"></script>
<script src="/packages/ui/lib/umd/locale/en-US.js"></script>
<script src="/packages/docs-ui/lib/umd/locale/en-US.js"></script>
<link rel="stylesheet" href="/packages/design/lib/index.css" />
<link rel="stylesheet" href="/packages/ui/lib/index.css" />
<link rel="stylesheet" href="/packages/docs-ui/lib/index.css" />
<style>
html,
body,
#root,
#app {
padding: 0;
margin: 0;
height: 100%;
}
</style>
</head>
<body>
<div id="app"></div>
<script>
const { Univer, LocaleType, mergeLocales, UniverInstanceType } = UniverCore;
const { FUniver } = UniverCoreFacade;
const { UniverRenderEnginePlugin } = UniverEngineRender;
const { UniverFormulaEnginePlugin } = UniverEngineFormula;
const { UniverUIPlugin } = UniverUi;
const { UniverDocsPlugin } = UniverDocs;
const { UniverDocsUIPlugin } = UniverDocsUi;
const univer = new Univer({
locale: LocaleType.EN_US,
locales: {
[LocaleType.EN_US]: mergeLocales(UniverDesignEnUS, UniverUiEnUS, UniverDocsUiEnUS),
},
});
univer.registerPlugin(UniverRenderEnginePlugin);
univer.registerPlugin(UniverFormulaEnginePlugin);
univer.registerPlugin(UniverUIPlugin, {
container: 'app',
});
univer.registerPlugin(UniverDocsPlugin);
univer.registerPlugin(UniverDocsUIPlugin);
univer.createUnit(UniverInstanceType.UNIVER_DOC, {});
const univerAPI = FUniver.newAPI(univer);
</script>
</body>