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.
Files changed (75) hide show
  1. package/README.md +9 -4
  2. package/dist/editor.bundle.js +135 -22
  3. package/dist/editor.d.ts +25 -3
  4. package/dist/editor.d.ts.map +1 -1
  5. package/dist/editor.js +132 -13
  6. package/dist/editor.js.map +1 -1
  7. package/dist/embed.bundle.js +573 -47
  8. package/dist/embed.d.ts +30 -1
  9. package/dist/embed.d.ts.map +1 -1
  10. package/dist/embed.iife.js +573 -47
  11. package/dist/embed.js +124 -13
  12. package/dist/embed.js.map +1 -1
  13. package/dist/export-assets.json +33 -33
  14. package/dist/history.d.ts +265 -0
  15. package/dist/history.d.ts.map +1 -0
  16. package/dist/history.js +307 -0
  17. package/dist/history.js.map +1 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +20 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/ribbon-chrome.d.ts +2 -2
  23. package/dist/ribbon-chrome.d.ts.map +1 -1
  24. package/dist/ribbon-chrome.js +6 -4
  25. package/dist/ribbon-chrome.js.map +1 -1
  26. package/dist/ribbon.js +39 -8
  27. package/dist/ribbon.js.map +1 -1
  28. package/dist/session.js +1 -1
  29. package/dist/session.js.map +1 -1
  30. package/dist/types.d.ts +2 -0
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/types.js.map +1 -1
  33. package/dist/wasm/_framework/DocumentFormat.OpenXml.Framework.wasm +0 -0
  34. package/dist/wasm/_framework/DocumentFormat.OpenXml.Framework.wasm.br +0 -0
  35. package/dist/wasm/_framework/DocumentFormat.OpenXml.wasm +0 -0
  36. package/dist/wasm/_framework/DocumentFormat.OpenXml.wasm.br +0 -0
  37. package/dist/wasm/_framework/Docxodus.wasm +0 -0
  38. package/dist/wasm/_framework/Docxodus.wasm.br +0 -0
  39. package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
  40. package/dist/wasm/_framework/DocxodusWasm.wasm.br +0 -0
  41. package/dist/wasm/_framework/System.Collections.Concurrent.wasm +0 -0
  42. package/dist/wasm/_framework/System.Collections.Concurrent.wasm.br +0 -0
  43. package/dist/wasm/_framework/System.Collections.wasm +0 -0
  44. package/dist/wasm/_framework/System.Collections.wasm.br +0 -0
  45. package/dist/wasm/_framework/System.IO.Compression.wasm +0 -0
  46. package/dist/wasm/_framework/System.IO.Compression.wasm.br +0 -0
  47. package/dist/wasm/_framework/System.IO.Packaging.wasm +0 -0
  48. package/dist/wasm/_framework/System.IO.Packaging.wasm.br +0 -0
  49. package/dist/wasm/_framework/System.Linq.Expressions.wasm +0 -0
  50. package/dist/wasm/_framework/System.Linq.Expressions.wasm.br +0 -0
  51. package/dist/wasm/_framework/System.Memory.wasm +0 -0
  52. package/dist/wasm/_framework/System.Memory.wasm.br +0 -0
  53. package/dist/wasm/_framework/System.Net.Http.wasm +0 -0
  54. package/dist/wasm/_framework/System.Net.Http.wasm.br +0 -0
  55. package/dist/wasm/_framework/System.Private.CoreLib.wasm +0 -0
  56. package/dist/wasm/_framework/System.Private.CoreLib.wasm.br +0 -0
  57. package/dist/wasm/_framework/System.Private.Xml.Linq.wasm +0 -0
  58. package/dist/wasm/_framework/System.Private.Xml.Linq.wasm.br +0 -0
  59. package/dist/wasm/_framework/System.Private.Xml.wasm +0 -0
  60. package/dist/wasm/_framework/System.Private.Xml.wasm.br +0 -0
  61. package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm +0 -0
  62. package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm.br +0 -0
  63. package/dist/wasm/_framework/System.Runtime.wasm +0 -0
  64. package/dist/wasm/_framework/System.Runtime.wasm.br +0 -0
  65. package/dist/wasm/_framework/System.Security.Cryptography.wasm +0 -0
  66. package/dist/wasm/_framework/System.Security.Cryptography.wasm.br +0 -0
  67. package/dist/wasm/_framework/System.Text.Json.wasm +0 -0
  68. package/dist/wasm/_framework/System.Text.Json.wasm.br +0 -0
  69. package/dist/wasm/_framework/System.Text.RegularExpressions.wasm +0 -0
  70. package/dist/wasm/_framework/System.Text.RegularExpressions.wasm.br +0 -0
  71. package/dist/wasm/_framework/dotnet.boot.js +21 -21
  72. package/dist/wasm/_framework/dotnet.boot.js.br +0 -0
  73. package/dist/wasm/_framework/dotnet.native.wasm +0 -0
  74. package/dist/wasm/_framework/dotnet.native.wasm.br +0 -0
  75. 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.1/dist/embed.bundle.js';
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.1/dist/embed.bundle.js';
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.1/dist/embed.iife.js"></script>
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.1`, not `@latest`) — CDN responses are
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
@@ -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 selectRange(el, start2, length) {
7821
- const sel = typeof window !== "undefined" ? window.getSelection() : null;
7822
- if (!sel || !el.isConnected) return;
7823
- el.focus();
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
- /** Select a match and scroll it into view. */
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
- /** Replace one match's text (formatting of the surrounding run is inherited). */
10612
- replaceMatch(match, replacement) {
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({ block: current, start: m.start, length: m.length }, replacement)) {
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 = "10";
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
- /* The comment gutter sits to the right of the sheet; the surface reserves its width so the
11768
- page shifts left rather than the bubbles covering it \u2014 Word's markup area. */
11769
- .dxr[data-chrome="full"] .dxr-surface[data-comments="on"] { padding-right: calc(var(--dxr-gutter) + 8px); }
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, { matchCase: matchCase.checked });
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(false);
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
- refreshFind(select) {
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 (select && this.findIndex >= 0) this.live?.selectMatch(this.findMatches[this.findIndex]);
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.selectMatch(this.findMatches[this.findIndex]);
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.selectMatch(this.findMatches[this.findIndex]);
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
- /** Select a match and scroll it into view. */
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
- /** Replace one match's text (formatting of the surrounding run is inherited). */
892
- replaceMatch(match: EditorMatch, replacement: string): boolean;
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;
@@ -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
- /** Restore a content-text selection spanning [start, start+length) within `el` (skips markers). */
618
- function selectRange(el, start, length) {
619
- const sel = typeof window !== "undefined" ? window.getSelection() : null;
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 (!sel || !el.isConnected)
624
- return;
625
- el.focus();
626
- const range = document.createRange();
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
- /** Select a match and scroll it into view. */
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
- /** Replace one match's text (formatting of the surrounding run is inherited). */
3723
- replaceMatch(match, replacement) {
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;