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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (683) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE.md +29 -0
  3. package/README.md +41 -0
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/ai-edits/apply.d.ts +35 -0
  6. package/dist/ai-edits/apply.js +683 -0
  7. package/dist/ai-edits/clean-text.d.ts +28 -0
  8. package/dist/ai-edits/clean-text.js +23 -0
  9. package/dist/ai-edits/headless.d.ts +225 -0
  10. package/dist/ai-edits/headless.js +513 -0
  11. package/dist/ai-edits/index.d.ts +6 -0
  12. package/dist/ai-edits/index.js +5 -0
  13. package/dist/ai-edits/inline-emphasis.d.ts +38 -0
  14. package/dist/ai-edits/inline-emphasis.js +78 -0
  15. package/dist/ai-edits/snapshot.d.ts +9 -0
  16. package/dist/ai-edits/snapshot.js +195 -0
  17. package/dist/ai-edits/types.d.ts +156 -0
  18. package/dist/ai-edits/types.js +0 -0
  19. package/dist/ai-edits/word-diff.d.ts +20 -0
  20. package/dist/ai-edits/word-diff.js +77 -0
  21. package/dist/ai-suggestions/apply.d.ts +17 -0
  22. package/dist/ai-suggestions/apply.js +64 -0
  23. package/dist/ai-suggestions/conflict.d.ts +22 -0
  24. package/dist/ai-suggestions/conflict.js +67 -0
  25. package/dist/ai-suggestions/text-positions.d.ts +21 -0
  26. package/dist/ai-suggestions/text-positions.js +48 -0
  27. package/dist/ai-suggestions/types.d.ts +199 -0
  28. package/dist/ai-suggestions/types.js +59 -0
  29. package/dist/content-controls/errors.d.ts +52 -0
  30. package/dist/content-controls/errors.js +36 -0
  31. package/dist/content-controls/findContentControls.d.ts +55 -0
  32. package/dist/content-controls/findContentControls.js +75 -0
  33. package/dist/content-controls/index.d.ts +4 -0
  34. package/dist/content-controls/index.js +4 -0
  35. package/dist/content-controls/mutateContentControls.d.ts +51 -0
  36. package/dist/content-controls/mutateContentControls.js +377 -0
  37. package/dist/controller/folioEditor.d.ts +21 -0
  38. package/dist/controller/folioEditor.js +29 -0
  39. package/dist/controller/folioEditorEvents.d.ts +23 -0
  40. package/dist/controller/folioEditorEvents.js +24 -0
  41. package/dist/controller/hiddenEditorApi.d.ts +35 -0
  42. package/dist/controller/hiddenEditorApi.js +112 -0
  43. package/dist/controller/hiddenEditorManager.d.ts +93 -0
  44. package/dist/controller/hiddenEditorManager.js +308 -0
  45. package/dist/controller/layoutPipeline.d.ts +63 -0
  46. package/dist/controller/layoutPipeline.js +406 -0
  47. package/dist/controller/layoutScheduler.d.ts +41 -0
  48. package/dist/controller/layoutScheduler.js +59 -0
  49. package/dist/controller/layoutSession.d.ts +24 -0
  50. package/dist/controller/layoutSession.js +13 -0
  51. package/dist/docx/blockContentParser.d.ts +13 -0
  52. package/dist/docx/blockContentParser.js +289 -0
  53. package/dist/docx/bookmarkParser.d.ts +178 -0
  54. package/dist/docx/bookmarkParser.js +246 -0
  55. package/dist/docx/bookmarkPlacement.d.ts +10 -0
  56. package/dist/docx/bookmarkPlacement.js +50 -0
  57. package/dist/docx/bulletMarkers.d.ts +4 -0
  58. package/dist/docx/bulletMarkers.js +42 -0
  59. package/dist/docx/commentParser.d.ts +34 -0
  60. package/dist/docx/commentParser.js +127 -0
  61. package/dist/docx/commentReferenceNormalization.d.ts +25 -0
  62. package/dist/docx/commentReferenceNormalization.js +97 -0
  63. package/dist/docx/commentReplyMarkers.d.ts +20 -0
  64. package/dist/docx/commentReplyMarkers.js +123 -0
  65. package/dist/docx/compatibility.d.ts +12 -0
  66. package/dist/docx/compatibility.js +77 -0
  67. package/dist/docx/documentParser.d.ts +65 -0
  68. package/dist/docx/documentParser.js +209 -0
  69. package/dist/docx/drawingUtils.d.ts +56 -0
  70. package/dist/docx/drawingUtils.js +305 -0
  71. package/dist/docx/fieldParser.d.ts +228 -0
  72. package/dist/docx/fieldParser.js +559 -0
  73. package/dist/docx/footnoteParser.d.ts +109 -0
  74. package/dist/docx/footnoteParser.js +270 -0
  75. package/dist/docx/headerFooterParser.d.ts +119 -0
  76. package/dist/docx/headerFooterParser.js +266 -0
  77. package/dist/docx/headerFooterRefParser.d.ts +22 -0
  78. package/dist/docx/headerFooterRefParser.js +52 -0
  79. package/dist/docx/headerFooterReferenceNormalization.d.ts +19 -0
  80. package/dist/docx/headerFooterReferenceNormalization.js +64 -0
  81. package/dist/docx/hyperlinkParser.d.ts +108 -0
  82. package/dist/docx/hyperlinkParser.js +230 -0
  83. package/dist/docx/imageParser.d.ts +93 -0
  84. package/dist/docx/imageParser.js +522 -0
  85. package/dist/docx/mathToMathml.d.ts +15 -0
  86. package/dist/docx/mathToMathml.js +357 -0
  87. package/dist/docx/modelValidation.d.ts +13 -0
  88. package/dist/docx/modelValidation.js +21 -0
  89. package/dist/docx/normalizeBaseDirection.d.ts +12 -0
  90. package/dist/docx/normalizeBaseDirection.js +81 -0
  91. package/dist/docx/notePropertiesParser.d.ts +16 -0
  92. package/dist/docx/notePropertiesParser.js +99 -0
  93. package/dist/docx/numberingParser.d.ts +86 -0
  94. package/dist/docx/numberingParser.js +735 -0
  95. package/dist/docx/numberingReferenceNormalization.d.ts +25 -0
  96. package/dist/docx/numberingReferenceNormalization.js +22 -0
  97. package/dist/docx/paragraphParser.d.ts +86 -0
  98. package/dist/docx/paragraphParser.js +1132 -0
  99. package/dist/docx/paragraphTraversal.d.ts +19 -0
  100. package/dist/docx/paragraphTraversal.js +76 -0
  101. package/dist/docx/parser.d.ts +67 -0
  102. package/dist/docx/parser.js +391 -0
  103. package/dist/docx/parserEnums.d.ts +45 -0
  104. package/dist/docx/parserEnums.js +70 -0
  105. package/dist/docx/relsParser.d.ts +160 -0
  106. package/dist/docx/relsParser.js +235 -0
  107. package/dist/docx/replyToComment.d.ts +29 -0
  108. package/dist/docx/replyToComment.js +73 -0
  109. package/dist/docx/rezip.d.ts +166 -0
  110. package/dist/docx/rezip.js +1194 -0
  111. package/dist/docx/runConsolidator.d.ts +57 -0
  112. package/dist/docx/runConsolidator.js +224 -0
  113. package/dist/docx/runParser.d.ts +78 -0
  114. package/dist/docx/runParser.js +661 -0
  115. package/dist/docx/sdtProperties.d.ts +15 -0
  116. package/dist/docx/sdtProperties.js +290 -0
  117. package/dist/docx/sdtPropertiesPatch.d.ts +16 -0
  118. package/dist/docx/sdtPropertiesPatch.js +144 -0
  119. package/dist/docx/sectionParser.d.ts +95 -0
  120. package/dist/docx/sectionParser.js +534 -0
  121. package/dist/docx/selectiveSave.d.ts +25 -0
  122. package/dist/docx/selectiveSave.js +247 -0
  123. package/dist/docx/selectiveSaveFlags.d.ts +33 -0
  124. package/dist/docx/selectiveSaveFlags.js +11 -0
  125. package/dist/docx/selectiveSaveTripwire.d.ts +33 -0
  126. package/dist/docx/selectiveSaveTripwire.js +79 -0
  127. package/dist/docx/selectiveXmlPatch.d.ts +103 -0
  128. package/dist/docx/selectiveXmlPatch.js +493 -0
  129. package/dist/docx/serializer/blockSdtSerializer.d.ts +6 -0
  130. package/dist/docx/serializer/blockSdtSerializer.js +88 -0
  131. package/dist/docx/serializer/borderSerializer.d.ts +25 -0
  132. package/dist/docx/serializer/borderSerializer.js +44 -0
  133. package/dist/docx/serializer/commentSerializer.d.ts +31 -0
  134. package/dist/docx/serializer/commentSerializer.js +184 -0
  135. package/dist/docx/serializer/documentSerializer.d.ts +65 -0
  136. package/dist/docx/serializer/documentSerializer.js +199 -0
  137. package/dist/docx/serializer/headerFooterSerializer.d.ts +12 -0
  138. package/dist/docx/serializer/headerFooterSerializer.js +84 -0
  139. package/dist/docx/serializer/noteSerializer.d.ts +19 -0
  140. package/dist/docx/serializer/noteSerializer.js +70 -0
  141. package/dist/docx/serializer/numberingSerializer.d.ts +12 -0
  142. package/dist/docx/serializer/numberingSerializer.js +93 -0
  143. package/dist/docx/serializer/paragraphSerializer.d.ts +48 -0
  144. package/dist/docx/serializer/paragraphSerializer.js +559 -0
  145. package/dist/docx/serializer/runSerializer.d.ts +56 -0
  146. package/dist/docx/serializer/runSerializer.js +621 -0
  147. package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +6 -0
  148. package/dist/docx/serializer/sectionPropertiesSerializer.js +187 -0
  149. package/dist/docx/serializer/tableSerializer.d.ts +79 -0
  150. package/dist/docx/serializer/tableSerializer.js +422 -0
  151. package/dist/docx/serializer/xmlUtils.d.ts +20 -0
  152. package/dist/docx/serializer/xmlUtils.js +25 -0
  153. package/dist/docx/settingsParser.d.ts +8 -0
  154. package/dist/docx/settingsParser.js +36 -0
  155. package/dist/docx/shapeParser.d.ts +20 -0
  156. package/dist/docx/shapeParser.js +272 -0
  157. package/dist/docx/styleParser.d.ts +50 -0
  158. package/dist/docx/styleParser.js +905 -0
  159. package/dist/docx/tableParser.d.ts +202 -0
  160. package/dist/docx/tableParser.js +811 -0
  161. package/dist/docx/textBoxParser.d.ts +117 -0
  162. package/dist/docx/textBoxParser.js +262 -0
  163. package/dist/docx/themeParser.d.ts +77 -0
  164. package/dist/docx/themeParser.js +330 -0
  165. package/dist/docx/trackedMoveRangeNormalization.d.ts +22 -0
  166. package/dist/docx/trackedMoveRangeNormalization.js +100 -0
  167. package/dist/docx/unzip.d.ts +118 -0
  168. package/dist/docx/unzip.js +383 -0
  169. package/dist/docx/vmlImageParser.d.ts +16 -0
  170. package/dist/docx/vmlImageParser.js +100 -0
  171. package/dist/docx/watermarkParser.d.ts +45 -0
  172. package/dist/docx/watermarkParser.js +348 -0
  173. package/dist/docx/wrapTypes.d.ts +29 -0
  174. package/dist/docx/wrapTypes.js +48 -0
  175. package/dist/docx/xmlParser.d.ts +297 -0
  176. package/dist/docx/xmlParser.js +527 -0
  177. package/dist/fields/bookmarkPages.d.ts +13 -0
  178. package/dist/fields/bookmarkPages.js +66 -0
  179. package/dist/fields/bookmarkText.d.ts +16 -0
  180. package/dist/fields/bookmarkText.js +61 -0
  181. package/dist/fields/evaluateField.d.ts +23 -0
  182. package/dist/fields/evaluateField.js +77 -0
  183. package/dist/fields/fieldContext.d.ts +21 -0
  184. package/dist/fields/fieldContext.js +0 -0
  185. package/dist/fields/resolveFieldValues.d.ts +44 -0
  186. package/dist/fields/resolveFieldValues.js +204 -0
  187. package/dist/fields/sectionPageCounts.d.ts +11 -0
  188. package/dist/fields/sectionPageCounts.js +16 -0
  189. package/dist/fields/seqValues.d.ts +14 -0
  190. package/dist/fields/seqValues.js +36 -0
  191. package/dist/fonts/embeddedFontTable.d.ts +42 -0
  192. package/dist/fonts/embeddedFontTable.js +80 -0
  193. package/dist/fonts/embeddedFonts.d.ts +46 -0
  194. package/dist/fonts/embeddedFonts.js +112 -0
  195. package/dist/fonts/fontDeobfuscation.d.ts +30 -0
  196. package/dist/fonts/fontDeobfuscation.js +57 -0
  197. package/dist/index.d.ts +28 -0
  198. package/dist/index.js +23 -0
  199. package/dist/layout-bridge/convert/footnoteLayout.d.ts +57 -0
  200. package/dist/layout-bridge/convert/footnoteLayout.js +316 -0
  201. package/dist/layout-bridge/convert/headerFooterLayout.d.ts +74 -0
  202. package/dist/layout-bridge/convert/headerFooterLayout.js +432 -0
  203. package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +36 -0
  204. package/dist/layout-bridge/convert/templatePreviewFlow.js +176 -0
  205. package/dist/layout-bridge/convert/toFlowBlocks.d.ts +65 -0
  206. package/dist/layout-bridge/convert/toFlowBlocks.js +1309 -0
  207. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +17 -0
  208. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.js +36 -0
  209. package/dist/layout-bridge/dom/clickToPositionDom.d.ts +66 -0
  210. package/dist/layout-bridge/dom/clickToPositionDom.js +304 -0
  211. package/dist/layout-bridge/dom/findBodyPmSpans.d.ts +7 -0
  212. package/dist/layout-bridge/dom/findBodyPmSpans.js +17 -0
  213. package/dist/layout-bridge/dom/findHfPmSpans.d.ts +62 -0
  214. package/dist/layout-bridge/dom/findHfPmSpans.js +197 -0
  215. package/dist/layout-bridge/engine/clickToPosition.d.ts +66 -0
  216. package/dist/layout-bridge/engine/clickToPosition.js +403 -0
  217. package/dist/layout-bridge/engine/hitTest.d.ts +135 -0
  218. package/dist/layout-bridge/engine/hitTest.js +375 -0
  219. package/dist/layout-bridge/engine/measuring/index.d.ts +10 -0
  220. package/dist/layout-bridge/engine/measuring/index.js +9 -0
  221. package/dist/layout-bridge/engine/selectionRects.d.ts +59 -0
  222. package/dist/layout-bridge/engine/selectionRects.js +485 -0
  223. package/dist/layout-bridge/engine/tableWidthUtils.d.ts +7 -0
  224. package/dist/layout-bridge/engine/tableWidthUtils.js +25 -0
  225. package/dist/layout-engine/index.d.ts +44 -0
  226. package/dist/layout-engine/index.js +691 -0
  227. package/dist/layout-engine/keep-together.d.ts +43 -0
  228. package/dist/layout-engine/keep-together.js +98 -0
  229. package/dist/layout-engine/layoutInstrumentation.d.ts +50 -0
  230. package/dist/layout-engine/layoutInstrumentation.js +43 -0
  231. package/dist/layout-engine/lineFlow.d.ts +8 -0
  232. package/dist/layout-engine/lineFlow.js +17 -0
  233. package/dist/layout-engine/measure/cache.d.ts +93 -0
  234. package/dist/layout-engine/measure/cache.js +245 -0
  235. package/dist/layout-engine/measure/clampFloatingWrapMargins.d.ts +20 -0
  236. package/dist/layout-engine/measure/clampFloatingWrapMargins.js +29 -0
  237. package/dist/layout-engine/measure/featureFlags.d.ts +44 -0
  238. package/dist/layout-engine/measure/featureFlags.js +19 -0
  239. package/dist/layout-engine/measure/floatingZones.d.ts +89 -0
  240. package/dist/layout-engine/measure/floatingZones.js +152 -0
  241. package/dist/layout-engine/measure/font-metrics.worker.d.ts +17 -0
  242. package/dist/layout-engine/measure/font-metrics.worker.js +104 -0
  243. package/dist/layout-engine/measure/index.d.ts +9 -0
  244. package/dist/layout-engine/measure/index.js +8 -0
  245. package/dist/layout-engine/measure/listMarkerWidth.d.ts +40 -0
  246. package/dist/layout-engine/measure/listMarkerWidth.js +76 -0
  247. package/dist/layout-engine/measure/measureBlocks.d.ts +25 -0
  248. package/dist/layout-engine/measure/measureBlocks.js +450 -0
  249. package/dist/layout-engine/measure/measureContainer.d.ts +24 -0
  250. package/dist/layout-engine/measure/measureContainer.js +280 -0
  251. package/dist/layout-engine/measure/measureHelpers.d.ts +82 -0
  252. package/dist/layout-engine/measure/measureHelpers.js +156 -0
  253. package/dist/layout-engine/measure/measureParagraph.d.ts +61 -0
  254. package/dist/layout-engine/measure/measureParagraph.js +724 -0
  255. package/dist/layout-engine/measure/measureProvider.d.ts +23 -0
  256. package/dist/layout-engine/measure/measureProvider.js +35 -0
  257. package/dist/layout-engine/measure/measureTypes.d.ts +61 -0
  258. package/dist/layout-engine/measure/measureTypes.js +0 -0
  259. package/dist/layout-engine/measure/measureWorker.d.ts +54 -0
  260. package/dist/layout-engine/measure/measureWorker.js +249 -0
  261. package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +88 -0
  262. package/dist/layout-engine/measure/measureWorkerProtocol.js +20 -0
  263. package/dist/layout-engine/measure/tableCellFloating.d.ts +26 -0
  264. package/dist/layout-engine/measure/tableCellFloating.js +99 -0
  265. package/dist/layout-engine/paginator.d.ts +84 -0
  266. package/dist/layout-engine/paginator.js +348 -0
  267. package/dist/layout-engine/paragraphFragmentRange.d.ts +9 -0
  268. package/dist/layout-engine/paragraphFragmentRange.js +40 -0
  269. package/dist/layout-engine/section-breaks.d.ts +78 -0
  270. package/dist/layout-engine/section-breaks.js +182 -0
  271. package/dist/layout-engine/tableRowBreak.d.ts +23 -0
  272. package/dist/layout-engine/tableRowBreak.js +147 -0
  273. package/dist/layout-engine/textBoxFlow.d.ts +50 -0
  274. package/dist/layout-engine/textBoxFlow.js +160 -0
  275. package/dist/layout-engine/types.d.ts +1031 -0
  276. package/dist/layout-engine/types.js +100 -0
  277. package/dist/layout-painter/documentColors.d.ts +4 -0
  278. package/dist/layout-painter/documentColors.js +40 -0
  279. package/dist/layout-painter/index.d.ts +110 -0
  280. package/dist/layout-painter/index.js +182 -0
  281. package/dist/layout-painter/registry/modules/image.d.ts +6 -0
  282. package/dist/layout-painter/registry/modules/image.js +17 -0
  283. package/dist/layout-painter/registry/modules/paragraph.d.ts +6 -0
  284. package/dist/layout-painter/registry/modules/paragraph.js +18 -0
  285. package/dist/layout-painter/registry/modules/table.d.ts +6 -0
  286. package/dist/layout-painter/registry/modules/table.js +16 -0
  287. package/dist/layout-painter/registry/modules/textBox.d.ts +6 -0
  288. package/dist/layout-painter/registry/modules/textBox.js +13 -0
  289. package/dist/layout-painter/registry/modules.d.ts +6 -0
  290. package/dist/layout-painter/registry/modules.js +26 -0
  291. package/dist/layout-painter/registry/registry.d.ts +24 -0
  292. package/dist/layout-painter/registry/registry.js +53 -0
  293. package/dist/layout-painter/registry/types.d.ts +61 -0
  294. package/dist/layout-painter/registry/types.js +0 -0
  295. package/dist/layout-painter/renderFragment.d.ts +32 -0
  296. package/dist/layout-painter/renderFragment.js +114 -0
  297. package/dist/layout-painter/renderImage.d.ts +88 -0
  298. package/dist/layout-painter/renderImage.js +130 -0
  299. package/dist/layout-painter/renderPage.d.ts +264 -0
  300. package/dist/layout-painter/renderPage.js +1795 -0
  301. package/dist/layout-painter/renderParagraph.d.ts +93 -0
  302. package/dist/layout-painter/renderParagraph.js +1300 -0
  303. package/dist/layout-painter/renderTable.d.ts +36 -0
  304. package/dist/layout-painter/renderTable.js +432 -0
  305. package/dist/layout-painter/renderTextBox.d.ts +22 -0
  306. package/dist/layout-painter/renderTextBox.js +67 -0
  307. package/dist/layout-painter/renderUtils.d.ts +42 -0
  308. package/dist/layout-painter/renderUtils.js +30 -0
  309. package/dist/layout-painter/renderWatermark.d.ts +16 -0
  310. package/dist/layout-painter/renderWatermark.js +61 -0
  311. package/dist/layout-painter/sdtBoundary.d.ts +6 -0
  312. package/dist/layout-painter/sdtBoundary.js +28 -0
  313. package/dist/managers/ContextMenuManager.d.ts +28 -0
  314. package/dist/managers/ContextMenuManager.js +48 -0
  315. package/dist/managers/DocumentLoaderManager.d.ts +47 -0
  316. package/dist/managers/DocumentLoaderManager.js +69 -0
  317. package/dist/managers/EditorModeManager.d.ts +28 -0
  318. package/dist/managers/EditorModeManager.js +50 -0
  319. package/dist/managers/ErrorManager.d.ts +26 -0
  320. package/dist/managers/ErrorManager.js +85 -0
  321. package/dist/managers/FindReplaceManager.d.ts +54 -0
  322. package/dist/managers/FindReplaceManager.js +104 -0
  323. package/dist/managers/HistoryManager.d.ts +92 -0
  324. package/dist/managers/HistoryManager.js +193 -0
  325. package/dist/managers/Subscribable.d.ts +34 -0
  326. package/dist/managers/Subscribable.js +46 -0
  327. package/dist/managers/TableSelectionManager.d.ts +74 -0
  328. package/dist/managers/TableSelectionManager.js +225 -0
  329. package/dist/managers/editorShortcuts.d.ts +42 -0
  330. package/dist/managers/editorShortcuts.js +60 -0
  331. package/dist/managers/types.d.ts +41 -0
  332. package/dist/managers/types.js +0 -0
  333. package/dist/markdown/annotations.d.ts +14 -0
  334. package/dist/markdown/annotations.js +42 -0
  335. package/dist/markdown/escape.d.ts +36 -0
  336. package/dist/markdown/escape.js +59 -0
  337. package/dist/markdown/fromMarkdown.d.ts +11 -0
  338. package/dist/markdown/fromMarkdown.js +223 -0
  339. package/dist/markdown/headings.d.ts +13 -0
  340. package/dist/markdown/headings.js +20 -0
  341. package/dist/markdown/images.d.ts +13 -0
  342. package/dist/markdown/images.js +63 -0
  343. package/dist/markdown/index.d.ts +18 -0
  344. package/dist/markdown/index.js +33 -0
  345. package/dist/markdown/internals.d.ts +15 -0
  346. package/dist/markdown/internals.js +35 -0
  347. package/dist/markdown/renderBlock.d.ts +7 -0
  348. package/dist/markdown/renderBlock.js +68 -0
  349. package/dist/markdown/renderParagraph.d.ts +11 -0
  350. package/dist/markdown/renderParagraph.js +64 -0
  351. package/dist/markdown/renderRuns.d.ts +11 -0
  352. package/dist/markdown/renderRuns.js +265 -0
  353. package/dist/markdown/renderTable.d.ts +8 -0
  354. package/dist/markdown/renderTable.js +229 -0
  355. package/dist/markdown/trailers.d.ts +13 -0
  356. package/dist/markdown/trailers.js +54 -0
  357. package/dist/markdown/types.d.ts +118 -0
  358. package/dist/markdown/types.js +0 -0
  359. package/dist/model.d.ts +13 -0
  360. package/dist/model.js +4 -0
  361. package/dist/paged-layout/LayoutSelectionGate.d.ts +80 -0
  362. package/dist/paged-layout/LayoutSelectionGate.js +131 -0
  363. package/dist/paged-layout/headerFooterMargins.d.ts +73 -0
  364. package/dist/paged-layout/headerFooterMargins.js +120 -0
  365. package/dist/paged-layout/hiddenEditorScroll.d.ts +4 -0
  366. package/dist/paged-layout/hiddenEditorScroll.js +4 -0
  367. package/dist/paged-layout/incrementalMeasure.d.ts +33 -0
  368. package/dist/paged-layout/incrementalMeasure.js +56 -0
  369. package/dist/paged-layout/rangeProjection.d.ts +51 -0
  370. package/dist/paged-layout/rangeProjection.js +153 -0
  371. package/dist/paged-layout/readOnlyEditAttempt.d.ts +5 -0
  372. package/dist/paged-layout/readOnlyEditAttempt.js +22 -0
  373. package/dist/paged-layout/scrollNavigation.d.ts +23 -0
  374. package/dist/paged-layout/scrollNavigation.js +31 -0
  375. package/dist/paged-layout/scrollPageInfo.d.ts +41 -0
  376. package/dist/paged-layout/scrollPageInfo.js +34 -0
  377. package/dist/paged-layout/scrollToPmPosition.d.ts +17 -0
  378. package/dist/paged-layout/scrollToPmPosition.js +95 -0
  379. package/dist/paged-layout/sectionBlockWidths.d.ts +35 -0
  380. package/dist/paged-layout/sectionBlockWidths.js +52 -0
  381. package/dist/paged-layout/sectionGeometry.d.ts +21 -0
  382. package/dist/paged-layout/sectionGeometry.js +36 -0
  383. package/dist/paged-layout/selectionViewportRect.d.ts +29 -0
  384. package/dist/paged-layout/selectionViewportRect.js +55 -0
  385. package/dist/paged-layout/tableColumnResize.d.ts +19 -0
  386. package/dist/paged-layout/tableColumnResize.js +28 -0
  387. package/dist/paged-layout/tableInsertButtonGeometry.d.ts +15 -0
  388. package/dist/paged-layout/tableInsertButtonGeometry.js +15 -0
  389. package/dist/paged-layout/transactionDirtyRange.d.ts +7 -0
  390. package/dist/paged-layout/transactionDirtyRange.js +27 -0
  391. package/dist/paged-layout/zoomScrollAnchor.d.ts +40 -0
  392. package/dist/paged-layout/zoomScrollAnchor.js +25 -0
  393. package/dist/prosemirror/attrs/index.d.ts +80 -0
  394. package/dist/prosemirror/attrs/index.js +1218 -0
  395. package/dist/prosemirror/autospacingBase.d.ts +11 -0
  396. package/dist/prosemirror/autospacingBase.js +16 -0
  397. package/dist/prosemirror/commands/comments.d.ts +93 -0
  398. package/dist/prosemirror/commands/comments.js +435 -0
  399. package/dist/prosemirror/commands/contentControls.d.ts +45 -0
  400. package/dist/prosemirror/commands/contentControls.js +294 -0
  401. package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +15 -0
  402. package/dist/prosemirror/commands/contentControlsBlockFill.js +19 -0
  403. package/dist/prosemirror/commands/formatPainter.d.ts +31 -0
  404. package/dist/prosemirror/commands/formatPainter.js +130 -0
  405. package/dist/prosemirror/commands/formatting.d.ts +32 -0
  406. package/dist/prosemirror/commands/formatting.js +45 -0
  407. package/dist/prosemirror/commands/hyperlink.d.ts +31 -0
  408. package/dist/prosemirror/commands/hyperlink.js +79 -0
  409. package/dist/prosemirror/commands/image.d.ts +59 -0
  410. package/dist/prosemirror/commands/image.js +219 -0
  411. package/dist/prosemirror/commands/index.d.ts +13 -0
  412. package/dist/prosemirror/commands/index.js +13 -0
  413. package/dist/prosemirror/commands/pageBreak.d.ts +10 -0
  414. package/dist/prosemirror/commands/pageBreak.js +47 -0
  415. package/dist/prosemirror/commands/paragraph.d.ts +39 -0
  416. package/dist/prosemirror/commands/paragraph.js +64 -0
  417. package/dist/prosemirror/commands/pastePlainText.d.ts +39 -0
  418. package/dist/prosemirror/commands/pastePlainText.js +67 -0
  419. package/dist/prosemirror/commands/table.d.ts +83 -0
  420. package/dist/prosemirror/commands/table.js +105 -0
  421. package/dist/prosemirror/conversion/fromProseDoc.d.ts +27 -0
  422. package/dist/prosemirror/conversion/fromProseDoc.js +1550 -0
  423. package/dist/prosemirror/conversion/index.d.ts +4 -0
  424. package/dist/prosemirror/conversion/index.js +4 -0
  425. package/dist/prosemirror/conversion/runShadingMark.d.ts +16 -0
  426. package/dist/prosemirror/conversion/runShadingMark.js +39 -0
  427. package/dist/prosemirror/conversion/toProseDoc.d.ts +39 -0
  428. package/dist/prosemirror/conversion/toProseDoc.js +1404 -0
  429. package/dist/prosemirror/extensions/ExtensionManager.d.ts +43 -0
  430. package/dist/prosemirror/extensions/ExtensionManager.js +86 -0
  431. package/dist/prosemirror/extensions/StarterKit.d.ts +16 -0
  432. package/dist/prosemirror/extensions/StarterKit.js +132 -0
  433. package/dist/prosemirror/extensions/core/DocExtension.d.ts +9 -0
  434. package/dist/prosemirror/extensions/core/DocExtension.js +12 -0
  435. package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +13 -0
  436. package/dist/prosemirror/extensions/core/HistoryExtension.js +28 -0
  437. package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +25 -0
  438. package/dist/prosemirror/extensions/core/ParagraphExtension.js +619 -0
  439. package/dist/prosemirror/extensions/core/TextExtension.d.ts +9 -0
  440. package/dist/prosemirror/extensions/core/TextExtension.js +12 -0
  441. package/dist/prosemirror/extensions/create.d.ts +17 -0
  442. package/dist/prosemirror/extensions/create.js +129 -0
  443. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +23 -0
  444. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.js +106 -0
  445. package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +8 -0
  446. package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +172 -0
  447. package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +16 -0
  448. package/dist/prosemirror/extensions/features/BidiShortcutExtension.js +38 -0
  449. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +16 -0
  450. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.js +21 -0
  451. package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +12 -0
  452. package/dist/prosemirror/extensions/features/DropCursorExtension.js +20 -0
  453. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +8 -0
  454. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +44 -0
  455. package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +19 -0
  456. package/dist/prosemirror/extensions/features/GapCursorExtension.js +24 -0
  457. package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +15 -0
  458. package/dist/prosemirror/extensions/features/ImageDragExtension.js +66 -0
  459. package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +12 -0
  460. package/dist/prosemirror/extensions/features/ImagePasteExtension.js +91 -0
  461. package/dist/prosemirror/extensions/features/ListExtension.d.ts +14 -0
  462. package/dist/prosemirror/extensions/features/ListExtension.js +340 -0
  463. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +9 -0
  464. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +60 -0
  465. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +35 -0
  466. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +188 -0
  467. package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +20 -0
  468. package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +34 -0
  469. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +20 -0
  470. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +145 -0
  471. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +10 -0
  472. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +17 -0
  473. package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +31 -0
  474. package/dist/prosemirror/extensions/features/bidiShortcutController.js +27 -0
  475. package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +31 -0
  476. package/dist/prosemirror/extensions/features/pasteCleanup.js +159 -0
  477. package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +9 -0
  478. package/dist/prosemirror/extensions/marks/AllCapsExtension.js +24 -0
  479. package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +9 -0
  480. package/dist/prosemirror/extensions/marks/BoldExtension.js +41 -0
  481. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +14 -0
  482. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.js +64 -0
  483. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +23 -0
  484. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.js +47 -0
  485. package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +12 -0
  486. package/dist/prosemirror/extensions/marks/CommentExtension.js +38 -0
  487. package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +9 -0
  488. package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +55 -0
  489. package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +9 -0
  490. package/dist/prosemirror/extensions/marks/FontSizeExtension.js +47 -0
  491. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +11 -0
  492. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +92 -0
  493. package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +23 -0
  494. package/dist/prosemirror/extensions/marks/HiddenTextExtension.js +35 -0
  495. package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +10 -0
  496. package/dist/prosemirror/extensions/marks/HighlightExtension.js +115 -0
  497. package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +13 -0
  498. package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +146 -0
  499. package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +9 -0
  500. package/dist/prosemirror/extensions/marks/ItalicExtension.js +34 -0
  501. package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +6 -0
  502. package/dist/prosemirror/extensions/marks/RtlExtension.js +21 -0
  503. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +11 -0
  504. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.js +75 -0
  505. package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +6 -0
  506. package/dist/prosemirror/extensions/marks/RunShadingExtension.js +38 -0
  507. package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +9 -0
  508. package/dist/prosemirror/extensions/marks/SmallCapsExtension.js +24 -0
  509. package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +9 -0
  510. package/dist/prosemirror/extensions/marks/StrikeExtension.js +33 -0
  511. package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +9 -0
  512. package/dist/prosemirror/extensions/marks/SubscriptExtension.js +25 -0
  513. package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +9 -0
  514. package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +25 -0
  515. package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +9 -0
  516. package/dist/prosemirror/extensions/marks/TextColorExtension.js +50 -0
  517. package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +6 -0
  518. package/dist/prosemirror/extensions/marks/TextEffectExtension.js +35 -0
  519. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +31 -0
  520. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.js +134 -0
  521. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +22 -0
  522. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +113 -0
  523. package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +9 -0
  524. package/dist/prosemirror/extensions/marks/UnderlineExtension.js +60 -0
  525. package/dist/prosemirror/extensions/marks/markUtils.d.ts +34 -0
  526. package/dist/prosemirror/extensions/marks/markUtils.js +233 -0
  527. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +22 -0
  528. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.js +122 -0
  529. package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +12 -0
  530. package/dist/prosemirror/extensions/nodes/FieldExtension.js +87 -0
  531. package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +9 -0
  532. package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +38 -0
  533. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +9 -0
  534. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.js +18 -0
  535. package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +9 -0
  536. package/dist/prosemirror/extensions/nodes/ImageExtension.js +132 -0
  537. package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +13 -0
  538. package/dist/prosemirror/extensions/nodes/MathExtension.js +56 -0
  539. package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +9 -0
  540. package/dist/prosemirror/extensions/nodes/PageBreakExtension.js +20 -0
  541. package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +12 -0
  542. package/dist/prosemirror/extensions/nodes/SdtExtension.js +107 -0
  543. package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +30 -0
  544. package/dist/prosemirror/extensions/nodes/ShapeExtension.js +502 -0
  545. package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +9 -0
  546. package/dist/prosemirror/extensions/nodes/TabExtension.js +27 -0
  547. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +34 -0
  548. package/dist/prosemirror/extensions/nodes/TableExtension.js +1972 -0
  549. package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +34 -0
  550. package/dist/prosemirror/extensions/nodes/TextBoxExtension.js +150 -0
  551. package/dist/prosemirror/extensions/types.d.ts +101 -0
  552. package/dist/prosemirror/extensions/types.js +10 -0
  553. package/dist/prosemirror/findReplaceSelection.d.ts +23 -0
  554. package/dist/prosemirror/findReplaceSelection.js +86 -0
  555. package/dist/prosemirror/index.d.ts +25 -0
  556. package/dist/prosemirror/index.js +23 -0
  557. package/dist/prosemirror/insertOperations.d.ts +12 -0
  558. package/dist/prosemirror/insertOperations.js +19 -0
  559. package/dist/prosemirror/paragraphDirection.d.ts +42 -0
  560. package/dist/prosemirror/paragraphDirection.js +33 -0
  561. package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +40 -0
  562. package/dist/prosemirror/plugins/aiCitationDecorations.js +90 -0
  563. package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +42 -0
  564. package/dist/prosemirror/plugins/aiSuggestionDecorations.js +135 -0
  565. package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +60 -0
  566. package/dist/prosemirror/plugins/anonymizationDecorations.js +120 -0
  567. package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +123 -0
  568. package/dist/prosemirror/plugins/autocompleteSuggestion.js +283 -0
  569. package/dist/prosemirror/plugins/contentControlWidgets.d.ts +56 -0
  570. package/dist/prosemirror/plugins/contentControlWidgets.js +192 -0
  571. package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +37 -0
  572. package/dist/prosemirror/plugins/createDocScanPlugin.js +55 -0
  573. package/dist/prosemirror/plugins/documentStyles.d.ts +18 -0
  574. package/dist/prosemirror/plugins/documentStyles.js +46 -0
  575. package/dist/prosemirror/plugins/index.d.ts +3 -0
  576. package/dist/prosemirror/plugins/index.js +3 -0
  577. package/dist/prosemirror/plugins/pmTextScan.d.ts +19 -0
  578. package/dist/prosemirror/plugins/pmTextScan.js +39 -0
  579. package/dist/prosemirror/plugins/selectionTracker.d.ts +43 -0
  580. package/dist/prosemirror/plugins/selectionTracker.js +179 -0
  581. package/dist/prosemirror/plugins/suggestionMode.d.ts +70 -0
  582. package/dist/prosemirror/plugins/suggestionMode.js +489 -0
  583. package/dist/prosemirror/plugins/templateDirectives.d.ts +25 -0
  584. package/dist/prosemirror/plugins/templateDirectives.js +67 -0
  585. package/dist/prosemirror/plugins/templatePreviewValues.d.ts +49 -0
  586. package/dist/prosemirror/plugins/templatePreviewValues.js +117 -0
  587. package/dist/prosemirror/plugins/templateSlashMenu.d.ts +57 -0
  588. package/dist/prosemirror/plugins/templateSlashMenu.js +184 -0
  589. package/dist/prosemirror/schema/index.d.ts +15 -0
  590. package/dist/prosemirror/schema/index.js +20 -0
  591. package/dist/prosemirror/schema/marks.d.ts +118 -0
  592. package/dist/prosemirror/schema/marks.js +0 -0
  593. package/dist/prosemirror/schema/nodes.d.ts +389 -0
  594. package/dist/prosemirror/schema/nodes.js +0 -0
  595. package/dist/prosemirror/selectionState.d.ts +23 -0
  596. package/dist/prosemirror/selectionState.js +111 -0
  597. package/dist/prosemirror/styles/index.d.ts +2 -0
  598. package/dist/prosemirror/styles/index.js +2 -0
  599. package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +32 -0
  600. package/dist/prosemirror/styles/resolvedStyleAttrs.js +108 -0
  601. package/dist/prosemirror/styles/styleResolver.d.ts +94 -0
  602. package/dist/prosemirror/styles/styleResolver.js +200 -0
  603. package/dist/prosemirror/utils/findParagraphByParaId.d.ts +26 -0
  604. package/dist/prosemirror/utils/findParagraphByParaId.js +37 -0
  605. package/dist/prosemirror/utils/tabCalculator.d.ts +110 -0
  606. package/dist/prosemirror/utils/tabCalculator.js +137 -0
  607. package/dist/prosemirror/validation.d.ts +20 -0
  608. package/dist/prosemirror/validation.js +177 -0
  609. package/dist/server.d.ts +7 -0
  610. package/dist/server.js +6 -0
  611. package/dist/style-engine/index.d.ts +3 -0
  612. package/dist/style-engine/index.js +2 -0
  613. package/dist/style-engine/styleEngine.d.ts +67 -0
  614. package/dist/style-engine/styleEngine.js +70 -0
  615. package/dist/types/block-id.d.ts +58 -0
  616. package/dist/types/block-id.js +61 -0
  617. package/dist/types/colors.d.ts +2 -0
  618. package/dist/types/colors.js +0 -0
  619. package/dist/types/content.d.ts +2 -0
  620. package/dist/types/content.js +0 -0
  621. package/dist/types/document.d.ts +7 -0
  622. package/dist/types/document.js +0 -0
  623. package/dist/types/documentEnumValues.d.ts +89 -0
  624. package/dist/types/documentEnumValues.js +693 -0
  625. package/dist/types/formatting.d.ts +2 -0
  626. package/dist/types/formatting.js +0 -0
  627. package/dist/types/index.d.ts +107 -0
  628. package/dist/types/index.js +0 -0
  629. package/dist/utils/authorColors.d.ts +16 -0
  630. package/dist/utils/authorColors.js +30 -0
  631. package/dist/utils/baseDirection.d.ts +23 -0
  632. package/dist/utils/baseDirection.js +34 -0
  633. package/dist/utils/clipboard.d.ts +126 -0
  634. package/dist/utils/clipboard.js +622 -0
  635. package/dist/utils/colorResolver.d.ts +158 -0
  636. package/dist/utils/colorResolver.js +557 -0
  637. package/dist/utils/createDocument.d.ts +50 -0
  638. package/dist/utils/createDocument.js +262 -0
  639. package/dist/utils/documentLoaderBehavior.d.ts +22 -0
  640. package/dist/utils/documentLoaderBehavior.js +14 -0
  641. package/dist/utils/docxInput.d.ts +22 -0
  642. package/dist/utils/docxInput.js +16 -0
  643. package/dist/utils/domGuards.d.ts +59 -0
  644. package/dist/utils/domGuards.js +82 -0
  645. package/dist/utils/fontFamilyMerge.d.ts +7 -0
  646. package/dist/utils/fontFamilyMerge.js +31 -0
  647. package/dist/utils/fontLoader.d.ts +50 -0
  648. package/dist/utils/fontLoader.js +177 -0
  649. package/dist/utils/fontResolver.d.ts +61 -0
  650. package/dist/utils/fontResolver.js +651 -0
  651. package/dist/utils/fontWeights.d.ts +4 -0
  652. package/dist/utils/fontWeights.js +4 -0
  653. package/dist/utils/formatToStyle.d.ts +103 -0
  654. package/dist/utils/formatToStyle.js +289 -0
  655. package/dist/utils/headerFooter.d.ts +74 -0
  656. package/dist/utils/headerFooter.js +257 -0
  657. package/dist/utils/headingCollector.d.ts +22 -0
  658. package/dist/utils/headingCollector.js +36 -0
  659. package/dist/utils/hexId.d.ts +33 -0
  660. package/dist/utils/hexId.js +37 -0
  661. package/dist/utils/imageValidation.d.ts +5 -0
  662. package/dist/utils/imageValidation.js +31 -0
  663. package/dist/utils/paragraphFormattingMerge.d.ts +14 -0
  664. package/dist/utils/paragraphFormattingMerge.js +68 -0
  665. package/dist/utils/replaceText.d.ts +17 -0
  666. package/dist/utils/replaceText.js +161 -0
  667. package/dist/utils/rotationBoundingBox.d.ts +12 -0
  668. package/dist/utils/rotationBoundingBox.js +36 -0
  669. package/dist/utils/scriptSegments.d.ts +36 -0
  670. package/dist/utils/scriptSegments.js +52 -0
  671. package/dist/utils/tableOperations.d.ts +87 -0
  672. package/dist/utils/tableOperations.js +259 -0
  673. package/dist/utils/textFormattingMerge.d.ts +6 -0
  674. package/dist/utils/textFormattingMerge.js +31 -0
  675. package/dist/utils/tiffConverter.d.ts +18 -0
  676. package/dist/utils/tiffConverter.js +83 -0
  677. package/dist/utils/units.d.ts +99 -0
  678. package/dist/utils/units.js +139 -0
  679. package/dist/utils/urlSecurity.d.ts +7 -0
  680. package/dist/utils/urlSecurity.js +65 -0
  681. package/dist/watermark/index.d.ts +39 -0
  682. package/dist/watermark/index.js +149 -0
  683. package/package.json +122 -2
@@ -0,0 +1,108 @@
1
+ import { computeListRendering } from "../../docx/numberingParser.js";
2
+ import { setAutospacingBaseValue } from "../autospacingBase.js";
3
+ //#region src/prosemirror/styles/resolvedStyleAttrs.ts
4
+ /**
5
+ * Shared helper for projecting a resolved paragraph style onto ProseMirror
6
+ * paragraph node attrs.
7
+ *
8
+ * Both `applyStyle` (toolbar style picker) and the Enter handler's
9
+ * next-style switch need to write the same set of style-controlled attrs.
10
+ * Keeping the projection in one place ensures the two paths stay in sync —
11
+ * a style applied via the picker and a style applied on Enter produce
12
+ * identical paragraph attrs.
13
+ */
14
+ /**
15
+ * The paragraph attrs a style definition controls. Applying a style resets
16
+ * every one of these to the style's value (or `null` to clear), so a prior
17
+ * style's properties (e.g. a heading's spacing) never leak through. Returns
18
+ * a partial attrs object to merge over the paragraph's existing attrs.
19
+ */
20
+ function paragraphAttrsFromResolvedStyle(resolved) {
21
+ const ppr = resolved.paragraphFormatting;
22
+ const runFormatting = resolved.runFormatting;
23
+ const hasRunFormatting = !!runFormatting && Object.keys(runFormatting).length > 0;
24
+ return {
25
+ alignment: ppr?.alignment ?? null,
26
+ spaceBefore: ppr?.spaceBefore ?? null,
27
+ spaceAfter: ppr?.spaceAfter ?? null,
28
+ lineSpacing: ppr?.lineSpacing ?? null,
29
+ lineSpacingRule: ppr?.lineSpacingRule ?? null,
30
+ indentLeft: ppr?.indentLeft ?? null,
31
+ indentRight: ppr?.indentRight ?? null,
32
+ indentFirstLine: ppr?.indentFirstLine ?? null,
33
+ hangingIndent: ppr?.hangingIndent ?? null,
34
+ contextualSpacing: ppr?.contextualSpacing ?? null,
35
+ keepNext: ppr?.keepNext ?? null,
36
+ keepLines: ppr?.keepLines ?? null,
37
+ pageBreakBefore: ppr?.pageBreakBefore ?? null,
38
+ outlineLevel: ppr?.outlineLevel ?? null,
39
+ borders: ppr?.borders ?? null,
40
+ defaultTextFormatting: hasRunFormatting ? runFormatting : null,
41
+ _autospacingBase: autospacingBaseFromResolvedParagraphFormatting(ppr)
42
+ };
43
+ }
44
+ function autospacingBaseFromResolvedParagraphFormatting(ppr) {
45
+ const base = {};
46
+ if (ppr?.beforeAutospacing) setAutospacingBaseValue(base, "before", ppr.spaceBefore);
47
+ if (ppr?.afterAutospacing) setAutospacingBaseValue(base, "after", ppr.spaceAfter);
48
+ return Object.keys(base).length > 0 ? base : null;
49
+ }
50
+ /**
51
+ * The list attrs a style's `w:pPr/w:numPr` controls (numbering reference plus
52
+ * the baked marker-rendering attrs that `toProseDoc` normally derives from
53
+ * `listRendering` at load time). Returns null when the style defines no
54
+ * numbering — applying such a style leaves any existing list attrs alone, so
55
+ * directly-applied (toolbar) lists survive a style switch the way they do in
56
+ * Word, where numbering is not cleared by applying an unnumbered style.
57
+ *
58
+ * When the style does define numbering, the full attr group is reset so a
59
+ * previous list's marker attrs never leak into the new one. Without the
60
+ * numbering definitions the marker template can't be resolved and the painter
61
+ * falls back to a plain decimal marker.
62
+ *
63
+ * The content-derived marker attrs (`listImplicitChildLevelAdvances`,
64
+ * `listMarkerSecondSlotOffsetTwips`) are nulled — they depend on the
65
+ * paragraph's inline LISTNUM fields, which the picker has no view of. A
66
+ * subsequent save + reload re-derives them from the document content.
67
+ */
68
+ function listAttrsFromResolvedStyle(resolved, numbering) {
69
+ const numPr = resolved.paragraphFormatting?.numPr;
70
+ if (!numPr || numPr.numId === void 0 || numPr.numId === 0) return null;
71
+ const rendering = numbering ? computeListRendering(numPr, numbering) : null;
72
+ const level = numbering?.getLevel(numPr.numId, numPr.ilvl ?? 0);
73
+ const attrs = {
74
+ numPr: {
75
+ numId: numPr.numId,
76
+ ilvl: numPr.ilvl ?? 0
77
+ },
78
+ numPrFromStyle: {
79
+ numId: numPr.numId,
80
+ ilvl: numPr.ilvl ?? 0
81
+ },
82
+ listNumFmt: rendering?.numFmt ?? null,
83
+ listIsBullet: rendering?.isBullet ?? null,
84
+ listIsLegal: rendering?.isLegal ?? null,
85
+ listMarker: rendering?.marker ?? null,
86
+ listMarkerHidden: rendering?.markerHidden ?? null,
87
+ listMarkerFontFamily: rendering?.markerFontFamily ?? null,
88
+ listMarkerFontSize: rendering?.markerFontSize ?? null,
89
+ listMarkerSuffix: rendering?.markerSuffix ?? null,
90
+ listMarkerAllCaps: rendering?.markerAllCaps ?? null,
91
+ listImplicitChildLevelAdvances: null,
92
+ listMarkerSecondSlotOffsetTwips: null,
93
+ listLevelNumFmts: rendering?.levelNumFmts ?? null,
94
+ listAbstractNumId: rendering?.abstractNumId ?? null,
95
+ listStartOverride: rendering?.startOverride ?? null
96
+ };
97
+ const ppr = resolved.paragraphFormatting;
98
+ if (level?.pPr) {
99
+ if (ppr?.indentLeft === void 0 && level.pPr.indentLeft !== void 0) attrs["indentLeft"] = level.pPr.indentLeft;
100
+ if (!(ppr?.indentFirstLine !== void 0 || ppr?.hangingIndent !== void 0)) {
101
+ if (level.pPr.indentFirstLine !== void 0) attrs["indentFirstLine"] = level.pPr.indentFirstLine;
102
+ if (level.pPr.hangingIndent !== void 0) attrs["hangingIndent"] = level.pPr.hangingIndent;
103
+ }
104
+ }
105
+ return attrs;
106
+ }
107
+ //#endregion
108
+ export { listAttrsFromResolvedStyle, paragraphAttrsFromResolvedStyle };
@@ -0,0 +1,94 @@
1
+ import { document_d_exports } from "../../types/document.js";
2
+
3
+ //#region src/prosemirror/styles/styleResolver.d.ts
4
+ /**
5
+ * Resolved style properties ready for rendering
6
+ */
7
+ type ResolvedParagraphStyle = {
8
+ /** Paragraph formatting (alignment, spacing, indentation, etc.) */paragraphFormatting?: document_d_exports.ParagraphFormatting; /** Default run formatting from the style */
9
+ runFormatting?: document_d_exports.TextFormatting;
10
+ };
11
+ /**
12
+ * StyleResolver provides efficient access to resolved style properties
13
+ */
14
+ declare class StyleResolver {
15
+ private readonly stylesById;
16
+ private readonly docDefaults;
17
+ private readonly defaultParagraphStyle;
18
+ private readonly defaultCharacterStyle;
19
+ private readonly defaultTableStyle;
20
+ constructor(styleDefinitions: document_d_exports.StyleDefinitions | undefined);
21
+ /**
22
+ * Get a style by ID
23
+ */
24
+ getStyle(styleId: string): document_d_exports.Style | undefined;
25
+ /**
26
+ * Get all available paragraph styles (for toolbar dropdown)
27
+ */
28
+ getParagraphStyles(): document_d_exports.Style[];
29
+ /**
30
+ * Resolve paragraph style properties, including docDefaults cascade
31
+ *
32
+ * @param styleId - The style ID to resolve (e.g., 'Heading1', 'Normal')
33
+ * @returns Resolved paragraph and run formatting
34
+ */
35
+ resolveParagraphStyle(styleId: string | undefined | null): ResolvedParagraphStyle;
36
+ /**
37
+ * Resolve the style applied to the paragraph that follows one styled with
38
+ * `styleId` when the user presses Enter (OOXML `w:next`, §17.7.4.10).
39
+ *
40
+ * Returns null when the style has no `w:next`, when `next` points back at
41
+ * the same style (the common heading-stays-heading case is handled by the
42
+ * caller), when the style is unknown, when `next` is a dangling reference
43
+ * to a style that does not exist, or when the target is not a paragraph
44
+ * style (malformed DOCX may point `w:next` at a character or table style;
45
+ * writing such an ID into a paragraph's `styleId` would create an invalid
46
+ * reference).
47
+ */
48
+ getNextStyleId(styleId: string | undefined | null): string | null;
49
+ /**
50
+ * Get all available table styles (for style gallery)
51
+ */
52
+ getTableStyles(): document_d_exports.Style[];
53
+ /**
54
+ * Resolve run (character) style properties
55
+ *
56
+ * @param styleId - The character style ID to resolve
57
+ * @returns Resolved text formatting
58
+ */
59
+ resolveRunStyle(styleId: string | undefined | null): document_d_exports.TextFormatting | undefined;
60
+ /**
61
+ * Get a character style's own properties WITHOUT docDefaults.
62
+ * Used when the caller already has docDefaults applied (e.g., from paragraph style resolution).
63
+ * This prevents docDefault fonts from incorrectly overriding paragraph style fonts.
64
+ */
65
+ getRunStyleOwnProperties(styleId: string | undefined | null): document_d_exports.TextFormatting | undefined;
66
+ /**
67
+ * Get document defaults
68
+ */
69
+ getDocDefaults(): document_d_exports.DocDefaults | undefined;
70
+ /**
71
+ * Get default paragraph style (usually "Normal")
72
+ */
73
+ getDefaultParagraphStyle(): document_d_exports.Style | undefined;
74
+ /**
75
+ * Get default character style.
76
+ */
77
+ getDefaultCharacterStyle(): document_d_exports.Style | undefined;
78
+ /**
79
+ * Get default table style.
80
+ */
81
+ getDefaultTableStyle(): document_d_exports.Style | undefined;
82
+ /**
83
+ * Check if a style exists
84
+ */
85
+ hasStyle(styleId: string): boolean;
86
+ private findDefaultStyle;
87
+ private mergeStyleIntoResult;
88
+ }
89
+ /**
90
+ * Create a style resolver from document's style definitions
91
+ */
92
+ declare function createStyleResolver(styleDefinitions: document_d_exports.StyleDefinitions | undefined): StyleResolver;
93
+ //#endregion
94
+ export { ResolvedParagraphStyle, StyleResolver, createStyleResolver };
@@ -0,0 +1,200 @@
1
+ import { mergeTextFormatting } from "../../utils/textFormattingMerge.js";
2
+ import { mergeParagraphFormatting } from "../../utils/paragraphFormattingMerge.js";
3
+ //#region src/prosemirror/styles/styleResolver.ts
4
+ /**
5
+ * Word's default-template Normal style, used as a last-resort fallback for a
6
+ * bare document that ships neither a `Normal` style nor `w:docDefaults`: 8pt
7
+ * (160 twips) after spacing, 1.08x line spacing — the values Word writes into
8
+ * a freshly created document's Normal.
9
+ *
10
+ * It is NOT applied when the document provides `w:docDefaults`. Those are the
11
+ * authoritative paragraph defaults per ECMA-376 §17.7.5; an empty
12
+ * `w:pPrDefault` means zero spacing / single line, so synthesizing this style
13
+ * over it wrongly inflates style-less paragraphs (e.g. generated-document
14
+ * table cells whose author relied on the compact default). See
15
+ * eigenpal/docx-editor#909.
16
+ */
17
+ const BUILTIN_NORMAL_STYLE = {
18
+ styleId: "Normal",
19
+ type: "paragraph",
20
+ name: "Normal",
21
+ default: true,
22
+ pPr: {
23
+ spaceAfter: 160,
24
+ lineSpacing: 259,
25
+ lineSpacingRule: "auto"
26
+ }
27
+ };
28
+ /**
29
+ * StyleResolver provides efficient access to resolved style properties
30
+ */
31
+ var StyleResolver = class {
32
+ stylesById;
33
+ docDefaults;
34
+ defaultParagraphStyle;
35
+ defaultCharacterStyle;
36
+ defaultTableStyle;
37
+ constructor(styleDefinitions) {
38
+ this.stylesById = /* @__PURE__ */ new Map();
39
+ this.docDefaults = styleDefinitions?.docDefaults;
40
+ if (styleDefinitions?.styles) {
41
+ for (const style of styleDefinitions.styles) if (style.styleId) this.stylesById.set(style.styleId, style);
42
+ }
43
+ this.defaultParagraphStyle = this.findDefaultStyle("paragraph");
44
+ this.defaultCharacterStyle = this.findDefaultStyle("character");
45
+ this.defaultTableStyle = this.findDefaultStyle("table");
46
+ }
47
+ /**
48
+ * Get a style by ID
49
+ */
50
+ getStyle(styleId) {
51
+ return this.stylesById.get(styleId);
52
+ }
53
+ /**
54
+ * Get all available paragraph styles (for toolbar dropdown)
55
+ */
56
+ getParagraphStyles() {
57
+ const styles = [];
58
+ for (const style of this.stylesById.values()) if (style.type === "paragraph" && !style.hidden && !style.semiHidden) styles.push(style);
59
+ return styles.toSorted((a, b) => {
60
+ const priorityA = a.uiPriority ?? 99;
61
+ const priorityB = b.uiPriority ?? 99;
62
+ if (priorityA !== priorityB) return priorityA - priorityB;
63
+ return (a.name ?? a.styleId).localeCompare(b.name ?? b.styleId);
64
+ });
65
+ }
66
+ /**
67
+ * Resolve paragraph style properties, including docDefaults cascade
68
+ *
69
+ * @param styleId - The style ID to resolve (e.g., 'Heading1', 'Normal')
70
+ * @returns Resolved paragraph and run formatting
71
+ */
72
+ resolveParagraphStyle(styleId) {
73
+ const result = {};
74
+ if (this.docDefaults?.pPr) result.paragraphFormatting = { ...this.docDefaults.pPr };
75
+ if (this.docDefaults?.rPr) result.runFormatting = { ...this.docDefaults.rPr };
76
+ if (!styleId) {
77
+ if (this.defaultParagraphStyle) this.mergeStyleIntoResult(result, this.defaultParagraphStyle);
78
+ return result;
79
+ }
80
+ const style = this.stylesById.get(styleId);
81
+ if (!style) {
82
+ if (this.defaultParagraphStyle) this.mergeStyleIntoResult(result, this.defaultParagraphStyle);
83
+ return result;
84
+ }
85
+ this.mergeStyleIntoResult(result, style);
86
+ return result;
87
+ }
88
+ /**
89
+ * Resolve the style applied to the paragraph that follows one styled with
90
+ * `styleId` when the user presses Enter (OOXML `w:next`, §17.7.4.10).
91
+ *
92
+ * Returns null when the style has no `w:next`, when `next` points back at
93
+ * the same style (the common heading-stays-heading case is handled by the
94
+ * caller), when the style is unknown, when `next` is a dangling reference
95
+ * to a style that does not exist, or when the target is not a paragraph
96
+ * style (malformed DOCX may point `w:next` at a character or table style;
97
+ * writing such an ID into a paragraph's `styleId` would create an invalid
98
+ * reference).
99
+ */
100
+ getNextStyleId(styleId) {
101
+ if (!styleId) return null;
102
+ const next = this.stylesById.get(styleId)?.next;
103
+ if (!next || next === styleId) return null;
104
+ const target = this.stylesById.get(next);
105
+ if (!target || target.type !== "paragraph") return null;
106
+ return next;
107
+ }
108
+ /**
109
+ * Get all available table styles (for style gallery)
110
+ */
111
+ getTableStyles() {
112
+ const styles = [];
113
+ for (const style of this.stylesById.values()) if (style.type === "table" && !style.hidden && !style.semiHidden) styles.push(style);
114
+ return styles.toSorted((a, b) => {
115
+ const priorityA = a.uiPriority ?? 99;
116
+ const priorityB = b.uiPriority ?? 99;
117
+ if (priorityA !== priorityB) return priorityA - priorityB;
118
+ return (a.name ?? a.styleId).localeCompare(b.name ?? b.styleId);
119
+ });
120
+ }
121
+ /**
122
+ * Resolve run (character) style properties
123
+ *
124
+ * @param styleId - The character style ID to resolve
125
+ * @returns Resolved text formatting
126
+ */
127
+ resolveRunStyle(styleId) {
128
+ let result = {};
129
+ if (this.docDefaults?.rPr) result = { ...this.docDefaults.rPr };
130
+ const defaultCharacterRpr = this.defaultCharacterStyle?.rPr;
131
+ if (defaultCharacterRpr) result = mergeTextFormatting(result, defaultCharacterRpr) ?? {};
132
+ const style = styleId ? this.stylesById.get(styleId) : void 0;
133
+ if (!style?.rPr) return Object.keys(result).length > 0 ? result : void 0;
134
+ const merged = mergeTextFormatting(result, style.rPr);
135
+ return merged && Object.keys(merged).length > 0 ? merged : void 0;
136
+ }
137
+ /**
138
+ * Get a character style's own properties WITHOUT docDefaults.
139
+ * Used when the caller already has docDefaults applied (e.g., from paragraph style resolution).
140
+ * This prevents docDefault fonts from incorrectly overriding paragraph style fonts.
141
+ */
142
+ getRunStyleOwnProperties(styleId) {
143
+ if (!styleId) return;
144
+ const style = this.stylesById.get(styleId);
145
+ if (!style?.rPr) return;
146
+ return Object.keys(style.rPr).length > 0 ? { ...style.rPr } : void 0;
147
+ }
148
+ /**
149
+ * Get document defaults
150
+ */
151
+ getDocDefaults() {
152
+ return this.docDefaults;
153
+ }
154
+ /**
155
+ * Get default paragraph style (usually "Normal")
156
+ */
157
+ getDefaultParagraphStyle() {
158
+ return this.defaultParagraphStyle;
159
+ }
160
+ /**
161
+ * Get default character style.
162
+ */
163
+ getDefaultCharacterStyle() {
164
+ return this.defaultCharacterStyle;
165
+ }
166
+ /**
167
+ * Get default table style.
168
+ */
169
+ getDefaultTableStyle() {
170
+ return this.defaultTableStyle;
171
+ }
172
+ /**
173
+ * Check if a style exists
174
+ */
175
+ hasStyle(styleId) {
176
+ return this.stylesById.has(styleId);
177
+ }
178
+ findDefaultStyle(type) {
179
+ for (const style of this.stylesById.values()) if (style.type === type && style.default) return style;
180
+ if (type === "paragraph") return this.stylesById.get("Normal") ?? (this.docDefaults ? void 0 : BUILTIN_NORMAL_STYLE);
181
+ }
182
+ mergeStyleIntoResult(result, style) {
183
+ if (style.pPr) {
184
+ const merged = mergeParagraphFormatting(result.paragraphFormatting, style.pPr);
185
+ if (merged !== void 0) result.paragraphFormatting = merged;
186
+ }
187
+ if (style.rPr) {
188
+ const merged = mergeTextFormatting(result.runFormatting, style.rPr);
189
+ if (merged !== void 0) result.runFormatting = merged;
190
+ }
191
+ }
192
+ };
193
+ /**
194
+ * Create a style resolver from document's style definitions
195
+ */
196
+ function createStyleResolver(styleDefinitions) {
197
+ return new StyleResolver(styleDefinitions);
198
+ }
199
+ //#endregion
200
+ export { StyleResolver, createStyleResolver };
@@ -0,0 +1,26 @@
1
+ import { Node } from "prosemirror-model";
2
+
3
+ //#region src/prosemirror/utils/findParagraphByParaId.d.ts
4
+ /**
5
+ * ProseMirror position range for the paragraph (or any textblock) whose
6
+ * `paraId` attribute equals `paraId`. Returns the inclusive `from` and
7
+ * exclusive `to` positions, plus the node, so callers can both target
8
+ * the paragraph (e.g. addMark over its text range) and inspect it.
9
+ *
10
+ * `from` is the position immediately before the textblock; `to` is
11
+ * `from + node.nodeSize`. The text content lives at `[from + 1, to - 1]`.
12
+ *
13
+ * Returns null if no textblock with that paraId exists.
14
+ */
15
+ declare const findParagraphByParaId: (doc: Node, paraId: string) => {
16
+ node: Node;
17
+ from: number;
18
+ to: number;
19
+ } | null;
20
+ /**
21
+ * Sugar over {@link findParagraphByParaId} when callers only need the
22
+ * `from` position (e.g. to feed `scrollToPosition`).
23
+ */
24
+ declare const findStartPosForParaId: (doc: Node, paraId: string) => number | null;
25
+ //#endregion
26
+ export { findParagraphByParaId, findStartPosForParaId };
@@ -0,0 +1,37 @@
1
+ //#region src/prosemirror/utils/findParagraphByParaId.ts
2
+ /**
3
+ * ProseMirror position range for the paragraph (or any textblock) whose
4
+ * `paraId` attribute equals `paraId`. Returns the inclusive `from` and
5
+ * exclusive `to` positions, plus the node, so callers can both target
6
+ * the paragraph (e.g. addMark over its text range) and inspect it.
7
+ *
8
+ * `from` is the position immediately before the textblock; `to` is
9
+ * `from + node.nodeSize`. The text content lives at `[from + 1, to - 1]`.
10
+ *
11
+ * Returns null if no textblock with that paraId exists.
12
+ */
13
+ const findParagraphByParaId = (doc, paraId) => {
14
+ if (!paraId || !paraId.trim()) return null;
15
+ let result = null;
16
+ doc.descendants((node, pos) => {
17
+ if (result !== null) return false;
18
+ const nodeParaId = node.attrs["paraId"];
19
+ if (node.isTextblock && nodeParaId === paraId) {
20
+ result = {
21
+ node,
22
+ from: pos,
23
+ to: pos + node.nodeSize
24
+ };
25
+ return false;
26
+ }
27
+ return true;
28
+ });
29
+ return result;
30
+ };
31
+ /**
32
+ * Sugar over {@link findParagraphByParaId} when callers only need the
33
+ * `from` position (e.g. to feed `scrollToPosition`).
34
+ */
35
+ const findStartPosForParaId = (doc, paraId) => findParagraphByParaId(doc, paraId)?.from ?? null;
36
+ //#endregion
37
+ export { findParagraphByParaId, findStartPosForParaId };
@@ -0,0 +1,110 @@
1
+ //#region src/prosemirror/utils/tabCalculator.d.ts
2
+ /**
3
+ * Tab Width Calculator
4
+ *
5
+ * Computes tab widths based on position and tab stops.
6
+ * Follows OOXML tab stop semantics:
7
+ * - Default tab interval: 720 twips (0.5 inch, 48px at 96dpi)
8
+ * - Tab stops can be start (left), end (right), center, decimal, or bar
9
+ * - Explicit tab stops override default stops
10
+ *
11
+ * Based on ECMA-376 specification and clean-room understanding of tab layout.
12
+ */
13
+ /**
14
+ * Tab alignment types
15
+ */
16
+ type TabAlignment = "start" | "end" | "center" | "decimal" | "bar" | "clear";
17
+ /**
18
+ * Tab leader (fill character) types
19
+ */
20
+ type TabLeader = "none" | "dot" | "hyphen" | "underscore" | "middleDot" | "heavy";
21
+ /**
22
+ * Tab stop definition
23
+ */
24
+ type TabStop = {
25
+ /** Tab alignment mode */val: TabAlignment; /** Position in twips from left margin */
26
+ pos: number; /** Optional leader character */
27
+ leader?: TabLeader;
28
+ };
29
+ /**
30
+ * Context for tab calculations
31
+ */
32
+ type TabContext = {
33
+ /** Explicit tab stops from paragraph or style */explicitStops?: TabStop[]; /** Default tab interval in twips (default: 720 = 0.5 inch) */
34
+ defaultTabInterval?: number; /** Left indent in twips */
35
+ leftIndent?: number;
36
+ };
37
+ /**
38
+ * Result of tab width calculation
39
+ */
40
+ type TabWidthResult = {
41
+ /** Width of the tab in pixels */width: number; /** Leader character to render (if any) */
42
+ leader?: TabLeader; /** Alignment that was applied */
43
+ alignment: TabAlignment | "default";
44
+ };
45
+ /** Default tab interval: 720 twips = 0.5 inch */
46
+ declare const DEFAULT_TAB_INTERVAL_TWIPS = 720;
47
+ /** Twips per inch */
48
+ declare const TWIPS_PER_INCH = 1440;
49
+ /** Pixels per inch (96 dpi standard for CSS) */
50
+ declare const PIXELS_PER_INCH = 96;
51
+ /**
52
+ * Convert twips to pixels
53
+ * @param twips - Value in twips (1/1440 inch)
54
+ * @returns Value in pixels (at 96 dpi)
55
+ */
56
+ declare function twipsToPixels(twips: number): number;
57
+ /**
58
+ * Convert pixels to twips
59
+ * @param pixels - Value in pixels (at 96 dpi)
60
+ * @returns Value in twips (1/1440 inch)
61
+ */
62
+ declare function pixelsToTwips(pixels: number): number;
63
+ /**
64
+ * Compute the list of effective tab stops for a paragraph
65
+ *
66
+ * Merges explicit stops with default stops at regular intervals.
67
+ * Filters out stops that fall before the left indent.
68
+ *
69
+ * @param context - Tab context with explicit stops and settings
70
+ * @returns Sorted array of tab stops in twips
71
+ */
72
+ declare function computeTabStops(context: TabContext): TabStop[];
73
+ /**
74
+ * Pixel widths of the content after a tab, needed to position non-left stops.
75
+ *
76
+ * Caller measures its own runs (the painter and the layout measurer have
77
+ * different run models and measurement paths) and passes the result here, so
78
+ * this module owns the stop grid + alignment math without owning measurement.
79
+ */
80
+ type TabFollowingContent = {
81
+ /** Total width of the runs after the tab. Used for `end` and `center` stops. */followingWidth?: number; /** Width of the content before the decimal separator. Used for `decimal` stops. */
82
+ decimalPrefixWidth?: number;
83
+ };
84
+ /**
85
+ * Calculate the width of a tab character.
86
+ *
87
+ * Finds the next tab stop after the current position and computes the width
88
+ * needed to reach it. For `end`/`center`/`decimal` stops the content after the
89
+ * tab is anchored against the stop, so the caller supplies its measured width
90
+ * via {@link TabFollowingContent}.
91
+ *
92
+ * @param currentXPx - Current horizontal position in pixels (from the content
93
+ * area's left edge — the same origin tab stop positions are measured from)
94
+ * @param context - Tab context with stops and settings
95
+ * @param following - Measured widths of the content after the tab
96
+ * @returns Tab width result with width in pixels
97
+ */
98
+ declare function calculateTabWidth(currentXPx: number, context: TabContext, following?: TabFollowingContent): TabWidthResult;
99
+ /**
100
+ * Calculate tab width with simple default stops
101
+ *
102
+ * Simplified version for basic tab rendering without explicit stops.
103
+ * Uses the default 0.5 inch (48px) tab interval.
104
+ *
105
+ * @param currentXPx - Current horizontal position in pixels
106
+ * @returns Width of the tab in pixels
107
+ */
108
+ declare function calculateSimpleTabWidth(currentXPx: number): number;
109
+ //#endregion
110
+ export { DEFAULT_TAB_INTERVAL_TWIPS, PIXELS_PER_INCH, TWIPS_PER_INCH, TabAlignment, TabContext, TabFollowingContent, TabLeader, TabStop, TabWidthResult, calculateSimpleTabWidth, calculateTabWidth, computeTabStops, pixelsToTwips, twipsToPixels };