@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
@@ -33,8 +33,6 @@ declare const PRIVATE_METADATA_PROPERTIES_BY_TRANSFORM: {
33
33
  };
34
34
  declare const resolveFolioDocumentPrivacyTransforms: (transforms: unknown) => FolioDocumentPrivacyTransform[];
35
35
  /** Rewrite selected package metadata fields without changing other package parts. */
36
- declare const rewriteDocxMetadataPrivacy: (buffer: ArrayBuffer, {
37
- transforms
38
- }: FolioDocumentPrivacyOptions) => Promise<RewriteDocxMetadataPrivacyResult>;
36
+ declare const rewriteDocxMetadataPrivacy: (buffer: ArrayBuffer, { transforms }: FolioDocumentPrivacyOptions) => Promise<RewriteDocxMetadataPrivacyResult>;
39
37
  //#endregion
40
38
  export { FOLIO_DOCUMENT_METADATA_PROPERTIES, FOLIO_DOCUMENT_PRIVACY_TRANSFORMS, FolioDocumentMetadataProperty, FolioDocumentPrivacyArchiveError, FolioDocumentPrivacyOptions, FolioDocumentPrivacyReport, FolioDocumentPrivacyTransform, InvalidFolioDocumentPrivacyOptionsError, PRIVATE_METADATA_PROPERTIES_BY_TRANSFORM, RewriteDocxMetadataPrivacyResult, isFolioDocumentPrivacyTransform, resolveFolioDocumentPrivacyTransforms, rewriteDocxMetadataPrivacy };
@@ -1,6 +1,5 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { ValidateDocumentModelIssue, ValidateDocumentModelResult } from "@stll/docx-core";
3
-
4
3
  //#region src/docx/modelValidation.d.ts
5
4
  declare class DocxModelValidationError extends Error {
6
5
  readonly issues: ValidateDocumentModelIssue[];
@@ -0,0 +1,11 @@
1
+ import { DrawingContent, RunContent } from "../types/content.js";
2
+ //#region src/docx/newImage.d.ts
3
+ /**
4
+ * A drawing needs a new package image part only when it is model-driven.
5
+ *
6
+ * Raw OOXML drawings can carry data-URL previews for browser rendering, but
7
+ * save replays their raw XML instead of serializing the preview image.
8
+ */
9
+ declare const isNewDataUrlDrawing: (content: RunContent) => content is DrawingContent;
10
+ //#endregion
11
+ export { isNewDataUrlDrawing };
@@ -0,0 +1,11 @@
1
+ //#region src/docx/newImage.ts
2
+ const SYNTHETIC_IMAGE_RID_PREFIX = "rId_img_";
3
+ /**
4
+ * A drawing needs a new package image part only when it is model-driven.
5
+ *
6
+ * Raw OOXML drawings can carry data-URL previews for browser rendering, but
7
+ * save replays their raw XML instead of serializing the preview image.
8
+ */
9
+ const isNewDataUrlDrawing = (content) => content.type === "drawing" && !content.rawXml && content.image.src?.startsWith("data:") === true && (!content.image.rId || content.image.rId.startsWith(SYNTHETIC_IMAGE_RID_PREFIX));
10
+ //#endregion
11
+ export { isNewDataUrlDrawing };
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
-
3
2
  //#region src/docx/normalizeBaseDirection.d.ts
4
3
  /**
5
4
  * Return a copy of `doc` with `bidi` filled in for undecided RTL-led body
@@ -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/notePropertiesParser.d.ts
5
4
  /**
6
5
  * Parse footnote properties from w:footnotePr element
@@ -1,15 +1,19 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
-
3
2
  //#region src/docx/numberingParser.d.ts
4
3
  /**
5
4
  * Map of rId to numbering definitions
6
5
  */
7
6
  type NumberingMap = {
8
- definitions: document_d_exports.NumberingDefinitions; /** Get level info for a numId and ilvl */
9
- getLevel: (numId: number, ilvl: number) => document_d_exports.ListLevel | null; /** Get the abstract numbering ID referenced by a numId */
10
- getAbstractNumId: (numId: number) => number | null; /** Get abstract numbering by ID */
11
- getAbstract: (abstractNumId: number) => document_d_exports.AbstractNumbering | null; /** Get the concrete numbering instance for a numId */
12
- getInstance: (numId: number) => document_d_exports.NumberingInstance | null; /** Check if numId exists */
7
+ definitions: document_d_exports.NumberingDefinitions;
8
+ /** Get level info for a numId and ilvl */
9
+ getLevel: (numId: number, ilvl: number) => document_d_exports.ListLevel | null;
10
+ /** Get the abstract numbering ID referenced by a numId */
11
+ getAbstractNumId: (numId: number) => number | null;
12
+ /** Get abstract numbering by ID */
13
+ getAbstract: (abstractNumId: number) => document_d_exports.AbstractNumbering | null;
14
+ /** Get the concrete numbering instance for a numId */
15
+ getInstance: (numId: number) => document_d_exports.NumberingInstance | null;
16
+ /** Check if numId exists */
13
17
  hasNumbering: (numId: number) => boolean;
14
18
  };
15
19
  /**
@@ -1,4 +1,4 @@
1
- import { LevelSuffixSchema, ThemeColorSlotSchema, narrowEnum } from "./parserEnums.js";
1
+ import { FontHintSchema, LevelSuffixSchema, ThemeColorSlotSchema, narrowEnum } from "./parserEnums.js";
2
2
  import { findChild, findChildren, getAttribute, parseBooleanElement, parseNumericAttribute, parseXmlDocument } from "./xmlParser.js";
3
3
  //#region src/docx/numberingParser.ts
4
4
  const NUMBER_FORMAT_MAP = {
@@ -468,11 +468,13 @@ function parseLevelRunProps(rPr) {
468
468
  const hAnsi = getAttribute(rFontsEl, "w", "hAnsi");
469
469
  const eastAsia = getAttribute(rFontsEl, "w", "eastAsia");
470
470
  const cs = getAttribute(rFontsEl, "w", "cs");
471
+ const hint = narrowEnum(getAttribute(rFontsEl, "w", "hint"), FontHintSchema);
471
472
  formatting.fontFamily = {
472
473
  ...ascii != null ? { ascii } : {},
473
474
  ...hAnsi != null ? { hAnsi } : {},
474
475
  ...eastAsia != null ? { eastAsia } : {},
475
- ...cs != null ? { cs } : {}
476
+ ...cs != null ? { cs } : {},
477
+ ...hint !== void 0 ? { hint } : {}
476
478
  };
477
479
  }
478
480
  if (szEl) {
@@ -1,6 +1,5 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { NumberingMap } from "./numberingParser.js";
3
-
4
3
  //#region src/docx/numberingReferenceNormalization.d.ts
5
4
  type NormalizeNumberingReferencesInput = {
6
5
  documentBody: document_d_exports.DocumentBody;
@@ -13,13 +12,6 @@ type NormalizeNumberingReferencesInput = {
13
12
  type NormalizeNumberingReferencesResult = {
14
13
  removedMissingNumberingReferences: number;
15
14
  };
16
- declare const normalizeNumberingReferences: ({
17
- documentBody,
18
- numbering,
19
- headers,
20
- footers,
21
- footnotes,
22
- endnotes
23
- }: NormalizeNumberingReferencesInput) => NormalizeNumberingReferencesResult;
15
+ declare const normalizeNumberingReferences: ({ documentBody, numbering, headers, footers, footnotes, endnotes }: NormalizeNumberingReferencesInput) => NormalizeNumberingReferencesResult;
24
16
  //#endregion
25
17
  export { normalizeNumberingReferences };
@@ -2,7 +2,6 @@ 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 { XmlElement } from "./xmlParser.js";
5
-
6
5
  //#region src/docx/paragraphParser.d.ts
7
6
  /**
8
7
  * Parse paragraph formatting properties (w:pPr)
@@ -1,5 +1,5 @@
1
1
  import { BorderStyleSchema, FrameWrapSchema, FrameXAlignSchema, FrameYAlignSchema, LineSpacingRuleSchema, ParagraphAlignmentSchema, ShadingPatternSchema, TabLeaderSchema, TabStopAlignmentSchema, ThemeColorSlotSchema, narrowEnum } from "./parserEnums.js";
2
- import { elementToXml, findChild, findChildren, getAttribute, getChildElements, mergeXmlnsDeclarations, parseBooleanElement, parseNumericAttribute } from "./xmlParser.js";
2
+ import { elementToXml, findChild, findChildren, getAttribute, getChildElements, getLocalName, matchesName, mergeXmlnsDeclarations, parseBooleanElement, parseNumberingLevelAttribute, parseNumericAttribute } from "./xmlParser.js";
3
3
  import { parseRun, parseRunProperties } from "./runParser.js";
4
4
  import { parseFieldType } from "./fieldParser.js";
5
5
  import { isValidHexId } from "../utils/hexId.js";
@@ -100,7 +100,7 @@ function parseTabStops(tabs) {
100
100
  alignment
101
101
  };
102
102
  const leader = narrowEnum(getAttribute(tab, "w", "leader"), TabLeaderSchema);
103
- if (leader) tabStop.leader = leader;
103
+ if (leader && leader !== "none") tabStop.leader = leader;
104
104
  result.push(tabStop);
105
105
  }
106
106
  }
@@ -335,7 +335,7 @@ function parseParagraphProperties(pPr, theme, styles) {
335
335
  if (val !== void 0) formatting.numPr.numId = val;
336
336
  }
337
337
  if (ilvlEl) {
338
- const val = parseNumericAttribute(ilvlEl, "w", "val");
338
+ const val = parseNumberingLevelAttribute(ilvlEl);
339
339
  if (val !== void 0) formatting.numPr.ilvl = val;
340
340
  }
341
341
  }
@@ -368,14 +368,6 @@ function parseParagraphProperties(pPr, theme, styles) {
368
368
  }
369
369
  return Object.keys(formatting).length > 0 ? formatting : void 0;
370
370
  }
371
- /**
372
- * Get the local name of an element (without namespace prefix)
373
- */
374
- function getLocalName(name) {
375
- if (!name) return "";
376
- const colonIndex = name.indexOf(":");
377
- return colonIndex !== -1 ? name.slice(colonIndex + 1) : name;
378
- }
379
371
  const RENDERED_BREAK_INLINE_WRAPPERS = /* @__PURE__ */ new Set([
380
372
  "hyperlink",
381
373
  "smartTag",
@@ -398,9 +390,13 @@ const RENDERED_BREAK_NON_CONTENT_MARKERS = /* @__PURE__ */ new Set([
398
390
  "commentReference",
399
391
  "permStart",
400
392
  "permEnd",
401
- "rsidR"
393
+ "rsidR",
394
+ "sdtPr",
395
+ "sdtEndPr",
396
+ "smartTagPr"
402
397
  ]);
403
398
  const RENDERED_BREAK_VISIBLE_RUN_CONTENT = /* @__PURE__ */ new Set([
399
+ "AlternateContent",
404
400
  "t",
405
401
  "tab",
406
402
  "br",
@@ -681,9 +677,16 @@ function parseSimpleField(node, styles, theme, rels, media, rootXmlns = {}) {
681
677
  if (dirty === "1" || dirty === "true") field.dirty = true;
682
678
  const inScopeXmlns = mergeXmlnsDeclarations(rootXmlns, node);
683
679
  const children = getChildElements(node);
684
- for (const child of children) if (getLocalName(child.name) === "r") field.content.push(parseRun(child, styles, theme, rels, media, inScopeXmlns));
680
+ for (const child of children) {
681
+ const localName = getLocalName(child.name);
682
+ if (localName === "r") field.content.push(parseRun(child, styles, theme, rels, media, inScopeXmlns));
683
+ else if (localName === "hyperlink") field.content.push(parseHyperlink(child, rels, styles, theme, media, inScopeXmlns));
684
+ }
685
685
  return field;
686
686
  }
687
+ function hasRunPayloadElement(runElement) {
688
+ return getChildElements(runElement).some((child) => !matchesName(child, "w", "rPr"));
689
+ }
687
690
  /**
688
691
  * Parse all content within a paragraph
689
692
  *
@@ -740,10 +743,23 @@ function parseParagraphContents(paraElement, styles, theme, _numbering, rels, me
740
743
  if (inComplexField) {
741
744
  if (instrText) complexFieldInstr += instrText;
742
745
  if ((!complexFieldFormatting || Object.keys(complexFieldFormatting).length === 0) && run.formatting && Object.keys(run.formatting).length > 0) complexFieldFormatting = run.formatting;
746
+ let inFieldCodeRegion = !hasFieldBegin && !afterSeparator;
747
+ const fieldCodeContent = [];
748
+ for (const content of run.content) {
749
+ if (content.type === "fieldChar") {
750
+ inFieldCodeRegion = content.charType === "begin";
751
+ continue;
752
+ }
753
+ if (inFieldCodeRegion) fieldCodeContent.push(content);
754
+ }
755
+ if (fieldCodeContent.length > 0) complexFieldCodeRuns.push(fieldCodeContent.length === run.content.length ? run : {
756
+ ...run,
757
+ content: fieldCodeContent
758
+ });
743
759
  if (hasFieldSeparate) afterSeparator = true;
744
760
  if (afterSeparator && !hasFieldEnd) {
745
761
  if (!hasFieldSeparate) complexFieldResultRuns.push(run);
746
- } else if (!afterSeparator && !hasFieldBegin) complexFieldCodeRuns.push(run);
762
+ }
747
763
  if (hasFieldEnd) {
748
764
  let resultRuns = complexFieldResultRuns;
749
765
  if (resultRuns.length === 0 && !afterSeparator && endOriginalValue !== void 0) resultRuns = [{
@@ -776,7 +792,7 @@ function parseParagraphContents(paraElement, styles, theme, _numbering, rels, me
776
792
  type: "commentReference",
777
793
  id: commentReferenceId
778
794
  });
779
- } else contents.push(run);
795
+ } else if (run.content.length > 0 || hasRunPayloadElement(runElement)) contents.push(run);
780
796
  break;
781
797
  }
782
798
  case "hyperlink":
@@ -3,7 +3,6 @@ import { NumberingMap } from "./numberingParser.js";
3
3
  import { StyleMap } from "./styleParser.js";
4
4
  import { XmlElement } from "./xmlParser.js";
5
5
  import { TableParserFn } from "./textBoxParser.js";
6
-
7
6
  //#region src/docx/paragraphTextBoxEnrichment.d.ts
8
7
  declare const enrichParagraphTextBoxes: (paragraph: document_d_exports.Paragraph, paraXml: XmlElement, styles: StyleMap | null, theme: document_d_exports.Theme | null, numbering: NumberingMap | null, rels: document_d_exports.RelationshipMap | null, media: Map<string, document_d_exports.MediaFile> | null, parseTable: TableParserFn) => void;
9
8
  //#endregion
@@ -220,7 +220,8 @@ const scanRunForTextBoxDrawings = (xmlRun) => {
220
220
  continue;
221
221
  }
222
222
  if (name === "pict") {
223
- if (findDeep(el, "v", "textbox")) vmlTextBoxes.push(el);
223
+ if (findDeep(el, "v", "textbox")) if (findDeep(el, "v", "imagedata")) hasNonTextBoxContent = true;
224
+ else vmlTextBoxes.push(el);
224
225
  else hasNonTextBoxContent = true;
225
226
  continue;
226
227
  }
@@ -1,19 +1,14 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
-
3
2
  //#region src/docx/paragraphTraversal.d.ts
4
- type VisitDocxParagraphsInput = {
3
+ type DocxParagraphSurfaces = {
5
4
  documentBody: document_d_exports.DocumentBody;
6
5
  headers?: Map<string, document_d_exports.HeaderFooter> | undefined;
7
6
  footers?: Map<string, document_d_exports.HeaderFooter> | undefined;
8
7
  footnotes?: readonly document_d_exports.Footnote[] | undefined;
9
8
  endnotes?: readonly document_d_exports.Endnote[] | undefined;
10
9
  };
11
- declare const visitDocxParagraphs: ({
12
- documentBody,
13
- headers,
14
- footers,
15
- footnotes,
16
- endnotes
17
- }: VisitDocxParagraphsInput, visit: (paragraph: document_d_exports.Paragraph) => void) => void;
10
+ /** Visit every run directly owned by a paragraph's inline-content tree. */
11
+ declare const visitParagraphRuns: (paragraph: document_d_exports.Paragraph, visit: (run: document_d_exports.Run) => void) => void;
12
+ declare const visitDocxParagraphs: ({ documentBody, headers, footers, footnotes, endnotes }: DocxParagraphSurfaces, visit: (paragraph: document_d_exports.Paragraph) => void) => void;
18
13
  //#endregion
19
- export { visitDocxParagraphs };
14
+ export { DocxParagraphSurfaces, visitDocxParagraphs, visitParagraphRuns };
@@ -1,17 +1,8 @@
1
1
  //#region src/docx/paragraphTraversal.ts
2
- const visitDocxParagraphs = ({ documentBody, headers, footers, footnotes, endnotes }, visit) => {
3
- const seenParagraphs = /* @__PURE__ */ new WeakSet();
4
- const visitParagraph = (paragraph) => {
5
- if (seenParagraphs.has(paragraph)) return;
6
- seenParagraphs.add(paragraph);
7
- visit(paragraph);
8
- for (const content of paragraph.content) visitParagraphContent(content);
9
- };
2
+ /** Visit every run directly owned by a paragraph's inline-content tree. */
3
+ const visitParagraphRuns = (paragraph, visit) => {
10
4
  const visitRun = (run) => {
11
- for (const content of run.content) {
12
- if (content.type !== "shape" || !content.shape.textBody) continue;
13
- for (const block of content.shape.textBody.content) visitBlock(block);
14
- }
5
+ visit(run);
15
6
  };
16
7
  const visitHyperlink = (hyperlink) => {
17
8
  for (const child of hyperlink.children) if (child.type === "run") visitRun(child);
@@ -47,6 +38,22 @@ const visitDocxParagraphs = ({ documentBody, headers, footers, footnotes, endnot
47
38
  for (const run of content.fieldResult) visitRun(run);
48
39
  }
49
40
  };
41
+ for (const content of paragraph.content) visitParagraphContent(content);
42
+ };
43
+ const visitDocxParagraphs = ({ documentBody, headers, footers, footnotes, endnotes }, visit) => {
44
+ const seenParagraphs = /* @__PURE__ */ new WeakSet();
45
+ const visitParagraph = (paragraph) => {
46
+ if (seenParagraphs.has(paragraph)) return;
47
+ seenParagraphs.add(paragraph);
48
+ visit(paragraph);
49
+ visitParagraphRuns(paragraph, visitRun);
50
+ };
51
+ const visitRun = (run) => {
52
+ for (const content of run.content) {
53
+ if (content.type !== "shape" || !content.shape.textBody) continue;
54
+ for (const block of content.shape.textBody.content) visitBlock(block);
55
+ }
56
+ };
50
57
  const visitTable = (table) => {
51
58
  for (const row of table.rows) for (const cell of row.cells) visitBlocks(cell.content);
52
59
  };
@@ -73,4 +80,4 @@ const visitDocxParagraphs = ({ documentBody, headers, footers, footnotes, endnot
73
80
  for (const comment of documentBody.comments ?? []) for (const paragraph of comment.content) visitParagraph(paragraph);
74
81
  };
75
82
  //#endregion
76
- export { visitDocxParagraphs };
83
+ export { visitDocxParagraphs, visitParagraphRuns };
@@ -1,7 +1,6 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { DocxInput } from "../utils/docxInput.js";
3
3
  import { DocxUnzipOptions } from "./unzip.js";
4
-
5
4
  //#region src/docx/parser.d.ts
6
5
  /**
7
6
  * Progress callback for tracking parsing stages
@@ -20,13 +19,21 @@ type MediaResolver = (file: document_d_exports.MediaFile) => Promise<string | nu
20
19
  * Parsing options
21
20
  */
22
21
  type ParseOptions = {
23
- /** Progress callback for tracking parsing stages */onProgress?: ProgressCallback; /** Whether to preload fonts (default: true) */
24
- preloadFonts?: boolean; /** Whether to parse headers/footers (default: true) */
25
- parseHeadersFooters?: boolean; /** Whether to parse footnotes/endnotes (default: true) */
26
- parseNotes?: boolean; /** Whether to detect template variables (default: true) */
27
- detectVariables?: boolean; /** Password for Agile-encrypted .docx files (Office 2010+). */
28
- password?: string | undefined; /** Security limits for DOCX ZIP extraction */
29
- unzipLimits?: DocxUnzipOptions; /** Optional async hook to override display URLs for non-browser media. */
22
+ /** Progress callback for tracking parsing stages */
23
+ onProgress?: ProgressCallback;
24
+ /** Whether to preload fonts (default: true) */
25
+ preloadFonts?: boolean;
26
+ /** Whether to parse headers/footers (default: true) */
27
+ parseHeadersFooters?: boolean;
28
+ /** Whether to parse footnotes/endnotes (default: true) */
29
+ parseNotes?: boolean;
30
+ /** Whether to detect template variables (default: true) */
31
+ detectVariables?: boolean;
32
+ /** Password for Agile-encrypted .docx files (Office 2010+). */
33
+ password?: string | undefined;
34
+ /** Security limits for DOCX ZIP extraction */
35
+ unzipLimits?: DocxUnzipOptions;
36
+ /** Optional async hook to override display URLs for non-browser media. */
30
37
  mediaResolver?: MediaResolver;
31
38
  };
32
39
  /**
@@ -9,13 +9,16 @@ import { normalizeCommentReferences } from "./commentReferenceNormalization.js";
9
9
  import { detectDocxConformanceClass } from "./conformance.js";
10
10
  import { parseCoreProperties } from "./corePropertiesParser.js";
11
11
  import { extractAllTemplateVariables, parseDocumentBody } from "./documentParser.js";
12
+ import { normalizeDrawingIds } from "./drawingIdNormalization.js";
12
13
  import { parseEndnotes, parseFootnotes } from "./footnoteParser.js";
14
+ import { assignHeaderFooterVerbatimXml, refreshHeaderFooterVerbatimFingerprint } from "./headerFooterVerbatim.js";
13
15
  import { parseFooter, parseHeader } from "./headerFooterParser.js";
14
16
  import { normalizeHeaderFooterReferences } from "./headerFooterReferenceNormalization.js";
15
17
  import { DocxModelValidationError, formatDocumentModelIssues, validateFolioDocumentModel } from "./modelValidation.js";
16
18
  import { extractMetafileRaster, isMetafileMimeType } from "./metafileRaster.js";
17
19
  import { parseFontTable } from "./fontTableParser.js";
18
20
  import { normalizeNumberingReferences } from "./numberingReferenceNormalization.js";
21
+ import { normalizeRenderedPageBreakHints } from "./renderedPageBreakNormalization.js";
19
22
  import { parseSettings } from "./settingsParser.js";
20
23
  import { parseStylesPackage } from "./styleParser.js";
21
24
  import { normalizeTrackedMoveRanges } from "./trackedMoveRangeNormalization.js";
@@ -60,7 +63,8 @@ async function parseDocx(input, options = {}) {
60
63
  onProgress("Extracting DOCX...", 0);
61
64
  const raw = await timeStageAsync("unzip", () => unzipDocx(buffer, {
62
65
  ...unzipLimits,
63
- password
66
+ password,
67
+ extractAllXml: false
64
68
  }));
65
69
  if (raw.wasEncrypted) warnings.push("Document was opened from password-protected storage; saving writes an unencrypted .docx file.");
66
70
  warnings.push(...raw.warnings);
@@ -120,6 +124,22 @@ async function parseDocx(input, options = {}) {
120
124
  onProgress("Parsing comments...", 75);
121
125
  const comments = timeStage("comments", () => parseComments(raw.commentsXml, styles, theme, rels, media, raw.commentsExtensibleXml, raw.commentsExtendedXml));
122
126
  if (comments.length > 0) documentBody.comments = comments;
127
+ normalizeDrawingIds({
128
+ documentBody,
129
+ ...headers !== void 0 ? { headers } : {},
130
+ ...footers !== void 0 ? { footers } : {},
131
+ ...footnotes !== void 0 ? { footnotes } : {},
132
+ ...endnotes !== void 0 ? { endnotes } : {}
133
+ });
134
+ for (const header of headers?.values() ?? []) refreshHeaderFooterVerbatimFingerprint(header);
135
+ for (const footer of footers?.values() ?? []) refreshHeaderFooterVerbatimFingerprint(footer);
136
+ normalizeRenderedPageBreakHints({
137
+ documentBody,
138
+ ...headers !== void 0 ? { headers } : {},
139
+ ...footers !== void 0 ? { footers } : {},
140
+ ...footnotes !== void 0 ? { footnotes } : {},
141
+ ...endnotes !== void 0 ? { endnotes } : {}
142
+ });
123
143
  const commentReferenceNormalization = normalizeCommentReferences({
124
144
  documentBody,
125
145
  comments,
@@ -328,6 +348,7 @@ function parseHeadersAndFooters(raw, styles, theme, numbering, rels, media) {
328
348
  watermark.imageTarget = imageRel.target;
329
349
  watermark.imageTargetExternal = true;
330
350
  } else watermark.imageTarget = resolveRelativePath(headerRelsPath, imageRel.target);
351
+ assignHeaderFooterVerbatimXml(header, headerXml);
331
352
  }
332
353
  headers.set(rId, header);
333
354
  }
@@ -1,5 +1,4 @@
1
1
  import * as v from "valibot";
2
-
3
2
  //#region src/docx/parserEnums.d.ts
4
3
  /**
5
4
  * Narrow a raw attribute string to a picklist member, or `undefined`
@@ -15,10 +14,14 @@ declare const HighlightColorSchema: v.PicklistSchema<readonly ["black", "blue",
15
14
  declare const TextEffectSchema: v.PicklistSchema<readonly ["none", "blinkBackground", "lights", "antsBlack", "antsRed", "shimmer", "sparkle"], undefined>;
16
15
  declare const EmphasisMarkSchema: v.PicklistSchema<readonly ["none", "dot", "comma", "circle", "underDot"], undefined>;
17
16
  declare const FontThemeSchema: v.PicklistSchema<readonly ["majorAscii", "majorHAnsi", "majorEastAsia", "majorBidi", "minorAscii", "minorHAnsi", "minorEastAsia", "minorBidi"], undefined>;
17
+ declare const FontHintSchema: v.PicklistSchema<readonly ["default", "eastAsia", "cs"], undefined>;
18
18
  declare const ParagraphAlignmentSchema: v.PicklistSchema<readonly ["left", "center", "right", "both", "distribute", "mediumKashida", "highKashida", "lowKashida", "thaiDistribute"], undefined>;
19
19
  declare const LineSpacingRuleSchema: v.PicklistSchema<readonly ["auto", "exact", "atLeast"], undefined>;
20
20
  declare const TabStopAlignmentSchema: v.PicklistSchema<readonly ["left", "center", "right", "decimal", "bar", "clear", "num"], undefined>;
21
21
  declare const TabLeaderSchema: v.PicklistSchema<readonly ["none", "dot", "hyphen", "underscore", "heavy", "middleDot"], undefined>;
22
+ declare const PositionalTabRelativeToSchema: v.PicklistSchema<readonly ["margin", "indent"], undefined>;
23
+ declare const PositionalTabAlignmentSchema: v.PicklistSchema<readonly ["left", "center", "right"], undefined>;
24
+ declare const PositionalTabLeaderSchema: v.PicklistSchema<readonly ["none", "dot", "hyphen", "underscore", "middleDot"], undefined>;
22
25
  declare const FrameXAlignSchema: v.PicklistSchema<readonly ["left", "center", "right", "inside", "outside"], undefined>;
23
26
  declare const FrameYAlignSchema: v.PicklistSchema<readonly ["top", "center", "bottom", "inside", "outside", "inline"], undefined>;
24
27
  declare const FrameWrapSchema: v.PicklistSchema<readonly ["around", "auto", "none", "notBeside", "through", "tight"], undefined>;
@@ -42,4 +45,4 @@ declare const ShapeTypeSchema: v.PicklistSchema<readonly ["rect", "roundRect", "
42
45
  declare const NumberFormatSchema: v.PicklistSchema<readonly ["decimal", "upperRoman", "lowerRoman", "upperLetter", "lowerLetter", "ordinal", "cardinalText", "ordinalText", "hex", "chicago", "ideographDigital", "japaneseCounting", "aiueo", "iroha", "decimalFullWidth", "decimalHalfWidth", "japaneseLegal", "japaneseDigitalTenThousand", "decimalEnclosedCircle", "decimalFullWidth2", "aiueoFullWidth", "irohaFullWidth", "decimalZero", "decimalZero3", "decimalZero4", "decimalZero5", "bullet", "ganada", "chosung", "decimalEnclosedFullstop", "decimalEnclosedParen", "decimalEnclosedCircleChinese", "ideographEnclosedCircle", "ideographTraditional", "ideographZodiac", "ideographZodiacTraditional", "taiwaneseCounting", "ideographLegalTraditional", "taiwaneseCountingThousand", "taiwaneseDigital", "chineseCounting", "chineseLegalSimplified", "chineseCountingThousand", "koreanDigital", "koreanCounting", "koreanLegal", "koreanDigital2", "vietnameseCounting", "russianLower", "russianUpper", "none", "numberInDash", "hebrew1", "hebrew2", "arabicAlpha", "arabicAbjad", "hindiVowels", "hindiConsonants", "hindiNumbers", "hindiCounting", "thaiLetters", "thaiNumbers", "thaiCounting"], undefined>;
43
46
  declare const LevelSuffixSchema: v.PicklistSchema<readonly ["tab", "space", "nothing"], undefined>;
44
47
  //#endregion
45
- export { BorderStyleSchema, ConditionalStyleTypeSchema, EmphasisMarkSchema, FieldTypeSchema, FloatingTableXSpecSchema, FloatingTableYSpecSchema, FontThemeSchema, FrameWrapSchema, FrameXAlignSchema, FrameYAlignSchema, HighlightColorSchema, ImageHorizontalAlignmentSchema, ImageHorizontalRelativeToSchema, ImageVerticalAlignmentSchema, ImageVerticalRelativeToSchema, ImageWrapTextSchema, LevelSuffixSchema, LineSpacingRuleSchema, NumberFormatSchema, ParagraphAlignmentSchema, SdtLockSchema, ShadingPatternSchema, ShapeOutlineStyleSchema, ShapeTypeSchema, StyleTypeSchema, TabLeaderSchema, TabStopAlignmentSchema, TableCellTextDirectionSchema, TableRowHeightRuleSchema, TableWidthTypeSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum };
48
+ export { BorderStyleSchema, ConditionalStyleTypeSchema, EmphasisMarkSchema, FieldTypeSchema, FloatingTableXSpecSchema, FloatingTableYSpecSchema, FontHintSchema, FontThemeSchema, FrameWrapSchema, FrameXAlignSchema, FrameYAlignSchema, HighlightColorSchema, ImageHorizontalAlignmentSchema, ImageHorizontalRelativeToSchema, ImageVerticalAlignmentSchema, ImageVerticalRelativeToSchema, ImageWrapTextSchema, LevelSuffixSchema, LineSpacingRuleSchema, NumberFormatSchema, ParagraphAlignmentSchema, PositionalTabAlignmentSchema, PositionalTabLeaderSchema, PositionalTabRelativeToSchema, SdtLockSchema, ShadingPatternSchema, ShapeOutlineStyleSchema, ShapeTypeSchema, StyleTypeSchema, TabLeaderSchema, TabStopAlignmentSchema, TableCellTextDirectionSchema, TableRowHeightRuleSchema, TableWidthTypeSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum };
@@ -1,4 +1,4 @@
1
- import { BORDER_STYLE_VALUES, CONDITIONAL_STYLE_TYPE_VALUES, EMPHASIS_MARK_VALUES, FIELD_TYPE_VALUES, FLOATING_TABLE_X_SPEC_VALUES, FLOATING_TABLE_Y_SPEC_VALUES, FONT_THEME_VALUES, FRAME_WRAP_VALUES, FRAME_X_ALIGN_VALUES, FRAME_Y_ALIGN_VALUES, HIGHLIGHT_COLOR_VALUES, IMAGE_HORIZONTAL_ALIGNMENT_VALUES, IMAGE_HORIZONTAL_RELATIVE_TO_VALUES, IMAGE_VERTICAL_ALIGNMENT_VALUES, IMAGE_VERTICAL_RELATIVE_TO_VALUES, IMAGE_WRAP_TEXT_VALUES, LEVEL_SUFFIX_VALUES, LINE_SPACING_RULE_VALUES, NUMBER_FORMAT_VALUES, PARAGRAPH_ALIGNMENT_VALUES, SDT_LOCK_VALUES, SHADING_PATTERN_VALUES, SHAPE_OUTLINE_STYLE_VALUES, SHAPE_TYPE_VALUES, STYLE_TYPE_VALUES, TABLE_CELL_TEXT_DIRECTION_VALUES, TABLE_ROW_HEIGHT_RULE_VALUES, TABLE_WIDTH_TYPE_VALUES, TAB_LEADER_VALUES, TAB_STOP_ALIGNMENT_VALUES, TEXT_EFFECT_VALUES, THEME_COLOR_SLOT_VALUES, UNDERLINE_STYLE_VALUES } from "../types/documentEnumValues.js";
1
+ import { BORDER_STYLE_VALUES, CONDITIONAL_STYLE_TYPE_VALUES, EMPHASIS_MARK_VALUES, FIELD_TYPE_VALUES, FLOATING_TABLE_X_SPEC_VALUES, FLOATING_TABLE_Y_SPEC_VALUES, FONT_HINT_VALUES, FONT_THEME_VALUES, FRAME_WRAP_VALUES, FRAME_X_ALIGN_VALUES, FRAME_Y_ALIGN_VALUES, HIGHLIGHT_COLOR_VALUES, IMAGE_HORIZONTAL_ALIGNMENT_VALUES, IMAGE_HORIZONTAL_RELATIVE_TO_VALUES, IMAGE_VERTICAL_ALIGNMENT_VALUES, IMAGE_VERTICAL_RELATIVE_TO_VALUES, IMAGE_WRAP_TEXT_VALUES, LEVEL_SUFFIX_VALUES, LINE_SPACING_RULE_VALUES, NUMBER_FORMAT_VALUES, PARAGRAPH_ALIGNMENT_VALUES, POSITIONAL_TAB_ALIGNMENT_VALUES, POSITIONAL_TAB_LEADER_VALUES, POSITIONAL_TAB_RELATIVE_TO_VALUES, SDT_LOCK_VALUES, SHADING_PATTERN_VALUES, SHAPE_OUTLINE_STYLE_VALUES, SHAPE_TYPE_VALUES, STYLE_TYPE_VALUES, TABLE_CELL_TEXT_DIRECTION_VALUES, TABLE_ROW_HEIGHT_RULE_VALUES, TABLE_WIDTH_TYPE_VALUES, TAB_LEADER_VALUES, TAB_STOP_ALIGNMENT_VALUES, TEXT_EFFECT_VALUES, THEME_COLOR_SLOT_VALUES, UNDERLINE_STYLE_VALUES } from "../types/documentEnumValues.js";
2
2
  import * as v from "valibot";
3
3
  //#region src/docx/parserEnums.ts
4
4
  /**
@@ -40,10 +40,14 @@ const HighlightColorSchema = v.picklist(HIGHLIGHT_COLOR_VALUES);
40
40
  const TextEffectSchema = v.picklist(TEXT_EFFECT_VALUES);
41
41
  const EmphasisMarkSchema = v.picklist(EMPHASIS_MARK_VALUES);
42
42
  const FontThemeSchema = v.picklist(FONT_THEME_VALUES);
43
+ const FontHintSchema = v.picklist(FONT_HINT_VALUES);
43
44
  const ParagraphAlignmentSchema = v.picklist(PARAGRAPH_ALIGNMENT_VALUES);
44
45
  const LineSpacingRuleSchema = v.picklist(LINE_SPACING_RULE_VALUES);
45
46
  const TabStopAlignmentSchema = v.picklist(TAB_STOP_ALIGNMENT_VALUES);
46
47
  const TabLeaderSchema = v.picklist(TAB_LEADER_VALUES);
48
+ const PositionalTabRelativeToSchema = v.picklist(POSITIONAL_TAB_RELATIVE_TO_VALUES);
49
+ const PositionalTabAlignmentSchema = v.picklist(POSITIONAL_TAB_ALIGNMENT_VALUES);
50
+ const PositionalTabLeaderSchema = v.picklist(POSITIONAL_TAB_LEADER_VALUES);
47
51
  const FrameXAlignSchema = v.picklist(FRAME_X_ALIGN_VALUES);
48
52
  const FrameYAlignSchema = v.picklist(FRAME_Y_ALIGN_VALUES);
49
53
  const FrameWrapSchema = v.picklist(FRAME_WRAP_VALUES);
@@ -67,4 +71,4 @@ const ShapeTypeSchema = v.picklist(SHAPE_TYPE_VALUES);
67
71
  const NumberFormatSchema = v.picklist(NUMBER_FORMAT_VALUES);
68
72
  const LevelSuffixSchema = v.picklist(LEVEL_SUFFIX_VALUES);
69
73
  //#endregion
70
- export { BorderStyleSchema, ConditionalStyleTypeSchema, EmphasisMarkSchema, FieldTypeSchema, FloatingTableXSpecSchema, FloatingTableYSpecSchema, FontThemeSchema, FrameWrapSchema, FrameXAlignSchema, FrameYAlignSchema, HighlightColorSchema, ImageHorizontalAlignmentSchema, ImageHorizontalRelativeToSchema, ImageVerticalAlignmentSchema, ImageVerticalRelativeToSchema, ImageWrapTextSchema, LevelSuffixSchema, LineSpacingRuleSchema, NumberFormatSchema, ParagraphAlignmentSchema, SdtLockSchema, ShadingPatternSchema, ShapeOutlineStyleSchema, ShapeTypeSchema, StyleTypeSchema, TabLeaderSchema, TabStopAlignmentSchema, TableCellTextDirectionSchema, TableRowHeightRuleSchema, TableWidthTypeSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum };
74
+ export { BorderStyleSchema, ConditionalStyleTypeSchema, EmphasisMarkSchema, FieldTypeSchema, FloatingTableXSpecSchema, FloatingTableYSpecSchema, FontHintSchema, FontThemeSchema, FrameWrapSchema, FrameXAlignSchema, FrameYAlignSchema, HighlightColorSchema, ImageHorizontalAlignmentSchema, ImageHorizontalRelativeToSchema, ImageVerticalAlignmentSchema, ImageVerticalRelativeToSchema, ImageWrapTextSchema, LevelSuffixSchema, LineSpacingRuleSchema, NumberFormatSchema, ParagraphAlignmentSchema, PositionalTabAlignmentSchema, PositionalTabLeaderSchema, PositionalTabRelativeToSchema, SdtLockSchema, ShadingPatternSchema, ShapeOutlineStyleSchema, ShapeTypeSchema, StyleTypeSchema, TabLeaderSchema, TabStopAlignmentSchema, TableCellTextDirectionSchema, TableRowHeightRuleSchema, TableWidthTypeSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum };
@@ -1,4 +1,5 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
+ import "../types/index.js";
2
3
  //#region src/docx/relsParser.d.ts
3
4
  /**
4
5
  * Relationship type constants for common types
@@ -0,0 +1,12 @@
1
+ import { document_d_exports } from "../types/document.js";
2
+ //#region src/docx/renderedPageBreakNormalization.d.ts
3
+ type NormalizeRenderedPageBreakHintsInput = {
4
+ documentBody: document_d_exports.DocumentBody;
5
+ headers?: Map<string, document_d_exports.HeaderFooter>;
6
+ footers?: Map<string, document_d_exports.HeaderFooter>;
7
+ footnotes?: readonly document_d_exports.Footnote[];
8
+ endnotes?: readonly document_d_exports.Endnote[];
9
+ };
10
+ declare const normalizeRenderedPageBreakHints: ({ documentBody, headers, footers, footnotes, endnotes }: NormalizeRenderedPageBreakHintsInput) => void;
11
+ //#endregion
12
+ export { normalizeRenderedPageBreakHints };
@@ -0,0 +1,59 @@
1
+ import { visitDocxParagraphs } from "./paragraphTraversal.js";
2
+ //#region src/docx/renderedPageBreakNormalization.ts
3
+ const normalizeRenderedPageBreakHints = ({ documentBody, headers, footers, footnotes, endnotes }) => {
4
+ visitDocxParagraphs({
5
+ documentBody,
6
+ headers,
7
+ footers,
8
+ footnotes,
9
+ endnotes
10
+ }, (paragraph) => {
11
+ if (paragraph.renderedPageBreakBefore === true && !retainsLeadingRenderedPageBreak(paragraph.content)) delete paragraph.renderedPageBreakBefore;
12
+ });
13
+ };
14
+ const retainsLeadingRenderedPageBreak = (content) => {
15
+ const scan = { sawRenderedPageBreak: false };
16
+ for (const item of content) {
17
+ const result = scanParagraphContent(item, scan);
18
+ if (result !== void 0) return result;
19
+ }
20
+ return false;
21
+ };
22
+ const scanRun = (run, scan) => {
23
+ for (const content of run.content) {
24
+ if (content.type === "renderedPageBreak") {
25
+ scan.sawRenderedPageBreak = true;
26
+ continue;
27
+ }
28
+ return scan.sawRenderedPageBreak;
29
+ }
30
+ };
31
+ const scanHyperlink = (hyperlink, scan) => {
32
+ for (const child of hyperlink.children) {
33
+ if (child.type !== "run") continue;
34
+ const result = scanRun(child, scan);
35
+ if (result !== void 0) return result;
36
+ }
37
+ };
38
+ const scanInlineContent = (content, scan) => {
39
+ for (const child of content) {
40
+ const result = child.type === "run" ? scanRun(child, scan) : scanHyperlink(child, scan);
41
+ if (result !== void 0) return result;
42
+ }
43
+ };
44
+ const scanParagraphContent = (content, scan) => {
45
+ if (content.type === "run") return scanRun(content, scan);
46
+ if (content.type === "hyperlink") return scanHyperlink(content, scan);
47
+ if (content.type === "simpleField") return scanInlineContent(content.content, scan);
48
+ if (content.type === "insertion" || content.type === "deletion" || content.type === "moveFrom" || content.type === "moveTo") return scanInlineContent(content.content, scan);
49
+ if (content.type === "inlineSdt") {
50
+ for (const child of content.content) {
51
+ const result = scanParagraphContent(child, scan);
52
+ if (result !== void 0) return result;
53
+ }
54
+ return;
55
+ }
56
+ if (content.type === "complexField") return scan.sawRenderedPageBreak;
57
+ };
58
+ //#endregion
59
+ export { normalizeRenderedPageBreakHints };
@@ -1,10 +1,10 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
-
3
2
  //#region src/docx/replyToComment.d.ts
4
3
  type CreateCommentReplyInput = {
5
4
  author: string;
6
5
  text: string;
7
- initials?: string; /** ISO date; defaults to now. */
6
+ initials?: string;
7
+ /** ISO date; defaults to now. */
8
8
  date?: string;
9
9
  };
10
10
  /**
@@ -1,7 +1,6 @@
1
1
  import { document_d_exports } from "../types/document.js";
2
2
  import { RawDocxContent } from "./unzip.js";
3
3
  import JSZip from "jszip";
4
-
5
4
  //#region src/docx/rezip.d.ts
6
5
  declare class DocxPackageFidelityError extends Error {
7
6
  constructor(message: string);
@@ -14,8 +13,11 @@ declare function findMaxRId(relsXml: string): number;
14
13
  * Options for repacking DOCX
15
14
  */
16
15
  type RepackOptions = {
17
- /** Compression level (0-9, default: 6) */compressionLevel?: number; /** Whether to update modification date in docProps/core.xml */
18
- updateModifiedDate?: boolean; /** Custom modifier name for lastModifiedBy */
16
+ /** Compression level (0-9, default: 6) */
17
+ compressionLevel?: number;
18
+ /** Whether to update modification date in docProps/core.xml */
19
+ updateModifiedDate?: boolean;
20
+ /** Custom modifier name for lastModifiedBy */
19
21
  modifiedBy?: string;
20
22
  };
21
23
  /**
@@ -125,10 +127,7 @@ declare function hasUnmaterializedHeaderFooter(doc: document_d_exports.Document)
125
127
  declare function hasModelDrivenPictureWatermark(doc: document_d_exports.Document): boolean;
126
128
  declare function collectHeaderFooterUpdates(doc: document_d_exports.Document): Map<string, string>;
127
129
  /** Update existing core-property values without synthesizing absent metadata. */
128
- declare function updateCoreProperties(corePropsXml: string, {
129
- updateModifiedDate,
130
- modifiedBy
131
- }: {
130
+ declare function updateCoreProperties(corePropsXml: string, { updateModifiedDate, modifiedBy }: {
132
131
  updateModifiedDate?: boolean;
133
132
  modifiedBy?: string;
134
133
  }): string;