@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,159 @@
1
+ //#region src/prosemirror/extensions/features/pasteCleanup.ts
2
+ /**
3
+ * Office / web paste cleanup
4
+ *
5
+ * Content pasted from word processors and web pages arrives wrapped in a large
6
+ * amount of producer-specific cruft: conditional comments, XML processing
7
+ * instructions, namespaced markup (`<o:p>`, `<w:sdt>`, smart tags), `mso-*`
8
+ * style declarations, and empty spans. None of it maps to the editor schema,
9
+ * and some of it confuses the browser HTML parser that ProseMirror's clipboard
10
+ * pipeline relies on. Producer class names (`MsoNormal`, ...) are deliberately
11
+ * kept so the downstream style inliner can match `<style>` rules against them.
12
+ *
13
+ * `cleanPastedHtml` normalizes the raw clipboard HTML string into something the
14
+ * schema's `parseDOM` rules can read cleanly. It is a pure string transform so
15
+ * it runs in the editor and in tests without a DOM, and it is deliberately
16
+ * conservative: it strips producer metadata but never rewrites visible text
17
+ * (curly quotes, non-Latin scripts, and whitespace between words are left
18
+ * untouched, since this editor targets an international, typography-sensitive
19
+ * audience).
20
+ */
21
+ /**
22
+ * Remove every HTML comment, including downlevel conditional comments
23
+ * (`<!--[if gte mso 9]> ... <![endif]-->`) that carry the Office `<xml>` island,
24
+ * while leaving the contents of `<style>` elements untouched.
25
+ *
26
+ * The `<style>` carve-out matters because legacy pasted HTML hides stylesheet
27
+ * CSS inside comment delimiters (`<style><!-- .c { ... } --></style>`, the old
28
+ * CDATA-hiding trick). This cleanup runs before the style inliner and must hand
29
+ * it an intact stylesheet, so a blanket comment strip would drop class rules
30
+ * that used to be inlined. Style blocks are copied through verbatim.
31
+ *
32
+ * A single linear scan rather than a regex: clipboard HTML is untrusted, and a
33
+ * lazy `<!--[\s\S]*?-->` against the multi-character `-->` terminator backtracks
34
+ * polynomially on hostile input. The scan also drops an unterminated comment
35
+ * through end-of-string so no stray `<!--` can survive.
36
+ */
37
+ function stripHtmlComments(html) {
38
+ const lower = html.toLowerCase();
39
+ let result = "";
40
+ let cursor = 0;
41
+ while (cursor < html.length) {
42
+ const commentStart = html.indexOf("<!--", cursor);
43
+ if (commentStart === -1) {
44
+ result += html.slice(cursor);
45
+ break;
46
+ }
47
+ const styleStart = lower.indexOf("<style", cursor);
48
+ if (styleStart !== -1 && styleStart < commentStart) {
49
+ const openTagEnd = html.indexOf(">", styleStart);
50
+ const closeStart = openTagEnd === -1 ? -1 : lower.indexOf("</style", openTagEnd + 1);
51
+ const closeTagEnd = closeStart === -1 ? -1 : html.indexOf(">", closeStart);
52
+ if (closeTagEnd === -1) {
53
+ result += html.slice(cursor);
54
+ break;
55
+ }
56
+ result += html.slice(cursor, closeTagEnd + 1);
57
+ cursor = closeTagEnd + 1;
58
+ continue;
59
+ }
60
+ result += html.slice(cursor, commentStart);
61
+ const commentEnd = html.indexOf("-->", commentStart + 4);
62
+ if (commentEnd === -1) break;
63
+ cursor = commentEnd + 3;
64
+ }
65
+ return result;
66
+ }
67
+ /**
68
+ * Drop `mso-*` declarations from every inline `style` attribute while keeping
69
+ * legitimate CSS. Operates per attribute (bounded `[^"]*` / `[^']*` inside the
70
+ * quotes) so it can never run past the attribute into unrelated markup. An
71
+ * attribute left with no non-`mso-*` declarations is removed entirely.
72
+ */
73
+ function stripMsoStyles(html) {
74
+ return html.replace(/(\s+)style=(?:"([^"]*)"|'([^']*)')/gi, (_match, ws, dq, sq) => {
75
+ const raw = dq ?? sq ?? "";
76
+ const quote = dq === void 0 ? "'" : "\"";
77
+ const kept = splitStyleDeclarations(raw).map((declaration) => declaration.trim()).filter((declaration) => declaration.length > 0 && !/^mso-/i.test(declaration)).join("; ");
78
+ return kept ? `${ws}style=${quote}${kept}${quote}` : "";
79
+ });
80
+ }
81
+ /**
82
+ * Split a CSS `style` value into declarations on top-level `;` only.
83
+ *
84
+ * A naive `split(";")` corrupts values that legitimately contain a semicolon
85
+ * inside a function or a quoted string (e.g. `background:url("data:...;base64,...")`).
86
+ * This scan ignores `;` while inside parentheses or a quoted string, so such
87
+ * declarations stay intact.
88
+ */
89
+ function splitStyleDeclarations(value) {
90
+ const declarations = [];
91
+ let current = "";
92
+ let parenDepth = 0;
93
+ let quote = null;
94
+ for (const char of value) {
95
+ if (quote !== null) {
96
+ current += char;
97
+ if (char === quote) quote = null;
98
+ continue;
99
+ }
100
+ if (char === "\"" || char === "'") quote = char;
101
+ else if (char === "(") parenDepth++;
102
+ else if (char === ")") parenDepth = Math.max(0, parenDepth - 1);
103
+ else if (char === ";" && parenDepth === 0) {
104
+ declarations.push(current);
105
+ current = "";
106
+ continue;
107
+ }
108
+ current += char;
109
+ }
110
+ if (current) declarations.push(current);
111
+ return declarations;
112
+ }
113
+ const TAG_TAIL = `(?:"[^"]*"|'[^']*'|[^>"'])*`;
114
+ const NAMESPACED_TAG = new RegExp(`<\\/?(?:[owvm]|st\\d+):${TAG_TAIL}>`, "gi");
115
+ const XML_PROCESSING_INSTRUCTION = new RegExp(`<\\?xml${TAG_TAIL}>`, "gi");
116
+ const STRAY_XML_TAG = new RegExp(`<\\/?xml${TAG_TAIL}>`, "gi");
117
+ const NOISE_TAG = new RegExp(`<\\/?(?:font|meta|link)${TAG_TAIL}>`, "gi");
118
+ const EMPTY_SPAN = new RegExp(`<span(?:\\s${TAG_TAIL})?><\\/span>`, "gi");
119
+ const MAX_EMPTY_SPAN_PASSES = 5;
120
+ /**
121
+ * Remove empty spans left behind after stripping `mso-*` styles. Only truly
122
+ * empty spans are removed (whitespace-only spans are kept so word-separating
123
+ * spacer runs never collapse two words together). Repeated a bounded number of
124
+ * times to unwrap nested empties (`<span><span></span></span>`).
125
+ */
126
+ function stripEmptySpans(html) {
127
+ let current = html;
128
+ for (let pass = 0; pass < MAX_EMPTY_SPAN_PASSES; pass++) {
129
+ const next = current.replace(EMPTY_SPAN, "");
130
+ if (next === current) break;
131
+ current = next;
132
+ }
133
+ return current;
134
+ }
135
+ /**
136
+ * Strip Office/web producer cruft from a raw clipboard HTML string.
137
+ *
138
+ * Best-effort and non-throwing: any unexpected failure returns the original
139
+ * markup so a paste degrades to the browser default rather than losing content.
140
+ * `<style>` blocks are intentionally left in place for the downstream style
141
+ * inliner, which resolves class-based CSS before the schema parser runs.
142
+ */
143
+ function cleanPastedHtml(html) {
144
+ if (!html) return html;
145
+ try {
146
+ let cleaned = stripHtmlComments(html);
147
+ cleaned = cleaned.replace(XML_PROCESSING_INSTRUCTION, "");
148
+ cleaned = cleaned.replace(NAMESPACED_TAG, "");
149
+ cleaned = cleaned.replace(STRAY_XML_TAG, "");
150
+ cleaned = cleaned.replace(NOISE_TAG, "");
151
+ cleaned = stripMsoStyles(cleaned);
152
+ cleaned = stripEmptySpans(cleaned);
153
+ return cleaned.trim();
154
+ } catch {
155
+ return html;
156
+ }
157
+ }
158
+ //#endregion
159
+ export { cleanPastedHtml };
@@ -0,0 +1,9 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/AllCapsExtension.d.ts
4
+ /**
5
+ * All Caps Mark Extension (w:caps)
6
+ */
7
+ declare const AllCapsExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
8
+ //#endregion
9
+ export { AllCapsExtension };
@@ -0,0 +1,24 @@
1
+ import { createMarkExtension } from "../create.js";
2
+ //#region src/prosemirror/extensions/marks/AllCapsExtension.ts
3
+ /**
4
+ * All Caps Mark Extension (w:caps)
5
+ */
6
+ const AllCapsExtension = createMarkExtension({
7
+ name: "allCaps",
8
+ schemaMarkName: "allCaps",
9
+ markSpec: {
10
+ parseDOM: [{
11
+ style: "text-transform",
12
+ getAttrs: (value) => value === "uppercase" ? {} : false
13
+ }],
14
+ toDOM() {
15
+ return [
16
+ "span",
17
+ { style: "text-transform: uppercase" },
18
+ 0
19
+ ];
20
+ }
21
+ }
22
+ });
23
+ //#endregion
24
+ export { AllCapsExtension };
@@ -0,0 +1,9 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/BoldExtension.d.ts
4
+ /**
5
+ * Bold Mark Extension
6
+ */
7
+ declare const BoldExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
8
+ //#endregion
9
+ export { BoldExtension };
@@ -0,0 +1,41 @@
1
+ import { createMarkExtension } from "../create.js";
2
+ import { panic } from "better-result";
3
+ import { toggleMark } from "prosemirror-commands";
4
+ //#region src/prosemirror/extensions/marks/BoldExtension.ts
5
+ /**
6
+ * Bold Mark Extension
7
+ */
8
+ const BoldExtension = createMarkExtension({
9
+ name: "bold",
10
+ schemaMarkName: "bold",
11
+ markSpec: {
12
+ parseDOM: [
13
+ { tag: "strong" },
14
+ {
15
+ tag: "b",
16
+ getAttrs(dom) {
17
+ const fw = dom.style.fontWeight;
18
+ if (fw === "normal" || fw === "400") return false;
19
+ return null;
20
+ }
21
+ },
22
+ {
23
+ style: "font-weight",
24
+ getAttrs: (value) => /^(?:bold(?:er)?|[5-9]\d{2})$/u.test(value) ? null : false
25
+ }
26
+ ],
27
+ toDOM() {
28
+ return ["strong", 0];
29
+ }
30
+ },
31
+ onSchemaReady(ctx) {
32
+ const boldType = ctx.schema.marks["bold"];
33
+ if (!boldType) panic("Missing mark type: bold");
34
+ return {
35
+ commands: { toggleBold: () => toggleMark(boldType) },
36
+ keyboardShortcuts: { "Mod-b": toggleMark(boldType) }
37
+ };
38
+ }
39
+ });
40
+ //#endregion
41
+ export { BoldExtension };
@@ -0,0 +1,14 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts
4
+ /**
5
+ * Character Spacing Mark Extension
6
+ *
7
+ * Handles: character spacing (w:spacing), position/raise-lower (w:position),
8
+ * horizontal scale (w:w), and kerning (w:kern).
9
+ *
10
+ * Single mark with multiple attributes to avoid mark explosion.
11
+ */
12
+ declare const CharacterSpacingExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
13
+ //#endregion
14
+ export { CharacterSpacingExtension };
@@ -0,0 +1,64 @@
1
+ import { formatPx, twipsToPixels } from "../../../utils/units.js";
2
+ import { expectCharacterSpacingMarkAttrs } from "../../attrs/index.js";
3
+ import { createMarkExtension } from "../create.js";
4
+ //#region src/prosemirror/extensions/marks/CharacterSpacingExtension.ts
5
+ /**
6
+ * Character Spacing Mark Extension
7
+ *
8
+ * Handles: character spacing (w:spacing), position/raise-lower (w:position),
9
+ * horizontal scale (w:w), and kerning (w:kern).
10
+ *
11
+ * Single mark with multiple attributes to avoid mark explosion.
12
+ */
13
+ function halfPointsToPixels(halfPoints) {
14
+ return halfPoints / 2 * (96 / 72);
15
+ }
16
+ const CharacterSpacingExtension = createMarkExtension({
17
+ name: "characterSpacing",
18
+ schemaMarkName: "characterSpacing",
19
+ markSpec: {
20
+ attrs: {
21
+ spacing: { default: null },
22
+ position: { default: null },
23
+ scale: { default: null },
24
+ kerning: { default: null }
25
+ },
26
+ parseDOM: [{
27
+ tag: "span.docx-char-spacing",
28
+ getAttrs: (dom) => ({
29
+ spacing: dom.dataset["spacing"] ? Number(dom.dataset["spacing"]) : null,
30
+ position: dom.dataset["position"] ? Number(dom.dataset["position"]) : null,
31
+ scale: dom.dataset["scale"] ? Number(dom.dataset["scale"]) : null,
32
+ kerning: dom.dataset["kerning"] ? Number(dom.dataset["kerning"]) : null
33
+ })
34
+ }],
35
+ toDOM(mark) {
36
+ const { spacing, position, scale, kerning } = expectCharacterSpacingMarkAttrs(mark);
37
+ const styles = [];
38
+ const dataAttrs = { class: "docx-char-spacing" };
39
+ if (spacing !== void 0 && spacing !== 0) {
40
+ styles.push(`letter-spacing: ${formatPx(twipsToPixels(spacing))}`);
41
+ dataAttrs["data-spacing"] = String(spacing);
42
+ }
43
+ if (position !== void 0 && position !== 0) {
44
+ const px = halfPointsToPixels(position);
45
+ styles.push(`vertical-align: ${formatPx(px)}`);
46
+ dataAttrs["data-position"] = String(position);
47
+ }
48
+ if (scale !== void 0 && scale !== 100) {
49
+ styles.push(`transform: scaleX(${scale / 100})`);
50
+ styles.push("display: inline-block");
51
+ dataAttrs["data-scale"] = String(scale);
52
+ }
53
+ if (kerning !== void 0) dataAttrs["data-kerning"] = String(kerning);
54
+ if (styles.length > 0) dataAttrs["style"] = styles.join("; ");
55
+ return [
56
+ "span",
57
+ dataAttrs,
58
+ 0
59
+ ];
60
+ }
61
+ }
62
+ });
63
+ //#endregion
64
+ export { CharacterSpacingExtension };
@@ -0,0 +1,23 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/CharacterStyleExtension.d.ts
4
+ /**
5
+ * Character Style Mark Extension (w:rStyle)
6
+ *
7
+ * Carries a run's character style reference through ProseMirror so semantic
8
+ * styles (e.g. a house "DefinedTerm" style) survive the load → edit → save
9
+ * round-trip. The style's resolved formatting is flattened into the regular
10
+ * marks at load for rendering; this mark only preserves the reference plus a
11
+ * private snapshot of the style's own run properties (`_styleRPr`) that the
12
+ * serializer uses to avoid re-emitting style-provided values as direct
13
+ * formatting.
14
+ *
15
+ * The mark renders as an unstyled span with a `data-character-style`
16
+ * attribute. parseDOM restores the styleId (so copy/paste inside the editor
17
+ * keeps the reference) but not the snapshot — pasted content then serializes
18
+ * with the reference plus explicit formatting, which renders identically and
19
+ * degrades gracefully.
20
+ */
21
+ declare const CharacterStyleExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
22
+ //#endregion
23
+ export { CharacterStyleExtension };
@@ -0,0 +1,47 @@
1
+ import { expectCharacterStyleMarkAttrs } from "../../attrs/index.js";
2
+ import { createMarkExtension } from "../create.js";
3
+ //#region src/prosemirror/extensions/marks/CharacterStyleExtension.ts
4
+ /**
5
+ * Character Style Mark Extension (w:rStyle)
6
+ *
7
+ * Carries a run's character style reference through ProseMirror so semantic
8
+ * styles (e.g. a house "DefinedTerm" style) survive the load → edit → save
9
+ * round-trip. The style's resolved formatting is flattened into the regular
10
+ * marks at load for rendering; this mark only preserves the reference plus a
11
+ * private snapshot of the style's own run properties (`_styleRPr`) that the
12
+ * serializer uses to avoid re-emitting style-provided values as direct
13
+ * formatting.
14
+ *
15
+ * The mark renders as an unstyled span with a `data-character-style`
16
+ * attribute. parseDOM restores the styleId (so copy/paste inside the editor
17
+ * keeps the reference) but not the snapshot — pasted content then serializes
18
+ * with the reference plus explicit formatting, which renders identically and
19
+ * degrades gracefully.
20
+ */
21
+ const CharacterStyleExtension = createMarkExtension({
22
+ name: "characterStyle",
23
+ schemaMarkName: "characterStyle",
24
+ markSpec: {
25
+ attrs: {
26
+ styleId: { default: "" },
27
+ _styleRPr: { default: null }
28
+ },
29
+ parseDOM: [{
30
+ tag: "span[data-character-style]",
31
+ getAttrs: (dom) => {
32
+ const styleId = dom.getAttribute("data-character-style");
33
+ return styleId ? { styleId } : false;
34
+ }
35
+ }],
36
+ toDOM(mark) {
37
+ const { styleId } = expectCharacterStyleMarkAttrs(mark);
38
+ return [
39
+ "span",
40
+ { "data-character-style": styleId },
41
+ 0
42
+ ];
43
+ }
44
+ }
45
+ });
46
+ //#endregion
47
+ export { CharacterStyleExtension };
@@ -0,0 +1,12 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/CommentExtension.d.ts
4
+ /**
5
+ * Comment Mark Extension — highlights text that has comments
6
+ *
7
+ * Applied to text ranges between commentRangeStart and commentRangeEnd.
8
+ * The comment ID links to the Comment object in the document model.
9
+ */
10
+ declare const CommentExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
11
+ //#endregion
12
+ export { CommentExtension };
@@ -0,0 +1,38 @@
1
+ import { expectCommentMarkAttrs } from "../../attrs/index.js";
2
+ import { createMarkExtension } from "../create.js";
3
+ //#region src/prosemirror/extensions/marks/CommentExtension.ts
4
+ /**
5
+ * Comment Mark Extension — highlights text that has comments
6
+ *
7
+ * Applied to text ranges between commentRangeStart and commentRangeEnd.
8
+ * The comment ID links to the Comment object in the document model.
9
+ */
10
+ const CommentExtension = createMarkExtension({
11
+ name: "comment",
12
+ schemaMarkName: "comment",
13
+ markSpec: {
14
+ attrs: {
15
+ /** Comment ID (matches Comment.id) */
16
+ commentId: { default: 0 } },
17
+ inclusive: false,
18
+ parseDOM: [{
19
+ tag: "span.docx-comment",
20
+ getAttrs(dom) {
21
+ return { commentId: Number.parseInt(dom.dataset["commentId"] ?? "0", 10) };
22
+ }
23
+ }],
24
+ toDOM(mark) {
25
+ const { commentId } = expectCommentMarkAttrs(mark);
26
+ return [
27
+ "span",
28
+ {
29
+ class: "docx-comment",
30
+ "data-comment-id": String(commentId)
31
+ },
32
+ 0
33
+ ];
34
+ }
35
+ }
36
+ });
37
+ //#endregion
38
+ export { CommentExtension };
@@ -0,0 +1,9 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/FontFamilyExtension.d.ts
4
+ /**
5
+ * Font Family Mark Extension
6
+ */
7
+ declare const FontFamilyExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
8
+ //#endregion
9
+ export { FontFamilyExtension };
@@ -0,0 +1,55 @@
1
+ import { expectFontFamilyMarkAttrs } from "../../attrs/index.js";
2
+ import { createMarkExtension } from "../create.js";
3
+ import { removeMark, setMark } from "./markUtils.js";
4
+ import { panic } from "better-result";
5
+ //#region src/prosemirror/extensions/marks/FontFamilyExtension.ts
6
+ /**
7
+ * Font Family Mark Extension
8
+ */
9
+ const FontFamilyExtension = createMarkExtension({
10
+ name: "fontFamily",
11
+ schemaMarkName: "fontFamily",
12
+ markSpec: {
13
+ attrs: {
14
+ ascii: { default: null },
15
+ hAnsi: { default: null },
16
+ eastAsia: { default: null },
17
+ cs: { default: null },
18
+ asciiTheme: { default: null },
19
+ hAnsiTheme: { default: null },
20
+ eastAsiaTheme: { default: null },
21
+ csTheme: { default: null }
22
+ },
23
+ parseDOM: [{
24
+ style: "font-family",
25
+ getAttrs: (value) => {
26
+ const firstFont = (value.split(",")[0] ?? "").trim().replace(/['"]/gu, "");
27
+ if (firstFont) return { ascii: firstFont };
28
+ return false;
29
+ }
30
+ }],
31
+ toDOM(mark) {
32
+ const { ascii, hAnsi } = expectFontFamilyMarkAttrs(mark);
33
+ const fontName = ascii ?? hAnsi;
34
+ if (!fontName) return ["span", 0];
35
+ return [
36
+ "span",
37
+ { style: `font-family: ${fontName.includes(" ") ? `"${fontName}"` : fontName}, "Noto Sans Arabic", sans-serif` },
38
+ 0
39
+ ];
40
+ }
41
+ },
42
+ onSchemaReady(ctx) {
43
+ const fontFamilyType = ctx.schema.marks["fontFamily"];
44
+ if (!fontFamilyType) panic("Missing mark type: fontFamily");
45
+ return { commands: {
46
+ setFontFamily: (fontName) => setMark(fontFamilyType, {
47
+ ascii: fontName,
48
+ hAnsi: fontName
49
+ }),
50
+ clearFontFamily: () => removeMark(fontFamilyType)
51
+ } };
52
+ }
53
+ });
54
+ //#endregion
55
+ export { FontFamilyExtension };
@@ -0,0 +1,9 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/FontSizeExtension.d.ts
4
+ /**
5
+ * Font Size Mark Extension
6
+ */
7
+ declare const FontSizeExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
8
+ //#endregion
9
+ export { FontSizeExtension };
@@ -0,0 +1,47 @@
1
+ import { expectFontSizeMarkAttrs } from "../../attrs/index.js";
2
+ import { createMarkExtension } from "../create.js";
3
+ import { removeMark, setMark } from "./markUtils.js";
4
+ import { panic } from "better-result";
5
+ //#region src/prosemirror/extensions/marks/FontSizeExtension.ts
6
+ /**
7
+ * Font Size Mark Extension
8
+ */
9
+ const FontSizeExtension = createMarkExtension({
10
+ name: "fontSize",
11
+ schemaMarkName: "fontSize",
12
+ markSpec: {
13
+ attrs: { size: { default: 24 } },
14
+ parseDOM: [{
15
+ style: "font-size",
16
+ getAttrs: (value) => {
17
+ const pxMatch = /^(?<value>[\d.]+)px$/u.exec(value);
18
+ if (pxMatch) {
19
+ const pt = Number.parseFloat(pxMatch.groups?.["value"] ?? "0") * .75;
20
+ return { size: Math.round(pt * 2) };
21
+ }
22
+ const ptMatch = /^(?<value>[\d.]+)pt$/u.exec(value);
23
+ if (ptMatch) return { size: Math.round(Number.parseFloat(ptMatch.groups?.["value"] ?? "0") * 2) };
24
+ return false;
25
+ }
26
+ }],
27
+ toDOM(mark) {
28
+ const { size } = expectFontSizeMarkAttrs(mark);
29
+ const pt = size / 2;
30
+ return [
31
+ "span",
32
+ { style: `font-size: ${pt}pt; line-height: ${(pt * 1.15).toFixed(2)}pt` },
33
+ 0
34
+ ];
35
+ }
36
+ },
37
+ onSchemaReady(ctx) {
38
+ const fontSizeType = ctx.schema.marks["fontSize"];
39
+ if (!fontSizeType) panic("Missing mark type: fontSize");
40
+ return { commands: {
41
+ setFontSize: (size) => setMark(fontSizeType, { size }),
42
+ clearFontSize: () => removeMark(fontSizeType)
43
+ } };
44
+ }
45
+ });
46
+ //#endregion
47
+ export { FontSizeExtension };
@@ -0,0 +1,11 @@
1
+ import { MarkExtension } from "../types.js";
2
+
3
+ //#region src/prosemirror/extensions/marks/FootnoteRefExtension.d.ts
4
+ /**
5
+ * Footnote Reference Mark Extension
6
+ *
7
+ * Provides footnoteRef mark + insert/delete commands for footnotes and endnotes.
8
+ */
9
+ declare const FootnoteRefExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
10
+ //#endregion
11
+ export { FootnoteRefExtension };