docxodus 12.0.1 → 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 +197 -25
  3. package/dist/editor.d.ts +42 -3
  4. package/dist/editor.d.ts.map +1 -1
  5. package/dist/editor.js +204 -16
  6. package/dist/editor.js.map +1 -1
  7. package/dist/embed.bundle.js +635 -50
  8. package/dist/embed.d.ts +30 -1
  9. package/dist/embed.d.ts.map +1 -1
  10. package/dist/embed.iife.js +635 -50
  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.0/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.0/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.0/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.0`, 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
@@ -7453,6 +7453,12 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
7453
7453
  const text = (unit.textContent ?? "").trim().replace(/\s+/g, " ");
7454
7454
  return text.length > 48 ? `${text.slice(0, 48)}\u2026` : text;
7455
7455
  }
7456
+ var BLOCK_HANDLE_WIDTH = 26;
7457
+ var BLOCK_HANDLE_HEIGHT = 28;
7458
+ var BLOCK_HANDLE_GAP = 6;
7459
+ function clampToRange(value, low, high) {
7460
+ return Math.max(low, Math.min(value, high));
7461
+ }
7456
7462
  function ensureBlockDragStyles(doc) {
7457
7463
  if (blockDragStyledDocuments.has(doc)) return;
7458
7464
  blockDragStyledDocuments.add(doc);
@@ -7811,22 +7817,55 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
7811
7817
  const span = trimmedSpan(block, { start: Math.min(start2, end), length: Math.abs(end - start2) });
7812
7818
  return span.length > 0 ? span : null;
7813
7819
  }
7814
- function selectRange(el, start2, length) {
7815
- const sel = typeof window !== "undefined" ? window.getSelection() : null;
7816
- if (!sel || !el.isConnected) return;
7817
- el.focus();
7818
- 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();
7819
7824
  const from = contentPositionIn(el, start2);
7820
7825
  const to = contentPositionIn(el, start2 + length);
7821
7826
  try {
7822
7827
  range.setStart(from.node, from.offset);
7823
7828
  range.setEnd(to.node, to.offset);
7824
7829
  } catch {
7825
- return;
7830
+ return null;
7826
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;
7827
7840
  sel.removeAllRanges();
7828
7841
  sel.addRange(range);
7829
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
+ }
7830
7869
  function inBorderWrapper(el) {
7831
7870
  const style = el.parentElement?.getAttribute("style") ?? "";
7832
7871
  return /border-(top|bottom|left|right):\s*(?!none)[^;]+/i.test(style);
@@ -7915,6 +7954,10 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
7915
7954
  this.blockMoveMenu = null;
7916
7955
  this.blockMoveLive = null;
7917
7956
  this.blockDragSource = null;
7957
+ /** Whether hover or focus currently wants a handle for `blockDragSource`.
7958
+ * Tracked apart from the handle's `display`, which the viewport clip also drives: a handle
7959
+ * withdrawn because its block scrolled out of view has to come back when it scrolls in. */
7960
+ this.blockHandleWanted = false;
7918
7961
  this.blockDragCleanup = [];
7919
7962
  /** Block boxes measured at drag start — see `BlockDropZone`. Empty when no drag is in flight. */
7920
7963
  this.dropZones = [];
@@ -8193,6 +8236,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
8193
8236
  document.removeEventListener("mouseup", this.onMouseUp, true);
8194
8237
  }
8195
8238
  this.clearDragSelection();
8239
+ this.clearFindMatches();
8196
8240
  this.teardownBlockDrag();
8197
8241
  this.gutter?.dispose();
8198
8242
  this.gutter = null;
@@ -8311,11 +8355,47 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
8311
8355
  }
8312
8356
  return null;
8313
8357
  }
8358
+ /**
8359
+ * The rectangle the floating handle may occupy: the window, narrowed by every ancestor that
8360
+ * clips its overflow.
8361
+ *
8362
+ * The handle is `position: fixed`, so it is placed in viewport coordinates and no ancestor's
8363
+ * overflow clips it for us. But the editor is routinely mounted inside a bounded scroller —
8364
+ * the ribbon puts its surface in one, inside a clipped card — and a block scrolled out of that
8365
+ * scroller has to take its handle with it rather than leave it parked over the host's chrome.
8366
+ *
8367
+ * Gated on the computed `overflow` rather than on whether an element scrolls right now, so the
8368
+ * answer does not depend on how much content happens to be loaded.
8369
+ */
8370
+ blockHandleClipRect() {
8371
+ const view = this.container.ownerDocument.defaultView;
8372
+ const clip = {
8373
+ top: 0,
8374
+ left: 0,
8375
+ right: view?.innerWidth ?? Number.MAX_SAFE_INTEGER,
8376
+ bottom: view?.innerHeight ?? Number.MAX_SAFE_INTEGER
8377
+ };
8378
+ for (let el = this.editRoot; el; el = el.parentElement) {
8379
+ const style = view?.getComputedStyle(el);
8380
+ if (!style || style.overflowX === "visible" && style.overflowY === "visible") continue;
8381
+ const box = el.getBoundingClientRect();
8382
+ if (style.overflowY !== "visible") {
8383
+ clip.top = Math.max(clip.top, box.top);
8384
+ clip.bottom = Math.min(clip.bottom, box.bottom);
8385
+ }
8386
+ if (style.overflowX !== "visible") {
8387
+ clip.left = Math.max(clip.left, box.left);
8388
+ clip.right = Math.min(clip.right, box.right);
8389
+ }
8390
+ }
8391
+ return clip;
8392
+ }
8314
8393
  showBlockHandle(unit) {
8315
8394
  const handle = this.blockDragHandle;
8316
8395
  if (!handle || !this.isMovableBlockUnit(unit)) return;
8317
8396
  const changed = unit !== this.blockDragSource;
8318
8397
  this.blockDragSource = unit;
8398
+ this.blockHandleWanted = true;
8319
8399
  const known = this.blockMoveTargetsFor(unit, { cachedOnly: true });
8320
8400
  if (known?.size === 0) {
8321
8401
  handle.style.display = "none";
@@ -8323,19 +8403,31 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
8323
8403
  }
8324
8404
  if (changed && known === void 0) this.prefetchBlockMoveTargets(unit);
8325
8405
  const rect = unit.getBoundingClientRect();
8406
+ const clip = this.blockHandleClipRect();
8407
+ if (rect.bottom <= clip.top || rect.top >= clip.bottom || rect.right <= clip.left || rect.left >= clip.right) {
8408
+ if (!this.blockDragging && this.blockMoveMenu?.style.display !== "block")
8409
+ handle.style.display = "none";
8410
+ return;
8411
+ }
8326
8412
  handle.style.display = "flex";
8327
- handle.style.left = `${Math.max(4, rect.left - 32)}px`;
8328
- handle.style.top = `${Math.max(4, rect.top + (unit.tagName === "TABLE" ? 6 : Math.max(0, (rect.height - 28) / 2)))}px`;
8413
+ const top2 = rect.top + (unit.tagName === "TABLE" ? 6 : Math.max(0, (rect.height - BLOCK_HANDLE_HEIGHT) / 2));
8414
+ handle.style.left = `${clampToRange(
8415
+ rect.left - (BLOCK_HANDLE_WIDTH + BLOCK_HANDLE_GAP),
8416
+ clip.left,
8417
+ clip.right - BLOCK_HANDLE_WIDTH
8418
+ )}px`;
8419
+ handle.style.top = `${clampToRange(top2, clip.top, clip.bottom - BLOCK_HANDLE_HEIGHT)}px`;
8329
8420
  const preview = blockPreviewText(unit);
8330
8421
  handle.setAttribute("aria-label", preview ? `Move block: ${preview}` : "Move block");
8331
8422
  }
8332
8423
  hideBlockHandle() {
8333
8424
  if (this.blockDragging || this.blockMoveMenu?.style.display === "block") return;
8425
+ this.blockHandleWanted = false;
8334
8426
  if (this.blockDragHandle) this.blockDragHandle.style.display = "none";
8335
8427
  }
8336
8428
  positionBlockHandle() {
8337
8429
  const source = this.currentBlockDragSource();
8338
- if (source && this.blockDragHandle?.style.display !== "none") this.showBlockHandle(source);
8430
+ if (source && this.blockHandleWanted) this.showBlockHandle(source);
8339
8431
  }
8340
8432
  /** Draw the drop line on `zone`'s requested edge, or take it away when there is no target. */
8341
8433
  paintDropIndicator(data) {
@@ -8773,6 +8865,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
8773
8865
  this.blockMoveMenu = null;
8774
8866
  this.blockMoveLive = null;
8775
8867
  this.blockDragSource = null;
8868
+ this.blockHandleWanted = false;
8776
8869
  this.blockDragging = false;
8777
8870
  this.blockDragPointerDown = false;
8778
8871
  }
@@ -10542,15 +10635,65 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
10542
10635
  }
10543
10636
  return out;
10544
10637
  }
10545
- /** 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
+ */
10546
10643
  selectMatch(match) {
10547
10644
  if (!match.block.isConnected) return;
10645
+ this.clearFindMatches();
10548
10646
  this.activeBlock = match.block;
10549
10647
  selectRange(match.block, match.start, match.length);
10550
10648
  match.block.scrollIntoView({ block: "center", behavior: "smooth" });
10551
10649
  }
10552
- /** Replace one match's text (formatting of the surrounding run is inherited). */
10553
- 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 = {}) {
10554
10697
  const block = match.block;
10555
10698
  if (this.closed || !block.isConnected) return false;
10556
10699
  const unid = block.getAttribute("data-anchor");
@@ -10571,7 +10714,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
10571
10714
  );
10572
10715
  if (!res.success) return false;
10573
10716
  const fresh = this.swapBlock(block, unid, res.modified?.[0]);
10574
- if (fresh) selectRange(fresh, span.start, replacement.length);
10717
+ if (fresh && options.focus !== false) selectRange(fresh, span.start, replacement.length);
10575
10718
  return true;
10576
10719
  }
10577
10720
  /** Replace every occurrence; returns how many were replaced. */
@@ -10590,7 +10733,11 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
10590
10733
  for (const m of list.slice().sort((a, b) => b.start - a.start)) {
10591
10734
  if (!current.isConnected) break;
10592
10735
  const before = current;
10593
- 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
+ )) {
10594
10741
  count++;
10595
10742
  current = this.activeBlock && this.activeBlock !== before ? this.activeBlock : current;
10596
10743
  }
@@ -11272,7 +11419,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
11272
11419
  }
11273
11420
 
11274
11421
  // src/ribbon-chrome.ts
11275
- var RIBBON_STYLE_VERSION = "10";
11422
+ var RIBBON_STYLE_VERSION = "11";
11276
11423
  var RIBBON_STYLE_ATTR = "data-docxodus-ribbon-styles";
11277
11424
  var COMMENT_GUTTER_WIDTH = 264;
11278
11425
  var RIBBON_CSS = `
@@ -11705,9 +11852,11 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
11705
11852
  background: linear-gradient(to top, var(--dxr-desk), transparent);
11706
11853
  }
11707
11854
  .dxr[data-chrome] .dxr-surface { position: relative; margin: 26px auto; padding: 0 16px 96px; }
11708
- /* The comment gutter sits to the right of the sheet; the surface reserves its width so the
11709
- page shifts left rather than the bubbles covering it \u2014 Word's markup area. */
11710
- .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
+ }
11711
11860
  .dxr-surface [contenteditable="true"]:focus {
11712
11861
  outline: 2px solid var(--dxr-accent);
11713
11862
  outline-offset: 2px;
@@ -13858,11 +14007,18 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
13858
14007
  if (!this.live || !text.value) return;
13859
14008
  let count = 0;
13860
14009
  this.run("replace all", () => {
13861
- 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
+ });
13862
14014
  });
13863
14015
  this.setStatus(`Replaced ${count} occurrence${count === 1 ? "" : "s"}`);
13864
14016
  this.refreshFind(true);
13865
14017
  });
14018
+ for (const id of ["findprev", "findnext", "replaceone", "replaceall"]) {
14019
+ const button = this.control(id);
14020
+ if (button) this.keepSelection(button);
14021
+ }
13866
14022
  bar.hidden = true;
13867
14023
  }
13868
14024
  openFindBar(withReplace) {
@@ -13873,28 +14029,44 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
13873
14029
  const text = this.require("findtext");
13874
14030
  text.focus();
13875
14031
  text.select();
13876
- this.refreshFind(false);
14032
+ this.refreshFind(true);
13877
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
+ */
13878
14040
  closeFindBar() {
13879
14041
  const bar = this.control("findbar");
13880
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();
13881
14046
  this.findMatches = [];
13882
14047
  this.findIndex = -1;
13883
14048
  }
13884
- 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) {
13885
14055
  const text = this.require("findtext");
13886
14056
  const matchCase = this.require("findcase").checked;
13887
14057
  this.findMatches = this.live && text.value ? this.live.find(text.value, { matchCase }) : [];
13888
14058
  this.findIndex = this.findMatches.length > 0 ? 0 : -1;
13889
14059
  this.updateFindCount();
13890
- 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();
13891
14063
  }
13892
14064
  stepFind(direction) {
13893
14065
  if (!this.live) return;
13894
14066
  if (this.findMatches.length === 0) this.refreshFind(false);
13895
14067
  if (this.findMatches.length === 0) return;
13896
14068
  this.findIndex = (this.findIndex + direction + this.findMatches.length) % this.findMatches.length;
13897
- this.live.selectMatch(this.findMatches[this.findIndex]);
14069
+ this.live.showFindMatches(this.findMatches, this.findIndex);
13898
14070
  this.updateFindCount();
13899
14071
  }
13900
14072
  replaceCurrent() {
@@ -13903,12 +14075,12 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
13903
14075
  const match = this.findMatches[this.findIndex];
13904
14076
  if (!match) return;
13905
14077
  const replacement = this.require("replacetext").value;
13906
- this.run("replace", () => this.live.replaceMatch(match, replacement));
14078
+ this.run("replace", () => this.live.replaceMatch(match, replacement, { focus: false }));
13907
14079
  const keep = this.findIndex;
13908
14080
  this.refreshFind(false);
13909
14081
  if (this.findMatches.length > 0) {
13910
14082
  this.findIndex = Math.min(keep, this.findMatches.length - 1);
13911
- this.live.selectMatch(this.findMatches[this.findIndex]);
14083
+ this.live.showFindMatches(this.findMatches, this.findIndex);
13912
14084
  this.updateFindCount();
13913
14085
  }
13914
14086
  }
package/dist/editor.d.ts CHANGED
@@ -236,6 +236,10 @@ export declare class DocxEditor {
236
236
  private blockMoveMenu;
237
237
  private blockMoveLive;
238
238
  private blockDragSource;
239
+ /** Whether hover or focus currently wants a handle for `blockDragSource`.
240
+ * Tracked apart from the handle's `display`, which the viewport clip also drives: a handle
241
+ * withdrawn because its block scrolled out of view has to come back when it scrolls in. */
242
+ private blockHandleWanted;
239
243
  private blockDragCleanup;
240
244
  /** Block boxes measured at drag start — see `BlockDropZone`. Empty when no drag is in flight. */
241
245
  private dropZones;
@@ -378,6 +382,19 @@ export declare class DocxEditor {
378
382
  private blockUnitOf;
379
383
  private isMovableBlockUnit;
380
384
  private currentBlockDragSource;
385
+ /**
386
+ * The rectangle the floating handle may occupy: the window, narrowed by every ancestor that
387
+ * clips its overflow.
388
+ *
389
+ * The handle is `position: fixed`, so it is placed in viewport coordinates and no ancestor's
390
+ * overflow clips it for us. But the editor is routinely mounted inside a bounded scroller —
391
+ * the ribbon puts its surface in one, inside a clipped card — and a block scrolled out of that
392
+ * scroller has to take its handle with it rather than leave it parked over the host's chrome.
393
+ *
394
+ * Gated on the computed `overflow` rather than on whether an element scrolls right now, so the
395
+ * answer does not depend on how much content happens to be loaded.
396
+ */
397
+ private blockHandleClipRect;
381
398
  private showBlockHandle;
382
399
  private hideBlockHandle;
383
400
  private positionBlockHandle;
@@ -869,13 +886,35 @@ export declare class DocxEditor {
869
886
  find(query: string, options?: {
870
887
  matchCase?: boolean;
871
888
  }): EditorMatch[];
872
- /** 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
+ */
873
894
  selectMatch(match: EditorMatch): void;
874
- /** Replace one match's text (formatting of the surrounding run is inherited). */
875
- 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;
876
914
  /** Replace every occurrence; returns how many were replaced. */
877
915
  replaceAll(query: string, replacement: string, options?: {
878
916
  matchCase?: boolean;
917
+ focus?: boolean;
879
918
  }): number;
880
919
  /** Set the author-pinned zoom (1 = 100%). Fit-to-width still caps it on narrow hosts. */
881
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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"}