@stll/folio-core 0.0.1-placeholder.0 → 0.1.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 (683) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE.md +29 -0
  3. package/README.md +41 -0
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/ai-edits/apply.d.ts +35 -0
  6. package/dist/ai-edits/apply.js +683 -0
  7. package/dist/ai-edits/clean-text.d.ts +28 -0
  8. package/dist/ai-edits/clean-text.js +23 -0
  9. package/dist/ai-edits/headless.d.ts +225 -0
  10. package/dist/ai-edits/headless.js +513 -0
  11. package/dist/ai-edits/index.d.ts +6 -0
  12. package/dist/ai-edits/index.js +5 -0
  13. package/dist/ai-edits/inline-emphasis.d.ts +38 -0
  14. package/dist/ai-edits/inline-emphasis.js +78 -0
  15. package/dist/ai-edits/snapshot.d.ts +9 -0
  16. package/dist/ai-edits/snapshot.js +195 -0
  17. package/dist/ai-edits/types.d.ts +156 -0
  18. package/dist/ai-edits/types.js +0 -0
  19. package/dist/ai-edits/word-diff.d.ts +20 -0
  20. package/dist/ai-edits/word-diff.js +77 -0
  21. package/dist/ai-suggestions/apply.d.ts +17 -0
  22. package/dist/ai-suggestions/apply.js +64 -0
  23. package/dist/ai-suggestions/conflict.d.ts +22 -0
  24. package/dist/ai-suggestions/conflict.js +67 -0
  25. package/dist/ai-suggestions/text-positions.d.ts +21 -0
  26. package/dist/ai-suggestions/text-positions.js +48 -0
  27. package/dist/ai-suggestions/types.d.ts +199 -0
  28. package/dist/ai-suggestions/types.js +59 -0
  29. package/dist/content-controls/errors.d.ts +52 -0
  30. package/dist/content-controls/errors.js +36 -0
  31. package/dist/content-controls/findContentControls.d.ts +55 -0
  32. package/dist/content-controls/findContentControls.js +75 -0
  33. package/dist/content-controls/index.d.ts +4 -0
  34. package/dist/content-controls/index.js +4 -0
  35. package/dist/content-controls/mutateContentControls.d.ts +51 -0
  36. package/dist/content-controls/mutateContentControls.js +377 -0
  37. package/dist/controller/folioEditor.d.ts +21 -0
  38. package/dist/controller/folioEditor.js +29 -0
  39. package/dist/controller/folioEditorEvents.d.ts +23 -0
  40. package/dist/controller/folioEditorEvents.js +24 -0
  41. package/dist/controller/hiddenEditorApi.d.ts +35 -0
  42. package/dist/controller/hiddenEditorApi.js +112 -0
  43. package/dist/controller/hiddenEditorManager.d.ts +93 -0
  44. package/dist/controller/hiddenEditorManager.js +308 -0
  45. package/dist/controller/layoutPipeline.d.ts +63 -0
  46. package/dist/controller/layoutPipeline.js +406 -0
  47. package/dist/controller/layoutScheduler.d.ts +41 -0
  48. package/dist/controller/layoutScheduler.js +59 -0
  49. package/dist/controller/layoutSession.d.ts +24 -0
  50. package/dist/controller/layoutSession.js +13 -0
  51. package/dist/docx/blockContentParser.d.ts +13 -0
  52. package/dist/docx/blockContentParser.js +289 -0
  53. package/dist/docx/bookmarkParser.d.ts +178 -0
  54. package/dist/docx/bookmarkParser.js +246 -0
  55. package/dist/docx/bookmarkPlacement.d.ts +10 -0
  56. package/dist/docx/bookmarkPlacement.js +50 -0
  57. package/dist/docx/bulletMarkers.d.ts +4 -0
  58. package/dist/docx/bulletMarkers.js +42 -0
  59. package/dist/docx/commentParser.d.ts +34 -0
  60. package/dist/docx/commentParser.js +127 -0
  61. package/dist/docx/commentReferenceNormalization.d.ts +25 -0
  62. package/dist/docx/commentReferenceNormalization.js +97 -0
  63. package/dist/docx/commentReplyMarkers.d.ts +20 -0
  64. package/dist/docx/commentReplyMarkers.js +123 -0
  65. package/dist/docx/compatibility.d.ts +12 -0
  66. package/dist/docx/compatibility.js +77 -0
  67. package/dist/docx/documentParser.d.ts +65 -0
  68. package/dist/docx/documentParser.js +209 -0
  69. package/dist/docx/drawingUtils.d.ts +56 -0
  70. package/dist/docx/drawingUtils.js +305 -0
  71. package/dist/docx/fieldParser.d.ts +228 -0
  72. package/dist/docx/fieldParser.js +559 -0
  73. package/dist/docx/footnoteParser.d.ts +109 -0
  74. package/dist/docx/footnoteParser.js +270 -0
  75. package/dist/docx/headerFooterParser.d.ts +119 -0
  76. package/dist/docx/headerFooterParser.js +266 -0
  77. package/dist/docx/headerFooterRefParser.d.ts +22 -0
  78. package/dist/docx/headerFooterRefParser.js +52 -0
  79. package/dist/docx/headerFooterReferenceNormalization.d.ts +19 -0
  80. package/dist/docx/headerFooterReferenceNormalization.js +64 -0
  81. package/dist/docx/hyperlinkParser.d.ts +108 -0
  82. package/dist/docx/hyperlinkParser.js +230 -0
  83. package/dist/docx/imageParser.d.ts +93 -0
  84. package/dist/docx/imageParser.js +522 -0
  85. package/dist/docx/mathToMathml.d.ts +15 -0
  86. package/dist/docx/mathToMathml.js +357 -0
  87. package/dist/docx/modelValidation.d.ts +13 -0
  88. package/dist/docx/modelValidation.js +21 -0
  89. package/dist/docx/normalizeBaseDirection.d.ts +12 -0
  90. package/dist/docx/normalizeBaseDirection.js +81 -0
  91. package/dist/docx/notePropertiesParser.d.ts +16 -0
  92. package/dist/docx/notePropertiesParser.js +99 -0
  93. package/dist/docx/numberingParser.d.ts +86 -0
  94. package/dist/docx/numberingParser.js +735 -0
  95. package/dist/docx/numberingReferenceNormalization.d.ts +25 -0
  96. package/dist/docx/numberingReferenceNormalization.js +22 -0
  97. package/dist/docx/paragraphParser.d.ts +86 -0
  98. package/dist/docx/paragraphParser.js +1132 -0
  99. package/dist/docx/paragraphTraversal.d.ts +19 -0
  100. package/dist/docx/paragraphTraversal.js +76 -0
  101. package/dist/docx/parser.d.ts +67 -0
  102. package/dist/docx/parser.js +391 -0
  103. package/dist/docx/parserEnums.d.ts +45 -0
  104. package/dist/docx/parserEnums.js +70 -0
  105. package/dist/docx/relsParser.d.ts +160 -0
  106. package/dist/docx/relsParser.js +235 -0
  107. package/dist/docx/replyToComment.d.ts +29 -0
  108. package/dist/docx/replyToComment.js +73 -0
  109. package/dist/docx/rezip.d.ts +166 -0
  110. package/dist/docx/rezip.js +1194 -0
  111. package/dist/docx/runConsolidator.d.ts +57 -0
  112. package/dist/docx/runConsolidator.js +224 -0
  113. package/dist/docx/runParser.d.ts +78 -0
  114. package/dist/docx/runParser.js +661 -0
  115. package/dist/docx/sdtProperties.d.ts +15 -0
  116. package/dist/docx/sdtProperties.js +290 -0
  117. package/dist/docx/sdtPropertiesPatch.d.ts +16 -0
  118. package/dist/docx/sdtPropertiesPatch.js +144 -0
  119. package/dist/docx/sectionParser.d.ts +95 -0
  120. package/dist/docx/sectionParser.js +534 -0
  121. package/dist/docx/selectiveSave.d.ts +25 -0
  122. package/dist/docx/selectiveSave.js +247 -0
  123. package/dist/docx/selectiveSaveFlags.d.ts +33 -0
  124. package/dist/docx/selectiveSaveFlags.js +11 -0
  125. package/dist/docx/selectiveSaveTripwire.d.ts +33 -0
  126. package/dist/docx/selectiveSaveTripwire.js +79 -0
  127. package/dist/docx/selectiveXmlPatch.d.ts +103 -0
  128. package/dist/docx/selectiveXmlPatch.js +493 -0
  129. package/dist/docx/serializer/blockSdtSerializer.d.ts +6 -0
  130. package/dist/docx/serializer/blockSdtSerializer.js +88 -0
  131. package/dist/docx/serializer/borderSerializer.d.ts +25 -0
  132. package/dist/docx/serializer/borderSerializer.js +44 -0
  133. package/dist/docx/serializer/commentSerializer.d.ts +31 -0
  134. package/dist/docx/serializer/commentSerializer.js +184 -0
  135. package/dist/docx/serializer/documentSerializer.d.ts +65 -0
  136. package/dist/docx/serializer/documentSerializer.js +199 -0
  137. package/dist/docx/serializer/headerFooterSerializer.d.ts +12 -0
  138. package/dist/docx/serializer/headerFooterSerializer.js +84 -0
  139. package/dist/docx/serializer/noteSerializer.d.ts +19 -0
  140. package/dist/docx/serializer/noteSerializer.js +70 -0
  141. package/dist/docx/serializer/numberingSerializer.d.ts +12 -0
  142. package/dist/docx/serializer/numberingSerializer.js +93 -0
  143. package/dist/docx/serializer/paragraphSerializer.d.ts +48 -0
  144. package/dist/docx/serializer/paragraphSerializer.js +559 -0
  145. package/dist/docx/serializer/runSerializer.d.ts +56 -0
  146. package/dist/docx/serializer/runSerializer.js +621 -0
  147. package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +6 -0
  148. package/dist/docx/serializer/sectionPropertiesSerializer.js +187 -0
  149. package/dist/docx/serializer/tableSerializer.d.ts +79 -0
  150. package/dist/docx/serializer/tableSerializer.js +422 -0
  151. package/dist/docx/serializer/xmlUtils.d.ts +20 -0
  152. package/dist/docx/serializer/xmlUtils.js +25 -0
  153. package/dist/docx/settingsParser.d.ts +8 -0
  154. package/dist/docx/settingsParser.js +36 -0
  155. package/dist/docx/shapeParser.d.ts +20 -0
  156. package/dist/docx/shapeParser.js +272 -0
  157. package/dist/docx/styleParser.d.ts +50 -0
  158. package/dist/docx/styleParser.js +905 -0
  159. package/dist/docx/tableParser.d.ts +202 -0
  160. package/dist/docx/tableParser.js +811 -0
  161. package/dist/docx/textBoxParser.d.ts +117 -0
  162. package/dist/docx/textBoxParser.js +262 -0
  163. package/dist/docx/themeParser.d.ts +77 -0
  164. package/dist/docx/themeParser.js +330 -0
  165. package/dist/docx/trackedMoveRangeNormalization.d.ts +22 -0
  166. package/dist/docx/trackedMoveRangeNormalization.js +100 -0
  167. package/dist/docx/unzip.d.ts +118 -0
  168. package/dist/docx/unzip.js +383 -0
  169. package/dist/docx/vmlImageParser.d.ts +16 -0
  170. package/dist/docx/vmlImageParser.js +100 -0
  171. package/dist/docx/watermarkParser.d.ts +45 -0
  172. package/dist/docx/watermarkParser.js +348 -0
  173. package/dist/docx/wrapTypes.d.ts +29 -0
  174. package/dist/docx/wrapTypes.js +48 -0
  175. package/dist/docx/xmlParser.d.ts +297 -0
  176. package/dist/docx/xmlParser.js +527 -0
  177. package/dist/fields/bookmarkPages.d.ts +13 -0
  178. package/dist/fields/bookmarkPages.js +66 -0
  179. package/dist/fields/bookmarkText.d.ts +16 -0
  180. package/dist/fields/bookmarkText.js +61 -0
  181. package/dist/fields/evaluateField.d.ts +23 -0
  182. package/dist/fields/evaluateField.js +77 -0
  183. package/dist/fields/fieldContext.d.ts +21 -0
  184. package/dist/fields/fieldContext.js +0 -0
  185. package/dist/fields/resolveFieldValues.d.ts +44 -0
  186. package/dist/fields/resolveFieldValues.js +204 -0
  187. package/dist/fields/sectionPageCounts.d.ts +11 -0
  188. package/dist/fields/sectionPageCounts.js +16 -0
  189. package/dist/fields/seqValues.d.ts +14 -0
  190. package/dist/fields/seqValues.js +36 -0
  191. package/dist/fonts/embeddedFontTable.d.ts +42 -0
  192. package/dist/fonts/embeddedFontTable.js +80 -0
  193. package/dist/fonts/embeddedFonts.d.ts +46 -0
  194. package/dist/fonts/embeddedFonts.js +112 -0
  195. package/dist/fonts/fontDeobfuscation.d.ts +30 -0
  196. package/dist/fonts/fontDeobfuscation.js +57 -0
  197. package/dist/index.d.ts +28 -0
  198. package/dist/index.js +23 -0
  199. package/dist/layout-bridge/convert/footnoteLayout.d.ts +57 -0
  200. package/dist/layout-bridge/convert/footnoteLayout.js +316 -0
  201. package/dist/layout-bridge/convert/headerFooterLayout.d.ts +74 -0
  202. package/dist/layout-bridge/convert/headerFooterLayout.js +432 -0
  203. package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +36 -0
  204. package/dist/layout-bridge/convert/templatePreviewFlow.js +176 -0
  205. package/dist/layout-bridge/convert/toFlowBlocks.d.ts +65 -0
  206. package/dist/layout-bridge/convert/toFlowBlocks.js +1309 -0
  207. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +17 -0
  208. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.js +36 -0
  209. package/dist/layout-bridge/dom/clickToPositionDom.d.ts +66 -0
  210. package/dist/layout-bridge/dom/clickToPositionDom.js +304 -0
  211. package/dist/layout-bridge/dom/findBodyPmSpans.d.ts +7 -0
  212. package/dist/layout-bridge/dom/findBodyPmSpans.js +17 -0
  213. package/dist/layout-bridge/dom/findHfPmSpans.d.ts +62 -0
  214. package/dist/layout-bridge/dom/findHfPmSpans.js +197 -0
  215. package/dist/layout-bridge/engine/clickToPosition.d.ts +66 -0
  216. package/dist/layout-bridge/engine/clickToPosition.js +403 -0
  217. package/dist/layout-bridge/engine/hitTest.d.ts +135 -0
  218. package/dist/layout-bridge/engine/hitTest.js +375 -0
  219. package/dist/layout-bridge/engine/measuring/index.d.ts +10 -0
  220. package/dist/layout-bridge/engine/measuring/index.js +9 -0
  221. package/dist/layout-bridge/engine/selectionRects.d.ts +59 -0
  222. package/dist/layout-bridge/engine/selectionRects.js +485 -0
  223. package/dist/layout-bridge/engine/tableWidthUtils.d.ts +7 -0
  224. package/dist/layout-bridge/engine/tableWidthUtils.js +25 -0
  225. package/dist/layout-engine/index.d.ts +44 -0
  226. package/dist/layout-engine/index.js +691 -0
  227. package/dist/layout-engine/keep-together.d.ts +43 -0
  228. package/dist/layout-engine/keep-together.js +98 -0
  229. package/dist/layout-engine/layoutInstrumentation.d.ts +50 -0
  230. package/dist/layout-engine/layoutInstrumentation.js +43 -0
  231. package/dist/layout-engine/lineFlow.d.ts +8 -0
  232. package/dist/layout-engine/lineFlow.js +17 -0
  233. package/dist/layout-engine/measure/cache.d.ts +93 -0
  234. package/dist/layout-engine/measure/cache.js +245 -0
  235. package/dist/layout-engine/measure/clampFloatingWrapMargins.d.ts +20 -0
  236. package/dist/layout-engine/measure/clampFloatingWrapMargins.js +29 -0
  237. package/dist/layout-engine/measure/featureFlags.d.ts +44 -0
  238. package/dist/layout-engine/measure/featureFlags.js +19 -0
  239. package/dist/layout-engine/measure/floatingZones.d.ts +89 -0
  240. package/dist/layout-engine/measure/floatingZones.js +152 -0
  241. package/dist/layout-engine/measure/font-metrics.worker.d.ts +17 -0
  242. package/dist/layout-engine/measure/font-metrics.worker.js +104 -0
  243. package/dist/layout-engine/measure/index.d.ts +9 -0
  244. package/dist/layout-engine/measure/index.js +8 -0
  245. package/dist/layout-engine/measure/listMarkerWidth.d.ts +40 -0
  246. package/dist/layout-engine/measure/listMarkerWidth.js +76 -0
  247. package/dist/layout-engine/measure/measureBlocks.d.ts +25 -0
  248. package/dist/layout-engine/measure/measureBlocks.js +450 -0
  249. package/dist/layout-engine/measure/measureContainer.d.ts +24 -0
  250. package/dist/layout-engine/measure/measureContainer.js +280 -0
  251. package/dist/layout-engine/measure/measureHelpers.d.ts +82 -0
  252. package/dist/layout-engine/measure/measureHelpers.js +156 -0
  253. package/dist/layout-engine/measure/measureParagraph.d.ts +61 -0
  254. package/dist/layout-engine/measure/measureParagraph.js +724 -0
  255. package/dist/layout-engine/measure/measureProvider.d.ts +23 -0
  256. package/dist/layout-engine/measure/measureProvider.js +35 -0
  257. package/dist/layout-engine/measure/measureTypes.d.ts +61 -0
  258. package/dist/layout-engine/measure/measureTypes.js +0 -0
  259. package/dist/layout-engine/measure/measureWorker.d.ts +54 -0
  260. package/dist/layout-engine/measure/measureWorker.js +249 -0
  261. package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +88 -0
  262. package/dist/layout-engine/measure/measureWorkerProtocol.js +20 -0
  263. package/dist/layout-engine/measure/tableCellFloating.d.ts +26 -0
  264. package/dist/layout-engine/measure/tableCellFloating.js +99 -0
  265. package/dist/layout-engine/paginator.d.ts +84 -0
  266. package/dist/layout-engine/paginator.js +348 -0
  267. package/dist/layout-engine/paragraphFragmentRange.d.ts +9 -0
  268. package/dist/layout-engine/paragraphFragmentRange.js +40 -0
  269. package/dist/layout-engine/section-breaks.d.ts +78 -0
  270. package/dist/layout-engine/section-breaks.js +182 -0
  271. package/dist/layout-engine/tableRowBreak.d.ts +23 -0
  272. package/dist/layout-engine/tableRowBreak.js +147 -0
  273. package/dist/layout-engine/textBoxFlow.d.ts +50 -0
  274. package/dist/layout-engine/textBoxFlow.js +160 -0
  275. package/dist/layout-engine/types.d.ts +1031 -0
  276. package/dist/layout-engine/types.js +100 -0
  277. package/dist/layout-painter/documentColors.d.ts +4 -0
  278. package/dist/layout-painter/documentColors.js +40 -0
  279. package/dist/layout-painter/index.d.ts +110 -0
  280. package/dist/layout-painter/index.js +182 -0
  281. package/dist/layout-painter/registry/modules/image.d.ts +6 -0
  282. package/dist/layout-painter/registry/modules/image.js +17 -0
  283. package/dist/layout-painter/registry/modules/paragraph.d.ts +6 -0
  284. package/dist/layout-painter/registry/modules/paragraph.js +18 -0
  285. package/dist/layout-painter/registry/modules/table.d.ts +6 -0
  286. package/dist/layout-painter/registry/modules/table.js +16 -0
  287. package/dist/layout-painter/registry/modules/textBox.d.ts +6 -0
  288. package/dist/layout-painter/registry/modules/textBox.js +13 -0
  289. package/dist/layout-painter/registry/modules.d.ts +6 -0
  290. package/dist/layout-painter/registry/modules.js +26 -0
  291. package/dist/layout-painter/registry/registry.d.ts +24 -0
  292. package/dist/layout-painter/registry/registry.js +53 -0
  293. package/dist/layout-painter/registry/types.d.ts +61 -0
  294. package/dist/layout-painter/registry/types.js +0 -0
  295. package/dist/layout-painter/renderFragment.d.ts +32 -0
  296. package/dist/layout-painter/renderFragment.js +114 -0
  297. package/dist/layout-painter/renderImage.d.ts +88 -0
  298. package/dist/layout-painter/renderImage.js +130 -0
  299. package/dist/layout-painter/renderPage.d.ts +264 -0
  300. package/dist/layout-painter/renderPage.js +1795 -0
  301. package/dist/layout-painter/renderParagraph.d.ts +93 -0
  302. package/dist/layout-painter/renderParagraph.js +1300 -0
  303. package/dist/layout-painter/renderTable.d.ts +36 -0
  304. package/dist/layout-painter/renderTable.js +432 -0
  305. package/dist/layout-painter/renderTextBox.d.ts +22 -0
  306. package/dist/layout-painter/renderTextBox.js +67 -0
  307. package/dist/layout-painter/renderUtils.d.ts +42 -0
  308. package/dist/layout-painter/renderUtils.js +30 -0
  309. package/dist/layout-painter/renderWatermark.d.ts +16 -0
  310. package/dist/layout-painter/renderWatermark.js +61 -0
  311. package/dist/layout-painter/sdtBoundary.d.ts +6 -0
  312. package/dist/layout-painter/sdtBoundary.js +28 -0
  313. package/dist/managers/ContextMenuManager.d.ts +28 -0
  314. package/dist/managers/ContextMenuManager.js +48 -0
  315. package/dist/managers/DocumentLoaderManager.d.ts +47 -0
  316. package/dist/managers/DocumentLoaderManager.js +69 -0
  317. package/dist/managers/EditorModeManager.d.ts +28 -0
  318. package/dist/managers/EditorModeManager.js +50 -0
  319. package/dist/managers/ErrorManager.d.ts +26 -0
  320. package/dist/managers/ErrorManager.js +85 -0
  321. package/dist/managers/FindReplaceManager.d.ts +54 -0
  322. package/dist/managers/FindReplaceManager.js +104 -0
  323. package/dist/managers/HistoryManager.d.ts +92 -0
  324. package/dist/managers/HistoryManager.js +193 -0
  325. package/dist/managers/Subscribable.d.ts +34 -0
  326. package/dist/managers/Subscribable.js +46 -0
  327. package/dist/managers/TableSelectionManager.d.ts +74 -0
  328. package/dist/managers/TableSelectionManager.js +225 -0
  329. package/dist/managers/editorShortcuts.d.ts +42 -0
  330. package/dist/managers/editorShortcuts.js +60 -0
  331. package/dist/managers/types.d.ts +41 -0
  332. package/dist/managers/types.js +0 -0
  333. package/dist/markdown/annotations.d.ts +14 -0
  334. package/dist/markdown/annotations.js +42 -0
  335. package/dist/markdown/escape.d.ts +36 -0
  336. package/dist/markdown/escape.js +59 -0
  337. package/dist/markdown/fromMarkdown.d.ts +11 -0
  338. package/dist/markdown/fromMarkdown.js +223 -0
  339. package/dist/markdown/headings.d.ts +13 -0
  340. package/dist/markdown/headings.js +20 -0
  341. package/dist/markdown/images.d.ts +13 -0
  342. package/dist/markdown/images.js +63 -0
  343. package/dist/markdown/index.d.ts +18 -0
  344. package/dist/markdown/index.js +33 -0
  345. package/dist/markdown/internals.d.ts +15 -0
  346. package/dist/markdown/internals.js +35 -0
  347. package/dist/markdown/renderBlock.d.ts +7 -0
  348. package/dist/markdown/renderBlock.js +68 -0
  349. package/dist/markdown/renderParagraph.d.ts +11 -0
  350. package/dist/markdown/renderParagraph.js +64 -0
  351. package/dist/markdown/renderRuns.d.ts +11 -0
  352. package/dist/markdown/renderRuns.js +265 -0
  353. package/dist/markdown/renderTable.d.ts +8 -0
  354. package/dist/markdown/renderTable.js +229 -0
  355. package/dist/markdown/trailers.d.ts +13 -0
  356. package/dist/markdown/trailers.js +54 -0
  357. package/dist/markdown/types.d.ts +118 -0
  358. package/dist/markdown/types.js +0 -0
  359. package/dist/model.d.ts +13 -0
  360. package/dist/model.js +4 -0
  361. package/dist/paged-layout/LayoutSelectionGate.d.ts +80 -0
  362. package/dist/paged-layout/LayoutSelectionGate.js +131 -0
  363. package/dist/paged-layout/headerFooterMargins.d.ts +73 -0
  364. package/dist/paged-layout/headerFooterMargins.js +120 -0
  365. package/dist/paged-layout/hiddenEditorScroll.d.ts +4 -0
  366. package/dist/paged-layout/hiddenEditorScroll.js +4 -0
  367. package/dist/paged-layout/incrementalMeasure.d.ts +33 -0
  368. package/dist/paged-layout/incrementalMeasure.js +56 -0
  369. package/dist/paged-layout/rangeProjection.d.ts +51 -0
  370. package/dist/paged-layout/rangeProjection.js +153 -0
  371. package/dist/paged-layout/readOnlyEditAttempt.d.ts +5 -0
  372. package/dist/paged-layout/readOnlyEditAttempt.js +22 -0
  373. package/dist/paged-layout/scrollNavigation.d.ts +23 -0
  374. package/dist/paged-layout/scrollNavigation.js +31 -0
  375. package/dist/paged-layout/scrollPageInfo.d.ts +41 -0
  376. package/dist/paged-layout/scrollPageInfo.js +34 -0
  377. package/dist/paged-layout/scrollToPmPosition.d.ts +17 -0
  378. package/dist/paged-layout/scrollToPmPosition.js +95 -0
  379. package/dist/paged-layout/sectionBlockWidths.d.ts +35 -0
  380. package/dist/paged-layout/sectionBlockWidths.js +52 -0
  381. package/dist/paged-layout/sectionGeometry.d.ts +21 -0
  382. package/dist/paged-layout/sectionGeometry.js +36 -0
  383. package/dist/paged-layout/selectionViewportRect.d.ts +29 -0
  384. package/dist/paged-layout/selectionViewportRect.js +55 -0
  385. package/dist/paged-layout/tableColumnResize.d.ts +19 -0
  386. package/dist/paged-layout/tableColumnResize.js +28 -0
  387. package/dist/paged-layout/tableInsertButtonGeometry.d.ts +15 -0
  388. package/dist/paged-layout/tableInsertButtonGeometry.js +15 -0
  389. package/dist/paged-layout/transactionDirtyRange.d.ts +7 -0
  390. package/dist/paged-layout/transactionDirtyRange.js +27 -0
  391. package/dist/paged-layout/zoomScrollAnchor.d.ts +40 -0
  392. package/dist/paged-layout/zoomScrollAnchor.js +25 -0
  393. package/dist/prosemirror/attrs/index.d.ts +80 -0
  394. package/dist/prosemirror/attrs/index.js +1218 -0
  395. package/dist/prosemirror/autospacingBase.d.ts +11 -0
  396. package/dist/prosemirror/autospacingBase.js +16 -0
  397. package/dist/prosemirror/commands/comments.d.ts +93 -0
  398. package/dist/prosemirror/commands/comments.js +435 -0
  399. package/dist/prosemirror/commands/contentControls.d.ts +45 -0
  400. package/dist/prosemirror/commands/contentControls.js +294 -0
  401. package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +15 -0
  402. package/dist/prosemirror/commands/contentControlsBlockFill.js +19 -0
  403. package/dist/prosemirror/commands/formatPainter.d.ts +31 -0
  404. package/dist/prosemirror/commands/formatPainter.js +130 -0
  405. package/dist/prosemirror/commands/formatting.d.ts +32 -0
  406. package/dist/prosemirror/commands/formatting.js +45 -0
  407. package/dist/prosemirror/commands/hyperlink.d.ts +31 -0
  408. package/dist/prosemirror/commands/hyperlink.js +79 -0
  409. package/dist/prosemirror/commands/image.d.ts +59 -0
  410. package/dist/prosemirror/commands/image.js +219 -0
  411. package/dist/prosemirror/commands/index.d.ts +13 -0
  412. package/dist/prosemirror/commands/index.js +13 -0
  413. package/dist/prosemirror/commands/pageBreak.d.ts +10 -0
  414. package/dist/prosemirror/commands/pageBreak.js +47 -0
  415. package/dist/prosemirror/commands/paragraph.d.ts +39 -0
  416. package/dist/prosemirror/commands/paragraph.js +64 -0
  417. package/dist/prosemirror/commands/pastePlainText.d.ts +39 -0
  418. package/dist/prosemirror/commands/pastePlainText.js +67 -0
  419. package/dist/prosemirror/commands/table.d.ts +83 -0
  420. package/dist/prosemirror/commands/table.js +105 -0
  421. package/dist/prosemirror/conversion/fromProseDoc.d.ts +27 -0
  422. package/dist/prosemirror/conversion/fromProseDoc.js +1550 -0
  423. package/dist/prosemirror/conversion/index.d.ts +4 -0
  424. package/dist/prosemirror/conversion/index.js +4 -0
  425. package/dist/prosemirror/conversion/runShadingMark.d.ts +16 -0
  426. package/dist/prosemirror/conversion/runShadingMark.js +39 -0
  427. package/dist/prosemirror/conversion/toProseDoc.d.ts +39 -0
  428. package/dist/prosemirror/conversion/toProseDoc.js +1404 -0
  429. package/dist/prosemirror/extensions/ExtensionManager.d.ts +43 -0
  430. package/dist/prosemirror/extensions/ExtensionManager.js +86 -0
  431. package/dist/prosemirror/extensions/StarterKit.d.ts +16 -0
  432. package/dist/prosemirror/extensions/StarterKit.js +132 -0
  433. package/dist/prosemirror/extensions/core/DocExtension.d.ts +9 -0
  434. package/dist/prosemirror/extensions/core/DocExtension.js +12 -0
  435. package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +13 -0
  436. package/dist/prosemirror/extensions/core/HistoryExtension.js +28 -0
  437. package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +25 -0
  438. package/dist/prosemirror/extensions/core/ParagraphExtension.js +619 -0
  439. package/dist/prosemirror/extensions/core/TextExtension.d.ts +9 -0
  440. package/dist/prosemirror/extensions/core/TextExtension.js +12 -0
  441. package/dist/prosemirror/extensions/create.d.ts +17 -0
  442. package/dist/prosemirror/extensions/create.js +129 -0
  443. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +23 -0
  444. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.js +106 -0
  445. package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +8 -0
  446. package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +172 -0
  447. package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +16 -0
  448. package/dist/prosemirror/extensions/features/BidiShortcutExtension.js +38 -0
  449. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +16 -0
  450. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.js +21 -0
  451. package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +12 -0
  452. package/dist/prosemirror/extensions/features/DropCursorExtension.js +20 -0
  453. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +8 -0
  454. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +44 -0
  455. package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +19 -0
  456. package/dist/prosemirror/extensions/features/GapCursorExtension.js +24 -0
  457. package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +15 -0
  458. package/dist/prosemirror/extensions/features/ImageDragExtension.js +66 -0
  459. package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +12 -0
  460. package/dist/prosemirror/extensions/features/ImagePasteExtension.js +91 -0
  461. package/dist/prosemirror/extensions/features/ListExtension.d.ts +14 -0
  462. package/dist/prosemirror/extensions/features/ListExtension.js +340 -0
  463. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +9 -0
  464. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +60 -0
  465. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +35 -0
  466. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +188 -0
  467. package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +20 -0
  468. package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +34 -0
  469. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +20 -0
  470. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +145 -0
  471. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +10 -0
  472. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +17 -0
  473. package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +31 -0
  474. package/dist/prosemirror/extensions/features/bidiShortcutController.js +27 -0
  475. package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +31 -0
  476. package/dist/prosemirror/extensions/features/pasteCleanup.js +159 -0
  477. package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +9 -0
  478. package/dist/prosemirror/extensions/marks/AllCapsExtension.js +24 -0
  479. package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +9 -0
  480. package/dist/prosemirror/extensions/marks/BoldExtension.js +41 -0
  481. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +14 -0
  482. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.js +64 -0
  483. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +23 -0
  484. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.js +47 -0
  485. package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +12 -0
  486. package/dist/prosemirror/extensions/marks/CommentExtension.js +38 -0
  487. package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +9 -0
  488. package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +55 -0
  489. package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +9 -0
  490. package/dist/prosemirror/extensions/marks/FontSizeExtension.js +47 -0
  491. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +11 -0
  492. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +92 -0
  493. package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +23 -0
  494. package/dist/prosemirror/extensions/marks/HiddenTextExtension.js +35 -0
  495. package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +10 -0
  496. package/dist/prosemirror/extensions/marks/HighlightExtension.js +115 -0
  497. package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +13 -0
  498. package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +146 -0
  499. package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +9 -0
  500. package/dist/prosemirror/extensions/marks/ItalicExtension.js +34 -0
  501. package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +6 -0
  502. package/dist/prosemirror/extensions/marks/RtlExtension.js +21 -0
  503. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +11 -0
  504. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.js +75 -0
  505. package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +6 -0
  506. package/dist/prosemirror/extensions/marks/RunShadingExtension.js +38 -0
  507. package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +9 -0
  508. package/dist/prosemirror/extensions/marks/SmallCapsExtension.js +24 -0
  509. package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +9 -0
  510. package/dist/prosemirror/extensions/marks/StrikeExtension.js +33 -0
  511. package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +9 -0
  512. package/dist/prosemirror/extensions/marks/SubscriptExtension.js +25 -0
  513. package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +9 -0
  514. package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +25 -0
  515. package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +9 -0
  516. package/dist/prosemirror/extensions/marks/TextColorExtension.js +50 -0
  517. package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +6 -0
  518. package/dist/prosemirror/extensions/marks/TextEffectExtension.js +35 -0
  519. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +31 -0
  520. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.js +134 -0
  521. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +22 -0
  522. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +113 -0
  523. package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +9 -0
  524. package/dist/prosemirror/extensions/marks/UnderlineExtension.js +60 -0
  525. package/dist/prosemirror/extensions/marks/markUtils.d.ts +34 -0
  526. package/dist/prosemirror/extensions/marks/markUtils.js +233 -0
  527. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +22 -0
  528. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.js +122 -0
  529. package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +12 -0
  530. package/dist/prosemirror/extensions/nodes/FieldExtension.js +87 -0
  531. package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +9 -0
  532. package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +38 -0
  533. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +9 -0
  534. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.js +18 -0
  535. package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +9 -0
  536. package/dist/prosemirror/extensions/nodes/ImageExtension.js +132 -0
  537. package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +13 -0
  538. package/dist/prosemirror/extensions/nodes/MathExtension.js +56 -0
  539. package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +9 -0
  540. package/dist/prosemirror/extensions/nodes/PageBreakExtension.js +20 -0
  541. package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +12 -0
  542. package/dist/prosemirror/extensions/nodes/SdtExtension.js +107 -0
  543. package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +30 -0
  544. package/dist/prosemirror/extensions/nodes/ShapeExtension.js +502 -0
  545. package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +9 -0
  546. package/dist/prosemirror/extensions/nodes/TabExtension.js +27 -0
  547. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +34 -0
  548. package/dist/prosemirror/extensions/nodes/TableExtension.js +1972 -0
  549. package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +34 -0
  550. package/dist/prosemirror/extensions/nodes/TextBoxExtension.js +150 -0
  551. package/dist/prosemirror/extensions/types.d.ts +101 -0
  552. package/dist/prosemirror/extensions/types.js +10 -0
  553. package/dist/prosemirror/findReplaceSelection.d.ts +23 -0
  554. package/dist/prosemirror/findReplaceSelection.js +86 -0
  555. package/dist/prosemirror/index.d.ts +25 -0
  556. package/dist/prosemirror/index.js +23 -0
  557. package/dist/prosemirror/insertOperations.d.ts +12 -0
  558. package/dist/prosemirror/insertOperations.js +19 -0
  559. package/dist/prosemirror/paragraphDirection.d.ts +42 -0
  560. package/dist/prosemirror/paragraphDirection.js +33 -0
  561. package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +40 -0
  562. package/dist/prosemirror/plugins/aiCitationDecorations.js +90 -0
  563. package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +42 -0
  564. package/dist/prosemirror/plugins/aiSuggestionDecorations.js +135 -0
  565. package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +60 -0
  566. package/dist/prosemirror/plugins/anonymizationDecorations.js +120 -0
  567. package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +123 -0
  568. package/dist/prosemirror/plugins/autocompleteSuggestion.js +283 -0
  569. package/dist/prosemirror/plugins/contentControlWidgets.d.ts +56 -0
  570. package/dist/prosemirror/plugins/contentControlWidgets.js +192 -0
  571. package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +37 -0
  572. package/dist/prosemirror/plugins/createDocScanPlugin.js +55 -0
  573. package/dist/prosemirror/plugins/documentStyles.d.ts +18 -0
  574. package/dist/prosemirror/plugins/documentStyles.js +46 -0
  575. package/dist/prosemirror/plugins/index.d.ts +3 -0
  576. package/dist/prosemirror/plugins/index.js +3 -0
  577. package/dist/prosemirror/plugins/pmTextScan.d.ts +19 -0
  578. package/dist/prosemirror/plugins/pmTextScan.js +39 -0
  579. package/dist/prosemirror/plugins/selectionTracker.d.ts +43 -0
  580. package/dist/prosemirror/plugins/selectionTracker.js +179 -0
  581. package/dist/prosemirror/plugins/suggestionMode.d.ts +70 -0
  582. package/dist/prosemirror/plugins/suggestionMode.js +489 -0
  583. package/dist/prosemirror/plugins/templateDirectives.d.ts +25 -0
  584. package/dist/prosemirror/plugins/templateDirectives.js +67 -0
  585. package/dist/prosemirror/plugins/templatePreviewValues.d.ts +49 -0
  586. package/dist/prosemirror/plugins/templatePreviewValues.js +117 -0
  587. package/dist/prosemirror/plugins/templateSlashMenu.d.ts +57 -0
  588. package/dist/prosemirror/plugins/templateSlashMenu.js +184 -0
  589. package/dist/prosemirror/schema/index.d.ts +15 -0
  590. package/dist/prosemirror/schema/index.js +20 -0
  591. package/dist/prosemirror/schema/marks.d.ts +118 -0
  592. package/dist/prosemirror/schema/marks.js +0 -0
  593. package/dist/prosemirror/schema/nodes.d.ts +389 -0
  594. package/dist/prosemirror/schema/nodes.js +0 -0
  595. package/dist/prosemirror/selectionState.d.ts +23 -0
  596. package/dist/prosemirror/selectionState.js +111 -0
  597. package/dist/prosemirror/styles/index.d.ts +2 -0
  598. package/dist/prosemirror/styles/index.js +2 -0
  599. package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +32 -0
  600. package/dist/prosemirror/styles/resolvedStyleAttrs.js +108 -0
  601. package/dist/prosemirror/styles/styleResolver.d.ts +94 -0
  602. package/dist/prosemirror/styles/styleResolver.js +200 -0
  603. package/dist/prosemirror/utils/findParagraphByParaId.d.ts +26 -0
  604. package/dist/prosemirror/utils/findParagraphByParaId.js +37 -0
  605. package/dist/prosemirror/utils/tabCalculator.d.ts +110 -0
  606. package/dist/prosemirror/utils/tabCalculator.js +137 -0
  607. package/dist/prosemirror/validation.d.ts +20 -0
  608. package/dist/prosemirror/validation.js +177 -0
  609. package/dist/server.d.ts +7 -0
  610. package/dist/server.js +6 -0
  611. package/dist/style-engine/index.d.ts +3 -0
  612. package/dist/style-engine/index.js +2 -0
  613. package/dist/style-engine/styleEngine.d.ts +67 -0
  614. package/dist/style-engine/styleEngine.js +70 -0
  615. package/dist/types/block-id.d.ts +66 -0
  616. package/dist/types/block-id.js +73 -0
  617. package/dist/types/colors.d.ts +2 -0
  618. package/dist/types/colors.js +0 -0
  619. package/dist/types/content.d.ts +2 -0
  620. package/dist/types/content.js +0 -0
  621. package/dist/types/document.d.ts +7 -0
  622. package/dist/types/document.js +0 -0
  623. package/dist/types/documentEnumValues.d.ts +89 -0
  624. package/dist/types/documentEnumValues.js +693 -0
  625. package/dist/types/formatting.d.ts +2 -0
  626. package/dist/types/formatting.js +0 -0
  627. package/dist/types/index.d.ts +107 -0
  628. package/dist/types/index.js +0 -0
  629. package/dist/utils/authorColors.d.ts +16 -0
  630. package/dist/utils/authorColors.js +30 -0
  631. package/dist/utils/baseDirection.d.ts +23 -0
  632. package/dist/utils/baseDirection.js +34 -0
  633. package/dist/utils/clipboard.d.ts +126 -0
  634. package/dist/utils/clipboard.js +622 -0
  635. package/dist/utils/colorResolver.d.ts +158 -0
  636. package/dist/utils/colorResolver.js +557 -0
  637. package/dist/utils/createDocument.d.ts +50 -0
  638. package/dist/utils/createDocument.js +262 -0
  639. package/dist/utils/documentLoaderBehavior.d.ts +22 -0
  640. package/dist/utils/documentLoaderBehavior.js +14 -0
  641. package/dist/utils/docxInput.d.ts +22 -0
  642. package/dist/utils/docxInput.js +16 -0
  643. package/dist/utils/domGuards.d.ts +59 -0
  644. package/dist/utils/domGuards.js +82 -0
  645. package/dist/utils/fontFamilyMerge.d.ts +7 -0
  646. package/dist/utils/fontFamilyMerge.js +31 -0
  647. package/dist/utils/fontLoader.d.ts +50 -0
  648. package/dist/utils/fontLoader.js +177 -0
  649. package/dist/utils/fontResolver.d.ts +61 -0
  650. package/dist/utils/fontResolver.js +651 -0
  651. package/dist/utils/fontWeights.d.ts +4 -0
  652. package/dist/utils/fontWeights.js +4 -0
  653. package/dist/utils/formatToStyle.d.ts +103 -0
  654. package/dist/utils/formatToStyle.js +289 -0
  655. package/dist/utils/headerFooter.d.ts +74 -0
  656. package/dist/utils/headerFooter.js +257 -0
  657. package/dist/utils/headingCollector.d.ts +22 -0
  658. package/dist/utils/headingCollector.js +36 -0
  659. package/dist/utils/hexId.d.ts +33 -0
  660. package/dist/utils/hexId.js +37 -0
  661. package/dist/utils/imageValidation.d.ts +5 -0
  662. package/dist/utils/imageValidation.js +31 -0
  663. package/dist/utils/paragraphFormattingMerge.d.ts +14 -0
  664. package/dist/utils/paragraphFormattingMerge.js +68 -0
  665. package/dist/utils/replaceText.d.ts +17 -0
  666. package/dist/utils/replaceText.js +161 -0
  667. package/dist/utils/rotationBoundingBox.d.ts +12 -0
  668. package/dist/utils/rotationBoundingBox.js +36 -0
  669. package/dist/utils/scriptSegments.d.ts +36 -0
  670. package/dist/utils/scriptSegments.js +52 -0
  671. package/dist/utils/tableOperations.d.ts +87 -0
  672. package/dist/utils/tableOperations.js +259 -0
  673. package/dist/utils/textFormattingMerge.d.ts +6 -0
  674. package/dist/utils/textFormattingMerge.js +31 -0
  675. package/dist/utils/tiffConverter.d.ts +18 -0
  676. package/dist/utils/tiffConverter.js +83 -0
  677. package/dist/utils/units.d.ts +99 -0
  678. package/dist/utils/units.js +139 -0
  679. package/dist/utils/urlSecurity.d.ts +7 -0
  680. package/dist/utils/urlSecurity.js +65 -0
  681. package/dist/watermark/index.d.ts +39 -0
  682. package/dist/watermark/index.js +149 -0
  683. package/package.json +122 -2
@@ -0,0 +1,84 @@
1
+ import { ColumnLayout, FOOTNOTE_SEPARATOR_HEIGHT, Fragment, Page, PageHeaderFooterRefs, PageMargins } from "./types.js";
2
+
3
+ //#region src/layout-engine/paginator.d.ts
4
+ /**
5
+ * Current state of a page being laid out.
6
+ */
7
+ 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. */
11
+ topMargin: number;
12
+ /**
13
+ * Bottom boundary of usable body content area.
14
+ * Equals `pageBottom - footnoteHeight`. Recomputed when footnote
15
+ * demand grows (a line carrying a fn ref is placed on this page).
16
+ */
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
+ trailingSpacing: number;
21
+ };
22
+ /**
23
+ * Options for creating a paginator.
24
+ */
25
+ type PaginatorOptions = {
26
+ /** Page size (width, height). */pageSize: {
27
+ w: number;
28
+ h: number;
29
+ }; /** Page margins. */
30
+ margins: PageMargins;
31
+ /**
32
+ * Margins applied only to the very first page (page 1) of the paginator.
33
+ * Used when a `<w:titlePg/>`-enabled section needs different margins for
34
+ * its title page (typically extended top margin to clear an overflowing
35
+ * first-page header) vs. its body pages. Pages 2+ use `margins`.
36
+ */
37
+ firstPageMargins?: PageMargins; /** Column configuration (optional). */
38
+ columns?: ColumnLayout; /** Per-page footnote reserved heights (pageNumber → height in pixels). */
39
+ footnoteReservedHeights?: Map<number, number>; /** Header/footer refs by section index. */
40
+ sectionHeaderFooterRefs?: PageHeaderFooterRefs[]; /** Callback when a new page is created. */
41
+ onNewPage?: (state: PageState) => void;
42
+ };
43
+ type ForcePageBreakOptions = {
44
+ coalesceBlankPage?: boolean;
45
+ };
46
+ /**
47
+ * Creates a paginator for managing page layout state.
48
+ */
49
+ declare function createPaginator(options: PaginatorOptions): {
50
+ /** All pages created so far. */pages: Page[]; /** All page states. */
51
+ states: PageState[]; /** Column width in pixels (use getColumnWidth() for current value after updates). */
52
+ readonly columnWidth: number; /** Get current column layout (returns copy to prevent external mutation). */
53
+ readonly columns: {
54
+ count: number;
55
+ gap: number;
56
+ equalWidth?: boolean;
57
+ separator?: boolean;
58
+ }; /** Get current state. */
59
+ getCurrentState: () => PageState; /** Get available height in current column. */
60
+ getAvailableHeight: () => number; /** Full content height of a fresh page in the active section. */
61
+ getContentHeight: () => number; /** Get content width for the active section. */
62
+ getContentWidth: () => number; /** Check if height fits in current column. */
63
+ fits: (height: number) => boolean; /** Ensure height fits, advancing if needed. */
64
+ ensureFits: (height: number) => PageState; /** Add a fragment to current page. */
65
+ addFragment: (fragment: Fragment, height: number, spaceBefore?: number, spaceAfter?: number) => {
66
+ state: PageState;
67
+ x: number;
68
+ y: number;
69
+ }; /** Reserve additional footnote area on the current page. */
70
+ addFootnoteHeight: (additionalHeight: number, footnoteIds?: number[]) => void; /** Force a page break. */
71
+ forcePageBreak: (breakOptions?: ForcePageBreakOptions) => PageState; /** Reuse an already blank current page for the active section/layout. */
72
+ retargetCurrentBlankPage: () => boolean; /** Force a column break. */
73
+ forceColumnBreak: () => PageState; /** Get X position for column. */
74
+ getColumnX: (columnIndex: number) => number; /** Update column layout (for section breaks). */
75
+ updateColumns: (newColumns: ColumnLayout) => void; /** Update page size/margins for subsequent pages. */
76
+ updatePageLayout: (newPageSize?: {
77
+ w: number;
78
+ h: number;
79
+ }, newMargins?: PageMargins, applyImmediately?: boolean) => void; /** Mark the next created page as the first page of a new section. */
80
+ startSection: (sectionIndex: number) => void;
81
+ };
82
+ type Paginator = ReturnType<typeof createPaginator>;
83
+ //#endregion
84
+ export { FOOTNOTE_SEPARATOR_HEIGHT, PageState, Paginator, PaginatorOptions, createPaginator };
@@ -0,0 +1,348 @@
1
+ import { FOOTNOTE_SEPARATOR_HEIGHT } from "./types.js";
2
+ import { panic } from "better-result";
3
+ //#region src/layout-engine/paginator.ts
4
+ /**
5
+ * Paginator - manages page state during layout
6
+ *
7
+ * Tracks the current page, cursor position, and available space.
8
+ * Creates new pages when content doesn't fit.
9
+ */
10
+ /**
11
+ * Calculate the width of a single column.
12
+ */
13
+ function calculateColumnWidth(pageWidth, leftMargin, rightMargin, columns) {
14
+ return (pageWidth - leftMargin - rightMargin - (columns.count - 1) * columns.gap) / columns.count;
15
+ }
16
+ function arePageSizesEqual(left, right) {
17
+ return left.w === right.w && left.h === right.h;
18
+ }
19
+ function areMarginsEqual(left, right) {
20
+ return left.top === right.top && left.right === right.right && left.bottom === right.bottom && left.left === right.left && left.header === right.header && left.footer === right.footer;
21
+ }
22
+ /**
23
+ * Creates a paginator for managing page layout state.
24
+ */
25
+ function createPaginator(options) {
26
+ let pageSize = { ...options.pageSize };
27
+ let margins = { ...options.margins };
28
+ let columns = options.columns ?? {
29
+ count: 1,
30
+ gap: 0
31
+ };
32
+ let pendingPageSize;
33
+ let pendingMargins;
34
+ let currentSectionIndex = 0;
35
+ let currentSectionPageNumber = 0;
36
+ const pages = [];
37
+ const states = [];
38
+ function getContentBottom() {
39
+ return pageSize.h - margins.bottom;
40
+ }
41
+ function getContentHeight() {
42
+ return getContentBottom() - margins.top;
43
+ }
44
+ function getContentWidth() {
45
+ return pageSize.w - margins.left - margins.right;
46
+ }
47
+ function currentPageUsesActiveLayout(state) {
48
+ if (pendingPageSize || pendingMargins) return false;
49
+ return arePageSizesEqual(state.page.size, pageSize) && areMarginsEqual(state.page.margins, margins);
50
+ }
51
+ if (getContentHeight() <= 0) panic("Paginator: page size and margins yield no content area");
52
+ let columnWidth = calculateColumnWidth(pageSize.w, margins.left, margins.right, columns);
53
+ function recalculateColumnWidth() {
54
+ columnWidth = calculateColumnWidth(pageSize.w, margins.left, margins.right, columns);
55
+ }
56
+ function applyPendingLayout() {
57
+ if (pendingPageSize) pageSize = pendingPageSize;
58
+ if (pendingMargins) margins = pendingMargins;
59
+ pendingPageSize = void 0;
60
+ pendingMargins = void 0;
61
+ if (getContentHeight() <= 0) panic("Paginator: section page size and margins yield no content area");
62
+ recalculateColumnWidth();
63
+ }
64
+ function getPageMargins(pageNumber) {
65
+ return pageNumber === 1 && options.firstPageMargins ? { ...options.firstPageMargins } : { ...margins };
66
+ }
67
+ let columnRegionTop = margins.top;
68
+ /**
69
+ * Get X position for a given column index.
70
+ */
71
+ function getColumnX(columnIndex) {
72
+ return margins.left + columnIndex * (columnWidth + columns.gap);
73
+ }
74
+ /**
75
+ * Create a new page and add it to the list.
76
+ */
77
+ function createNewPage() {
78
+ if (pendingPageSize || pendingMargins) applyPendingLayout();
79
+ const pageNumber = pages.length + 1;
80
+ currentSectionPageNumber += 1;
81
+ const pageMargins = getPageMargins(pageNumber);
82
+ const topMargin = pageMargins.top;
83
+ const contentBottom = pageSize.h - pageMargins.bottom;
84
+ const footnoteHeight = options.footnoteReservedHeights?.get(pageNumber) ?? 0;
85
+ const pageContentBottom = contentBottom - footnoteHeight;
86
+ const page = {
87
+ number: pageNumber,
88
+ fragments: [],
89
+ margins: pageMargins,
90
+ size: { ...pageSize },
91
+ ...footnoteHeight > 0 ? { footnoteReservedHeight: footnoteHeight } : {},
92
+ ...columns.count > 1 ? { columns: { ...columns } } : {}
93
+ };
94
+ applySectionMetadata(page);
95
+ const state = {
96
+ page,
97
+ cursorY: topMargin,
98
+ columnIndex: 0,
99
+ topMargin,
100
+ contentBottom: pageContentBottom,
101
+ rawContentBottom: contentBottom,
102
+ footnoteHeight,
103
+ trailingSpacing: 0
104
+ };
105
+ pages.push(page);
106
+ states.push(state);
107
+ columnRegionTop = topMargin;
108
+ if (options.onNewPage) options.onNewPage(state);
109
+ return state;
110
+ }
111
+ /**
112
+ * Get the current page state, creating one if none exists.
113
+ */
114
+ function getCurrentState() {
115
+ if (states.length === 0) return createNewPage();
116
+ const last = states.at(-1);
117
+ if (!last) return createNewPage();
118
+ return last;
119
+ }
120
+ /**
121
+ * Get available height remaining on the current column.
122
+ */
123
+ function getAvailableHeight(state) {
124
+ return state.contentBottom - state.cursorY;
125
+ }
126
+ /**
127
+ * Check if the given height fits in the current column.
128
+ */
129
+ function fits(height, state) {
130
+ return getAvailableHeight(state || getCurrentState()) >= height;
131
+ }
132
+ /**
133
+ * Advance to the next column, or create a new page if no more columns.
134
+ */
135
+ function advanceColumn(state) {
136
+ if (state.columnIndex < columns.count - 1) {
137
+ state.columnIndex += 1;
138
+ state.cursorY = columnRegionTop;
139
+ state.trailingSpacing = 0;
140
+ return state;
141
+ }
142
+ return createNewPage();
143
+ }
144
+ /**
145
+ * Ensure content of given height can fit.
146
+ * Advances column or creates new page if needed.
147
+ * Returns the state to use for placement.
148
+ */
149
+ function ensureFits(height) {
150
+ let state = getCurrentState();
151
+ const safeHeight = Number.isFinite(height) && height > 0 ? height : 0;
152
+ while (!fits(safeHeight, state)) {
153
+ if (safeHeight > state.contentBottom - state.topMargin) {
154
+ if (state.cursorY !== state.topMargin) state = advanceColumn(state);
155
+ return state;
156
+ }
157
+ state = advanceColumn(state);
158
+ }
159
+ return state;
160
+ }
161
+ /**
162
+ * Add a fragment to the current page at the cursor position.
163
+ * Updates cursor position after placement.
164
+ */
165
+ function addFragment(fragment, height, spaceBefore = 0, spaceAfter = 0) {
166
+ const initialState = getCurrentState();
167
+ const initialColumnIndex = initialState.columnIndex;
168
+ const effectiveSpaceBefore = Math.max(spaceBefore, initialState.trailingSpacing);
169
+ const state = ensureFits(effectiveSpaceBefore + height);
170
+ const actualSpaceBefore = state === initialState && state.columnIndex === initialColumnIndex ? effectiveSpaceBefore : spaceBefore;
171
+ const x = getColumnX(state.columnIndex);
172
+ const y = state.cursorY + actualSpaceBefore;
173
+ fragment.x = x;
174
+ fragment.y = y;
175
+ state.page.fragments.push(fragment);
176
+ state.cursorY = y + height;
177
+ state.trailingSpacing = spaceAfter;
178
+ return {
179
+ state,
180
+ x,
181
+ y
182
+ };
183
+ }
184
+ /**
185
+ * Reserve additional footnote area on the current page.
186
+ *
187
+ * Called by the layout engine each time a body line carrying a
188
+ * footnote ref is placed: the page must shrink its body area by
189
+ * the fn content's height so the fn can render below without
190
+ * overflowing into the footer. Updates both `state.contentBottom`
191
+ * (so subsequent line-fitting checks see the reduced space) and
192
+ * `state.page.footnoteReservedHeight` (so the painter draws the fn
193
+ * area at the correct top).
194
+ *
195
+ * On the first fn added to a page, additionally reserves
196
+ * `FOOTNOTE_SEPARATOR_HEIGHT` for the divider line + its margins so
197
+ * the separator stays inside the reserved slot.
198
+ *
199
+ * Caller is responsible for ensuring the line itself fits *with*
200
+ * `additionalHeight` already accounted for; if the line should have
201
+ * advanced to the next page, the engine must check that *before*
202
+ * committing the line + reservation.
203
+ */
204
+ function addFootnoteHeight(additionalHeight, footnoteIds) {
205
+ if (!Number.isFinite(additionalHeight) || additionalHeight <= 0) return;
206
+ const state = getCurrentState();
207
+ const separatorOverhead = state.footnoteHeight === 0 ? 12 : 0;
208
+ state.footnoteHeight += additionalHeight + separatorOverhead;
209
+ state.contentBottom = state.rawContentBottom - state.footnoteHeight;
210
+ state.page.footnoteReservedHeight = state.footnoteHeight;
211
+ if (footnoteIds && footnoteIds.length > 0) {
212
+ const existing = state.page.footnoteIds ?? [];
213
+ for (const id of footnoteIds) if (!existing.includes(id)) existing.push(id);
214
+ state.page.footnoteIds = existing;
215
+ }
216
+ }
217
+ /**
218
+ * Force a page break - move to a new page.
219
+ */
220
+ function forcePageBreak(breakOptions = {}) {
221
+ const current = states.at(-1);
222
+ if (breakOptions.coalesceBlankPage && current && current.page.fragments.length === 0 && current.cursorY === current.topMargin && currentPageUsesActiveLayout(current)) {
223
+ if (current.page.sectionIndex !== currentSectionIndex) {
224
+ currentSectionPageNumber = 1;
225
+ applySectionMetadata(current.page);
226
+ }
227
+ return current;
228
+ }
229
+ return createNewPage();
230
+ }
231
+ function retargetCurrentBlankPage() {
232
+ const current = states.at(-1);
233
+ if (!current || current.page.fragments.length > 0 || current.cursorY !== current.topMargin) return false;
234
+ if (pendingPageSize || pendingMargins) applyPendingLayout();
235
+ const pageMargins = getPageMargins(current.page.number);
236
+ const topMargin = pageMargins.top;
237
+ const rawContentBottom = pageSize.h - pageMargins.bottom;
238
+ const footnoteHeight = options.footnoteReservedHeights?.get(current.page.number) ?? 0;
239
+ current.page.size = { ...pageSize };
240
+ current.page.margins = pageMargins;
241
+ if (footnoteHeight > 0) current.page.footnoteReservedHeight = footnoteHeight;
242
+ else delete current.page.footnoteReservedHeight;
243
+ if (columns.count > 1) current.page.columns = { ...columns };
244
+ else delete current.page.columns;
245
+ current.topMargin = topMargin;
246
+ current.cursorY = topMargin;
247
+ current.columnIndex = 0;
248
+ current.rawContentBottom = rawContentBottom;
249
+ current.footnoteHeight = footnoteHeight;
250
+ current.contentBottom = rawContentBottom - footnoteHeight;
251
+ current.trailingSpacing = 0;
252
+ columnRegionTop = topMargin;
253
+ currentSectionPageNumber = 1;
254
+ applySectionMetadata(current.page);
255
+ return true;
256
+ }
257
+ /**
258
+ * Force a column break - move to next column or new page.
259
+ */
260
+ function forceColumnBreak() {
261
+ return advanceColumn(getCurrentState());
262
+ }
263
+ /**
264
+ * Update column configuration mid-document (for section breaks).
265
+ * Recalculates column width based on current page/margin dimensions.
266
+ * Sets columnRegionTop to the current cursor position so that
267
+ * column advancement stays below existing content (for continuous breaks).
268
+ */
269
+ function updateColumns(newColumns) {
270
+ columns = newColumns;
271
+ columnWidth = calculateColumnWidth(pageSize.w, margins.left, margins.right, columns);
272
+ const state = getCurrentState();
273
+ if (columns.count > 1) state.page.columns = { ...columns };
274
+ else delete state.page.columns;
275
+ columnRegionTop = state.cursorY;
276
+ state.columnIndex = 0;
277
+ }
278
+ function updatePageLayout(newPageSize, newMargins, applyImmediately = true) {
279
+ if (!applyImmediately) {
280
+ pendingPageSize = newPageSize ? { ...newPageSize } : pendingPageSize;
281
+ pendingMargins = newMargins ? { ...newMargins } : pendingMargins;
282
+ return;
283
+ }
284
+ if (newPageSize) pageSize = { ...newPageSize };
285
+ if (newMargins) margins = { ...newMargins };
286
+ if (getContentHeight() <= 0) panic("Paginator: section page size and margins yield no content area");
287
+ recalculateColumnWidth();
288
+ pendingPageSize = void 0;
289
+ pendingMargins = void 0;
290
+ }
291
+ function startSection(sectionIndex) {
292
+ currentSectionIndex = sectionIndex;
293
+ currentSectionPageNumber = 0;
294
+ }
295
+ function applySectionMetadata(page) {
296
+ page.sectionIndex = currentSectionIndex;
297
+ page.sectionPageNumber = currentSectionPageNumber;
298
+ const refs = options.sectionHeaderFooterRefs?.[currentSectionIndex];
299
+ if (refs) page.headerFooterRefs = refs;
300
+ else delete page.headerFooterRefs;
301
+ }
302
+ return {
303
+ /** All pages created so far. */
304
+ pages,
305
+ /** All page states. */
306
+ states,
307
+ /** Column width in pixels (use getColumnWidth() for current value after updates). */
308
+ get columnWidth() {
309
+ return columnWidth;
310
+ },
311
+ /** Get current column layout (returns copy to prevent external mutation). */
312
+ get columns() {
313
+ return { ...columns };
314
+ },
315
+ /** Get current state. */
316
+ getCurrentState,
317
+ /** Get available height in current column. */
318
+ getAvailableHeight: () => getAvailableHeight(getCurrentState()),
319
+ /** Full content height of a fresh page in the active section. */
320
+ getContentHeight,
321
+ /** Get content width for the active section. */
322
+ getContentWidth,
323
+ /** Check if height fits in current column. */
324
+ fits: (height) => fits(height),
325
+ /** Ensure height fits, advancing if needed. */
326
+ ensureFits,
327
+ /** Add a fragment to current page. */
328
+ addFragment,
329
+ /** Reserve additional footnote area on the current page. */
330
+ addFootnoteHeight,
331
+ /** Force a page break. */
332
+ forcePageBreak,
333
+ /** Reuse an already blank current page for the active section/layout. */
334
+ retargetCurrentBlankPage,
335
+ /** Force a column break. */
336
+ forceColumnBreak,
337
+ /** Get X position for column. */
338
+ getColumnX,
339
+ /** Update column layout (for section breaks). */
340
+ updateColumns,
341
+ /** Update page size/margins for subsequent pages. */
342
+ updatePageLayout,
343
+ /** Mark the next created page as the first page of a new section. */
344
+ startSection
345
+ };
346
+ }
347
+ //#endregion
348
+ export { FOOTNOTE_SEPARATOR_HEIGHT, createPaginator };
@@ -0,0 +1,9 @@
1
+ import { ParagraphBlock, ParagraphMeasure } from "./types.js";
2
+
3
+ //#region src/layout-engine/paragraphFragmentRange.d.ts
4
+ declare function getParagraphFragmentPmRange(block: ParagraphBlock, measure: ParagraphMeasure, fromLine: number, toLine: number): {
5
+ pmStart?: number;
6
+ pmEnd?: number;
7
+ };
8
+ //#endregion
9
+ export { getParagraphFragmentPmRange };
@@ -0,0 +1,40 @@
1
+ //#region src/layout-engine/paragraphFragmentRange.ts
2
+ function clampCharOffset(value, length) {
3
+ if (value == null || !Number.isFinite(value)) return 0;
4
+ return Math.max(0, Math.min(length, value));
5
+ }
6
+ function runBoundaryPmPos(run, charOffset, edge) {
7
+ if (!run) return;
8
+ if (run.kind === "text") {
9
+ if (typeof run.pmStart === "number") return run.pmStart + clampCharOffset(charOffset, run.text.length);
10
+ return edge === "end" ? run.pmEnd : void 0;
11
+ }
12
+ if (edge === "end") {
13
+ if (typeof run.pmEnd === "number") return run.pmEnd;
14
+ return typeof run.pmStart === "number" ? run.pmStart + 1 : void 0;
15
+ }
16
+ return run.pmStart;
17
+ }
18
+ function getParagraphFragmentPmRange(block, measure, fromLine, toLine) {
19
+ if (measure.lines.length === 0 || fromLine >= toLine) {
20
+ const res = {};
21
+ if (block.pmStart !== void 0) res.pmStart = block.pmStart;
22
+ if (block.pmEnd !== void 0) res.pmEnd = block.pmEnd;
23
+ return res;
24
+ }
25
+ const firstLine = measure.lines[fromLine];
26
+ const lastLine = measure.lines[toLine - 1];
27
+ const firstRun = firstLine ? block.runs[firstLine.fromRun] : void 0;
28
+ const lastRun = lastLine ? block.runs[lastLine.toRun] : void 0;
29
+ let pmStart = fromLine === 0 ? block.pmStart ?? runBoundaryPmPos(firstRun, firstLine?.fromChar ?? 0, "start") : runBoundaryPmPos(firstRun, firstLine?.fromChar ?? 0, "start");
30
+ let pmEnd = toLine >= measure.lines.length ? block.pmEnd ?? runBoundaryPmPos(lastRun, lastLine?.toChar ?? 0, "end") : runBoundaryPmPos(lastRun, lastLine?.toChar ?? 0, "end");
31
+ if (pmStart == null) pmStart = block.pmStart;
32
+ if (pmEnd == null) pmEnd = block.pmEnd;
33
+ if (pmStart != null && pmEnd != null && pmEnd <= pmStart) pmEnd = pmStart + 1;
34
+ const result = {};
35
+ if (pmStart !== void 0) result.pmStart = pmStart;
36
+ if (pmEnd !== void 0) result.pmEnd = pmEnd;
37
+ return result;
38
+ }
39
+ //#endregion
40
+ export { getParagraphFragmentPmRange };
@@ -0,0 +1,78 @@
1
+ import { ColumnLayout, PageMargins, SectionBreakBlock } from "./types.js";
2
+
3
+ //#region src/layout-engine/section-breaks.d.ts
4
+ /**
5
+ * State tracking for sections during layout.
6
+ * Uses active/pending pattern to schedule changes at page boundaries.
7
+ */
8
+ 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. */
17
+ activePageSize: {
18
+ w: number;
19
+ h: number;
20
+ }; /** Scheduled page size for next page. */
21
+ pendingPageSize: {
22
+ w: number;
23
+ 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. */
29
+ hasAnyPages: boolean;
30
+ };
31
+ /**
32
+ * Decision about what happens at a section break.
33
+ */
34
+ 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). */
37
+ requiredParity?: "even" | "odd";
38
+ };
39
+ /**
40
+ * Create initial section state from default options.
41
+ */
42
+ declare function createInitialSectionState(margins: PageMargins, pageSize: {
43
+ w: number;
44
+ h: number;
45
+ }, columns?: ColumnLayout): SectionState;
46
+ /**
47
+ * Schedule section break effects by analyzing the break type and updating state.
48
+ *
49
+ * This determines what layout changes should occur (page break, column changes)
50
+ * and schedules the new section properties to be applied at the appropriate boundary.
51
+ */
52
+ declare function scheduleSectionBreak(block: SectionBreakBlock, state: SectionState, _baseMargins: PageMargins): {
53
+ decision: BreakDecision;
54
+ state: SectionState;
55
+ };
56
+ /**
57
+ * Apply pending section state to active state at a page boundary.
58
+ * Transfers all pending values to active and clears pending.
59
+ */
60
+ declare function applyPendingToActive(state: SectionState): SectionState;
61
+ /**
62
+ * Get the effective margins for the current section state.
63
+ * Returns active margins, or pending if scheduled.
64
+ */
65
+ declare function getEffectiveMargins(state: SectionState): PageMargins;
66
+ /**
67
+ * Get the effective page size for the current section state.
68
+ */
69
+ declare function getEffectivePageSize(state: SectionState): {
70
+ w: number;
71
+ h: number;
72
+ };
73
+ /**
74
+ * Get the effective columns for the current section state.
75
+ */
76
+ declare function getEffectiveColumns(state: SectionState): ColumnLayout;
77
+ //#endregion
78
+ export { BreakDecision, SectionState, applyPendingToActive, createInitialSectionState, getEffectiveColumns, getEffectiveMargins, getEffectivePageSize, scheduleSectionBreak };