superdoc 2.2.0 → 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 -74
  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,64 @@
1
+ import { WordParagraphLayoutInput, WordParagraphLayoutOutput } from './types.js';
2
+ export * from './types.js';
3
+ export { TWIPS_PER_PIXEL, PIXELS_PER_TWIP, TWIPS_PER_POINT, POINTS_PER_TWIP, pixelsToTwips, twipsToPixels, pointsToTwips, twipsToPoints, halfPointsToPoints, pointsToHalfPoints, } from './unit-conversions.js';
4
+ export { LIST_MARKER_GAP, DEFAULT_LIST_HANGING_PX } from './marker-utils.js';
5
+ export type { NumberingFormat } from './marker-utils.js';
6
+ export { createNumberingManager } from './numbering-manager.js';
7
+ export type { NumberingManager, NumberingManagerSnapshot, NumberingCursor } from './numbering-manager.js';
8
+ export { computeWordListMarker } from './list-marker.js';
9
+ export type { ComputeWordListMarkerInput, ComputeWordListMarkerResult, WordListMarkerDefinition, } from './list-marker.js';
10
+ /**
11
+ * Computes the complete layout properties for a Word paragraph, including indentation,
12
+ * tabs, and optional list marker positioning.
13
+ *
14
+ * This is the main entry point for Word paragraph layout calculation. It processes
15
+ * paragraph properties, document defaults, and optional numbering to produce a complete
16
+ * layout specification that can be used for rendering.
17
+ *
18
+ * @param input - The paragraph layout input containing paragraph properties, document defaults,
19
+ * optional numbering information, and an optional measurement adapter for calculating text widths.
20
+ *
21
+ * @returns A complete layout specification including:
22
+ * - `indentLeftPx`: Left indent in pixels
23
+ * - `hangingPx`: Hanging indent in pixels (clamped to >= 0)
24
+ * - `firstLinePx`: First line indent in pixels (if specified)
25
+ * - `tabsPx`: Array of tab stop positions in pixels
26
+ * - `textStartPx`: Horizontal position where paragraph text begins
27
+ * - `marker`: Optional list marker layout (position, text, styling)
28
+ * - `resolvedIndent`: Merged indent configuration
29
+ * - `resolvedTabs`: Resolved tab stops
30
+ * - `defaultTabIntervalPx`: Default tab interval in pixels
31
+ * - `firstLineIndentMode`: Boolean flag indicating firstLine indent pattern detection.
32
+ * When true, this indicates the paragraph uses OOXML's alternative list indent pattern
33
+ * where the marker is positioned at `left + firstLine` instead of the standard
34
+ * `left - hanging` pattern. This flag is set when `firstLine > 0` and `hanging` is
35
+ * not defined. It affects marker positioning and tab spacing calculations in the renderer.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // Standard hanging indent pattern
40
+ * const layout1 = computeWordParagraphLayout({
41
+ * paragraph: {
42
+ * indent: { left: 720, hanging: 720 },
43
+ * tabs: [],
44
+ * numberingProperties: { numId: '1', ilvl: 0, format: 'decimal', lvlText: '%1.', path: [1] }
45
+ * },
46
+ * docDefaults: { run: { fontFamily: 'Calibri', fontSize: 12 } }
47
+ * });
48
+ * // layout1.firstLineIndentMode is undefined (standard pattern)
49
+ * // Marker positioned at: left (720) - hanging (720) = 0
50
+ *
51
+ * // FirstLine indent pattern (alternative OOXML style)
52
+ * const layout2 = computeWordParagraphLayout({
53
+ * paragraph: {
54
+ * indent: { left: 0, firstLine: 720 },
55
+ * tabs: [],
56
+ * numberingProperties: { numId: '1', ilvl: 0, format: 'decimal', lvlText: '%1.', path: [1] }
57
+ * },
58
+ * docDefaults: { run: { fontFamily: 'Calibri', fontSize: 12 } }
59
+ * });
60
+ * // layout2.firstLineIndentMode is true
61
+ * // Marker positioned at: left (0) + firstLine (720) = 720
62
+ * ```
63
+ */
64
+ export declare function computeWordParagraphLayout(input: WordParagraphLayoutInput): WordParagraphLayoutOutput;
@@ -0,0 +1,68 @@
1
+ import { NumberingManager } from './numbering-manager.js';
2
+ import { ListRenderingAttrs } from './types.js';
3
+ export interface WordListMarkerDefinition {
4
+ /** Concrete numId. */
5
+ numId: number | string;
6
+ /** Abstract numbering id for shared counter scoping. */
7
+ abstractId: number | string;
8
+ /** Level index. */
9
+ ilvl: number;
10
+ /** Resolved level start value (override-aware). */
11
+ start: number;
12
+ /** True if the start value came from `w:lvlOverride/w:startOverride`. */
13
+ startOverridden: boolean;
14
+ /** `w:lvlRestart` value when defined. */
15
+ restart?: number;
16
+ /** Level text template. May be empty when none defined. */
17
+ lvlText?: string;
18
+ /** Effective `w:numFmt/@w:val`. */
19
+ numFmt?: string;
20
+ /** Custom format string when `numFmt === 'custom'`. */
21
+ customFormat?: string;
22
+ /** `w:suff`. Defaults to `tab` when absent. */
23
+ suffix?: string;
24
+ /** `w:lvlJc`. Defaults to `left`. */
25
+ justification?: string;
26
+ /**
27
+ * Effective start settings for ancestor levels `0..ilvl-1`. Registered with
28
+ * `ensureStartSettings` (register-if-absent) before the marker path is
29
+ * computed so first-emitted nested markers fall back to OOXML-defined
30
+ * ancestor starts instead of `1`. Real ancestor counters still win.
31
+ */
32
+ ancestorStartSettings?: Array<{
33
+ ilvl: number;
34
+ start: number;
35
+ restart?: number;
36
+ startOverridden: boolean;
37
+ }>;
38
+ }
39
+ export interface ComputeWordListMarkerInput {
40
+ /** Resolved marker definition. */
41
+ definition: WordListMarkerDefinition;
42
+ /**
43
+ * Numbering manager instance carrying counter state for this projection.
44
+ * The caller must have already called `setStartSettings(...)` for the
45
+ * paragraph's level (this is typically done up-front per (numId, level)
46
+ * pair when paragraphs are first walked).
47
+ */
48
+ manager: NumberingManager;
49
+ /**
50
+ * Source-order key for this paragraph. Must be monotonically increasing
51
+ * for paragraphs within a projection so the counter manager can detect
52
+ * previous siblings.
53
+ */
54
+ paragraphOrdinal: number;
55
+ }
56
+ export interface ComputeWordListMarkerResult {
57
+ listRenderingAttrs: ListRenderingAttrs;
58
+ /** Computed numeric counter path. Useful for callers that want it directly. */
59
+ path: number[];
60
+ /** Effective counter value at the requested ilvl. */
61
+ counter: number;
62
+ }
63
+ /**
64
+ * Compute the marker text, list-rendering attributes, and counter path for
65
+ * one numbered paragraph. Advances the manager state by recording the new
66
+ * counter at the given paragraph ordinal.
67
+ */
68
+ export declare function computeWordListMarker(input: ComputeWordListMarkerInput): ComputeWordListMarkerResult;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Union type representing all supported numbering format types.
3
+ * These formats determine how list markers are displayed.
4
+ */
5
+ export type NumberingFormat = 'bullet' | 'decimal' | 'lowerLetter' | 'upperLetter' | 'lowerRoman' | 'upperRoman';
6
+ /**
7
+ * Default hanging indent for list items in pixels.
8
+ * This value determines the horizontal offset between the marker and the text content.
9
+ */
10
+ export declare const DEFAULT_LIST_HANGING_PX = 18;
11
+ /**
12
+ * Gap between the list marker and the text content in pixels.
13
+ * This spacing ensures visual separation between the marker and the paragraph text.
14
+ */
15
+ export declare const LIST_MARKER_GAP = 8;
16
+ /**
17
+ * Default bullet character used when no specific bullet glyph is provided.
18
+ * The bullet point (•) is the standard Unicode character for unordered lists.
19
+ */
20
+ export declare const DEFAULT_BULLET_GLYPH = "\u2022";
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Editor-neutral list counter manager. Keeps word-layout marker text stable for
3
+ * abstract-id shared counters and `w:lvlOverride/@w:startOverride` scoping.
4
+ *
5
+ * Behavior:
6
+ * - counters are tracked per abstractId so multiple concrete `numId`s sharing
7
+ * the same abstract definition continue numbering across the document
8
+ * - a per-`(numId, level)` `startOverridden` flag scopes counters back to the
9
+ * single concrete `numId` when an `lvlOverride/startOverride` is in play
10
+ * - cache mode keeps the fast `lastSeen*` lookup path used by runtime adapters
11
+ */
12
+ type NumId = string | number;
13
+ type Level = number;
14
+ type Position = number;
15
+ type CounterValue = number;
16
+ type CounterLevelMap = Record<Position, CounterValue>;
17
+ type CounterMap = Record<string, Record<Level, CounterLevelMap>>;
18
+ type StartSettings = {
19
+ start: number;
20
+ restart?: number;
21
+ startOverridden?: boolean;
22
+ };
23
+ type StartsMap = Record<string, Record<Level, StartSettings>>;
24
+ type LastSeenMap = Record<string, Record<Level, {
25
+ pos: number;
26
+ count: number;
27
+ }>>;
28
+ /**
29
+ * Opaque, same-realm numbering cursor. Its payload is one immutable persistent
30
+ * state root, so capture and restore are O(1); unchanged numbering scopes are
31
+ * structurally shared across every retained cursor. Restore is valid only
32
+ * within the JS realm that captured it and only in compact mode.
33
+ */
34
+ export interface NumberingCursor {
35
+ readonly __wordLayoutNumberingCursor: true;
36
+ }
37
+ export interface NumberingManager {
38
+ setStartSettings(numId: NumId, level: number, startValue: number, restartValue?: number, startOverridden?: boolean): void;
39
+ ensureStartSettings(numId: NumId, level: number, startValue: number, restartValue?: number, startOverridden?: boolean): void;
40
+ setCounter(numId: NumId, level: number, pos: number, value: number, abstractId?: string | number): void;
41
+ getCounter(numId: NumId, level: number, pos: number): number | null;
42
+ calculateCounter(numId: NumId, level: number, pos: number, abstractId?: string | number): number;
43
+ getAncestorsPath(numId: NumId, level: number, pos: number): number[];
44
+ calculatePath(numId: NumId, level: number, pos: number): number[];
45
+ getCountersMap(): CounterMap;
46
+ exportSnapshot(): NumberingManagerSnapshot;
47
+ restoreSnapshot(snapshot: NumberingManagerSnapshot | null): void;
48
+ /**
49
+ * Capture a compact, same-realm cursor of current numbering state in O(1).
50
+ * The returned token is opaque and non-serializable by contract: passing it
51
+ * through `structuredClone` or a worker boundary strips its brand and
52
+ * `restoreCursor` rejects it. Throws unless compact mode is enabled.
53
+ */
54
+ captureCursor(): NumberingCursor;
55
+ /**
56
+ * Restore state in O(1) from a cursor produced in the same realm. Throws on a
57
+ * foreign/serialized cursor or when compact mode is not enabled; `null`
58
+ * resets to the empty state.
59
+ */
60
+ restoreCursor(cursor: NumberingCursor | null): void;
61
+ _clearCache(): void;
62
+ enableCache(): void;
63
+ disableCache(): void;
64
+ /**
65
+ * Enable compact (cursor-timeline) mode: the cache-fast lookup path PLUS
66
+ * suppression of the historical per-position counter maps and the
67
+ * position-keyed path cache. Sequential queries are served from last-seen
68
+ * facts. Current state is linear in active scopes, while retained cursors add
69
+ * only fixed-depth structurally shared transitions. Arbitrary past-position
70
+ * `getCounter` queries are not answerable in this mode; callers needing them
71
+ * must use the default (non-compact) mode.
72
+ */
73
+ enableCompactMode(): void;
74
+ clearAllState(): void;
75
+ }
76
+ export interface NumberingManagerSnapshot {
77
+ startsMap: StartsMap;
78
+ countersMap: CounterMap;
79
+ abstractCountersMap: CounterMap;
80
+ abstractIdMap: Record<string, string | undefined>;
81
+ lastSeenByAbstractIdMap: LastSeenMap;
82
+ lastSeenByNumIdMap: LastSeenMap;
83
+ }
84
+ export declare function createNumberingManager(): NumberingManager;
85
+ export {};
@@ -0,0 +1,193 @@
1
+ import { ParagraphIndent, ResolvedTabStop } from './types.js';
2
+ /**
3
+ * Tab alignment type supporting all Word-compatible alignment modes.
4
+ * Used throughout tab stop processing to ensure type safety.
5
+ */
6
+ export type TabAlignment = 'start' | 'center' | 'end' | 'decimal' | 'bar' | 'num';
7
+ /**
8
+ * Raw tab stop data as received from various document parsers.
9
+ *
10
+ * Different parsers may use different property names for the same concepts:
11
+ * - `val`, `align`, `alignment`, or `type` for alignment mode
12
+ * - `originalPos` for positions already in twips (no conversion needed)
13
+ * - `pos`, `position`, or `offset` for positions in pixels (require conversion to twips)
14
+ * - `leader` for the optional leader character style
15
+ *
16
+ * This flexible structure allows the normalization functions to handle
17
+ * tab stop data from multiple sources without requiring parser-specific code.
18
+ */
19
+ export type RawTabStop = {
20
+ val?: string;
21
+ align?: string;
22
+ alignment?: string;
23
+ type?: string;
24
+ originalPos?: number;
25
+ pos?: number;
26
+ position?: number;
27
+ offset?: number;
28
+ leader?: 'none' | 'dot' | 'heavy' | 'hyphen' | 'middleDot' | 'underscore';
29
+ };
30
+ /**
31
+ * Normalized tab stop with positions standardized to twips.
32
+ *
33
+ * This is the intermediate format used during tab stop processing.
34
+ * All position values are guaranteed to be in twips (1/1440 inch),
35
+ * allowing consistent calculations regardless of the original source format.
36
+ * The alignment is validated and normalized to standard values.
37
+ */
38
+ export type NormalizedTabStopTwips = {
39
+ alignment: TabAlignment;
40
+ positionTwips: number;
41
+ leader?: RawTabStop['leader'];
42
+ };
43
+ /**
44
+ * Options for computing the final set of tab stops.
45
+ *
46
+ * Controls whether to use explicit tab stops or generate default stops,
47
+ * and how to position default stops when generated.
48
+ */
49
+ export type ComputeTabStopsOptions = {
50
+ /** Pre-normalized explicit tab stops to use instead of generating defaults */
51
+ explicitStops?: NormalizedTabStopTwips[];
52
+ /** Interval between default tab stops in twips (typically 720 = 0.5 inch) */
53
+ defaultTabIntervalTwips?: number;
54
+ /** Starting offset for default tab stop calculation (e.g., left indent) */
55
+ startTwips?: number;
56
+ };
57
+ /**
58
+ * Options for building the complete effective tab stop set.
59
+ *
60
+ * Integrates tab stops from multiple sources: paragraph-level explicit stops,
61
+ * paragraph-level defaults, and document-level defaults. Also handles
62
+ * decimal separator configuration for decimal-aligned tabs.
63
+ */
64
+ export type BuildEffectiveTabStopsOptions = {
65
+ /** Raw tab stops defined explicitly on the paragraph */
66
+ explicitStops?: RawTabStop[];
67
+ /** Paragraph indentation affecting tab stop positioning */
68
+ paragraphIndent?: ParagraphIndent;
69
+ /** Paragraph-level default tab interval (overrides document default) */
70
+ paragraphTabIntervalTwips?: number;
71
+ /** Document-level default tab interval */
72
+ defaultTabIntervalTwips?: number;
73
+ /** Character to use for decimal alignment (e.g., '.' or ',') */
74
+ decimalSeparator?: string;
75
+ };
76
+ /**
77
+ * Normalizes alignment values from various formats to standard alignment types.
78
+ *
79
+ * Handles case-insensitive alignment names, legacy alignment values (left/right),
80
+ * and unknown values by mapping them to standard alignment types. This ensures
81
+ * consistent alignment handling across different document formats.
82
+ *
83
+ * @param value - Alignment value from document source (may be undefined, empty, or unknown)
84
+ * @returns Normalized TabAlignment, null if no valid alignment provided, or 'start' for unknown values
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * normalizeAlignment('LEFT') // returns 'start'
89
+ * normalizeAlignment('Right') // returns 'end'
90
+ * normalizeAlignment('decimal') // returns 'decimal'
91
+ * normalizeAlignment('') // returns null
92
+ * normalizeAlignment('unknown') // returns 'start' (fallback)
93
+ * normalizeAlignment(undefined) // returns null
94
+ * ```
95
+ */
96
+ export declare const normalizeAlignment: (value?: string) => TabAlignment | null;
97
+ /**
98
+ * Normalizes raw tab stop data into a consistent format with positions in twips.
99
+ *
100
+ * This function processes various tab stop representations (which may use different
101
+ * property names and units) into a standardized format suitable for layout calculations.
102
+ * It handles alignment normalization, position unit conversion, and sorting.
103
+ *
104
+ * @param candidateStops - Array of raw tab stop objects from document parsing.
105
+ * May be null, undefined, or contain malformed entries.
106
+ * @returns Array of normalized tab stops sorted by position, with positions in twips
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const stops = normalizeExplicitTabStops([
111
+ * { val: 'left', pos: 48 }, // Position in pixels
112
+ * { val: 'right', originalPos: 1440 }, // Position in twips
113
+ * { val: 'decimal', pos: 96, leader: 'dot' }
114
+ * ]);
115
+ *
116
+ * console.log(stops);
117
+ * // [
118
+ * // { alignment: 'start', positionTwips: 720, leader: undefined },
119
+ * // { alignment: 'end', positionTwips: 1440, leader: undefined },
120
+ * // { alignment: 'decimal', positionTwips: 1440, leader: 'dot' }
121
+ * // ]
122
+ * ```
123
+ */
124
+ export declare const normalizeExplicitTabStops: (candidateStops?: RawTabStop[] | null) => NormalizedTabStopTwips[];
125
+ /**
126
+ * Computes the final list of tab stops, using either explicit stops or generating
127
+ * default stops at regular intervals.
128
+ *
129
+ * When explicit tab stops are provided, they are used directly. Otherwise, this function
130
+ * generates a default set of equally-spaced tab stops based on the default interval.
131
+ *
132
+ * @param options - Configuration for tab stop computation
133
+ * @param options.explicitStops - Pre-normalized explicit tab stops to use
134
+ * @param options.defaultTabIntervalTwips - Interval between default tab stops in twips
135
+ * @param options.startTwips - Starting offset for default tab stop calculation
136
+ * @returns Array of tab stops sorted by position
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * // Using explicit stops
141
+ * const explicit = computeTabStops({
142
+ * explicitStops: [
143
+ * { alignment: 'start', positionTwips: 720 },
144
+ * { alignment: 'end', positionTwips: 1440 }
145
+ * ]
146
+ * });
147
+ *
148
+ * // Generating default stops
149
+ * const defaults = computeTabStops({
150
+ * defaultTabIntervalTwips: 720,
151
+ * startTwips: 0
152
+ * });
153
+ * // Returns 12 stops at 720, 1440, 2160, ... twips
154
+ * ```
155
+ */
156
+ export declare const computeTabStops: (options: ComputeTabStopsOptions) => NormalizedTabStopTwips[];
157
+ /**
158
+ * Builds the complete set of effective tab stops in pixels, accounting for paragraph
159
+ * indentation and document defaults.
160
+ *
161
+ * This is the primary tab stop resolution function that integrates all sources of tab
162
+ * configuration: explicit paragraph tab stops, paragraph-level defaults, and document-level
163
+ * defaults. It also handles decimal separator characters for decimal-aligned tabs.
164
+ *
165
+ * @param options - Options for building effective tab stops
166
+ * @param options.explicitStops - Raw tab stops defined on the paragraph
167
+ * @param options.paragraphIndent - Paragraph indentation that affects tab stop positioning
168
+ * @param options.paragraphTabIntervalTwips - Paragraph-level default tab interval
169
+ * @param options.defaultTabIntervalTwips - Document-level default tab interval
170
+ * @param options.decimalSeparator - Character to use for decimal alignment (e.g., '.' or ',')
171
+ * @returns Array of resolved tab stops with positions in pixels
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * const stops = buildEffectiveTabStopsPx({
176
+ * explicitStops: [
177
+ * { val: 'decimal', pos: 96, leader: 'dot' }
178
+ * ],
179
+ * paragraphIndent: { left: 24 },
180
+ * defaultTabIntervalTwips: 720,
181
+ * decimalSeparator: ','
182
+ * });
183
+ *
184
+ * console.log(stops[0]);
185
+ * // {
186
+ * // alignment: 'decimal',
187
+ * // position: 96,
188
+ * // leader: 'dot',
189
+ * // decimalChar: ','
190
+ * // }
191
+ * ```
192
+ */
193
+ export declare const buildEffectiveTabStopsPx: (options: BuildEffectiveTabStopsOptions) => ResolvedTabStop[];
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Shared type definitions for Word paragraph + list layout contracts.
3
+ */
4
+ export type WordListSuffix = 'tab' | 'space' | 'nothing' | undefined;
5
+ export type WordListJustification = 'left' | 'center' | 'right';
6
+ export type ParagraphIndent = {
7
+ left?: number;
8
+ right?: number;
9
+ firstLine?: number;
10
+ hanging?: number;
11
+ };
12
+ export type ParagraphSpacing = {
13
+ before?: number;
14
+ after?: number;
15
+ line?: number;
16
+ lineRule?: 'auto' | 'exact' | 'atLeast';
17
+ };
18
+ export type ResolvedTabStop = {
19
+ position: number;
20
+ alignment: 'start' | 'center' | 'end' | 'decimal' | 'bar' | 'num';
21
+ leader?: 'none' | 'dot' | 'heavy' | 'hyphen' | 'middleDot' | 'underscore';
22
+ decimalChar?: string;
23
+ };
24
+ type TabStop = {
25
+ val: 'start' | 'end' | 'center' | 'decimal' | 'bar' | 'clear';
26
+ pos: number;
27
+ leader?: 'none' | 'dot' | 'hyphen' | 'heavy' | 'underscore' | 'middleDot';
28
+ };
29
+ export type ResolvedRunProperties = {
30
+ fontFamily: string;
31
+ fontSize: number;
32
+ bold?: boolean;
33
+ italic?: boolean;
34
+ underline?: {
35
+ style?: 'single' | 'double' | 'dotted' | 'dashed' | 'wavy';
36
+ color?: string;
37
+ } | null;
38
+ strike?: boolean;
39
+ color?: string;
40
+ highlight?: string;
41
+ smallCaps?: boolean;
42
+ allCaps?: boolean;
43
+ baselineShift?: number;
44
+ vertAlign?: 'superscript' | 'subscript' | 'baseline';
45
+ letterSpacing?: number;
46
+ scale?: number;
47
+ lang?: string;
48
+ vanish?: boolean;
49
+ };
50
+ export type NumberingProperties = {
51
+ numId?: number;
52
+ ilvl?: number;
53
+ };
54
+ export type ResolvedParagraphProperties = {
55
+ styleId?: string;
56
+ alignment?: 'left' | 'center' | 'right' | 'justify';
57
+ indent?: ParagraphIndent;
58
+ spacing?: ParagraphSpacing;
59
+ tabs?: TabStop[];
60
+ tabIntervalTwips?: number;
61
+ decimalSeparator?: string;
62
+ numberingProperties?: NumberingProperties | null;
63
+ };
64
+ export type WordLayoutMeasurementAdapter = {
65
+ measureText?: (text: string, fontCss: string, options?: {
66
+ letterSpacing?: number;
67
+ }) => number;
68
+ };
69
+ export type ListRenderingAttrs = {
70
+ markerText: string;
71
+ justification: WordListJustification;
72
+ path: number[];
73
+ numberingType: string;
74
+ suffix: 'tab' | 'space' | 'nothing';
75
+ };
76
+ export type WordParagraphLayoutInput = {
77
+ paragraph: ResolvedParagraphProperties;
78
+ listRenderingAttrs: ListRenderingAttrs;
79
+ markerRun: ResolvedRunProperties;
80
+ };
81
+ export type WordListMarkerLayout = {
82
+ markerText: string;
83
+ markerBoxWidthPx?: number;
84
+ glyphWidthPx?: number;
85
+ gutterWidthPx?: number;
86
+ justification: WordListJustification;
87
+ markerX?: number;
88
+ suffix: WordListSuffix;
89
+ textStartX?: number;
90
+ run: ResolvedRunProperties;
91
+ };
92
+ export type WordParagraphLayoutOutput = {
93
+ indentLeftPx: number;
94
+ hangingPx: number;
95
+ firstLinePx?: number;
96
+ tabsPx: number[];
97
+ textStartPx: number;
98
+ marker?: WordListMarkerLayout;
99
+ defaultTabIntervalPx?: number;
100
+ /**
101
+ * True when list uses firstLine indent pattern (marker at left+firstLine)
102
+ * instead of standard hanging pattern (marker at left-hanging).
103
+ */
104
+ firstLineIndentMode?: boolean;
105
+ };
106
+ export {};
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Shared unit conversion helpers (twips, pixels, points).
3
+ *
4
+ * Word stores most layout values in twips (1/20th of a point). We convert
5
+ * to/from CSS pixels to keep the pipeline consistent across DOM, canvas,
6
+ * and PDF renderers.
7
+ */
8
+ export declare const TWIPS_PER_INCH = 1440;
9
+ export declare const POINTS_PER_INCH = 72;
10
+ export declare const PIXELS_PER_INCH = 96;
11
+ export declare const TWIPS_PER_POINT = 20;
12
+ export declare const POINTS_PER_TWIP: number;
13
+ export declare const TWIPS_PER_PIXEL: number;
14
+ export declare const PIXELS_PER_TWIP: number;
15
+ /**
16
+ * Converts CSS pixels to twips (twentieths of a point).
17
+ *
18
+ * Word documents store most measurements in twips, while web rendering uses pixels.
19
+ * This function performs the conversion with proper rounding to maintain precision.
20
+ * Invalid inputs (null, undefined, NaN, Infinity) return 0.
21
+ *
22
+ * @param px - The value in CSS pixels to convert. May be null or undefined.
23
+ * @returns The equivalent value in twips, or 0 if input is invalid
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * pixelsToTwips(96); // 1440 (1 inch = 96px = 1440 twips)
28
+ * pixelsToTwips(24); // 360
29
+ * pixelsToTwips(null); // 0
30
+ * pixelsToTwips(NaN); // 0
31
+ * ```
32
+ */
33
+ export declare const pixelsToTwips: (px?: number | null) => number;
34
+ /**
35
+ * Converts twips (twentieths of a point) to CSS pixels.
36
+ *
37
+ * This is the inverse of pixelsToTwips. Invalid inputs return 0.
38
+ *
39
+ * @param twips - The value in twips to convert. May be null or undefined.
40
+ * @returns The equivalent value in CSS pixels, or 0 if input is invalid
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * twipsToPixels(1440); // 96 (1 inch)
45
+ * twipsToPixels(720); // 48 (half inch)
46
+ * twipsToPixels(null); // 0
47
+ * ```
48
+ */
49
+ export declare const twipsToPixels: (twips?: number | null) => number;
50
+ /**
51
+ * Converts points to twips (twentieths of a point).
52
+ *
53
+ * Points are a standard typographic unit (72 points = 1 inch).
54
+ * This function converts them to twips for Word document storage.
55
+ * Invalid inputs (null, undefined, NaN, Infinity) return 0.
56
+ *
57
+ * @param points - The value in points to convert. May be null or undefined.
58
+ * @returns The equivalent value in twips, or 0 if input is invalid
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * pointsToTwips(72); // 1440 (1 inch = 72 points = 1440 twips)
63
+ * pointsToTwips(12); // 240
64
+ * pointsToTwips(null); // 0
65
+ * ```
66
+ */
67
+ export declare const pointsToTwips: (points?: number | null) => number;
68
+ /**
69
+ * Converts twips (twentieths of a point) to points.
70
+ *
71
+ * This is the inverse of pointsToTwips. Points are a standard typographic
72
+ * unit where 72 points equals 1 inch. Invalid inputs return 0.
73
+ *
74
+ * @param twips - The value in twips to convert. May be null or undefined.
75
+ * @returns The equivalent value in points, or 0 if input is invalid
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * twipsToPoints(1440); // 72 (1 inch)
80
+ * twipsToPoints(240); // 12
81
+ * twipsToPoints(null); // 0
82
+ * ```
83
+ */
84
+ export declare const twipsToPoints: (twips?: number | null) => number;
85
+ /**
86
+ * Converts half-points to points.
87
+ *
88
+ * Word documents sometimes store measurements in half-points for finer
89
+ * granularity. This function converts them to standard points by dividing by 2.
90
+ * Invalid inputs (null, undefined, NaN, Infinity) return 0.
91
+ *
92
+ * @param halfPoints - The value in half-points to convert. May be null or undefined.
93
+ * @returns The equivalent value in points, or 0 if input is invalid
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * halfPointsToPoints(24); // 12
98
+ * halfPointsToPoints(5); // 2.5
99
+ * halfPointsToPoints(null); // 0
100
+ * ```
101
+ */
102
+ export declare const halfPointsToPoints: (halfPoints?: number | null) => number;
103
+ /**
104
+ * Converts points to half-points.
105
+ *
106
+ * This is the inverse of halfPointsToPoints. Half-points provide finer
107
+ * granularity for measurements in Word documents (2 half-points = 1 point).
108
+ * Invalid inputs (null, undefined, NaN, Infinity) return 0.
109
+ *
110
+ * @param points - The value in points to convert. May be null or undefined.
111
+ * @returns The equivalent value in half-points, or 0 if input is invalid
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * pointsToHalfPoints(12); // 24
116
+ * pointsToHalfPoints(2.5); // 5
117
+ * pointsToHalfPoints(null); // 0
118
+ * ```
119
+ */
120
+ export declare const pointsToHalfPoints: (points?: number | null) => number;