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,185 @@
1
+ import { BorderSpec, CellBorders, TableBorderValue, TableBorders, TableFragment } from '../../../../contracts/src/index.js';
2
+ import { TableCellGridPosition } from './grid-geometry.js';
3
+ /**
4
+ * Applies a border specification to one side of an HTML element.
5
+ *
6
+ * Converts BorderSpec format to CSS border properties and applies them to the specified
7
+ * side of the element. Handles style conversion (e.g., 'single' → 'solid'), color validation,
8
+ * and special cases like 'thick' borders which use doubled width.
9
+ *
10
+ * @param element - The HTML element to apply the border to
11
+ * @param side - Which side of the element to apply the border ('Top', 'Right', 'Bottom', or 'Left')
12
+ * @param border - The border specification to apply, or undefined to skip
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const cell = document.createElement('td');
17
+ * applyBorder(cell, 'Top', { style: 'single', width: 2, color: '#FF0000' });
18
+ * // Sets cell.style.borderTop = '2px solid #FF0000'
19
+ * ```
20
+ */
21
+ export declare const applyBorder: (element: HTMLElement, side: "Top" | "Right" | "Bottom" | "Left", border?: BorderSpec) => void;
22
+ /**
23
+ * Applies border specifications to all four sides of a table cell element.
24
+ *
25
+ * Convenience function that applies borders to top, right, bottom, and left sides
26
+ * of an element using applyBorder(). Only applies borders for sides that are defined
27
+ * in the CellBorders object.
28
+ *
29
+ * @param element - The HTML element (typically a table cell) to apply borders to
30
+ * @param borders - Cell border specifications for each side, or undefined to skip
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const cell = document.createElement('td');
35
+ * applyCellBorders(cell, {
36
+ * top: { style: 'single', width: 1, color: '#000000' },
37
+ * left: { style: 'double', width: 2, color: '#FF0000' }
38
+ * });
39
+ * ```
40
+ */
41
+ export declare const applyCellBorders: (element: HTMLElement, borders?: CellBorders) => void;
42
+ /**
43
+ * Converts a TableBorderValue to a BorderSpec for rendering.
44
+ *
45
+ * Handles conversion of table-level border values (which may include {none: true} markers)
46
+ * to BorderSpec format used by the DOM renderer. Supports both 'width' and legacy 'size'
47
+ * properties.
48
+ *
49
+ * @param value - Table border value to convert, or null/undefined
50
+ * @returns BorderSpec for rendering, or undefined if value is null/undefined
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const spec = borderValueToSpec({ style: 'single', width: 2, color: '#FF0000' });
55
+ * // Returns: { style: 'single', width: 2, color: '#FF0000' }
56
+ *
57
+ * const none = borderValueToSpec({ none: true });
58
+ * // Returns: { style: 'none', width: 0 }
59
+ * ```
60
+ */
61
+ export declare const borderValueToSpec: (value?: TableBorderValue | null) => BorderSpec | undefined;
62
+ /**
63
+ * Resolves a table border value with fallback support.
64
+ *
65
+ * Attempts to use the explicit border value first, falling back to the fallback value
66
+ * if the explicit value is undefined or null. This is used when cell borders can come
67
+ * from either cell-specific definitions or table-level definitions.
68
+ *
69
+ * @param explicit - Primary border value to use (e.g., from cell attributes)
70
+ * @param fallback - Fallback border value (e.g., from table borders)
71
+ * @returns Resolved BorderSpec, or undefined if both values are undefined/null
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const cellBorder = { style: 'double', width: 3, color: '#FF0000' };
76
+ * const tableBorder = { style: 'single', width: 1, color: '#000000' };
77
+ * const result = resolveTableBorderValue(cellBorder, tableBorder);
78
+ * // Returns BorderSpec from cellBorder (explicit wins)
79
+ * ```
80
+ */
81
+ export declare const resolveTableBorderValue: (explicit: TableBorderValue | undefined | null, fallback?: TableBorderValue | undefined | null) => BorderSpec | undefined;
82
+ export declare const isPresentBorder: (b?: BorderSpec) => b is BorderSpec;
83
+ /**
84
+ * True when a border is EXPLICITLY set to none/nil (`w:val="nil"`/`"none"`), as opposed to
85
+ * simply unset/absent. The distinction matters for shared interior edges (§17.4.66): an
86
+ * explicit none on BOTH adjacent cells suppresses the divider, while an unset side inherits
87
+ * the table's insideH/insideV. Accepts either a CellBorders BorderSpec (`{style:'none'}`) or
88
+ * a TableBorderValue (`{none:true}`).
89
+ */
90
+ export declare const isExplicitNoneBorder: (b?: unknown) => boolean;
91
+ /**
92
+ * OOXML cell-border conflict resolution (ECMA-376 §17.4.66).
93
+ *
94
+ * With zero cell spacing, two cells sharing an edge each specify a border; the spec
95
+ * collapses them to a SINGLE displayed border:
96
+ * 1. If either side is nil/none/absent, the opposing (present) border is displayed.
97
+ * 2. Otherwise the border with greater weight wins, where
98
+ * weight = (#lines in the style) × (style number).
99
+ * 3. Equal weight → the style higher on the precedence list (single first) wins.
100
+ * 4. Identical style → the color with the smaller brightness (R+B+2G, then B+2G, then
101
+ * G) wins; finally the first border (reading order) wins.
102
+ *
103
+ * @param a - One side's border (the owning cell's, e.g. the lower/right cell)
104
+ * @param b - The opposing side's border (e.g. the upper/left neighbor)
105
+ * @returns The single BorderSpec to display, or undefined if neither is present.
106
+ */
107
+ export declare const resolveBorderConflict: (a?: BorderSpec, b?: BorderSpec) => BorderSpec | undefined;
108
+ /**
109
+ * Creates a border overlay element for a table fragment.
110
+ *
111
+ * Generates an absolutely-positioned div that renders table-level borders (top, right,
112
+ * bottom, left) on top of the table content. This is used to apply outer table borders
113
+ * without affecting the table's internal layout.
114
+ *
115
+ * @param doc - Document object for creating the overlay element
116
+ * @param fragment - Table fragment containing dimensions for the overlay
117
+ * @param tableBorders - Table border specifications
118
+ * @returns HTMLElement overlay with borders applied, or null if no borders are defined
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const overlay = createTableBorderOverlay(document, fragment, {
123
+ * top: { style: 'single', width: 2, color: '#000000' },
124
+ * bottom: { style: 'single', width: 2, color: '#000000' }
125
+ * });
126
+ * if (overlay) container.appendChild(overlay);
127
+ * ```
128
+ */
129
+ export declare const createTableBorderOverlay: (doc: Document, fragment: TableFragment, tableBorders: TableBorders) => HTMLElement | null;
130
+ /**
131
+ * Resolves cell-specific borders based on cell position within a table.
132
+ *
133
+ * Implements a **single-owner border model** to prevent double borders when
134
+ * rendering tables with absolutely-positioned divs (which don't support CSS
135
+ * border-collapse). Each shared border is owned by exactly one cell:
136
+ *
137
+ * - TOP border: Cell owns its own top (first row uses table.top, others use insideH)
138
+ * - LEFT border: Cell owns its own left (first col uses table.left, others use insideV)
139
+ * - BOTTOM border: Only last row renders it (using table.bottom)
140
+ * - RIGHT border: Only last column renders it (using table.right)
141
+ *
142
+ * This ensures each border line is rendered exactly once, eliminating the
143
+ * double-border issue that occurs when adjacent cells both render their
144
+ * shared edge.
145
+ *
146
+ * @param tableBorders - Table-level border definitions
147
+ * @param cellPosition - Cell position and span within the table grid
148
+ * @returns CellBorders object with resolved borders for all four sides
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // For a 3x3 table:
153
+ * // Cell (0,0): top=table.top, left=table.left, bottom=undefined, right=undefined
154
+ * // Cell (1,1): top=insideH, left=insideV, bottom=undefined, right=undefined
155
+ * // Cell (2,2): top=insideH, left=insideV, bottom=table.bottom, right=table.right
156
+ * ```
157
+ */
158
+ /**
159
+ * Checks whether a CellBorders object has at least one explicitly defined side.
160
+ *
161
+ * Returns false when borders is undefined/null or when all four sides are undefined.
162
+ * Used to distinguish "no borders attribute" from "borders attribute present but empty"
163
+ * (intentionally borderless).
164
+ *
165
+ * @param cellBorders - Cell border definitions to check
166
+ * @returns True if at least one side (top, right, bottom, left) is defined
167
+ */
168
+ export declare const hasExplicitCellBorders: (cellBorders?: CellBorders) => cellBorders is CellBorders;
169
+ export declare const resolveTableCellBorders: (tableBorders: {
170
+ top?: TableBorderValue;
171
+ bottom?: TableBorderValue;
172
+ left?: TableBorderValue;
173
+ right?: TableBorderValue;
174
+ insideH?: TableBorderValue;
175
+ insideV?: TableBorderValue;
176
+ }, cellPosition: TableCellGridPosition) => CellBorders;
177
+ /**
178
+ * Swap left↔right on table borders for RTL tables (ECMA-376 Part 4 §14.3.2, §14.3.6).
179
+ * insideH/insideV and top/bottom are not affected by direction.
180
+ */
181
+ export declare const swapTableBordersLR: (borders: TableBorders | undefined) => TableBorders | undefined;
182
+ /**
183
+ * Swap left↔right on cell borders for RTL tables (ECMA-376 Part 4 §14.3.1, §14.3.5).
184
+ */
185
+ export declare const swapCellBordersLR: (borders: CellBorders | undefined) => CellBorders | undefined;
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Grid position for a rendered table cell.
3
+ *
4
+ * The position describes the cell's occupied rectangle in table grid coordinates,
5
+ * not just the anchor column where the physical cell starts.
6
+ */
7
+ export type TableCellGridPosition = {
8
+ /** Zero-based absolute row index where the cell starts. */
9
+ rowIndex: number;
10
+ /** Number of rows occupied by the cell. Defaults to 1 when omitted or invalid. */
11
+ rowSpan?: number;
12
+ /** Zero-based absolute grid column where the cell starts. */
13
+ gridColumnStart: number;
14
+ /** Number of columns occupied by the cell. Defaults to 1 when omitted or invalid. */
15
+ colSpan?: number;
16
+ /** Total row count in the table. */
17
+ totalRows: number;
18
+ /** Total column count in the table grid. */
19
+ totalCols: number;
20
+ };
21
+ /**
22
+ * Normalized grid bounds for a rendered table cell.
23
+ *
24
+ * The exclusive end indexes make edge checks straightforward:
25
+ * - `endColExclusive === totalCols` means the cell touches the right table edge
26
+ * - `endRowExclusive === totalRows` means the cell touches the bottom table edge
27
+ */
28
+ export type TableCellGridBounds = {
29
+ /** Inclusive starting row index. */
30
+ startRow: number;
31
+ /** Exclusive ending row index. */
32
+ endRowExclusive: number;
33
+ /** Inclusive starting column index. */
34
+ startCol: number;
35
+ /** Exclusive ending column index. */
36
+ endColExclusive: number;
37
+ /** Whether the cell touches the table's top outer edge. */
38
+ touchesTopEdge: boolean;
39
+ /** Whether the cell touches the table's bottom outer edge. */
40
+ touchesBottomEdge: boolean;
41
+ /** Whether the cell touches the table's left outer edge. */
42
+ touchesLeftEdge: boolean;
43
+ /** Whether the cell touches the table's right outer edge. */
44
+ touchesRightEdge: boolean;
45
+ };
46
+ /**
47
+ * Computes the normalized grid bounds for a table cell.
48
+ *
49
+ * The DOM table painter uses these bounds to decide whether a cell owns
50
+ * the table's outer borders under the single-owner collapsed-border model.
51
+ *
52
+ * @param position - Cell position and span within the table grid
53
+ * @returns Normalized bounds plus edge-contact flags
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const bounds = getTableCellGridBounds({
58
+ * rowIndex: 0,
59
+ * rowSpan: 1,
60
+ * gridColumnStart: 0,
61
+ * colSpan: 2,
62
+ * totalRows: 5,
63
+ * totalCols: 2,
64
+ * });
65
+ *
66
+ * bounds.touchesRightEdge; // true
67
+ * ```
68
+ */
69
+ export declare const getTableCellGridBounds: (position: TableCellGridPosition) => TableCellGridBounds;
@@ -0,0 +1,170 @@
1
+ import { CellBorders, DrawingBlock, DrawingMeasure, ImageBlock, Line, ParagraphBlock, SdtMetadata, TableBlock, TableCell, TableMeasure } from '../../../../contracts/src/index.js';
2
+ import { ResolvePhysicalFamily } from '../../../../../shared/font-system/src/index.js';
3
+ import { FragmentRenderContext } from '../renderer.js';
4
+ import { SdtAncestorOptions } from '../sdt/container.js';
5
+ type TableRowMeasure = TableMeasure['rows'][number];
6
+ type TableCellMeasure = TableRowMeasure['cells'][number];
7
+ type TableCellBlock = NonNullable<TableCell['blocks']>[number];
8
+ type TableCellBlockMeasure = NonNullable<TableCellMeasure['blocks']>[number];
9
+ type ResolveCellAnchoredTopParams = {
10
+ anchor: ImageBlock['anchor'] | DrawingBlock['anchor'];
11
+ anchorParagraphId?: string;
12
+ cellBlocks: TableCellBlock[];
13
+ blockMeasures: TableCellBlockMeasure[];
14
+ globalFromLine: number;
15
+ globalToLine: number;
16
+ paddingTop: number;
17
+ objectHeight: number;
18
+ };
19
+ /**
20
+ * Compute the total segment count for a cell's blocks, matching the layout engine's
21
+ * recursive getCellLines() expansion. Paragraph blocks contribute their line count,
22
+ * embedded tables contribute the sum of their rows' recursive segment counts,
23
+ * and other blocks (images, drawings) contribute 1 segment.
24
+ */
25
+ export declare function getCellSegmentCount(cell: TableCellMeasure): number;
26
+ type CellAnchoredTop = {
27
+ top: number;
28
+ /**
29
+ * True only when the anchor paragraph was found and used as the base. Fallback results
30
+ * (page/margin bases, missing/unresolvable anchorParagraphId) keep the legacy
31
+ * top-of-cell invariant and must NOT be shifted by the vertical-alignment offset.
32
+ */
33
+ paragraphResolved: boolean;
34
+ };
35
+ export declare const resolveCellAnchoredTop: (params: ResolveCellAnchoredTopParams) => CellAnchoredTop | null;
36
+ /**
37
+ * Dependencies required for rendering a table cell.
38
+ *
39
+ * Contains positioning, sizing, content, and rendering functions needed to
40
+ * create a table cell DOM element with its content.
41
+ */
42
+ type TableCellRenderDependencies = {
43
+ /** Document object for creating DOM elements */
44
+ doc: Document;
45
+ /** Horizontal position (left edge) in pixels */
46
+ x: number;
47
+ /** Vertical position (top edge) in pixels */
48
+ y: number;
49
+ /** Height of the row containing this cell */
50
+ rowHeight: number;
51
+ /** Measurement data for this cell (width, paragraph layout) */
52
+ cellMeasure: TableRowMeasure['cells'][number];
53
+ /** Cell data (content, attributes), or undefined for empty cells */
54
+ cell?: TableBlock['rows'][number]['cells'][number];
55
+ /** Resolved borders for this cell */
56
+ borders?: CellBorders;
57
+ /** Whether to apply default border if no borders specified */
58
+ useDefaultBorder?: boolean;
59
+ /** Function to render a line of paragraph content */
60
+ renderLine: (block: ParagraphBlock, line: Line, context: FragmentRenderContext, lineIndex: number, isLastLine: boolean, resolvedListTextStartPx?: number) => HTMLElement;
61
+ /** Optional callback invoked after a table line's final styles/markers are applied. */
62
+ captureLineSnapshot?: (lineEl: HTMLElement, context: FragmentRenderContext, options?: {
63
+ inTableParagraph?: boolean;
64
+ wrapperEl?: HTMLElement;
65
+ }) => void;
66
+ /**
67
+ * Optional callback function to render drawing content (vectorShapes, shapeGroups).
68
+ * If provided, this callback is used to render DrawingBlocks with drawingKind of 'vectorShape' or 'shapeGroup'.
69
+ * The callback receives a DrawingBlock and must return an HTMLElement.
70
+ * The returned element will have width: 100% and height: 100% styles applied automatically.
71
+ * If undefined, a placeholder element with diagonal stripes pattern is rendered instead.
72
+ */
73
+ renderDrawingContent?: (block: DrawingBlock, interactionHost: HTMLElement, measure: DrawingMeasure) => HTMLElement;
74
+ /** Rendering context */
75
+ context: FragmentRenderContext;
76
+ /** Function to apply SDT metadata as data attributes */
77
+ applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
78
+ /** Built-in SDT chrome rendering mode. */
79
+ chrome?: 'default' | 'none';
80
+ /** Ancestor SDT container key for suppressing duplicate container styling in cells */
81
+ ancestorContainerKey?: string | null;
82
+ /** Ancestor SDT metadata for suppressing duplicate id-less container styling in cells */
83
+ ancestorContainerSdt?: SdtMetadata | null;
84
+ /** Ancestor SDT keys for suppressing duplicate container styling in cells */
85
+ ancestorContainerKeys?: SdtAncestorOptions['ancestorContainerKeys'];
86
+ /** Ancestor SDT metadata chain for suppressing duplicate id-less container styling in cells */
87
+ ancestorContainerSdts?: SdtAncestorOptions['ancestorContainerSdts'];
88
+ /** Receives notification when this cell or descendants render SDT container chrome */
89
+ onSdtContainerChrome?: () => void;
90
+ /** Table indent in pixels (applied to table fragment positioning) */
91
+ tableIndent?: number;
92
+ /** Whether the table is visually right-to-left (w:bidiVisual, ECMA-376 §17.4.1) */
93
+ isRtl?: boolean;
94
+ /** Computed cell width from rescaled columnWidths (overrides cellMeasure.width when present) */
95
+ cellWidth?: number;
96
+ /** Starting line index for partial row rendering (inclusive) */
97
+ fromLine?: number;
98
+ /** Ending line index for partial row rendering (exclusive), -1 means render to end */
99
+ toLine?: number;
100
+ /**
101
+ * Per-document logical->physical font resolver for in-cell list markers and drop caps. Threaded
102
+ * from the renderer's per-document resolver so they paint the same physical family they were
103
+ * measured in. Undefined falls back to the global resolver.
104
+ */
105
+ resolvePhysical?: ResolvePhysicalFamily;
106
+ };
107
+ /**
108
+ * Result of rendering a table cell.
109
+ */
110
+ export type TableCellRenderResult = {
111
+ /** The cell container element (with borders, background, sizing, and content as child) */
112
+ cellElement: HTMLElement;
113
+ };
114
+ /**
115
+ * Renders a table cell as a DOM element.
116
+ *
117
+ * Creates a single cell element with content as a child:
118
+ * - cellElement: Absolutely-positioned container with borders, background, sizing, padding,
119
+ * and content rendered inside. Cell uses overflow:hidden to clip any overflow.
120
+ *
121
+ * Handles:
122
+ * - Cell borders (explicit or default)
123
+ * - Background colors
124
+ * - Vertical alignment (top, center, bottom)
125
+ * - Cell padding (applied directly to cell element)
126
+ * - Empty cells
127
+ *
128
+ * **Multi-Block Cell Rendering:**
129
+ * - Iterates through all blocks in the cell (cell.blocks or cell.paragraph)
130
+ * - Each block is rendered sequentially and stacked vertically
131
+ * - Only paragraph blocks are currently rendered (other block types are ignored)
132
+ *
133
+ * **Backward Compatibility:**
134
+ * - Supports legacy cell.paragraph field (single paragraph)
135
+ * - Falls back to empty array if neither cell.blocks nor cell.paragraph is present
136
+ * - Handles mismatches between blockMeasures and cellBlocks arrays using bounds checking
137
+ *
138
+ * **Empty Cell Handling:**
139
+ * - Cells with no blocks render only the cell container (no content inside)
140
+ * - Empty blocks arrays are safe (no content rendered)
141
+ *
142
+ * @param deps - All dependencies required for rendering
143
+ * @returns Object containing cellElement (content is rendered inside as child)
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const { cellElement } = renderTableCell({
148
+ * doc: document,
149
+ * x: 100,
150
+ * y: 50,
151
+ * rowHeight: 30,
152
+ * cellMeasure,
153
+ * cell,
154
+ * borders,
155
+ * useDefaultBorder: false,
156
+ * renderLine,
157
+ * renderDrawingContent: (block) => {
158
+ * // Custom drawing renderer for vectorShapes and shapeGroups
159
+ * const el = document.createElement('div');
160
+ * // Render drawing content...
161
+ * return el;
162
+ * },
163
+ * context,
164
+ * applySdtDataset
165
+ * });
166
+ * container.appendChild(cellElement);
167
+ * ```
168
+ */
169
+ export declare const renderTableCell: (deps: TableCellRenderDependencies) => TableCellRenderResult;
170
+ export {};
@@ -0,0 +1,132 @@
1
+ import { DrawingBlock, DrawingMeasure, Fragment, Line, ParagraphBlock, SdtMetadata, TableBlock, TableFragment, TableMeasure } from '../../../../contracts/src/index.js';
2
+ import { ResolvePhysicalFamily } from '../../../../../shared/font-system/src/index.js';
3
+ import { FragmentRenderContext } from '../renderer.js';
4
+ import { SdtAncestorOptions, SdtBoundaryOptions } from '../sdt/container.js';
5
+ type ApplyStylesFn = (el: HTMLElement, styles: Partial<CSSStyleDeclaration>) => void;
6
+ /**
7
+ * Dependencies required for rendering a table fragment.
8
+ *
9
+ * Encapsulates all external dependencies needed to render a table, including
10
+ * document access, rendering context, pre-resolved table data, and helper functions.
11
+ */
12
+ export type TableRenderDependencies = {
13
+ /** Document object for creating DOM elements */
14
+ doc: Document;
15
+ /** Table fragment to render (contains dimensions and row range) */
16
+ fragment: TableFragment;
17
+ /** Rendering context (section info, etc.) */
18
+ context: FragmentRenderContext;
19
+ /** Pre-extracted TableBlock (replaces blockLookup.get()) */
20
+ block: TableBlock;
21
+ /** Pre-extracted TableMeasure (replaces blockLookup.get()) */
22
+ measure: TableMeasure;
23
+ /** Pre-computed cell spacing in pixels */
24
+ cellSpacingPx: number;
25
+ /** Pre-computed effective column widths (fragment.columnWidths ?? measure.columnWidths) */
26
+ effectiveColumnWidths: number[];
27
+ /** Optional SDT boundary overrides for container styling */
28
+ sdtBoundary?: SdtBoundaryOptions;
29
+ /** Ancestor SDT key used to suppress duplicate container chrome in nested tables */
30
+ ancestorContainerKey?: string | null;
31
+ /** Ancestor SDT metadata used to suppress duplicate id-less container chrome in nested tables */
32
+ ancestorContainerSdt?: SdtMetadata | null;
33
+ /** Ancestor SDT keys used to suppress duplicate container chrome in nested tables */
34
+ ancestorContainerKeys?: SdtAncestorOptions['ancestorContainerKeys'];
35
+ /** Ancestor SDT metadata chain used to suppress duplicate id-less container chrome in nested tables */
36
+ ancestorContainerSdts?: SdtAncestorOptions['ancestorContainerSdts'];
37
+ /** Receives notification when this table fragment or descendants render SDT container chrome */
38
+ onSdtContainerChrome?: () => void;
39
+ /** Built-in SDT chrome rendering mode. */
40
+ chrome?: 'default' | 'none';
41
+ /** Function to render a line of paragraph content */
42
+ renderLine: (block: ParagraphBlock, line: Line, context: FragmentRenderContext, lineIndex: number, isLastLine: boolean) => HTMLElement;
43
+ /** Optional callback invoked after a table line's final styles/markers are applied. */
44
+ captureLineSnapshot?: (lineEl: HTMLElement, context: FragmentRenderContext, options?: {
45
+ inTableParagraph?: boolean;
46
+ wrapperEl?: HTMLElement;
47
+ }) => void;
48
+ /** Function to render drawing content (images, shapes, shape groups) */
49
+ renderDrawingContent?: (block: DrawingBlock, interactionHost: HTMLElement, measure: DrawingMeasure) => HTMLElement;
50
+ /** Function to apply fragment positioning and dimensions */
51
+ applyFragmentFrame: (el: HTMLElement, fragment: Fragment) => void;
52
+ /** Function to apply SDT metadata as data attributes */
53
+ applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
54
+ /** Function to apply container SDT metadata as data attributes */
55
+ applyContainerSdtDataset?: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
56
+ /** Function to apply CSS styles to an element */
57
+ applyStyles: ApplyStylesFn;
58
+ /**
59
+ * Per-document logical->physical font resolver for in-cell list markers and drop caps. Threaded
60
+ * from the renderer's per-document resolver so they paint the same physical family they were
61
+ * measured in. Undefined falls back to the global resolver.
62
+ */
63
+ resolvePhysical?: ResolvePhysicalFamily;
64
+ };
65
+ /**
66
+ * Renders a table fragment as a DOM element.
67
+ *
68
+ * Creates a container div with absolutely-positioned rows and cells. Handles:
69
+ * - Table border overlays for outer borders
70
+ * - Border collapse settings
71
+ * - Cell spacing
72
+ * - Row-by-row rendering with proper positioning
73
+ * - Metadata embedding for interactive table resizing
74
+ *
75
+ * **Error Handling:**
76
+ * If the document is unavailable, returns an error placeholder instead of
77
+ * throwing. Table block/measure validation is performed by the caller before
78
+ * invoking this helper.
79
+ *
80
+ * **SDT Container Styling:**
81
+ * If the table block has SDT metadata (`block.attrs?.sdt`), applies appropriate
82
+ * container styling via `applySdtContainerChrome()`:
83
+ * - Document sections: Gray border with hover tooltip
84
+ * - Structured content blocks: Blue border with label
85
+ * Uses type-safe helper functions to avoid unsafe type assertions.
86
+ *
87
+ * **Metadata Embedding:**
88
+ * Embeds column boundary metadata in the `data-table-boundaries` attribute
89
+ * using a compact JSON format:
90
+ * ```json
91
+ * {
92
+ * "columns": [
93
+ * {"i": 0, "x": 0, "w": 100, "min": 25, "r": 1},
94
+ * {"i": 1, "x": 100, "w": 150, "min": 30, "r": 1}
95
+ * ],
96
+ * "rows": [
97
+ * {"i": 0, "y": 0, "h": 30, "min": 10, "r": 1},
98
+ * {"i": 1, "y": 34, "h": 25, "min": 10, "r": 1}
99
+ * ]
100
+ * }
101
+ * ```
102
+ * Where for columns: i=index, x=position, w=width, min=minWidth, r=resizable(0/1)
103
+ * Where for rows: i=index, y=position, h=height, min=minHeight, r=resizable(0/1)
104
+ *
105
+ * **Edge Cases:**
106
+ * - Missing metadata: Element created without data-table-boundaries attribute
107
+ * - Empty columnBoundaries: Creates empty columns array in JSON
108
+ * - Missing block ID: Element created without data-sd-block-id attribute
109
+ *
110
+ * @param deps - All dependencies required for rendering
111
+ * @returns HTMLElement containing the rendered table fragment, or error placeholder
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const tableElement = renderTableFragment({
116
+ * doc: document,
117
+ * fragment: tableFragment,
118
+ * context: renderContext,
119
+ * block: tableBlock,
120
+ * measure: tableMeasure,
121
+ * cellSpacingPx: 0,
122
+ * effectiveColumnWidths: tableMeasure.columnWidths,
123
+ * renderLine,
124
+ * applyFragmentFrame,
125
+ * applySdtDataset,
126
+ * applyStyles
127
+ * });
128
+ * container.appendChild(tableElement);
129
+ * ```
130
+ */
131
+ export declare const renderTableFragment: (deps: TableRenderDependencies) => HTMLElement;
132
+ export {};