docxodus 12.0.0 → 12.1.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 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@11.0.0/dist/embed.bundle.js';
95
+ import { createRibbonEditor } from 'https://cdn.jsdelivr.net/npm/docxodus@12.0.1/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@11.0.0/dist/embed.bundle.js';
583
+ from 'https://cdn.jsdelivr.net/npm/docxodus@12.0.1/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@11.0.0/dist/embed.iife.js"></script>
613
+ <script src="https://cdn.jsdelivr.net/npm/docxodus@12.0.1/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@11.0.0`, not `@latest`) — CDN responses are
629
+ - **Pin an exact version in production** (`docxodus@12.0.1`, 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
@@ -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);
@@ -7915,6 +7921,10 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
7915
7921
  this.blockMoveMenu = null;
7916
7922
  this.blockMoveLive = null;
7917
7923
  this.blockDragSource = null;
7924
+ /** Whether hover or focus currently wants a handle for `blockDragSource`.
7925
+ * Tracked apart from the handle's `display`, which the viewport clip also drives: a handle
7926
+ * withdrawn because its block scrolled out of view has to come back when it scrolls in. */
7927
+ this.blockHandleWanted = false;
7918
7928
  this.blockDragCleanup = [];
7919
7929
  /** Block boxes measured at drag start — see `BlockDropZone`. Empty when no drag is in flight. */
7920
7930
  this.dropZones = [];
@@ -8311,11 +8321,47 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
8311
8321
  }
8312
8322
  return null;
8313
8323
  }
8324
+ /**
8325
+ * The rectangle the floating handle may occupy: the window, narrowed by every ancestor that
8326
+ * clips its overflow.
8327
+ *
8328
+ * The handle is `position: fixed`, so it is placed in viewport coordinates and no ancestor's
8329
+ * overflow clips it for us. But the editor is routinely mounted inside a bounded scroller —
8330
+ * the ribbon puts its surface in one, inside a clipped card — and a block scrolled out of that
8331
+ * scroller has to take its handle with it rather than leave it parked over the host's chrome.
8332
+ *
8333
+ * Gated on the computed `overflow` rather than on whether an element scrolls right now, so the
8334
+ * answer does not depend on how much content happens to be loaded.
8335
+ */
8336
+ blockHandleClipRect() {
8337
+ const view = this.container.ownerDocument.defaultView;
8338
+ const clip = {
8339
+ top: 0,
8340
+ left: 0,
8341
+ right: view?.innerWidth ?? Number.MAX_SAFE_INTEGER,
8342
+ bottom: view?.innerHeight ?? Number.MAX_SAFE_INTEGER
8343
+ };
8344
+ for (let el = this.editRoot; el; el = el.parentElement) {
8345
+ const style = view?.getComputedStyle(el);
8346
+ if (!style || style.overflowX === "visible" && style.overflowY === "visible") continue;
8347
+ const box = el.getBoundingClientRect();
8348
+ if (style.overflowY !== "visible") {
8349
+ clip.top = Math.max(clip.top, box.top);
8350
+ clip.bottom = Math.min(clip.bottom, box.bottom);
8351
+ }
8352
+ if (style.overflowX !== "visible") {
8353
+ clip.left = Math.max(clip.left, box.left);
8354
+ clip.right = Math.min(clip.right, box.right);
8355
+ }
8356
+ }
8357
+ return clip;
8358
+ }
8314
8359
  showBlockHandle(unit) {
8315
8360
  const handle = this.blockDragHandle;
8316
8361
  if (!handle || !this.isMovableBlockUnit(unit)) return;
8317
8362
  const changed = unit !== this.blockDragSource;
8318
8363
  this.blockDragSource = unit;
8364
+ this.blockHandleWanted = true;
8319
8365
  const known = this.blockMoveTargetsFor(unit, { cachedOnly: true });
8320
8366
  if (known?.size === 0) {
8321
8367
  handle.style.display = "none";
@@ -8323,19 +8369,31 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
8323
8369
  }
8324
8370
  if (changed && known === void 0) this.prefetchBlockMoveTargets(unit);
8325
8371
  const rect = unit.getBoundingClientRect();
8372
+ const clip = this.blockHandleClipRect();
8373
+ if (rect.bottom <= clip.top || rect.top >= clip.bottom || rect.right <= clip.left || rect.left >= clip.right) {
8374
+ if (!this.blockDragging && this.blockMoveMenu?.style.display !== "block")
8375
+ handle.style.display = "none";
8376
+ return;
8377
+ }
8326
8378
  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`;
8379
+ const top2 = rect.top + (unit.tagName === "TABLE" ? 6 : Math.max(0, (rect.height - BLOCK_HANDLE_HEIGHT) / 2));
8380
+ handle.style.left = `${clampToRange(
8381
+ rect.left - (BLOCK_HANDLE_WIDTH + BLOCK_HANDLE_GAP),
8382
+ clip.left,
8383
+ clip.right - BLOCK_HANDLE_WIDTH
8384
+ )}px`;
8385
+ handle.style.top = `${clampToRange(top2, clip.top, clip.bottom - BLOCK_HANDLE_HEIGHT)}px`;
8329
8386
  const preview = blockPreviewText(unit);
8330
8387
  handle.setAttribute("aria-label", preview ? `Move block: ${preview}` : "Move block");
8331
8388
  }
8332
8389
  hideBlockHandle() {
8333
8390
  if (this.blockDragging || this.blockMoveMenu?.style.display === "block") return;
8391
+ this.blockHandleWanted = false;
8334
8392
  if (this.blockDragHandle) this.blockDragHandle.style.display = "none";
8335
8393
  }
8336
8394
  positionBlockHandle() {
8337
8395
  const source = this.currentBlockDragSource();
8338
- if (source && this.blockDragHandle?.style.display !== "none") this.showBlockHandle(source);
8396
+ if (source && this.blockHandleWanted) this.showBlockHandle(source);
8339
8397
  }
8340
8398
  /** Draw the drop line on `zone`'s requested edge, or take it away when there is no target. */
8341
8399
  paintDropIndicator(data) {
@@ -8773,6 +8831,7 @@ span.comment-highlight.docx-comment-active { background: hsl(var(--docx-comment-
8773
8831
  this.blockMoveMenu = null;
8774
8832
  this.blockMoveLive = null;
8775
8833
  this.blockDragSource = null;
8834
+ this.blockHandleWanted = false;
8776
8835
  this.blockDragging = false;
8777
8836
  this.blockDragPointerDown = false;
8778
8837
  }
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;
@@ -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
@@ -37,6 +37,14 @@ function blockPreviewText(unit) {
37
37
  const text = (unit.textContent ?? "").trim().replace(/\s+/g, " ");
38
38
  return text.length > 48 ? `${text.slice(0, 48)}…` : text;
39
39
  }
40
+ /** The floating handle's own box and its gap to the block, as `ensureBlockDragStyles` sizes it. */
41
+ const BLOCK_HANDLE_WIDTH = 26;
42
+ const BLOCK_HANDLE_HEIGHT = 28;
43
+ const BLOCK_HANDLE_GAP = 6;
44
+ /** `value` pulled into [`low`, `high`]; `low` wins when the range is narrower than the box. */
45
+ function clampToRange(value, low, high) {
46
+ return Math.max(low, Math.min(value, high));
47
+ }
40
48
  function ensureBlockDragStyles(doc) {
41
49
  if (blockDragStyledDocuments.has(doc))
42
50
  return;
@@ -697,6 +705,10 @@ export class DocxEditor {
697
705
  this.blockMoveMenu = null;
698
706
  this.blockMoveLive = null;
699
707
  this.blockDragSource = null;
708
+ /** Whether hover or focus currently wants a handle for `blockDragSource`.
709
+ * Tracked apart from the handle's `display`, which the viewport clip also drives: a handle
710
+ * withdrawn because its block scrolled out of view has to come back when it scrolls in. */
711
+ this.blockHandleWanted = false;
700
712
  this.blockDragCleanup = [];
701
713
  /** Block boxes measured at drag start — see `BlockDropZone`. Empty when no drag is in flight. */
702
714
  this.dropZones = [];
@@ -1151,12 +1163,49 @@ export class DocxEditor {
1151
1163
  }
1152
1164
  return null;
1153
1165
  }
1166
+ /**
1167
+ * The rectangle the floating handle may occupy: the window, narrowed by every ancestor that
1168
+ * clips its overflow.
1169
+ *
1170
+ * The handle is `position: fixed`, so it is placed in viewport coordinates and no ancestor's
1171
+ * overflow clips it for us. But the editor is routinely mounted inside a bounded scroller —
1172
+ * the ribbon puts its surface in one, inside a clipped card — and a block scrolled out of that
1173
+ * scroller has to take its handle with it rather than leave it parked over the host's chrome.
1174
+ *
1175
+ * Gated on the computed `overflow` rather than on whether an element scrolls right now, so the
1176
+ * answer does not depend on how much content happens to be loaded.
1177
+ */
1178
+ blockHandleClipRect() {
1179
+ const view = this.container.ownerDocument.defaultView;
1180
+ const clip = {
1181
+ top: 0,
1182
+ left: 0,
1183
+ right: view?.innerWidth ?? Number.MAX_SAFE_INTEGER,
1184
+ bottom: view?.innerHeight ?? Number.MAX_SAFE_INTEGER,
1185
+ };
1186
+ for (let el = this.editRoot; el; el = el.parentElement) {
1187
+ const style = view?.getComputedStyle(el);
1188
+ if (!style || (style.overflowX === "visible" && style.overflowY === "visible"))
1189
+ continue;
1190
+ const box = el.getBoundingClientRect();
1191
+ if (style.overflowY !== "visible") {
1192
+ clip.top = Math.max(clip.top, box.top);
1193
+ clip.bottom = Math.min(clip.bottom, box.bottom);
1194
+ }
1195
+ if (style.overflowX !== "visible") {
1196
+ clip.left = Math.max(clip.left, box.left);
1197
+ clip.right = Math.min(clip.right, box.right);
1198
+ }
1199
+ }
1200
+ return clip;
1201
+ }
1154
1202
  showBlockHandle(unit) {
1155
1203
  const handle = this.blockDragHandle;
1156
1204
  if (!handle || !this.isMovableBlockUnit(unit))
1157
1205
  return;
1158
1206
  const changed = unit !== this.blockDragSource;
1159
1207
  this.blockDragSource = unit;
1208
+ this.blockHandleWanted = true;
1160
1209
  // A block the engine will not move anywhere — one owning a section break, or already carrying
1161
1210
  // revision markup a tracked move would have to re-wrap — gets no handle rather than a handle
1162
1211
  // that always fails. Asking costs an engine round trip, so hovering only ever CONSUMES a
@@ -1170,21 +1219,40 @@ export class DocxEditor {
1170
1219
  if (changed && known === undefined)
1171
1220
  this.prefetchBlockMoveTargets(unit);
1172
1221
  const rect = unit.getBoundingClientRect();
1222
+ // The handle belongs to the editor's viewport, not the window's. A block scrolled out of that
1223
+ // viewport gets no handle at all: clamping one back into view would leave a grip sitting next
1224
+ // to a block that is not there — and clamping to the WINDOW, as this used to, parked it on
1225
+ // whatever chrome the host draws above the editor.
1226
+ const clip = this.blockHandleClipRect();
1227
+ if (rect.bottom <= clip.top || rect.top >= clip.bottom
1228
+ || rect.right <= clip.left || rect.left >= clip.right) {
1229
+ // A gesture in flight owns the handle: it is the drag's own source element, and an open
1230
+ // move menu is anchored to it and hands focus back to it on Escape. Withdrawing it
1231
+ // mid-gesture is the same mistake as leaving it behind — mirror `hideBlockHandle`'s guard
1232
+ // and leave it where the gesture put it.
1233
+ if (!this.blockDragging && this.blockMoveMenu?.style.display !== "block")
1234
+ handle.style.display = "none";
1235
+ return;
1236
+ }
1173
1237
  handle.style.display = "flex";
1174
- handle.style.left = `${Math.max(4, rect.left - 32)}px`;
1175
- handle.style.top = `${Math.max(4, rect.top + (unit.tagName === "TABLE" ? 6 : Math.max(0, (rect.height - 28) / 2)))}px`;
1238
+ // A block only partly in view keeps its handle, pulled to the edge it is disappearing past.
1239
+ const top = rect.top
1240
+ + (unit.tagName === "TABLE" ? 6 : Math.max(0, (rect.height - BLOCK_HANDLE_HEIGHT) / 2));
1241
+ handle.style.left = `${clampToRange(rect.left - (BLOCK_HANDLE_WIDTH + BLOCK_HANDLE_GAP), clip.left, clip.right - BLOCK_HANDLE_WIDTH)}px`;
1242
+ handle.style.top = `${clampToRange(top, clip.top, clip.bottom - BLOCK_HANDLE_HEIGHT)}px`;
1176
1243
  const preview = blockPreviewText(unit);
1177
1244
  handle.setAttribute("aria-label", preview ? `Move block: ${preview}` : "Move block");
1178
1245
  }
1179
1246
  hideBlockHandle() {
1180
1247
  if (this.blockDragging || this.blockMoveMenu?.style.display === "block")
1181
1248
  return;
1249
+ this.blockHandleWanted = false;
1182
1250
  if (this.blockDragHandle)
1183
1251
  this.blockDragHandle.style.display = "none";
1184
1252
  }
1185
1253
  positionBlockHandle() {
1186
1254
  const source = this.currentBlockDragSource();
1187
- if (source && this.blockDragHandle?.style.display !== "none")
1255
+ if (source && this.blockHandleWanted)
1188
1256
  this.showBlockHandle(source);
1189
1257
  }
1190
1258
  /** Draw the drop line on `zone`'s requested edge, or take it away when there is no target. */
@@ -1663,6 +1731,7 @@ export class DocxEditor {
1663
1731
  this.blockMoveMenu = null;
1664
1732
  this.blockMoveLive = null;
1665
1733
  this.blockDragSource = null;
1734
+ this.blockHandleWanted = false;
1666
1735
  this.blockDragging = false;
1667
1736
  this.blockDragPointerDown = false;
1668
1737
  }