@docx-editor.dev/core 2.5.0 → 2.6.1

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 (112) hide show
  1. package/THIRD_PARTY_NOTICES.md +39 -1
  2. package/dist/automation.cjs +1 -1
  3. package/dist/automation.d.cts +6 -6
  4. package/dist/automation.d.ts +6 -6
  5. package/dist/automation.js +1 -1
  6. package/dist/binding.cjs +1 -1
  7. package/dist/binding.d.cts +12 -12
  8. package/dist/binding.d.ts +12 -12
  9. package/dist/binding.js +1 -1
  10. package/dist/chunk-4GQXAXTZ.js +5 -0
  11. package/dist/chunk-DGUHCJPF.cjs +18 -0
  12. package/dist/{chunk-2GSRLGUI.cjs → chunk-DY3QVCWC.cjs} +6 -6
  13. package/dist/{chunk-45FL7KH4.js → chunk-E7BXJ4BF.js} +1 -1
  14. package/dist/chunk-F7Z6PWAZ.cjs +2 -0
  15. package/dist/chunk-JEMP5YI5.cjs +15 -0
  16. package/dist/{chunk-3FRSOOND.cjs → chunk-JZXK4DKV.cjs} +1 -1
  17. package/dist/chunk-NIGGABAA.js +15 -0
  18. package/dist/chunk-OPKOTVQQ.js +18 -0
  19. package/dist/{chunk-GOEBQ26R.js → chunk-PSZH2VXP.js} +1 -1
  20. package/dist/{chunk-LJIX4ZDF.js → chunk-R75OLPL6.js} +6 -6
  21. package/dist/{chunk-JDHTCMFA.cjs → chunk-SFMAIFEN.cjs} +1 -1
  22. package/dist/chunk-SKWYEZCO.cjs +5 -0
  23. package/dist/{chunk-YTZIGUXT.js → chunk-SMRD66T5.js} +1 -1
  24. package/dist/chunk-WAVN7MAT.js +2 -0
  25. package/dist/chunk-WU7PUTVA.js +2 -0
  26. package/dist/{chunk-OHJQ7GPZ.cjs → chunk-YMYCPY5Y.cjs} +1 -1
  27. package/dist/{content-control-walk-BeAFh6Xi.d.cts → content-control-walk-CbTqHq6O.d.cts} +1 -1
  28. package/dist/{content-control-walk-CQp8l6eS.d.ts → content-control-walk-D06GijR0.d.ts} +1 -1
  29. package/dist/contracts/editor.cjs +1 -1
  30. package/dist/contracts/editor.d.cts +10 -10
  31. package/dist/contracts/editor.d.ts +10 -10
  32. package/dist/contracts/editor.js +1 -1
  33. package/dist/contracts/interaction.d.cts +9 -9
  34. package/dist/contracts/interaction.d.ts +9 -9
  35. package/dist/contracts/modules.d.cts +5 -5
  36. package/dist/contracts/modules.d.ts +5 -5
  37. package/dist/contracts/types.d.cts +3 -1
  38. package/dist/contracts/types.d.ts +3 -1
  39. package/dist/{custom-node-writes-CIC_-wad.d.cts → custom-node-writes-D9G3GKQ7.d.cts} +7 -7
  40. package/dist/{custom-node-writes-2clI36T9.d.ts → custom-node-writes-tJw8U9MO.d.ts} +7 -7
  41. package/dist/dist-YFULGVS3.js +2 -0
  42. package/dist/{editor-CUul9IuY.d.cts → editor-BZEJL3vv.d.cts} +33 -19
  43. package/dist/{editor-DIwctMcU.d.ts → editor-D2zOJztO.d.ts} +33 -19
  44. package/dist/editor.cjs +1 -1
  45. package/dist/editor.css +375 -38
  46. package/dist/editor.d.cts +42 -26
  47. package/dist/editor.d.ts +42 -26
  48. package/dist/editor.js +1 -1
  49. package/dist/harfbuzz.wasm +0 -0
  50. package/dist/{hf-references-CAp1xTv6.d.ts → hf-references-BdjsQNE_.d.ts} +2 -2
  51. package/dist/{hf-references-BPET4tlK.d.cts → hf-references-CgEOSw3i.d.cts} +2 -2
  52. package/dist/{image-resources-CSlQmPIm.d.cts → image-resources-BaHz4QAd.d.cts} +10 -10
  53. package/dist/{image-resources-e13t-pgy.d.ts → image-resources-Cl5_cNi9.d.ts} +10 -10
  54. package/dist/{index-BUsYjxF5.d.ts → index-D8L8WrNF.d.ts} +111 -21
  55. package/dist/{index-8t44iXTY.d.cts → index-_xF7n_z0.d.cts} +111 -21
  56. package/dist/index.cjs +1 -1
  57. package/dist/index.d.cts +20 -20
  58. package/dist/index.d.ts +20 -20
  59. package/dist/index.js +1 -1
  60. package/dist/layout.cjs +1 -1
  61. package/dist/layout.d.cts +71 -23
  62. package/dist/layout.d.ts +71 -23
  63. package/dist/layout.js +1 -1
  64. package/dist/node-module-shim-TTKTT66I.js +1 -0
  65. package/dist/{note-nodes-CZQXU6Fg.d.ts → note-nodes-BPSTVDMr.d.ts} +1 -1
  66. package/dist/{note-nodes-B2wWES2L.d.cts → note-nodes-C6DLxlvj.d.cts} +1 -1
  67. package/dist/{ooxml-package-Cmbe_M04.d.cts → ooxml-package-CR5us6ad.d.cts} +115 -115
  68. package/dist/{ooxml-package-BrxTmTsZ.d.ts → ooxml-package-D_CtywTW.d.ts} +115 -115
  69. package/dist/{ooxml-tree-CG0odFyi.d.cts → ooxml-tree-BU0e3DVi.d.cts} +1 -1
  70. package/dist/{ooxml-tree-CG0odFyi.d.ts → ooxml-tree-BU0e3DVi.d.ts} +1 -1
  71. package/dist/output.cjs +1 -1
  72. package/dist/output.d.cts +22 -8
  73. package/dist/output.d.ts +22 -8
  74. package/dist/output.js +1 -1
  75. package/dist/{protocol-B5oSt08P.d.cts → protocol-CD7slqvl.d.cts} +2 -2
  76. package/dist/{protocol-ooK7PAXz.d.ts → protocol-DsbfgBwA.d.ts} +2 -2
  77. package/dist/{note-properties-Dhqkro--.d.cts → review-reads-Dr0CpW6u.d.cts} +67 -67
  78. package/dist/{note-properties-BS66XmcC.d.ts → review-reads-HDvoQXK2.d.ts} +67 -67
  79. package/dist/{review-support-Bl9sN8cv.d.ts → review-support-D4ZBdUXa.d.ts} +2 -2
  80. package/dist/{review-support-CHuJxHmz.d.cts → review-support-T-riLz4Y.d.cts} +2 -2
  81. package/dist/{revision-projection-u4nT52xT.d.ts → revision-projection-UKqvPa4-.d.ts} +1 -1
  82. package/dist/{revision-projection-DRZMzoLD.d.cts → revision-projection-WzlQGBJx.d.cts} +1 -1
  83. package/dist/{semantic-cell-selection-Dc-_enhm.d.ts → semantic-cell-selection-B5vfPz4Q.d.ts} +4 -4
  84. package/dist/{semantic-cell-selection-CdNQ-a9-.d.cts → semantic-cell-selection-BTQFpN0S.d.cts} +4 -4
  85. package/dist/{semantic-interaction-DgaWs-5w.d.cts → semantic-interaction-CDNEU_Tx.d.cts} +1 -1
  86. package/dist/{semantic-interaction-CCVwyw2A.d.ts → semantic-interaction-lvpzZRpA.d.ts} +1 -1
  87. package/dist/{semantic-paint-6iIB4fhx.d.cts → semantic-paint-BBPL3u5w.d.ts} +111 -3
  88. package/dist/{semantic-paint-CKIbFkQ7.d.ts → semantic-paint-IjbL-4CT.d.cts} +111 -3
  89. package/dist/{semantic-records-B-qbrnp2.d.ts → semantic-records-CdQvpUj1.d.ts} +4 -4
  90. package/dist/{semantic-records-Dq8SlCY8.d.cts → semantic-records-DEOs3_tE.d.cts} +4 -4
  91. package/dist/{shaped-measurer-Dx4llNhK.d.cts → shaped-measurer-C2SJAjV0.d.cts} +1 -1
  92. package/dist/{shaped-measurer-BT4FqYe9.d.ts → shaped-measurer-l4o5ITJ0.d.ts} +1 -1
  93. package/dist/store.cjs +1 -1
  94. package/dist/store.d.cts +238 -238
  95. package/dist/store.d.ts +238 -238
  96. package/dist/store.js +1 -1
  97. package/dist/{tree-op-types-DOYNkKqD.d.cts → tree-op-types-CUCwPWjT.d.cts} +219 -219
  98. package/dist/{tree-op-types-CZw9QhWX.d.ts → tree-op-types-D0fTNBVW.d.ts} +219 -219
  99. package/dist/{tree-session-CF_EOhTW.d.ts → tree-session-CH1oA75f.d.ts} +61 -45
  100. package/dist/{tree-session-CtK3KgFU.d.cts → tree-session-b7bggR-S.d.cts} +61 -45
  101. package/dist/{tree-store-Jg-q7fyf.d.cts → tree-store-BqgeCa1Q.d.cts} +3 -3
  102. package/dist/{tree-store-9TaX-L0V.d.ts → tree-store-CIKASRHk.d.ts} +3 -3
  103. package/licenses/HarfBuzz-COPYING.txt +42 -0
  104. package/package.json +5 -3
  105. package/dist/chunk-2QIA75K3.js +0 -2
  106. package/dist/chunk-32NXPFYL.js +0 -5
  107. package/dist/chunk-3C533HSQ.cjs +0 -18
  108. package/dist/chunk-7GYF33B5.cjs +0 -2
  109. package/dist/chunk-H3DZP4LE.cjs +0 -5
  110. package/dist/chunk-L2GMLEHX.cjs +0 -14
  111. package/dist/chunk-QUZM6LWQ.js +0 -14
  112. package/dist/chunk-T252F4US.js +0 -18
@@ -1,9 +1,9 @@
1
1
  import { DocEdits, DocQueries, DocQueryResults, ContentControlSummary } from './contracts/document.cjs';
2
- import { g as ReviewRevisionKind, c as ReviewCommentItem, b as ReviewRevisionItem, d as ReviewCustomItem } from './review-support-CHuJxHmz.cjs';
3
- import { a as SemanticSelection, S as SemanticPosition } from './semantic-interaction-DgaWs-5w.cjs';
4
- import { ExecErrorCode, ColorValue, Watermark, DocAnchor, ExecResult, ContentControlFilter, DocRange, RunFormatting, Revision, Rect, Unsubscribe } from './contracts/types.cjs';
5
- import { S as SourceCrop, b as ImageWrapTarget, c as DrawingKind, d as DrawingPositionInput, e as DrawingLocks } from './tree-op-types-DOYNkKqD.cjs';
6
- import { S as SupportedImageMime, I as ImageResourceState } from './image-resources-CSlQmPIm.cjs';
2
+ import { g as ReviewRevisionKind, c as ReviewCommentItem, b as ReviewRevisionItem, d as ReviewCustomItem } from './review-support-T-riLz4Y.cjs';
3
+ import { a as SemanticSelection, S as SemanticPosition } from './semantic-interaction-CDNEU_Tx.cjs';
4
+ import { ExecErrorCode, ColorValue, Watermark, DocAnchor, ExecResult, ContentControlFilter, DocRange, RunFormatting, Revision, Rect, SelectionPin, Unsubscribe } from './contracts/types.cjs';
5
+ import { S as SourceCrop, b as ImageWrapTarget, c as DrawingKind, d as DrawingPositionInput, e as DrawingLocks } from './tree-op-types-CUCwPWjT.cjs';
6
+ import { S as SupportedImageMime, I as ImageResourceState } from './image-resources-BaHz4QAd.cjs';
7
7
 
8
8
  /**
9
9
  * `@docx-editor.dev/core/contracts/interaction` — semantic addressing and interaction outcomes.
@@ -308,12 +308,23 @@ interface DocumentHandle {
308
308
  readonly revision: number;
309
309
  }
310
310
  /**
311
- * What `createDocxEditor`/`load` accept as a document: raw DOCX bytes, or an existing
312
- * in-memory `DocumentHandle` (shared/handed off). The engine is byte-native
311
+ * What `createDocxEditor`/`load` accept as a document: raw DOCX bytes, an existing
312
+ * in-memory `DocumentHandle` (shared/handed off), or `'blank'`. The engine is byte-native
313
313
  * (`PackageModel` is canonical); there is intentionally no structured-tree input,
314
314
  * which would be lossy against the canonical package.
315
+ *
316
+ * `'blank'` is Word's blank template, the same bytes `blankDocumentBytes()` returns from
317
+ * `@docx-editor.dev/core/editor`. OMITTING the document is not a way to ask for an empty
318
+ * one: with no document there is no editing surface, so every command refuses with "no
319
+ * document is loaded" behind a loading screen waiting for bytes that are not coming.
320
+ *
321
+ * The two spellings serve different gestures. `'blank'` is a CONSTANT, so an adapter that
322
+ * remounts on document identity holds one document — right for MOUNTING.
323
+ * `blankDocumentBytes()` allocates, so it starts a fresh document every call — right for
324
+ * File › New. Call the function into `load()` or host state, never inline in a prop,
325
+ * where a new array per render rebuilds the editor per render.
315
326
  */
316
- type DocumentSource = ArrayBuffer | Uint8Array | DocumentHandle;
327
+ type DocumentSource = ArrayBuffer | Uint8Array | DocumentHandle | 'blank';
317
328
  /** A concrete font face requested by authored document content. */
318
329
  interface FontFaceRequest {
319
330
  readonly family: string;
@@ -354,9 +365,10 @@ interface FontConfiguration {
354
365
  *
355
366
  * Distinguished rather than collapsed because the responses differ: `overLimit` and `malformed`
356
367
  * are the caller's own bytes, while `forbidden` and `hashMismatch` mean the source was not what
357
- * it claimed and the load should not be retried.
368
+ * it claimed and the load should not be retried. `wasmUnavailable` alone is a HOST fault — the
369
+ * shaper's WASM never loaded, `diagnostic` carries the remedy — surface it as a setup error.
358
370
  */
359
- type EditorFontErrorCode = 'initializationFailed' | 'missing' | 'forbidden' | 'overLimit' | 'malformed' | 'hashMismatch' | 'metadataMismatch' | 'fontFaceLoadFailed' | 'unsupportedFaceIndex' | 'missingFont' | 'hashInvalid' | 'fontMismatch' | 'unsupportedFace' | 'loadFailed';
371
+ type EditorFontErrorCode = 'initializationFailed' | 'wasmUnavailable' | 'missing' | 'forbidden' | 'overLimit' | 'malformed' | 'hashMismatch' | 'metadataMismatch' | 'fontFaceLoadFailed' | 'unsupportedFaceIndex' | 'missingFont' | 'hashInvalid' | 'fontMismatch' | 'unsupportedFace' | 'loadFailed';
360
372
  /** Typed adapter error reported both through `onFontError` and accessible alert UI. */
361
373
  declare class EditorFontError extends Error {
362
374
  readonly name: string;
@@ -510,7 +522,7 @@ type CanResult = {
510
522
  */
511
523
  interface Editor {
512
524
  /**
513
- * Load a new document (DOCX bytes or a handle), replacing the current one.
525
+ * Load a new document (DOCX bytes, `'blank'`, or a handle), replacing the current one.
514
526
  *
515
527
  * A large document mounts behind one painted frame, so a loading screen keyed on
516
528
  * `snapshot().isOpening` can show instead of a frozen page; a small one mounts before
@@ -764,7 +776,7 @@ interface Editor {
764
776
  readonly pageIndex: number;
765
777
  } | null;
766
778
  /**
767
- * Card to document: select the item's range and scroll to it. `null` clears the active item.
779
+ * Card to document: a COLLAPSED caret at the range start, and a scroll to it. `null` clears it.
768
780
  *
769
781
  * REPORTS, like {@link acceptReviewItem} and for the same reason. Activation is refused for
770
782
  * an item with no resolvable range, for a kind the host's rail excluded (see
@@ -885,11 +897,9 @@ interface Editor {
885
897
  */
886
898
  setZoomMode(mode: ZoomMode | 'auto'): ExecResult;
887
899
  /** Page boxes in stack coordinates, each with the text area the engine laid out.
888
- * `contentBox` is the page inset by the section margin — rulers draw margin zones from
889
- * it instead of assuming a default. The engine's margin is uniform on all four sides
890
- * today, so this must not be presented as per-side fidelity it does not have.
891
- *
892
- * Empty before the first layout, which is the honest answer rather than a guessed page. */
900
+ * `contentBox` is the page inset by the section margin. Rulers use it for margin zones.
901
+ * The engine's margin is uniform, so do not present this as per-side fidelity.
902
+ * Empty before the first layout, which is the honest answer rather than a guessed page. */
893
903
  getPageGeometry(): readonly {
894
904
  index: number;
895
905
  box: Rect;
@@ -900,6 +910,10 @@ interface Editor {
900
910
  sync?: boolean;
901
911
  }): void;
902
912
  focus(scope?: EditorScope): InteractionOutcome<void>;
913
+ /** Pin the selection while chrome has focus. Returns null while detached. */
914
+ retainSelection(): SelectionPin | null;
915
+ /** Release only the pin installed by the matching {@link retainSelection} call. */
916
+ releaseSelection(pin: SelectionPin): void;
903
917
  destroy(): void;
904
918
  on<E extends keyof EditorEvents>(event: E, handler: EditorEvents[E]): Unsubscribe;
905
919
  }
@@ -999,7 +1013,7 @@ interface ReviewItemPlacementBase {
999
1013
  */
1000
1014
  interface ReviewActivationOptions {
1001
1015
  /**
1002
- * Where the item lands, or `false` to select it without scrolling at all.
1016
+ * Where the item lands, or `false` to open it without scrolling at all.
1003
1017
  *
1004
1018
  * Default `'centerIfNeeded'`: silent while the item is already on screen, centred when it
1005
1019
  * has to travel. `'nearest'` scrolls the minimum instead, which parks the item flush
@@ -1813,4 +1827,4 @@ interface EditorEvents {
1813
1827
  error: (error: EditorError) => void;
1814
1828
  }
1815
1829
 
1816
- export { type NotePropertiesState as $, type AuthoredNoteNumbering as A, type EditorNoteCommands as B, type CanResult as C, type DocumentSource as D, EditorFontError as E, type FontConfiguration as F, type EditorPosition as G, type EditorQueries as H, type ImageContext as I, type EditorQuery as J, type EditorQueryResults as K, type EditorScope as L, type EditorSelection as M, type EditorSnapshot as N, type FurnitureVariant as O, type HeaderFooterSlotArgs as P, type HeaderFooterState as Q, type HyperlinkInfo as R, type SelectedImageState as S, type TableBorderEdgeTarget as T, type InteractionAffinity as U, type ViewScope as V, type InteractionOutcome as W, type InteractionOutcomeCode as X, type NoteKind as Y, type ZoomMode as Z, type NotePropertiesSide as _, type EditorCommand as a, type PageSetup as a0, type ResolvedNoteNumbering as a1, type ReviewActivationOptions as a2, type ReviewCommentPlacement as a3, type ReviewCustomPlacement as a4, type ReviewItemPlacement as a5, type ReviewItemPlacementBase as a6, type ReviewItemQuery as a7, type ReviewRevisionPlacement as a8, type SemanticIdentity as a9, type SemanticTarget as aa, type TableBorderTarget as ab, type TableCellVerticalAlignment as ac, type TableColumnDividerResizeTarget as ad, type TableColumnOccurrenceTarget as ae, type TableRightEdgeResizeTarget as af, type TableRowOccurrenceTarget as ag, type TextMatch as ah, type ZoomFitTarget as ai, type ImageCropPercent as b, type ImageCropPermille as c, cropPercentFromCropPermille as d, cropPercentFromPermille as e, cropPercentFromSourceCrop as f, cropPermilleFromCropPercent as g, cropPermilleFromPercent as h, type FontSource as i, type FontSourceSubstitution as j, type FontFaceRequest as k, type Editor as l, type TableBorderSpec as m, type TableBorderStyle as n, type TableContext as o, type DocumentChange as p, type DocumentEditingMode as q, type DocumentHandle as r, sourceCropFromCropPercent as s, type EditorCommandShape as t, type EditorCommands as u, validateImageCropPercent as v, type EditorError as w, type EditorEvents as x, type EditorFontErrorCode as y, type EditorHeaderFooterCommands as z };
1830
+ export { type NotePropertiesState as $, type AuthoredNoteNumbering as A, type EditorHeaderFooterCommands as B, type CanResult as C, type DocumentSource as D, EditorFontError as E, type FontConfiguration as F, type EditorNoteCommands as G, type EditorPosition as H, type ImageContext as I, type EditorQueries as J, type EditorQuery as K, type EditorQueryResults as L, type EditorScope as M, type EditorSelection as N, type FurnitureVariant as O, type HeaderFooterSlotArgs as P, type HeaderFooterState as Q, type HyperlinkInfo as R, type SelectedImageState as S, type TableBorderEdgeTarget as T, type InteractionAffinity as U, type ViewScope as V, type InteractionOutcome as W, type InteractionOutcomeCode as X, type NoteKind as Y, type ZoomMode as Z, type NotePropertiesSide as _, type EditorSnapshot as a, type PageSetup as a0, type ResolvedNoteNumbering as a1, type ReviewActivationOptions as a2, type ReviewCommentPlacement as a3, type ReviewCustomPlacement as a4, type ReviewItemPlacement as a5, type ReviewItemPlacementBase as a6, type ReviewItemQuery as a7, type ReviewRevisionPlacement as a8, type SemanticIdentity as a9, type SemanticTarget as aa, type TableBorderTarget as ab, type TableCellVerticalAlignment as ac, type TableColumnDividerResizeTarget as ad, type TableColumnOccurrenceTarget as ae, type TableRightEdgeResizeTarget as af, type TableRowOccurrenceTarget as ag, type TextMatch as ah, type ZoomFitTarget as ai, type EditorCommand as b, type ImageCropPercent as c, type ImageCropPermille as d, cropPercentFromCropPermille as e, cropPercentFromPermille as f, cropPercentFromSourceCrop as g, cropPermilleFromCropPercent as h, cropPermilleFromPercent as i, type FontSource as j, type FontSourceSubstitution as k, type FontFaceRequest as l, type Editor as m, type TableBorderSpec as n, type TableBorderStyle as o, type TableContext as p, type DocumentChange as q, type DocumentEditingMode as r, sourceCropFromCropPercent as s, type DocumentHandle as t, type EditorCommandShape as u, validateImageCropPercent as v, type EditorCommands as w, type EditorError as x, type EditorEvents as y, type EditorFontErrorCode as z };
@@ -1,9 +1,9 @@
1
1
  import { DocEdits, DocQueries, DocQueryResults, ContentControlSummary } from './contracts/document.js';
2
- import { g as ReviewRevisionKind, c as ReviewCommentItem, b as ReviewRevisionItem, d as ReviewCustomItem } from './review-support-Bl9sN8cv.js';
3
- import { a as SemanticSelection, S as SemanticPosition } from './semantic-interaction-CCVwyw2A.js';
4
- import { ExecErrorCode, ColorValue, Watermark, DocAnchor, ExecResult, ContentControlFilter, DocRange, RunFormatting, Revision, Rect, Unsubscribe } from './contracts/types.js';
5
- import { S as SourceCrop, b as ImageWrapTarget, c as DrawingKind, d as DrawingPositionInput, e as DrawingLocks } from './tree-op-types-CZw9QhWX.js';
6
- import { S as SupportedImageMime, I as ImageResourceState } from './image-resources-e13t-pgy.js';
2
+ import { g as ReviewRevisionKind, c as ReviewCommentItem, b as ReviewRevisionItem, d as ReviewCustomItem } from './review-support-D4ZBdUXa.js';
3
+ import { a as SemanticSelection, S as SemanticPosition } from './semantic-interaction-lvpzZRpA.js';
4
+ import { ExecErrorCode, ColorValue, Watermark, DocAnchor, ExecResult, ContentControlFilter, DocRange, RunFormatting, Revision, Rect, SelectionPin, Unsubscribe } from './contracts/types.js';
5
+ import { S as SourceCrop, b as ImageWrapTarget, c as DrawingKind, d as DrawingPositionInput, e as DrawingLocks } from './tree-op-types-D0fTNBVW.js';
6
+ import { S as SupportedImageMime, I as ImageResourceState } from './image-resources-Cl5_cNi9.js';
7
7
 
8
8
  /**
9
9
  * `@docx-editor.dev/core/contracts/interaction` — semantic addressing and interaction outcomes.
@@ -308,12 +308,23 @@ interface DocumentHandle {
308
308
  readonly revision: number;
309
309
  }
310
310
  /**
311
- * What `createDocxEditor`/`load` accept as a document: raw DOCX bytes, or an existing
312
- * in-memory `DocumentHandle` (shared/handed off). The engine is byte-native
311
+ * What `createDocxEditor`/`load` accept as a document: raw DOCX bytes, an existing
312
+ * in-memory `DocumentHandle` (shared/handed off), or `'blank'`. The engine is byte-native
313
313
  * (`PackageModel` is canonical); there is intentionally no structured-tree input,
314
314
  * which would be lossy against the canonical package.
315
+ *
316
+ * `'blank'` is Word's blank template, the same bytes `blankDocumentBytes()` returns from
317
+ * `@docx-editor.dev/core/editor`. OMITTING the document is not a way to ask for an empty
318
+ * one: with no document there is no editing surface, so every command refuses with "no
319
+ * document is loaded" behind a loading screen waiting for bytes that are not coming.
320
+ *
321
+ * The two spellings serve different gestures. `'blank'` is a CONSTANT, so an adapter that
322
+ * remounts on document identity holds one document — right for MOUNTING.
323
+ * `blankDocumentBytes()` allocates, so it starts a fresh document every call — right for
324
+ * File › New. Call the function into `load()` or host state, never inline in a prop,
325
+ * where a new array per render rebuilds the editor per render.
315
326
  */
316
- type DocumentSource = ArrayBuffer | Uint8Array | DocumentHandle;
327
+ type DocumentSource = ArrayBuffer | Uint8Array | DocumentHandle | 'blank';
317
328
  /** A concrete font face requested by authored document content. */
318
329
  interface FontFaceRequest {
319
330
  readonly family: string;
@@ -354,9 +365,10 @@ interface FontConfiguration {
354
365
  *
355
366
  * Distinguished rather than collapsed because the responses differ: `overLimit` and `malformed`
356
367
  * are the caller's own bytes, while `forbidden` and `hashMismatch` mean the source was not what
357
- * it claimed and the load should not be retried.
368
+ * it claimed and the load should not be retried. `wasmUnavailable` alone is a HOST fault — the
369
+ * shaper's WASM never loaded, `diagnostic` carries the remedy — surface it as a setup error.
358
370
  */
359
- type EditorFontErrorCode = 'initializationFailed' | 'missing' | 'forbidden' | 'overLimit' | 'malformed' | 'hashMismatch' | 'metadataMismatch' | 'fontFaceLoadFailed' | 'unsupportedFaceIndex' | 'missingFont' | 'hashInvalid' | 'fontMismatch' | 'unsupportedFace' | 'loadFailed';
371
+ type EditorFontErrorCode = 'initializationFailed' | 'wasmUnavailable' | 'missing' | 'forbidden' | 'overLimit' | 'malformed' | 'hashMismatch' | 'metadataMismatch' | 'fontFaceLoadFailed' | 'unsupportedFaceIndex' | 'missingFont' | 'hashInvalid' | 'fontMismatch' | 'unsupportedFace' | 'loadFailed';
360
372
  /** Typed adapter error reported both through `onFontError` and accessible alert UI. */
361
373
  declare class EditorFontError extends Error {
362
374
  readonly name: string;
@@ -510,7 +522,7 @@ type CanResult = {
510
522
  */
511
523
  interface Editor {
512
524
  /**
513
- * Load a new document (DOCX bytes or a handle), replacing the current one.
525
+ * Load a new document (DOCX bytes, `'blank'`, or a handle), replacing the current one.
514
526
  *
515
527
  * A large document mounts behind one painted frame, so a loading screen keyed on
516
528
  * `snapshot().isOpening` can show instead of a frozen page; a small one mounts before
@@ -764,7 +776,7 @@ interface Editor {
764
776
  readonly pageIndex: number;
765
777
  } | null;
766
778
  /**
767
- * Card to document: select the item's range and scroll to it. `null` clears the active item.
779
+ * Card to document: a COLLAPSED caret at the range start, and a scroll to it. `null` clears it.
768
780
  *
769
781
  * REPORTS, like {@link acceptReviewItem} and for the same reason. Activation is refused for
770
782
  * an item with no resolvable range, for a kind the host's rail excluded (see
@@ -885,11 +897,9 @@ interface Editor {
885
897
  */
886
898
  setZoomMode(mode: ZoomMode | 'auto'): ExecResult;
887
899
  /** Page boxes in stack coordinates, each with the text area the engine laid out.
888
- * `contentBox` is the page inset by the section margin — rulers draw margin zones from
889
- * it instead of assuming a default. The engine's margin is uniform on all four sides
890
- * today, so this must not be presented as per-side fidelity it does not have.
891
- *
892
- * Empty before the first layout, which is the honest answer rather than a guessed page. */
900
+ * `contentBox` is the page inset by the section margin. Rulers use it for margin zones.
901
+ * The engine's margin is uniform, so do not present this as per-side fidelity.
902
+ * Empty before the first layout, which is the honest answer rather than a guessed page. */
893
903
  getPageGeometry(): readonly {
894
904
  index: number;
895
905
  box: Rect;
@@ -900,6 +910,10 @@ interface Editor {
900
910
  sync?: boolean;
901
911
  }): void;
902
912
  focus(scope?: EditorScope): InteractionOutcome<void>;
913
+ /** Pin the selection while chrome has focus. Returns null while detached. */
914
+ retainSelection(): SelectionPin | null;
915
+ /** Release only the pin installed by the matching {@link retainSelection} call. */
916
+ releaseSelection(pin: SelectionPin): void;
903
917
  destroy(): void;
904
918
  on<E extends keyof EditorEvents>(event: E, handler: EditorEvents[E]): Unsubscribe;
905
919
  }
@@ -999,7 +1013,7 @@ interface ReviewItemPlacementBase {
999
1013
  */
1000
1014
  interface ReviewActivationOptions {
1001
1015
  /**
1002
- * Where the item lands, or `false` to select it without scrolling at all.
1016
+ * Where the item lands, or `false` to open it without scrolling at all.
1003
1017
  *
1004
1018
  * Default `'centerIfNeeded'`: silent while the item is already on screen, centred when it
1005
1019
  * has to travel. `'nearest'` scrolls the minimum instead, which parks the item flush
@@ -1813,4 +1827,4 @@ interface EditorEvents {
1813
1827
  error: (error: EditorError) => void;
1814
1828
  }
1815
1829
 
1816
- export { type NotePropertiesState as $, type AuthoredNoteNumbering as A, type EditorNoteCommands as B, type CanResult as C, type DocumentSource as D, EditorFontError as E, type FontConfiguration as F, type EditorPosition as G, type EditorQueries as H, type ImageContext as I, type EditorQuery as J, type EditorQueryResults as K, type EditorScope as L, type EditorSelection as M, type EditorSnapshot as N, type FurnitureVariant as O, type HeaderFooterSlotArgs as P, type HeaderFooterState as Q, type HyperlinkInfo as R, type SelectedImageState as S, type TableBorderEdgeTarget as T, type InteractionAffinity as U, type ViewScope as V, type InteractionOutcome as W, type InteractionOutcomeCode as X, type NoteKind as Y, type ZoomMode as Z, type NotePropertiesSide as _, type EditorCommand as a, type PageSetup as a0, type ResolvedNoteNumbering as a1, type ReviewActivationOptions as a2, type ReviewCommentPlacement as a3, type ReviewCustomPlacement as a4, type ReviewItemPlacement as a5, type ReviewItemPlacementBase as a6, type ReviewItemQuery as a7, type ReviewRevisionPlacement as a8, type SemanticIdentity as a9, type SemanticTarget as aa, type TableBorderTarget as ab, type TableCellVerticalAlignment as ac, type TableColumnDividerResizeTarget as ad, type TableColumnOccurrenceTarget as ae, type TableRightEdgeResizeTarget as af, type TableRowOccurrenceTarget as ag, type TextMatch as ah, type ZoomFitTarget as ai, type ImageCropPercent as b, type ImageCropPermille as c, cropPercentFromCropPermille as d, cropPercentFromPermille as e, cropPercentFromSourceCrop as f, cropPermilleFromCropPercent as g, cropPermilleFromPercent as h, type FontSource as i, type FontSourceSubstitution as j, type FontFaceRequest as k, type Editor as l, type TableBorderSpec as m, type TableBorderStyle as n, type TableContext as o, type DocumentChange as p, type DocumentEditingMode as q, type DocumentHandle as r, sourceCropFromCropPercent as s, type EditorCommandShape as t, type EditorCommands as u, validateImageCropPercent as v, type EditorError as w, type EditorEvents as x, type EditorFontErrorCode as y, type EditorHeaderFooterCommands as z };
1830
+ export { type NotePropertiesState as $, type AuthoredNoteNumbering as A, type EditorHeaderFooterCommands as B, type CanResult as C, type DocumentSource as D, EditorFontError as E, type FontConfiguration as F, type EditorNoteCommands as G, type EditorPosition as H, type ImageContext as I, type EditorQueries as J, type EditorQuery as K, type EditorQueryResults as L, type EditorScope as M, type EditorSelection as N, type FurnitureVariant as O, type HeaderFooterSlotArgs as P, type HeaderFooterState as Q, type HyperlinkInfo as R, type SelectedImageState as S, type TableBorderEdgeTarget as T, type InteractionAffinity as U, type ViewScope as V, type InteractionOutcome as W, type InteractionOutcomeCode as X, type NoteKind as Y, type ZoomMode as Z, type NotePropertiesSide as _, type EditorSnapshot as a, type PageSetup as a0, type ResolvedNoteNumbering as a1, type ReviewActivationOptions as a2, type ReviewCommentPlacement as a3, type ReviewCustomPlacement as a4, type ReviewItemPlacement as a5, type ReviewItemPlacementBase as a6, type ReviewItemQuery as a7, type ReviewRevisionPlacement as a8, type SemanticIdentity as a9, type SemanticTarget as aa, type TableBorderTarget as ab, type TableCellVerticalAlignment as ac, type TableColumnDividerResizeTarget as ad, type TableColumnOccurrenceTarget as ae, type TableRightEdgeResizeTarget as af, type TableRowOccurrenceTarget as ag, type TextMatch as ah, type ZoomFitTarget as ai, type EditorCommand as b, type ImageCropPercent as c, type ImageCropPermille as d, cropPercentFromCropPermille as e, cropPercentFromPermille as f, cropPercentFromSourceCrop as g, cropPermilleFromCropPercent as h, cropPermilleFromPercent as i, type FontSource as j, type FontSourceSubstitution as k, type FontFaceRequest as l, type Editor as m, type TableBorderSpec as n, type TableBorderStyle as o, type TableContext as p, type DocumentChange as q, type DocumentEditingMode as r, sourceCropFromCropPercent as s, type DocumentHandle as t, type EditorCommandShape as u, validateImageCropPercent as v, type EditorCommands as w, type EditorError as x, type EditorEvents as y, type EditorFontErrorCode as z };
package/dist/editor.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkL2GMLEHX_cjs=require('./chunk-L2GMLEHX.cjs');require('./chunk-7GYF33B5.cjs'),require('./chunk-3C533HSQ.cjs'),require('./chunk-3FRSOOND.cjs'),require('./chunk-H3DZP4LE.cjs'),require('./chunk-IJ4V3LGV.cjs'),require('./chunk-JDHTCMFA.cjs');var chunk2GSRLGUI_cjs=require('./chunk-2GSRLGUI.cjs');require('./chunk-OHJQ7GPZ.cjs');var chunk7VQ7YLW3_cjs=require('./chunk-7VQ7YLW3.cjs');Object.defineProperty(exports,"AUTO_ZOOM_MODE",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ea}});Object.defineProperty(exports,"BROWSER_AUTOMATION_CAPABILITIES",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ja}});Object.defineProperty(exports,"CHROME_GROUPS",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.sa}});Object.defineProperty(exports,"CHROME_MENUS",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.wa}});Object.defineProperty(exports,"CHROME_UNAVAILABLE_KEY",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.za}});Object.defineProperty(exports,"DEFAULT_TABLE_CHROME_DRAFT",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.W}});Object.defineProperty(exports,"EMU_PER_POINT",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.O}});Object.defineProperty(exports,"FIT_WIDTH_ZOOM_MODE",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Fa}});Object.defineProperty(exports,"IMAGE_OVERLAY_NUDGE_PT",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.M}});Object.defineProperty(exports,"IMAGE_OVERLAY_NUDGE_SHIFT_PT",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.N}});Object.defineProperty(exports,"MAX_RESOLVER_FAMILIES",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.d}});Object.defineProperty(exports,"PX_PER_CM",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.k}});Object.defineProperty(exports,"PX_PER_INCH",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.j}});Object.defineProperty(exports,"SNAP_TWIPS_CM",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.q}});Object.defineProperty(exports,"SNAP_TWIPS_INCH",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.p}});Object.defineProperty(exports,"TABLE_BORDER_STYLE_OPTIONS",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.aa}});Object.defineProperty(exports,"TABLE_BORDER_TARGET_OPTIONS",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.$}});Object.defineProperty(exports,"TABLE_BORDER_WIDTH_OPTIONS",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ba}});Object.defineProperty(exports,"TABLE_CHROME_SLOT_IDS",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.X}});Object.defineProperty(exports,"TWIPS_PER_CM",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.o}});Object.defineProperty(exports,"TWIPS_PER_INCH",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.n}});Object.defineProperty(exports,"WORD_DEFAULT_FONT",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.e}});Object.defineProperty(exports,"ZOOM_MAX",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Da}});Object.defineProperty(exports,"ZOOM_MIN",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ca}});Object.defineProperty(exports,"applyTableChromePick",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ca}});Object.defineProperty(exports,"applyThemeShade",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.w}});Object.defineProperty(exports,"applyThemeTint",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.v}});Object.defineProperty(exports,"blankDocumentBytes",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.g}});Object.defineProperty(exports,"canExecuteImageCommand",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.K}});Object.defineProperty(exports,"captureImageMutationPreconditions",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.J}});Object.defineProperty(exports,"chromeControlCount",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ya}});Object.defineProperty(exports,"chromeMenuSlots",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.xa}});Object.defineProperty(exports,"chromeProbeForSlot",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ga}});Object.defineProperty(exports,"chromeSlotId",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ta}});Object.defineProperty(exports,"commandForSlot",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ha}});Object.defineProperty(exports,"commandForSlotValue",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ja}});Object.defineProperty(exports,"commandForTableChromeSlotValue",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ia}});Object.defineProperty(exports,"composeFontConfiguration",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.f}});Object.defineProperty(exports,"computeImageResizeResult",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Qa}});Object.defineProperty(exports,"computeMovedImagePosition",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.T}});Object.defineProperty(exports,"computeResizedImageExtentEmu",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.S}});Object.defineProperty(exports,"createBrowserAutomationHost",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ka}});Object.defineProperty(exports,"createDocxEditor",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ia}});Object.defineProperty(exports,"createFontSource",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.i}});Object.defineProperty(exports,"createImageOverlayScrollPort",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ra}});Object.defineProperty(exports,"createLayoutShaping",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.b}});Object.defineProperty(exports,"cropPercentFromCropPermille",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.G}});Object.defineProperty(exports,"cropPercentFromPermille",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.E}});Object.defineProperty(exports,"cropPercentFromSourceCrop",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.B}});Object.defineProperty(exports,"cropPermilleFromCropPercent",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.F}});Object.defineProperty(exports,"cropPermilleFromPercent",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.D}});Object.defineProperty(exports,"cssPixelsToLayoutPoints",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Na}});Object.defineProperty(exports,"defaultChromeGroups",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ua}});Object.defineProperty(exports,"defaultTableLabel",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Y}});Object.defineProperty(exports,"disposeLayoutShaping",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.c}});Object.defineProperty(exports,"dragIndent",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.t}});Object.defineProperty(exports,"emuToOverlayPoints",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.R}});Object.defineProperty(exports,"executeImageCommand",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.L}});Object.defineProperty(exports,"finalizeImageOverlayInteraction",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Sa}});Object.defineProperty(exports,"formattingBarChromeGroups",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.va}});Object.defineProperty(exports,"generateRulerTicks",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.l}});Object.defineProperty(exports,"handlePosition",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.r}});Object.defineProperty(exports,"isStaleImageInteractionCommit",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.U}});Object.defineProperty(exports,"isTableChromeSlot",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Z}});Object.defineProperty(exports,"layoutPointsToCssPixels",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ma}});Object.defineProperty(exports,"loadFonts",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.h}});Object.defineProperty(exports,"lowerColorValueForBorder",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.y}});Object.defineProperty(exports,"lowerColorValueForFill",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.z}});Object.defineProperty(exports,"mountPaginatedSurface",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ba}});Object.defineProperty(exports,"overlayFrameToSheetCssPixels",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Oa}});Object.defineProperty(exports,"pointsToEmu",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Q}});Object.defineProperty(exports,"probeTableChromeCommand",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.da}});Object.defineProperty(exports,"resizePreservesAspect",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Pa}});Object.defineProperty(exports,"resolveColorValueToCss",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.A}});Object.defineProperty(exports,"resolveThemeColorHex",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.x}});Object.defineProperty(exports,"resolveZoomMode",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ga}});Object.defineProperty(exports,"rulerPageBox",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.m}});Object.defineProperty(exports,"runSave",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.pa}});Object.defineProperty(exports,"runTableChromeCommand",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.na}});Object.defineProperty(exports,"runTableCommand",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ra}});Object.defineProperty(exports,"runToolbarCommand",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.oa}});Object.defineProperty(exports,"sameZoomMode",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Ha}});Object.defineProperty(exports,"selectedDrawingOverlayTargetOf",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.P}});Object.defineProperty(exports,"selectedImageStateOf",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.I}});Object.defineProperty(exports,"snapTwips",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.s}});Object.defineProperty(exports,"sourceCropFromCropPercent",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.C}});Object.defineProperty(exports,"surfaceExtent",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.Aa}});Object.defineProperty(exports,"surfacePaintScale",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.La}});Object.defineProperty(exports,"tableChromeIconPaths",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.fa}});Object.defineProperty(exports,"tableChromeLabelKeyForTarget",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ea}});Object.defineProperty(exports,"tableChromeToolbarState",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ka}});Object.defineProperty(exports,"tableChromeVisible",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs._}});Object.defineProperty(exports,"tableCommandState",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.V}});Object.defineProperty(exports,"tableCommandToolbarState",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.qa}});Object.defineProperty(exports,"toEditorFontError",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.a}});Object.defineProperty(exports,"toolbarCommandState",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.la}});Object.defineProperty(exports,"toolbarCommandStates",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.ma}});Object.defineProperty(exports,"validateImageCropPercent",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.H}});Object.defineProperty(exports,"validateThemeModifier",{enumerable:true,get:function(){return chunkL2GMLEHX_cjs.u}});Object.defineProperty(exports,"DEFAULT_IMAGE_RESOURCE_LIMITS",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.E}});Object.defineProperty(exports,"DRAWING_REL_FROM_H",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.vf}});Object.defineProperty(exports,"DRAWING_REL_FROM_V",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.wf}});Object.defineProperty(exports,"IMAGE_WRAP_TARGETS",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.Xa}});Object.defineProperty(exports,"positionInputFromPropertiesCommand",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.yf}});Object.defineProperty(exports,"propertiesCommandHasPositionFields",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.xf}});Object.defineProperty(exports,"resolveImageResourceLimits",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.F}});Object.defineProperty(exports,"resolveSvgIntrinsicSize",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.ob}});Object.defineProperty(exports,"sniffImageMime",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.kb}});Object.defineProperty(exports,"validateDrawingPositionInput",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.uf}});Object.defineProperty(exports,"validateRasterHeader",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.pb}});Object.defineProperty(exports,"validateSetImagePositionCommand",{enumerable:true,get:function(){return chunk2GSRLGUI_cjs.zf}});Object.defineProperty(exports,"resolveEditorModules",{enumerable:true,get:function(){return chunk7VQ7YLW3_cjs.a}});
1
+ 'use strict';var chunkJEMP5YI5_cjs=require('./chunk-JEMP5YI5.cjs');require('./chunk-F7Z6PWAZ.cjs'),require('./chunk-DGUHCJPF.cjs'),require('./chunk-JZXK4DKV.cjs'),require('./chunk-SKWYEZCO.cjs'),require('./chunk-IJ4V3LGV.cjs'),require('./chunk-SFMAIFEN.cjs');var chunkDY3QVCWC_cjs=require('./chunk-DY3QVCWC.cjs');require('./chunk-YMYCPY5Y.cjs');var chunk7VQ7YLW3_cjs=require('./chunk-7VQ7YLW3.cjs');Object.defineProperty(exports,"AUTO_ZOOM_MODE",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ga}});Object.defineProperty(exports,"BROWSER_AUTOMATION_CAPABILITIES",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.La}});Object.defineProperty(exports,"CHROME_GROUPS",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ua}});Object.defineProperty(exports,"CHROME_MENUS",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ya}});Object.defineProperty(exports,"CHROME_UNAVAILABLE_KEY",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ba}});Object.defineProperty(exports,"DEFAULT_TABLE_CHROME_DRAFT",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.X}});Object.defineProperty(exports,"EMU_PER_POINT",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.P}});Object.defineProperty(exports,"FIT_WIDTH_ZOOM_MODE",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ha}});Object.defineProperty(exports,"IMAGE_OVERLAY_NUDGE_PT",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.N}});Object.defineProperty(exports,"IMAGE_OVERLAY_NUDGE_SHIFT_PT",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.O}});Object.defineProperty(exports,"LOADING_SNAPSHOT",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.d}});Object.defineProperty(exports,"MAX_RESOLVER_FAMILIES",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.e}});Object.defineProperty(exports,"PX_PER_CM",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.l}});Object.defineProperty(exports,"PX_PER_INCH",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.k}});Object.defineProperty(exports,"SNAP_TWIPS_CM",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.r}});Object.defineProperty(exports,"SNAP_TWIPS_INCH",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.q}});Object.defineProperty(exports,"TABLE_BORDER_STYLE_OPTIONS",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ba}});Object.defineProperty(exports,"TABLE_BORDER_TARGET_OPTIONS",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.aa}});Object.defineProperty(exports,"TABLE_BORDER_WIDTH_OPTIONS",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ca}});Object.defineProperty(exports,"TABLE_CHROME_SLOT_IDS",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Y}});Object.defineProperty(exports,"TWIPS_PER_CM",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.p}});Object.defineProperty(exports,"TWIPS_PER_INCH",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.o}});Object.defineProperty(exports,"WORD_DEFAULT_FONT",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.f}});Object.defineProperty(exports,"ZOOM_MAX",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Fa}});Object.defineProperty(exports,"ZOOM_MIN",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ea}});Object.defineProperty(exports,"applyTableChromePick",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.da}});Object.defineProperty(exports,"applyThemeShade",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.x}});Object.defineProperty(exports,"applyThemeTint",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.w}});Object.defineProperty(exports,"blankDocumentBytes",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.h}});Object.defineProperty(exports,"canExecuteImageCommand",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.L}});Object.defineProperty(exports,"captureImageMutationPreconditions",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.K}});Object.defineProperty(exports,"chromeControlCount",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Aa}});Object.defineProperty(exports,"chromeMenuSlots",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.za}});Object.defineProperty(exports,"chromeProbeForSlot",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ha}});Object.defineProperty(exports,"chromeSlotId",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.va}});Object.defineProperty(exports,"commandForSlot",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ia}});Object.defineProperty(exports,"commandForSlotValue",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ka}});Object.defineProperty(exports,"commandForTableChromeSlotValue",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ja}});Object.defineProperty(exports,"composeFontConfiguration",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.g}});Object.defineProperty(exports,"computeImageResizeResult",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Sa}});Object.defineProperty(exports,"computeMovedImagePosition",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.U}});Object.defineProperty(exports,"computeResizedImageExtentEmu",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.T}});Object.defineProperty(exports,"createBrowserAutomationHost",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ma}});Object.defineProperty(exports,"createDocxEditor",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ka}});Object.defineProperty(exports,"createFontSource",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.j}});Object.defineProperty(exports,"createImageOverlayScrollPort",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ta}});Object.defineProperty(exports,"createLayoutShaping",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.b}});Object.defineProperty(exports,"cropPercentFromCropPermille",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.H}});Object.defineProperty(exports,"cropPercentFromPermille",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.F}});Object.defineProperty(exports,"cropPercentFromSourceCrop",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.C}});Object.defineProperty(exports,"cropPermilleFromCropPercent",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.G}});Object.defineProperty(exports,"cropPermilleFromPercent",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.E}});Object.defineProperty(exports,"cssPixelsToLayoutPoints",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Pa}});Object.defineProperty(exports,"defaultChromeGroups",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.wa}});Object.defineProperty(exports,"defaultTableLabel",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Z}});Object.defineProperty(exports,"disposeLayoutShaping",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.c}});Object.defineProperty(exports,"dragIndent",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.u}});Object.defineProperty(exports,"editorCommandKey",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ta}});Object.defineProperty(exports,"emuToOverlayPoints",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.S}});Object.defineProperty(exports,"executeImageCommand",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.M}});Object.defineProperty(exports,"finalizeImageOverlayInteraction",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ua}});Object.defineProperty(exports,"formattingBarChromeGroups",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.xa}});Object.defineProperty(exports,"generateRulerTicks",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.m}});Object.defineProperty(exports,"handlePosition",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.s}});Object.defineProperty(exports,"isStaleImageInteractionCommit",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.V}});Object.defineProperty(exports,"isTableChromeSlot",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs._}});Object.defineProperty(exports,"layoutPointsToCssPixels",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Oa}});Object.defineProperty(exports,"loadFonts",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.i}});Object.defineProperty(exports,"lowerColorValueForBorder",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.z}});Object.defineProperty(exports,"lowerColorValueForFill",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.A}});Object.defineProperty(exports,"mountPaginatedSurface",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Da}});Object.defineProperty(exports,"overlayFrameToSheetCssPixels",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Qa}});Object.defineProperty(exports,"pointsToEmu",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.R}});Object.defineProperty(exports,"probeTableChromeCommand",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ea}});Object.defineProperty(exports,"resizePreservesAspect",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ra}});Object.defineProperty(exports,"resolveColorValueToCss",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.B}});Object.defineProperty(exports,"resolveThemeColorHex",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.y}});Object.defineProperty(exports,"resolveZoomMode",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ia}});Object.defineProperty(exports,"rulerPageBox",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.n}});Object.defineProperty(exports,"runSave",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.qa}});Object.defineProperty(exports,"runTableChromeCommand",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.oa}});Object.defineProperty(exports,"runTableCommand",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.sa}});Object.defineProperty(exports,"runToolbarCommand",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.pa}});Object.defineProperty(exports,"sameZoomMode",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ja}});Object.defineProperty(exports,"selectedDrawingOverlayTargetOf",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Q}});Object.defineProperty(exports,"selectedImageStateOf",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.J}});Object.defineProperty(exports,"snapTwips",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.t}});Object.defineProperty(exports,"sourceCropFromCropPercent",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.D}});Object.defineProperty(exports,"surfaceExtent",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Ca}});Object.defineProperty(exports,"surfacePaintScale",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.Na}});Object.defineProperty(exports,"tableChromeIconPaths",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ga}});Object.defineProperty(exports,"tableChromeLabelKeyForTarget",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.fa}});Object.defineProperty(exports,"tableChromeToolbarState",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.la}});Object.defineProperty(exports,"tableChromeVisible",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.$}});Object.defineProperty(exports,"tableCommandState",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.W}});Object.defineProperty(exports,"tableCommandToolbarState",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ra}});Object.defineProperty(exports,"toEditorFontError",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.a}});Object.defineProperty(exports,"toolbarCommandState",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.ma}});Object.defineProperty(exports,"toolbarCommandStates",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.na}});Object.defineProperty(exports,"validateImageCropPercent",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.I}});Object.defineProperty(exports,"validateThemeModifier",{enumerable:true,get:function(){return chunkJEMP5YI5_cjs.v}});Object.defineProperty(exports,"DEFAULT_IMAGE_RESOURCE_LIMITS",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.E}});Object.defineProperty(exports,"DRAWING_REL_FROM_H",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.vf}});Object.defineProperty(exports,"DRAWING_REL_FROM_V",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.wf}});Object.defineProperty(exports,"IMAGE_WRAP_TARGETS",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.Xa}});Object.defineProperty(exports,"positionInputFromPropertiesCommand",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.yf}});Object.defineProperty(exports,"propertiesCommandHasPositionFields",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.xf}});Object.defineProperty(exports,"resolveImageResourceLimits",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.F}});Object.defineProperty(exports,"resolveSvgIntrinsicSize",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.ob}});Object.defineProperty(exports,"sniffImageMime",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.kb}});Object.defineProperty(exports,"validateDrawingPositionInput",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.uf}});Object.defineProperty(exports,"validateRasterHeader",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.pb}});Object.defineProperty(exports,"validateSetImagePositionCommand",{enumerable:true,get:function(){return chunkDY3QVCWC_cjs.zf}});Object.defineProperty(exports,"resolveEditorModules",{enumerable:true,get:function(){return chunk7VQ7YLW3_cjs.a}});