@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,129 @@
1
+ import { Priority } from "./types.js";
2
+ //#region src/prosemirror/extensions/create.ts
3
+ /**
4
+ * Extension Factory Functions
5
+ *
6
+ * Creates extension instances from definitions.
7
+ * Each factory returns a function that accepts options and returns an extension instance.
8
+ */
9
+ const copyOptions = (options) => ({ ...options });
10
+ const mergeDefaultOptions = (defaultOptions, options) => ({
11
+ ...defaultOptions,
12
+ ...options
13
+ });
14
+ const extensionHasDefaultOptions = (def) => def.defaultOptions !== void 0;
15
+ const nodeExtensionHasDefaultOptions = (def) => def.defaultOptions !== void 0;
16
+ const markExtensionHasDefaultOptions = (def) => def.defaultOptions !== void 0;
17
+ /**
18
+ * Create a generic extension (plugins, commands, keymaps — no schema contribution)
19
+ */
20
+ function createExtension(def) {
21
+ return (options) => {
22
+ if (extensionHasDefaultOptions(def)) {
23
+ const mergedOptions = mergeDefaultOptions(def.defaultOptions, options);
24
+ return {
25
+ type: "extension",
26
+ config: {
27
+ name: def.name,
28
+ priority: def.priority ?? Priority.Default,
29
+ options: copyOptions(mergedOptions)
30
+ },
31
+ onSchemaReady(ctx) {
32
+ return def.onSchemaReady(ctx, mergedOptions);
33
+ }
34
+ };
35
+ }
36
+ const mergedOptions = options ?? {};
37
+ return {
38
+ type: "extension",
39
+ config: {
40
+ name: def.name,
41
+ priority: def.priority ?? Priority.Default,
42
+ options: copyOptions(mergedOptions)
43
+ },
44
+ onSchemaReady(ctx) {
45
+ return def.onSchemaReady(ctx, mergedOptions);
46
+ }
47
+ };
48
+ };
49
+ }
50
+ /**
51
+ * Create a node extension (contributes a NodeSpec to the schema)
52
+ */
53
+ function createNodeExtension(def) {
54
+ return (options) => {
55
+ if (nodeExtensionHasDefaultOptions(def)) {
56
+ const mergedOptions = mergeDefaultOptions(def.defaultOptions, options);
57
+ const nodeSpec = typeof def.nodeSpec === "function" ? def.nodeSpec(mergedOptions) : def.nodeSpec;
58
+ return {
59
+ type: "node",
60
+ config: {
61
+ name: def.name,
62
+ priority: def.priority ?? Priority.Default,
63
+ options: copyOptions(mergedOptions),
64
+ schemaNodeName: def.schemaNodeName,
65
+ nodeSpec
66
+ },
67
+ onSchemaReady(ctx) {
68
+ return def.onSchemaReady?.(ctx, mergedOptions) ?? {};
69
+ }
70
+ };
71
+ }
72
+ const mergedOptions = options ?? {};
73
+ const nodeSpec = typeof def.nodeSpec === "function" ? def.nodeSpec(mergedOptions) : def.nodeSpec;
74
+ return {
75
+ type: "node",
76
+ config: {
77
+ name: def.name,
78
+ priority: def.priority ?? Priority.Default,
79
+ options: copyOptions(mergedOptions),
80
+ schemaNodeName: def.schemaNodeName,
81
+ nodeSpec
82
+ },
83
+ onSchemaReady(ctx) {
84
+ return def.onSchemaReady?.(ctx, mergedOptions) ?? {};
85
+ }
86
+ };
87
+ };
88
+ }
89
+ /**
90
+ * Create a mark extension (contributes a MarkSpec to the schema)
91
+ */
92
+ function createMarkExtension(def) {
93
+ return (options) => {
94
+ if (markExtensionHasDefaultOptions(def)) {
95
+ const mergedOptions = mergeDefaultOptions(def.defaultOptions, options);
96
+ const markSpec = typeof def.markSpec === "function" ? def.markSpec(mergedOptions) : def.markSpec;
97
+ return {
98
+ type: "mark",
99
+ config: {
100
+ name: def.name,
101
+ priority: def.priority ?? Priority.Default,
102
+ options: copyOptions(mergedOptions),
103
+ schemaMarkName: def.schemaMarkName,
104
+ markSpec
105
+ },
106
+ onSchemaReady(ctx) {
107
+ return def.onSchemaReady?.(ctx, mergedOptions) ?? {};
108
+ }
109
+ };
110
+ }
111
+ const mergedOptions = options ?? {};
112
+ const markSpec = typeof def.markSpec === "function" ? def.markSpec(mergedOptions) : def.markSpec;
113
+ return {
114
+ type: "mark",
115
+ config: {
116
+ name: def.name,
117
+ priority: def.priority ?? Priority.Default,
118
+ options: copyOptions(mergedOptions),
119
+ schemaMarkName: def.schemaMarkName,
120
+ markSpec
121
+ },
122
+ onSchemaReady(ctx) {
123
+ return def.onSchemaReady?.(ctx, mergedOptions) ?? {};
124
+ }
125
+ };
126
+ };
127
+ }
128
+ //#endregion
129
+ export { createExtension, createMarkExtension, createNodeExtension };
@@ -0,0 +1,23 @@
1
+ import { Extension } from "../types.js";
2
+ import { EditorState, PluginKey } from "prosemirror-state";
3
+
4
+ //#region src/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts
5
+ declare const autoBidiDetectionKey: PluginKey<any>;
6
+ /**
7
+ * Imperatively apply auto-bidi detection to a freshly built state (initial
8
+ * load: Markdown import, DOCX import, template). `appendTransaction` does not
9
+ * fire for the initial document, so seeded content needs this pass.
10
+ *
11
+ * Like the paraId allocator this is `ignoreTrackedChanges`, so a normalized
12
+ * paragraph the user never edits is not in `changedParaIds`. Full save (the
13
+ * default; and the only path for Markdown/template/new docs, which have no
14
+ * original buffer) serializes the whole PM doc, so the flag is written. The
15
+ * selective-save path (dark `selectiveSave` flag) intentionally preserves
16
+ * untouched original paragraphs byte-for-byte, so an imported DOCX whose Arabic
17
+ * arrived without `w:bidi` and is saved without any edit keeps the original
18
+ * bytes; editing the paragraph tracks it and the patch then includes `w:bidi`.
19
+ */
20
+ declare const ensureBaseDirectionInState: (state: EditorState) => EditorState;
21
+ declare const AutoBidiDetectionExtension: (options?: Partial<{}> | undefined) => Extension;
22
+ //#endregion
23
+ export { AutoBidiDetectionExtension, autoBidiDetectionKey, ensureBaseDirectionInState };
@@ -0,0 +1,106 @@
1
+ import { detectBaseDirection } from "../../../utils/baseDirection.js";
2
+ import { directionIsAutoManaged } from "../../paragraphDirection.js";
3
+ import { createExtension } from "../create.js";
4
+ import { getTransactionDirtyRange } from "../../../paged-layout/transactionDirtyRange.js";
5
+ import { ignoreTrackedChanges } from "./ParagraphChangeTrackerExtension.js";
6
+ import { Plugin, PluginKey } from "prosemirror-state";
7
+ //#region src/prosemirror/extensions/features/AutoBidiDetectionExtension.ts
8
+ const autoBidiDetectionKey = new PluginKey("autoBidiDetection");
9
+ const paragraphDirectionalText = (node) => {
10
+ let text = "";
11
+ node.descendants((child) => {
12
+ if (child.isText) {
13
+ if (!child.marks.some((mark) => mark.type.name === "deletion")) text += child.text ?? "";
14
+ } else if (child.type.name === "field") {
15
+ const display = child.attrs["displayText"];
16
+ if (typeof display === "string") text += display;
17
+ }
18
+ });
19
+ return text;
20
+ };
21
+ const evaluateParagraph = (node, pos) => {
22
+ const current = node.attrs["direction"];
23
+ if (!directionIsAutoManaged(current)) return null;
24
+ const wantRtl = detectBaseDirection(paragraphDirectionalText(node)) === "rtl";
25
+ if (current?.source === "auto" === wantRtl) return null;
26
+ const desired = wantRtl ? { source: "auto" } : null;
27
+ return {
28
+ pos,
29
+ attrs: {
30
+ ...node.attrs,
31
+ direction: desired
32
+ }
33
+ };
34
+ };
35
+ const collectBidiUpdates = (doc) => {
36
+ const updates = [];
37
+ doc.descendants((node, pos) => {
38
+ if (node.type.name !== "paragraph") return;
39
+ const update = evaluateParagraph(node, pos);
40
+ if (update) updates.push(update);
41
+ return false;
42
+ });
43
+ return updates;
44
+ };
45
+ const collectBidiUpdatesInRange = (doc, range) => {
46
+ const from = Math.max(0, Math.min(range.from, doc.content.size));
47
+ const to = Math.max(from, Math.min(range.to, doc.content.size));
48
+ const seen = /* @__PURE__ */ new Set();
49
+ const updates = [];
50
+ doc.nodesBetween(from, to, (node, pos) => {
51
+ if (node.type.name === "paragraph" && !seen.has(pos)) {
52
+ seen.add(pos);
53
+ const update = evaluateParagraph(node, pos);
54
+ if (update) updates.push(update);
55
+ }
56
+ });
57
+ return updates;
58
+ };
59
+ const applyBidiUpdates = (state, updates) => {
60
+ const tr = state.tr;
61
+ for (const update of updates) tr.setNodeMarkup(update.pos, void 0, update.attrs);
62
+ ignoreTrackedChanges(tr);
63
+ tr.setMeta(autoBidiDetectionKey, "applied");
64
+ tr.setMeta("addToHistory", false);
65
+ return tr;
66
+ };
67
+ /**
68
+ * Imperatively apply auto-bidi detection to a freshly built state (initial
69
+ * load: Markdown import, DOCX import, template). `appendTransaction` does not
70
+ * fire for the initial document, so seeded content needs this pass.
71
+ *
72
+ * Like the paraId allocator this is `ignoreTrackedChanges`, so a normalized
73
+ * paragraph the user never edits is not in `changedParaIds`. Full save (the
74
+ * default; and the only path for Markdown/template/new docs, which have no
75
+ * original buffer) serializes the whole PM doc, so the flag is written. The
76
+ * selective-save path (dark `selectiveSave` flag) intentionally preserves
77
+ * untouched original paragraphs byte-for-byte, so an imported DOCX whose Arabic
78
+ * arrived without `w:bidi` and is saved without any edit keeps the original
79
+ * bytes; editing the paragraph tracks it and the patch then includes `w:bidi`.
80
+ */
81
+ const ensureBaseDirectionInState = (state) => {
82
+ if (!autoBidiDetectionKey.get(state)) return state;
83
+ const updates = collectBidiUpdates(state.doc);
84
+ if (updates.length === 0) return state;
85
+ return state.apply(applyBidiUpdates(state, updates));
86
+ };
87
+ const createAutoBidiDetectionPlugin = () => new Plugin({
88
+ key: autoBidiDetectionKey,
89
+ appendTransaction(transactions, _oldState, newState) {
90
+ if (!transactions.some((t) => t.docChanged)) return null;
91
+ const [first, ...rest] = transactions;
92
+ const range = first && rest.length === 0 ? getTransactionDirtyRange(first) : null;
93
+ const updates = range ? collectBidiUpdatesInRange(newState.doc, range) : collectBidiUpdates(newState.doc);
94
+ if (updates.length === 0) return null;
95
+ return applyBidiUpdates(newState, updates);
96
+ }
97
+ });
98
+ const AutoBidiDetectionExtension = createExtension({
99
+ name: "autoBidiDetection",
100
+ defaultOptions: {},
101
+ onSchemaReady() {
102
+ return { plugins: [createAutoBidiDetectionPlugin()] };
103
+ }
104
+ });
105
+ //#endregion
106
+ export { AutoBidiDetectionExtension, autoBidiDetectionKey, ensureBaseDirectionInState };
@@ -0,0 +1,8 @@
1
+ import { Extension } from "../types.js";
2
+ import { Command } from "prosemirror-state";
3
+
4
+ //#region src/prosemirror/extensions/features/BaseKeymapExtension.d.ts
5
+ declare const splitBlockClearBorders: Command;
6
+ declare const BaseKeymapExtension: (options?: Partial<Record<string, unknown>> | undefined) => Extension;
7
+ //#endregion
8
+ export { BaseKeymapExtension, splitBlockClearBorders };
@@ -0,0 +1,172 @@
1
+ import { mergeFontFamily } from "../../../utils/fontFamilyMerge.js";
2
+ import { Priority } from "../types.js";
3
+ import { createExtension } from "../create.js";
4
+ import { paragraphAttrsFromResolvedStyle } from "../../styles/resolvedStyleAttrs.js";
5
+ import { getDocumentStyleResolver } from "../../plugins/documentStyles.js";
6
+ import { textFormattingToMarks } from "../marks/markUtils.js";
7
+ import { baseKeymap, deleteSelection, joinBackward, joinForward, selectAll, selectParentNode, splitBlock } from "prosemirror-commands";
8
+ //#region src/prosemirror/extensions/features/BaseKeymapExtension.ts
9
+ /**
10
+ * Base Keymap Extension — wraps prosemirror-commands baseKeymap
11
+ *
12
+ * Priority: Low (150) — must be the last keymap so other extensions can override keys
13
+ */
14
+ function chainCommands(...commands) {
15
+ return (state, dispatch, view) => {
16
+ for (const cmd of commands) if (cmd(state, dispatch, view)) return true;
17
+ return false;
18
+ };
19
+ }
20
+ /**
21
+ * Backspace at the start of a paragraph clears first-line indent / hanging indent
22
+ * before joining with the previous paragraph (matches Word behavior).
23
+ */
24
+ const clearIndentOnBackspace = (state, dispatch) => {
25
+ const { $cursor } = state.selection;
26
+ if (!$cursor) return false;
27
+ if ($cursor.parentOffset !== 0) return false;
28
+ if ($cursor.parent.type.name !== "paragraph") return false;
29
+ const attrs = $cursor.parent.attrs;
30
+ const hasFirstLine = attrs["indentFirstLine"] !== null && attrs["indentFirstLine"] > 0;
31
+ const hasHanging = !!attrs["hangingIndent"];
32
+ const hasIndentLeft = attrs["indentLeft"] !== null && attrs["indentLeft"] > 0;
33
+ if (!hasFirstLine && !hasHanging && !hasIndentLeft) return false;
34
+ if (dispatch) {
35
+ const pos = $cursor.before();
36
+ dispatch(state.tr.setNodeMarkup(pos, void 0, {
37
+ ...attrs,
38
+ indentFirstLine: null,
39
+ hangingIndent: null,
40
+ indentLeft: null
41
+ }).scrollIntoView());
42
+ }
43
+ return true;
44
+ };
45
+ /**
46
+ * Custom Enter handler: splits the block, inherits style-related attrs,
47
+ * clears paragraph borders, and preserves font marks on the new paragraph.
48
+ *
49
+ * splitBlock creates a new paragraph with default attrs (all null),
50
+ * so we must manually copy style-related attrs from the source paragraph.
51
+ * Word does NOT propagate paragraph borders (w:pBdr) on Enter.
52
+ */
53
+ const INHERITED_PARA_ATTRS = [
54
+ "defaultTextFormatting",
55
+ "styleId",
56
+ "lineSpacing",
57
+ "lineSpacingRule",
58
+ "spaceAfter",
59
+ "spaceBefore",
60
+ "contextualSpacing"
61
+ ];
62
+ /** Mark types that represent style-inherited formatting (font, size, color). */
63
+ const STYLE_MARK_NAMES = /* @__PURE__ */ new Set([
64
+ "fontFamily",
65
+ "fontSize",
66
+ "textColor"
67
+ ]);
68
+ /**
69
+ * If `sourcePara`'s style defines a `w:next`, replace the empty `newPara`
70
+ * with that style's resolved attrs and seed stored marks from its run
71
+ * formatting. Returns true when a switch happened (caller should dispatch
72
+ * the transaction as-is), false when the source style has no `w:next` and
73
+ * the caller should fall back to the regular inheritance path.
74
+ */
75
+ function applyNextParagraphStyle(tr, sourcePara, newPara, resolver) {
76
+ const nextStyleId = resolver.getNextStyleId(sourcePara.attrs["styleId"]);
77
+ if (!nextStyleId) return false;
78
+ const resolved = resolver.resolveParagraphStyle(nextStyleId);
79
+ const { $from } = tr.selection;
80
+ tr.setNodeMarkup($from.before(), void 0, {
81
+ ...newPara.attrs,
82
+ styleId: nextStyleId,
83
+ ...paragraphAttrsFromResolvedStyle(resolved)
84
+ });
85
+ tr.setStoredMarks(resolved.runFormatting ? textFormattingToMarks(resolved.runFormatting, tr.doc.type.schema) : []);
86
+ return true;
87
+ }
88
+ const splitBlockClearBorders = (state, dispatch, view) => {
89
+ const { $from: preSplitFrom } = state.selection;
90
+ const sourcePara = preSplitFrom.parent.type.name === "paragraph" ? preSplitFrom.parent : null;
91
+ const styleMarks = (state.storedMarks || preSplitFrom.marks()).filter((m) => STYLE_MARK_NAMES.has(m.type.name));
92
+ const splitResult = { tr: null };
93
+ if (!splitBlock(state, dispatch ? (tr) => {
94
+ splitResult.tr = tr;
95
+ } : void 0, view)) return false;
96
+ if (dispatch && splitResult.tr !== null) {
97
+ const tr = splitResult.tr;
98
+ const { $from } = tr.selection;
99
+ const newPara = $from.parent;
100
+ if (newPara.type.name === "paragraph") {
101
+ const resolver = getDocumentStyleResolver(state);
102
+ if (resolver !== null && sourcePara !== null && newPara.content.size === 0 && applyNextParagraphStyle(tr, sourcePara, newPara, resolver)) {
103
+ dispatch(tr.scrollIntoView());
104
+ return true;
105
+ }
106
+ const newAttrs = { ...newPara.attrs };
107
+ let attrsChanged = false;
108
+ if (sourcePara) for (const key of INHERITED_PARA_ATTRS) {
109
+ const srcVal = sourcePara.attrs[key];
110
+ if (srcVal !== null && newAttrs[key] === null) {
111
+ newAttrs[key] = srcVal;
112
+ attrsChanged = true;
113
+ }
114
+ }
115
+ if (newAttrs["borders"]) {
116
+ newAttrs["borders"] = null;
117
+ attrsChanged = true;
118
+ }
119
+ if (attrsChanged) tr.setNodeMarkup($from.before(), void 0, newAttrs);
120
+ if (newPara.textContent.length === 0) {
121
+ let effectiveMarks = styleMarks;
122
+ if (effectiveMarks.length === 0 && sourcePara) {
123
+ const dtf = sourcePara.attrs["defaultTextFormatting"];
124
+ if (dtf) effectiveMarks = textFormattingToMarks(dtf, state.schema).filter((m) => STYLE_MARK_NAMES.has(m.type.name));
125
+ }
126
+ if (effectiveMarks.length > 0) {
127
+ const dtf = { ...newAttrs["defaultTextFormatting"] };
128
+ let dtfChanged = false;
129
+ for (const m of effectiveMarks) {
130
+ if (m.type.name === "fontSize" && m.attrs["size"] !== dtf.fontSize) {
131
+ dtf.fontSize = m.attrs["size"];
132
+ dtfChanged = true;
133
+ }
134
+ if (m.type.name === "fontFamily") {
135
+ const ascii = m.attrs["ascii"];
136
+ if (ascii && (!dtf.fontFamily || dtf.fontFamily.ascii !== ascii)) {
137
+ const nextFontFamily = { ascii };
138
+ const hAnsi = m.attrs["hAnsi"];
139
+ if (hAnsi !== void 0) nextFontFamily.hAnsi = hAnsi;
140
+ dtf.fontFamily = mergeFontFamily(dtf.fontFamily, nextFontFamily);
141
+ dtfChanged = true;
142
+ }
143
+ }
144
+ }
145
+ if (dtfChanged) tr.setNodeMarkup($from.before(), void 0, {
146
+ ...newAttrs,
147
+ defaultTextFormatting: dtf
148
+ });
149
+ tr.setStoredMarks(effectiveMarks);
150
+ }
151
+ }
152
+ }
153
+ dispatch(tr.scrollIntoView());
154
+ }
155
+ return true;
156
+ };
157
+ const BaseKeymapExtension = createExtension({
158
+ name: "baseKeymap",
159
+ priority: Priority.Low,
160
+ onSchemaReady(_ctx) {
161
+ return { keyboardShortcuts: {
162
+ ...baseKeymap,
163
+ Enter: splitBlockClearBorders,
164
+ Backspace: chainCommands(deleteSelection, clearIndentOnBackspace, joinBackward),
165
+ Delete: chainCommands(deleteSelection, joinForward),
166
+ "Mod-a": selectAll,
167
+ Escape: selectParentNode
168
+ } };
169
+ }
170
+ });
171
+ //#endregion
172
+ export { BaseKeymapExtension, splitBlockClearBorders };
@@ -0,0 +1,16 @@
1
+ import { Extension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/features/BidiShortcutExtension.d.ts
4
+ /**
5
+ * Bidi Shortcut Extension — Ctrl/Cmd+Left Shift → LTR, Ctrl/Cmd+Right Shift → RTL
6
+ *
7
+ * Uses KeyboardEvent.code to distinguish ShiftLeft vs ShiftRight, matching the
8
+ * standard Google Docs shortcut behavior. The keydown/keyup state machine lives
9
+ * in {@link createBidiShortcutController}; this module only wires it to the
10
+ * editor view and dispatches the schema command on keyup.
11
+ *
12
+ * Priority: High (50) — should intercept before other keymaps
13
+ */
14
+ declare const BidiShortcutExtension: (options?: Partial<Record<string, unknown>> | undefined) => Extension;
15
+ //#endregion
16
+ export { BidiShortcutExtension };
@@ -0,0 +1,38 @@
1
+ import { Priority } from "../types.js";
2
+ import { createExtension } from "../create.js";
3
+ import { createBidiShortcutController } from "./bidiShortcutController.js";
4
+ import { singletonManager } from "../../schema/index.js";
5
+ import { Plugin } from "prosemirror-state";
6
+ //#region src/prosemirror/extensions/features/BidiShortcutExtension.ts
7
+ /**
8
+ * Bidi Shortcut Extension — Ctrl/Cmd+Left Shift → LTR, Ctrl/Cmd+Right Shift → RTL
9
+ *
10
+ * Uses KeyboardEvent.code to distinguish ShiftLeft vs ShiftRight, matching the
11
+ * standard Google Docs shortcut behavior. The keydown/keyup state machine lives
12
+ * in {@link createBidiShortcutController}; this module only wires it to the
13
+ * editor view and dispatches the schema command on keyup.
14
+ *
15
+ * Priority: High (50) — should intercept before other keymaps
16
+ */
17
+ const BidiShortcutExtension = createExtension({
18
+ name: "bidiShortcut",
19
+ priority: Priority.High,
20
+ onSchemaReady(_ctx) {
21
+ const controller = createBidiShortcutController();
22
+ return { plugins: [new Plugin({ props: {
23
+ handleKeyDown(_view, event) {
24
+ controller.handleKeyDown(event);
25
+ return false;
26
+ },
27
+ handleDOMEvents: { keyup(view, event) {
28
+ const direction = controller.handleKeyUp(event);
29
+ if (!direction) return false;
30
+ const cmds = singletonManager.getCommands();
31
+ (direction === "ltr" ? cmds["setLtr"] : cmds["setRtl"])?.()(view.state, view.dispatch);
32
+ return false;
33
+ } }
34
+ } })] };
35
+ }
36
+ });
37
+ //#endregion
38
+ export { BidiShortcutExtension };
@@ -0,0 +1,16 @@
1
+ import { Extension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts
4
+ /**
5
+ * Content-Control Widgets Extension — wires the interactive widget plugin
6
+ * into the editor so clicking inside a typed content control invokes the
7
+ * appropriate transaction.
8
+ *
9
+ * The plugin owns checkbox toggling outright; dropdown / date picker chrome
10
+ * is delegated to the editor shell via the `onWidgetEvent` callback (the
11
+ * shell renders the menu / picker and dispatches via `dispatchDropdownPick`
12
+ * / `dispatchDatePick`).
13
+ */
14
+ declare const ContentControlWidgetsExtension: (options?: Partial<Record<string, unknown>> | undefined) => Extension;
15
+ //#endregion
16
+ export { ContentControlWidgetsExtension };
@@ -0,0 +1,21 @@
1
+ import { createExtension } from "../create.js";
2
+ import { createContentControlWidgetsPlugin } from "../../plugins/contentControlWidgets.js";
3
+ //#region src/prosemirror/extensions/features/ContentControlWidgetsExtension.ts
4
+ /**
5
+ * Content-Control Widgets Extension — wires the interactive widget plugin
6
+ * into the editor so clicking inside a typed content control invokes the
7
+ * appropriate transaction.
8
+ *
9
+ * The plugin owns checkbox toggling outright; dropdown / date picker chrome
10
+ * is delegated to the editor shell via the `onWidgetEvent` callback (the
11
+ * shell renders the menu / picker and dispatches via `dispatchDropdownPick`
12
+ * / `dispatchDatePick`).
13
+ */
14
+ const ContentControlWidgetsExtension = createExtension({
15
+ name: "contentControlWidgets",
16
+ onSchemaReady(_ctx) {
17
+ return { plugins: [createContentControlWidgetsPlugin()] };
18
+ }
19
+ });
20
+ //#endregion
21
+ export { ContentControlWidgetsExtension };
@@ -0,0 +1,12 @@
1
+ import { Extension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/features/DropCursorExtension.d.ts
4
+ /**
5
+ * Drop Cursor Extension — shows a visual indicator when dragging content
6
+ *
7
+ * Uses prosemirror-dropcursor to display a cursor line at the drop position
8
+ * when dragging images or other content within the editor.
9
+ */
10
+ declare const DropCursorExtension: (options?: Partial<Record<string, unknown>> | undefined) => Extension;
11
+ //#endregion
12
+ export { DropCursorExtension };
@@ -0,0 +1,20 @@
1
+ import { createExtension } from "../create.js";
2
+ import { dropCursor } from "prosemirror-dropcursor";
3
+ //#region src/prosemirror/extensions/features/DropCursorExtension.ts
4
+ /**
5
+ * Drop Cursor Extension — shows a visual indicator when dragging content
6
+ *
7
+ * Uses prosemirror-dropcursor to display a cursor line at the drop position
8
+ * when dragging images or other content within the editor.
9
+ */
10
+ const DropCursorExtension = createExtension({
11
+ name: "dropCursor",
12
+ onSchemaReady() {
13
+ return { plugins: [dropCursor({
14
+ color: "var(--doc-primary, #4285f4)",
15
+ width: 2
16
+ })] };
17
+ }
18
+ });
19
+ //#endregion
20
+ export { DropCursorExtension };
@@ -0,0 +1,8 @@
1
+ import { Extension } from "../types.js";
2
+ import { PluginKey } from "prosemirror-state";
3
+
4
+ //#region src/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts
5
+ declare const emptyParagraphFormatKey: PluginKey<any>;
6
+ declare const EmptyParagraphFormatExtension: (options?: Partial<Record<string, unknown>> | undefined) => Extension;
7
+ //#endregion
8
+ export { EmptyParagraphFormatExtension, emptyParagraphFormatKey };
@@ -0,0 +1,44 @@
1
+ import { createExtension } from "../create.js";
2
+ import { textFormattingToMarks } from "../marks/markUtils.js";
3
+ import { Plugin, PluginKey } from "prosemirror-state";
4
+ //#region src/prosemirror/extensions/features/EmptyParagraphFormatExtension.ts
5
+ const emptyParagraphFormatKey = new PluginKey("emptyParagraphFormat");
6
+ /**
7
+ * Run-formatting properties the painter does NOT reproduce from
8
+ * `defaultTextFormatting` on its own (it forwards only font family + size).
9
+ * When an empty paragraph's defaults carry any of these, typed text must
10
+ * acquire real marks or it would render unstyled. Kept in sync with the
11
+ * properties `textFormattingToMarks` can turn into marks — listing one it
12
+ * can't (e.g. allCaps) would gate work that produces nothing.
13
+ */
14
+ function hasNonFontDefaults(dtf) {
15
+ return !!(dtf.bold || dtf.italic || dtf.underline || dtf.strike || dtf.doubleStrike || dtf.color || dtf.highlight || dtf.vertAlign || dtf.rtl);
16
+ }
17
+ function createEmptyParagraphFormatPlugin(schema) {
18
+ return new Plugin({
19
+ key: emptyParagraphFormatKey,
20
+ appendTransaction(transactions, _oldState, newState) {
21
+ if (!transactions.some((t) => t.selectionSet || t.docChanged)) return null;
22
+ const { selection } = newState;
23
+ if (!selection.empty) return null;
24
+ if (newState.storedMarks !== null) return null;
25
+ const para = selection.$from.parent;
26
+ if (para.type.name !== "paragraph" || para.content.size !== 0) return null;
27
+ const dtf = para.attrs["defaultTextFormatting"];
28
+ if (!dtf || !hasNonFontDefaults(dtf)) return null;
29
+ const marks = textFormattingToMarks(dtf, schema);
30
+ if (marks.length === 0) return null;
31
+ const tr = newState.tr.setStoredMarks(marks);
32
+ tr.setMeta("addToHistory", false);
33
+ return tr;
34
+ }
35
+ });
36
+ }
37
+ const EmptyParagraphFormatExtension = createExtension({
38
+ name: "emptyParagraphFormat",
39
+ onSchemaReady(ctx) {
40
+ return { plugins: [createEmptyParagraphFormatPlugin(ctx.schema)] };
41
+ }
42
+ });
43
+ //#endregion
44
+ export { EmptyParagraphFormatExtension, emptyParagraphFormatKey };
@@ -0,0 +1,19 @@
1
+ import { Extension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/features/GapCursorExtension.d.ts
4
+ /**
5
+ * GapCursor Extension — provides a caret slot before / between / after
6
+ * isolating block nodes (notably `blockSdt`).
7
+ *
8
+ * Without gapcursor, a user cannot place the caret before a doc-starting
9
+ * SDT, between two adjacent SDTs, or after a doc-final SDT — the
10
+ * `isolating` boundary makes regular text selections refuse those
11
+ * positions. The prosemirror-gapcursor plugin paints a thin "gap" caret
12
+ * at those slots so the document stays fully navigable.
13
+ *
14
+ * The plugin also exposes `Backspace` / `Delete` handlers that join the
15
+ * gap into the neighbour when sensible.
16
+ */
17
+ declare const GapCursorExtension: (options?: Partial<Record<string, unknown>> | undefined) => Extension;
18
+ //#endregion
19
+ export { GapCursorExtension };
@@ -0,0 +1,24 @@
1
+ import { createExtension } from "../create.js";
2
+ import { gapCursor } from "prosemirror-gapcursor";
3
+ //#region src/prosemirror/extensions/features/GapCursorExtension.ts
4
+ /**
5
+ * GapCursor Extension — provides a caret slot before / between / after
6
+ * isolating block nodes (notably `blockSdt`).
7
+ *
8
+ * Without gapcursor, a user cannot place the caret before a doc-starting
9
+ * SDT, between two adjacent SDTs, or after a doc-final SDT — the
10
+ * `isolating` boundary makes regular text selections refuse those
11
+ * positions. The prosemirror-gapcursor plugin paints a thin "gap" caret
12
+ * at those slots so the document stays fully navigable.
13
+ *
14
+ * The plugin also exposes `Backspace` / `Delete` handlers that join the
15
+ * gap into the neighbour when sensible.
16
+ */
17
+ const GapCursorExtension = createExtension({
18
+ name: "gapCursor",
19
+ onSchemaReady(_ctx) {
20
+ return { plugins: [gapCursor()] };
21
+ }
22
+ });
23
+ //#endregion
24
+ export { GapCursorExtension };