@stll/folio-core 0.62.0 → 0.63.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 (1333) hide show
  1. package/README.md +17 -6
  2. package/dist/ai-edits/apply.d.ts +40 -10
  3. package/dist/ai-edits/apply.js +563 -219
  4. package/dist/ai-edits/batch-claims.d.ts +13 -4
  5. package/dist/ai-edits/batch-claims.js +6 -6
  6. package/dist/ai-edits/block-identity.d.ts +3 -4
  7. package/dist/ai-edits/block-identity.js +15 -1
  8. package/dist/ai-edits/blockRange.d.ts +7 -7
  9. package/dist/ai-edits/blockRange.js +2 -1
  10. package/dist/ai-edits/character-boundaries.d.ts +5 -6
  11. package/dist/ai-edits/clean-text.d.ts +8 -8
  12. package/dist/ai-edits/comment-lifecycle.d.ts +15 -6
  13. package/dist/ai-edits/comment-lifecycle.js +74 -23
  14. package/dist/ai-edits/headless.d.ts +42 -39
  15. package/dist/ai-edits/headless.js +157 -114
  16. package/dist/ai-edits/index.d.ts +2 -1
  17. package/dist/ai-edits/index.js +2 -1
  18. package/dist/ai-edits/inline-emphasis.d.ts +5 -6
  19. package/dist/ai-edits/minimal-replacement.d.ts +12 -13
  20. package/dist/ai-edits/newListNumbering.d.ts +16 -3
  21. package/dist/ai-edits/newListNumbering.js +97 -34
  22. package/dist/ai-edits/note-references.d.ts +14 -14
  23. package/dist/ai-edits/note-story-inventory.d.ts +2 -2
  24. package/dist/ai-edits/pending-suggestions.d.ts +8 -8
  25. package/dist/ai-edits/pending-suggestions.js +5 -1
  26. package/dist/ai-edits/read.d.ts +10 -11
  27. package/dist/ai-edits/read.js +6 -0
  28. package/dist/ai-edits/referenceClassification.d.ts +2 -2
  29. package/dist/ai-edits/removed-blocks.d.ts +20 -0
  30. package/dist/ai-edits/removed-blocks.js +69 -0
  31. package/dist/ai-edits/result-validation.d.ts +4 -5
  32. package/dist/ai-edits/result-validation.js +4 -3
  33. package/dist/ai-edits/revisionStretches.d.ts +3 -3
  34. package/dist/ai-edits/revisionStretches.js +17 -0
  35. package/dist/ai-edits/scoped-reading.d.ts +3 -4
  36. package/dist/ai-edits/snapshot.d.ts +24 -23
  37. package/dist/ai-edits/snapshot.js +44 -30
  38. package/dist/ai-edits/table-cell-mutations.d.ts +6 -6
  39. package/dist/ai-edits/table-cell-mutations.js +7 -4
  40. package/dist/ai-edits/table-geometry.d.ts +6 -6
  41. package/dist/ai-edits/table-mutation-plan.d.ts +5 -5
  42. package/dist/ai-edits/table-mutation-plan.js +1 -4
  43. package/dist/ai-edits/table-row-column-mutations.d.ts +16 -16
  44. package/dist/ai-edits/table-targets.d.ts +8 -9
  45. package/dist/ai-edits/table-template.d.ts +6 -6
  46. package/dist/ai-edits/types.d.ts +48 -44
  47. package/dist/ai-edits/word-diff.d.ts +12 -13
  48. package/dist/ai-edits/word-diff.js +23 -21
  49. package/dist/ai-suggestions/apply.d.ts +3 -3
  50. package/dist/ai-suggestions/apply.js +0 -12
  51. package/dist/ai-suggestions/conflict.d.ts +4 -5
  52. package/dist/ai-suggestions/conflict.js +3 -1
  53. package/dist/ai-suggestions/text-positions.d.ts +3 -4
  54. package/dist/ai-suggestions/types.d.ts +13 -14
  55. package/dist/compare/column-alignment.d.ts +4 -5
  56. package/dist/compare/compare.d.ts +12 -12
  57. package/dist/compare/compare.js +2 -1
  58. package/dist/compare/content-alignment.d.ts +16 -16
  59. package/dist/compare/content-alignment.js +29 -25
  60. package/dist/compare/content-types.d.ts +23 -24
  61. package/dist/compare/content.d.ts +27 -27
  62. package/dist/compare/content.js +6 -3
  63. package/dist/compare/formatting.d.ts +2 -2
  64. package/dist/compare/import-style-closure.d.ts +2 -2
  65. package/dist/compare/inline-atom-resources.d.ts +2 -3
  66. package/dist/compare/inline-atoms.d.ts +6 -7
  67. package/dist/compare/inline-provenance.d.ts +6 -7
  68. package/dist/compare/inline-provenance.js +22 -20
  69. package/dist/compare/inserted-resource-snapshot.d.ts +3 -3
  70. package/dist/compare/plan.d.ts +5 -6
  71. package/dist/compare/plan.js +5 -6
  72. package/dist/compare/reproducible-package.d.ts +2 -3
  73. package/dist/compare/reproducible-package.js +1 -1
  74. package/dist/compare/scenario.d.ts +9 -9
  75. package/dist/compare/section-boundary-properties.d.ts +6 -6
  76. package/dist/compare/section-boundary-properties.js +4 -4
  77. package/dist/compare/style-resources.d.ts +5 -6
  78. package/dist/compare/types.d.ts +29 -28
  79. package/dist/compare/types.js +14 -7
  80. package/dist/compare/verification.d.ts +11 -11
  81. package/dist/content-controls/checkboxDisplay.d.ts +2 -2
  82. package/dist/content-controls/checkboxDisplay.js +2 -1
  83. package/dist/content-controls/errors.d.ts +8 -7
  84. package/dist/content-controls/errors.js +6 -3
  85. package/dist/content-controls/findContentControls.d.ts +7 -8
  86. package/dist/content-controls/mutateContentControls.d.ts +17 -6
  87. package/dist/content-controls/mutateContentControls.js +3 -2
  88. package/dist/controller/activeEditorStory.d.ts +4 -5
  89. package/dist/controller/canonicalClipboard.d.ts +3 -3
  90. package/dist/controller/canonicalClipboard.js +3 -1
  91. package/dist/controller/canonicalClipboardResources.d.ts +3 -3
  92. package/dist/controller/canonicalClipboardResources.js +3 -2
  93. package/dist/controller/canonicalComments.d.ts +7 -6
  94. package/dist/controller/canonicalComments.js +2 -1
  95. package/dist/controller/canonicalComposition.d.ts +2 -2
  96. package/dist/controller/canonicalComposition.js +11 -14
  97. package/dist/controller/canonicalInlineProjection.d.ts +11 -10
  98. package/dist/controller/canonicalInlineProjection.js +70 -38
  99. package/dist/controller/canonicalInput.d.ts +3 -3
  100. package/dist/controller/canonicalInput.js +1 -3
  101. package/dist/controller/canonicalInputTimer.d.ts +5 -6
  102. package/dist/controller/canonicalListRendering.d.ts +6 -5
  103. package/dist/controller/canonicalOperations.d.ts +6 -6
  104. package/dist/controller/canonicalPublicOperations.d.ts +13 -13
  105. package/dist/controller/canonicalPublicOperations.js +14 -15
  106. package/dist/controller/canonicalReview.d.ts +2 -2
  107. package/dist/controller/canonicalSelection.d.ts +2 -2
  108. package/dist/controller/canonicalSelection.js +15 -0
  109. package/dist/controller/canonicalSession.d.ts +25 -17
  110. package/dist/controller/canonicalSession.js +231 -43
  111. package/dist/controller/canonicalStoryEditor.d.ts +2 -2
  112. package/dist/controller/canonicalStructure.d.ts +3 -3
  113. package/dist/controller/canonicalStructure.js +144 -21
  114. package/dist/controller/canonicalTocSelection.d.ts +2 -2
  115. package/dist/controller/collaborationModules.d.ts +2 -3
  116. package/dist/controller/committedLayoutDiff.d.ts +4 -5
  117. package/dist/controller/contentControlWidgetController.d.ts +7 -8
  118. package/dist/controller/folioEditor.d.ts +6 -6
  119. package/dist/controller/folioEditorEvents.d.ts +7 -8
  120. package/dist/controller/fontReadiness.d.ts +12 -12
  121. package/dist/controller/fontReadiness.js +123 -31
  122. package/dist/controller/headerFooterEditorManager.d.ts +9 -10
  123. package/dist/controller/headerFooterEditorManager.js +3 -10
  124. package/dist/controller/hiddenEditorApi.d.ts +5 -5
  125. package/dist/controller/hiddenEditorManager.d.ts +15 -14
  126. package/dist/controller/hiddenEditorManager.js +4 -1
  127. package/dist/controller/hyphenationReadiness.d.ts +4 -5
  128. package/dist/controller/hyphenationReadiness.js +0 -1
  129. package/dist/controller/latestRequestGate.d.ts +3 -4
  130. package/dist/controller/layoutPipeline.d.ts +7 -8
  131. package/dist/controller/layoutPipeline.js +16 -5
  132. package/dist/controller/layoutRunOptions.d.ts +4 -5
  133. package/dist/controller/layoutScheduler.d.ts +8 -9
  134. package/dist/controller/layoutSession.d.ts +7 -7
  135. package/dist/controller/noteEditorManager.d.ts +7 -7
  136. package/dist/controller/noteEditorManager.js +0 -1
  137. package/dist/controller/readOnlySelection.d.ts +12 -0
  138. package/dist/controller/readOnlySelection.js +62 -0
  139. package/dist/display-list/build/buildContext.d.ts +8 -6
  140. package/dist/display-list/build/buildDisplayList.d.ts +6 -6
  141. package/dist/display-list/build/buildDisplayList.js +20 -2
  142. package/dist/display-list/build/colors.d.ts +6 -7
  143. package/dist/display-list/build/commentAnnotations.d.ts +3 -4
  144. package/dist/display-list/build/floatingImages.d.ts +5 -6
  145. package/dist/display-list/build/fontTable.d.ts +4 -5
  146. package/dist/display-list/build/fontTable.js +2 -1
  147. package/dist/display-list/build/furniture.d.ts +7 -6
  148. package/dist/display-list/build/furniture.js +1 -0
  149. package/dist/display-list/build/glyphs.d.ts +7 -7
  150. package/dist/display-list/build/glyphs.js +17 -26
  151. package/dist/display-list/build/headerFooterPrimitives.d.ts +4 -5
  152. package/dist/display-list/build/headerFooterPrimitives.js +5 -1
  153. package/dist/display-list/build/imagePrimitives.d.ts +5 -5
  154. package/dist/display-list/build/imagePrimitives.js +0 -10
  155. package/dist/display-list/build/pageBorderPrimitives.d.ts +4 -5
  156. package/dist/display-list/build/pageBorderPrimitives.js +8 -11
  157. package/dist/display-list/build/pageFurniture.d.ts +6 -7
  158. package/dist/display-list/build/pageFurniture.js +5 -1
  159. package/dist/display-list/build/paragraphPrimitives.d.ts +5 -4
  160. package/dist/display-list/build/paragraphPrimitives.js +138 -108
  161. package/dist/display-list/build/previewPrimitives.d.ts +2 -3
  162. package/dist/display-list/build/previewPrimitives.js +38 -9
  163. package/dist/display-list/build/regions.d.ts +5 -5
  164. package/dist/display-list/build/storyPrimitives.d.ts +4 -4
  165. package/dist/display-list/build/strokes.d.ts +10 -10
  166. package/dist/display-list/build/tablePrimitives.d.ts +5 -5
  167. package/dist/display-list/build/tablePrimitives.js +15 -2
  168. package/dist/display-list/build/textBoxPrimitives.d.ts +3 -4
  169. package/dist/display-list/build/textBoxPrimitives.js +4 -0
  170. package/dist/display-list/build/textDecorations.d.ts +10 -11
  171. package/dist/display-list/build/unsupported.d.ts +4 -5
  172. package/dist/display-list/build/watermarkPrimitives.d.ts +5 -4
  173. package/dist/display-list/build/watermarkPrimitives.js +5 -17
  174. package/dist/display-list/dom/renderDisplayListToDom.d.ts +8 -8
  175. package/dist/display-list/dom/renderDisplayListToDom.js +52 -10
  176. package/dist/display-list/editor/displayListPagePainter.d.ts +4 -5
  177. package/dist/display-list/editor/pageRenderer.d.ts +5 -6
  178. package/dist/display-list/editor/pageRenderer.js +1 -0
  179. package/dist/display-list/html/renderDisplayListToHtml.d.ts +5 -6
  180. package/dist/display-list/pageResourceOwnership.d.ts +4 -0
  181. package/dist/display-list/pageResourceOwnership.js +32 -0
  182. package/dist/display-list/primitives.d.ts +13 -13
  183. package/dist/display-list/primitives.js +2 -0
  184. package/dist/display-list/selectDisplayPages.d.ts +2 -3
  185. package/dist/display-list/types.d.ts +54 -33
  186. package/dist/document-operations.d.ts +59 -46
  187. package/dist/document-operations.js +41 -4
  188. package/dist/document-stories.d.ts +3 -4
  189. package/dist/docx/altChunk.d.ts +5 -6
  190. package/dist/docx/appVersionNormalization.d.ts +6 -5
  191. package/dist/docx/appVersionNormalization.js +2 -1
  192. package/dist/docx/archiveInflation.d.ts +16 -16
  193. package/dist/docx/archiveInflation.js +1 -1
  194. package/dist/docx/attributeRemainder.d.ts +10 -9
  195. package/dist/docx/attributeRemainder.js +36 -1
  196. package/dist/docx/blockContentParser.d.ts +15 -7
  197. package/dist/docx/blockContentParser.js +5 -6
  198. package/dist/docx/blockCustomXmlShell.d.ts +2 -3
  199. package/dist/docx/blockPlainText.d.ts +3 -4
  200. package/dist/docx/blockPlainText.js +5 -1
  201. package/dist/docx/bookmarkIdNormalization.d.ts +2 -3
  202. package/dist/docx/bookmarkIds.d.ts +5 -6
  203. package/dist/docx/bookmarkParser.d.ts +20 -21
  204. package/dist/docx/bookmarkParser.js +3 -2
  205. package/dist/docx/borderParser.d.ts +2 -3
  206. package/dist/docx/builtInStyles.d.ts +11 -11
  207. package/dist/docx/bulletMarkers.d.ts +8 -3
  208. package/dist/docx/bulletMarkers.js +3 -43
  209. package/dist/docx/canonicalModel.d.ts +2 -0
  210. package/dist/docx/canonicalModel.js +1 -0
  211. package/dist/docx/canonicalResourceSave.d.ts +5 -4
  212. package/dist/docx/canonicalResourceSave.js +2 -1
  213. package/dist/docx/canonicalSave.d.ts +8 -6
  214. package/dist/docx/canonicalSave.js +2 -1
  215. package/dist/docx/canonicalSessionInput.d.ts +5 -4
  216. package/dist/docx/canonicalSessionInput.js +2 -1
  217. package/dist/docx/canonicalStoryRepack.d.ts +2 -2
  218. package/dist/docx/chartPreview.d.ts +6 -0
  219. package/dist/docx/chartPreview.js +302 -0
  220. package/dist/docx/commentAnchorIndex.d.ts +6 -5
  221. package/dist/docx/commentAnchorIndex.js +236 -1
  222. package/dist/docx/commentIdNormalization.d.ts +4 -5
  223. package/dist/docx/commentParser.d.ts +4 -5
  224. package/dist/docx/commentParser.js +2 -1
  225. package/dist/docx/commentRangeIntegrity.d.ts +6 -5
  226. package/dist/docx/commentRangeIntegrity.js +17 -1
  227. package/dist/docx/commentRangeJoin.d.ts +2 -3
  228. package/dist/docx/commentReferenceCompletion.d.ts +2 -3
  229. package/dist/docx/commentReferenceNormalization.d.ts +4 -4
  230. package/dist/docx/commentReplyMarkers.d.ts +3 -4
  231. package/dist/docx/commentTextParagraph.d.ts +2 -3
  232. package/dist/docx/commentThreadKey.d.ts +2 -3
  233. package/dist/docx/compatibility.d.ts +12 -13
  234. package/dist/docx/conformance.d.ts +2 -3
  235. package/dist/docx/conformance.js +1 -1
  236. package/dist/docx/containerChildren.d.ts +18 -18
  237. package/dist/docx/containerChildren.gen.d.ts +5 -6
  238. package/dist/docx/contentTypeRegistry.d.ts +2 -2
  239. package/dist/docx/corePropertiesParser.d.ts +2 -2
  240. package/dist/docx/danglingRelationshipReferences.d.ts +3 -3
  241. package/dist/docx/defaultParagraphStyle.d.ts +6 -6
  242. package/dist/docx/diagramPreview.d.ts +5 -4
  243. package/dist/docx/diagramPreview.js +8 -3
  244. package/dist/docx/documentClone.js +1 -2
  245. package/dist/docx/documentGrid.d.ts +2 -2
  246. package/dist/docx/documentParser.d.ts +11 -11
  247. package/dist/docx/documentSectionFacts.d.ts +5 -6
  248. package/dist/docx/drawingAnchor.d.ts +14 -14
  249. package/dist/docx/drawingGroupChildren.d.ts +8 -8
  250. package/dist/docx/drawingIdNormalization.d.ts +3 -4
  251. package/dist/docx/drawingRelationships.d.ts +2 -2
  252. package/dist/docx/drawingUtils.d.ts +16 -17
  253. package/dist/docx/drawingUtils.js +4 -2
  254. package/dist/docx/encryption/agileDecryption.d.ts +2 -3
  255. package/dist/docx/encryption/compoundFile.d.ts +5 -6
  256. package/dist/docx/encryption/containerFormat.d.ts +4 -5
  257. package/dist/docx/encryption/cryptoBytes.d.ts +8 -9
  258. package/dist/docx/encryption/encryptionInfo.d.ts +5 -6
  259. package/dist/docx/encryption/errors.d.ts +7 -6
  260. package/dist/docx/encryption/errors.js +2 -1
  261. package/dist/docx/encryption/openEncryptedDocx.d.ts +5 -6
  262. package/dist/docx/ensureParaIds.d.ts +8 -7
  263. package/dist/docx/ensureParaIds.js +3 -2
  264. package/dist/docx/fieldParser.d.ts +32 -33
  265. package/dist/docx/fieldParser.js +8 -6
  266. package/dist/docx/fieldState.d.ts +5 -6
  267. package/dist/docx/foldedListNumberFields.d.ts +15 -16
  268. package/dist/docx/fontTableParser.d.ts +2 -3
  269. package/dist/docx/footnoteParser.d.ts +11 -11
  270. package/dist/docx/footnoteParser.js +19 -0
  271. package/dist/docx/graphicFrameLocks.d.ts +5 -6
  272. package/dist/docx/groupDrawingParser.d.ts +4 -5
  273. package/dist/docx/groupDrawingParser.js +10 -5
  274. package/dist/docx/headerFooterParser.d.ts +14 -14
  275. package/dist/docx/headerFooterRefParser.d.ts +6 -7
  276. package/dist/docx/headerFooterReferenceNormalization.d.ts +5 -5
  277. package/dist/docx/headerFooterVerbatim.d.ts +16 -16
  278. package/dist/docx/hyperlinkParser.d.ts +20 -21
  279. package/dist/docx/hyperlinkParser.js +54 -11
  280. package/dist/docx/imageParser.d.ts +19 -19
  281. package/dist/docx/imageParser.js +6 -3
  282. package/dist/docx/imageRawXml.d.ts +9 -10
  283. package/dist/docx/importedIdCollisions.d.ts +3 -4
  284. package/dist/docx/index.d.ts +1 -0
  285. package/dist/docx/inlineContentRemovals.d.ts +2 -3
  286. package/dist/docx/inlineWrapperContent.d.ts +38 -33
  287. package/dist/docx/inlineWrapperContent.js +29 -23
  288. package/dist/docx/inlineWrapperParser.d.ts +4 -5
  289. package/dist/docx/inlineWrapperParser.js +14 -0
  290. package/dist/docx/linkedSdtPreservation.d.ts +6 -4
  291. package/dist/docx/linkedSdtPreservation.js +2 -1
  292. package/dist/docx/listMarkerComputation.d.ts +4 -5
  293. package/dist/docx/listModelNormalization.d.ts +2 -2
  294. package/dist/docx/listModelNormalization.js +15 -11
  295. package/dist/docx/listNumberingInstances.d.ts +8 -8
  296. package/dist/docx/listRendering.d.ts +5 -6
  297. package/dist/docx/listTemplate.d.ts +5 -5
  298. package/dist/docx/markupRangeMarker.d.ts +21 -4
  299. package/dist/docx/markupRangeMarker.js +35 -1
  300. package/dist/docx/mathToMathml.d.ts +8 -3
  301. package/dist/docx/mathToMathml.js +72 -4
  302. package/dist/docx/metadataPrivacy.d.ts +17 -16
  303. package/dist/docx/metadataPrivacy.js +7 -5
  304. package/dist/docx/metafileRaster.d.ts +4 -5
  305. package/dist/docx/metafileSvg.d.ts +2 -3
  306. package/dist/docx/metafileSvg.js +28 -39
  307. package/dist/docx/metafileSvgShared.d.ts +27 -0
  308. package/dist/docx/metafileSvgShared.js +28 -0
  309. package/dist/docx/modelValidation.d.ts +5 -6
  310. package/dist/docx/modelValidation.js +144 -1
  311. package/dist/docx/newImage.d.ts +2 -3
  312. package/dist/docx/nonVisualDrawingProps.d.ts +3 -3
  313. package/dist/docx/normalizeBaseDirection.d.ts +2 -3
  314. package/dist/docx/normalizeBaseDirection.js +6 -2
  315. package/dist/docx/noteIds.d.ts +2 -3
  316. package/dist/docx/notePropertiesParser.d.ts +3 -4
  317. package/dist/docx/noteReferenceMark.d.ts +6 -6
  318. package/dist/docx/noteReferenceStyles.d.ts +7 -8
  319. package/dist/docx/noteReferenceStyles.js +0 -13
  320. package/dist/docx/numberingIds.d.ts +3 -3
  321. package/dist/docx/numberingParser.d.ts +15 -16
  322. package/dist/docx/numberingParser.js +6 -30
  323. package/dist/docx/numberingReference.d.ts +2 -2
  324. package/dist/docx/numberingReferenceNormalization.d.ts +5 -5
  325. package/dist/docx/numberingReferenceNormalization.js +6 -9
  326. package/dist/docx/numericIdAllocator.d.ts +2 -2
  327. package/dist/docx/numericIdAllocator.js +2 -1
  328. package/dist/docx/numericIdNormalization.d.ts +3 -3
  329. package/dist/docx/numericIdNormalization.js +0 -1
  330. package/dist/docx/ooxmlCounterFormatter.d.ts +3 -4
  331. package/dist/docx/opaqueCarrier.d.ts +5 -6
  332. package/dist/docx/packageParts.d.ts +8 -9
  333. package/dist/docx/paraIdAttribute.d.ts +11 -12
  334. package/dist/docx/paraIdRangeNormalization.d.ts +3 -4
  335. package/dist/docx/paragraphMarkPropertyPresence.d.ts +4 -5
  336. package/dist/docx/paragraphParser.d.ts +9 -9
  337. package/dist/docx/paragraphParser.js +45 -23
  338. package/dist/docx/paragraphProperties.d.ts +2 -3
  339. package/dist/docx/paragraphProperties.js +15 -2
  340. package/dist/docx/paragraphPropertySource.d.ts +58 -57
  341. package/dist/docx/paragraphPropertySource.js +39 -2
  342. package/dist/docx/paragraphTextBoxEnrichment.d.ts +2 -3
  343. package/dist/docx/paragraphTextBoxEnrichment.js +21 -6
  344. package/dist/docx/paragraphTraversal.d.ts +19 -10
  345. package/dist/docx/paragraphTraversal.js +110 -75
  346. package/dist/docx/parseContext.d.ts +5 -6
  347. package/dist/docx/parseWarningMessage.d.ts +3 -4
  348. package/dist/docx/parser.d.ts +13 -12
  349. package/dist/docx/parser.js +45 -16
  350. package/dist/docx/parserEnums.d.ts +37 -38
  351. package/dist/docx/preservedRunContent.d.ts +5 -6
  352. package/dist/docx/preservedRunContent.js +16 -0
  353. package/dist/docx/previewBudget.d.ts +6 -6
  354. package/dist/docx/previewBudget.js +1 -1
  355. package/dist/docx/propertyElementAttributes.d.ts +10 -11
  356. package/dist/docx/rasterMime.d.ts +4 -4
  357. package/dist/docx/relsParser.d.ts +20 -21
  358. package/dist/docx/removeHeaderFooterParts.d.ts +2 -2
  359. package/dist/docx/renderedPageBreakNormalization.d.ts +2 -2
  360. package/dist/docx/replyToComment.d.ts +4 -5
  361. package/dist/docx/replyToComment.js +2 -1
  362. package/dist/docx/reviewHistoryNamespace.d.ts +2 -3
  363. package/dist/docx/reviewResolutionProvenance.d.ts +17 -13
  364. package/dist/docx/reviewResolutionProvenance.js +17 -5
  365. package/dist/docx/revisionIdNormalization.d.ts +6 -5
  366. package/dist/docx/revisionIdNormalization.js +2 -1
  367. package/dist/docx/rezip.d.ts +43 -42
  368. package/dist/docx/rezip.js +117 -125
  369. package/dist/docx/runConsolidator.d.ts +7 -7
  370. package/dist/docx/runConsolidator.js +13 -0
  371. package/dist/docx/runParser.d.ts +12 -13
  372. package/dist/docx/runParser.js +31 -10
  373. package/dist/docx/runPayload.d.ts +2 -3
  374. package/dist/docx/runPropertyPresence.d.ts +7 -8
  375. package/dist/docx/saveDiagnostics.d.ts +3 -4
  376. package/dist/docx/sdtProperties.d.ts +6 -7
  377. package/dist/docx/sdtPropertiesPatch.d.ts +2 -3
  378. package/dist/docx/sectionParser.d.ts +15 -16
  379. package/dist/docx/sectionReferenceHistory.d.ts +8 -7
  380. package/dist/docx/sectionReferenceHistory.js +2 -1
  381. package/dist/docx/selectedXmlIdentityScan.d.ts +2 -3
  382. package/dist/docx/selectiveSave.d.ts +3 -4
  383. package/dist/docx/selectiveSave.js +6 -3
  384. package/dist/docx/selectiveSaveFlags.d.ts +5 -6
  385. package/dist/docx/selectiveSaveFlags.js +1 -1
  386. package/dist/docx/selectiveSaveTripwire.d.ts +3 -4
  387. package/dist/docx/selectiveXmlPatch.d.ts +28 -28
  388. package/dist/docx/serializer/blockCustomXmlSerializer.d.ts +2 -3
  389. package/dist/docx/serializer/blockSdtSerializer.d.ts +2 -3
  390. package/dist/docx/serializer/blockSdtSerializer.js +2 -1
  391. package/dist/docx/serializer/borderSerializer.d.ts +2 -2
  392. package/dist/docx/serializer/borderSerializer.js +8 -0
  393. package/dist/docx/serializer/commentSerializer.d.ts +7 -8
  394. package/dist/docx/serializer/documentSerializer.d.ts +13 -14
  395. package/dist/docx/serializer/documentSerializer.js +17 -1
  396. package/dist/docx/serializer/fontTableSerializer.d.ts +2 -3
  397. package/dist/docx/serializer/groupTextBoxWriteBack.d.ts +2 -2
  398. package/dist/docx/serializer/groupTextBoxWriteBack.js +1 -4
  399. package/dist/docx/serializer/headerFooterSerializer.d.ts +2 -2
  400. package/dist/docx/serializer/headerFooterSerializer.js +5 -1
  401. package/dist/docx/serializer/markupRangeAttributes.d.ts +11 -6
  402. package/dist/docx/serializer/markupRangeAttributes.js +33 -6
  403. package/dist/docx/serializer/noteSerializer.d.ts +5 -6
  404. package/dist/docx/serializer/noteSerializer.js +26 -1
  405. package/dist/docx/serializer/numberingSerializer.d.ts +2 -3
  406. package/dist/docx/serializer/numberingSerializer.js +14 -0
  407. package/dist/docx/serializer/paragraphSerializer.d.ts +8 -9
  408. package/dist/docx/serializer/paragraphSerializer.js +33 -20
  409. package/dist/docx/serializer/partNamespaces.d.ts +11 -10
  410. package/dist/docx/serializer/partNamespaces.js +2 -1
  411. package/dist/docx/serializer/runSerializer.d.ts +11 -12
  412. package/dist/docx/serializer/runSerializer.js +7 -2
  413. package/dist/docx/serializer/sdtPropertiesSerializer.d.ts +5 -6
  414. package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +2 -3
  415. package/dist/docx/serializer/settingsSerializer.d.ts +2 -3
  416. package/dist/docx/serializer/settingsSerializer.js +9 -6
  417. package/dist/docx/serializer/stylesSerializer.d.ts +3 -4
  418. package/dist/docx/serializer/stylesSerializer.js +4 -1
  419. package/dist/docx/serializer/tableSerializer.d.ts +18 -18
  420. package/dist/docx/serializer/tableSerializer.js +22 -2
  421. package/dist/docx/serializer/textFormattingSerializer.d.ts +3 -3
  422. package/dist/docx/serializer/themeSerializer.d.ts +2 -3
  423. package/dist/docx/serializer/trackedChangeAttributes.d.ts +4 -4
  424. package/dist/docx/serializer/xmlUtils.d.ts +3 -4
  425. package/dist/docx/server/applyDocxXmlPatchProposal.d.ts +12 -11
  426. package/dist/docx/server/applyDocxXmlPatchProposal.js +5 -3
  427. package/dist/docx/server/boundedArchive.d.ts +13 -12
  428. package/dist/docx/server/boundedArchive.js +5 -4
  429. package/dist/docx/server/build.d.ts +16 -15
  430. package/dist/docx/server/build.js +11 -7
  431. package/dist/docx/server/createBilingualDocument.d.ts +15 -14
  432. package/dist/docx/server/createBilingualDocument.js +60 -23
  433. package/dist/docx/server/createBilingualDocx.d.ts +5 -6
  434. package/dist/docx/server/createBilingualDocx.js +7 -3
  435. package/dist/docx/server/docxToMarkdown.d.ts +2 -3
  436. package/dist/docx/server/docxToMarkdown.js +2 -1
  437. package/dist/docx/server/evaluateDocxXmlPatchProposal.d.ts +20 -19
  438. package/dist/docx/server/evaluateDocxXmlPatchProposal.js +6 -4
  439. package/dist/docx/server/extractDocxText.d.ts +10 -11
  440. package/dist/docx/server/extractDocxText.js +3 -2
  441. package/dist/docx/server/inspectDocxPackage.d.ts +16 -15
  442. package/dist/docx/server/inspectDocxPackage.js +5 -4
  443. package/dist/docx/server/materializeYjsDocx.d.ts +10 -9
  444. package/dist/docx/server/materializeYjsDocx.js +3 -2
  445. package/dist/docx/server/migrateYjsAttrSchema.d.ts +8 -8
  446. package/dist/docx/server/migrateYjsAttrSchema.js +5 -4
  447. package/dist/docx/server/validateDocxConformance.d.ts +14 -15
  448. package/dist/docx/settingsHeaderFooterUpdate.d.ts +2 -3
  449. package/dist/docx/settingsParser.d.ts +2 -2
  450. package/dist/docx/settingsParser.js +12 -0
  451. package/dist/docx/shadingParser.d.ts +2 -3
  452. package/dist/docx/shapeAlternateContent.d.ts +8 -7
  453. package/dist/docx/shapeAlternateContent.js +84 -9
  454. package/dist/docx/shapeParser.d.ts +4 -5
  455. package/dist/docx/shapeParser.js +2 -1
  456. package/dist/docx/storyBlockReplay.d.ts +5 -5
  457. package/dist/docx/storyBlockReplay.js +10 -2
  458. package/dist/docx/storyPlainText.d.ts +9 -10
  459. package/dist/docx/streamingXmlParser.d.ts +8 -8
  460. package/dist/docx/strictNames.d.ts +4 -5
  461. package/dist/docx/strictNames.gen.d.ts +6 -7
  462. package/dist/docx/strictValueEncodings.gen.d.ts +5 -6
  463. package/dist/docx/structuralXmlPatch.d.ts +2 -2
  464. package/dist/docx/styleParser.d.ts +11 -12
  465. package/dist/docx/styleParser.js +1 -3
  466. package/dist/docx/styleReferenceResolution.d.ts +3 -4
  467. package/dist/docx/tableLook.d.ts +7 -7
  468. package/dist/docx/tableParser.d.ts +47 -39
  469. package/dist/docx/tableParser.js +2 -4
  470. package/dist/docx/tableRowPropertyPresence.d.ts +5 -6
  471. package/dist/docx/textBoxParser.d.ts +25 -26
  472. package/dist/docx/textBoxParser.js +18 -19
  473. package/dist/docx/themeColorAttribute.d.ts +3 -4
  474. package/dist/docx/themeParser.d.ts +9 -10
  475. package/dist/docx/trackedChangeInfo.d.ts +5 -6
  476. package/dist/docx/trackedMoveRangeNormalization.d.ts +3 -3
  477. package/dist/docx/trackedMoveRangeNormalization.js +52 -21
  478. package/dist/docx/transitionalSpelling.d.ts +7 -8
  479. package/dist/docx/universalMeasure.d.ts +5 -6
  480. package/dist/docx/unzip.d.ts +15 -16
  481. package/dist/docx/unzip.js +2 -2
  482. package/dist/docx/verbatimCapture.d.ts +8 -7
  483. package/dist/docx/verbatimCapture.js +5 -3
  484. package/dist/docx/verticalMergeProjection.d.ts +4 -5
  485. package/dist/docx/verticalMergeProjection.js +1 -1
  486. package/dist/docx/vmlImageParser.d.ts +4 -5
  487. package/dist/docx/vmlPreview.d.ts +9 -10
  488. package/dist/docx/vmlPreview.js +0 -3
  489. package/dist/docx/watermarkParser.d.ts +4 -5
  490. package/dist/docx/wmfSvg.d.ts +10 -0
  491. package/dist/docx/wmfSvg.js +451 -0
  492. package/dist/docx/wordprocessingPrefixes.d.ts +12 -13
  493. package/dist/docx/wrapPolygon.d.ts +5 -6
  494. package/dist/docx/wrapTypes.js +1 -2
  495. package/dist/docx/xmlEncoding.d.ts +2 -3
  496. package/dist/docx/xmlNamespaceContext.d.ts +5 -6
  497. package/dist/docx/xmlParser.d.ts +49 -50
  498. package/dist/docx/xmlParser.js +12 -12
  499. package/dist/docx/xmlResourceLimits.d.ts +12 -11
  500. package/dist/docx/xmlResourceLimits.js +5 -2
  501. package/dist/docx/xmlSafety.d.ts +3 -4
  502. package/dist/export-pdf.d.ts +13 -13
  503. package/dist/export-pdf.js +4 -2
  504. package/dist/fields/bookmarkPages.d.ts +2 -3
  505. package/dist/fields/bookmarkText.d.ts +2 -2
  506. package/dist/fields/bookmarkText.js +3 -2
  507. package/dist/fields/evaluateField.d.ts +3 -3
  508. package/dist/fields/fieldContext.d.ts +2 -3
  509. package/dist/fields/resolveFieldValues.d.ts +7 -8
  510. package/dist/fields/sectionPageCounts.d.ts +2 -3
  511. package/dist/fields/seqValues.d.ts +2 -3
  512. package/dist/fonts/FontFaceLifecycle.d.ts +12 -0
  513. package/dist/fonts/FontFaceLifecycle.js +56 -0
  514. package/dist/fonts/documentFontFacts.d.ts +17 -0
  515. package/dist/fonts/documentFontFacts.js +41 -0
  516. package/dist/fonts/embeddedFontFingerprint.d.ts +2 -3
  517. package/dist/fonts/embeddedFontFingerprint.js +3 -2
  518. package/dist/fonts/embeddedFonts.d.ts +7 -8
  519. package/dist/fonts/fontAlternates.d.ts +4 -5
  520. package/dist/fonts/fontAlternates.js +2 -1
  521. package/dist/fonts/fontDeobfuscation.d.ts +3 -4
  522. package/dist/fonts/fontDeobfuscation.js +7 -3
  523. package/dist/fonts/fontsourceFaces.d.ts +7 -8
  524. package/dist/fonts/fontsourceFaces.js +16 -0
  525. package/dist/fonts/headlessMeasure.d.ts +12 -12
  526. package/dist/fonts/headlessMeasure.js +2 -1
  527. package/dist/fonts/sfnt/parse.d.ts +7 -7
  528. package/dist/fonts/sfnt/parse.js +4 -2
  529. package/dist/fonts/sfnt/subset.d.ts +6 -6
  530. package/dist/fonts/sfnt/subset.js +2 -1
  531. package/dist/fonts/sfnt/tables.d.ts +16 -16
  532. package/dist/fonts/sfnt/tables.js +2 -1
  533. package/dist/fonts/sfnt/woff.d.ts +6 -6
  534. package/dist/fonts/sfnt/woff.js +2 -1
  535. package/dist/headless-layout.d.ts +9 -9
  536. package/dist/headless-layout.js +9 -1
  537. package/dist/i18n/messages/ar.gen.d.ts +2 -2
  538. package/dist/i18n/messages/catalogs.gen.d.ts +2 -3
  539. package/dist/i18n/messages/cs.gen.d.ts +2 -2
  540. package/dist/i18n/messages/de.gen.d.ts +2 -2
  541. package/dist/i18n/messages/en.gen.d.ts +2 -2
  542. package/dist/i18n/messages/es.gen.d.ts +2 -2
  543. package/dist/i18n/messages/et.gen.d.ts +2 -2
  544. package/dist/i18n/messages/fr.gen.d.ts +2 -2
  545. package/dist/i18n/messages/he.gen.d.ts +2 -2
  546. package/dist/i18n/messages/hi.gen.d.ts +2 -2
  547. package/dist/i18n/messages/hu.gen.d.ts +2 -2
  548. package/dist/i18n/messages/locales.d.ts +3 -4
  549. package/dist/i18n/messages/lt.gen.d.ts +2 -2
  550. package/dist/i18n/messages/lv.gen.d.ts +2 -2
  551. package/dist/i18n/messages/pl.gen.d.ts +2 -2
  552. package/dist/i18n/messages/pt-BR.gen.d.ts +2 -2
  553. package/dist/i18n/messages/sk.gen.d.ts +2 -2
  554. package/dist/i18n/messages/tr.gen.d.ts +2 -2
  555. package/dist/i18n/messages/zh-CN.gen.d.ts +2 -2
  556. package/dist/i18n/messages.d.ts +4 -4
  557. package/dist/internal/acceptedBlockProjection.d.ts +2 -3
  558. package/dist/internal/acceptedBlockProjection.js +5 -1
  559. package/dist/internal/compare/inline-presentation.d.ts +4 -4
  560. package/dist/internal/headlessRevisionResolutionGuard.d.ts +2 -3
  561. package/dist/internal/indexedPositionMap.d.ts +2 -3
  562. package/dist/internal/noteMarkerAttrs.d.ts +3 -4
  563. package/dist/internal/pageBreakRunDescendantIndex.d.ts +3 -4
  564. package/dist/internal/pageBreakRunPartition.d.ts +4 -4
  565. package/dist/internal/pageBreakRunSourceDescendantIndex.d.ts +4 -5
  566. package/dist/internal/pageBreakRunSourceDescendantIndex.js +5 -1
  567. package/dist/internal/paragraphFormattingSerialization.d.ts +6 -6
  568. package/dist/internal/paragraphFormattingSerialization.js +3 -1
  569. package/dist/internal/prosemirrorAttrBoundary.d.ts +9 -10
  570. package/dist/internal/prosemirrorAttrBoundary.js +2 -1
  571. package/dist/internal/revisionResolutionEdits.d.ts +2 -2
  572. package/dist/internal/revisionResolutionInline.d.ts +4 -3
  573. package/dist/internal/revisionResolutionInline.js +69 -48
  574. package/dist/internal/revisionResolutionStep.d.ts +3 -3
  575. package/dist/internal/revisionResolutionTracking.d.ts +2 -2
  576. package/dist/internal/revisionResolutionTracking.js +3 -3
  577. package/dist/internal/sectionEndpointResolution.d.ts +5 -5
  578. package/dist/internal/sectionReferenceResolution.d.ts +6 -7
  579. package/dist/internal/wholeStoryRevisionResolution.d.ts +6 -4
  580. package/dist/internal/wholeStoryRevisionResolution.js +168 -52
  581. package/dist/layout-bridge/cellSelectionHighlight.d.ts +2 -3
  582. package/dist/layout-bridge/convert/endnoteLayout.d.ts +8 -8
  583. package/dist/layout-bridge/convert/endnoteLayout.js +2 -1
  584. package/dist/layout-bridge/convert/fixedTableColumnWidths.d.ts +2 -3
  585. package/dist/layout-bridge/convert/flowBlockPostprocessing.d.ts +5 -6
  586. package/dist/layout-bridge/convert/flowBorders.d.ts +3 -4
  587. package/dist/layout-bridge/convert/flowConversionShared.d.ts +9 -7
  588. package/dist/layout-bridge/convert/footnoteLayout.d.ts +14 -14
  589. package/dist/layout-bridge/convert/footnoteLayout.js +10 -0
  590. package/dist/layout-bridge/convert/headerFooterLayout.d.ts +13 -12
  591. package/dist/layout-bridge/convert/headerFooterLayout.js +10 -4
  592. package/dist/layout-bridge/convert/imageConversion.d.ts +6 -7
  593. package/dist/layout-bridge/convert/listMarkers.d.ts +9 -9
  594. package/dist/layout-bridge/convert/markupViewFlow.d.ts +3 -3
  595. package/dist/layout-bridge/convert/noteReferences.d.ts +2 -3
  596. package/dist/layout-bridge/convert/pageBreakSplitting.d.ts +4 -4
  597. package/dist/layout-bridge/convert/pageBreakSplitting.js +4 -0
  598. package/dist/layout-bridge/convert/paragraphAttrs.d.ts +2 -2
  599. package/dist/layout-bridge/convert/paragraphAttrs.js +18 -11
  600. package/dist/layout-bridge/convert/paragraphConversion.d.ts +4 -5
  601. package/dist/layout-bridge/convert/paragraphConversion.js +9 -2
  602. package/dist/layout-bridge/convert/paragraphFrames.d.ts +2 -2
  603. package/dist/layout-bridge/convert/paragraphFrames.js +1 -1
  604. package/dist/layout-bridge/convert/paragraphMarkFormatting.d.ts +3 -4
  605. package/dist/layout-bridge/convert/paragraphRuns.d.ts +3 -4
  606. package/dist/layout-bridge/convert/paragraphRuns.js +35 -14
  607. package/dist/layout-bridge/convert/runFormattingMerge.d.ts +5 -5
  608. package/dist/layout-bridge/convert/runFormattingMerge.js +1 -0
  609. package/dist/layout-bridge/convert/runMarkFormatting.d.ts +2 -3
  610. package/dist/layout-bridge/convert/runMarkFormatting.js +12 -4
  611. package/dist/layout-bridge/convert/sectionBoundaries.d.ts +6 -6
  612. package/dist/layout-bridge/convert/tableConversion.d.ts +3 -4
  613. package/dist/layout-bridge/convert/tableConversion.js +1 -1
  614. package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +6 -7
  615. package/dist/layout-bridge/convert/textBoxFill.d.ts +3 -4
  616. package/dist/layout-bridge/convert/textFormattingConversion.d.ts +8 -7
  617. package/dist/layout-bridge/convert/textFormattingConversion.js +10 -1
  618. package/dist/layout-bridge/convert/toFlowBlocks.d.ts +3 -3
  619. package/dist/layout-bridge/convert/toFlowBlocks.js +19 -11
  620. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +3 -4
  621. package/dist/layout-bridge/dom/clickToPositionDom.d.ts +12 -13
  622. package/dist/layout-bridge/dom/clickToPositionDom.js +30 -4
  623. package/dist/layout-bridge/dom/findBodyPmSpans.d.ts +5 -6
  624. package/dist/layout-bridge/dom/findHfPmSpans.d.ts +10 -11
  625. package/dist/layout-bridge/dom/imeCaretAnchor.d.ts +3 -3
  626. package/dist/layout-bridge/dom/noteStoryDom.d.ts +2 -3
  627. package/dist/layout-bridge/dom/textStreamDom.d.ts +16 -9
  628. package/dist/layout-bridge/dom/textStreamDom.js +18 -3
  629. package/dist/layout-bridge/engine/clickToPosition.d.ts +8 -9
  630. package/dist/layout-bridge/engine/clickToPosition.js +77 -94
  631. package/dist/layout-bridge/engine/hitTest.d.ts +18 -19
  632. package/dist/layout-bridge/engine/hitTest.js +2 -1
  633. package/dist/layout-bridge/engine/linePmRange.d.ts +7 -0
  634. package/dist/layout-bridge/engine/linePmRange.js +34 -0
  635. package/dist/layout-bridge/engine/selectionRects.d.ts +7 -8
  636. package/dist/layout-bridge/engine/selectionRects.js +53 -77
  637. package/dist/layout-bridge/headerFooterLayout.d.ts +4 -5
  638. package/dist/layout-bridge/measuring/measureBlocksPipeline.d.ts +2 -3
  639. package/dist/layout-bridge/sectionColumns.d.ts +2 -3
  640. package/dist/layout-bridge/tableInsertHover.d.ts +6 -7
  641. package/dist/layout-engine/anchorLayoutInCellCompatibility.d.ts +2 -3
  642. package/dist/layout-engine/footnoteColumnReflow.d.ts +2 -2
  643. package/dist/layout-engine/headerFooterRefs.d.ts +2 -3
  644. package/dist/layout-engine/imageLayout.d.ts +2 -3
  645. package/dist/layout-engine/index.d.ts +3 -3
  646. package/dist/layout-engine/index.js +9 -6
  647. package/dist/layout-engine/justificationCompatibility.d.ts +2 -3
  648. package/dist/layout-engine/keep-together.d.ts +7 -8
  649. package/dist/layout-engine/keep-together.js +1 -1
  650. package/dist/layout-engine/layoutFlowShared.d.ts +3 -4
  651. package/dist/layout-engine/layoutInstrumentation.d.ts +18 -19
  652. package/dist/layout-engine/lineFlow.d.ts +4 -5
  653. package/dist/layout-engine/measure/advanceComposition.d.ts +8 -8
  654. package/dist/layout-engine/measure/advanceComposition.js +24 -5
  655. package/dist/layout-engine/measure/automaticTextSpacing.d.ts +36 -0
  656. package/dist/layout-engine/measure/automaticTextSpacing.js +178 -0
  657. package/dist/layout-engine/measure/cache.d.ts +22 -22
  658. package/dist/layout-engine/measure/cache.js +50 -14
  659. package/dist/layout-engine/measure/clampFloatingWrapMargins.d.ts +2 -3
  660. package/dist/layout-engine/measure/complexScriptFormatting.d.ts +5 -5
  661. package/dist/layout-engine/measure/crossRunWords.d.ts +8 -8
  662. package/dist/layout-engine/measure/crossRunWords.js +9 -4
  663. package/dist/layout-engine/measure/effectiveLineBreakPolicy.d.ts +3 -3
  664. package/dist/layout-engine/measure/effectiveLineBreakPolicy.js +3 -1
  665. package/dist/layout-engine/measure/featureFlags.d.ts +4 -5
  666. package/dist/layout-engine/measure/floatingLineClearance.d.ts +3 -4
  667. package/dist/layout-engine/measure/floatingTablePosition.d.ts +3 -3
  668. package/dist/layout-engine/measure/floatingZones.d.ts +11 -10
  669. package/dist/layout-engine/measure/font-metrics.worker.d.ts +3 -4
  670. package/dist/layout-engine/measure/font-metrics.worker.js +2 -1
  671. package/dist/layout-engine/measure/hyperlinkInstance.d.ts +3 -4
  672. package/dist/layout-engine/measure/hyphenationDictionaries.d.ts +17 -34
  673. package/dist/layout-engine/measure/hyphenationDictionaries.js +6 -5
  674. package/dist/layout-engine/measure/hyphenationPreload.d.ts +2 -3
  675. package/dist/layout-engine/measure/inlineObjectMetrics.d.ts +3 -4
  676. package/dist/layout-engine/measure/justification.d.ts +7 -7
  677. package/dist/layout-engine/measure/lineBreakProvider.d.ts +16 -11
  678. package/dist/layout-engine/measure/lineBreakProvider.js +29 -4
  679. package/dist/layout-engine/measure/lineBreaks.d.ts +7 -8
  680. package/dist/layout-engine/measure/lineBreaks.js +5 -2
  681. package/dist/layout-engine/measure/lineFitting.d.ts +11 -11
  682. package/dist/layout-engine/measure/lineFitting.js +17 -6
  683. package/dist/layout-engine/measure/lineTypography.d.ts +7 -8
  684. package/dist/layout-engine/measure/lineTypography.js +1 -0
  685. package/dist/layout-engine/measure/listMarkerWidth.d.ts +9 -6
  686. package/dist/layout-engine/measure/listMarkerWidth.js +7 -3
  687. package/dist/layout-engine/measure/measureBlocks.d.ts +7 -7
  688. package/dist/layout-engine/measure/measureBlocks.js +13 -7
  689. package/dist/layout-engine/measure/measureContainer.d.ts +5 -6
  690. package/dist/layout-engine/measure/measureContainer.js +27 -6
  691. package/dist/layout-engine/measure/measureHelpers.d.ts +21 -18
  692. package/dist/layout-engine/measure/measureHelpers.js +12 -3
  693. package/dist/layout-engine/measure/measureParagraph.d.ts +5 -5
  694. package/dist/layout-engine/measure/measureParagraph.js +57 -11
  695. package/dist/layout-engine/measure/measureProvider.d.ts +15 -9
  696. package/dist/layout-engine/measure/measureProvider.js +66 -4
  697. package/dist/layout-engine/measure/measureTypes.d.ts +17 -14
  698. package/dist/layout-engine/measure/measureWorker.d.ts +8 -8
  699. package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +6 -7
  700. package/dist/layout-engine/measure/paragraphMeasureShared.d.ts +19 -20
  701. package/dist/layout-engine/measure/paragraphTabs.d.ts +6 -7
  702. package/dist/layout-engine/measure/paragraphTabs.js +16 -17
  703. package/dist/layout-engine/measure/smallCapsCasing.d.ts +6 -7
  704. package/dist/layout-engine/measure/tabCalculator.d.ts +15 -16
  705. package/dist/layout-engine/measure/tableCellFloating.d.ts +6 -6
  706. package/dist/layout-engine/measure/tableCellFlow.d.ts +7 -7
  707. package/dist/layout-engine/measure/tableCellGrid.d.ts +14 -14
  708. package/dist/layout-engine/measure/tableFragmentBorderGeometry.d.ts +2 -2
  709. package/dist/layout-engine/measure/tableInlinePlacement.d.ts +3 -3
  710. package/dist/layout-engine/measure/textBoxParagraphLayout.d.ts +4 -4
  711. package/dist/layout-engine/measure/textMeasurementPolicy.d.ts +8 -8
  712. package/dist/layout-engine/noColumnBalanceCompatibility.d.ts +7 -0
  713. package/dist/layout-engine/noColumnBalanceCompatibility.js +5 -0
  714. package/dist/layout-engine/noteAreaFlow.d.ts +4 -5
  715. package/dist/layout-engine/paginator.d.ts +18 -11
  716. package/dist/layout-engine/paginator.js +51 -11
  717. package/dist/layout-engine/paragraphFragmentRange.d.ts +2 -3
  718. package/dist/layout-engine/paragraphFrame.d.ts +2 -21
  719. package/dist/layout-engine/paragraphFrame.js +1 -17
  720. package/dist/layout-engine/paragraphLayout.d.ts +2 -2
  721. package/dist/layout-engine/paragraphLayout.js +28 -9
  722. package/dist/layout-engine/paragraphSequence.d.ts +3 -4
  723. package/dist/layout-engine/paragraphSpacing.d.ts +10 -10
  724. package/dist/layout-engine/pmPageIndex.d.ts +3 -4
  725. package/dist/layout-engine/renderedBreakReconciliation.d.ts +7 -7
  726. package/dist/layout-engine/section-breaks.d.ts +15 -15
  727. package/dist/layout-engine/sectionLayout.d.ts +7 -7
  728. package/dist/layout-engine/sectionLayout.js +1 -4
  729. package/dist/layout-engine/sectionVerticalAlignment.d.ts +2 -3
  730. package/dist/layout-engine/tableIndentCompatibility.d.ts +2 -3
  731. package/dist/layout-engine/tableLayout.d.ts +4 -5
  732. package/dist/layout-engine/tableLayout.js +17 -9
  733. package/dist/layout-engine/tableRowBreak.d.ts +6 -6
  734. package/dist/layout-engine/tableRowBreak.js +10 -5
  735. package/dist/layout-engine/textBoxFlow.d.ts +6 -6
  736. package/dist/layout-engine/textBoxGroup.d.ts +3 -4
  737. package/dist/layout-engine/textBoxLayout.d.ts +2 -2
  738. package/dist/layout-engine/types.d.ts +108 -88
  739. package/dist/layout-painter/anchoredImagePosition.d.ts +4 -5
  740. package/dist/layout-painter/borderStroke.d.ts +4 -4
  741. package/dist/layout-painter/cursiveJoiners.d.ts +7 -7
  742. package/dist/layout-painter/documentColors.d.ts +6 -7
  743. package/dist/layout-painter/imageLayout.d.ts +13 -14
  744. package/dist/layout-painter/index.d.ts +8 -7
  745. package/dist/layout-painter/index.js +7 -2
  746. package/dist/layout-painter/registry/modules/image.d.ts +2 -3
  747. package/dist/layout-painter/registry/modules/paragraph.d.ts +2 -3
  748. package/dist/layout-painter/registry/modules/table.d.ts +2 -3
  749. package/dist/layout-painter/registry/modules/textBox.d.ts +2 -3
  750. package/dist/layout-painter/registry/modules.d.ts +2 -3
  751. package/dist/layout-painter/registry/registry.d.ts +4 -5
  752. package/dist/layout-painter/registry/types.d.ts +8 -9
  753. package/dist/layout-painter/renderFragment.d.ts +4 -5
  754. package/dist/layout-painter/renderImage.d.ts +12 -13
  755. package/dist/layout-painter/renderPage.d.ts +27 -25
  756. package/dist/layout-painter/renderPage.js +116 -31
  757. package/dist/layout-painter/renderParagraph.d.ts +19 -15
  758. package/dist/layout-painter/renderParagraph.js +186 -46
  759. package/dist/layout-painter/renderTable.d.ts +7 -8
  760. package/dist/layout-painter/renderTable.js +27 -15
  761. package/dist/layout-painter/renderTextBox.d.ts +5 -6
  762. package/dist/layout-painter/renderTextBox.js +9 -1
  763. package/dist/layout-painter/renderUtils.d.ts +11 -14
  764. package/dist/layout-painter/renderUtils.js +1 -19
  765. package/dist/layout-painter/renderWatermark.d.ts +5 -4
  766. package/dist/layout-painter/sdtBoundary.d.ts +4 -5
  767. package/dist/layout-painter/tableRowPaintGeometry.d.ts +2 -2
  768. package/dist/managers/AutoSaveManager.d.ts +11 -12
  769. package/dist/managers/AutoSaveManager.js +17 -3
  770. package/dist/managers/ClipboardManager.d.ts +7 -8
  771. package/dist/managers/ContextMenuManager.d.ts +3 -4
  772. package/dist/managers/DocumentLoaderManager.d.ts +5 -6
  773. package/dist/managers/EditorModeManager.d.ts +12 -12
  774. package/dist/managers/ErrorManager.d.ts +2 -3
  775. package/dist/managers/FindReplaceManager.d.ts +6 -6
  776. package/dist/managers/HistoryManager.d.ts +9 -10
  777. package/dist/managers/Subscribable.d.ts +2 -3
  778. package/dist/managers/TableSelectionManager.d.ts +9 -10
  779. package/dist/managers/TableSelectionManager.js +3 -13
  780. package/dist/managers/autoSaveCodec.d.ts +8 -9
  781. package/dist/managers/editorShortcuts.d.ts +14 -15
  782. package/dist/managers/reviewDisplayMode.d.ts +4 -5
  783. package/dist/managers/types.d.ts +7 -8
  784. package/dist/markdown/annotations.d.ts +6 -7
  785. package/dist/markdown/escape.d.ts +6 -7
  786. package/dist/markdown/fromMarkdown.d.ts +2 -3
  787. package/dist/markdown/images.d.ts +2 -3
  788. package/dist/markdown/index.d.ts +3 -3
  789. package/dist/markdown/index.js +28 -2
  790. package/dist/markdown/internals.d.ts +4 -5
  791. package/dist/markdown/internals.js +3 -2
  792. package/dist/markdown/renderBlock.d.ts +2 -3
  793. package/dist/markdown/renderBlock.js +5 -1
  794. package/dist/markdown/renderParagraph.d.ts +4 -5
  795. package/dist/markdown/renderParagraph.js +42 -17
  796. package/dist/markdown/renderRuns.d.ts +3 -3
  797. package/dist/markdown/renderRuns.js +15 -10
  798. package/dist/markdown/renderTable.d.ts +2 -3
  799. package/dist/markdown/renderTable.js +21 -8
  800. package/dist/markdown/trailers.d.ts +2 -3
  801. package/dist/markdown/types.d.ts +7 -8
  802. package/dist/model.d.ts +1 -1
  803. package/dist/paged-layout/LayoutSelectionGate.d.ts +2 -2
  804. package/dist/paged-layout/blockGeometry.d.ts +5 -6
  805. package/dist/paged-layout/editorScrollRoot.d.ts +5 -5
  806. package/dist/paged-layout/fitWidthZoom.d.ts +36 -0
  807. package/dist/paged-layout/fitWidthZoom.js +31 -0
  808. package/dist/paged-layout/hiddenEditorScroll.d.ts +2 -3
  809. package/dist/paged-layout/incrementalMeasure.d.ts +6 -7
  810. package/dist/paged-layout/pageText.d.ts +2 -2
  811. package/dist/paged-layout/paragraphFlash.d.ts +7 -7
  812. package/dist/paged-layout/paragraphFlashTypes.d.ts +3 -4
  813. package/dist/paged-layout/rangeProjection.d.ts +11 -12
  814. package/dist/paged-layout/readOnlyEditAttempt.d.ts +2 -2
  815. package/dist/paged-layout/scrollNavigation.d.ts +5 -6
  816. package/dist/paged-layout/scrollPageInfo.d.ts +5 -6
  817. package/dist/paged-layout/scrollToPmPosition.d.ts +4 -5
  818. package/dist/paged-layout/sectionBlockWidths.d.ts +3 -3
  819. package/dist/paged-layout/sectionBlockWidths.js +0 -3
  820. package/dist/paged-layout/sectionGeometry.d.ts +10 -11
  821. package/dist/paged-layout/selectionViewportRect.d.ts +5 -6
  822. package/dist/paged-layout/tableColumnResize.d.ts +2 -3
  823. package/dist/paged-layout/tableInsertButtonGeometry.d.ts +2 -3
  824. package/dist/paged-layout/transactionDirtyRange.d.ts +2 -3
  825. package/dist/paged-layout/zoomScrollAnchor.d.ts +5 -5
  826. package/dist/panel-layout.d.ts +11 -12
  827. package/dist/pdf/contentStream.d.ts +11 -12
  828. package/dist/pdf/fonts.d.ts +11 -11
  829. package/dist/pdf/fonts.js +2 -20
  830. package/dist/pdf/images.d.ts +7 -7
  831. package/dist/pdf/images.js +6 -2
  832. package/dist/pdf/objects.d.ts +23 -24
  833. package/dist/pdf/pageSpace.d.ts +9 -10
  834. package/dist/pdf/paint.d.ts +8 -8
  835. package/dist/pdf/paint.js +30 -2
  836. package/dist/pdf/writePdf.d.ts +8 -8
  837. package/dist/pdf/writePdf.js +2 -1
  838. package/dist/prosemirror/addTrackedDeletionMark.d.ts +2 -2
  839. package/dist/prosemirror/alternateContentAttrs.d.ts +5 -4
  840. package/dist/prosemirror/alternateContentAttrs.js +13 -3
  841. package/dist/prosemirror/anchoredTextBoxes.d.ts +10 -11
  842. package/dist/prosemirror/attrs/index.d.ts +86 -86
  843. package/dist/prosemirror/attrs/index.js +127 -99
  844. package/dist/prosemirror/authoredTransformAttrs.d.ts +3 -3
  845. package/dist/prosemirror/autospacingBase.d.ts +5 -5
  846. package/dist/prosemirror/bookmarkBoundaryAttrs.d.ts +7 -7
  847. package/dist/prosemirror/bookmarkBoundaryAttrs.js +31 -2
  848. package/dist/prosemirror/bookmarkBoundaryIntegrity.d.ts +3 -4
  849. package/dist/prosemirror/canonicalCommands.d.ts +38 -21
  850. package/dist/prosemirror/canonicalCommands.js +5 -4
  851. package/dist/prosemirror/canonicalSelectionRange.d.ts +14 -4
  852. package/dist/prosemirror/canonicalSelectionRange.js +20 -1
  853. package/dist/prosemirror/cellDragSelection.d.ts +6 -7
  854. package/dist/prosemirror/cellDragSelection.js +9 -0
  855. package/dist/prosemirror/clearRunColor.d.ts +2 -3
  856. package/dist/prosemirror/clearRunColor.js +8 -5
  857. package/dist/prosemirror/clipboardIntent.d.ts +3 -4
  858. package/dist/prosemirror/commands/clearParagraphIndent.d.ts +2 -3
  859. package/dist/prosemirror/commands/comments.d.ts +28 -28
  860. package/dist/prosemirror/commands/comments.js +220 -83
  861. package/dist/prosemirror/commands/contentControls.d.ts +9 -9
  862. package/dist/prosemirror/commands/contentControls.js +2 -1
  863. package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +2 -3
  864. package/dist/prosemirror/commands/contentControlsBlockFill.js +2 -1
  865. package/dist/prosemirror/commands/formatPainter.d.ts +5 -5
  866. package/dist/prosemirror/commands/formatPainter.js +14 -11
  867. package/dist/prosemirror/commands/formatting.d.ts +20 -20
  868. package/dist/prosemirror/commands/hyperlink.d.ts +5 -6
  869. package/dist/prosemirror/commands/hyperlink.js +7 -6
  870. package/dist/prosemirror/commands/image.d.ts +14 -14
  871. package/dist/prosemirror/commands/pageBreak.d.ts +2 -3
  872. package/dist/prosemirror/commands/pageBreak.js +2 -1
  873. package/dist/prosemirror/commands/paragraph.d.ts +35 -35
  874. package/dist/prosemirror/commands/paragraphBookmarkJoin.d.ts +5 -5
  875. package/dist/prosemirror/commands/paragraphBookmarkJoin.js +4 -7
  876. package/dist/prosemirror/commands/pastePlainText.d.ts +4 -5
  877. package/dist/prosemirror/commands/propertyChangeScope.d.ts +13 -13
  878. package/dist/prosemirror/commands/propertyChangeScope.js +2 -0
  879. package/dist/prosemirror/commands/resolveAllTableChanges.d.ts +3 -3
  880. package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.d.ts +3 -3
  881. package/dist/prosemirror/commands/resolveParagraphProperties.d.ts +3 -3
  882. package/dist/prosemirror/commands/resolveParagraphProperties.js +1 -1
  883. package/dist/prosemirror/commands/sectionBreak.d.ts +9 -8
  884. package/dist/prosemirror/commands/sectionBreak.js +14 -1
  885. package/dist/prosemirror/commands/table.d.ts +34 -34
  886. package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +8 -8
  887. package/dist/prosemirror/commands/tableCellMergeResolution.js +3 -2
  888. package/dist/prosemirror/commands/tableMergeFoldDecisions.d.ts +19 -18
  889. package/dist/prosemirror/commentBoundaryOwnership.d.ts +15 -0
  890. package/dist/prosemirror/commentBoundaryOwnership.js +4 -0
  891. package/dist/prosemirror/commentIdAllocator.d.ts +10 -9
  892. package/dist/prosemirror/commentIdAllocator.js +4 -1
  893. package/dist/prosemirror/commentOps.d.ts +6 -7
  894. package/dist/prosemirror/commentOps.js +3 -19
  895. package/dist/prosemirror/commentRangeBoundaryAttrs.d.ts +16 -0
  896. package/dist/prosemirror/commentRangeBoundaryAttrs.js +51 -0
  897. package/dist/prosemirror/commentRangeInlineAtoms.d.ts +5 -5
  898. package/dist/prosemirror/commentRangeInlineAtoms.js +1 -0
  899. package/dist/prosemirror/commentReferenceAttrs.d.ts +3 -4
  900. package/dist/prosemirror/commentReferenceAttrs.js +4 -1
  901. package/dist/prosemirror/commentReferenceIntegrity.d.ts +15 -6
  902. package/dist/prosemirror/commentReferenceIntegrity.js +93 -1
  903. package/dist/prosemirror/containerFinalParagraph.d.ts +4 -4
  904. package/dist/prosemirror/contentControlRevisions.d.ts +7 -7
  905. package/dist/prosemirror/conversion/effectiveTableCellFormatting.d.ts +4 -4
  906. package/dist/prosemirror/conversion/fromProseDoc.d.ts +10 -10
  907. package/dist/prosemirror/conversion/fromProseDoc.js +477 -178
  908. package/dist/prosemirror/conversion/hyphenTextCarriers.d.ts +2 -3
  909. package/dist/prosemirror/conversion/markInterner.d.ts +2 -3
  910. package/dist/prosemirror/conversion/preservedSinkCarriers.d.ts +5 -5
  911. package/dist/prosemirror/conversion/runShadingMark.d.ts +3 -4
  912. package/dist/prosemirror/conversion/sdtAttrs.d.ts +6 -7
  913. package/dist/prosemirror/conversion/toProseDoc.d.ts +15 -9
  914. package/dist/prosemirror/conversion/toProseDoc.js +318 -202
  915. package/dist/prosemirror/copyOriginDom.d.ts +8 -0
  916. package/dist/prosemirror/copyOriginDom.js +21 -0
  917. package/dist/prosemirror/copyOriginResolution.d.ts +15 -0
  918. package/dist/prosemirror/copyOriginResolution.js +202 -0
  919. package/dist/prosemirror/documentSchema.d.ts +2 -3
  920. package/dist/prosemirror/emptyFieldResultRuns.d.ts +3 -3
  921. package/dist/prosemirror/emptyRangeAnchor.d.ts +6 -6
  922. package/dist/prosemirror/executeEditorCommand.d.ts +4 -5
  923. package/dist/prosemirror/extensions/ExtensionManager.d.ts +2 -3
  924. package/dist/prosemirror/extensions/StarterKit.d.ts +3 -4
  925. package/dist/prosemirror/extensions/StarterKit.js +5 -1
  926. package/dist/prosemirror/extensions/core/DocExtension.d.ts +2 -6
  927. package/dist/prosemirror/extensions/core/DocExtension.js +1 -1
  928. package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +3 -6
  929. package/dist/prosemirror/extensions/core/HistoryExtension.js +5 -4
  930. package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +8 -9
  931. package/dist/prosemirror/extensions/core/ParagraphExtension.js +17 -9
  932. package/dist/prosemirror/extensions/core/TextExtension.d.ts +2 -6
  933. package/dist/prosemirror/extensions/create.d.ts +4 -5
  934. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +6 -7
  935. package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +3 -4
  936. package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +2 -13
  937. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +2 -13
  938. package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +2 -9
  939. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +7 -8
  940. package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +2 -16
  941. package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +2 -12
  942. package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +2 -9
  943. package/dist/prosemirror/extensions/features/ImagePasteExtension.js +2 -1
  944. package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.d.ts +3 -18
  945. package/dist/prosemirror/extensions/features/ListExtension.d.ts +6 -7
  946. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +11 -10
  947. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +94 -53
  948. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +20 -20
  949. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +2 -1
  950. package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +2 -19
  951. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +4 -15
  952. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +5 -2
  953. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +2 -2
  954. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +2 -8
  955. package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +5 -6
  956. package/dist/prosemirror/extensions/features/clipboardTrackedRevisions.d.ts +4 -0
  957. package/dist/prosemirror/extensions/features/clipboardTrackedRevisions.js +72 -0
  958. package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +4 -4
  959. package/dist/prosemirror/extensions/features/pasteCleanup.js +3 -2
  960. package/dist/prosemirror/extensions/features/pastedHeadingStyles.d.ts +2 -3
  961. package/dist/prosemirror/extensions/features/pastedHtmlLists.d.ts +3 -4
  962. package/dist/prosemirror/extensions/markRegistry.d.ts +4 -5
  963. package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +2 -6
  964. package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +2 -6
  965. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +2 -11
  966. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +2 -17
  967. package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +2 -9
  968. package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +2 -6
  969. package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +12 -4
  970. package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +2 -6
  971. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +2 -8
  972. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +42 -4
  973. package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +2 -20
  974. package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +4 -4
  975. package/dist/prosemirror/extensions/marks/HighlightExtension.js +6 -4
  976. package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +5 -6
  977. package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +9 -3
  978. package/dist/prosemirror/extensions/marks/InlineWrapperExtension.d.ts +3 -16
  979. package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +2 -6
  980. package/dist/prosemirror/extensions/marks/LanguageExtension.d.ts +2 -3
  981. package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +2 -3
  982. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +5 -5
  983. package/dist/prosemirror/extensions/marks/RunIdentityExtension.d.ts +3 -3
  984. package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +2 -3
  985. package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +2 -6
  986. package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +2 -6
  987. package/dist/prosemirror/extensions/marks/StrikeExtension.js +9 -3
  988. package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +2 -6
  989. package/dist/prosemirror/extensions/marks/SubscriptExtension.js +3 -2
  990. package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +2 -6
  991. package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +3 -2
  992. package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +2 -6
  993. package/dist/prosemirror/extensions/marks/TextColorExtension.js +7 -6
  994. package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +2 -3
  995. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +6 -13
  996. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.js +1 -4
  997. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +4 -12
  998. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +18 -2
  999. package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +2 -6
  1000. package/dist/prosemirror/extensions/marks/UnderlineExtension.js +10 -3
  1001. package/dist/prosemirror/extensions/marks/markUtils.d.ts +83 -25
  1002. package/dist/prosemirror/extensions/marks/markUtils.js +138 -74
  1003. package/dist/prosemirror/extensions/marks/noteReferenceDeletion.d.ts +3 -3
  1004. package/dist/prosemirror/extensions/nodes/BlockBookmarkBoundaryExtension.d.ts +6 -25
  1005. package/dist/prosemirror/extensions/nodes/BlockBookmarkBoundaryExtension.js +4 -4
  1006. package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.d.ts +2 -3
  1007. package/dist/prosemirror/extensions/nodes/BlockMoveRangeBoundaryExtension.d.ts +10 -0
  1008. package/dist/prosemirror/extensions/nodes/BlockMoveRangeBoundaryExtension.js +59 -0
  1009. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +2 -20
  1010. package/dist/prosemirror/extensions/nodes/BookmarkBoundaryExtension.d.ts +3 -4
  1011. package/dist/prosemirror/extensions/nodes/BookmarkBoundaryExtension.js +1 -1
  1012. package/dist/prosemirror/extensions/nodes/CommentRangeBoundaryExtension.d.ts +10 -0
  1013. package/dist/prosemirror/extensions/nodes/CommentRangeBoundaryExtension.js +43 -0
  1014. package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.d.ts +3 -5
  1015. package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.js +5 -73
  1016. package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +3 -11
  1017. package/dist/prosemirror/extensions/nodes/FieldExtension.js +12 -2
  1018. package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +2 -6
  1019. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +2 -6
  1020. package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +2 -6
  1021. package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +2 -10
  1022. package/dist/prosemirror/extensions/nodes/MoveRangeBoundaryExtension.d.ts +4 -5
  1023. package/dist/prosemirror/extensions/nodes/MoveRangeBoundaryExtension.js +8 -4
  1024. package/dist/prosemirror/extensions/nodes/NoteMarkerExtension.d.ts +3 -4
  1025. package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +2 -6
  1026. package/dist/prosemirror/extensions/nodes/PageBreakRunExtension.d.ts +2 -4
  1027. package/dist/prosemirror/extensions/nodes/PreservedBlockExtension.d.ts +3 -29
  1028. package/dist/prosemirror/extensions/nodes/PreservedXmlExtension.d.ts +3 -13
  1029. package/dist/prosemirror/extensions/nodes/RangeAnchorExtension.d.ts +4 -5
  1030. package/dist/prosemirror/extensions/nodes/RangeAnchorExtension.js +20 -4
  1031. package/dist/prosemirror/extensions/nodes/RenderedPageBreakExtension.d.ts +3 -5
  1032. package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +3 -10
  1033. package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +11 -11
  1034. package/dist/prosemirror/extensions/nodes/ShapeExtension.js +5 -6
  1035. package/dist/prosemirror/extensions/nodes/SymbolExtension.d.ts +2 -3
  1036. package/dist/prosemirror/extensions/nodes/SymbolExtension.js +3 -3
  1037. package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +2 -6
  1038. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +10 -10
  1039. package/dist/prosemirror/extensions/nodes/TableExtension.js +11 -13
  1040. package/dist/prosemirror/extensions/nodes/TextBoxAnchorExtension.d.ts +3 -10
  1041. package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +4 -5
  1042. package/dist/prosemirror/extensions/nodes/bookmarkBoundaryDom.d.ts +7 -5
  1043. package/dist/prosemirror/extensions/nodes/bookmarkBoundaryDom.js +9 -3
  1044. package/dist/prosemirror/extensions/types.d.ts +27 -27
  1045. package/dist/prosemirror/fieldRepresentation.d.ts +6 -5
  1046. package/dist/prosemirror/fieldRepresentation.js +13 -3
  1047. package/dist/prosemirror/findReplaceSelection.d.ts +9 -9
  1048. package/dist/prosemirror/hyperlinkRemoval.d.ts +6 -5
  1049. package/dist/prosemirror/hyperlinkRemoval.js +14 -1
  1050. package/dist/prosemirror/imageCommit.d.ts +5 -23
  1051. package/dist/prosemirror/imageCommit.js +1 -29
  1052. package/dist/prosemirror/imagePictureNames.d.ts +4 -5
  1053. package/dist/prosemirror/indexedNodeLookup.d.ts +4 -4
  1054. package/dist/prosemirror/inlineDisplayText.d.ts +4 -5
  1055. package/dist/prosemirror/inlineWrapperStack.d.ts +8 -9
  1056. package/dist/prosemirror/insertOperations.d.ts +4 -4
  1057. package/dist/prosemirror/keptRangeBoundaries.d.ts +76 -0
  1058. package/dist/prosemirror/keptRangeBoundaries.js +381 -0
  1059. package/dist/prosemirror/listAutoformatMarkers.d.ts +3 -4
  1060. package/dist/prosemirror/listInstanceReferences.d.ts +3 -4
  1061. package/dist/prosemirror/listInstanceReferences.js +1 -1
  1062. package/dist/prosemirror/listLabels.d.ts +15 -5
  1063. package/dist/prosemirror/listLabels.js +101 -16
  1064. package/dist/prosemirror/listMarker.d.ts +13 -13
  1065. package/dist/prosemirror/listMarker.js +7 -2
  1066. package/dist/prosemirror/listNumbering.d.ts +11 -11
  1067. package/dist/prosemirror/listNumbering.js +0 -16
  1068. package/dist/prosemirror/listRendering.d.ts +5 -5
  1069. package/dist/prosemirror/listRendering.js +4 -0
  1070. package/dist/prosemirror/listRenderingAttrs.d.ts +12 -11
  1071. package/dist/prosemirror/listRenderingAttrs.js +9 -5
  1072. package/dist/prosemirror/listState.d.ts +9 -10
  1073. package/dist/prosemirror/markupViewNotes.d.ts +2 -3
  1074. package/dist/prosemirror/markupViewProjection.d.ts +12 -11
  1075. package/dist/prosemirror/moveRangeBoundaryAttrs.d.ts +7 -6
  1076. package/dist/prosemirror/moveRangeBoundaryAttrs.js +27 -4
  1077. package/dist/prosemirror/noteReferenceOccurrenceId.d.ts +2 -3
  1078. package/dist/prosemirror/noteReferenceOccurrences.d.ts +12 -11
  1079. package/dist/prosemirror/noteReferenceOccurrences.js +4 -2
  1080. package/dist/prosemirror/noteReferenceReview.d.ts +13 -13
  1081. package/dist/prosemirror/noteReferenceReview.js +4 -10
  1082. package/dist/prosemirror/numberedRefFields.d.ts +5 -5
  1083. package/dist/prosemirror/numberingAttr.d.ts +14 -14
  1084. package/dist/prosemirror/outlineLevelAttr.d.ts +3 -4
  1085. package/dist/prosemirror/pageBreakRunProjection.d.ts +5 -5
  1086. package/dist/prosemirror/paraText.d.ts +4 -5
  1087. package/dist/prosemirror/paragraphAlignment.d.ts +2 -3
  1088. package/dist/prosemirror/paragraphDirection.d.ts +8 -9
  1089. package/dist/prosemirror/paragraphFormattingProvenance.d.ts +14 -7
  1090. package/dist/prosemirror/paragraphFormattingProvenance.js +8 -0
  1091. package/dist/prosemirror/paragraphIndentation.d.ts +7 -7
  1092. package/dist/prosemirror/paragraphList.d.ts +39 -0
  1093. package/dist/prosemirror/paragraphList.js +81 -0
  1094. package/dist/prosemirror/paragraphMarkJoin.d.ts +12 -2
  1095. package/dist/prosemirror/paragraphMarkJoin.js +34 -3
  1096. package/dist/prosemirror/paragraphPropertyCarry.d.ts +7 -7
  1097. package/dist/prosemirror/paragraphSpacing.d.ts +9 -9
  1098. package/dist/prosemirror/paragraphSpacing.js +16 -10
  1099. package/dist/prosemirror/pluginKeyOwner.d.ts +3 -4
  1100. package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +10 -10
  1101. package/dist/prosemirror/plugins/aiCitationDecorations.js +0 -12
  1102. package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +10 -10
  1103. package/dist/prosemirror/plugins/aiSuggestionDecorations.js +0 -14
  1104. package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +11 -11
  1105. package/dist/prosemirror/plugins/anonymizationDecorations.js +0 -18
  1106. package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +21 -21
  1107. package/dist/prosemirror/plugins/autocompleteSuggestion.js +3 -25
  1108. package/dist/prosemirror/plugins/contentControlWidgets.d.ts +14 -14
  1109. package/dist/prosemirror/plugins/contentControlWidgets.js +13 -7
  1110. package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +6 -6
  1111. package/dist/prosemirror/plugins/documentNumbering.d.ts +11 -9
  1112. package/dist/prosemirror/plugins/documentNumbering.js +42 -42
  1113. package/dist/prosemirror/plugins/documentStyleState.d.ts +9 -10
  1114. package/dist/prosemirror/plugins/documentStyles.d.ts +4 -4
  1115. package/dist/prosemirror/plugins/documentStyles.js +2 -1
  1116. package/dist/prosemirror/plugins/lockedControlKeyHandling.d.ts +4 -0
  1117. package/dist/prosemirror/plugins/lockedControlKeyHandling.js +16 -0
  1118. package/dist/prosemirror/plugins/paragraphStyleResolution.d.ts +3 -3
  1119. package/dist/prosemirror/plugins/paragraphStyleResolution.js +23 -1
  1120. package/dist/prosemirror/plugins/pmTextScan.d.ts +5 -6
  1121. package/dist/prosemirror/plugins/revisionIds.d.ts +13 -12
  1122. package/dist/prosemirror/plugins/revisionIds.js +13 -1
  1123. package/dist/prosemirror/plugins/selectionTracker.d.ts +9 -10
  1124. package/dist/prosemirror/plugins/suggestionMode.d.ts +18 -18
  1125. package/dist/prosemirror/plugins/suggestionMode.js +11 -3
  1126. package/dist/prosemirror/plugins/templateDirectives.d.ts +12 -12
  1127. package/dist/prosemirror/plugins/templateDirectives.js +0 -17
  1128. package/dist/prosemirror/plugins/templatePreviewValues.d.ts +16 -16
  1129. package/dist/prosemirror/plugins/templatePreviewValues.js +0 -23
  1130. package/dist/prosemirror/plugins/templateSlashMenu.d.ts +12 -13
  1131. package/dist/prosemirror/plugins/templateSlashMenu.js +3 -21
  1132. package/dist/prosemirror/plugins/transactionInvariants.d.ts +7 -8
  1133. package/dist/prosemirror/positionSweep.d.ts +4 -5
  1134. package/dist/prosemirror/positionSweep.js +1 -1
  1135. package/dist/prosemirror/preservedXmlReview.d.ts +3 -4
  1136. package/dist/prosemirror/queries.d.ts +5 -6
  1137. package/dist/prosemirror/rangeAnchorAttrs.d.ts +4 -5
  1138. package/dist/prosemirror/rangeAnchorAttrs.js +4 -1
  1139. package/dist/prosemirror/rebaseParagraphRunFormatting.d.ts +3 -3
  1140. package/dist/prosemirror/rebaseParagraphRunFormatting.js +6 -5
  1141. package/dist/prosemirror/rebaseParagraphRuns.d.ts +4 -4
  1142. package/dist/prosemirror/rebaseParagraphRuns.js +15 -11
  1143. package/dist/prosemirror/rejoinRunCarriers.d.ts +3 -3
  1144. package/dist/prosemirror/replacedAnnotations.d.ts +31 -17
  1145. package/dist/prosemirror/replacedAnnotations.js +80 -11
  1146. package/dist/prosemirror/revisionCarriers.d.ts +13 -13
  1147. package/dist/prosemirror/runContentProjection.d.ts +6 -0
  1148. package/dist/prosemirror/runContentProjection.js +24 -0
  1149. package/dist/prosemirror/runFormattingFromMarks.d.ts +5 -6
  1150. package/dist/prosemirror/runFormattingFromMarks.js +19 -17
  1151. package/dist/prosemirror/runFormattingInlineCarriers.d.ts +16 -15
  1152. package/dist/prosemirror/runFormattingInlineCarriers.js +1 -0
  1153. package/dist/prosemirror/runFormattingMarkNames.d.ts +2 -3
  1154. package/dist/prosemirror/runFormattingProvenance.d.ts +5 -6
  1155. package/dist/prosemirror/runFormattingReconciliation.d.ts +4 -4
  1156. package/dist/prosemirror/runFormattingReconciliation.js +6 -4
  1157. package/dist/prosemirror/runIdentity.d.ts +6 -7
  1158. package/dist/prosemirror/runIdentityAcrossRevisions.d.ts +16 -5
  1159. package/dist/prosemirror/runIdentityAcrossRevisions.js +92 -32
  1160. package/dist/prosemirror/runPropertyChangeResolution.d.ts +3 -3
  1161. package/dist/prosemirror/runPropertyChangeResolution.js +11 -10
  1162. package/dist/prosemirror/runStyleFormatting.d.ts +23 -23
  1163. package/dist/prosemirror/runStyleFormatting.js +4 -2
  1164. package/dist/prosemirror/schema/index.d.ts +7 -6
  1165. package/dist/prosemirror/schema/index.js +0 -7
  1166. package/dist/prosemirror/schema/marks.d.ts +36 -39
  1167. package/dist/prosemirror/schema/nodes.d.ts +42 -35
  1168. package/dist/prosemirror/sectionCarrier.d.ts +7 -8
  1169. package/dist/prosemirror/sectionMarkEdits.d.ts +3 -4
  1170. package/dist/prosemirror/sectionMarkEdits.js +21 -1
  1171. package/dist/prosemirror/selectionMarks.d.ts +2 -2
  1172. package/dist/prosemirror/selectionState.d.ts +5 -6
  1173. package/dist/prosemirror/selectionState.js +1 -4
  1174. package/dist/prosemirror/shapeGeometryAdjustments.d.ts +2 -3
  1175. package/dist/prosemirror/storyListNumbering.d.ts +2 -2
  1176. package/dist/prosemirror/storyListNumbering.js +2 -1
  1177. package/dist/prosemirror/styles/index.js +1 -2
  1178. package/dist/prosemirror/styles/paragraphStyleCascade.d.ts +9 -9
  1179. package/dist/prosemirror/styles/paragraphStyleCascade.js +17 -2
  1180. package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +8 -8
  1181. package/dist/prosemirror/styles/styleResolver.d.ts +6 -7
  1182. package/dist/prosemirror/styles/styleResolver.js +17 -0
  1183. package/dist/prosemirror/styles/styleToggleCascade.d.ts +4 -4
  1184. package/dist/prosemirror/styles/tableStyleRegions.d.ts +5 -6
  1185. package/dist/prosemirror/tableCellMergeRevision.d.ts +3 -4
  1186. package/dist/prosemirror/tableCellPaste.d.ts +11 -12
  1187. package/dist/prosemirror/tableCellRevisionVisibility.d.ts +2 -3
  1188. package/dist/prosemirror/tableGridMutation.d.ts +12 -12
  1189. package/dist/prosemirror/tableResize.d.ts +18 -18
  1190. package/dist/prosemirror/tableResize.js +64 -53
  1191. package/dist/prosemirror/tableRunIn.d.ts +10 -5
  1192. package/dist/prosemirror/tableRunIn.js +44 -9
  1193. package/dist/prosemirror/textBoxAnchorAttrs.d.ts +3 -4
  1194. package/dist/prosemirror/textBoxAnchorAttrs.js +4 -1
  1195. package/dist/prosemirror/textBoxHostCollapse.d.ts +8 -0
  1196. package/dist/prosemirror/textBoxHostCollapse.js +79 -0
  1197. package/dist/prosemirror/textBoxHostParagraph.d.ts +2 -3
  1198. package/dist/prosemirror/textInput.d.ts +13 -6
  1199. package/dist/prosemirror/textInput.js +26 -2
  1200. package/dist/prosemirror/trackedRevisionPath.d.ts +6 -6
  1201. package/dist/prosemirror/trackedRevisionPath.js +7 -4
  1202. package/dist/prosemirror/trackedRunInlineAtoms.d.ts +8 -8
  1203. package/dist/prosemirror/trackedRunInlineAtoms.js +3 -2
  1204. package/dist/prosemirror/utils/extractTrackedChanges.d.ts +4 -5
  1205. package/dist/prosemirror/utils/findParagraphByParaId.d.ts +3 -4
  1206. package/dist/prosemirror/utils/tabCalculator.js +1 -2
  1207. package/dist/prosemirror/utils/visualLineNavigation.d.ts +7 -7
  1208. package/dist/prosemirror/utils/visualLineNavigation.js +2 -14
  1209. package/dist/prosemirror/validation.d.ts +7 -8
  1210. package/dist/prosemirror/validation.js +25 -10
  1211. package/dist/prosemirror/yjsDocumentMetadata.d.ts +19 -19
  1212. package/dist/prosemirror/yjsDocumentMetadata.js +21 -15
  1213. package/dist/prosemirror/zeroWidthAnchors.d.ts +7 -6
  1214. package/dist/prosemirror/zeroWidthAnchors.js +53 -16
  1215. package/dist/redline.d.ts +11 -10
  1216. package/dist/redline.js +6 -3
  1217. package/dist/redlineOperationLimit.d.ts +5 -4
  1218. package/dist/redlineOperationLimit.js +2 -1
  1219. package/dist/render-dom/BodySelectionOverlay.d.ts +4 -5
  1220. package/dist/render-dom/HeaderFooterSelectionOverlay.d.ts +6 -7
  1221. package/dist/render-dom/RemoteSelectionOverlay.d.ts +5 -6
  1222. package/dist/render-dom/RenderedDomContext.d.ts +6 -7
  1223. package/dist/render-dom/commentAnchorAttributes.d.ts +6 -6
  1224. package/dist/render-dom/resolveSidebarItemPositions.d.ts +5 -6
  1225. package/dist/reviewHistoryLimits.d.ts +3 -0
  1226. package/dist/reviewHistoryLimits.js +4 -0
  1227. package/dist/server.d.ts +2 -1
  1228. package/dist/server.js +2 -1
  1229. package/dist/shaping/placeRun.d.ts +7 -8
  1230. package/dist/shaping/shaper.d.ts +18 -36
  1231. package/dist/shaping/shaper.js +2 -1
  1232. package/dist/style-engine/index.js +1 -2
  1233. package/dist/style-engine/styleEngine.d.ts +5 -6
  1234. package/dist/style-sets/extract.d.ts +8 -9
  1235. package/dist/style-sets/stellaStyle.d.ts +4 -5
  1236. package/dist/style-sets/styleSetNormalization.d.ts +6 -7
  1237. package/dist/style-sets/types.d.ts +5 -6
  1238. package/dist/symbols.d.ts +8 -9
  1239. package/dist/types/block-id.d.ts +11 -12
  1240. package/dist/types/canonicalCapabilities.d.ts +11 -19
  1241. package/dist/types/canonicalCapabilities.js +5 -12
  1242. package/dist/types/canonicalComments.d.ts +3 -4
  1243. package/dist/types/canonicalSave.d.ts +2 -3
  1244. package/dist/types/canonicalSections.d.ts +2 -3
  1245. package/dist/types/documentEnumValues.d.ts +48 -49
  1246. package/dist/types/docxSerialization.d.ts +4 -5
  1247. package/dist/types/editor-story.d.ts +2 -3
  1248. package/dist/types/remote-selection.d.ts +2 -3
  1249. package/dist/types/wrap.d.ts +5 -6
  1250. package/dist/utils/authorColors.d.ts +4 -5
  1251. package/dist/utils/base64.d.ts +2 -2
  1252. package/dist/utils/baseDirection.d.ts +4 -5
  1253. package/dist/utils/borderCss.d.ts +9 -10
  1254. package/dist/utils/boundedContentIdentity.d.ts +13 -0
  1255. package/dist/utils/boundedContentIdentity.js +42 -0
  1256. package/dist/utils/canonicalJson.d.ts +2 -3
  1257. package/dist/utils/clipboard.d.ts +23 -23
  1258. package/dist/utils/clipboard.js +11 -8
  1259. package/dist/utils/colorResolver.d.ts +22 -23
  1260. package/dist/utils/colorResolver.js +0 -20
  1261. package/dist/utils/createDocument.d.ts +4 -4
  1262. package/dist/utils/cursiveJoining.d.ts +7 -8
  1263. package/dist/utils/documentLoaderBehavior.d.ts +3 -4
  1264. package/dist/utils/documentPointerDown.d.ts +5 -0
  1265. package/dist/utils/documentPointerDown.js +28 -0
  1266. package/dist/utils/docxInput.d.ts +3 -4
  1267. package/dist/utils/domGuards.d.ts +7 -8
  1268. package/dist/utils/findMatchView.d.ts +4 -4
  1269. package/dist/utils/findReplace.d.ts +16 -16
  1270. package/dist/utils/findSearchKey.d.ts +5 -5
  1271. package/dist/utils/findVerticalScrollParent.d.ts +3 -4
  1272. package/dist/utils/fontFamilyMerge.d.ts +2 -2
  1273. package/dist/utils/fontLoader.d.ts +12 -13
  1274. package/dist/utils/fontResolver.d.ts +16 -14
  1275. package/dist/utils/fontResolver.js +33 -5
  1276. package/dist/utils/fontWeights.d.ts +2 -3
  1277. package/dist/utils/formatToStyle.d.ts +14 -14
  1278. package/dist/utils/formatToStyle.js +17 -15
  1279. package/dist/utils/headerFooter.d.ts +11 -12
  1280. package/dist/utils/headerFooter.js +10 -0
  1281. package/dist/utils/headingCollector.d.ts +3 -4
  1282. package/dist/utils/hexId.d.ts +6 -7
  1283. package/dist/utils/hexId.js +1 -1
  1284. package/dist/utils/horizontalScale.d.ts +5 -6
  1285. package/dist/utils/htmlComments.d.ts +2 -3
  1286. package/dist/utils/imageLuminance.d.ts +4 -5
  1287. package/dist/utils/imageResize.d.ts +18 -0
  1288. package/dist/utils/imageResize.js +37 -0
  1289. package/dist/utils/imageValidation.d.ts +3 -4
  1290. package/dist/utils/imageValidation.js +1 -1
  1291. package/dist/utils/joiningTypes.gen.d.ts +5 -6
  1292. package/dist/utils/mergeDocumentContent.d.ts +2 -3
  1293. package/dist/utils/mergeDocumentContent.js +7 -0
  1294. package/dist/utils/noteReferenceLabels.d.ts +7 -8
  1295. package/dist/utils/ooxmlSymbol.d.ts +5 -3
  1296. package/dist/utils/ooxmlSymbol.js +51 -1
  1297. package/dist/utils/outlineDepth.d.ts +4 -5
  1298. package/dist/utils/paragraphBaseDirection.d.ts +2 -3
  1299. package/dist/utils/paragraphBaseDirection.js +2 -1
  1300. package/dist/utils/paragraphFormattingMerge.d.ts +4 -5
  1301. package/dist/utils/paragraphFormattingMerge.js +2 -0
  1302. package/dist/utils/paragraphFrame.d.ts +20 -0
  1303. package/dist/utils/paragraphFrame.js +13 -0
  1304. package/dist/utils/paragraphInlineLayout.d.ts +101 -4
  1305. package/dist/utils/paragraphInlineLayout.js +164 -1
  1306. package/dist/utils/replaceText.d.ts +2 -2
  1307. package/dist/utils/replaceText.js +4 -0
  1308. package/dist/utils/rotationBoundingBox.d.ts +7 -8
  1309. package/dist/utils/sanitizeImageSrc.d.ts +3 -4
  1310. package/dist/utils/scriptSegments.d.ts +34 -16
  1311. package/dist/utils/scriptSegments.js +26 -6
  1312. package/dist/utils/sliceText.js +1 -2
  1313. package/dist/utils/stripXmlDeclarations.d.ts +2 -3
  1314. package/dist/utils/tableOfContentsStyle.d.ts +2 -2
  1315. package/dist/utils/tableOperations.d.ts +16 -17
  1316. package/dist/utils/tableOperations.js +44 -41
  1317. package/dist/utils/tablePlacement.d.ts +3 -4
  1318. package/dist/utils/textAdvanceGapsDom.d.ts +8 -0
  1319. package/dist/utils/textAdvanceGapsDom.js +49 -0
  1320. package/dist/utils/textDirectionFlow.d.ts +3 -4
  1321. package/dist/utils/textEncoding.js +1 -2
  1322. package/dist/utils/textFormattingMerge.d.ts +4 -5
  1323. package/dist/utils/tiffConverter.d.ts +5 -6
  1324. package/dist/utils/trailingText.d.ts +4 -5
  1325. package/dist/utils/units.d.ts +19 -20
  1326. package/dist/utils/urlSecurity.d.ts +6 -6
  1327. package/dist/utils/urlSecurity.js +2 -1
  1328. package/dist/utils/zoom.d.ts +4 -5
  1329. package/dist/version-comparison.d.ts +30 -29
  1330. package/dist/version-comparison.js +10 -8
  1331. package/dist/watermark/index.d.ts +5 -5
  1332. package/dist/watermark/index.js +9 -0
  1333. package/package.json +16 -16
@@ -1,10 +1,11 @@
1
+ import { removeCommentMarkers } from "../../docx/commentAnchorIndex.js";
1
2
  import { joinCommentRangesAcrossParagraphs } from "../../docx/commentRangeJoin.js";
2
3
  import { completeCommentReferences } from "../../docx/commentReferenceCompletion.js";
3
4
  import { buildSections } from "../../docx/documentParser.js";
4
5
  import { normalizeFoldedListNumbers } from "../../docx/foldedListNumberFields.js";
5
6
  import { getDocumentSourceStyles } from "../../docx/headerFooterVerbatim.js";
6
7
  import { EDITED_PREVIEW_FINGERPRINT, imageRawXmlFingerprint } from "../../docx/imageRawXml.js";
7
- import { isInlineSdtContent, isSimpleFieldContent } from "../../docx/inlineWrapperContent.js";
8
+ import { isHyperlinkContent, isInlineSdtContent, isSimpleFieldContent } from "../../docx/inlineWrapperContent.js";
8
9
  import { paragraphNumberingReferenceId, sameStatedParagraphNumbering as sameStatedParagraphNumbering$1 } from "../../docx/numberingReference.js";
9
10
  import { PROSE_PARAGRAPH_SOURCE_CONTRACT_ATTR, ParagraphPropertySourceValidationError, assignParagraphIndentationProjection, copyDocumentParagraphPropertySourceContract, copyDocumentParagraphPropertySources, copyParagraphPropertyCapture, copyParagraphPropertySource, decodeTableCellParagraphSourcePayload, getDocumentParagraphPropertySourceContract, getParagraphPropertySource, getParagraphPropertySourceCandidate, getParagraphPropertySourceToken, getParagraphPropertySourceTransferId, getProseDocumentParagraphPropertySourceContract, getProseParagraphPropertySourceToken, inspectParagraphSourceIdentity, isParagraphPropertySourceToken, linkParagraphPropertySourceCandidate, paragraphFormattingWithAuthoredIndentation, paragraphPropertySourceTokenMatchesContract, recreateProseNodeWithParagraphPropertySource, restoreTableCellsWithParagraphPropertySources, visitDocumentStoryParagraphs, visitTableCellParagraphPropertySourceBindings } from "../../docx/paragraphPropertySource.js";
10
11
  import { BLOCK_TREE_DESCENT, visitBlockTreeRecords, visitDocxParagraphs } from "../../docx/paragraphTraversal.js";
@@ -20,18 +21,22 @@ import { canonicalJson } from "../../utils/canonicalJson.js";
20
21
  import { getFindParagraphText } from "../../utils/findReplace.js";
21
22
  import { mergeTextFormatting } from "../../utils/textFormattingMerge.js";
22
23
  import { emuToPixels, emuToStrokePixels, pixelsToEmu } from "../../utils/units.js";
23
- import { unchangedAlternateContentXml } from "../alternateContentAttrs.js";
24
+ import { editedAlternateContent, unchangedAlternateContentXml } from "../alternateContentAttrs.js";
24
25
  import { expectBlockCustomXmlAttrs, expectBlockSdtAttrs, expectCharacterStyleMarkAttrs, expectCommentMarkAttrs, expectFieldAttrs, expectFootnoteRefMarkAttrs, expectHardBreakAttrs, expectHyperlinkMarkAttrs, expectImageAttrs, expectInlineWrapperMarkAttrs, expectMathAttrs, expectPageBreakRunAttrs, expectParagraphAttrs, expectPreservedBlockAttrs, expectPreservedXmlAttrs, expectRunIdentityMarkAttrs, expectRunPropertyChangeMarkAttrs, expectSdtAttrs, expectShapeAttrs, expectSymbolAttrs, expectTabAttrs, expectTableAttrs, expectTableCellAttrs, expectTableRowAttrs, expectTextBoxAttrs, expectTrackedChangeMarkAttrs } from "../attrs/index.js";
25
26
  import { readAuthoredTransform } from "../authoredTransformAttrs.js";
26
27
  import { autospacingMatchesBase, hasAutospacingBaseSide } from "../autospacingBase.js";
27
28
  import { bookmarkMarkerFromAttrs, expectBookmarkBoundaryAttrs } from "../bookmarkBoundaryAttrs.js";
28
29
  import { paragraphRejectAttrPatch, paragraphRejectOriginalFormatting, removeParagraphPropertyChanges } from "../commands/propertyChangeScope.js";
30
+ import { trackedCommentBoundaryOwner } from "../commentBoundaryOwnership.js";
31
+ import { expectCommentRangeBoundaryAttrs } from "../commentRangeBoundaryAttrs.js";
29
32
  import { expectCommentReferenceAttrs } from "../commentReferenceAttrs.js";
30
33
  import { enclosingRevisionIds } from "../contentControlRevisions.js";
31
34
  import { INLINE_WRAPPER_MARK_NAME } from "../extensions/marks/InlineWrapperExtension.js";
32
35
  import { textFormattingToMarks } from "../extensions/marks/markUtils.js";
36
+ import "../extensions/nodes/CommentRangeBoundaryExtension.js";
33
37
  import "../extensions/nodes/MoveRangeBoundaryExtension.js";
34
38
  import "../extensions/nodes/RangeAnchorExtension.js";
39
+ import { fieldCommentCoverage } from "../fieldRepresentation.js";
35
40
  import { inlineWrapperMember, inlineWrapperStackKey } from "../inlineWrapperStack.js";
36
41
  import { completeNumberingForDoc } from "../listInstanceReferences.js";
37
42
  import { LIST_RENDERING_ATTR_KEYS, hasListRendering, listRenderingFromAttrs as listRenderingFromAttrs$1 } from "../listRenderingAttrs.js";
@@ -52,13 +57,14 @@ import { PRESERVED_XML_LEVELS } from "../schema/nodes.js";
52
57
  import { parseShapeGeometryAdjustments } from "../shapeGeometryAdjustments.js";
53
58
  import { expectTextBoxAnchorAttrs } from "../textBoxAnchorAttrs.js";
54
59
  import { textBoxHostParagraph } from "../textBoxHostParagraph.js";
55
- import { enclosingInsertionAncestors, inlineWrapperStackOf } from "../trackedRevisionPath.js";
60
+ import { enclosingInsertionAncestors, inlineWrapperStackOf, trackedRevisionLayerOf } from "../trackedRevisionPath.js";
56
61
  import { assertValidProseMirrorDocument } from "../validation.js";
57
62
  import { hasSinkChildren } from "./preservedSinkCarriers.js";
58
63
  import { decodeSdtListItems, sdtPropertiesFromAttrs, sdtPropertiesMatchAttrs } from "./sdtAttrs.js";
59
64
  import { TaggedError, panic } from "better-result";
60
- import { DRAWING_RAW_XML_MODES, relationshipIdOf } from "@stll/docx-core/model";
65
+ import { DRAWING_RAW_XML_MODES, finalizeParagraphFormatting, relationshipIdOf, setDocumentBodyComments } from "@stll/docx-core/model";
61
66
  import { Fragment } from "prosemirror-model";
67
+ import { survivingComments } from "@stll/docx-core/ops";
62
68
  //#region src/prosemirror/conversion/fromProseDoc.ts
63
69
  /**
64
70
  * ProseMirror to Document Conversion
@@ -274,7 +280,8 @@ const restoreLinkedParagraphPropertySources = (content) => {
274
280
  sources: new Set(targetsBySource.keys())
275
281
  };
276
282
  };
277
- var SaveStylesheetSourceMismatch = class extends TaggedError("SaveStylesheetSourceMismatch") {};
283
+ const SaveStylesheetSourceMismatchBase = TaggedError("SaveStylesheetSourceMismatch");
284
+ var SaveStylesheetSourceMismatch = class extends SaveStylesheetSourceMismatchBase {};
278
285
  const parsedPackageStyles = (document, liveStyles) => {
279
286
  const source = getDocumentSourceStyles(document, liveStyles);
280
287
  switch (source.type) {
@@ -352,7 +359,8 @@ const saveStylesheet = (source, baseDocument) => {
352
359
  default: return panic(`Unexpected stylesheet source: ${JSON.stringify(source)}`);
353
360
  }
354
361
  };
355
- var MissingSaveStylesheet = class extends TaggedError("MissingSaveStylesheet") {};
362
+ const MissingSaveStylesheetBase = TaggedError("MissingSaveStylesheet");
363
+ var MissingSaveStylesheet = class extends MissingSaveStylesheetBase {};
356
364
  const assertSaveStylesheetAvailable = ({ pmDoc, styles, baseDocument, stylesheetSource }) => {
357
365
  if (styles !== void 0) return;
358
366
  if (stylesheetSource.type === "package" && baseDocument !== void 0) return;
@@ -396,11 +404,14 @@ function fromProseDoc(pmDoc, baseDocument, { stylesheetSource, reuse = "none" })
396
404
  const linkedSources = restoreLinkedParagraphPropertySources(blocks);
397
405
  if (tokenSources) restoreParagraphPropertySourcesByToken(blocks, tokenSources);
398
406
  else if (baseDocument) restoreParagraphPropertySources(blocks, baseDocument.package.document.content, linkedSources.targets, linkedSources.sources);
407
+ visitDocxParagraphs({ documentBody: { content: blocks } }, (paragraph) => {
408
+ if (finalizeParagraphFormatting(paragraph.formatting) === void 0) delete paragraph.formatting;
409
+ });
399
410
  const documentBody = { content: blocks };
400
411
  if (baseDocument?.package.document.background) documentBody.background = baseDocument.package.document.background;
401
412
  if (baseDocument?.package.document.finalSectionProperties) documentBody.finalSectionProperties = baseDocument.package.document.finalSectionProperties;
402
413
  if (baseDocument?.package.document.sections) documentBody.sections = buildSections(blocks, documentBody.finalSectionProperties);
403
- if (baseDocument?.package.document.comments) documentBody.comments = baseDocument.package.document.comments;
414
+ if (baseDocument?.package.document.comments) setDocumentBodyComments(documentBody, baseDocument.package.document.comments);
404
415
  const numbering = completeNumberingForDoc(baseDocument?.package.numbering, pmDoc);
405
416
  if (baseDocument) {
406
417
  const updatedDocument = {
@@ -412,6 +423,17 @@ function fromProseDoc(pmDoc, baseDocument, { stylesheetSource, reuse = "none" })
412
423
  ...numbering ? { numbering } : {}
413
424
  }
414
425
  };
426
+ const projectedCommentIds = /* @__PURE__ */ new Set();
427
+ pmDoc.descendants((node) => {
428
+ for (const commentId of getCommentMarkIds(node.marks)) projectedCommentIds.add(commentId);
429
+ });
430
+ const comments = survivingComments(updatedDocument, projectedCommentIds);
431
+ const keptIds = new Set(comments.map(({ id }) => id));
432
+ const retiredIds = new Set((updatedDocument.package.document.comments ?? []).filter(({ id }) => !keptIds.has(id)).map(({ id }) => id));
433
+ if (retiredIds.size > 0) {
434
+ updatedDocument.package.document.content = removeCommentMarkers(updatedDocument.package.document.content, retiredIds);
435
+ setDocumentBodyComments(updatedDocument.package.document, comments);
436
+ }
415
437
  copyDocumentParagraphPropertySourceContract(updatedDocument, baseDocument);
416
438
  return updatedDocument;
417
439
  }
@@ -453,11 +475,12 @@ function stripSuggestedInlineMarks(marks, readFormattingContext) {
453
475
  },
454
476
  ...previousFormatting !== void 0 ? { directFormatting: previousFormatting } : {}
455
477
  });
456
- const effectivePreviousFormatting = mergeTextFormatting(preservedCharacterStyleAttrs ? resolveEffectiveRunStyleFormatting({
478
+ const styleFormatting = preservedCharacterStyleAttrs ? resolveEffectiveRunStyleFormatting({
457
479
  marks,
458
480
  paragraphFormatting,
459
481
  styleResolver
460
- }) : paragraphFormatting, previousFormatting);
482
+ }) : paragraphFormatting;
483
+ const effectivePreviousFormatting = mergeTextFormatting(styleFormatting, previousFormatting);
461
484
  next = next.filter((mark) => !RUN_FORMATTING_MARK_NAMES.has(mark.type.name));
462
485
  for (const restored of textFormattingToMarks(effectivePreviousFormatting, suggestedRunPropertyChange.type.schema, {
463
486
  overrideFormatting: previousFormatting,
@@ -705,6 +728,9 @@ function extractBlocks(inputDoc, refResolution = "resolve", styleResolver = null
705
728
  } else if (node.type.name === "blockBookmarkBoundary") {
706
729
  blocks.push(blockBookmarkMarker(node));
707
730
  previousStandaloneTextBox = null;
731
+ } else if (node.type.name === "blockMoveRangeBoundary") {
732
+ blocks.push({ ...expectMoveRangeBoundaryAttrs(node) });
733
+ previousStandaloneTextBox = null;
708
734
  }
709
735
  });
710
736
  if (pendingPageBreaks > 0 && !appendPendingPageBreaksToPreviousParagraph()) flushPendingPageBreaks();
@@ -955,15 +981,14 @@ function replaceTextBoxAnchorInBlocks(blocks, marker, textBoxRun) {
955
981
  * The inline list a text-box anchor run can be spliced out of, or nothing when
956
982
  * the item holds no such list.
957
983
  *
958
- * A complex field keeps its runs in `fieldCode`/`fieldResult`, two arrays
959
- * rather than one, and an anchor has never been placed in either; splicing one
960
- * would have to pick a side. The marker stays where it is and
961
- * `removeUnresolvedTextBoxAnchors` leaves it, as before.
984
+ * Only a complex field's displayed result is projected into the editor, so
985
+ * its anchors belong to `fieldResult`; its instruction runs stay untouched.
962
986
  */
963
987
  const textBoxAnchorHost = (item) => {
964
988
  switch (item.type) {
965
989
  case "hyperlink": return item.children;
966
990
  case "simpleField": return item.content;
991
+ case "complexField": return item.fieldResult;
967
992
  case "inlineSdt":
968
993
  case "insertion":
969
994
  case "deletion":
@@ -971,7 +996,6 @@ const textBoxAnchorHost = (item) => {
971
996
  case "moveTo":
972
997
  case "inlineWrapper": return item.content;
973
998
  case "run":
974
- case "complexField":
975
999
  case "bookmarkStart":
976
1000
  case "bookmarkEnd":
977
1001
  case "commentRangeStart":
@@ -987,16 +1011,22 @@ const textBoxAnchorHost = (item) => {
987
1011
  }
988
1012
  };
989
1013
  function editTextBoxAnchorInContent(content, marker, replacement) {
1014
+ const anchorSlot = marker.content.at(0);
1015
+ if (!anchorSlot) return false;
990
1016
  for (const [index, item] of content.entries()) {
991
- if (item === marker) {
992
- content.splice(index, 1, ...replacement ? [replacement] : []);
993
- return true;
1017
+ if (item.type === "run") {
1018
+ const slotIndex = item.content.indexOf(anchorSlot);
1019
+ if (slotIndex >= 0) {
1020
+ item.content.splice(slotIndex, 1, ...replacement?.content ?? []);
1021
+ if (item.content.length === 0) content.splice(index, 1);
1022
+ return true;
1023
+ }
994
1024
  }
995
1025
  const nestedContent = textBoxAnchorHost(item);
996
1026
  if (!nestedContent) continue;
997
1027
  const hadContent = nestedContent.length > 0;
998
1028
  if (editTextBoxAnchorInContent(nestedContent, marker, replacement)) {
999
- if (!replacement && hadContent && nestedContent.length === 0) content.splice(index, 1);
1029
+ if (!replacement && hadContent && nestedContent.length === 0 && item.type !== "simpleField" && item.type !== "complexField") content.splice(index, 1);
1000
1030
  return true;
1001
1031
  }
1002
1032
  }
@@ -1126,6 +1156,9 @@ function convertPMParagraph(node, documentCounts, textBoxAnchorMarkers, styleRes
1126
1156
  if (attrs._propertyChanges && attrs._propertyChanges.length > 0) paragraph.propertyChanges = attrs._propertyChanges.map(propertyChangeFromAttrs);
1127
1157
  if (attrs.pPrMark) paragraph.pPrMark = attrs.pPrMark;
1128
1158
  if (attrs._preservedAttributes && attrs._preservedAttributes.length > 0) paragraph.preservedAttributes = attrs._preservedAttributes;
1159
+ const finalizedFormatting = finalizeParagraphFormatting(paragraph.formatting);
1160
+ if (finalizedFormatting === void 0) delete paragraph.formatting;
1161
+ else paragraph.formatting = finalizedFormatting;
1129
1162
  linkParagraphPropertySourceCandidate(paragraph, node);
1130
1163
  return paragraph;
1131
1164
  }
@@ -1203,7 +1236,7 @@ function assignParagraphIndentation(result, attrs, orig) {
1203
1236
  else result[key] = value;
1204
1237
  }
1205
1238
  const hanging = result.indentFirstLine !== void 0 && attrs.hangingIndent === true;
1206
- if (!changed && hanging === (orig.hangingIndent === true)) return;
1239
+ if (!changed && hanging === (orig.hangingIndent === true) && !(result.indentFirstLine !== void 0 && orig.hangingIndent === false)) return;
1207
1240
  if (hanging) result.hangingIndent = true;
1208
1241
  else Reflect.deleteProperty(result, "hangingIndent");
1209
1242
  }
@@ -1237,16 +1270,24 @@ function paragraphAttrsToFormatting(attrs) {
1237
1270
  if (typeof spaceAfter === "number") result.spaceAfter = spaceAfter;
1238
1271
  else delete result.spaceAfter;
1239
1272
  }
1240
- if (orig.spaceBefore !== void 0 || attrs.spacingExplicit?.before) if (typeof spaceBefore === "number") result.spaceBefore = spaceBefore;
1241
- else Reflect.deleteProperty(result, "spaceBefore");
1242
- if (orig.spaceAfter !== void 0 || attrs.spacingExplicit?.after) if (typeof spaceAfter === "number") result.spaceAfter = spaceAfter;
1243
- else Reflect.deleteProperty(result, "spaceAfter");
1273
+ if (orig.spaceBefore !== void 0 || attrs.spacingExplicit?.before) {
1274
+ if (typeof spaceBefore === "number") result.spaceBefore = spaceBefore;
1275
+ else Reflect.deleteProperty(result, "spaceBefore");
1276
+ }
1277
+ if (orig.spaceAfter !== void 0 || attrs.spacingExplicit?.after) {
1278
+ if (typeof spaceAfter === "number") result.spaceAfter = spaceAfter;
1279
+ else Reflect.deleteProperty(result, "spaceAfter");
1280
+ }
1244
1281
  const originalHasDirectLineSpacing = orig.lineSpacing !== void 0;
1245
- if (hasDirectLineSpacing || originalHasDirectLineSpacing) if (typeof attrs.lineSpacing === "number") result.lineSpacing = attrs.lineSpacing;
1246
- else Reflect.deleteProperty(result, "lineSpacing");
1282
+ if (hasDirectLineSpacing || originalHasDirectLineSpacing) {
1283
+ if (typeof attrs.lineSpacing === "number") result.lineSpacing = attrs.lineSpacing;
1284
+ else Reflect.deleteProperty(result, "lineSpacing");
1285
+ }
1247
1286
  const originalHasDirectLineSpacingRule = orig.lineSpacingRule !== void 0;
1248
- if (hasDirectLineSpacingRule || originalHasDirectLineSpacingRule) if (attrs.lineSpacingRule) result.lineSpacingRule = attrs.lineSpacingRule;
1249
- else Reflect.deleteProperty(result, "lineSpacingRule");
1287
+ if (hasDirectLineSpacingRule || originalHasDirectLineSpacingRule) {
1288
+ if (attrs.lineSpacingRule) result.lineSpacingRule = attrs.lineSpacingRule;
1289
+ else Reflect.deleteProperty(result, "lineSpacingRule");
1290
+ }
1250
1291
  if (directAlignment === void 0) Reflect.deleteProperty(result, "alignment");
1251
1292
  else result.alignment = directAlignment;
1252
1293
  const statedNumbering = attrs.numPr;
@@ -1257,9 +1298,14 @@ function paragraphAttrsToFormatting(attrs) {
1257
1298
  if (statedNumbering !== void 0) result.numPr = statedNumbering;
1258
1299
  else delete result.numPr;
1259
1300
  delete result.numPrFromStyle;
1301
+ } else if (!sameStatedParagraphNumbering$1(attrs.numPrFromStyle ?? void 0, orig.numPrFromStyle)) {
1302
+ if (attrs.numPrFromStyle == null) delete result.numPrFromStyle;
1303
+ else result.numPrFromStyle = attrs.numPrFromStyle;
1304
+ }
1305
+ if (attrs.styleId !== (orig.styleId ?? void 0)) {
1306
+ if (attrs.styleId) result.styleId = attrs.styleId;
1307
+ else delete result.styleId;
1260
1308
  }
1261
- if (attrs.styleId !== (orig.styleId ?? void 0)) if (attrs.styleId) result.styleId = attrs.styleId;
1262
- else delete result.styleId;
1263
1309
  assignParagraphIndentation(result, attrs, orig);
1264
1310
  assignBooleanToggle(result, attrs, orig, "pageBreakBefore");
1265
1311
  assignBooleanToggle(result, attrs, orig, "widowControl");
@@ -1268,14 +1314,20 @@ function paragraphAttrsToFormatting(attrs) {
1268
1314
  assignBooleanToggle(result, attrs, orig, "runInWithNext");
1269
1315
  assignBooleanToggle(result, attrs, orig, "snapToGrid");
1270
1316
  assignBooleanToggle(result, attrs, orig, "kinsoku");
1317
+ assignBooleanToggle(result, attrs, orig, "autoSpaceDE");
1318
+ assignBooleanToggle(result, attrs, orig, "autoSpaceDN");
1271
1319
  assignBooleanToggle(result, attrs, orig, "overflowPunctuation");
1272
1320
  assignBooleanToggle(result, attrs, orig, "suppressAutoHyphens");
1273
- if (attrs.spacingExplicit !== orig.spacingExplicit) if (attrs.spacingExplicit) result.spacingExplicit = attrs.spacingExplicit;
1274
- else delete result.spacingExplicit;
1321
+ if (attrs.spacingExplicit !== orig.spacingExplicit) {
1322
+ if (attrs.spacingExplicit) result.spacingExplicit = attrs.spacingExplicit;
1323
+ else delete result.spacingExplicit;
1324
+ }
1275
1325
  const bidi = authoredParagraphValue("bidi", directionToAuthoredBidi(attrs.direction), orig, attrs._resolvedFormatting);
1276
- if (bidi !== (orig.bidi ?? void 0)) if (bidi === void 0) delete result.bidi;
1277
- else result.bidi = bidi;
1278
- return result;
1326
+ if (bidi !== (orig.bidi ?? void 0)) {
1327
+ if (bidi === void 0) delete result.bidi;
1328
+ else result.bidi = bidi;
1329
+ }
1330
+ return finalizeParagraphFormatting(result);
1279
1331
  }
1280
1332
  const resolved = attrs._resolvedFormatting;
1281
1333
  const authored = (field, value) => authoredParagraphValue(field, value ?? void 0, void 0, resolved);
@@ -1300,9 +1352,11 @@ function paragraphAttrsToFormatting(attrs) {
1300
1352
  const keepLines = authored("keepLines", attrs.keepLines);
1301
1353
  const runInWithNext = authored("runInWithNext", attrs.runInWithNext);
1302
1354
  const kinsoku = authored("kinsoku", attrs.kinsoku);
1355
+ const autoSpaceDE = authored("autoSpaceDE", attrs.autoSpaceDE);
1356
+ const autoSpaceDN = authored("autoSpaceDN", attrs.autoSpaceDN);
1303
1357
  const overflowPunctuation = authored("overflowPunctuation", attrs.overflowPunctuation);
1304
1358
  const suppressAutoHyphens = authored("suppressAutoHyphens", attrs.suppressAutoHyphens);
1305
- if (!(directAlignment !== void 0 || shouldSerializeSpaceBefore || shouldSerializeSpaceAfter || beforeAutospacingEdited || afterAutospacingEdited || hasDirectLineSpacing || hasDirectLineSpacingRule || snapToGrid != null || indentLeft !== void 0 || indentRight || indentFirstLine !== void 0 || attrs.numPr || attrs.styleId || borders || shading || tabs || outlineLevel !== void 0 || contextualSpacing || attrs.spacingExplicit || bidi != null || pageBreakBefore != null || widowControl != null || keepNext != null || keepLines != null || runInWithNext != null || kinsoku != null || overflowPunctuation != null || suppressAutoHyphens != null)) return;
1359
+ if (!(directAlignment !== void 0 || shouldSerializeSpaceBefore || shouldSerializeSpaceAfter || beforeAutospacingEdited || afterAutospacingEdited || hasDirectLineSpacing || hasDirectLineSpacingRule || snapToGrid != null || indentLeft !== void 0 || indentRight || indentFirstLine !== void 0 || attrs.numPr || attrs.styleId || borders || shading || tabs || outlineLevel !== void 0 || contextualSpacing || attrs.spacingExplicit || bidi != null || pageBreakBefore != null || widowControl != null || keepNext != null || keepLines != null || runInWithNext != null || kinsoku != null || autoSpaceDE != null || autoSpaceDN != null || overflowPunctuation != null || suppressAutoHyphens != null)) return;
1306
1360
  const f = {};
1307
1361
  if (directAlignment !== void 0) f.alignment = directAlignment;
1308
1362
  if (shouldSerializeSpaceBefore) f.spaceBefore = spaceBefore;
@@ -1331,9 +1385,11 @@ function paragraphAttrsToFormatting(attrs) {
1331
1385
  if (keepLines != null) f.keepLines = keepLines;
1332
1386
  if (runInWithNext != null) f.runInWithNext = runInWithNext;
1333
1387
  if (kinsoku != null) f.kinsoku = kinsoku;
1388
+ if (autoSpaceDE != null) f.autoSpaceDE = autoSpaceDE;
1389
+ if (autoSpaceDN != null) f.autoSpaceDN = autoSpaceDN;
1334
1390
  if (overflowPunctuation != null) f.overflowPunctuation = overflowPunctuation;
1335
1391
  if (suppressAutoHyphens != null) f.suppressAutoHyphens = suppressAutoHyphens;
1336
- return f;
1392
+ return finalizeParagraphFormatting(f);
1337
1393
  }
1338
1394
  function createTrackedRunWrapper({ type, info, child, resolutionJoins }) {
1339
1395
  const content = child ? [child] : [];
@@ -1528,7 +1584,7 @@ const nestInlineWrapperGroups = (items, groups, hyperlinkIndices, revisionOuterW
1528
1584
  }
1529
1585
  return coalesced;
1530
1586
  };
1531
- function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperlinks, textBoxAnchorMarkers, skipLeadingRenderedPageBreak = false, inheritedFormattingOverride) {
1587
+ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperlinks, textBoxAnchorMarkers, skipLeadingRenderedPageBreak = false, inheritedFormattingOverride, structuredCommentRangeScope) {
1532
1588
  const paragraph = coalesceNoteReferenceOccurrences(originalParagraph);
1533
1589
  const content = [];
1534
1590
  const paragraphStyleContext = inheritedFormattingOverride === void 0 && paragraph.type.name === "paragraph" ? savedParagraphRunStyleContext(paragraph) : void 0;
@@ -1559,7 +1615,8 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1559
1615
  const sourceHyperlinkIndices = /* @__PURE__ */ new WeakMap();
1560
1616
  const revisionOuterWrapperCounts = /* @__PURE__ */ new WeakMap();
1561
1617
  const revisionAncestorsByWrapper = /* @__PURE__ */ new WeakMap();
1562
- const openedComments = /* @__PURE__ */ new Set();
1618
+ const openedComments = new Set(structuredCommentRangeScope?.openedBefore ?? []);
1619
+ let precedingTrackedCommentRangeBoundaries;
1563
1620
  const createIndexedHyperlink = (mark) => {
1564
1621
  const hyperlink = createHyperlink(mark);
1565
1622
  const index = expectHyperlinkMarkAttrs(mark)._docxHyperlinkIndex;
@@ -1567,9 +1624,20 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1567
1624
  return hyperlink;
1568
1625
  };
1569
1626
  const commentLastOffset = /* @__PURE__ */ new Map();
1627
+ let hasInlineSdt = false;
1570
1628
  paragraph.forEach((node, offset) => {
1629
+ hasInlineSdt ||= node.type.name === "sdt";
1571
1630
  for (const commentId of getCommentMarkIds(node.marks)) commentLastOffset.set(commentId, offset);
1572
1631
  });
1632
+ let structuredCommentLastOffset = structuredCommentRangeScope?.lastOffsetByCommentId ?? /* @__PURE__ */ new Map();
1633
+ if (!structuredCommentRangeScope && hasInlineSdt) {
1634
+ const lastOffsetByCommentId = /* @__PURE__ */ new Map();
1635
+ paragraph.descendants((node, offset) => {
1636
+ for (const commentId of getCommentMarkIds(node.marks)) lastOffsetByCommentId.set(commentId, offset);
1637
+ return true;
1638
+ });
1639
+ structuredCommentLastOffset = lastOffsetByCommentId;
1640
+ }
1573
1641
  const flushCurrentInline = () => {
1574
1642
  if (currentRun) {
1575
1643
  content.push(currentRun);
@@ -1605,8 +1673,80 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1605
1673
  currentMarksKey = marksKey;
1606
1674
  rememberSourceRunOwner(run, node, sourceRunOwners);
1607
1675
  };
1676
+ const trackedBoundary = (node) => {
1677
+ const boundaryInsertionMark = node.marks.find((mark) => mark.type.name === "insertion");
1678
+ const boundaryDeletionMark = node.marks.find((mark) => mark.type.name === "deletion");
1679
+ const boundaryChangeMark = boundaryDeletionMark ?? boundaryInsertionMark;
1680
+ if (!boundaryChangeMark) return void 0;
1681
+ const changeAttrs = expectTrackedChangeMarkAttrs(boundaryChangeMark);
1682
+ const info = {
1683
+ id: changeAttrs.revisionId,
1684
+ author: changeAttrs.author || "Unknown",
1685
+ ...changeAttrs.date ? { date: changeAttrs.date } : {},
1686
+ ...changeAttrs.utcDate ? { utcDate: {
1687
+ attribute: DATE_UTC_ATTRIBUTE,
1688
+ value: changeAttrs.utcDate
1689
+ } } : {},
1690
+ ...changeAttrs.initials ? { initials: changeAttrs.initials } : {}
1691
+ };
1692
+ let type;
1693
+ if (boundaryDeletionMark) type = changeAttrs.moveKind === "moveFrom" ? "moveFrom" : "deletion";
1694
+ else type = changeAttrs.moveKind === "moveTo" ? "moveTo" : "insertion";
1695
+ const revisionAncestors = enclosingInsertionAncestors({
1696
+ insertionMark: boundaryDeletionMark ? boundaryInsertionMark : void 0,
1697
+ ancestors: changeAttrs._docxRevisionAncestors ?? [],
1698
+ node
1699
+ });
1700
+ const outerWrapperCount = changeAttrs._docxOuterWrapperCount ?? inlineWrapperStackOf(node).length;
1701
+ return {
1702
+ changeAttrs,
1703
+ info,
1704
+ key: `${type}:${JSON.stringify(info)}:${outerWrapperCount}:${JSON.stringify(revisionAncestors)}:${JSON.stringify(changeAttrs._docxResolutionJoins ?? void 0)}`,
1705
+ outerWrapperCount,
1706
+ revisionAncestors,
1707
+ type
1708
+ };
1709
+ };
1710
+ const establishTrackedBoundaryOwner = (node, sourceHost = "revision") => {
1711
+ const boundary = trackedBoundary(node);
1712
+ if (!boundary) return;
1713
+ flushCurrentInline();
1714
+ const { changeAttrs, info, key, outerWrapperCount, revisionAncestors, type } = boundary;
1715
+ const linkMark = sourceHost === "indexed-hyperlink" ? node.marks.find((mark) => mark.type.name === "hyperlink") : void 0;
1716
+ if (linkMark && currentTrackedChange?.type === "hyperlink" && currentTrackedChange.key === key && currentTrackedChange.hyperlinkKey === getLinkKey(linkMark)) return;
1717
+ if (!linkMark && currentTrackedChange?.type === "direct" && currentTrackedChange.key === key) return;
1718
+ const hyperlink = linkMark ? createIndexedHyperlink(linkMark) : void 0;
1719
+ const wrapper = createTrackedRunWrapper({
1720
+ type,
1721
+ info,
1722
+ ...hyperlink ? { child: hyperlink } : {},
1723
+ resolutionJoins: changeAttrs._docxResolutionJoins ?? void 0
1724
+ });
1725
+ revisionOuterWrapperCounts.set(wrapper, outerWrapperCount);
1726
+ revisionAncestorsByWrapper.set(wrapper, revisionAncestors);
1727
+ content.push(wrapper);
1728
+ if (hyperlink && linkMark) {
1729
+ currentTrackedChange = {
1730
+ type: "hyperlink",
1731
+ key,
1732
+ wrapper,
1733
+ hyperlink,
1734
+ hyperlinkKey: getLinkKey(linkMark)
1735
+ };
1736
+ return;
1737
+ }
1738
+ currentTrackedChange = {
1739
+ type: "direct",
1740
+ key,
1741
+ wrapper
1742
+ };
1743
+ };
1608
1744
  const syncCommentRanges = (node, offset) => {
1609
- const nodeCommentIds = getCommentMarkIds(node.marks);
1745
+ const nodeCommentIds = (node.type.name === "structuredField" && fieldCommentCoverage(expectFieldAttrs(node).fieldKind) === "children" || node.type.name === "sdt") && node.childCount > 0 ? getCommentMarkIds(node.child(0).marks) : getCommentMarkIds(node.marks);
1746
+ const nodeTrackedBoundary = trackedBoundary(node);
1747
+ const sourceCommentRangeBoundaries = precedingTrackedCommentRangeBoundaries;
1748
+ const nodeCommentRangeBoundaries = nodeTrackedBoundary?.changeAttrs._docxCommentRangeBoundaries;
1749
+ precedingTrackedCommentRangeBoundaries = nodeCommentRangeBoundaries;
1610
1750
  const toClose = [];
1611
1751
  for (const commentId of openedComments) {
1612
1752
  const lastOffset = commentLastOffset.get(commentId) ?? offset;
@@ -1616,21 +1756,60 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1616
1756
  for (const commentId of nodeCommentIds) if (!openedComments.has(commentId)) toOpen.push(commentId);
1617
1757
  if (toClose.length === 0 && toOpen.length === 0) return;
1618
1758
  flushCurrentInline();
1619
- currentTrackedChange = void 0;
1620
1759
  for (const commentId of byCommentId(toClose)) {
1621
- content.push({
1760
+ const fallbackOwner = nodeTrackedBoundary && currentTrackedChange?.type === "direct" && currentTrackedChange.key === nodeTrackedBoundary.key ? "revision" : "parent";
1761
+ const sourceOwnsBoundary = trackedCommentBoundaryOwner({
1762
+ boundaries: sourceCommentRangeBoundaries,
1763
+ type: "end",
1764
+ commentId,
1765
+ fallback: fallbackOwner
1766
+ }) === "revision";
1767
+ const closingBoundaryOwner = currentTrackedChange?.type === "direct" && sourceOwnsBoundary ? currentTrackedChange.wrapper.content : content;
1768
+ closingBoundaryOwner.push({
1622
1769
  type: "commentRangeEnd",
1623
1770
  id: commentId
1624
1771
  });
1625
1772
  openedComments.delete(commentId);
1773
+ if (closingBoundaryOwner === content) currentTrackedChange = void 0;
1626
1774
  }
1775
+ if (currentTrackedChange?.type === "hyperlink") currentTrackedChange = void 0;
1627
1776
  for (const commentId of byCommentId(toOpen)) {
1628
- content.push({
1777
+ const owner = trackedCommentBoundaryOwner({
1778
+ boundaries: nodeCommentRangeBoundaries,
1779
+ type: "start",
1780
+ commentId,
1781
+ fallback: nodeTrackedBoundary ? "revision" : "parent"
1782
+ });
1783
+ if (owner === "revision") establishTrackedBoundaryOwner(node);
1784
+ const openingBoundaryOwner = owner === "revision" && currentTrackedChange ? currentTrackedChange.wrapper.content : content;
1785
+ openingBoundaryOwner.push({
1629
1786
  type: "commentRangeStart",
1630
1787
  id: commentId
1631
1788
  });
1632
1789
  openedComments.add(commentId);
1790
+ if (openingBoundaryOwner === content) currentTrackedChange = void 0;
1791
+ }
1792
+ };
1793
+ const commentsAfterStructuredNode = (node, offset) => {
1794
+ const candidates = new Set(openedComments);
1795
+ for (const commentId of getCommentMarkIds(node.marks)) candidates.add(commentId);
1796
+ node.descendants((descendant) => {
1797
+ for (const commentId of getCommentMarkIds(descendant.marks)) candidates.add(commentId);
1798
+ return true;
1799
+ });
1800
+ const after = /* @__PURE__ */ new Set();
1801
+ for (const commentId of candidates) {
1802
+ const lastOffset = structuredCommentLastOffset.get(commentId);
1803
+ const paragraphOffsetBase = structuredCommentRangeScope?.paragraphOffsetBase ?? 0;
1804
+ if (lastOffset !== void 0 && lastOffset >= paragraphOffsetBase + offset + node.nodeSize) after.add(commentId);
1633
1805
  }
1806
+ return after;
1807
+ };
1808
+ const syncStructuredCommentExit = (node, offset) => {
1809
+ if (node.type.name !== "structuredField" && node.type.name !== "sdt" || node.childCount === 0) return;
1810
+ const finalCommentIds = node.type.name === "sdt" ? commentsAfterStructuredNode(node, offset) : getCommentMarkIds((fieldCommentCoverage(expectFieldAttrs(node).fieldKind) === "field" ? node : node.child(node.childCount - 1)).marks);
1811
+ openedComments.clear();
1812
+ for (const commentId of finalCommentIds) openedComments.add(commentId);
1634
1813
  };
1635
1814
  const flushEmptyHyperlinksThroughOffset = (offset) => {
1636
1815
  while (nextEmptyHyperlink < sortedEmptyHyperlinks.length) {
@@ -1677,78 +1856,157 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1677
1856
  }
1678
1857
  leadingRenderedPageBreakPending = false;
1679
1858
  enterWrapperGroup(node);
1680
- syncCommentRanges(node, offset);
1859
+ if (node.type.name !== "commentRangeBoundary" && (node.type.name !== "sdt" || node.childCount === 0)) syncCommentRanges(node, offset);
1860
+ const linkMark = node.marks.find((mark) => mark.type.name === "hyperlink");
1861
+ if (node.type.name === "commentRangeBoundary") {
1862
+ const { marker } = expectCommentRangeBoundaryAttrs(node);
1863
+ precedingTrackedCommentRangeBoundaries = trackedBoundary(node)?.changeAttrs._docxCommentRangeBoundaries;
1864
+ if (node.marks.some((mark) => mark.type.name === "insertion" || mark.type.name === "deletion")) {
1865
+ flushCurrentInline();
1866
+ establishTrackedBoundaryOwner(node, "indexed-hyperlink");
1867
+ if (currentTrackedChange?.type === "hyperlink") currentTrackedChange.hyperlink.children.push(marker);
1868
+ else if (currentTrackedChange) currentTrackedChange.wrapper.content.push(marker);
1869
+ else content.push(marker);
1870
+ } else if (linkMark) {
1871
+ currentTrackedChange = void 0;
1872
+ const linkKey = getLinkKey(linkMark);
1873
+ if (!currentHyperlink || currentHyperlinkKey !== linkKey) {
1874
+ flushCurrentInline();
1875
+ currentHyperlink = createIndexedHyperlink(linkMark);
1876
+ currentHyperlinkKey = linkKey;
1877
+ }
1878
+ currentHyperlink.children.push(marker);
1879
+ } else {
1880
+ flushCurrentInline();
1881
+ currentTrackedChange = void 0;
1882
+ content.push(marker);
1883
+ }
1884
+ if (marker.type === "commentRangeStart") openedComments.add(marker.id);
1885
+ else openedComments.delete(marker.id);
1886
+ return;
1887
+ }
1681
1888
  if (node.type.name === "commentReference") {
1682
- flushCurrentInline();
1683
- currentTrackedChange = void 0;
1684
- content.push({
1889
+ establishTrackedBoundaryOwner(node, "indexed-hyperlink");
1890
+ const reference = {
1685
1891
  type: "commentReference",
1686
1892
  id: expectCommentReferenceAttrs(node).commentId
1687
- });
1893
+ };
1894
+ const tracked = node.marks.some((mark) => mark.type.name === "insertion" || mark.type.name === "deletion");
1895
+ if (tracked && currentTrackedChange) {
1896
+ flushCurrentInline();
1897
+ if (currentTrackedChange.type === "hyperlink") currentTrackedChange.hyperlink.children.push(reference);
1898
+ else currentTrackedChange.wrapper.content.push(reference);
1899
+ } else if (linkMark && !tracked) {
1900
+ currentTrackedChange = void 0;
1901
+ const linkKey = getLinkKey(linkMark);
1902
+ if (!currentHyperlink || currentHyperlinkKey !== linkKey) {
1903
+ flushCurrentInline();
1904
+ currentHyperlink = createIndexedHyperlink(linkMark);
1905
+ currentHyperlinkKey = linkKey;
1906
+ }
1907
+ currentHyperlink.children.push(reference);
1908
+ } else {
1909
+ flushCurrentInline();
1910
+ currentTrackedChange = void 0;
1911
+ content.push(reference);
1912
+ }
1913
+ return;
1914
+ }
1915
+ if (node.type.name === "moveRangeBoundary") {
1916
+ const marker = { ...expectMoveRangeBoundaryAttrs(node) };
1917
+ const tracked = node.marks.some((mark) => mark.type.name === "insertion" || mark.type.name === "deletion");
1918
+ if (linkMark && !isHyperlinkContent(marker)) panic("A linked move boundary is not admitted by its hyperlink.");
1919
+ if (tracked) {
1920
+ establishTrackedBoundaryOwner(node, "indexed-hyperlink");
1921
+ if (currentTrackedChange?.type === "hyperlink") currentTrackedChange.hyperlink.children.push(marker);
1922
+ else if (currentTrackedChange) currentTrackedChange.wrapper.content.push(marker);
1923
+ else content.push(marker);
1924
+ } else if (linkMark) {
1925
+ currentTrackedChange = void 0;
1926
+ const linkKey = getLinkKey(linkMark);
1927
+ if (!currentHyperlink || currentHyperlinkKey !== linkKey) {
1928
+ flushCurrentInline();
1929
+ currentHyperlink = createIndexedHyperlink(linkMark);
1930
+ currentHyperlinkKey = linkKey;
1931
+ }
1932
+ currentHyperlink.children.push(marker);
1933
+ } else {
1934
+ flushCurrentInline();
1935
+ currentTrackedChange = void 0;
1936
+ content.push(marker);
1937
+ }
1688
1938
  return;
1689
1939
  }
1690
1940
  if (node.type.name === "rangeAnchor") {
1691
- flushCurrentInline();
1692
- currentTrackedChange = void 0;
1693
1941
  const { start, end } = expectRangeAnchorAttrs(node);
1694
- content.push({ ...start }, { ...end });
1942
+ if (linkMark && (!isHyperlinkContent(start) || !isHyperlinkContent(end))) panic("A linked range anchor must contain boundaries its hyperlink admits.");
1943
+ if (node.marks.some((mark) => mark.type.name === "insertion" || mark.type.name === "deletion")) {
1944
+ establishTrackedBoundaryOwner(node, "indexed-hyperlink");
1945
+ if (currentTrackedChange?.type === "hyperlink") currentTrackedChange.hyperlink.children.push({ ...start }, { ...end });
1946
+ else if (currentTrackedChange) currentTrackedChange.wrapper.content.push({ ...start }, { ...end });
1947
+ else content.push({ ...start }, { ...end });
1948
+ } else if (linkMark) {
1949
+ currentTrackedChange = void 0;
1950
+ const linkKey = getLinkKey(linkMark);
1951
+ if (!currentHyperlink || currentHyperlinkKey !== linkKey) {
1952
+ flushCurrentInline();
1953
+ currentHyperlink = createIndexedHyperlink(linkMark);
1954
+ currentHyperlinkKey = linkKey;
1955
+ }
1956
+ currentHyperlink.children.push({ ...start }, { ...end });
1957
+ } else {
1958
+ flushCurrentInline();
1959
+ currentTrackedChange = void 0;
1960
+ content.push({ ...start }, { ...end });
1961
+ }
1695
1962
  return;
1696
1963
  }
1697
- const linkMark = node.marks.find((m) => m.type.name === "hyperlink");
1698
1964
  const noteRefMark = node.marks.find((m) => m.type.name === "footnoteRef");
1699
1965
  const insertionMark = node.marks.find((m) => m.type.name === "insertion");
1700
1966
  const deletionMark = node.marks.find((m) => m.type.name === "deletion");
1701
1967
  if (!insertionMark && !deletionMark) currentTrackedChange = void 0;
1968
+ let anchorRun;
1702
1969
  if (node.type.name === "textBoxAnchor") {
1703
- flushCurrentInline();
1704
- currentTrackedChange = void 0;
1705
- if (!textBoxAnchorMarkers) return;
1970
+ if (!textBoxAnchorMarkers) {
1971
+ flushCurrentInline();
1972
+ currentTrackedChange = void 0;
1973
+ return;
1974
+ }
1706
1975
  const { anchorId } = expectTextBoxAnchorAttrs(node);
1976
+ if (textBoxAnchorMarkers.has(anchorId)) {
1977
+ flushCurrentInline();
1978
+ currentTrackedChange = void 0;
1979
+ return;
1980
+ }
1707
1981
  const marker = {
1708
1982
  type: "run",
1709
- content: []
1983
+ content: [{
1984
+ type: "preservedXml",
1985
+ xml: "",
1986
+ text: ""
1987
+ }]
1710
1988
  };
1711
- if (textBoxAnchorMarkers.has(anchorId)) return;
1989
+ const formatting = getAtomRunFormattingFromMarks(node.marks, formattingContext);
1990
+ if (formatting) marker.formatting = formatting;
1991
+ restoreRunRecord(marker, node.marks);
1712
1992
  textBoxAnchorMarkers.set(anchorId, marker);
1713
- const anchoredContent = linkMark ? createIndexedHyperlink(linkMark) : marker;
1714
- if (anchoredContent.type === "hyperlink") anchoredContent.children.push(marker);
1715
- const changeMark = insertionMark ?? deletionMark;
1716
- if (!changeMark) {
1717
- content.push(anchoredContent);
1718
- return;
1719
- }
1720
- const changeAttrs = expectTrackedChangeMarkAttrs(changeMark);
1721
- const info = {
1722
- id: changeAttrs.revisionId,
1723
- author: changeAttrs.author || "Unknown",
1724
- ...changeAttrs.date ? { date: changeAttrs.date } : {},
1725
- ...changeAttrs.utcDate ? { utcDate: {
1726
- attribute: DATE_UTC_ATTRIBUTE,
1727
- value: changeAttrs.utcDate
1728
- } } : {},
1729
- ...changeAttrs.initials ? { initials: changeAttrs.initials } : {}
1730
- };
1731
- let type;
1732
- if (insertionMark) type = changeAttrs.moveKind === "moveTo" ? "moveTo" : "insertion";
1733
- else type = changeAttrs.moveKind === "moveFrom" ? "moveFrom" : "deletion";
1734
- const wrapper = createTrackedRunWrapper({
1735
- type,
1736
- info,
1737
- child: anchoredContent,
1738
- resolutionJoins: changeAttrs._docxResolutionJoins ?? void 0
1739
- });
1740
- revisionOuterWrapperCounts.set(wrapper, changeAttrs._docxOuterWrapperCount ?? inlineWrapperStackOf(node).length);
1741
- revisionAncestorsByWrapper.set(wrapper, changeAttrs._docxRevisionAncestors ?? []);
1742
- content.push(wrapper);
1743
- return;
1993
+ anchorRun = marker;
1744
1994
  }
1745
1995
  if (insertionMark || deletionMark) {
1746
1996
  flushCurrentInline();
1747
- const changeMark = deletionMark ?? insertionMark;
1997
+ const deletionLayer = deletionMark ? trackedRevisionLayerOf(deletionMark, node) : void 0;
1998
+ const insertionAttrs = insertionMark ? expectTrackedChangeMarkAttrs(insertionMark) : void 0;
1999
+ const changeMark = deletionLayer !== void 0 && insertionAttrs?._docxRevisionAncestors?.some(({ revisionId, type }) => revisionId === deletionLayer.revisionId && type === deletionLayer.type) === true && insertionMark ? insertionMark : deletionMark ?? insertionMark;
1748
2000
  if (!changeMark) return;
1749
2001
  const changeAttrs = expectTrackedChangeMarkAttrs(changeMark);
2002
+ const runFormattingContext = changeMark === deletionMark && changeAttrs._historicalFormatting ? {
2003
+ ...formattingContext,
2004
+ inheritedFormatting: formattingContext.baseParagraphFormatting ?? formattingContext.inheritedFormatting,
2005
+ paragraphMarkFormatting: void 0,
2006
+ paragraphMarkPrecedesStyle: false
2007
+ } : formattingContext;
1750
2008
  const revisionAncestors = enclosingInsertionAncestors({
1751
- insertionMark: deletionMark ? insertionMark : void 0,
2009
+ insertionMark: changeMark === deletionMark ? insertionMark : void 0,
1752
2010
  ancestors: changeAttrs._docxRevisionAncestors ?? [],
1753
2011
  node
1754
2012
  });
@@ -1803,8 +2061,8 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1803
2061
  currentTrackedChange.hyperlink.children.push(createPreservedInline(node));
1804
2062
  return;
1805
2063
  }
1806
- const run = createTrackedChangeRun({
1807
- ...formattingContext,
2064
+ const run = anchorRun ?? createTrackedChangeRun({
2065
+ ...runFormattingContext,
1808
2066
  marks: otherMarks,
1809
2067
  node
1810
2068
  });
@@ -1830,10 +2088,6 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1830
2088
  currentTrackedChange.wrapper.content.push(bookmarkMarkerFromAttrs(expectBookmarkBoundaryAttrs(node)));
1831
2089
  return;
1832
2090
  }
1833
- if (node.type.name === "moveRangeBoundary") {
1834
- currentTrackedChange.wrapper.content.push({ ...expectMoveRangeBoundaryAttrs(node) });
1835
- return;
1836
- }
1837
2091
  if (node.type.name === "field" || node.type.name === "structuredField") {
1838
2092
  currentTrackedChange.wrapper.content.push(createFieldFromNode(node, {
1839
2093
  ...formattingContext,
@@ -1850,29 +2104,23 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1850
2104
  currentTrackedChange.wrapper.content.push(createPreservedInline(node));
1851
2105
  return;
1852
2106
  }
1853
- const run = createTrackedChangeRun({
1854
- ...formattingContext,
2107
+ const run = anchorRun ?? createTrackedChangeRun({
2108
+ ...runFormattingContext,
1855
2109
  marks: otherMarks,
1856
2110
  node
1857
2111
  });
1858
2112
  if (run) appendRunToTrackedWrapper(currentTrackedChange.wrapper, run, node, sourceRunOwners);
1859
2113
  return;
1860
2114
  }
1861
- const ownedRun = linkMark || runIdentityId(node) === void 0 ? null : createTrackedChangeRun({
2115
+ const ownedRun = linkMark ? null : anchorRun ?? (runIdentityId(node) === void 0 ? null : createTrackedChangeRun({
1862
2116
  ...formattingContext,
1863
2117
  marks: node.marks,
1864
2118
  node
1865
- });
2119
+ }));
1866
2120
  if (ownedRun) {
1867
2121
  appendDirectRun(node, ownedRun, node.isText);
1868
2122
  return;
1869
2123
  }
1870
- if (node.type.name === "moveRangeBoundary") {
1871
- flushCurrentInline();
1872
- currentTrackedChange = void 0;
1873
- content.push({ ...expectMoveRangeBoundaryAttrs(node) });
1874
- return;
1875
- }
1876
2124
  if (noteRefMark && !linkMark) {
1877
2125
  flushCurrentInline();
1878
2126
  content.push(createNoteReferenceRun(noteRefMark, node.marks, formattingContext));
@@ -1885,7 +2133,8 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1885
2133
  currentHyperlink = createIndexedHyperlink(linkMark);
1886
2134
  currentHyperlinkKey = linkKey;
1887
2135
  }
1888
- addNodeToHyperlink({
2136
+ if (anchorRun) appendRunToHyperlink(currentHyperlink, anchorRun, node, sourceRunOwners);
2137
+ else addNodeToHyperlink({
1889
2138
  ...formattingContext,
1890
2139
  hyperlink: currentHyperlink,
1891
2140
  node,
@@ -1944,9 +2193,19 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1944
2193
  marks: node.marks,
1945
2194
  textBoxAnchorMarkers
1946
2195
  }));
2196
+ syncStructuredCommentExit(node, offset);
1947
2197
  } else if (node.type.name === "sdt") {
1948
2198
  flushCurrentInline();
1949
- content.push(createInlineSdtFromNode(node, textBoxAnchorMarkers, formattingContext));
2199
+ content.push(createInlineSdtFromNode({
2200
+ node,
2201
+ paragraphOffsetBase: (structuredCommentRangeScope?.paragraphOffsetBase ?? 0) + offset + 1,
2202
+ lastOffsetByCommentId: structuredCommentLastOffset,
2203
+ ...textBoxAnchorMarkers === void 0 ? {} : { textBoxAnchorMarkers },
2204
+ formattingContext,
2205
+ openedBefore: openedComments,
2206
+ openedAfter: commentsAfterStructuredNode(node, offset)
2207
+ }));
2208
+ syncStructuredCommentExit(node, offset);
1950
2209
  } else if (node.type.name === "math") {
1951
2210
  flushCurrentInline();
1952
2211
  content.push(createMathFromNode(node));
@@ -1976,10 +2235,18 @@ function extractParagraphContent(originalParagraph, _documentCounts, emptyHyperl
1976
2235
  });
1977
2236
  flushEmptyHyperlinksThroughOffset(Number.POSITIVE_INFINITY);
1978
2237
  flushCurrentInline();
1979
- for (const commentId of byCommentId(openedComments)) content.push({
1980
- type: "commentRangeEnd",
1981
- id: commentId
1982
- });
2238
+ for (const commentId of byCommentId(openedComments)) {
2239
+ if (structuredCommentRangeScope?.openedAfter.has(commentId)) continue;
2240
+ (currentTrackedChange?.type === "direct" && trackedCommentBoundaryOwner({
2241
+ boundaries: precedingTrackedCommentRangeBoundaries,
2242
+ type: "end",
2243
+ commentId,
2244
+ fallback: "parent"
2245
+ }) === "revision" ? currentTrackedChange.wrapper.content : content).push({
2246
+ type: "commentRangeEnd",
2247
+ id: commentId
2248
+ });
2249
+ }
1983
2250
  return nestInlineWrapperGroups(content, wrapperGroups, sourceHyperlinkIndices, revisionOuterWrapperCounts, revisionAncestorsByWrapper);
1984
2251
  }
1985
2252
  function createTrackedChangeRun({ baseParagraphFormatting, inheritedFormatting, marks, node, paragraphMarkFormatting, paragraphMarkPrecedesStyle, styleResolver }) {
@@ -2080,16 +2347,7 @@ function buildDocumentTrackedChangeCounts(pmDoc) {
2080
2347
  * Create a unique key for a link mark
2081
2348
  */
2082
2349
  function getLinkKey(mark) {
2083
- const attrs = expectHyperlinkMarkAttrs(mark);
2084
- return [
2085
- attrs.href,
2086
- attrs.rId ?? "",
2087
- attrs.tooltip ?? "",
2088
- attrs.target ?? "",
2089
- attrs.history === void 0 ? "" : String(attrs.history),
2090
- attrs.docLocation ?? "",
2091
- attrs._docxHyperlinkIndex ?? ""
2092
- ].join("\0");
2350
+ return JSON.stringify(expectHyperlinkMarkAttrs(mark));
2093
2351
  }
2094
2352
  /**
2095
2353
  * Create a unique key for a set of marks (excluding hyperlink)
@@ -2120,6 +2378,7 @@ function createHyperlink(linkMark) {
2120
2378
  const hyperlink = {
2121
2379
  type: "hyperlink",
2122
2380
  href,
2381
+ ...attrs.anchor === void 0 ? {} : { anchor: attrs.anchor },
2123
2382
  ...metadata,
2124
2383
  children: []
2125
2384
  };
@@ -2546,7 +2805,7 @@ function createFieldFromNode(node, { baseParagraphFormatting, inheritedFormattin
2546
2805
  }],
2547
2806
  ...formatting && Object.keys(formatting).length > 0 ? { formatting } : {}
2548
2807
  };
2549
- if (marks && node.type.name === "field") restoreRunRecord(displayRun, marks);
2808
+ if (marks) restoreRunRecord(displayRun, marks);
2550
2809
  const fieldContent = extractedContent.length > 0 ? synchronizeFieldDisplayText(extractedContent, displayText, displayRun) : [];
2551
2810
  const fallbackFieldContent = displayText ? [displayRun] : reconcileEmptyFieldResultRuns(attrs._docxEmptyResultRuns, displayRun);
2552
2811
  if (attrs.fieldKind === "complex") {
@@ -2690,12 +2949,15 @@ const hoistUniformRevision = (sdt, enclosingIds) => {
2690
2949
  }]
2691
2950
  };
2692
2951
  };
2693
- /**
2694
- * Create an InlineSdt from a PM sdt node
2695
- */
2696
- function createInlineSdtFromNode(node, textBoxAnchorMarkers, formattingContext) {
2697
- const properties = sdtPropertiesFromAttrs(expectSdtAttrs(node));
2698
- const content = extractParagraphContent(node, void 0, void 0, textBoxAnchorMarkers, false, formattingContext).filter(isInlineSdtContent);
2952
+ function createInlineSdtFromNode({ node, paragraphOffsetBase, lastOffsetByCommentId, textBoxAnchorMarkers, formattingContext, openedBefore, openedAfter }) {
2953
+ const attrs = expectSdtAttrs(node);
2954
+ const properties = sdtPropertiesFromAttrs(attrs);
2955
+ const content = extractParagraphContent(node, void 0, void 0, textBoxAnchorMarkers, false, formattingContext, node.childCount === 0 ? void 0 : {
2956
+ openedBefore,
2957
+ openedAfter,
2958
+ paragraphOffsetBase,
2959
+ lastOffsetByCommentId
2960
+ }).filter(isInlineSdtContent);
2699
2961
  return hoistUniformRevision({
2700
2962
  type: "inlineSdt",
2701
2963
  properties,
@@ -2832,13 +3094,23 @@ const drawingFromImageAttrs = (image, attrs) => {
2832
3094
  };
2833
3095
  const shapeContentFromNode = ({ node, shape, captured }) => {
2834
3096
  const xml = unchangedAlternateContentXml(node, captured);
2835
- return xml === void 0 ? {
3097
+ if (xml !== void 0) return {
3098
+ type: "shape",
3099
+ shape,
3100
+ alternateContent: refingerprintShapeAlternateContent(shape, xml)
3101
+ };
3102
+ const editedCapture = editedAlternateContent(node, captured);
3103
+ return editedCapture?.shapeFingerprint === void 0 || editedCapture.structureFingerprint === void 0 ? {
2836
3104
  type: "shape",
2837
3105
  shape
2838
3106
  } : {
2839
3107
  type: "shape",
2840
3108
  shape,
2841
- alternateContent: refingerprintShapeAlternateContent(shape, xml)
3109
+ alternateContent: {
3110
+ verbatimXml: editedCapture.xml,
3111
+ verbatimFingerprint: editedCapture.shapeFingerprint,
3112
+ verbatimStructureFingerprint: editedCapture.structureFingerprint
3113
+ }
2842
3114
  };
2843
3115
  };
2844
3116
  /**
@@ -2960,16 +3232,18 @@ function convertPMTable(node, documentCounts, styleResolver = null) {
2960
3232
  const formatting = tableAttrsToFormatting(attrs) || void 0;
2961
3233
  if (!formatting?.borders && !attrs._originalFormatting) {
2962
3234
  const inferredBorders = inferTableBorders(rows);
2963
- if (inferredBorders) if (formatting) formatting.borders = inferredBorders;
2964
- else {
2965
- const minTable = {
2966
- type: "table",
2967
- formatting: { borders: inferredBorders },
2968
- rows
2969
- };
2970
- if (attrs.columnWidths) minTable.columnWidths = attrs.columnWidths;
2971
- restoreCarriedTableAttrs(minTable, attrs);
2972
- return minTable;
3235
+ if (inferredBorders) {
3236
+ if (formatting) formatting.borders = inferredBorders;
3237
+ else {
3238
+ const minTable = {
3239
+ type: "table",
3240
+ formatting: { borders: inferredBorders },
3241
+ rows
3242
+ };
3243
+ if (attrs.columnWidths) minTable.columnWidths = attrs.columnWidths;
3244
+ restoreCarriedTableAttrs(minTable, attrs);
3245
+ return minTable;
3246
+ }
2973
3247
  }
2974
3248
  }
2975
3249
  const table = {
@@ -3044,25 +3318,37 @@ function tableAttrsToFormatting(attrs) {
3044
3318
  if (attrs._originalFormatting) {
3045
3319
  const orig = attrs._originalFormatting;
3046
3320
  const result = { ...orig };
3047
- if (attrs.styleId !== (orig.styleId ?? void 0)) if (attrs.styleId) result.styleId = attrs.styleId;
3048
- else delete result.styleId;
3049
- if (attrs.justification !== (orig.justification ?? void 0)) if (attrs.justification) result.justification = attrs.justification;
3050
- else delete result.justification;
3051
- if (attrs.floating !== (orig.floating ?? void 0)) if (attrs.floating) result.floating = attrs.floating;
3052
- else delete result.floating;
3053
- if (attrs.look !== (orig.look ?? void 0)) if (attrs.look) result.look = attrs.look;
3054
- else delete result.look;
3055
- if (attrs.borders !== (orig.borders ?? void 0)) if (attrs.borders) result.borders = attrs.borders;
3056
- else delete result.borders;
3321
+ if (attrs.styleId !== (orig.styleId ?? void 0)) {
3322
+ if (attrs.styleId) result.styleId = attrs.styleId;
3323
+ else delete result.styleId;
3324
+ }
3325
+ if (attrs.justification !== (orig.justification ?? void 0)) {
3326
+ if (attrs.justification) result.justification = attrs.justification;
3327
+ else delete result.justification;
3328
+ }
3329
+ if (attrs.floating !== (orig.floating ?? void 0)) {
3330
+ if (attrs.floating) result.floating = attrs.floating;
3331
+ else delete result.floating;
3332
+ }
3333
+ if (attrs.look !== (orig.look ?? void 0)) {
3334
+ if (attrs.look) result.look = attrs.look;
3335
+ else delete result.look;
3336
+ }
3337
+ if (attrs.borders !== (orig.borders ?? void 0)) {
3338
+ if (attrs.borders) result.borders = attrs.borders;
3339
+ else delete result.borders;
3340
+ }
3057
3341
  const tableWidth = attrs.width;
3058
3342
  const tableWidthType = attrs.widthType;
3059
3343
  const origWidthVal = orig.width?.value;
3060
3344
  const origWidthType = orig.width?.type;
3061
- if (tableWidth !== origWidthVal || tableWidthType !== origWidthType) if (tableWidth !== void 0 || tableWidthType !== void 0) result.width = {
3062
- value: tableWidth ?? 0,
3063
- type: tableWidthType ?? "dxa"
3064
- };
3065
- else delete result.width;
3345
+ if (tableWidth !== origWidthVal || tableWidthType !== origWidthType) {
3346
+ if (tableWidth !== void 0 || tableWidthType !== void 0) result.width = {
3347
+ value: tableWidth ?? 0,
3348
+ type: tableWidthType ?? "dxa"
3349
+ };
3350
+ else delete result.width;
3351
+ }
3066
3352
  if (attrs.cellMargins && !sameResolvedValue(attrs.cellMargins, attrs._resolvedCellMargins)) result.cellMargins = buildCellMarginsFromAttrs(attrs.cellMargins);
3067
3353
  return result;
3068
3354
  }
@@ -3207,17 +3493,25 @@ function tableRowAttrsToFormatting(attrs) {
3207
3493
  if (attrs._originalFormatting) {
3208
3494
  const orig = attrs._originalFormatting;
3209
3495
  const result = { ...orig };
3210
- if (attrs.height !== (orig.height?.value ?? void 0)) if (attrs.height) result.height = {
3211
- value: attrs.height,
3212
- type: "dxa"
3213
- };
3214
- else delete result.height;
3215
- if (attrs.heightRule !== (orig.heightRule ?? void 0)) if (attrs.heightRule) result.heightRule = attrs.heightRule;
3216
- else delete result.heightRule;
3217
- if (attrs.isHeader !== (orig.header ?? void 0)) if (attrs.isHeader) result.header = attrs.isHeader;
3218
- else delete result.header;
3219
- if (attrs.hidden !== orig.hidden) if (attrs.hidden === void 0) delete result.hidden;
3220
- else result.hidden = attrs.hidden;
3496
+ if (attrs.height !== (orig.height?.value ?? void 0)) {
3497
+ if (attrs.height) result.height = {
3498
+ value: attrs.height,
3499
+ type: "dxa"
3500
+ };
3501
+ else delete result.height;
3502
+ }
3503
+ if (attrs.heightRule !== (orig.heightRule ?? void 0)) {
3504
+ if (attrs.heightRule) result.heightRule = attrs.heightRule;
3505
+ else delete result.heightRule;
3506
+ }
3507
+ if (attrs.isHeader !== (orig.header ?? void 0)) {
3508
+ if (attrs.isHeader) result.header = attrs.isHeader;
3509
+ else delete result.header;
3510
+ }
3511
+ if (attrs.hidden !== orig.hidden) {
3512
+ if (attrs.hidden === void 0) delete result.hidden;
3513
+ else result.hidden = attrs.hidden;
3514
+ }
3221
3515
  return result;
3222
3516
  }
3223
3517
  if (!(attrs.height || attrs.isHeader || attrs.hidden !== void 0)) return;
@@ -3267,6 +3561,9 @@ function convertPMTableCell(node, documentCounts, styleResolver = null) {
3267
3561
  } else if (contentNode.type.name === "blockBookmarkBoundary") {
3268
3562
  content.push(blockBookmarkMarker(contentNode));
3269
3563
  previousStandaloneTextBox = null;
3564
+ } else if (contentNode.type.name === "blockMoveRangeBoundary") {
3565
+ content.push({ ...expectMoveRangeBoundaryAttrs(contentNode) });
3566
+ previousStandaloneTextBox = null;
3270
3567
  }
3271
3568
  });
3272
3569
  removeUnresolvedTextBoxAnchors(content, textBoxAnchorMarkers);
@@ -3318,13 +3615,17 @@ function tableCellAttrsToFormatting(attrs) {
3318
3615
  const authoredWidth = attrs._authoredWidth;
3319
3616
  if (authoredWidth) result.width = authoredWidth;
3320
3617
  else delete result.width;
3321
- if (attrs.verticalAlign !== (orig.verticalAlign ?? void 0)) if (attrs.verticalAlign) result.verticalAlign = attrs.verticalAlign;
3322
- else delete result.verticalAlign;
3618
+ if (attrs.verticalAlign !== (orig.verticalAlign ?? void 0)) {
3619
+ if (attrs.verticalAlign) result.verticalAlign = attrs.verticalAlign;
3620
+ else delete result.verticalAlign;
3621
+ }
3323
3622
  if (backgroundChanged) result.shading = cellShadingFromAttrs(attrs);
3324
3623
  if (attrs.borders && !sameResolvedValue(attrs.borders, attrs._resolvedBorders)) result.borders = attrs.borders;
3325
3624
  if (attrs.margins && !sameResolvedValue(attrs.margins, attrs._resolvedMargins)) result.margins = buildCellMarginsFromAttrs(attrs.margins);
3326
- if (attrs.textDirection !== (orig.textDirection ?? void 0)) if (attrs.textDirection) result.textDirection = attrs.textDirection;
3327
- else delete result.textDirection;
3625
+ if (attrs.textDirection !== (orig.textDirection ?? void 0)) {
3626
+ if (attrs.textDirection) result.textDirection = attrs.textDirection;
3627
+ else delete result.textDirection;
3628
+ }
3328
3629
  return Object.keys(result).length > 0 ? result : void 0;
3329
3630
  }
3330
3631
  const authoredWidth = attrs._authoredWidth;
@@ -3372,6 +3673,11 @@ function convertPMTextBox(node, styleResolver = null) {
3372
3673
  else if (child.type.name === "table") childBlocks.push(convertPMTable(child, void 0, styleResolver));
3373
3674
  });
3374
3675
  const textBodyContent = projectTextBoxBodyContent(attrs._docxTextBodyContentState, childBlocks);
3676
+ const margins = {};
3677
+ if (typeof attrs.marginTop === "number") margins.top = emuFromPixels(attrs.marginTop, "marginTop", authoredEmu, emuToPixels);
3678
+ if (typeof attrs.marginBottom === "number") margins.bottom = emuFromPixels(attrs.marginBottom, "marginBottom", authoredEmu, emuToPixels);
3679
+ if (typeof attrs.marginLeft === "number") margins.left = emuFromPixels(attrs.marginLeft, "marginLeft", authoredEmu, emuToPixels);
3680
+ if (typeof attrs.marginRight === "number") margins.right = emuFromPixels(attrs.marginRight, "marginRight", authoredEmu, emuToPixels);
3375
3681
  const shape = {
3376
3682
  type: "shape",
3377
3683
  shapeType: "textBox",
@@ -3385,14 +3691,7 @@ function convertPMTextBox(node, styleResolver = null) {
3385
3691
  ...attrs.autoFit !== void 0 ? { autoFit: attrs.autoFit } : {},
3386
3692
  ...attrs.textWrap !== void 0 ? { textWrap: attrs.textWrap } : {},
3387
3693
  ...verticalAlign !== void 0 ? { anchor: verticalAlign } : {},
3388
- margins: (() => {
3389
- const m = {};
3390
- if (typeof attrs.marginTop === "number") m.top = emuFromPixels(attrs.marginTop, "marginTop", authoredEmu, emuToPixels);
3391
- if (typeof attrs.marginBottom === "number") m.bottom = emuFromPixels(attrs.marginBottom, "marginBottom", authoredEmu, emuToPixels);
3392
- if (typeof attrs.marginLeft === "number") m.left = emuFromPixels(attrs.marginLeft, "marginLeft", authoredEmu, emuToPixels);
3393
- if (typeof attrs.marginRight === "number") m.right = emuFromPixels(attrs.marginRight, "marginRight", authoredEmu, emuToPixels);
3394
- return m;
3395
- })()
3694
+ ...Object.keys(margins).length > 0 ? { margins } : {}
3396
3695
  }
3397
3696
  };
3398
3697
  if (attrs.textBoxId) shape.id = attrs.textBoxId;