docxodus 9.3.0 → 9.4.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/dist/editor.bundle.js +87 -21
- package/dist/editor.d.ts +26 -0
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +113 -34
- package/dist/editor.js.map +1 -1
- package/dist/embed.bundle.js +112 -22
- package/dist/embed.iife.js +112 -22
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/session.bundle.js +25 -1
- package/dist/session.d.ts +20 -2
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +23 -1
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- 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.Private.CoreLib.wasm +0 -0
- package/dist/wasm/_framework/System.Private.CoreLib.wasm.br +0 -0
- package/dist/wasm/_framework/dotnet.boot.js +5 -5
- 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/package.json +1 -1
package/dist/embed.bundle.js
CHANGED
|
@@ -491,7 +491,9 @@ var DocxSession = class {
|
|
|
491
491
|
* Table row/column editing, addressed by a cell-paragraph anchor (e.g. one returned from
|
|
492
492
|
* {@link insertTable}'s `created`). Insert clones the reference row/column's widths and starts
|
|
493
493
|
* empty (`created` lists the new cell-paragraph anchors); delete of the last row/column removes
|
|
494
|
-
* the whole table.
|
|
494
|
+
* the whole table. All four are grid-aware: inserting across a merge extends it, deleting
|
|
495
|
+
* through one narrows it, and deleting a vertical merge's lead row promotes the next row to
|
|
496
|
+
* carry it — the grid is never left ragged.
|
|
495
497
|
*/
|
|
496
498
|
insertTableRow(cellAnchorId, position) {
|
|
497
499
|
return JSON.parse(this.wasm.InsertTableRow(this.handle, cellAnchorId, position));
|
|
@@ -505,6 +507,28 @@ var DocxSession = class {
|
|
|
505
507
|
deleteTableColumn(cellAnchorId) {
|
|
506
508
|
return JSON.parse(this.wasm.DeleteTableColumn(this.handle, cellAnchorId));
|
|
507
509
|
}
|
|
510
|
+
/**
|
|
511
|
+
* Merge the rectangle of cells anchored at `cellAnchorId` running `rowSpan` rows down ×
|
|
512
|
+
* `colSpan` cells right (Word's *Merge Cells*): `w:gridSpan` for the horizontal extent,
|
|
513
|
+
* `w:vMerge` restart/continue for the vertical one. The rectangle must tile the same whole grid
|
|
514
|
+
* columns in every row it covers and must not clip a vertical merge entering from above or
|
|
515
|
+
* continuing below — a partial overlap fails with `invalid_table_merge` instead of tearing the
|
|
516
|
+
* grid. `content` decides what happens to the absorbed cells' content (default `"append"`).
|
|
517
|
+
*/
|
|
518
|
+
mergeCells(cellAnchorId, rowSpan, colSpan, content = "append") {
|
|
519
|
+
return JSON.parse(
|
|
520
|
+
this.wasm.MergeCells(this.handle, cellAnchorId, rowSpan, colSpan, content)
|
|
521
|
+
);
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Split the merged cell at `cellAnchorId` back into unit cells, dropping its `w:gridSpan` and
|
|
525
|
+
* `w:vMerge` markup and restoring one cell per grid column (each taking its `w:tblGrid` width).
|
|
526
|
+
* Addressing a vertical-merge continuation unmerges the whole run. A cell with no merge markup
|
|
527
|
+
* fails with `invalid_table_merge`.
|
|
528
|
+
*/
|
|
529
|
+
unmergeCells(cellAnchorId) {
|
|
530
|
+
return JSON.parse(this.wasm.UnmergeCells(this.handle, cellAnchorId));
|
|
531
|
+
}
|
|
508
532
|
/**
|
|
509
533
|
* Table styling, addressed by a cell-paragraph anchor — the post-insert counterpart of
|
|
510
534
|
* {@link insertTable}'s options (issue #315 Stage A). `setColumnWidths` retunes `w:tblGrid` +
|
|
@@ -6057,6 +6081,12 @@ var DocxEditor = class _DocxEditor {
|
|
|
6057
6081
|
/** Anchors the current drag source may legally move next to, per the engine's own rules.
|
|
6058
6082
|
* Null when the bridge predates ValidMoveTargets — then every block is offered, as before. */
|
|
6059
6083
|
this.blockMoveTargets = null;
|
|
6084
|
+
/** Memoized `ValidMoveTargets` answers, keyed by source anchor and dropped whenever an edit
|
|
6085
|
+
* lands. The legal-target set is a property of the document, so hovering back and forth over
|
|
6086
|
+
* the same blocks between edits must not re-ask the engine. */
|
|
6087
|
+
this.blockMoveTargetCache = /* @__PURE__ */ new Map();
|
|
6088
|
+
/** Cancels the pending idle prefetch of the hovered block's targets — see `showBlockHandle`. */
|
|
6089
|
+
this.blockMoveTargetPrefetch = null;
|
|
6060
6090
|
/** Why the last move was refused, verbatim from the engine — diagnostics, not announcement copy. */
|
|
6061
6091
|
this.lastMoveError = null;
|
|
6062
6092
|
/**
|
|
@@ -6357,8 +6387,7 @@ var DocxEditor = class _DocxEditor {
|
|
|
6357
6387
|
return true;
|
|
6358
6388
|
}
|
|
6359
6389
|
const destination = res.created?.[0] ?? res.modified?.[0];
|
|
6360
|
-
|
|
6361
|
-
else this.reconcile();
|
|
6390
|
+
this.reconcile();
|
|
6362
6391
|
const moved = destination ? this.bodyUnitNodes().find((el) => el.getAttribute("data-anchor") === destination.unid) : null;
|
|
6363
6392
|
if (moved) {
|
|
6364
6393
|
moved.classList.add("docx-block-move-flash");
|
|
@@ -6383,7 +6412,12 @@ var DocxEditor = class _DocxEditor {
|
|
|
6383
6412
|
const node = target instanceof Node ? target : null;
|
|
6384
6413
|
const el = node?.nodeType === Node.ELEMENT_NODE ? node : node?.parentElement;
|
|
6385
6414
|
if (!el || !this.editRoot.contains(el)) return null;
|
|
6386
|
-
|
|
6415
|
+
let unit = null;
|
|
6416
|
+
for (let candidate = el.closest("[data-anchor]"); candidate && this.editRoot.contains(candidate); candidate = candidate.parentElement?.closest("[data-anchor]") ?? null) {
|
|
6417
|
+
unit = candidate;
|
|
6418
|
+
}
|
|
6419
|
+
if (!unit || unit.closest("section.footnotes, section.endnotes")) return null;
|
|
6420
|
+
return unit;
|
|
6387
6421
|
}
|
|
6388
6422
|
isMovableBlockUnit(unit) {
|
|
6389
6423
|
if (!unit || !this.anchorIdOf(unit)) return false;
|
|
@@ -6405,18 +6439,18 @@ var DocxEditor = class _DocxEditor {
|
|
|
6405
6439
|
if (!handle || !this.isMovableBlockUnit(unit)) return;
|
|
6406
6440
|
const changed = unit !== this.blockDragSource;
|
|
6407
6441
|
this.blockDragSource = unit;
|
|
6408
|
-
|
|
6409
|
-
if (
|
|
6442
|
+
const known = this.blockMoveTargetsFor(unit, { cachedOnly: true });
|
|
6443
|
+
if (known?.size === 0) {
|
|
6410
6444
|
handle.style.display = "none";
|
|
6411
6445
|
return;
|
|
6412
6446
|
}
|
|
6447
|
+
if (changed && known === void 0) this.prefetchBlockMoveTargets(unit);
|
|
6413
6448
|
const rect = unit.getBoundingClientRect();
|
|
6414
6449
|
handle.style.display = "flex";
|
|
6415
6450
|
handle.style.left = `${Math.max(4, rect.left - 32)}px`;
|
|
6416
6451
|
handle.style.top = `${Math.max(4, rect.top + (unit.tagName === "TABLE" ? 6 : Math.max(0, (rect.height - 28) / 2)))}px`;
|
|
6417
6452
|
const preview = (unit.textContent ?? "").trim().replace(/\s+/g, " ").slice(0, 48);
|
|
6418
6453
|
handle.setAttribute("aria-label", preview ? `Move block: ${preview}` : "Move block");
|
|
6419
|
-
if (changed) this.refreshBlockDropTargets();
|
|
6420
6454
|
}
|
|
6421
6455
|
hideBlockHandle() {
|
|
6422
6456
|
if (this.blockDragging || this.blockMoveMenu?.style.display === "block") return;
|
|
@@ -6453,19 +6487,52 @@ var DocxEditor = class _DocxEditor {
|
|
|
6453
6487
|
* behaviour this replaces. Null (no bridge support) keeps the previous offer-everything path.
|
|
6454
6488
|
*/
|
|
6455
6489
|
refreshBlockMoveTargets(source) {
|
|
6490
|
+
this.blockMoveTargets = source ? this.blockMoveTargetsFor(source) ?? null : null;
|
|
6491
|
+
}
|
|
6492
|
+
/**
|
|
6493
|
+
* This block's legal destinations, from the memo when it is there. Returns `undefined` — not
|
|
6494
|
+
* `null` — for "not asked yet", so a caller can tell an unknown answer from the engine's
|
|
6495
|
+
* "no bridge support, offer everything" one.
|
|
6496
|
+
*/
|
|
6497
|
+
blockMoveTargetsFor(source, options = {}) {
|
|
6456
6498
|
const bridge = this.exports.DocxSessionBridge;
|
|
6457
|
-
const sourceId =
|
|
6458
|
-
if (!sourceId || typeof bridge.ValidMoveTargets !== "function")
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6499
|
+
const sourceId = this.anchorIdOf(source);
|
|
6500
|
+
if (!sourceId || typeof bridge.ValidMoveTargets !== "function") return null;
|
|
6501
|
+
if (this.blockMoveTargetCache.has(sourceId)) return this.blockMoveTargetCache.get(sourceId);
|
|
6502
|
+
if (options.cachedOnly) return void 0;
|
|
6503
|
+
let targets;
|
|
6462
6504
|
try {
|
|
6463
|
-
const
|
|
6464
|
-
|
|
6465
|
-
targets.map((t) => [t.anchorId, { before: t.before, after: t.after }])
|
|
6466
|
-
);
|
|
6505
|
+
const parsed = JSON.parse(bridge.ValidMoveTargets(this.handle, sourceId));
|
|
6506
|
+
targets = new Map(parsed.map((t) => [t.anchorId, { before: t.before, after: t.after }]));
|
|
6467
6507
|
} catch {
|
|
6468
|
-
|
|
6508
|
+
targets = null;
|
|
6509
|
+
}
|
|
6510
|
+
this.blockMoveTargetCache.set(sourceId, targets);
|
|
6511
|
+
return targets;
|
|
6512
|
+
}
|
|
6513
|
+
/**
|
|
6514
|
+
* Ask for the hovered block's destinations off the interaction path, and hide the handle if
|
|
6515
|
+
* the answer comes back empty and that block is still the one under the pointer. The handle
|
|
6516
|
+
* therefore appears immediately on hover and withdraws a beat later on the rare immovable
|
|
6517
|
+
* block, instead of every hover paying for the query up front.
|
|
6518
|
+
*/
|
|
6519
|
+
prefetchBlockMoveTargets(source) {
|
|
6520
|
+
const view = this.container.ownerDocument.defaultView;
|
|
6521
|
+
if (!view) return;
|
|
6522
|
+
this.blockMoveTargetPrefetch?.();
|
|
6523
|
+
const run = () => {
|
|
6524
|
+
this.blockMoveTargetPrefetch = null;
|
|
6525
|
+
if (this.closed || !source.isConnected || this.blockDragSource !== source) return;
|
|
6526
|
+
if (this.blockMoveTargetsFor(source)?.size === 0 && this.blockDragHandle)
|
|
6527
|
+
this.blockDragHandle.style.display = "none";
|
|
6528
|
+
};
|
|
6529
|
+
const idle = view;
|
|
6530
|
+
if (idle.requestIdleCallback && idle.cancelIdleCallback) {
|
|
6531
|
+
const id = idle.requestIdleCallback(run, { timeout: 500 });
|
|
6532
|
+
this.blockMoveTargetPrefetch = () => idle.cancelIdleCallback(id);
|
|
6533
|
+
} else {
|
|
6534
|
+
const id = view.setTimeout(run, 0);
|
|
6535
|
+
this.blockMoveTargetPrefetch = () => view.clearTimeout(id);
|
|
6469
6536
|
}
|
|
6470
6537
|
}
|
|
6471
6538
|
/**
|
|
@@ -6555,7 +6622,8 @@ var DocxEditor = class _DocxEditor {
|
|
|
6555
6622
|
const index = units.indexOf(source);
|
|
6556
6623
|
if (index < 0) return null;
|
|
6557
6624
|
const position = action === "up" || action === "top" ? "before" : "after";
|
|
6558
|
-
const
|
|
6625
|
+
const side = position === "before" ? units.slice(0, index) : units.slice(index + 1);
|
|
6626
|
+
const candidates = side.filter((el) => this.isValidMoveTarget(el, position));
|
|
6559
6627
|
if (candidates.length === 0) return null;
|
|
6560
6628
|
if (action === "up") return { target: candidates[candidates.length - 1], position };
|
|
6561
6629
|
if (action === "down") return { target: candidates[0], position };
|
|
@@ -6735,6 +6803,9 @@ var DocxEditor = class _DocxEditor {
|
|
|
6735
6803
|
this.refreshBlockDropTargets();
|
|
6736
6804
|
}
|
|
6737
6805
|
teardownBlockDrag() {
|
|
6806
|
+
this.blockMoveTargetPrefetch?.();
|
|
6807
|
+
this.blockMoveTargetPrefetch = null;
|
|
6808
|
+
this.blockMoveTargetCache.clear();
|
|
6738
6809
|
for (const cleanup of this.blockDragTargetCleanup.splice(0)) cleanup();
|
|
6739
6810
|
for (const cleanup of this.blockDragCleanup.splice(0)) cleanup();
|
|
6740
6811
|
this.blockDragHandle?.remove();
|
|
@@ -7252,11 +7323,22 @@ var DocxEditor = class _DocxEditor {
|
|
|
7252
7323
|
}
|
|
7253
7324
|
parseEdit(json) {
|
|
7254
7325
|
try {
|
|
7255
|
-
|
|
7326
|
+
const result = JSON.parse(json);
|
|
7327
|
+
if (result.success) this.invalidateBlockMoveTargets();
|
|
7328
|
+
return result;
|
|
7256
7329
|
} catch {
|
|
7257
7330
|
return { success: false };
|
|
7258
7331
|
}
|
|
7259
7332
|
}
|
|
7333
|
+
/**
|
|
7334
|
+
* Drop the memoized `ValidMoveTargets` answers. Which blocks a block may move next to is a
|
|
7335
|
+
* fact about the DOCUMENT, so it survives hovering but not editing — and the two places a
|
|
7336
|
+
* document changes are `parseEdit` (every mutation that returns an `EditResult`) and
|
|
7337
|
+
* undo/redo, which return a bare boolean and so cannot go through it.
|
|
7338
|
+
*/
|
|
7339
|
+
invalidateBlockMoveTargets() {
|
|
7340
|
+
this.blockMoveTargetCache.clear();
|
|
7341
|
+
}
|
|
7260
7342
|
// ─── M5: formatting commands (ribbon) ────────────────────────────────
|
|
7261
7343
|
// ─── Multi-block selection helpers (format a whole stack of paragraphs at once) ──────
|
|
7262
7344
|
/**
|
|
@@ -7810,12 +7892,16 @@ var DocxEditor = class _DocxEditor {
|
|
|
7810
7892
|
/** Undo the last edit (incremental repaint; falls back to a full re-render). */
|
|
7811
7893
|
undo() {
|
|
7812
7894
|
if (this.closed) return;
|
|
7813
|
-
if (this.exports.DocxSessionBridge.Undo(this.handle))
|
|
7895
|
+
if (!this.exports.DocxSessionBridge.Undo(this.handle)) return;
|
|
7896
|
+
this.invalidateBlockMoveTargets();
|
|
7897
|
+
this.reconcile();
|
|
7814
7898
|
}
|
|
7815
7899
|
/** Redo the last undone edit (incremental repaint; falls back to a full re-render). */
|
|
7816
7900
|
redo() {
|
|
7817
7901
|
if (this.closed) return;
|
|
7818
|
-
if (this.exports.DocxSessionBridge.Redo(this.handle))
|
|
7902
|
+
if (!this.exports.DocxSessionBridge.Redo(this.handle)) return;
|
|
7903
|
+
this.invalidateBlockMoveTargets();
|
|
7904
|
+
this.reconcile();
|
|
7819
7905
|
}
|
|
7820
7906
|
// ─── Header/footer region commands (no-ops unless `headerFooter` is on) ───────────────
|
|
7821
7907
|
/**
|
|
@@ -8044,7 +8130,11 @@ var DocxEditor = class _DocxEditor {
|
|
|
8044
8130
|
const oldTokens = oldNodes.map(_DocxEditor.domTokenOf);
|
|
8045
8131
|
const oldKinds = oldNodes.map(_DocxEditor.domKindOf);
|
|
8046
8132
|
const bodyDiff = diffUnits(oldTokens, plan.body);
|
|
8047
|
-
if (needsRemount(bodyDiff, plan.body, oldKinds))
|
|
8133
|
+
if (needsRemount(bodyDiff, plan.body, oldKinds)) {
|
|
8134
|
+
return this.bail(
|
|
8135
|
+
`needsRemount (li change or churn): +${bodyDiff.added.length} -${bodyDiff.removed.length} ~${bodyDiff.substituted.length} moved=${bodyDiff.moved.length} of ${plan.body.length}`
|
|
8136
|
+
);
|
|
8137
|
+
}
|
|
8048
8138
|
const fnState = this.notesDiff("footnotes", plan.footnotes);
|
|
8049
8139
|
const enState = this.notesDiff("endnotes", plan.endnotes);
|
|
8050
8140
|
if (fnState === null || enState === null) return this.bail("notes container unstampable/missing");
|
package/dist/embed.iife.js
CHANGED
|
@@ -601,7 +601,9 @@ var Docxodus = (() => {
|
|
|
601
601
|
* Table row/column editing, addressed by a cell-paragraph anchor (e.g. one returned from
|
|
602
602
|
* {@link insertTable}'s `created`). Insert clones the reference row/column's widths and starts
|
|
603
603
|
* empty (`created` lists the new cell-paragraph anchors); delete of the last row/column removes
|
|
604
|
-
* the whole table.
|
|
604
|
+
* the whole table. All four are grid-aware: inserting across a merge extends it, deleting
|
|
605
|
+
* through one narrows it, and deleting a vertical merge's lead row promotes the next row to
|
|
606
|
+
* carry it — the grid is never left ragged.
|
|
605
607
|
*/
|
|
606
608
|
insertTableRow(cellAnchorId, position) {
|
|
607
609
|
return JSON.parse(this.wasm.InsertTableRow(this.handle, cellAnchorId, position));
|
|
@@ -615,6 +617,28 @@ var Docxodus = (() => {
|
|
|
615
617
|
deleteTableColumn(cellAnchorId) {
|
|
616
618
|
return JSON.parse(this.wasm.DeleteTableColumn(this.handle, cellAnchorId));
|
|
617
619
|
}
|
|
620
|
+
/**
|
|
621
|
+
* Merge the rectangle of cells anchored at `cellAnchorId` running `rowSpan` rows down ×
|
|
622
|
+
* `colSpan` cells right (Word's *Merge Cells*): `w:gridSpan` for the horizontal extent,
|
|
623
|
+
* `w:vMerge` restart/continue for the vertical one. The rectangle must tile the same whole grid
|
|
624
|
+
* columns in every row it covers and must not clip a vertical merge entering from above or
|
|
625
|
+
* continuing below — a partial overlap fails with `invalid_table_merge` instead of tearing the
|
|
626
|
+
* grid. `content` decides what happens to the absorbed cells' content (default `"append"`).
|
|
627
|
+
*/
|
|
628
|
+
mergeCells(cellAnchorId, rowSpan, colSpan, content = "append") {
|
|
629
|
+
return JSON.parse(
|
|
630
|
+
this.wasm.MergeCells(this.handle, cellAnchorId, rowSpan, colSpan, content)
|
|
631
|
+
);
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Split the merged cell at `cellAnchorId` back into unit cells, dropping its `w:gridSpan` and
|
|
635
|
+
* `w:vMerge` markup and restoring one cell per grid column (each taking its `w:tblGrid` width).
|
|
636
|
+
* Addressing a vertical-merge continuation unmerges the whole run. A cell with no merge markup
|
|
637
|
+
* fails with `invalid_table_merge`.
|
|
638
|
+
*/
|
|
639
|
+
unmergeCells(cellAnchorId) {
|
|
640
|
+
return JSON.parse(this.wasm.UnmergeCells(this.handle, cellAnchorId));
|
|
641
|
+
}
|
|
618
642
|
/**
|
|
619
643
|
* Table styling, addressed by a cell-paragraph anchor — the post-insert counterpart of
|
|
620
644
|
* {@link insertTable}'s options (issue #315 Stage A). `setColumnWidths` retunes `w:tblGrid` +
|
|
@@ -6167,6 +6191,12 @@ var Docxodus = (() => {
|
|
|
6167
6191
|
/** Anchors the current drag source may legally move next to, per the engine's own rules.
|
|
6168
6192
|
* Null when the bridge predates ValidMoveTargets — then every block is offered, as before. */
|
|
6169
6193
|
this.blockMoveTargets = null;
|
|
6194
|
+
/** Memoized `ValidMoveTargets` answers, keyed by source anchor and dropped whenever an edit
|
|
6195
|
+
* lands. The legal-target set is a property of the document, so hovering back and forth over
|
|
6196
|
+
* the same blocks between edits must not re-ask the engine. */
|
|
6197
|
+
this.blockMoveTargetCache = /* @__PURE__ */ new Map();
|
|
6198
|
+
/** Cancels the pending idle prefetch of the hovered block's targets — see `showBlockHandle`. */
|
|
6199
|
+
this.blockMoveTargetPrefetch = null;
|
|
6170
6200
|
/** Why the last move was refused, verbatim from the engine — diagnostics, not announcement copy. */
|
|
6171
6201
|
this.lastMoveError = null;
|
|
6172
6202
|
/**
|
|
@@ -6467,8 +6497,7 @@ var Docxodus = (() => {
|
|
|
6467
6497
|
return true;
|
|
6468
6498
|
}
|
|
6469
6499
|
const destination = res.created?.[0] ?? res.modified?.[0];
|
|
6470
|
-
|
|
6471
|
-
else this.reconcile();
|
|
6500
|
+
this.reconcile();
|
|
6472
6501
|
const moved = destination ? this.bodyUnitNodes().find((el) => el.getAttribute("data-anchor") === destination.unid) : null;
|
|
6473
6502
|
if (moved) {
|
|
6474
6503
|
moved.classList.add("docx-block-move-flash");
|
|
@@ -6493,7 +6522,12 @@ var Docxodus = (() => {
|
|
|
6493
6522
|
const node = target instanceof Node ? target : null;
|
|
6494
6523
|
const el = node?.nodeType === Node.ELEMENT_NODE ? node : node?.parentElement;
|
|
6495
6524
|
if (!el || !this.editRoot.contains(el)) return null;
|
|
6496
|
-
|
|
6525
|
+
let unit = null;
|
|
6526
|
+
for (let candidate = el.closest("[data-anchor]"); candidate && this.editRoot.contains(candidate); candidate = candidate.parentElement?.closest("[data-anchor]") ?? null) {
|
|
6527
|
+
unit = candidate;
|
|
6528
|
+
}
|
|
6529
|
+
if (!unit || unit.closest("section.footnotes, section.endnotes")) return null;
|
|
6530
|
+
return unit;
|
|
6497
6531
|
}
|
|
6498
6532
|
isMovableBlockUnit(unit) {
|
|
6499
6533
|
if (!unit || !this.anchorIdOf(unit)) return false;
|
|
@@ -6515,18 +6549,18 @@ var Docxodus = (() => {
|
|
|
6515
6549
|
if (!handle || !this.isMovableBlockUnit(unit)) return;
|
|
6516
6550
|
const changed = unit !== this.blockDragSource;
|
|
6517
6551
|
this.blockDragSource = unit;
|
|
6518
|
-
|
|
6519
|
-
if (
|
|
6552
|
+
const known = this.blockMoveTargetsFor(unit, { cachedOnly: true });
|
|
6553
|
+
if (known?.size === 0) {
|
|
6520
6554
|
handle.style.display = "none";
|
|
6521
6555
|
return;
|
|
6522
6556
|
}
|
|
6557
|
+
if (changed && known === void 0) this.prefetchBlockMoveTargets(unit);
|
|
6523
6558
|
const rect = unit.getBoundingClientRect();
|
|
6524
6559
|
handle.style.display = "flex";
|
|
6525
6560
|
handle.style.left = `${Math.max(4, rect.left - 32)}px`;
|
|
6526
6561
|
handle.style.top = `${Math.max(4, rect.top + (unit.tagName === "TABLE" ? 6 : Math.max(0, (rect.height - 28) / 2)))}px`;
|
|
6527
6562
|
const preview = (unit.textContent ?? "").trim().replace(/\s+/g, " ").slice(0, 48);
|
|
6528
6563
|
handle.setAttribute("aria-label", preview ? `Move block: ${preview}` : "Move block");
|
|
6529
|
-
if (changed) this.refreshBlockDropTargets();
|
|
6530
6564
|
}
|
|
6531
6565
|
hideBlockHandle() {
|
|
6532
6566
|
if (this.blockDragging || this.blockMoveMenu?.style.display === "block") return;
|
|
@@ -6563,19 +6597,52 @@ var Docxodus = (() => {
|
|
|
6563
6597
|
* behaviour this replaces. Null (no bridge support) keeps the previous offer-everything path.
|
|
6564
6598
|
*/
|
|
6565
6599
|
refreshBlockMoveTargets(source) {
|
|
6600
|
+
this.blockMoveTargets = source ? this.blockMoveTargetsFor(source) ?? null : null;
|
|
6601
|
+
}
|
|
6602
|
+
/**
|
|
6603
|
+
* This block's legal destinations, from the memo when it is there. Returns `undefined` — not
|
|
6604
|
+
* `null` — for "not asked yet", so a caller can tell an unknown answer from the engine's
|
|
6605
|
+
* "no bridge support, offer everything" one.
|
|
6606
|
+
*/
|
|
6607
|
+
blockMoveTargetsFor(source, options = {}) {
|
|
6566
6608
|
const bridge = this.exports.DocxSessionBridge;
|
|
6567
|
-
const sourceId =
|
|
6568
|
-
if (!sourceId || typeof bridge.ValidMoveTargets !== "function")
|
|
6569
|
-
|
|
6570
|
-
|
|
6571
|
-
|
|
6609
|
+
const sourceId = this.anchorIdOf(source);
|
|
6610
|
+
if (!sourceId || typeof bridge.ValidMoveTargets !== "function") return null;
|
|
6611
|
+
if (this.blockMoveTargetCache.has(sourceId)) return this.blockMoveTargetCache.get(sourceId);
|
|
6612
|
+
if (options.cachedOnly) return void 0;
|
|
6613
|
+
let targets;
|
|
6572
6614
|
try {
|
|
6573
|
-
const
|
|
6574
|
-
|
|
6575
|
-
targets.map((t) => [t.anchorId, { before: t.before, after: t.after }])
|
|
6576
|
-
);
|
|
6615
|
+
const parsed = JSON.parse(bridge.ValidMoveTargets(this.handle, sourceId));
|
|
6616
|
+
targets = new Map(parsed.map((t) => [t.anchorId, { before: t.before, after: t.after }]));
|
|
6577
6617
|
} catch {
|
|
6578
|
-
|
|
6618
|
+
targets = null;
|
|
6619
|
+
}
|
|
6620
|
+
this.blockMoveTargetCache.set(sourceId, targets);
|
|
6621
|
+
return targets;
|
|
6622
|
+
}
|
|
6623
|
+
/**
|
|
6624
|
+
* Ask for the hovered block's destinations off the interaction path, and hide the handle if
|
|
6625
|
+
* the answer comes back empty and that block is still the one under the pointer. The handle
|
|
6626
|
+
* therefore appears immediately on hover and withdraws a beat later on the rare immovable
|
|
6627
|
+
* block, instead of every hover paying for the query up front.
|
|
6628
|
+
*/
|
|
6629
|
+
prefetchBlockMoveTargets(source) {
|
|
6630
|
+
const view = this.container.ownerDocument.defaultView;
|
|
6631
|
+
if (!view) return;
|
|
6632
|
+
this.blockMoveTargetPrefetch?.();
|
|
6633
|
+
const run = () => {
|
|
6634
|
+
this.blockMoveTargetPrefetch = null;
|
|
6635
|
+
if (this.closed || !source.isConnected || this.blockDragSource !== source) return;
|
|
6636
|
+
if (this.blockMoveTargetsFor(source)?.size === 0 && this.blockDragHandle)
|
|
6637
|
+
this.blockDragHandle.style.display = "none";
|
|
6638
|
+
};
|
|
6639
|
+
const idle = view;
|
|
6640
|
+
if (idle.requestIdleCallback && idle.cancelIdleCallback) {
|
|
6641
|
+
const id = idle.requestIdleCallback(run, { timeout: 500 });
|
|
6642
|
+
this.blockMoveTargetPrefetch = () => idle.cancelIdleCallback(id);
|
|
6643
|
+
} else {
|
|
6644
|
+
const id = view.setTimeout(run, 0);
|
|
6645
|
+
this.blockMoveTargetPrefetch = () => view.clearTimeout(id);
|
|
6579
6646
|
}
|
|
6580
6647
|
}
|
|
6581
6648
|
/**
|
|
@@ -6665,7 +6732,8 @@ var Docxodus = (() => {
|
|
|
6665
6732
|
const index = units.indexOf(source);
|
|
6666
6733
|
if (index < 0) return null;
|
|
6667
6734
|
const position = action === "up" || action === "top" ? "before" : "after";
|
|
6668
|
-
const
|
|
6735
|
+
const side = position === "before" ? units.slice(0, index) : units.slice(index + 1);
|
|
6736
|
+
const candidates = side.filter((el) => this.isValidMoveTarget(el, position));
|
|
6669
6737
|
if (candidates.length === 0) return null;
|
|
6670
6738
|
if (action === "up") return { target: candidates[candidates.length - 1], position };
|
|
6671
6739
|
if (action === "down") return { target: candidates[0], position };
|
|
@@ -6845,6 +6913,9 @@ var Docxodus = (() => {
|
|
|
6845
6913
|
this.refreshBlockDropTargets();
|
|
6846
6914
|
}
|
|
6847
6915
|
teardownBlockDrag() {
|
|
6916
|
+
this.blockMoveTargetPrefetch?.();
|
|
6917
|
+
this.blockMoveTargetPrefetch = null;
|
|
6918
|
+
this.blockMoveTargetCache.clear();
|
|
6848
6919
|
for (const cleanup of this.blockDragTargetCleanup.splice(0)) cleanup();
|
|
6849
6920
|
for (const cleanup of this.blockDragCleanup.splice(0)) cleanup();
|
|
6850
6921
|
this.blockDragHandle?.remove();
|
|
@@ -7362,11 +7433,22 @@ var Docxodus = (() => {
|
|
|
7362
7433
|
}
|
|
7363
7434
|
parseEdit(json) {
|
|
7364
7435
|
try {
|
|
7365
|
-
|
|
7436
|
+
const result = JSON.parse(json);
|
|
7437
|
+
if (result.success) this.invalidateBlockMoveTargets();
|
|
7438
|
+
return result;
|
|
7366
7439
|
} catch {
|
|
7367
7440
|
return { success: false };
|
|
7368
7441
|
}
|
|
7369
7442
|
}
|
|
7443
|
+
/**
|
|
7444
|
+
* Drop the memoized `ValidMoveTargets` answers. Which blocks a block may move next to is a
|
|
7445
|
+
* fact about the DOCUMENT, so it survives hovering but not editing — and the two places a
|
|
7446
|
+
* document changes are `parseEdit` (every mutation that returns an `EditResult`) and
|
|
7447
|
+
* undo/redo, which return a bare boolean and so cannot go through it.
|
|
7448
|
+
*/
|
|
7449
|
+
invalidateBlockMoveTargets() {
|
|
7450
|
+
this.blockMoveTargetCache.clear();
|
|
7451
|
+
}
|
|
7370
7452
|
// ─── M5: formatting commands (ribbon) ────────────────────────────────
|
|
7371
7453
|
// ─── Multi-block selection helpers (format a whole stack of paragraphs at once) ──────
|
|
7372
7454
|
/**
|
|
@@ -7920,12 +8002,16 @@ var Docxodus = (() => {
|
|
|
7920
8002
|
/** Undo the last edit (incremental repaint; falls back to a full re-render). */
|
|
7921
8003
|
undo() {
|
|
7922
8004
|
if (this.closed) return;
|
|
7923
|
-
if (this.exports.DocxSessionBridge.Undo(this.handle))
|
|
8005
|
+
if (!this.exports.DocxSessionBridge.Undo(this.handle)) return;
|
|
8006
|
+
this.invalidateBlockMoveTargets();
|
|
8007
|
+
this.reconcile();
|
|
7924
8008
|
}
|
|
7925
8009
|
/** Redo the last undone edit (incremental repaint; falls back to a full re-render). */
|
|
7926
8010
|
redo() {
|
|
7927
8011
|
if (this.closed) return;
|
|
7928
|
-
if (this.exports.DocxSessionBridge.Redo(this.handle))
|
|
8012
|
+
if (!this.exports.DocxSessionBridge.Redo(this.handle)) return;
|
|
8013
|
+
this.invalidateBlockMoveTargets();
|
|
8014
|
+
this.reconcile();
|
|
7929
8015
|
}
|
|
7930
8016
|
// ─── Header/footer region commands (no-ops unless `headerFooter` is on) ───────────────
|
|
7931
8017
|
/**
|
|
@@ -8154,7 +8240,11 @@ var Docxodus = (() => {
|
|
|
8154
8240
|
const oldTokens = oldNodes.map(_DocxEditor.domTokenOf);
|
|
8155
8241
|
const oldKinds = oldNodes.map(_DocxEditor.domKindOf);
|
|
8156
8242
|
const bodyDiff = diffUnits(oldTokens, plan.body);
|
|
8157
|
-
if (needsRemount(bodyDiff, plan.body, oldKinds))
|
|
8243
|
+
if (needsRemount(bodyDiff, plan.body, oldKinds)) {
|
|
8244
|
+
return this.bail(
|
|
8245
|
+
`needsRemount (li change or churn): +${bodyDiff.added.length} -${bodyDiff.removed.length} ~${bodyDiff.substituted.length} moved=${bodyDiff.moved.length} of ${plan.body.length}`
|
|
8246
|
+
);
|
|
8247
|
+
}
|
|
8158
8248
|
const fnState = this.notesDiff("footnotes", plan.footnotes);
|
|
8159
8249
|
const enState = this.notesDiff("endnotes", plan.endnotes);
|
|
8160
8250
|
if (fnState === null || enState === null) return this.bail("notes container unstampable/missing");
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ConversionOptions, CompareOptions, Revision, VersionInfo, ErrorResponse, CompareResult, DocxodusWasmExports, GetRevisionsOptions, FormatChangeDetails, DocxDiffSettings, DocxDiffRevision, DocxDiffReviewer, DocxDiffConsolidateSettings, DocxDiffConflict, DocxDiffConflictCompetitor, DocxDiffConsolidatedRevision, Annotation, AddAnnotationRequest, AddAnnotationResponse, RemoveAnnotationResponse, AnnotationOptions, DocumentStructure, DocumentElement, TableColumnInfo, AnnotationTarget, AddAnnotationWithTargetRequest, DocumentMetadata, SectionMetadata, OpenContractDocExport, PawlsPage, PawlsPageBoundary, PawlsToken, OpenContractsAnnotation, OpenContractsSinglePageAnnotation, BoundingBox, TokenId, TextSpan, OpenContractsRelationship, AnnotationLabel, ExternalAnnotationSet, ExternalAnnotationValidationResult, ExternalAnnotationValidationIssue, ExternalAnnotationProjectionSettings, ComparisonLogEntry, CompareResultWithLog, CompareToHtmlResultWithLog, MarkdownProjectionSettings, MarkdownAnchorTarget, MarkdownProjection, DocxSessionSettings } from "./types.js";
|
|
2
2
|
import { DocxSession } from "./session.js";
|
|
3
3
|
export { DocxSession } from "./session.js";
|
|
4
|
-
export type { AnchorInfo, AnchorRef, AnchorTargetRef, BlockMetadata, CharSpan, CommentListEntry, DocumentAnnotation, DocxSessionProjection, DocxSessionSettings, EditError, EditErrorCode, EditResult, FindOptions, FormatOp, LineSpacingRule, ListMembership, MarkdownPatch, NumberFormat, PageNumberField, PageNumberingOp, ParagraphBorderEdge, ParagraphFormatOp, RevisionListEntry, SectionInfo, SessionRevisionType, TableBorderScope, TableBorderSpec, TableInsertOptions, TableShadingScope, } from "./types.js";
|
|
4
|
+
export type { AnchorInfo, AnchorRef, AnchorTargetRef, BlockMetadata, CharSpan, CommentListEntry, DocumentAnnotation, DocxSessionProjection, DocxSessionSettings, EditError, EditErrorCode, EditResult, FindOptions, FormatOp, LineSpacingRule, ListMembership, MarkdownPatch, NumberFormat, PageNumberField, PageNumberingOp, ParagraphBorderEdge, ParagraphFormatOp, RevisionListEntry, SectionInfo, SessionRevisionType, TableBorderScope, TableBorderSpec, TableInsertOptions, TableMergeContent, TableShadingScope, } from "./types.js";
|
|
5
5
|
export type { FillOptions, BulkEditResult } from "./types.js";
|
|
6
6
|
export { PlaceholderKinds, ContextBoundary } from "./types.js";
|
|
7
7
|
export { DiffFormat } from "./types.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EAEnB,gBAAgB,EAChB,gBAAgB,EAEhB,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,0BAA0B,EAC1B,4BAA4B,EAC5B,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,gBAAgB,EAChB,eAAe,EAEf,qBAAqB,EACrB,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,uBAAuB,EACvB,iCAAiC,EACjC,WAAW,EACX,OAAO,EACP,QAAQ,EACR,yBAAyB,EAEzB,eAAe,EACf,qBAAqB,EACrB,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,EAEpC,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAE1B,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAA0C,MAAM,cAAc,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,WAAW,CAGb;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKxE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAE9B,gBAAgB,EAChB,eAAe,EAEf,qBAAqB,EACrB,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,uBAAuB,EACvB,iCAAiC,EACjC,WAAW,EACX,OAAO,EACP,QAAQ,EACR,yBAAyB,EAEzB,eAAe,EACf,qBAAqB,EACrB,kCAAkC,EAClC,iCAAiC,EACjC,oCAAoC,EAEpC,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAE1B,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAElB,gBAAgB,EAChB,gBAAgB,EAEhB,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,0BAA0B,EAC1B,4BAA4B,GAC7B,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,cAAc,EAEd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,eAAe,EAEf,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,GACtB,CAAC;AAuDF;;;GAGG;AACH,eAAO,IAAI,YAAY,QAAK,CAAC;AAE7B;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBjE;AAgGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA+EjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,oBAAoB,CAAC,CA2B/B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,0BAA0B,CAAC,CA0BrC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAwCrB;AAaD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,KAAK,EAAE,IAAI,GAAG,UAAU,EACxB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAkBrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,KAAK,EAAE,IAAI,GAAG,UAAU,EACxB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,KAAK,EAAE,IAAI,GAAG,UAAU,EACxB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,IAAI,GAAG,UAAU,GACzB,OAAO,CAAC,UAAU,CAAC,CASrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,IAAI,GAAG,UAAU,GACzB,OAAO,CAAC,UAAU,CAAC,CASrB;AAsED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,QAAQ,CAAC,EAAE,2BAA2B,GACrC,OAAO,CAAC,UAAU,CAAC,CAkBrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,QAAQ,CAAC,EAAE,2BAA2B,GACrC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA8B7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,QAAQ,CAAC,EAAE,2BAA2B,GACrC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAuBzC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,QAAQ,CAAC,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,WAAW,CASxC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,mBAAmB,CAEpD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC,CAyBvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CA4ChC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAgBnC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAC1B,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAyD5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAqD3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA+FhC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,GAAE,0BAA+B,GACxC,OAAO,CAAC,kBAAkB,CAAC,CA0C7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAoDhC;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAC1B,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAkBhC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,aAAa,EAAE,qBAAqB,GACnC,OAAO,CAAC,kCAAkC,CAAC,CA4B7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,wCAAwC,CAC5D,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,aAAa,EAAE,qBAAqB,EACpC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,iBAAiB,CAAC,EAAE,oCAAoC,GACvD,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAY,GACvB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAsBrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,uBAAuB,CA2BzB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAU,GACrB,uBAAuB,GAAG,IAAI,CAahC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAY,GACvB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAevC;AAqHD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,qBAAqB,EACpC,iBAAiB,CAAC,EAAE,oCAAoC,GACvD,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,uBAAuB,EACnC,KAAK,CAAC,EAAE,eAAe,EACvB,iBAAiB,CAAC,EAAE,oCAAoC,GACvD,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,+BAA+B,CACnD,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,iBAAiB,CAAC,EAAE,oCAAoC,GACvD,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|