docxodus 12.1.0 → 12.2.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 +9 -4
- package/dist/editor.bundle.js +135 -22
- package/dist/editor.d.ts +25 -3
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +132 -13
- package/dist/editor.js.map +1 -1
- package/dist/embed.bundle.js +573 -47
- package/dist/embed.d.ts +30 -1
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.iife.js +573 -47
- package/dist/embed.js +124 -13
- package/dist/embed.js.map +1 -1
- package/dist/export-assets.json +33 -33
- package/dist/history.d.ts +265 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +307 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/dist/ribbon-chrome.d.ts +2 -2
- package/dist/ribbon-chrome.d.ts.map +1 -1
- package/dist/ribbon-chrome.js +6 -4
- package/dist/ribbon-chrome.js.map +1 -1
- package/dist/ribbon.js +39 -8
- package/dist/ribbon.js.map +1 -1
- package/dist/session.js +1 -1
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- 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.Collections.Concurrent.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.Concurrent.wasm.br +0 -0
- package/dist/wasm/_framework/System.Collections.wasm +0 -0
- package/dist/wasm/_framework/System.Collections.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.Net.Http.wasm +0 -0
- package/dist/wasm/_framework/System.Net.Http.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.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.Runtime.wasm +0 -0
- package/dist/wasm/_framework/System.Runtime.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.Json.wasm +0 -0
- package/dist/wasm/_framework/System.Text.Json.wasm.br +0 -0
- package/dist/wasm/_framework/System.Text.RegularExpressions.wasm +0 -0
- package/dist/wasm/_framework/System.Text.RegularExpressions.wasm.br +0 -0
- package/dist/wasm/_framework/dotnet.boot.js +21 -21
- 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 +4 -3
package/README.md
CHANGED
|
@@ -92,7 +92,7 @@ runtime location auto-detected — no build step, no configuration:
|
|
|
92
92
|
```html
|
|
93
93
|
<div id="doc" style="height: 100dvh"></div>
|
|
94
94
|
<script type="module">
|
|
95
|
-
import { createRibbonEditor } from 'https://cdn.jsdelivr.net/npm/docxodus@12.0
|
|
95
|
+
import { createRibbonEditor } from 'https://cdn.jsdelivr.net/npm/docxodus@12.1.0/dist/embed.bundle.js';
|
|
96
96
|
const ribbon = await createRibbonEditor('#doc', './contract.docx'); // or bytes / Blob / File
|
|
97
97
|
// ...later: const editedBytes = ribbon.save();
|
|
98
98
|
</script>
|
|
@@ -580,7 +580,7 @@ so a page can embed a full viewer or editor without hosting anything itself.
|
|
|
580
580
|
<div id="app" style="height: 100dvh"></div>
|
|
581
581
|
<script type="module">
|
|
582
582
|
import { createViewer, createEditor, createRibbonEditor }
|
|
583
|
-
from 'https://cdn.jsdelivr.net/npm/docxodus@12.0
|
|
583
|
+
from 'https://cdn.jsdelivr.net/npm/docxodus@12.1.0/dist/embed.bundle.js';
|
|
584
584
|
|
|
585
585
|
// Choose a factory, or render several into separate containers as shown.
|
|
586
586
|
// Source may be a URL, Uint8Array, ArrayBuffer, Blob, or File.
|
|
@@ -610,7 +610,7 @@ For pages that can't use modules, `dist/embed.iife.js` exposes the same surface
|
|
|
610
610
|
|
|
611
611
|
```html
|
|
612
612
|
<div id="doc"></div>
|
|
613
|
-
<script src="https://cdn.jsdelivr.net/npm/docxodus@12.0
|
|
613
|
+
<script src="https://cdn.jsdelivr.net/npm/docxodus@12.1.0/dist/embed.iife.js"></script>
|
|
614
614
|
<script>
|
|
615
615
|
Docxodus.createRibbonEditor('#doc').then((ribbon) => { /* ... */ });
|
|
616
616
|
</script>
|
|
@@ -626,7 +626,7 @@ first `<bundle dir>/wasm/`, then `<bundle dir>/` as a fallback. On a CDN that re
|
|
|
626
626
|
|
|
627
627
|
### CDN caveats
|
|
628
628
|
|
|
629
|
-
- **Pin an exact version in production** (`docxodus@12.0
|
|
629
|
+
- **Pin an exact version in production** (`docxodus@12.1.0`, not `@latest`) — CDN responses are
|
|
630
630
|
cached as immutable, and the wire shapes between the JS wrappers and the WASM assemblies must
|
|
631
631
|
come from the same release.
|
|
632
632
|
- The build patches the .NET loader to fetch with `credentials: "omit"` — required because the
|
|
@@ -719,6 +719,11 @@ loaded on demand and cached by the browser.
|
|
|
719
719
|
|
|
720
720
|
Requires WebAssembly SIMD support.
|
|
721
721
|
|
|
722
|
+
## Portable document history
|
|
723
|
+
|
|
724
|
+
See the [concise history-controls API guide](../docs/history-controls.md) for latest/version
|
|
725
|
+
loading, comparison, checkpoint/restore and `.docxhistory` import/export over host-owned storage.
|
|
726
|
+
|
|
722
727
|
## License
|
|
723
728
|
|
|
724
729
|
MIT
|
package/dist/editor.bundle.js
CHANGED
|
@@ -7817,22 +7817,55 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
7817
7817
|
const span = trimmedSpan(block, { start: Math.min(start2, end), length: Math.abs(end - start2) });
|
|
7818
7818
|
return span.length > 0 ? span : null;
|
|
7819
7819
|
}
|
|
7820
|
-
function
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
const range = document.createRange();
|
|
7820
|
+
function contentRangeIn(el, start2, length) {
|
|
7821
|
+
if (!el.isConnected) return null;
|
|
7822
|
+
const doc = el.ownerDocument;
|
|
7823
|
+
const range = doc.createRange();
|
|
7825
7824
|
const from = contentPositionIn(el, start2);
|
|
7826
7825
|
const to = contentPositionIn(el, start2 + length);
|
|
7827
7826
|
try {
|
|
7828
7827
|
range.setStart(from.node, from.offset);
|
|
7829
7828
|
range.setEnd(to.node, to.offset);
|
|
7830
7829
|
} catch {
|
|
7831
|
-
return;
|
|
7830
|
+
return null;
|
|
7832
7831
|
}
|
|
7832
|
+
return range;
|
|
7833
|
+
}
|
|
7834
|
+
function selectRange(el, start2, length) {
|
|
7835
|
+
const sel = typeof window !== "undefined" ? window.getSelection() : null;
|
|
7836
|
+
if (!sel || !el.isConnected) return;
|
|
7837
|
+
el.focus();
|
|
7838
|
+
const range = contentRangeIn(el, start2, length);
|
|
7839
|
+
if (!range) return;
|
|
7833
7840
|
sel.removeAllRanges();
|
|
7834
7841
|
sel.addRange(range);
|
|
7835
7842
|
}
|
|
7843
|
+
var FIND_HIGHLIGHT = "docxodus-find";
|
|
7844
|
+
var FIND_HIGHLIGHT_ACTIVE = "docxodus-find-active";
|
|
7845
|
+
var FIND_PAINT_LIMIT = 500;
|
|
7846
|
+
var findHighlightStyledDocuments = /* @__PURE__ */ new WeakSet();
|
|
7847
|
+
var findPaintOwner = null;
|
|
7848
|
+
function ensureFindHighlightStyles(doc) {
|
|
7849
|
+
if (findHighlightStyledDocuments.has(doc)) return;
|
|
7850
|
+
findHighlightStyledDocuments.add(doc);
|
|
7851
|
+
const style = doc.createElement("style");
|
|
7852
|
+
style.dataset.docxodusFindHighlight = "true";
|
|
7853
|
+
style.textContent = `
|
|
7854
|
+
::highlight(${FIND_HIGHLIGHT}) { background-color: rgba(15, 118, 110, .16); }
|
|
7855
|
+
::highlight(${FIND_HIGHLIGHT_ACTIVE}) { background-color: rgba(15, 118, 110, .38); }
|
|
7856
|
+
`;
|
|
7857
|
+
(doc.head ?? doc.documentElement).appendChild(style);
|
|
7858
|
+
}
|
|
7859
|
+
function highlightRegistry() {
|
|
7860
|
+
if (typeof CSS === "undefined") return null;
|
|
7861
|
+
const registry = CSS.highlights;
|
|
7862
|
+
const ctor = globalThis.Highlight;
|
|
7863
|
+
return registry && typeof ctor === "function" ? registry : null;
|
|
7864
|
+
}
|
|
7865
|
+
function makeHighlight(ranges) {
|
|
7866
|
+
const ctor = globalThis.Highlight;
|
|
7867
|
+
return new ctor(...ranges);
|
|
7868
|
+
}
|
|
7836
7869
|
function inBorderWrapper(el) {
|
|
7837
7870
|
const style = el.parentElement?.getAttribute("style") ?? "";
|
|
7838
7871
|
return /border-(top|bottom|left|right):\s*(?!none)[^;]+/i.test(style);
|
|
@@ -8203,6 +8236,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
8203
8236
|
document.removeEventListener("mouseup", this.onMouseUp, true);
|
|
8204
8237
|
}
|
|
8205
8238
|
this.clearDragSelection();
|
|
8239
|
+
this.clearFindMatches();
|
|
8206
8240
|
this.teardownBlockDrag();
|
|
8207
8241
|
this.gutter?.dispose();
|
|
8208
8242
|
this.gutter = null;
|
|
@@ -10601,15 +10635,65 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
10601
10635
|
}
|
|
10602
10636
|
return out;
|
|
10603
10637
|
}
|
|
10604
|
-
/**
|
|
10638
|
+
/**
|
|
10639
|
+
* Select a match, focus its block and scroll it into view — the caret lands on the hit, so
|
|
10640
|
+
* typing continues in the document. A find box that is still being typed into wants
|
|
10641
|
+
* `showFindMatches` instead; this is the commit step (closing the bar, jumping in to edit).
|
|
10642
|
+
*/
|
|
10605
10643
|
selectMatch(match) {
|
|
10606
10644
|
if (!match.block.isConnected) return;
|
|
10645
|
+
this.clearFindMatches();
|
|
10607
10646
|
this.activeBlock = match.block;
|
|
10608
10647
|
selectRange(match.block, match.start, match.length);
|
|
10609
10648
|
match.block.scrollIntoView({ block: "center", behavior: "smooth" });
|
|
10610
10649
|
}
|
|
10611
|
-
/**
|
|
10612
|
-
|
|
10650
|
+
/**
|
|
10651
|
+
* Paint `matches` and scroll the one at `activeIndex` into view WITHOUT moving focus or the
|
|
10652
|
+
* caret. This is what a find field calls on every keystroke: the document shows where the hits
|
|
10653
|
+
* are and rides to the current one, while the keyboard stays in the search box.
|
|
10654
|
+
*
|
|
10655
|
+
* Falls back to the document selection where the CSS Custom Highlight API is missing — still
|
|
10656
|
+
* without focusing the block, so the next character typed goes to the search field either way.
|
|
10657
|
+
*/
|
|
10658
|
+
showFindMatches(matches, activeIndex) {
|
|
10659
|
+
const active = matches[activeIndex];
|
|
10660
|
+
this.clearFindMatches();
|
|
10661
|
+
if (!active || !active.block.isConnected) return;
|
|
10662
|
+
this.activeBlock = active.block;
|
|
10663
|
+
const activeRange = contentRangeIn(active.block, active.start, active.length);
|
|
10664
|
+
const registry = highlightRegistry();
|
|
10665
|
+
if (registry && activeRange) {
|
|
10666
|
+
ensureFindHighlightStyles(this.container.ownerDocument);
|
|
10667
|
+
const rest = [];
|
|
10668
|
+
for (let i = 0; i < matches.length && rest.length < FIND_PAINT_LIMIT; i++) {
|
|
10669
|
+
if (i === activeIndex) continue;
|
|
10670
|
+
const range = contentRangeIn(matches[i].block, matches[i].start, matches[i].length);
|
|
10671
|
+
if (range) rest.push(range);
|
|
10672
|
+
}
|
|
10673
|
+
if (rest.length > 0) registry.set(FIND_HIGHLIGHT, makeHighlight(rest));
|
|
10674
|
+
registry.set(FIND_HIGHLIGHT_ACTIVE, makeHighlight([activeRange]));
|
|
10675
|
+
findPaintOwner = this;
|
|
10676
|
+
} else if (activeRange) {
|
|
10677
|
+
const sel = this.container.ownerDocument.defaultView?.getSelection();
|
|
10678
|
+
sel?.removeAllRanges();
|
|
10679
|
+
sel?.addRange(activeRange);
|
|
10680
|
+
}
|
|
10681
|
+
active.block.scrollIntoView({ block: "center", behavior: "smooth" });
|
|
10682
|
+
}
|
|
10683
|
+
/** Drop the find painting (closing the find bar, or committing a match to the caret). */
|
|
10684
|
+
clearFindMatches() {
|
|
10685
|
+
if (findPaintOwner !== this) return;
|
|
10686
|
+
const registry = highlightRegistry();
|
|
10687
|
+
registry?.delete(FIND_HIGHLIGHT);
|
|
10688
|
+
registry?.delete(FIND_HIGHLIGHT_ACTIVE);
|
|
10689
|
+
findPaintOwner = null;
|
|
10690
|
+
}
|
|
10691
|
+
/**
|
|
10692
|
+
* Replace one match's text (formatting of the surrounding run is inherited). `focus: false`
|
|
10693
|
+
* leaves the keyboard where it is — a Replace button pressed from the find bar must not drag
|
|
10694
|
+
* the caret into the document mid-search.
|
|
10695
|
+
*/
|
|
10696
|
+
replaceMatch(match, replacement, options = {}) {
|
|
10613
10697
|
const block = match.block;
|
|
10614
10698
|
if (this.closed || !block.isConnected) return false;
|
|
10615
10699
|
const unid = block.getAttribute("data-anchor");
|
|
@@ -10630,7 +10714,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
10630
10714
|
);
|
|
10631
10715
|
if (!res.success) return false;
|
|
10632
10716
|
const fresh = this.swapBlock(block, unid, res.modified?.[0]);
|
|
10633
|
-
if (fresh) selectRange(fresh, span.start, replacement.length);
|
|
10717
|
+
if (fresh && options.focus !== false) selectRange(fresh, span.start, replacement.length);
|
|
10634
10718
|
return true;
|
|
10635
10719
|
}
|
|
10636
10720
|
/** Replace every occurrence; returns how many were replaced. */
|
|
@@ -10649,7 +10733,11 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
10649
10733
|
for (const m of list.slice().sort((a, b) => b.start - a.start)) {
|
|
10650
10734
|
if (!current.isConnected) break;
|
|
10651
10735
|
const before = current;
|
|
10652
|
-
if (this.replaceMatch(
|
|
10736
|
+
if (this.replaceMatch(
|
|
10737
|
+
{ block: current, start: m.start, length: m.length },
|
|
10738
|
+
replacement,
|
|
10739
|
+
{ focus: options.focus }
|
|
10740
|
+
)) {
|
|
10653
10741
|
count++;
|
|
10654
10742
|
current = this.activeBlock && this.activeBlock !== before ? this.activeBlock : current;
|
|
10655
10743
|
}
|
|
@@ -11331,7 +11419,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
11331
11419
|
}
|
|
11332
11420
|
|
|
11333
11421
|
// src/ribbon-chrome.ts
|
|
11334
|
-
var RIBBON_STYLE_VERSION = "
|
|
11422
|
+
var RIBBON_STYLE_VERSION = "11";
|
|
11335
11423
|
var RIBBON_STYLE_ATTR = "data-docxodus-ribbon-styles";
|
|
11336
11424
|
var COMMENT_GUTTER_WIDTH = 264;
|
|
11337
11425
|
var RIBBON_CSS = `
|
|
@@ -11764,9 +11852,11 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
11764
11852
|
background: linear-gradient(to top, var(--dxr-desk), transparent);
|
|
11765
11853
|
}
|
|
11766
11854
|
.dxr[data-chrome] .dxr-surface { position: relative; margin: 26px auto; padding: 0 16px 96px; }
|
|
11767
|
-
/*
|
|
11768
|
-
|
|
11769
|
-
.dxr[data-chrome="full"] .dxr-surface[data-comments="on"]
|
|
11855
|
+
/* Reserve the markup area only while a visible comment or draft needs it. The gutter owns
|
|
11856
|
+
its empty/hidden state, so ordinary documents stay centered without disabling comments. */
|
|
11857
|
+
.dxr[data-chrome="full"] .dxr-surface[data-comments="on"]:has(> .docx-comment-gutter:not([data-empty]):not([hidden])) {
|
|
11858
|
+
padding-right: calc(var(--dxr-gutter) + 8px);
|
|
11859
|
+
}
|
|
11770
11860
|
.dxr-surface [contenteditable="true"]:focus {
|
|
11771
11861
|
outline: 2px solid var(--dxr-accent);
|
|
11772
11862
|
outline-offset: 2px;
|
|
@@ -13917,11 +14007,18 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
13917
14007
|
if (!this.live || !text.value) return;
|
|
13918
14008
|
let count = 0;
|
|
13919
14009
|
this.run("replace all", () => {
|
|
13920
|
-
count = this.live.replaceAll(text.value, replace.value, {
|
|
14010
|
+
count = this.live.replaceAll(text.value, replace.value, {
|
|
14011
|
+
matchCase: matchCase.checked,
|
|
14012
|
+
focus: false
|
|
14013
|
+
});
|
|
13921
14014
|
});
|
|
13922
14015
|
this.setStatus(`Replaced ${count} occurrence${count === 1 ? "" : "s"}`);
|
|
13923
14016
|
this.refreshFind(true);
|
|
13924
14017
|
});
|
|
14018
|
+
for (const id of ["findprev", "findnext", "replaceone", "replaceall"]) {
|
|
14019
|
+
const button = this.control(id);
|
|
14020
|
+
if (button) this.keepSelection(button);
|
|
14021
|
+
}
|
|
13925
14022
|
bar.hidden = true;
|
|
13926
14023
|
}
|
|
13927
14024
|
openFindBar(withReplace) {
|
|
@@ -13932,28 +14029,44 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
13932
14029
|
const text = this.require("findtext");
|
|
13933
14030
|
text.focus();
|
|
13934
14031
|
text.select();
|
|
13935
|
-
this.refreshFind(
|
|
14032
|
+
this.refreshFind(true);
|
|
13936
14033
|
}
|
|
14034
|
+
/**
|
|
14035
|
+
* Close the bar and hand the current hit over to the caret: the document is where the user is
|
|
14036
|
+
* going next, and Word leaves the insertion point on the match it stopped at. Until this runs
|
|
14037
|
+
* the match is only PAINTED (see `showFindMatches`), so the search field keeps the keyboard for
|
|
14038
|
+
* as long as the bar is open.
|
|
14039
|
+
*/
|
|
13937
14040
|
closeFindBar() {
|
|
13938
14041
|
const bar = this.control("findbar");
|
|
13939
14042
|
if (bar) bar.hidden = true;
|
|
14043
|
+
const match = this.findMatches[this.findIndex];
|
|
14044
|
+
if (match) this.live?.selectMatch(match);
|
|
14045
|
+
else this.live?.clearFindMatches();
|
|
13940
14046
|
this.findMatches = [];
|
|
13941
14047
|
this.findIndex = -1;
|
|
13942
14048
|
}
|
|
13943
|
-
|
|
14049
|
+
/**
|
|
14050
|
+
* Re-scan for the current query. `show` paints the hits and rides to the first one — it never
|
|
14051
|
+
* focuses the document, so typing the second character of a query that already matched goes on
|
|
14052
|
+
* refining the search instead of being typed into the document.
|
|
14053
|
+
*/
|
|
14054
|
+
refreshFind(show) {
|
|
13944
14055
|
const text = this.require("findtext");
|
|
13945
14056
|
const matchCase = this.require("findcase").checked;
|
|
13946
14057
|
this.findMatches = this.live && text.value ? this.live.find(text.value, { matchCase }) : [];
|
|
13947
14058
|
this.findIndex = this.findMatches.length > 0 ? 0 : -1;
|
|
13948
14059
|
this.updateFindCount();
|
|
13949
|
-
if (
|
|
14060
|
+
if (!show) return;
|
|
14061
|
+
if (this.findIndex >= 0) this.live?.showFindMatches(this.findMatches, this.findIndex);
|
|
14062
|
+
else this.live?.clearFindMatches();
|
|
13950
14063
|
}
|
|
13951
14064
|
stepFind(direction) {
|
|
13952
14065
|
if (!this.live) return;
|
|
13953
14066
|
if (this.findMatches.length === 0) this.refreshFind(false);
|
|
13954
14067
|
if (this.findMatches.length === 0) return;
|
|
13955
14068
|
this.findIndex = (this.findIndex + direction + this.findMatches.length) % this.findMatches.length;
|
|
13956
|
-
this.live.
|
|
14069
|
+
this.live.showFindMatches(this.findMatches, this.findIndex);
|
|
13957
14070
|
this.updateFindCount();
|
|
13958
14071
|
}
|
|
13959
14072
|
replaceCurrent() {
|
|
@@ -13962,12 +14075,12 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
|
|
|
13962
14075
|
const match = this.findMatches[this.findIndex];
|
|
13963
14076
|
if (!match) return;
|
|
13964
14077
|
const replacement = this.require("replacetext").value;
|
|
13965
|
-
this.run("replace", () => this.live.replaceMatch(match, replacement));
|
|
14078
|
+
this.run("replace", () => this.live.replaceMatch(match, replacement, { focus: false }));
|
|
13966
14079
|
const keep = this.findIndex;
|
|
13967
14080
|
this.refreshFind(false);
|
|
13968
14081
|
if (this.findMatches.length > 0) {
|
|
13969
14082
|
this.findIndex = Math.min(keep, this.findMatches.length - 1);
|
|
13970
|
-
this.live.
|
|
14083
|
+
this.live.showFindMatches(this.findMatches, this.findIndex);
|
|
13971
14084
|
this.updateFindCount();
|
|
13972
14085
|
}
|
|
13973
14086
|
}
|
package/dist/editor.d.ts
CHANGED
|
@@ -886,13 +886,35 @@ export declare class DocxEditor {
|
|
|
886
886
|
find(query: string, options?: {
|
|
887
887
|
matchCase?: boolean;
|
|
888
888
|
}): EditorMatch[];
|
|
889
|
-
/**
|
|
889
|
+
/**
|
|
890
|
+
* Select a match, focus its block and scroll it into view — the caret lands on the hit, so
|
|
891
|
+
* typing continues in the document. A find box that is still being typed into wants
|
|
892
|
+
* `showFindMatches` instead; this is the commit step (closing the bar, jumping in to edit).
|
|
893
|
+
*/
|
|
890
894
|
selectMatch(match: EditorMatch): void;
|
|
891
|
-
/**
|
|
892
|
-
|
|
895
|
+
/**
|
|
896
|
+
* Paint `matches` and scroll the one at `activeIndex` into view WITHOUT moving focus or the
|
|
897
|
+
* caret. This is what a find field calls on every keystroke: the document shows where the hits
|
|
898
|
+
* are and rides to the current one, while the keyboard stays in the search box.
|
|
899
|
+
*
|
|
900
|
+
* Falls back to the document selection where the CSS Custom Highlight API is missing — still
|
|
901
|
+
* without focusing the block, so the next character typed goes to the search field either way.
|
|
902
|
+
*/
|
|
903
|
+
showFindMatches(matches: EditorMatch[], activeIndex: number): void;
|
|
904
|
+
/** Drop the find painting (closing the find bar, or committing a match to the caret). */
|
|
905
|
+
clearFindMatches(): void;
|
|
906
|
+
/**
|
|
907
|
+
* Replace one match's text (formatting of the surrounding run is inherited). `focus: false`
|
|
908
|
+
* leaves the keyboard where it is — a Replace button pressed from the find bar must not drag
|
|
909
|
+
* the caret into the document mid-search.
|
|
910
|
+
*/
|
|
911
|
+
replaceMatch(match: EditorMatch, replacement: string, options?: {
|
|
912
|
+
focus?: boolean;
|
|
913
|
+
}): boolean;
|
|
893
914
|
/** Replace every occurrence; returns how many were replaced. */
|
|
894
915
|
replaceAll(query: string, replacement: string, options?: {
|
|
895
916
|
matchCase?: boolean;
|
|
917
|
+
focus?: boolean;
|
|
896
918
|
}): number;
|
|
897
919
|
/** Set the author-pinned zoom (1 = 100%). Fit-to-width still caps it on narrow hosts. */
|
|
898
920
|
setZoom(scale: number): void;
|
package/dist/editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"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"}
|
package/dist/editor.js
CHANGED
|
@@ -614,16 +614,20 @@ function selectionSpanIn(block) {
|
|
|
614
614
|
const span = trimmedSpan(block, { start: Math.min(start, end), length: Math.abs(end - start) });
|
|
615
615
|
return span.length > 0 ? span : null;
|
|
616
616
|
}
|
|
617
|
-
/**
|
|
618
|
-
|
|
619
|
-
|
|
617
|
+
/**
|
|
618
|
+
* A DOM Range over the content text spanning [start, start+length) within `el` (skips markers),
|
|
619
|
+
* or null when the block is detached or the offsets do not resolve. Building the range is kept
|
|
620
|
+
* separate from selecting it so a caller that only wants to PAINT a span (find preview) does not
|
|
621
|
+
* have to touch the selection — and therefore focus — at all.
|
|
622
|
+
*/
|
|
623
|
+
function contentRangeIn(el, start, length) {
|
|
620
624
|
// The block may have been swapped out of the document by a re-render before this runs
|
|
621
625
|
// (e.g. a focus-stealing toolbar control firing twice). addRange on a detached range
|
|
622
626
|
// throws "the given range isn't in document" — skip rather than warn.
|
|
623
|
-
if (!
|
|
624
|
-
return;
|
|
625
|
-
el.
|
|
626
|
-
const range =
|
|
627
|
+
if (!el.isConnected)
|
|
628
|
+
return null;
|
|
629
|
+
const doc = el.ownerDocument;
|
|
630
|
+
const range = doc.createRange();
|
|
627
631
|
const from = contentPositionIn(el, start);
|
|
628
632
|
const to = contentPositionIn(el, start + length);
|
|
629
633
|
try {
|
|
@@ -631,11 +635,66 @@ function selectRange(el, start, length) {
|
|
|
631
635
|
range.setEnd(to.node, to.offset);
|
|
632
636
|
}
|
|
633
637
|
catch {
|
|
634
|
-
return;
|
|
638
|
+
return null;
|
|
635
639
|
}
|
|
640
|
+
return range;
|
|
641
|
+
}
|
|
642
|
+
/** Restore a content-text selection spanning [start, start+length) within `el` (skips markers). */
|
|
643
|
+
function selectRange(el, start, length) {
|
|
644
|
+
const sel = typeof window !== "undefined" ? window.getSelection() : null;
|
|
645
|
+
if (!sel || !el.isConnected)
|
|
646
|
+
return;
|
|
647
|
+
el.focus();
|
|
648
|
+
const range = contentRangeIn(el, start, length);
|
|
649
|
+
if (!range)
|
|
650
|
+
return;
|
|
636
651
|
sel.removeAllRanges();
|
|
637
652
|
sel.addRange(range);
|
|
638
653
|
}
|
|
654
|
+
// ─── Find painting ──────────────────────────────────────────────────────────
|
|
655
|
+
//
|
|
656
|
+
// A find box has to show WHERE the hits are while the user is still typing into it, so it cannot
|
|
657
|
+
// express "the current match" as a selection: putting a caret in a contenteditable block focuses
|
|
658
|
+
// that block, and the next keystroke lands in the document instead of the search field. These
|
|
659
|
+
// highlights paint the same information with no focus and no DOM mutation — the CSS Custom
|
|
660
|
+
// Highlight API takes plain Ranges over the live text and styles them from the stylesheet.
|
|
661
|
+
/** Every match currently on screen. */
|
|
662
|
+
const FIND_HIGHLIGHT = "docxodus-find";
|
|
663
|
+
/** The one the find bar's counter is pointing at. */
|
|
664
|
+
const FIND_HIGHLIGHT_ACTIVE = "docxodus-find-active";
|
|
665
|
+
/** Ranges are cheap, but a pathological query ("e" in a book) is not worth painting in full. */
|
|
666
|
+
const FIND_PAINT_LIMIT = 500;
|
|
667
|
+
const findHighlightStyledDocuments = new WeakSet();
|
|
668
|
+
/**
|
|
669
|
+
* Which editor last painted into the shared registry. Only that instance may clear it, so a
|
|
670
|
+
* second surface on the page cannot wipe the first one's find painting when its own find bar
|
|
671
|
+
* closes. Two live searches still share one painting — the newer one wins, which is what a
|
|
672
|
+
* single visible "current match" should mean.
|
|
673
|
+
*/
|
|
674
|
+
let findPaintOwner = null;
|
|
675
|
+
function ensureFindHighlightStyles(doc) {
|
|
676
|
+
if (findHighlightStyledDocuments.has(doc))
|
|
677
|
+
return;
|
|
678
|
+
findHighlightStyledDocuments.add(doc);
|
|
679
|
+
const style = doc.createElement("style");
|
|
680
|
+
style.dataset.docxodusFindHighlight = "true";
|
|
681
|
+
style.textContent = `
|
|
682
|
+
::highlight(${FIND_HIGHLIGHT}) { background-color: rgba(15, 118, 110, .16); }
|
|
683
|
+
::highlight(${FIND_HIGHLIGHT_ACTIVE}) { background-color: rgba(15, 118, 110, .38); }
|
|
684
|
+
`;
|
|
685
|
+
(doc.head ?? doc.documentElement).appendChild(style);
|
|
686
|
+
}
|
|
687
|
+
function highlightRegistry() {
|
|
688
|
+
if (typeof CSS === "undefined")
|
|
689
|
+
return null;
|
|
690
|
+
const registry = CSS.highlights;
|
|
691
|
+
const ctor = globalThis.Highlight;
|
|
692
|
+
return registry && typeof ctor === "function" ? registry : null;
|
|
693
|
+
}
|
|
694
|
+
function makeHighlight(ranges) {
|
|
695
|
+
const ctor = globalThis.Highlight;
|
|
696
|
+
return new ctor(...ranges);
|
|
697
|
+
}
|
|
639
698
|
/**
|
|
640
699
|
* True when `el`'s immediate parent is a paragraph-border `<div>` the full render wrapped it in
|
|
641
700
|
* (CreateBorderDivs groups visibly-bordered paragraphs into a div). The body wrapper div has no
|
|
@@ -1021,6 +1080,7 @@ export class DocxEditor {
|
|
|
1021
1080
|
document.removeEventListener("mouseup", this.onMouseUp, true);
|
|
1022
1081
|
}
|
|
1023
1082
|
this.clearDragSelection();
|
|
1083
|
+
this.clearFindMatches();
|
|
1024
1084
|
this.teardownBlockDrag();
|
|
1025
1085
|
this.gutter?.dispose();
|
|
1026
1086
|
this.gutter = null;
|
|
@@ -3711,16 +3771,75 @@ export class DocxEditor {
|
|
|
3711
3771
|
}
|
|
3712
3772
|
return out;
|
|
3713
3773
|
}
|
|
3714
|
-
/**
|
|
3774
|
+
/**
|
|
3775
|
+
* Select a match, focus its block and scroll it into view — the caret lands on the hit, so
|
|
3776
|
+
* typing continues in the document. A find box that is still being typed into wants
|
|
3777
|
+
* `showFindMatches` instead; this is the commit step (closing the bar, jumping in to edit).
|
|
3778
|
+
*/
|
|
3715
3779
|
selectMatch(match) {
|
|
3716
3780
|
if (!match.block.isConnected)
|
|
3717
3781
|
return;
|
|
3782
|
+
this.clearFindMatches();
|
|
3718
3783
|
this.activeBlock = match.block;
|
|
3719
3784
|
selectRange(match.block, match.start, match.length);
|
|
3720
3785
|
match.block.scrollIntoView({ block: "center", behavior: "smooth" });
|
|
3721
3786
|
}
|
|
3722
|
-
/**
|
|
3723
|
-
|
|
3787
|
+
/**
|
|
3788
|
+
* Paint `matches` and scroll the one at `activeIndex` into view WITHOUT moving focus or the
|
|
3789
|
+
* caret. This is what a find field calls on every keystroke: the document shows where the hits
|
|
3790
|
+
* are and rides to the current one, while the keyboard stays in the search box.
|
|
3791
|
+
*
|
|
3792
|
+
* Falls back to the document selection where the CSS Custom Highlight API is missing — still
|
|
3793
|
+
* without focusing the block, so the next character typed goes to the search field either way.
|
|
3794
|
+
*/
|
|
3795
|
+
showFindMatches(matches, activeIndex) {
|
|
3796
|
+
const active = matches[activeIndex];
|
|
3797
|
+
this.clearFindMatches();
|
|
3798
|
+
if (!active || !active.block.isConnected)
|
|
3799
|
+
return;
|
|
3800
|
+
this.activeBlock = active.block;
|
|
3801
|
+
const activeRange = contentRangeIn(active.block, active.start, active.length);
|
|
3802
|
+
const registry = highlightRegistry();
|
|
3803
|
+
if (registry && activeRange) {
|
|
3804
|
+
ensureFindHighlightStyles(this.container.ownerDocument);
|
|
3805
|
+
const rest = [];
|
|
3806
|
+
for (let i = 0; i < matches.length && rest.length < FIND_PAINT_LIMIT; i++) {
|
|
3807
|
+
if (i === activeIndex)
|
|
3808
|
+
continue;
|
|
3809
|
+
const range = contentRangeIn(matches[i].block, matches[i].start, matches[i].length);
|
|
3810
|
+
if (range)
|
|
3811
|
+
rest.push(range);
|
|
3812
|
+
}
|
|
3813
|
+
if (rest.length > 0)
|
|
3814
|
+
registry.set(FIND_HIGHLIGHT, makeHighlight(rest));
|
|
3815
|
+
registry.set(FIND_HIGHLIGHT_ACTIVE, makeHighlight([activeRange]));
|
|
3816
|
+
findPaintOwner = this;
|
|
3817
|
+
}
|
|
3818
|
+
else if (activeRange) {
|
|
3819
|
+
// No highlight registry (older Firefox/Safari): the document selection is the only paint
|
|
3820
|
+
// available. It is not registry-owned, so `clearFindMatches` leaves it — the next
|
|
3821
|
+
// `showFindMatches` or the closing `selectMatch` overwrites it.
|
|
3822
|
+
const sel = this.container.ownerDocument.defaultView?.getSelection();
|
|
3823
|
+
sel?.removeAllRanges();
|
|
3824
|
+
sel?.addRange(activeRange);
|
|
3825
|
+
}
|
|
3826
|
+
active.block.scrollIntoView({ block: "center", behavior: "smooth" });
|
|
3827
|
+
}
|
|
3828
|
+
/** Drop the find painting (closing the find bar, or committing a match to the caret). */
|
|
3829
|
+
clearFindMatches() {
|
|
3830
|
+
if (findPaintOwner !== this)
|
|
3831
|
+
return;
|
|
3832
|
+
const registry = highlightRegistry();
|
|
3833
|
+
registry?.delete(FIND_HIGHLIGHT);
|
|
3834
|
+
registry?.delete(FIND_HIGHLIGHT_ACTIVE);
|
|
3835
|
+
findPaintOwner = null;
|
|
3836
|
+
}
|
|
3837
|
+
/**
|
|
3838
|
+
* Replace one match's text (formatting of the surrounding run is inherited). `focus: false`
|
|
3839
|
+
* leaves the keyboard where it is — a Replace button pressed from the find bar must not drag
|
|
3840
|
+
* the caret into the document mid-search.
|
|
3841
|
+
*/
|
|
3842
|
+
replaceMatch(match, replacement, options = {}) {
|
|
3724
3843
|
const block = match.block;
|
|
3725
3844
|
if (this.closed || !block.isConnected)
|
|
3726
3845
|
return false;
|
|
@@ -3738,7 +3857,7 @@ export class DocxEditor {
|
|
|
3738
3857
|
if (!res.success)
|
|
3739
3858
|
return false;
|
|
3740
3859
|
const fresh = this.swapBlock(block, unid, res.modified?.[0]);
|
|
3741
|
-
if (fresh)
|
|
3860
|
+
if (fresh && options.focus !== false)
|
|
3742
3861
|
selectRange(fresh, span.start, replacement.length);
|
|
3743
3862
|
return true;
|
|
3744
3863
|
}
|
|
@@ -3761,7 +3880,7 @@ export class DocxEditor {
|
|
|
3761
3880
|
if (!current.isConnected)
|
|
3762
3881
|
break;
|
|
3763
3882
|
const before = current;
|
|
3764
|
-
if (this.replaceMatch({ block: current, start: m.start, length: m.length }, replacement)) {
|
|
3883
|
+
if (this.replaceMatch({ block: current, start: m.start, length: m.length }, replacement, { focus: options.focus })) {
|
|
3765
3884
|
count++;
|
|
3766
3885
|
// swapBlock replaced the node; keep following it.
|
|
3767
3886
|
current = this.activeBlock && this.activeBlock !== before ? this.activeBlock : current;
|