@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,90 @@
1
+ import { Plugin, PluginKey } from "prosemirror-state";
2
+ import { Decoration, DecorationSet } from "prosemirror-view";
3
+ //#region src/prosemirror/plugins/aiCitationDecorations.ts
4
+ const aiCitationDecorationsKey = new PluginKey("aiCitationDecorations");
5
+ const SET_META = "set";
6
+ const ACTIVE_META = "active";
7
+ function buildDecorationSet(doc, citations, activeId) {
8
+ if (citations.length === 0) return DecorationSet.empty;
9
+ const docSize = doc.content.size;
10
+ const decorations = [];
11
+ for (const c of citations) {
12
+ const from = Math.max(0, Math.min(c.from, docSize));
13
+ const to = Math.max(from, Math.min(c.to, docSize));
14
+ if (to === from) continue;
15
+ const isActive = activeId === c.id;
16
+ decorations.push(Decoration.inline(from, to, {
17
+ class: ["folio-ai-citation", isActive ? "folio-ai-citation--active" : ""].filter(Boolean).join(" "),
18
+ "data-folio-ai-citation-id": c.id
19
+ }, {
20
+ inclusiveStart: false,
21
+ inclusiveEnd: false
22
+ }));
23
+ }
24
+ return DecorationSet.create(doc, decorations);
25
+ }
26
+ /**
27
+ * ProseMirror plugin that renders AI citations as inline highlights.
28
+ * Use {@link setAICitationsMeta} / {@link setActiveCitationMeta} to
29
+ * update which ranges are shown and which one is currently active
30
+ * (e.g., the one the user just clicked).
31
+ */
32
+ function createAICitationDecorationsPlugin() {
33
+ return new Plugin({
34
+ key: aiCitationDecorationsKey,
35
+ state: {
36
+ init(_, state) {
37
+ return {
38
+ citations: [],
39
+ activeId: null,
40
+ decorationSet: buildDecorationSet(state.doc, [], null)
41
+ };
42
+ },
43
+ apply(tr, prev, _oldState, newState) {
44
+ const meta = tr.getMeta(aiCitationDecorationsKey);
45
+ if (meta?.type === SET_META) return {
46
+ citations: meta.citations,
47
+ activeId: prev.activeId,
48
+ decorationSet: buildDecorationSet(newState.doc, meta.citations, prev.activeId)
49
+ };
50
+ if (meta?.type === ACTIVE_META) return {
51
+ citations: prev.citations,
52
+ activeId: meta.activeId,
53
+ decorationSet: buildDecorationSet(newState.doc, prev.citations, meta.activeId)
54
+ };
55
+ if (tr.docChanged) {
56
+ const mapped = prev.decorationSet.map(tr.mapping, tr.doc);
57
+ return {
58
+ citations: prev.citations,
59
+ activeId: prev.activeId,
60
+ decorationSet: mapped
61
+ };
62
+ }
63
+ return prev;
64
+ }
65
+ },
66
+ props: { decorations(state) {
67
+ return aiCitationDecorationsKey.getState(state)?.decorationSet ?? null;
68
+ } }
69
+ });
70
+ }
71
+ function setAICitationsMeta(citations) {
72
+ return {
73
+ key: aiCitationDecorationsKey,
74
+ payload: {
75
+ type: SET_META,
76
+ citations
77
+ }
78
+ };
79
+ }
80
+ function setActiveCitationMeta(activeId) {
81
+ return {
82
+ key: aiCitationDecorationsKey,
83
+ payload: {
84
+ type: ACTIVE_META,
85
+ activeId
86
+ }
87
+ };
88
+ }
89
+ //#endregion
90
+ export { aiCitationDecorationsKey, createAICitationDecorationsPlugin, setAICitationsMeta, setActiveCitationMeta };
@@ -0,0 +1,42 @@
1
+ import { AISuggestion, AISuggestionSeverity } from "../../ai-suggestions/types.js";
2
+ import { Plugin, PluginKey } from "prosemirror-state";
3
+ import { DecorationSet } from "prosemirror-view";
4
+
5
+ //#region src/prosemirror/plugins/aiSuggestionDecorations.d.ts
6
+ declare const aiSuggestionDecorationsKey: PluginKey<AISuggestionDecorationState>;
7
+ declare const SET_META = "set";
8
+ declare const FOCUS_META = "focus";
9
+ type AISuggestionDecorationState = {
10
+ suggestions: AISuggestion[];
11
+ focusedId: string | null;
12
+ decorationSet: DecorationSet;
13
+ };
14
+ /**
15
+ * Severity → CSS modifier class. Shared with the paged editor's
16
+ * suggestion overlay so both renderers stay on the same class names.
17
+ */
18
+ declare const AI_SUGGESTION_SEVERITY_CLASS: Record<AISuggestionSeverity, string>;
19
+ /**
20
+ * ProseMirror plugin that renders AI suggestions as inline decorations.
21
+ *
22
+ * Use {@link setAISuggestionsMeta} to update the list, and
23
+ * {@link setFocusedSuggestionMeta} to highlight the active one when the
24
+ * user navigates the review panel.
25
+ */
26
+ declare function createAISuggestionDecorationsPlugin(): Plugin<AISuggestionDecorationState>;
27
+ declare function setAISuggestionsMeta(suggestions: AISuggestion[]): {
28
+ key: PluginKey<AISuggestionDecorationState>;
29
+ payload: {
30
+ type: typeof SET_META;
31
+ suggestions: AISuggestion[];
32
+ };
33
+ };
34
+ declare function setFocusedSuggestionMeta(focusedId: string | null): {
35
+ key: PluginKey<AISuggestionDecorationState>;
36
+ payload: {
37
+ type: typeof FOCUS_META;
38
+ focusedId: string | null;
39
+ };
40
+ };
41
+ //#endregion
42
+ export { AI_SUGGESTION_SEVERITY_CLASS, aiSuggestionDecorationsKey, createAISuggestionDecorationsPlugin, setAISuggestionsMeta, setFocusedSuggestionMeta };
@@ -0,0 +1,135 @@
1
+ import { Plugin, PluginKey } from "prosemirror-state";
2
+ import { Decoration, DecorationSet } from "prosemirror-view";
3
+ //#region src/prosemirror/plugins/aiSuggestionDecorations.ts
4
+ const aiSuggestionDecorationsKey = new PluginKey("aiSuggestionDecorations");
5
+ const SET_META = "set";
6
+ const FOCUS_META = "focus";
7
+ /**
8
+ * Severity → CSS modifier class. Shared with the paged editor's
9
+ * suggestion overlay so both renderers stay on the same class names.
10
+ */
11
+ const AI_SUGGESTION_SEVERITY_CLASS = {
12
+ typo: "folio-ai-suggestion--typo",
13
+ style: "folio-ai-suggestion--style",
14
+ substantive: "folio-ai-suggestion--substantive"
15
+ };
16
+ /**
17
+ * Lazy DOM factory for the focused suggestion's in-text replacement
18
+ * preview. Returned as a closure so the element is only created when
19
+ * the view draws the widget (keeps the build side-effect free for
20
+ * headless state updates).
21
+ */
22
+ function buildReplacementWidget(suggestion) {
23
+ return () => {
24
+ const span = document.createElement("span");
25
+ span.className = "folio-ai-suggestion--focused-replacement";
26
+ span.dataset["folioAiSuggestionId"] = suggestion.id;
27
+ span.contentEditable = "false";
28
+ span.textContent = suggestion.suggestedText;
29
+ return span;
30
+ };
31
+ }
32
+ function buildDecorationSet(doc, suggestions, focusedId) {
33
+ if (suggestions.length === 0) return DecorationSet.empty;
34
+ const docSize = doc.content.size;
35
+ const decorations = [];
36
+ for (const suggestion of suggestions) {
37
+ if (suggestion.status !== "pending") continue;
38
+ const from = Math.max(0, Math.min(suggestion.range.from, docSize));
39
+ const to = Math.max(from, Math.min(suggestion.range.to, docSize));
40
+ if (to === from) continue;
41
+ const isFocused = focusedId === suggestion.id;
42
+ decorations.push(Decoration.inline(from, to, {
43
+ class: [
44
+ "folio-ai-suggestion",
45
+ AI_SUGGESTION_SEVERITY_CLASS[suggestion.severity],
46
+ isFocused ? "folio-ai-suggestion--focused" : "",
47
+ isFocused ? "folio-ai-suggestion--focused-original" : ""
48
+ ].filter(Boolean).join(" "),
49
+ "data-folio-ai-suggestion-id": suggestion.id
50
+ }, {
51
+ inclusiveStart: false,
52
+ inclusiveEnd: false
53
+ }));
54
+ if (isFocused && suggestion.suggestedText.length > 0) decorations.push(Decoration.widget(to, buildReplacementWidget(suggestion), {
55
+ side: 1,
56
+ marks: [],
57
+ ignoreSelection: true,
58
+ key: `folio-ai-suggestion-replacement-${suggestion.id}`
59
+ }));
60
+ }
61
+ return DecorationSet.create(doc, decorations);
62
+ }
63
+ /**
64
+ * ProseMirror plugin that renders AI suggestions as inline decorations.
65
+ *
66
+ * Use {@link setAISuggestionsMeta} to update the list, and
67
+ * {@link setFocusedSuggestionMeta} to highlight the active one when the
68
+ * user navigates the review panel.
69
+ */
70
+ function createAISuggestionDecorationsPlugin() {
71
+ return new Plugin({
72
+ key: aiSuggestionDecorationsKey,
73
+ state: {
74
+ init(_, state) {
75
+ return {
76
+ suggestions: [],
77
+ focusedId: null,
78
+ decorationSet: buildDecorationSet(state.doc, [], null)
79
+ };
80
+ },
81
+ apply(tr, prev, _oldState, newState) {
82
+ const setMeta = tr.getMeta(aiSuggestionDecorationsKey);
83
+ if (setMeta?.type === SET_META) return {
84
+ suggestions: setMeta.suggestions,
85
+ focusedId: prev.focusedId,
86
+ decorationSet: buildDecorationSet(newState.doc, setMeta.suggestions, prev.focusedId)
87
+ };
88
+ if (setMeta?.type === FOCUS_META) return {
89
+ suggestions: prev.suggestions,
90
+ focusedId: setMeta.focusedId,
91
+ decorationSet: buildDecorationSet(newState.doc, prev.suggestions, setMeta.focusedId)
92
+ };
93
+ if (tr.docChanged) {
94
+ if (prev.suggestions.length === 0) return prev;
95
+ const mapped = prev.decorationSet.map(tr.mapping, tr.doc);
96
+ return {
97
+ suggestions: prev.suggestions.map((suggestion) => ({
98
+ ...suggestion,
99
+ range: {
100
+ from: tr.mapping.map(suggestion.range.from, 1),
101
+ to: tr.mapping.map(suggestion.range.to, -1)
102
+ }
103
+ })),
104
+ focusedId: prev.focusedId,
105
+ decorationSet: mapped
106
+ };
107
+ }
108
+ return prev;
109
+ }
110
+ },
111
+ props: { decorations(state) {
112
+ return aiSuggestionDecorationsKey.getState(state)?.decorationSet ?? null;
113
+ } }
114
+ });
115
+ }
116
+ function setAISuggestionsMeta(suggestions) {
117
+ return {
118
+ key: aiSuggestionDecorationsKey,
119
+ payload: {
120
+ type: SET_META,
121
+ suggestions
122
+ }
123
+ };
124
+ }
125
+ function setFocusedSuggestionMeta(focusedId) {
126
+ return {
127
+ key: aiSuggestionDecorationsKey,
128
+ payload: {
129
+ type: FOCUS_META,
130
+ focusedId
131
+ }
132
+ };
133
+ }
134
+ //#endregion
135
+ export { AI_SUGGESTION_SEVERITY_CLASS, aiSuggestionDecorationsKey, createAISuggestionDecorationsPlugin, setAISuggestionsMeta, setFocusedSuggestionMeta };
@@ -0,0 +1,60 @@
1
+ import { EditorState, Plugin, PluginKey } from "prosemirror-state";
2
+
3
+ //#region src/prosemirror/plugins/anonymizationDecorations.d.ts
4
+ type AnonymizationTerm = {
5
+ /** Canonical surface form, displayed in tooltips. */canonical: string; /** Label slug (e.g. "person", "organization"). */
6
+ label: string; /** Optional alternate surface forms also matched verbatim. */
7
+ variants?: readonly string[];
8
+ };
9
+ type AnonymizationMatch = {
10
+ /** Inclusive PM doc position of the match start. */from: number; /** Exclusive PM doc position of the match end. */
11
+ to: number;
12
+ label: string;
13
+ canonical: string;
14
+ };
15
+ declare const SET_META = "set";
16
+ type AnonymizationDecorationState = {
17
+ terms: readonly AnonymizationTerm[];
18
+ matches: readonly AnonymizationMatch[];
19
+ };
20
+ declare const anonymizationDecorationsKey: PluginKey<AnonymizationDecorationState>;
21
+ declare const slugAnonymizationLabel: (label: string) => string;
22
+ /**
23
+ * Plugin that keeps a list of anonymization-term match ranges
24
+ * synced with the document. Host pushes terms via
25
+ * {@link setAnonymizationTermsMeta}; the paged-editor reads
26
+ * the matches and paints the overlay.
27
+ */
28
+ type AnonymizationPluginOptions = {
29
+ /**
30
+ * Push-side bridge for hosts that need to mirror the current
31
+ * match list outside the PM state tree (e.g. an inspector
32
+ * facet showing a "N highlighted" counter, or per-doc analytics).
33
+ * Called on plugin init, after every transaction that changes
34
+ * the match set, and on plugin teardown (with an empty list).
35
+ * The same list is reachable via `getAnonymizationMatches`;
36
+ * use the callback when you need updates without polling.
37
+ */
38
+ onMatchesChange?: (matches: readonly AnonymizationMatch[]) => void;
39
+ };
40
+ declare const createAnonymizationDecorationsPlugin: ({
41
+ onMatchesChange
42
+ }?: AnonymizationPluginOptions) => Plugin<AnonymizationDecorationState>;
43
+ declare const setAnonymizationTermsMeta: (terms: readonly AnonymizationTerm[]) => {
44
+ key: PluginKey<AnonymizationDecorationState>;
45
+ payload: {
46
+ type: typeof SET_META;
47
+ terms: readonly AnonymizationTerm[];
48
+ };
49
+ };
50
+ /**
51
+ * Read the plugin's current match list out of a Folio editor
52
+ * view. Lives inside the same module as the plugin key so a host
53
+ * that imports it via `@stll/folio` gets the *same* key instance
54
+ * as the plugin registration — bypassing the dev-HMR hazard
55
+ * where re-evaluating the plugin module would create a second
56
+ * PluginKey and break key-based lookups.
57
+ */
58
+ declare const getAnonymizationMatches: (state: EditorState) => readonly AnonymizationMatch[];
59
+ //#endregion
60
+ export { AnonymizationMatch, AnonymizationPluginOptions, AnonymizationTerm, anonymizationDecorationsKey, createAnonymizationDecorationsPlugin, getAnonymizationMatches, setAnonymizationTermsMeta, slugAnonymizationLabel };
@@ -0,0 +1,120 @@
1
+ import { collectBlockChunks, joinChunks, offsetToDocPos } from "./pmTextScan.js";
2
+ import { Plugin, PluginKey } from "prosemirror-state";
3
+ //#region src/prosemirror/plugins/anonymizationDecorations.ts
4
+ const SET_META = "set";
5
+ const KEY_HOLDER_SYMBOL = Symbol.for("stll.folio.anonymizationDecorationsKey");
6
+ const keyHolder = globalThis;
7
+ const anonymizationDecorationsKey = keyHolder[KEY_HOLDER_SYMBOL] ?? (keyHolder[KEY_HOLDER_SYMBOL] = new PluginKey("anonymizationDecorations"));
8
+ const slugAnonymizationLabel = (label) => label.toLowerCase().replace(/[^a-z0-9]+/gu, "-");
9
+ const buildMatcher = (terms) => {
10
+ const escapeChar = (value) => value.replaceAll(/[\\^$.*+?()[\]{}|]/gu, "\\$&").replaceAll(/\s+/gu, "\\s+");
11
+ const compiled = [];
12
+ const seen = /* @__PURE__ */ new Set();
13
+ for (const term of terms) {
14
+ const surfaces = [term.canonical, ...term.variants ?? []].filter((surface) => surface.length > 0);
15
+ if (surfaces.length === 0) continue;
16
+ surfaces.sort((a, b) => b.length - a.length);
17
+ const key = surfaces.join("|").toLowerCase();
18
+ if (seen.has(key)) continue;
19
+ seen.add(key);
20
+ const alternation = surfaces.map(escapeChar).join("|");
21
+ compiled.push({
22
+ term,
23
+ regex: new RegExp(`(?<![\\p{L}\\p{N}])(?:${alternation})(?![\\p{L}\\p{N}])`, "giu")
24
+ });
25
+ }
26
+ return compiled;
27
+ };
28
+ const buildMatches = (doc, terms) => {
29
+ const compiled = buildMatcher(terms);
30
+ if (compiled.length === 0) return [];
31
+ const matches = [];
32
+ for (const chunks of collectBlockChunks(doc)) {
33
+ const joined = joinChunks(chunks);
34
+ for (const { regex, term } of compiled) {
35
+ regex.lastIndex = 0;
36
+ let match = regex.exec(joined);
37
+ while (match !== null) {
38
+ const from = offsetToDocPos(chunks, match.index);
39
+ const to = offsetToDocPos(chunks, match.index + match[0].length);
40
+ matches.push({
41
+ from,
42
+ to,
43
+ label: term.label,
44
+ canonical: term.canonical
45
+ });
46
+ if (regex.lastIndex === match.index) regex.lastIndex += 1;
47
+ match = regex.exec(joined);
48
+ }
49
+ }
50
+ }
51
+ matches.sort((a, b) => a.from !== b.from ? a.from - b.from : b.to - a.to);
52
+ const result = [];
53
+ let cursor = -1;
54
+ for (const m of matches) {
55
+ if (m.from < cursor) continue;
56
+ result.push(m);
57
+ cursor = m.to;
58
+ }
59
+ return result;
60
+ };
61
+ const createAnonymizationDecorationsPlugin = ({ onMatchesChange } = {}) => {
62
+ const spec = {
63
+ key: anonymizationDecorationsKey,
64
+ state: {
65
+ init() {
66
+ return {
67
+ terms: [],
68
+ matches: []
69
+ };
70
+ },
71
+ apply(tr, prev, _oldState, newState) {
72
+ const setMeta = tr.getMeta(anonymizationDecorationsKey);
73
+ if (setMeta?.type === SET_META) return {
74
+ terms: setMeta.terms,
75
+ matches: buildMatches(newState.doc, setMeta.terms)
76
+ };
77
+ if (tr.docChanged) return {
78
+ terms: prev.terms,
79
+ matches: buildMatches(newState.doc, prev.terms)
80
+ };
81
+ return prev;
82
+ }
83
+ }
84
+ };
85
+ if (onMatchesChange) spec.view = (view) => {
86
+ let last = anonymizationDecorationsKey.getState(view.state)?.matches;
87
+ if (last) onMatchesChange(last);
88
+ return {
89
+ update(updatedView) {
90
+ const next = anonymizationDecorationsKey.getState(updatedView.state)?.matches;
91
+ if (next && next !== last) {
92
+ last = next;
93
+ onMatchesChange(next);
94
+ }
95
+ },
96
+ destroy() {
97
+ onMatchesChange([]);
98
+ }
99
+ };
100
+ };
101
+ return new Plugin(spec);
102
+ };
103
+ const setAnonymizationTermsMeta = (terms) => ({
104
+ key: anonymizationDecorationsKey,
105
+ payload: {
106
+ type: SET_META,
107
+ terms
108
+ }
109
+ });
110
+ /**
111
+ * Read the plugin's current match list out of a Folio editor
112
+ * view. Lives inside the same module as the plugin key so a host
113
+ * that imports it via `@stll/folio` gets the *same* key instance
114
+ * as the plugin registration — bypassing the dev-HMR hazard
115
+ * where re-evaluating the plugin module would create a second
116
+ * PluginKey and break key-based lookups.
117
+ */
118
+ const getAnonymizationMatches = (state) => anonymizationDecorationsKey.getState(state)?.matches ?? [];
119
+ //#endregion
120
+ export { anonymizationDecorationsKey, createAnonymizationDecorationsPlugin, getAnonymizationMatches, setAnonymizationTermsMeta, slugAnonymizationLabel };
@@ -0,0 +1,123 @@
1
+ import { EditorState, Plugin, PluginKey, Transaction } from "prosemirror-state";
2
+ import { DecorationSet } from "prosemirror-view";
3
+
4
+ //#region src/prosemirror/plugins/autocompleteSuggestion.d.ts
5
+ type AutocompleteSuggestionStatus = "idle" | "streaming" | "shown";
6
+ type AutocompleteSuggestionState = {
7
+ status: "idle";
8
+ anchor: null;
9
+ text: "";
10
+ requestId: null;
11
+ } | {
12
+ status: "streaming" | "shown";
13
+ anchor: number;
14
+ text: string;
15
+ requestId: string;
16
+ };
17
+ declare const autocompleteSuggestionKey: PluginKey<AutocompleteSuggestionPluginState>;
18
+ type AutocompleteSuggestionPluginState = {
19
+ suggestion: AutocompleteSuggestionState;
20
+ decorations: DecorationSet;
21
+ };
22
+ type AutocompleteSuggestionPluginOptions = {
23
+ /**
24
+ * When `true`, the plugin paints the ghost text and the
25
+ * "stella" caret as a single inline widget decoration. Use
26
+ * this in standard (non-paged) ProseMirror views where PM
27
+ * decorations reach the visible DOM.
28
+ *
29
+ * When `false` (default), the plugin emits an invisible
30
+ * zero-width anchor widget only; the visible ghost text is
31
+ * painted by {@link AutocompleteCaretOverlay} reading the
32
+ * plugin state from outside the editor. This is the path
33
+ * folio's hidden-PM + paged-painter editor uses.
34
+ */
35
+ renderInline?: boolean;
36
+ /**
37
+ * When `true`, the plugin intercepts keys via
38
+ * `props.handleKeyDown`:
39
+ * - Tab → accept full suggestion (only if shown)
40
+ * - Mod-ArrowRight → accept the next word
41
+ * - Escape → dismiss
42
+ * Handlers return `false` (i.e. don't consume the event) when
43
+ * no suggestion is active, so existing keymap entries — list
44
+ * indentation on Tab, etc. — continue to work unchanged.
45
+ *
46
+ * The plugin must sit early in the editor's plugin array for
47
+ * its `handleKeyDown` to run before competing keymap plugins.
48
+ */
49
+ keymap?: boolean;
50
+ };
51
+ declare const autocompleteSuggestionPlugin: (options?: AutocompleteSuggestionPluginOptions) => Plugin<AutocompleteSuggestionPluginState>;
52
+ declare const getAutocompleteSuggestion: (state: EditorState) => AutocompleteSuggestionState;
53
+ declare const startAutocompleteSuggestion: (tr: Transaction, anchor: number, requestId: string) => Transaction;
54
+ declare const appendAutocompleteToken: (tr: Transaction, requestId: string, delta: string) => Transaction;
55
+ declare const finishAutocompleteSuggestion: (tr: Transaction, requestId: string) => Transaction;
56
+ declare const clearAutocompleteSuggestion: (tr: Transaction) => Transaction;
57
+ type AcceptAutocompleteResult = {
58
+ accepted: false;
59
+ } | {
60
+ accepted: true;
61
+ from: number;
62
+ to: number;
63
+ text: string;
64
+ };
65
+ /**
66
+ * Commit the current suggestion as a real text insertion at its
67
+ * anchor. Returns metadata so the caller can record the accept
68
+ * event (for telemetry / future training feedback) without
69
+ * re-reading plugin state after the dispatch.
70
+ *
71
+ * Single transaction: insert text + clear suggestion state, so
72
+ * undo restores both the doc and the (now-gone) ghost atomically.
73
+ */
74
+ declare const acceptAutocompleteSuggestion: (state: EditorState, dispatch?: (tr: Transaction) => void) => AcceptAutocompleteResult;
75
+ /**
76
+ * Consume the next "word" from the suggestion: insert it at the
77
+ * anchor in a single transaction and shrink the remaining ghost
78
+ * text. Lets the user "graze" through a long suggestion one word
79
+ * at a time with ⌘→ / Ctrl→ instead of accept-all-or-discard.
80
+ *
81
+ * A word here is "leading whitespace + the next non-whitespace
82
+ * run + an optional trailing space" — so successive calls eat the
83
+ * suggestion cleanly without leaving stray spaces. When the
84
+ * remaining suggestion is shorter than one word, this falls
85
+ * through to {@link acceptAutocompleteSuggestion}.
86
+ */
87
+ declare const acceptAutocompleteWord: (state: EditorState, dispatch?: (tr: Transaction) => void) => AcceptAutocompleteResult;
88
+ type AutocompleteTriggerSkipReason = "selection-non-empty" | "midword" | "deadzone" | "empty-doc";
89
+ type AutocompleteTriggerCheck = {
90
+ ok: true;
91
+ } | {
92
+ ok: false;
93
+ reason: AutocompleteTriggerSkipReason;
94
+ detail?: string;
95
+ };
96
+ /**
97
+ * Node type names that should suppress autocomplete entirely. The
98
+ * defaults cover prose-adjacent zones across ProseMirror schemas
99
+ * we encounter in folio + bare playgrounds. Pass a custom list via
100
+ * options to extend (citations, math, frontmatter, etc.).
101
+ */
102
+ declare const DEFAULT_AUTOCOMPLETE_DEAD_ZONE_NODES: readonly string[];
103
+ type AutocompleteTriggerOptions = {
104
+ /** Additional node type names to treat as dead zones. */extraDeadZoneNodes?: readonly string[];
105
+ };
106
+ /**
107
+ * Decide whether autocomplete should fire at the current cursor.
108
+ * Designed to be called from a debounced trigger in the host app
109
+ * before sending a request to the model. Returns a structured
110
+ * skip reason rather than a bare boolean so callers (and debug
111
+ * UIs) can explain why no suggestion appeared.
112
+ *
113
+ * Gates applied:
114
+ * - selection must be a collapsed caret (no range selection)
115
+ * - the cursor must not be inside a dead-zone node (heading,
116
+ * code, citation, math, etc.) anywhere in the ancestor chain
117
+ * - the character immediately before the cursor must not be a
118
+ * word-continuation char — if it is, the model would be
119
+ * completing a partial token and almost always misreads intent
120
+ */
121
+ declare const shouldTriggerAutocomplete: (state: EditorState, options?: AutocompleteTriggerOptions) => AutocompleteTriggerCheck;
122
+ //#endregion
123
+ export { AcceptAutocompleteResult, AutocompleteSuggestionPluginOptions, AutocompleteSuggestionState, AutocompleteSuggestionStatus, AutocompleteTriggerCheck, AutocompleteTriggerOptions, AutocompleteTriggerSkipReason, DEFAULT_AUTOCOMPLETE_DEAD_ZONE_NODES, acceptAutocompleteSuggestion, acceptAutocompleteWord, appendAutocompleteToken, autocompleteSuggestionKey, autocompleteSuggestionPlugin, clearAutocompleteSuggestion, finishAutocompleteSuggestion, getAutocompleteSuggestion, shouldTriggerAutocomplete, startAutocompleteSuggestion };