@stll/folio-core 0.15.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) 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/commentRangeIntegrity.d.ts +0 -1
  41. package/dist/docx/commentReferenceNormalization.d.ts +1 -9
  42. package/dist/docx/commentReplyMarkers.d.ts +0 -1
  43. package/dist/docx/compatibility.d.ts +0 -1
  44. package/dist/docx/conformance.d.ts +0 -1
  45. package/dist/docx/corePropertiesParser.d.ts +0 -1
  46. package/dist/docx/documentParser.d.ts +0 -1
  47. package/dist/docx/documentParser.js +3 -1
  48. package/dist/docx/drawingUtils.d.ts +23 -2
  49. package/dist/docx/drawingUtils.js +23 -1
  50. package/dist/docx/encryption/agileDecryption.d.ts +0 -1
  51. package/dist/docx/encryption/cryptoBytes.js +4 -1
  52. package/dist/docx/encryption/openEncryptedDocx.d.ts +5 -2
  53. package/dist/docx/ensureParaIds.d.ts +7 -3
  54. package/dist/docx/fieldParser.d.ts +23 -11
  55. package/dist/docx/fontTableParser.d.ts +0 -1
  56. package/dist/docx/footnoteParser.d.ts +26 -13
  57. package/dist/docx/footnoteParser.js +4 -2
  58. package/dist/docx/groupDrawingParser.d.ts +0 -1
  59. package/dist/docx/headerFooterParser.d.ts +9 -5
  60. package/dist/docx/headerFooterRefParser.d.ts +0 -1
  61. package/dist/docx/headerFooterReferenceNormalization.d.ts +1 -6
  62. package/dist/docx/headerFooterVerbatim.d.ts +2 -2
  63. package/dist/docx/hyperlinkParser.d.ts +0 -1
  64. package/dist/docx/hyperlinkParser.js +1 -9
  65. package/dist/docx/imageParser.d.ts +0 -1
  66. package/dist/docx/imageParser.js +15 -7
  67. package/dist/docx/mathToMathml.d.ts +0 -1
  68. package/dist/docx/metadataPrivacy.d.ts +1 -3
  69. package/dist/docx/modelValidation.d.ts +0 -1
  70. package/dist/docx/newImage.d.ts +11 -0
  71. package/dist/docx/newImage.js +11 -0
  72. package/dist/docx/normalizeBaseDirection.d.ts +0 -1
  73. package/dist/docx/notePropertiesParser.d.ts +0 -1
  74. package/dist/docx/numberingParser.d.ts +10 -6
  75. package/dist/docx/numberingParser.js +4 -2
  76. package/dist/docx/numberingReferenceNormalization.d.ts +1 -9
  77. package/dist/docx/paragraphParser.d.ts +0 -1
  78. package/dist/docx/paragraphParser.js +27 -14
  79. package/dist/docx/paragraphTextBoxEnrichment.d.ts +0 -1
  80. package/dist/docx/paragraphTextBoxEnrichment.js +2 -1
  81. package/dist/docx/paragraphTraversal.d.ts +1 -8
  82. package/dist/docx/parser.d.ts +15 -8
  83. package/dist/docx/parser.js +12 -1
  84. package/dist/docx/parserEnums.d.ts +2 -2
  85. package/dist/docx/parserEnums.js +3 -2
  86. package/dist/docx/relsParser.d.ts +1 -0
  87. package/dist/docx/renderedPageBreakNormalization.d.ts +12 -0
  88. package/dist/docx/renderedPageBreakNormalization.js +59 -0
  89. package/dist/docx/replyToComment.d.ts +2 -2
  90. package/dist/docx/rezip.d.ts +6 -7
  91. package/dist/docx/rezip.js +136 -102
  92. package/dist/docx/runConsolidator.d.ts +0 -1
  93. package/dist/docx/runParser.d.ts +0 -1
  94. package/dist/docx/runParser.js +9 -12
  95. package/dist/docx/sdtProperties.d.ts +0 -1
  96. package/dist/docx/sdtPropertiesPatch.d.ts +0 -1
  97. package/dist/docx/sectionParser.d.ts +0 -1
  98. package/dist/docx/selectiveSave.d.ts +5 -3
  99. package/dist/docx/selectiveSave.js +2 -2
  100. package/dist/docx/selectiveSaveFlags.d.ts +4 -2
  101. package/dist/docx/selectiveXmlPatch.js +20 -8
  102. package/dist/docx/serializer/blockSdtSerializer.d.ts +0 -1
  103. package/dist/docx/serializer/blockSdtSerializer.js +2 -1
  104. package/dist/docx/serializer/borderSerializer.d.ts +0 -1
  105. package/dist/docx/serializer/commentSerializer.d.ts +0 -1
  106. package/dist/docx/serializer/commentSerializer.js +11 -37
  107. package/dist/docx/serializer/documentSerializer.d.ts +0 -1
  108. package/dist/docx/serializer/documentSerializer.js +1 -1
  109. package/dist/docx/serializer/fontTableSerializer.d.ts +0 -1
  110. package/dist/docx/serializer/headerFooterSerializer.d.ts +0 -1
  111. package/dist/docx/serializer/headerFooterSerializer.js +1 -1
  112. package/dist/docx/serializer/noteSerializer.d.ts +0 -1
  113. package/dist/docx/serializer/noteSerializer.js +1 -1
  114. package/dist/docx/serializer/numberingSerializer.d.ts +0 -1
  115. package/dist/docx/serializer/paragraphSerializer.d.ts +0 -1
  116. package/dist/docx/serializer/paragraphSerializer.js +10 -23
  117. package/dist/docx/serializer/runSerializer.d.ts +0 -1
  118. package/dist/docx/serializer/runSerializer.js +37 -22
  119. package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +0 -1
  120. package/dist/docx/serializer/sectionPropertiesSerializer.js +5 -4
  121. package/dist/docx/serializer/settingsSerializer.d.ts +0 -1
  122. package/dist/docx/serializer/stylesSerializer.d.ts +0 -1
  123. package/dist/docx/serializer/tableSerializer.d.ts +0 -1
  124. package/dist/docx/serializer/tableSerializer.js +2 -0
  125. package/dist/docx/serializer/themeSerializer.d.ts +0 -1
  126. package/dist/docx/serializer/xmlUtils.js +10 -1
  127. package/dist/docx/server/applyDocxXmlPatchProposal.d.ts +3 -10
  128. package/dist/docx/server/docxToMarkdown.d.ts +0 -1
  129. package/dist/docx/server/evaluateDocxXmlPatchProposal.d.ts +3 -9
  130. package/dist/docx/server/inspectDocxPackage.d.ts +3 -8
  131. package/dist/docx/server/validateDocxConformance.d.ts +0 -1
  132. package/dist/docx/settingsParser.d.ts +2 -2
  133. package/dist/docx/shapeParser.d.ts +0 -1
  134. package/dist/docx/shapeParser.js +11 -10
  135. package/dist/docx/streamingXmlParser.d.ts +16 -0
  136. package/dist/docx/streamingXmlParser.js +248 -0
  137. package/dist/docx/styleParser.d.ts +0 -1
  138. package/dist/docx/styleParser.js +6 -4
  139. package/dist/docx/tableParser.d.ts +1 -2
  140. package/dist/docx/tableParser.js +3 -6
  141. package/dist/docx/textBoxParser.d.ts +1 -2
  142. package/dist/docx/textBoxParser.js +4 -1
  143. package/dist/docx/textWhitespace.d.ts +4 -0
  144. package/dist/docx/textWhitespace.js +4 -0
  145. package/dist/docx/themeParser.d.ts +0 -1
  146. package/dist/docx/trackedMoveRangeNormalization.d.ts +1 -8
  147. package/dist/docx/unzip.d.ts +6 -3
  148. package/dist/docx/unzip.js +96 -40
  149. package/dist/docx/vmlImageParser.d.ts +0 -1
  150. package/dist/docx/vmlImageParser.js +3 -1
  151. package/dist/docx/watermarkParser.d.ts +0 -1
  152. package/dist/docx/xmlParser.d.ts +21 -8
  153. package/dist/docx/xmlParser.js +126 -43
  154. package/dist/fields/bookmarkPages.d.ts +0 -1
  155. package/dist/fields/bookmarkText.d.ts +0 -1
  156. package/dist/fields/evaluateField.d.ts +5 -3
  157. package/dist/fields/fieldContext.d.ts +11 -5
  158. package/dist/fields/resolveFieldValues.d.ts +4 -3
  159. package/dist/fields/sectionPageCounts.d.ts +0 -1
  160. package/dist/fields/seqValues.d.ts +0 -1
  161. package/dist/fonts/embeddedFontTable.d.ts +5 -2
  162. package/dist/fonts/embeddedFonts.d.ts +15 -7
  163. package/dist/index.d.ts +1 -0
  164. package/dist/layout-bridge/cellSelectionHighlight.d.ts +0 -1
  165. package/dist/layout-bridge/convert/footnoteLayout.d.ts +5 -3
  166. package/dist/layout-bridge/convert/headerFooterLayout.d.ts +2 -2
  167. package/dist/layout-bridge/convert/paragraphFrames.d.ts +0 -1
  168. package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +8 -8
  169. package/dist/layout-bridge/convert/toFlowBlocks.d.ts +25 -13
  170. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +3 -2
  171. package/dist/layout-bridge/dom/findHfPmSpans.d.ts +2 -1
  172. package/dist/layout-bridge/dom/noteStoryDom.d.ts +0 -1
  173. package/dist/layout-bridge/engine/clickToPosition.d.ts +5 -3
  174. package/dist/layout-bridge/engine/hitTest.d.ts +40 -19
  175. package/dist/layout-bridge/engine/selectionRects.d.ts +16 -8
  176. package/dist/layout-bridge/engine/tableWidthUtils.d.ts +0 -1
  177. package/dist/layout-bridge/headerFooterLayout.d.ts +0 -1
  178. package/dist/layout-bridge/sectionColumns.d.ts +0 -1
  179. package/dist/layout-bridge/tableInsertHover.d.ts +8 -4
  180. package/dist/layout-engine/headerFooterRefs.d.ts +0 -1
  181. package/dist/layout-engine/index.d.ts +0 -1
  182. package/dist/layout-engine/justificationCompatibility.d.ts +0 -1
  183. package/dist/layout-engine/keep-together.d.ts +7 -4
  184. package/dist/layout-engine/layoutInstrumentation.d.ts +0 -1
  185. package/dist/layout-engine/lineFlow.d.ts +0 -1
  186. package/dist/layout-engine/measure/cache.d.ts +0 -1
  187. package/dist/layout-engine/measure/effectiveLineBreakPolicy.d.ts +6 -7
  188. package/dist/layout-engine/measure/floatingTablePosition.d.ts +0 -1
  189. package/dist/layout-engine/measure/floatingZones.d.ts +14 -6
  190. package/dist/layout-engine/measure/font-metrics.worker.d.ts +0 -1
  191. package/dist/layout-engine/measure/lineBreakProvider.d.ts +20 -9
  192. package/dist/layout-engine/measure/lineBreaks.d.ts +0 -1
  193. package/dist/layout-engine/measure/listMarkerWidth.d.ts +0 -1
  194. package/dist/layout-engine/measure/measureBlocks.d.ts +1 -0
  195. package/dist/layout-engine/measure/measureContainer.d.ts +0 -1
  196. package/dist/layout-engine/measure/measureHelpers.d.ts +0 -1
  197. package/dist/layout-engine/measure/measureParagraph.d.ts +3 -2
  198. package/dist/layout-engine/measure/measureParagraph.js +23 -3
  199. package/dist/layout-engine/measure/measureProvider.d.ts +0 -1
  200. package/dist/layout-engine/measure/measureTypes.d.ts +4 -2
  201. package/dist/layout-engine/measure/measureWorker.d.ts +0 -1
  202. package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +0 -1
  203. package/dist/layout-engine/measure/tableCellFloating.d.ts +0 -1
  204. package/dist/layout-engine/measure/tableCellFlow.d.ts +0 -1
  205. package/dist/layout-engine/measure/tableCellGrid.d.ts +0 -1
  206. package/dist/layout-engine/measure/textBoxParagraphLayout.d.ts +0 -1
  207. package/dist/layout-engine/measure/textMeasurementPolicy.d.ts +0 -1
  208. package/dist/layout-engine/paginator.d.ts +66 -33
  209. package/dist/layout-engine/paragraphFragmentRange.d.ts +0 -1
  210. package/dist/layout-engine/paragraphFrame.d.ts +0 -1
  211. package/dist/layout-engine/paragraphSequence.d.ts +0 -1
  212. package/dist/layout-engine/paragraphSpacing.d.ts +1 -5
  213. package/dist/layout-engine/pmPageIndex.d.ts +0 -1
  214. package/dist/layout-engine/renderedBreakReconciliation.d.ts +2 -17
  215. package/dist/layout-engine/section-breaks.d.ts +34 -17
  216. package/dist/layout-engine/tableRowBreak.d.ts +4 -3
  217. package/dist/layout-engine/textBoxFlow.d.ts +0 -1
  218. package/dist/layout-engine/textBoxGroup.d.ts +0 -1
  219. package/dist/layout-engine/types.d.ts +382 -189
  220. package/dist/layout-painter/anchoredImagePosition.d.ts +0 -1
  221. package/dist/layout-painter/borderStroke.d.ts +0 -1
  222. package/dist/layout-painter/imageLayout.d.ts +14 -7
  223. package/dist/layout-painter/index.d.ts +9 -5
  224. package/dist/layout-painter/registry/modules/image.d.ts +0 -1
  225. package/dist/layout-painter/registry/modules/paragraph.d.ts +0 -1
  226. package/dist/layout-painter/registry/modules/table.d.ts +0 -1
  227. package/dist/layout-painter/registry/modules/textBox.d.ts +0 -1
  228. package/dist/layout-painter/registry/modules.d.ts +0 -1
  229. package/dist/layout-painter/registry/registry.d.ts +0 -1
  230. package/dist/layout-painter/registry/types.d.ts +0 -1
  231. package/dist/layout-painter/renderFragment.d.ts +2 -2
  232. package/dist/layout-painter/renderImage.d.ts +0 -1
  233. package/dist/layout-painter/renderPage.d.ts +71 -42
  234. package/dist/layout-painter/renderParagraph.d.ts +28 -14
  235. package/dist/layout-painter/renderParagraph.js +6 -2
  236. package/dist/layout-painter/renderTable.d.ts +0 -1
  237. package/dist/layout-painter/renderTextBox.d.ts +0 -1
  238. package/dist/layout-painter/renderUtils.d.ts +17 -9
  239. package/dist/layout-painter/renderWatermark.d.ts +2 -2
  240. package/dist/layout-painter/sdtBoundary.d.ts +0 -1
  241. package/dist/managers/AutoSaveManager.d.ts +22 -11
  242. package/dist/managers/ClipboardManager.d.ts +0 -1
  243. package/dist/managers/ContextMenuManager.d.ts +5 -8
  244. package/dist/managers/DocumentLoaderManager.d.ts +12 -6
  245. package/dist/managers/EditorModeManager.d.ts +3 -2
  246. package/dist/managers/ErrorManager.d.ts +0 -1
  247. package/dist/managers/FindReplaceManager.d.ts +0 -1
  248. package/dist/managers/HistoryManager.d.ts +19 -9
  249. package/dist/managers/TableSelectionManager.d.ts +0 -1
  250. package/dist/managers/editorShortcuts.d.ts +4 -6
  251. package/dist/markdown/annotations.d.ts +0 -1
  252. package/dist/markdown/fromMarkdown.d.ts +0 -1
  253. package/dist/markdown/images.d.ts +0 -1
  254. package/dist/markdown/index.d.ts +0 -1
  255. package/dist/markdown/internals.d.ts +0 -1
  256. package/dist/markdown/renderBlock.d.ts +0 -1
  257. package/dist/markdown/renderParagraph.d.ts +0 -1
  258. package/dist/markdown/renderRuns.d.ts +0 -1
  259. package/dist/markdown/renderTable.d.ts +0 -1
  260. package/dist/markdown/trailers.d.ts +0 -1
  261. package/dist/markdown/types.d.ts +39 -18
  262. package/dist/model.d.ts +3 -5
  263. package/dist/model.js +2 -2
  264. package/dist/paged-layout/incrementalMeasure.d.ts +1 -10
  265. package/dist/paged-layout/pageText.d.ts +1 -1
  266. package/dist/paged-layout/paragraphFlash.d.ts +0 -1
  267. package/dist/paged-layout/paragraphFlashTypes.d.ts +5 -2
  268. package/dist/paged-layout/rangeProjection.d.ts +10 -5
  269. package/dist/paged-layout/scrollNavigation.d.ts +0 -1
  270. package/dist/paged-layout/scrollPageInfo.d.ts +12 -13
  271. package/dist/paged-layout/scrollToPmPosition.d.ts +0 -1
  272. package/dist/paged-layout/sectionBlockWidths.d.ts +2 -11
  273. package/dist/paged-layout/sectionGeometry.d.ts +0 -1
  274. package/dist/paged-layout/selectionViewportRect.d.ts +0 -1
  275. package/dist/paged-layout/transactionDirtyRange.d.ts +0 -1
  276. package/dist/paged-layout/zoomScrollAnchor.d.ts +2 -12
  277. package/dist/prosemirror/attrs/index.d.ts +2 -2
  278. package/dist/prosemirror/attrs/index.js +5 -0
  279. package/dist/prosemirror/autospacingBase.d.ts +0 -1
  280. package/dist/prosemirror/cellDragSelection.d.ts +6 -4
  281. package/dist/prosemirror/commands/comments.d.ts +6 -4
  282. package/dist/prosemirror/commands/contentControls.d.ts +5 -3
  283. package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +1 -1
  284. package/dist/prosemirror/commands/formatPainter.d.ts +0 -1
  285. package/dist/prosemirror/commands/formatting.d.ts +1 -1
  286. package/dist/prosemirror/commands/hyperlink.d.ts +4 -9
  287. package/dist/prosemirror/commands/image.d.ts +0 -1
  288. package/dist/prosemirror/commands/pageBreak.d.ts +0 -1
  289. package/dist/prosemirror/commands/paragraph.d.ts +0 -1
  290. package/dist/prosemirror/commands/pastePlainText.d.ts +0 -1
  291. package/dist/prosemirror/commands/propertyChangeScope.d.ts +0 -1
  292. package/dist/prosemirror/commands/sectionBreak.d.ts +0 -1
  293. package/dist/prosemirror/commands/table.d.ts +0 -1
  294. package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +0 -1
  295. package/dist/prosemirror/commentIdAllocator.d.ts +2 -2
  296. package/dist/prosemirror/commentOps.d.ts +0 -1
  297. package/dist/prosemirror/conversion/effectiveTableCellFormatting.d.ts +1 -10
  298. package/dist/prosemirror/conversion/fromProseDoc.d.ts +0 -1
  299. package/dist/prosemirror/conversion/fromProseDoc.js +7 -4
  300. package/dist/prosemirror/conversion/runShadingMark.d.ts +0 -1
  301. package/dist/prosemirror/conversion/sdtAttrs.d.ts +0 -1
  302. package/dist/prosemirror/conversion/toProseDoc.d.ts +3 -2
  303. package/dist/prosemirror/conversion/toProseDoc.js +16 -2
  304. package/dist/prosemirror/extensions/ExtensionManager.d.ts +0 -1
  305. package/dist/prosemirror/extensions/StarterKit.d.ts +7 -4
  306. package/dist/prosemirror/extensions/core/DocExtension.d.ts +0 -1
  307. package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +0 -1
  308. package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +0 -1
  309. package/dist/prosemirror/extensions/core/TextExtension.d.ts +0 -1
  310. package/dist/prosemirror/extensions/create.d.ts +0 -1
  311. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +0 -1
  312. package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +0 -1
  313. package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +0 -1
  314. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +0 -1
  315. package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +0 -1
  316. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +0 -1
  317. package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +0 -1
  318. package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +0 -1
  319. package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +0 -1
  320. package/dist/prosemirror/extensions/features/ListExtension.d.ts +0 -1
  321. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +0 -1
  322. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +7 -4
  323. package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +0 -1
  324. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +0 -1
  325. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +0 -1
  326. package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +3 -1
  327. package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +0 -1
  328. package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +0 -1
  329. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +0 -1
  330. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +0 -1
  331. package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +0 -1
  332. package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +0 -1
  333. package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +1 -0
  334. package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +0 -1
  335. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +0 -1
  336. package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +0 -1
  337. package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +0 -1
  338. package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +0 -1
  339. package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +0 -1
  340. package/dist/prosemirror/extensions/marks/LanguageExtension.d.ts +0 -1
  341. package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +0 -1
  342. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +0 -1
  343. package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +0 -1
  344. package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +0 -1
  345. package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +0 -1
  346. package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +0 -1
  347. package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +0 -1
  348. package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +0 -1
  349. package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +0 -1
  350. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +0 -1
  351. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +0 -1
  352. package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +0 -1
  353. package/dist/prosemirror/extensions/marks/markUtils.d.ts +0 -1
  354. package/dist/prosemirror/extensions/marks/markUtils.js +4 -1
  355. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +0 -1
  356. package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +0 -1
  357. package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +0 -1
  358. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +0 -1
  359. package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +0 -1
  360. package/dist/prosemirror/extensions/nodes/ImageExtension.js +2 -0
  361. package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +0 -1
  362. package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +0 -1
  363. package/dist/prosemirror/extensions/nodes/RenderedPageBreakExtension.d.ts +0 -1
  364. package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +0 -1
  365. package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +0 -1
  366. package/dist/prosemirror/extensions/nodes/ShapeExtension.js +2 -0
  367. package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +0 -1
  368. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +4 -3
  369. package/dist/prosemirror/extensions/nodes/TextBoxAnchorExtension.d.ts +0 -1
  370. package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +53 -27
  371. package/dist/prosemirror/extensions/types.d.ts +0 -1
  372. package/dist/prosemirror/findReplaceSelection.d.ts +5 -3
  373. package/dist/prosemirror/imageCommit.d.ts +0 -1
  374. package/dist/prosemirror/index.d.ts +4 -0
  375. package/dist/prosemirror/insertOperations.d.ts +0 -1
  376. package/dist/prosemirror/paraText.d.ts +0 -1
  377. package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +2 -2
  378. package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +0 -1
  379. package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +9 -7
  380. package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +2 -2
  381. package/dist/prosemirror/plugins/contentControlWidgets.d.ts +4 -7
  382. package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +3 -8
  383. package/dist/prosemirror/plugins/documentStyles.d.ts +0 -1
  384. package/dist/prosemirror/plugins/pmTextScan.d.ts +2 -2
  385. package/dist/prosemirror/plugins/revisionIds.d.ts +0 -1
  386. package/dist/prosemirror/plugins/selectionTracker.d.ts +23 -12
  387. package/dist/prosemirror/plugins/suggestionMode.d.ts +0 -1
  388. package/dist/prosemirror/plugins/templateDirectives.d.ts +10 -8
  389. package/dist/prosemirror/plugins/templatePreviewValues.d.ts +10 -5
  390. package/dist/prosemirror/plugins/templateSlashMenu.d.ts +2 -2
  391. package/dist/prosemirror/queries.d.ts +0 -1
  392. package/dist/prosemirror/schema/index.d.ts +0 -1
  393. package/dist/prosemirror/schema/marks.d.ts +8 -5
  394. package/dist/prosemirror/schema/nodes.d.ts +340 -163
  395. package/dist/prosemirror/selectionState.d.ts +13 -7
  396. package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +0 -1
  397. package/dist/prosemirror/styles/styleResolver.d.ts +3 -2
  398. package/dist/prosemirror/tableCellMergeRevision.d.ts +0 -1
  399. package/dist/prosemirror/tableResize.d.ts +0 -1
  400. package/dist/prosemirror/textBoxAnchorAttrs.d.ts +0 -1
  401. package/dist/prosemirror/utils/extractTrackedChanges.d.ts +8 -5
  402. package/dist/prosemirror/utils/findParagraphByParaId.d.ts +0 -1
  403. package/dist/prosemirror/utils/tabCalculator.d.ts +18 -7
  404. package/dist/prosemirror/utils/visualLineNavigation.d.ts +0 -1
  405. package/dist/prosemirror/validation.d.ts +0 -1
  406. package/dist/redline.d.ts +16 -8
  407. package/dist/render-dom/BodySelectionOverlay.d.ts +1 -9
  408. package/dist/render-dom/HeaderFooterSelectionOverlay.d.ts +0 -1
  409. package/dist/render-dom/RemoteSelectionOverlay.d.ts +1 -8
  410. package/dist/render-dom/resolveSidebarItemPositions.d.ts +1 -9
  411. package/dist/style-engine/styleEngine.d.ts +21 -11
  412. package/dist/style-sets/extract.d.ts +4 -3
  413. package/dist/style-sets/stellaStyle.d.ts +0 -1
  414. package/dist/style-sets/types.d.ts +0 -1
  415. package/dist/symbols.d.ts +6 -2
  416. package/dist/types/block-id.d.ts +3 -6
  417. package/dist/types/document.d.ts +0 -3
  418. package/dist/types/documentEnumValues.d.ts +2 -1
  419. package/dist/types/documentEnumValues.js +6 -1
  420. package/dist/utils/clipboard.d.ts +17 -8
  421. package/dist/utils/colorResolver.d.ts +9 -5
  422. package/dist/utils/createDocument.d.ts +19 -10
  423. package/dist/utils/documentLoaderBehavior.d.ts +1 -5
  424. package/dist/utils/docxInput.js +1 -0
  425. package/dist/utils/findReplace.d.ts +0 -1
  426. package/dist/utils/fontFamilyMerge.d.ts +0 -1
  427. package/dist/utils/fontResolver.d.ts +10 -4
  428. package/dist/utils/formatToStyle.d.ts +0 -1
  429. package/dist/utils/headerFooter.d.ts +8 -16
  430. package/dist/utils/headingCollector.d.ts +7 -4
  431. package/dist/utils/mergeDocumentContent.d.ts +0 -1
  432. package/dist/utils/paragraphFormattingMerge.d.ts +0 -1
  433. package/dist/utils/replaceText.d.ts +0 -1
  434. package/dist/utils/rotationBoundingBox.d.ts +0 -1
  435. package/dist/utils/tableOperations.d.ts +0 -1
  436. package/dist/utils/textFormattingMerge.d.ts +0 -1
  437. package/dist/version-comparison.d.ts +12 -6
  438. package/dist/watermark/index.d.ts +0 -1
  439. package/package.json +3 -3
@@ -16,8 +16,11 @@ type WrapTextDirection = "bothSides" | "left" | "right" | "largest";
16
16
  * `rectsToFloatingZones` to derive per-line wrap margins.
17
17
  */
18
18
  type FloatingExclusionRect = {
19
- /** Which side the object is on for simple one-sided wrapping. */side: "left" | "right"; /** X position relative to the content area. */
20
- x: number; /** Y position relative to the content area. */
19
+ /** Which side the object is on for simple one-sided wrapping. */
20
+ side: "left" | "right";
21
+ /** X position relative to the content area. */
22
+ x: number;
23
+ /** Y position relative to the content area. */
21
24
  y: number;
22
25
  width: number;
23
26
  height: number;
@@ -34,10 +37,15 @@ type FloatingExclusionRect = {
34
37
  * correct widths.
35
38
  */
36
39
  type FloatingImageZone = {
37
- /** Left margin reduction (pixels from left edge). */leftMargin: number; /** Right margin reduction (pixels from right edge). */
38
- rightMargin: number; /** Top Y coordinate of the exclusion zone. */
39
- topY: number; /** Bottom Y coordinate of the exclusion zone. */
40
- bottomY: number; /** Optional split segments for centered both-sides wrapping. */
40
+ /** Left margin reduction (pixels from left edge). */
41
+ leftMargin: number;
42
+ /** Right margin reduction (pixels from right edge). */
43
+ rightMargin: number;
44
+ /** Top Y coordinate of the exclusion zone. */
45
+ topY: number;
46
+ /** Bottom Y coordinate of the exclusion zone. */
47
+ bottomY: number;
48
+ /** Optional split segments for centered both-sides wrapping. */
41
49
  segments?: FloatingLineSegmentZone[];
42
50
  /**
43
51
  * Full-width vertical band (OOXML `topAndBottom` wrap): no text fits beside
@@ -1,5 +1,4 @@
1
1
  import { MeasureWorkerRequest, MeasureWorkerResponse } from "./measureWorkerProtocol.js";
2
-
3
2
  //#region src/layout-engine/measure/font-metrics.worker.d.ts
4
3
  /**
5
4
  * Test-only: reset the cached OffscreenCanvas context. Used by unit
@@ -8,18 +8,29 @@
8
8
  * OOXML line-edge restrictions that are available in the flow model.
9
9
  */
10
10
  type LineBreakPolicy = {
11
- /** BCP-47 language tag resolved from `w:lang` for this run. */locale?: string; /** Apply East Asian first/last-character restrictions (`w:kinsoku`). */
12
- kinsoku?: boolean; /** Document replacement list: characters that may not begin a line. */
13
- noLineBreaksBefore?: ReadonlySet<string>; /** Document replacement list: characters that may not end a line. */
14
- noLineBreaksAfter?: ReadonlySet<string>; /** Use the legacy Ethiopic/Amharic compatibility behavior. */
15
- useLegacyEthiopicAmharicRules?: boolean; /** Keep words made entirely of capital letters unhyphenated. */
16
- doNotHyphenateCaps?: boolean; /** The run renders with the DOCX all-caps transform. */
11
+ /** BCP-47 language tag resolved from `w:lang` for this run. */
12
+ locale?: string;
13
+ /** Apply East Asian first/last-character restrictions (`w:kinsoku`). */
14
+ kinsoku?: boolean;
15
+ /** Document replacement list: characters that may not begin a line. */
16
+ noLineBreaksBefore?: ReadonlySet<string>;
17
+ /** Document replacement list: characters that may not end a line. */
18
+ noLineBreaksAfter?: ReadonlySet<string>;
19
+ /** Use the legacy Ethiopic/Amharic compatibility behavior. */
20
+ useLegacyEthiopicAmharicRules?: boolean;
21
+ /** Keep words made entirely of capital letters unhyphenated. */
22
+ doNotHyphenateCaps?: boolean;
23
+ /** The run renders with the DOCX all-caps transform. */
17
24
  renderedAllCaps?: boolean;
18
25
  };
19
26
  type LineBreakProvider = {
20
- /** Legal soft-wrap offsets, in ascending UTF-16 order. */findBreaks: (text: string, policy?: LineBreakPolicy) => number[]; /** Grapheme-safe emergency-wrap offsets, in ascending UTF-16 order. */
21
- findGraphemeBreaks: (text: string, policy?: LineBreakPolicy) => number[]; /** Dictionary-based discretionary hyphen offsets, in ascending UTF-16 order. */
22
- findHyphenationBreaks?: (text: string, policy?: LineBreakPolicy) => number[]; /** Whether a trailing grapheme may overhang the line edge. */
27
+ /** Legal soft-wrap offsets, in ascending UTF-16 order. */
28
+ findBreaks: (text: string, policy?: LineBreakPolicy) => number[];
29
+ /** Grapheme-safe emergency-wrap offsets, in ascending UTF-16 order. */
30
+ findGraphemeBreaks: (text: string, policy?: LineBreakPolicy) => number[];
31
+ /** Dictionary-based discretionary hyphen offsets, in ascending UTF-16 order. */
32
+ findHyphenationBreaks?: (text: string, policy?: LineBreakPolicy) => number[];
33
+ /** Whether a trailing grapheme may overhang the line edge. */
23
34
  isHangingPunctuation?: (text: string, policy?: LineBreakPolicy) => boolean;
24
35
  };
25
36
  declare const MAX_HYPHENATION_WORD_LENGTH = 256;
@@ -1,5 +1,4 @@
1
1
  import { LineBreakPolicy } from "./lineBreakProvider.js";
2
-
3
2
  //#region src/layout-engine/measure/lineBreaks.d.ts
4
3
  /**
5
4
  * Indices in `text` where a line may end. Latin text breaks after
@@ -1,5 +1,4 @@
1
1
  import { ParagraphBlock } from "../types.js";
2
-
3
2
  //#region src/layout-engine/measure/listMarkerWidth.d.ts
4
3
  /**
5
4
  * OOXML default `w:defaultTabStop` (§17.6.13) when settings.xml omits it.
@@ -1,5 +1,6 @@
1
1
  import { FlowBlock, Measure, TableBlock, TableMeasure, TextBoxBlock, TextBoxMeasure } from "../types.js";
2
2
  import { FloatingImageZone } from "./floatingZones.js";
3
+ import "./measureParagraph.js";
3
4
  //#region src/layout-engine/measure/measureBlocks.d.ts
4
5
  declare function measureTableBlock(tableBlock: TableBlock, contentWidth: number, fieldValues?: ReadonlyMap<number, string>): TableMeasure;
5
6
  type BandPageGeometry = {
@@ -1,5 +1,4 @@
1
1
  import { MeasureProvider } from "./measureProvider.js";
2
-
3
2
  //#region src/layout-engine/measure/measureContainer.d.ts
4
3
  /**
5
4
  * Get or create a canvas 2D context for text measurement
@@ -1,6 +1,5 @@
1
1
  import { RunFormatting } from "../types.js";
2
2
  import { FontStyle } from "./measureTypes.js";
3
-
4
3
  //#region src/layout-engine/measure/measureHelpers.d.ts
5
4
  declare const DEFAULT_FONT_SIZE = 11;
6
5
  declare const DEFAULT_FONT_FAMILY = "Calibri";
@@ -1,13 +1,14 @@
1
1
  import { ParagraphBlock, ParagraphMeasure, TextRun } from "../types.js";
2
2
  import { FloatingImageZone } from "./floatingZones.js";
3
3
  import { clampFloatingWrapMargins } from "./clampFloatingWrapMargins.js";
4
-
5
4
  //#region src/layout-engine/measure/measureParagraph.d.ts
6
5
  /**
7
6
  * Options for paragraph measurement
8
7
  */
9
8
  type MeasureParagraphOptions = {
10
- /** Floating image exclusion zones that affect line widths */floatingZones?: FloatingImageZone[]; /** Y offset of this paragraph relative to the exclusion zones (default: 0) */
9
+ /** Floating image exclusion zones that affect line widths */
10
+ floatingZones?: FloatingImageZone[];
11
+ /** Y offset of this paragraph relative to the exclusion zones (default: 0) */
11
12
  paragraphYOffset?: number;
12
13
  /** Field run `pmStart` -> resolved display text, so a field measures at its
13
14
  * painted width instead of the cached fallback. */
@@ -427,6 +427,28 @@ function trimTrailingSpacesAndTabs(text) {
427
427
  }
428
428
  return text.slice(0, end);
429
429
  }
430
+ function measureWordWithTrailingWhitespace(word, style) {
431
+ const measuredWord = trimTrailingSpacesAndTabs(word);
432
+ const wordWidth = measureTextWidth(measuredWord, style);
433
+ const trailingWhitespace = word.slice(measuredWord.length);
434
+ if (trailingWhitespace.length === 0) return {
435
+ measuredWord,
436
+ wordWidth,
437
+ fullWordWidth: wordWidth
438
+ };
439
+ if (style.kerning || trailingWhitespace.includes(" ")) return {
440
+ measuredWord,
441
+ wordWidth,
442
+ fullWordWidth: measureTextWidth(word, style)
443
+ };
444
+ const trailingWhitespaceWidth = measureTextWidth(trailingWhitespace, style);
445
+ const boundarySpacing = measuredWord.length > 0 ? (style.letterSpacing ?? 0) * ((style.horizontalScale ?? 100) / 100) : 0;
446
+ return {
447
+ measuredWord,
448
+ wordWidth,
449
+ fullWordWidth: wordWidth + trailingWhitespaceWidth + boundarySpacing
450
+ };
451
+ }
430
452
  function trailingCodePoint(text) {
431
453
  if (text.length === 0) return;
432
454
  const trailing = text.charCodeAt(text.length - 1);
@@ -1012,9 +1034,7 @@ function measureParagraph(block, maxWidth, options) {
1012
1034
  while ((wordBreaks[wordBreakIndex] ?? Number.POSITIVE_INFINITY) <= charIndex) wordBreakIndex += 1;
1013
1035
  const nextBreak = wordBreaks[wordBreakIndex] ?? text.length;
1014
1036
  const word = text.slice(charIndex, nextBreak);
1015
- const measuredWord = trimTrailingSpacesAndTabs(word);
1016
- const wordWidth = measureTextWidth(measuredWord, style);
1017
- const fullWordWidth = measureTextWidth(word, style);
1037
+ const { measuredWord, wordWidth, fullWordWidth } = measureWordWithTrailingWhitespace(word, style);
1018
1038
  const hangingPunctuationWidth = trailingHangingPunctuationWidth(measuredWord, style, breakPolicy, effectiveLineBreakPolicy.hangingPunctuation);
1019
1039
  const isFirstLine = lines.length === 0;
1020
1040
  const regularSpaceWidth = compressibleSpaceWidth(measuredWord, style);
@@ -1,5 +1,4 @@
1
1
  import { FontMetrics, FontStyle, RunMeasurement, TextMeasurement } from "./measureTypes.js";
2
-
3
2
  //#region src/layout-engine/measure/measureProvider.d.ts
4
3
  /**
5
4
  * Swappable text-measurement backend. A canvas implementation is installed at
@@ -27,7 +27,8 @@ type FontStyle = {
27
27
  letterSpacing?: number;
28
28
  textTransform?: "uppercase";
29
29
  fontVariant?: "small-caps";
30
- horizontalScale?: number; /** Enable pair kerning for runs whose authored threshold is met. */
30
+ horizontalScale?: number;
31
+ /** Enable pair kerning for runs whose authored threshold is met. */
31
32
  kerning?: boolean;
32
33
  };
33
34
  /**
@@ -38,7 +39,8 @@ type FontMetrics = {
38
39
  ascent: number;
39
40
  descent: number;
40
41
  lineHeight: number;
41
- fontFamily: string; /** OS/2 single-line ratio for OOXML line spacing calculation */
42
+ fontFamily: string;
43
+ /** OS/2 single-line ratio for OOXML line spacing calculation */
42
44
  singleLineRatio: number;
43
45
  };
44
46
  /**
@@ -1,5 +1,4 @@
1
1
  import { MeasureRequestEntry, MeasureWorkerRequest, MeasureWorkerResponse } from "./measureWorkerProtocol.js";
2
-
3
2
  //#region src/layout-engine/measure/measureWorker.d.ts
4
3
  /**
5
4
  * Minimal duck-typed transport so tests can supply a fake instead of a
@@ -1,5 +1,4 @@
1
1
  import { FontKerningMode } from "./textMeasurementPolicy.js";
2
-
3
2
  //#region src/layout-engine/measure/measureWorkerProtocol.d.ts
4
3
  /**
5
4
  * Single measurement request inside a batch. Mirrors the inputs that
@@ -1,6 +1,5 @@
1
1
  import { ImageRun, TableCell, TableCellMeasure } from "../types.js";
2
2
  import { FloatingImageZone } from "./floatingZones.js";
3
-
4
3
  //#region src/layout-engine/measure/tableCellFloating.d.ts
5
4
  type TableCellFloatingImage = {
6
5
  src: string;
@@ -1,5 +1,4 @@
1
1
  import { FlowBlock, Measure } from "../types.js";
2
-
3
2
  //#region src/layout-engine/measure/tableCellFlow.d.ts
4
3
  type TableCellBlockPlacement = {
5
4
  top: number;
@@ -1,5 +1,4 @@
1
1
  import { TableCell, TableRow } from "../types.js";
2
-
3
2
  //#region src/layout-engine/measure/tableCellGrid.d.ts
4
3
  type TableCellGrid = {
5
4
  occupiedColumnsByRow: ReadonlyMap<number, ReadonlySet<number>>;
@@ -1,5 +1,4 @@
1
1
  import { ParagraphBlock, ParagraphMeasure, TableBlock, TableMeasure } from "../types.js";
2
-
3
2
  //#region src/layout-engine/measure/textBoxParagraphLayout.d.ts
4
3
  type TextBoxContentPlacement = {
5
4
  leadingSpacing: number;
@@ -1,6 +1,5 @@
1
1
  import { RunFormatting } from "../types.js";
2
2
  import { FontStyle } from "./measureTypes.js";
3
-
4
3
  //#region src/layout-engine/measure/textMeasurementPolicy.d.ts
5
4
  declare const FONT_KERNING_MODE: {
6
5
  readonly enabled: "normal";
@@ -1,33 +1,42 @@
1
1
  import { ColumnLayout, FOOTNOTE_SEPARATOR_HEIGHT, Fragment, Page, PageHeaderFooterRefs, PageMargins } from "./types.js";
2
-
3
2
  //#region src/layout-engine/paginator.d.ts
4
3
  /**
5
4
  * Current state of a page being laid out.
6
5
  */
7
6
  type PageState = {
8
- /** The page being built. */page: Page; /** Current Y position (cursor) from page top. */
9
- cursorY: number; /** Current column index (0-based). */
10
- columnIndex: number; /** Top margin of content area. */
7
+ /** The page being built. */
8
+ page: Page;
9
+ /** Current Y position (cursor) from page top. */
10
+ cursorY: number;
11
+ /** Current column index (0-based). */
12
+ columnIndex: number;
13
+ /** Top margin of content area. */
11
14
  topMargin: number;
12
15
  /**
13
16
  * Bottom boundary of usable body content area.
14
17
  * Equals `pageBottom - footnoteHeight`. Recomputed when footnote
15
18
  * demand grows (a line carrying a fn ref is placed on this page).
16
19
  */
17
- contentBottom: number; /** Raw bottom of content area (page height - bottom margin); excludes fn area. */
18
- rawContentBottom: number; /** Total height reserved for footnotes on this page (grows as refs are placed). */
19
- footnoteHeight: number; /** Accumulated trailing spacing (space after previous block). */
20
+ contentBottom: number;
21
+ /** Raw bottom of content area (page height - bottom margin); excludes fn area. */
22
+ rawContentBottom: number;
23
+ /** Total height reserved for footnotes on this page (grows as refs are placed). */
24
+ footnoteHeight: number;
25
+ /** Accumulated trailing spacing (space after previous block). */
20
26
  trailingSpacing: number;
21
27
  };
22
28
  /**
23
29
  * Options for creating a paginator.
24
30
  */
25
31
  type PaginatorOptions = {
26
- /** Page size (width, height). */pageSize: {
32
+ /** Page size (width, height). */
33
+ pageSize: {
27
34
  w: number;
28
35
  h: number;
29
- }; /** Page margins. */
30
- margins: PageMargins; /** Swap left/right margins on even physical pages. */
36
+ };
37
+ /** Page margins. */
38
+ margins: PageMargins;
39
+ /** Swap left/right margins on even physical pages. */
31
40
  mirrorMargins?: boolean;
32
41
  /**
33
42
  * Margins applied only to the very first page (page 1) of the paginator.
@@ -35,11 +44,16 @@ type PaginatorOptions = {
35
44
  * its title page (typically extended top margin to clear an overflowing
36
45
  * first-page header) vs. its body pages. Pages 2+ use `margins`.
37
46
  */
38
- firstPageMargins?: PageMargins; /** Per-section body margins used on even section pages. */
39
- sectionEvenPageMargins?: (PageMargins | undefined)[]; /** Column configuration (optional). */
40
- columns?: ColumnLayout; /** Per-page footnote reserved heights (pageNumber height in pixels). */
41
- footnoteReservedHeights?: Map<number, number>; /** Header/footer refs by section index. */
42
- sectionHeaderFooterRefs?: PageHeaderFooterRefs[]; /** Callback when a new page is created. */
47
+ firstPageMargins?: PageMargins;
48
+ /** Per-section body margins used on even section pages. */
49
+ sectionEvenPageMargins?: (PageMargins | undefined)[];
50
+ /** Column configuration (optional). */
51
+ columns?: ColumnLayout;
52
+ /** Per-page footnote reserved heights (pageNumber → height in pixels). */
53
+ footnoteReservedHeights?: Map<number, number>;
54
+ /** Header/footer refs by section index. */
55
+ sectionHeaderFooterRefs?: PageHeaderFooterRefs[];
56
+ /** Callback when a new page is created. */
43
57
  onNewPage?: (state: PageState) => void;
44
58
  };
45
59
  type ForcePageBreakOptions = {
@@ -49,9 +63,13 @@ type ForcePageBreakOptions = {
49
63
  * Creates a paginator for managing page layout state.
50
64
  */
51
65
  declare function createPaginator(options: PaginatorOptions): {
52
- /** All pages created so far. */pages: Page[]; /** All page states. */
53
- states: PageState[]; /** Column width in pixels (use getColumnWidth() for current value after updates). */
54
- readonly columnWidth: number; /** Get current column layout (returns copy to prevent external mutation). */
66
+ /** All pages created so far. */
67
+ pages: Page[];
68
+ /** All page states. */
69
+ states: PageState[];
70
+ /** Column width in pixels (use getColumnWidth() for current value after updates). */
71
+ readonly columnWidth: number;
72
+ /** Get current column layout (returns copy to prevent external mutation). */
55
73
  readonly columns: {
56
74
  count: number;
57
75
  gap: number;
@@ -59,28 +77,43 @@ declare function createPaginator(options: PaginatorOptions): {
59
77
  widths?: number[];
60
78
  gaps?: number[];
61
79
  separator?: boolean;
62
- }; /** Get current state. */
63
- getCurrentState: () => PageState; /** Get available height in current column. */
64
- getAvailableHeight: () => number; /** Full content height of a fresh page in the active section. */
65
- getContentHeight: () => number; /** Get content width for the active section. */
66
- getContentWidth: () => number; /** Check if height fits in current column. */
67
- fits: (height: number) => boolean; /** Ensure height fits, advancing if needed. */
68
- ensureFits: (height: number) => PageState; /** Add a fragment to current page. */
80
+ };
81
+ /** Get current state. */
82
+ getCurrentState: () => PageState;
83
+ /** Get available height in current column. */
84
+ getAvailableHeight: () => number;
85
+ /** Full content height of a fresh page in the active section. */
86
+ getContentHeight: () => number;
87
+ /** Get content width for the active section. */
88
+ getContentWidth: () => number;
89
+ /** Check if height fits in current column. */
90
+ fits: (height: number) => boolean;
91
+ /** Ensure height fits, advancing if needed. */
92
+ ensureFits: (height: number) => PageState;
93
+ /** Add a fragment to current page. */
69
94
  addFragment: (fragment: Fragment, height: number, spaceBefore?: number, spaceAfter?: number) => {
70
95
  state: PageState;
71
96
  x: number;
72
97
  y: number;
73
- }; /** Reserve additional footnote area on the current page. */
74
- addFootnoteHeight: (additionalHeight: number, footnoteIds?: number[]) => void; /** Force a page break. */
75
- forcePageBreak: (breakOptions?: ForcePageBreakOptions) => PageState; /** Reuse an already blank current page for the active section/layout. */
76
- retargetCurrentBlankPage: () => boolean; /** Force a column break. */
77
- forceColumnBreak: () => PageState; /** Get X position for column. */
78
- getColumnX: (columnIndex: number) => number; /** Update column layout (for section breaks). */
79
- updateColumns: (newColumns: ColumnLayout) => void; /** Update page size/margins for subsequent pages. */
98
+ };
99
+ /** Reserve additional footnote area on the current page. */
100
+ addFootnoteHeight: (additionalHeight: number, footnoteIds?: number[]) => void;
101
+ /** Force a page break. */
102
+ forcePageBreak: (breakOptions?: ForcePageBreakOptions) => PageState;
103
+ /** Reuse an already blank current page for the active section/layout. */
104
+ retargetCurrentBlankPage: () => boolean;
105
+ /** Force a column break. */
106
+ forceColumnBreak: () => PageState;
107
+ /** Get X position for column. */
108
+ getColumnX: (columnIndex: number) => number;
109
+ /** Update column layout (for section breaks). */
110
+ updateColumns: (newColumns: ColumnLayout) => void;
111
+ /** Update page size/margins for subsequent pages. */
80
112
  updatePageLayout: (newPageSize?: {
81
113
  w: number;
82
114
  h: number;
83
- }, newMargins?: PageMargins, applyImmediately?: boolean) => void; /** Mark the next created page as the first page of a new section. */
115
+ }, newMargins?: PageMargins, applyImmediately?: boolean) => void;
116
+ /** Mark the next created page as the first page of a new section. */
84
117
  startSection: (sectionIndex: number) => void;
85
118
  };
86
119
  type Paginator = ReturnType<typeof createPaginator>;
@@ -1,5 +1,4 @@
1
1
  import { ParagraphBlock, ParagraphMeasure } from "./types.js";
2
-
3
2
  //#region src/layout-engine/paragraphFragmentRange.d.ts
4
3
  declare function getParagraphFragmentPmRange(block: ParagraphBlock, measure: ParagraphMeasure, fromLine: number, toLine: number): {
5
4
  pmStart?: number;
@@ -1,5 +1,4 @@
1
1
  import { ParagraphBlock, TextBoxBlock } from "./types.js";
2
-
3
2
  //#region src/layout-engine/paragraphFrame.d.ts
4
3
  type ParagraphFrame = {
5
4
  width?: number;
@@ -1,5 +1,4 @@
1
1
  import { FlowBlock } from "./types.js";
2
-
3
2
  //#region src/layout-engine/paragraphSequence.d.ts
4
3
  declare const continuesNumberedSequence: (previous: FlowBlock | undefined, current: FlowBlock) => boolean;
5
4
  declare const continuesTabbedParagraphSequence: (previous: FlowBlock | undefined, current: FlowBlock) => boolean;
@@ -1,5 +1,4 @@
1
1
  import { FlowBlock, ParagraphBlock } from "./types.js";
2
-
3
2
  //#region src/layout-engine/paragraphSpacing.d.ts
4
3
  type EffectiveParagraphSpacing = Readonly<{
5
4
  before: number;
@@ -10,10 +9,7 @@ type CollapseParagraphSpacingOptions = {
10
9
  after: number;
11
10
  };
12
11
  /** Collapse adjacent paragraph spacing to the larger authored side. */
13
- declare const collapseParagraphSpacing: ({
14
- before,
15
- after
16
- }: CollapseParagraphSpacingOptions) => number;
12
+ declare const collapseParagraphSpacing: ({ before, after }: CollapseParagraphSpacingOptions) => number;
17
13
  /** Whether a paragraph has no visible run content. */
18
14
  declare function isEmptyParagraph(block: ParagraphBlock): boolean;
19
15
  /**
@@ -1,5 +1,4 @@
1
1
  import { Layout } from "./types.js";
2
-
3
2
  //#region src/layout-engine/pmPageIndex.d.ts
4
3
  /**
5
4
  * Exhaustiveness guard for `FlowBlock`-shaped switches. Call from the
@@ -1,5 +1,4 @@
1
1
  import { FlowBlock, Page } from "./types.js";
2
-
3
2
  //#region src/layout-engine/renderedBreakReconciliation.d.ts
4
3
  type RenderedBreakState = {
5
4
  type: "noPageAdvance";
@@ -34,15 +33,7 @@ type BreakDecision = {
34
33
  * Every marker consumes the accumulated advance state so later markers make
35
34
  * independent decisions.
36
35
  */
37
- declare const reconcileBreakBeforeBlock: ({
38
- state,
39
- block,
40
- previousBlock,
41
- page,
42
- blocksById,
43
- hasExplicitPageBreak,
44
- renderedBreakNeedsSnap
45
- }: ReconcileBeforeBlockOptions) => BreakDecision;
36
+ declare const reconcileBreakBeforeBlock: ({ state, block, previousBlock, page, blocksById, hasExplicitPageBreak, renderedBreakNeedsSnap }: ReconcileBeforeBlockOptions) => BreakDecision;
46
37
  declare const recordReflowBoundary: (state: RenderedBreakState, crossedPageBoundary: boolean) => RenderedBreakState;
47
38
  type ReconcileAfterBlockOptions = {
48
39
  state: RenderedBreakState;
@@ -52,12 +43,6 @@ type ReconcileAfterBlockOptions = {
52
43
  previousPage: Page | undefined;
53
44
  };
54
45
  /** Record page movement and carry authored boundaries across pagination-empty paragraphs. */
55
- declare const reconcileAfterBlock: ({
56
- state,
57
- block,
58
- pageNumberBefore,
59
- pageNumberAfter,
60
- previousPage
61
- }: ReconcileAfterBlockOptions) => RenderedBreakState;
46
+ declare const reconcileAfterBlock: ({ state, block, pageNumberBefore, pageNumberAfter, previousPage }: ReconcileAfterBlockOptions) => RenderedBreakState;
62
47
  //#endregion
63
48
  export { INITIAL_RENDERED_BREAK_STATE, RenderedBreakState, reconcileAfterBlock, reconcileBreakBeforeBlock, recordReflowBoundary };
@@ -1,39 +1,56 @@
1
1
  import { ColumnLayout, PageMargins, SectionBreakBlock } from "./types.js";
2
-
3
2
  //#region src/layout-engine/section-breaks.d.ts
4
3
  /**
5
4
  * State tracking for sections during layout.
6
5
  * Uses active/pending pattern to schedule changes at page boundaries.
7
6
  */
8
7
  type SectionState = {
9
- /** Currently active top margin. */activeTopMargin: number; /** Currently active bottom margin. */
10
- activeBottomMargin: number; /** Currently active left margin. */
11
- activeLeftMargin: number; /** Currently active right margin. */
12
- activeRightMargin: number; /** Scheduled top margin for next page. */
13
- pendingTopMargin: number | null; /** Scheduled bottom margin for next page. */
14
- pendingBottomMargin: number | null; /** Scheduled left margin for next page. */
15
- pendingLeftMargin: number | null; /** Scheduled right margin for next page. */
16
- pendingRightMargin: number | null; /** Currently active page size. */
8
+ /** Currently active top margin. */
9
+ activeTopMargin: number;
10
+ /** Currently active bottom margin. */
11
+ activeBottomMargin: number;
12
+ /** Currently active left margin. */
13
+ activeLeftMargin: number;
14
+ /** Currently active right margin. */
15
+ activeRightMargin: number;
16
+ /** Scheduled top margin for next page. */
17
+ pendingTopMargin: number | null;
18
+ /** Scheduled bottom margin for next page. */
19
+ pendingBottomMargin: number | null;
20
+ /** Scheduled left margin for next page. */
21
+ pendingLeftMargin: number | null;
22
+ /** Scheduled right margin for next page. */
23
+ pendingRightMargin: number | null;
24
+ /** Currently active page size. */
17
25
  activePageSize: {
18
26
  w: number;
19
27
  h: number;
20
- }; /** Scheduled page size for next page. */
28
+ };
29
+ /** Scheduled page size for next page. */
21
30
  pendingPageSize: {
22
31
  w: number;
23
32
  h: number;
24
- } | null; /** Currently active column layout. */
25
- activeColumns: ColumnLayout; /** Scheduled column layout for next page. */
26
- pendingColumns: ColumnLayout | null; /** Currently active orientation. */
27
- activeOrientation: "portrait" | "landscape" | null; /** Scheduled orientation for next page. */
28
- pendingOrientation: "portrait" | "landscape" | null; /** Whether any pages have been created yet. */
33
+ } | null;
34
+ /** Currently active column layout. */
35
+ activeColumns: ColumnLayout;
36
+ /** Scheduled column layout for next page. */
37
+ pendingColumns: ColumnLayout | null;
38
+ /** Currently active orientation. */
39
+ activeOrientation: "portrait" | "landscape" | null;
40
+ /** Scheduled orientation for next page. */
41
+ pendingOrientation: "portrait" | "landscape" | null;
42
+ /** Whether any pages have been created yet. */
29
43
  hasAnyPages: boolean;
30
44
  };
31
45
  /**
32
46
  * Decision about what happens at a section break.
33
47
  */
34
48
  type BreakDecision = {
35
- /** Force a page break. */forcePageBreak: boolean; /** Force a mid-page region change (for column layout changes). */
36
- forceMidPageRegion: boolean; /** Required page parity (even or odd). */
49
+ /** Force a page break. */
50
+ forcePageBreak: boolean;
51
+ /** Force a mid-page region change (for column layout changes). */
52
+ forceMidPageRegion: boolean;
53
+ /** Required page parity (even or odd). */
37
54
  requiredParity?: "even" | "odd";
38
55
  };
39
56
  /**
@@ -1,15 +1,16 @@
1
1
  import { TableBlock, TableMeasure } from "./types.js";
2
-
3
2
  //#region src/layout-engine/tableRowBreak.d.ts
4
3
  /** Precomputed break geometry for a table. */
5
4
  type TableRowBreakInfo = {
6
- /** Cumulative y of the top of each row; `rowTops[rows.length]` is the table height. */rowTops: number[];
5
+ /** Cumulative y of the top of each row; `rowTops[rows.length]` is the table height. */
6
+ rowTops: number[];
7
7
  /**
8
8
  * Per-row sorted, de-duplicated line-bottom offsets (relative to the row top)
9
9
  * at which a break is clean. Always includes the row's full height as the
10
10
  * final boundary.
11
11
  */
12
- breakOffsets: number[][]; /** Suppressible leading paragraph whitespace after each matching break offset. */
12
+ breakOffsets: number[][];
13
+ /** Suppressible leading paragraph whitespace after each matching break offset. */
13
14
  continuationSkips: number[][];
14
15
  };
15
16
  /** Build break geometry for a table from its block + measure. */
@@ -1,5 +1,4 @@
1
1
  import { ImageRunPosition } from "./types.js";
2
-
3
2
  //#region src/layout-engine/textBoxFlow.d.ts
4
3
  type VerticalRelativeTo = NonNullable<ImageRunPosition["vertical"]>["relativeTo"];
5
4
  /**
@@ -1,5 +1,4 @@
1
1
  import { TextBoxBlock } from "./types.js";
2
-
3
2
  //#region src/layout-engine/textBoxGroup.d.ts
4
3
  declare const setTextBoxGroupId: (textBox: TextBoxBlock, groupId: string) => void;
5
4
  declare const getTextBoxGroupId: (textBox: TextBoxBlock) => string | undefined;