@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,270 @@
1
+ import { findChild, findChildren, getAttributes, getChildElements, getLocalName, parseXml } from "./xmlParser.js";
2
+ import { parseSdtProperties } from "./sdtProperties.js";
3
+ import { parseEndnoteProperties, parseFootnoteProperties } from "./notePropertiesParser.js";
4
+ import { parseParagraph } from "./paragraphParser.js";
5
+ import { parseTable } from "./tableParser.js";
6
+ //#region src/docx/footnoteParser.ts
7
+ /**
8
+ * Parse note type attribute
9
+ */
10
+ function parseNoteType(typeAttr) {
11
+ switch (typeAttr) {
12
+ case "separator": return "separator";
13
+ case "continuationSeparator": return "continuationSeparator";
14
+ case "continuationNotice": return "continuationNotice";
15
+ default: return "normal";
16
+ }
17
+ }
18
+ function getNoteAttribute(element, localName) {
19
+ for (const [name, value] of Object.entries(getAttributes(element))) if (getLocalName(name) === localName) return value;
20
+ return null;
21
+ }
22
+ function parseNoteId(element) {
23
+ const id = getNoteAttribute(element, "id");
24
+ if (id === null) return 0;
25
+ const parsed = Number.parseInt(id, 10);
26
+ return Number.isNaN(parsed) ? 0 : parsed;
27
+ }
28
+ function parseNoteBlockContent(element, styles, theme, numbering, rels, media) {
29
+ const blocks = [];
30
+ for (const child of getChildElements(element)) {
31
+ const localName = getLocalName(child.name ?? "");
32
+ if (localName === "p") blocks.push(parseParagraph(child, styles, theme, numbering, rels));
33
+ else if (localName === "tbl") blocks.push(parseTable(child, styles, theme, numbering, rels, media));
34
+ else if (localName === "sdt") {
35
+ const sdtPr = findChild(child, "w", "sdtPr");
36
+ const sdtEndPr = findChild(child, "w", "sdtEndPr");
37
+ const sdtContent = findChild(child, "w", "sdtContent");
38
+ blocks.push({
39
+ type: "blockSdt",
40
+ properties: parseSdtProperties(sdtPr, sdtEndPr),
41
+ content: sdtContent ? parseNoteBlockContent(sdtContent, styles, theme, numbering, rels, media) : []
42
+ });
43
+ }
44
+ }
45
+ return blocks;
46
+ }
47
+ /**
48
+ * Parse a single footnote element (w:footnote)
49
+ */
50
+ function parseFootnote(element, styles, theme, numbering, rels, media) {
51
+ return {
52
+ type: "footnote",
53
+ id: parseNoteId(element),
54
+ noteType: parseNoteType(getNoteAttribute(element, "type")),
55
+ content: parseNoteBlockContent(element, styles, theme, numbering, rels, media)
56
+ };
57
+ }
58
+ /**
59
+ * Parse footnotes.xml
60
+ *
61
+ * @param footnotesXml - The raw XML content of word/footnotes.xml
62
+ * @param styles - Parsed style map for applying styles
63
+ * @param theme - Parsed theme for color resolution
64
+ * @param numbering - Parsed numbering definitions for lists
65
+ * @param rels - Relationships for resolving hyperlinks
66
+ * @param media - Media files for images
67
+ * @returns FootnoteMap with all footnotes
68
+ */
69
+ function parseFootnotes(footnotesXml, styles = null, theme = null, numbering = null, rels = null, media = null) {
70
+ const byId = /* @__PURE__ */ new Map();
71
+ const footnotes = [];
72
+ if (!footnotesXml) return createFootnoteMap(byId, footnotes);
73
+ const rootElement = parseXml(footnotesXml).elements?.find((el) => el.type === "element" && (el.name === "w:footnotes" || el.name?.endsWith(":footnotes")));
74
+ if (!rootElement) return createFootnoteMap(byId, footnotes);
75
+ const footnoteElements = findChildren(rootElement, "w", "footnote");
76
+ for (const fnEl of footnoteElements) {
77
+ const footnote = parseFootnote(fnEl, styles, theme, numbering, rels, media);
78
+ byId.set(footnote.id, footnote);
79
+ footnotes.push(footnote);
80
+ }
81
+ return createFootnoteMap(byId, footnotes);
82
+ }
83
+ /**
84
+ * Create FootnoteMap object with helper methods
85
+ */
86
+ function createFootnoteMap(byId, footnotes) {
87
+ return {
88
+ byId,
89
+ footnotes,
90
+ getFootnote(id) {
91
+ return byId.get(id);
92
+ },
93
+ hasFootnote(id) {
94
+ return byId.has(id);
95
+ },
96
+ getNormalFootnotes() {
97
+ return footnotes.filter((fn) => fn.noteType === "normal");
98
+ },
99
+ getSeparator() {
100
+ return footnotes.find((fn) => fn.noteType === "separator");
101
+ },
102
+ getContinuationSeparator() {
103
+ return footnotes.find((fn) => fn.noteType === "continuationSeparator");
104
+ }
105
+ };
106
+ }
107
+ /**
108
+ * Parse a single endnote element (w:endnote)
109
+ */
110
+ function parseEndnote(element, styles, theme, numbering, rels, media) {
111
+ return {
112
+ type: "endnote",
113
+ id: parseNoteId(element),
114
+ noteType: parseNoteType(getNoteAttribute(element, "type")),
115
+ content: parseNoteBlockContent(element, styles, theme, numbering, rels, media)
116
+ };
117
+ }
118
+ /**
119
+ * Parse endnotes.xml
120
+ *
121
+ * @param endnotesXml - The raw XML content of word/endnotes.xml
122
+ * @param styles - Parsed style map for applying styles
123
+ * @param theme - Parsed theme for color resolution
124
+ * @param numbering - Parsed numbering definitions for lists
125
+ * @param rels - Relationships for resolving hyperlinks
126
+ * @param media - Media files for images
127
+ * @returns EndnoteMap with all endnotes
128
+ */
129
+ function parseEndnotes(endnotesXml, styles = null, theme = null, numbering = null, rels = null, media = null) {
130
+ const byId = /* @__PURE__ */ new Map();
131
+ const endnotes = [];
132
+ if (!endnotesXml) return createEndnoteMap(byId, endnotes);
133
+ const rootElement = parseXml(endnotesXml).elements?.find((el) => el.type === "element" && (el.name === "w:endnotes" || el.name?.endsWith(":endnotes")));
134
+ if (!rootElement) return createEndnoteMap(byId, endnotes);
135
+ const endnoteElements = findChildren(rootElement, "w", "endnote");
136
+ for (const enEl of endnoteElements) {
137
+ const endnote = parseEndnote(enEl, styles, theme, numbering, rels, media);
138
+ byId.set(endnote.id, endnote);
139
+ endnotes.push(endnote);
140
+ }
141
+ return createEndnoteMap(byId, endnotes);
142
+ }
143
+ /**
144
+ * Create EndnoteMap object with helper methods
145
+ */
146
+ function createEndnoteMap(byId, endnotes) {
147
+ return {
148
+ byId,
149
+ endnotes,
150
+ getEndnote(id) {
151
+ return byId.get(id);
152
+ },
153
+ hasEndnote(id) {
154
+ return byId.has(id);
155
+ },
156
+ getNormalEndnotes() {
157
+ return endnotes.filter((en) => en.noteType === "normal");
158
+ },
159
+ getSeparator() {
160
+ return endnotes.find((en) => en.noteType === "separator");
161
+ },
162
+ getContinuationSeparator() {
163
+ return endnotes.find((en) => en.noteType === "continuationSeparator");
164
+ }
165
+ };
166
+ }
167
+ /**
168
+ * Get plain text content of a footnote.
169
+ *
170
+ * Recurses into block-level SDTs so a citation slot inside a note still
171
+ * contributes its text; without recursion, the BlockSdt addition from
172
+ * the previous commit would silently hide the slot's body from this
173
+ * helper.
174
+ */
175
+ function getFootnoteText(footnote) {
176
+ return collectNoteBlockTexts(footnote.content).join("\n");
177
+ }
178
+ /**
179
+ * Get plain text content of an endnote.
180
+ */
181
+ function getEndnoteText(endnote) {
182
+ return collectNoteBlockTexts(endnote.content).join("\n");
183
+ }
184
+ function collectNoteBlockTexts(blocks) {
185
+ const texts = [];
186
+ for (const block of blocks) if (block.type === "paragraph") {
187
+ const paraTexts = [];
188
+ for (const content of block.content) if (content.type === "run") {
189
+ for (const runContent of content.content) if (runContent.type === "text") paraTexts.push(runContent.text);
190
+ }
191
+ texts.push(paraTexts.join(""));
192
+ } else if (block.type === "blockSdt") texts.push(...collectNoteBlockTexts(block.content));
193
+ return texts;
194
+ }
195
+ /**
196
+ * Check if a footnote is a separator (not regular content)
197
+ */
198
+ function isSeparatorFootnote(footnote) {
199
+ return footnote.noteType === "separator" || footnote.noteType === "continuationSeparator" || footnote.noteType === "continuationNotice";
200
+ }
201
+ /**
202
+ * Check if an endnote is a separator (not regular content)
203
+ */
204
+ function isSeparatorEndnote(endnote) {
205
+ return endnote.noteType === "separator" || endnote.noteType === "continuationSeparator" || endnote.noteType === "continuationNotice";
206
+ }
207
+ /**
208
+ * Get footnote number for display (excluding separators)
209
+ * @param footnote - The footnote to get the number for
210
+ * @param footnoteMap - The footnote map
211
+ * @param startNumber - Starting number (default 1)
212
+ * @returns The display number, or null for separator footnotes
213
+ */
214
+ function getFootnoteDisplayNumber(footnote, footnoteMap, startNumber = 1) {
215
+ if (isSeparatorFootnote(footnote)) return null;
216
+ const index = footnoteMap.getNormalFootnotes().findIndex((fn) => fn.id === footnote.id);
217
+ if (index === -1) return null;
218
+ return startNumber + index;
219
+ }
220
+ /**
221
+ * Get endnote number for display (excluding separators)
222
+ * @param endnote - The endnote to get the number for
223
+ * @param endnoteMap - The endnote map
224
+ * @param startNumber - Starting number (default 1)
225
+ * @returns The display number, or null for separator endnotes
226
+ */
227
+ function getEndnoteDisplayNumber(endnote, endnoteMap, startNumber = 1) {
228
+ if (isSeparatorEndnote(endnote)) return null;
229
+ const index = endnoteMap.getNormalEndnotes().findIndex((en) => en.id === endnote.id);
230
+ if (index === -1) return null;
231
+ return startNumber + index;
232
+ }
233
+ /**
234
+ * Create an empty footnote map
235
+ */
236
+ function createEmptyFootnoteMap() {
237
+ return createFootnoteMap(/* @__PURE__ */ new Map(), []);
238
+ }
239
+ /**
240
+ * Create an empty endnote map
241
+ */
242
+ function createEmptyEndnoteMap() {
243
+ return createEndnoteMap(/* @__PURE__ */ new Map(), []);
244
+ }
245
+ /**
246
+ * Merge multiple footnote maps (e.g., from different documents)
247
+ */
248
+ function mergeFootnoteMaps(...maps) {
249
+ const byId = /* @__PURE__ */ new Map();
250
+ const footnotes = [];
251
+ for (const map of maps) for (const fn of map.footnotes) if (!byId.has(fn.id)) {
252
+ byId.set(fn.id, fn);
253
+ footnotes.push(fn);
254
+ }
255
+ return createFootnoteMap(byId, footnotes);
256
+ }
257
+ /**
258
+ * Merge multiple endnote maps (e.g., from different documents)
259
+ */
260
+ function mergeEndnoteMaps(...maps) {
261
+ const byId = /* @__PURE__ */ new Map();
262
+ const endnotes = [];
263
+ for (const map of maps) for (const en of map.endnotes) if (!byId.has(en.id)) {
264
+ byId.set(en.id, en);
265
+ endnotes.push(en);
266
+ }
267
+ return createEndnoteMap(byId, endnotes);
268
+ }
269
+ //#endregion
270
+ export { createEmptyEndnoteMap, createEmptyFootnoteMap, getEndnoteDisplayNumber, getEndnoteText, getFootnoteDisplayNumber, getFootnoteText, isSeparatorEndnote, isSeparatorFootnote, mergeEndnoteMaps, mergeFootnoteMaps, parseEndnoteProperties, parseEndnotes, parseFootnoteProperties, parseFootnotes };
@@ -0,0 +1,119 @@
1
+ import { document_d_exports } from "../types/document.js";
2
+ import { NumberingMap } from "./numberingParser.js";
3
+ import { StyleMap } from "./styleParser.js";
4
+ import { parseFooterReference, parseFooterReferences, parseHeaderReference, parseHeaderReferences } from "./headerFooterRefParser.js";
5
+
6
+ //#region src/docx/headerFooterParser.d.ts
7
+ /**
8
+ * Map of header/footer ID to HeaderFooter content
9
+ */
10
+ type HeaderFooterMap = {
11
+ /** Map of rId to HeaderFooter */byId: Map<string, document_d_exports.HeaderFooter>; /** Get header/footer by rId */
12
+ get: (rId: string) => document_d_exports.HeaderFooter | undefined; /** Check if header/footer exists */
13
+ has: (rId: string) => boolean; /** Get all headers/footers */
14
+ getAll: () => document_d_exports.HeaderFooter[]; /** Get by type */
15
+ getByType: (type: document_d_exports.HeaderFooterType) => document_d_exports.HeaderFooter | undefined;
16
+ };
17
+ /**
18
+ * Parse a header XML file (word/header*.xml)
19
+ *
20
+ * @param headerXml - The raw XML content of the header file
21
+ * @param hdrFtrType - The type of header (default, first, even)
22
+ * @param styles - Parsed style map for applying styles
23
+ * @param theme - Parsed theme for color resolution
24
+ * @param numbering - Parsed numbering definitions for lists
25
+ * @param rels - Relationships for resolving hyperlinks/images
26
+ * @param media - Media files for images
27
+ * @returns HeaderFooter object
28
+ */
29
+ declare function parseHeader(headerXml: string, hdrFtrType?: document_d_exports.HeaderFooterType, styles?: StyleMap | null, theme?: document_d_exports.Theme | null, numbering?: NumberingMap | null, rels?: document_d_exports.RelationshipMap | null, media?: Map<string, document_d_exports.MediaFile> | null): document_d_exports.HeaderFooter;
30
+ /**
31
+ * Parse a footer XML file (word/footer*.xml)
32
+ *
33
+ * @param footerXml - The raw XML content of the footer file
34
+ * @param hdrFtrType - The type of footer (default, first, even)
35
+ * @param styles - Parsed style map for applying styles
36
+ * @param theme - Parsed theme for color resolution
37
+ * @param numbering - Parsed numbering definitions for lists
38
+ * @param rels - Relationships for resolving hyperlinks/images
39
+ * @param media - Media files for images
40
+ * @returns HeaderFooter object
41
+ */
42
+ declare function parseFooter(footerXml: string, hdrFtrType?: document_d_exports.HeaderFooterType, styles?: StyleMap | null, theme?: document_d_exports.Theme | null, numbering?: NumberingMap | null, rels?: document_d_exports.RelationshipMap | null, media?: Map<string, document_d_exports.MediaFile> | null): document_d_exports.HeaderFooter;
43
+ /**
44
+ * Generic function to parse either header or footer
45
+ *
46
+ * @param xml - Raw XML content
47
+ * @param isHeader - true for header, false for footer
48
+ * @param hdrFtrType - The type (default, first, even)
49
+ * @param styles - Style map
50
+ * @param theme - Theme
51
+ * @param numbering - Numbering definitions
52
+ * @param rels - Relationships
53
+ * @param media - Media files
54
+ * @returns HeaderFooter object
55
+ */
56
+ declare function parseHeaderFooter(xml: string, isHeader: boolean, hdrFtrType?: document_d_exports.HeaderFooterType, styles?: StyleMap | null, theme?: document_d_exports.Theme | null, numbering?: NumberingMap | null, rels?: document_d_exports.RelationshipMap | null, media?: Map<string, document_d_exports.MediaFile> | null): document_d_exports.HeaderFooter;
57
+ /**
58
+ * Create an empty HeaderFooterMap
59
+ */
60
+ declare function createEmptyHeaderFooterMap(): HeaderFooterMap;
61
+ /**
62
+ * Build a HeaderFooterMap from references and XML content
63
+ *
64
+ * @param references - Header or footer references from sectPr
65
+ * @param xmlContents - Map of rId to XML content
66
+ * @param isHeader - true for headers, false for footers
67
+ * @param styles - Style map
68
+ * @param theme - Theme
69
+ * @param numbering - Numbering definitions
70
+ * @param rels - Relationships
71
+ * @param media - Media files
72
+ * @returns HeaderFooterMap with all parsed headers/footers
73
+ */
74
+ declare function buildHeaderFooterMap(references: (document_d_exports.HeaderReference | document_d_exports.FooterReference)[], xmlContents: Map<string, string>, isHeader: boolean, styles?: StyleMap | null, theme?: document_d_exports.Theme | null, numbering?: NumberingMap | null, rels?: document_d_exports.RelationshipMap | null, media?: Map<string, document_d_exports.MediaFile> | null): HeaderFooterMap;
75
+ /**
76
+ * Get plain text content of a header/footer
77
+ */
78
+ declare function getHeaderFooterText(hf: document_d_exports.HeaderFooter): string;
79
+ /**
80
+ * Check if header/footer is empty (no content)
81
+ */
82
+ declare function isEmptyHeaderFooter(hf: document_d_exports.HeaderFooter): boolean;
83
+ /**
84
+ * Check if header/footer has page number field
85
+ */
86
+ declare function hasPageNumberField(hf: document_d_exports.HeaderFooter): boolean;
87
+ /**
88
+ * Get the header for a given page considering type rules
89
+ *
90
+ * @param headers - Map of type to HeaderFooter
91
+ * @param pageNumber - 1-based page number
92
+ * @param isFirstPage - Whether this is the first page of the section
93
+ * @param hasDifferentFirstPage - Whether different first page is enabled
94
+ * @param hasDifferentOddEven - Whether different odd/even pages is enabled
95
+ * @returns The appropriate HeaderFooter or undefined
96
+ */
97
+ declare function getHeaderForPage(headers: Map<document_d_exports.HeaderFooterType, document_d_exports.HeaderFooter>, pageNumber: number, isFirstPage: boolean, hasDifferentFirstPage: boolean, hasDifferentOddEven: boolean): document_d_exports.HeaderFooter | undefined;
98
+ /**
99
+ * Get the footer for a given page considering type rules
100
+ * (Same logic as getHeaderForPage)
101
+ */
102
+ declare function getFooterForPage(footers: Map<document_d_exports.HeaderFooterType, document_d_exports.HeaderFooter>, pageNumber: number, isFirstPage: boolean, hasDifferentFirstPage: boolean, hasDifferentOddEven: boolean): document_d_exports.HeaderFooter | undefined;
103
+ /**
104
+ * Convert HeaderFooterMap to type-indexed Map
105
+ *
106
+ * @param map - HeaderFooterMap
107
+ * @returns Map indexed by HeaderFooterType
108
+ */
109
+ declare function headerFooterMapToTypeMap(map: HeaderFooterMap): Map<document_d_exports.HeaderFooterType, document_d_exports.HeaderFooter>;
110
+ /**
111
+ * Check if a HeaderFooter contains any images
112
+ */
113
+ declare function hasImages(hf: document_d_exports.HeaderFooter): boolean;
114
+ /**
115
+ * Check if a HeaderFooter contains any tables
116
+ */
117
+ declare function hasTables(hf: document_d_exports.HeaderFooter): boolean;
118
+ //#endregion
119
+ export { HeaderFooterMap, buildHeaderFooterMap, createEmptyHeaderFooterMap, getFooterForPage, getHeaderFooterText, getHeaderForPage, hasImages, hasPageNumberField, hasTables, headerFooterMapToTypeMap, isEmptyHeaderFooter, parseFooter, parseFooterReference, parseFooterReferences, parseHeader, parseHeaderFooter, parseHeaderReference, parseHeaderReferences };
@@ -0,0 +1,266 @@
1
+ import { collectXmlnsDeclarations, parseXml } from "./xmlParser.js";
2
+ import { parseWatermark } from "./watermarkParser.js";
3
+ import { parseFooterReference, parseFooterReferences, parseHeaderReference, parseHeaderReferences } from "./headerFooterRefParser.js";
4
+ import { parseBlockContent } from "./blockContentParser.js";
5
+ //#region src/docx/headerFooterParser.ts
6
+ /**
7
+ * Parse a header XML file (word/header*.xml)
8
+ *
9
+ * @param headerXml - The raw XML content of the header file
10
+ * @param hdrFtrType - The type of header (default, first, even)
11
+ * @param styles - Parsed style map for applying styles
12
+ * @param theme - Parsed theme for color resolution
13
+ * @param numbering - Parsed numbering definitions for lists
14
+ * @param rels - Relationships for resolving hyperlinks/images
15
+ * @param media - Media files for images
16
+ * @returns HeaderFooter object
17
+ */
18
+ function parseHeader(headerXml, hdrFtrType = "default", styles = null, theme = null, numbering = null, rels = null, media = null) {
19
+ const result = {
20
+ type: "header",
21
+ hdrFtrType,
22
+ content: []
23
+ };
24
+ if (!headerXml) return result;
25
+ const rootElement = parseXml(headerXml).elements?.find((el) => el.type === "element" && (el.name === "w:hdr" || el.name?.endsWith(":hdr")));
26
+ if (!rootElement) return result;
27
+ const watermarkResult = parseWatermark(rootElement);
28
+ if (watermarkResult) {
29
+ result.watermark = watermarkResult.watermark;
30
+ result.rawWatermarkXml = watermarkResult.rawParagraphXml;
31
+ result.watermarkBlockIndex = watermarkResult.blockIndex;
32
+ }
33
+ result.content = parseBlockContent(watermarkResult ? withoutChild(rootElement, watermarkResult.hostingParagraph) : rootElement, styles, theme, numbering, rels, media, {
34
+ inHeaderFooter: true,
35
+ rootXmlns: collectXmlnsDeclarations(rootElement)
36
+ });
37
+ return result;
38
+ }
39
+ /**
40
+ * Return a shallow copy of `parent` whose `elements` array omits the
41
+ * single child reference `child`. Used to skip the watermark paragraph
42
+ * when feeding the header into `parseBlockContent` — without this the
43
+ * body parser would emit an empty placeholder paragraph where the
44
+ * watermark sits in the source.
45
+ */
46
+ function withoutChild(parent, child) {
47
+ return {
48
+ ...parent,
49
+ elements: (parent.elements ?? []).filter((el) => el !== child)
50
+ };
51
+ }
52
+ /**
53
+ * Parse a footer XML file (word/footer*.xml)
54
+ *
55
+ * @param footerXml - The raw XML content of the footer file
56
+ * @param hdrFtrType - The type of footer (default, first, even)
57
+ * @param styles - Parsed style map for applying styles
58
+ * @param theme - Parsed theme for color resolution
59
+ * @param numbering - Parsed numbering definitions for lists
60
+ * @param rels - Relationships for resolving hyperlinks/images
61
+ * @param media - Media files for images
62
+ * @returns HeaderFooter object
63
+ */
64
+ function parseFooter(footerXml, hdrFtrType = "default", styles = null, theme = null, numbering = null, rels = null, media = null) {
65
+ const result = {
66
+ type: "footer",
67
+ hdrFtrType,
68
+ content: []
69
+ };
70
+ if (!footerXml) return result;
71
+ const rootElement = parseXml(footerXml).elements?.find((el) => el.type === "element" && (el.name === "w:ftr" || el.name?.endsWith(":ftr")));
72
+ if (!rootElement) return result;
73
+ result.content = parseBlockContent(rootElement, styles, theme, numbering, rels, media, {
74
+ inHeaderFooter: true,
75
+ rootXmlns: collectXmlnsDeclarations(rootElement)
76
+ });
77
+ return result;
78
+ }
79
+ /**
80
+ * Generic function to parse either header or footer
81
+ *
82
+ * @param xml - Raw XML content
83
+ * @param isHeader - true for header, false for footer
84
+ * @param hdrFtrType - The type (default, first, even)
85
+ * @param styles - Style map
86
+ * @param theme - Theme
87
+ * @param numbering - Numbering definitions
88
+ * @param rels - Relationships
89
+ * @param media - Media files
90
+ * @returns HeaderFooter object
91
+ */
92
+ function parseHeaderFooter(xml, isHeader, hdrFtrType = "default", styles = null, theme = null, numbering = null, rels = null, media = null) {
93
+ if (isHeader) return parseHeader(xml, hdrFtrType, styles, theme, numbering, rels, media);
94
+ return parseFooter(xml, hdrFtrType, styles, theme, numbering, rels, media);
95
+ }
96
+ /**
97
+ * Create a HeaderFooterMap from parsed headers/footers
98
+ */
99
+ function createHeaderFooterMap(byId) {
100
+ return {
101
+ byId,
102
+ get(rId) {
103
+ return byId.get(rId);
104
+ },
105
+ has(rId) {
106
+ return byId.has(rId);
107
+ },
108
+ getAll() {
109
+ return Array.from(byId.values());
110
+ },
111
+ getByType(type) {
112
+ for (const hf of byId.values()) if (hf.hdrFtrType === type) return hf;
113
+ }
114
+ };
115
+ }
116
+ /**
117
+ * Create an empty HeaderFooterMap
118
+ */
119
+ function createEmptyHeaderFooterMap() {
120
+ return createHeaderFooterMap(/* @__PURE__ */ new Map());
121
+ }
122
+ /**
123
+ * Build a HeaderFooterMap from references and XML content
124
+ *
125
+ * @param references - Header or footer references from sectPr
126
+ * @param xmlContents - Map of rId to XML content
127
+ * @param isHeader - true for headers, false for footers
128
+ * @param styles - Style map
129
+ * @param theme - Theme
130
+ * @param numbering - Numbering definitions
131
+ * @param rels - Relationships
132
+ * @param media - Media files
133
+ * @returns HeaderFooterMap with all parsed headers/footers
134
+ */
135
+ function buildHeaderFooterMap(references, xmlContents, isHeader, styles = null, theme = null, numbering = null, rels = null, media = null) {
136
+ const byId = /* @__PURE__ */ new Map();
137
+ for (const ref of references) {
138
+ const xml = xmlContents.get(ref.rId);
139
+ if (xml) {
140
+ const hf = parseHeaderFooter(xml, isHeader, ref.type, styles, theme, numbering, rels, media);
141
+ byId.set(ref.rId, hf);
142
+ }
143
+ }
144
+ return createHeaderFooterMap(byId);
145
+ }
146
+ /**
147
+ * Get plain text content of a header/footer
148
+ */
149
+ function getHeaderFooterText(hf) {
150
+ const texts = [];
151
+ for (const item of hf.content) if (item.type === "paragraph") {
152
+ const paraTexts = [];
153
+ for (const content of item.content) if (content.type === "run") {
154
+ for (const runContent of content.content) if (runContent.type === "text") paraTexts.push(runContent.text);
155
+ }
156
+ texts.push(paraTexts.join(""));
157
+ } else if (item.type === "blockSdt") texts.push(getHeaderFooterText({
158
+ type: hf.type,
159
+ hdrFtrType: hf.hdrFtrType,
160
+ content: item.content
161
+ }));
162
+ else for (const row of item.rows) for (const cell of row.cells) for (const cellContent of cell.content) if (cellContent.type === "paragraph") {
163
+ const paraTexts = [];
164
+ for (const content of cellContent.content) if (content.type === "run") {
165
+ for (const runContent of content.content) if (runContent.type === "text") paraTexts.push(runContent.text);
166
+ }
167
+ texts.push(paraTexts.join(""));
168
+ }
169
+ return texts.join("\n");
170
+ }
171
+ /**
172
+ * Check if header/footer is empty (no content)
173
+ */
174
+ function isEmptyHeaderFooter(hf) {
175
+ if (hf.content.length === 0) return true;
176
+ for (const item of hf.content) {
177
+ if (item.type === "table") return false;
178
+ if (item.content.length > 0) for (const content of item.content) {
179
+ if (content.type !== "run") return false;
180
+ for (const rc of content.content) {
181
+ if (rc.type === "text" && rc.text.length > 0) return false;
182
+ if (rc.type !== "text") return false;
183
+ }
184
+ }
185
+ }
186
+ return true;
187
+ }
188
+ /**
189
+ * Check if header/footer has page number field
190
+ */
191
+ function hasPageNumberField(hf) {
192
+ for (const item of hf.content) if (item.type === "paragraph") for (const content of item.content) {
193
+ if ((content.type === "simpleField" || content.type === "complexField") && (content.fieldType === "PAGE" || content.fieldType === "NUMPAGES")) return true;
194
+ if (content.type === "run") {
195
+ for (const rc of content.content) if (rc.type === "fieldChar" && rc.charType === "begin") continue;
196
+ }
197
+ }
198
+ return false;
199
+ }
200
+ /**
201
+ * Get the header for a given page considering type rules
202
+ *
203
+ * @param headers - Map of type to HeaderFooter
204
+ * @param pageNumber - 1-based page number
205
+ * @param isFirstPage - Whether this is the first page of the section
206
+ * @param hasDifferentFirstPage - Whether different first page is enabled
207
+ * @param hasDifferentOddEven - Whether different odd/even pages is enabled
208
+ * @returns The appropriate HeaderFooter or undefined
209
+ */
210
+ function getHeaderForPage(headers, pageNumber, isFirstPage, hasDifferentFirstPage, hasDifferentOddEven) {
211
+ if (isFirstPage && hasDifferentFirstPage) {
212
+ const firstHeader = headers.get("first");
213
+ if (firstHeader) return firstHeader;
214
+ }
215
+ if (hasDifferentOddEven && pageNumber % 2 === 0) {
216
+ const evenHeader = headers.get("even");
217
+ if (evenHeader) return evenHeader;
218
+ }
219
+ return headers.get("default");
220
+ }
221
+ /**
222
+ * Get the footer for a given page considering type rules
223
+ * (Same logic as getHeaderForPage)
224
+ */
225
+ function getFooterForPage(footers, pageNumber, isFirstPage, hasDifferentFirstPage, hasDifferentOddEven) {
226
+ if (isFirstPage && hasDifferentFirstPage) {
227
+ const firstFooter = footers.get("first");
228
+ if (firstFooter) return firstFooter;
229
+ }
230
+ if (hasDifferentOddEven && pageNumber % 2 === 0) {
231
+ const evenFooter = footers.get("even");
232
+ if (evenFooter) return evenFooter;
233
+ }
234
+ return footers.get("default");
235
+ }
236
+ /**
237
+ * Convert HeaderFooterMap to type-indexed Map
238
+ *
239
+ * @param map - HeaderFooterMap
240
+ * @returns Map indexed by HeaderFooterType
241
+ */
242
+ function headerFooterMapToTypeMap(map) {
243
+ const result = /* @__PURE__ */ new Map();
244
+ for (const hf of map.getAll()) result.set(hf.hdrFtrType, hf);
245
+ return result;
246
+ }
247
+ /**
248
+ * Check if a HeaderFooter contains any images
249
+ */
250
+ function hasImages(hf) {
251
+ for (const item of hf.content) if (item.type === "paragraph") {
252
+ for (const content of item.content) if (content.type === "run") {
253
+ for (const rc of content.content) if (rc.type === "drawing") return true;
254
+ }
255
+ }
256
+ return false;
257
+ }
258
+ /**
259
+ * Check if a HeaderFooter contains any tables
260
+ */
261
+ function hasTables(hf) {
262
+ for (const item of hf.content) if (item.type === "table") return true;
263
+ return false;
264
+ }
265
+ //#endregion
266
+ export { buildHeaderFooterMap, createEmptyHeaderFooterMap, getFooterForPage, getHeaderFooterText, getHeaderForPage, hasImages, hasPageNumberField, hasTables, headerFooterMapToTypeMap, isEmptyHeaderFooter, parseFooter, parseFooterReference, parseFooterReferences, parseHeader, parseHeaderFooter, parseHeaderReference, parseHeaderReferences };
@@ -0,0 +1,22 @@
1
+ import { document_d_exports } from "../types/document.js";
2
+ import { XmlElement } from "./xmlParser.js";
3
+
4
+ //#region src/docx/headerFooterRefParser.d.ts
5
+ /**
6
+ * Parse a header reference from sectPr (w:headerReference)
7
+ */
8
+ declare function parseHeaderReference(element: XmlElement): document_d_exports.HeaderReference;
9
+ /**
10
+ * Parse a footer reference from sectPr (w:footerReference)
11
+ */
12
+ declare function parseFooterReference(element: XmlElement): document_d_exports.FooterReference;
13
+ /**
14
+ * Parse all header references from a sectPr element
15
+ */
16
+ declare function parseHeaderReferences(sectPr: XmlElement): document_d_exports.HeaderReference[];
17
+ /**
18
+ * Parse all footer references from a sectPr element
19
+ */
20
+ declare function parseFooterReferences(sectPr: XmlElement): document_d_exports.FooterReference[];
21
+ //#endregion
22
+ export { parseFooterReference, parseFooterReferences, parseHeaderReference, parseHeaderReferences };