superdoc 2.2.1 → 2.4.0-next.1

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 (689) hide show
  1. package/AGENTS.md +337 -0
  2. package/LICENSE +661 -0
  3. package/NOTICE +8 -0
  4. package/README.md +106 -0
  5. package/dist/chunks/FindReplaceSurface-BEW-1NhM.es.js +344 -0
  6. package/dist/chunks/FindReplaceSurface-Dx0llWqP.cjs +346 -0
  7. package/dist/chunks/PasswordPromptSurface-BA6HHqEa.es.js +111 -0
  8. package/dist/chunks/PasswordPromptSurface-BUUVC2ee.cjs +113 -0
  9. package/dist/chunks/PdfViewer-CNOtyS-I.es.js +531 -0
  10. package/dist/chunks/PdfViewer-qpvzwYMz.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-DP8RUPW-.cjs +7 -0
  14. package/dist/chunks/blank-docx-XRX6Ker2.es.js +2 -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-D4kk9AjM.es.js +9417 -0
  18. package/dist/chunks/create-super-doc-ui-DXdWuTzm.cjs +9680 -0
  19. package/dist/chunks/eventemitter3-Bt2s0X0a.es.js +131 -0
  20. package/dist/chunks/eventemitter3-DqY4aSMf.cjs +137 -0
  21. package/dist/chunks/jszip-C8srOKAO.es.js +4650 -0
  22. package/dist/chunks/jszip-Cs9JBLlJ.cjs +4691 -0
  23. package/dist/chunks/rolldown-runtime-1Y-nnZJ3.cjs +40 -0
  24. package/dist/chunks/rolldown-runtime-D7PMmH3s.es.js +27 -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/comment-create-attribution.d.ts +2 -0
  42. package/dist/document-api/src/comments/comments.d.ts +231 -0
  43. package/dist/document-api/src/comments/comments.types.d.ts +266 -0
  44. package/dist/document-api/src/content-controls/content-controls.d.ts +136 -0
  45. package/dist/document-api/src/content-controls/content-controls.types.d.ts +455 -0
  46. package/dist/document-api/src/contract/command-catalog.d.ts +17 -0
  47. package/dist/document-api/src/contract/index.d.ts +9 -0
  48. package/dist/document-api/src/contract/metadata-types.d.ts +48 -0
  49. package/dist/document-api/src/contract/operation-definitions.d.ts +3645 -0
  50. package/dist/document-api/src/contract/operation-map.d.ts +5 -0
  51. package/dist/document-api/src/contract/operation-registry.d.ts +2002 -0
  52. package/dist/document-api/src/contract/reference-aliases.d.ts +19 -0
  53. package/dist/document-api/src/contract/reference-doc-map.d.ts +12 -0
  54. package/dist/document-api/src/contract/schemas.d.ts +35 -0
  55. package/dist/document-api/src/contract/step-op-catalog.d.ts +26 -0
  56. package/dist/document-api/src/contract/types.d.ts +31 -0
  57. package/dist/document-api/src/create/create.d.ts +27 -0
  58. package/dist/document-api/src/cross-refs/cross-refs.d.ts +15 -0
  59. package/dist/document-api/src/cross-refs/cross-refs.types.d.ts +68 -0
  60. package/dist/document-api/src/customXml/customXml.d.ts +19 -0
  61. package/dist/document-api/src/customXml/customXml.types.d.ts +148 -0
  62. package/dist/document-api/src/delete/delete.d.ts +20 -0
  63. package/dist/document-api/src/diff/diff.d.ts +14 -0
  64. package/dist/document-api/src/diff/diff.types.d.ts +83 -0
  65. package/dist/document-api/src/diff/index.d.ts +3 -0
  66. package/dist/document-api/src/errors.d.ts +11 -0
  67. package/dist/document-api/src/export/export.d.ts +10 -0
  68. package/dist/document-api/src/export/export.types.d.ts +40 -0
  69. package/dist/document-api/src/extract/extract.d.ts +15 -0
  70. package/dist/document-api/src/fields/fields.d.ts +15 -0
  71. package/dist/document-api/src/fields/fields.types.d.ts +90 -0
  72. package/dist/document-api/src/find/find.d.ts +52 -0
  73. package/dist/document-api/src/footnotes/footnotes.d.ts +17 -0
  74. package/dist/document-api/src/footnotes/footnotes.types.d.ts +104 -0
  75. package/dist/document-api/src/format/format.d.ts +92 -0
  76. package/dist/document-api/src/format/inline-run-patch.d.ts +138 -0
  77. package/dist/document-api/src/get/get.d.ts +19 -0
  78. package/dist/document-api/src/get-html/get-html.d.ts +27 -0
  79. package/dist/document-api/src/get-markdown/get-markdown.d.ts +22 -0
  80. package/dist/document-api/src/get-node/get-node.d.ts +46 -0
  81. package/dist/document-api/src/get-text/get-text.d.ts +22 -0
  82. package/dist/document-api/src/header-footers/header-footers.d.ts +37 -0
  83. package/dist/document-api/src/header-footers/header-footers.types.d.ts +116 -0
  84. package/dist/document-api/src/history/history.d.ts +38 -0
  85. package/dist/document-api/src/history/history.types.d.ts +100 -0
  86. package/dist/document-api/src/hyperlinks/hyperlinks.d.ts +17 -0
  87. package/dist/document-api/src/hyperlinks/hyperlinks.types.d.ts +112 -0
  88. package/dist/document-api/src/images/images.d.ts +63 -0
  89. package/dist/document-api/src/images/images.types.d.ts +209 -0
  90. package/dist/document-api/src/images/z-order.d.ts +10 -0
  91. package/dist/document-api/src/index/index.d.ts +29 -0
  92. package/dist/document-api/src/index/index.types.d.ts +125 -0
  93. package/dist/document-api/src/index.d.ts +560 -0
  94. package/dist/document-api/src/info/info.d.ts +19 -0
  95. package/dist/document-api/src/inline-semantics/directives.d.ts +95 -0
  96. package/dist/document-api/src/inline-semantics/error-types.d.ts +68 -0
  97. package/dist/document-api/src/inline-semantics/index.d.ts +20 -0
  98. package/dist/document-api/src/inline-semantics/property-ids.d.ts +24 -0
  99. package/dist/document-api/src/inline-semantics/token-parsers.d.ts +59 -0
  100. package/dist/document-api/src/inline-semantics/token-sets.d.ts +34 -0
  101. package/dist/document-api/src/insert/insert.d.ts +65 -0
  102. package/dist/document-api/src/invoke/invoke.d.ts +17 -0
  103. package/dist/document-api/src/lists/lists.d.ts +100 -0
  104. package/dist/document-api/src/lists/lists.types.d.ts +499 -0
  105. package/dist/document-api/src/markdown-to-fragment/markdown-to-fragment.d.ts +15 -0
  106. package/dist/document-api/src/metadata/anchored-metadata.d.ts +33 -0
  107. package/dist/document-api/src/metadata/anchored-metadata.types.d.ts +175 -0
  108. package/dist/document-api/src/paragraphs/paragraphs.d.ts +84 -0
  109. package/dist/document-api/src/paragraphs/paragraphs.types.d.ts +214 -0
  110. package/dist/document-api/src/permission-ranges/permission-ranges.d.ts +15 -0
  111. package/dist/document-api/src/permission-ranges/permission-ranges.types.d.ts +49 -0
  112. package/dist/document-api/src/plan/plan.d.ts +73 -0
  113. package/dist/document-api/src/protection/protection.d.ts +11 -0
  114. package/dist/document-api/src/protection/protection.types.d.ts +47 -0
  115. package/dist/document-api/src/ranges/index.d.ts +2 -0
  116. package/dist/document-api/src/ranges/ranges.types.d.ts +121 -0
  117. package/dist/document-api/src/ranges/resolve.d.ts +2 -0
  118. package/dist/document-api/src/receipt-bridge.d.ts +30 -0
  119. package/dist/document-api/src/replace/replace.d.ts +24 -0
  120. package/dist/document-api/src/sections/sections.d.ts +42 -0
  121. package/dist/document-api/src/sections/sections.types.d.ts +236 -0
  122. package/dist/document-api/src/selection/selection.d.ts +23 -0
  123. package/dist/document-api/src/selection/selection.types.d.ts +85 -0
  124. package/dist/document-api/src/selection-mutation.d.ts +46 -0
  125. package/dist/document-api/src/styles/apply.d.ts +142 -0
  126. package/dist/document-api/src/styles/catalog.d.ts +154 -0
  127. package/dist/document-api/src/styles/index.d.ts +14 -0
  128. package/dist/document-api/src/styles/registry.d.ts +43 -0
  129. package/dist/document-api/src/styles/schema.d.ts +9 -0
  130. package/dist/document-api/src/styles/validation.d.ts +38 -0
  131. package/dist/document-api/src/tables/color-formats.d.ts +12 -0
  132. package/dist/document-api/src/tables/tables.d.ts +83 -0
  133. package/dist/document-api/src/templates/apply.d.ts +160 -0
  134. package/dist/document-api/src/templates/index.d.ts +7 -0
  135. package/dist/document-api/src/toc/toc.d.ts +25 -0
  136. package/dist/document-api/src/toc/toc.types.d.ts +247 -0
  137. package/dist/document-api/src/track-changes/track-changes.d.ts +177 -0
  138. package/dist/document-api/src/types/adapter-result.d.ts +10 -0
  139. package/dist/document-api/src/types/address.d.ts +169 -0
  140. package/dist/document-api/src/types/base.d.ts +89 -0
  141. package/dist/document-api/src/types/blocks.types.d.ts +190 -0
  142. package/dist/document-api/src/types/clipboard.d.ts +216 -0
  143. package/dist/document-api/src/types/comments.types.d.ts +17 -0
  144. package/dist/document-api/src/types/create.types.d.ts +56 -0
  145. package/dist/document-api/src/types/discovery.d.ts +99 -0
  146. package/dist/document-api/src/types/extract.types.d.ts +163 -0
  147. package/dist/document-api/src/types/fragment.d.ts +29 -0
  148. package/dist/document-api/src/types/index.d.ts +30 -0
  149. package/dist/document-api/src/types/info.types.d.ts +109 -0
  150. package/dist/document-api/src/types/inline.types.d.ts +28 -0
  151. package/dist/document-api/src/types/media.types.d.ts +72 -0
  152. package/dist/document-api/src/types/mutation-plan.types.d.ts +264 -0
  153. package/dist/document-api/src/types/node.d.ts +9 -0
  154. package/dist/document-api/src/types/paragraph.types.d.ts +61 -0
  155. package/dist/document-api/src/types/placement.d.ts +24 -0
  156. package/dist/document-api/src/types/query-match.types.d.ts +212 -0
  157. package/dist/document-api/src/types/query.d.ts +133 -0
  158. package/dist/document-api/src/types/receipt.d.ts +191 -0
  159. package/dist/document-api/src/types/references.types.d.ts +9 -0
  160. package/dist/document-api/src/types/sd-contract.d.ts +54 -0
  161. package/dist/document-api/src/types/sd-envelope.d.ts +59 -0
  162. package/dist/document-api/src/types/sd-nodes.d.ts +375 -0
  163. package/dist/document-api/src/types/sd-objects.d.ts +144 -0
  164. package/dist/document-api/src/types/sd-props.d.ts +240 -0
  165. package/dist/document-api/src/types/sd-sections.d.ts +126 -0
  166. package/dist/document-api/src/types/sd-styles.d.ts +36 -0
  167. package/dist/document-api/src/types/step-manifest.types.d.ts +30 -0
  168. package/dist/document-api/src/types/story.types.d.ts +123 -0
  169. package/dist/document-api/src/types/structural-input.d.ts +40 -0
  170. package/dist/document-api/src/types/structured.types.d.ts +21 -0
  171. package/dist/document-api/src/types/style-policy.types.d.ts +49 -0
  172. package/dist/document-api/src/types/table-operations.types.d.ts +618 -0
  173. package/dist/document-api/src/types/tables.types.d.ts +43 -0
  174. package/dist/document-api/src/types/toc.types.d.ts +1 -0
  175. package/dist/document-api/src/types/track-changes.types.d.ts +703 -0
  176. package/dist/document-api/src/validation/create-location-validator.d.ts +2 -0
  177. package/dist/document-api/src/validation/fragment-validator.d.ts +13 -0
  178. package/dist/document-api/src/validation/selection-target-validator.d.ts +7 -0
  179. package/dist/document-api/src/validation/story-validator.d.ts +12 -0
  180. package/dist/document-api/src/validation-primitives.d.ts +29 -0
  181. package/dist/document-api/src/write/locator.d.ts +24 -0
  182. package/dist/document-api/src/write/write.d.ts +73 -0
  183. package/dist/images/altText_add.svg +3 -0
  184. package/dist/images/altText_disclaimer.svg +3 -0
  185. package/dist/images/altText_done.svg +3 -0
  186. package/dist/images/altText_spinner.svg +30 -0
  187. package/dist/images/altText_warning.svg +3 -0
  188. package/dist/images/annotation-check.svg +11 -0
  189. package/dist/images/annotation-comment.svg +16 -0
  190. package/dist/images/annotation-help.svg +26 -0
  191. package/dist/images/annotation-insert.svg +10 -0
  192. package/dist/images/annotation-key.svg +11 -0
  193. package/dist/images/annotation-newparagraph.svg +11 -0
  194. package/dist/images/annotation-noicon.svg +7 -0
  195. package/dist/images/annotation-note.svg +42 -0
  196. package/dist/images/annotation-paperclip.svg +6 -0
  197. package/dist/images/annotation-paragraph.svg +16 -0
  198. package/dist/images/annotation-pushpin.svg +7 -0
  199. package/dist/images/checkmark.svg +5 -0
  200. package/dist/images/comment-actionsButton.svg +3 -0
  201. package/dist/images/comment-closeButton.svg +3 -0
  202. package/dist/images/comment-editButton.svg +8 -0
  203. package/dist/images/comment-popup-editButton.svg +5 -0
  204. package/dist/images/cursor-editorFreeHighlight.svg +6 -0
  205. package/dist/images/cursor-editorFreeText.svg +3 -0
  206. package/dist/images/cursor-editorInk.svg +4 -0
  207. package/dist/images/cursor-editorTextHighlight.svg +8 -0
  208. package/dist/images/editor-toolbar-delete.svg +5 -0
  209. package/dist/images/editor-toolbar-edit.svg +3 -0
  210. package/dist/images/findbarButton-next.svg +3 -0
  211. package/dist/images/findbarButton-previous.svg +3 -0
  212. package/dist/images/gv-toolbarButton-download.svg +3 -0
  213. package/dist/images/loading-icon.gif +0 -0
  214. package/dist/images/loading.svg +1 -0
  215. package/dist/images/messageBar_closingButton.svg +3 -0
  216. package/dist/images/messageBar_info.svg +3 -0
  217. package/dist/images/messageBar_warning.svg +3 -0
  218. package/dist/images/pages_closeButton.svg +3 -0
  219. package/dist/images/pages_selected.svg +7 -0
  220. package/dist/images/pages_viewArrow.svg +3 -0
  221. package/dist/images/pages_viewButton.svg +3 -0
  222. package/dist/images/secondaryToolbarButton-documentProperties.svg +3 -0
  223. package/dist/images/secondaryToolbarButton-firstPage.svg +3 -0
  224. package/dist/images/secondaryToolbarButton-handTool.svg +3 -0
  225. package/dist/images/secondaryToolbarButton-lastPage.svg +3 -0
  226. package/dist/images/secondaryToolbarButton-rotateCcw.svg +3 -0
  227. package/dist/images/secondaryToolbarButton-rotateCw.svg +3 -0
  228. package/dist/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
  229. package/dist/images/secondaryToolbarButton-scrollPage.svg +3 -0
  230. package/dist/images/secondaryToolbarButton-scrollVertical.svg +3 -0
  231. package/dist/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
  232. package/dist/images/secondaryToolbarButton-selectTool.svg +3 -0
  233. package/dist/images/secondaryToolbarButton-spreadEven.svg +3 -0
  234. package/dist/images/secondaryToolbarButton-spreadNone.svg +3 -0
  235. package/dist/images/secondaryToolbarButton-spreadOdd.svg +3 -0
  236. package/dist/images/toolbarButton-bookmark.svg +3 -0
  237. package/dist/images/toolbarButton-currentOutlineItem.svg +3 -0
  238. package/dist/images/toolbarButton-download.svg +4 -0
  239. package/dist/images/toolbarButton-editorFreeText.svg +5 -0
  240. package/dist/images/toolbarButton-editorHighlight.svg +6 -0
  241. package/dist/images/toolbarButton-editorInk.svg +4 -0
  242. package/dist/images/toolbarButton-editorSignature.svg +6 -0
  243. package/dist/images/toolbarButton-editorStamp.svg +8 -0
  244. package/dist/images/toolbarButton-menuArrow.svg +3 -0
  245. package/dist/images/toolbarButton-openFile.svg +3 -0
  246. package/dist/images/toolbarButton-pageDown.svg +3 -0
  247. package/dist/images/toolbarButton-pageUp.svg +3 -0
  248. package/dist/images/toolbarButton-presentationMode.svg +3 -0
  249. package/dist/images/toolbarButton-print.svg +3 -0
  250. package/dist/images/toolbarButton-search.svg +3 -0
  251. package/dist/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
  252. package/dist/images/toolbarButton-viewAttachments.svg +3 -0
  253. package/dist/images/toolbarButton-viewLayers.svg +3 -0
  254. package/dist/images/toolbarButton-viewOutline.svg +3 -0
  255. package/dist/images/toolbarButton-viewThumbnail.svg +3 -0
  256. package/dist/images/toolbarButton-viewsManagerToggle.svg +3 -0
  257. package/dist/images/toolbarButton-zoomIn.svg +3 -0
  258. package/dist/images/toolbarButton-zoomOut.svg +3 -0
  259. package/dist/images/treeitem-collapsed.svg +1 -0
  260. package/dist/images/treeitem-expanded.svg +1 -0
  261. package/dist/layout-engine/contracts/src/author-colors.d.ts +56 -0
  262. package/dist/layout-engine/contracts/src/cell-spacing.d.ts +12 -0
  263. package/dist/layout-engine/contracts/src/clip-path-inset.d.ts +27 -0
  264. package/dist/layout-engine/contracts/src/column-layout.d.ts +79 -0
  265. package/dist/layout-engine/contracts/src/direction-context.d.ts +219 -0
  266. package/dist/layout-engine/contracts/src/drawing-taxonomy.d.ts +126 -0
  267. package/dist/layout-engine/contracts/src/engines/image-wrap.d.ts +54 -0
  268. package/dist/layout-engine/contracts/src/engines/index.d.ts +17 -0
  269. package/dist/layout-engine/contracts/src/engines/lists.d.ts +57 -0
  270. package/dist/layout-engine/contracts/src/engines/paragraph.d.ts +59 -0
  271. package/dist/layout-engine/contracts/src/engines/tables.d.ts +89 -0
  272. package/dist/layout-engine/contracts/src/engines/tabs.d.ts +117 -0
  273. package/dist/layout-engine/contracts/src/graphic-placement.d.ts +76 -0
  274. package/dist/layout-engine/contracts/src/header-footer-inheritance.d.ts +22 -0
  275. package/dist/layout-engine/contracts/src/header-footer-resolution.d.ts +28 -0
  276. package/dist/layout-engine/contracts/src/incremental-dependency.d.ts +10 -0
  277. package/dist/layout-engine/contracts/src/index.d.ts +2459 -0
  278. package/dist/layout-engine/contracts/src/justify-utils.d.ts +98 -0
  279. package/dist/layout-engine/contracts/src/layout-identity.d.ts +136 -0
  280. package/dist/layout-engine/contracts/src/ooxml-z-index.d.ts +46 -0
  281. package/dist/layout-engine/contracts/src/page-number-formatting.d.ts +26 -0
  282. package/dist/layout-engine/contracts/src/page-ref-anchor.d.ts +2 -0
  283. package/dist/layout-engine/contracts/src/pm-range.d.ts +45 -0
  284. package/dist/layout-engine/contracts/src/resolved-layout.d.ts +541 -0
  285. package/dist/layout-engine/contracts/src/run-helpers.d.ts +23 -0
  286. package/dist/layout-engine/contracts/src/sdt-container.d.ts +13 -0
  287. package/dist/layout-engine/contracts/src/segment-geometry.d.ts +192 -0
  288. package/dist/layout-engine/contracts/src/semantic-colors.d.ts +150 -0
  289. package/dist/layout-engine/contracts/src/table-cell-spacing.d.ts +12 -0
  290. package/dist/layout-engine/contracts/src/table-column-rescale.d.ts +13 -0
  291. package/dist/layout-engine/contracts/src/vertical-text.d.ts +43 -0
  292. package/dist/layout-engine/dom-contract/src/class-names.d.ts +62 -0
  293. package/dist/layout-engine/dom-contract/src/data-attrs.d.ts +103 -0
  294. package/dist/layout-engine/dom-contract/src/index.d.ts +18 -0
  295. package/dist/layout-engine/dom-contract/src/selectors.d.ts +47 -0
  296. package/dist/layout-engine/layout-bridge/src/cache-warmer.d.ts +73 -0
  297. package/dist/layout-engine/layout-bridge/src/cache.d.ts +143 -0
  298. package/dist/layout-engine/layout-bridge/src/cacheInvalidation.d.ts +117 -0
  299. package/dist/layout-engine/layout-bridge/src/cursor-renderer.d.ts +201 -0
  300. package/dist/layout-engine/layout-bridge/src/debounced-passes.d.ts +130 -0
  301. package/dist/layout-engine/layout-bridge/src/diff.d.ts +36 -0
  302. package/dist/layout-engine/layout-bridge/src/dirty-tracker.d.ts +128 -0
  303. package/dist/layout-engine/layout-bridge/src/dom-mapping.d.ts +80 -0
  304. package/dist/layout-engine/layout-bridge/src/featureFlags.d.ts +95 -0
  305. package/dist/layout-engine/layout-bridge/src/field-annotation-key.d.ts +2 -0
  306. package/dist/layout-engine/layout-bridge/src/focus-watchdog.d.ts +170 -0
  307. package/dist/layout-engine/layout-bridge/src/font-metrics-cache.d.ts +164 -0
  308. package/dist/layout-engine/layout-bridge/src/footnote-scorer.d.ts +63 -0
  309. package/dist/layout-engine/layout-bridge/src/headerFooterUtils.d.ts +218 -0
  310. package/dist/layout-engine/layout-bridge/src/ime-handler.d.ts +81 -0
  311. package/dist/layout-engine/layout-bridge/src/incrementalLayout.d.ts +390 -0
  312. package/dist/layout-engine/layout-bridge/src/index.d.ts +211 -0
  313. package/dist/layout-engine/layout-bridge/src/instrumentation.d.ts +245 -0
  314. package/dist/layout-engine/layout-bridge/src/layoutHeaderFooter.d.ts +123 -0
  315. package/dist/layout-engine/layout-bridge/src/list-indent-utils.d.ts +205 -0
  316. package/dist/layout-engine/layout-bridge/src/local-paragraph-layout.d.ts +93 -0
  317. package/dist/layout-engine/layout-bridge/src/neutral-hit.d.ts +142 -0
  318. package/dist/layout-engine/layout-bridge/src/neutral-segment-geometry.d.ts +32 -0
  319. package/dist/layout-engine/layout-bridge/src/page-geometry-helper.d.ts +197 -0
  320. package/dist/layout-engine/layout-bridge/src/paragraph-hash-utils.d.ts +126 -0
  321. package/dist/layout-engine/layout-bridge/src/paragraph-line-cache.d.ts +152 -0
  322. package/dist/layout-engine/layout-bridge/src/performance-metrics.d.ts +249 -0
  323. package/dist/layout-engine/layout-bridge/src/pm-dom-fallback.d.ts +188 -0
  324. package/dist/layout-engine/layout-bridge/src/pm-position-validator.d.ts +100 -0
  325. package/dist/layout-engine/layout-bridge/src/position-hit.d.ts +167 -0
  326. package/dist/layout-engine/layout-bridge/src/remeasure.d.ts +75 -0
  327. package/dist/layout-engine/layout-bridge/src/resolveHeaderFooterTokens.d.ts +76 -0
  328. package/dist/layout-engine/layout-bridge/src/rtl-text-geometry.d.ts +34 -0
  329. package/dist/layout-engine/layout-bridge/src/run-visual-marks.d.ts +12 -0
  330. package/dist/layout-engine/layout-bridge/src/safety-net.d.ts +234 -0
  331. package/dist/layout-engine/layout-bridge/src/sectionAwareHeaderFooter.d.ts +15 -0
  332. package/dist/layout-engine/layout-bridge/src/table-handler.d.ts +86 -0
  333. package/dist/layout-engine/layout-bridge/src/text-boundaries.d.ts +17 -0
  334. package/dist/layout-engine/layout-bridge/src/text-measurement.d.ts +69 -0
  335. package/dist/layout-engine/layout-bridge/src/track-changes-handler.d.ts +90 -0
  336. package/dist/layout-engine/layout-bridge/src/tracked-changes-utils.d.ts +41 -0
  337. package/dist/layout-engine/layout-engine/src/anchors.d.ts +52 -0
  338. package/dist/layout-engine/layout-engine/src/column-balancing.d.ts +255 -0
  339. package/dist/layout-engine/layout-engine/src/column-utils.d.ts +1 -0
  340. package/dist/layout-engine/layout-engine/src/floating-objects.d.ts +60 -0
  341. package/dist/layout-engine/layout-engine/src/floating-table-anchor.d.ts +21 -0
  342. package/dist/layout-engine/layout-engine/src/index.d.ts +349 -0
  343. package/dist/layout-engine/layout-engine/src/layout-drawing.d.ts +60 -0
  344. package/dist/layout-engine/layout-engine/src/layout-image.d.ts +16 -0
  345. package/dist/layout-engine/layout-engine/src/layout-paragraph.d.ts +101 -0
  346. package/dist/layout-engine/layout-engine/src/layout-table.d.ts +71 -0
  347. package/dist/layout-engine/layout-engine/src/layout-textbox.d.ts +4 -0
  348. package/dist/layout-engine/layout-engine/src/layout-utils.d.ts +104 -0
  349. package/dist/layout-engine/layout-engine/src/normalize-header-footer-fragments.d.ts +45 -0
  350. package/dist/layout-engine/layout-engine/src/pageNumbering.d.ts +73 -0
  351. package/dist/layout-engine/layout-engine/src/paginator.d.ts +131 -0
  352. package/dist/layout-engine/layout-engine/src/paragraph-layout-eligibility.d.ts +1 -0
  353. package/dist/layout-engine/layout-engine/src/resolvePageRefs.d.ts +31 -0
  354. package/dist/layout-engine/layout-engine/src/resolvePageTokens.d.ts +82 -0
  355. package/dist/layout-engine/layout-engine/src/section-breaks.d.ts +98 -0
  356. package/dist/layout-engine/layout-engine/src/section-props.d.ts +65 -0
  357. package/dist/layout-engine/layout-engine/src/table-cell-slice.d.ts +98 -0
  358. package/dist/layout-engine/painters/dom/src/_test-utils.d.ts +22 -0
  359. package/dist/layout-engine/painters/dom/src/chart-renderer.d.ts +13 -0
  360. package/dist/layout-engine/painters/dom/src/constants.d.ts +10 -0
  361. package/dist/layout-engine/painters/dom/src/css-token.d.ts +10 -0
  362. package/dist/layout-engine/painters/dom/src/features/feature-registry.d.ts +41 -0
  363. package/dist/layout-engine/painters/dom/src/features/inline-direction/index.d.ts +22 -0
  364. package/dist/layout-engine/painters/dom/src/features/inline-direction/rtl-styles.d.ts +27 -0
  365. package/dist/layout-engine/painters/dom/src/features/inline-direction/run-direction.d.ts +75 -0
  366. package/dist/layout-engine/painters/dom/src/features/math/converters/accent.d.ts +25 -0
  367. package/dist/layout-engine/painters/dom/src/features/math/converters/bar.d.ts +16 -0
  368. package/dist/layout-engine/painters/dom/src/features/math/converters/box.d.ts +38 -0
  369. package/dist/layout-engine/painters/dom/src/features/math/converters/delimiter.d.ts +13 -0
  370. package/dist/layout-engine/painters/dom/src/features/math/converters/equation-array.d.ts +19 -0
  371. package/dist/layout-engine/painters/dom/src/features/math/converters/fraction.d.ts +13 -0
  372. package/dist/layout-engine/painters/dom/src/features/math/converters/function.d.ts +16 -0
  373. package/dist/layout-engine/painters/dom/src/features/math/converters/group-character.d.ts +26 -0
  374. package/dist/layout-engine/painters/dom/src/features/math/converters/index.d.ts +27 -0
  375. package/dist/layout-engine/painters/dom/src/features/math/converters/lower-limit.d.ts +13 -0
  376. package/dist/layout-engine/painters/dom/src/features/math/converters/math-run.d.ts +47 -0
  377. package/dist/layout-engine/painters/dom/src/features/math/converters/matrix.d.ts +23 -0
  378. package/dist/layout-engine/painters/dom/src/features/math/converters/nary.d.ts +23 -0
  379. package/dist/layout-engine/painters/dom/src/features/math/converters/phantom.d.ts +17 -0
  380. package/dist/layout-engine/painters/dom/src/features/math/converters/pre-sub-superscript.d.ts +25 -0
  381. package/dist/layout-engine/painters/dom/src/features/math/converters/radical.d.ts +14 -0
  382. package/dist/layout-engine/painters/dom/src/features/math/converters/sub-superscript.d.ts +13 -0
  383. package/dist/layout-engine/painters/dom/src/features/math/converters/subscript.d.ts +13 -0
  384. package/dist/layout-engine/painters/dom/src/features/math/converters/superscript.d.ts +13 -0
  385. package/dist/layout-engine/painters/dom/src/features/math/converters/upper-limit.d.ts +13 -0
  386. package/dist/layout-engine/painters/dom/src/features/math/index.d.ts +14 -0
  387. package/dist/layout-engine/painters/dom/src/features/math/omml-to-mathml.d.ts +18 -0
  388. package/dist/layout-engine/painters/dom/src/features/math/types.d.ts +41 -0
  389. package/dist/layout-engine/painters/dom/src/images/drawing-image.d.ts +5 -0
  390. package/dist/layout-engine/painters/dom/src/images/hyperlink.d.ts +2 -0
  391. package/dist/layout-engine/painters/dom/src/images/image-block.d.ts +15 -0
  392. package/dist/layout-engine/painters/dom/src/images/image-clip-path.d.ts +17 -0
  393. package/dist/layout-engine/painters/dom/src/images/image-fragment.d.ts +34 -0
  394. package/dist/layout-engine/painters/dom/src/images/image-selectors.d.ts +9 -0
  395. package/dist/layout-engine/painters/dom/src/images/types.d.ts +2 -0
  396. package/dist/layout-engine/painters/dom/src/index.d.ts +130 -0
  397. package/dist/layout-engine/painters/dom/src/page-content.d.ts +277 -0
  398. package/dist/layout-engine/painters/dom/src/paragraph/block-version.d.ts +8 -0
  399. package/dist/layout-engine/painters/dom/src/paragraph/borders/border-layer.d.ts +59 -0
  400. package/dist/layout-engine/painters/dom/src/paragraph/borders/group-analysis.d.ts +38 -0
  401. package/dist/layout-engine/painters/dom/src/paragraph/borders/index.d.ts +18 -0
  402. package/dist/layout-engine/painters/dom/src/paragraph/frame.d.ts +3 -0
  403. package/dist/layout-engine/painters/dom/src/paragraph/indentation.d.ts +25 -0
  404. package/dist/layout-engine/painters/dom/src/paragraph/list-marker.d.ts +51 -0
  405. package/dist/layout-engine/painters/dom/src/paragraph/marker-tracked-change.d.ts +34 -0
  406. package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphContent.d.ts +87 -0
  407. package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphFragment.d.ts +33 -0
  408. package/dist/layout-engine/painters/dom/src/paragraph/styles.d.ts +3 -0
  409. package/dist/layout-engine/painters/dom/src/paragraph-hash-utils.d.ts +13 -0
  410. package/dist/layout-engine/painters/dom/src/persistent-page-surface.d.ts +144 -0
  411. package/dist/layout-engine/painters/dom/src/pm-position-validation.d.ts +149 -0
  412. package/dist/layout-engine/painters/dom/src/renderer.d.ts +625 -0
  413. package/dist/layout-engine/painters/dom/src/ruler/index.d.ts +41 -0
  414. package/dist/layout-engine/painters/dom/src/ruler/ruler-core.d.ts +195 -0
  415. package/dist/layout-engine/painters/dom/src/ruler/ruler-renderer.d.ts +97 -0
  416. package/dist/layout-engine/painters/dom/src/ruler/ruler-styles.d.ts +31 -0
  417. package/dist/layout-engine/painters/dom/src/runs/field-annotation-run.d.ts +14 -0
  418. package/dist/layout-engine/painters/dom/src/runs/font-synthesis.d.ts +1 -0
  419. package/dist/layout-engine/painters/dom/src/runs/formatting-marks.d.ts +3 -0
  420. package/dist/layout-engine/painters/dom/src/runs/hash.d.ts +82 -0
  421. package/dist/layout-engine/painters/dom/src/runs/image-run.d.ts +37 -0
  422. package/dist/layout-engine/painters/dom/src/runs/index.d.ts +13 -0
  423. package/dist/layout-engine/painters/dom/src/runs/links.d.ts +58 -0
  424. package/dist/layout-engine/painters/dom/src/runs/math-run.d.ts +7 -0
  425. package/dist/layout-engine/painters/dom/src/runs/render-line.d.ts +2 -0
  426. package/dist/layout-engine/painters/dom/src/runs/render-run.d.ts +12 -0
  427. package/dist/layout-engine/painters/dom/src/runs/tab-run.d.ts +66 -0
  428. package/dist/layout-engine/painters/dom/src/runs/text-run.d.ts +35 -0
  429. package/dist/layout-engine/painters/dom/src/runs/tracked-changes.d.ts +90 -0
  430. package/dist/layout-engine/painters/dom/src/runs/types.d.ts +67 -0
  431. package/dist/layout-engine/painters/dom/src/sdt/boundaries.d.ts +16 -0
  432. package/dist/layout-engine/painters/dom/src/sdt/container.d.ts +32 -0
  433. package/dist/layout-engine/painters/dom/src/sdt/dataset.d.ts +7 -0
  434. package/dist/layout-engine/painters/dom/src/sdt/inline.d.ts +9 -0
  435. package/dist/layout-engine/painters/dom/src/sdt/snapshot.d.ts +29 -0
  436. package/dist/layout-engine/painters/dom/src/styles.d.ts +71 -0
  437. package/dist/layout-engine/painters/dom/src/svg-utils.d.ts +101 -0
  438. package/dist/layout-engine/painters/dom/src/table/border-utils.d.ts +185 -0
  439. package/dist/layout-engine/painters/dom/src/table/grid-geometry.d.ts +69 -0
  440. package/dist/layout-engine/painters/dom/src/table/renderTableCell.d.ts +170 -0
  441. package/dist/layout-engine/painters/dom/src/table/renderTableFragment.d.ts +132 -0
  442. package/dist/layout-engine/painters/dom/src/table/renderTableRow.d.ts +146 -0
  443. package/dist/layout-engine/painters/dom/src/test-utils/normalize-line.d.ts +39 -0
  444. package/dist/layout-engine/painters/dom/src/utils/anchor-helpers.d.ts +3 -0
  445. package/dist/layout-engine/painters/dom/src/utils/apply-styles.d.ts +1 -0
  446. package/dist/layout-engine/painters/dom/src/utils/layout-identity.d.ts +9 -0
  447. package/dist/layout-engine/painters/dom/src/utils/source-anchor.d.ts +2 -0
  448. package/dist/layout-engine/style-engine/src/bench/resolveSdtMetadata.bench.d.ts +1 -0
  449. package/dist/layout-engine/style-engine/src/cascade.d.ts +43 -0
  450. package/dist/layout-engine/style-engine/src/index.d.ts +121 -0
  451. package/dist/layout-engine/style-engine/src/normalize/colors.d.ts +13 -0
  452. package/dist/layout-engine/style-engine/src/normalize/index.d.ts +13 -0
  453. package/dist/layout-engine/style-engine/src/normalize/paragraph-attrs.d.ts +3 -0
  454. package/dist/layout-engine/style-engine/src/normalize/run-attrs.d.ts +17 -0
  455. package/dist/layout-engine/style-engine/src/normalize/types.d.ts +36 -0
  456. package/dist/layout-engine/style-engine/src/normalize/units.d.ts +13 -0
  457. package/dist/layout-engine/style-engine/src/ooxml/index.d.ts +64 -0
  458. package/dist/layout-engine/style-engine/src/ooxml/numbering-types.d.ts +126 -0
  459. package/dist/layout-engine/style-engine/src/ooxml/styles-types.d.ts +363 -0
  460. package/dist/layout-engine/style-engine/src/ooxml/table-style-selection.d.ts +86 -0
  461. package/dist/layout-engine/style-engine/src/ooxml/types.d.ts +459 -0
  462. package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-theme.d.ts +33 -0
  463. package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-xml.d.ts +29 -0
  464. package/dist/public/ui-react.cjs +175 -0
  465. package/dist/public/ui-react.es.js +159 -0
  466. package/dist/public/ui.cjs +5 -0
  467. package/dist/public/ui.es.js +2 -0
  468. package/dist/shared/common/comments-types.d.ts +102 -0
  469. package/dist/shared/common/layout-constants.d.ts +7 -0
  470. package/dist/shared/common/list-marker-utils.d.ts +186 -0
  471. package/dist/shared/common/list-numbering/index.d.ts +16 -0
  472. package/dist/shared/font-system/src/activation.d.ts +64 -0
  473. package/dist/shared/font-system/src/bundled-manifest.d.ts +32 -0
  474. package/dist/shared/font-system/src/bundled.d.ts +41 -0
  475. package/dist/shared/font-system/src/document-font-options.d.ts +53 -0
  476. package/dist/shared/font-system/src/epoch.d.ts +6 -0
  477. package/dist/shared/font-system/src/font-offerings.d.ts +120 -0
  478. package/dist/shared/font-system/src/index.d.ts +35 -0
  479. package/dist/shared/font-system/src/os2.d.ts +30 -0
  480. package/dist/shared/font-system/src/registry.d.ts +188 -0
  481. package/dist/shared/font-system/src/report.d.ts +98 -0
  482. package/dist/shared/font-system/src/resolver.d.ts +215 -0
  483. package/dist/shared/font-system/src/substitution-evidence.d.ts +103 -0
  484. package/dist/shared/font-system/src/types.d.ts +128 -0
  485. package/dist/style.css +3323 -0
  486. package/dist/style.layered.css +3323 -0
  487. package/dist/superdoc/src/SuperDoc.vue.d.ts +88 -0
  488. package/dist/superdoc/src/cdn-entry.d.ts +2 -0
  489. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +62 -0
  490. package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +26 -0
  491. package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +19 -0
  492. package/dist/superdoc/src/components/CommentsLayer/CommentsDropdown.vue.d.ts +30 -0
  493. package/dist/superdoc/src/components/CommentsLayer/InternalDropdown.vue.d.ts +10 -0
  494. package/dist/superdoc/src/components/CommentsLayer/collect-removed-comment-ids.d.ts +1 -0
  495. package/dist/superdoc/src/components/CommentsLayer/collect-tracked-change-thread.d.ts +6 -0
  496. package/dist/superdoc/src/components/CommentsLayer/comment-schemas.d.ts +18 -0
  497. package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +9 -0
  498. package/dist/superdoc/src/components/CommentsLayer/commentsList/super-comments-list.d.ts +21 -0
  499. package/dist/superdoc/src/components/CommentsLayer/floating-comment-positioning.d.ts +28 -0
  500. package/dist/superdoc/src/components/CommentsLayer/helpers.d.ts +7 -0
  501. package/dist/superdoc/src/components/CommentsLayer/tracked-change-threading.d.ts +2 -0
  502. package/dist/superdoc/src/components/CommentsLayer/types.d.ts +3 -0
  503. package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +8 -0
  504. package/dist/superdoc/src/components/CommentsLayer/use-conversation.d.ts +22 -0
  505. package/dist/superdoc/src/components/CommentsLayer/use-floating-comment.d.ts +11 -0
  506. package/dist/superdoc/src/components/HtmlViewer/HtmlViewer.vue.d.ts +10 -0
  507. package/dist/superdoc/src/components/PdfViewer/PdfViewer.vue.d.ts +61 -0
  508. package/dist/superdoc/src/components/PdfViewer/PdfViewerDocument.vue.d.ts +21 -0
  509. package/dist/superdoc/src/components/PdfViewer/PdfViewerPage.vue.d.ts +24 -0
  510. package/dist/superdoc/src/components/Whiteboard/WhiteboardLayer.vue.d.ts +19 -0
  511. package/dist/superdoc/src/components/Whiteboard/WhiteboardPage.vue.d.ts +17 -0
  512. package/dist/superdoc/src/components/Whiteboard/use-whiteboard.d.ts +18 -0
  513. package/dist/superdoc/src/components/surfaces/FindReplaceSurface.vue.d.ts +19 -0
  514. package/dist/superdoc/src/components/surfaces/PasswordPromptSurface.vue.d.ts +17 -0
  515. package/dist/superdoc/src/components/surfaces/SurfaceDialog.vue.d.ts +12 -0
  516. package/dist/superdoc/src/components/surfaces/SurfaceExternalMount.vue.d.ts +19 -0
  517. package/dist/superdoc/src/components/surfaces/SurfaceFloating.vue.d.ts +10 -0
  518. package/dist/superdoc/src/components/surfaces/SurfaceHost.vue.d.ts +31 -0
  519. package/dist/superdoc/src/components/surfaces/focusable-selector.d.ts +5 -0
  520. package/dist/superdoc/src/composables/find-shortcut-owner.d.ts +32 -0
  521. package/dist/superdoc/src/composables/replace-continuation.d.ts +37 -0
  522. package/dist/superdoc/src/composables/use-ai.d.ts +10 -0
  523. package/dist/superdoc/src/composables/use-comment-small-screen.d.ts +10 -0
  524. package/dist/superdoc/src/composables/use-compact-comment-popover.d.ts +21 -0
  525. package/dist/superdoc/src/composables/use-document.d.ts +34 -0
  526. package/dist/superdoc/src/composables/use-field.d.ts +33 -0
  527. package/dist/superdoc/src/composables/use-find-replace.d.ts +83 -0
  528. package/dist/superdoc/src/composables/use-high-contrast-mode.d.ts +4 -0
  529. package/dist/superdoc/src/composables/use-link-popover.d.ts +221 -0
  530. package/dist/superdoc/src/composables/use-password-prompt.d.ts +33 -0
  531. package/dist/superdoc/src/composables/use-selected-text.d.ts +16 -0
  532. package/dist/superdoc/src/composables/use-viewport-fit.d.ts +50 -0
  533. package/dist/superdoc/src/composables/useUiFontFamily.d.ts +24 -0
  534. package/dist/superdoc/src/core/EventEmitter.d.ts +55 -0
  535. package/dist/superdoc/src/core/SuperDoc.d.ts +775 -0
  536. package/dist/superdoc/src/core/collaboration/collaboration-comments.d.ts +4 -0
  537. package/dist/superdoc/src/core/collaboration/collaboration.d.ts +28 -0
  538. package/dist/superdoc/src/core/collaboration/helpers.d.ts +8 -0
  539. package/dist/superdoc/src/core/collaboration/permissions.d.ts +19 -0
  540. package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +99 -0
  541. package/dist/superdoc/src/core/collaboration/room-overwrite.d.ts +22 -0
  542. package/dist/superdoc/src/core/collaboration/v2-awareness-bridge.d.ts +57 -0
  543. package/dist/superdoc/src/core/config/merge-defined.d.ts +35 -0
  544. package/dist/superdoc/src/core/config/normalize-interaction-config.d.ts +15 -0
  545. package/dist/superdoc/src/core/config/normalize-surfaces-config.d.ts +23 -0
  546. package/dist/superdoc/src/core/config/normalize-ui-config.d.ts +62 -0
  547. package/dist/superdoc/src/core/create-app.d.ts +32 -0
  548. package/dist/superdoc/src/core/editor-runtime/conformance/fake-v2-runtime.d.ts +9 -0
  549. package/dist/superdoc/src/core/editor-runtime/editor-runtime-registry.d.ts +117 -0
  550. package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -0
  551. package/dist/superdoc/src/core/editor-runtime/root-marker.d.ts +33 -0
  552. package/dist/superdoc/src/core/editor-runtime/types.d.ts +405 -0
  553. package/dist/superdoc/src/core/editor-runtime/v2/v2-editor-runtime-adapter.d.ts +185 -0
  554. package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +47 -0
  555. package/dist/superdoc/src/core/extensions/define.d.ts +56 -0
  556. package/dist/superdoc/src/core/extensions/index.d.ts +2 -0
  557. package/dist/superdoc/src/core/extensions/types.d.ts +519 -0
  558. package/dist/superdoc/src/core/helpers/export.d.ts +2 -0
  559. package/dist/superdoc/src/core/helpers/file.d.ts +43 -0
  560. package/dist/superdoc/src/core/helpers/normalize-track-changes-config.d.ts +60 -0
  561. package/dist/superdoc/src/core/helpers/normalize-user.d.ts +13 -0
  562. package/dist/superdoc/src/core/index.d.ts +1 -0
  563. package/dist/superdoc/src/core/pdf/helpers/constants.d.ts +2 -0
  564. package/dist/superdoc/src/core/pdf/helpers/floor.d.ts +1 -0
  565. package/dist/superdoc/src/core/pdf/helpers/range.d.ts +1 -0
  566. package/dist/superdoc/src/core/pdf/helpers/read-file.d.ts +1 -0
  567. package/dist/superdoc/src/core/pdf/pdf-adapter.d.ts +66 -0
  568. package/dist/superdoc/src/core/surface-manager.d.ts +90 -0
  569. package/dist/superdoc/src/core/theme/create-theme.d.ts +82 -0
  570. package/dist/superdoc/src/core/types/index.d.ts +3253 -0
  571. package/dist/superdoc/src/core/v2-integration/browser-peer-runtime.d.ts +3 -0
  572. package/dist/superdoc/src/core/v2-integration/cdn-engine-loader.d.ts +16 -0
  573. package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +97 -0
  574. package/dist/superdoc/src/core/whiteboard/Whiteboard.d.ts +247 -0
  575. package/dist/superdoc/src/core/whiteboard/WhiteboardPage.d.ts +251 -0
  576. package/dist/superdoc/src/core/whiteboard/WhiteboardRenderer.d.ts +2 -0
  577. package/dist/superdoc/src/core/whiteboard/helpers/createTextarea.d.ts +1 -0
  578. package/dist/superdoc/src/core/whiteboard/helpers/flattenPoints.d.ts +1 -0
  579. package/dist/superdoc/src/core/whiteboard/helpers/getRandomId.d.ts +1 -0
  580. package/dist/superdoc/src/helpers/collect-touched-tracked-change-ids.d.ts +11 -0
  581. package/dist/superdoc/src/helpers/comment-focus.d.ts +4 -0
  582. package/dist/superdoc/src/helpers/comment-small-screen.d.ts +14 -0
  583. package/dist/superdoc/src/helpers/deprecation.d.ts +26 -0
  584. package/dist/superdoc/src/helpers/floor.d.ts +1 -0
  585. package/dist/superdoc/src/helpers/group-changes.d.ts +1 -0
  586. package/dist/superdoc/src/helpers/interaction-trace.d.ts +26 -0
  587. package/dist/superdoc/src/helpers/selection-source.d.ts +1 -0
  588. package/dist/superdoc/src/helpers/transaction-touches-structural-change.d.ts +19 -0
  589. package/dist/superdoc/src/helpers/use-selection.d.ts +17 -0
  590. package/dist/superdoc/src/helpers/v2-author-required-rejection.d.ts +22 -0
  591. package/dist/superdoc/src/helpers/v2-remote-review-hydration.d.ts +12 -0
  592. package/dist/superdoc/src/helpers/v2-review-mutation-impact.d.ts +19 -0
  593. package/dist/superdoc/src/helpers/v2-review-mutation-reconciler.d.ts +19 -0
  594. package/dist/superdoc/src/helpers/v2-review-target.d.ts +7 -0
  595. package/dist/superdoc/src/helpers/v2-selection-sync.d.ts +12 -0
  596. package/dist/superdoc/src/helpers/v2-typing-mutation-event.d.ts +5 -0
  597. package/dist/superdoc/src/icons.d.ts +11 -0
  598. package/dist/superdoc/src/index.d.cts +13 -0
  599. package/dist/superdoc/src/index.d.ts +11 -0
  600. package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +21 -0
  601. package/dist/superdoc/src/internal/toolbar/built-in/AlignmentButtons.vue.d.ts +6 -0
  602. package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +10 -0
  603. package/dist/superdoc/src/internal/toolbar/built-in/DocumentMode.vue.d.ts +10 -0
  604. package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +10 -0
  605. package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +10 -0
  606. package/dist/superdoc/src/internal/toolbar/built-in/IconGrid.vue.d.ts +14 -0
  607. package/dist/superdoc/src/internal/toolbar/built-in/IconGridRow.vue.d.ts +13 -0
  608. package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +37 -0
  609. package/dist/superdoc/src/internal/toolbar/built-in/LinkedStyle.vue.d.ts +12 -0
  610. package/dist/superdoc/src/internal/toolbar/built-in/OverflowMenu.vue.d.ts +10 -0
  611. package/dist/superdoc/src/internal/toolbar/built-in/SdTooltip.vue.d.ts +34 -0
  612. package/dist/superdoc/src/internal/toolbar/built-in/StyleButtonsList.vue.d.ts +14 -0
  613. package/dist/superdoc/src/internal/toolbar/built-in/TableActions.vue.d.ts +8 -0
  614. package/dist/superdoc/src/internal/toolbar/built-in/TableGrid.vue.d.ts +6 -0
  615. package/dist/superdoc/src/internal/toolbar/built-in/Toolbar.vue.d.ts +4 -0
  616. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButton.vue.d.ts +24 -0
  617. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButtonIcon.vue.d.ts +11 -0
  618. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +18 -0
  619. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +38 -0
  620. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarSeparator.vue.d.ts +8 -0
  621. package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +24 -0
  622. package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +101 -0
  623. package/dist/superdoc/src/internal/toolbar/built-in/default-items.d.ts +17 -0
  624. package/dist/superdoc/src/internal/toolbar/built-in/font-options.d.ts +1 -0
  625. package/dist/superdoc/src/internal/toolbar/built-in/font-typeahead.d.ts +11 -0
  626. package/dist/superdoc/src/internal/toolbar/built-in/format-negation.d.ts +5 -0
  627. package/dist/superdoc/src/internal/toolbar/built-in/general.d.ts +1 -0
  628. package/dist/superdoc/src/internal/toolbar/built-in/helpers.d.ts +5 -0
  629. package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +10 -0
  630. package/dist/superdoc/src/internal/toolbar/built-in/scroll-helpers.d.ts +4 -0
  631. package/dist/superdoc/src/internal/toolbar/built-in/toolbar-focus-helpers.d.ts +1 -0
  632. package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +76 -0
  633. package/dist/superdoc/src/internal/toolbar/built-in/toolbarTexts.d.ts +58 -0
  634. package/dist/superdoc/src/internal/toolbar/built-in/url-safety.d.ts +8 -0
  635. package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +48 -0
  636. package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +237 -0
  637. package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +59 -0
  638. package/dist/superdoc/src/internal/toolbar/image-upload.d.ts +63 -0
  639. package/dist/superdoc/src/internal/toolbar/index.d.ts +10 -0
  640. package/dist/superdoc/src/main.d.ts +1 -0
  641. package/dist/superdoc/src/public/browser-document-api.d.ts +53 -0
  642. package/dist/superdoc/src/public/collaboration-upgrade-engine.d.cts +26 -0
  643. package/dist/superdoc/src/public/collaboration-upgrade-engine.d.ts +130 -0
  644. package/dist/superdoc/src/public/index.d.cts +365 -0
  645. package/dist/superdoc/src/public/index.d.ts +182 -0
  646. package/dist/superdoc/src/public/ui/commands.d.ts +249 -0
  647. package/dist/superdoc/src/public/ui/create-super-doc-ui.d.ts +18 -0
  648. package/dist/superdoc/src/public/ui/entity-at.d.ts +29 -0
  649. package/dist/superdoc/src/public/ui/equality.d.ts +10 -0
  650. package/dist/superdoc/src/public/ui/format-painter-helpers.d.ts +36 -0
  651. package/dist/superdoc/src/public/ui/react.d.ts +81 -0
  652. package/dist/superdoc/src/public/ui/reasons.d.ts +99 -0
  653. package/dist/superdoc/src/public/ui/types.d.ts +1425 -0
  654. package/dist/superdoc/src/public/ui-react.d.cts +20 -0
  655. package/dist/superdoc/src/public/ui-react.d.ts +20 -0
  656. package/dist/superdoc/src/public/ui.d.cts +194 -0
  657. package/dist/superdoc/src/public/ui.d.ts +29 -0
  658. package/dist/superdoc/src/stores/comments-store.d.ts +700 -0
  659. package/dist/superdoc/src/stores/helpers/floating-comment-instances.d.ts +14 -0
  660. package/dist/superdoc/src/stores/helpers/tracked-change-thread-index.d.ts +14 -0
  661. package/dist/superdoc/src/stores/hrbr-fields-store.d.ts +43 -0
  662. package/dist/superdoc/src/stores/superdoc-store.d.ts +2254 -0
  663. package/dist/superdoc.cjs +40494 -0
  664. package/dist/superdoc.es.js +40418 -0
  665. package/dist/word-layout/src/index.d.ts +64 -0
  666. package/dist/word-layout/src/list-marker.d.ts +68 -0
  667. package/dist/word-layout/src/marker-utils.d.ts +20 -0
  668. package/dist/word-layout/src/numbering-manager.d.ts +85 -0
  669. package/dist/word-layout/src/tab-layout.d.ts +193 -0
  670. package/dist/word-layout/src/types.d.ts +106 -0
  671. package/dist/word-layout/src/unit-conversions.d.ts +120 -0
  672. package/dist-cdn/style.layered.css +2 -0
  673. package/dist-cdn/superdoc.min.css +2 -0
  674. package/dist-cdn/superdoc.min.js +108 -0
  675. package/package.json +138 -24
  676. package/.npmignore +0 -4
  677. package/data.json +0 -17
  678. package/index.js +0 -2
  679. package/lib/Augmenter.js +0 -27
  680. package/lib/Runner.js +0 -80
  681. package/lib/Stopper.js +0 -71
  682. package/test/superdoc.js +0 -126
  683. package/utils/app.js +0 -18
  684. package/utils/server.js +0 -2
  685. package/web/index.js +0 -54
  686. package/web/public/style.css +0 -76
  687. package/web/views/index.ejs +0 -53
  688. package/web/views/layout.ejs +0 -13
  689. package/web/views/method.ejs +0 -59
@@ -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 {};
@@ -0,0 +1,146 @@
1
+ import { DrawingBlock, DrawingMeasure, Line, ParagraphBlock, PartialRowInfo, SdtMetadata, TableBlock, TableBorders, 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 TableRow = TableBlock['rows'][number];
7
+ /**
8
+ * Dependencies required for rendering a table row.
9
+ *
10
+ * Contains all information needed to render cells in a table row, including
11
+ * positioning, measurements, border resolution, and rendering functions.
12
+ */
13
+ type TableRowRenderDependencies = {
14
+ /** Document object for creating DOM elements */
15
+ doc: Document;
16
+ /** Container element to append cell elements to */
17
+ container: HTMLElement;
18
+ /** Zero-based index of this row */
19
+ rowIndex: number;
20
+ /** Vertical position (top edge) in pixels */
21
+ y: number;
22
+ /** Measurement data for this row (height, cell measurements) */
23
+ rowMeasure: TableRowMeasure;
24
+ /** Row data (cells, attributes), or undefined for empty rows */
25
+ row?: TableRow;
26
+ /** Previous (above) row data + measure, for collapsed-border conflict resolution (§17.4.66). */
27
+ prevRow?: TableRow;
28
+ prevRowMeasure?: TableRowMeasure;
29
+ /** Next (below) row data, to detect a row-level border override that suppresses the shared
30
+ * horizontal edge so the current row closes the grid itself (§17.4.61/§17.4.66). */
31
+ nextRow?: TableRow;
32
+ /** Next (below) row measure, to detect a gridAfter gap under a spanning cell (SD-3345). */
33
+ nextRowMeasure?: TableRowMeasure;
34
+ /**
35
+ * Rightmost occupied grid column (exclusive) for THIS row, counting cells that span into it
36
+ * via w:vMerge (rowspan) from an earlier row. Falls back to this row's own cells when absent.
37
+ * Prevents a leftmost cell on a rowspan-continuation row from being treated as the rightmost
38
+ * column. (SD-1797)
39
+ */
40
+ rowOccupiedRightCol?: number;
41
+ /** Same as {@link rowOccupiedRightCol} for the NEXT row, so a rowspan continuation below is
42
+ * not mistaken for a gridAfter gap (which would double the shared bottom edge). (SD-1797) */
43
+ nextRowOccupiedRightCol?: number;
44
+ /** Total number of rows in the table (for border resolution) */
45
+ totalRows: number;
46
+ /** Table-level borders (for resolving cell borders) */
47
+ tableBorders?: TableBorders;
48
+ /** Column widths array for calculating x positions from gridColumnStart */
49
+ columnWidths: number[];
50
+ /** All row heights for calculating rowspan cell heights */
51
+ allRowHeights: number[];
52
+ /** Table indent in pixels (applied to table fragment positioning) */
53
+ tableIndent?: number;
54
+ /** Whether the table is visually right-to-left (w:bidiVisual, ECMA-376 §17.4.1) */
55
+ isRtl?: boolean;
56
+ /** Rendering context */
57
+ context: FragmentRenderContext;
58
+ /** Function to render a line of paragraph content */
59
+ renderLine: (block: ParagraphBlock, line: Line, context: FragmentRenderContext, lineIndex: number, isLastLine: boolean) => HTMLElement;
60
+ /** Optional callback invoked after a table line's final styles/markers are applied. */
61
+ captureLineSnapshot?: (lineEl: HTMLElement, context: FragmentRenderContext, options?: {
62
+ inTableParagraph?: boolean;
63
+ wrapperEl?: HTMLElement;
64
+ }) => void;
65
+ /** Function to render drawing content (images, shapes, shape groups) */
66
+ renderDrawingContent?: (block: DrawingBlock, interactionHost: HTMLElement, measure: DrawingMeasure) => HTMLElement;
67
+ /** Function to apply SDT metadata as data attributes */
68
+ applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
69
+ /** Ancestor SDT container key for suppressing duplicate container styling in cells */
70
+ ancestorContainerKey?: string | null;
71
+ /** Ancestor SDT metadata for suppressing duplicate id-less container styling in cells */
72
+ ancestorContainerSdt?: SdtMetadata | null;
73
+ /** Ancestor SDT keys for suppressing duplicate container styling in cells */
74
+ ancestorContainerKeys?: SdtAncestorOptions['ancestorContainerKeys'];
75
+ /** Ancestor SDT metadata chain for suppressing duplicate id-less container styling in cells */
76
+ ancestorContainerSdts?: SdtAncestorOptions['ancestorContainerSdts'];
77
+ /** Receives notification when cells render SDT container chrome */
78
+ onSdtContainerChrome?: () => void;
79
+ /**
80
+ * If true, this row is the first body row of a continuation fragment.
81
+ * MS Word draws borders at split points to visually close the table on each page,
82
+ * so we do NOT suppress borders - both fragments draw their edge borders.
83
+ */
84
+ continuesFromPrev?: boolean;
85
+ /**
86
+ * If true, this row is the last body row before a page break continuation.
87
+ * MS Word draws borders at split points to visually close the table on each page,
88
+ * so we do NOT suppress borders - both fragments draw their edge borders.
89
+ */
90
+ continuesOnNext?: boolean;
91
+ /**
92
+ * Partial row information for mid-row splits.
93
+ * Contains per-cell line ranges (fromLineByCell, toLineByCell) for rendering
94
+ * only a portion of the row's content.
95
+ */
96
+ partialRow?: PartialRowInfo;
97
+ /**
98
+ * Cell spacing in pixels (border-spacing between cells).
99
+ * Applied to cell x positions and row y advancement.
100
+ */
101
+ cellSpacingPx?: number;
102
+ /** Built-in SDT chrome rendering mode. */
103
+ chrome?: 'default' | 'none';
104
+ /**
105
+ * Per-document logical->physical font resolver for in-cell list markers and drop caps. Threaded
106
+ * from the renderer's per-document resolver so they paint the same physical family they were
107
+ * measured in. Undefined falls back to the global resolver.
108
+ */
109
+ resolvePhysical?: ResolvePhysicalFamily;
110
+ };
111
+ /**
112
+ * Renders all cells in a table row.
113
+ *
114
+ * Iterates through cells in the row, resolving borders based on cell position,
115
+ * and rendering each cell with its content. Cells are positioned horizontally
116
+ * by accumulating their widths.
117
+ *
118
+ * Border resolution logic:
119
+ * - Cells with explicit borders use those borders
120
+ * - Otherwise, cells use position-based borders from table borders:
121
+ * - Edge cells use outer table borders
122
+ * - Interior cells use inside borders (insideH, insideV)
123
+ * - If no table borders exist, default borders are applied
124
+ *
125
+ * @param deps - All dependencies required for rendering
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * renderTableRow({
130
+ * doc: document,
131
+ * container: tableContainer,
132
+ * rowIndex: 0,
133
+ * y: 0,
134
+ * rowMeasure,
135
+ * row,
136
+ * totalRows: 3,
137
+ * tableBorders,
138
+ * context,
139
+ * renderLine,
140
+ * applySdtDataset
141
+ * });
142
+ * // Appends all cell elements to container
143
+ * ```
144
+ */
145
+ export declare const renderTableRow: (deps: TableRowRenderDependencies) => void;
146
+ export {};
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Test-only normalization helpers for comparing rendered line output
3
+ * across different rendering contexts (body, table-cell).
4
+ *
5
+ * DO NOT import this file from production code. Only *.test.ts and
6
+ * other test-utils/ files may import from here.
7
+ */
8
+ export interface NormalizedRun {
9
+ text: string;
10
+ fontFamily: string | undefined;
11
+ fontSize: string | undefined;
12
+ fontWeight: string | undefined;
13
+ fontStyle: string | undefined;
14
+ color: string | undefined;
15
+ textDecoration: string | undefined;
16
+ backgroundColor: string | undefined;
17
+ href: string | undefined;
18
+ target: string | undefined;
19
+ rel: string | undefined;
20
+ }
21
+ export interface NormalizedLine {
22
+ textAlign: string;
23
+ wordSpacing: string;
24
+ runs: NormalizedRun[];
25
+ marker?: {
26
+ text: string;
27
+ justification: string | undefined;
28
+ };
29
+ }
30
+ /**
31
+ * Normalize a single .superdoc-line element into a semantic representation.
32
+ * Extracts line-level styles (textAlign, wordSpacing) and per-run styles
33
+ * from child span elements.
34
+ */
35
+ export declare function normalizeLine(lineEl: HTMLElement): NormalizedLine;
36
+ /**
37
+ * Find all .superdoc-line elements within a container and normalize them.
38
+ */
39
+ export declare function normalizeLines(container: HTMLElement): NormalizedLine[];
@@ -0,0 +1,3 @@
1
+ import { WrapExclusion } from '../../../../contracts/src/index.js';
2
+ import { RenderedLineInfo } from '../renderer.js';
3
+ export declare const applySquareWrapExclusionsToLines: (renderedLines: RenderedLineInfo[], exclusions: WrapExclusion[], contentWidthPx: number, alignmentOffsetY: number) => void;
@@ -0,0 +1 @@
1
+ export declare const applyStyles: (el: HTMLElement, styles: Partial<CSSStyleDeclaration>) => void;
@@ -0,0 +1,9 @@
1
+ import { LayoutSourceIdentity } from '../../../../contracts/src/index.js';
2
+ /**
3
+ * Stamp the editor-neutral layout-identity dataset (prep-001).
4
+ *
5
+ * Additive only — runs alongside legacy `data-pm-*` / `data-block-id` writes.
6
+ * v1 consumers still read PM-shaped datasets; future editor-neutral consumers
7
+ * read `data-layout-fragment-id` / `data-layout-story` / `data-layout-block-ref`.
8
+ */
9
+ export declare function applyLayoutIdentityDataset(element: HTMLElement, identity: LayoutSourceIdentity | undefined): void;
@@ -0,0 +1,2 @@
1
+ import { SourceAnchor } from '../../../../contracts/src/index.js';
2
+ export declare function applySourceAnchorDataset(element: HTMLElement, sourceAnchor?: SourceAnchor): void;
@@ -0,0 +1,43 @@
1
+ import { ParagraphProperties, RunFontFamilyProperties, RunProperties } from './ooxml/types.js';
2
+ import { TableCellProperties, TableProperties } from './ooxml/styles-types.js';
3
+ export type PropertyObject = ParagraphProperties | RunProperties | TableCellProperties | TableProperties;
4
+ /**
5
+ * Performs a deep merge on an ordered list of property objects.
6
+ *
7
+ * This is the core cascade function used throughout style resolution.
8
+ * Properties from later objects in the array override earlier ones.
9
+ *
10
+ * @param propertiesArray - Ordered list of property objects to combine (low -> high priority).
11
+ * @param options - Configuration for full overrides and special handling.
12
+ * @returns Combined property object.
13
+ */
14
+ export declare function combineProperties<T extends PropertyObject>(propertiesArray: T[], options?: {
15
+ /**
16
+ * Keys that should completely overwrite instead of deep merge.
17
+ * Use this for complex objects like fontFamily or color that should
18
+ * be replaced entirely rather than merged property-by-property.
19
+ */
20
+ fullOverrideProps?: string[];
21
+ /**
22
+ * Custom merge handlers for specific keys.
23
+ * The handler receives the accumulated target and current source,
24
+ * and returns the new value for that key.
25
+ */
26
+ specialHandling?: Record<string, (target: Record<string, unknown>, source: Record<string, unknown>) => unknown>;
27
+ }): T;
28
+ /**
29
+ * Combines run property objects while fully overriding certain keys.
30
+ * This is a convenience wrapper for run properties (w:rPr).
31
+ *
32
+ * @param propertiesArray - Ordered list of run property objects.
33
+ * @returns Combined run property object.
34
+ */
35
+ export declare const FONT_SLOT_THEME_PAIRS: Array<[keyof RunFontFamilyProperties, keyof RunFontFamilyProperties]>;
36
+ export declare function combineRunProperties(propertiesArray: RunProperties[]): RunProperties;
37
+ /**
38
+ * Combines indent properties with special handling for firstLine/hanging mutual exclusivity.
39
+ *
40
+ * @param indentChain - Ordered list of indent property objects (or objects with indent property).
41
+ * @returns Combined indent object.
42
+ */
43
+ export declare function combineIndentProperties(indentChain: ParagraphProperties[]): ParagraphProperties;