@stll/folio-core 0.0.1-placeholder.0 → 0.1.0

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 +58 -0
  616. package/dist/types/block-id.js +61 -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,74 @@
1
+ import { document_d_exports } from "../../types/document.js";
2
+ import { FlowBlock, HeaderFooterContent, ImageRun, Measure, PageMargins } from "../../layout-engine/types.js";
3
+ import { MeasureBlocksFn } from "./footnoteLayout.js";
4
+ import { Node } from "prosemirror-model";
5
+
6
+ //#region src/layout-bridge/convert/headerFooterLayout.d.ts
7
+ type HeaderFooterMetrics = {
8
+ section: "header" | "footer";
9
+ pageSize: {
10
+ w: number;
11
+ h: number;
12
+ };
13
+ margins: PageMargins;
14
+ };
15
+ declare function normalizeHeaderFooterMeasureBlocks(blocks: FlowBlock[]): FlowBlock[];
16
+ declare function resolveHeaderFooterVisualTop(run: ImageRun, paragraphY: number, flowHeight: number, metrics: HeaderFooterMetrics): number;
17
+ declare function calculateHeaderFooterVisualBounds(blocks: FlowBlock[], measures: Measure[], flowHeight: number, metrics: HeaderFooterMetrics): {
18
+ visualTop: number;
19
+ visualBottom: number;
20
+ };
21
+ /**
22
+ * Compute the header/footer bounds used by `computeHeaderFooterMarginExtender`
23
+ * to push body margins clear of HF overflow. Excludes anchored/floating objects
24
+ * (full-page letterheads, watermarks): Word positions them on the page instead
25
+ * of in the header/footer flow, so they must not reserve body push-down. Keeping
26
+ * them in `visualBottom` is still correct for the renderer (and for the
27
+ * page-hash invalidation signal), but the margin extender needs the flow-only
28
+ * extent.
29
+ */
30
+ declare function calculateHeaderFooterMarginPushBounds(blocks: FlowBlock[], measures: Measure[], flowHeight: number, metrics: HeaderFooterMetrics): {
31
+ top: number;
32
+ bottom: number;
33
+ };
34
+ type ConvertHeaderFooterOptions = {
35
+ styles?: document_d_exports.StyleDefinitions | null;
36
+ theme?: document_d_exports.Theme | null;
37
+ measureBlocks: MeasureBlocksFn; /** Document-wide `w:defaultTabStop` in twips — forwarded to toFlowBlocks. */
38
+ defaultTabStopTwips?: number;
39
+ /**
40
+ * Relationship id of the source HF part. Stamped onto the returned
41
+ * `HeaderFooterContent.rId` so the painter can emit `data-rid` on the
42
+ * `.layout-page-header` / `.layout-page-footer` DOM node for the pointer
43
+ * pipeline (`HiddenHeaderFooterPMs` + `findHfPmSpans`).
44
+ */
45
+ rId?: string;
46
+ };
47
+ /**
48
+ * Convert HeaderFooter (document type) to HeaderFooterContent (render type).
49
+ *
50
+ * Routes through the same pipeline as the body: HF.content ->
51
+ * headerFooterToProseDoc -> toFlowBlocks -> measureBlocks. The inline editor
52
+ * uses the same conversion chain, so block support (paragraph, table, image,
53
+ * textBox, fields) and the inline editor's content stay in lockstep.
54
+ *
55
+ * No result cache — typing in the body shouldn't recompute HF, but the
56
+ * upstream cache keyed on `HeaderFooter` identity went stale after inline
57
+ * edits. The HF pipeline runs at most four times per layout pass and the
58
+ * paragraph-level measurement cache one layer down covers most of the work.
59
+ */
60
+ declare function convertHeaderFooterToContent(headerFooter: document_d_exports.HeaderFooter | null | undefined, contentWidth: number, metrics: HeaderFooterMetrics, options: ConvertHeaderFooterOptions): HeaderFooterContent | undefined;
61
+ /**
62
+ * Same as {@link convertHeaderFooterToContent}, but sourced from a live
63
+ * ProseMirror document instead of `HeaderFooter.content`. Used by the
64
+ * persistent hidden HF EditorView pipeline so the painter renders the PM's
65
+ * current state (Word-style WYSIWYG: every keystroke repaints).
66
+ *
67
+ * The pmDoc is expected to be a body-shaped PM doc (the result of
68
+ * `headerFooterToProseDoc` at mount, plus any user edits applied since).
69
+ * Theme + styles do NOT need to be threaded again — they only matter for the
70
+ * initial parse path; subsequent transformations are PM-internal.
71
+ */
72
+ declare function convertHeaderFooterPmDocToContent(pmDoc: Node | null | undefined, contentWidth: number, metrics: HeaderFooterMetrics, options: Omit<ConvertHeaderFooterOptions, "styles">): HeaderFooterContent | undefined;
73
+ //#endregion
74
+ export { ConvertHeaderFooterOptions, HeaderFooterMetrics, calculateHeaderFooterMarginPushBounds, calculateHeaderFooterVisualBounds, convertHeaderFooterPmDocToContent, convertHeaderFooterToContent, normalizeHeaderFooterMeasureBlocks, resolveHeaderFooterVisualTop };
@@ -0,0 +1,432 @@
1
+ import { emuToPixels } from "../../utils/units.js";
2
+ import { isFloatingImageRun, isFloatingTextBoxBlock } from "../../layout-engine/types.js";
3
+ import { toFlowBlocks } from "./toFlowBlocks.js";
4
+ import { headerFooterToProseDoc } from "../../prosemirror/conversion/toProseDoc.js";
5
+ //#region src/layout-bridge/convert/headerFooterLayout.ts
6
+ function isAnchoredImageRun(run) {
7
+ if (run.kind !== "image") return false;
8
+ if (run.position) return true;
9
+ return isFloatingImageRun(run);
10
+ }
11
+ function hasAuthoredVisualContent(block) {
12
+ if (block.kind !== "paragraph") return false;
13
+ const attrs = block.attrs;
14
+ if (!attrs) return false;
15
+ if (attrs.borders?.top || attrs.borders?.bottom) return true;
16
+ if (attrs.spacingExplicit?.before || attrs.spacingExplicit?.after) return true;
17
+ return false;
18
+ }
19
+ function normalizeHeaderFooterMeasureBlocks(blocks) {
20
+ return normalizeFlowBlockArray(blocks);
21
+ }
22
+ function normalizeFlowBlockArray(blocks) {
23
+ const trailingEmptyAfterTable = /* @__PURE__ */ new Set();
24
+ const lastIndex = blocks.length - 1;
25
+ if (lastIndex > 0) {
26
+ const cur = blocks[lastIndex];
27
+ if (blocks[lastIndex - 1]?.kind === "table" && cur?.kind === "paragraph" && cur.runs.length === 0 && !hasAuthoredVisualContent(cur)) trailingEmptyAfterTable.add(lastIndex);
28
+ }
29
+ return blocks.map((block, index) => {
30
+ if (block.kind === "table") return normalizeTableBlock(block);
31
+ if (block.kind !== "paragraph") return block;
32
+ const isTrailingEmpty = trailingEmptyAfterTable.has(index);
33
+ const explicit = block.attrs?.spacingExplicit;
34
+ const hasResolvedBefore = block.attrs?.spacing?.before != null;
35
+ const hasResolvedAfter = block.attrs?.spacing?.after != null;
36
+ const beforeIsInherited = hasResolvedBefore && !explicit?.before;
37
+ const afterIsInherited = hasResolvedAfter && !explicit?.after;
38
+ const stripsSpacing = beforeIsInherited || afterIsInherited;
39
+ const stripsImages = block.runs.some(isAnchoredImageRun);
40
+ if (!stripsSpacing && !stripsImages && !isTrailingEmpty) return block;
41
+ let inlineRuns = block.runs;
42
+ if (stripsImages) {
43
+ inlineRuns = block.runs.filter((r) => !isAnchoredImageRun(r));
44
+ if (inlineRuns.length === 0) inlineRuns = [{
45
+ kind: "text",
46
+ text: ""
47
+ }];
48
+ }
49
+ let attrs = block.attrs;
50
+ if (stripsSpacing && attrs?.spacing) {
51
+ const newSpacing = { ...attrs.spacing };
52
+ if (!explicit?.before) delete newSpacing.before;
53
+ if (!explicit?.after) delete newSpacing.after;
54
+ attrs = {
55
+ ...attrs,
56
+ spacing: newSpacing
57
+ };
58
+ }
59
+ if (isTrailingEmpty) attrs = {
60
+ ...attrs,
61
+ suppressEmptyParagraphHeight: true
62
+ };
63
+ return attrs ? {
64
+ ...block,
65
+ runs: inlineRuns,
66
+ attrs
67
+ } : {
68
+ ...block,
69
+ runs: inlineRuns
70
+ };
71
+ });
72
+ }
73
+ function normalizeTableBlock(block) {
74
+ const blockState = { changed: false };
75
+ const rows = block.rows.map((row) => {
76
+ const rowState = { changed: false };
77
+ const cells = row.cells.map((cell) => {
78
+ const normalizedBlocks = normalizeFlowBlockArray(cell.blocks);
79
+ if (!normalizedBlocks.some((normalizedBlock, idx) => normalizedBlock !== cell.blocks[idx])) return cell;
80
+ rowState.changed = true;
81
+ return {
82
+ ...cell,
83
+ blocks: normalizedBlocks
84
+ };
85
+ });
86
+ if (!rowState.changed) return row;
87
+ blockState.changed = true;
88
+ return {
89
+ ...row,
90
+ cells
91
+ };
92
+ });
93
+ return blockState.changed ? {
94
+ ...block,
95
+ rows
96
+ } : block;
97
+ }
98
+ function getPositionAlignment(axis) {
99
+ return axis?.align ?? axis?.alignment;
100
+ }
101
+ function resolveHeaderFooterVisualTop(run, paragraphY, flowHeight, metrics) {
102
+ const flowTop = metrics.section === "header" ? metrics.margins.header ?? 48 : metrics.pageSize.h - (metrics.margins.footer ?? 48) - flowHeight;
103
+ const vertical = run.position?.vertical;
104
+ if (!vertical) return paragraphY;
105
+ const align = getPositionAlignment(vertical);
106
+ const offsetPx = vertical.posOffset !== void 0 ? emuToPixels(vertical.posOffset) : void 0;
107
+ if (vertical.relativeTo === "page") {
108
+ if (offsetPx !== void 0) return offsetPx - flowTop;
109
+ if (align === "top") return -flowTop;
110
+ if (align === "bottom") return metrics.pageSize.h - run.height - flowTop;
111
+ if (align === "center") return (metrics.pageSize.h - run.height) / 2 - flowTop;
112
+ }
113
+ if (vertical.relativeTo === "margin") {
114
+ const marginTop = metrics.margins.top;
115
+ const marginHeight = metrics.pageSize.h - metrics.margins.top - metrics.margins.bottom;
116
+ if (offsetPx !== void 0) return marginTop + offsetPx - flowTop;
117
+ if (align === "top") return marginTop - flowTop;
118
+ if (align === "bottom") return marginTop + marginHeight - run.height - flowTop;
119
+ if (align === "center") return marginTop + (marginHeight - run.height) / 2 - flowTop;
120
+ }
121
+ if (offsetPx !== void 0) return paragraphY + offsetPx;
122
+ return paragraphY;
123
+ }
124
+ function resolveHeaderFooterFloatingTableVisualTop(floating, measure, sourceY, flowHeight, metrics) {
125
+ const flowTop = metrics.section === "header" ? metrics.margins.header ?? 48 : metrics.pageSize.h - (metrics.margins.footer ?? 48) - flowHeight;
126
+ const vertAnchor = floating.vertAnchor ?? "margin";
127
+ const vertFrameHeight = vertAnchor === "page" ? metrics.pageSize.h : metrics.pageSize.h - metrics.margins.top - metrics.margins.bottom;
128
+ const vertFrameOffset = vertAnchor === "page" ? -flowTop : metrics.margins.top - flowTop;
129
+ if (floating.tblpYSpec === "top") return vertFrameOffset;
130
+ if (floating.tblpYSpec === "bottom") return vertFrameOffset + vertFrameHeight - measure.totalHeight;
131
+ if (floating.tblpYSpec === "center") return vertFrameOffset + (vertFrameHeight - measure.totalHeight) / 2;
132
+ if (floating.tblpY !== void 0) return vertFrameOffset + floating.tblpY;
133
+ return sourceY;
134
+ }
135
+ function isBehindDocImageBlock(block) {
136
+ return block.kind === "image" && block.anchor?.behindDoc === true;
137
+ }
138
+ function isPositionedHeaderFooterTextBoxBlock(block) {
139
+ if (block.displayMode === "block" || block.displayMode === "inline") return false;
140
+ return isFloatingTextBoxBlock(block);
141
+ }
142
+ function calculateHeaderFooterVisualBounds(blocks, measures, flowHeight, metrics) {
143
+ let visualTop = 0;
144
+ let visualBottom = flowHeight;
145
+ let cursorY = 0;
146
+ for (let i = 0; i < blocks.length; i++) {
147
+ const block = blocks[i];
148
+ const measure = measures[i];
149
+ if (!block || !measure) continue;
150
+ if (block.kind === "paragraph" && measure.kind === "paragraph") {
151
+ const paragraphStartY = cursorY;
152
+ const paragraphBottomY = paragraphStartY + measure.totalHeight;
153
+ visualTop = Math.min(visualTop, paragraphStartY);
154
+ visualBottom = Math.max(visualBottom, paragraphBottomY);
155
+ for (const run of block.runs) {
156
+ if (run.kind !== "image") continue;
157
+ if (!run.position && !isFloatingImageRun(run)) continue;
158
+ const runTop = resolveHeaderFooterVisualTop(run, paragraphStartY, flowHeight, metrics);
159
+ visualTop = Math.min(visualTop, runTop);
160
+ visualBottom = Math.max(visualBottom, runTop + run.height);
161
+ }
162
+ cursorY = paragraphBottomY;
163
+ } else {
164
+ let blockHeight;
165
+ let advancesCursor = true;
166
+ if (block.kind === "table" && measure.kind === "table") {
167
+ blockHeight = measure.totalHeight;
168
+ if (block.floating) advancesCursor = false;
169
+ } else if (block.kind === "image" && measure.kind === "image") blockHeight = measure.height;
170
+ else if (block.kind === "textBox" && measure.kind === "textBox") {
171
+ blockHeight = measure.height;
172
+ if (isPositionedHeaderFooterTextBoxBlock(block)) advancesCursor = false;
173
+ } else continue;
174
+ if (advancesCursor) {
175
+ const blockBottomY = cursorY + blockHeight;
176
+ visualTop = Math.min(visualTop, cursorY);
177
+ visualBottom = Math.max(visualBottom, blockBottomY);
178
+ cursorY = blockBottomY;
179
+ } else if (block.kind === "table" && block.floating && measure.kind === "table") {
180
+ const blockTop = resolveHeaderFooterFloatingTableVisualTop(block.floating, measure, cursorY, flowHeight, metrics);
181
+ visualTop = Math.min(visualTop, blockTop);
182
+ visualBottom = Math.max(visualBottom, blockTop + blockHeight);
183
+ } else if (block.kind === "textBox" && isPositionedHeaderFooterTextBoxBlock(block) && measure.kind === "textBox") {
184
+ visualTop = Math.min(visualTop, cursorY);
185
+ visualBottom = Math.max(visualBottom, cursorY + measure.height);
186
+ }
187
+ }
188
+ }
189
+ return {
190
+ visualTop,
191
+ visualBottom
192
+ };
193
+ }
194
+ /**
195
+ * Compute the header/footer bounds used by `computeHeaderFooterMarginExtender`
196
+ * to push body margins clear of HF overflow. Excludes anchored/floating objects
197
+ * (full-page letterheads, watermarks): Word positions them on the page instead
198
+ * of in the header/footer flow, so they must not reserve body push-down. Keeping
199
+ * them in `visualBottom` is still correct for the renderer (and for the
200
+ * page-hash invalidation signal), but the margin extender needs the flow-only
201
+ * extent.
202
+ */
203
+ function calculateHeaderFooterMarginPushBounds(blocks, measures, flowHeight, metrics) {
204
+ let top = 0;
205
+ let bottom = 0;
206
+ let cursorY = 0;
207
+ for (let i = 0; i < blocks.length; i++) {
208
+ const block = blocks[i];
209
+ const measure = measures[i];
210
+ if (!block || !measure) continue;
211
+ if (block.kind === "paragraph" && measure.kind === "paragraph") {
212
+ const paragraphBottomY = cursorY + measure.totalHeight;
213
+ top = Math.min(top, cursorY);
214
+ bottom = Math.max(bottom, paragraphBottomY);
215
+ cursorY = paragraphBottomY;
216
+ } else if (isBehindDocImageBlock(block)) continue;
217
+ else {
218
+ let blockHeight;
219
+ let advancesCursor = true;
220
+ if (block.kind === "table" && measure.kind === "table") {
221
+ blockHeight = measure.totalHeight;
222
+ if (block.floating) advancesCursor = false;
223
+ } else if (block.kind === "image" && measure.kind === "image") {
224
+ if (block.anchor?.isAnchored) continue;
225
+ blockHeight = measure.height;
226
+ } else if (block.kind === "textBox" && measure.kind === "textBox") {
227
+ if (isPositionedHeaderFooterTextBoxBlock(block)) continue;
228
+ blockHeight = measure.height;
229
+ } else continue;
230
+ if (advancesCursor) {
231
+ const blockBottomY = cursorY + blockHeight;
232
+ top = Math.min(top, cursorY);
233
+ bottom = Math.max(bottom, blockBottomY);
234
+ cursorY = blockBottomY;
235
+ } else if (block.kind === "table" && block.floating && measure.kind === "table") {
236
+ const blockTop = resolveHeaderFooterFloatingTableVisualTop(block.floating, measure, cursorY, flowHeight, metrics);
237
+ top = Math.min(top, blockTop);
238
+ bottom = Math.max(bottom, blockTop + blockHeight);
239
+ }
240
+ }
241
+ }
242
+ return {
243
+ top,
244
+ bottom
245
+ };
246
+ }
247
+ /**
248
+ * Convert HeaderFooter (document type) to HeaderFooterContent (render type).
249
+ *
250
+ * Routes through the same pipeline as the body: HF.content ->
251
+ * headerFooterToProseDoc -> toFlowBlocks -> measureBlocks. The inline editor
252
+ * uses the same conversion chain, so block support (paragraph, table, image,
253
+ * textBox, fields) and the inline editor's content stay in lockstep.
254
+ *
255
+ * No result cache — typing in the body shouldn't recompute HF, but the
256
+ * upstream cache keyed on `HeaderFooter` identity went stale after inline
257
+ * edits. The HF pipeline runs at most four times per layout pass and the
258
+ * paragraph-level measurement cache one layer down covers most of the work.
259
+ */
260
+ function convertHeaderFooterToContent(headerFooter, contentWidth, metrics, options) {
261
+ if (!headerFooter || headerFooter.content.length === 0) return;
262
+ const proseDocOptions = {};
263
+ if (options.styles) proseDocOptions.styles = options.styles;
264
+ if (options.theme !== void 0) proseDocOptions.theme = options.theme;
265
+ const pmDoc = headerFooterToProseDoc(headerFooter.content, proseDocOptions);
266
+ const flowOptions = {};
267
+ if (options.theme !== void 0) flowOptions.theme = options.theme;
268
+ if (options.defaultTabStopTwips !== void 0) flowOptions.defaultTabStopTwips = options.defaultTabStopTwips;
269
+ return finalizeHeaderFooterContent(toFlowBlocks(pmDoc, flowOptions), contentWidth, metrics, options);
270
+ }
271
+ /**
272
+ * Same as {@link convertHeaderFooterToContent}, but sourced from a live
273
+ * ProseMirror document instead of `HeaderFooter.content`. Used by the
274
+ * persistent hidden HF EditorView pipeline so the painter renders the PM's
275
+ * current state (Word-style WYSIWYG: every keystroke repaints).
276
+ *
277
+ * The pmDoc is expected to be a body-shaped PM doc (the result of
278
+ * `headerFooterToProseDoc` at mount, plus any user edits applied since).
279
+ * Theme + styles do NOT need to be threaded again — they only matter for the
280
+ * initial parse path; subsequent transformations are PM-internal.
281
+ */
282
+ function convertHeaderFooterPmDocToContent(pmDoc, contentWidth, metrics, options) {
283
+ if (!pmDoc || pmDoc.content.size === 0) return;
284
+ const flowOptions = {};
285
+ if (options.theme !== void 0) flowOptions.theme = options.theme;
286
+ if (options.defaultTabStopTwips !== void 0) flowOptions.defaultTabStopTwips = options.defaultTabStopTwips;
287
+ return finalizeHeaderFooterContent(toFlowBlocks(pmDoc, flowOptions), contentWidth, metrics, options);
288
+ }
289
+ function finalizeHeaderFooterContent(blocks, contentWidth, metrics, options) {
290
+ if (blocks.length === 0) return;
291
+ const blocksForMeasure = normalizeHeaderFooterMeasureBlocks(blocks);
292
+ const measures = options.measureBlocks(blocksForMeasure, contentWidth);
293
+ let flowHeight = 0;
294
+ for (let i = 0; i < measures.length; i++) {
295
+ const m = measures[i];
296
+ const b = blocks[i];
297
+ if (!m || !b) continue;
298
+ flowHeight += getHeaderFooterFlowMeasureHeight(b, m);
299
+ }
300
+ const { visualTop, visualBottom } = calculateHeaderFooterVisualBounds(blocks, measures, flowHeight, metrics);
301
+ const { top: marginPushTop, bottom: marginPushBottom } = calculateHeaderFooterMarginPushBounds(blocks, measures, flowHeight, metrics);
302
+ return {
303
+ blocks,
304
+ measures,
305
+ height: flowHeight,
306
+ visualTop,
307
+ visualBottom,
308
+ marginPushTop,
309
+ marginPushBottom,
310
+ textSig: computeHeaderFooterTextSig(blocks),
311
+ ...options.rId ? { rId: options.rId } : {}
312
+ };
313
+ }
314
+ function getHeaderFooterFlowMeasureHeight(block, measure) {
315
+ if (block.kind === "paragraph" && measure.kind === "paragraph") return measure.totalHeight;
316
+ if (block.kind === "table" && measure.kind === "table") {
317
+ if (block.floating) return 0;
318
+ return measure.totalHeight;
319
+ }
320
+ if (block.kind === "image" && measure.kind === "image") {
321
+ if (block.anchor?.isAnchored) return 0;
322
+ return measure.height;
323
+ }
324
+ if (block.kind === "textBox" && measure.kind === "textBox") {
325
+ if (isPositionedHeaderFooterTextBoxBlock(block)) return 0;
326
+ return measure.height;
327
+ }
328
+ return 0;
329
+ }
330
+ /**
331
+ * Cheap content fingerprint for the painter's incremental-render cache. The
332
+ * default fields hashed by `computeOptionsHash` (block count + flow height +
333
+ * visual bounds) miss same-height in-place edits — typing a replacement
334
+ * character, toggling bold, etc. — so the painter's incremental path then
335
+ * skips re-rendering page shells and the user's HF edits stay invisible
336
+ * until something else triggers a full repaint (Codex #487 P1 follow-up:
337
+ * 21:02 review; extended for run formatting + fields per 21:28 review).
338
+ *
339
+ * For each run carry text + every visual-affecting field: text characters,
340
+ * field type (PAGE / NUMPAGES / DATE / TIME), and the full RunFormatting
341
+ * record (bold, italic, color, underline, fontSize, font, etc.). Toggling
342
+ * bold or inserting a PAGE field on existing same-height content now
343
+ * differentiates the signature and forces a repaint. Tables, images, and
344
+ * text boxes are summarised by kind + dims so resize / image swap also
345
+ * invalidate. JSON.stringify is moderately expensive but folio HF is
346
+ * bounded (a handful of paragraphs, max).
347
+ */
348
+ function computeHeaderFooterTextSig(blocks) {
349
+ return blocks.map(blockSig).join("|");
350
+ }
351
+ function blockSig(b) {
352
+ if (b.kind === "paragraph") {
353
+ let text = `p:${serializeParagraphAttrs(b.attrs)}|`;
354
+ for (const r of b.runs) if (r.kind === "text") text += `T:${r.text}|${serializeRunFmt(r)};`;
355
+ else if (r.kind === "tab") text += `\\t|${serializeRunFmt(r)};`;
356
+ else if (r.kind === "lineBreak") text += "\\n;";
357
+ else if (r.kind === "image") text += `[i${r.width}x${r.height}|${r.src}|${r.transform ?? ""}|${r.wrapType ?? ""}];`;
358
+ else if (r.kind === "math") text += `M:${r.display}|${r.ommlXml};`;
359
+ else text += `F:${r.fieldType}|${serializeRunFmt(r)};`;
360
+ return text;
361
+ }
362
+ if (b.kind === "table") {
363
+ const cellParts = [];
364
+ for (const row of b.rows) for (const cell of row.cells) cellParts.push(cell.blocks.map(blockSig).join(","));
365
+ return `t:${b.rows.length}:${cellParts.join("|")}`;
366
+ }
367
+ if (b.kind === "image") return `i:${b.width}x${b.height}|${b.src}|${b.transform ?? ""}|${b.anchor?.behindDoc ? "behind" : ""}`;
368
+ if (b.kind === "textBox") {
369
+ const inner = b.blocks;
370
+ if (Array.isArray(inner) && inner.length > 0) return `tb:${inner.map(blockSig).join(",")}`;
371
+ return "tb";
372
+ }
373
+ return "";
374
+ }
375
+ function serializeParagraphAttrs(attrs) {
376
+ if (!attrs) return "";
377
+ const keys = [
378
+ "alignment",
379
+ "bidi",
380
+ "indent",
381
+ "spacing",
382
+ "styleId",
383
+ "borders",
384
+ "shading",
385
+ "contextualSpacing",
386
+ "keepNext",
387
+ "keepLines",
388
+ "pageBreakBefore",
389
+ "numPr",
390
+ "listMarker",
391
+ "listIsBullet",
392
+ "listMarkerHidden",
393
+ "listMarkerSuffix",
394
+ "tabs"
395
+ ];
396
+ const out = {};
397
+ for (const k of keys) {
398
+ const v = attrs[k];
399
+ if (v !== void 0 && v !== null) out[k] = v;
400
+ }
401
+ return JSON.stringify(out);
402
+ }
403
+ /**
404
+ * Serialise the RunFormatting fields that actually drive the painter's
405
+ * visual output. The Run type spreads RunFormatting in place, so we project
406
+ * a small shape and JSON-stringify it; properties that are undefined are
407
+ * skipped so the resulting string stays compact for unstyled runs.
408
+ */
409
+ function serializeRunFmt(run) {
410
+ const keys = [
411
+ "bold",
412
+ "italic",
413
+ "underline",
414
+ "strikethrough",
415
+ "color",
416
+ "highlightColor",
417
+ "fontSize",
418
+ "fontFamily",
419
+ "verticalAlign",
420
+ "letterSpacing",
421
+ "smallCaps",
422
+ "allCaps"
423
+ ];
424
+ const out = {};
425
+ for (const k of keys) {
426
+ const v = run[k];
427
+ if (v !== void 0 && v !== null) out[k] = v;
428
+ }
429
+ return JSON.stringify(out);
430
+ }
431
+ //#endregion
432
+ export { calculateHeaderFooterMarginPushBounds, calculateHeaderFooterVisualBounds, convertHeaderFooterPmDocToContent, convertHeaderFooterToContent, normalizeHeaderFooterMeasureBlocks, resolveHeaderFooterVisualTop };
@@ -0,0 +1,36 @@
1
+ import { FlowBlock } from "../../layout-engine/types.js";
2
+ import { TemplatePreviewValue } from "../../prosemirror/plugins/templatePreviewValues.js";
3
+
4
+ //#region src/layout-bridge/convert/templatePreviewFlow.d.ts
5
+ /** One marker→value substitution, in PM doc positions. */
6
+ type TemplatePreviewFlowEntry = {
7
+ /** Inclusive PM doc position of the marker start. */from: number; /** Exclusive PM doc position of the marker end. */
8
+ to: number; /** The typed value displayed in place of the marker. */
9
+ value: TemplatePreviewValue;
10
+ };
11
+ type TemplatePreviewFlowOptions = {
12
+ entries: readonly TemplatePreviewFlowEntry[]; /** `highlighted` marks substituted runs for the accent-chip CSS. */
13
+ mode: "highlighted" | "plain";
14
+ };
15
+ /**
16
+ * Replace each entry's marker range with its preview value across the given
17
+ * flow blocks (recursing into table cells and text boxes). Returns the input
18
+ * array unchanged when there is nothing to substitute.
19
+ */
20
+ declare function applyTemplatePreviewToBlocks(blocks: FlowBlock[], {
21
+ entries,
22
+ mode
23
+ }: TemplatePreviewFlowOptions): FlowBlock[];
24
+ /**
25
+ * PM range covering every substitution that differs between two preview
26
+ * states (changed, added, or removed entries), or `null` when the
27
+ * substituted flow content is identical. Feeds the layout pipeline's
28
+ * dirty-range invalidation so typing a value re-measures only the blocks
29
+ * hosting the affected markers.
30
+ */
31
+ declare function templatePreviewDirtyRange(previous: readonly TemplatePreviewFlowEntry[], next: readonly TemplatePreviewFlowEntry[]): {
32
+ from: number;
33
+ to: number;
34
+ } | null;
35
+ //#endregion
36
+ export { TemplatePreviewFlowEntry, TemplatePreviewFlowOptions, applyTemplatePreviewToBlocks, templatePreviewDirtyRange };