@stll/folio-core 0.15.0 → 0.15.2

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 (449) hide show
  1. package/dist/ai-edits/apply.d.ts +2 -2
  2. package/dist/ai-edits/blockRange.d.ts +3 -17
  3. package/dist/ai-edits/clean-text.d.ts +0 -1
  4. package/dist/ai-edits/headless.d.ts +23 -19
  5. package/dist/ai-edits/read.d.ts +8 -5
  6. package/dist/ai-edits/scoped-reading.d.ts +0 -1
  7. package/dist/ai-edits/snapshot.d.ts +1 -7
  8. package/dist/ai-edits/table-cell-mutations.d.ts +4 -31
  9. package/dist/ai-edits/table-row-column-mutations.d.ts +9 -39
  10. package/dist/ai-edits/table-targets.d.ts +0 -1
  11. package/dist/ai-edits/types.d.ts +32 -17
  12. package/dist/ai-suggestions/apply.d.ts +0 -1
  13. package/dist/ai-suggestions/conflict.d.ts +0 -1
  14. package/dist/ai-suggestions/text-positions.d.ts +2 -2
  15. package/dist/ai-suggestions/types.d.ts +27 -13
  16. package/dist/content-controls/errors.d.ts +0 -1
  17. package/dist/content-controls/findContentControls.d.ts +6 -4
  18. package/dist/content-controls/mutateContentControls.d.ts +0 -1
  19. package/dist/controller/activeEditorStory.d.ts +1 -6
  20. package/dist/controller/collaborationModules.d.ts +0 -1
  21. package/dist/controller/contentControlWidgetController.d.ts +0 -1
  22. package/dist/controller/folioEditor.d.ts +2 -2
  23. package/dist/controller/folioEditorEvents.d.ts +5 -3
  24. package/dist/controller/fontReadiness.d.ts +0 -1
  25. package/dist/controller/headerFooterEditorManager.d.ts +1 -5
  26. package/dist/controller/hiddenEditorApi.d.ts +35 -18
  27. package/dist/controller/hiddenEditorManager.d.ts +5 -3
  28. package/dist/controller/latestRequestGate.d.ts +3 -1
  29. package/dist/controller/layoutPipeline.d.ts +1 -1
  30. package/dist/controller/layoutScheduler.d.ts +8 -5
  31. package/dist/controller/layoutSession.d.ts +0 -1
  32. package/dist/controller/noteEditorManager.d.ts +0 -1
  33. package/dist/document-operations.d.ts +5 -12
  34. package/dist/document-stories.d.ts +0 -1
  35. package/dist/docx/blockContentParser.d.ts +0 -1
  36. package/dist/docx/blockContentParser.js +1 -0
  37. package/dist/docx/bookmarkParser.d.ts +5 -3
  38. package/dist/docx/bookmarkPlacement.d.ts +0 -1
  39. package/dist/docx/commentParser.d.ts +0 -1
  40. package/dist/docx/commentParser.js +30 -2
  41. package/dist/docx/commentRangeIntegrity.d.ts +0 -1
  42. package/dist/docx/commentReferenceNormalization.d.ts +1 -9
  43. package/dist/docx/commentReplyMarkers.d.ts +0 -1
  44. package/dist/docx/compatibility.d.ts +0 -1
  45. package/dist/docx/conformance.d.ts +0 -1
  46. package/dist/docx/corePropertiesParser.d.ts +0 -1
  47. package/dist/docx/documentParser.d.ts +0 -1
  48. package/dist/docx/documentParser.js +3 -1
  49. package/dist/docx/drawingIdNormalization.d.ts +5 -0
  50. package/dist/docx/drawingIdNormalization.js +35 -0
  51. package/dist/docx/drawingUtils.d.ts +24 -3
  52. package/dist/docx/drawingUtils.js +134 -28
  53. package/dist/docx/encryption/agileDecryption.d.ts +0 -1
  54. package/dist/docx/encryption/cryptoBytes.js +4 -1
  55. package/dist/docx/encryption/openEncryptedDocx.d.ts +5 -2
  56. package/dist/docx/ensureParaIds.d.ts +7 -3
  57. package/dist/docx/fieldParser.d.ts +23 -11
  58. package/dist/docx/fontTableParser.d.ts +0 -1
  59. package/dist/docx/footnoteParser.d.ts +26 -13
  60. package/dist/docx/footnoteParser.js +4 -2
  61. package/dist/docx/groupDrawingParser.d.ts +0 -1
  62. package/dist/docx/headerFooterParser.d.ts +9 -5
  63. package/dist/docx/headerFooterRefParser.d.ts +0 -1
  64. package/dist/docx/headerFooterReferenceNormalization.d.ts +1 -6
  65. package/dist/docx/headerFooterVerbatim.d.ts +4 -3
  66. package/dist/docx/headerFooterVerbatim.js +6 -1
  67. package/dist/docx/hyperlinkParser.d.ts +0 -1
  68. package/dist/docx/hyperlinkParser.js +1 -9
  69. package/dist/docx/imageParser.d.ts +0 -1
  70. package/dist/docx/imageParser.js +15 -7
  71. package/dist/docx/mathToMathml.d.ts +0 -1
  72. package/dist/docx/metadataPrivacy.d.ts +1 -3
  73. package/dist/docx/modelValidation.d.ts +0 -1
  74. package/dist/docx/newImage.d.ts +11 -0
  75. package/dist/docx/newImage.js +11 -0
  76. package/dist/docx/normalizeBaseDirection.d.ts +0 -1
  77. package/dist/docx/notePropertiesParser.d.ts +0 -1
  78. package/dist/docx/numberingParser.d.ts +10 -6
  79. package/dist/docx/numberingParser.js +4 -2
  80. package/dist/docx/numberingReferenceNormalization.d.ts +1 -9
  81. package/dist/docx/paragraphParser.d.ts +0 -1
  82. package/dist/docx/paragraphParser.js +31 -15
  83. package/dist/docx/paragraphTextBoxEnrichment.d.ts +0 -1
  84. package/dist/docx/paragraphTextBoxEnrichment.js +2 -1
  85. package/dist/docx/paragraphTraversal.d.ts +5 -10
  86. package/dist/docx/paragraphTraversal.js +20 -13
  87. package/dist/docx/parser.d.ts +15 -8
  88. package/dist/docx/parser.js +22 -1
  89. package/dist/docx/parserEnums.d.ts +5 -2
  90. package/dist/docx/parserEnums.js +6 -2
  91. package/dist/docx/relsParser.d.ts +1 -0
  92. package/dist/docx/renderedPageBreakNormalization.d.ts +12 -0
  93. package/dist/docx/renderedPageBreakNormalization.js +59 -0
  94. package/dist/docx/replyToComment.d.ts +2 -2
  95. package/dist/docx/rezip.d.ts +6 -7
  96. package/dist/docx/rezip.js +136 -102
  97. package/dist/docx/runConsolidator.d.ts +0 -1
  98. package/dist/docx/runConsolidator.js +0 -1
  99. package/dist/docx/runParser.d.ts +0 -1
  100. package/dist/docx/runParser.js +25 -12
  101. package/dist/docx/sdtProperties.d.ts +0 -1
  102. package/dist/docx/sdtPropertiesPatch.d.ts +0 -1
  103. package/dist/docx/sectionParser.d.ts +0 -1
  104. package/dist/docx/selectiveSave.d.ts +5 -3
  105. package/dist/docx/selectiveSave.js +2 -2
  106. package/dist/docx/selectiveSaveFlags.d.ts +4 -2
  107. package/dist/docx/selectiveXmlPatch.js +20 -8
  108. package/dist/docx/serializer/blockSdtSerializer.d.ts +0 -1
  109. package/dist/docx/serializer/blockSdtSerializer.js +2 -1
  110. package/dist/docx/serializer/borderSerializer.d.ts +0 -1
  111. package/dist/docx/serializer/commentSerializer.d.ts +0 -1
  112. package/dist/docx/serializer/commentSerializer.js +19 -40
  113. package/dist/docx/serializer/documentSerializer.d.ts +0 -1
  114. package/dist/docx/serializer/documentSerializer.js +1 -1
  115. package/dist/docx/serializer/fontTableSerializer.d.ts +0 -1
  116. package/dist/docx/serializer/headerFooterSerializer.d.ts +0 -1
  117. package/dist/docx/serializer/headerFooterSerializer.js +1 -1
  118. package/dist/docx/serializer/noteSerializer.d.ts +0 -1
  119. package/dist/docx/serializer/noteSerializer.js +1 -1
  120. package/dist/docx/serializer/numberingSerializer.d.ts +0 -1
  121. package/dist/docx/serializer/paragraphSerializer.d.ts +0 -1
  122. package/dist/docx/serializer/paragraphSerializer.js +10 -23
  123. package/dist/docx/serializer/runSerializer.d.ts +0 -1
  124. package/dist/docx/serializer/runSerializer.js +53 -32
  125. package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +0 -1
  126. package/dist/docx/serializer/sectionPropertiesSerializer.js +7 -5
  127. package/dist/docx/serializer/settingsSerializer.d.ts +0 -1
  128. package/dist/docx/serializer/stylesSerializer.d.ts +0 -1
  129. package/dist/docx/serializer/tableSerializer.d.ts +0 -1
  130. package/dist/docx/serializer/tableSerializer.js +2 -0
  131. package/dist/docx/serializer/themeSerializer.d.ts +0 -1
  132. package/dist/docx/serializer/xmlUtils.js +10 -1
  133. package/dist/docx/server/applyDocxXmlPatchProposal.d.ts +3 -10
  134. package/dist/docx/server/docxToMarkdown.d.ts +0 -1
  135. package/dist/docx/server/evaluateDocxXmlPatchProposal.d.ts +3 -9
  136. package/dist/docx/server/inspectDocxPackage.d.ts +3 -8
  137. package/dist/docx/server/validateDocxConformance.d.ts +0 -1
  138. package/dist/docx/settingsParser.d.ts +2 -2
  139. package/dist/docx/shapeParser.d.ts +0 -1
  140. package/dist/docx/shapeParser.js +16 -123
  141. package/dist/docx/streamingXmlParser.d.ts +16 -0
  142. package/dist/docx/streamingXmlParser.js +248 -0
  143. package/dist/docx/styleParser.d.ts +0 -1
  144. package/dist/docx/styleParser.js +6 -4
  145. package/dist/docx/tableParser.d.ts +1 -2
  146. package/dist/docx/tableParser.js +11 -12
  147. package/dist/docx/textBoxParser.d.ts +1 -2
  148. package/dist/docx/textBoxParser.js +5 -2
  149. package/dist/docx/textWhitespace.d.ts +4 -0
  150. package/dist/docx/textWhitespace.js +4 -0
  151. package/dist/docx/themeParser.d.ts +0 -1
  152. package/dist/docx/trackedMoveRangeNormalization.d.ts +1 -8
  153. package/dist/docx/unzip.d.ts +6 -3
  154. package/dist/docx/unzip.js +96 -40
  155. package/dist/docx/vmlImageParser.d.ts +0 -1
  156. package/dist/docx/vmlImageParser.js +3 -1
  157. package/dist/docx/watermarkParser.d.ts +0 -1
  158. package/dist/docx/xmlParser.d.ts +21 -8
  159. package/dist/docx/xmlParser.js +126 -43
  160. package/dist/fields/bookmarkPages.d.ts +0 -1
  161. package/dist/fields/bookmarkText.d.ts +0 -1
  162. package/dist/fields/evaluateField.d.ts +5 -3
  163. package/dist/fields/fieldContext.d.ts +11 -5
  164. package/dist/fields/resolveFieldValues.d.ts +4 -3
  165. package/dist/fields/sectionPageCounts.d.ts +0 -1
  166. package/dist/fields/seqValues.d.ts +0 -1
  167. package/dist/fonts/embeddedFontTable.d.ts +5 -2
  168. package/dist/fonts/embeddedFonts.d.ts +15 -7
  169. package/dist/index.d.ts +1 -0
  170. package/dist/layout-bridge/cellSelectionHighlight.d.ts +0 -1
  171. package/dist/layout-bridge/convert/footnoteLayout.d.ts +5 -3
  172. package/dist/layout-bridge/convert/headerFooterLayout.d.ts +2 -2
  173. package/dist/layout-bridge/convert/paragraphFrames.d.ts +0 -1
  174. package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +8 -8
  175. package/dist/layout-bridge/convert/toFlowBlocks.d.ts +25 -13
  176. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +3 -2
  177. package/dist/layout-bridge/dom/findHfPmSpans.d.ts +2 -1
  178. package/dist/layout-bridge/dom/noteStoryDom.d.ts +0 -1
  179. package/dist/layout-bridge/engine/clickToPosition.d.ts +5 -3
  180. package/dist/layout-bridge/engine/hitTest.d.ts +40 -19
  181. package/dist/layout-bridge/engine/selectionRects.d.ts +16 -8
  182. package/dist/layout-bridge/engine/tableWidthUtils.d.ts +0 -1
  183. package/dist/layout-bridge/headerFooterLayout.d.ts +0 -1
  184. package/dist/layout-bridge/sectionColumns.d.ts +0 -1
  185. package/dist/layout-bridge/tableInsertHover.d.ts +8 -4
  186. package/dist/layout-engine/headerFooterRefs.d.ts +0 -1
  187. package/dist/layout-engine/index.d.ts +0 -1
  188. package/dist/layout-engine/justificationCompatibility.d.ts +0 -1
  189. package/dist/layout-engine/keep-together.d.ts +7 -4
  190. package/dist/layout-engine/layoutInstrumentation.d.ts +0 -1
  191. package/dist/layout-engine/lineFlow.d.ts +0 -1
  192. package/dist/layout-engine/measure/cache.d.ts +0 -1
  193. package/dist/layout-engine/measure/effectiveLineBreakPolicy.d.ts +6 -7
  194. package/dist/layout-engine/measure/floatingTablePosition.d.ts +0 -1
  195. package/dist/layout-engine/measure/floatingZones.d.ts +14 -6
  196. package/dist/layout-engine/measure/font-metrics.worker.d.ts +0 -1
  197. package/dist/layout-engine/measure/lineBreakProvider.d.ts +20 -9
  198. package/dist/layout-engine/measure/lineBreaks.d.ts +0 -1
  199. package/dist/layout-engine/measure/listMarkerWidth.d.ts +0 -1
  200. package/dist/layout-engine/measure/measureBlocks.d.ts +1 -0
  201. package/dist/layout-engine/measure/measureContainer.d.ts +0 -1
  202. package/dist/layout-engine/measure/measureHelpers.d.ts +0 -1
  203. package/dist/layout-engine/measure/measureParagraph.d.ts +3 -2
  204. package/dist/layout-engine/measure/measureParagraph.js +23 -3
  205. package/dist/layout-engine/measure/measureProvider.d.ts +0 -1
  206. package/dist/layout-engine/measure/measureTypes.d.ts +4 -2
  207. package/dist/layout-engine/measure/measureWorker.d.ts +0 -1
  208. package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +0 -1
  209. package/dist/layout-engine/measure/tableCellFloating.d.ts +0 -1
  210. package/dist/layout-engine/measure/tableCellFlow.d.ts +0 -1
  211. package/dist/layout-engine/measure/tableCellGrid.d.ts +0 -1
  212. package/dist/layout-engine/measure/textBoxParagraphLayout.d.ts +0 -1
  213. package/dist/layout-engine/measure/textMeasurementPolicy.d.ts +0 -1
  214. package/dist/layout-engine/paginator.d.ts +66 -33
  215. package/dist/layout-engine/paragraphFragmentRange.d.ts +0 -1
  216. package/dist/layout-engine/paragraphFrame.d.ts +0 -1
  217. package/dist/layout-engine/paragraphSequence.d.ts +0 -1
  218. package/dist/layout-engine/paragraphSpacing.d.ts +1 -5
  219. package/dist/layout-engine/pmPageIndex.d.ts +0 -1
  220. package/dist/layout-engine/renderedBreakReconciliation.d.ts +2 -17
  221. package/dist/layout-engine/section-breaks.d.ts +34 -17
  222. package/dist/layout-engine/tableRowBreak.d.ts +4 -3
  223. package/dist/layout-engine/textBoxFlow.d.ts +0 -1
  224. package/dist/layout-engine/textBoxGroup.d.ts +0 -1
  225. package/dist/layout-engine/types.d.ts +382 -189
  226. package/dist/layout-painter/anchoredImagePosition.d.ts +0 -1
  227. package/dist/layout-painter/borderStroke.d.ts +0 -1
  228. package/dist/layout-painter/imageLayout.d.ts +14 -7
  229. package/dist/layout-painter/index.d.ts +9 -5
  230. package/dist/layout-painter/registry/modules/image.d.ts +0 -1
  231. package/dist/layout-painter/registry/modules/paragraph.d.ts +0 -1
  232. package/dist/layout-painter/registry/modules/table.d.ts +0 -1
  233. package/dist/layout-painter/registry/modules/textBox.d.ts +0 -1
  234. package/dist/layout-painter/registry/modules.d.ts +0 -1
  235. package/dist/layout-painter/registry/registry.d.ts +0 -1
  236. package/dist/layout-painter/registry/types.d.ts +0 -1
  237. package/dist/layout-painter/renderFragment.d.ts +2 -2
  238. package/dist/layout-painter/renderImage.d.ts +0 -1
  239. package/dist/layout-painter/renderPage.d.ts +71 -42
  240. package/dist/layout-painter/renderParagraph.d.ts +28 -14
  241. package/dist/layout-painter/renderParagraph.js +6 -2
  242. package/dist/layout-painter/renderTable.d.ts +0 -1
  243. package/dist/layout-painter/renderTextBox.d.ts +0 -1
  244. package/dist/layout-painter/renderUtils.d.ts +17 -9
  245. package/dist/layout-painter/renderWatermark.d.ts +2 -2
  246. package/dist/layout-painter/sdtBoundary.d.ts +0 -1
  247. package/dist/managers/AutoSaveManager.d.ts +22 -11
  248. package/dist/managers/ClipboardManager.d.ts +0 -1
  249. package/dist/managers/ContextMenuManager.d.ts +5 -8
  250. package/dist/managers/DocumentLoaderManager.d.ts +12 -6
  251. package/dist/managers/EditorModeManager.d.ts +3 -2
  252. package/dist/managers/ErrorManager.d.ts +0 -1
  253. package/dist/managers/FindReplaceManager.d.ts +0 -1
  254. package/dist/managers/HistoryManager.d.ts +19 -9
  255. package/dist/managers/TableSelectionManager.d.ts +0 -1
  256. package/dist/managers/editorShortcuts.d.ts +4 -6
  257. package/dist/markdown/annotations.d.ts +0 -1
  258. package/dist/markdown/fromMarkdown.d.ts +0 -1
  259. package/dist/markdown/images.d.ts +0 -1
  260. package/dist/markdown/index.d.ts +0 -1
  261. package/dist/markdown/internals.d.ts +0 -1
  262. package/dist/markdown/renderBlock.d.ts +0 -1
  263. package/dist/markdown/renderParagraph.d.ts +0 -1
  264. package/dist/markdown/renderRuns.d.ts +0 -1
  265. package/dist/markdown/renderTable.d.ts +0 -1
  266. package/dist/markdown/trailers.d.ts +0 -1
  267. package/dist/markdown/types.d.ts +39 -18
  268. package/dist/model.d.ts +3 -5
  269. package/dist/model.js +2 -2
  270. package/dist/paged-layout/incrementalMeasure.d.ts +1 -10
  271. package/dist/paged-layout/pageText.d.ts +1 -1
  272. package/dist/paged-layout/paragraphFlash.d.ts +0 -1
  273. package/dist/paged-layout/paragraphFlashTypes.d.ts +5 -2
  274. package/dist/paged-layout/rangeProjection.d.ts +10 -5
  275. package/dist/paged-layout/scrollNavigation.d.ts +0 -1
  276. package/dist/paged-layout/scrollPageInfo.d.ts +12 -13
  277. package/dist/paged-layout/scrollToPmPosition.d.ts +0 -1
  278. package/dist/paged-layout/sectionBlockWidths.d.ts +2 -11
  279. package/dist/paged-layout/sectionGeometry.d.ts +0 -1
  280. package/dist/paged-layout/selectionViewportRect.d.ts +0 -1
  281. package/dist/paged-layout/transactionDirtyRange.d.ts +0 -1
  282. package/dist/paged-layout/zoomScrollAnchor.d.ts +2 -12
  283. package/dist/prosemirror/attrs/index.d.ts +6 -4
  284. package/dist/prosemirror/attrs/index.js +22 -2
  285. package/dist/prosemirror/autospacingBase.d.ts +0 -1
  286. package/dist/prosemirror/cellDragSelection.d.ts +6 -4
  287. package/dist/prosemirror/commands/comments.d.ts +6 -4
  288. package/dist/prosemirror/commands/contentControls.d.ts +5 -3
  289. package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +1 -1
  290. package/dist/prosemirror/commands/formatPainter.d.ts +0 -1
  291. package/dist/prosemirror/commands/formatting.d.ts +1 -1
  292. package/dist/prosemirror/commands/hyperlink.d.ts +4 -9
  293. package/dist/prosemirror/commands/image.d.ts +0 -1
  294. package/dist/prosemirror/commands/pageBreak.d.ts +0 -1
  295. package/dist/prosemirror/commands/paragraph.d.ts +0 -1
  296. package/dist/prosemirror/commands/pastePlainText.d.ts +0 -1
  297. package/dist/prosemirror/commands/propertyChangeScope.d.ts +0 -1
  298. package/dist/prosemirror/commands/sectionBreak.d.ts +0 -1
  299. package/dist/prosemirror/commands/table.d.ts +0 -1
  300. package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +0 -1
  301. package/dist/prosemirror/commentIdAllocator.d.ts +2 -2
  302. package/dist/prosemirror/commentOps.d.ts +0 -1
  303. package/dist/prosemirror/conversion/effectiveTableCellFormatting.d.ts +1 -10
  304. package/dist/prosemirror/conversion/fromProseDoc.d.ts +0 -1
  305. package/dist/prosemirror/conversion/fromProseDoc.js +17 -10
  306. package/dist/prosemirror/conversion/runShadingMark.d.ts +0 -1
  307. package/dist/prosemirror/conversion/sdtAttrs.d.ts +0 -1
  308. package/dist/prosemirror/conversion/toProseDoc.d.ts +3 -2
  309. package/dist/prosemirror/conversion/toProseDoc.js +17 -3
  310. package/dist/prosemirror/extensions/ExtensionManager.d.ts +0 -1
  311. package/dist/prosemirror/extensions/StarterKit.d.ts +7 -4
  312. package/dist/prosemirror/extensions/core/DocExtension.d.ts +0 -1
  313. package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +0 -1
  314. package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +0 -1
  315. package/dist/prosemirror/extensions/core/TextExtension.d.ts +0 -1
  316. package/dist/prosemirror/extensions/create.d.ts +0 -1
  317. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +0 -1
  318. package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +0 -1
  319. package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +0 -1
  320. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +0 -1
  321. package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +0 -1
  322. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +0 -1
  323. package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +0 -1
  324. package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +0 -1
  325. package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +0 -1
  326. package/dist/prosemirror/extensions/features/ListExtension.d.ts +0 -1
  327. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +0 -1
  328. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +7 -4
  329. package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +0 -1
  330. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +0 -1
  331. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +0 -1
  332. package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +3 -1
  333. package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +0 -1
  334. package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +0 -1
  335. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +0 -1
  336. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +0 -1
  337. package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +0 -1
  338. package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +0 -1
  339. package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +1 -0
  340. package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +0 -1
  341. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +0 -1
  342. package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +0 -1
  343. package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +0 -1
  344. package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +0 -1
  345. package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +0 -1
  346. package/dist/prosemirror/extensions/marks/LanguageExtension.d.ts +0 -1
  347. package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +0 -1
  348. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +0 -1
  349. package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +0 -1
  350. package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +0 -1
  351. package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +0 -1
  352. package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +0 -1
  353. package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +0 -1
  354. package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +0 -1
  355. package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +0 -1
  356. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +0 -1
  357. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +0 -1
  358. package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +0 -1
  359. package/dist/prosemirror/extensions/marks/markUtils.d.ts +0 -1
  360. package/dist/prosemirror/extensions/marks/markUtils.js +4 -1
  361. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +0 -1
  362. package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +0 -1
  363. package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +0 -1
  364. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +0 -1
  365. package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +0 -1
  366. package/dist/prosemirror/extensions/nodes/ImageExtension.js +2 -0
  367. package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +0 -1
  368. package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +0 -1
  369. package/dist/prosemirror/extensions/nodes/RenderedPageBreakExtension.d.ts +0 -1
  370. package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +0 -1
  371. package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +0 -1
  372. package/dist/prosemirror/extensions/nodes/ShapeExtension.js +2 -0
  373. package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +0 -1
  374. package/dist/prosemirror/extensions/nodes/TabExtension.js +32 -9
  375. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +4 -3
  376. package/dist/prosemirror/extensions/nodes/TextBoxAnchorExtension.d.ts +0 -1
  377. package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +53 -27
  378. package/dist/prosemirror/extensions/types.d.ts +0 -1
  379. package/dist/prosemirror/findReplaceSelection.d.ts +5 -3
  380. package/dist/prosemirror/imageCommit.d.ts +0 -1
  381. package/dist/prosemirror/index.d.ts +4 -0
  382. package/dist/prosemirror/insertOperations.d.ts +0 -1
  383. package/dist/prosemirror/paraText.d.ts +0 -1
  384. package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +2 -2
  385. package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +0 -1
  386. package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +9 -7
  387. package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +2 -2
  388. package/dist/prosemirror/plugins/contentControlWidgets.d.ts +4 -7
  389. package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +3 -8
  390. package/dist/prosemirror/plugins/documentStyles.d.ts +0 -1
  391. package/dist/prosemirror/plugins/pmTextScan.d.ts +2 -2
  392. package/dist/prosemirror/plugins/revisionIds.d.ts +0 -1
  393. package/dist/prosemirror/plugins/selectionTracker.d.ts +23 -12
  394. package/dist/prosemirror/plugins/suggestionMode.d.ts +0 -1
  395. package/dist/prosemirror/plugins/templateDirectives.d.ts +10 -8
  396. package/dist/prosemirror/plugins/templatePreviewValues.d.ts +10 -5
  397. package/dist/prosemirror/plugins/templateSlashMenu.d.ts +2 -2
  398. package/dist/prosemirror/queries.d.ts +0 -1
  399. package/dist/prosemirror/schema/index.d.ts +2 -3
  400. package/dist/prosemirror/schema/marks.d.ts +8 -5
  401. package/dist/prosemirror/schema/nodes.d.ts +344 -164
  402. package/dist/prosemirror/selectionState.d.ts +13 -7
  403. package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +0 -1
  404. package/dist/prosemirror/styles/styleResolver.d.ts +3 -2
  405. package/dist/prosemirror/tableCellMergeRevision.d.ts +0 -1
  406. package/dist/prosemirror/tableResize.d.ts +0 -1
  407. package/dist/prosemirror/textBoxAnchorAttrs.d.ts +0 -1
  408. package/dist/prosemirror/utils/extractTrackedChanges.d.ts +8 -5
  409. package/dist/prosemirror/utils/findParagraphByParaId.d.ts +0 -1
  410. package/dist/prosemirror/utils/tabCalculator.d.ts +18 -7
  411. package/dist/prosemirror/utils/visualLineNavigation.d.ts +0 -1
  412. package/dist/prosemirror/validation.d.ts +0 -1
  413. package/dist/prosemirror/validation.js +5 -3
  414. package/dist/redline.d.ts +16 -8
  415. package/dist/render-dom/BodySelectionOverlay.d.ts +1 -9
  416. package/dist/render-dom/HeaderFooterSelectionOverlay.d.ts +0 -1
  417. package/dist/render-dom/RemoteSelectionOverlay.d.ts +1 -8
  418. package/dist/render-dom/resolveSidebarItemPositions.d.ts +1 -9
  419. package/dist/style-engine/styleEngine.d.ts +21 -11
  420. package/dist/style-sets/extract.d.ts +4 -3
  421. package/dist/style-sets/stellaStyle.d.ts +0 -1
  422. package/dist/style-sets/types.d.ts +0 -1
  423. package/dist/symbols.d.ts +6 -2
  424. package/dist/types/block-id.d.ts +3 -6
  425. package/dist/types/content.d.ts +2 -2
  426. package/dist/types/document.d.ts +0 -3
  427. package/dist/types/documentEnumValues.d.ts +5 -1
  428. package/dist/types/documentEnumValues.js +19 -1
  429. package/dist/types/index.d.ts +2 -1
  430. package/dist/utils/clipboard.d.ts +17 -8
  431. package/dist/utils/colorResolver.d.ts +9 -5
  432. package/dist/utils/createDocument.d.ts +19 -10
  433. package/dist/utils/documentLoaderBehavior.d.ts +1 -5
  434. package/dist/utils/docxInput.js +1 -0
  435. package/dist/utils/findReplace.d.ts +0 -1
  436. package/dist/utils/fontFamilyMerge.d.ts +0 -1
  437. package/dist/utils/fontResolver.d.ts +10 -4
  438. package/dist/utils/formatToStyle.d.ts +0 -1
  439. package/dist/utils/headerFooter.d.ts +8 -16
  440. package/dist/utils/headingCollector.d.ts +7 -4
  441. package/dist/utils/mergeDocumentContent.d.ts +0 -1
  442. package/dist/utils/paragraphFormattingMerge.d.ts +0 -1
  443. package/dist/utils/replaceText.d.ts +0 -1
  444. package/dist/utils/rotationBoundingBox.d.ts +0 -1
  445. package/dist/utils/tableOperations.d.ts +0 -1
  446. package/dist/utils/textFormattingMerge.d.ts +0 -1
  447. package/dist/version-comparison.d.ts +12 -6
  448. package/dist/watermark/index.d.ts +0 -1
  449. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import { ImageHorizontalAlignmentSchema, ImageHorizontalRelativeToSchema, ImageVerticalAlignmentSchema, ImageVerticalRelativeToSchema, ImageWrapTextSchema, ShapeOutlineStyleSchema, narrowEnum } from "./parserEnums.js";
2
- import { findByFullName, getAttribute, getChildElements, getTextContent, parseNumericAttribute } from "./xmlParser.js";
2
+ import { elementToXml, findByFullName, findChildByLocalName, findChildrenByLocalName, getAttribute, getChildElements, getTextContent, parseNumericAttribute } from "./xmlParser.js";
3
3
  //#region src/docx/drawingUtils.ts
4
4
  /**
5
5
  * Map OOXML scheme names to standard theme color slots.
@@ -24,6 +24,28 @@ const SCHEME_TO_THEME_COLOR = {
24
24
  folHlink: "folHlink"
25
25
  };
26
26
  /**
27
+ * Map normalized theme color slots back to DrawingML scheme color names.
28
+ * DrawingML uses bg1/bg2/tx1/tx2 where the document model uses descriptive names.
29
+ */
30
+ const THEME_COLOR_TO_DRAWING_SCHEME = {
31
+ dk1: "dk1",
32
+ lt1: "lt1",
33
+ dk2: "dk2",
34
+ lt2: "lt2",
35
+ accent1: "accent1",
36
+ accent2: "accent2",
37
+ accent3: "accent3",
38
+ accent4: "accent4",
39
+ accent5: "accent5",
40
+ accent6: "accent6",
41
+ hlink: "hlink",
42
+ folHlink: "folHlink",
43
+ background1: "bg1",
44
+ text1: "tx1",
45
+ background2: "bg2",
46
+ text2: "tx2"
47
+ };
48
+ /**
27
49
  * sRGB hex per OOXML (ST_HexColorRGB): exactly six hex digits, case-insensitive.
28
50
  * Anything else is rejected so untrusted DOCX input cannot smuggle markup through
29
51
  * downstream renderers that interpolate the value into HTML/SVG.
@@ -97,9 +119,8 @@ function parseColorElement(element) {
97
119
  */
98
120
  function parseFill(spPr) {
99
121
  if (!spPr) return;
100
- const children = getChildElements(spPr);
101
- if (children.some((el) => el.name === "a:noFill")) return { type: "none" };
102
- const solidFill = children.find((el) => el.name === "a:solidFill");
122
+ if (findChildByLocalName(spPr, "noFill")) return { type: "none" };
123
+ const solidFill = findChildByLocalName(spPr, "solidFill");
103
124
  if (solidFill) {
104
125
  const color = parseColorElement(solidFill);
105
126
  return color !== void 0 ? {
@@ -107,31 +128,105 @@ function parseFill(spPr) {
107
128
  color
108
129
  } : { type: "solid" };
109
130
  }
110
- if (children.some((el) => el.name === "a:gradFill")) return { type: "gradient" };
131
+ const gradientFill = findChildByLocalName(spPr, "gradFill");
132
+ if (gradientFill) return parseGradientFill(gradientFill);
133
+ }
134
+ function parseGradientFill(gradientFill) {
135
+ let type = "linear";
136
+ let angle;
137
+ const linear = findChildByLocalName(gradientFill, "lin");
138
+ if (linear) {
139
+ const authoredAngle = getAttribute(linear, null, "ang");
140
+ if (authoredAngle) {
141
+ const parsedAngle = Number.parseInt(authoredAngle, 10);
142
+ angle = Number.isNaN(parsedAngle) ? void 0 : parsedAngle / 6e4;
143
+ }
144
+ }
145
+ const path = findChildByLocalName(gradientFill, "path");
146
+ if (path) {
147
+ const pathType = getAttribute(path, null, "path");
148
+ if (pathType === "circle") type = "radial";
149
+ else if (pathType === "rect") type = "rectangular";
150
+ else type = "path";
151
+ }
152
+ const stops = [];
153
+ const stopList = findChildByLocalName(gradientFill, "gsLst");
154
+ if (stopList) for (const stop of findChildrenByLocalName(stopList, "gs")) {
155
+ const authoredPosition = getAttribute(stop, null, "pos");
156
+ const parsedPosition = authoredPosition ? Number.parseInt(authoredPosition, 10) : 0;
157
+ const color = parseColorElement(stop);
158
+ if (color) stops.push({
159
+ position: Number.isNaN(parsedPosition) ? 0 : parsedPosition,
160
+ color
161
+ });
162
+ }
163
+ return {
164
+ type: "gradient",
165
+ rawXml: elementToXml(gradientFill),
166
+ gradient: {
167
+ type,
168
+ ...angle !== void 0 ? { angle } : {},
169
+ stops
170
+ }
171
+ };
111
172
  }
112
173
  /**
113
174
  * Parse outline from shape properties (a:ln).
114
175
  */
115
176
  function parseOutline(spPr) {
116
- const ln = spPr ? findByFullName(spPr, "a:ln") : null;
177
+ const ln = spPr ? findChildByLocalName(spPr, "ln") : null;
117
178
  if (!ln) return;
118
- const children = getChildElements(ln);
119
- if (children.some((el) => el.name === "a:noFill")) return;
120
- const outline = {};
179
+ if (findChildByLocalName(ln, "noFill")) return;
180
+ const outline = { rawXml: elementToXml(ln) };
121
181
  const w = getAttribute(ln, null, "w");
122
- if (w) outline.width = Number.parseInt(w, 10);
123
- const solidFill = children.find((el) => el.name === "a:solidFill");
182
+ if (w) {
183
+ const parsed = Number.parseInt(w, 10);
184
+ if (!Number.isNaN(parsed)) outline.width = parsed;
185
+ }
186
+ const cap = getAttribute(ln, null, "cap");
187
+ if (cap === "flat") outline.cap = "flat";
188
+ else if (cap === "rnd") outline.cap = "round";
189
+ else if (cap === "sq") outline.cap = "square";
190
+ if (findChildByLocalName(ln, "bevel")) outline.join = "bevel";
191
+ else if (findChildByLocalName(ln, "round")) outline.join = "round";
192
+ else if (findChildByLocalName(ln, "miter")) outline.join = "miter";
193
+ const solidFill = findChildByLocalName(ln, "solidFill");
124
194
  if (solidFill) {
125
195
  const color = parseColorElement(solidFill);
126
196
  if (color !== void 0) outline.color = color;
127
197
  }
128
- const prstDash = children.find((el) => el.name === "a:prstDash");
198
+ const prstDash = findChildByLocalName(ln, "prstDash");
129
199
  if (prstDash) {
130
200
  const val = narrowEnum(getAttribute(prstDash, null, "val"), ShapeOutlineStyleSchema);
131
201
  if (val) outline.style = val;
132
202
  }
203
+ const headEnd = findChildByLocalName(ln, "headEnd");
204
+ if (headEnd) outline.headEnd = parseLineEnd(headEnd);
205
+ const tailEnd = findChildByLocalName(ln, "tailEnd");
206
+ if (tailEnd) outline.tailEnd = parseLineEnd(tailEnd);
133
207
  return outline;
134
208
  }
209
+ const LINE_END_TYPES = [
210
+ "none",
211
+ "triangle",
212
+ "stealth",
213
+ "diamond",
214
+ "oval",
215
+ "arrow"
216
+ ];
217
+ function parseLineEnd(element) {
218
+ const authoredType = getAttribute(element, null, "type");
219
+ const type = LINE_END_TYPES.find((allowed) => allowed === authoredType) ?? "none";
220
+ const authoredWidth = getAttribute(element, null, "w");
221
+ const authoredLength = getAttribute(element, null, "len");
222
+ const width = authoredWidth === "sm" || authoredWidth === "med" || authoredWidth === "lg" ? authoredWidth : void 0;
223
+ const length = authoredLength === "sm" || authoredLength === "med" || authoredLength === "lg" ? authoredLength : void 0;
224
+ return {
225
+ type,
226
+ ...width !== void 0 ? { width } : {},
227
+ ...length !== void 0 ? { length } : {}
228
+ };
229
+ }
135
230
  /**
136
231
  * Parse horizontal position from wp:positionH element.
137
232
  */
@@ -140,11 +235,11 @@ function parsePositionH(posH) {
140
235
  const relativeTo = narrowEnum(getAttribute(posH, null, "relativeFrom"), ImageHorizontalRelativeToSchema) ?? "column";
141
236
  const alignEl = findByFullName(posH, "wp:align");
142
237
  if (alignEl) {
143
- const text = getTextContent(alignEl);
144
- const result = { relativeTo };
145
- const alignment = narrowEnum(text, ImageHorizontalAlignmentSchema);
146
- if (alignment) result.alignment = alignment;
147
- return result;
238
+ const alignment = narrowEnum(getTextContent(alignEl), ImageHorizontalAlignmentSchema);
239
+ if (alignment) return {
240
+ relativeTo,
241
+ alignment
242
+ };
148
243
  }
149
244
  const posOffsetEl = findByFullName(posH, "wp:posOffset");
150
245
  if (posOffsetEl) {
@@ -155,7 +250,10 @@ function parsePositionH(posH) {
155
250
  posOffset: Number.isNaN(posOffset) ? 0 : posOffset
156
251
  };
157
252
  }
158
- return { relativeTo };
253
+ return {
254
+ relativeTo,
255
+ posOffset: 0
256
+ };
159
257
  }
160
258
  /**
161
259
  * Parse vertical position from wp:positionV element.
@@ -165,11 +263,11 @@ function parsePositionV(posV) {
165
263
  const relativeTo = narrowEnum(getAttribute(posV, null, "relativeFrom"), ImageVerticalRelativeToSchema) ?? "paragraph";
166
264
  const alignEl = findByFullName(posV, "wp:align");
167
265
  if (alignEl) {
168
- const text = getTextContent(alignEl);
169
- const result = { relativeTo };
170
- const alignment = narrowEnum(text, ImageVerticalAlignmentSchema);
171
- if (alignment) result.alignment = alignment;
172
- return result;
266
+ const alignment = narrowEnum(getTextContent(alignEl), ImageVerticalAlignmentSchema);
267
+ if (alignment) return {
268
+ relativeTo,
269
+ alignment
270
+ };
173
271
  }
174
272
  const posOffsetEl = findByFullName(posV, "wp:posOffset");
175
273
  if (posOffsetEl) {
@@ -180,7 +278,10 @@ function parsePositionV(posV) {
180
278
  posOffset: Number.isNaN(posOffset) ? 0 : posOffset
181
279
  };
182
280
  }
183
- return { relativeTo };
281
+ return {
282
+ relativeTo,
283
+ posOffset: 0
284
+ };
184
285
  }
185
286
  /**
186
287
  * Parse position for anchored drawings (combines positionH + positionV).
@@ -188,10 +289,15 @@ function parsePositionV(posV) {
188
289
  function parseAnchorPosition(anchor) {
189
290
  const positionH = findByFullName(anchor, "wp:positionH");
190
291
  const positionV = findByFullName(anchor, "wp:positionV");
191
- if (!positionH && !positionV) return;
192
292
  return {
193
- horizontal: parsePositionH(positionH) ?? { relativeTo: "column" },
194
- vertical: parsePositionV(positionV) ?? { relativeTo: "paragraph" }
293
+ horizontal: parsePositionH(positionH) ?? {
294
+ relativeTo: "column",
295
+ posOffset: 0
296
+ },
297
+ vertical: parsePositionV(positionV) ?? {
298
+ relativeTo: "paragraph",
299
+ posOffset: 0
300
+ }
195
301
  };
196
302
  }
197
303
  /** Known wrap element names */
@@ -302,4 +408,4 @@ function resolveColorValueToHex(color) {
302
408
  if (color.themeColor) return `#${DEFAULT_THEME_COLOR_HEX[color.themeColor] ?? "000000"}`;
303
409
  }
304
410
  //#endregion
305
- export { WRAP_ELEMENT_NAMES, parseAnchorPosition, parseAnchorWrap, parseColorElement, parseFill, parseOutline, parsePositionH, parsePositionV, parseWrapElement, resolveColorValueToHex };
411
+ export { THEME_COLOR_TO_DRAWING_SCHEME, WRAP_ELEMENT_NAMES, parseAnchorPosition, parseAnchorWrap, parseColorElement, parseFill, parseOutline, parsePositionH, parsePositionV, parseWrapElement, resolveColorValueToHex };
@@ -1,5 +1,4 @@
1
1
  import { AgileKeyMaterial } from "./encryptionInfo.js";
2
-
3
2
  //#region src/docx/encryption/agileDecryption.d.ts
4
3
  declare const decryptAgileEncryptedPackage: (password: string, material: AgileKeyMaterial, encryptedPackage: Uint8Array) => Promise<Uint8Array>;
5
4
  //#endregion
@@ -34,7 +34,10 @@ const bytesEqual = (left, right) => {
34
34
  for (let i = 0; i < left.length; i++) mismatch |= left[i] ^ right[i];
35
35
  return mismatch === 0;
36
36
  };
37
- const toArrayBuffer = (bytes) => bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
37
+ const toArrayBuffer = (bytes) => {
38
+ if (bytes.buffer instanceof ArrayBuffer && bytes.byteOffset === 0 && bytes.byteLength === bytes.buffer.byteLength) return bytes.buffer;
39
+ return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
40
+ };
38
41
  const decodeBase64 = (encoded) => {
39
42
  if (typeof atob === "function") {
40
43
  const binary = atob(encoded);
@@ -7,10 +7,13 @@
7
7
  * @see https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-offcrypto/
8
8
  */
9
9
  type DecryptDocxOptions = {
10
- /** Password for Agile-encrypted .docx files (Office 2010+). */password?: string | undefined;
10
+ /** Password for Agile-encrypted .docx files (Office 2010+). */
11
+ password?: string | undefined;
11
12
  };
12
13
  type DecryptDocxResult = {
13
- /** Plaintext OOXML ZIP bytes, or the original buffer when unencrypted. */data: ArrayBuffer; /** True when the input was an encrypted CFB container and decryption ran. */
14
+ /** Plaintext OOXML ZIP bytes, or the original buffer when unencrypted. */
15
+ data: ArrayBuffer;
16
+ /** True when the input was an encrypted CFB container and decryption ran. */
14
17
  wasEncrypted: boolean;
15
18
  };
16
19
  /**
@@ -7,9 +7,13 @@ declare const EnsureParaIdsError_base: import("better-result").TaggedErrorClass<
7
7
  declare class EnsureParaIdsError extends EnsureParaIdsError_base {}
8
8
  /** Counts and normalized bytes returned by {@link ensureParaIds}. */
9
9
  type EnsureParaIdsResult = {
10
- /** The normalized `.docx`; the input bytes verbatim when `alreadyComplete`. */docx: Uint8Array; /** Paragraphs that received a paraId (missing or all-zero before). */
11
- assigned: number; /** Duplicate paraIds reassigned (the first occurrence keeps the id). */
12
- deduplicated: number; /** True when the input already had full, unique coverage. */
10
+ /** The normalized `.docx`; the input bytes verbatim when `alreadyComplete`. */
11
+ docx: Uint8Array;
12
+ /** Paragraphs that received a paraId (missing or all-zero before). */
13
+ assigned: number;
14
+ /** Duplicate paraIds reassigned (the first occurrence keeps the id). */
15
+ deduplicated: number;
16
+ /** True when the input already had full, unique coverage. */
13
17
  alreadyComplete: boolean;
14
18
  };
15
19
  /** Controls mutation of package metadata that has security implications. */
@@ -1,7 +1,6 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { StyleMap } from "./styleParser.js";
3
3
  import { XmlElement } from "./xmlParser.js";
4
-
5
4
  //#region src/docx/fieldParser.d.ts
6
5
  /**
7
6
  * All known field types from OOXML specification
@@ -33,16 +32,22 @@ declare function isKnownFieldType(type: string): type is document_d_exports.Fiel
33
32
  * Parsed field instruction with arguments and switches
34
33
  */
35
34
  type ParsedFieldInstruction = {
36
- /** Field type */type: document_d_exports.FieldType; /** Raw instruction string */
37
- raw: string; /** Field argument (e.g., property name for DOCPROPERTY, bookmark name for REF) */
38
- argument?: string; /** Field switches (e.g., \* MERGEFORMAT, \@ "date format") */
35
+ /** Field type */
36
+ type: document_d_exports.FieldType;
37
+ /** Raw instruction string */
38
+ raw: string;
39
+ /** Field argument (e.g., property name for DOCPROPERTY, bookmark name for REF) */
40
+ argument?: string;
41
+ /** Field switches (e.g., \* MERGEFORMAT, \@ "date format") */
39
42
  switches: FieldSwitch[];
40
43
  };
41
44
  /**
42
45
  * Field switch parsed from instruction
43
46
  */
44
47
  type FieldSwitch = {
45
- /** Switch character (e.g., '*', '@', '#', 'h', 'p') */switch: string; /** Switch value if any */
48
+ /** Switch character (e.g., '*', '@', '#', 'h', 'p') */
49
+ switch: string;
50
+ /** Switch value if any */
46
51
  value?: string;
47
52
  };
48
53
  /**
@@ -83,12 +88,19 @@ type ComplexFieldState = "outside" | "code" | "result";
83
88
  * Complex field parsing context
84
89
  */
85
90
  type ComplexFieldContext = {
86
- /** Current state */state: ComplexFieldState; /** Accumulated instruction text */
87
- instruction: string; /** Runs in the field code section */
88
- codeRuns: document_d_exports.Run[]; /** Runs in the result section */
89
- resultRuns: document_d_exports.Run[]; /** Whether field is locked */
90
- fldLock: boolean; /** Whether field needs update */
91
- dirty: boolean; /** Nesting level (for nested fields) */
91
+ /** Current state */
92
+ state: ComplexFieldState;
93
+ /** Accumulated instruction text */
94
+ instruction: string;
95
+ /** Runs in the field code section */
96
+ codeRuns: document_d_exports.Run[];
97
+ /** Runs in the result section */
98
+ resultRuns: document_d_exports.Run[];
99
+ /** Whether field is locked */
100
+ fldLock: boolean;
101
+ /** Whether field needs update */
102
+ dirty: boolean;
103
+ /** Nesting level (for nested fields) */
92
104
  nestingLevel: number;
93
105
  };
94
106
  /**
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
-
3
2
  //#region src/docx/fontTableParser.d.ts
4
3
  declare const parseFontTable: (xml: string | null | undefined) => document_d_exports.FontTable | undefined;
5
4
  //#endregion
@@ -2,30 +2,43 @@ import { document_d_exports } from "../types/document.js";
2
2
  import { NumberingMap } from "./numberingParser.js";
3
3
  import { StyleMap } from "./styleParser.js";
4
4
  import { parseEndnoteProperties, parseFootnoteProperties } from "./notePropertiesParser.js";
5
-
6
5
  //#region src/docx/footnoteParser.d.ts
7
6
  /**
8
7
  * Footnote map returned by parseFootnotes
9
8
  */
10
9
  type FootnoteMap = {
11
- /** All footnotes indexed by ID */byId: Map<number, document_d_exports.Footnote>; /** Array of all footnotes in document order */
12
- footnotes: document_d_exports.Footnote[]; /** Get footnote by ID */
13
- getFootnote: (id: number) => document_d_exports.Footnote | undefined; /** Check if footnote exists */
14
- hasFootnote: (id: number) => boolean; /** Get all normal (non-separator) footnotes */
15
- getNormalFootnotes: () => document_d_exports.Footnote[]; /** Get separator footnote if exists */
16
- getSeparator: () => document_d_exports.Footnote | undefined; /** Get continuation separator if exists */
10
+ /** All footnotes indexed by ID */
11
+ byId: Map<number, document_d_exports.Footnote>;
12
+ /** Array of all footnotes in document order */
13
+ footnotes: document_d_exports.Footnote[];
14
+ /** Get footnote by ID */
15
+ getFootnote: (id: number) => document_d_exports.Footnote | undefined;
16
+ /** Check if footnote exists */
17
+ hasFootnote: (id: number) => boolean;
18
+ /** Get all normal (non-separator) footnotes */
19
+ getNormalFootnotes: () => document_d_exports.Footnote[];
20
+ /** Get separator footnote if exists */
21
+ getSeparator: () => document_d_exports.Footnote | undefined;
22
+ /** Get continuation separator if exists */
17
23
  getContinuationSeparator: () => document_d_exports.Footnote | undefined;
18
24
  };
19
25
  /**
20
26
  * Endnote map returned by parseEndnotes
21
27
  */
22
28
  type EndnoteMap = {
23
- /** All endnotes indexed by ID */byId: Map<number, document_d_exports.Endnote>; /** Array of all endnotes in document order */
24
- endnotes: document_d_exports.Endnote[]; /** Get endnote by ID */
25
- getEndnote: (id: number) => document_d_exports.Endnote | undefined; /** Check if endnote exists */
26
- hasEndnote: (id: number) => boolean; /** Get all normal (non-separator) endnotes */
27
- getNormalEndnotes: () => document_d_exports.Endnote[]; /** Get separator endnote if exists */
28
- getSeparator: () => document_d_exports.Endnote | undefined; /** Get continuation separator if exists */
29
+ /** All endnotes indexed by ID */
30
+ byId: Map<number, document_d_exports.Endnote>;
31
+ /** Array of all endnotes in document order */
32
+ endnotes: document_d_exports.Endnote[];
33
+ /** Get endnote by ID */
34
+ getEndnote: (id: number) => document_d_exports.Endnote | undefined;
35
+ /** Check if endnote exists */
36
+ hasEndnote: (id: number) => boolean;
37
+ /** Get all normal (non-separator) endnotes */
38
+ getNormalEndnotes: () => document_d_exports.Endnote[];
39
+ /** Get separator endnote if exists */
40
+ getSeparator: () => document_d_exports.Endnote | undefined;
41
+ /** Get continuation separator if exists */
29
42
  getContinuationSeparator: () => document_d_exports.Endnote | undefined;
30
43
  };
31
44
  /**
@@ -30,8 +30,10 @@ function parseNoteBlockContent(element, styles, theme, numbering, rels, media) {
30
30
  for (const child of getChildElements(element)) {
31
31
  const localName = getLocalName(child.name ?? "");
32
32
  if (localName === "p") blocks.push(parseParagraph(child, styles, theme, numbering, rels));
33
- else if (localName === "tbl") blocks.push(parseTable(child, styles, theme, numbering, rels, media));
34
- else if (localName === "sdt") {
33
+ else if (localName === "tbl") {
34
+ const table = parseTable(child, styles, theme, numbering, rels, media);
35
+ if (table) blocks.push(table);
36
+ } else if (localName === "sdt") {
35
37
  const sdtPr = findChild(child, "w", "sdtPr");
36
38
  const sdtEndPr = findChild(child, "w", "sdtEndPr");
37
39
  const sdtContent = findChild(child, "w", "sdtContent");
@@ -1,6 +1,5 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { XmlElement } from "./xmlParser.js";
3
-
4
3
  //#region src/docx/groupDrawingParser.d.ts
5
4
  /** Parse a WordprocessingGroup drawing into a safe SVG-backed image preview. */
6
5
  declare const parseGroupDrawing: (drawing: XmlElement, rels?: document_d_exports.RelationshipMap, media?: Map<string, document_d_exports.MediaFile>) => document_d_exports.Image | null;
@@ -2,16 +2,20 @@ import { document_d_exports } from "../types/document.js";
2
2
  import { NumberingMap } from "./numberingParser.js";
3
3
  import { StyleMap } from "./styleParser.js";
4
4
  import { parseFooterReference, parseFooterReferences, parseHeaderReference, parseHeaderReferences } from "./headerFooterRefParser.js";
5
-
6
5
  //#region src/docx/headerFooterParser.d.ts
7
6
  /**
8
7
  * Map of header/footer ID to HeaderFooter content
9
8
  */
10
9
  type HeaderFooterMap = {
11
- /** Map of rId to HeaderFooter */byId: Map<string, document_d_exports.HeaderFooter>; /** Get header/footer by rId */
12
- get: (rId: string) => document_d_exports.HeaderFooter | undefined; /** Check if header/footer exists */
13
- has: (rId: string) => boolean; /** Get all headers/footers */
14
- getAll: () => document_d_exports.HeaderFooter[]; /** Get by type */
10
+ /** Map of rId to HeaderFooter */
11
+ byId: Map<string, document_d_exports.HeaderFooter>;
12
+ /** Get header/footer by rId */
13
+ get: (rId: string) => document_d_exports.HeaderFooter | undefined;
14
+ /** Check if header/footer exists */
15
+ has: (rId: string) => boolean;
16
+ /** Get all headers/footers */
17
+ getAll: () => document_d_exports.HeaderFooter[];
18
+ /** Get by type */
15
19
  getByType: (type: document_d_exports.HeaderFooterType) => document_d_exports.HeaderFooter | undefined;
16
20
  };
17
21
  /**
@@ -1,6 +1,5 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { XmlElement } from "./xmlParser.js";
3
-
4
3
  //#region src/docx/headerFooterRefParser.d.ts
5
4
  /**
6
5
  * Parse a header reference from sectPr (w:headerReference)
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
-
3
2
  //#region src/docx/headerFooterReferenceNormalization.d.ts
4
3
  type NormalizeHeaderFooterReferencesInput = {
5
4
  documentBody: document_d_exports.DocumentBody;
@@ -10,10 +9,6 @@ type NormalizeHeaderFooterReferencesResult = {
10
9
  removedDanglingHeaderReferences: number;
11
10
  removedDanglingFooterReferences: number;
12
11
  };
13
- declare const normalizeHeaderFooterReferences: ({
14
- documentBody,
15
- headers,
16
- footers
17
- }: NormalizeHeaderFooterReferencesInput) => NormalizeHeaderFooterReferencesResult;
12
+ declare const normalizeHeaderFooterReferences: ({ documentBody, headers, footers }: NormalizeHeaderFooterReferencesInput) => NormalizeHeaderFooterReferencesResult;
18
13
  //#endregion
19
14
  export { normalizeHeaderFooterReferences };
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
-
3
2
  //#region src/docx/headerFooterVerbatim.d.ts
4
3
  /**
5
4
  * Folio extension on {@link HeaderFooter}: original part XML captured at parse
@@ -8,12 +7,14 @@ import { document_d_exports } from "../types/document.js";
8
7
  * Cleared on first edit.
9
8
  */
10
9
  type HeaderFooterWithVerbatim = document_d_exports.HeaderFooter & {
11
- verbatimXml?: string; /** Fingerprint of modeled fields at parse time; verbatim replay is safe only while it matches. */
10
+ verbatimXml?: string;
11
+ /** Fingerprint of modeled fields at parse time; verbatim replay is safe only while it matches. */
12
12
  verbatimFingerprint?: string;
13
13
  };
14
14
  declare const getHeaderFooterVerbatimXml: (hf: document_d_exports.HeaderFooter) => string | undefined;
15
15
  declare const canReplayHeaderFooterVerbatim: (hf: document_d_exports.HeaderFooter) => boolean;
16
16
  declare const assignHeaderFooterVerbatimXml: (hf: document_d_exports.HeaderFooter, xml: string) => void;
17
+ declare const refreshHeaderFooterVerbatimFingerprint: (hf: document_d_exports.HeaderFooter) => void;
17
18
  declare const clearHeaderFooterVerbatimXml: (hf: document_d_exports.HeaderFooter) => void;
18
19
  //#endregion
19
- export { HeaderFooterWithVerbatim, assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml };
20
+ export { HeaderFooterWithVerbatim, assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml, refreshHeaderFooterVerbatimFingerprint };
@@ -16,10 +16,15 @@ const assignHeaderFooterVerbatimXml = (hf, xml) => {
16
16
  ext.verbatimXml = xml;
17
17
  ext.verbatimFingerprint = headerFooterSerializationFingerprint(hf);
18
18
  };
19
+ const refreshHeaderFooterVerbatimFingerprint = (hf) => {
20
+ const ext = hf;
21
+ if (!ext.verbatimXml) return;
22
+ ext.verbatimFingerprint = headerFooterSerializationFingerprint(hf);
23
+ };
19
24
  const clearHeaderFooterVerbatimXml = (hf) => {
20
25
  const ext = hf;
21
26
  delete ext.verbatimXml;
22
27
  delete ext.verbatimFingerprint;
23
28
  };
24
29
  //#endregion
25
- export { assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml };
30
+ export { assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml, refreshHeaderFooterVerbatimFingerprint };
@@ -1,7 +1,6 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { StyleMap } from "./styleParser.js";
3
3
  import { XmlElement } from "./xmlParser.js";
4
-
5
4
  //#region src/docx/hyperlinkParser.d.ts
6
5
  /**
7
6
  * Parse a hyperlink element (w:hyperlink)
@@ -1,16 +1,8 @@
1
- import { getAttribute, getChildElements, mergeXmlnsDeclarations, parseNumericAttribute } from "./xmlParser.js";
1
+ import { getAttribute, getChildElements, getLocalName, mergeXmlnsDeclarations, parseNumericAttribute } from "./xmlParser.js";
2
2
  import { sanitizeExternalUrl, sanitizeLinkTarget } from "../utils/urlSecurity.js";
3
3
  import { parseRun } from "./runParser.js";
4
4
  //#region src/docx/hyperlinkParser.ts
5
5
  /**
6
- * Get the local name of an element (without namespace prefix)
7
- */
8
- function getLocalName(name) {
9
- if (!name) return "";
10
- const colonIndex = name.indexOf(":");
11
- return colonIndex !== -1 ? name.slice(colonIndex + 1) : name;
12
- }
13
- /**
14
6
  * Parse bookmark start (w:bookmarkStart)
15
7
  *
16
8
  * Used for internal hyperlink targets within the document.
@@ -1,6 +1,5 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { XmlElement } from "./xmlParser.js";
3
-
4
3
  //#region src/docx/imageParser.d.ts
5
4
  /**
6
5
  * Resolve image data from relationships and media map
@@ -1,8 +1,8 @@
1
1
  import { findByFullName, findChild, getAttribute, getChildElements, parseNumericAttribute } from "./xmlParser.js";
2
2
  import { emuToPixels } from "../utils/units.js";
3
+ import { WRAP_ELEMENT_NAMES, parsePositionH, parsePositionV, parseWrapElement } from "./drawingUtils.js";
3
4
  import { sanitizeExternalUrl } from "../utils/urlSecurity.js";
4
5
  import { sanitizeImageSrc } from "../utils/sanitizeImageSrc.js";
5
- import { WRAP_ELEMENT_NAMES, parsePositionH, parsePositionV, parseWrapElement } from "./drawingUtils.js";
6
6
  import { resolveTarget } from "./relsParser.js";
7
7
  import { isTextBoxDrawing } from "./textBoxParser.js";
8
8
  //#region src/docx/imageParser.ts
@@ -325,8 +325,9 @@ function parseInline(inlineEl, rels, media) {
325
325
  wrap
326
326
  };
327
327
  if (props.id) image.id = props.id;
328
- if (props.alt) image.alt = props.alt;
329
- if (props.title) image.title = props.title;
328
+ if (props.name !== void 0) image.docPrName = props.name;
329
+ if (props.alt !== void 0) image.alt = props.alt;
330
+ if (props.title !== void 0) image.title = props.title;
330
331
  if (props.decorative) image.decorative = true;
331
332
  const safeSrc = sanitizeImageSrc(imageData.src);
332
333
  if (safeSrc) image.src = safeSrc;
@@ -338,7 +339,10 @@ function parseInline(inlineEl, rels, media) {
338
339
  if (opacity !== void 0) image.opacity = opacity;
339
340
  if (props.hlinkRId && rels) {
340
341
  const safeHref = sanitizeExternalUrl(resolveTarget(rels, props.hlinkRId));
341
- if (safeHref) image.hlinkHref = safeHref;
342
+ if (safeHref) {
343
+ image.hlinkHref = safeHref;
344
+ image.hlinkRId = props.hlinkRId;
345
+ }
342
346
  }
343
347
  return image;
344
348
  }
@@ -391,8 +395,9 @@ function parseAnchor(anchorEl, rels, media) {
391
395
  wrap
392
396
  };
393
397
  if (props.id) image.id = props.id;
394
- if (props.alt) image.alt = props.alt;
395
- if (props.title) image.title = props.title;
398
+ if (props.name !== void 0) image.docPrName = props.name;
399
+ if (props.alt !== void 0) image.alt = props.alt;
400
+ if (props.title !== void 0) image.title = props.title;
396
401
  if (props.decorative) image.decorative = true;
397
402
  const safeSrc = sanitizeImageSrc(imageData.src);
398
403
  if (safeSrc) image.src = safeSrc;
@@ -407,7 +412,10 @@ function parseAnchor(anchorEl, rels, media) {
407
412
  if (allowOverlap !== void 0) image.allowOverlap = allowOverlap;
408
413
  if (props.hlinkRId && rels) {
409
414
  const safeHref = sanitizeExternalUrl(resolveTarget(rels, props.hlinkRId));
410
- if (safeHref) image.hlinkHref = safeHref;
415
+ if (safeHref) {
416
+ image.hlinkHref = safeHref;
417
+ image.hlinkRId = props.hlinkRId;
418
+ }
411
419
  }
412
420
  return image;
413
421
  }
@@ -1,5 +1,4 @@
1
1
  import { XmlElement } from "./xmlParser.js";
2
-
3
2
  //#region src/docx/mathToMathml.d.ts
4
3
  /**
5
4
  * Convert an OMML element (`<m:oMath>` or `<m:oMathPara>`) into a MathML