docxodus 12.4.1 → 12.6.0
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/README.md +83 -4
- package/dist/core.d.ts +17 -24
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +44 -221
- package/dist/core.js.map +1 -1
- package/dist/docxodus.worker.js +303 -7
- package/dist/docxodus.worker.js.map +1 -1
- package/dist/editor-reconcile.d.ts +5 -0
- package/dist/editor-reconcile.d.ts.map +1 -1
- package/dist/editor-reconcile.js.map +1 -1
- package/dist/editor.bundle.js +157 -15
- package/dist/editor.d.ts +44 -0
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +209 -22
- package/dist/editor.js.map +1 -1
- package/dist/embed.bundle.js +589 -218
- package/dist/embed.d.ts +1 -1
- package/dist/embed.iife.js +589 -218
- package/dist/embed.js +1 -1
- package/dist/export-assets.json +29 -29
- package/dist/export-browser.bundle.js +109 -4
- package/dist/external-annotation-wire.d.ts +19 -0
- package/dist/external-annotation-wire.d.ts.map +1 -0
- package/dist/external-annotation-wire.js +139 -0
- package/dist/external-annotation-wire.js.map +1 -0
- package/dist/session.bundle.js +276 -8
- package/dist/session.d.ts +66 -13
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +245 -8
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +389 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/verification-request.d.ts +9 -0
- package/dist/verification-request.d.ts.map +1 -0
- package/dist/verification-request.js +37 -0
- package/dist/verification-request.js.map +1 -0
- package/dist/wasm/_framework/DocumentFormat.OpenXml.Framework.wasm +0 -0
- package/dist/wasm/_framework/DocumentFormat.OpenXml.Framework.wasm.br +0 -0
- package/dist/wasm/_framework/DocumentFormat.OpenXml.wasm +0 -0
- package/dist/wasm/_framework/DocumentFormat.OpenXml.wasm.br +0 -0
- package/dist/wasm/_framework/Docxodus.wasm +0 -0
- package/dist/wasm/_framework/Docxodus.wasm.br +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm.br +0 -0
- package/dist/wasm/_framework/System.IO.Compression.wasm +0 -0
- package/dist/wasm/_framework/System.IO.Compression.wasm.br +0 -0
- package/dist/wasm/_framework/System.IO.Packaging.wasm +0 -0
- package/dist/wasm/_framework/System.IO.Packaging.wasm.br +0 -0
- package/dist/wasm/_framework/System.Linq.Expressions.wasm +0 -0
- package/dist/wasm/_framework/System.Linq.Expressions.wasm.br +0 -0
- package/dist/wasm/_framework/System.Memory.wasm +0 -0
- package/dist/wasm/_framework/System.Memory.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.CoreLib.wasm +0 -0
- package/dist/wasm/_framework/System.Private.CoreLib.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.Uri.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Uri.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.Xml.Linq.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Xml.Linq.wasm.br +0 -0
- package/dist/wasm/_framework/System.Private.Xml.wasm +0 -0
- package/dist/wasm/_framework/System.Private.Xml.wasm.br +0 -0
- package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm +0 -0
- package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm.br +0 -0
- package/dist/wasm/_framework/System.Security.Cryptography.wasm +0 -0
- package/dist/wasm/_framework/System.Security.Cryptography.wasm.br +0 -0
- package/dist/wasm/_framework/System.Text.Encodings.Web.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Encodings.Web.wasm.br +0 -0
- package/dist/wasm/_framework/System.Text.Json.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Json.wasm.br +0 -0
- package/dist/wasm/_framework/dotnet.boot.js +18 -18
- package/dist/wasm/_framework/dotnet.boot.js.br +0 -0
- package/dist/wasm/_framework/dotnet.native.wasm +0 -0
- package/dist/wasm/_framework/dotnet.native.wasm.br +0 -0
- package/dist/worker-proxy.bundle.js +109 -4
- package/dist/worker-proxy.d.ts +29 -3
- package/dist/worker-proxy.d.ts.map +1 -1
- package/dist/worker-proxy.js +62 -2
- package/dist/worker-proxy.js.map +1 -1
- package/package.json +3 -2
package/dist/editor.bundle.js
CHANGED
|
@@ -7523,6 +7523,16 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
7523
7523
|
`;
|
|
7524
7524
|
(doc.head ?? doc.documentElement).appendChild(style);
|
|
7525
7525
|
}
|
|
7526
|
+
var CHROME_CARRIER_ANCHOR = "chrome-carrier";
|
|
7527
|
+
function yieldToEventLoop() {
|
|
7528
|
+
return new Promise((resolve) => {
|
|
7529
|
+
const settle = () => {
|
|
7530
|
+
setTimeout(resolve, 0);
|
|
7531
|
+
};
|
|
7532
|
+
if (typeof requestAnimationFrame === "function") requestAnimationFrame(settle);
|
|
7533
|
+
else settle();
|
|
7534
|
+
});
|
|
7535
|
+
}
|
|
7526
7536
|
function trackedChangeWireName(mode) {
|
|
7527
7537
|
if (mode === 1 /* RenderInline */) return "render_inline";
|
|
7528
7538
|
if (mode === 2 /* StripDeletions */) return "strip_deletions";
|
|
@@ -8190,7 +8200,64 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
8190
8200
|
}
|
|
8191
8201
|
/** Open a document, render it into `container`, and wire up editing. */
|
|
8192
8202
|
static open(container, bytes, exports, options = {}) {
|
|
8193
|
-
const opts =
|
|
8203
|
+
const opts = _DocxEditor.resolveOptions(options);
|
|
8204
|
+
const editor = _DocxEditor.openSession(container, bytes, exports, opts);
|
|
8205
|
+
try {
|
|
8206
|
+
editor.refreshAnchorMap();
|
|
8207
|
+
if (opts.headerFooter) editor.createRegion();
|
|
8208
|
+
const fullHtml = editor.renderFullHtml(bytes);
|
|
8209
|
+
if (opts.paginated) editor.mountPaginated(fullHtml);
|
|
8210
|
+
else editor.mountHtml(fullHtml);
|
|
8211
|
+
editor.finishMount();
|
|
8212
|
+
return editor;
|
|
8213
|
+
} catch (error) {
|
|
8214
|
+
editor.close();
|
|
8215
|
+
throw error;
|
|
8216
|
+
}
|
|
8217
|
+
}
|
|
8218
|
+
/**
|
|
8219
|
+
* Open a document without holding the main thread for the whole mount (issue #776).
|
|
8220
|
+
*
|
|
8221
|
+
* {@link open} renders and wires the entire document in one synchronous task, which on a
|
|
8222
|
+
* long document is the largest single block of a reading-and-editing session. This variant
|
|
8223
|
+
* pays only the session open up front, then mounts the document in windows of body units,
|
|
8224
|
+
* yielding to the event loop between them: the chrome — stylesheet, section wrappers with
|
|
8225
|
+
* their page geometry, footnote and endnote sections — comes from one cheap engine render
|
|
8226
|
+
* that sees no body content, and each window from the engine's block renderer, which lays
|
|
8227
|
+
* units out exactly as the full render does (the plan's border-box grouping is never split).
|
|
8228
|
+
* The DOM that results is the one {@link open} produces; blocks already mounted are editable
|
|
8229
|
+
* while later windows are still landing, and edits made meanwhile are honoured because every
|
|
8230
|
+
* window renders from the live session.
|
|
8231
|
+
*
|
|
8232
|
+
* Paginated mounts assemble the windows off-screen and paginate once at the end, since
|
|
8233
|
+
* pagination is a one-shot flow over the whole document; the main thread is still free
|
|
8234
|
+
* between windows, and `onProgress` lets a host show the fill.
|
|
8235
|
+
*
|
|
8236
|
+
* A bundle that predates the windowed renders mounts synchronously, exactly like {@link open}.
|
|
8237
|
+
*/
|
|
8238
|
+
static async openAsync(container, bytes, exports, options = {}) {
|
|
8239
|
+
const bridge = exports.DocxSessionBridge;
|
|
8240
|
+
if (typeof bridge.RenderEditorChromeHtml !== "function" || typeof bridge.RenderEditorRangeHtml !== "function" || typeof bridge.ListRenderedBlocks !== "function") {
|
|
8241
|
+
return _DocxEditor.open(container, bytes, exports, options);
|
|
8242
|
+
}
|
|
8243
|
+
const opts = _DocxEditor.resolveOptions(options);
|
|
8244
|
+
const editor = _DocxEditor.openSession(container, bytes, exports, opts);
|
|
8245
|
+
try {
|
|
8246
|
+
editor.refreshAnchorMap();
|
|
8247
|
+
if (opts.headerFooter) editor.createRegion();
|
|
8248
|
+
await editor.mountWindowed(
|
|
8249
|
+
Math.max(1, Math.floor(options.windowSize ?? 24)),
|
|
8250
|
+
options.onProgress
|
|
8251
|
+
);
|
|
8252
|
+
editor.finishMount();
|
|
8253
|
+
return editor;
|
|
8254
|
+
} catch (error) {
|
|
8255
|
+
editor.close();
|
|
8256
|
+
throw error;
|
|
8257
|
+
}
|
|
8258
|
+
}
|
|
8259
|
+
static resolveOptions(options) {
|
|
8260
|
+
return {
|
|
8194
8261
|
cssPrefix: options.cssPrefix ?? "docx-",
|
|
8195
8262
|
fabricateClasses: options.fabricateClasses ?? false,
|
|
8196
8263
|
editable: options.editable ?? true,
|
|
@@ -8209,25 +8276,100 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
8209
8276
|
onStoryChange: options.onStoryChange,
|
|
8210
8277
|
onCommentsChange: options.onCommentsChange
|
|
8211
8278
|
};
|
|
8279
|
+
}
|
|
8280
|
+
static openSession(container, bytes, exports, opts) {
|
|
8212
8281
|
const handle = exports.DocxSessionBridge.OpenSession(bytes, JSON.stringify({
|
|
8213
8282
|
emitMarkdownPatch: false,
|
|
8214
8283
|
trackedChanges: trackedChangeWireName(opts.trackedChanges),
|
|
8215
8284
|
revisionAuthor: opts.revisionAuthor
|
|
8216
8285
|
}));
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
|
|
8230
|
-
|
|
8286
|
+
return new _DocxEditor(container, exports, handle, opts);
|
|
8287
|
+
}
|
|
8288
|
+
/** The steps every mount ends with once the body is in the DOM. */
|
|
8289
|
+
finishMount() {
|
|
8290
|
+
this.syncRegionToBody();
|
|
8291
|
+
this.setupBlockDrag();
|
|
8292
|
+
if (this.options.comments) this.createGutter();
|
|
8293
|
+
}
|
|
8294
|
+
/**
|
|
8295
|
+
* The windowed mount behind {@link openAsync}: chrome first, then body units in plan order,
|
|
8296
|
+
* a group-aligned window per task. See {@link openAsync} for the contract.
|
|
8297
|
+
*/
|
|
8298
|
+
async mountWindowed(windowSize, onProgress) {
|
|
8299
|
+
const bridge = this.exports.DocxSessionBridge;
|
|
8300
|
+
const profile = JSON.stringify({ ...JSON.parse(this.editorRenderProfile()), stampAnchors: true });
|
|
8301
|
+
const chrome = bridge.RenderEditorChromeHtml(this.handle, profile);
|
|
8302
|
+
if (chrome.trimStart().startsWith("{")) {
|
|
8303
|
+
throw new Error(JSON.parse(chrome).error ?? "chrome render failed");
|
|
8304
|
+
}
|
|
8305
|
+
const parsed = new DOMParser().parseFromString(chrome, "text/html");
|
|
8306
|
+
parsed.body.querySelectorAll(`[data-section-index] > [data-anchor="${CHROME_CARRIER_ANCHOR}"]`).forEach((el) => el.remove());
|
|
8307
|
+
const styles = Array.from(parsed.querySelectorAll("style")).map((s) => s.outerHTML).join("");
|
|
8308
|
+
const flow = document.createElement("div");
|
|
8309
|
+
flow.className = "docx-body-flow";
|
|
8310
|
+
flow.innerHTML = parsed.body.innerHTML;
|
|
8311
|
+
const hosts = /* @__PURE__ */ new Map();
|
|
8312
|
+
flow.querySelectorAll("[data-section-index]").forEach((el) => hosts.set(Number(el.getAttribute("data-section-index")), el));
|
|
8313
|
+
const attachNow = !this.options.paginated;
|
|
8314
|
+
const wireNow = attachNow && this.options.editable;
|
|
8315
|
+
if (wireNow) this.wireBlocks(flow);
|
|
8316
|
+
if (attachNow) {
|
|
8317
|
+
this.region?.detachPages();
|
|
8318
|
+
this.container.innerHTML = styles;
|
|
8319
|
+
this.readoptGutter();
|
|
8320
|
+
this.container.appendChild(flow);
|
|
8321
|
+
this.editRoot = flow;
|
|
8322
|
+
}
|
|
8323
|
+
const plan = JSON.parse(this.renderPlanJson());
|
|
8324
|
+
if (plan.error) throw new Error(plan.error);
|
|
8325
|
+
const units = plan.body;
|
|
8326
|
+
const sectionOf = new Map(units.map((u) => [unidOf(u.id), u.section ?? 0]));
|
|
8327
|
+
const mounted = /* @__PURE__ */ new Set();
|
|
8328
|
+
const place = (el, sameHostAs) => {
|
|
8329
|
+
el.removeAttribute("xmlns");
|
|
8330
|
+
const unit = el.hasAttribute("data-anchor") ? el : el.querySelector("[data-anchor]");
|
|
8331
|
+
const unid = unit?.getAttribute("data-anchor") ?? "";
|
|
8332
|
+
const host = sameHostAs ?? hosts.get(sectionOf.get(unid) ?? 0) ?? hosts.values().next().value ?? flow;
|
|
8333
|
+
host.insertBefore(el, host.querySelector(":scope > section.endnotes"));
|
|
8334
|
+
if (wireNow) {
|
|
8335
|
+
if (el.hasAttribute("data-anchor")) this.wireBlock(el);
|
|
8336
|
+
this.wireBlocks(el);
|
|
8337
|
+
}
|
|
8338
|
+
unit && mounted.add(unid);
|
|
8339
|
+
el.querySelectorAll("[data-anchor]").forEach((n) => mounted.add(n.getAttribute("data-anchor")));
|
|
8340
|
+
return host;
|
|
8341
|
+
};
|
|
8342
|
+
for (let start2 = 0; start2 < units.length; ) {
|
|
8343
|
+
let end = Math.min(start2 + windowSize, units.length);
|
|
8344
|
+
while (end < units.length && units[end].group !== void 0 && units[end].group === units[end - 1].group) end++;
|
|
8345
|
+
const window2 = units.slice(start2, end);
|
|
8346
|
+
const rendered = JSON.parse(bridge.RenderEditorRangeHtml(
|
|
8347
|
+
this.handle,
|
|
8348
|
+
JSON.stringify(window2.map((u) => u.id)),
|
|
8349
|
+
profile
|
|
8350
|
+
));
|
|
8351
|
+
if (!Array.isArray(rendered)) throw new Error(rendered.error ?? "window render failed");
|
|
8352
|
+
for (const html of rendered) {
|
|
8353
|
+
let host;
|
|
8354
|
+
for (const el of Array.from(new DOMParser().parseFromString(html, "text/html").body.children)) {
|
|
8355
|
+
host = place(el, host);
|
|
8356
|
+
}
|
|
8357
|
+
}
|
|
8358
|
+
for (const unit of window2) {
|
|
8359
|
+
if (mounted.has(unidOf(unit.id))) continue;
|
|
8360
|
+
const el = this.renderInto(unit.id);
|
|
8361
|
+
if (el) place(el);
|
|
8362
|
+
}
|
|
8363
|
+
start2 = end;
|
|
8364
|
+
onProgress?.(start2, units.length);
|
|
8365
|
+
if (start2 < units.length) await yieldToEventLoop();
|
|
8366
|
+
}
|
|
8367
|
+
if (attachNow) {
|
|
8368
|
+
this.stampPlanState();
|
|
8369
|
+
if (this.region) this.dockBands(flow);
|
|
8370
|
+
this.viewport.attach(flow, true);
|
|
8371
|
+
} else {
|
|
8372
|
+
this.mountPaginated(parsed.head.innerHTML + flow.innerHTML);
|
|
8231
8373
|
}
|
|
8232
8374
|
}
|
|
8233
8375
|
/**
|
package/dist/editor.d.ts
CHANGED
|
@@ -84,6 +84,8 @@ export interface DocxEditorExports {
|
|
|
84
84
|
RenderEditorHtml?: (handle: number, optionsJson: string) => string;
|
|
85
85
|
RenderEditorBlockHtml?: (handle: number, anchorId: string, optionsJson: string) => string;
|
|
86
86
|
RenderEditorBlocksHtml?: (handle: number, anchorIdsJson: string, optionsJson: string) => string;
|
|
87
|
+
RenderEditorChromeHtml?: (handle: number, optionsJson: string) => string;
|
|
88
|
+
RenderEditorRangeHtml?: (handle: number, anchorIdsJson: string, optionsJson: string) => string;
|
|
87
89
|
/** Review-mode controls (optional). */
|
|
88
90
|
SetTrackedChanges?: (handle: number, mode: number) => void;
|
|
89
91
|
SetRevisionAuthor?: (handle: number, author: string) => void;
|
|
@@ -191,6 +193,18 @@ export interface DocxEditorOptions {
|
|
|
191
193
|
active: string | null;
|
|
192
194
|
}) => void;
|
|
193
195
|
}
|
|
196
|
+
/** Options for {@link DocxEditor.openAsync}: the mount's window size and a progress callback. */
|
|
197
|
+
export interface DocxEditorOpenAsyncOptions extends DocxEditorOptions {
|
|
198
|
+
/**
|
|
199
|
+
* Body units (top-level paragraphs and tables) mounted per task before yielding to the event
|
|
200
|
+
* loop. Default 24 — on the reference 17-page document that is a ~50 ms task. A window is
|
|
201
|
+
* extended past the size so it never ends inside a border box the renderer groups adjacent
|
|
202
|
+
* paragraphs into.
|
|
203
|
+
*/
|
|
204
|
+
windowSize?: number;
|
|
205
|
+
/** Called after each window lands with the count of body units mounted so far. */
|
|
206
|
+
onProgress?: (mounted: number, total: number) => void;
|
|
207
|
+
}
|
|
194
208
|
/**
|
|
195
209
|
* Word's Page Setup, as {@link DocxEditor.setPageSetup} takes it — the session's own
|
|
196
210
|
* {@link PageSetupOp} (all twips; omit = unchanged), so the two cannot drift.
|
|
@@ -335,6 +349,36 @@ export declare class DocxEditor {
|
|
|
335
349
|
private refreshAfter;
|
|
336
350
|
/** Open a document, render it into `container`, and wire up editing. */
|
|
337
351
|
static open(container: HTMLElement, bytes: Uint8Array, exports: DocxEditorExports, options?: DocxEditorOptions): DocxEditor;
|
|
352
|
+
/**
|
|
353
|
+
* Open a document without holding the main thread for the whole mount (issue #776).
|
|
354
|
+
*
|
|
355
|
+
* {@link open} renders and wires the entire document in one synchronous task, which on a
|
|
356
|
+
* long document is the largest single block of a reading-and-editing session. This variant
|
|
357
|
+
* pays only the session open up front, then mounts the document in windows of body units,
|
|
358
|
+
* yielding to the event loop between them: the chrome — stylesheet, section wrappers with
|
|
359
|
+
* their page geometry, footnote and endnote sections — comes from one cheap engine render
|
|
360
|
+
* that sees no body content, and each window from the engine's block renderer, which lays
|
|
361
|
+
* units out exactly as the full render does (the plan's border-box grouping is never split).
|
|
362
|
+
* The DOM that results is the one {@link open} produces; blocks already mounted are editable
|
|
363
|
+
* while later windows are still landing, and edits made meanwhile are honoured because every
|
|
364
|
+
* window renders from the live session.
|
|
365
|
+
*
|
|
366
|
+
* Paginated mounts assemble the windows off-screen and paginate once at the end, since
|
|
367
|
+
* pagination is a one-shot flow over the whole document; the main thread is still free
|
|
368
|
+
* between windows, and `onProgress` lets a host show the fill.
|
|
369
|
+
*
|
|
370
|
+
* A bundle that predates the windowed renders mounts synchronously, exactly like {@link open}.
|
|
371
|
+
*/
|
|
372
|
+
static openAsync(container: HTMLElement, bytes: Uint8Array, exports: DocxEditorExports, options?: DocxEditorOpenAsyncOptions): Promise<DocxEditor>;
|
|
373
|
+
private static resolveOptions;
|
|
374
|
+
private static openSession;
|
|
375
|
+
/** The steps every mount ends with once the body is in the DOM. */
|
|
376
|
+
private finishMount;
|
|
377
|
+
/**
|
|
378
|
+
* The windowed mount behind {@link openAsync}: chrome first, then body units in plan order,
|
|
379
|
+
* a group-aligned window per task. See {@link openAsync} for the contract.
|
|
380
|
+
*/
|
|
381
|
+
private mountWindowed;
|
|
338
382
|
/**
|
|
339
383
|
* Open a fresh, blank document (a "New document" — single empty paragraph, Normal style,
|
|
340
384
|
* US-Letter section) and wire up editing. The seed bytes come from the WASM bridge so the
|
package/dist/editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAY1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAKpB,4FAA4F;AAC5F,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE;QACjB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QACxC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;QACjE,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,eAAe,EAAE,MAAM,UAAU,CAAC;QAClC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QACpC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;QACpE,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC;QACZ,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC3E,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC3E,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QACxD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;QAChG;sGAC8F;QAC9F,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;QACpE,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;QAChG,WAAW,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC;QACZ,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;QAC5E,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/D,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;QAClE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC1F,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/E,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/E,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;QAC1E,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;QACxE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC9D,eAAe,EAAE,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,OAAO,KACtB,MAAM,CAAC;QACZ,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,OAAO,EACzB,oBAAoB,EAAE,OAAO,KAC1B,MAAM,CAAC;QACZ,oFAAoF;QACpF,UAAU,CAAC,EAAE,CACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,KACV,MAAM,CAAC;QACZ,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,EACb,oBAAoB,EAAE,OAAO,KAC1B,MAAM,CAAC;QACZ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;QACrC;2EACmE;QACnE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;QACnD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAClC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAClC,wFAAwF;QACxF,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;QAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;QAC1F,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;QAC1F,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QACjG,yBAAyB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;QACpF,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC7E,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/D,gEAAgE;QAChE,cAAc,CAAC,EAAE,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC;QACZ,aAAa,CAAC,EAAE,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC;QACZ,sFAAsF;QACtF,UAAU,CAAC,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC;QACZ,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;QAC1F,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC1C,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC;QACZ,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;QACpF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;QAClE;iGACyF;QACzF,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;QACnE,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;QAC1F,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;QAChG,uCAAuC;QACvC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC3D,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;QAChE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;QAChE,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAChD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAChD,4CAA4C;QAC5C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC5D,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,KACX,MAAM,CAAC;QACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;QAClE,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC;QACZ,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;QACrG,sDAAsD;QACtD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/G,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;QAC9D,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;QACnF,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;QAC7F,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;QACrF,6DAA6D;QAC7D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QAC1E,0BAA0B,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;QACxG,gCAAgC;QAChC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QACxC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;QAC7D,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;QAClH;uFAC+E;QAC/E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QACxC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,KAAK,MAAM,CAAC;QAC/E,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;QAC1D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;QACzC,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,OAAO,KACtB,MAAM,CAAC;QACZ,yBAAyB,CAAC,EAAE,CAC1B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,OAAO,EACzB,oBAAoB,EAAE,OAAO,KAC1B,MAAM,CAAC;KACb,CAAC;IACF,iBAAiB,EAAE;QACjB,yBAAyB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC;KACvD,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kGAAkG;IAClG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D,4CAA4C;IAC5C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjF,gGAAgG;IAChG,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7F;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC;AAE1C,4FAA4F;AAC5F,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AA8MD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CA2BlE;AA0ZD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC;AAE1G,6DAA6D;AAC7D,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAuKtE,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAG8D;IACtF,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAc;IAC9B,wFAAwF;IACxF,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,MAAM,CAAS;IACvB;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAAS;IAE1B,yFAAyF;IACzF,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,eAAe,CAA4B;IACnD;;gGAE4F;IAC5F,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,iGAAiG;IACjG,OAAO,CAAC,SAAS,CAAuB;IACxC,+FAA+F;IAC/F,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,oBAAoB,CAAS;IACrC;mGAC+F;IAC/F,OAAO,CAAC,gBAAgB,CAAiE;IACzF;;oEAEgE;IAChE,OAAO,CAAC,oBAAoB,CAA8E;IAC1G,gGAAgG;IAChG,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,oGAAoG;IACpG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAA0E;IAE/F;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAA4C;IAE3E,4FAA4F;IAC5F,OAAO,CAAC,aAAa,CAAwC;IAE7D,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAmC;IAEjD,yDAAyD;IACzD,OAAO,CAAC,MAAM,CAA8B;IAE5C,+FAA+F;IAC/F,OAAO,CAAC,WAAW,CAA0B;IAE7C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C;yDACqD;IACrD,OAAO,CAAC,qBAAqB,CAAuB;IAEpD,OAAO;IAwBP,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAoChC;IAEF,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAe1B;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAe1B,+DAA+D;IAC/D,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAe1B;IAEF,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAYxB;IAEF;;uGAEmG;IACnG,OAAO,CAAC,eAAe;IAOvB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB,6EAA6E;IAC7E,OAAO,CAAC,WAAW;IAInB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAUpB,wEAAwE;IACxE,MAAM,CAAC,IAAI,CACT,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,iBAAsB,GAC9B,UAAU;IAmDb;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,iBAAsB,GAC9B,UAAU;IAIb,gDAAgD;IAChD,IAAI,IAAI,UAAU;IAKlB,iFAAiF;IACjF,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAI3B;IAED,6EAA6E;IAC7E,KAAK,IAAI,IAAI;IAmBb;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAOlC,uDAAuD;IACvD,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAc5C;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;;;;OAQG;IACH,OAAO,IAAI,IAAI;IAKf,2FAA2F;IAC3F,SAAS,CACP,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAC3B,OAAO;IAuDV,2FAA2F;IAC3F,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAW9B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,mBAAmB;IAK3B,8FAA8F;IAC9F,OAAO,CAAC,kBAAkB;IAgB1B;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAQzB,4EAA4E;IAC5E,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,eAAe;IAKvB,iGAAiG;IACjG,OAAO,CAAC,aAAa;IAIrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IAkBzB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,sBAAsB;IAW9B,yFAAyF;IACzF,OAAO,CAAC,eAAe;IAUvB,+FAA+F;IAC/F,OAAO,CAAC,cAAc;IAmMtB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,UAAU;IAIlB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAOlB,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IAoBpB,wFAAwF;IACxF,OAAO,CAAC,YAAY;IAkBpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAOjB;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAmBjB,4FAA4F;IAC5F,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IA+CjB;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW;IAcnB,iGAAiG;IACjG,OAAO,CAAC,WAAW;IA4DnB,OAAO,CAAC,SAAS;IAyDjB,sFAAsF;IACtF,OAAO,CAAC,aAAa;IAUrB,sFAAsF;IACtF,OAAO,CAAC,cAAc;IAMtB;;+EAE2E;IAC3E,OAAO,CAAC,iBAAiB;IAuBzB;;;;2CAIuC;IACvC,OAAO,CAAC,sBAAsB;IAM9B,+DAA+D;IAC/D,OAAO,CAAC,YAAY;IAqDpB,wEAAwE;IACxE,OAAO,CAAC,iBAAiB;IAkDzB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAsDxB,2FAA2F;IAC3F,OAAO,CAAC,SAAS;IAOjB,qFAAqF;IACrF,OAAO,CAAC,UAAU;IAMlB,OAAO,KAAK,oBAAoB,GAE/B;IAED,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAOtB;6FACyF;IACzF,OAAO,CAAC,gBAAgB;IAgBxB;;;;6CAIyC;IACzC,OAAO,CAAC,SAAS;IAwBjB,+EAA+E;IAC/E,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,SAAS;IAajB;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAQlC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAelC;;;8EAG0E;IAC1E,OAAO,CAAC,cAAc;IA4BtB;;mFAE+E;IAC/E,OAAO,CAAC,qBAAqB;IAqB7B;;;8FAG0F;IAC1F,OAAO,CAAC,yBAAyB;IAejC;;;6EAGyE;IACzE,OAAO,CAAC,4BAA4B;IAiBpC;8FAC0F;IAC1F,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA2C1B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAwC7C;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IA6B9B;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA2BjC,+EAA+E;IAC/E,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAI9C;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,SAAK,EAAE,KAAK,SAAW,EAAE,QAAQ,GAAE,OAAO,GAAG,OAAiB,GAAG,IAAI;IAwBhG;;;;OAIG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,aAAa,CAAC,EAAE,eAAe,CAAC;QAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,GACA,IAAI;IA8BP,uFAAuF;IACvF,OAAO,CAAC,SAAS;IAgBjB,6EAA6E;IAC7E,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI;IAM9C,qFAAqF;IACrF,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAMhD,qGAAqG;IACrG,cAAc,IAAI,IAAI;IAItB,2GAA2G;IAC3G,iBAAiB,IAAI,IAAI;IAIzB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,SAAM,GAAG,IAAI;IAQ9B,wFAAwF;IACxF,OAAO,CAAC,YAAY;IAgBpB,6DAA6D;IAC7D,eAAe,CAAC,KAAK,UAAO,GAAG,IAAI;IAInC;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IA2B5C;;mGAE+F;IAC/F,qBAAqB,IAAI,IAAI;IAI7B;;;;;;OAMG;IACH,WAAW,IAAI,IAAI;IAenB;;;;;;;;;OASG;IACH,cAAc,CAAC,QAAQ,SAAkB,GAAG,IAAI;IAIhD,gGAAgG;IAChG,aAAa,CAAC,QAAQ,SAAiB,GAAG,IAAI;IAI9C,OAAO,CAAC,UAAU;IAqBlB;;;;;;;OAOG;IACH,UAAU,CACR,QAAQ,SAAiB,EACzB,MAAM,SAA6B,EACnC,MAAM,CAAC,EAAE,aAAa,GACrB,gBAAgB,GAAG,IAAI;IAqC1B,2FAA2F;IAC3F,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAA6B,GAAG,OAAO;IAavG,gEAAgE;IAChE,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAOjE,yEAAyE;IACzE,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;IAU/C,+FAA+F;IAC/F,aAAa,IAAI,aAAa,GAAG,IAAI;IASrC,yFAAyF;IACzF,OAAO,CAAC,aAAa;IAOrB,+EAA+E;IAC/E,YAAY,IAAI,OAAO;IAIvB,aAAa,IAAI,IAAI;IAIrB,gFAAgF;IAChF,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIxC,sEAAsE;IACtE,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,GAAG,IAAI;IAIvD,mDAAmD;IACnD,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,0EAA0E;IAC1E,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,+CAA+C;IAC/C,cAAc,IAAI,IAAI;IAItB;sFACkF;IAClF,YAAY,IAAI,gBAAgB,EAAE;IAWlC;;gFAE4E;IAC5E,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAOvE,OAAO,CAAC,oBAAoB;IAyC5B;mDAC+C;IAC/C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAuBxC,gFAAgF;IAChF,IAAI,IAAI,IAAI;IAOZ,uFAAuF;IACvF,IAAI,IAAI,IAAI;IASZ;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAKnE,kFAAkF;IAClF,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI;IAI3D;;;OAGG;IACH,gBAAgB,CAAC,KAAK,GAAE,aAAa,GAAG,YAAY,GAAG,aAA6B,GAAG,IAAI;IAiB3F;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAKrE;2DACuD;IACvD,kBAAkB,IAAI,IAAI;IAK1B;kFAC8E;IAC9E,aAAa,IAAI;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE;IAM1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAwBzB,2FAA2F;IAC3F,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI/B,yFAAyF;IACzF,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAI7B,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAI/B,sFAAsF;IACtF,eAAe,IAAI,IAAI;IAQvB,+EAA+E;IAC/E,eAAe,IAAI,MAAM,GAAG,IAAI;IAahC,2FAA2F;IAC3F,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQnC,mGAAmG;IACnG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAItC,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQtE,yEAAyE;IACzE,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,yEAAyE;IACzE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAwBrC,uGAAuG;IACvG,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAalC,uFAAuF;IACvF,mBAAmB,IAAI,oBAAoB,GAAG,IAAI;IAgBlD,sFAAsF;IACtF,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAU,GAAG,UAAuB,GAAG,OAAO;IAqBpF,qEAAqE;IACrE,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAwBxC,2DAA2D;IAC3D,eAAe,IAAI,OAAO;IAY1B,mFAAmF;IACnF,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO;IAoB3E,2DAA2D;IACrD,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAUrF,6EAA6E;IAC7E,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO;IAmBpE,kFAAkF;IAClF,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMlD,oDAAoD;IACpD,YAAY,IAAI,IAAI;IAMpB,mFAAmF;IACnF,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAM5C,oFAAoF;IACpF,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAgB,GAAG,IAAI;IAMvF,6EAA6E;IAC7E,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAMzC,8CAA8C;IAC9C,WAAW,IAAI,IAAI;IAcnB,8CAA8C;IAC9C,IAAI,cAAc,IAAI,iBAAiB,CAEtC;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAUhD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMvC,2EAA2E;IAC3E,aAAa,IAAI,iBAAiB,EAAE;IAWpC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI3C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI3C,kBAAkB,IAAI,OAAO;IAI7B,kBAAkB,IAAI,OAAO;IAI7B,OAAO,CAAC,eAAe;IAwBvB,mFAAmF;IACnF,gBAAgB,IAAI,WAAW,EAAE;IASjC,+FAA+F;IAC/F,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,iBAAiB,GAAG,IAAI;IAerD,6EAA6E;IAC7E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,WAAW,EAAE;IAqBzE;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAQrC;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IA6BlE,yFAAyF;IACzF,gBAAgB,IAAI,IAAI;IAQxB;;;;OAIG;IACH,YAAY,CACV,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAChC,OAAO;IAqBV,gEAAgE;IAChE,UAAU,CACR,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GACrD,MAAM;IA8BT,yFAAyF;IACzF,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5B,4FAA4F;IAC5F,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,gDAAgD;IAChD,SAAS,IAAI,MAAM;IAanB,yFAAyF;IACzF,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAWlD,wEAAwE;IACxE,WAAW,IAAI,WAAW,GAAG,IAAI;IAejC,sFAAsF;IACtF,YAAY,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO;IAe1C,uFAAuF;IACvF,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAK7E,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO;IAIxD,6FAA6F;IAC7F,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIhD,oFAAoF;IACpF,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAK3C,kEAAkE;IAClE,iBAAiB,IAAI,IAAI;IAWzB,wDAAwD;IACxD,IAAI,eAAe,IAAI,SAAS,GAAG,IAAI,CAEtC;IAID,uFAAuF;IACvF,MAAM,IAAI,SAAS,EAAE;IAWrB,wEAAwE;IACxE,YAAY,IAAI,MAAM,GAAG,IAAI;IAK7B,2FAA2F;IAC3F,gBAAgB,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;IAa9C,yFAAyF;IACzF,OAAO,CAAC,SAAS;IAwBjB;;;;;;OAMG;IACH,kFAAkF;IAClF,OAAO,CAAC,mBAAmB;IAW3B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA0DtB;;qGAEiG;IACjG,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,UAAU;IAMlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAanB,oFAAoF;IACpF,OAAO,CAAC,YAAY;IAUpB;;0BAEsB;IACtB,OAAO,CAAC,aAAa;IASrB,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,UAAU;IAMzB;0BACsB;IACtB,OAAO,CAAC,MAAM,CAAC,SAAS;IAKxB,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA2BjB,uEAAuE;IACvE,OAAO,CAAC,aAAa;IAwFrB,OAAO,CAAC,IAAI;IAKZ;;iFAE6E;IAC7E,OAAO,CAAC,aAAa;IAerB;uFACmF;IACnF,OAAO,CAAC,MAAM,CAAC,UAAU;IAMzB;;4EAEwE;IACxE,OAAO,CAAC,aAAa;IA+HrB;;kDAE8C;IAC9C,OAAO,CAAC,QAAQ;IAOhB;uFACmF;IACnF,OAAO,CAAC,SAAS;IAoBjB,uFAAuF;IACvF,OAAO,CAAC,cAAc;IA0CtB;;wEAEoE;IACpE,OAAO,CAAC,WAAW;IAwBnB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;2EACuE;IACvE,OAAO,CAAC,kBAAkB;IAK1B;;iEAE6D;IAC7D,OAAO,CAAC,cAAc;IA+BtB;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAsBf,6FAA6F;IAC7F,OAAO,CAAC,aAAa;CAGtB"}
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"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"}
|
package/dist/editor.js
CHANGED
|
@@ -97,6 +97,30 @@ function ensureBlockDragStyles(doc) {
|
|
|
97
97
|
`;
|
|
98
98
|
(doc.head ?? doc.documentElement).appendChild(style);
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Let the event loop run — input, rendering, and any other task — before the next window
|
|
102
|
+
* of a mount. `scheduler.yield` where the browser has it (it keeps the continuation ahead of
|
|
103
|
+
* other tasks), otherwise a frame followed by a macrotask.
|
|
104
|
+
*/
|
|
105
|
+
/**
|
|
106
|
+
* Give the page a turn between mount windows: a frame, so a paint and any input handling
|
|
107
|
+
* happen, then a macrotask, so the host's own timers run too. `scheduler.yield()` is not used
|
|
108
|
+
* on purpose — its continuation is scheduled ahead of timer tasks, so a progress spinner or a
|
|
109
|
+
* poll the host drives with `setInterval` would not tick until the whole mount was done.
|
|
110
|
+
*/
|
|
111
|
+
/** The anchor of the empty paragraphs a chrome render leaves where body content was
|
|
112
|
+
* (`HtmlConversionOps.ChromeCarrierAnchor`); a windowed mount removes them before it fills
|
|
113
|
+
* the sections. */
|
|
114
|
+
const CHROME_CARRIER_ANCHOR = "chrome-carrier";
|
|
115
|
+
function yieldToEventLoop() {
|
|
116
|
+
return new Promise((resolve) => {
|
|
117
|
+
const settle = () => { setTimeout(resolve, 0); };
|
|
118
|
+
if (typeof requestAnimationFrame === "function")
|
|
119
|
+
requestAnimationFrame(settle);
|
|
120
|
+
else
|
|
121
|
+
settle();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
100
124
|
function trackedChangeWireName(mode) {
|
|
101
125
|
if (mode === TrackedChangeMode.RenderInline)
|
|
102
126
|
return "render_inline";
|
|
@@ -1007,7 +1031,72 @@ export class DocxEditor {
|
|
|
1007
1031
|
}
|
|
1008
1032
|
/** Open a document, render it into `container`, and wire up editing. */
|
|
1009
1033
|
static open(container, bytes, exports, options = {}) {
|
|
1010
|
-
const opts =
|
|
1034
|
+
const opts = DocxEditor.resolveOptions(options);
|
|
1035
|
+
const editor = DocxEditor.openSession(container, bytes, exports, opts);
|
|
1036
|
+
try {
|
|
1037
|
+
editor.refreshAnchorMap();
|
|
1038
|
+
if (opts.headerFooter)
|
|
1039
|
+
editor.createRegion();
|
|
1040
|
+
// First paint goes through the session-attached editor render when the bundle has it, so
|
|
1041
|
+
// the comment markup (and everything else in the profile) is exactly what a remount will
|
|
1042
|
+
// produce; older bundles take the bytes path with the same profile.
|
|
1043
|
+
const fullHtml = editor.renderFullHtml(bytes);
|
|
1044
|
+
if (opts.paginated)
|
|
1045
|
+
editor.mountPaginated(fullHtml);
|
|
1046
|
+
else
|
|
1047
|
+
editor.mountHtml(fullHtml);
|
|
1048
|
+
editor.finishMount();
|
|
1049
|
+
return editor;
|
|
1050
|
+
}
|
|
1051
|
+
catch (error) {
|
|
1052
|
+
editor.close();
|
|
1053
|
+
throw error;
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
/**
|
|
1057
|
+
* Open a document without holding the main thread for the whole mount (issue #776).
|
|
1058
|
+
*
|
|
1059
|
+
* {@link open} renders and wires the entire document in one synchronous task, which on a
|
|
1060
|
+
* long document is the largest single block of a reading-and-editing session. This variant
|
|
1061
|
+
* pays only the session open up front, then mounts the document in windows of body units,
|
|
1062
|
+
* yielding to the event loop between them: the chrome — stylesheet, section wrappers with
|
|
1063
|
+
* their page geometry, footnote and endnote sections — comes from one cheap engine render
|
|
1064
|
+
* that sees no body content, and each window from the engine's block renderer, which lays
|
|
1065
|
+
* units out exactly as the full render does (the plan's border-box grouping is never split).
|
|
1066
|
+
* The DOM that results is the one {@link open} produces; blocks already mounted are editable
|
|
1067
|
+
* while later windows are still landing, and edits made meanwhile are honoured because every
|
|
1068
|
+
* window renders from the live session.
|
|
1069
|
+
*
|
|
1070
|
+
* Paginated mounts assemble the windows off-screen and paginate once at the end, since
|
|
1071
|
+
* pagination is a one-shot flow over the whole document; the main thread is still free
|
|
1072
|
+
* between windows, and `onProgress` lets a host show the fill.
|
|
1073
|
+
*
|
|
1074
|
+
* A bundle that predates the windowed renders mounts synchronously, exactly like {@link open}.
|
|
1075
|
+
*/
|
|
1076
|
+
static async openAsync(container, bytes, exports, options = {}) {
|
|
1077
|
+
const bridge = exports.DocxSessionBridge;
|
|
1078
|
+
if (typeof bridge.RenderEditorChromeHtml !== "function"
|
|
1079
|
+
|| typeof bridge.RenderEditorRangeHtml !== "function"
|
|
1080
|
+
|| typeof bridge.ListRenderedBlocks !== "function") {
|
|
1081
|
+
return DocxEditor.open(container, bytes, exports, options);
|
|
1082
|
+
}
|
|
1083
|
+
const opts = DocxEditor.resolveOptions(options);
|
|
1084
|
+
const editor = DocxEditor.openSession(container, bytes, exports, opts);
|
|
1085
|
+
try {
|
|
1086
|
+
editor.refreshAnchorMap();
|
|
1087
|
+
if (opts.headerFooter)
|
|
1088
|
+
editor.createRegion();
|
|
1089
|
+
await editor.mountWindowed(Math.max(1, Math.floor(options.windowSize ?? 24)), options.onProgress);
|
|
1090
|
+
editor.finishMount();
|
|
1091
|
+
return editor;
|
|
1092
|
+
}
|
|
1093
|
+
catch (error) {
|
|
1094
|
+
editor.close();
|
|
1095
|
+
throw error;
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1098
|
+
static resolveOptions(options) {
|
|
1099
|
+
return {
|
|
1011
1100
|
cssPrefix: options.cssPrefix ?? "docx-",
|
|
1012
1101
|
fabricateClasses: options.fabricateClasses ?? false,
|
|
1013
1102
|
editable: options.editable ?? true,
|
|
@@ -1026,6 +1115,8 @@ export class DocxEditor {
|
|
|
1026
1115
|
onStoryChange: options.onStoryChange,
|
|
1027
1116
|
onCommentsChange: options.onCommentsChange,
|
|
1028
1117
|
};
|
|
1118
|
+
}
|
|
1119
|
+
static openSession(container, bytes, exports, opts) {
|
|
1029
1120
|
// NOT persistAnchorIds: that setting applies to every Save on the session, so it put the
|
|
1030
1121
|
// projector's Unid bookkeeping into the bytes the USER downloads — ~6x the file size for
|
|
1031
1122
|
// attributes no renderer reads. Only the remount's re-render needs id stability across a
|
|
@@ -1037,28 +1128,124 @@ export class DocxEditor {
|
|
|
1037
1128
|
trackedChanges: trackedChangeWireName(opts.trackedChanges),
|
|
1038
1129
|
revisionAuthor: opts.revisionAuthor,
|
|
1039
1130
|
}));
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1131
|
+
return new DocxEditor(container, exports, handle, opts);
|
|
1132
|
+
}
|
|
1133
|
+
/** The steps every mount ends with once the body is in the DOM. */
|
|
1134
|
+
finishMount() {
|
|
1135
|
+
this.syncRegionToBody();
|
|
1136
|
+
this.setupBlockDrag();
|
|
1137
|
+
if (this.options.comments)
|
|
1138
|
+
this.createGutter();
|
|
1139
|
+
}
|
|
1140
|
+
/**
|
|
1141
|
+
* The windowed mount behind {@link openAsync}: chrome first, then body units in plan order,
|
|
1142
|
+
* a group-aligned window per task. See {@link openAsync} for the contract.
|
|
1143
|
+
*/
|
|
1144
|
+
async mountWindowed(windowSize, onProgress) {
|
|
1145
|
+
const bridge = this.exports.DocxSessionBridge;
|
|
1146
|
+
// The full render stamps source anchor ids on every unit; the windows must too, or the DOM
|
|
1147
|
+
// would differ from open()'s by exactly that attribute.
|
|
1148
|
+
const profile = JSON.stringify({ ...JSON.parse(this.editorRenderProfile()), stampAnchors: true });
|
|
1149
|
+
const chrome = bridge.RenderEditorChromeHtml(this.handle, profile);
|
|
1150
|
+
if (chrome.trimStart().startsWith("{")) {
|
|
1151
|
+
throw new Error(JSON.parse(chrome).error ?? "chrome render failed");
|
|
1152
|
+
}
|
|
1153
|
+
const parsed = new DOMParser().parseFromString(chrome, "text/html");
|
|
1154
|
+
// The chrome renders an empty carrier paragraph where each section break and note reference
|
|
1155
|
+
// was; those are not units and go before anything lands. Everything else inside a section
|
|
1156
|
+
// wrapper is chrome that stays — page view puts the endnotes section in the last one.
|
|
1157
|
+
parsed.body.querySelectorAll(`[data-section-index] > [data-anchor="${CHROME_CARRIER_ANCHOR}"]`)
|
|
1158
|
+
.forEach((el) => el.remove());
|
|
1159
|
+
const styles = Array.from(parsed.querySelectorAll("style")).map((s) => s.outerHTML).join("");
|
|
1160
|
+
const flow = document.createElement("div");
|
|
1161
|
+
flow.className = "docx-body-flow";
|
|
1162
|
+
flow.innerHTML = parsed.body.innerHTML;
|
|
1163
|
+
const hosts = new Map();
|
|
1164
|
+
flow.querySelectorAll("[data-section-index]").forEach((el) => hosts.set(Number(el.getAttribute("data-section-index")), el));
|
|
1165
|
+
const attachNow = !this.options.paginated;
|
|
1166
|
+
// A flow mount wires blocks as they land — the chrome's own (footnote and endnote
|
|
1167
|
+
// paragraphs) now, each window's as it arrives — the way open() wires everything under
|
|
1168
|
+
// the flow. A paginated mount hands the paginator unwired HTML and wires the page clones
|
|
1169
|
+
// afterwards, exactly as open() does; wiring first would leave the paginator's
|
|
1170
|
+
// contenteditable="false" stamp on every band paragraph.
|
|
1171
|
+
const wireNow = attachNow && this.options.editable;
|
|
1172
|
+
if (wireNow)
|
|
1173
|
+
this.wireBlocks(flow);
|
|
1174
|
+
if (attachNow) {
|
|
1175
|
+
this.region?.detachPages();
|
|
1176
|
+
this.container.innerHTML = styles;
|
|
1177
|
+
this.readoptGutter();
|
|
1178
|
+
this.container.appendChild(flow);
|
|
1179
|
+
this.editRoot = flow;
|
|
1058
1180
|
}
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
throw error;
|
|
1181
|
+
const plan = JSON.parse(this.renderPlanJson());
|
|
1182
|
+
if (plan.error)
|
|
1183
|
+
throw new Error(plan.error);
|
|
1184
|
+
const units = plan.body;
|
|
1185
|
+
const sectionOf = new Map(units.map((u) => [unidOf(u.id), u.section ?? 0]));
|
|
1186
|
+
const mounted = new Set();
|
|
1187
|
+
const place = (el, sameHostAs) => {
|
|
1188
|
+
// Per-block converter output carries the XHTML xmlns; a full render only has it on the
|
|
1189
|
+
// document root, and open()'s DOM is the contract.
|
|
1190
|
+
el.removeAttribute("xmlns");
|
|
1191
|
+
const unit = el.hasAttribute("data-anchor") ? el : el.querySelector("[data-anchor]");
|
|
1192
|
+
const unid = unit?.getAttribute("data-anchor") ?? "";
|
|
1193
|
+
const host = sameHostAs ?? hosts.get(sectionOf.get(unid) ?? 0) ?? hosts.values().next().value ?? flow;
|
|
1194
|
+
// Units precede the chrome a section wrapper already holds (page view's endnotes section).
|
|
1195
|
+
host.insertBefore(el, host.querySelector(":scope > section.endnotes"));
|
|
1196
|
+
if (wireNow) {
|
|
1197
|
+
// wireBlocks wires a root's descendants; the node itself may be the unit.
|
|
1198
|
+
if (el.hasAttribute("data-anchor"))
|
|
1199
|
+
this.wireBlock(el);
|
|
1200
|
+
this.wireBlocks(el);
|
|
1201
|
+
}
|
|
1202
|
+
unit && mounted.add(unid);
|
|
1203
|
+
el.querySelectorAll("[data-anchor]").forEach((n) => mounted.add(n.getAttribute("data-anchor")));
|
|
1204
|
+
return host;
|
|
1205
|
+
};
|
|
1206
|
+
for (let start = 0; start < units.length;) {
|
|
1207
|
+
let end = Math.min(start + windowSize, units.length);
|
|
1208
|
+
// Never cut through a border box: extend to the end of the group the window stopped in.
|
|
1209
|
+
while (end < units.length && units[end].group !== undefined && units[end].group === units[end - 1].group)
|
|
1210
|
+
end++;
|
|
1211
|
+
const window = units.slice(start, end);
|
|
1212
|
+
const rendered = JSON.parse(bridge.RenderEditorRangeHtml(this.handle, JSON.stringify(window.map((u) => u.id)), profile));
|
|
1213
|
+
if (!Array.isArray(rendered))
|
|
1214
|
+
throw new Error(rendered.error ?? "window render failed");
|
|
1215
|
+
for (const html of rendered) {
|
|
1216
|
+
// One rendered node can parse into several elements: the HTML parser closes a paragraph
|
|
1217
|
+
// at a block-level child (page view's page-break marker div), exactly as it does for the
|
|
1218
|
+
// full render's string, so every element it produced lands in order in the unit's section.
|
|
1219
|
+
let host;
|
|
1220
|
+
for (const el of Array.from(new DOMParser().parseFromString(html, "text/html").body.children)) {
|
|
1221
|
+
host = place(el, host);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
// A unit the range render could not place (a box that would have straddled the window)
|
|
1225
|
+
// still lands, on its own, through the per-block renderer.
|
|
1226
|
+
for (const unit of window) {
|
|
1227
|
+
if (mounted.has(unidOf(unit.id)))
|
|
1228
|
+
continue;
|
|
1229
|
+
const el = this.renderInto(unit.id);
|
|
1230
|
+
if (el)
|
|
1231
|
+
place(el);
|
|
1232
|
+
}
|
|
1233
|
+
start = end;
|
|
1234
|
+
onProgress?.(start, units.length);
|
|
1235
|
+
if (start < units.length)
|
|
1236
|
+
await yieldToEventLoop();
|
|
1237
|
+
}
|
|
1238
|
+
if (attachNow) {
|
|
1239
|
+
this.stampPlanState();
|
|
1240
|
+
if (this.region)
|
|
1241
|
+
this.dockBands(flow);
|
|
1242
|
+
this.viewport.attach(flow, true);
|
|
1243
|
+
}
|
|
1244
|
+
else {
|
|
1245
|
+
// Pagination is a one-shot flow over the whole document: hand it the assembled document
|
|
1246
|
+
// the way open() hands it the full render — head content (the meta tags, the title and
|
|
1247
|
+
// the stylesheet, which the paginator keeps in the flow) followed by the body.
|
|
1248
|
+
this.mountPaginated(parsed.head.innerHTML + flow.innerHTML);
|
|
1062
1249
|
}
|
|
1063
1250
|
}
|
|
1064
1251
|
/**
|