superdoc 2.2.1 → 2.3.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 (687) hide show
  1. package/AGENTS.md +337 -0
  2. package/LICENSE +661 -0
  3. package/NOTICE +8 -0
  4. package/README.md +107 -0
  5. package/dist/chunks/FindReplaceSurface-BEW-1NhM.es.js +344 -0
  6. package/dist/chunks/FindReplaceSurface-DLxnCQOB.cjs +346 -0
  7. package/dist/chunks/PasswordPromptSurface-BA6HHqEa.es.js +111 -0
  8. package/dist/chunks/PasswordPromptSurface-DMbfDvpQ.cjs +113 -0
  9. package/dist/chunks/PdfViewer-CNOtyS-I.es.js +531 -0
  10. package/dist/chunks/PdfViewer-CoFiGAhm.cjs +535 -0
  11. package/dist/chunks/_plugin-vue_export-helper-BTwbGDKw.cjs +11 -0
  12. package/dist/chunks/_plugin-vue_export-helper-CInC0bKI.es.js +6 -0
  13. package/dist/chunks/blank-docx-CJAXnJKp.es.js +2 -0
  14. package/dist/chunks/blank-docx-DA-G-3VB.cjs +7 -0
  15. package/dist/chunks/constants-CY3R3_kF.es.js +3 -0
  16. package/dist/chunks/constants-sbCZ2O_A.cjs +14 -0
  17. package/dist/chunks/create-super-doc-ui-CXCqHc2m.cjs +9451 -0
  18. package/dist/chunks/create-super-doc-ui-fxF2Q8Ib.es.js +9188 -0
  19. package/dist/chunks/eventemitter3-B60Fsz-a.es.js +131 -0
  20. package/dist/chunks/eventemitter3-DCfwFVNn.cjs +137 -0
  21. package/dist/chunks/jszip-BdUBlUeG.cjs +4679 -0
  22. package/dist/chunks/jszip-DzmwAHr3.es.js +4650 -0
  23. package/dist/chunks/rolldown-runtime-BJVcqBbz.es.js +43 -0
  24. package/dist/chunks/rolldown-runtime-_dR15c8t.cjs +68 -0
  25. package/dist/chunks/uuid-B2Sqk-3p.es.js +32 -0
  26. package/dist/chunks/uuid-CFp0WGVU.cjs +38 -0
  27. package/dist/collaboration-upgrade-engine.cjs +37 -0
  28. package/dist/collaboration-upgrade-engine.es.js +30 -0
  29. package/dist/document-api/src/authorities/authorities.d.ts +29 -0
  30. package/dist/document-api/src/authorities/authorities.types.d.ts +113 -0
  31. package/dist/document-api/src/blocks/blocks.d.ts +29 -0
  32. package/dist/document-api/src/bookmarks/bookmarks.d.ts +15 -0
  33. package/dist/document-api/src/bookmarks/bookmarks.types.d.ts +82 -0
  34. package/dist/document-api/src/capabilities/capabilities.d.ts +82 -0
  35. package/dist/document-api/src/captions/captions.d.ts +17 -0
  36. package/dist/document-api/src/captions/captions.types.d.ts +61 -0
  37. package/dist/document-api/src/citations/citations.d.ts +39 -0
  38. package/dist/document-api/src/citations/citations.types.d.ts +151 -0
  39. package/dist/document-api/src/clear-content/clear-content.d.ts +25 -0
  40. package/dist/document-api/src/clipboard/clipboard.d.ts +11 -0
  41. package/dist/document-api/src/comments/comments.d.ts +222 -0
  42. package/dist/document-api/src/comments/comments.types.d.ts +227 -0
  43. package/dist/document-api/src/content-controls/content-controls.d.ts +136 -0
  44. package/dist/document-api/src/content-controls/content-controls.types.d.ts +453 -0
  45. package/dist/document-api/src/contract/command-catalog.d.ts +17 -0
  46. package/dist/document-api/src/contract/index.d.ts +9 -0
  47. package/dist/document-api/src/contract/metadata-types.d.ts +30 -0
  48. package/dist/document-api/src/contract/operation-definitions.d.ts +3645 -0
  49. package/dist/document-api/src/contract/operation-map.d.ts +5 -0
  50. package/dist/document-api/src/contract/operation-registry.d.ts +2002 -0
  51. package/dist/document-api/src/contract/reference-aliases.d.ts +19 -0
  52. package/dist/document-api/src/contract/reference-doc-map.d.ts +12 -0
  53. package/dist/document-api/src/contract/schemas.d.ts +35 -0
  54. package/dist/document-api/src/contract/step-op-catalog.d.ts +26 -0
  55. package/dist/document-api/src/contract/types.d.ts +31 -0
  56. package/dist/document-api/src/create/create.d.ts +27 -0
  57. package/dist/document-api/src/cross-refs/cross-refs.d.ts +15 -0
  58. package/dist/document-api/src/cross-refs/cross-refs.types.d.ts +68 -0
  59. package/dist/document-api/src/customXml/customXml.d.ts +19 -0
  60. package/dist/document-api/src/customXml/customXml.types.d.ts +148 -0
  61. package/dist/document-api/src/delete/delete.d.ts +20 -0
  62. package/dist/document-api/src/diff/diff.d.ts +14 -0
  63. package/dist/document-api/src/diff/diff.types.d.ts +83 -0
  64. package/dist/document-api/src/diff/index.d.ts +3 -0
  65. package/dist/document-api/src/errors.d.ts +11 -0
  66. package/dist/document-api/src/export/export.d.ts +10 -0
  67. package/dist/document-api/src/export/export.types.d.ts +40 -0
  68. package/dist/document-api/src/extract/extract.d.ts +15 -0
  69. package/dist/document-api/src/fields/fields.d.ts +15 -0
  70. package/dist/document-api/src/fields/fields.types.d.ts +90 -0
  71. package/dist/document-api/src/find/find.d.ts +52 -0
  72. package/dist/document-api/src/footnotes/footnotes.d.ts +17 -0
  73. package/dist/document-api/src/footnotes/footnotes.types.d.ts +104 -0
  74. package/dist/document-api/src/format/format.d.ts +92 -0
  75. package/dist/document-api/src/format/inline-run-patch.d.ts +138 -0
  76. package/dist/document-api/src/get/get.d.ts +19 -0
  77. package/dist/document-api/src/get-html/get-html.d.ts +27 -0
  78. package/dist/document-api/src/get-markdown/get-markdown.d.ts +22 -0
  79. package/dist/document-api/src/get-node/get-node.d.ts +46 -0
  80. package/dist/document-api/src/get-text/get-text.d.ts +22 -0
  81. package/dist/document-api/src/header-footers/header-footers.d.ts +37 -0
  82. package/dist/document-api/src/header-footers/header-footers.types.d.ts +116 -0
  83. package/dist/document-api/src/history/history.d.ts +38 -0
  84. package/dist/document-api/src/history/history.types.d.ts +100 -0
  85. package/dist/document-api/src/hyperlinks/hyperlinks.d.ts +17 -0
  86. package/dist/document-api/src/hyperlinks/hyperlinks.types.d.ts +112 -0
  87. package/dist/document-api/src/images/images.d.ts +63 -0
  88. package/dist/document-api/src/images/images.types.d.ts +209 -0
  89. package/dist/document-api/src/images/z-order.d.ts +10 -0
  90. package/dist/document-api/src/index/index.d.ts +29 -0
  91. package/dist/document-api/src/index/index.types.d.ts +125 -0
  92. package/dist/document-api/src/index.d.ts +560 -0
  93. package/dist/document-api/src/info/info.d.ts +19 -0
  94. package/dist/document-api/src/inline-semantics/directives.d.ts +95 -0
  95. package/dist/document-api/src/inline-semantics/error-types.d.ts +68 -0
  96. package/dist/document-api/src/inline-semantics/index.d.ts +20 -0
  97. package/dist/document-api/src/inline-semantics/property-ids.d.ts +24 -0
  98. package/dist/document-api/src/inline-semantics/token-parsers.d.ts +59 -0
  99. package/dist/document-api/src/inline-semantics/token-sets.d.ts +34 -0
  100. package/dist/document-api/src/insert/insert.d.ts +65 -0
  101. package/dist/document-api/src/invoke/invoke.d.ts +17 -0
  102. package/dist/document-api/src/lists/lists.d.ts +100 -0
  103. package/dist/document-api/src/lists/lists.types.d.ts +499 -0
  104. package/dist/document-api/src/markdown-to-fragment/markdown-to-fragment.d.ts +15 -0
  105. package/dist/document-api/src/metadata/anchored-metadata.d.ts +33 -0
  106. package/dist/document-api/src/metadata/anchored-metadata.types.d.ts +175 -0
  107. package/dist/document-api/src/paragraphs/paragraphs.d.ts +84 -0
  108. package/dist/document-api/src/paragraphs/paragraphs.types.d.ts +214 -0
  109. package/dist/document-api/src/permission-ranges/permission-ranges.d.ts +15 -0
  110. package/dist/document-api/src/permission-ranges/permission-ranges.types.d.ts +49 -0
  111. package/dist/document-api/src/plan/plan.d.ts +73 -0
  112. package/dist/document-api/src/protection/protection.d.ts +11 -0
  113. package/dist/document-api/src/protection/protection.types.d.ts +47 -0
  114. package/dist/document-api/src/ranges/index.d.ts +2 -0
  115. package/dist/document-api/src/ranges/ranges.types.d.ts +121 -0
  116. package/dist/document-api/src/ranges/resolve.d.ts +2 -0
  117. package/dist/document-api/src/receipt-bridge.d.ts +30 -0
  118. package/dist/document-api/src/replace/replace.d.ts +24 -0
  119. package/dist/document-api/src/sections/sections.d.ts +42 -0
  120. package/dist/document-api/src/sections/sections.types.d.ts +236 -0
  121. package/dist/document-api/src/selection/selection.d.ts +23 -0
  122. package/dist/document-api/src/selection/selection.types.d.ts +85 -0
  123. package/dist/document-api/src/selection-mutation.d.ts +46 -0
  124. package/dist/document-api/src/styles/apply.d.ts +142 -0
  125. package/dist/document-api/src/styles/catalog.d.ts +154 -0
  126. package/dist/document-api/src/styles/index.d.ts +14 -0
  127. package/dist/document-api/src/styles/registry.d.ts +43 -0
  128. package/dist/document-api/src/styles/schema.d.ts +9 -0
  129. package/dist/document-api/src/styles/validation.d.ts +38 -0
  130. package/dist/document-api/src/tables/color-formats.d.ts +12 -0
  131. package/dist/document-api/src/tables/tables.d.ts +83 -0
  132. package/dist/document-api/src/templates/apply.d.ts +160 -0
  133. package/dist/document-api/src/templates/index.d.ts +7 -0
  134. package/dist/document-api/src/toc/toc.d.ts +25 -0
  135. package/dist/document-api/src/toc/toc.types.d.ts +247 -0
  136. package/dist/document-api/src/track-changes/track-changes.d.ts +177 -0
  137. package/dist/document-api/src/types/adapter-result.d.ts +10 -0
  138. package/dist/document-api/src/types/address.d.ts +169 -0
  139. package/dist/document-api/src/types/base.d.ts +89 -0
  140. package/dist/document-api/src/types/blocks.types.d.ts +190 -0
  141. package/dist/document-api/src/types/clipboard.d.ts +216 -0
  142. package/dist/document-api/src/types/comments.types.d.ts +17 -0
  143. package/dist/document-api/src/types/create.types.d.ts +56 -0
  144. package/dist/document-api/src/types/discovery.d.ts +99 -0
  145. package/dist/document-api/src/types/extract.types.d.ts +163 -0
  146. package/dist/document-api/src/types/fragment.d.ts +29 -0
  147. package/dist/document-api/src/types/index.d.ts +30 -0
  148. package/dist/document-api/src/types/info.types.d.ts +109 -0
  149. package/dist/document-api/src/types/inline.types.d.ts +28 -0
  150. package/dist/document-api/src/types/media.types.d.ts +72 -0
  151. package/dist/document-api/src/types/mutation-plan.types.d.ts +264 -0
  152. package/dist/document-api/src/types/node.d.ts +9 -0
  153. package/dist/document-api/src/types/paragraph.types.d.ts +61 -0
  154. package/dist/document-api/src/types/placement.d.ts +24 -0
  155. package/dist/document-api/src/types/query-match.types.d.ts +212 -0
  156. package/dist/document-api/src/types/query.d.ts +133 -0
  157. package/dist/document-api/src/types/receipt.d.ts +191 -0
  158. package/dist/document-api/src/types/references.types.d.ts +9 -0
  159. package/dist/document-api/src/types/sd-contract.d.ts +54 -0
  160. package/dist/document-api/src/types/sd-envelope.d.ts +59 -0
  161. package/dist/document-api/src/types/sd-nodes.d.ts +375 -0
  162. package/dist/document-api/src/types/sd-objects.d.ts +144 -0
  163. package/dist/document-api/src/types/sd-props.d.ts +240 -0
  164. package/dist/document-api/src/types/sd-sections.d.ts +126 -0
  165. package/dist/document-api/src/types/sd-styles.d.ts +36 -0
  166. package/dist/document-api/src/types/step-manifest.types.d.ts +30 -0
  167. package/dist/document-api/src/types/story.types.d.ts +123 -0
  168. package/dist/document-api/src/types/structural-input.d.ts +40 -0
  169. package/dist/document-api/src/types/structured.types.d.ts +21 -0
  170. package/dist/document-api/src/types/style-policy.types.d.ts +49 -0
  171. package/dist/document-api/src/types/table-operations.types.d.ts +618 -0
  172. package/dist/document-api/src/types/tables.types.d.ts +43 -0
  173. package/dist/document-api/src/types/toc.types.d.ts +1 -0
  174. package/dist/document-api/src/types/track-changes.types.d.ts +703 -0
  175. package/dist/document-api/src/validation/create-location-validator.d.ts +2 -0
  176. package/dist/document-api/src/validation/fragment-validator.d.ts +13 -0
  177. package/dist/document-api/src/validation/selection-target-validator.d.ts +7 -0
  178. package/dist/document-api/src/validation/story-validator.d.ts +12 -0
  179. package/dist/document-api/src/validation-primitives.d.ts +29 -0
  180. package/dist/document-api/src/write/locator.d.ts +24 -0
  181. package/dist/document-api/src/write/write.d.ts +73 -0
  182. package/dist/images/altText_add.svg +3 -0
  183. package/dist/images/altText_disclaimer.svg +3 -0
  184. package/dist/images/altText_done.svg +3 -0
  185. package/dist/images/altText_spinner.svg +30 -0
  186. package/dist/images/altText_warning.svg +3 -0
  187. package/dist/images/annotation-check.svg +11 -0
  188. package/dist/images/annotation-comment.svg +16 -0
  189. package/dist/images/annotation-help.svg +26 -0
  190. package/dist/images/annotation-insert.svg +10 -0
  191. package/dist/images/annotation-key.svg +11 -0
  192. package/dist/images/annotation-newparagraph.svg +11 -0
  193. package/dist/images/annotation-noicon.svg +7 -0
  194. package/dist/images/annotation-note.svg +42 -0
  195. package/dist/images/annotation-paperclip.svg +6 -0
  196. package/dist/images/annotation-paragraph.svg +16 -0
  197. package/dist/images/annotation-pushpin.svg +7 -0
  198. package/dist/images/checkmark.svg +5 -0
  199. package/dist/images/comment-actionsButton.svg +3 -0
  200. package/dist/images/comment-closeButton.svg +3 -0
  201. package/dist/images/comment-editButton.svg +8 -0
  202. package/dist/images/comment-popup-editButton.svg +5 -0
  203. package/dist/images/cursor-editorFreeHighlight.svg +6 -0
  204. package/dist/images/cursor-editorFreeText.svg +3 -0
  205. package/dist/images/cursor-editorInk.svg +4 -0
  206. package/dist/images/cursor-editorTextHighlight.svg +8 -0
  207. package/dist/images/editor-toolbar-delete.svg +5 -0
  208. package/dist/images/editor-toolbar-edit.svg +3 -0
  209. package/dist/images/findbarButton-next.svg +3 -0
  210. package/dist/images/findbarButton-previous.svg +3 -0
  211. package/dist/images/gv-toolbarButton-download.svg +3 -0
  212. package/dist/images/loading-icon.gif +0 -0
  213. package/dist/images/loading.svg +1 -0
  214. package/dist/images/messageBar_closingButton.svg +3 -0
  215. package/dist/images/messageBar_info.svg +3 -0
  216. package/dist/images/messageBar_warning.svg +3 -0
  217. package/dist/images/pages_closeButton.svg +3 -0
  218. package/dist/images/pages_selected.svg +7 -0
  219. package/dist/images/pages_viewArrow.svg +3 -0
  220. package/dist/images/pages_viewButton.svg +3 -0
  221. package/dist/images/secondaryToolbarButton-documentProperties.svg +3 -0
  222. package/dist/images/secondaryToolbarButton-firstPage.svg +3 -0
  223. package/dist/images/secondaryToolbarButton-handTool.svg +3 -0
  224. package/dist/images/secondaryToolbarButton-lastPage.svg +3 -0
  225. package/dist/images/secondaryToolbarButton-rotateCcw.svg +3 -0
  226. package/dist/images/secondaryToolbarButton-rotateCw.svg +3 -0
  227. package/dist/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
  228. package/dist/images/secondaryToolbarButton-scrollPage.svg +3 -0
  229. package/dist/images/secondaryToolbarButton-scrollVertical.svg +3 -0
  230. package/dist/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
  231. package/dist/images/secondaryToolbarButton-selectTool.svg +3 -0
  232. package/dist/images/secondaryToolbarButton-spreadEven.svg +3 -0
  233. package/dist/images/secondaryToolbarButton-spreadNone.svg +3 -0
  234. package/dist/images/secondaryToolbarButton-spreadOdd.svg +3 -0
  235. package/dist/images/toolbarButton-bookmark.svg +3 -0
  236. package/dist/images/toolbarButton-currentOutlineItem.svg +3 -0
  237. package/dist/images/toolbarButton-download.svg +4 -0
  238. package/dist/images/toolbarButton-editorFreeText.svg +5 -0
  239. package/dist/images/toolbarButton-editorHighlight.svg +6 -0
  240. package/dist/images/toolbarButton-editorInk.svg +4 -0
  241. package/dist/images/toolbarButton-editorSignature.svg +6 -0
  242. package/dist/images/toolbarButton-editorStamp.svg +8 -0
  243. package/dist/images/toolbarButton-menuArrow.svg +3 -0
  244. package/dist/images/toolbarButton-openFile.svg +3 -0
  245. package/dist/images/toolbarButton-pageDown.svg +3 -0
  246. package/dist/images/toolbarButton-pageUp.svg +3 -0
  247. package/dist/images/toolbarButton-presentationMode.svg +3 -0
  248. package/dist/images/toolbarButton-print.svg +3 -0
  249. package/dist/images/toolbarButton-search.svg +3 -0
  250. package/dist/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
  251. package/dist/images/toolbarButton-viewAttachments.svg +3 -0
  252. package/dist/images/toolbarButton-viewLayers.svg +3 -0
  253. package/dist/images/toolbarButton-viewOutline.svg +3 -0
  254. package/dist/images/toolbarButton-viewThumbnail.svg +3 -0
  255. package/dist/images/toolbarButton-viewsManagerToggle.svg +3 -0
  256. package/dist/images/toolbarButton-zoomIn.svg +3 -0
  257. package/dist/images/toolbarButton-zoomOut.svg +3 -0
  258. package/dist/images/treeitem-collapsed.svg +1 -0
  259. package/dist/images/treeitem-expanded.svg +1 -0
  260. package/dist/layout-engine/contracts/src/author-colors.d.ts +56 -0
  261. package/dist/layout-engine/contracts/src/cell-spacing.d.ts +12 -0
  262. package/dist/layout-engine/contracts/src/clip-path-inset.d.ts +27 -0
  263. package/dist/layout-engine/contracts/src/column-layout.d.ts +79 -0
  264. package/dist/layout-engine/contracts/src/direction-context.d.ts +219 -0
  265. package/dist/layout-engine/contracts/src/drawing-taxonomy.d.ts +126 -0
  266. package/dist/layout-engine/contracts/src/engines/image-wrap.d.ts +54 -0
  267. package/dist/layout-engine/contracts/src/engines/index.d.ts +17 -0
  268. package/dist/layout-engine/contracts/src/engines/lists.d.ts +57 -0
  269. package/dist/layout-engine/contracts/src/engines/paragraph.d.ts +59 -0
  270. package/dist/layout-engine/contracts/src/engines/tables.d.ts +89 -0
  271. package/dist/layout-engine/contracts/src/engines/tabs.d.ts +117 -0
  272. package/dist/layout-engine/contracts/src/graphic-placement.d.ts +76 -0
  273. package/dist/layout-engine/contracts/src/header-footer-inheritance.d.ts +22 -0
  274. package/dist/layout-engine/contracts/src/header-footer-resolution.d.ts +28 -0
  275. package/dist/layout-engine/contracts/src/incremental-dependency.d.ts +10 -0
  276. package/dist/layout-engine/contracts/src/index.d.ts +2459 -0
  277. package/dist/layout-engine/contracts/src/justify-utils.d.ts +98 -0
  278. package/dist/layout-engine/contracts/src/layout-identity.d.ts +136 -0
  279. package/dist/layout-engine/contracts/src/ooxml-z-index.d.ts +46 -0
  280. package/dist/layout-engine/contracts/src/page-number-formatting.d.ts +26 -0
  281. package/dist/layout-engine/contracts/src/page-ref-anchor.d.ts +2 -0
  282. package/dist/layout-engine/contracts/src/pm-range.d.ts +45 -0
  283. package/dist/layout-engine/contracts/src/resolved-layout.d.ts +541 -0
  284. package/dist/layout-engine/contracts/src/run-helpers.d.ts +23 -0
  285. package/dist/layout-engine/contracts/src/sdt-container.d.ts +13 -0
  286. package/dist/layout-engine/contracts/src/segment-geometry.d.ts +192 -0
  287. package/dist/layout-engine/contracts/src/semantic-colors.d.ts +150 -0
  288. package/dist/layout-engine/contracts/src/table-cell-spacing.d.ts +12 -0
  289. package/dist/layout-engine/contracts/src/table-column-rescale.d.ts +13 -0
  290. package/dist/layout-engine/contracts/src/vertical-text.d.ts +43 -0
  291. package/dist/layout-engine/dom-contract/src/class-names.d.ts +62 -0
  292. package/dist/layout-engine/dom-contract/src/data-attrs.d.ts +103 -0
  293. package/dist/layout-engine/dom-contract/src/index.d.ts +18 -0
  294. package/dist/layout-engine/dom-contract/src/selectors.d.ts +47 -0
  295. package/dist/layout-engine/layout-bridge/src/cache-warmer.d.ts +73 -0
  296. package/dist/layout-engine/layout-bridge/src/cache.d.ts +143 -0
  297. package/dist/layout-engine/layout-bridge/src/cacheInvalidation.d.ts +117 -0
  298. package/dist/layout-engine/layout-bridge/src/cursor-renderer.d.ts +201 -0
  299. package/dist/layout-engine/layout-bridge/src/debounced-passes.d.ts +130 -0
  300. package/dist/layout-engine/layout-bridge/src/diff.d.ts +36 -0
  301. package/dist/layout-engine/layout-bridge/src/dirty-tracker.d.ts +128 -0
  302. package/dist/layout-engine/layout-bridge/src/dom-mapping.d.ts +80 -0
  303. package/dist/layout-engine/layout-bridge/src/featureFlags.d.ts +95 -0
  304. package/dist/layout-engine/layout-bridge/src/field-annotation-key.d.ts +2 -0
  305. package/dist/layout-engine/layout-bridge/src/focus-watchdog.d.ts +170 -0
  306. package/dist/layout-engine/layout-bridge/src/font-metrics-cache.d.ts +164 -0
  307. package/dist/layout-engine/layout-bridge/src/footnote-scorer.d.ts +63 -0
  308. package/dist/layout-engine/layout-bridge/src/headerFooterUtils.d.ts +218 -0
  309. package/dist/layout-engine/layout-bridge/src/ime-handler.d.ts +81 -0
  310. package/dist/layout-engine/layout-bridge/src/incrementalLayout.d.ts +390 -0
  311. package/dist/layout-engine/layout-bridge/src/index.d.ts +211 -0
  312. package/dist/layout-engine/layout-bridge/src/instrumentation.d.ts +245 -0
  313. package/dist/layout-engine/layout-bridge/src/layoutHeaderFooter.d.ts +123 -0
  314. package/dist/layout-engine/layout-bridge/src/list-indent-utils.d.ts +205 -0
  315. package/dist/layout-engine/layout-bridge/src/local-paragraph-layout.d.ts +93 -0
  316. package/dist/layout-engine/layout-bridge/src/neutral-hit.d.ts +142 -0
  317. package/dist/layout-engine/layout-bridge/src/neutral-segment-geometry.d.ts +32 -0
  318. package/dist/layout-engine/layout-bridge/src/page-geometry-helper.d.ts +197 -0
  319. package/dist/layout-engine/layout-bridge/src/paragraph-hash-utils.d.ts +126 -0
  320. package/dist/layout-engine/layout-bridge/src/paragraph-line-cache.d.ts +152 -0
  321. package/dist/layout-engine/layout-bridge/src/performance-metrics.d.ts +249 -0
  322. package/dist/layout-engine/layout-bridge/src/pm-dom-fallback.d.ts +188 -0
  323. package/dist/layout-engine/layout-bridge/src/pm-position-validator.d.ts +100 -0
  324. package/dist/layout-engine/layout-bridge/src/position-hit.d.ts +167 -0
  325. package/dist/layout-engine/layout-bridge/src/remeasure.d.ts +75 -0
  326. package/dist/layout-engine/layout-bridge/src/resolveHeaderFooterTokens.d.ts +76 -0
  327. package/dist/layout-engine/layout-bridge/src/rtl-text-geometry.d.ts +34 -0
  328. package/dist/layout-engine/layout-bridge/src/run-visual-marks.d.ts +12 -0
  329. package/dist/layout-engine/layout-bridge/src/safety-net.d.ts +234 -0
  330. package/dist/layout-engine/layout-bridge/src/sectionAwareHeaderFooter.d.ts +15 -0
  331. package/dist/layout-engine/layout-bridge/src/table-handler.d.ts +86 -0
  332. package/dist/layout-engine/layout-bridge/src/text-boundaries.d.ts +17 -0
  333. package/dist/layout-engine/layout-bridge/src/text-measurement.d.ts +69 -0
  334. package/dist/layout-engine/layout-bridge/src/track-changes-handler.d.ts +90 -0
  335. package/dist/layout-engine/layout-bridge/src/tracked-changes-utils.d.ts +41 -0
  336. package/dist/layout-engine/layout-engine/src/anchors.d.ts +52 -0
  337. package/dist/layout-engine/layout-engine/src/column-balancing.d.ts +255 -0
  338. package/dist/layout-engine/layout-engine/src/column-utils.d.ts +1 -0
  339. package/dist/layout-engine/layout-engine/src/floating-objects.d.ts +60 -0
  340. package/dist/layout-engine/layout-engine/src/floating-table-anchor.d.ts +21 -0
  341. package/dist/layout-engine/layout-engine/src/index.d.ts +349 -0
  342. package/dist/layout-engine/layout-engine/src/layout-drawing.d.ts +60 -0
  343. package/dist/layout-engine/layout-engine/src/layout-image.d.ts +16 -0
  344. package/dist/layout-engine/layout-engine/src/layout-paragraph.d.ts +101 -0
  345. package/dist/layout-engine/layout-engine/src/layout-table.d.ts +71 -0
  346. package/dist/layout-engine/layout-engine/src/layout-textbox.d.ts +4 -0
  347. package/dist/layout-engine/layout-engine/src/layout-utils.d.ts +104 -0
  348. package/dist/layout-engine/layout-engine/src/normalize-header-footer-fragments.d.ts +45 -0
  349. package/dist/layout-engine/layout-engine/src/pageNumbering.d.ts +73 -0
  350. package/dist/layout-engine/layout-engine/src/paginator.d.ts +131 -0
  351. package/dist/layout-engine/layout-engine/src/paragraph-layout-eligibility.d.ts +1 -0
  352. package/dist/layout-engine/layout-engine/src/resolvePageRefs.d.ts +31 -0
  353. package/dist/layout-engine/layout-engine/src/resolvePageTokens.d.ts +82 -0
  354. package/dist/layout-engine/layout-engine/src/section-breaks.d.ts +98 -0
  355. package/dist/layout-engine/layout-engine/src/section-props.d.ts +65 -0
  356. package/dist/layout-engine/layout-engine/src/table-cell-slice.d.ts +98 -0
  357. package/dist/layout-engine/painters/dom/src/_test-utils.d.ts +21 -0
  358. package/dist/layout-engine/painters/dom/src/chart-renderer.d.ts +13 -0
  359. package/dist/layout-engine/painters/dom/src/constants.d.ts +10 -0
  360. package/dist/layout-engine/painters/dom/src/css-token.d.ts +10 -0
  361. package/dist/layout-engine/painters/dom/src/features/feature-registry.d.ts +41 -0
  362. package/dist/layout-engine/painters/dom/src/features/inline-direction/index.d.ts +22 -0
  363. package/dist/layout-engine/painters/dom/src/features/inline-direction/rtl-styles.d.ts +27 -0
  364. package/dist/layout-engine/painters/dom/src/features/inline-direction/run-direction.d.ts +75 -0
  365. package/dist/layout-engine/painters/dom/src/features/math/converters/accent.d.ts +25 -0
  366. package/dist/layout-engine/painters/dom/src/features/math/converters/bar.d.ts +16 -0
  367. package/dist/layout-engine/painters/dom/src/features/math/converters/box.d.ts +38 -0
  368. package/dist/layout-engine/painters/dom/src/features/math/converters/delimiter.d.ts +13 -0
  369. package/dist/layout-engine/painters/dom/src/features/math/converters/equation-array.d.ts +19 -0
  370. package/dist/layout-engine/painters/dom/src/features/math/converters/fraction.d.ts +13 -0
  371. package/dist/layout-engine/painters/dom/src/features/math/converters/function.d.ts +16 -0
  372. package/dist/layout-engine/painters/dom/src/features/math/converters/group-character.d.ts +26 -0
  373. package/dist/layout-engine/painters/dom/src/features/math/converters/index.d.ts +27 -0
  374. package/dist/layout-engine/painters/dom/src/features/math/converters/lower-limit.d.ts +13 -0
  375. package/dist/layout-engine/painters/dom/src/features/math/converters/math-run.d.ts +47 -0
  376. package/dist/layout-engine/painters/dom/src/features/math/converters/matrix.d.ts +23 -0
  377. package/dist/layout-engine/painters/dom/src/features/math/converters/nary.d.ts +23 -0
  378. package/dist/layout-engine/painters/dom/src/features/math/converters/phantom.d.ts +17 -0
  379. package/dist/layout-engine/painters/dom/src/features/math/converters/pre-sub-superscript.d.ts +25 -0
  380. package/dist/layout-engine/painters/dom/src/features/math/converters/radical.d.ts +14 -0
  381. package/dist/layout-engine/painters/dom/src/features/math/converters/sub-superscript.d.ts +13 -0
  382. package/dist/layout-engine/painters/dom/src/features/math/converters/subscript.d.ts +13 -0
  383. package/dist/layout-engine/painters/dom/src/features/math/converters/superscript.d.ts +13 -0
  384. package/dist/layout-engine/painters/dom/src/features/math/converters/upper-limit.d.ts +13 -0
  385. package/dist/layout-engine/painters/dom/src/features/math/index.d.ts +14 -0
  386. package/dist/layout-engine/painters/dom/src/features/math/omml-to-mathml.d.ts +18 -0
  387. package/dist/layout-engine/painters/dom/src/features/math/types.d.ts +41 -0
  388. package/dist/layout-engine/painters/dom/src/images/drawing-image.d.ts +5 -0
  389. package/dist/layout-engine/painters/dom/src/images/hyperlink.d.ts +2 -0
  390. package/dist/layout-engine/painters/dom/src/images/image-block.d.ts +15 -0
  391. package/dist/layout-engine/painters/dom/src/images/image-clip-path.d.ts +17 -0
  392. package/dist/layout-engine/painters/dom/src/images/image-fragment.d.ts +34 -0
  393. package/dist/layout-engine/painters/dom/src/images/image-selectors.d.ts +9 -0
  394. package/dist/layout-engine/painters/dom/src/images/types.d.ts +2 -0
  395. package/dist/layout-engine/painters/dom/src/index.d.ts +125 -0
  396. package/dist/layout-engine/painters/dom/src/page-content.d.ts +209 -0
  397. package/dist/layout-engine/painters/dom/src/paragraph/block-version.d.ts +8 -0
  398. package/dist/layout-engine/painters/dom/src/paragraph/borders/border-layer.d.ts +59 -0
  399. package/dist/layout-engine/painters/dom/src/paragraph/borders/group-analysis.d.ts +38 -0
  400. package/dist/layout-engine/painters/dom/src/paragraph/borders/index.d.ts +18 -0
  401. package/dist/layout-engine/painters/dom/src/paragraph/frame.d.ts +3 -0
  402. package/dist/layout-engine/painters/dom/src/paragraph/indentation.d.ts +25 -0
  403. package/dist/layout-engine/painters/dom/src/paragraph/list-marker.d.ts +51 -0
  404. package/dist/layout-engine/painters/dom/src/paragraph/marker-tracked-change.d.ts +34 -0
  405. package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphContent.d.ts +87 -0
  406. package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphFragment.d.ts +33 -0
  407. package/dist/layout-engine/painters/dom/src/paragraph/styles.d.ts +3 -0
  408. package/dist/layout-engine/painters/dom/src/paragraph-hash-utils.d.ts +13 -0
  409. package/dist/layout-engine/painters/dom/src/pm-position-validation.d.ts +149 -0
  410. package/dist/layout-engine/painters/dom/src/renderer.d.ts +681 -0
  411. package/dist/layout-engine/painters/dom/src/ruler/index.d.ts +41 -0
  412. package/dist/layout-engine/painters/dom/src/ruler/ruler-core.d.ts +195 -0
  413. package/dist/layout-engine/painters/dom/src/ruler/ruler-renderer.d.ts +97 -0
  414. package/dist/layout-engine/painters/dom/src/ruler/ruler-styles.d.ts +31 -0
  415. package/dist/layout-engine/painters/dom/src/runs/field-annotation-run.d.ts +14 -0
  416. package/dist/layout-engine/painters/dom/src/runs/font-synthesis.d.ts +1 -0
  417. package/dist/layout-engine/painters/dom/src/runs/formatting-marks.d.ts +3 -0
  418. package/dist/layout-engine/painters/dom/src/runs/hash.d.ts +82 -0
  419. package/dist/layout-engine/painters/dom/src/runs/image-run.d.ts +37 -0
  420. package/dist/layout-engine/painters/dom/src/runs/index.d.ts +13 -0
  421. package/dist/layout-engine/painters/dom/src/runs/links.d.ts +58 -0
  422. package/dist/layout-engine/painters/dom/src/runs/math-run.d.ts +7 -0
  423. package/dist/layout-engine/painters/dom/src/runs/render-line.d.ts +2 -0
  424. package/dist/layout-engine/painters/dom/src/runs/render-run.d.ts +12 -0
  425. package/dist/layout-engine/painters/dom/src/runs/tab-run.d.ts +66 -0
  426. package/dist/layout-engine/painters/dom/src/runs/text-run.d.ts +35 -0
  427. package/dist/layout-engine/painters/dom/src/runs/tracked-changes.d.ts +90 -0
  428. package/dist/layout-engine/painters/dom/src/runs/types.d.ts +67 -0
  429. package/dist/layout-engine/painters/dom/src/sdt/boundaries.d.ts +16 -0
  430. package/dist/layout-engine/painters/dom/src/sdt/container.d.ts +32 -0
  431. package/dist/layout-engine/painters/dom/src/sdt/dataset.d.ts +7 -0
  432. package/dist/layout-engine/painters/dom/src/sdt/inline.d.ts +9 -0
  433. package/dist/layout-engine/painters/dom/src/sdt/snapshot.d.ts +29 -0
  434. package/dist/layout-engine/painters/dom/src/styles.d.ts +71 -0
  435. package/dist/layout-engine/painters/dom/src/svg-utils.d.ts +101 -0
  436. package/dist/layout-engine/painters/dom/src/table/border-utils.d.ts +185 -0
  437. package/dist/layout-engine/painters/dom/src/table/grid-geometry.d.ts +69 -0
  438. package/dist/layout-engine/painters/dom/src/table/renderTableCell.d.ts +170 -0
  439. package/dist/layout-engine/painters/dom/src/table/renderTableFragment.d.ts +132 -0
  440. package/dist/layout-engine/painters/dom/src/table/renderTableRow.d.ts +146 -0
  441. package/dist/layout-engine/painters/dom/src/test-utils/normalize-line.d.ts +39 -0
  442. package/dist/layout-engine/painters/dom/src/utils/anchor-helpers.d.ts +3 -0
  443. package/dist/layout-engine/painters/dom/src/utils/apply-styles.d.ts +1 -0
  444. package/dist/layout-engine/painters/dom/src/utils/layout-identity.d.ts +9 -0
  445. package/dist/layout-engine/painters/dom/src/utils/source-anchor.d.ts +2 -0
  446. package/dist/layout-engine/style-engine/src/bench/resolveSdtMetadata.bench.d.ts +1 -0
  447. package/dist/layout-engine/style-engine/src/cascade.d.ts +43 -0
  448. package/dist/layout-engine/style-engine/src/index.d.ts +121 -0
  449. package/dist/layout-engine/style-engine/src/normalize/colors.d.ts +13 -0
  450. package/dist/layout-engine/style-engine/src/normalize/index.d.ts +13 -0
  451. package/dist/layout-engine/style-engine/src/normalize/paragraph-attrs.d.ts +3 -0
  452. package/dist/layout-engine/style-engine/src/normalize/run-attrs.d.ts +17 -0
  453. package/dist/layout-engine/style-engine/src/normalize/types.d.ts +36 -0
  454. package/dist/layout-engine/style-engine/src/normalize/units.d.ts +13 -0
  455. package/dist/layout-engine/style-engine/src/ooxml/index.d.ts +64 -0
  456. package/dist/layout-engine/style-engine/src/ooxml/numbering-types.d.ts +126 -0
  457. package/dist/layout-engine/style-engine/src/ooxml/styles-types.d.ts +363 -0
  458. package/dist/layout-engine/style-engine/src/ooxml/table-style-selection.d.ts +86 -0
  459. package/dist/layout-engine/style-engine/src/ooxml/types.d.ts +459 -0
  460. package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-theme.d.ts +33 -0
  461. package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-xml.d.ts +29 -0
  462. package/dist/public/ui-react.cjs +175 -0
  463. package/dist/public/ui-react.es.js +159 -0
  464. package/dist/public/ui.cjs +5 -0
  465. package/dist/public/ui.es.js +2 -0
  466. package/dist/shared/common/comments-types.d.ts +102 -0
  467. package/dist/shared/common/layout-constants.d.ts +7 -0
  468. package/dist/shared/common/list-marker-utils.d.ts +186 -0
  469. package/dist/shared/common/list-numbering/index.d.ts +16 -0
  470. package/dist/shared/font-system/src/activation.d.ts +64 -0
  471. package/dist/shared/font-system/src/bundled-manifest.d.ts +32 -0
  472. package/dist/shared/font-system/src/bundled.d.ts +41 -0
  473. package/dist/shared/font-system/src/document-font-options.d.ts +53 -0
  474. package/dist/shared/font-system/src/epoch.d.ts +6 -0
  475. package/dist/shared/font-system/src/font-offerings.d.ts +120 -0
  476. package/dist/shared/font-system/src/index.d.ts +35 -0
  477. package/dist/shared/font-system/src/os2.d.ts +30 -0
  478. package/dist/shared/font-system/src/registry.d.ts +188 -0
  479. package/dist/shared/font-system/src/report.d.ts +98 -0
  480. package/dist/shared/font-system/src/resolver.d.ts +215 -0
  481. package/dist/shared/font-system/src/substitution-evidence.d.ts +103 -0
  482. package/dist/shared/font-system/src/types.d.ts +128 -0
  483. package/dist/style.css +3316 -0
  484. package/dist/style.layered.css +3316 -0
  485. package/dist/superdoc/src/SuperDoc.vue.d.ts +88 -0
  486. package/dist/superdoc/src/cdn-entry.d.ts +2 -0
  487. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +62 -0
  488. package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +26 -0
  489. package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +19 -0
  490. package/dist/superdoc/src/components/CommentsLayer/CommentsDropdown.vue.d.ts +30 -0
  491. package/dist/superdoc/src/components/CommentsLayer/InternalDropdown.vue.d.ts +10 -0
  492. package/dist/superdoc/src/components/CommentsLayer/collect-removed-comment-ids.d.ts +1 -0
  493. package/dist/superdoc/src/components/CommentsLayer/collect-tracked-change-thread.d.ts +6 -0
  494. package/dist/superdoc/src/components/CommentsLayer/comment-schemas.d.ts +18 -0
  495. package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +9 -0
  496. package/dist/superdoc/src/components/CommentsLayer/commentsList/super-comments-list.d.ts +21 -0
  497. package/dist/superdoc/src/components/CommentsLayer/floating-comment-positioning.d.ts +28 -0
  498. package/dist/superdoc/src/components/CommentsLayer/helpers.d.ts +7 -0
  499. package/dist/superdoc/src/components/CommentsLayer/tracked-change-threading.d.ts +2 -0
  500. package/dist/superdoc/src/components/CommentsLayer/types.d.ts +3 -0
  501. package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +8 -0
  502. package/dist/superdoc/src/components/CommentsLayer/use-conversation.d.ts +22 -0
  503. package/dist/superdoc/src/components/CommentsLayer/use-floating-comment.d.ts +11 -0
  504. package/dist/superdoc/src/components/HtmlViewer/HtmlViewer.vue.d.ts +10 -0
  505. package/dist/superdoc/src/components/PdfViewer/PdfViewer.vue.d.ts +61 -0
  506. package/dist/superdoc/src/components/PdfViewer/PdfViewerDocument.vue.d.ts +21 -0
  507. package/dist/superdoc/src/components/PdfViewer/PdfViewerPage.vue.d.ts +24 -0
  508. package/dist/superdoc/src/components/Whiteboard/WhiteboardLayer.vue.d.ts +19 -0
  509. package/dist/superdoc/src/components/Whiteboard/WhiteboardPage.vue.d.ts +17 -0
  510. package/dist/superdoc/src/components/Whiteboard/use-whiteboard.d.ts +18 -0
  511. package/dist/superdoc/src/components/surfaces/FindReplaceSurface.vue.d.ts +19 -0
  512. package/dist/superdoc/src/components/surfaces/PasswordPromptSurface.vue.d.ts +17 -0
  513. package/dist/superdoc/src/components/surfaces/SurfaceDialog.vue.d.ts +12 -0
  514. package/dist/superdoc/src/components/surfaces/SurfaceExternalMount.vue.d.ts +19 -0
  515. package/dist/superdoc/src/components/surfaces/SurfaceFloating.vue.d.ts +10 -0
  516. package/dist/superdoc/src/components/surfaces/SurfaceHost.vue.d.ts +31 -0
  517. package/dist/superdoc/src/components/surfaces/focusable-selector.d.ts +5 -0
  518. package/dist/superdoc/src/composables/find-shortcut-owner.d.ts +32 -0
  519. package/dist/superdoc/src/composables/replace-continuation.d.ts +37 -0
  520. package/dist/superdoc/src/composables/use-ai.d.ts +10 -0
  521. package/dist/superdoc/src/composables/use-comment-small-screen.d.ts +10 -0
  522. package/dist/superdoc/src/composables/use-compact-comment-popover.d.ts +21 -0
  523. package/dist/superdoc/src/composables/use-document.d.ts +34 -0
  524. package/dist/superdoc/src/composables/use-field.d.ts +33 -0
  525. package/dist/superdoc/src/composables/use-find-replace.d.ts +83 -0
  526. package/dist/superdoc/src/composables/use-high-contrast-mode.d.ts +4 -0
  527. package/dist/superdoc/src/composables/use-link-popover.d.ts +221 -0
  528. package/dist/superdoc/src/composables/use-password-prompt.d.ts +33 -0
  529. package/dist/superdoc/src/composables/use-selected-text.d.ts +16 -0
  530. package/dist/superdoc/src/composables/use-viewport-fit.d.ts +50 -0
  531. package/dist/superdoc/src/composables/useUiFontFamily.d.ts +24 -0
  532. package/dist/superdoc/src/core/EventEmitter.d.ts +55 -0
  533. package/dist/superdoc/src/core/SuperDoc.d.ts +775 -0
  534. package/dist/superdoc/src/core/collaboration/collaboration-comments.d.ts +4 -0
  535. package/dist/superdoc/src/core/collaboration/collaboration.d.ts +28 -0
  536. package/dist/superdoc/src/core/collaboration/helpers.d.ts +8 -0
  537. package/dist/superdoc/src/core/collaboration/permissions.d.ts +19 -0
  538. package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +99 -0
  539. package/dist/superdoc/src/core/collaboration/room-overwrite.d.ts +22 -0
  540. package/dist/superdoc/src/core/collaboration/v2-awareness-bridge.d.ts +57 -0
  541. package/dist/superdoc/src/core/config/merge-defined.d.ts +35 -0
  542. package/dist/superdoc/src/core/config/normalize-interaction-config.d.ts +15 -0
  543. package/dist/superdoc/src/core/config/normalize-surfaces-config.d.ts +23 -0
  544. package/dist/superdoc/src/core/config/normalize-ui-config.d.ts +62 -0
  545. package/dist/superdoc/src/core/create-app.d.ts +32 -0
  546. package/dist/superdoc/src/core/editor-runtime/conformance/fake-v2-runtime.d.ts +9 -0
  547. package/dist/superdoc/src/core/editor-runtime/editor-runtime-registry.d.ts +117 -0
  548. package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -0
  549. package/dist/superdoc/src/core/editor-runtime/root-marker.d.ts +33 -0
  550. package/dist/superdoc/src/core/editor-runtime/types.d.ts +405 -0
  551. package/dist/superdoc/src/core/editor-runtime/v2/v2-editor-runtime-adapter.d.ts +185 -0
  552. package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +47 -0
  553. package/dist/superdoc/src/core/extensions/define.d.ts +56 -0
  554. package/dist/superdoc/src/core/extensions/index.d.ts +2 -0
  555. package/dist/superdoc/src/core/extensions/types.d.ts +519 -0
  556. package/dist/superdoc/src/core/helpers/export.d.ts +2 -0
  557. package/dist/superdoc/src/core/helpers/file.d.ts +43 -0
  558. package/dist/superdoc/src/core/helpers/normalize-track-changes-config.d.ts +60 -0
  559. package/dist/superdoc/src/core/helpers/normalize-user.d.ts +13 -0
  560. package/dist/superdoc/src/core/index.d.ts +1 -0
  561. package/dist/superdoc/src/core/pdf/helpers/constants.d.ts +2 -0
  562. package/dist/superdoc/src/core/pdf/helpers/floor.d.ts +1 -0
  563. package/dist/superdoc/src/core/pdf/helpers/range.d.ts +1 -0
  564. package/dist/superdoc/src/core/pdf/helpers/read-file.d.ts +1 -0
  565. package/dist/superdoc/src/core/pdf/pdf-adapter.d.ts +66 -0
  566. package/dist/superdoc/src/core/surface-manager.d.ts +90 -0
  567. package/dist/superdoc/src/core/theme/create-theme.d.ts +82 -0
  568. package/dist/superdoc/src/core/types/index.d.ts +3006 -0
  569. package/dist/superdoc/src/core/v2-integration/browser-peer-runtime.d.ts +3 -0
  570. package/dist/superdoc/src/core/v2-integration/cdn-engine-loader.d.ts +16 -0
  571. package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +97 -0
  572. package/dist/superdoc/src/core/whiteboard/Whiteboard.d.ts +247 -0
  573. package/dist/superdoc/src/core/whiteboard/WhiteboardPage.d.ts +251 -0
  574. package/dist/superdoc/src/core/whiteboard/WhiteboardRenderer.d.ts +2 -0
  575. package/dist/superdoc/src/core/whiteboard/helpers/createTextarea.d.ts +1 -0
  576. package/dist/superdoc/src/core/whiteboard/helpers/flattenPoints.d.ts +1 -0
  577. package/dist/superdoc/src/core/whiteboard/helpers/getRandomId.d.ts +1 -0
  578. package/dist/superdoc/src/helpers/collect-touched-tracked-change-ids.d.ts +11 -0
  579. package/dist/superdoc/src/helpers/comment-focus.d.ts +4 -0
  580. package/dist/superdoc/src/helpers/comment-small-screen.d.ts +14 -0
  581. package/dist/superdoc/src/helpers/deprecation.d.ts +26 -0
  582. package/dist/superdoc/src/helpers/floor.d.ts +1 -0
  583. package/dist/superdoc/src/helpers/group-changes.d.ts +1 -0
  584. package/dist/superdoc/src/helpers/interaction-trace.d.ts +26 -0
  585. package/dist/superdoc/src/helpers/selection-source.d.ts +1 -0
  586. package/dist/superdoc/src/helpers/transaction-touches-structural-change.d.ts +19 -0
  587. package/dist/superdoc/src/helpers/use-selection.d.ts +17 -0
  588. package/dist/superdoc/src/helpers/v2-author-required-rejection.d.ts +22 -0
  589. package/dist/superdoc/src/helpers/v2-remote-review-hydration.d.ts +12 -0
  590. package/dist/superdoc/src/helpers/v2-review-mutation-impact.d.ts +15 -0
  591. package/dist/superdoc/src/helpers/v2-review-mutation-reconciler.d.ts +19 -0
  592. package/dist/superdoc/src/helpers/v2-review-target.d.ts +7 -0
  593. package/dist/superdoc/src/helpers/v2-selection-sync.d.ts +12 -0
  594. package/dist/superdoc/src/helpers/v2-typing-mutation-event.d.ts +5 -0
  595. package/dist/superdoc/src/icons.d.ts +11 -0
  596. package/dist/superdoc/src/index.d.cts +13 -0
  597. package/dist/superdoc/src/index.d.ts +11 -0
  598. package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +21 -0
  599. package/dist/superdoc/src/internal/toolbar/built-in/AlignmentButtons.vue.d.ts +6 -0
  600. package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +10 -0
  601. package/dist/superdoc/src/internal/toolbar/built-in/DocumentMode.vue.d.ts +10 -0
  602. package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +10 -0
  603. package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +10 -0
  604. package/dist/superdoc/src/internal/toolbar/built-in/IconGrid.vue.d.ts +14 -0
  605. package/dist/superdoc/src/internal/toolbar/built-in/IconGridRow.vue.d.ts +13 -0
  606. package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +37 -0
  607. package/dist/superdoc/src/internal/toolbar/built-in/LinkedStyle.vue.d.ts +12 -0
  608. package/dist/superdoc/src/internal/toolbar/built-in/OverflowMenu.vue.d.ts +10 -0
  609. package/dist/superdoc/src/internal/toolbar/built-in/SdTooltip.vue.d.ts +34 -0
  610. package/dist/superdoc/src/internal/toolbar/built-in/StyleButtonsList.vue.d.ts +14 -0
  611. package/dist/superdoc/src/internal/toolbar/built-in/TableActions.vue.d.ts +8 -0
  612. package/dist/superdoc/src/internal/toolbar/built-in/TableGrid.vue.d.ts +6 -0
  613. package/dist/superdoc/src/internal/toolbar/built-in/Toolbar.vue.d.ts +4 -0
  614. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButton.vue.d.ts +24 -0
  615. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButtonIcon.vue.d.ts +11 -0
  616. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +18 -0
  617. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +38 -0
  618. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarSeparator.vue.d.ts +8 -0
  619. package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +24 -0
  620. package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +102 -0
  621. package/dist/superdoc/src/internal/toolbar/built-in/default-items.d.ts +17 -0
  622. package/dist/superdoc/src/internal/toolbar/built-in/font-options.d.ts +1 -0
  623. package/dist/superdoc/src/internal/toolbar/built-in/font-typeahead.d.ts +11 -0
  624. package/dist/superdoc/src/internal/toolbar/built-in/format-negation.d.ts +5 -0
  625. package/dist/superdoc/src/internal/toolbar/built-in/general.d.ts +1 -0
  626. package/dist/superdoc/src/internal/toolbar/built-in/helpers.d.ts +5 -0
  627. package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +10 -0
  628. package/dist/superdoc/src/internal/toolbar/built-in/scroll-helpers.d.ts +4 -0
  629. package/dist/superdoc/src/internal/toolbar/built-in/toolbar-focus-helpers.d.ts +1 -0
  630. package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +76 -0
  631. package/dist/superdoc/src/internal/toolbar/built-in/toolbarTexts.d.ts +58 -0
  632. package/dist/superdoc/src/internal/toolbar/built-in/url-safety.d.ts +8 -0
  633. package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +48 -0
  634. package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +237 -0
  635. package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +59 -0
  636. package/dist/superdoc/src/internal/toolbar/image-upload.d.ts +63 -0
  637. package/dist/superdoc/src/internal/toolbar/index.d.ts +10 -0
  638. package/dist/superdoc/src/main.d.ts +1 -0
  639. package/dist/superdoc/src/public/browser-document-api.d.ts +53 -0
  640. package/dist/superdoc/src/public/collaboration-upgrade-engine.d.cts +26 -0
  641. package/dist/superdoc/src/public/collaboration-upgrade-engine.d.ts +130 -0
  642. package/dist/superdoc/src/public/index.d.cts +359 -0
  643. package/dist/superdoc/src/public/index.d.ts +179 -0
  644. package/dist/superdoc/src/public/ui/commands.d.ts +249 -0
  645. package/dist/superdoc/src/public/ui/create-super-doc-ui.d.ts +18 -0
  646. package/dist/superdoc/src/public/ui/entity-at.d.ts +29 -0
  647. package/dist/superdoc/src/public/ui/equality.d.ts +10 -0
  648. package/dist/superdoc/src/public/ui/format-painter-helpers.d.ts +36 -0
  649. package/dist/superdoc/src/public/ui/react.d.ts +81 -0
  650. package/dist/superdoc/src/public/ui/reasons.d.ts +99 -0
  651. package/dist/superdoc/src/public/ui/types.d.ts +1425 -0
  652. package/dist/superdoc/src/public/ui-react.d.cts +20 -0
  653. package/dist/superdoc/src/public/ui-react.d.ts +20 -0
  654. package/dist/superdoc/src/public/ui.d.cts +194 -0
  655. package/dist/superdoc/src/public/ui.d.ts +29 -0
  656. package/dist/superdoc/src/stores/comments-store.d.ts +676 -0
  657. package/dist/superdoc/src/stores/helpers/floating-comment-instances.d.ts +14 -0
  658. package/dist/superdoc/src/stores/helpers/tracked-change-thread-index.d.ts +14 -0
  659. package/dist/superdoc/src/stores/hrbr-fields-store.d.ts +43 -0
  660. package/dist/superdoc/src/stores/superdoc-store.d.ts +2182 -0
  661. package/dist/superdoc.cjs +36521 -0
  662. package/dist/superdoc.es.js +36449 -0
  663. package/dist/word-layout/src/index.d.ts +64 -0
  664. package/dist/word-layout/src/list-marker.d.ts +68 -0
  665. package/dist/word-layout/src/marker-utils.d.ts +20 -0
  666. package/dist/word-layout/src/numbering-manager.d.ts +85 -0
  667. package/dist/word-layout/src/tab-layout.d.ts +193 -0
  668. package/dist/word-layout/src/types.d.ts +106 -0
  669. package/dist/word-layout/src/unit-conversions.d.ts +120 -0
  670. package/dist-cdn/style.layered.css +2 -0
  671. package/dist-cdn/superdoc.min.css +2 -0
  672. package/dist-cdn/superdoc.min.js +108 -0
  673. package/package.json +137 -24
  674. package/.npmignore +0 -4
  675. package/data.json +0 -17
  676. package/index.js +0 -2
  677. package/lib/Augmenter.js +0 -27
  678. package/lib/Runner.js +0 -80
  679. package/lib/Stopper.js +0 -71
  680. package/test/superdoc.js +0 -126
  681. package/utils/app.js +0 -18
  682. package/utils/server.js +0 -2
  683. package/web/index.js +0 -54
  684. package/web/public/style.css +0 -76
  685. package/web/views/index.ejs +0 -53
  686. package/web/views/layout.ejs +0 -13
  687. package/web/views/method.ejs +0 -59
@@ -0,0 +1,98 @@
1
+ import { TableCellMeasure, TableCell } from '../../contracts/src/index.js';
2
+ /**
3
+ * Describes one block in a table cell with renderer-semantic height values.
4
+ *
5
+ * Maps each measured block to its global line index range and the spacing /
6
+ * height values the DOM painter actually applies. Layout decisions that use
7
+ * these descriptors stay synchronized with `renderTableCell.ts`.
8
+ */
9
+ export type CellRenderBlock = {
10
+ kind: 'paragraph' | 'table' | 'other';
11
+ /** First global line index (inclusive). */
12
+ globalStartLine: number;
13
+ /** Past-the-end global line index (exclusive). */
14
+ globalEndLine: number;
15
+ /** Per-segment heights matching `getCellLines()` output. */
16
+ lineHeights: number[];
17
+ /** `ParagraphMeasure.totalHeight ?? sum(lineHeights)`. */
18
+ totalHeight: number;
19
+ /** Height contributing to content flow. 0 for anchored out-of-flow blocks. */
20
+ visibleHeight: number;
21
+ isFirstBlock: boolean;
22
+ isLastBlock: boolean;
23
+ /** Effective spacing.before (first block: excess over padding.top; others: full). */
24
+ spacingBefore: number;
25
+ /** Raw spacing.after; always 0 for last block (renderer skips it). */
26
+ spacingAfter: number;
27
+ };
28
+ /**
29
+ * Stateful cursor for the `computePartialRow()` fitting loop.
30
+ *
31
+ * Advances one line at a time and reports the rendered cost of each line
32
+ * including block-boundary spacing and totalHeight promotion. O(1) per step.
33
+ */
34
+ export interface CellSliceCursor {
35
+ /**
36
+ * Compute the rendered cost of including the line at `globalLineIndex`.
37
+ * Advances internal state — call exactly once per line, in ascending order.
38
+ * After calling, if the line doesn't fit, break; the cursor state no longer
39
+ * matters since it won't be used again for this cell.
40
+ */
41
+ advanceLine(globalLineIndex: number): number;
42
+ /**
43
+ * Minimum rendered cost of the segment at `globalLineIndex`, for
44
+ * force-progress checks. Pure peek — does not modify cursor state.
45
+ */
46
+ minSegmentCost(globalLineIndex: number): number;
47
+ }
48
+ /**
49
+ * Build an ordered array of block descriptors from a cell's measurement and
50
+ * block data. Descriptors carry all renderer-semantic information needed by
51
+ * `computeCellSliceContentHeight` and the fitting cursor.
52
+ *
53
+ * **Iteration rule**: driven by measured blocks (source of truth for line
54
+ * counts). Block data is attached by index when available; missing data
55
+ * degrades to zero spacing and `totalHeight = sum(lineHeights)`.
56
+ */
57
+ export declare function describeCellRenderBlocks(cellMeasure: TableCellMeasure, cellBlock: TableCell | undefined, cellPadding: {
58
+ top: number;
59
+ bottom: number;
60
+ }): CellRenderBlock[];
61
+ /**
62
+ * Content-area height of a cell slice `[fromLine, toLine)`.
63
+ *
64
+ * Matches the DOM painter's rendering semantics:
65
+ * - `spacing.before` when rendering from the start of a block
66
+ * - `totalHeight` promotion for fully rendered paragraphs
67
+ * - `spacing.after` for fully rendered non-last paragraphs
68
+ *
69
+ * Returns content height only — cell padding is NOT included.
70
+ * O(blocks) per call.
71
+ */
72
+ export declare function computeCellSliceContentHeight(blocks: CellRenderBlock[], fromLine: number, toLine: number): number;
73
+ /**
74
+ * Create a stateful cursor for the `computePartialRow()` fitting loop.
75
+ *
76
+ * The cursor tracks block boundaries and accumulates spacing / promotion costs
77
+ * so that each `advanceLine()` call is O(1). If the fitting loop starts from a
78
+ * continuation (mid-block), the cursor correctly skips spacing.before and
79
+ * totalHeight promotion for the partially consumed block.
80
+ */
81
+ export declare function createCellSliceCursor(blocks: CellRenderBlock[], startLine: number): CellSliceCursor;
82
+ /**
83
+ * Content height of a fully rendered cell, using **measurement** semantics.
84
+ *
85
+ * Unlike `describeCellRenderBlocks` + `computeCellSliceContentHeight` (which
86
+ * use renderer semantics and skip last-block spacing.after), this function
87
+ * includes last-block spacing.after via `effectiveTableCellSpacing` to match
88
+ * how `rowMeasure.height` was computed by the measurer. This keeps
89
+ * `getRowContentHeight()` aligned with `rowMeasure.height` so that
90
+ * `hasExplicitRowHeightSlack()` compares like-for-like.
91
+ *
92
+ * Computes in a single pass without allocating intermediate arrays.
93
+ * Returns content height only — cell padding is NOT included.
94
+ */
95
+ export declare function computeFullCellContentHeight(cellMeasure: TableCellMeasure, cellBlock: TableCell | undefined, cellPadding: {
96
+ top: number;
97
+ bottom: number;
98
+ }): number;
@@ -0,0 +1,21 @@
1
+ import { DomPainterOptions, PaintSnapshot } from './index.js';
2
+ import { PageDecorationProvider } from './renderer.js';
3
+ import { FlowBlock, Layout, Measure, ResolvedLayout } from '../../../contracts/src/index.js';
4
+ export declare const emptyResolved: ResolvedLayout;
5
+ /**
6
+ * Test-only bridge: accepts old-style `{ blocks, measures, ...options }` and
7
+ * returns a painter whose `paint()` automatically builds a `DomPainterInput`.
8
+ */
9
+ export declare function createTestPainter(opts: {
10
+ blocks?: FlowBlock[];
11
+ measures?: Measure[];
12
+ } & DomPainterOptions): {
13
+ paint(layout: Layout, mount: HTMLElement, mapping?: unknown): void;
14
+ setData(blocks: FlowBlock[], measures: Measure[], hb?: FlowBlock[], hm?: Measure[], fb?: FlowBlock[], fm?: Measure[]): void;
15
+ setResolvedLayout(rl: ResolvedLayout | null): void;
16
+ setProviders(header?: PageDecorationProvider, footer?: PageDecorationProvider): void;
17
+ getMountedPageIndices(): number[];
18
+ getPaintSnapshot(): PaintSnapshot | null;
19
+ setShowFormattingMarks(showFormattingMarks: boolean): void;
20
+ dispose(): void;
21
+ };
@@ -0,0 +1,13 @@
1
+ import { ChartModel, DrawingGeometry } from '../../../contracts/src/index.js';
2
+ /**
3
+ * Create a chart element from a ChartDrawing block.
4
+ * Routes to the correct renderer based on chart type, with placeholder fallback.
5
+ */
6
+ export declare function createChartElement(doc: Document, chartData: ChartModel | undefined, geometry: DrawingGeometry): HTMLElement;
7
+ /**
8
+ * Create a placeholder for charts with missing data or unsupported types.
9
+ * Preserves layout dimensions and is print-visible.
10
+ */
11
+ export declare function createChartPlaceholder(doc: Document, container: HTMLElement, label: string): HTMLElement;
12
+ /** Format a numeric tick value for chart axis labels. */
13
+ export declare function formatTickValue(value: number): string;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DOM Painter Constants — Compatibility Re-exports
3
+ *
4
+ * The source of truth for these constants is now `@superdoc/dom-contract`.
5
+ * These re-exports exist so that existing `painter-dom` consumers continue
6
+ * to work without import changes. New code should import from
7
+ * `@superdoc/dom-contract` directly.
8
+ */
9
+ export { DOM_CLASS_NAMES } from '../../../dom-contract/src/index.js';
10
+ export type { DomClassName } from '../../../dom-contract/src/index.js';
@@ -0,0 +1,10 @@
1
+ export type CssToken = {
2
+ css: string;
3
+ fallback: string;
4
+ };
5
+ /**
6
+ * Creates a CSS variable token with a fallback value.
7
+ * The `css` string is used in real browsers (supports var()).
8
+ * The `fallback` is used in environments that don't (e.g., jsdom in tests).
9
+ */
10
+ export declare const cssToken: (varName: string, fallback: string) => CssToken;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Rendering Feature Registry
3
+ *
4
+ * Maps OOXML elements to their rendering feature modules.
5
+ * This is the primary lookup table for agents and developers.
6
+ *
7
+ * To find where an OOXML element renders: search this file.
8
+ * To add a new rendering feature: add an entry here first.
9
+ *
10
+ * Each entry specifies:
11
+ * - feature: human-readable feature name (matches folder name)
12
+ * - module: import path relative to this file
13
+ * - handles: list of OOXML element paths this feature renders
14
+ * - spec: ECMA-376 section reference
15
+ */
16
+ export declare const RENDERING_FEATURES: {
17
+ readonly 'w:pBdr': {
18
+ readonly feature: "paragraph/borders";
19
+ readonly module: "../paragraph/borders";
20
+ readonly handles: readonly ["w:pBdr/w:top", "w:pBdr/w:bottom", "w:pBdr/w:left", "w:pBdr/w:right", "w:pBdr/w:between", "w:pBdr/w:bar"];
21
+ readonly spec: "§17.3.1.24";
22
+ };
23
+ readonly 'w:shd': {
24
+ readonly feature: "paragraph/borders";
25
+ readonly module: "../paragraph/borders";
26
+ readonly handles: readonly ["w:shd/@w:fill", "w:shd/@w:val", "w:shd/@w:color"];
27
+ readonly spec: "§17.3.1.31";
28
+ };
29
+ readonly 'w:bidi': {
30
+ readonly feature: "inline-direction";
31
+ readonly module: "./inline-direction";
32
+ readonly handles: readonly ["w:pPr/w:bidi", "w:rPr/w:rtl"];
33
+ readonly spec: "§17.3.1.1";
34
+ };
35
+ readonly 'm:oMath': {
36
+ readonly feature: "math";
37
+ readonly module: "./math";
38
+ readonly handles: readonly ["m:oMath", "m:oMathPara", "m:r", "m:t", "m:f", "m:rad", "m:sSup", "m:sSub", "m:sSubSup", "m:sPre", "m:d", "m:nary", "m:acc", "m:bar", "m:groupChr", "m:limLow", "m:limUpp", "m:func", "m:m", "m:eqArr", "m:borderBox", "m:box", "m:phant"];
39
+ readonly spec: "§22.1";
40
+ };
41
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Inline Direction - rendering feature module
3
+ *
4
+ * Centralises paragraph base-direction and run-level RTL/bidi handling
5
+ * used by DomPainter:
6
+ * - Detecting whether a paragraph is RTL
7
+ * - Applying dir="rtl" and the correct text-align to an element
8
+ * - Resolving text-align for RTL vs LTR (justify -> right/left)
9
+ * - Deciding whether segment-based (absolute) positioning is safe
10
+ *
11
+ * Scope is paragraph/run inline bidi handling only. Table visual
12
+ * direction (w:bidiVisual, ECMA-376 §17.4.1) is a separate orthogonal
13
+ * axis owned by the painter's table rendering path. Writing mode
14
+ * (w:textDirection, ECMA-376 §17.3.1.41 paragraph / §17.4.72 cell;
15
+ * values in §17.18.93 ST_TextDirection) is another separate axis.
16
+ *
17
+ * @ooxml w:pPr/w:bidi - paragraph bidirectional flag
18
+ * @ooxml w:rPr/w:rtl - run-level right-to-left flag
19
+ * @spec ECMA-376 §17.3.1.1 (bidi), §17.3.2.30 (rtl)
20
+ */
21
+ export { applyRtlStyles, resolveTextAlign, shouldUseSegmentPositioning } from './rtl-styles.js';
22
+ export { resolveRunDirectionAttribute, normalizeRtlDateTokenForWordParity, RTL_DATE_LIKE_TOKEN_RE, STRONG_RTL_CHAR_RE, LATIN_DIGIT_NEUTRAL_ONLY_RE, type RunDirAttribute, } from './run-direction.js';
@@ -0,0 +1,27 @@
1
+ import { ParagraphAttrs } from '../../../../../contracts/src/index.js';
2
+ /**
3
+ * Returns true when the paragraph attributes indicate right-to-left direction.
4
+ */
5
+ export declare const isRtlParagraph: (attrs: ParagraphAttrs | undefined) => boolean;
6
+ /**
7
+ * Compute the effective CSS text-align for a paragraph.
8
+ *
9
+ * DomPainter handles justify via per-line word-spacing, so 'justify'
10
+ * becomes 'left' (LTR) or 'right' (RTL) to align the last line correctly.
11
+ * When no explicit alignment is set the default follows the paragraph direction.
12
+ */
13
+ export declare const resolveTextAlign: (alignment: ParagraphAttrs["alignment"], isRtl: boolean) => string;
14
+ /**
15
+ * Apply `dir` and `text-align` to an element based on paragraph attributes.
16
+ * Used by both `renderLine` (line elements) and `applyParagraphBlockStyles`
17
+ * (fragment wrappers) so the logic stays in one place.
18
+ */
19
+ export declare const applyRtlStyles: (element: HTMLElement, attrs: ParagraphAttrs | undefined) => boolean;
20
+ /**
21
+ * Whether the renderer should use absolute-positioned segment layout for a line.
22
+ *
23
+ * Returns false for RTL paragraphs: the layout engine computes tab X positions
24
+ * in LTR order, so for RTL we fall through to inline-flow rendering where the
25
+ * browser's native bidi algorithm handles tab positioning via dir="rtl".
26
+ */
27
+ export declare const shouldUseSegmentPositioning: (hasExplicitPositioning: boolean, hasSegments: boolean, isRtl: boolean) => boolean;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Run-level direction helpers for DomPainter.
3
+ *
4
+ * These helpers encode paint-time decisions about how to project the OOXML
5
+ * `w:rPr/w:rtl` signal onto a rendered span's `dir` attribute, plus a narrow
6
+ * Word-parity workaround for RTL-tagged date-like numeric runs.
7
+ *
8
+ * The heuristic is intentionally scoped to current Word-parity fixtures
9
+ * (SD-3098 mixed-bidi date tokens). It is NOT a full implementation of
10
+ * §17.3.2.30 semantics - notably absent: `w:dir` embedding (§17.3.2.8),
11
+ * `w:bdo` override (§17.3.2.3), and `w:lang/@bidi` Hebrew vs Arabic numeric
12
+ * differences. Those gaps are tracked separately; see SD-2767 follow-ups.
13
+ *
14
+ * @spec ECMA-376 §17.3.2.30 (rtl), §17.17.4 (boolean property)
15
+ */
16
+ /**
17
+ * Matches numeric date-like tokens such as `2026-03-15`, `15/03/2026`, `1.2.3`.
18
+ * Used by both the run direction resolver and the paint-time RLM injection
19
+ * for Word parity on RTL date strings.
20
+ */
21
+ export declare const RTL_DATE_LIKE_TOKEN_RE: RegExp;
22
+ /**
23
+ * Matches strong-RTL characters across Hebrew, Arabic, and adjacent RTL scripts
24
+ * including presentation forms (FB1D-FB4F Hebrew, FB50-FDFF Arabic-A,
25
+ * FE70-FEFF Arabic-B). The block range covers Hebrew, Arabic, Syriac, NKo,
26
+ * etc.; the Script properties add presentation forms without including
27
+ * noncharacters (FDD0-FDEF) or the BOM (FEFF).
28
+ *
29
+ * AIDEV-NOTE: also used by editing/runtime mixed-bidi handling. Consolidating
30
+ * crosses a layer boundary; tracked under SD-3169 follow-ups.
31
+ */
32
+ export declare const STRONG_RTL_CHAR_RE: RegExp;
33
+ /**
34
+ * Matches runs whose content is exclusively Latin / digit / neutral. Used as
35
+ * the "skip per-run dir=rtl" guard: per §17.3.2.30, behavior of w:rtl on
36
+ * strongly LTR text is unspecified, and Word's empirical output for these
37
+ * runs does not visually reorder.
38
+ */
39
+ export declare const LATIN_DIGIT_NEUTRAL_ONLY_RE: RegExp;
40
+ /**
41
+ * Word-parity workaround for RTL date-like tokens.
42
+ *
43
+ * Word internally injects RLM around numeric separators in RTL date strings,
44
+ * preserving LTR order for the digits while keeping the run RTL. The browser's
45
+ * UBA alone does not match this. We mirror Word by injecting RLM at paint
46
+ * time only - the DOM text differs from the PM model and from the exported
47
+ * OOXML, which both keep the original separators.
48
+ *
49
+ * Intentionally narrow: only matches numeric date-like patterns so other
50
+ * numeric content is unaffected. Scope is current SD-3098 fixtures.
51
+ */
52
+ export declare const normalizeRtlDateTokenForWordParity: (text: string) => string;
53
+ /**
54
+ * Compute the `dir` attribute (if any) to apply to a rendered run span.
55
+ *
56
+ * Decision table:
57
+ * - rtl-tagged + empty text -> 'rtl' (no content to classify, honor source signal)
58
+ * - rtl-tagged + date-like numeric -> 'rtl' (isolates the date as a unit)
59
+ * - rtl-tagged + contains strong-RTL chars -> 'rtl' (standard case)
60
+ * - rtl-tagged + only Latin/digit/neutral -> null (per §17.3.2.30, unspecified;
61
+ * Word does not visually reorder these, so omit dir to inherit paragraph)
62
+ * - rtl-tagged + other (e.g. East Asian, symbols outside the neutral set) -> 'rtl' (fail-safe)
63
+ * - NOT rtl-tagged + date-like numeric text -> 'ltr' (Word-parity: keeps date
64
+ * LTR-classified within an RTL paragraph context so digits don't drift)
65
+ * - NOT rtl-tagged + anything else -> null (let paragraph + UBA decide)
66
+ */
67
+ export type RunDirAttribute = 'rtl' | 'ltr' | null;
68
+ export declare const resolveRunDirectionAttribute: (opts: {
69
+ /** Original run text from the model. */
70
+ runText: string | undefined;
71
+ /** Post-token-resolution text used for rendering (e.g. field token expansion). */
72
+ effectiveText: string;
73
+ /** True when the source OOXML carries `w:rPr/w:rtl`. */
74
+ isRtlTagged: boolean;
75
+ }) => RunDirAttribute;
@@ -0,0 +1,25 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:acc (accent / diacritical mark) to MathML <mover accent="true">.
4
+ *
5
+ * OMML structure:
6
+ * m:acc → m:accPr? (optional: m:chr@m:val), m:e (base expression, required)
7
+ *
8
+ * MathML output:
9
+ * <mover accent="true">
10
+ * <mrow>base</mrow>
11
+ * <mo>accent-char</mo>
12
+ * </mover>
13
+ *
14
+ * ECMA-376 §22.1.2.20 (chr) defines three m:chr states:
15
+ * 1. m:chr element absent → default accent char (U+0302)
16
+ * 2. m:chr present, m:val absent → character is absent (render bare base)
17
+ * 3. m:chr present, m:val = "x" → use x as the accent character
18
+ *
19
+ * When the accent character is absent, the base is returned wrapped in <mrow>
20
+ * with no <mover> wrapper. When m:e itself is absent (invalid per the schema),
21
+ * the converter returns null so the caller can drop the malformed element.
22
+ *
23
+ * @spec ECMA-376 §22.1.2.1 (acc), §22.1.2.2 (accPr), §22.1.2.20 (chr)
24
+ */
25
+ export declare const convertAccent: MathObjectConverter;
@@ -0,0 +1,16 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:bar (overbar/underbar) to MathML <mover> or <munder>.
4
+ *
5
+ * OMML structure:
6
+ * m:bar → m:barPr (optional: m:pos@m:val="top"|"bot"), m:e (base expression)
7
+ *
8
+ * MathML output:
9
+ * top: <mover> <mrow>base</mrow> <mo>&#x203E;</mo> </mover>
10
+ * bot (default): <munder> <mrow>base</mrow> <mo>&#x203E;</mo> </munder>
11
+ *
12
+ * Word renders an underbar when no position is specified, so the default is "bot".
13
+ *
14
+ * @spec ECMA-376 §22.1.2.7
15
+ */
16
+ export declare const convertBar: MathObjectConverter;
@@ -0,0 +1,38 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:box (grouping container) to MathML <mrow>.
4
+ *
5
+ * OMML structure:
6
+ * m:box → m:boxPr (optional), m:e (content)
7
+ *
8
+ * MathML output:
9
+ * <mrow> content </mrow>
10
+ *
11
+ * Per §22.1.2.13 / §22.1.2.14, m:box can carry boxPr children that affect
12
+ * layout and spacing — opEmu (operator emulator), noBreak (disallow line
13
+ * breaks), aln (alignment point), diff (differential spacing), argSz. These
14
+ * have no clean MathML equivalent and are currently dropped; the box
15
+ * degrades to a plain <mrow> that preserves grouping but not the other
16
+ * semantics. Extend here when any of these need first-class support.
17
+ *
18
+ * @spec ECMA-376 §22.1.2.13, §22.1.2.14
19
+ */
20
+ export declare const convertBox: MathObjectConverter;
21
+ /**
22
+ * Convert m:borderBox (bordered box) to MathML <menclose>.
23
+ *
24
+ * OMML structure:
25
+ * m:borderBox → m:borderBoxPr (optional: m:hideTop, m:hideBot, m:hideLeft, m:hideRight,
26
+ * m:strikeBLTR, m:strikeH, m:strikeTLBR, m:strikeV),
27
+ * m:e (content)
28
+ *
29
+ * MathML output:
30
+ * <menclose notation="..."> content </menclose>
31
+ *
32
+ * By default all four borders are shown (notation="box"). Individual borders
33
+ * can be hidden via m:hide* flags, and diagonal/horizontal/vertical strikes
34
+ * can be added via m:strike* flags.
35
+ *
36
+ * @spec ECMA-376 §22.1.2.11
37
+ */
38
+ export declare const convertBorderBox: MathObjectConverter;
@@ -0,0 +1,13 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:d (delimiter) to MathML.
4
+ *
5
+ * OMML structure:
6
+ * m:d → m:dPr (optional: begChr, endChr, sepChr) + one or more m:e expressions
7
+ *
8
+ * MathML output:
9
+ * <mrow><mo>(</mo> ...content... <mo>)</mo></mrow>
10
+ *
11
+ * @spec ECMA-376 §22.1.2.24
12
+ */
13
+ export declare const convertDelimiter: MathObjectConverter;
@@ -0,0 +1,19 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:eqArr (equation array) to MathML <mtable>.
4
+ *
5
+ * OMML structure:
6
+ * m:eqArr → m:eqArrPr (optional), m:e* (one element per row)
7
+ *
8
+ * MathML output:
9
+ * <mtable columnalign="left">
10
+ * <mtr> <mtd> <mrow>row-content</mrow> </mtd> </mtr>
11
+ * ...
12
+ * </mtable>
13
+ *
14
+ * Unlike m:m (matrix), equation arrays have one cell per row and are
15
+ * typically left-aligned. Used for systems of equations.
16
+ *
17
+ * @spec ECMA-376 §22.1.2.34
18
+ */
19
+ export declare const convertEquationArray: MathObjectConverter;
@@ -0,0 +1,13 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:f (fraction) to MathML <mfrac>.
4
+ *
5
+ * OMML structure:
6
+ * m:f → m:fPr (optional: type), m:num (numerator), m:den (denominator)
7
+ *
8
+ * MathML output:
9
+ * <mfrac> <mrow>num</mrow> <mrow>den</mrow> </mfrac>
10
+ *
11
+ * @spec ECMA-376 §22.1.2.36
12
+ */
13
+ export declare const convertFraction: MathObjectConverter;
@@ -0,0 +1,16 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:func (function apply) to MathML.
4
+ *
5
+ * OMML structure:
6
+ * m:func → m:funcPr (optional), m:fName (function name), m:e (argument)
7
+ *
8
+ * MathML output:
9
+ * <mrow> <mrow>name</mrow> <mo>&#x2061;</mo> <mrow>argument</mrow> </mrow>
10
+ *
11
+ * Function names are rendered upright (mathvariant="normal") instead of the
12
+ * default italic identifier style used by MathML.
13
+ *
14
+ * @spec ECMA-376 §22.1.2.39
15
+ */
16
+ export declare const convertFunction: MathObjectConverter;
@@ -0,0 +1,26 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:groupChr (group character) to MathML <munder> or <mover>.
4
+ *
5
+ * OMML structure:
6
+ * m:groupChr → m:groupChrPr (optional: m:chr@m:val, m:pos@m:val, m:vertJc@m:val), m:e
7
+ *
8
+ * MathML output:
9
+ * pos="bot" (default): <munder> <mrow>base</mrow> <mo>char</mo> </munder>
10
+ * pos="top": <mover> <mrow>base</mrow> <mo>char</mo> </mover>
11
+ *
12
+ * Defaults (ECMA-376 §22.1.2.20, §22.1.2.42, §22.1.2.119):
13
+ * m:chr absent → U+23DF (bottom curly bracket)
14
+ * m:chr present without m:val → hidden character
15
+ * m:pos absent → "bot"
16
+ * m:vertJc present without m:val → "bot"
17
+ *
18
+ * vertJc handling: m:vertJc specifies which edge of the group-character object aligns
19
+ * with the surrounding baseline. Natural <munder>/<mover> rendering puts the base on
20
+ * the baseline, which matches (pos=bot, vertJc=top) and (pos=top, vertJc=bot). Word
21
+ * renders an absent m:vertJc as the natural layout for the given position, so a shift
22
+ * is only applied when m:vertJc is explicitly set to the non-natural value for the pos.
23
+ *
24
+ * @spec ECMA-376 §22.1.2.41
25
+ */
26
+ export declare const convertGroupCharacter: MathObjectConverter;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Math Object Converters
3
+ *
4
+ * Each converter transforms one OMML math object type into MathML DOM elements.
5
+ * To add support for a new math object, create a converter file and register it here.
6
+ *
7
+ * See types.ts for the MathObjectConverter interface.
8
+ */
9
+ export { convertMathRun } from './math-run.js';
10
+ export { convertFraction } from './fraction.js';
11
+ export { convertBar } from './bar.js';
12
+ export { convertFunction } from './function.js';
13
+ export { convertDelimiter } from './delimiter.js';
14
+ export { convertSubscript } from './subscript.js';
15
+ export { convertSuperscript } from './superscript.js';
16
+ export { convertSubSuperscript } from './sub-superscript.js';
17
+ export { convertAccent } from './accent.js';
18
+ export { convertPreSubSuperscript } from './pre-sub-superscript.js';
19
+ export { convertEquationArray } from './equation-array.js';
20
+ export { convertRadical } from './radical.js';
21
+ export { convertLowerLimit } from './lower-limit.js';
22
+ export { convertUpperLimit } from './upper-limit.js';
23
+ export { convertNary } from './nary.js';
24
+ export { convertPhantom } from './phantom.js';
25
+ export { convertGroupCharacter } from './group-character.js';
26
+ export { convertMatrix } from './matrix.js';
27
+ export { convertBox, convertBorderBox } from './box.js';
@@ -0,0 +1,13 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:limLow (lower limit) to MathML <munder>.
4
+ *
5
+ * OMML structure:
6
+ * m:limLow → m:limLowPr (optional), m:e (base, e.g. "lim"), m:lim (limit expression)
7
+ *
8
+ * MathML output:
9
+ * <munder> <mrow>base</mrow> <mrow>lim</mrow> </munder>
10
+ *
11
+ * @spec ECMA-376 §22.1.2.54
12
+ */
13
+ export declare const convertLowerLimit: MathObjectConverter;
@@ -0,0 +1,47 @@
1
+ import { OmmlJsonNode, MathObjectConverter } from '../types.js';
2
+ type MathAtomTag = 'mi' | 'mo' | 'mn';
3
+ /**
4
+ * Split a math run's text into MathML atoms, matching Word's OMML2MML.XSL.
5
+ *
6
+ * Rules (ECMA-376 §22.1.2.116 example + Annex L.6.1.13):
7
+ * - Consecutive digits — optionally containing one decimal point between digits —
8
+ * group into a single `<mn>`.
9
+ * - Each recognized operator character becomes its own `<mo>`.
10
+ * - Every other character becomes its own `<mi>`.
11
+ *
12
+ * Example: `"n+1"` → `[<mi>n</mi>, <mo>+</mo>, <mn>1</mn>]`.
13
+ */
14
+ export declare function tokenizeMathText(text: string): Array<{
15
+ tag: MathAtomTag;
16
+ content: string;
17
+ }>;
18
+ /**
19
+ * Convert an m:r (math run) element to MathML atoms.
20
+ *
21
+ * m:r contains:
22
+ * - m:rPr (math run properties: script, style, normal text flag)
23
+ * - m:t (text content)
24
+ * - Optionally w:rPr (WordprocessingML run properties for formatting)
25
+ *
26
+ * The run's text is split per-character into `<mi>` / `<mo>` / `<mn>` atoms
27
+ * per Word's OMML2MML.XSL. For a single-atom run (common case — a one-letter
28
+ * variable, single operator, or an all-digit number) the converter returns a
29
+ * single Element. For a multi-atom run (e.g. "→∞", "x+1") it returns a
30
+ * DocumentFragment whose children become siblings of the parent mrow.
31
+ *
32
+ * @spec ECMA-376 §22.1.2.116 (t) — example shows multi-char mixed runs as the
33
+ * normal authored shape; §22.1.2.58 (lit) implies operators are classified
34
+ * per-character by default.
35
+ */
36
+ export declare const convertMathRun: MathObjectConverter;
37
+ /**
38
+ * Convert an m:r inside m:fName (m:func's function-name slot). Word's
39
+ * OMML2MML.XSL keeps each letter-sequence whole while still splitting out
40
+ * digits and operators — so `sin` stays `<mi>sin</mi>`, but `log_2` becomes
41
+ * `<mi>log</mi><mo>_</mo><mn>2</mn>`.
42
+ *
43
+ * Returns a single Element for single-atom runs or a DocumentFragment when
44
+ * the run emits multiple atoms. Returns null for empty text.
45
+ */
46
+ export declare function convertMathRunAsFunctionName(node: OmmlJsonNode, doc: Document): Node | null;
47
+ export {};
@@ -0,0 +1,23 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:m (matrix) to MathML <mtable>.
4
+ *
5
+ * OMML structure:
6
+ * m:m → m:mPr (optional: mcs/mcJc/baseJc/plcHide — only plcHide applied), m:mr* (rows)
7
+ * m:mr → m:e* (cells; empty m:e creates a positional gap per §22.1.2.32)
8
+ *
9
+ * MathML output:
10
+ * <mtable>
11
+ * <mtr>
12
+ * <mtd> <mrow>cell-content</mrow> </mtd>
13
+ * ...
14
+ * </mtr>
15
+ * ...
16
+ * </mtable>
17
+ *
18
+ * Empty cells render a U+25A1 placeholder by default (§22.1.2.83 plcHide="0").
19
+ * When m:plcHide is present with val "1"/"true" or no val, the placeholder is suppressed.
20
+ *
21
+ * @spec ECMA-376 §22.1.2.60
22
+ */
23
+ export declare const convertMatrix: MathObjectConverter;
@@ -0,0 +1,23 @@
1
+ import { MathObjectConverter } from '../types.js';
2
+ /**
3
+ * Convert m:nary (n-ary operator) to MathML.
4
+ *
5
+ * OMML structure:
6
+ * m:nary → m:naryPr (optional: m:chr@m:val, m:limLoc@m:val, m:subHide, m:supHide),
7
+ * m:sub (lower limit, optional), m:sup (upper limit, optional), m:e (body)
8
+ *
9
+ * MathML shape depends on which limits are shown and the limit location:
10
+ *
11
+ * Both limits, subSup (default for integrals):
12
+ * <mrow><msubsup><mo>∫</mo><mrow>sub</mrow><mrow>sup</mrow></msubsup><mrow>body</mrow></mrow>
13
+ * Both limits, undOvr (default for ∑, ∏, ⋃, ...):
14
+ * <mrow><munderover><mo>∑</mo><mrow>sub</mrow><mrow>sup</mrow></munderover><mrow>body</mrow></mrow>
15
+ *
16
+ * Only sub: <msub> / <munder> + <mo> + <mrow>sub</mrow>
17
+ * Only sup: <msup> / <mover> + <mo> + <mrow>sup</mrow>
18
+ * Neither: bare <mo> inside the outer <mrow>
19
+ *
20
+ * @spec ECMA-376 §22.1.2.70 (m:nary), §22.1.2.72 (m:naryPr),
21
+ * §22.1.2.53 (m:limLoc), §22.1.2.20 (m:chr), §22.9.2.7 (ST_OnOff)
22
+ */
23
+ export declare const convertNary: MathObjectConverter;