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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (683) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE.md +29 -0
  3. package/README.md +41 -0
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/ai-edits/apply.d.ts +35 -0
  6. package/dist/ai-edits/apply.js +683 -0
  7. package/dist/ai-edits/clean-text.d.ts +28 -0
  8. package/dist/ai-edits/clean-text.js +23 -0
  9. package/dist/ai-edits/headless.d.ts +225 -0
  10. package/dist/ai-edits/headless.js +513 -0
  11. package/dist/ai-edits/index.d.ts +6 -0
  12. package/dist/ai-edits/index.js +5 -0
  13. package/dist/ai-edits/inline-emphasis.d.ts +38 -0
  14. package/dist/ai-edits/inline-emphasis.js +78 -0
  15. package/dist/ai-edits/snapshot.d.ts +9 -0
  16. package/dist/ai-edits/snapshot.js +195 -0
  17. package/dist/ai-edits/types.d.ts +156 -0
  18. package/dist/ai-edits/types.js +0 -0
  19. package/dist/ai-edits/word-diff.d.ts +20 -0
  20. package/dist/ai-edits/word-diff.js +77 -0
  21. package/dist/ai-suggestions/apply.d.ts +17 -0
  22. package/dist/ai-suggestions/apply.js +64 -0
  23. package/dist/ai-suggestions/conflict.d.ts +22 -0
  24. package/dist/ai-suggestions/conflict.js +67 -0
  25. package/dist/ai-suggestions/text-positions.d.ts +21 -0
  26. package/dist/ai-suggestions/text-positions.js +48 -0
  27. package/dist/ai-suggestions/types.d.ts +199 -0
  28. package/dist/ai-suggestions/types.js +59 -0
  29. package/dist/content-controls/errors.d.ts +52 -0
  30. package/dist/content-controls/errors.js +36 -0
  31. package/dist/content-controls/findContentControls.d.ts +55 -0
  32. package/dist/content-controls/findContentControls.js +75 -0
  33. package/dist/content-controls/index.d.ts +4 -0
  34. package/dist/content-controls/index.js +4 -0
  35. package/dist/content-controls/mutateContentControls.d.ts +51 -0
  36. package/dist/content-controls/mutateContentControls.js +377 -0
  37. package/dist/controller/folioEditor.d.ts +21 -0
  38. package/dist/controller/folioEditor.js +29 -0
  39. package/dist/controller/folioEditorEvents.d.ts +23 -0
  40. package/dist/controller/folioEditorEvents.js +24 -0
  41. package/dist/controller/hiddenEditorApi.d.ts +35 -0
  42. package/dist/controller/hiddenEditorApi.js +112 -0
  43. package/dist/controller/hiddenEditorManager.d.ts +93 -0
  44. package/dist/controller/hiddenEditorManager.js +308 -0
  45. package/dist/controller/layoutPipeline.d.ts +63 -0
  46. package/dist/controller/layoutPipeline.js +406 -0
  47. package/dist/controller/layoutScheduler.d.ts +41 -0
  48. package/dist/controller/layoutScheduler.js +59 -0
  49. package/dist/controller/layoutSession.d.ts +24 -0
  50. package/dist/controller/layoutSession.js +13 -0
  51. package/dist/docx/blockContentParser.d.ts +13 -0
  52. package/dist/docx/blockContentParser.js +289 -0
  53. package/dist/docx/bookmarkParser.d.ts +178 -0
  54. package/dist/docx/bookmarkParser.js +246 -0
  55. package/dist/docx/bookmarkPlacement.d.ts +10 -0
  56. package/dist/docx/bookmarkPlacement.js +50 -0
  57. package/dist/docx/bulletMarkers.d.ts +4 -0
  58. package/dist/docx/bulletMarkers.js +42 -0
  59. package/dist/docx/commentParser.d.ts +34 -0
  60. package/dist/docx/commentParser.js +127 -0
  61. package/dist/docx/commentReferenceNormalization.d.ts +25 -0
  62. package/dist/docx/commentReferenceNormalization.js +97 -0
  63. package/dist/docx/commentReplyMarkers.d.ts +20 -0
  64. package/dist/docx/commentReplyMarkers.js +123 -0
  65. package/dist/docx/compatibility.d.ts +12 -0
  66. package/dist/docx/compatibility.js +77 -0
  67. package/dist/docx/documentParser.d.ts +65 -0
  68. package/dist/docx/documentParser.js +209 -0
  69. package/dist/docx/drawingUtils.d.ts +56 -0
  70. package/dist/docx/drawingUtils.js +305 -0
  71. package/dist/docx/fieldParser.d.ts +228 -0
  72. package/dist/docx/fieldParser.js +559 -0
  73. package/dist/docx/footnoteParser.d.ts +109 -0
  74. package/dist/docx/footnoteParser.js +270 -0
  75. package/dist/docx/headerFooterParser.d.ts +119 -0
  76. package/dist/docx/headerFooterParser.js +266 -0
  77. package/dist/docx/headerFooterRefParser.d.ts +22 -0
  78. package/dist/docx/headerFooterRefParser.js +52 -0
  79. package/dist/docx/headerFooterReferenceNormalization.d.ts +19 -0
  80. package/dist/docx/headerFooterReferenceNormalization.js +64 -0
  81. package/dist/docx/hyperlinkParser.d.ts +108 -0
  82. package/dist/docx/hyperlinkParser.js +230 -0
  83. package/dist/docx/imageParser.d.ts +93 -0
  84. package/dist/docx/imageParser.js +522 -0
  85. package/dist/docx/mathToMathml.d.ts +15 -0
  86. package/dist/docx/mathToMathml.js +357 -0
  87. package/dist/docx/modelValidation.d.ts +13 -0
  88. package/dist/docx/modelValidation.js +21 -0
  89. package/dist/docx/normalizeBaseDirection.d.ts +12 -0
  90. package/dist/docx/normalizeBaseDirection.js +81 -0
  91. package/dist/docx/notePropertiesParser.d.ts +16 -0
  92. package/dist/docx/notePropertiesParser.js +99 -0
  93. package/dist/docx/numberingParser.d.ts +86 -0
  94. package/dist/docx/numberingParser.js +735 -0
  95. package/dist/docx/numberingReferenceNormalization.d.ts +25 -0
  96. package/dist/docx/numberingReferenceNormalization.js +22 -0
  97. package/dist/docx/paragraphParser.d.ts +86 -0
  98. package/dist/docx/paragraphParser.js +1132 -0
  99. package/dist/docx/paragraphTraversal.d.ts +19 -0
  100. package/dist/docx/paragraphTraversal.js +76 -0
  101. package/dist/docx/parser.d.ts +67 -0
  102. package/dist/docx/parser.js +391 -0
  103. package/dist/docx/parserEnums.d.ts +45 -0
  104. package/dist/docx/parserEnums.js +70 -0
  105. package/dist/docx/relsParser.d.ts +160 -0
  106. package/dist/docx/relsParser.js +235 -0
  107. package/dist/docx/replyToComment.d.ts +29 -0
  108. package/dist/docx/replyToComment.js +73 -0
  109. package/dist/docx/rezip.d.ts +166 -0
  110. package/dist/docx/rezip.js +1194 -0
  111. package/dist/docx/runConsolidator.d.ts +57 -0
  112. package/dist/docx/runConsolidator.js +224 -0
  113. package/dist/docx/runParser.d.ts +78 -0
  114. package/dist/docx/runParser.js +661 -0
  115. package/dist/docx/sdtProperties.d.ts +15 -0
  116. package/dist/docx/sdtProperties.js +290 -0
  117. package/dist/docx/sdtPropertiesPatch.d.ts +16 -0
  118. package/dist/docx/sdtPropertiesPatch.js +144 -0
  119. package/dist/docx/sectionParser.d.ts +95 -0
  120. package/dist/docx/sectionParser.js +534 -0
  121. package/dist/docx/selectiveSave.d.ts +25 -0
  122. package/dist/docx/selectiveSave.js +247 -0
  123. package/dist/docx/selectiveSaveFlags.d.ts +33 -0
  124. package/dist/docx/selectiveSaveFlags.js +11 -0
  125. package/dist/docx/selectiveSaveTripwire.d.ts +33 -0
  126. package/dist/docx/selectiveSaveTripwire.js +79 -0
  127. package/dist/docx/selectiveXmlPatch.d.ts +103 -0
  128. package/dist/docx/selectiveXmlPatch.js +493 -0
  129. package/dist/docx/serializer/blockSdtSerializer.d.ts +6 -0
  130. package/dist/docx/serializer/blockSdtSerializer.js +88 -0
  131. package/dist/docx/serializer/borderSerializer.d.ts +25 -0
  132. package/dist/docx/serializer/borderSerializer.js +44 -0
  133. package/dist/docx/serializer/commentSerializer.d.ts +31 -0
  134. package/dist/docx/serializer/commentSerializer.js +184 -0
  135. package/dist/docx/serializer/documentSerializer.d.ts +65 -0
  136. package/dist/docx/serializer/documentSerializer.js +199 -0
  137. package/dist/docx/serializer/headerFooterSerializer.d.ts +12 -0
  138. package/dist/docx/serializer/headerFooterSerializer.js +84 -0
  139. package/dist/docx/serializer/noteSerializer.d.ts +19 -0
  140. package/dist/docx/serializer/noteSerializer.js +70 -0
  141. package/dist/docx/serializer/numberingSerializer.d.ts +12 -0
  142. package/dist/docx/serializer/numberingSerializer.js +93 -0
  143. package/dist/docx/serializer/paragraphSerializer.d.ts +48 -0
  144. package/dist/docx/serializer/paragraphSerializer.js +559 -0
  145. package/dist/docx/serializer/runSerializer.d.ts +56 -0
  146. package/dist/docx/serializer/runSerializer.js +621 -0
  147. package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +6 -0
  148. package/dist/docx/serializer/sectionPropertiesSerializer.js +187 -0
  149. package/dist/docx/serializer/tableSerializer.d.ts +79 -0
  150. package/dist/docx/serializer/tableSerializer.js +422 -0
  151. package/dist/docx/serializer/xmlUtils.d.ts +20 -0
  152. package/dist/docx/serializer/xmlUtils.js +25 -0
  153. package/dist/docx/settingsParser.d.ts +8 -0
  154. package/dist/docx/settingsParser.js +36 -0
  155. package/dist/docx/shapeParser.d.ts +20 -0
  156. package/dist/docx/shapeParser.js +272 -0
  157. package/dist/docx/styleParser.d.ts +50 -0
  158. package/dist/docx/styleParser.js +905 -0
  159. package/dist/docx/tableParser.d.ts +202 -0
  160. package/dist/docx/tableParser.js +811 -0
  161. package/dist/docx/textBoxParser.d.ts +117 -0
  162. package/dist/docx/textBoxParser.js +262 -0
  163. package/dist/docx/themeParser.d.ts +77 -0
  164. package/dist/docx/themeParser.js +330 -0
  165. package/dist/docx/trackedMoveRangeNormalization.d.ts +22 -0
  166. package/dist/docx/trackedMoveRangeNormalization.js +100 -0
  167. package/dist/docx/unzip.d.ts +118 -0
  168. package/dist/docx/unzip.js +383 -0
  169. package/dist/docx/vmlImageParser.d.ts +16 -0
  170. package/dist/docx/vmlImageParser.js +100 -0
  171. package/dist/docx/watermarkParser.d.ts +45 -0
  172. package/dist/docx/watermarkParser.js +348 -0
  173. package/dist/docx/wrapTypes.d.ts +29 -0
  174. package/dist/docx/wrapTypes.js +48 -0
  175. package/dist/docx/xmlParser.d.ts +297 -0
  176. package/dist/docx/xmlParser.js +527 -0
  177. package/dist/fields/bookmarkPages.d.ts +13 -0
  178. package/dist/fields/bookmarkPages.js +66 -0
  179. package/dist/fields/bookmarkText.d.ts +16 -0
  180. package/dist/fields/bookmarkText.js +61 -0
  181. package/dist/fields/evaluateField.d.ts +23 -0
  182. package/dist/fields/evaluateField.js +77 -0
  183. package/dist/fields/fieldContext.d.ts +21 -0
  184. package/dist/fields/fieldContext.js +0 -0
  185. package/dist/fields/resolveFieldValues.d.ts +44 -0
  186. package/dist/fields/resolveFieldValues.js +204 -0
  187. package/dist/fields/sectionPageCounts.d.ts +11 -0
  188. package/dist/fields/sectionPageCounts.js +16 -0
  189. package/dist/fields/seqValues.d.ts +14 -0
  190. package/dist/fields/seqValues.js +36 -0
  191. package/dist/fonts/embeddedFontTable.d.ts +42 -0
  192. package/dist/fonts/embeddedFontTable.js +80 -0
  193. package/dist/fonts/embeddedFonts.d.ts +46 -0
  194. package/dist/fonts/embeddedFonts.js +112 -0
  195. package/dist/fonts/fontDeobfuscation.d.ts +30 -0
  196. package/dist/fonts/fontDeobfuscation.js +57 -0
  197. package/dist/index.d.ts +28 -0
  198. package/dist/index.js +23 -0
  199. package/dist/layout-bridge/convert/footnoteLayout.d.ts +57 -0
  200. package/dist/layout-bridge/convert/footnoteLayout.js +316 -0
  201. package/dist/layout-bridge/convert/headerFooterLayout.d.ts +74 -0
  202. package/dist/layout-bridge/convert/headerFooterLayout.js +432 -0
  203. package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +36 -0
  204. package/dist/layout-bridge/convert/templatePreviewFlow.js +176 -0
  205. package/dist/layout-bridge/convert/toFlowBlocks.d.ts +65 -0
  206. package/dist/layout-bridge/convert/toFlowBlocks.js +1309 -0
  207. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +17 -0
  208. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.js +36 -0
  209. package/dist/layout-bridge/dom/clickToPositionDom.d.ts +66 -0
  210. package/dist/layout-bridge/dom/clickToPositionDom.js +304 -0
  211. package/dist/layout-bridge/dom/findBodyPmSpans.d.ts +7 -0
  212. package/dist/layout-bridge/dom/findBodyPmSpans.js +17 -0
  213. package/dist/layout-bridge/dom/findHfPmSpans.d.ts +62 -0
  214. package/dist/layout-bridge/dom/findHfPmSpans.js +197 -0
  215. package/dist/layout-bridge/engine/clickToPosition.d.ts +66 -0
  216. package/dist/layout-bridge/engine/clickToPosition.js +403 -0
  217. package/dist/layout-bridge/engine/hitTest.d.ts +135 -0
  218. package/dist/layout-bridge/engine/hitTest.js +375 -0
  219. package/dist/layout-bridge/engine/measuring/index.d.ts +10 -0
  220. package/dist/layout-bridge/engine/measuring/index.js +9 -0
  221. package/dist/layout-bridge/engine/selectionRects.d.ts +59 -0
  222. package/dist/layout-bridge/engine/selectionRects.js +485 -0
  223. package/dist/layout-bridge/engine/tableWidthUtils.d.ts +7 -0
  224. package/dist/layout-bridge/engine/tableWidthUtils.js +25 -0
  225. package/dist/layout-engine/index.d.ts +44 -0
  226. package/dist/layout-engine/index.js +691 -0
  227. package/dist/layout-engine/keep-together.d.ts +43 -0
  228. package/dist/layout-engine/keep-together.js +98 -0
  229. package/dist/layout-engine/layoutInstrumentation.d.ts +50 -0
  230. package/dist/layout-engine/layoutInstrumentation.js +43 -0
  231. package/dist/layout-engine/lineFlow.d.ts +8 -0
  232. package/dist/layout-engine/lineFlow.js +17 -0
  233. package/dist/layout-engine/measure/cache.d.ts +93 -0
  234. package/dist/layout-engine/measure/cache.js +245 -0
  235. package/dist/layout-engine/measure/clampFloatingWrapMargins.d.ts +20 -0
  236. package/dist/layout-engine/measure/clampFloatingWrapMargins.js +29 -0
  237. package/dist/layout-engine/measure/featureFlags.d.ts +44 -0
  238. package/dist/layout-engine/measure/featureFlags.js +19 -0
  239. package/dist/layout-engine/measure/floatingZones.d.ts +89 -0
  240. package/dist/layout-engine/measure/floatingZones.js +152 -0
  241. package/dist/layout-engine/measure/font-metrics.worker.d.ts +17 -0
  242. package/dist/layout-engine/measure/font-metrics.worker.js +104 -0
  243. package/dist/layout-engine/measure/index.d.ts +9 -0
  244. package/dist/layout-engine/measure/index.js +8 -0
  245. package/dist/layout-engine/measure/listMarkerWidth.d.ts +40 -0
  246. package/dist/layout-engine/measure/listMarkerWidth.js +76 -0
  247. package/dist/layout-engine/measure/measureBlocks.d.ts +25 -0
  248. package/dist/layout-engine/measure/measureBlocks.js +450 -0
  249. package/dist/layout-engine/measure/measureContainer.d.ts +24 -0
  250. package/dist/layout-engine/measure/measureContainer.js +280 -0
  251. package/dist/layout-engine/measure/measureHelpers.d.ts +82 -0
  252. package/dist/layout-engine/measure/measureHelpers.js +156 -0
  253. package/dist/layout-engine/measure/measureParagraph.d.ts +61 -0
  254. package/dist/layout-engine/measure/measureParagraph.js +724 -0
  255. package/dist/layout-engine/measure/measureProvider.d.ts +23 -0
  256. package/dist/layout-engine/measure/measureProvider.js +35 -0
  257. package/dist/layout-engine/measure/measureTypes.d.ts +61 -0
  258. package/dist/layout-engine/measure/measureTypes.js +0 -0
  259. package/dist/layout-engine/measure/measureWorker.d.ts +54 -0
  260. package/dist/layout-engine/measure/measureWorker.js +249 -0
  261. package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +88 -0
  262. package/dist/layout-engine/measure/measureWorkerProtocol.js +20 -0
  263. package/dist/layout-engine/measure/tableCellFloating.d.ts +26 -0
  264. package/dist/layout-engine/measure/tableCellFloating.js +99 -0
  265. package/dist/layout-engine/paginator.d.ts +84 -0
  266. package/dist/layout-engine/paginator.js +348 -0
  267. package/dist/layout-engine/paragraphFragmentRange.d.ts +9 -0
  268. package/dist/layout-engine/paragraphFragmentRange.js +40 -0
  269. package/dist/layout-engine/section-breaks.d.ts +78 -0
  270. package/dist/layout-engine/section-breaks.js +182 -0
  271. package/dist/layout-engine/tableRowBreak.d.ts +23 -0
  272. package/dist/layout-engine/tableRowBreak.js +147 -0
  273. package/dist/layout-engine/textBoxFlow.d.ts +50 -0
  274. package/dist/layout-engine/textBoxFlow.js +160 -0
  275. package/dist/layout-engine/types.d.ts +1031 -0
  276. package/dist/layout-engine/types.js +100 -0
  277. package/dist/layout-painter/documentColors.d.ts +4 -0
  278. package/dist/layout-painter/documentColors.js +40 -0
  279. package/dist/layout-painter/index.d.ts +110 -0
  280. package/dist/layout-painter/index.js +182 -0
  281. package/dist/layout-painter/registry/modules/image.d.ts +6 -0
  282. package/dist/layout-painter/registry/modules/image.js +17 -0
  283. package/dist/layout-painter/registry/modules/paragraph.d.ts +6 -0
  284. package/dist/layout-painter/registry/modules/paragraph.js +18 -0
  285. package/dist/layout-painter/registry/modules/table.d.ts +6 -0
  286. package/dist/layout-painter/registry/modules/table.js +16 -0
  287. package/dist/layout-painter/registry/modules/textBox.d.ts +6 -0
  288. package/dist/layout-painter/registry/modules/textBox.js +13 -0
  289. package/dist/layout-painter/registry/modules.d.ts +6 -0
  290. package/dist/layout-painter/registry/modules.js +26 -0
  291. package/dist/layout-painter/registry/registry.d.ts +24 -0
  292. package/dist/layout-painter/registry/registry.js +53 -0
  293. package/dist/layout-painter/registry/types.d.ts +61 -0
  294. package/dist/layout-painter/registry/types.js +0 -0
  295. package/dist/layout-painter/renderFragment.d.ts +32 -0
  296. package/dist/layout-painter/renderFragment.js +114 -0
  297. package/dist/layout-painter/renderImage.d.ts +88 -0
  298. package/dist/layout-painter/renderImage.js +130 -0
  299. package/dist/layout-painter/renderPage.d.ts +264 -0
  300. package/dist/layout-painter/renderPage.js +1795 -0
  301. package/dist/layout-painter/renderParagraph.d.ts +93 -0
  302. package/dist/layout-painter/renderParagraph.js +1300 -0
  303. package/dist/layout-painter/renderTable.d.ts +36 -0
  304. package/dist/layout-painter/renderTable.js +432 -0
  305. package/dist/layout-painter/renderTextBox.d.ts +22 -0
  306. package/dist/layout-painter/renderTextBox.js +67 -0
  307. package/dist/layout-painter/renderUtils.d.ts +42 -0
  308. package/dist/layout-painter/renderUtils.js +30 -0
  309. package/dist/layout-painter/renderWatermark.d.ts +16 -0
  310. package/dist/layout-painter/renderWatermark.js +61 -0
  311. package/dist/layout-painter/sdtBoundary.d.ts +6 -0
  312. package/dist/layout-painter/sdtBoundary.js +28 -0
  313. package/dist/managers/ContextMenuManager.d.ts +28 -0
  314. package/dist/managers/ContextMenuManager.js +48 -0
  315. package/dist/managers/DocumentLoaderManager.d.ts +47 -0
  316. package/dist/managers/DocumentLoaderManager.js +69 -0
  317. package/dist/managers/EditorModeManager.d.ts +28 -0
  318. package/dist/managers/EditorModeManager.js +50 -0
  319. package/dist/managers/ErrorManager.d.ts +26 -0
  320. package/dist/managers/ErrorManager.js +85 -0
  321. package/dist/managers/FindReplaceManager.d.ts +54 -0
  322. package/dist/managers/FindReplaceManager.js +104 -0
  323. package/dist/managers/HistoryManager.d.ts +92 -0
  324. package/dist/managers/HistoryManager.js +193 -0
  325. package/dist/managers/Subscribable.d.ts +34 -0
  326. package/dist/managers/Subscribable.js +46 -0
  327. package/dist/managers/TableSelectionManager.d.ts +74 -0
  328. package/dist/managers/TableSelectionManager.js +225 -0
  329. package/dist/managers/editorShortcuts.d.ts +42 -0
  330. package/dist/managers/editorShortcuts.js +60 -0
  331. package/dist/managers/types.d.ts +41 -0
  332. package/dist/managers/types.js +0 -0
  333. package/dist/markdown/annotations.d.ts +14 -0
  334. package/dist/markdown/annotations.js +42 -0
  335. package/dist/markdown/escape.d.ts +36 -0
  336. package/dist/markdown/escape.js +59 -0
  337. package/dist/markdown/fromMarkdown.d.ts +11 -0
  338. package/dist/markdown/fromMarkdown.js +223 -0
  339. package/dist/markdown/headings.d.ts +13 -0
  340. package/dist/markdown/headings.js +20 -0
  341. package/dist/markdown/images.d.ts +13 -0
  342. package/dist/markdown/images.js +63 -0
  343. package/dist/markdown/index.d.ts +18 -0
  344. package/dist/markdown/index.js +33 -0
  345. package/dist/markdown/internals.d.ts +15 -0
  346. package/dist/markdown/internals.js +35 -0
  347. package/dist/markdown/renderBlock.d.ts +7 -0
  348. package/dist/markdown/renderBlock.js +68 -0
  349. package/dist/markdown/renderParagraph.d.ts +11 -0
  350. package/dist/markdown/renderParagraph.js +64 -0
  351. package/dist/markdown/renderRuns.d.ts +11 -0
  352. package/dist/markdown/renderRuns.js +265 -0
  353. package/dist/markdown/renderTable.d.ts +8 -0
  354. package/dist/markdown/renderTable.js +229 -0
  355. package/dist/markdown/trailers.d.ts +13 -0
  356. package/dist/markdown/trailers.js +54 -0
  357. package/dist/markdown/types.d.ts +118 -0
  358. package/dist/markdown/types.js +0 -0
  359. package/dist/model.d.ts +13 -0
  360. package/dist/model.js +4 -0
  361. package/dist/paged-layout/LayoutSelectionGate.d.ts +80 -0
  362. package/dist/paged-layout/LayoutSelectionGate.js +131 -0
  363. package/dist/paged-layout/headerFooterMargins.d.ts +73 -0
  364. package/dist/paged-layout/headerFooterMargins.js +120 -0
  365. package/dist/paged-layout/hiddenEditorScroll.d.ts +4 -0
  366. package/dist/paged-layout/hiddenEditorScroll.js +4 -0
  367. package/dist/paged-layout/incrementalMeasure.d.ts +33 -0
  368. package/dist/paged-layout/incrementalMeasure.js +56 -0
  369. package/dist/paged-layout/rangeProjection.d.ts +51 -0
  370. package/dist/paged-layout/rangeProjection.js +153 -0
  371. package/dist/paged-layout/readOnlyEditAttempt.d.ts +5 -0
  372. package/dist/paged-layout/readOnlyEditAttempt.js +22 -0
  373. package/dist/paged-layout/scrollNavigation.d.ts +23 -0
  374. package/dist/paged-layout/scrollNavigation.js +31 -0
  375. package/dist/paged-layout/scrollPageInfo.d.ts +41 -0
  376. package/dist/paged-layout/scrollPageInfo.js +34 -0
  377. package/dist/paged-layout/scrollToPmPosition.d.ts +17 -0
  378. package/dist/paged-layout/scrollToPmPosition.js +95 -0
  379. package/dist/paged-layout/sectionBlockWidths.d.ts +35 -0
  380. package/dist/paged-layout/sectionBlockWidths.js +52 -0
  381. package/dist/paged-layout/sectionGeometry.d.ts +21 -0
  382. package/dist/paged-layout/sectionGeometry.js +36 -0
  383. package/dist/paged-layout/selectionViewportRect.d.ts +29 -0
  384. package/dist/paged-layout/selectionViewportRect.js +55 -0
  385. package/dist/paged-layout/tableColumnResize.d.ts +19 -0
  386. package/dist/paged-layout/tableColumnResize.js +28 -0
  387. package/dist/paged-layout/tableInsertButtonGeometry.d.ts +15 -0
  388. package/dist/paged-layout/tableInsertButtonGeometry.js +15 -0
  389. package/dist/paged-layout/transactionDirtyRange.d.ts +7 -0
  390. package/dist/paged-layout/transactionDirtyRange.js +27 -0
  391. package/dist/paged-layout/zoomScrollAnchor.d.ts +40 -0
  392. package/dist/paged-layout/zoomScrollAnchor.js +25 -0
  393. package/dist/prosemirror/attrs/index.d.ts +80 -0
  394. package/dist/prosemirror/attrs/index.js +1218 -0
  395. package/dist/prosemirror/autospacingBase.d.ts +11 -0
  396. package/dist/prosemirror/autospacingBase.js +16 -0
  397. package/dist/prosemirror/commands/comments.d.ts +93 -0
  398. package/dist/prosemirror/commands/comments.js +435 -0
  399. package/dist/prosemirror/commands/contentControls.d.ts +45 -0
  400. package/dist/prosemirror/commands/contentControls.js +294 -0
  401. package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +15 -0
  402. package/dist/prosemirror/commands/contentControlsBlockFill.js +19 -0
  403. package/dist/prosemirror/commands/formatPainter.d.ts +31 -0
  404. package/dist/prosemirror/commands/formatPainter.js +130 -0
  405. package/dist/prosemirror/commands/formatting.d.ts +32 -0
  406. package/dist/prosemirror/commands/formatting.js +45 -0
  407. package/dist/prosemirror/commands/hyperlink.d.ts +31 -0
  408. package/dist/prosemirror/commands/hyperlink.js +79 -0
  409. package/dist/prosemirror/commands/image.d.ts +59 -0
  410. package/dist/prosemirror/commands/image.js +219 -0
  411. package/dist/prosemirror/commands/index.d.ts +13 -0
  412. package/dist/prosemirror/commands/index.js +13 -0
  413. package/dist/prosemirror/commands/pageBreak.d.ts +10 -0
  414. package/dist/prosemirror/commands/pageBreak.js +47 -0
  415. package/dist/prosemirror/commands/paragraph.d.ts +39 -0
  416. package/dist/prosemirror/commands/paragraph.js +64 -0
  417. package/dist/prosemirror/commands/pastePlainText.d.ts +39 -0
  418. package/dist/prosemirror/commands/pastePlainText.js +67 -0
  419. package/dist/prosemirror/commands/table.d.ts +83 -0
  420. package/dist/prosemirror/commands/table.js +105 -0
  421. package/dist/prosemirror/conversion/fromProseDoc.d.ts +27 -0
  422. package/dist/prosemirror/conversion/fromProseDoc.js +1550 -0
  423. package/dist/prosemirror/conversion/index.d.ts +4 -0
  424. package/dist/prosemirror/conversion/index.js +4 -0
  425. package/dist/prosemirror/conversion/runShadingMark.d.ts +16 -0
  426. package/dist/prosemirror/conversion/runShadingMark.js +39 -0
  427. package/dist/prosemirror/conversion/toProseDoc.d.ts +39 -0
  428. package/dist/prosemirror/conversion/toProseDoc.js +1404 -0
  429. package/dist/prosemirror/extensions/ExtensionManager.d.ts +43 -0
  430. package/dist/prosemirror/extensions/ExtensionManager.js +86 -0
  431. package/dist/prosemirror/extensions/StarterKit.d.ts +16 -0
  432. package/dist/prosemirror/extensions/StarterKit.js +132 -0
  433. package/dist/prosemirror/extensions/core/DocExtension.d.ts +9 -0
  434. package/dist/prosemirror/extensions/core/DocExtension.js +12 -0
  435. package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +13 -0
  436. package/dist/prosemirror/extensions/core/HistoryExtension.js +28 -0
  437. package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +25 -0
  438. package/dist/prosemirror/extensions/core/ParagraphExtension.js +619 -0
  439. package/dist/prosemirror/extensions/core/TextExtension.d.ts +9 -0
  440. package/dist/prosemirror/extensions/core/TextExtension.js +12 -0
  441. package/dist/prosemirror/extensions/create.d.ts +17 -0
  442. package/dist/prosemirror/extensions/create.js +129 -0
  443. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +23 -0
  444. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.js +106 -0
  445. package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +8 -0
  446. package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +172 -0
  447. package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +16 -0
  448. package/dist/prosemirror/extensions/features/BidiShortcutExtension.js +38 -0
  449. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +16 -0
  450. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.js +21 -0
  451. package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +12 -0
  452. package/dist/prosemirror/extensions/features/DropCursorExtension.js +20 -0
  453. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +8 -0
  454. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +44 -0
  455. package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +19 -0
  456. package/dist/prosemirror/extensions/features/GapCursorExtension.js +24 -0
  457. package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +15 -0
  458. package/dist/prosemirror/extensions/features/ImageDragExtension.js +66 -0
  459. package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +12 -0
  460. package/dist/prosemirror/extensions/features/ImagePasteExtension.js +91 -0
  461. package/dist/prosemirror/extensions/features/ListExtension.d.ts +14 -0
  462. package/dist/prosemirror/extensions/features/ListExtension.js +340 -0
  463. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +9 -0
  464. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +60 -0
  465. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +35 -0
  466. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +188 -0
  467. package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +20 -0
  468. package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +34 -0
  469. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +20 -0
  470. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +145 -0
  471. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +10 -0
  472. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +17 -0
  473. package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +31 -0
  474. package/dist/prosemirror/extensions/features/bidiShortcutController.js +27 -0
  475. package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +31 -0
  476. package/dist/prosemirror/extensions/features/pasteCleanup.js +159 -0
  477. package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +9 -0
  478. package/dist/prosemirror/extensions/marks/AllCapsExtension.js +24 -0
  479. package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +9 -0
  480. package/dist/prosemirror/extensions/marks/BoldExtension.js +41 -0
  481. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +14 -0
  482. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.js +64 -0
  483. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +23 -0
  484. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.js +47 -0
  485. package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +12 -0
  486. package/dist/prosemirror/extensions/marks/CommentExtension.js +38 -0
  487. package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +9 -0
  488. package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +55 -0
  489. package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +9 -0
  490. package/dist/prosemirror/extensions/marks/FontSizeExtension.js +47 -0
  491. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +11 -0
  492. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +92 -0
  493. package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +23 -0
  494. package/dist/prosemirror/extensions/marks/HiddenTextExtension.js +35 -0
  495. package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +10 -0
  496. package/dist/prosemirror/extensions/marks/HighlightExtension.js +115 -0
  497. package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +13 -0
  498. package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +146 -0
  499. package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +9 -0
  500. package/dist/prosemirror/extensions/marks/ItalicExtension.js +34 -0
  501. package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +6 -0
  502. package/dist/prosemirror/extensions/marks/RtlExtension.js +21 -0
  503. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +11 -0
  504. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.js +75 -0
  505. package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +6 -0
  506. package/dist/prosemirror/extensions/marks/RunShadingExtension.js +38 -0
  507. package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +9 -0
  508. package/dist/prosemirror/extensions/marks/SmallCapsExtension.js +24 -0
  509. package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +9 -0
  510. package/dist/prosemirror/extensions/marks/StrikeExtension.js +33 -0
  511. package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +9 -0
  512. package/dist/prosemirror/extensions/marks/SubscriptExtension.js +25 -0
  513. package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +9 -0
  514. package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +25 -0
  515. package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +9 -0
  516. package/dist/prosemirror/extensions/marks/TextColorExtension.js +50 -0
  517. package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +6 -0
  518. package/dist/prosemirror/extensions/marks/TextEffectExtension.js +35 -0
  519. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +31 -0
  520. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.js +134 -0
  521. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +22 -0
  522. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +113 -0
  523. package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +9 -0
  524. package/dist/prosemirror/extensions/marks/UnderlineExtension.js +60 -0
  525. package/dist/prosemirror/extensions/marks/markUtils.d.ts +34 -0
  526. package/dist/prosemirror/extensions/marks/markUtils.js +233 -0
  527. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +22 -0
  528. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.js +122 -0
  529. package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +12 -0
  530. package/dist/prosemirror/extensions/nodes/FieldExtension.js +87 -0
  531. package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +9 -0
  532. package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +38 -0
  533. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +9 -0
  534. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.js +18 -0
  535. package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +9 -0
  536. package/dist/prosemirror/extensions/nodes/ImageExtension.js +132 -0
  537. package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +13 -0
  538. package/dist/prosemirror/extensions/nodes/MathExtension.js +56 -0
  539. package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +9 -0
  540. package/dist/prosemirror/extensions/nodes/PageBreakExtension.js +20 -0
  541. package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +12 -0
  542. package/dist/prosemirror/extensions/nodes/SdtExtension.js +107 -0
  543. package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +30 -0
  544. package/dist/prosemirror/extensions/nodes/ShapeExtension.js +502 -0
  545. package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +9 -0
  546. package/dist/prosemirror/extensions/nodes/TabExtension.js +27 -0
  547. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +34 -0
  548. package/dist/prosemirror/extensions/nodes/TableExtension.js +1972 -0
  549. package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +34 -0
  550. package/dist/prosemirror/extensions/nodes/TextBoxExtension.js +150 -0
  551. package/dist/prosemirror/extensions/types.d.ts +101 -0
  552. package/dist/prosemirror/extensions/types.js +10 -0
  553. package/dist/prosemirror/findReplaceSelection.d.ts +23 -0
  554. package/dist/prosemirror/findReplaceSelection.js +86 -0
  555. package/dist/prosemirror/index.d.ts +25 -0
  556. package/dist/prosemirror/index.js +23 -0
  557. package/dist/prosemirror/insertOperations.d.ts +12 -0
  558. package/dist/prosemirror/insertOperations.js +19 -0
  559. package/dist/prosemirror/paragraphDirection.d.ts +42 -0
  560. package/dist/prosemirror/paragraphDirection.js +33 -0
  561. package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +40 -0
  562. package/dist/prosemirror/plugins/aiCitationDecorations.js +90 -0
  563. package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +42 -0
  564. package/dist/prosemirror/plugins/aiSuggestionDecorations.js +135 -0
  565. package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +60 -0
  566. package/dist/prosemirror/plugins/anonymizationDecorations.js +120 -0
  567. package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +123 -0
  568. package/dist/prosemirror/plugins/autocompleteSuggestion.js +283 -0
  569. package/dist/prosemirror/plugins/contentControlWidgets.d.ts +56 -0
  570. package/dist/prosemirror/plugins/contentControlWidgets.js +192 -0
  571. package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +37 -0
  572. package/dist/prosemirror/plugins/createDocScanPlugin.js +55 -0
  573. package/dist/prosemirror/plugins/documentStyles.d.ts +18 -0
  574. package/dist/prosemirror/plugins/documentStyles.js +46 -0
  575. package/dist/prosemirror/plugins/index.d.ts +3 -0
  576. package/dist/prosemirror/plugins/index.js +3 -0
  577. package/dist/prosemirror/plugins/pmTextScan.d.ts +19 -0
  578. package/dist/prosemirror/plugins/pmTextScan.js +39 -0
  579. package/dist/prosemirror/plugins/selectionTracker.d.ts +43 -0
  580. package/dist/prosemirror/plugins/selectionTracker.js +179 -0
  581. package/dist/prosemirror/plugins/suggestionMode.d.ts +70 -0
  582. package/dist/prosemirror/plugins/suggestionMode.js +489 -0
  583. package/dist/prosemirror/plugins/templateDirectives.d.ts +25 -0
  584. package/dist/prosemirror/plugins/templateDirectives.js +67 -0
  585. package/dist/prosemirror/plugins/templatePreviewValues.d.ts +49 -0
  586. package/dist/prosemirror/plugins/templatePreviewValues.js +117 -0
  587. package/dist/prosemirror/plugins/templateSlashMenu.d.ts +57 -0
  588. package/dist/prosemirror/plugins/templateSlashMenu.js +184 -0
  589. package/dist/prosemirror/schema/index.d.ts +15 -0
  590. package/dist/prosemirror/schema/index.js +20 -0
  591. package/dist/prosemirror/schema/marks.d.ts +118 -0
  592. package/dist/prosemirror/schema/marks.js +0 -0
  593. package/dist/prosemirror/schema/nodes.d.ts +389 -0
  594. package/dist/prosemirror/schema/nodes.js +0 -0
  595. package/dist/prosemirror/selectionState.d.ts +23 -0
  596. package/dist/prosemirror/selectionState.js +111 -0
  597. package/dist/prosemirror/styles/index.d.ts +2 -0
  598. package/dist/prosemirror/styles/index.js +2 -0
  599. package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +32 -0
  600. package/dist/prosemirror/styles/resolvedStyleAttrs.js +108 -0
  601. package/dist/prosemirror/styles/styleResolver.d.ts +94 -0
  602. package/dist/prosemirror/styles/styleResolver.js +200 -0
  603. package/dist/prosemirror/utils/findParagraphByParaId.d.ts +26 -0
  604. package/dist/prosemirror/utils/findParagraphByParaId.js +37 -0
  605. package/dist/prosemirror/utils/tabCalculator.d.ts +110 -0
  606. package/dist/prosemirror/utils/tabCalculator.js +137 -0
  607. package/dist/prosemirror/validation.d.ts +20 -0
  608. package/dist/prosemirror/validation.js +177 -0
  609. package/dist/server.d.ts +7 -0
  610. package/dist/server.js +6 -0
  611. package/dist/style-engine/index.d.ts +3 -0
  612. package/dist/style-engine/index.js +2 -0
  613. package/dist/style-engine/styleEngine.d.ts +67 -0
  614. package/dist/style-engine/styleEngine.js +70 -0
  615. package/dist/types/block-id.d.ts +66 -0
  616. package/dist/types/block-id.js +73 -0
  617. package/dist/types/colors.d.ts +2 -0
  618. package/dist/types/colors.js +0 -0
  619. package/dist/types/content.d.ts +2 -0
  620. package/dist/types/content.js +0 -0
  621. package/dist/types/document.d.ts +7 -0
  622. package/dist/types/document.js +0 -0
  623. package/dist/types/documentEnumValues.d.ts +89 -0
  624. package/dist/types/documentEnumValues.js +693 -0
  625. package/dist/types/formatting.d.ts +2 -0
  626. package/dist/types/formatting.js +0 -0
  627. package/dist/types/index.d.ts +107 -0
  628. package/dist/types/index.js +0 -0
  629. package/dist/utils/authorColors.d.ts +16 -0
  630. package/dist/utils/authorColors.js +30 -0
  631. package/dist/utils/baseDirection.d.ts +23 -0
  632. package/dist/utils/baseDirection.js +34 -0
  633. package/dist/utils/clipboard.d.ts +126 -0
  634. package/dist/utils/clipboard.js +622 -0
  635. package/dist/utils/colorResolver.d.ts +158 -0
  636. package/dist/utils/colorResolver.js +557 -0
  637. package/dist/utils/createDocument.d.ts +50 -0
  638. package/dist/utils/createDocument.js +262 -0
  639. package/dist/utils/documentLoaderBehavior.d.ts +22 -0
  640. package/dist/utils/documentLoaderBehavior.js +14 -0
  641. package/dist/utils/docxInput.d.ts +22 -0
  642. package/dist/utils/docxInput.js +16 -0
  643. package/dist/utils/domGuards.d.ts +59 -0
  644. package/dist/utils/domGuards.js +82 -0
  645. package/dist/utils/fontFamilyMerge.d.ts +7 -0
  646. package/dist/utils/fontFamilyMerge.js +31 -0
  647. package/dist/utils/fontLoader.d.ts +50 -0
  648. package/dist/utils/fontLoader.js +177 -0
  649. package/dist/utils/fontResolver.d.ts +61 -0
  650. package/dist/utils/fontResolver.js +651 -0
  651. package/dist/utils/fontWeights.d.ts +4 -0
  652. package/dist/utils/fontWeights.js +4 -0
  653. package/dist/utils/formatToStyle.d.ts +103 -0
  654. package/dist/utils/formatToStyle.js +289 -0
  655. package/dist/utils/headerFooter.d.ts +74 -0
  656. package/dist/utils/headerFooter.js +257 -0
  657. package/dist/utils/headingCollector.d.ts +22 -0
  658. package/dist/utils/headingCollector.js +36 -0
  659. package/dist/utils/hexId.d.ts +33 -0
  660. package/dist/utils/hexId.js +37 -0
  661. package/dist/utils/imageValidation.d.ts +5 -0
  662. package/dist/utils/imageValidation.js +31 -0
  663. package/dist/utils/paragraphFormattingMerge.d.ts +14 -0
  664. package/dist/utils/paragraphFormattingMerge.js +68 -0
  665. package/dist/utils/replaceText.d.ts +17 -0
  666. package/dist/utils/replaceText.js +161 -0
  667. package/dist/utils/rotationBoundingBox.d.ts +12 -0
  668. package/dist/utils/rotationBoundingBox.js +36 -0
  669. package/dist/utils/scriptSegments.d.ts +36 -0
  670. package/dist/utils/scriptSegments.js +52 -0
  671. package/dist/utils/tableOperations.d.ts +87 -0
  672. package/dist/utils/tableOperations.js +259 -0
  673. package/dist/utils/textFormattingMerge.d.ts +6 -0
  674. package/dist/utils/textFormattingMerge.js +31 -0
  675. package/dist/utils/tiffConverter.d.ts +18 -0
  676. package/dist/utils/tiffConverter.js +83 -0
  677. package/dist/utils/units.d.ts +99 -0
  678. package/dist/utils/units.js +139 -0
  679. package/dist/utils/urlSecurity.d.ts +7 -0
  680. package/dist/utils/urlSecurity.js +65 -0
  681. package/dist/watermark/index.d.ts +39 -0
  682. package/dist/watermark/index.js +149 -0
  683. package/package.json +122 -2
@@ -0,0 +1,11 @@
1
+ import { ParagraphAttrs } from "./schema/nodes.js";
2
+
3
+ //#region src/prosemirror/autospacingBase.d.ts
4
+ type AutospacingBase = NonNullable<ParagraphAttrs["_autospacingBase"]>;
5
+ type AutospacingSide = "before" | "after";
6
+ declare function normalizeAutospacingBaseValue(value: unknown): number | null;
7
+ declare function setAutospacingBaseValue(base: AutospacingBase, side: AutospacingSide, value: unknown): void;
8
+ declare function hasAutospacingBaseSide(base: ParagraphAttrs["_autospacingBase"] | null | undefined, side: AutospacingSide): boolean;
9
+ declare function autospacingMatchesBase(base: ParagraphAttrs["_autospacingBase"] | null | undefined, side: AutospacingSide, currentValue: unknown): boolean;
10
+ //#endregion
11
+ export { autospacingMatchesBase, hasAutospacingBaseSide, normalizeAutospacingBaseValue, setAutospacingBaseValue };
@@ -0,0 +1,16 @@
1
+ //#region src/prosemirror/autospacingBase.ts
2
+ function normalizeAutospacingBaseValue(value) {
3
+ return typeof value === "number" ? value : null;
4
+ }
5
+ function setAutospacingBaseValue(base, side, value) {
6
+ base[side] = normalizeAutospacingBaseValue(value);
7
+ }
8
+ function hasAutospacingBaseSide(base, side) {
9
+ return base !== void 0 && base !== null && Object.hasOwn(base, side);
10
+ }
11
+ function autospacingMatchesBase(base, side, currentValue) {
12
+ if (!hasAutospacingBaseSide(base, side)) return false;
13
+ return normalizeAutospacingBaseValue(currentValue) === (base?.[side] ?? null);
14
+ }
15
+ //#endregion
16
+ export { autospacingMatchesBase, hasAutospacingBaseSide, normalizeAutospacingBaseValue, setAutospacingBaseValue };
@@ -0,0 +1,93 @@
1
+ import { Command, EditorState } from "prosemirror-state";
2
+
3
+ //#region src/prosemirror/commands/comments.d.ts
4
+ /**
5
+ * Add a comment mark to the current selection.
6
+ */
7
+ declare function addCommentMark(commentId: number): Command;
8
+ /**
9
+ * Remove a comment mark by ID from the entire document.
10
+ */
11
+ declare function removeCommentMark(commentId: number): Command;
12
+ type ParagraphBoundaryChange = {
13
+ from: number;
14
+ to: number;
15
+ type: "insertion" | "deletion";
16
+ author?: string;
17
+ date?: string;
18
+ revisionId?: number;
19
+ };
20
+ declare function findParagraphBoundaryChangeAtPosition(state: EditorState, pos: number): ParagraphBoundaryChange | null;
21
+ /**
22
+ * Accept a tracked change at the given range.
23
+ * - Insertion: remove mark, keep text
24
+ * - Deletion: remove mark AND text
25
+ */
26
+ declare function acceptChange(from: number, to: number): Command;
27
+ /**
28
+ * Reject a tracked change at the given range.
29
+ * - Insertion: remove mark AND text
30
+ * - Deletion: remove mark, keep text
31
+ */
32
+ declare function rejectChange(from: number, to: number): Command;
33
+ /**
34
+ * Accept all tracked changes in the document.
35
+ */
36
+ declare function acceptAllChanges(): Command;
37
+ /**
38
+ * Reject all tracked changes in the document.
39
+ */
40
+ declare function rejectAllChanges(): Command;
41
+ /**
42
+ * Find the document range covered by all insertion/deletion marks
43
+ * carrying any of the given AI-edit `revisionIds`. Returns null when
44
+ * none of those marks are present (already accepted/rejected, or
45
+ * never existed). A replace operation typically passes two ids (one
46
+ * for its deletion side, one for its insertion side); inserts and
47
+ * standalone deletions pass a single id.
48
+ */
49
+ declare function findAIEditRevisionRange(state: EditorState, revisionIds: number | readonly number[]): {
50
+ from: number;
51
+ to: number;
52
+ } | null;
53
+ /**
54
+ * Accept the tracked-change marks belonging to an AI-edit operation.
55
+ * Pass a single revisionId for inserts/standalone deletions, or the
56
+ * full id list for a replace (one id per side). Returns false when
57
+ * none of the ids match anything in the doc.
58
+ */
59
+ declare function acceptAIEditRevision(revisionIds: number | readonly number[]): Command;
60
+ /**
61
+ * Reject the tracked-change marks belonging to an AI-edit operation.
62
+ * See {@link acceptAIEditRevision} for the id semantics.
63
+ */
64
+ declare function rejectAIEditRevision(revisionIds: number | readonly number[]): Command;
65
+ type ChangeRange = {
66
+ from: number;
67
+ to: number;
68
+ type: "insertion" | "deletion";
69
+ };
70
+ /**
71
+ * Find the tracked change mark range at a given cursor position.
72
+ * If the cursor is inside a tracked change, returns the full extent
73
+ * of that mark (expanding to cover all adjacent nodes with the same
74
+ * revision ID). If from !== to (range selection), returns {from, to}.
75
+ */
76
+ declare function findChangeAtPosition(state: EditorState, from: number, to: number): {
77
+ from: number;
78
+ to: number;
79
+ };
80
+ /**
81
+ * Find the next tracked change after the given position. Returns the full
82
+ * range of the change (including adjacent text nodes that share the same
83
+ * insertion/deletion mark instance), not just the first text node.
84
+ */
85
+ declare function findNextChange(state: EditorState, startPos: number): ChangeRange | null;
86
+ /**
87
+ * Find the previous tracked change before the given position. Returns the
88
+ * full range of the change (including adjacent text nodes that share the
89
+ * same insertion/deletion mark instance), not just the last text node.
90
+ */
91
+ declare function findPreviousChange(state: EditorState, startPos: number): ChangeRange | null;
92
+ //#endregion
93
+ export { ParagraphBoundaryChange, acceptAIEditRevision, acceptAllChanges, acceptChange, addCommentMark, findAIEditRevisionRange, findChangeAtPosition, findNextChange, findParagraphBoundaryChangeAtPosition, findPreviousChange, rejectAIEditRevision, rejectAllChanges, rejectChange, removeCommentMark };
@@ -0,0 +1,435 @@
1
+ //#region src/prosemirror/commands/comments.ts
2
+ /**
3
+ * Add a comment mark to the current selection.
4
+ */
5
+ function addCommentMark(commentId) {
6
+ return (state, dispatch) => {
7
+ const { from, to, empty } = state.selection;
8
+ if (empty) return false;
9
+ const commentType = state.schema.marks["comment"];
10
+ if (!commentType) return false;
11
+ if (dispatch) dispatch(state.tr.addMark(from, to, commentType.create({ commentId })));
12
+ return true;
13
+ };
14
+ }
15
+ /**
16
+ * Remove a comment mark by ID from the entire document.
17
+ */
18
+ function removeCommentMark(commentId) {
19
+ return (state, dispatch) => {
20
+ const commentType = state.schema.marks["comment"];
21
+ if (!commentType) return false;
22
+ if (dispatch) {
23
+ const tr = state.tr;
24
+ state.doc.descendants((node, pos) => {
25
+ if (node.isText) {
26
+ for (const mark of node.marks) if (mark.type === commentType && mark.attrs["commentId"] === commentId) tr.removeMark(pos, pos + node.nodeSize, mark);
27
+ }
28
+ });
29
+ if (tr.steps.length > 0) dispatch(tr);
30
+ }
31
+ return true;
32
+ };
33
+ }
34
+ /**
35
+ * Resolve a tracked change: accept or reject.
36
+ * - Accept: keep insertions (remove mark), delete deletions (remove text)
37
+ * - Reject: keep deletions (remove mark), delete insertions (remove text)
38
+ *
39
+ * Pass `revisionId` to scope the operation to one specific
40
+ * revision — otherwise overlapping marks for other revisions get
41
+ * processed too, silently consuming pending work. Without an id
42
+ * the operation matches every insertion/deletion mark in the
43
+ * range (the bulk accept-all/reject-all path).
44
+ */
45
+ function resolveChange(from, to, mode, revisionIds) {
46
+ return (state, dispatch) => {
47
+ const insertionType = state.schema.marks["insertion"];
48
+ const deletionType = state.schema.marks["deletion"];
49
+ if (!insertionType && !deletionType) return false;
50
+ const keepType = mode === "accept" ? insertionType : deletionType;
51
+ const removeType = mode === "accept" ? deletionType : insertionType;
52
+ const revisionSet = revisionIds === void 0 ? null : new Set(revisionIds);
53
+ const matchesRevision = (mark) => revisionSet === null || typeof mark.attrs["revisionId"] === "number" && revisionSet.has(mark.attrs["revisionId"]);
54
+ if (dispatch) {
55
+ const tr = state.tr;
56
+ const deleteRanges = [];
57
+ const pPrMarkOps = [];
58
+ state.doc.nodesBetween(from, to, (node, pos) => {
59
+ if (node.type.name === "paragraph") {
60
+ const op = collectPPrMarkOp(node, pos, from, to, mode, revisionSet);
61
+ if (op) pPrMarkOps.push(op);
62
+ const propertyChanges = node.attrs["_propertyChanges"];
63
+ if (Array.isArray(propertyChanges) && propertyChanges.length > 0 && rangeCoversParagraphBoundary(from, to, pos, node)) {
64
+ const matches = propertyChanges.filter((c) => revisionSet === null || c.info && revisionSet.has(c.info.id));
65
+ if (matches.length > 0) {
66
+ const remaining = propertyChanges.filter((c) => revisionSet !== null && (!c.info || !revisionSet.has(c.info.id)));
67
+ const nextAttrs = {
68
+ ...node.attrs,
69
+ _propertyChanges: remaining.length > 0 ? remaining : null
70
+ };
71
+ if (mode === "reject") {
72
+ for (const change of matches.toReversed()) if (change.previousFormatting) for (const [key, val] of Object.entries(change.previousFormatting)) nextAttrs[key] = val;
73
+ }
74
+ tr.setNodeMarkup(pos, void 0, nextAttrs);
75
+ }
76
+ }
77
+ return true;
78
+ }
79
+ if (!node.isInline) return true;
80
+ const nodeEnd = pos + node.nodeSize;
81
+ const rangeFrom = Math.max(from, pos);
82
+ const rangeTo = Math.min(to, nodeEnd);
83
+ if (removeType && node.marks.some((m) => m.type === removeType && matchesRevision(m))) deleteRanges.push({
84
+ from: rangeFrom,
85
+ to: rangeTo
86
+ });
87
+ for (const mark of node.marks) if (keepType && mark.type === keepType && matchesRevision(mark)) tr.removeMark(rangeFrom, rangeTo, mark);
88
+ return true;
89
+ });
90
+ for (const range of deleteRanges.toReversed()) tr.delete(range.from, range.to);
91
+ pPrMarkOps.sort((a, b) => b.paragraphPos - a.paragraphPos);
92
+ for (const op of pPrMarkOps) {
93
+ const mappedPos = tr.mapping.map(op.paragraphPos);
94
+ const paragraph = tr.doc.nodeAt(mappedPos);
95
+ if (!paragraph || paragraph.type.name !== "paragraph") continue;
96
+ if (op.action === "clear") {
97
+ tr.setNodeAttribute(mappedPos, "pPrMark", null);
98
+ continue;
99
+ }
100
+ const joinPos = mappedPos + paragraph.nodeSize;
101
+ if (joinPos >= tr.doc.content.size) continue;
102
+ try {
103
+ tr.join(joinPos);
104
+ tr.setNodeAttribute(mappedPos, "pPrMark", null);
105
+ } catch {}
106
+ }
107
+ if (tr.steps.length > 0) dispatch(tr);
108
+ }
109
+ return true;
110
+ };
111
+ }
112
+ function collectPPrMarkOp(node, pos, from, to, mode, revisionSet) {
113
+ if (!rangeCoversParagraphBoundary(from, to, pos, node)) return null;
114
+ const pPrMark = node.attrs["pPrMark"];
115
+ if (!isPPrMarkAttr(pPrMark)) return null;
116
+ if (revisionSet !== null && !revisionSet.has(pPrMark.info.id)) return null;
117
+ return {
118
+ paragraphPos: pos,
119
+ action: pPrMark.kind === "ins" === (mode === "accept") ? "clear" : "join"
120
+ };
121
+ }
122
+ function rangeCoversParagraphBoundary(from, to, pos, node) {
123
+ const boundaryFrom = pos + node.nodeSize - 1;
124
+ const boundaryTo = pos + node.nodeSize;
125
+ return from <= boundaryFrom && to >= boundaryTo;
126
+ }
127
+ function isPPrMarkAttr(value) {
128
+ if (typeof value !== "object" || value === null) return false;
129
+ const kind = value.kind;
130
+ const info = value.info;
131
+ if (kind !== "ins" && kind !== "del") return false;
132
+ if (typeof info !== "object" || info === null) return false;
133
+ return typeof info.id === "number";
134
+ }
135
+ function readRevisionInfo(info) {
136
+ const revision = {};
137
+ if (typeof info?.author === "string") revision.author = info.author;
138
+ if (typeof info?.date === "string") revision.date = info.date;
139
+ if (typeof info?.id === "number") revision.revisionId = info.id;
140
+ return revision;
141
+ }
142
+ function getListPropertyChangeType(attrs, change) {
143
+ const previousFormatting = change.previousFormatting;
144
+ if (previousFormatting == null || !Object.hasOwn(previousFormatting, "numPr")) return null;
145
+ const currentNumPr = attrs["numPr"];
146
+ const previousNumPr = previousFormatting["numPr"];
147
+ if (previousNumPr == null && currentNumPr != null) return "insertion";
148
+ if (previousNumPr != null && currentNumPr == null) return "deletion";
149
+ if (!areNumPrValuesEqual(previousNumPr, currentNumPr)) return currentNumPr == null ? "deletion" : "insertion";
150
+ return null;
151
+ }
152
+ function areNumPrValuesEqual(left, right) {
153
+ if (left == null || right == null) return left == right;
154
+ if (!isObjectRecord(left) || !isObjectRecord(right)) return Object.is(left, right);
155
+ return left["numId"] === right["numId"] && left["ilvl"] === right["ilvl"];
156
+ }
157
+ function isObjectRecord(value) {
158
+ return typeof value === "object" && value !== null;
159
+ }
160
+ function toParagraphBoundaryChange(node, pos, type, info) {
161
+ return {
162
+ from: pos + node.nodeSize - 1,
163
+ to: pos + node.nodeSize,
164
+ type,
165
+ ...readRevisionInfo(info)
166
+ };
167
+ }
168
+ function findParagraphBoundaryChangeAtPosition(state, pos) {
169
+ const $pos = state.doc.resolve(pos);
170
+ const node = $pos.parent;
171
+ if (node.type.name !== "paragraph") return null;
172
+ const paragraphPos = $pos.before($pos.depth);
173
+ const pPrMark = node.attrs["pPrMark"];
174
+ if (isPPrMarkAttr(pPrMark)) return toParagraphBoundaryChange(node, paragraphPos, pPrMark.kind === "ins" ? "insertion" : "deletion", pPrMark.info);
175
+ const propertyChanges = node.attrs["_propertyChanges"];
176
+ if (!Array.isArray(propertyChanges)) return null;
177
+ for (const change of propertyChanges) {
178
+ const type = getListPropertyChangeType(node.attrs, change);
179
+ if (type) return toParagraphBoundaryChange(node, paragraphPos, type, change.info);
180
+ }
181
+ return null;
182
+ }
183
+ /**
184
+ * Accept a tracked change at the given range.
185
+ * - Insertion: remove mark, keep text
186
+ * - Deletion: remove mark AND text
187
+ */
188
+ function acceptChange(from, to) {
189
+ return resolveChange(from, to, "accept");
190
+ }
191
+ /**
192
+ * Reject a tracked change at the given range.
193
+ * - Insertion: remove mark AND text
194
+ * - Deletion: remove mark, keep text
195
+ */
196
+ function rejectChange(from, to) {
197
+ return resolveChange(from, to, "reject");
198
+ }
199
+ /**
200
+ * Accept all tracked changes in the document.
201
+ */
202
+ function acceptAllChanges() {
203
+ return (state, dispatch) => acceptChange(0, state.doc.content.size)(state, dispatch);
204
+ }
205
+ /**
206
+ * Reject all tracked changes in the document.
207
+ */
208
+ function rejectAllChanges() {
209
+ return (state, dispatch) => rejectChange(0, state.doc.content.size)(state, dispatch);
210
+ }
211
+ /**
212
+ * Find the document range covered by all insertion/deletion marks
213
+ * carrying any of the given AI-edit `revisionIds`. Returns null when
214
+ * none of those marks are present (already accepted/rejected, or
215
+ * never existed). A replace operation typically passes two ids (one
216
+ * for its deletion side, one for its insertion side); inserts and
217
+ * standalone deletions pass a single id.
218
+ */
219
+ function findAIEditRevisionRange(state, revisionIds) {
220
+ const insertionType = state.schema.marks["insertion"];
221
+ const deletionType = state.schema.marks["deletion"];
222
+ if (!insertionType && !deletionType) return null;
223
+ const idSet = new Set(typeof revisionIds === "number" ? [revisionIds] : revisionIds);
224
+ const range = {
225
+ from: null,
226
+ to: null
227
+ };
228
+ state.doc.descendants((node, pos) => {
229
+ if (!node.isInline) return;
230
+ for (const mark of node.marks) if ((mark.type === insertionType || mark.type === deletionType) && typeof mark.attrs["revisionId"] === "number" && idSet.has(mark.attrs["revisionId"])) {
231
+ const start = pos;
232
+ const end = pos + node.nodeSize;
233
+ if (range.from === null || start < range.from) range.from = start;
234
+ if (range.to === null || end > range.to) range.to = end;
235
+ break;
236
+ }
237
+ });
238
+ if (range.from === null || range.to === null) return null;
239
+ return {
240
+ from: range.from,
241
+ to: range.to
242
+ };
243
+ }
244
+ /**
245
+ * Accept the tracked-change marks belonging to an AI-edit operation.
246
+ * Pass a single revisionId for inserts/standalone deletions, or the
247
+ * full id list for a replace (one id per side). Returns false when
248
+ * none of the ids match anything in the doc.
249
+ */
250
+ function acceptAIEditRevision(revisionIds) {
251
+ return (state, dispatch) => {
252
+ const range = findAIEditRevisionRange(state, revisionIds);
253
+ if (!range) return false;
254
+ const ids = typeof revisionIds === "number" ? [revisionIds] : revisionIds;
255
+ return resolveChange(range.from, range.to, "accept", ids)(state, dispatch);
256
+ };
257
+ }
258
+ /**
259
+ * Reject the tracked-change marks belonging to an AI-edit operation.
260
+ * See {@link acceptAIEditRevision} for the id semantics.
261
+ */
262
+ function rejectAIEditRevision(revisionIds) {
263
+ return (state, dispatch) => {
264
+ const range = findAIEditRevisionRange(state, revisionIds);
265
+ if (!range) return false;
266
+ const ids = typeof revisionIds === "number" ? [revisionIds] : revisionIds;
267
+ return resolveChange(range.from, range.to, "reject", ids)(state, dispatch);
268
+ };
269
+ }
270
+ /**
271
+ * Find the tracked change mark range at a given cursor position.
272
+ * If the cursor is inside a tracked change, returns the full extent
273
+ * of that mark (expanding to cover all adjacent nodes with the same
274
+ * revision ID). If from !== to (range selection), returns {from, to}.
275
+ */
276
+ function findChangeAtPosition(state, from, to) {
277
+ if (from !== to) return {
278
+ from,
279
+ to
280
+ };
281
+ const insertionType = state.schema.marks["insertion"];
282
+ const deletionType = state.schema.marks["deletion"];
283
+ if (!insertionType && !deletionType) return {
284
+ from,
285
+ to
286
+ };
287
+ const $pos = state.doc.resolve(from);
288
+ const node = $pos.parent;
289
+ if (!node.isTextblock) return {
290
+ from,
291
+ to
292
+ };
293
+ let markStart = from;
294
+ let markEnd = from;
295
+ let foundMark;
296
+ node.forEach((child, offset) => {
297
+ const childStart = $pos.start() + offset;
298
+ const childEnd = childStart + child.nodeSize;
299
+ if (from >= childStart && from <= childEnd && child.isText) {
300
+ for (const mark of child.marks) if (mark.type === insertionType || mark.type === deletionType) {
301
+ foundMark = mark;
302
+ markStart = childStart;
303
+ markEnd = childEnd;
304
+ }
305
+ }
306
+ });
307
+ if (foundMark === void 0) {
308
+ const paragraphChange = findParagraphBoundaryChangeAtPosition(state, from);
309
+ return paragraphChange ? {
310
+ from: paragraphChange.from,
311
+ to: paragraphChange.to
312
+ } : {
313
+ from,
314
+ to
315
+ };
316
+ }
317
+ const sameMark = foundMark;
318
+ const children = [];
319
+ node.forEach((child, offset) => {
320
+ if (!child.isText) return;
321
+ const childStart = $pos.start() + offset;
322
+ children.push({
323
+ childStart,
324
+ childEnd: childStart + child.nodeSize,
325
+ marks: child.marks
326
+ });
327
+ });
328
+ let extended = true;
329
+ while (extended) {
330
+ extended = false;
331
+ for (const child of children) {
332
+ if (!child.marks.some((m) => m.eq(sameMark))) continue;
333
+ if (child.childEnd === markStart) {
334
+ markStart = child.childStart;
335
+ extended = true;
336
+ }
337
+ if (child.childStart === markEnd) {
338
+ markEnd = child.childEnd;
339
+ extended = true;
340
+ }
341
+ }
342
+ }
343
+ return {
344
+ from: markStart,
345
+ to: markEnd
346
+ };
347
+ }
348
+ /**
349
+ * Walk outward from `[fromHint, toHint]` and return the full extent of the
350
+ * tracked-change span carrying `mark` (matched via `Mark.eq`, so attrs like
351
+ * `revisionId` distinguish adjacent changes). Used to keep the
352
+ * navigation/scroll helpers honest when a tracked-change span is split
353
+ * across multiple text nodes due to inline formatting (e.g., a bold word
354
+ * inside an insertion).
355
+ */
356
+ function expandTrackedChangeRange(state, mark, fromHint, toHint) {
357
+ const carriesSameInlineMark = (node) => node?.isInline === true && node.marks.some((m) => m.eq(mark));
358
+ let from = fromHint;
359
+ let to = toHint;
360
+ let $from = state.doc.resolve(from);
361
+ let nodeBefore = $from.nodeBefore;
362
+ while (carriesSameInlineMark(nodeBefore)) {
363
+ from -= nodeBefore.nodeSize;
364
+ $from = state.doc.resolve(from);
365
+ nodeBefore = $from.nodeBefore;
366
+ }
367
+ let $to = state.doc.resolve(to);
368
+ let nodeAfter = $to.nodeAfter;
369
+ while (carriesSameInlineMark(nodeAfter)) {
370
+ to += nodeAfter.nodeSize;
371
+ $to = state.doc.resolve(to);
372
+ nodeAfter = $to.nodeAfter;
373
+ }
374
+ return {
375
+ from,
376
+ to
377
+ };
378
+ }
379
+ /**
380
+ * Find the next tracked change after the given position. Returns the full
381
+ * range of the change (including adjacent text nodes that share the same
382
+ * insertion/deletion mark instance), not just the first text node.
383
+ */
384
+ function findNextChange(state, startPos) {
385
+ const insertionType = state.schema.marks["insertion"];
386
+ const deletionType = state.schema.marks["deletion"];
387
+ if (!insertionType && !deletionType) return null;
388
+ const result = { value: null };
389
+ state.doc.descendants((node, pos) => {
390
+ if (result.value) return false;
391
+ if (!node.isInline) return;
392
+ if (pos + node.nodeSize <= startPos) return;
393
+ for (const mark of node.marks) if (mark.type === insertionType || mark.type === deletionType) {
394
+ const expanded = expandTrackedChangeRange(state, mark, pos, pos + node.nodeSize);
395
+ result.value = {
396
+ from: expanded.from,
397
+ to: expanded.to,
398
+ type: mark.type === insertionType ? "insertion" : "deletion"
399
+ };
400
+ return false;
401
+ }
402
+ });
403
+ if (result.value === null && startPos > 0) return findNextChange(state, 0);
404
+ return result.value;
405
+ }
406
+ /**
407
+ * Find the previous tracked change before the given position. Returns the
408
+ * full range of the change (including adjacent text nodes that share the
409
+ * same insertion/deletion mark instance), not just the last text node.
410
+ */
411
+ function findPreviousChange(state, startPos) {
412
+ const insertionType = state.schema.marks["insertion"];
413
+ const deletionType = state.schema.marks["deletion"];
414
+ if (!insertionType && !deletionType) return null;
415
+ const result = { value: null };
416
+ let resultMark = null;
417
+ state.doc.descendants((node, pos) => {
418
+ if (!node.isInline) return;
419
+ if (pos >= startPos) return false;
420
+ if (result.value && resultMark && pos < result.value.to && node.marks.every((m) => m.type !== insertionType && m.type !== deletionType || m.eq(resultMark))) return;
421
+ for (const mark of node.marks) if (mark.type === insertionType || mark.type === deletionType) {
422
+ const expanded = expandTrackedChangeRange(state, mark, pos, pos + node.nodeSize);
423
+ result.value = {
424
+ from: expanded.from,
425
+ to: expanded.to,
426
+ type: mark.type === insertionType ? "insertion" : "deletion"
427
+ };
428
+ resultMark = mark;
429
+ }
430
+ });
431
+ if (result.value === null && startPos < state.doc.content.size) return findPreviousChange(state, state.doc.content.size);
432
+ return result.value;
433
+ }
434
+ //#endregion
435
+ export { acceptAIEditRevision, acceptAllChanges, acceptChange, addCommentMark, findAIEditRevisionRange, findChangeAtPosition, findNextChange, findParagraphBoundaryChangeAtPosition, findPreviousChange, rejectAIEditRevision, rejectAllChanges, rejectChange, removeCommentMark };
@@ -0,0 +1,45 @@
1
+ import { document_d_exports } from "../../types/document.js";
2
+ import { ContentControlFilter } from "../../content-controls/findContentControls.js";
3
+ import { SetContentControlContentInput, SetContentControlValueInput } from "../../content-controls/mutateContentControls.js";
4
+ import { EditorState, Transaction } from "prosemirror-state";
5
+ import { Node } from "prosemirror-model";
6
+
7
+ //#region src/prosemirror/commands/contentControls.d.ts
8
+ type ForceOption = {
9
+ force?: boolean;
10
+ };
11
+ type BlockSdtPMMatch = {
12
+ node: Node; /** Absolute PM position of the blockSdt's open tag. */
13
+ pos: number; /** Outer→inner index path through doc children. */
14
+ path: number[];
15
+ };
16
+ /** All blockSdt nodes in `doc` matching `filter`. Outer→inner traversal. */
17
+ declare function findBlockSdtMatches(doc: Node, filter?: ContentControlFilter): BlockSdtPMMatch[];
18
+ /** First match or null — convenience for editor-ref callers. */
19
+ declare function findBlockSdtMatch(doc: Node, filter: ContentControlFilter): BlockSdtPMMatch | null;
20
+ /**
21
+ * Project a `blockSdt` PM node's attrs onto the full modeled `SdtProperties`
22
+ * shape so the editor-ref `getContentControls` and lock-error messages
23
+ * surface every field downstream tooling expects (lock, placeholder,
24
+ * dateFormat, listItems, checked, etc.). Raw XML payloads are not exposed —
25
+ * those are for serializer replay, not for callers.
26
+ */
27
+ declare function blockSdtAttrsToSdtProperties(node: Node): document_d_exports.SdtProperties;
28
+ /**
29
+ * Replace a control's children with plain text (one paragraph) or
30
+ * pre-built PM blocks. Returns null when no match is present.
31
+ */
32
+ declare function setContentControlContentTr(state: EditorState, filter: ContentControlFilter, input: SetContentControlContentInput, options?: ForceOption): Transaction | null;
33
+ /**
34
+ * Internal helper for the block-content fill variant. Lives in this module
35
+ * so callers reuse the same lock-check and `replaceWith` shape; the
36
+ * conversion-aware `setContentControlContentBlocksTr` in
37
+ * `./contentControlsBlockFill.ts` wraps it.
38
+ */
39
+ declare function replaceBlockSdtChildrenForFill(state: EditorState, filter: ContentControlFilter, children: readonly Node[], options?: ForceOption): Transaction | null;
40
+ declare function setContentControlValueTr(state: EditorState, filter: ContentControlFilter, input: SetContentControlValueInput, options?: ForceOption): Transaction | null;
41
+ declare function removeContentControlTr(state: EditorState, filter: ContentControlFilter, options?: ForceOption & {
42
+ keepContent?: boolean;
43
+ }): Transaction | null;
44
+ //#endregion
45
+ export { BlockSdtPMMatch, blockSdtAttrsToSdtProperties, findBlockSdtMatch, findBlockSdtMatches, removeContentControlTr, replaceBlockSdtChildrenForFill, setContentControlContentTr, setContentControlValueTr };