@docx-editor.dev/core 2.33.0 → 2.34.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 (111) hide show
  1. package/dist/automation.cjs +1 -1
  2. package/dist/automation.d.ts +11 -11
  3. package/dist/automation.js +1 -1
  4. package/dist/binding.cjs +1 -1
  5. package/dist/binding.d.ts +13 -13
  6. package/dist/binding.js +1 -1
  7. package/dist/{chrome-print-CrPI9ZQc.d.ts → chrome-print-DY0xsXm_.d.ts} +163 -112
  8. package/dist/{chunk-X34QRAUU.cjs → chunk-37IYWENL.cjs} +1 -1
  9. package/dist/chunk-37RNWL45.js +4 -0
  10. package/dist/chunk-5HUVQXET.cjs +4 -0
  11. package/dist/chunk-5JP3QQF7.js +7 -0
  12. package/dist/chunk-5KOLFKOB.cjs +5 -0
  13. package/dist/chunk-6MF5PN2E.js +236 -0
  14. package/dist/chunk-77JT2AU7.js +2 -0
  15. package/dist/{chunk-2F2UEAE2.js → chunk-7FUORGCW.js} +1 -1
  16. package/dist/chunk-A5BTVPET.cjs +236 -0
  17. package/dist/chunk-AFXFH2T2.js +3 -0
  18. package/dist/chunk-AVCYP7OY.js +5 -0
  19. package/dist/chunk-BL2E4QRA.js +1 -0
  20. package/dist/chunk-DB7X4Y6O.js +4 -0
  21. package/dist/chunk-DR6W23TB.cjs +2 -0
  22. package/dist/{chunk-2DR4TH6B.js → chunk-DYLB5U42.js} +1 -1
  23. package/dist/chunk-E5BKDHIP.cjs +1 -0
  24. package/dist/chunk-IWXBRUPG.cjs +4 -0
  25. package/dist/{chunk-L3YXJDPX.js → chunk-KCUXXO3Q.js} +1 -1
  26. package/dist/chunk-KYA4Y2YB.js +1 -0
  27. package/dist/{chunk-PXMTQ73F.cjs → chunk-L74TCGVH.cjs} +1 -1
  28. package/dist/chunk-NBSSQSKY.js +30 -0
  29. package/dist/{chunk-RFUNFTGV.cjs → chunk-NEM774E3.cjs} +1 -1
  30. package/dist/chunk-NKZVMMHU.cjs +1 -0
  31. package/dist/chunk-TXIO5WYQ.cjs +32 -0
  32. package/dist/chunk-UKG2TXWH.cjs +7 -0
  33. package/dist/chunk-V7CO55DO.cjs +3 -0
  34. package/dist/chunk-VLQDQNSS.js +1 -0
  35. package/dist/chunk-VQOAC3VI.cjs +30 -0
  36. package/dist/chunk-YWJSQA2O.js +32 -0
  37. package/dist/chunk-ZJ74LCFI.cjs +1 -0
  38. package/dist/collaboration/replication.cjs +1 -1
  39. package/dist/collaboration/replication.d.ts +3 -3
  40. package/dist/collaboration/replication.js +1 -1
  41. package/dist/collaboration.d.ts +2 -2
  42. package/dist/contracts/document.d.ts +2 -2
  43. package/dist/contracts/editor.d.ts +9 -9
  44. package/dist/contracts/modules.d.ts +11 -11
  45. package/dist/contracts/types.d.ts +3 -3
  46. package/dist/{custom-node-writes-AqY5KpVx.d.ts → custom-node-writes-DparEcZK.d.ts} +45 -7
  47. package/dist/{diagnostic-context-CuzhOX0g.d.ts → diagnostic-context-CkZKkKvB.d.ts} +1 -1
  48. package/dist/{diagnostic-hints-BtCaCqQC.d.ts → diagnostic-hints-BTyb8yzX.d.ts} +1 -1
  49. package/dist/{document-protection-BvbpSXbQ.d.ts → document-protection-DdWxihIN.d.ts} +1 -1
  50. package/dist/{drawing-graphic-kind-CXYGYbB3.d.ts → drawing-graphic-kind-CK0cMc7H.d.ts} +91 -18
  51. package/dist/{drawing-preview-package-B9lSLRg4.d.ts → drawing-preview-package-fFjXpOMS.d.ts} +1 -1
  52. package/dist/{editor-B7OOAAie.d.ts → editor-DDCkWqfD.d.ts} +47 -15
  53. package/dist/editor.cjs +1 -1
  54. package/dist/editor.css +2 -2
  55. package/dist/editor.d.ts +200 -75
  56. package/dist/editor.js +1 -1
  57. package/dist/export.cjs +2 -2
  58. package/dist/export.d.ts +8 -8
  59. package/dist/export.js +1 -1
  60. package/dist/index.cjs +1 -1
  61. package/dist/index.d.ts +20 -20
  62. package/dist/index.js +1 -1
  63. package/dist/{layout-shaping-Ci_BTnSU.d.ts → layout-shaping-Byj-TwsI.d.ts} +1 -1
  64. package/dist/layout.cjs +1 -1
  65. package/dist/layout.d.ts +289 -129
  66. package/dist/layout.js +1 -1
  67. package/dist/{metafile-drawing-DtMFyMKq.d.ts → metafile-drawing-Ce6TuWLm.d.ts} +9 -1
  68. package/dist/{note-properties-DCIJUKIy.d.ts → note-properties-BiunaIQa.d.ts} +31 -7
  69. package/dist/output.cjs +1 -1
  70. package/dist/output.d.ts +76 -12
  71. package/dist/output.js +1 -1
  72. package/dist/{protocol-Cp_QzVxS.d.ts → protocol-Dn44dL4M.d.ts} +184 -120
  73. package/dist/{review-paragraph-order-BJQ43_r0.d.ts → review-paragraph-order-BWMXAKuA.d.ts} +1 -1
  74. package/dist/{revision-projection-OVusTS77.d.ts → revision-projection-DwFhgIR0.d.ts} +1 -1
  75. package/dist/{semantic-cell-selection-CoI5hHBm.d.ts → semantic-cell-selection-DhalxEBH.d.ts} +2 -2
  76. package/dist/{semantic-interaction-BbA4dgEo.d.ts → semantic-interaction-QeuzEtAk.d.ts} +2 -4
  77. package/dist/{semantic-paint-B5JcIv9c.d.ts → semantic-paint-BYDZbTiY.d.ts} +4 -4
  78. package/dist/{semantic-record-queries-DnO8J5_j.d.ts → semantic-record-queries-Bf5bgQL3.d.ts} +1 -1
  79. package/dist/{semantic-records-DoK0lNjS.d.ts → semantic-records-CzZiWMY8.d.ts} +99 -94
  80. package/dist/store.cjs +1 -1
  81. package/dist/store.d.ts +31 -16
  82. package/dist/store.js +1 -1
  83. package/dist/{tree-op-types-Df4oY2u4.d.ts → tree-op-types-DKvJSH8T.d.ts} +204 -147
  84. package/dist/{tree-package-store-DXhX1PE-.d.ts → tree-package-store-Cl3BkWXF.d.ts} +1 -1
  85. package/dist/{tree-session-contract-CF2625mv.d.ts → tree-session-contract-BL50pqs8.d.ts} +14 -7
  86. package/dist/{unsupported-elements-CUojsaCr.d.ts → unsupported-elements-Bra4QTOM.d.ts} +1 -1
  87. package/package.json +2 -2
  88. package/dist/chunk-23MKR33J.js +0 -4
  89. package/dist/chunk-2DEY5NUC.cjs +0 -32
  90. package/dist/chunk-2GPGAFOJ.cjs +0 -5
  91. package/dist/chunk-ALD626VU.cjs +0 -2
  92. package/dist/chunk-AU33YWEJ.js +0 -236
  93. package/dist/chunk-AXU63LYW.cjs +0 -1
  94. package/dist/chunk-CM5VZRBV.js +0 -32
  95. package/dist/chunk-D7FAFFTN.js +0 -1
  96. package/dist/chunk-DYUVJNDD.cjs +0 -1
  97. package/dist/chunk-ESYUKD5D.js +0 -2
  98. package/dist/chunk-F7TGQMVR.js +0 -5
  99. package/dist/chunk-FLW7KIQX.js +0 -30
  100. package/dist/chunk-JG4A6W6I.js +0 -7
  101. package/dist/chunk-JNGLSBPH.js +0 -2
  102. package/dist/chunk-KE6ZWRIY.cjs +0 -236
  103. package/dist/chunk-LI42N7OW.cjs +0 -4
  104. package/dist/chunk-PLKDS4JT.js +0 -1
  105. package/dist/chunk-R4R3AAE4.js +0 -1
  106. package/dist/chunk-SVM6PGMS.js +0 -3
  107. package/dist/chunk-SZURLHR3.cjs +0 -3
  108. package/dist/chunk-UYCGCVZ2.cjs +0 -1
  109. package/dist/chunk-XNBYG4XJ.cjs +0 -30
  110. package/dist/chunk-ZDFJW5XS.cjs +0 -2
  111. package/dist/chunk-ZWO4JHNN.cjs +0 -7
@@ -1371,7 +1371,10 @@ interface TextboxStoryProjection {
1371
1371
  }>;
1372
1372
  /** `wps:bodyPr/@anchor` collapsed to the three renderable positions; default top. */
1373
1373
  readonly verticalAnchor: 'top' | 'center' | 'bottom';
1374
- /** Autofit child of `wps:bodyPr`; extent stays authoritative either way (diagnostic only). */
1374
+ /**
1375
+ * Autofit child of `wps:bodyPr`. `shape` on a top-level box sets {@link fitHeightToText};
1376
+ * `normal` (shrink text on overflow) keeps the extent.
1377
+ */
1375
1378
  readonly autofit: 'none' | 'shape' | 'normal';
1376
1379
  /**
1377
1380
  * `wps:bodyPr/@wrap="none"` (VML `mso-wrap-style:none`): lines never wrap at the box edge,
@@ -1390,8 +1393,16 @@ interface TextboxStoryProjection {
1390
1393
  readonly strokeCentered?: true;
1391
1394
  /** VML `insetpen`: the outline lies inside the box and insets the text by its full width. */
1392
1395
  readonly strokeInset?: true;
1393
- /** VML `mso-fit-shape-to-text`: the box height follows its text when laid out. */
1396
+ /**
1397
+ * VML `mso-fit-shape-to-text` or DrawingML `a:spAutoFit` on a top-level box: the box height
1398
+ * follows its text when laid out.
1399
+ */
1394
1400
  readonly fitHeightToText?: true;
1401
+ /**
1402
+ * The fit comes from DrawingML `a:spAutoFit`, which also fits an inline or turned box. A
1403
+ * legacy VML box that fits its text keeps its extent when inline or turned.
1404
+ */
1405
+ readonly drawingFit?: true;
1395
1406
  /** Outline dash pattern in multiples of the outline width; absent for solid. */
1396
1407
  readonly strokeDash?: readonly number[];
1397
1408
  /** How outline dashes end; absent for flat ends. */
@@ -2728,6 +2739,53 @@ declare function withoutBookmarkInPart(pkg: OoxmlPackage, partName: string, name
2728
2739
  */
2729
2740
  declare function enclosedBookmarkDeletions(part: OoxmlPart, from: BookmarkOpPosition, to: BookmarkOpPosition, order: readonly string[]): readonly DeleteBookmarkOp[];
2730
2741
 
2742
+ interface InsertTableOp {
2743
+ /**
2744
+ * Insert a fresh empty table immediately before a block-level paragraph.
2745
+ *
2746
+ * Before, never after, so the anchor paragraph stays as the block that follows the
2747
+ * table: a `w:tbl` is not a valid final child of a story container, and two tables
2748
+ * that end up adjacent merge into one when the file is reopened. When the anchor's
2749
+ * previous sibling is already a table, a separating empty paragraph is authored with
2750
+ * it for the same reason.
2751
+ */
2752
+ readonly op: 'insertTable';
2753
+ readonly beforeParagraphId: string;
2754
+ readonly rows: number;
2755
+ readonly cols: number;
2756
+ /** Width of every grid column, in twips. The caller divides the content width. */
2757
+ readonly columnWidthTwips: number;
2758
+ /** Propose the complete table through native row and cell insertion revisions. */
2759
+ readonly revision?: RevisionAttributionInput;
2760
+ }
2761
+ interface MoveTableOp {
2762
+ /**
2763
+ * Move a table to just before another block of the same parent, keeping every node id.
2764
+ *
2765
+ * Ids are kept so a peer's concurrent edit inside the table survives the move; a
2766
+ * delete and re-insert would mint a new table and drop it. An empty paragraph is minted
2767
+ * on either side that would otherwise touch another table, for the reason in
2768
+ * {@link InsertTableOp}. No tracked form exists, so suggesting mode refuses it.
2769
+ */
2770
+ readonly op: 'moveTable';
2771
+ readonly tableId: string;
2772
+ readonly beforeBlockId: string;
2773
+ }
2774
+ interface InsertParagraphBesideTableOp {
2775
+ /**
2776
+ * Insert a paragraph holding `text` just before or just after a block-level table.
2777
+ *
2778
+ * For a table that opens or closes its story, where no paragraph of the same parent sits
2779
+ * on that side to split.
2780
+ */
2781
+ readonly op: 'insertParagraphBesideTable';
2782
+ readonly tableId: string;
2783
+ readonly where: 'before' | 'after';
2784
+ readonly text: string;
2785
+ /** Propose the paragraph and its text as a tracked insertion. */
2786
+ readonly revision?: RevisionAttributionInput;
2787
+ }
2788
+
2731
2789
  /** The `w15` namespace: `commentsExtended.xml` — thread parent and resolved state. */
2732
2790
  declare const W15_NAMESPACE_URI = "http://schemas.microsoft.com/office/word/2012/wordml";
2733
2791
  /** A position in one story: a paragraph node id plus a UTF-16 offset inside it. */
@@ -3752,6 +3810,8 @@ interface RunFormatting {
3752
3810
  * formatting resolved together — not the gap the page finally draws. The two differ for a
3753
3811
  * paragraph carrying `w:beforeAutospacing`, where Word substitutes its own value and
3754
3812
  * ignores the measurement, and again where two paragraphs collapse their adjacent spacing.
3813
+ * A document that sets `w:doNotUseHTMLParagraphAutoSpacing` does neither: the measurement
3814
+ * stays, and adjacent spacing adds up.
3755
3815
  * Absent when the selection's paragraphs disagree or no level states it.
3756
3816
  */
3757
3817
  readonly spaceBeforePt?: number;
@@ -4140,6 +4200,132 @@ interface Point {
4140
4200
  /** What every subscription returns. Calling it twice is safe. */
4141
4201
  type Unsubscribe = () => void;
4142
4202
 
4203
+ /**
4204
+ * Why an op was refused.
4205
+ *
4206
+ * `not-adjacent-siblings` is the notable one: a join across table cells is refused rather than
4207
+ * silently merging content out of the cell that owned it.
4208
+ */
4209
+ type TreeOpRejection = 'unknown-op' | 'unknown-paragraph' | 'not-a-paragraph' | 'offset-out-of-range' | 'invalid-range' | 'not-a-list-paragraph' | 'splits-surrogate-pair' | 'invalid-text' | 'unsupported-property' | 'invalid-property-value' | 'not-adjacent-siblings'
4210
+ /**
4211
+ * The addressed position is strictly inside content nothing can divide: a hyperlink, an
4212
+ * inline content control, a revision wrapper, or an atomic field.
4213
+ *
4214
+ * Distinct from `invalid-range`, which is an offset the paragraph does not have. This one is
4215
+ * a real offset that is not a PLACE — refused rather than resolved to the nearest one, so a
4216
+ * caller learns the node would not have landed where they asked.
4217
+ */
4218
+ | 'indivisible-content'
4219
+ /**
4220
+ * The range has one end inside a field's editable saved result and the other outside it.
4221
+ * Deleting it would leave the field's begin, separate, and end markers unbalanced, so it is
4222
+ * refused. A range that covers the whole field removes the field.
4223
+ */
4224
+ | 'field-structure'
4225
+ /**
4226
+ * In the editable field-result mode, an op other than typing, deletion, or run formatting
4227
+ * addresses a position inside a field's saved result. Splits, tabs, links, notes, and
4228
+ * fragments there are not supported yet.
4229
+ */
4230
+ | 'field-result-unsupported' | 'unknown-block' | 'not-a-block' | 'block-required' | 'carries-section-mark'
4231
+ /** The transaction named a part the package does not hold. */
4232
+ | 'unknown-part'
4233
+ /**
4234
+ * The transaction would have published a package that does not open: a relationship
4235
+ * pointing at a part nobody created, or a part with no declared content type.
4236
+ */
4237
+ | 'package-invariant'
4238
+ /**
4239
+ * A package edit refused the package it was given, for example because an id or part name it
4240
+ * expected to allocate is taken or a definition it addresses changed. Nothing was applied.
4241
+ */
4242
+ | 'package-changed'
4243
+ /** No revision in this part carries the addressed `(id, author, date)` triple. */
4244
+ | 'unknown-revision'
4245
+ /**
4246
+ * A matched revision is a kind whose accept/reject semantics are structural and not
4247
+ * implemented. Refusing is deliberate: removing the markup alone would report the decision
4248
+ * applied while leaving the row, cell, or section it describes untouched.
4249
+ */
4250
+ | 'unsupported-revision'
4251
+ /**
4252
+ * A tracked insertion would land inside a link, content control, or other container within
4253
+ * another author's pending insertion. The container cannot split, and nested words would
4254
+ * become part of that author's proposal.
4255
+ */
4256
+ | 'unsupported-revision:foreign-insertion' | 'tree-invariant'
4257
+ /** No content control in this part carries the addressed node id. */
4258
+ | 'unknown-content-control'
4259
+ /** The addressed node exists and is not a `w:sdt`. */
4260
+ | 'not-a-content-control'
4261
+ /**
4262
+ * A content control's `w:lock` — or one an enclosing control imposes — forbids this.
4263
+ *
4264
+ * The same code for an edit inside `contentLocked` content and for the removal of an
4265
+ * `sdtLocked` control: both are "the document says no", and the two halves are already
4266
+ * distinguished by which operation was refused.
4267
+ */
4268
+ | 'locked'
4269
+ /** The control declares `w:dataBinding`; its value belongs to a custom XML part. */
4270
+ | 'bound'
4271
+ /** The value offered is not one this control's type accepts. */
4272
+ | 'typeMismatch' | 'unknown-control' | 'unsupported'
4273
+ /** Malformed lifecycle args / first-section link — mirrors Editor `invalidArgs`. */
4274
+ | 'invalidArgs'
4275
+ /** The addressed table id is missing, duplicated, or not a typed table. */
4276
+ | 'unknown-table'
4277
+ /** The addressed row id is missing or not a direct child of the table. */
4278
+ | 'unknown-row'
4279
+ /** A table property container appears more than once on a typed node. */
4280
+ | 'duplicate-property-container'
4281
+ /**
4282
+ * A row holds a `w:tc` inside a cell-level wrapper such as `w:sdt`, so the row's grid
4283
+ * mapping cannot be trusted and the inserted row would not match it.
4284
+ */
4285
+ | 'row-hides-cell'
4286
+ /** The table carries a legacy `w:hMerge`, which grid edits cannot place. */
4287
+ | 'table-has-merge'
4288
+ /** The cells to merge do not cover one rectangle, or cover only one cell. */
4289
+ | 'cells-not-rectangle'
4290
+ /** A cell merged over several rows splits only into a divisor of them. */
4291
+ | 'split-rows-not-divisor'
4292
+ /** The cells hold a tracked cell insertion, deletion, or merge. */
4293
+ | 'cell-has-revision'
4294
+ /** The split cells would be narrower than the minimum column width. */
4295
+ | 'cell-too-narrow'
4296
+ /** A whole-cell value write addresses a cell that is not one plain paragraph. */
4297
+ | 'unsupported-cell-content'
4298
+ /** Without `w:tblGrid`, a cell splits only into a divisor of the columns it spans. */
4299
+ | 'split-needs-grid'
4300
+ /** The addressed grid column id is missing or ambiguous without `w:tblGrid`. */
4301
+ | 'unknown-grid-column'
4302
+ /** The operation would exceed bounded table topology limits. */
4303
+ | 'resource-limit'
4304
+ /** The addressed node is not a top-level `w:drawing`. */
4305
+ | 'not-a-drawing'
4306
+ /** No `w:drawing` with this id exists in the part. */
4307
+ | 'unknown-drawing'
4308
+ /** The drawing's graphic payload is not a supported picture. */
4309
+ | 'not-a-picture-drawing'
4310
+ /** A chart in any state: only a delete applies, and it removes the whole chart. */
4311
+ | 'chart-drawing'
4312
+ /** A lock flag or `@locked` forbids this mutation. */
4313
+ | 'drawing-locked'
4314
+ /** Finite EMU extent, crop, or position value is out of range. */
4315
+ | 'invalid-drawing-value'
4316
+ /** Insertion would cross a table-cell boundary or wrong story container. */
4317
+ | 'cross-cell-drawing'
4318
+ /** Suggesting-mode drawing deletion is not implemented in this change. */
4319
+ | 'trackedDrawingDeletionUnsupported'
4320
+ /** Hyperlink target creation or change needs an OPC relationship in a package transaction. */
4321
+ | 'packageTransactionRequired'
4322
+ /** A clipboard fragment block nests deeper than the recursion cap. */
4323
+ | 'fragment-too-deep'
4324
+ /** A clipboard fragment block is not a paragraph, table, or content control subtree. */
4325
+ | 'fragment-invalid-block'
4326
+ /** A clipboard fragment exceeds its block or node budget. */
4327
+ | 'fragment-resource-budget';
4328
+
4143
4329
  /**
4144
4330
  * A colour as an op carries it: a literal, a theme reference, or automatic.
4145
4331
  *
@@ -4647,25 +4833,7 @@ type TreeDocOp = SetFieldCodeOp | {
4647
4833
  */
4648
4834
  readonly op: 'deleteBlock';
4649
4835
  readonly blockId: string;
4650
- } | {
4651
- /**
4652
- * Insert a fresh empty table immediately before a block-level paragraph.
4653
- *
4654
- * Before, never after, so the anchor paragraph stays as the block that follows the
4655
- * table: a `w:tbl` is not a valid final child of a story container, and two tables
4656
- * that end up adjacent merge into one when the file is reopened. When the anchor's
4657
- * previous sibling is already a table, a separating empty paragraph is authored with
4658
- * it, which is what Word does for the same reason.
4659
- */
4660
- readonly op: 'insertTable';
4661
- readonly beforeParagraphId: string;
4662
- readonly rows: number;
4663
- readonly cols: number;
4664
- /** Width of every grid column, in twips. The caller divides the content width. */
4665
- readonly columnWidthTwips: number;
4666
- /** Propose the complete table through native row and cell insertion revisions. */
4667
- readonly revision?: RevisionAttributionInput;
4668
- } | {
4836
+ } | InsertTableOp | MoveTableOp | InsertParagraphBesideTableOp | {
4669
4837
  /** Insert a fresh row above or below a canonical table row. */
4670
4838
  readonly op: 'insertTableRow';
4671
4839
  readonly tableId: string;
@@ -4707,6 +4875,8 @@ type TreeDocOp = SetFieldCodeOp | {
4707
4875
  readonly op: 'mergeTableCells';
4708
4876
  readonly tableId: string;
4709
4877
  readonly cellIds: readonly string[];
4878
+ /** Merge inside this author's own pending table insertion; new structure joins it. */
4879
+ readonly revision?: RevisionAttributionInput;
4710
4880
  } | {
4711
4881
  /** Split one cell into `rows` by `columns` equal cells; a one-row cell adds rows. */
4712
4882
  readonly op: 'splitTableCell';
@@ -4714,6 +4884,8 @@ type TreeDocOp = SetFieldCodeOp | {
4714
4884
  readonly cellId: string;
4715
4885
  readonly rows: number;
4716
4886
  readonly columns: number;
4887
+ /** Split inside this author's own pending table insertion; new structure joins it. */
4888
+ readonly revision?: RevisionAttributionInput;
4717
4889
  } | {
4718
4890
  /**
4719
4891
  * Resize one internal divider between two adjacent canonical grid columns.
@@ -5034,6 +5206,13 @@ type TreeDocOp = SetFieldCodeOp | {
5034
5206
  readonly paragraphId: string;
5035
5207
  readonly name: string;
5036
5208
  }[];
5209
+ } | {
5210
+ /**
5211
+ * Remove a detected table of contents: its field, or the whole control the field fills.
5212
+ * Text before and after the field stays, in one paragraph. One undo unit.
5213
+ */
5214
+ readonly op: 'removeToc';
5215
+ readonly tocId: string;
5037
5216
  } | {
5038
5217
  /**
5039
5218
  * Rewrite page-number text runs inside existing TOC result paragraphs.
@@ -5105,134 +5284,12 @@ interface TreeOpEffect {
5105
5284
  };
5106
5285
  readonly dependencyKeys: readonly string[];
5107
5286
  readonly impact: ImpactClass;
5108
- /** First post-edit caret paragraph for table column structural ops. */
5287
+ /** Post-edit caret paragraph for structural ops, at `offset` (default 0). */
5109
5288
  readonly caret?: {
5110
5289
  readonly paragraphId: string;
5290
+ readonly offset?: number;
5111
5291
  };
5112
5292
  }
5113
- /**
5114
- * Why an op was refused.
5115
- *
5116
- * `not-adjacent-siblings` is the notable one: a join across table cells is refused rather than
5117
- * silently merging content out of the cell that owned it.
5118
- */
5119
- type TreeOpRejection = 'unknown-op' | 'unknown-paragraph' | 'not-a-paragraph' | 'offset-out-of-range' | 'invalid-range' | 'not-a-list-paragraph' | 'splits-surrogate-pair' | 'invalid-text' | 'unsupported-property' | 'invalid-property-value' | 'not-adjacent-siblings'
5120
- /**
5121
- * The addressed position is strictly inside content nothing can divide: a hyperlink, an
5122
- * inline content control, a revision wrapper, or an atomic field.
5123
- *
5124
- * Distinct from `invalid-range`, which is an offset the paragraph does not have. This one is
5125
- * a real offset that is not a PLACE — refused rather than resolved to the nearest one, so a
5126
- * caller learns the node would not have landed where they asked.
5127
- */
5128
- | 'indivisible-content'
5129
- /**
5130
- * The range has one end inside a field's editable saved result and the other outside it.
5131
- * Deleting it would leave the field's begin, separate, and end markers unbalanced, so it is
5132
- * refused. A range that covers the whole field removes the field.
5133
- */
5134
- | 'field-structure'
5135
- /**
5136
- * In the editable field-result mode, an op other than typing, deletion, or run formatting
5137
- * addresses a position inside a field's saved result. Splits, tabs, links, notes, and
5138
- * fragments there are not supported yet.
5139
- */
5140
- | 'field-result-unsupported' | 'unknown-block' | 'not-a-block' | 'block-required' | 'carries-section-mark'
5141
- /** The transaction named a part the package does not hold. */
5142
- | 'unknown-part'
5143
- /**
5144
- * The transaction would have published a package that does not open: a relationship
5145
- * pointing at a part nobody created, or a part with no declared content type.
5146
- */
5147
- | 'package-invariant'
5148
- /**
5149
- * A package edit refused the package it was given, for example because an id or part name it
5150
- * expected to allocate is taken or a definition it addresses changed. Nothing was applied.
5151
- */
5152
- | 'package-changed'
5153
- /** No revision in this part carries the addressed `(id, author, date)` triple. */
5154
- | 'unknown-revision'
5155
- /**
5156
- * A matched revision is a kind whose accept/reject semantics are structural and not
5157
- * implemented. Refusing is deliberate: removing the markup alone would report the decision
5158
- * applied while leaving the row, cell, or section it describes untouched.
5159
- */
5160
- | 'unsupported-revision'
5161
- /**
5162
- * A tracked insertion would land inside a link, content control, or other container within
5163
- * another author's pending insertion. The container cannot split, and nested words would
5164
- * become part of that author's proposal.
5165
- */
5166
- | 'unsupported-revision:foreign-insertion' | 'tree-invariant'
5167
- /** No content control in this part carries the addressed node id. */
5168
- | 'unknown-content-control'
5169
- /** The addressed node exists and is not a `w:sdt`. */
5170
- | 'not-a-content-control'
5171
- /**
5172
- * A content control's `w:lock` — or one an enclosing control imposes — forbids this.
5173
- *
5174
- * The same code for an edit inside `contentLocked` content and for the removal of an
5175
- * `sdtLocked` control: both are "the document says no", and the two halves are already
5176
- * distinguished by which operation was refused.
5177
- */
5178
- | 'locked'
5179
- /** The control declares `w:dataBinding`; its value belongs to a custom XML part. */
5180
- | 'bound'
5181
- /** The value offered is not one this control's type accepts. */
5182
- | 'typeMismatch' | 'unknown-control' | 'unsupported'
5183
- /** Malformed lifecycle args / first-section link — mirrors Editor `invalidArgs`. */
5184
- | 'invalidArgs'
5185
- /** The addressed table id is missing, duplicated, or not a typed table. */
5186
- | 'unknown-table'
5187
- /** The addressed row id is missing or not a direct child of the table. */
5188
- | 'unknown-row'
5189
- /** A table property container appears more than once on a typed node. */
5190
- | 'duplicate-property-container'
5191
- /**
5192
- * A row holds a `w:tc` inside a cell-level wrapper such as `w:sdt`, so the row's grid
5193
- * mapping cannot be trusted and the inserted row would not match it.
5194
- */
5195
- | 'row-hides-cell'
5196
- /** The table carries a legacy `w:hMerge`, which grid edits cannot place. */
5197
- | 'table-has-merge'
5198
- /** The cells to merge do not cover one rectangle, or cover only one cell. */
5199
- | 'cells-not-rectangle'
5200
- /** A cell merged over several rows splits only into a divisor of them. */
5201
- | 'split-rows-not-divisor'
5202
- /** The cells hold a tracked cell insertion, deletion, or merge. */
5203
- | 'cell-has-revision'
5204
- /** The split cells would be narrower than the minimum column width. */
5205
- | 'cell-too-narrow'
5206
- /** Without `w:tblGrid`, a cell splits only into a divisor of the columns it spans. */
5207
- | 'split-needs-grid'
5208
- /** The addressed grid column id is missing or ambiguous without `w:tblGrid`. */
5209
- | 'unknown-grid-column'
5210
- /** The operation would exceed bounded table topology limits. */
5211
- | 'resource-limit'
5212
- /** The addressed node is not a top-level `w:drawing`. */
5213
- | 'not-a-drawing'
5214
- /** No `w:drawing` with this id exists in the part. */
5215
- | 'unknown-drawing'
5216
- /** The drawing's graphic payload is not a supported picture. */
5217
- | 'not-a-picture-drawing'
5218
- /** A chart in any state: only a delete applies, and it removes the whole chart. */
5219
- | 'chart-drawing'
5220
- /** A lock flag or `@locked` forbids this mutation. */
5221
- | 'drawing-locked'
5222
- /** Finite EMU extent, crop, or position value is out of range. */
5223
- | 'invalid-drawing-value'
5224
- /** Insertion would cross a table-cell boundary or wrong story container. */
5225
- | 'cross-cell-drawing'
5226
- /** Suggesting-mode drawing deletion is not implemented in this change. */
5227
- | 'trackedDrawingDeletionUnsupported'
5228
- /** Hyperlink target creation or change needs an OPC relationship in a package transaction. */
5229
- | 'packageTransactionRequired'
5230
- /** A clipboard fragment block nests deeper than the recursion cap. */
5231
- | 'fragment-too-deep'
5232
- /** A clipboard fragment block is not a paragraph, table, or content control subtree. */
5233
- | 'fragment-invalid-block'
5234
- /** A clipboard fragment exceeds its block or node budget. */
5235
- | 'fragment-resource-budget';
5236
5293
  /** Whether an op applied, with the effect it produced or the reason it was refused. */
5237
5294
  type TreeOpResult = {
5238
5295
  readonly ok: true;
@@ -5244,5 +5301,5 @@ type TreeOpResult = {
5244
5301
  readonly detail?: string;
5245
5302
  };
5246
5303
 
5247
- export { DEFAULT_ZIP_LIMITS as b$, DEFAULT_IMAGE_RESOURCE_LIMITS as b6, IMAGE_WRAP_TARGETS as b7, TEXT_FORM_FORMATS as b8, resolveImageResourceLimits as b9, CHART_GRAPHIC_DATA_URI as bA, CHART_NAMESPACE_URI as bB, CHART_STYLE_NAMESPACE_URI as bC, CONTENT_CONTROL_ID_MAX as bD, CONTENT_CONTROL_PROPERTY_ORDER as bE, DEFAULT_LIMITS as bZ, DEFAULT_OOXML_PACKAGE_LIMITS as b_, resolveSvgIntrinsicSize as ba, sniffImageMime as bb, validateRasterHeader as bc, ACCEPTED_PARAGRAPH_PROPERTIES as bv, ACCEPTED_RUN_PROPERTIES as bw, CHARTEX_GRAPHIC_DATA_URI as by, CHARTEX_NAMESPACE_URI as bz, DIAGRAM_NAMESPACE_URI as c0, DRAWINGML_MAIN_NAMESPACE_URI as c1, HARD_CEILINGS as c7, HYPERLINK_RELATIONSHIP_TYPE as c8, IMAGE_RELATIONSHIP_TYPE as cb, IMAGE_RESOURCE_HARD_CEILINGS as cc, MAX_CONTENT_CONTROLS_PER_PART as cn, MAX_CONTENT_CONTROL_NESTING as co, MAX_SVG_SNIFF_BYTES as cp, OFFICE_RELATIONSHIP_NAMESPACE_URI as cs, OOXML_NODE_IDENTITY_RULES as ct, hasBoundedSvgRoot as d$, allocateContentControlId as dC, asciiFold as dD, buildContentTypeIndex as dE, buildRelationshipSet as dF, childElements as dG, commentAnchorsOfStory as dH, commentsOfPart as dI, contentControlContentChildren as dJ, contentControlContentNodeOf as dK, contentControlEndPropertiesNodeOf as dL, contentControlLevelOf as dM, contentControlPropertiesNodeOf as dN, contentControlPropertiesOf as dO, contentControlTextOf as dP, contentControlsIn as dQ, createImageResourceCache as dR, detectDuplicateNames as dS, directFill as dT, enclosedBookmarkDeletions as dU, extensionKey as dV, findContentControl as dW, findElement as dX, firstReviewRange as dY, flattenContentControls as dZ, hasAnyComment as d_, TABLE_BORDER_STYLES as dg, W15_NAMESPACE_URI as dr, WML_NAMESPACE_URI as ds, XMLNS_NAMESPACE_URI as dt, XML_NAMESPACE_URI as du, hyperlinkAnchorOf as e0, hyperlinkRelationshipIdOf as e1, hyperlinkTargetOf as e2, imageResourceLookupFor as e3, isContentControlContentNode as e4, isContentControlNode as e5, isContentControlWrapper as e6, isContentRevisionKind as e7, isElement as e8, isHyperlinkNode as e9, reviewItemRanges as eA, textContent as eB, textFormFieldsOf as eC, threadStateOfPart as eD, validateExternalTarget as eE, validateGifHeader as eF, validateJpegHeader as eG, validatePngHeader as eH, withPart as eI, withoutBookmarkInPart as eJ, writeOoxmlPackage as eK, writeZip as eL, activeReviewItem as eQ, reviewItemPositionRank as eR, reviewItemsAt as eS, reviewThreadRootOf as eT, isRangeMarkerKind as ea, isValidMime as eb, legacyCheckboxFieldsOf as ec, liveDrawingReferenceCount as ed, lockForbidsEdit as ee, lockForbidsRemoval as ef, normalizePartName as eg, orderedContentControlProperties as eh, parseContentControlId as ei, partNameKey as ej, planRevisionAuthorChange as ek, planRevisionBatch as el, projectDrawing as em, readOnOffChild as en, readOoxmlPackage as eo, readOoxmlPart as ep, readXml as eq, readZip as er, resolveColorNode as es, resolveContentControlLock as et, resolveContentType as eu, resolveImageRelationship as ev, resolveInternalTarget as ew, resolveLimits as ex, resolveRelationship as ey, reviewItemKey as ez };
5248
- export type { Table as $, ParagraphDisagreements as A, Block as B, CommentRecord as C, DocxDocument as D, ExecResult as E, ParagraphFlags as F, ParagraphTabStop as G, HeaderFooterSet as H, InsertableContentControlType as I, RevisionAuthorEntry as J, RevisionAuthorResult as K, RevisionAuthorSkipReason as L, RevisionBatchEntry as M, NumberingRef as N, OoxmlPart as O, PageMargins as P, RevisionBatchResult as Q, ReviewModelInput as R, StyleDefinitions as S, RevisionBatchSkipDetail as T, RevisionBatchSkipReason as U, RevisionSiteRefusal as V, RevisionType as W, Run as X, Section as Y, SectionProperties as Z, StyleDefinition as _, ReviewItem as a, DrawingImageEffects as a$, TableCell as a0, TableRow as a1, Theme as a2, ThemeColorScheme as a3, OoxmlNode as a4, OoxmlPackage as a5, DocxDocumentJSON as a6, DrawingHorizontalReferenceFrame as a7, DrawingKind as a8, DrawingLocks as a9, OoxmlPackageRejection as aA, AutomationTableMutation as aB, OoxmlProperty as aC, OoxmlPackageResult as aD, RevisionAttributionInput as aE, TreeOpRejection as aF, OoxmlNodeId as aG, PackageWatermarkWrite as aH, OoxmlInvariantIssue as aI, DrawingTreeDocOp as aJ, ImpactClass as aK, OoxmlParagraphNode as aL, OoxmlNoteNode as aM, OoxmlContinuationSeparatorNode as aN, OoxmlEndnotesNode as aO, OoxmlFootnotesNode as aP, OoxmlNoteRefNode as aQ, OoxmlNoteReferenceNode as aR, OoxmlSeparatorNode as aS, SourceCrop as aT, TextFormFieldRange as aU, TextFormFieldOptions as aV, DrawingTransform as aW, TableBorderStyle as aX, TextboxOutlineProjection as aY, VectorShapeComponent as aZ, DrawingAccessibility as a_, DrawingPositionInput as aa, DrawingVerticalReferenceFrame as ab, FontDefinition as ac, ImageDecodePort as ad, ImageResourceLimits as ae, ImageResourceState as af, ImageWrapTarget as ag, ParagraphFormatCommand as ah, Point as ai, PreservedImageMime as aj, Rect as ak, RenderableImageMime as al, SelectionPin as am, SupportedImageMime as an, Unsubscribe as ao, ValidatedImageBytesHandle as ap, VectorImageMime as aq, Watermark as ar, WatermarkLayout as as, WatermarkState as at, TreeDocOp as au, OoxmlElement as av, OoxmlContentControlNode as aw, OoxmlGenericElementNode as ax, OoxmlContentControlContentNode as ay, OoxmlPackageLimits as az, ReviewRevisionItem as b, DrawingChartSummary as b0, VectorShapeProjection as b1, PictureFrameEffects as b2, DrawingProjection as b3, OoxmlDrawingNode as b4, TreeDocColorValue as b5, ChartPart as bF, ChartThemeFaces as bG, ChartexPart as bH, CommentAnchor as bI, CommentPosition as bJ, CommitTextFormFieldOp as bK, ContentControlCheckbox as bL, ContentControlCheckboxState as bM, ContentControlDataBinding as bN, ContentControlDateFormat as bO, ContentControlEntry as bP, ContentControlKind as bQ, ContentControlLevel as bR, ContentControlListItem as bS, ContentControlLock as bT, ContentControlProperties as bU, ContentTypeError as bV, ContentTypeIndex as bW, ContentTypeRecords as bX, CreateImageResourceCacheOptions as bY, OoxmlAttribute as bd, OoxmlInvariantResult as be, LegacyTextArtProjection as bf, ChartPartResolver as bg, ChartexPartResolver as bh, ShapeSchemeColorResolver as bi, ShapeEffectList as bj, GroupTextboxProjection as bk, MetafileImageMime as bl, OoxmlFldCharNode as bm, OoxmlFldSimpleNode as bn, OoxmlInstrTextNode as bo, TreeOpResult as bp, RelationshipRecord as bq, OoxmlHardBreakNode as br, ShapeColor as bs, ResourceLimits as bt, CommentThreadState as bu, BookmarkOpPosition as bx, ReviewCommentItem as c, OoxmlTabNode as c$, DefaultRecord as c2, DeleteBookmarkOp as c3, DeleteTextOp as c4, DiagramPartResolver as c5, DiagramParts as c6, HyperlinkKind as c9, OoxmlContentControlCheckedStateNode as cA, OoxmlContentControlComboBoxNode as cB, OoxmlContentControlDataBindingNode as cC, OoxmlContentControlDateFormatNode as cD, OoxmlContentControlDateNode as cE, OoxmlContentControlDropDownListNode as cF, OoxmlContentControlEndPropertiesNode as cG, OoxmlContentControlLidNode as cH, OoxmlContentControlListItemNode as cI, OoxmlContentControlPropertiesNode as cJ, OoxmlContentControlStoreMappedDataAsNode as cK, OoxmlContentControlTextNode as cL, OoxmlContentControlUncheckedStateNode as cM, OoxmlDocumentNode as cN, OoxmlExternalTarget as cO, OoxmlGenericExtensionAttribute as cP, OoxmlHyperlinkNode as cQ, OoxmlInvariantIssueCode as cR, OoxmlKnownNodeAttribute as cS, OoxmlNamespaceBinding as cT, OoxmlNodeIdentityRules as cU, OoxmlParagraphPropertiesNode as cV, OoxmlPartMetadata as cW, OoxmlReadRejection as cX, OoxmlReadResult as cY, OoxmlRunNode as cZ, OoxmlRunPropertiesNode as c_, HyperlinkTarget as ca, ImageRelationshipResolution as cd, ImageResourceLookup as ce, IndexResult as cf, InsertBookmarkOp as cg, InsertBuildingBlockOp as ch, InsertComplexFieldOp as ci, InsertEquationOp as cj, InsertPageFieldOp as ck, InsertTextOp as cl, LegacyCheckboxFieldRange as cm, NameRejection as cq, NameResult as cr, OoxmlBodyNode as cu, OoxmlBookmarkEndNode as cv, OoxmlBookmarkStartNode as cw, OoxmlContentControlCalendarNode as cx, OoxmlContentControlCheckboxNode as cy, OoxmlContentControlCheckedNode as cz, ReviewCustomItem as d, OoxmlTextElementNode as d0, OoxmlTextNode as d1, OoxmlWmlValAttribute as d2, OoxmlXmlSpaceAttribute as d3, OverrideRecord as d4, RelationshipError as d5, RelationshipSetResult as d6, RelationshipTargetResolver as d7, ResolveResult as d8, ResolvedRelationship as d9, ZipReadResult as dA, ZipRejection as dB, SetFieldResultOp as da, SetLegacyCheckboxOp as db, SetLegacyDropdownOp as dc, SetTextFormFieldDefaultOp as dd, ShapeReflection as de, ShapeShadow as df, TabStopWrite as dh, TargetMode as di, TextFormFieldType as dj, TextboxStoryProjection as dk, TreeDocOpKind as dl, TreeOpEffect as dm, ValidatedRasterHeader as dn, VectorGradient as dp, VectorPattern as dq, XmlLimits as dv, XmlNode as dw, XmlRejection as dx, XmlResult as dy, ZipLimits as dz, ReviewPosition as e, AffineMatrix as eM, DrawingChartPlotType as eN, DrawingChartShownAs as eO, GradientStop as eP, ReviewRange as f, ReviewRevisionKind as g, RevisionAddress as h, ContentControlType as i, DocTarget as j, RunFormatting as k, Extent as l, ContainerRef as m, ContentControlFilter as n, DocRange as o, Revision as p, DocComment as q, ColorValue as r, ContentControl as s, DocAnchor as t, DocAnchorRange as u, DocLocation as v, DocumentBody as w, ExecErrorCode as x, IndentFormatting as y, Paragraph as z };
5304
+ export { DEFAULT_ZIP_LIMITS as b$, DEFAULT_IMAGE_RESOURCE_LIMITS as b6, IMAGE_WRAP_TARGETS as b7, TEXT_FORM_FORMATS as b8, resolveImageResourceLimits as b9, CHART_GRAPHIC_DATA_URI as bA, CHART_NAMESPACE_URI as bB, CHART_STYLE_NAMESPACE_URI as bC, CONTENT_CONTROL_ID_MAX as bD, CONTENT_CONTROL_PROPERTY_ORDER as bE, DEFAULT_LIMITS as bZ, DEFAULT_OOXML_PACKAGE_LIMITS as b_, resolveSvgIntrinsicSize as ba, sniffImageMime as bb, validateRasterHeader as bc, ACCEPTED_PARAGRAPH_PROPERTIES as bv, ACCEPTED_RUN_PROPERTIES as bw, CHARTEX_GRAPHIC_DATA_URI as by, CHARTEX_NAMESPACE_URI as bz, DIAGRAM_NAMESPACE_URI as c0, DRAWINGML_MAIN_NAMESPACE_URI as c1, HARD_CEILINGS as c7, HYPERLINK_RELATIONSHIP_TYPE as c8, IMAGE_RELATIONSHIP_TYPE as cb, IMAGE_RESOURCE_HARD_CEILINGS as cc, MAX_CONTENT_CONTROLS_PER_PART as cp, MAX_CONTENT_CONTROL_NESTING as cq, MAX_SVG_SNIFF_BYTES as cr, OFFICE_RELATIONSHIP_NAMESPACE_URI as cv, OOXML_NODE_IDENTITY_RULES as cw, firstReviewRange as d$, allocateContentControlId as dF, asciiFold as dG, buildContentTypeIndex as dH, buildRelationshipSet as dI, childElements as dJ, commentAnchorsOfStory as dK, commentsOfPart as dL, contentControlContentChildren as dM, contentControlContentNodeOf as dN, contentControlEndPropertiesNodeOf as dO, contentControlLevelOf as dP, contentControlPropertiesNodeOf as dQ, contentControlPropertiesOf as dR, contentControlTextOf as dS, contentControlsIn as dT, createImageResourceCache as dU, detectDuplicateNames as dV, directFill as dW, enclosedBookmarkDeletions as dX, extensionKey as dY, findContentControl as dZ, findElement as d_, TABLE_BORDER_STYLES as dj, W15_NAMESPACE_URI as du, WML_NAMESPACE_URI as dv, XMLNS_NAMESPACE_URI as dw, XML_NAMESPACE_URI as dx, flattenContentControls as e0, hasAnyComment as e1, hasBoundedSvgRoot as e2, hyperlinkAnchorOf as e3, hyperlinkRelationshipIdOf as e4, hyperlinkTargetOf as e5, imageResourceLookupFor as e6, isContentControlContentNode as e7, isContentControlNode as e8, isContentControlWrapper as e9, resolveLimits as eA, resolveRelationship as eB, reviewItemKey as eC, reviewItemRanges as eD, textContent as eE, textFormFieldsOf as eF, threadStateOfPart as eG, validateExternalTarget as eH, validateGifHeader as eI, validateJpegHeader as eJ, validatePngHeader as eK, withPart as eL, withoutBookmarkInPart as eM, writeOoxmlPackage as eN, writeZip as eO, activeReviewItem as eT, reviewItemPositionRank as eU, reviewItemsAt as eV, reviewThreadRootOf as eW, isContentRevisionKind as ea, isElement as eb, isHyperlinkNode as ec, isRangeMarkerKind as ed, isValidMime as ee, legacyCheckboxFieldsOf as ef, liveDrawingReferenceCount as eg, lockForbidsEdit as eh, lockForbidsRemoval as ei, normalizePartName as ej, orderedContentControlProperties as ek, parseContentControlId as el, partNameKey as em, planRevisionAuthorChange as en, planRevisionBatch as eo, projectDrawing as ep, readOnOffChild as eq, readOoxmlPackage as er, readOoxmlPart as es, readXml as et, readZip as eu, resolveColorNode as ev, resolveContentControlLock as ew, resolveContentType as ex, resolveImageRelationship as ey, resolveInternalTarget as ez };
5305
+ export type { Table as $, ParagraphDisagreements as A, Block as B, CommentRecord as C, DocxDocument as D, ExecResult as E, ParagraphFlags as F, ParagraphTabStop as G, HeaderFooterSet as H, InsertableContentControlType as I, RevisionAuthorEntry as J, RevisionAuthorResult as K, RevisionAuthorSkipReason as L, RevisionBatchEntry as M, NumberingRef as N, OoxmlPart as O, PageMargins as P, RevisionBatchResult as Q, ReviewModelInput as R, StyleDefinitions as S, RevisionBatchSkipDetail as T, RevisionBatchSkipReason as U, RevisionSiteRefusal as V, RevisionType as W, Run as X, Section as Y, SectionProperties as Z, StyleDefinition as _, ReviewItem as a, VectorShapeProjection as a$, TableCell as a0, TableRow as a1, Theme as a2, ThemeColorScheme as a3, OoxmlNode as a4, OoxmlPackage as a5, DocxDocumentJSON as a6, DrawingHorizontalReferenceFrame as a7, DrawingKind as a8, DrawingLocks as a9, OoxmlPackageRejection as aA, AutomationTableMutation as aB, OoxmlProperty as aC, OoxmlPackageResult as aD, RevisionAttributionInput as aE, TreeOpRejection as aF, OoxmlNodeId as aG, PackageWatermarkWrite as aH, OoxmlInvariantIssue as aI, DrawingTreeDocOp as aJ, ImpactClass as aK, OoxmlParagraphNode as aL, OoxmlNoteNode as aM, OoxmlContinuationSeparatorNode as aN, OoxmlEndnotesNode as aO, OoxmlFootnotesNode as aP, OoxmlNoteRefNode as aQ, OoxmlNoteReferenceNode as aR, OoxmlSeparatorNode as aS, SourceCrop as aT, TableBorderStyle as aU, TextboxOutlineProjection as aV, VectorShapeComponent as aW, DrawingAccessibility as aX, DrawingImageEffects as aY, DrawingTransform as aZ, DrawingChartSummary as a_, DrawingPositionInput as aa, DrawingVerticalReferenceFrame as ab, FontDefinition as ac, ImageDecodePort as ad, ImageResourceLimits as ae, ImageResourceState as af, ImageWrapTarget as ag, ParagraphFormatCommand as ah, Point as ai, PreservedImageMime as aj, Rect as ak, RenderableImageMime as al, SelectionPin as am, SupportedImageMime as an, Unsubscribe as ao, ValidatedImageBytesHandle as ap, VectorImageMime as aq, Watermark as ar, WatermarkLayout as as, WatermarkState as at, TreeDocOp as au, OoxmlElement as av, OoxmlContentControlNode as aw, OoxmlGenericElementNode as ax, OoxmlContentControlContentNode as ay, OoxmlPackageLimits as az, ReviewRevisionItem as b, PictureFrameEffects as b0, DrawingProjection as b1, OoxmlDrawingNode as b2, TextFormFieldRange as b3, TextFormFieldOptions as b4, TreeDocColorValue as b5, ChartPart as bF, ChartThemeFaces as bG, ChartexPart as bH, CommentAnchor as bI, CommentPosition as bJ, CommitTextFormFieldOp as bK, ContentControlCheckbox as bL, ContentControlCheckboxState as bM, ContentControlDataBinding as bN, ContentControlDateFormat as bO, ContentControlEntry as bP, ContentControlKind as bQ, ContentControlLevel as bR, ContentControlListItem as bS, ContentControlLock as bT, ContentControlProperties as bU, ContentTypeError as bV, ContentTypeIndex as bW, ContentTypeRecords as bX, CreateImageResourceCacheOptions as bY, OoxmlAttribute as bd, OoxmlInvariantResult as be, LegacyTextArtProjection as bf, ChartPartResolver as bg, ChartexPartResolver as bh, ShapeSchemeColorResolver as bi, ShapeEffectList as bj, GroupTextboxProjection as bk, MetafileImageMime as bl, OoxmlFldCharNode as bm, OoxmlFldSimpleNode as bn, OoxmlInstrTextNode as bo, TreeOpResult as bp, RelationshipRecord as bq, OoxmlHardBreakNode as br, ShapeColor as bs, ResourceLimits as bt, CommentThreadState as bu, BookmarkOpPosition as bx, ReviewCommentItem as c, OoxmlReadResult as c$, DefaultRecord as c2, DeleteBookmarkOp as c3, DeleteTextOp as c4, DiagramPartResolver as c5, DiagramParts as c6, HyperlinkKind as c9, OoxmlContentControlCalendarNode as cA, OoxmlContentControlCheckboxNode as cB, OoxmlContentControlCheckedNode as cC, OoxmlContentControlCheckedStateNode as cD, OoxmlContentControlComboBoxNode as cE, OoxmlContentControlDataBindingNode as cF, OoxmlContentControlDateFormatNode as cG, OoxmlContentControlDateNode as cH, OoxmlContentControlDropDownListNode as cI, OoxmlContentControlEndPropertiesNode as cJ, OoxmlContentControlLidNode as cK, OoxmlContentControlListItemNode as cL, OoxmlContentControlPropertiesNode as cM, OoxmlContentControlStoreMappedDataAsNode as cN, OoxmlContentControlTextNode as cO, OoxmlContentControlUncheckedStateNode as cP, OoxmlDocumentNode as cQ, OoxmlExternalTarget as cR, OoxmlGenericExtensionAttribute as cS, OoxmlHyperlinkNode as cT, OoxmlInvariantIssueCode as cU, OoxmlKnownNodeAttribute as cV, OoxmlNamespaceBinding as cW, OoxmlNodeIdentityRules as cX, OoxmlParagraphPropertiesNode as cY, OoxmlPartMetadata as cZ, OoxmlReadRejection as c_, HyperlinkTarget as ca, ImageRelationshipResolution as cd, ImageResourceLookup as ce, IndexResult as cf, InsertBookmarkOp as cg, InsertBuildingBlockOp as ch, InsertComplexFieldOp as ci, InsertEquationOp as cj, InsertPageFieldOp as ck, InsertParagraphBesideTableOp as cl, InsertTableOp as cm, InsertTextOp as cn, LegacyCheckboxFieldRange as co, MoveTableOp as cs, NameRejection as ct, NameResult as cu, OoxmlBodyNode as cx, OoxmlBookmarkEndNode as cy, OoxmlBookmarkStartNode as cz, ReviewCustomItem as d, OoxmlRunNode as d0, OoxmlRunPropertiesNode as d1, OoxmlTabNode as d2, OoxmlTextElementNode as d3, OoxmlTextNode as d4, OoxmlWmlValAttribute as d5, OoxmlXmlSpaceAttribute as d6, OverrideRecord as d7, RelationshipError as d8, RelationshipSetResult as d9, XmlRejection as dA, XmlResult as dB, ZipLimits as dC, ZipReadResult as dD, ZipRejection as dE, RelationshipTargetResolver as da, ResolveResult as db, ResolvedRelationship as dc, SetFieldResultOp as dd, SetLegacyCheckboxOp as de, SetLegacyDropdownOp as df, SetTextFormFieldDefaultOp as dg, ShapeReflection as dh, ShapeShadow as di, TabStopWrite as dk, TargetMode as dl, TextFormFieldType as dm, TextboxStoryProjection as dn, TreeDocOpKind as dp, TreeOpEffect as dq, ValidatedRasterHeader as dr, VectorGradient as ds, VectorPattern as dt, XmlLimits as dy, XmlNode as dz, ReviewPosition as e, AffineMatrix as eP, DrawingChartPlotType as eQ, DrawingChartShownAs as eR, GradientStop as eS, ReviewRange as f, ReviewRevisionKind as g, RevisionAddress as h, ContentControlType as i, DocTarget as j, RunFormatting as k, Extent as l, ContainerRef as m, ContentControlFilter as n, DocRange as o, Revision as p, DocComment as q, ColorValue as r, ContentControl as s, DocAnchor as t, DocAnchorRange as u, DocLocation as v, DocumentBody as w, ExecErrorCode as x, IndentFormatting as y, Paragraph as z };
@@ -1,4 +1,4 @@
1
- import { a5 as OoxmlPackage, an as SupportedImageMime, O as OoxmlPart, a4 as OoxmlNode, av as OoxmlElement, aH as PackageWatermarkWrite, aI as OoxmlInvariantIssue, ad as ImageDecodePort, aE as RevisionAttributionInput, aJ as DrawingTreeDocOp, aK as ImpactClass, au as TreeDocOp, aF as TreeOpRejection, aL as OoxmlParagraphNode, aM as OoxmlNoteNode, aN as OoxmlContinuationSeparatorNode, aO as OoxmlEndnotesNode, aP as OoxmlFootnotesNode, aQ as OoxmlNoteRefNode, aR as OoxmlNoteReferenceNode, aS as OoxmlSeparatorNode } from './tree-op-types-Df4oY2u4.js';
1
+ import { a5 as OoxmlPackage, an as SupportedImageMime, O as OoxmlPart, a4 as OoxmlNode, av as OoxmlElement, aH as PackageWatermarkWrite, aI as OoxmlInvariantIssue, ad as ImageDecodePort, aE as RevisionAttributionInput, aJ as DrawingTreeDocOp, aK as ImpactClass, au as TreeDocOp, aF as TreeOpRejection, aL as OoxmlParagraphNode, aM as OoxmlNoteNode, aN as OoxmlContinuationSeparatorNode, aO as OoxmlEndnotesNode, aP as OoxmlFootnotesNode, aQ as OoxmlNoteRefNode, aR as OoxmlNoteReferenceNode, aS as OoxmlSeparatorNode } from './tree-op-types-DKvJSH8T.js';
2
2
 
3
3
  /** A freshly allocated drawing property id, or the reason one could not be minted. */
4
4
  type DrawingPropertyIdResult = {
@@ -1,7 +1,7 @@
1
- import { S as StoryScope, g as SelectionMark, h as TransactOptions, b as HistoryGroup, a as StoryTargetRejection, c as TreeModelChange, e as HeaderFooterParts, f as HeaderFooterSectionResolution, I as InsertImageInput, i as ImageIntentResult, R as ReplaceImageOptions, A as ApplyImagePropertiesInput, j as FragmentPasteInput, k as FragmentPasteResult } from './tree-package-store-DXhX1PE-.js';
2
- import { au as TreeDocOp, O as OoxmlPart, a4 as OoxmlNode, a5 as OoxmlPackage, av as OoxmlElement, a as ReviewItem, an as SupportedImageMime, ad as ImageDecodePort, aE as RevisionAttributionInput } from './tree-op-types-Df4oY2u4.js';
3
- import { D as DocumentTrackingSettings, I as InsertCustomNodeWrite, C as CustomNodeWriteResult, a as CustomNodeSweepOutcome, E as EmbeddedFont, B as BookmarkIndex, L as ListKind } from './custom-node-writes-AqY5KpVx.js';
4
- import { H as HeadlessDocumentView, c as DocumentProperties } from './drawing-graphic-kind-CXYGYbB3.js';
1
+ import { S as StoryScope, g as SelectionMark, h as TransactOptions, b as HistoryGroup, a as StoryTargetRejection, c as TreeModelChange, e as HeaderFooterParts, f as HeaderFooterSectionResolution, I as InsertImageInput, i as ImageIntentResult, R as ReplaceImageOptions, A as ApplyImagePropertiesInput, j as FragmentPasteInput, k as FragmentPasteResult } from './tree-package-store-Cl3BkWXF.js';
2
+ import { au as TreeDocOp, O as OoxmlPart, a4 as OoxmlNode, a5 as OoxmlPackage, av as OoxmlElement, a as ReviewItem, an as SupportedImageMime, ad as ImageDecodePort, aE as RevisionAttributionInput } from './tree-op-types-DKvJSH8T.js';
3
+ import { D as DocumentTrackingSettings, I as InsertCustomNodeWrite, C as CustomNodeWriteResult, a as CustomNodeSweepOutcome, E as EmbeddedFont, B as BookmarkIndex, L as ListKind, b as ListDefinitionGeometry } from './custom-node-writes-DparEcZK.js';
4
+ import { H as HeadlessDocumentView, c as DocumentProperties } from './drawing-graphic-kind-CK0cMc7H.js';
5
5
  import { Node } from 'prosemirror-model';
6
6
  import { CollaborationDocumentPort } from './collaboration/replication.js';
7
7
  import { V as ViewScope } from './editor-scope-CA6egMaK.js';
@@ -415,8 +415,9 @@ interface TreeDocxSessionView extends HeadlessDocumentView {
415
415
  *
416
416
  * Separate from both other answers on purpose. It is not a DECLARATION, so it does not
417
417
  * join `documentFonts`, and it is not a face TEXT renders in, so the substitution notice
418
- * must not report it — but a font resolver has to hear about it, or an app cannot supply
419
- * the face a private-use glyph needs.
418
+ * reports it only for a private-use glyph with no Unicode equivalent
419
+ * (`editor/unmapped-symbol-faces.ts`) — but a font resolver has to hear about it, or an
420
+ * app cannot supply the face such a glyph needs.
420
421
  */
421
422
  symbolFontFamilies(): readonly string[];
422
423
  /**
@@ -635,7 +636,13 @@ interface TreeDocxSessionView extends HeadlessDocumentView {
635
636
  * relationship.
636
637
  */
637
638
  ensureHyperlinkRelationship(url: string, scope?: StoryScope): string | null;
638
- ensureListDefinition(kind: ListKind): string | null;
639
+ /**
640
+ * Find or create a `kind` list definition and answer the `w:numId` to name, or `null`.
641
+ *
642
+ * With `geometry`, the definition keeps those level positions, so an item switching
643
+ * between bullets and numbers stays where it was.
644
+ */
645
+ ensureListDefinition(kind: ListKind, geometry?: ListDefinitionGeometry): string | null;
639
646
  /**
640
647
  * Declare `level` in the list definition `numId` names, with Word's default format for
641
648
  * that depth, or answer false.
@@ -1,4 +1,4 @@
1
- import { U as UnsupportedElement } from './semantic-records-DoK0lNjS.js';
1
+ import { U as UnsupportedElement } from './semantic-records-CzZiWMY8.js';
2
2
 
3
3
  /** A component mount point and its built-in fallback. @public */
4
4
  interface UnsupportedElementHost {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docx-editor.dev/core",
3
- "version": "2.33.0",
3
+ "version": "2.34.0",
4
4
  "description": "Framework-agnostic core for docx-editor.dev: OOXML parse/serialize, the canonical document tree, layout and paint, and the Editor contract the adapters render.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -105,7 +105,7 @@
105
105
  "directory": "packages/core"
106
106
  },
107
107
  "dependencies": {
108
- "@docx-editor.dev/i18n": "^2.33.0",
108
+ "@docx-editor.dev/i18n": "^2.34.0",
109
109
  "bidi-js": "1.1.0",
110
110
  "emf-converter": "2.0.2",
111
111
  "fast-xml-parser": "^5.10.1",