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,277 @@
1
+ import { Fragment, FlowBlock, ResolvedPage, ResolvedPaintItem } from '../../../contracts/src/index.js';
2
+ import { FragmentRenderContext, PositionMapping } from './renderer.js';
3
+ import { SdtBoundaryOptions } from './sdt/container.js';
4
+ import { BetweenBorderInfo } from './paragraph/borders/index.js';
5
+ import { PageStyles } from './styles.js';
6
+ export type FragmentDomState = {
7
+ key: string;
8
+ signature: string;
9
+ fragment: Fragment;
10
+ element: HTMLElement;
11
+ context: FragmentRenderContext;
12
+ /**
13
+ * Interior-pm signature captured from the resolved item at render/rebuild
14
+ * (painter plan P5). Reuse-with-pm-drift is only provably uniform when the
15
+ * retained and fresh keys are EQUAL; null (older retained state, missing
16
+ * stamp) fails closed to a rebuild.
17
+ */
18
+ pmInteriorVersion: string | null;
19
+ /**
20
+ * Whether the rendered DOM carries any `data-pm-*` attribute (root or
21
+ * descendant), recorded once at render/rebuild. A fragment with pm-bearing
22
+ * DOM but NO fragment-level pm span cannot prove position freshness and
23
+ * must never be reused across pm drift (anchored drawings/textboxes whose
24
+ * blocks lack attrs.pmStart).
25
+ */
26
+ hasPmDescendants: boolean;
27
+ };
28
+ export type PageDomState = {
29
+ element: HTMLElement;
30
+ fragments: FragmentDomState[];
31
+ };
32
+ /** Fragment-level render work performed by one `patchPage` call. */
33
+ export type PatchPageWork = {
34
+ fragmentsRendered: number;
35
+ fragmentsReused: number;
36
+ };
37
+ /**
38
+ * Painter plan §4.6 (dark observability): work performed by the persistent-page
39
+ * paint path, accumulated across paints until consumed. Fields the path
40
+ * cannot attribute yet are reported as 0/null, never invented:
41
+ * `domNodesCreated` stays null until node counting is instrumented. Since P5,
42
+ * `pagesPositionRemapped` counts pages whose reused DOM had its pm attributes
43
+ * uniformly shifted in place (uniform fresh-shift, proven by the interior-pm
44
+ * signature — no transaction mapping on the window path).
45
+ *
46
+ * The per-page index arrays are populated ONLY when the painter is created
47
+ * with `paintWorkAttribution: true` (the perf harness's repaint oracle needs
48
+ * WHICH pages). Dark by default: counters are O(1) forever, but unconsumed
49
+ * arrays would grow per paint on the product path.
50
+ */
51
+ export type PaintWorkSummary = {
52
+ /** Persistent page roots newly created for a committed scaffold. */
53
+ persistentPagesCreated: number;
54
+ /** Persistent page roots reused by index whose exact geometry changed. */
55
+ persistentPagesUpdated: number;
56
+ /** Persistent page roots removed by a generation commit (never by scroll). */
57
+ persistentPagesRemoved: number;
58
+ /** Pages whose content hydrated into an existing persistent root. */
59
+ contentHydrated: number;
60
+ /** Pages whose painter-owned content descendants were removed, root kept. */
61
+ contentDehydrated: number;
62
+ /** Hydrated pages reconciled through the fragment-keyed patch. */
63
+ contentPatched: number;
64
+ /** Hydrated pages left completely untouched. */
65
+ contentUntouched: number;
66
+ /** Hydrated pages whose pm positions were uniformly shifted in place. */
67
+ contentRemapped: number;
68
+ /** Hydrated pages whose header/footer DOM refreshed without body rebuild. */
69
+ contentDecorationsRefreshed: number;
70
+ /** Hydrated pages demoted from reuse because position drift was not uniform. */
71
+ contentPmDemoted: number;
72
+ fragmentsRendered: number;
73
+ fragmentsReused: number;
74
+ domNodesCreated: number | null;
75
+ /**
76
+ * Per-page attribution for the counters above (painter plan P5 §4.6): the
77
+ * repaint oracle's subset gates (`rebuilt ⊆ relevance-changed ∩ window`,
78
+ * `remapped ⊆ full-changed ∩ window`) need to know WHICH pages, not how
79
+ * many. Accumulated like the counters, drained on consume.
80
+ */
81
+ createdPersistentPageIndices: number[];
82
+ removedPersistentPageIndices: number[];
83
+ patchedContentPageIndices: number[];
84
+ untouchedContentPageIndices: number[];
85
+ decorationRefreshedContentPageIndices: number[];
86
+ remappedContentPageIndices: number[];
87
+ pmDemotedContentPageIndices: number[];
88
+ hydratedContentPageIndices: number[];
89
+ dehydratedContentPageIndices: number[];
90
+ };
91
+ export declare function createEmptyPaintWorkSummary(): PaintWorkSummary;
92
+ /**
93
+ * Painter plan P3a: reuse key for one exact page slot on the persistent-page
94
+ * path. Joins everything the painted page DOM depends on for a fixed page
95
+ * index: the resolve-stage version stamp per item (the product paint-reuse
96
+ * mechanism), fragment identity + geometry (stamps do not cover geometry),
97
+ * and, only when body content contains a dynamic field, its page context.
98
+ * Header/footer providers have a separate decoration-only refresh path, so
99
+ * their context must not invalidate otherwise reusable body fragments.
100
+ *
101
+ * Returns null when any fragment item carries NO resolve stamp — reuse
102
+ * cannot be proven safe, so the caller must fall back to a fragment-keyed
103
+ * patch, never to "untouched". Inside that patch, an unstamped fragment is
104
+ * itself fail-closed: `patchPage` force-rebuilds any fragment whose resolve
105
+ * signature is empty (two missing stamps must never compare equal).
106
+ *
107
+ * Deliberately EXCLUDED: pm/story position attributes — positions are
108
+ * coordinates, not content, and a keystroke shifts every downstream one.
109
+ * Since P5 the window path REMAPS instead: a version-key-matched page whose
110
+ * fragment pm drifted gets an in-place uniform shift when the interior-pm
111
+ * signature proves the drift uniform (`planWindowPositionRemap`), and demotes
112
+ * to a real rebuild otherwise (the shared `planPmReuse` decision inside
113
+ * `patchPage`). The
114
+ * pass-level paint-equivalence oracle stays RAW-sha (positions kept): remap
115
+ * is byte-exact, so reused-then-remapped DOM must equal a fresh dense paint
116
+ * attribute-for-attribute — that exactness is the proof, never normalize it
117
+ * away at the pass level (only the §7.7 unit tests use the normalized form).
118
+ */
119
+ export declare function persistentPageVersionKey(page: ResolvedPage, totalPages: number, sectionPageCount: number): string | null;
120
+ /**
121
+ * The class state `renderPage`/`patchPage` consume, made explicit. The
122
+ * DomPainter builds one per call (values like `totalPages`, `layoutEpoch`,
123
+ * and `currentMapping` change between paints); the deep fragment-rendering
124
+ * call graph stays on the painter and is reached through the function
125
+ * members.
126
+ */
127
+ export interface PageContentContext {
128
+ doc: Document;
129
+ layoutEpoch: number;
130
+ totalPages: number;
131
+ currentMapping: PositionMapping | null;
132
+ changedBlocks: ReadonlySet<string>;
133
+ sdtLabelsRendered: Set<string>;
134
+ getEffectivePageStyles(): PageStyles | undefined;
135
+ applySemanticPageOverrides(el: HTMLElement): void;
136
+ getSectionPageCount(page: ResolvedPage): number;
137
+ renderFragment(fragment: Fragment, context: FragmentRenderContext, sdtBoundary?: SdtBoundaryOptions, betweenInfo?: BetweenBorderInfo, resolvedItem?: ResolvedPaintItem): HTMLElement;
138
+ renderDecorationsForPage(pageEl: HTMLElement, page: ResolvedPage, pageIndex: number): void;
139
+ renderColumnSeparators(pageEl: HTMLElement, page: ResolvedPage, pageWidth: number, pageHeight: number): void;
140
+ updateStoryPositionAttributes(fragmentEl: HTMLElement, resolvedItem: ResolvedPaintItem | undefined): void;
141
+ updatePositionAttributes(fragmentEl: HTMLElement, mapping: PositionMapping): void;
142
+ updateFragmentElement(el: HTMLElement, fragment: Fragment, section?: 'body' | 'header' | 'footer', resolvedItem?: ResolvedPaintItem): void;
143
+ }
144
+ /**
145
+ * The subset of `PageContentContext` needed to build a canonical page shell —
146
+ * the `.superdoc-page` element with exact geometry, chrome, epoch, and layout
147
+ * boundary stamps, but no content. Persistent scaffold reconciliation builds
148
+ * shells through this context and hydrates content independently.
149
+ */
150
+ export type PageShellContext = Pick<PageContentContext, 'doc' | 'layoutEpoch' | 'getEffectivePageStyles' | 'applySemanticPageOverrides'>;
151
+ /**
152
+ * The exact page box a shell derives from. `ResolvedPage` satisfies it, and
153
+ * so does a numbers-only scaffold band — the persistent page surface builds
154
+ * shells without materializing resolved packets.
155
+ */
156
+ export type PageShellGeometry = {
157
+ width: number;
158
+ height: number;
159
+ };
160
+ /** Refresh geometry and document-level presentation without replacing a page. */
161
+ export declare function refreshPageShell(ctx: PageShellContext, el: HTMLElement, page: PageShellGeometry): void;
162
+ /**
163
+ * Canonical `.superdoc-page` shell: the one place a paginated page element is
164
+ * created. The persistent scaffold mounts it bare and bounded content
165
+ * reconciliation hydrates the same element in place.
166
+ */
167
+ export declare function renderPageShell(ctx: PageShellContext, page: PageShellGeometry): HTMLElement;
168
+ /**
169
+ * Content half of page painting: resolved fragments, decorations (headers,
170
+ * footers, behind-doc sections), and column separators, appended to an
171
+ * existing page shell. Persistent hydration goes through exactly this
172
+ * function, so a hydrated page is byte-equivalent to one painted
173
+ * by the content path from scratch — same element, same append order.
174
+ */
175
+ export declare function hydratePageContent(ctx: PageContentContext, el: HTMLElement, page: ResolvedPage, pageIndex: number): FragmentDomState[];
176
+ export declare function renderPage(ctx: PageContentContext, page: ResolvedPage, pageIndex: number): PageDomState;
177
+ /**
178
+ * Inverse of {@link hydratePageContent} (default persistent page geometry
179
+ * plan, Unit 1): remove the painter-owned content descendants from an
180
+ * existing page root, leaving root identity, root attributes, page order,
181
+ * exact geometry, and the document scroll extent untouched. The tracked
182
+ * fragment list is removed first (authoritative retained state), then any
183
+ * painter-owned straggler matched by class/attribute — a fragment orphaned
184
+ * from the retained list must not survive dehydration.
185
+ */
186
+ export declare function dehydratePageContent(el: HTMLElement, state: PageDomState): void;
187
+ export declare function patchPage(ctx: PageContentContext, state: PageDomState, page: ResolvedPage, pageIndex: number): PatchPageWork;
188
+ export declare function pageContextSignature(context: FragmentRenderContext): string;
189
+ export declare function hasPageContextTokenInBlock(block: FlowBlock | undefined): boolean;
190
+ export declare function needsRebuildForPageContext(currentContext: FragmentRenderContext, nextContext: FragmentRenderContext, resolvedItem: ResolvedPaintItem | undefined): boolean;
191
+ /**
192
+ * Painter plan P5: shift every painted pm attribute in a fragment subtree by
193
+ * a KNOWN uniform delta (fresh-vs-retained fragment pmStart — exact for
194
+ * unchanged content, whose whole span moves together). Fragment-kind
195
+ * agnostic: tables, drawings, and paragraphs all carry data-pm-* on their
196
+ * spans, while the fresh-landmark derivation in
197
+ * `updateStoryPositionAttributes` only understands paragraph-shaped items
198
+ * (block runs / content lines) and silently no-ops for tables — the raw-sha
199
+ * paint-equivalence oracle caught exactly that on real table pages.
200
+ */
201
+ export declare function shiftFragmentPositionAttributes(fragmentEl: HTMLElement, deltaPm: number): void;
202
+ /** The resolve stage's interior-pm signature for this item (painter plan P5), null when unstamped. */
203
+ export declare function resolvedPmInteriorVersion(resolvedItem: ResolvedPaintItem | undefined): string | null;
204
+ /** Fragment-level pm span, or null when either bound is missing. */
205
+ export declare function fragmentPmSpan(fragment: Fragment): {
206
+ start: number;
207
+ end: number;
208
+ } | null;
209
+ /** Whether the rendered fragment DOM carries any pm attribute (root or descendant). */
210
+ export declare function elementHasPmAttributes(el: HTMLElement): boolean;
211
+ /** The `pm:<count>:<hash>@<base>` interior version, split for uniformity checks. */
212
+ export declare function pmInteriorParts(version: string | null): {
213
+ relative: string;
214
+ base: number | null;
215
+ } | null;
216
+ export type PmReuseDecision = {
217
+ kind: 'clean';
218
+ } | {
219
+ kind: 'shift';
220
+ deltaPm: number;
221
+ } | {
222
+ kind: 'rebuild';
223
+ };
224
+ /**
225
+ * Painter plan P5 (review fix): THE single soundness decision for reusing a
226
+ * stamp-equal fragment across pm drift without a transaction mapping —
227
+ * consumed by both the window remap planner and `patchPage` so the two paths
228
+ * can never diverge (a planner "demote" lands on a patch that applies the
229
+ * SAME rule and rebuilds).
230
+ *
231
+ * - `clean`: nothing to do (no pm anywhere, or absolutely identical pm).
232
+ * - `shift`: drift proven UNIFORM — equal span length, equal relative
233
+ * interior offsets, and the interior base moved by exactly the fragment
234
+ * delta. Shifting every pm attribute by `deltaPm` is byte-exact.
235
+ * - `rebuild`: anything unprovable — one-sided pm, span-length change,
236
+ * interior redistribution (a moved PM node emits no run), a missing
237
+ * interior stamp, interior drift under an equal span, or pm-bearing DOM
238
+ * under a fragment with no fragment-level anchor whose interior moved.
239
+ */
240
+ export declare function planPmReuse(current: Pick<FragmentDomState, 'fragment' | 'pmInteriorVersion' | 'hasPmDescendants'>, freshFragment: Fragment, freshInteriorVersion: string | null): PmReuseDecision;
241
+ export declare function resolvedPaintCacheSignature(resolvedItem: ResolvedPaintItem | undefined): string;
242
+ export declare const fragmentKey: (fragment: Fragment) => string;
243
+ export declare const hasFragmentGeometryChanged: (previous: Fragment, next: Fragment) => boolean;
244
+ export declare const isNonBodyStoryBlockId: (blockId: string | undefined) => boolean;
245
+ /** Order-insensitive equality over two SDT label key sets. */
246
+ export declare function sdtLabelSetsEqual(a: ReadonlySet<string>, b: ReadonlySet<string>): boolean;
247
+ export type WindowPositionRemapEntry = {
248
+ fragmentState: FragmentDomState;
249
+ freshItem: ResolvedPaintItem & {
250
+ fragment: Fragment;
251
+ };
252
+ /** Fresh minus retained fragment pmStart — the exact uniform shift. */
253
+ deltaPm: number;
254
+ };
255
+ export type WindowPositionRemapPlan = {
256
+ kind: 'none' | 'remap' | 'demote';
257
+ drifted: WindowPositionRemapEntry[];
258
+ };
259
+ /**
260
+ * Painter plan P5: decide whether a version-key-matched page is reusable
261
+ * untouched (`none`), needs an in-place uniform position remap (`remap` —
262
+ * resolve stamps are pm-insensitive, so unchanged content legitimately
263
+ * drifts), or must be demoted to the fragment-keyed patch (`demote`, where
264
+ * `pmReuseUnsound` forces a REAL rebuild of the offending fragment).
265
+ *
266
+ * Fail-closed: one-sided pm, a span-LENGTH change, an interior-pm signature
267
+ * mismatch (a PM node inserted/moved inside the block emits no run, so
268
+ * stamps stay equal while interior offsets move), a missing interior key, or
269
+ * pm-bearing DOM under a fragment with no fragment-level pm all demote —
270
+ * only a PROVABLY uniform drift is shifted in place.
271
+ *
272
+ * Pairing is lockstep by index (review fix): this only runs under versionKey
273
+ * EQUALITY, and the key is an order-sensitive join of every fragment's
274
+ * key+geometry+stamp, so equal keys imply identical ordered fragment
275
+ * sequences — no per-paint key strings or Maps on the steady-state path.
276
+ */
277
+ export declare function planWindowPositionRemap(state: PageDomState, resolvedPage: ResolvedPage): WindowPositionRemapPlan;
@@ -0,0 +1,8 @@
1
+ import { ParagraphAttrs, ParagraphBlock } from '../../../../contracts/src/index.js';
2
+ type ParagraphHashFns = {
3
+ hashString: (seed: number, value: string) => number;
4
+ hashNumber: (seed: number, value: number | undefined | null) => number;
5
+ };
6
+ export declare const deriveParagraphBlockVersion: (block: ParagraphBlock, getSdtMetadataVersion: (metadata: ParagraphAttrs["sdt"]) => string, readClipPathValue: (value: unknown) => string) => string;
7
+ export declare const hashParagraphBlockForTableVersion: (seed: number, paragraphBlock: ParagraphBlock, hashFns: ParagraphHashFns) => number;
8
+ export {};
@@ -0,0 +1,59 @@
1
+ import { ParagraphAttrs, ParagraphBorders } from '../../../../../contracts/src/index.js';
2
+ import { BetweenBorderInfo } from './group-analysis.js';
3
+ /**
4
+ * Computes the indent-aware bounding box for paragraph border/shading layers.
5
+ * Borders hug the paragraph content, inset by left/right/firstLine/hanging indents.
6
+ */
7
+ export declare const getParagraphBorderBox: (fragmentWidth: number, indent?: ParagraphAttrs["indent"]) => {
8
+ leftInset: number;
9
+ width: number;
10
+ };
11
+ /**
12
+ * Computes the outward expansion for the border/shading layers based on
13
+ * the `space` attribute (OOXML: distance between border and text, in points).
14
+ *
15
+ * Within between-border groups, suppressed sides don't expand (the gap
16
+ * extension handles visual continuity instead).
17
+ *
18
+ * @spec ECMA-376 §17.3.1.24 — space attribute on pBdr child elements
19
+ */
20
+ export declare const computeBorderSpaceExpansion: (borders?: ParagraphBorders, betweenInfo?: BetweenBorderInfo) => {
21
+ top: number;
22
+ bottom: number;
23
+ left: number;
24
+ right: number;
25
+ };
26
+ /**
27
+ * Builds overlay elements for paragraph shading and borders.
28
+ * Returns layers in the order they should be appended (shading below borders).
29
+ *
30
+ * When `betweenInfo` indicates this fragment is in a border group:
31
+ * - The border layer extends downward by `gapBelow` px into the paragraph-spacing
32
+ * gap, making left/right borders visually continuous across the group.
33
+ * - `suppressTopBorder` hides the top border for non-first group members.
34
+ * - `showBetweenBorder` replaces the bottom border with the between definition.
35
+ *
36
+ * The `space` attribute on each border side expands the layer outward,
37
+ * creating padding between the border line and the paragraph text.
38
+ */
39
+ export declare const createParagraphDecorationLayers: (doc: Document, fragmentWidth: number, attrs?: ParagraphAttrs, betweenInfo?: BetweenBorderInfo) => {
40
+ shadingLayer?: HTMLElement;
41
+ borderLayer?: HTMLElement;
42
+ };
43
+ /**
44
+ * Applies paragraph border styles to an HTML element.
45
+ *
46
+ * Handles between-border groups:
47
+ * - `suppressTopBorder`: skips top border for non-first group members
48
+ * - `showBetweenBorder`: replaces bottom with the between border definition
49
+ */
50
+ export declare const applyParagraphBorderStyles: (element: HTMLElement, borders?: ParagraphAttrs["borders"], betweenInfo?: BetweenBorderInfo) => void;
51
+ /**
52
+ * Stamps between-border info onto an element's dataset for debugging
53
+ * and incremental update cache invalidation.
54
+ */
55
+ export declare const stampBetweenBorderDataset: (element: HTMLElement, betweenInfo?: BetweenBorderInfo) => void;
56
+ /**
57
+ * Applies paragraph shading (background color) to an HTML element.
58
+ */
59
+ export declare const applyParagraphShadingStyles: (element: HTMLElement, shading?: ParagraphAttrs["shading"]) => void;
@@ -0,0 +1,38 @@
1
+ import { ResolvedPaintItem } from '../../../../../contracts/src/index.js';
2
+ /**
3
+ * Per-fragment rendering info for between-border groups.
4
+ *
5
+ * - showBetweenBorder: replace bottom border with the between definition
6
+ * - suppressTopBorder: hide this fragment's top border (covered by previous fragment's extension)
7
+ * - gapBelow: px to extend the border layer downward into the paragraph-spacing gap
8
+ */
9
+ export type BetweenBorderInfo = {
10
+ showBetweenBorder: boolean;
11
+ suppressTopBorder: boolean;
12
+ suppressBottomBorder: boolean;
13
+ gapBelow: number;
14
+ };
15
+ /**
16
+ * Pre-computes per-fragment between-border rendering info for a page.
17
+ *
18
+ * Two fragments (i, i+1) form a border group pair when:
19
+ * 1. Both are para fragments (not table/image/drawing)
20
+ * 2. Neither is a page-split continuation
21
+ * 3. They represent different logical paragraphs
22
+ * 4. Both have border definitions
23
+ * 5. Their full border definitions match (same border group)
24
+ *
25
+ * Per ECMA-376 §17.3.1.5: grouping occurs when all border properties are
26
+ * identical. A `between` border is NOT required — when absent, the group
27
+ * is rendered as a single box without a separator line.
28
+ *
29
+ * For each pair, the first fragment gets:
30
+ * - showBetweenBorder: true — bottom border replaced with between definition
31
+ * - gapBelow: px distance to extend border layer into spacing gap
32
+ *
33
+ * The second fragment gets:
34
+ * - suppressTopBorder: true — the previous fragment's extension covers the boundary
35
+ *
36
+ * Middle fragments in a chain of 3+ get both flags.
37
+ */
38
+ export declare const computeBetweenBorderFlags: (resolvedItems: readonly ResolvedPaintItem[]) => Map<number, BetweenBorderInfo>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Paragraph Borders — rendering feature module
3
+ *
4
+ * Handles all aspects of paragraph border rendering:
5
+ * - Border group detection (between-border analysis)
6
+ * - Border/shading DOM layer creation
7
+ * - CSS border style application
8
+ *
9
+ * @ooxml w:pPr/w:pBdr — paragraph border properties
10
+ * @ooxml w:pPr/w:pBdr/w:top, w:bottom, w:left, w:right — side borders
11
+ * @ooxml w:pPr/w:pBdr/w:between — between border for grouped paragraphs
12
+ * @ooxml w:pPr/w:pBdr/w:bar — bar border (vertical line)
13
+ * @ooxml w:pPr/w:shd — paragraph shading
14
+ * @spec ECMA-376 §17.3.1.24 (pBdr), §17.3.1.31 (shd)
15
+ */
16
+ export { computeBetweenBorderFlags } from './group-analysis.js';
17
+ export type { BetweenBorderInfo } from './group-analysis.js';
18
+ export { createParagraphDecorationLayers, applyParagraphBorderStyles, applyParagraphShadingStyles, getParagraphBorderBox, stampBetweenBorderDataset, computeBorderSpaceExpansion, } from './border-layer.js';
@@ -0,0 +1,3 @@
1
+ import { ParaFragment, ResolvedFragmentItem } from '../../../../contracts/src/index.js';
2
+ export type FragmentFrameSection = 'body' | 'header' | 'footer';
3
+ export declare const applyParagraphFragmentPmAttributes: (el: HTMLElement, fragment: ParaFragment, section?: FragmentFrameSection, resolvedItem?: ResolvedFragmentItem) => void;
@@ -0,0 +1,25 @@
1
+ import { Line, ParagraphIndent } from '../../../../contracts/src/index.js';
2
+ export type ParagraphLineIndentationParams = {
3
+ lineEl: HTMLElement;
4
+ line: Line;
5
+ indent?: ParagraphIndent;
6
+ indentLeftPx: number;
7
+ hasListMarkerLayout: boolean;
8
+ lineIndex: number;
9
+ localStartLine: number;
10
+ continuesFromPrev?: boolean;
11
+ suppressFirstLineIndent: boolean;
12
+ resetContinuationTextIndent?: boolean;
13
+ };
14
+ export declare const hasExplicitSegmentPositioning: (line: Line) => boolean;
15
+ export declare const applyParagraphLineIndentation: (params: ParagraphLineIndentationParams) => void;
16
+ export declare const resolveAvailableWidthForLine: (params: {
17
+ containerWidth: number;
18
+ line: Line;
19
+ indentLeftPx: number;
20
+ indentRightPx: number;
21
+ firstLineOffset: number;
22
+ isFirstLine: boolean;
23
+ isListFirstLine: boolean;
24
+ resolvedListTextStartPx?: number;
25
+ }) => number;
@@ -0,0 +1,51 @@
1
+ import { ResolvePhysicalFamily } from '../../../../../shared/font-system/src/index.js';
2
+ import { ParagraphMeasure, ResolvedListMarkerItem, SourceAnchor } from '../../../../contracts/src/index.js';
3
+ import { MinimalMarker, MinimalWordLayout, ResolvedListMarkerGeometry } from '../../../../../../shared/common/list-marker-utils';
4
+ import { MarkerTrackedChangeView } from './marker-tracked-change.js';
5
+ import { TrackedChangesRenderConfig } from '../runs/types.js';
6
+ type PainterListTextStartParams = {
7
+ wordLayout: MinimalWordLayout | undefined;
8
+ indentLeftPx: number;
9
+ hangingIndentPx: number;
10
+ firstLineIndentPx: number;
11
+ markerTextWidthPx?: number;
12
+ };
13
+ export declare const resolvePainterListMarkerGeometry: ({ wordLayout, indentLeftPx, hangingIndentPx, firstLineIndentPx, markerTextWidthPx, }: PainterListTextStartParams) => ResolvedListMarkerGeometry | undefined;
14
+ export declare const resolvePainterListTextStartPx: ({ wordLayout, indentLeftPx, hangingIndentPx, firstLineIndentPx, markerTextWidthPx, }: PainterListTextStartParams) => number | undefined;
15
+ type MarkerRunStyle = {
16
+ fontFamily?: string | null;
17
+ fontSize?: number | null;
18
+ bold?: boolean | null;
19
+ italic?: boolean | null;
20
+ color?: string | null;
21
+ letterSpacing?: number | null;
22
+ vanish?: boolean | null;
23
+ allCaps?: boolean | null;
24
+ smallCaps?: boolean | null;
25
+ };
26
+ export declare const createListMarkerElement: (doc: Document, markerText: string, run: MarkerRunStyle, sourceAnchor?: SourceAnchor, resolvePhysical?: ResolvePhysicalFamily, trackedChange?: MarkerTrackedChangeView, trackedChangesConfig?: TrackedChangesRenderConfig) => HTMLElement;
27
+ export declare const renderLegacyListMarker: (params: {
28
+ doc: Document;
29
+ lineEl: HTMLElement;
30
+ wordLayout?: MinimalWordLayout;
31
+ markerLayout: MinimalMarker;
32
+ markerMeasure: ParagraphMeasure["marker"];
33
+ markerTextWidthPx?: number;
34
+ indentLeftPx: number;
35
+ hangingIndentPx: number;
36
+ firstLineIndentPx: number;
37
+ isRtl?: boolean;
38
+ sourceAnchor?: SourceAnchor;
39
+ resolvePhysical?: ResolvePhysicalFamily;
40
+ trackedChangesConfig?: TrackedChangesRenderConfig;
41
+ }) => void;
42
+ export declare const renderResolvedListMarker: (params: {
43
+ doc: Document;
44
+ lineEl: HTMLElement;
45
+ marker: ResolvedListMarkerItem;
46
+ isRtl?: boolean;
47
+ sourceAnchor?: SourceAnchor;
48
+ resolvePhysical?: ResolvePhysicalFamily;
49
+ trackedChangesConfig?: TrackedChangesRenderConfig;
50
+ }) => void;
51
+ export {};
@@ -0,0 +1,34 @@
1
+ import { TrackedChangesRenderConfig } from '../runs/types.js';
2
+ /**
3
+ * Permissive view over both marker tracked-change shapes — the contracts
4
+ * `MarkerTrackedChange` (resolved path) and the `@superdoc/common`
5
+ * `MinimalMarkerTrackedChange` (legacy `wordLayout.marker` path). Both are
6
+ * structurally assignable to this view, so neither paint path needs a cast.
7
+ */
8
+ export interface MarkerTrackedChangeView {
9
+ id: string;
10
+ kind: 'insert' | 'delete' | 'format';
11
+ groupedIds?: readonly string[];
12
+ type?: string;
13
+ subtype?: string;
14
+ targetKind?: string;
15
+ semanticColorKey?: string;
16
+ semanticColor?: string;
17
+ color?: string;
18
+ author?: string;
19
+ authorEmail?: string;
20
+ date?: string;
21
+ storyKey?: string;
22
+ }
23
+ /** Marker-specific marker class so CSS can target marker review chrome only. */
24
+ export declare const TRACK_CHANGE_MARKER_CLASS = "track-list-marker-dec";
25
+ /**
26
+ * Stamp a marker glyph span with tracked-change review metadata + Word-like
27
+ * styling. Shares the run vocabulary (`track-insert-dec` / `track-delete-dec` /
28
+ * `track-format-dec`, the `--sd-tracked-changes-*` variable family, and the
29
+ * semantic datasets) so marker and run review decorations stay consistent.
30
+ *
31
+ * @param markerEl - The `.superdoc-paragraph-marker` glyph span.
32
+ * @param tc - The marker tracked-change metadata (resolved or legacy shape).
33
+ */
34
+ export declare const applyMarkerTrackedChange: (markerEl: HTMLElement, tc: MarkerTrackedChangeView | undefined, config?: TrackedChangesRenderConfig) => void;
@@ -0,0 +1,87 @@
1
+ import { DropCapDescriptor, Line, ParagraphBlock, ParagraphMeasure, ResolvedParagraphContent, Run, SdtMetadata, SourceAnchor } from '../../../../contracts/src/index.js';
2
+ import { MinimalWordLayout } from '../../../../../../shared/common/list-marker-utils';
3
+ import { ResolvePhysicalFamily } from '../../../../../shared/font-system/src/index.js';
4
+ import { SdtAncestorOptions, SdtBoundaryOptions } from '../sdt/container.js';
5
+ import { BetweenBorderInfo } from './borders/index.js';
6
+ export type RenderedParagraphLineInfo = {
7
+ el: HTMLElement;
8
+ top: number;
9
+ height: number;
10
+ };
11
+ export type ParagraphRenderLineInput = {
12
+ block: ParagraphBlock;
13
+ line: Line;
14
+ lineIndex: number;
15
+ isLastLine: boolean;
16
+ availableWidth?: number;
17
+ skipJustify?: boolean;
18
+ preExpandedRuns?: Run[];
19
+ resolvedListTextStartPx?: number;
20
+ indentOffsetOverride?: number;
21
+ paragraphMarkLeftOffsetOverride?: number;
22
+ };
23
+ export type ParagraphRenderLine = (input: ParagraphRenderLineInput) => HTMLElement;
24
+ export type ParagraphRenderDropCap = (descriptor: DropCapDescriptor, measure?: {
25
+ width: number;
26
+ height: number;
27
+ lines: number;
28
+ mode: 'drop' | 'margin';
29
+ }) => HTMLElement;
30
+ export type ParagraphContainerKind = 'body-fragment' | 'table-cell';
31
+ type ParagraphSpacingPolicy = {
32
+ isFirstBlock: boolean;
33
+ isLastBlock: boolean;
34
+ paddingTop: number;
35
+ };
36
+ export type RenderParagraphContentParams = {
37
+ doc: Document;
38
+ frameEl: HTMLElement;
39
+ block: ParagraphBlock;
40
+ measure: ParagraphMeasure;
41
+ containerKind: ParagraphContainerKind;
42
+ width: number;
43
+ localStartLine: number;
44
+ localEndLine: number;
45
+ linesOverride?: Line[];
46
+ lineIndexOffset?: number;
47
+ continuesFromPrev?: boolean;
48
+ continuesOnNext?: boolean;
49
+ markerWidth?: number;
50
+ markerTextWidth?: number;
51
+ wordLayout?: MinimalWordLayout;
52
+ resolvedContent?: ResolvedParagraphContent;
53
+ betweenInfo?: BetweenBorderInfo;
54
+ sdtBoundary?: SdtBoundaryOptions;
55
+ spacingPolicy?: ParagraphSpacingPolicy;
56
+ ancestorContainerKey?: string | null;
57
+ ancestorContainerSdt?: SdtMetadata | null;
58
+ ancestorContainerKeys?: SdtAncestorOptions['ancestorContainerKeys'];
59
+ ancestorContainerSdts?: SdtAncestorOptions['ancestorContainerSdts'];
60
+ onSdtContainerChrome?: () => void;
61
+ applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
62
+ applyContainerSdtDataset?: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
63
+ renderLine: ParagraphRenderLine;
64
+ renderDropCap?: ParagraphRenderDropCap;
65
+ /**
66
+ * Per-document logical->physical font resolver for list markers. Threaded from the renderer's
67
+ * per-document resolver so a marker paints the same physical family it was measured in. Undefined
68
+ * (or omitted) falls back to the global resolver, matching text runs and field annotations.
69
+ */
70
+ resolvePhysical?: ResolvePhysicalFamily;
71
+ captureLineSnapshot?: (lineEl: HTMLElement, options?: {
72
+ inTableParagraph?: boolean;
73
+ wrapperEl?: HTMLElement;
74
+ sourceAnchor?: SourceAnchor;
75
+ }) => void;
76
+ convertFinalParagraphMark?: boolean;
77
+ lineTopOffset?: number;
78
+ sourceAnchor?: SourceAnchor;
79
+ contentControlsChrome?: 'default' | 'none';
80
+ };
81
+ export type RenderParagraphContentResult = {
82
+ renderedHeight: number;
83
+ totalHeight: number;
84
+ renderedLines: RenderedParagraphLineInfo[];
85
+ };
86
+ export declare const renderParagraphContent: (params: RenderParagraphContentParams) => RenderParagraphContentResult;
87
+ export {};
@@ -0,0 +1,33 @@
1
+ import { ParaFragment, ResolvedFragmentItem, SdtMetadata } from '../../../../contracts/src/index.js';
2
+ import { ResolvePhysicalFamily } from '../../../../../shared/font-system/src/index.js';
3
+ import { SdtBoundaryOptions } from '../sdt/container.js';
4
+ import { BetweenBorderInfo } from './borders/index.js';
5
+ import { ParagraphRenderLineInput } from './renderParagraphContent.js';
6
+ type ApplyStyles = (el: HTMLElement, styles: Partial<CSSStyleDeclaration>) => void;
7
+ type RenderParagraphFragmentParams = {
8
+ doc: Document | null;
9
+ fragment: ParaFragment;
10
+ sdtBoundary?: SdtBoundaryOptions;
11
+ betweenInfo?: BetweenBorderInfo;
12
+ resolvedItem?: ResolvedFragmentItem;
13
+ applyStyles: ApplyStyles;
14
+ applyResolvedFragmentFrame: (el: HTMLElement, item: ResolvedFragmentItem, fragment: ParaFragment) => void;
15
+ applyFragmentFrame: (el: HTMLElement, fragment: ParaFragment) => void;
16
+ applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
17
+ applyContainerSdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
18
+ renderLine: (input: ParagraphRenderLineInput) => HTMLElement;
19
+ captureLineSnapshot: (lineEl: HTMLElement, options?: {
20
+ sourceAnchor?: ResolvedFragmentItem['sourceAnchor'];
21
+ wrapperEl?: HTMLElement;
22
+ }) => void;
23
+ createErrorPlaceholder: (blockId: string, error: unknown) => HTMLElement;
24
+ contentControlsChrome?: 'default' | 'none';
25
+ /**
26
+ * Per-document logical->physical font resolver for the drop cap and list markers. Threaded from
27
+ * the renderer's per-document resolver so they paint the same physical family they were measured
28
+ * in. Undefined falls back to the global resolver, matching text runs and field annotations.
29
+ */
30
+ resolvePhysical?: ResolvePhysicalFamily;
31
+ };
32
+ export declare const renderParagraphFragment: (params: RenderParagraphFragmentParams) => HTMLElement;
33
+ export {};
@@ -0,0 +1,3 @@
1
+ import { ParagraphAttrs } from '../../../../contracts/src/index.js';
2
+ export declare const applyParagraphBlockStyles: (element: HTMLElement, attrs?: ParagraphAttrs) => void;
3
+ export declare const clearParagraphFrameIndentStyles: (element: HTMLElement) => void;