@ones-editor/editor 2.8.36 → 2.9.1-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -10099,6 +10099,54 @@ var __publicField = (obj, key, value) => {
10099
10099
  }
10100
10100
  };
10101
10101
  }
10102
+ async function loadEmsJs(id, mjsUrl, mjsName, jsCode) {
10103
+ const promise = new Promise((resolve, reject) => {
10104
+ const script = document.getElementById(id);
10105
+ if (script) {
10106
+ setTimeout(() => {
10107
+ resolve();
10108
+ });
10109
+ return;
10110
+ }
10111
+ const funName = `emsjs_${genId()}`;
10112
+ window[funName] = (err) => {
10113
+ if (err) {
10114
+ console.error("loadEmsJs error:", mjsUrl, err);
10115
+ const script2 = document.getElementById(id);
10116
+ if (script2) {
10117
+ script2.remove();
10118
+ }
10119
+ reject(err);
10120
+ } else {
10121
+ resolve();
10122
+ }
10123
+ };
10124
+ const code = `
10125
+ try {
10126
+ const ${mjsName} = await import('${mjsUrl}');
10127
+ window.${mjsName} = ${mjsName}.default;
10128
+ ${jsCode}
10129
+ window.${funName}();
10130
+ } catch (err) {
10131
+ window.${funName}(err);
10132
+ }
10133
+ window.${funName} = undefined;
10134
+ delete window.${funName};
10135
+ `;
10136
+ const elem2 = document.createElement("script");
10137
+ elem2.type = "module";
10138
+ elem2.async = true;
10139
+ elem2.id = id;
10140
+ elem2.innerHTML = code;
10141
+ document.head.appendChild(elem2);
10142
+ });
10143
+ try {
10144
+ await lockers.lock(id);
10145
+ await promise;
10146
+ } finally {
10147
+ lockers.release(id);
10148
+ }
10149
+ }
10102
10150
  async function loadJsPromise(url, id) {
10103
10151
  const promise = new Promise((resolve, reject) => {
10104
10152
  loadJs(url, id, (err) => {
@@ -85860,26 +85908,25 @@ ${docStr}
85860
85908
  var _a;
85861
85909
  const mermaidOptions = editor.getComponentOptions("mermaid") || {};
85862
85910
  const mermaidJsResource = ((_a = mermaidOptions.cdn) == null ? void 0 : _a.mermaid) || MERMAID_SCRIPTS;
85863
- await loadJsPromise(mermaidJsResource, MERMAID_SCRIPT_ID);
85911
+ try {
85912
+ await loadEmsJs(MERMAID_SCRIPT_ID, mermaidJsResource, "mermaid", "");
85913
+ } catch (err) {
85914
+ logger$k.error("Resource load failed: Mermaid javaScript resource injection failed", err instanceof Error ? err.message : String(err));
85915
+ }
85864
85916
  const mermaid = window.mermaid;
85865
85917
  assert(logger$k, mermaid, "Resource load failed: Mermaid javaScript resource injection failed");
85866
85918
  const id = genId();
85867
- const promise = new Promise((resolve, reject) => {
85868
- try {
85869
- mermaid.mermaidAPI.render(id, code, (svgCode2) => {
85870
- setTimeout(() => {
85871
- resolve(svgCode2);
85872
- });
85873
- });
85874
- } catch (err) {
85875
- err.message = err.str;
85876
- const delId = `d${id}`;
85877
- const el = document.getElementById(delId);
85878
- el == null ? void 0 : el.remove();
85879
- reject(err);
85880
- }
85881
- });
85882
- const svgCode = await promise;
85919
+ let svgCode = "";
85920
+ try {
85921
+ const { svg } = await mermaid.render(id, code);
85922
+ svgCode = svg;
85923
+ } catch (err) {
85924
+ err.message = err.str;
85925
+ const delId = `d${id}`;
85926
+ const el = document.getElementById(delId);
85927
+ el == null ? void 0 : el.remove();
85928
+ throw err;
85929
+ }
85883
85930
  const domParser = new DOMParser();
85884
85931
  const xml = domParser.parseFromString(svgCode, "image/svg+xml");
85885
85932
  const xmlSvg = xml.firstChild;
@@ -94641,7 +94688,7 @@ ${JSON.stringify(error2, null, 2)}`);
94641
94688
  }
94642
94689
  }
94643
94690
  });
94644
- editor.version = "2.8.36";
94691
+ editor.version = "2.9.1-beta.3";
94645
94692
  return editor;
94646
94693
  }
94647
94694
  function isDoc(doc2) {
@@ -94755,7 +94802,7 @@ ${JSON.stringify(error2, null, 2)}`);
94755
94802
  }
94756
94803
  });
94757
94804
  OnesEditorToolbar.register(editor);
94758
- editor.version = "2.8.36";
94805
+ editor.version = "2.9.1-beta.3";
94759
94806
  return editor;
94760
94807
  }
94761
94808
  async function showDocVersions(editor, options, serverUrl) {
@@ -141267,6 +141314,7 @@ ${JSON.stringify(error2, null, 2)}`);
141267
141314
  exports2.isValidOffset = isValidOffset;
141268
141315
  exports2.isVisibleBlock = isVisibleBlock;
141269
141316
  exports2.isYesterday = isYesterday;
141317
+ exports2.loadEmsJs = loadEmsJs;
141270
141318
  exports2.loadJs = loadJs;
141271
141319
  exports2.loadJsPromise = loadJsPromise;
141272
141320
  exports2.lockers = lockers;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ones-editor/editor",
3
- "version": "2.8.36",
3
+ "version": "2.9.1-beta.3",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "dependencies": {
@@ -48,7 +48,7 @@
48
48
  "marked-extended-latex": "^1.1.0",
49
49
  "markmap-common": "0.15.3",
50
50
  "markmap-view": "0.15.4",
51
- "mermaid": "^9.1.0",
51
+ "mermaid": "11.6.0",
52
52
  "mime-db": "^1.52.0",
53
53
  "nanoid": "^3.2.0",
54
54
  "ot-json1": "^1.0.2",