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,192 @@
1
+ import { SourceAnchor } from './index.js';
2
+ import { LayoutBlockRef, LayoutFragmentId, LayoutSourceIdentity, LayoutStoryLocator } from './layout-identity.js';
3
+ /**
4
+ * Schema version for the neutral segment-geometry substrate.
5
+ *
6
+ * Bump when a load-bearing field changes semantics. Pure additive growth
7
+ * (new optional fields) does not require a bump.
8
+ */
9
+ export declare const LAYOUT_SEGMENT_GEOMETRY_SCHEMA = "layout-segment-geometry/1";
10
+ /** Resolved inline direction for a measured line. */
11
+ export type NeutralTextDirection = 'ltr' | 'rtl';
12
+ /**
13
+ * Geometry for a single measured run-segment within a line.
14
+ *
15
+ * `x` is **load-bearing**: it is the resolved container-space left edge of the
16
+ * segment, with paragraph indent, list text-start, alignment offset, and
17
+ * explicit tab positioning already applied. The producer's `LineSegment.x` is
18
+ * intentionally optional (it only carries an explicit override for tab-aligned
19
+ * runs); the readback resolves it to a concrete value here so the host never
20
+ * needs fallback positioning logic.
21
+ *
22
+ * `fromChar` / `toChar` are visible-text offsets **within the segment's run**
23
+ * (`runIndex`), matching the producer's `LineSegment` semantics. Joined with
24
+ * `runIndex` they address the exact visible text the segment paints.
25
+ */
26
+ export type NeutralSegmentGeometry = {
27
+ /** Index of this segment within the line's segment list. */
28
+ segmentIndex: number;
29
+ /** Run index (into the source block's runs) this segment belongs to. */
30
+ runIndex: number;
31
+ /** Visible-text start offset within the run (inclusive). */
32
+ fromChar: number;
33
+ /** Visible-text end offset within the run (exclusive). */
34
+ toChar: number;
35
+ /** Resolved container-space x of the segment's start edge (px). Always present. */
36
+ x: number;
37
+ /** Measured width of the segment (px). */
38
+ width: number;
39
+ };
40
+ /**
41
+ * Per-line advisory flags. Present only when the corresponding condition holds,
42
+ * so consumers can treat an absent flag as "false" without ambiguity.
43
+ */
44
+ export type NeutralLineGeometryFlags = {
45
+ /**
46
+ * Line participates in justified alignment. Segment `x`/`width` are the
47
+ * natural (pre-justify) measured values; the painter distributes slack across
48
+ * spaces at paint time, so downstream caret math past the first segment is
49
+ * approximate. Paired with a `approximate-justify` diagnostic on the fragment.
50
+ */
51
+ justified?: boolean;
52
+ /** Line uses explicit tab/segment positioning (at least one segment has an explicit x). */
53
+ tabAligned?: boolean;
54
+ };
55
+ /**
56
+ * Geometry for a single measured line within a fragment.
57
+ *
58
+ * Vertical metrics follow the painter's line-box model (see DomPainter
59
+ * `tab-run.ts`): the baseline sits at `top + halfLeading + ascent`, where
60
+ * `halfLeading = max(0, (lineHeight - ascent - descent) / 2)`. `baseline` is
61
+ * precomputed with that formula so the host does not reimplement it.
62
+ */
63
+ export type NeutralLineGeometry = {
64
+ /** 0-based line index within the source block's measure. */
65
+ lineIndex: number;
66
+ /** Container-space top edge of the line box (px). */
67
+ top: number;
68
+ /** Container-space baseline y (px) — `top + halfLeading + ascent`. */
69
+ baseline: number;
70
+ /** Ascent above the baseline (px). */
71
+ ascent: number;
72
+ /** Descent below the baseline (px). */
73
+ descent: number;
74
+ /** Total line-box height (px). */
75
+ lineHeight: number;
76
+ /** Container-space x where line content starts after indent + alignment (px). */
77
+ contentLeft: number;
78
+ /** Measured natural content width of the line (px). */
79
+ contentWidth: number;
80
+ /** Resolved inline direction for the line. */
81
+ direction: NeutralTextDirection;
82
+ /** Advisory flags; omitted when none apply. */
83
+ flags?: NeutralLineGeometryFlags;
84
+ /** Per-segment geometry in visual (left-to-right paint) order. */
85
+ segments: NeutralSegmentGeometry[];
86
+ };
87
+ /**
88
+ * Diagnostics describing a case the substrate cannot fully represent.
89
+ *
90
+ * Emitted at the fragment level so a consumer can fail closed (skip caret/rect
91
+ * placement) instead of trusting partial geometry.
92
+ */
93
+ export type NeutralGeometryDiagnostic =
94
+ /** Fragment kind has no per-line text geometry in this version (table, image, drawing). */
95
+ {
96
+ code: 'unsupported-fragment-kind';
97
+ fragmentKind: string;
98
+ }
99
+ /**
100
+ * Inline direction is RTL but the line is not a proven simple-RTL case (e.g.
101
+ * tab-aligned, justified, or a rendered list marker whose RTL geometry is not
102
+ * mirrored yet). Per-segment x is not resolved for this fragment.
103
+ *
104
+ * Simple horizontal RTL paragraph fragments DO resolve and carry no diagnostic
105
+ * (V2 RTL Plan 004). Mixed-script bidi uses {@link 'unsupported-complex-bidi'}
106
+ * and vertical writing modes use {@link 'unsupported-vertical-direction'}.
107
+ */
108
+ | {
109
+ code: 'unsupported-direction';
110
+ direction: NeutralTextDirection;
111
+ }
112
+ /**
113
+ * The paragraph uses a vertical writing mode (`w:textDirection` tbRl/btLr,
114
+ * resolved to a vertical `WritingMode`). Horizontal text geometry cannot place
115
+ * carets here, so the fragment fails closed. (V2 RTL Plan 004 scope boundary.)
116
+ */
117
+ | {
118
+ code: 'unsupported-vertical-direction';
119
+ writingMode: string;
120
+ }
121
+ /**
122
+ * An RTL paragraph line mixes strong-LTR letters or Unicode numbers into the
123
+ * RTL flow, so the visual order is not a single-level reverse of the logical order.
124
+ * Resolving it needs per-segment visual-order data the substrate does not have
125
+ * yet, so the fragment fails closed rather than emit a mirrored-twice rect.
126
+ * (V2 RTL Plan 004 scope boundary; Plan 005+ may extend.)
127
+ */
128
+ | {
129
+ code: 'unsupported-complex-bidi';
130
+ }
131
+ /** Fragment has justified lines; segment x past the first is pre-justify (approximate). */
132
+ | {
133
+ code: 'approximate-justify';
134
+ }
135
+ /** The block measure was missing or mismatched; no geometry was produced. */
136
+ | {
137
+ code: 'missing-measure';
138
+ }
139
+ /** Fragment carried remeasured lines (narrow-column re-wrap); geometry used those lines. */
140
+ | {
141
+ code: 'remeasured-lines';
142
+ };
143
+ /**
144
+ * Geometry for one rendered fragment, joined back to neutral identity.
145
+ *
146
+ * Every record is addressable without ProseMirror: `identity` carries the
147
+ * story, source block ref, stable fragment id, and (when available) the DOCX
148
+ * source anchor. `bounds` is the fragment's container-space box; `lines` is the
149
+ * resolved per-line/per-segment geometry (empty for unsupported fragments,
150
+ * which carry a diagnostic instead).
151
+ */
152
+ export type NeutralFragmentGeometry = {
153
+ schema: typeof LAYOUT_SEGMENT_GEOMETRY_SCHEMA;
154
+ /** Composite editor-neutral identity for the fragment. */
155
+ identity: LayoutSourceIdentity;
156
+ /** Story locator for the fragment. */
157
+ story: LayoutStoryLocator;
158
+ /** Source block reference. */
159
+ blockRef: LayoutBlockRef;
160
+ /** Stable opaque fragment id. */
161
+ fragmentId: LayoutFragmentId;
162
+ /** Optional cross-reference to the DOCX source anchor. */
163
+ sourceAnchor?: SourceAnchor;
164
+ /** 0-based page index containing the fragment. */
165
+ pageIndex: number;
166
+ /** Producer fragment kind (`para`, `list-item`, `table`, `image`, `drawing`). */
167
+ fragmentKind: string;
168
+ /** Container-space bounding box of the fragment (px). */
169
+ bounds: {
170
+ x: number;
171
+ y: number;
172
+ width: number;
173
+ height: number;
174
+ };
175
+ /** Resolved per-line geometry, in paint order. */
176
+ lines: NeutralLineGeometry[];
177
+ /** Per-fragment diagnostics; omitted when fully represented. */
178
+ diagnostics?: NeutralGeometryDiagnostic[];
179
+ };
180
+ /**
181
+ * Result of a neutral segment-geometry readback over a layout.
182
+ *
183
+ * `layoutRevision` mirrors `layout.layoutEpoch` so a consumer can detect stale
184
+ * geometry. `fragments` is in page-then-fragment order.
185
+ */
186
+ export type NeutralSegmentGeometryReadback = {
187
+ schema: typeof LAYOUT_SEGMENT_GEOMETRY_SCHEMA;
188
+ layoutRevision: number;
189
+ fragments: NeutralFragmentGeometry[];
190
+ /** Top-level diagnostics not attributable to a single fragment; omitted when none. */
191
+ diagnostics?: NeutralGeometryDiagnostic[];
192
+ };
@@ -0,0 +1,150 @@
1
+ import { FlowBlock, TrackChangeAuthor, TrackedChangeMeta } from './index.js';
2
+ /**
3
+ * Tracked-change visual categories. This is the full paint/metadata
4
+ * vocabulary: it names the DOM class, `data-track-change-semantic-color-key`
5
+ * dataset value, and review-metadata category of every rendered
6
+ * tracked-change side.
7
+ *
8
+ * COLOR ownership is split in two:
9
+ * - {@link TrackedChangeConfigurableSemanticColorKey} (a subset) resolves its
10
+ * paint color through the JS `semanticColors` config (overrides/resolver)
11
+ * with the defaults below.
12
+ * - The table-structure categories (`table-insertion`, `table-deletion`,
13
+ * `table-row-insertion`, `table-row-deletion`, `table-split`) are CSS-only:
14
+ * they carry NO JS-resolved color; DomPainter styles them via the
15
+ * `--sd-tracked-changes-table-*` theme variables, which hosts override in
16
+ * CSS.
17
+ *
18
+ * `move` is a group override key for both move sides; rendered move layers
19
+ * continue to carry the specific `move-from` / `move-to` keys.
20
+ * `table-split` covers whole-table split structure; `cell-split` covers split
21
+ * cells.
22
+ */
23
+ export type TrackedChangeSemanticColorKey = 'insertion' | 'deletion' | 'move' | 'move-from' | 'move-to' | 'table-insertion' | 'table-deletion' | 'table-row-insertion' | 'table-row-deletion' | 'table-cell-insertion' | 'table-cell-deletion' | 'table-split' | 'cell-merge' | 'cell-split' | 'image-insertion' | 'image-deletion' | 'image-property-change';
24
+ /**
25
+ * The categories whose paint color is resolvable through the JS
26
+ * `semanticColors` config. Table-structure categories are deliberately
27
+ * excluded: their colors are themed via CSS variables only.
28
+ */
29
+ export type TrackedChangeConfigurableSemanticColorKey = 'insertion' | 'deletion' | 'move' | 'move-from' | 'move-to' | 'table-cell-insertion' | 'table-cell-deletion' | 'cell-merge' | 'cell-split' | 'image-insertion' | 'image-deletion' | 'image-property-change';
30
+ /** All semantic color keys, in declaration order (useful for iteration/tests). */
31
+ export declare const TRACKED_CHANGE_SEMANTIC_COLOR_KEYS: readonly TrackedChangeSemanticColorKey[];
32
+ /** The JS-configurable subset, in declaration order. */
33
+ export declare const TRACKED_CHANGE_CONFIGURABLE_SEMANTIC_COLOR_KEYS: readonly TrackedChangeConfigurableSemanticColorKey[];
34
+ /** Whether a category resolves its color through the JS `semanticColors` config. */
35
+ export declare const isConfigurableSemanticColorKey: (key: TrackedChangeSemanticColorKey | null | undefined) => key is TrackedChangeConfigurableSemanticColorKey;
36
+ /**
37
+ * Default semantic colors per JS-configurable key. These are Word-like
38
+ * defaults for SD-3479: insertion blue, deletion red, and moved text green.
39
+ * All entries are hex constants so downstream focused-background derivation
40
+ * (`colorWithAlpha`) works without extra parsing. Table-structure categories
41
+ * have no entry here — their defaults live in the painter's CSS variables.
42
+ */
43
+ export declare const DEFAULT_TRACKED_CHANGE_SEMANTIC_COLORS: Readonly<Record<TrackedChangeConfigurableSemanticColorKey, string>>;
44
+ /** Input the host semantic resolver receives for a single tracked-change layer. */
45
+ export interface TrackedChangeSemanticColorResolverInput {
46
+ /** Semantic category being colored (JS-configurable categories only). */
47
+ key: TrackedChangeConfigurableSemanticColorKey;
48
+ /** Author identity, when known (semantic colors are not author-derived). */
49
+ author?: TrackChangeAuthor;
50
+ /** Raw structural change type, when known. */
51
+ type?: string;
52
+ /** Logical structural subtype, when known. */
53
+ subtype?: string;
54
+ /** Structural target kind (e.g. cell/row/table), when known. */
55
+ targetKind?: string;
56
+ /** Scope of the semantic paint anchor, when known. */
57
+ semanticAnchorScope?: string;
58
+ }
59
+ /**
60
+ * A composed resolver mapping a semantic tracked-change input to a color.
61
+ * Returns `undefined` only when the resolver itself declines for a key. The
62
+ * composer returns `undefined` only when semantic colors are explicitly
63
+ * disabled.
64
+ */
65
+ export type TrackChangeSemanticColorResolver = (input: TrackedChangeSemanticColorResolverInput) => string | undefined;
66
+ /**
67
+ * Host-facing semantic tracked-change color configuration. Mirrors the
68
+ * (later) `modules.trackChanges.semanticColors` shape on the public `superdoc`
69
+ * package.
70
+ */
71
+ export interface SemanticColorsConfig {
72
+ /** When `false`, semantic colors are not applied. Defaults to enabled. */
73
+ enabled?: boolean;
74
+ /**
75
+ * Color overrides keyed by semantic category. `move` applies to both move
76
+ * sides unless a side-specific override exists. Table-structure categories
77
+ * are not configurable here — theme them via the
78
+ * `--sd-tracked-changes-table-*` CSS variables instead.
79
+ */
80
+ overrides?: Partial<Record<TrackedChangeConfigurableSemanticColorKey, string>>;
81
+ /**
82
+ * Resolver consulted after `overrides`. Return a CSS color string, or
83
+ * `undefined`/nullish to fall through to the default semantic color.
84
+ */
85
+ resolve?: (input: TrackedChangeSemanticColorResolverInput) => string | undefined | null;
86
+ }
87
+ /**
88
+ * Deterministic signature for tracked-change metadata that can affect paint.
89
+ *
90
+ * Used by layout/painter cache keys. Keep this aligned with fields DomPainter
91
+ * reads when stamping classes, datasets, CSS variables, and mode-dependent
92
+ * tracked-change decorations.
93
+ */
94
+ export declare const trackedChangeMetaSignature: (trackedChange: TrackedChangeMeta | null | undefined) => string;
95
+ export declare const trackedChangeLayersSignature: (trackedChanges: readonly TrackedChangeMeta[] | null | undefined) => string;
96
+ /** Default semantic color for a JS-configurable key, or `undefined` for an unknown/CSS-only key. */
97
+ export declare const defaultSemanticColor: (key: TrackedChangeSemanticColorKey) => string | undefined;
98
+ /** Structural target kind painted by a semantic color key. */
99
+ export type TrackedChangeSemanticTargetKind = 'text' | 'table' | 'row' | 'cell' | 'image';
100
+ /**
101
+ * Target kind painted by each semantic color key. Single source of truth for
102
+ * the projection (v2 host), the layout adapter, and sidebar metadata, so a key
103
+ * added in one layer cannot silently disagree about its target in another.
104
+ */
105
+ export declare const TRACKED_CHANGE_SEMANTIC_TARGET_KINDS: Readonly<Record<TrackedChangeSemanticColorKey, TrackedChangeSemanticTargetKind>>;
106
+ /** Target kind for a semantic key, or `undefined` for an unknown/absent key. */
107
+ export declare const semanticColorTargetKind: (key: TrackedChangeSemanticColorKey | null | undefined) => TrackedChangeSemanticTargetKind | undefined;
108
+ /**
109
+ * Keys whose paint anchors to an affected range rather than a single direct
110
+ * marker (cell merge/split and table split are range paints).
111
+ */
112
+ export declare const TRACKED_CHANGE_AFFECTED_RANGE_KEYS: ReadonlySet<TrackedChangeSemanticColorKey>;
113
+ /** Anchor scope for a semantic key: `'affected-range'` for range paints, else `null`. */
114
+ export declare const semanticColorAnchorScope: (key: TrackedChangeSemanticColorKey | null | undefined) => "affected-range" | null;
115
+ /**
116
+ * Semantic key implied by a structural insert/delete marker on a table, row,
117
+ * cell, or image target. Inverse of {@link TRACKED_CHANGE_SEMANTIC_TARGET_KINDS} for
118
+ * the structural insert/delete families; `undefined` for other kinds
119
+ * (formatting, moves) which never imply a structural semantic key.
120
+ */
121
+ export declare const structuralSemanticColorKey: (kind: string | null | undefined, targetKind: "table" | "row" | "cell" | "image") => TrackedChangeSemanticColorKey | undefined;
122
+ /**
123
+ * Composes the host `semanticColors` config into a single resolver.
124
+ *
125
+ * Resolution order per key:
126
+ * 1. `overrides[key]` (exact key match).
127
+ * 2. `overrides.move` for `move-from` / `move-to`.
128
+ * 3. `resolve(input)`.
129
+ * 4. The default semantic color for the key.
130
+ *
131
+ * Missing config still enables the built-in defaults, so supported semantic
132
+ * keys receive the requested colors without host configuration. Returns
133
+ * `undefined` only when semantic colors are disabled (`enabled === false`). A
134
+ * throwing host resolver must not break rendering: it falls through to the
135
+ * default color.
136
+ */
137
+ export declare const composeSemanticColorResolver: (config?: SemanticColorsConfig | null) => TrackChangeSemanticColorResolver | undefined;
138
+ /**
139
+ * Walks every tracked-change layer in the converted FlowBlocks and stamps
140
+ * `meta.semanticColor` from the resolver, based on each layer's
141
+ * `semanticColorKey`. Covers run layers, row-level tracked changes, and the
142
+ * cell-level `TableCellAttrs.trackedChange` carrier.
143
+ *
144
+ * Passing `undefined` (semantic colors disabled or no resolver available)
145
+ * clears any existing `semanticColor`, which prevents stale semantic colors
146
+ * from surviving on reused cached blocks. Missing host config should normally
147
+ * be passed through {@link composeSemanticColorResolver} so defaults apply.
148
+ * Author `color` fields are never read, mutated, or cleared by this pass.
149
+ */
150
+ export declare const stampTrackedChangeSemanticColors: (blocks: FlowBlock[], resolve: TrackChangeSemanticColorResolver | undefined) => void;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Effective paragraph spacing in table cells.
3
+ *
4
+ * Word absorbs the first paragraph's spacing.before into the cell's top padding,
5
+ * and the last paragraph's spacing.after into the cell's bottom padding.
6
+ * This helper returns the amount to add to height/position: at a boundary,
7
+ * only the excess of spacing over padding; otherwise the full spacing.
8
+ *
9
+ * Use for both spacing.before (isBoundary = first block, padding = paddingTop)
10
+ * and spacing.after (isBoundary = last block, padding = paddingBottom).
11
+ */
12
+ export declare function effectiveTableCellSpacing(spacing: number | undefined, isBoundary: boolean, padding: number): number;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Proportionally rescales table column widths when the measured total width
3
+ * exceeds the available fragment width.
4
+ *
5
+ * Returns `undefined` when no rescaling is needed (total fits within fragment).
6
+ * Each column is guaranteed at least 1px; the last column absorbs rounding drift.
7
+ *
8
+ * @param measureColumnWidths - Measured widths per column (or undefined)
9
+ * @param measureTotalWidth - Sum of measured widths plus borders/spacing
10
+ * @param fragmentWidth - Available render width for the table
11
+ * @returns Rescaled widths array, or undefined if no scaling needed
12
+ */
13
+ export declare function rescaleColumnWidths(measureColumnWidths: number[] | undefined, measureTotalWidth: number, fragmentWidth: number): number[] | undefined;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Shared vertical-text helpers for superscript, subscript, and explicit baseline shifts.
3
+ *
4
+ * OOXML allows both semantic vertical alignment (`vertAlign`) and an explicit
5
+ * position offset (`position`). During rendering, a zero offset is an identity
6
+ * value and should behave the same as an absent offset.
7
+ */
8
+ export type VerticalTextAlign = 'superscript' | 'subscript' | 'baseline';
9
+ type VerticalTextFormatting = {
10
+ vertAlign?: VerticalTextAlign | null;
11
+ baselineShift?: number | null;
12
+ };
13
+ /**
14
+ * Font size scaling factor for default superscript/subscript rendering.
15
+ * Matches Microsoft Word's default visual behavior closely enough for layout.
16
+ */
17
+ export declare const SUBSCRIPT_SUPERSCRIPT_SCALE = 0.65;
18
+ /**
19
+ * Normalizes explicit baseline shifts for rendering.
20
+ *
21
+ * A numeric shift of zero is a no-op and should not override semantic
22
+ * superscript/subscript styling. This preserves the raw OOXML value for
23
+ * round-tripping while giving the renderer a clean intent model.
24
+ */
25
+ export declare function normalizeBaselineShift(baselineShift: number | null | undefined): number | undefined;
26
+ export declare function hasExplicitBaselineShift(baselineShift: number | null | undefined): boolean;
27
+ export declare function isSuperscriptOrSubscript(vertAlign: VerticalTextAlign | null | undefined): boolean;
28
+ /**
29
+ * Returns true when the run should use the default superscript/subscript
30
+ * presentation path: scaled font size plus the renderer's default raise/lower.
31
+ */
32
+ export declare function usesDefaultScriptLayout(formatting: VerticalTextFormatting): boolean;
33
+ /**
34
+ * Applies default superscript/subscript font scaling when the run uses the
35
+ * default semantic layout path.
36
+ */
37
+ export declare function scaleFontSizeForVerticalText(fontSize: number, formatting: VerticalTextFormatting): number;
38
+ /**
39
+ * Returns the original base font size for runs that already carry scaled
40
+ * superscript/subscript text metrics.
41
+ */
42
+ export declare function resolveBaseFontSizeForVerticalText(fontSize: number, formatting: VerticalTextFormatting): number;
43
+ export {};
@@ -0,0 +1,62 @@
1
+ /**
2
+ * DOM Contract: Class Names
3
+ *
4
+ * CSS class names stamped on rendered document elements by the DOM painter.
5
+ * These names form a public contract read by the painter (emitter) and by
6
+ * editor-side DOM observation code (reader).
7
+ *
8
+ * Changing a value here is a breaking change for both systems.
9
+ */
10
+ export declare const DOM_CLASS_NAMES: {
11
+ /** Top-level page container element. */
12
+ readonly PAGE: "superdoc-page";
13
+ /** Fragment container (paragraph, table, image block, etc.). */
14
+ readonly FRAGMENT: "superdoc-fragment";
15
+ /** Line container within a fragment. */
16
+ readonly LINE: "superdoc-line";
17
+ /**
18
+ * Inline structured-content (SDT) wrapper.
19
+ *
20
+ * Carries `data-pm-start` / `data-pm-end` for selection highlighting.
21
+ * Should be EXCLUDED from click-to-position mapping — child spans are
22
+ * the character-level targets.
23
+ */
24
+ readonly INLINE_SDT_WRAPPER: "superdoc-structured-content-inline";
25
+ /** Inline structured-content label chrome. */
26
+ readonly INLINE_SDT_LABEL: "superdoc-structured-content-inline__label";
27
+ /** Block-level structured-content container. */
28
+ readonly BLOCK_SDT: "superdoc-structured-content-block";
29
+ /** Block-level structured-content label chrome. */
30
+ readonly BLOCK_SDT_LABEL: "superdoc-structured-content__label";
31
+ /** Table fragment container (resize overlay and click-mapping target). */
32
+ readonly TABLE_FRAGMENT: "superdoc-table-fragment";
33
+ /** Document section container. */
34
+ readonly DOCUMENT_SECTION: "superdoc-document-section";
35
+ /**
36
+ * Grouped hover highlight applied to all fragments of the same block SDT.
37
+ * Set by document-runtime hover coordination via event delegation.
38
+ */
39
+ readonly SDT_GROUP_HOVER: "sdt-group-hover";
40
+ /** Paragraph fragment rendered as a Table of Contents entry. */
41
+ readonly TOC_ENTRY: "superdoc-toc-entry";
42
+ /** TOC analogue of `SDT_GROUP_HOVER`, applied to every fragment sharing a `data-toc-id`. */
43
+ readonly TOC_GROUP_HOVER: "toc-group-hover";
44
+ /** Block-level image fragment (ImageBlock). */
45
+ readonly IMAGE_FRAGMENT: "superdoc-image-fragment";
46
+ /** Inline image element (ImageRun inside a paragraph). */
47
+ readonly INLINE_IMAGE: "superdoc-inline-image";
48
+ /** Wrapper around a paragraph's list marker (bullet glyph or ordered number). */
49
+ readonly LIST_MARKER: "superdoc-list-marker";
50
+ /** Clip wrapper around a cropped inline image. */
51
+ readonly INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper";
52
+ /** Field annotation outer wrapper. */
53
+ readonly ANNOTATION: "annotation";
54
+ /** Field annotation inner content wrapper. */
55
+ readonly ANNOTATION_CONTENT: "annotation-content";
56
+ /** Hidden caret anchor span appended after field annotation content. */
57
+ readonly ANNOTATION_CARET_ANCHOR: "annotation-caret-anchor";
58
+ };
59
+ /** Union of all DOM contract class name values. */
60
+ export type DomClassName = (typeof DOM_CLASS_NAMES)[keyof typeof DOM_CLASS_NAMES];
61
+ /** Structured-content chrome labels that should not drive text-position mapping. */
62
+ export declare const STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES: readonly ["superdoc-structured-content-inline__label", "superdoc-structured-content__label"];
@@ -0,0 +1,103 @@
1
+ /**
2
+ * DOM Contract: Data Attributes
3
+ *
4
+ * Named constants for `data-*` attributes stamped on rendered DOM elements.
5
+ * These attributes are read by editor-side DOM observers, click-to-position
6
+ * mapping, and bridge compatibility code.
7
+ *
8
+ * Each constant stores the full attribute name (e.g. `"data-pm-start"`) as it
9
+ * appears in `getAttribute()` / `setAttribute()` calls and CSS selectors.
10
+ *
11
+ * The `DATASET_KEYS` mirror provides the camelCase equivalents used with
12
+ * `element.dataset.*` access.
13
+ *
14
+ * Editor-neutral (prep-001) attributes live alongside the legacy `data-pm-*`
15
+ * attributes; both surfaces are emitted so that v1 consumers continue to work
16
+ * unmodified while future editor-neutral consumers (hit-test / range mapping)
17
+ * can address rendered output without consulting ProseMirror positions.
18
+ */
19
+ /**
20
+ * Full attribute names for use with `getAttribute` / `setAttribute` / CSS selectors.
21
+ */
22
+ export declare const DATA_ATTRS: {
23
+ /** ProseMirror start position of the element's content range. */
24
+ readonly PM_START: "data-pm-start";
25
+ /** ProseMirror end position of the element's content range. */
26
+ readonly PM_END: "data-pm-end";
27
+ /** Layout epoch stamp — incremented on each layout pass. */
28
+ readonly LAYOUT_EPOCH: "data-layout-epoch";
29
+ /** JSON-encoded table boundary metadata for resize overlays. */
30
+ readonly TABLE_BOUNDARIES: "data-table-boundaries";
31
+ /** SDT unique identifier. */
32
+ readonly SDT_ID: "data-sdt-id";
33
+ /** SDT type (fieldAnnotation, structuredContent, documentSection, etc.). */
34
+ readonly SDT_TYPE: "data-sdt-type";
35
+ /** Field annotation field identifier. */
36
+ readonly FIELD_ID: "data-field-id";
37
+ /** Field annotation field type (signer, text, checkbox, etc.). */
38
+ readonly FIELD_TYPE: "data-field-type";
39
+ /** Marks an element as draggable by the editor. */
40
+ readonly DRAGGABLE: "data-draggable";
41
+ /** Display label text for drag toast / accessibility. */
42
+ readonly DISPLAY_LABEL: "data-display-label";
43
+ /** Field annotation variant (text, image, signature, checkbox, html, link). */
44
+ readonly VARIANT: "data-variant";
45
+ /** Element type discriminator (annotation variant, etc.). */
46
+ readonly TYPE: "data-type";
47
+ /** Schema version for the editor-neutral layout boundary attributes. */
48
+ readonly LAYOUT_BOUNDARY_SCHEMA: "data-layout-boundary-schema";
49
+ /** Stable opaque id of the rendered fragment (see `LayoutFragmentId`). */
50
+ readonly LAYOUT_FRAGMENT_ID: "data-layout-fragment-id";
51
+ /** Encoded story locator (e.g. `body`, `header:rId4`, `footer:rId7`). */
52
+ readonly LAYOUT_STORY: "data-layout-story";
53
+ /** Source block reference (today: producer's `blockId`). */
54
+ readonly LAYOUT_BLOCK_REF: "data-layout-block-ref";
55
+ };
56
+ /**
57
+ * CamelCase keys for use with `element.dataset.*` property access.
58
+ *
59
+ * `element.dataset.pmStart` is equivalent to `element.getAttribute('data-pm-start')`.
60
+ */
61
+ export declare const DATASET_KEYS: {
62
+ readonly PM_START: "pmStart";
63
+ readonly PM_END: "pmEnd";
64
+ readonly LAYOUT_EPOCH: "layoutEpoch";
65
+ readonly TABLE_BOUNDARIES: "tableBoundaries";
66
+ readonly SDT_ID: "sdtId";
67
+ readonly SDT_TYPE: "sdtType";
68
+ readonly FIELD_ID: "fieldId";
69
+ readonly FIELD_TYPE: "fieldType";
70
+ readonly DRAGGABLE: "draggable";
71
+ readonly DISPLAY_LABEL: "displayLabel";
72
+ readonly VARIANT: "variant";
73
+ readonly TYPE: "type";
74
+ readonly LAYOUT_BOUNDARY_SCHEMA: "layoutBoundarySchema";
75
+ readonly LAYOUT_FRAGMENT_ID: "layoutFragmentId";
76
+ readonly LAYOUT_STORY: "layoutStory";
77
+ readonly LAYOUT_BLOCK_REF: "layoutBlockRef";
78
+ };
79
+ /**
80
+ * Encode a `LayoutStoryLocator`-shaped object into its dataset string form.
81
+ *
82
+ * Format is `"body"` for body content and `"<kind>:<id>"` otherwise. The id
83
+ * is passed through verbatim (no escaping is applied) because the producers
84
+ * pass opaque part-relationship ids that do not contain the colon delimiter.
85
+ *
86
+ * Kept here so emitters and readers agree on the wire shape without taking a
87
+ * dependency on the contracts package from dom-contract.
88
+ */
89
+ export declare const encodeLayoutStoryDataset: (story: {
90
+ kind: "body" | "header" | "footer" | "footnote" | "endnote" | "textbox" | "unknown";
91
+ id?: string;
92
+ }) => string;
93
+ /**
94
+ * Decode the dataset string back into a `LayoutStoryLocator`-shaped object.
95
+ *
96
+ * Used by editor-side DOM observers. Unknown kinds fall back to
97
+ * `{ kind: 'unknown' }` so downstream code can treat the value as a
98
+ * diagnostic, not as a default body.
99
+ */
100
+ export declare const decodeLayoutStoryDataset: (raw: string | undefined | null) => {
101
+ kind: "body" | "header" | "footer" | "footnote" | "endnote" | "textbox" | "unknown";
102
+ id?: string;
103
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @superdoc/dom-contract
3
+ *
4
+ * Source of truth for the DOM surface contract shared between the painter
5
+ * (emitter) and editor-side DOM readers.
6
+ *
7
+ * This package owns:
8
+ * - CSS class name constants
9
+ * - Data-attribute name constants
10
+ * - Selector helpers built from the above
11
+ *
12
+ * It must NOT contain DOM querying logic, editor behavior, or painter
13
+ * implementation details.
14
+ */
15
+ export { DOM_CLASS_NAMES, STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES } from './class-names.js';
16
+ export type { DomClassName } from './class-names.js';
17
+ export { DATA_ATTRS, DATASET_KEYS, encodeLayoutStoryDataset, decodeLayoutStoryDataset } from './data-attrs.js';
18
+ export { buildImagePmSelector, buildInlineImagePmSelector, buildSdtBlockSelector, buildSdtInlineSelector, buildAnnotationSelector, buildAnnotationTypeSelector, buildAnnotationPmSelector, SDT_BLOCK_WITH_ID_SELECTOR, DRAGGABLE_SELECTOR, } from './selectors.js';
@@ -0,0 +1,47 @@
1
+ /** Selector for any block SDT element that carries an sdtId attribute. */
2
+ export declare const SDT_BLOCK_WITH_ID_SELECTOR: string;
3
+ /** Selector for draggable elements. */
4
+ export declare const DRAGGABLE_SELECTOR: string;
5
+ /**
6
+ * Builds a compound CSS selector matching any image element (block fragment,
7
+ * inline clip-wrapper, or bare inline image) by its `data-pm-start` value.
8
+ *
9
+ * Useful when re-acquiring an image element after a layout re-render.
10
+ *
11
+ * Callers with untrusted or user-facing values should `CSS.escape()` before
12
+ * passing them here; numeric PM positions and pre-escaped IDs are safe as-is.
13
+ */
14
+ export declare function buildImagePmSelector(pmStart: string | number): string;
15
+ /**
16
+ * Builds a compound CSS selector matching inline image elements (clip-wrapper
17
+ * first, then bare inline image) by their `data-pm-start` value.
18
+ *
19
+ * Prefers the clip-wrapper because selection outlines and resize handles should
20
+ * target the visible cropped portion, not the scaled inner image.
21
+ */
22
+ export declare function buildInlineImagePmSelector(pmStart: string | number): string;
23
+ /**
24
+ * Builds a selector for block-level SDT elements with a given sdtId.
25
+ *
26
+ * Callers MUST `CSS.escape()` the sdtId before passing it here;
27
+ * numeric IDs and pre-escaped strings are safe as-is.
28
+ */
29
+ export declare function buildSdtBlockSelector(escapedSdtId: string): string;
30
+ /**
31
+ * Builds a selector for inline SDT wrapper elements with a given sdtId.
32
+ *
33
+ * Callers MUST `CSS.escape()` the sdtId before passing it here.
34
+ */
35
+ export declare function buildSdtInlineSelector(escapedSdtId: string): string;
36
+ /**
37
+ * Selector for annotation elements that carry a ProseMirror start position.
38
+ */
39
+ export declare function buildAnnotationSelector(): string;
40
+ /**
41
+ * Selector for annotation elements with a specific `data-type` value.
42
+ */
43
+ export declare function buildAnnotationTypeSelector(type: string): string;
44
+ /**
45
+ * Selector for an annotation element at a specific ProseMirror start position.
46
+ */
47
+ export declare function buildAnnotationPmSelector(pmStart: string | number): string;