@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,17 @@
1
+ import { EditorView } from "prosemirror-view";
2
+
3
+ //#region src/paged-layout/scrollToPmPosition.d.ts
4
+ /** Class on the pages container `PagedEditor` paints into. */
5
+ declare const PAGES_CONTAINER_CLASS = "paged-editor__pages";
6
+ /** Scroll visible pages to a ProseMirror position. */
7
+ declare const scrollPagesToPmPosition: (pageContainer: HTMLElement, pmPos: number) => void;
8
+ /**
9
+ * Scroll the paged layout that mirrors `view` so `pmPos` is centered
10
+ * in the viewport. The hidden editing view sits inside the editor's
11
+ * scroll container, so the painted pages are reachable from its DOM.
12
+ * Returns false when no paged layout is found (non-paged host) so
13
+ * callers can fall back to coordinate-based scrolling.
14
+ */
15
+ declare const scrollFolioPositionIntoView: (view: EditorView, pmPos: number) => boolean;
16
+ //#endregion
17
+ export { PAGES_CONTAINER_CLASS, scrollFolioPositionIntoView, scrollPagesToPmPosition };
@@ -0,0 +1,95 @@
1
+ import { findBodyPmAnchor, findBodyPmAnchors } from "../layout-bridge/dom/findBodyPmSpans.js";
2
+ import { findPageShellForPmPos } from "../layout-painter/renderPage.js";
3
+ import { isValidPmScrollPosition, prefersReducedMotionBehavior } from "./scrollNavigation.js";
4
+ //#region src/paged-layout/scrollToPmPosition.ts
5
+ /** Class on the pages container `PagedEditor` paints into. */
6
+ const PAGES_CONTAINER_CLASS = "paged-editor__pages";
7
+ /** Scroll visible pages to a ProseMirror position. */
8
+ const scrollPagesToPmPosition = (pageContainer, pmPos) => {
9
+ if (!isValidPmScrollPosition(pmPos)) return;
10
+ const exact = findBodyPmAnchor(pageContainer, pmPos);
11
+ if (exact) {
12
+ exact.scrollIntoView({
13
+ behavior: prefersReducedMotionBehavior(),
14
+ block: "center"
15
+ });
16
+ return;
17
+ }
18
+ let runMatch = null;
19
+ for (const el of findBodyPmAnchors(pageContainer)) {
20
+ const start = Number(el.dataset["pmStart"]);
21
+ if (Number.isNaN(start)) continue;
22
+ const endAttr = el.dataset["pmEnd"];
23
+ const end = endAttr === void 0 ? start : Number(endAttr);
24
+ if (start <= pmPos && pmPos <= end) {
25
+ runMatch = el;
26
+ break;
27
+ }
28
+ }
29
+ if (runMatch) {
30
+ runMatch.scrollIntoView({
31
+ behavior: prefersReducedMotionBehavior(),
32
+ block: "center"
33
+ });
34
+ return;
35
+ }
36
+ const shellHit = findPageShellForPmPos(pageContainer, pmPos);
37
+ if (!shellHit) return;
38
+ const { element: shell } = shellHit;
39
+ shell.scrollIntoView({
40
+ behavior: prefersReducedMotionBehavior(),
41
+ block: "center"
42
+ });
43
+ let attempts = 0;
44
+ const refine = () => {
45
+ attempts++;
46
+ const exactInShell = findBodyPmAnchor(shell, pmPos);
47
+ if (exactInShell) {
48
+ exactInShell.scrollIntoView({
49
+ behavior: prefersReducedMotionBehavior(),
50
+ block: "center"
51
+ });
52
+ return;
53
+ }
54
+ let bestEl = null;
55
+ let bestStart = Number.NEGATIVE_INFINITY;
56
+ for (const el of findBodyPmAnchors(shell)) {
57
+ const start = Number(el.dataset["pmStart"]);
58
+ if (Number.isNaN(start)) continue;
59
+ const endAttr = el.dataset["pmEnd"];
60
+ const end = endAttr === void 0 ? start : Number(endAttr);
61
+ if (start <= pmPos && pmPos <= end) {
62
+ bestEl = el;
63
+ break;
64
+ }
65
+ if (start <= pmPos && start > bestStart) {
66
+ bestStart = start;
67
+ bestEl = el;
68
+ }
69
+ }
70
+ if (bestEl) {
71
+ bestEl.scrollIntoView({
72
+ behavior: prefersReducedMotionBehavior(),
73
+ block: "center"
74
+ });
75
+ return;
76
+ }
77
+ if (attempts < 20) requestAnimationFrame(refine);
78
+ };
79
+ requestAnimationFrame(refine);
80
+ };
81
+ /**
82
+ * Scroll the paged layout that mirrors `view` so `pmPos` is centered
83
+ * in the viewport. The hidden editing view sits inside the editor's
84
+ * scroll container, so the painted pages are reachable from its DOM.
85
+ * Returns false when no paged layout is found (non-paged host) so
86
+ * callers can fall back to coordinate-based scrolling.
87
+ */
88
+ const scrollFolioPositionIntoView = (view, pmPos) => {
89
+ const pageContainer = view.dom.closest("[data-folio-scroll]")?.querySelector(`.paged-editor__pages`) ?? null;
90
+ if (!pageContainer) return false;
91
+ scrollPagesToPmPosition(pageContainer, pmPos);
92
+ return true;
93
+ };
94
+ //#endregion
95
+ export { PAGES_CONTAINER_CLASS, scrollFolioPositionIntoView, scrollPagesToPmPosition };
@@ -0,0 +1,35 @@
1
+ import { FlowBlock } from "../layout-engine/types.js";
2
+ import { SectionLayoutConfig } from "../layout-engine/index.js";
3
+
4
+ //#region src/paged-layout/sectionBlockWidths.d.ts
5
+ type ComputePerBlockMeasureInput = {
6
+ blocks: FlowBlock[];
7
+ bodyConfig: SectionLayoutConfig;
8
+ finalConfig: SectionLayoutConfig;
9
+ };
10
+ type PerBlockMeasureInputs = {
11
+ widths: number[];
12
+ marginTops: number[];
13
+ pageHeights: number[];
14
+ marginBottoms: number[];
15
+ };
16
+ /**
17
+ * Compute per-block measurement widths by scanning for section breaks.
18
+ * Blocks in multi-column sections must be measured at column width, not full content width.
19
+ *
20
+ * OOXML note: Each section break carries the CURRENT section's properties.
21
+ * Section N's blocks use config from sectionBreak[N].
22
+ * The final section (after all breaks) uses body-level config.
23
+ */
24
+ declare function computePerBlockWidths({
25
+ blocks,
26
+ bodyConfig,
27
+ finalConfig
28
+ }: ComputePerBlockMeasureInput): number[];
29
+ declare function computePerBlockMeasureInputs({
30
+ blocks,
31
+ bodyConfig,
32
+ finalConfig
33
+ }: ComputePerBlockMeasureInput): PerBlockMeasureInputs;
34
+ //#endregion
35
+ export { computePerBlockMeasureInputs, computePerBlockWidths };
@@ -0,0 +1,52 @@
1
+ import { collectSectionConfigs } from "../layout-engine/index.js";
2
+ //#region src/paged-layout/sectionBlockWidths.ts
3
+ const SINGLE_COLUMN_LAYOUT = {
4
+ count: 1,
5
+ gap: 0
6
+ };
7
+ /**
8
+ * Compute per-block measurement widths by scanning for section breaks.
9
+ * Blocks in multi-column sections must be measured at column width, not full content width.
10
+ *
11
+ * OOXML note: Each section break carries the CURRENT section's properties.
12
+ * Section N's blocks use config from sectionBreak[N].
13
+ * The final section (after all breaks) uses body-level config.
14
+ */
15
+ function computePerBlockWidths({ blocks, bodyConfig, finalConfig }) {
16
+ return computePerBlockMeasureInputs({
17
+ blocks,
18
+ bodyConfig,
19
+ finalConfig
20
+ }).widths;
21
+ }
22
+ function computePerBlockMeasureInputs({ blocks, bodyConfig, finalConfig }) {
23
+ function colWidth(cw, cols) {
24
+ if (cols.count <= 1) return cw;
25
+ return Math.floor((cw - (cols.count - 1) * cols.gap) / cols.count);
26
+ }
27
+ function contentWidth(config) {
28
+ return config.pageSize.w - config.margins.left - config.margins.right;
29
+ }
30
+ const { configs: sectionConfigs, breakIndices } = collectSectionConfigs(blocks, bodyConfig, finalConfig);
31
+ let sectionIdx = 0;
32
+ const widths = [];
33
+ const marginTops = [];
34
+ const pageHeights = [];
35
+ const marginBottoms = [];
36
+ for (let i = 0; i < blocks.length; i++) {
37
+ const config = sectionConfigs[sectionIdx] ?? finalConfig;
38
+ widths.push(colWidth(contentWidth(config), config.columns ?? SINGLE_COLUMN_LAYOUT));
39
+ marginTops.push(config.margins.top);
40
+ pageHeights.push(config.pageSize.h);
41
+ marginBottoms.push(config.margins.bottom);
42
+ if (sectionIdx < breakIndices.length && i === breakIndices[sectionIdx]) sectionIdx++;
43
+ }
44
+ return {
45
+ widths,
46
+ marginTops,
47
+ pageHeights,
48
+ marginBottoms
49
+ };
50
+ }
51
+ //#endregion
52
+ export { computePerBlockMeasureInputs, computePerBlockWidths };
@@ -0,0 +1,21 @@
1
+ import { document_d_exports } from "../types/document.js";
2
+ import { PageMargins } from "../layout-engine/types.js";
3
+
4
+ //#region src/paged-layout/sectionGeometry.d.ts
5
+ declare const DEFAULT_PAGE_WIDTH_PX = 816;
6
+ declare const DEFAULT_PAGE_HEIGHT_PX = 1056;
7
+ declare const DEFAULT_BODY_MARGIN_PX = 96;
8
+ declare const DEFAULT_HEADER_FOOTER_DISTANCE_PX = 48;
9
+ declare const twipsToPixels: (twips: number) => number;
10
+ /**
11
+ * Convert an offset-like twip dimension to px. Explicit 0 is meaningful for
12
+ * page margins and header/footer distances; only absence should use fallback.
13
+ */
14
+ declare const twipsToPxOr: (twips: number | null | undefined, fallbackPx: number) => number;
15
+ declare const getPageSize: (sectionProps: document_d_exports.SectionProperties | null | undefined) => {
16
+ w: number;
17
+ h: number;
18
+ };
19
+ declare const getMargins: (sectionProps: document_d_exports.SectionProperties | null | undefined) => PageMargins;
20
+ //#endregion
21
+ export { DEFAULT_BODY_MARGIN_PX, DEFAULT_HEADER_FOOTER_DISTANCE_PX, DEFAULT_PAGE_HEIGHT_PX, DEFAULT_PAGE_WIDTH_PX, getMargins, getPageSize, twipsToPixels, twipsToPxOr };
@@ -0,0 +1,36 @@
1
+ //#region src/paged-layout/sectionGeometry.ts
2
+ const DEFAULT_PAGE_WIDTH_PX = 816;
3
+ const DEFAULT_PAGE_HEIGHT_PX = 1056;
4
+ const DEFAULT_BODY_MARGIN_PX = 96;
5
+ const DEFAULT_HEADER_FOOTER_DISTANCE_PX = 48;
6
+ const DEFAULT_MARGINS = {
7
+ top: 96,
8
+ right: 96,
9
+ bottom: 96,
10
+ left: 96
11
+ };
12
+ const twipsToPixels = (twips) => Math.round(twips / 1440 * 96);
13
+ /**
14
+ * Convert an offset-like twip dimension to px. Explicit 0 is meaningful for
15
+ * page margins and header/footer distances; only absence should use fallback.
16
+ */
17
+ const twipsToPxOr = (twips, fallbackPx) => twips !== null && twips !== void 0 ? twipsToPixels(twips) : fallbackPx;
18
+ /**
19
+ * Convert a page-dimension twip value to px. Page dimensions must be positive:
20
+ * a literal 0 is malformed and, like an absent value, uses the fallback.
21
+ */
22
+ const pageDimToPx = (twips, fallbackPx) => twips !== null && twips !== void 0 && twips > 0 ? twipsToPixels(twips) : fallbackPx;
23
+ const getPageSize = (sectionProps) => ({
24
+ w: pageDimToPx(sectionProps?.pageWidth, 816),
25
+ h: pageDimToPx(sectionProps?.pageHeight, DEFAULT_PAGE_HEIGHT_PX)
26
+ });
27
+ const getMargins = (sectionProps) => ({
28
+ top: twipsToPxOr(sectionProps?.marginTop, DEFAULT_MARGINS.top),
29
+ right: twipsToPxOr(sectionProps?.marginRight, DEFAULT_MARGINS.right),
30
+ bottom: twipsToPxOr(sectionProps?.marginBottom, DEFAULT_MARGINS.bottom),
31
+ left: twipsToPxOr(sectionProps?.marginLeft, DEFAULT_MARGINS.left),
32
+ header: twipsToPxOr(sectionProps?.headerDistance, 48),
33
+ footer: twipsToPxOr(sectionProps?.footerDistance, 48)
34
+ });
35
+ //#endregion
36
+ export { DEFAULT_BODY_MARGIN_PX, DEFAULT_HEADER_FOOTER_DISTANCE_PX, DEFAULT_PAGE_HEIGHT_PX, DEFAULT_PAGE_WIDTH_PX, getMargins, getPageSize, twipsToPixels, twipsToPxOr };
@@ -0,0 +1,29 @@
1
+ import { EditorView } from "prosemirror-view";
2
+
3
+ //#region src/paged-layout/selectionViewportRect.d.ts
4
+ /** Attribute SelectionOverlay stamps on every painted highlight rect. */
5
+ declare const FOLIO_SELECTION_RECT_ATTRIBUTE = "data-folio-selection-rect";
6
+ /** Attribute SelectionOverlay stamps on the painted collapsed caret. */
7
+ declare const FOLIO_CARET_RECT_ATTRIBUTE = "data-folio-caret-rect";
8
+ /**
9
+ * Union bounding rect (client coordinates) of the painted selection
10
+ * highlights mirroring `view`'s selection. Returns null for a collapsed
11
+ * selection or while the overlay has not painted yet — the selection
12
+ * geometry is computed asynchronously after each selection change, so
13
+ * callers should retry on a later frame instead of treating null as
14
+ * "no selection".
15
+ */
16
+ declare const getFolioSelectionViewportRect: (view: EditorView) => DOMRect | null;
17
+ /**
18
+ * Client-coordinate rect of the painted collapsed caret mirroring `view`'s
19
+ * cursor. The paged editor's editing view is hidden off-screen, so
20
+ * `view.coordsAtPos` cannot anchor caret-relative floating UI (the slash
21
+ * menu); this reads the painted caret div instead. Returns null while the
22
+ * overlay has not painted the caret yet (it is computed asynchronously after
23
+ * each selection change) or when the selection is a range rather than a caret,
24
+ * so callers should retry on a later frame instead of treating null as "no
25
+ * caret".
26
+ */
27
+ declare const getFolioCaretViewportRect: (view: EditorView) => DOMRect | null;
28
+ //#endregion
29
+ export { FOLIO_CARET_RECT_ATTRIBUTE, FOLIO_SELECTION_RECT_ATTRIBUTE, getFolioCaretViewportRect, getFolioSelectionViewportRect };
@@ -0,0 +1,55 @@
1
+ //#region src/paged-layout/selectionViewportRect.ts
2
+ /** Attribute SelectionOverlay stamps on every painted highlight rect. */
3
+ const FOLIO_SELECTION_RECT_ATTRIBUTE = "data-folio-selection-rect";
4
+ /** Attribute SelectionOverlay stamps on the painted collapsed caret. */
5
+ const FOLIO_CARET_RECT_ATTRIBUTE = "data-folio-caret-rect";
6
+ /**
7
+ * Union bounding rect (client coordinates) of the painted selection
8
+ * highlights mirroring `view`'s selection. Returns null for a collapsed
9
+ * selection or while the overlay has not painted yet — the selection
10
+ * geometry is computed asynchronously after each selection change, so
11
+ * callers should retry on a later frame instead of treating null as
12
+ * "no selection".
13
+ */
14
+ const getFolioSelectionViewportRect = (view) => {
15
+ const scrollContainer = view.dom.closest("[data-folio-scroll]");
16
+ if (!scrollContainer) return null;
17
+ let left = Number.POSITIVE_INFINITY;
18
+ let top = Number.POSITIVE_INFINITY;
19
+ let right = Number.NEGATIVE_INFINITY;
20
+ let bottom = Number.NEGATIVE_INFINITY;
21
+ let found = false;
22
+ const highlights = scrollContainer.querySelectorAll(`[${FOLIO_SELECTION_RECT_ATTRIBUTE}]`);
23
+ for (const el of highlights) {
24
+ const rect = el.getBoundingClientRect();
25
+ if (rect.width <= 0 || rect.height <= 0) continue;
26
+ found = true;
27
+ left = Math.min(left, rect.left);
28
+ top = Math.min(top, rect.top);
29
+ right = Math.max(right, rect.right);
30
+ bottom = Math.max(bottom, rect.bottom);
31
+ }
32
+ if (!found) return null;
33
+ return new DOMRect(left, top, right - left, bottom - top);
34
+ };
35
+ /**
36
+ * Client-coordinate rect of the painted collapsed caret mirroring `view`'s
37
+ * cursor. The paged editor's editing view is hidden off-screen, so
38
+ * `view.coordsAtPos` cannot anchor caret-relative floating UI (the slash
39
+ * menu); this reads the painted caret div instead. Returns null while the
40
+ * overlay has not painted the caret yet (it is computed asynchronously after
41
+ * each selection change) or when the selection is a range rather than a caret,
42
+ * so callers should retry on a later frame instead of treating null as "no
43
+ * caret".
44
+ */
45
+ const getFolioCaretViewportRect = (view) => {
46
+ const scrollContainer = view.dom.closest("[data-folio-scroll]");
47
+ if (!scrollContainer) return null;
48
+ const caret = scrollContainer.querySelector(`[${FOLIO_CARET_RECT_ATTRIBUTE}]`);
49
+ if (!caret) return null;
50
+ const rect = caret.getBoundingClientRect();
51
+ if (rect.height <= 0) return null;
52
+ return rect;
53
+ };
54
+ //#endregion
55
+ export { FOLIO_CARET_RECT_ATTRIBUTE, FOLIO_SELECTION_RECT_ATTRIBUTE, getFolioCaretViewportRect, getFolioSelectionViewportRect };
@@ -0,0 +1,19 @@
1
+ //#region src/paged-layout/tableColumnResize.d.ts
2
+ /**
3
+ * Resize a pair of adjacent column widths (in twips) as the boundary handle
4
+ * between them is dragged by `deltaTwips`.
5
+ *
6
+ * For RTL (`w:bidiVisual`) tables the two columns either side of the boundary
7
+ * are visually mirrored — the `left` column paints on the right — so the drag
8
+ * delta is inverted: dragging the handle right grows the visual-left (logical
9
+ * `right`) column and shrinks the visual-right (logical `left`) one, which also
10
+ * keeps the committed boundary under the cursor. Returns the original widths
11
+ * unchanged when either side would drop below `minWidth`.
12
+ * eigenpal/docx-editor#940.
13
+ */
14
+ declare const resizeColumnPair: (left: number, right: number, deltaTwips: number, bidi: boolean, minWidth: number) => {
15
+ left: number;
16
+ right: number;
17
+ };
18
+ //#endregion
19
+ export { resizeColumnPair };
@@ -0,0 +1,28 @@
1
+ //#region src/paged-layout/tableColumnResize.ts
2
+ /**
3
+ * Resize a pair of adjacent column widths (in twips) as the boundary handle
4
+ * between them is dragged by `deltaTwips`.
5
+ *
6
+ * For RTL (`w:bidiVisual`) tables the two columns either side of the boundary
7
+ * are visually mirrored — the `left` column paints on the right — so the drag
8
+ * delta is inverted: dragging the handle right grows the visual-left (logical
9
+ * `right`) column and shrinks the visual-right (logical `left`) one, which also
10
+ * keeps the committed boundary under the cursor. Returns the original widths
11
+ * unchanged when either side would drop below `minWidth`.
12
+ * eigenpal/docx-editor#940.
13
+ */
14
+ const resizeColumnPair = (left, right, deltaTwips, bidi, minWidth) => {
15
+ const signedDelta = bidi ? -deltaTwips : deltaTwips;
16
+ const newLeft = left + signedDelta;
17
+ const newRight = right - signedDelta;
18
+ if (newLeft >= minWidth && newRight >= minWidth) return {
19
+ left: newLeft,
20
+ right: newRight
21
+ };
22
+ return {
23
+ left,
24
+ right
25
+ };
26
+ };
27
+ //#endregion
28
+ export { resizeColumnPair };
@@ -0,0 +1,15 @@
1
+ //#region src/paged-layout/tableInsertButtonGeometry.d.ts
2
+ /**
3
+ * Position the table insert ("+") button inside the zoom-scaled viewport.
4
+ *
5
+ * The button is an absolute child of `.paged-editor__viewport`, which carries
6
+ * `transform: scale(zoom)`. `getBoundingClientRect` returns already-scaled
7
+ * screen pixels, so the screen-space delta from the viewport origin must be
8
+ * divided by `zoom` to land in the viewport's own coordinate space. The
9
+ * constant nudge then stays in that (button-local) space so it tracks the
10
+ * button, which is scaled too. Without the divisor the button drifts off the
11
+ * table edge at any zoom other than 100% (eigenpal/docx-editor#934).
12
+ */
13
+ declare const tableInsertButtonOffset: (edge: number, viewportEdge: number, zoom: number, nudge: number) => number;
14
+ //#endregion
15
+ export { tableInsertButtonOffset };
@@ -0,0 +1,15 @@
1
+ //#region src/paged-layout/tableInsertButtonGeometry.ts
2
+ /**
3
+ * Position the table insert ("+") button inside the zoom-scaled viewport.
4
+ *
5
+ * The button is an absolute child of `.paged-editor__viewport`, which carries
6
+ * `transform: scale(zoom)`. `getBoundingClientRect` returns already-scaled
7
+ * screen pixels, so the screen-space delta from the viewport origin must be
8
+ * divided by `zoom` to land in the viewport's own coordinate space. The
9
+ * constant nudge then stays in that (button-local) space so it tracks the
10
+ * button, which is scaled too. Without the divisor the button drifts off the
11
+ * table edge at any zoom other than 100% (eigenpal/docx-editor#934).
12
+ */
13
+ const tableInsertButtonOffset = (edge, viewportEdge, zoom, nudge) => (edge - viewportEdge) / (zoom || 1) - nudge;
14
+ //#endregion
15
+ export { tableInsertButtonOffset };
@@ -0,0 +1,7 @@
1
+ import { DirtyRange } from "./incrementalMeasure.js";
2
+ import { Transaction } from "prosemirror-state";
3
+
4
+ //#region src/paged-layout/transactionDirtyRange.d.ts
5
+ declare function getTransactionDirtyRange(transaction: Transaction): DirtyRange | null;
6
+ //#endregion
7
+ export { getTransactionDirtyRange };
@@ -0,0 +1,27 @@
1
+ import { AddMarkStep, RemoveMarkStep } from "prosemirror-transform";
2
+ //#region src/paged-layout/transactionDirtyRange.ts
3
+ function getTransactionDirtyRange(transaction) {
4
+ const dirtyRange = {
5
+ from: Number.POSITIVE_INFINITY,
6
+ to: Number.NEGATIVE_INFINITY
7
+ };
8
+ for (let stepIndex = 0; stepIndex < transaction.mapping.maps.length; stepIndex += 1) includeStepDirtyRange(transaction, stepIndex, dirtyRange);
9
+ if (!Number.isFinite(dirtyRange.from) || !Number.isFinite(dirtyRange.to)) return null;
10
+ return dirtyRange;
11
+ }
12
+ function includeStepDirtyRange(transaction, stepIndex, dirtyRange) {
13
+ const map = transaction.mapping.maps[stepIndex];
14
+ if (!map) return;
15
+ const followingMaps = transaction.mapping.slice(stepIndex + 1);
16
+ const extend = (newStart, newEnd) => {
17
+ const finalStart = followingMaps.map(newStart, -1);
18
+ const finalEnd = followingMaps.map(newEnd, 1);
19
+ dirtyRange.from = Math.min(dirtyRange.from, finalStart, finalEnd);
20
+ dirtyRange.to = Math.max(dirtyRange.to, finalStart, finalEnd);
21
+ };
22
+ map.forEach((_oldStart, _oldEnd, newStart, newEnd) => extend(newStart, newEnd));
23
+ const step = transaction.steps[stepIndex];
24
+ if (step instanceof AddMarkStep || step instanceof RemoveMarkStep) extend(step.from, step.to);
25
+ }
26
+ //#endregion
27
+ export { getTransactionDirtyRange };
@@ -0,0 +1,40 @@
1
+ //#region src/paged-layout/zoomScrollAnchor.d.ts
2
+ /**
3
+ * zoomScrollAnchor
4
+ *
5
+ * Framework-agnostic viewport-center anchoring math for zoom changes. The React
6
+ * `useZoomAndPageInfo` hook captures an anchor before a zoom change and restores
7
+ * the scroll position after the layout reflows so the document does not jump.
8
+ */
9
+ type ViewportCenterZoomAnchor = {
10
+ offsetY: number;
11
+ scaledY: number;
12
+ zoom: number;
13
+ };
14
+ type CaptureViewportCenterZoomAnchorParams = {
15
+ clientHeight: number;
16
+ scrollTop: number;
17
+ zoom: number;
18
+ };
19
+ type GetViewportCenterZoomAnchorForZoomChangeParams = {
20
+ clientHeight: number;
21
+ currentZoom: number;
22
+ nextZoom: number;
23
+ pendingAnchor: ViewportCenterZoomAnchor | null;
24
+ scrollTop: number;
25
+ };
26
+ declare const captureViewportCenterZoomAnchor: ({
27
+ clientHeight,
28
+ scrollTop,
29
+ zoom
30
+ }: CaptureViewportCenterZoomAnchorParams) => ViewportCenterZoomAnchor;
31
+ declare const getViewportCenterZoomAnchorForZoomChange: ({
32
+ clientHeight,
33
+ currentZoom,
34
+ nextZoom,
35
+ pendingAnchor,
36
+ scrollTop
37
+ }: GetViewportCenterZoomAnchorForZoomChangeParams) => ViewportCenterZoomAnchor | null;
38
+ declare const getScrollTopForZoomAnchor: (anchor: ViewportCenterZoomAnchor, nextZoom: number) => number;
39
+ //#endregion
40
+ export { ViewportCenterZoomAnchor, captureViewportCenterZoomAnchor, getScrollTopForZoomAnchor, getViewportCenterZoomAnchorForZoomChange };
@@ -0,0 +1,25 @@
1
+ //#region src/paged-layout/zoomScrollAnchor.ts
2
+ const captureViewportCenterZoomAnchor = ({ clientHeight, scrollTop, zoom }) => {
3
+ const offsetY = clientHeight / 2;
4
+ return {
5
+ offsetY,
6
+ scaledY: scrollTop + offsetY,
7
+ zoom
8
+ };
9
+ };
10
+ const getViewportCenterZoomAnchorForZoomChange = ({ clientHeight, currentZoom, nextZoom, pendingAnchor, scrollTop }) => {
11
+ if (pendingAnchor?.zoom === nextZoom) return null;
12
+ if (currentZoom === nextZoom) return pendingAnchor;
13
+ if (pendingAnchor) return pendingAnchor;
14
+ return captureViewportCenterZoomAnchor({
15
+ clientHeight,
16
+ scrollTop,
17
+ zoom: currentZoom
18
+ });
19
+ };
20
+ const getScrollTopForZoomAnchor = (anchor, nextZoom) => {
21
+ if (anchor.zoom <= 0 || nextZoom <= 0) return anchor.scaledY - anchor.offsetY;
22
+ return anchor.scaledY * (nextZoom / anchor.zoom) - anchor.offsetY;
23
+ };
24
+ //#endregion
25
+ export { captureViewportCenterZoomAnchor, getScrollTopForZoomAnchor, getViewportCenterZoomAnchorForZoomChange };
@@ -0,0 +1,80 @@
1
+ import { BlockSdtAttrs, FieldAttrs, HardBreakAttrs, ImageAttrs, MathAttrs, ParagraphAttrs, SdtAttrs, ShapeAttrs, TableAttrs, TableCellAttrs, TableRowAttrs, TextBoxAttrs } from "../schema/nodes.js";
2
+ import { CharacterSpacingAttrs, CharacterStyleAttrs, CommentAttrs, EmphasisMarkAttrs, FontFamilyAttrs, FontSizeAttrs, FootnoteRefAttrs, HighlightAttrs, HyperlinkAttrs, RunFormattingOverrideAttrs, RunShadingAttrs, StrikeAttrs, TextColorAttrs, TextEffectAttrs, TrackedChangeMarkAttrs, UnderlineAttrs } from "../schema/marks.js";
3
+ import { Mark, Node } from "prosemirror-model";
4
+
5
+ //#region src/prosemirror/attrs/index.d.ts
6
+ type ProseMirrorAttrIssue = {
7
+ path: string;
8
+ message: string;
9
+ };
10
+ type ReadProseMirrorAttrsResult<T> = {
11
+ ok: true;
12
+ value: T;
13
+ } | {
14
+ ok: false;
15
+ issues: ProseMirrorAttrIssue[];
16
+ };
17
+ declare const readParagraphAttrs: (node: Node) => ReadProseMirrorAttrsResult<ParagraphAttrs>;
18
+ declare const expectParagraphAttrs: (node: Node) => ParagraphAttrs;
19
+ declare const readHardBreakAttrs: (node: Node) => ReadProseMirrorAttrsResult<HardBreakAttrs>;
20
+ declare const expectHardBreakAttrs: (node: Node) => HardBreakAttrs;
21
+ declare const readTableAttrs: (node: Node) => ReadProseMirrorAttrsResult<TableAttrs>;
22
+ declare const expectTableAttrs: (node: Node) => TableAttrs;
23
+ declare const readTableRowAttrs: (node: Node) => ReadProseMirrorAttrsResult<TableRowAttrs>;
24
+ declare const expectTableRowAttrs: (node: Node) => TableRowAttrs;
25
+ declare const readTableCellAttrs: (node: Node) => ReadProseMirrorAttrsResult<TableCellAttrs>;
26
+ declare const expectTableCellAttrs: (node: Node) => TableCellAttrs;
27
+ declare const readImageAttrs: (node: Node) => ReadProseMirrorAttrsResult<ImageAttrs>;
28
+ declare const expectImageAttrs: (node: Node) => ImageAttrs;
29
+ declare const readFieldAttrs: (node: Node) => ReadProseMirrorAttrsResult<FieldAttrs>;
30
+ declare const expectFieldAttrs: (node: Node) => FieldAttrs;
31
+ declare const readMathAttrs: (node: Node) => ReadProseMirrorAttrsResult<MathAttrs>;
32
+ declare const expectMathAttrs: (node: Node) => MathAttrs;
33
+ declare const readSdtAttrs: (node: Node) => ReadProseMirrorAttrsResult<SdtAttrs>;
34
+ declare const expectSdtAttrs: (node: Node) => SdtAttrs;
35
+ declare const readBlockSdtAttrs: (node: Node) => ReadProseMirrorAttrsResult<BlockSdtAttrs>;
36
+ declare const expectBlockSdtAttrs: (node: Node) => BlockSdtAttrs;
37
+ declare const readShapeAttrs: (node: Node) => ReadProseMirrorAttrsResult<ShapeAttrs>;
38
+ declare const expectShapeAttrs: (node: Node) => ShapeAttrs;
39
+ declare const readTextBoxAttrs: (node: Node) => ReadProseMirrorAttrsResult<TextBoxAttrs>;
40
+ declare const expectTextBoxAttrs: (node: Node) => TextBoxAttrs;
41
+ declare const readUnderlineMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<UnderlineAttrs>;
42
+ declare const expectUnderlineMarkAttrs: (mark: Mark) => UnderlineAttrs;
43
+ declare const readStrikeMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<StrikeAttrs>;
44
+ declare const expectStrikeMarkAttrs: (mark: Mark) => StrikeAttrs;
45
+ declare const readTextColorMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<TextColorAttrs>;
46
+ declare const expectTextColorMarkAttrs: (mark: Mark) => TextColorAttrs;
47
+ declare const readHighlightMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<HighlightAttrs>;
48
+ declare const expectHighlightMarkAttrs: (mark: Mark) => HighlightAttrs;
49
+ declare const readRunShadingMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<RunShadingAttrs>;
50
+ declare const expectRunShadingMarkAttrs: (mark: Mark) => RunShadingAttrs;
51
+ declare const readCharacterStyleMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<CharacterStyleAttrs>;
52
+ declare const expectCharacterStyleMarkAttrs: (mark: Mark) => CharacterStyleAttrs;
53
+ declare const readFontSizeMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<FontSizeAttrs>;
54
+ declare const expectFontSizeMarkAttrs: (mark: Mark) => FontSizeAttrs;
55
+ declare const readFontFamilyMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<FontFamilyAttrs>;
56
+ declare const expectFontFamilyMarkAttrs: (mark: Mark) => FontFamilyAttrs;
57
+ declare const readCharacterSpacingMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<CharacterSpacingAttrs>;
58
+ declare const expectCharacterSpacingMarkAttrs: (mark: Mark) => CharacterSpacingAttrs;
59
+ declare const readEmphasisMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<EmphasisMarkAttrs>;
60
+ declare const expectEmphasisMarkAttrs: (mark: Mark) => EmphasisMarkAttrs;
61
+ declare const readTextEffectMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<TextEffectAttrs>;
62
+ declare const expectTextEffectMarkAttrs: (mark: Mark) => TextEffectAttrs;
63
+ declare const readFootnoteRefMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<FootnoteRefAttrs>;
64
+ declare const expectFootnoteRefMarkAttrs: (mark: Mark) => FootnoteRefAttrs;
65
+ declare const readCommentMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<CommentAttrs>;
66
+ declare const expectCommentMarkAttrs: (mark: Mark) => CommentAttrs;
67
+ declare const readTrackedChangeMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<TrackedChangeMarkAttrs>;
68
+ declare const expectTrackedChangeMarkAttrs: (mark: Mark) => TrackedChangeMarkAttrs;
69
+ declare const readRunFormattingOverrideMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<RunFormattingOverrideAttrs>;
70
+ declare const expectRunFormattingOverrideMarkAttrs: (mark: Mark) => RunFormattingOverrideAttrs;
71
+ declare const readHyperlinkMarkAttrs: (mark: Mark) => ReadProseMirrorAttrsResult<HyperlinkAttrs>;
72
+ declare const expectHyperlinkMarkAttrs: (mark: Mark) => HyperlinkAttrs;
73
+ type NodeAttrPatch<T extends object> = { [K in keyof T]?: T[K] | undefined };
74
+ declare const mergeImageAttrs: (node: Node, patch: NodeAttrPatch<ImageAttrs>) => ImageAttrs;
75
+ declare const mergeParagraphAttrs: (node: Node, patch: NodeAttrPatch<ParagraphAttrs>) => ParagraphAttrs;
76
+ declare const mergeTableAttrs: (node: Node, patch: NodeAttrPatch<TableAttrs>) => TableAttrs;
77
+ declare const mergeTableRowAttrs: (node: Node, patch: NodeAttrPatch<TableRowAttrs>) => TableRowAttrs;
78
+ declare const mergeTableCellAttrs: (node: Node, patch: NodeAttrPatch<TableCellAttrs>) => TableCellAttrs;
79
+ //#endregion
80
+ export { ProseMirrorAttrIssue, ReadProseMirrorAttrsResult, expectBlockSdtAttrs, expectCharacterSpacingMarkAttrs, expectCharacterStyleMarkAttrs, expectCommentMarkAttrs, expectEmphasisMarkAttrs, expectFieldAttrs, expectFontFamilyMarkAttrs, expectFontSizeMarkAttrs, expectFootnoteRefMarkAttrs, expectHardBreakAttrs, expectHighlightMarkAttrs, expectHyperlinkMarkAttrs, expectImageAttrs, expectMathAttrs, expectParagraphAttrs, expectRunFormattingOverrideMarkAttrs, expectRunShadingMarkAttrs, expectSdtAttrs, expectShapeAttrs, expectStrikeMarkAttrs, expectTableAttrs, expectTableCellAttrs, expectTableRowAttrs, expectTextBoxAttrs, expectTextColorMarkAttrs, expectTextEffectMarkAttrs, expectTrackedChangeMarkAttrs, expectUnderlineMarkAttrs, mergeImageAttrs, mergeParagraphAttrs, mergeTableAttrs, mergeTableCellAttrs, mergeTableRowAttrs, readBlockSdtAttrs, readCharacterSpacingMarkAttrs, readCharacterStyleMarkAttrs, readCommentMarkAttrs, readEmphasisMarkAttrs, readFieldAttrs, readFontFamilyMarkAttrs, readFontSizeMarkAttrs, readFootnoteRefMarkAttrs, readHardBreakAttrs, readHighlightMarkAttrs, readHyperlinkMarkAttrs, readImageAttrs, readMathAttrs, readParagraphAttrs, readRunFormattingOverrideMarkAttrs, readRunShadingMarkAttrs, readSdtAttrs, readShapeAttrs, readStrikeMarkAttrs, readTableAttrs, readTableCellAttrs, readTableRowAttrs, readTextBoxAttrs, readTextColorMarkAttrs, readTextEffectMarkAttrs, readTrackedChangeMarkAttrs, readUnderlineMarkAttrs };