@mdzip/editor 1.4.6 → 1.4.7
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/library-info.d.ts +1 -1
- package/dist/library-info.js +1 -1
- package/dist/mermaid.d.ts.map +1 -1
- package/dist/mermaid.js +28 -2
- package/dist/mermaid.js.map +1 -1
- package/package.json +1 -1
package/dist/library-info.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const MDZIP_RUNTIME_LIBRARIES: readonly [{
|
|
2
2
|
readonly name: "@mdzip/editor";
|
|
3
|
-
readonly version: "1.4.
|
|
3
|
+
readonly version: "1.4.7";
|
|
4
4
|
readonly repositoryUrl: "https://github.com/mdzip-project/mdzip-editor";
|
|
5
5
|
readonly description: "MDZip workspace engine and browser UI.";
|
|
6
6
|
}, {
|
package/dist/library-info.js
CHANGED
package/dist/mermaid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAG/F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CAC9C;
|
|
1
|
+
{"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAG/F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CAC9C;AAgFD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,4BAA4B,CAgGrG"}
|
package/dist/mermaid.js
CHANGED
|
@@ -53,6 +53,20 @@ async function withBodyCleanup(doc, run) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
// mermaid.initialize()/render() work on shared global state and attach a temp
|
|
57
|
+
// element to document.body a tick after render() starts, so two renders in
|
|
58
|
+
// flight at once corrupt each other: whichever finishes first runs
|
|
59
|
+
// `withBodyCleanup`'s sweep and deletes the other's element, and the other
|
|
60
|
+
// then fails with "Cannot read properties of null (reading 'firstChild')".
|
|
61
|
+
// Overlap is normal — an edit starts a new preview generation while the
|
|
62
|
+
// previous one's diagram is still rendering (adding an image reloads, then
|
|
63
|
+
// edits, the workspace back to back) — so renders run one at a time.
|
|
64
|
+
let mermaidRenderQueue = Promise.resolve();
|
|
65
|
+
function runMermaidSerially(run) {
|
|
66
|
+
const next = mermaidRenderQueue.then(run, run);
|
|
67
|
+
mermaidRenderQueue = next.catch(() => undefined);
|
|
68
|
+
return next;
|
|
69
|
+
}
|
|
56
70
|
/**
|
|
57
71
|
* A markdown render extension that renders fenced ` ```mermaid ` code blocks to
|
|
58
72
|
* inline SVG in the preview.
|
|
@@ -92,7 +106,7 @@ export function mdzipMermaidExtension(options = {}) {
|
|
|
92
106
|
if (context.signal.aborted) {
|
|
93
107
|
return template.innerHTML;
|
|
94
108
|
}
|
|
95
|
-
mermaid.initialize({
|
|
109
|
+
const configure = () => mermaid.initialize({
|
|
96
110
|
startOnLoad: false,
|
|
97
111
|
securityLevel: 'strict',
|
|
98
112
|
// Render labels as SVG <text> rather than HTML inside <foreignObject>.
|
|
@@ -114,7 +128,19 @@ export function mdzipMermaidExtension(options = {}) {
|
|
|
114
128
|
const source = code.textContent ?? '';
|
|
115
129
|
const container = doc.createElement('div');
|
|
116
130
|
try {
|
|
117
|
-
|
|
131
|
+
// Queued behind any other in-flight render; a render whose preview
|
|
132
|
+
// generation was superseded while waiting is skipped, not run.
|
|
133
|
+
const rendered = await runMermaidSerially(async () => {
|
|
134
|
+
if (context.signal.aborted) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
configure();
|
|
138
|
+
return withBodyCleanup(doc, () => mermaid.render(`mdzip-mermaid-${(counter += 1)}`, source));
|
|
139
|
+
});
|
|
140
|
+
if (!rendered) {
|
|
141
|
+
return template.innerHTML;
|
|
142
|
+
}
|
|
143
|
+
const { svg } = rendered;
|
|
118
144
|
container.className = 'mdzip-mermaid';
|
|
119
145
|
container.innerHTML = sanitizeMdzipHtml(svg, [MERMAID_SANITIZE]);
|
|
120
146
|
}
|
package/dist/mermaid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"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"}
|