@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,59 +1,38 @@
1
1
  import { deterministicHexId } from "../../utils/hexId.js";
2
2
  import { escapeXml } from "./xmlUtils.js";
3
+ import { serializeTextFormatting } from "./runSerializer.js";
4
+ import { serializeParagraph } from "./paragraphSerializer.js";
3
5
  //#region src/docx/serializer/commentSerializer.ts
4
6
  /**
5
7
  * Comment Serializer
6
8
  *
7
9
  * Serializes Comment[] to OOXML comments.xml format.
8
10
  */
9
- function serializeRunContent(run) {
10
- let xml = "<w:r>";
11
- const rPr = [];
12
- if (run.formatting?.bold) rPr.push("<w:b/>");
13
- if (run.formatting?.italic) rPr.push("<w:i/>");
14
- if (rPr.length > 0) xml += `<w:rPr>${rPr.join("")}</w:rPr>`;
15
- for (const c of run.content) if (c.type === "text") {
16
- const preserveSpace = c.text !== c.text.trim() || c.text.includes(" ");
17
- xml += preserveSpace ? `<w:t xml:space="preserve">${escapeXml(c.text)}</w:t>` : `<w:t>${escapeXml(c.text)}</w:t>`;
18
- } else if (c.type === "break") xml += "<w:br/>";
19
- xml += "</w:r>";
20
- return xml;
21
- }
22
- /**
23
- * `w14:paraId` / `w14:textId` open tag for a comment paragraph. Word keys
24
- * commentsExtended.xml (reply threading) and commentsExtensible.xml (UTC
25
- * dates) on the paraId of a comment's LAST paragraph, so the id must survive
26
- * serialization; the parser stores it on `Paragraph.paraId`.
27
- */
28
- function commentParagraphOpenTag(p) {
29
- const attrs = [];
30
- if (p.paraId) attrs.push(`w14:paraId="${escapeXml(p.paraId)}"`);
31
- if (p.textId) attrs.push(`w14:textId="${escapeXml(p.textId)}"`);
32
- return attrs.length > 0 ? `<w:p ${attrs.join(" ")}>` : "<w:p>";
33
- }
34
- function serializeParagraph(p) {
35
- let xml = commentParagraphOpenTag(p);
36
- for (const item of p.content) if (item.type === "run") xml += serializeRunContent(item);
37
- xml += "</w:p>";
38
- return xml;
39
- }
11
+ const DEFAULT_ANNOTATION_REFERENCE_PROPERTIES = "<w:rPr><w:rStyle w:val=\"CommentReference\"/></w:rPr>";
12
+ const PARAGRAPH_PROPERTIES_END = "</w:pPr>";
13
+ const serializeAnnotationReference = (formatting) => {
14
+ return `<w:r>${formatting ? serializeTextFormatting(formatting) : DEFAULT_ANNOTATION_REFERENCE_PROPERTIES}<w:annotationRef/></w:r>`;
15
+ };
40
16
  /** Serialize a paragraph, prepending an annotationRef run (required by Word in first paragraph of a comment) */
41
- function serializeParagraphWithAnnotationRef(p) {
42
- let xml = commentParagraphOpenTag(p);
43
- xml += "<w:r><w:rPr><w:rStyle w:val=\"CommentReference\"/></w:rPr><w:annotationRef/></w:r>";
44
- for (const item of p.content) if (item.type === "run") xml += serializeRunContent(item);
45
- xml += "</w:p>";
46
- return xml;
17
+ function serializeParagraphWithAnnotationRef(paragraph, formatting) {
18
+ const xml = serializeParagraph(paragraph);
19
+ const annotationReference = serializeAnnotationReference(formatting);
20
+ const propertiesEnd = xml.indexOf(PARAGRAPH_PROPERTIES_END);
21
+ if (propertiesEnd !== -1) {
22
+ const contentStart = propertiesEnd + 8;
23
+ return `${xml.slice(0, contentStart)}${annotationReference}${xml.slice(contentStart)}`;
24
+ }
25
+ return xml.replace(/^<w:p(?=[\s>])[^>]*>/u, (openingTag) => `${openingTag}${annotationReference}`);
47
26
  }
48
27
  function serializeComment(comment) {
49
28
  const attrs = [`w:id="${comment.id}"`, `w:author="${escapeXml(comment.author)}"`];
50
- if (comment.initials) attrs.push(`w:initials="${escapeXml(comment.initials)}"`);
29
+ if (comment.initials !== void 0) attrs.push(`w:initials="${escapeXml(comment.initials)}"`);
51
30
  if (comment.date) attrs.push(`w:date="${escapeXml(comment.date)}"`);
52
31
  let xml = `<w:comment ${attrs.join(" ")}>`;
53
32
  if (comment.content.length > 0) {
54
- xml += serializeParagraphWithAnnotationRef(comment.content[0]);
33
+ xml += serializeParagraphWithAnnotationRef(comment.content[0], comment.annotationReferenceFormatting);
55
34
  for (let i = 1; i < comment.content.length; i++) xml += serializeParagraph(comment.content[i]);
56
- } else xml += "<w:p><w:r><w:rPr><w:rStyle w:val=\"CommentReference\"/></w:rPr><w:annotationRef/></w:r></w:p>";
35
+ } else xml += `<w:p>${serializeAnnotationReference(comment.annotationReferenceFormatting)}</w:p>`;
57
36
  xml += "</w:comment>";
58
37
  return xml;
59
38
  }
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/documentSerializer.d.ts
4
3
  /**
5
4
  * Serialize a DocumentBody to document.xml body content
@@ -1,8 +1,8 @@
1
- import { serializeBlockSdt } from "./blockSdtSerializer.js";
2
1
  import { serializeTable } from "./tableSerializer.js";
3
2
  import { resetAutoIdCounter } from "./runSerializer.js";
4
3
  import { serializeSectionProperties } from "./sectionPropertiesSerializer.js";
5
4
  import { serializeParagraph } from "./paragraphSerializer.js";
5
+ import { serializeBlockSdt } from "./blockSdtSerializer.js";
6
6
  //#region src/docx/serializer/documentSerializer.ts
7
7
  /**
8
8
  * Standard OOXML namespaces for document.xml
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/fontTableSerializer.d.ts
4
3
  declare const serializeFontTableXml: (fontTable: document_d_exports.FontTable) => string;
5
4
  //#endregion
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/headerFooterSerializer.d.ts
4
3
  /**
5
4
  * Serialize a HeaderFooter object to valid OOXML XML
@@ -1,8 +1,8 @@
1
1
  import { canReplayHeaderFooterVerbatim, getHeaderFooterVerbatimXml } from "../headerFooterVerbatim.js";
2
2
  import { escapeXml } from "./xmlUtils.js";
3
- import { serializeBlockSdt } from "./blockSdtSerializer.js";
4
3
  import { serializeTable } from "./tableSerializer.js";
5
4
  import { serializeParagraph } from "./paragraphSerializer.js";
5
+ import { serializeBlockSdt } from "./blockSdtSerializer.js";
6
6
  //#region src/docx/serializer/headerFooterSerializer.ts
7
7
  const NAMESPACES = {
8
8
  wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/noteSerializer.d.ts
4
3
  /**
5
4
  * Serialize footnotes to a complete word/footnotes.xml string.
@@ -1,6 +1,6 @@
1
- import { serializeBlockSdt } from "./blockSdtSerializer.js";
2
1
  import { serializeTable } from "./tableSerializer.js";
3
2
  import { serializeParagraph } from "./paragraphSerializer.js";
3
+ import { serializeBlockSdt } from "./blockSdtSerializer.js";
4
4
  //#region src/docx/serializer/noteSerializer.ts
5
5
  const NAMESPACES = {
6
6
  wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/numberingSerializer.d.ts
4
3
  /**
5
4
  * Serialize {@link NumberingDefinitions} to a complete `word/numbering.xml`
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/paragraphSerializer.d.ts
4
3
  declare function serializeParagraphFormatting(formatting: document_d_exports.ParagraphFormatting | undefined, propertyChanges?: document_d_exports.ParagraphPropertyChange[], pPrMark?: document_d_exports.ParagraphMarkChange): string;
5
4
  /**
@@ -1,7 +1,7 @@
1
1
  import { numPrEqual } from "../numberingParser.js";
2
2
  import { isValidHexColor } from "../../utils/colorResolver.js";
3
- import { escapeXml, intAttr, isSingleWellFormedElement } from "./xmlUtils.js";
4
3
  import { reconcileRawSdtPr } from "../sdtPropertiesPatch.js";
4
+ import { escapeXml, intAttr, isSingleWellFormedElement } from "./xmlUtils.js";
5
5
  import { serializeBorder } from "./borderSerializer.js";
6
6
  import { serializeRun, serializeTextFormatting } from "./runSerializer.js";
7
7
  import { serializeSectionProperties } from "./sectionPropertiesSerializer.js";
@@ -90,10 +90,8 @@ function serializeIndentation(formatting) {
90
90
  const attrs = [];
91
91
  if (formatting.indentLeft !== void 0) attrs.push(`w:left="${intAttr(formatting.indentLeft)}"`);
92
92
  if (formatting.indentRight !== void 0) attrs.push(`w:right="${intAttr(formatting.indentRight)}"`);
93
- if (formatting.indentFirstLine !== void 0) {
94
- if (formatting.hangingIndent) attrs.push(`w:hanging="${intAttr(Math.abs(formatting.indentFirstLine))}"`);
95
- else if (formatting.indentFirstLine !== 0) attrs.push(`w:firstLine="${intAttr(formatting.indentFirstLine)}"`);
96
- }
93
+ if (formatting.indentFirstLine !== void 0) if (formatting.hangingIndent) attrs.push(`w:hanging="${intAttr(Math.abs(formatting.indentFirstLine))}"`);
94
+ else attrs.push(`w:firstLine="${intAttr(formatting.indentFirstLine)}"`);
97
95
  if (attrs.length === 0) return "";
98
96
  return `<w:ind ${attrs.join(" ")}/>`;
99
97
  }
@@ -246,24 +244,13 @@ function serializeBookmarkStart(bookmark) {
246
244
  function serializeBookmarkEnd(bookmark) {
247
245
  return `<w:bookmarkEnd w:id="${bookmark.id}"/>`;
248
246
  }
249
- /**
250
- * Serialize a simple field as a complex field (fldChar begin/separate/end).
251
- * Complex field format is more widely supported by OOXML consumers
252
- * (Google Docs, Apple Pages) than w:fldSimple.
253
- */
247
+ /** Serialize a simple field without changing its authored OOXML field form. */
254
248
  function serializeSimpleField(field) {
255
- const parts = [];
256
- const firstRun = field.content.find((c) => c.type === "run");
257
- const rPrXml = firstRun?.formatting ? serializeTextFormatting(firstRun.formatting) : "";
258
- const beginAttrs = ["w:fldCharType=\"begin\""];
259
- if (field.fldLock) beginAttrs.push("w:fldLock=\"true\"");
260
- parts.push(`<w:r>${rPrXml}<w:fldChar ${beginAttrs.join(" ")}/></w:r>`);
261
- const spaceAttr = field.instruction.startsWith(" ") || field.instruction.endsWith(" ") || field.instruction.includes(" ") ? " xml:space=\"preserve\"" : "";
262
- parts.push(`<w:r>${rPrXml}<w:instrText${spaceAttr}>${escapeXml(field.instruction)}</w:instrText></w:r>`);
263
- parts.push(`<w:r>${rPrXml}<w:fldChar w:fldCharType="separate"/></w:r>`);
264
- for (const item of field.content) if (item.type === "run") parts.push(serializeRun(item));
265
- parts.push(`<w:r>${rPrXml}<w:fldChar w:fldCharType="end"/></w:r>`);
266
- return parts.join("");
249
+ const attrs = [`w:instr="${escapeXml(field.instruction)}"`];
250
+ if (field.fldLock) attrs.push("w:fldLock=\"true\"");
251
+ if (field.dirty) attrs.push("w:dirty=\"true\"");
252
+ const contentXml = field.content.map((item) => item.type === "run" ? serializeRun(item) : serializeHyperlink(item)).join("");
253
+ return `<w:fldSimple ${attrs.join(" ")}>${contentXml}</w:fldSimple>`;
267
254
  }
268
255
  /**
269
256
  * Serialize a complex field
@@ -278,7 +265,7 @@ function serializeComplexField(field) {
278
265
  if (field.fldLock) beginAttrs.push("w:fldLock=\"true\"");
279
266
  parts.push(`<w:r>${rPrXml}<w:fldChar ${beginAttrs.join(" ")}/></w:r>`);
280
267
  if (field.fieldCode.length > 0) parts.push(...field.fieldCode.map((run) => serializeRun(run)));
281
- else {
268
+ else if (field.instruction.length > 0) {
282
269
  const spaceAttr = field.instruction.startsWith(" ") || field.instruction.endsWith(" ") || field.instruction.includes(" ") ? " xml:space=\"preserve\"" : "";
283
270
  parts.push(`<w:r>${rPrXml}<w:instrText${spaceAttr}>${escapeXml(field.instruction)}</w:instrText></w:r>`);
284
271
  }
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/runSerializer.d.ts
4
3
  /**
5
4
  * Reset the auto-incrementing ID counter. Call before each serialization pass
@@ -1,5 +1,7 @@
1
1
  import { HIGHLIGHT_COLOR_VALUES } from "../../types/documentEnumValues.js";
2
+ import { THEME_COLOR_TO_DRAWING_SCHEME } from "../drawingUtils.js";
2
3
  import { isValidHexColor } from "../../utils/colorResolver.js";
4
+ import { requiresXmlSpacePreserve } from "../textWhitespace.js";
3
5
  import { escapeXml, intAttr } from "./xmlUtils.js";
4
6
  import { serializeTable } from "./tableSerializer.js";
5
7
  import { serializeParagraph } from "./paragraphSerializer.js";
@@ -36,7 +38,7 @@ function getUniqueId(id) {
36
38
  return String(nextAutoId++);
37
39
  }
38
40
  /** Valid OOXML highlight color names (ECMA-376 §17.18.40) */
39
- const VALID_HIGHLIGHT_COLORS = new Set(HIGHLIGHT_COLOR_VALUES.filter((color) => color !== "none"));
41
+ const VALID_HIGHLIGHT_COLORS = new Set(HIGHLIGHT_COLOR_VALUES);
40
42
  /**
41
43
  * Serialize a color element (w:color)
42
44
  */
@@ -82,6 +84,7 @@ function serializeTextFormatting(formatting) {
82
84
  if (formatting.fontFamily.hAnsi) fontAttrs.push(`w:hAnsi="${escapeXml(formatting.fontFamily.hAnsi)}"`);
83
85
  if (formatting.fontFamily.eastAsia) fontAttrs.push(`w:eastAsia="${escapeXml(formatting.fontFamily.eastAsia)}"`);
84
86
  if (formatting.fontFamily.cs) fontAttrs.push(`w:cs="${escapeXml(formatting.fontFamily.cs)}"`);
87
+ if (formatting.fontFamily.hint) fontAttrs.push(`w:hint="${escapeXml(formatting.fontFamily.hint)}"`);
85
88
  if (formatting.fontFamily.asciiTheme) fontAttrs.push(`w:asciiTheme="${formatting.fontFamily.asciiTheme}"`);
86
89
  if (formatting.fontFamily.hAnsiTheme) fontAttrs.push(`w:hAnsiTheme="${formatting.fontFamily.hAnsiTheme}"`);
87
90
  if (formatting.fontFamily.eastAsiaTheme) fontAttrs.push(`w:eastAsiaTheme="${formatting.fontFamily.eastAsiaTheme}"`);
@@ -129,7 +132,7 @@ function serializeTextFormatting(formatting) {
129
132
  if (formatting.position !== void 0) parts.push(`<w:position w:val="${intAttr(formatting.position)}"/>`);
130
133
  if (formatting.fontSize !== void 0) parts.push(`<w:sz w:val="${intAttr(formatting.fontSize)}"/>`);
131
134
  if (formatting.fontSizeCs !== void 0) parts.push(`<w:szCs w:val="${intAttr(formatting.fontSizeCs)}"/>`);
132
- if (formatting.highlight && formatting.highlight !== "none") {
135
+ if (formatting.highlight) {
133
136
  if (VALID_HIGHLIGHT_COLORS.has(formatting.highlight)) parts.push(`<w:highlight w:val="${formatting.highlight}"/>`);
134
137
  else if (!formatting.shading) {
135
138
  const hex = formatting.highlight.replace(/^#/u, "");
@@ -147,13 +150,14 @@ function serializeTextFormatting(formatting) {
147
150
  parts.push(`<w:u ${uAttrs.join(" ")}/>`);
148
151
  }
149
152
  if (formatting.effect && formatting.effect !== "none") parts.push(`<w:effect w:val="${formatting.effect}"/>`);
150
- if (formatting.emphasisMark && formatting.emphasisMark !== "none") parts.push(`<w:em w:val="${formatting.emphasisMark}"/>`);
153
+ if (formatting.emphasisMark) parts.push(`<w:em w:val="${formatting.emphasisMark}"/>`);
151
154
  const shadingXml = serializeShading(formatting.shading);
152
155
  if (shadingXml) parts.push(shadingXml);
153
156
  if (formatting.vertAlign) parts.push(`<w:vertAlign w:val="${formatting.vertAlign}"/>`);
154
157
  if (formatting.rtl === true) parts.push("<w:rtl/>");
155
158
  else if (formatting.rtl === false) parts.push("<w:rtl w:val=\"0\"/>");
156
- if (formatting.cs) parts.push("<w:cs/>");
159
+ if (formatting.cs === true) parts.push("<w:cs/>");
160
+ else if (formatting.cs === false) parts.push("<w:cs w:val=\"0\"/>");
157
161
  if (parts.length === 0) return "";
158
162
  return `<w:rPr>${parts.join("")}</w:rPr>`;
159
163
  }
@@ -183,13 +187,18 @@ function serializeRunProperties(formatting, propertyChanges) {
183
187
  * Serialize text content (w:t)
184
188
  */
185
189
  function serializeTextContent(content) {
186
- return `<w:t${content.preserveSpace || content.text.startsWith(" ") || content.text.endsWith(" ") || content.text.includes(" ") ? " xml:space=\"preserve\"" : ""}>${escapeXml(content.text)}</w:t>`;
190
+ return `<w:t${content.preserveSpace || requiresXmlSpacePreserve(content.text) ? " xml:space=\"preserve\"" : ""}>${escapeXml(content.text)}</w:t>`;
187
191
  }
188
192
  /**
189
193
  * Serialize tab content (w:tab)
190
194
  */
191
- function serializeTabContent(_content) {
192
- return "<w:tab/>";
195
+ function serializeTabContent(content) {
196
+ if (!content.positional) return "<w:tab/>";
197
+ return `<w:ptab${[
198
+ content.positional.relativeTo ? ` w:relativeTo="${escapeXml(content.positional.relativeTo)}"` : "",
199
+ content.positional.alignment ? ` w:alignment="${escapeXml(content.positional.alignment)}"` : "",
200
+ content.positional.leader ? ` w:leader="${escapeXml(content.positional.leader)}"` : ""
201
+ ].join("")}/>`;
193
202
  }
194
203
  /**
195
204
  * Serialize break content (w:br)
@@ -198,10 +207,8 @@ function serializeBreakContent(content) {
198
207
  const attrs = [];
199
208
  if (content.breakType === "page") attrs.push("w:type=\"page\"");
200
209
  else if (content.breakType === "column") attrs.push("w:type=\"column\"");
201
- else if (content.breakType === "textWrapping") {
202
- attrs.push("w:type=\"textWrapping\"");
203
- if (content.clear && content.clear !== "none") attrs.push(`w:clear="${content.clear}"`);
204
- }
210
+ else if (content.breakType === "textWrapping") attrs.push("w:type=\"textWrapping\"");
211
+ if (content.clear !== void 0) attrs.push(`w:clear="${content.clear}"`);
205
212
  if (attrs.length === 0) return "<w:br/>";
206
213
  return `<w:br ${attrs.join(" ")}/>`;
207
214
  }
@@ -250,7 +257,7 @@ function serializeDrawingColor(color) {
250
257
  if (!color) return "";
251
258
  if (color.rgb && isValidHexColor(color.rgb)) return `<a:srgbClr val="${escapeXml(color.rgb.replace("#", ""))}"/>`;
252
259
  if (color.themeColor) {
253
- let clr = `<a:schemeClr val="${escapeXml(color.themeColor)}"`;
260
+ let clr = `<a:schemeClr val="${THEME_COLOR_TO_DRAWING_SCHEME[color.themeColor]}"`;
254
261
  if (color.themeTint) clr += `><a:tint val="${escapeXml(color.themeTint)}"/></a:schemeClr>`;
255
262
  else if (color.themeShade) clr += `><a:shade val="${escapeXml(color.themeShade)}"/></a:schemeClr>`;
256
263
  else clr += `/>`;
@@ -260,7 +267,9 @@ function serializeDrawingColor(color) {
260
267
  }
261
268
  /** Serialize shape fill to DrawingML */
262
269
  function serializeFill(fill) {
263
- if (!fill || fill.type === "none") return "<a:noFill/>";
270
+ if (!fill) return "";
271
+ if (fill.rawXml) return fill.rawXml;
272
+ if (fill.type === "none") return "<a:noFill/>";
264
273
  if (fill.type === "solid" && fill.color) return `<a:solidFill>${serializeDrawingColor(fill.color)}</a:solidFill>`;
265
274
  if (fill.type === "gradient" && fill.gradient) {
266
275
  const g = fill.gradient;
@@ -282,12 +291,13 @@ function serializeLineCap(cap) {
282
291
  }
283
292
  function serializeOutline(outline) {
284
293
  if (!outline) return "";
294
+ if (outline.rawXml) return outline.rawXml;
285
295
  const attrs = [];
286
296
  if (typeof outline.width === "number") attrs.push(`w="${outline.width}"`);
287
297
  if (outline.cap) attrs.push(`cap="${serializeLineCap(outline.cap)}"`);
288
298
  const parts = [];
289
299
  if (outline.color) parts.push(`<a:solidFill>${serializeDrawingColor(outline.color)}</a:solidFill>`);
290
- if (outline.style && outline.style !== "solid") parts.push(`<a:prstDash val="${outline.style}"/>`);
300
+ if (outline.style) parts.push(`<a:prstDash val="${outline.style}"/>`);
291
301
  if (outline.join === "bevel") parts.push("<a:bevel/>");
292
302
  else if (outline.join === "round") parts.push("<a:round/>");
293
303
  else if (outline.join === "miter") parts.push("<a:miter/>");
@@ -370,6 +380,18 @@ function serializePicGraphic(image, sharedId) {
370
380
  ].join("");
371
381
  }
372
382
  /**
383
+ * Serialize only authored wrap-distance attributes. OOXML defaults omitted
384
+ * values to zero, but preserving absence keeps untouched models stable.
385
+ */
386
+ function serializeWrapDistanceAttrs(wrap) {
387
+ const attrs = [];
388
+ if (wrap?.distT !== void 0) attrs.push(`distT="${intAttr(wrap.distT)}"`);
389
+ if (wrap?.distB !== void 0) attrs.push(`distB="${intAttr(wrap.distB)}"`);
390
+ if (wrap?.distL !== void 0) attrs.push(`distL="${intAttr(wrap.distL)}"`);
391
+ if (wrap?.distR !== void 0) attrs.push(`distR="${intAttr(wrap.distR)}"`);
392
+ return attrs.length > 0 ? ` ${attrs.join(" ")}` : "";
393
+ }
394
+ /**
373
395
  * Serialize drawing/image content (w:drawing) to full DrawingML XML
374
396
  */
375
397
  function serializeDrawingContent(content) {
@@ -377,24 +399,28 @@ function serializeDrawingContent(content) {
377
399
  const isFloating = image.wrap.type !== "inline";
378
400
  const cx = image.size.width;
379
401
  const cy = image.size.height;
380
- const distT = image.wrap.distT ?? 0;
381
- const distB = image.wrap.distB ?? 0;
382
- const distL = image.wrap.distL ?? 0;
383
- const distR = image.wrap.distR ?? 0;
402
+ const wrapDistanceAttrs = serializeWrapDistanceAttrs(image.wrap);
384
403
  const effL = image.padding?.left ?? 0;
385
404
  const effT = image.padding?.top ?? 0;
386
405
  const effR = image.padding?.right ?? 0;
387
406
  const effB = image.padding?.bottom ?? 0;
388
407
  const effectExtentEl = `<wp:effectExtent l="${intAttr(effL)}" t="${intAttr(effT)}" r="${intAttr(effR)}" b="${intAttr(effB)}"/>`;
389
408
  const docPrId = getUniqueId(image.id);
390
- const docPrName = image.title || image.filename || `Picture ${docPrId}`;
409
+ const docPrName = image.docPrName ?? image.filename ?? `Picture ${docPrId}`;
410
+ const docPrDescription = image.alt !== void 0 ? ` descr="${escapeXml(image.alt)}"` : "";
411
+ const docPrTitle = image.title !== void 0 ? ` title="${escapeXml(image.title)}"` : "";
412
+ const hlinkClick = image.hlinkRId ? `<a:hlinkClick r:id="${escapeXml(image.hlinkRId)}"/>` : "";
413
+ const inlineDocPrAttrs = `id="${docPrId}" name="${escapeXml(docPrName)}"${docPrDescription}${docPrTitle}${image.decorative ? " hidden=\"1\"" : ""}`;
414
+ const inlineDocPr = hlinkClick ? `<wp:docPr ${inlineDocPrAttrs}>${hlinkClick}</wp:docPr>` : `<wp:docPr ${inlineDocPrAttrs}/>`;
415
+ const anchorDocPrAttrs = `id="${docPrId}" name="${escapeXml(docPrName)}"${docPrDescription}${docPrTitle}`;
416
+ const anchorDocPr = hlinkClick ? `<wp:docPr ${anchorDocPrAttrs}>${hlinkClick}</wp:docPr>` : `<wp:docPr ${anchorDocPrAttrs}/>`;
391
417
  const graphic = serializePicGraphic(image, docPrId);
392
418
  if (!isFloating) return [
393
419
  "<w:drawing>",
394
- `<wp:inline distT="${intAttr(distT)}" distB="${intAttr(distB)}" distL="${intAttr(distL)}" distR="${intAttr(distR)}">`,
420
+ `<wp:inline${wrapDistanceAttrs}>`,
395
421
  `<wp:extent cx="${intAttr(cx)}" cy="${intAttr(cy)}"/>`,
396
422
  effectExtentEl,
397
- `<wp:docPr id="${docPrId}" name="${escapeXml(docPrName)}"${image.alt ? ` descr="${escapeXml(image.alt)}"` : ""}${image.decorative ? " hidden=\"1\"" : ""}/>`,
423
+ inlineDocPr,
398
424
  "<wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" noChangeAspect=\"1\"/></wp:cNvGraphicFramePr>",
399
425
  graphic,
400
426
  "</wp:inline>",
@@ -403,17 +429,15 @@ function serializeDrawingContent(content) {
403
429
  const behindDoc = image.wrap.type === "behind" ? "1" : "0";
404
430
  const position = image.position ? serializePosition(image.position) : "<wp:positionH relativeFrom=\"column\"><wp:posOffset>0</wp:posOffset></wp:positionH><wp:positionV relativeFrom=\"paragraph\"><wp:posOffset>0</wp:posOffset></wp:positionV>";
405
431
  const wrap = serializeWrap(image.wrap);
406
- const layoutInCellAttr = image.layoutInCell === false ? "0" : "1";
407
- const allowOverlapAttr = image.allowOverlap === false ? "0" : "1";
408
432
  return [
409
433
  "<w:drawing>",
410
- `<wp:anchor distT="${intAttr(distT)}" distB="${intAttr(distB)}" distL="${intAttr(distL)}" distR="${intAttr(distR)}" simplePos="0" relativeHeight="251658240" behindDoc="${behindDoc}" locked="0" layoutInCell="${layoutInCellAttr}" allowOverlap="${allowOverlapAttr}">`,
434
+ `<wp:anchor${wrapDistanceAttrs} simplePos="0" relativeHeight="251658240" behindDoc="${behindDoc}" locked="0" layoutInCell="${image.layoutInCell === false ? "0" : "1"}" allowOverlap="${image.allowOverlap === false ? "0" : "1"}">`,
411
435
  "<wp:simplePos x=\"0\" y=\"0\"/>",
412
436
  position,
413
437
  `<wp:extent cx="${intAttr(cx)}" cy="${intAttr(cy)}"/>`,
414
438
  effectExtentEl,
415
439
  wrap,
416
- `<wp:docPr id="${docPrId}" name="${escapeXml(docPrName)}"${image.alt ? ` descr="${escapeXml(image.alt)}"` : ""}/>`,
440
+ anchorDocPr,
417
441
  "<wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" noChangeAspect=\"1\"/></wp:cNvGraphicFramePr>",
418
442
  graphic,
419
443
  "</wp:anchor>",
@@ -433,12 +457,9 @@ function serializeShapeContent(content) {
433
457
  const cy = shape.size.height;
434
458
  const isTextBox = shape.shapeType === "textBox";
435
459
  const isFloating = shape.wrap && shape.wrap.type !== "inline";
436
- const distT = shape.wrap?.distT ?? 0;
437
- const distB = shape.wrap?.distB ?? 0;
438
- const distL = shape.wrap?.distL ?? 0;
439
- const distR = shape.wrap?.distR ?? 0;
460
+ const wrapDistances = serializeWrapDistanceAttrs(shape.wrap);
440
461
  const docPrId = getUniqueId(shape.id);
441
- const docPrName = shape.name || (isTextBox ? `TextBox ${docPrId}` : `Shape ${docPrId}`);
462
+ const docPrName = shape.name ?? (isTextBox ? `TextBox ${docPrId}` : `Shape ${docPrId}`);
442
463
  let xfrmAttrs = "";
443
464
  if (shape.transform?.rotation) xfrmAttrs += ` rot="${Math.round(shape.transform.rotation * 6e4)}"`;
444
465
  if (shape.transform?.flipH) xfrmAttrs += " flipH=\"1\"";
@@ -494,7 +515,7 @@ function serializeShapeContent(content) {
494
515
  ].join("");
495
516
  if (!isFloating) return [
496
517
  "<w:drawing>",
497
- `<wp:inline distT="${intAttr(distT)}" distB="${intAttr(distB)}" distL="${intAttr(distL)}" distR="${intAttr(distR)}">`,
518
+ `<wp:inline${wrapDistances}>`,
498
519
  `<wp:extent cx="${intAttr(cx)}" cy="${intAttr(cy)}"/>`,
499
520
  "<wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/>",
500
521
  `<wp:docPr id="${docPrId}" name="${escapeXml(docPrName)}"/>`,
@@ -509,7 +530,7 @@ function serializeShapeContent(content) {
509
530
  const wrap = serializeWrap(shape.wrap);
510
531
  return [
511
532
  "<w:drawing>",
512
- `<wp:anchor distT="${intAttr(distT)}" distB="${intAttr(distB)}" distL="${intAttr(distL)}" distR="${intAttr(distR)}" simplePos="0" relativeHeight="251658240" behindDoc="${behindDoc}" locked="0" layoutInCell="1" allowOverlap="1">`,
533
+ `<wp:anchor${wrapDistances} simplePos="0" relativeHeight="251658240" behindDoc="${behindDoc}" locked="0" layoutInCell="1" allowOverlap="1">`,
513
534
  "<wp:simplePos x=\"0\" y=\"0\"/>",
514
535
  position,
515
536
  `<wp:extent cx="${intAttr(cx)}" cy="${intAttr(cy)}"/>`,
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/sectionPropertiesSerializer.d.ts
4
3
  declare function serializeSectionProperties(props: document_d_exports.SectionProperties | undefined): string;
5
4
  //#endregion
@@ -30,7 +30,7 @@ function serializePageSize(props) {
30
30
  const attrs = [];
31
31
  if (props.pageWidth !== void 0) attrs.push(`w:w="${intAttr(props.pageWidth)}"`);
32
32
  if (props.pageHeight !== void 0) attrs.push(`w:h="${intAttr(props.pageHeight)}"`);
33
- if (props.orientation === "landscape") attrs.push("w:orient=\"landscape\"");
33
+ if (props.orientation !== void 0) attrs.push(`w:orient="${props.orientation}"`);
34
34
  return attrs.length > 0 ? `<w:pgSz ${attrs.join(" ")}/>` : "";
35
35
  }
36
36
  function serializePageMargins(props) {
@@ -51,9 +51,9 @@ function serializePaperSource(props) {
51
51
  return attrs.length > 0 ? `<w:paperSrc ${attrs.join(" ")}/>` : "";
52
52
  }
53
53
  function serializeColumns(props) {
54
- if (!props.columnCount && !props.columns?.length && props.columnSpace === void 0) return "";
54
+ if (props.columnCount === void 0 && !props.columns?.length && props.columnSpace === void 0 && props.equalWidth === void 0) return "";
55
55
  const attrs = [];
56
- if (props.columnCount !== void 0 && props.columnCount > 1) attrs.push(`w:num="${intAttr(props.columnCount)}"`);
56
+ if (props.columnCount !== void 0 && props.columnCount >= 1) attrs.push(`w:num="${intAttr(props.columnCount)}"`);
57
57
  if (props.columnSpace !== void 0) attrs.push(`w:space="${intAttr(props.columnSpace)}"`);
58
58
  if (props.equalWidth !== void 0) attrs.push(`w:equalWidth="${props.equalWidth ? "1" : "0"}"`);
59
59
  if (props.separator) attrs.push("w:sep=\"1\"");
@@ -169,8 +169,10 @@ function serializeSectionProperties(props) {
169
169
  ]) if (xml) parts.push(xml);
170
170
  if (props.verticalAlign) parts.push(`<w:vAlign w:val="${props.verticalAlign}"/>`);
171
171
  if (props.textDirection) parts.push(`<w:textDirection w:val="${props.textDirection}"/>`);
172
- if (props.titlePg) parts.push("<w:titlePg/>");
173
- if (props.bidi) parts.push("<w:bidi/>");
172
+ const titlePgXml = serializeOnOffElement(props.titlePg, "titlePg");
173
+ if (titlePgXml) parts.push(titlePgXml);
174
+ const bidiXml = serializeOnOffElement(props.bidi, "bidi");
175
+ if (bidiXml) parts.push(bidiXml);
174
176
  for (const xml of [
175
177
  serializeOnOffElement(props.formProtection, "formProt"),
176
178
  serializeOnOffElement(props.noEndnote, "noEndnote"),
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/settingsSerializer.d.ts
4
3
  declare const serializeSettingsXml: (settings: document_d_exports.DocumentSettings) => string;
5
4
  //#endregion
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/stylesSerializer.d.ts
4
3
  declare const serializeStylesXml: (definitions: document_d_exports.StyleDefinitions) => string;
5
4
  //#endregion
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/tableSerializer.d.ts
4
3
  type ParagraphSerializer = (paragraph: document_d_exports.Paragraph) => string;
5
4
  /**
@@ -172,6 +172,8 @@ function serializeTablePropertyChange(change) {
172
172
  function serializeTableRowFormatting(formatting, propertyChanges, structuralChange) {
173
173
  const parts = [];
174
174
  if (formatting) {
175
+ const cnfStyleXml = serializeConditionalFormatStyle(formatting.conditionalFormat);
176
+ if (cnfStyleXml) parts.push(cnfStyleXml);
175
177
  if (formatting.gridBefore) parts.push(`<w:gridBefore w:val="${intAttr(formatting.gridBefore)}"/>`);
176
178
  if (formatting.widthBefore) parts.push(`<w:wBefore w:w="${intAttr(formatting.widthBefore.value)}" w:type="${formatting.widthBefore.type}"/>`);
177
179
  if (formatting.gridAfter) parts.push(`<w:gridAfter w:val="${intAttr(formatting.gridAfter)}"/>`);
@@ -1,5 +1,4 @@
1
1
  import { document_d_exports } from "../../types/document.js";
2
-
3
2
  //#region src/docx/serializer/themeSerializer.d.ts
4
3
  declare const serializeThemeXml: (theme: document_d_exports.Theme) => string;
5
4
  //#endregion
@@ -3,8 +3,17 @@ import { getLocalName, parseXml } from "../xmlParser.js";
3
3
  /**
4
4
  * Shared XML utility functions for serializers.
5
5
  */
6
+ const XML_SPECIAL_CHARACTER_PATTERN = /[&<>"']/u;
7
+ const XML_SPECIAL_CHARACTER_GLOBAL_PATTERN = /[&<>"']/gu;
6
8
  function escapeXml(text) {
7
- return text.replace(/&/gu, "&amp;").replace(/</gu, "&lt;").replace(/>/gu, "&gt;").replace(/"/gu, "&quot;").replace(/'/gu, "&apos;");
9
+ if (!XML_SPECIAL_CHARACTER_PATTERN.test(text)) return text;
10
+ return text.replace(XML_SPECIAL_CHARACTER_GLOBAL_PATTERN, (character) => {
11
+ if (character === "&") return "&amp;";
12
+ if (character === "<") return "&lt;";
13
+ if (character === ">") return "&gt;";
14
+ if (character === "\"") return "&quot;";
15
+ return "&apos;";
16
+ });
8
17
  }
9
18
  /**
10
19
  * Format a numeric value as an integer XML attribute.
@@ -1,13 +1,13 @@
1
1
  import { DocxArchiveOptions } from "./boundedArchive.js";
2
2
  import { FOLIO_DOCX_XML_PATCH_PROPOSAL_PROFILE, FolioDocxPreparedXmlReplacement, FolioDocxXmlPatchProposalEvaluation, FolioDocxXmlPatchProposalLimits } from "./evaluateDocxXmlPatchProposal.js";
3
3
  import { FOLIO_DOCX_CONFORMANCE_PROFILE, FolioDocxConformanceReport } from "./validateDocxConformance.js";
4
-
5
4
  //#region src/docx/server/applyDocxXmlPatchProposal.d.ts
6
5
  declare const FOLIO_DOCX_XML_PATCH_APPLICATION_VERSION: 1;
7
6
  declare const FOLIO_DOCX_XML_PATCH_APPLICATION_PROFILE: "folio-xml-patch-application-v1";
8
7
  type ApplyDocxXmlPatchProposalArgs = {
9
8
  readonly bytes: ArrayBuffer | Uint8Array;
10
- readonly proposal: unknown; /** Exact package paths authorized by the server-side caller. */
9
+ readonly proposal: unknown;
10
+ /** Exact package paths authorized by the server-side caller. */
11
11
  readonly allowedParts: readonly string[];
12
12
  readonly validationProfile: typeof FOLIO_DOCX_CONFORMANCE_PROFILE;
13
13
  readonly archive?: DocxArchiveOptions;
@@ -75,13 +75,6 @@ declare const FolioDocxXmlPatchApplicationError_base: import("better-result").Ta
75
75
  }>;
76
76
  declare class FolioDocxXmlPatchApplicationError extends FolioDocxXmlPatchApplicationError_base {}
77
77
  /** Apply a guarded XML proposal and return output only after full profile validation. */
78
- declare const applyDocxXmlPatchProposal: ({
79
- bytes,
80
- proposal: rawProposal,
81
- allowedParts,
82
- validationProfile,
83
- archive,
84
- limits
85
- }: ApplyDocxXmlPatchProposalArgs) => Promise<FolioDocxXmlPatchApplication>;
78
+ declare const applyDocxXmlPatchProposal: ({ bytes, proposal: rawProposal, allowedParts, validationProfile, archive, limits }: ApplyDocxXmlPatchProposalArgs) => Promise<FolioDocxXmlPatchApplication>;
86
79
  //#endregion
87
80
  export { ApplyDocxXmlPatchProposalArgs, FOLIO_DOCX_XML_PATCH_APPLICATION_PROFILE, FOLIO_DOCX_XML_PATCH_APPLICATION_VERSION, FolioDocxXmlPatchApplication, FolioDocxXmlPatchApplicationError, FolioDocxXmlPatchApplicationReceipt, UnsupportedFolioDocxXmlPatchApplicationProfileError, applyDocxXmlPatchProposal };
@@ -1,5 +1,4 @@
1
1
  import { MarkdownOptions } from "../../markdown/types.js";
2
-
3
2
  //#region src/docx/server/docxToMarkdown.d.ts
4
3
  /**
5
4
  * Convert a DOCX file to markdown in a single server-safe call.
@@ -1,5 +1,4 @@
1
1
  import { DocxArchiveOptions } from "./boundedArchive.js";
2
-
3
2
  //#region src/docx/server/evaluateDocxXmlPatchProposal.d.ts
4
3
  declare const FOLIO_DOCX_XML_PATCH_PROPOSAL_VERSION: 1;
5
4
  declare const FOLIO_DOCX_XML_PATCH_PROPOSAL_PROFILE: "folio-xml-patch-proposal-v1";
@@ -26,7 +25,8 @@ type FolioDocxXmlPatchProposalLimits = {
26
25
  };
27
26
  type EvaluateDocxXmlPatchProposalArgs = {
28
27
  readonly bytes: ArrayBuffer | Uint8Array;
29
- readonly proposal: unknown; /** Exact package paths authorized by the server-side caller. */
28
+ readonly proposal: unknown;
29
+ /** Exact package paths authorized by the server-side caller. */
30
30
  readonly allowedParts: readonly string[];
31
31
  readonly archive?: DocxArchiveOptions;
32
32
  readonly limits?: FolioDocxXmlPatchProposalLimits;
@@ -74,12 +74,6 @@ declare const InvalidFolioDocxXmlPatchProposalOptionsError_base: import("better-
74
74
  }>;
75
75
  declare class InvalidFolioDocxXmlPatchProposalOptionsError extends InvalidFolioDocxXmlPatchProposalOptionsError_base {}
76
76
  declare const parseFolioDocxXmlPatchProposal: (value: unknown) => FolioDocxXmlPatchProposal;
77
- declare const evaluateDocxXmlPatchProposal: ({
78
- bytes,
79
- proposal: rawProposal,
80
- allowedParts,
81
- archive,
82
- limits: rawLimits
83
- }: EvaluateDocxXmlPatchProposalArgs) => Promise<FolioDocxXmlPatchProposalEvaluation>;
77
+ declare const evaluateDocxXmlPatchProposal: ({ bytes, proposal: rawProposal, allowedParts, archive, limits: rawLimits }: EvaluateDocxXmlPatchProposalArgs) => Promise<FolioDocxXmlPatchProposalEvaluation>;
84
78
  //#endregion
85
79
  export { EvaluateDocxXmlPatchProposalArgs, FOLIO_DOCX_XML_PATCH_PROPOSAL_DEFAULTS, FOLIO_DOCX_XML_PATCH_PROPOSAL_ISSUE_CODES, FOLIO_DOCX_XML_PATCH_PROPOSAL_PROFILE, FOLIO_DOCX_XML_PATCH_PROPOSAL_VERSION, FolioDocxPreparedXmlReplacement, FolioDocxXmlPatchProposal, FolioDocxXmlPatchProposalEvaluation, FolioDocxXmlPatchProposalIssue, FolioDocxXmlPatchProposalIssueCode, FolioDocxXmlPatchProposalLimits, FolioDocxXmlReplacement, InvalidFolioDocxXmlPatchProposalError, InvalidFolioDocxXmlPatchProposalOptionsError, evaluateDocxXmlPatchProposal, parseFolioDocxXmlPatchProposal };