superdoc 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (687) hide show
  1. package/AGENTS.md +337 -0
  2. package/LICENSE +661 -0
  3. package/NOTICE +8 -0
  4. package/README.md +107 -0
  5. package/dist/chunks/FindReplaceSurface-BEW-1NhM.es.js +344 -0
  6. package/dist/chunks/FindReplaceSurface-DLxnCQOB.cjs +346 -0
  7. package/dist/chunks/PasswordPromptSurface-BA6HHqEa.es.js +111 -0
  8. package/dist/chunks/PasswordPromptSurface-DMbfDvpQ.cjs +113 -0
  9. package/dist/chunks/PdfViewer-CNOtyS-I.es.js +531 -0
  10. package/dist/chunks/PdfViewer-CoFiGAhm.cjs +535 -0
  11. package/dist/chunks/_plugin-vue_export-helper-BTwbGDKw.cjs +11 -0
  12. package/dist/chunks/_plugin-vue_export-helper-CInC0bKI.es.js +6 -0
  13. package/dist/chunks/blank-docx-CJAXnJKp.es.js +2 -0
  14. package/dist/chunks/blank-docx-DA-G-3VB.cjs +7 -0
  15. package/dist/chunks/constants-CY3R3_kF.es.js +3 -0
  16. package/dist/chunks/constants-sbCZ2O_A.cjs +14 -0
  17. package/dist/chunks/create-super-doc-ui-CXCqHc2m.cjs +9451 -0
  18. package/dist/chunks/create-super-doc-ui-fxF2Q8Ib.es.js +9188 -0
  19. package/dist/chunks/eventemitter3-B60Fsz-a.es.js +131 -0
  20. package/dist/chunks/eventemitter3-DCfwFVNn.cjs +137 -0
  21. package/dist/chunks/jszip-BdUBlUeG.cjs +4679 -0
  22. package/dist/chunks/jszip-DzmwAHr3.es.js +4650 -0
  23. package/dist/chunks/rolldown-runtime-BJVcqBbz.es.js +43 -0
  24. package/dist/chunks/rolldown-runtime-_dR15c8t.cjs +68 -0
  25. package/dist/chunks/uuid-B2Sqk-3p.es.js +32 -0
  26. package/dist/chunks/uuid-CFp0WGVU.cjs +38 -0
  27. package/dist/collaboration-upgrade-engine.cjs +37 -0
  28. package/dist/collaboration-upgrade-engine.es.js +30 -0
  29. package/dist/document-api/src/authorities/authorities.d.ts +29 -0
  30. package/dist/document-api/src/authorities/authorities.types.d.ts +113 -0
  31. package/dist/document-api/src/blocks/blocks.d.ts +29 -0
  32. package/dist/document-api/src/bookmarks/bookmarks.d.ts +15 -0
  33. package/dist/document-api/src/bookmarks/bookmarks.types.d.ts +82 -0
  34. package/dist/document-api/src/capabilities/capabilities.d.ts +82 -0
  35. package/dist/document-api/src/captions/captions.d.ts +17 -0
  36. package/dist/document-api/src/captions/captions.types.d.ts +61 -0
  37. package/dist/document-api/src/citations/citations.d.ts +39 -0
  38. package/dist/document-api/src/citations/citations.types.d.ts +151 -0
  39. package/dist/document-api/src/clear-content/clear-content.d.ts +25 -0
  40. package/dist/document-api/src/clipboard/clipboard.d.ts +11 -0
  41. package/dist/document-api/src/comments/comments.d.ts +222 -0
  42. package/dist/document-api/src/comments/comments.types.d.ts +227 -0
  43. package/dist/document-api/src/content-controls/content-controls.d.ts +136 -0
  44. package/dist/document-api/src/content-controls/content-controls.types.d.ts +453 -0
  45. package/dist/document-api/src/contract/command-catalog.d.ts +17 -0
  46. package/dist/document-api/src/contract/index.d.ts +9 -0
  47. package/dist/document-api/src/contract/metadata-types.d.ts +30 -0
  48. package/dist/document-api/src/contract/operation-definitions.d.ts +3645 -0
  49. package/dist/document-api/src/contract/operation-map.d.ts +5 -0
  50. package/dist/document-api/src/contract/operation-registry.d.ts +2002 -0
  51. package/dist/document-api/src/contract/reference-aliases.d.ts +19 -0
  52. package/dist/document-api/src/contract/reference-doc-map.d.ts +12 -0
  53. package/dist/document-api/src/contract/schemas.d.ts +35 -0
  54. package/dist/document-api/src/contract/step-op-catalog.d.ts +26 -0
  55. package/dist/document-api/src/contract/types.d.ts +31 -0
  56. package/dist/document-api/src/create/create.d.ts +27 -0
  57. package/dist/document-api/src/cross-refs/cross-refs.d.ts +15 -0
  58. package/dist/document-api/src/cross-refs/cross-refs.types.d.ts +68 -0
  59. package/dist/document-api/src/customXml/customXml.d.ts +19 -0
  60. package/dist/document-api/src/customXml/customXml.types.d.ts +148 -0
  61. package/dist/document-api/src/delete/delete.d.ts +20 -0
  62. package/dist/document-api/src/diff/diff.d.ts +14 -0
  63. package/dist/document-api/src/diff/diff.types.d.ts +83 -0
  64. package/dist/document-api/src/diff/index.d.ts +3 -0
  65. package/dist/document-api/src/errors.d.ts +11 -0
  66. package/dist/document-api/src/export/export.d.ts +10 -0
  67. package/dist/document-api/src/export/export.types.d.ts +40 -0
  68. package/dist/document-api/src/extract/extract.d.ts +15 -0
  69. package/dist/document-api/src/fields/fields.d.ts +15 -0
  70. package/dist/document-api/src/fields/fields.types.d.ts +90 -0
  71. package/dist/document-api/src/find/find.d.ts +52 -0
  72. package/dist/document-api/src/footnotes/footnotes.d.ts +17 -0
  73. package/dist/document-api/src/footnotes/footnotes.types.d.ts +104 -0
  74. package/dist/document-api/src/format/format.d.ts +92 -0
  75. package/dist/document-api/src/format/inline-run-patch.d.ts +138 -0
  76. package/dist/document-api/src/get/get.d.ts +19 -0
  77. package/dist/document-api/src/get-html/get-html.d.ts +27 -0
  78. package/dist/document-api/src/get-markdown/get-markdown.d.ts +22 -0
  79. package/dist/document-api/src/get-node/get-node.d.ts +46 -0
  80. package/dist/document-api/src/get-text/get-text.d.ts +22 -0
  81. package/dist/document-api/src/header-footers/header-footers.d.ts +37 -0
  82. package/dist/document-api/src/header-footers/header-footers.types.d.ts +116 -0
  83. package/dist/document-api/src/history/history.d.ts +38 -0
  84. package/dist/document-api/src/history/history.types.d.ts +100 -0
  85. package/dist/document-api/src/hyperlinks/hyperlinks.d.ts +17 -0
  86. package/dist/document-api/src/hyperlinks/hyperlinks.types.d.ts +112 -0
  87. package/dist/document-api/src/images/images.d.ts +63 -0
  88. package/dist/document-api/src/images/images.types.d.ts +209 -0
  89. package/dist/document-api/src/images/z-order.d.ts +10 -0
  90. package/dist/document-api/src/index/index.d.ts +29 -0
  91. package/dist/document-api/src/index/index.types.d.ts +125 -0
  92. package/dist/document-api/src/index.d.ts +560 -0
  93. package/dist/document-api/src/info/info.d.ts +19 -0
  94. package/dist/document-api/src/inline-semantics/directives.d.ts +95 -0
  95. package/dist/document-api/src/inline-semantics/error-types.d.ts +68 -0
  96. package/dist/document-api/src/inline-semantics/index.d.ts +20 -0
  97. package/dist/document-api/src/inline-semantics/property-ids.d.ts +24 -0
  98. package/dist/document-api/src/inline-semantics/token-parsers.d.ts +59 -0
  99. package/dist/document-api/src/inline-semantics/token-sets.d.ts +34 -0
  100. package/dist/document-api/src/insert/insert.d.ts +65 -0
  101. package/dist/document-api/src/invoke/invoke.d.ts +17 -0
  102. package/dist/document-api/src/lists/lists.d.ts +100 -0
  103. package/dist/document-api/src/lists/lists.types.d.ts +499 -0
  104. package/dist/document-api/src/markdown-to-fragment/markdown-to-fragment.d.ts +15 -0
  105. package/dist/document-api/src/metadata/anchored-metadata.d.ts +33 -0
  106. package/dist/document-api/src/metadata/anchored-metadata.types.d.ts +175 -0
  107. package/dist/document-api/src/paragraphs/paragraphs.d.ts +84 -0
  108. package/dist/document-api/src/paragraphs/paragraphs.types.d.ts +214 -0
  109. package/dist/document-api/src/permission-ranges/permission-ranges.d.ts +15 -0
  110. package/dist/document-api/src/permission-ranges/permission-ranges.types.d.ts +49 -0
  111. package/dist/document-api/src/plan/plan.d.ts +73 -0
  112. package/dist/document-api/src/protection/protection.d.ts +11 -0
  113. package/dist/document-api/src/protection/protection.types.d.ts +47 -0
  114. package/dist/document-api/src/ranges/index.d.ts +2 -0
  115. package/dist/document-api/src/ranges/ranges.types.d.ts +121 -0
  116. package/dist/document-api/src/ranges/resolve.d.ts +2 -0
  117. package/dist/document-api/src/receipt-bridge.d.ts +30 -0
  118. package/dist/document-api/src/replace/replace.d.ts +24 -0
  119. package/dist/document-api/src/sections/sections.d.ts +42 -0
  120. package/dist/document-api/src/sections/sections.types.d.ts +236 -0
  121. package/dist/document-api/src/selection/selection.d.ts +23 -0
  122. package/dist/document-api/src/selection/selection.types.d.ts +85 -0
  123. package/dist/document-api/src/selection-mutation.d.ts +46 -0
  124. package/dist/document-api/src/styles/apply.d.ts +142 -0
  125. package/dist/document-api/src/styles/catalog.d.ts +154 -0
  126. package/dist/document-api/src/styles/index.d.ts +14 -0
  127. package/dist/document-api/src/styles/registry.d.ts +43 -0
  128. package/dist/document-api/src/styles/schema.d.ts +9 -0
  129. package/dist/document-api/src/styles/validation.d.ts +38 -0
  130. package/dist/document-api/src/tables/color-formats.d.ts +12 -0
  131. package/dist/document-api/src/tables/tables.d.ts +83 -0
  132. package/dist/document-api/src/templates/apply.d.ts +160 -0
  133. package/dist/document-api/src/templates/index.d.ts +7 -0
  134. package/dist/document-api/src/toc/toc.d.ts +25 -0
  135. package/dist/document-api/src/toc/toc.types.d.ts +247 -0
  136. package/dist/document-api/src/track-changes/track-changes.d.ts +177 -0
  137. package/dist/document-api/src/types/adapter-result.d.ts +10 -0
  138. package/dist/document-api/src/types/address.d.ts +169 -0
  139. package/dist/document-api/src/types/base.d.ts +89 -0
  140. package/dist/document-api/src/types/blocks.types.d.ts +190 -0
  141. package/dist/document-api/src/types/clipboard.d.ts +216 -0
  142. package/dist/document-api/src/types/comments.types.d.ts +17 -0
  143. package/dist/document-api/src/types/create.types.d.ts +56 -0
  144. package/dist/document-api/src/types/discovery.d.ts +99 -0
  145. package/dist/document-api/src/types/extract.types.d.ts +163 -0
  146. package/dist/document-api/src/types/fragment.d.ts +29 -0
  147. package/dist/document-api/src/types/index.d.ts +30 -0
  148. package/dist/document-api/src/types/info.types.d.ts +109 -0
  149. package/dist/document-api/src/types/inline.types.d.ts +28 -0
  150. package/dist/document-api/src/types/media.types.d.ts +72 -0
  151. package/dist/document-api/src/types/mutation-plan.types.d.ts +264 -0
  152. package/dist/document-api/src/types/node.d.ts +9 -0
  153. package/dist/document-api/src/types/paragraph.types.d.ts +61 -0
  154. package/dist/document-api/src/types/placement.d.ts +24 -0
  155. package/dist/document-api/src/types/query-match.types.d.ts +212 -0
  156. package/dist/document-api/src/types/query.d.ts +133 -0
  157. package/dist/document-api/src/types/receipt.d.ts +191 -0
  158. package/dist/document-api/src/types/references.types.d.ts +9 -0
  159. package/dist/document-api/src/types/sd-contract.d.ts +54 -0
  160. package/dist/document-api/src/types/sd-envelope.d.ts +59 -0
  161. package/dist/document-api/src/types/sd-nodes.d.ts +375 -0
  162. package/dist/document-api/src/types/sd-objects.d.ts +144 -0
  163. package/dist/document-api/src/types/sd-props.d.ts +240 -0
  164. package/dist/document-api/src/types/sd-sections.d.ts +126 -0
  165. package/dist/document-api/src/types/sd-styles.d.ts +36 -0
  166. package/dist/document-api/src/types/step-manifest.types.d.ts +30 -0
  167. package/dist/document-api/src/types/story.types.d.ts +123 -0
  168. package/dist/document-api/src/types/structural-input.d.ts +40 -0
  169. package/dist/document-api/src/types/structured.types.d.ts +21 -0
  170. package/dist/document-api/src/types/style-policy.types.d.ts +49 -0
  171. package/dist/document-api/src/types/table-operations.types.d.ts +618 -0
  172. package/dist/document-api/src/types/tables.types.d.ts +43 -0
  173. package/dist/document-api/src/types/toc.types.d.ts +1 -0
  174. package/dist/document-api/src/types/track-changes.types.d.ts +703 -0
  175. package/dist/document-api/src/validation/create-location-validator.d.ts +2 -0
  176. package/dist/document-api/src/validation/fragment-validator.d.ts +13 -0
  177. package/dist/document-api/src/validation/selection-target-validator.d.ts +7 -0
  178. package/dist/document-api/src/validation/story-validator.d.ts +12 -0
  179. package/dist/document-api/src/validation-primitives.d.ts +29 -0
  180. package/dist/document-api/src/write/locator.d.ts +24 -0
  181. package/dist/document-api/src/write/write.d.ts +73 -0
  182. package/dist/images/altText_add.svg +3 -0
  183. package/dist/images/altText_disclaimer.svg +3 -0
  184. package/dist/images/altText_done.svg +3 -0
  185. package/dist/images/altText_spinner.svg +30 -0
  186. package/dist/images/altText_warning.svg +3 -0
  187. package/dist/images/annotation-check.svg +11 -0
  188. package/dist/images/annotation-comment.svg +16 -0
  189. package/dist/images/annotation-help.svg +26 -0
  190. package/dist/images/annotation-insert.svg +10 -0
  191. package/dist/images/annotation-key.svg +11 -0
  192. package/dist/images/annotation-newparagraph.svg +11 -0
  193. package/dist/images/annotation-noicon.svg +7 -0
  194. package/dist/images/annotation-note.svg +42 -0
  195. package/dist/images/annotation-paperclip.svg +6 -0
  196. package/dist/images/annotation-paragraph.svg +16 -0
  197. package/dist/images/annotation-pushpin.svg +7 -0
  198. package/dist/images/checkmark.svg +5 -0
  199. package/dist/images/comment-actionsButton.svg +3 -0
  200. package/dist/images/comment-closeButton.svg +3 -0
  201. package/dist/images/comment-editButton.svg +8 -0
  202. package/dist/images/comment-popup-editButton.svg +5 -0
  203. package/dist/images/cursor-editorFreeHighlight.svg +6 -0
  204. package/dist/images/cursor-editorFreeText.svg +3 -0
  205. package/dist/images/cursor-editorInk.svg +4 -0
  206. package/dist/images/cursor-editorTextHighlight.svg +8 -0
  207. package/dist/images/editor-toolbar-delete.svg +5 -0
  208. package/dist/images/editor-toolbar-edit.svg +3 -0
  209. package/dist/images/findbarButton-next.svg +3 -0
  210. package/dist/images/findbarButton-previous.svg +3 -0
  211. package/dist/images/gv-toolbarButton-download.svg +3 -0
  212. package/dist/images/loading-icon.gif +0 -0
  213. package/dist/images/loading.svg +1 -0
  214. package/dist/images/messageBar_closingButton.svg +3 -0
  215. package/dist/images/messageBar_info.svg +3 -0
  216. package/dist/images/messageBar_warning.svg +3 -0
  217. package/dist/images/pages_closeButton.svg +3 -0
  218. package/dist/images/pages_selected.svg +7 -0
  219. package/dist/images/pages_viewArrow.svg +3 -0
  220. package/dist/images/pages_viewButton.svg +3 -0
  221. package/dist/images/secondaryToolbarButton-documentProperties.svg +3 -0
  222. package/dist/images/secondaryToolbarButton-firstPage.svg +3 -0
  223. package/dist/images/secondaryToolbarButton-handTool.svg +3 -0
  224. package/dist/images/secondaryToolbarButton-lastPage.svg +3 -0
  225. package/dist/images/secondaryToolbarButton-rotateCcw.svg +3 -0
  226. package/dist/images/secondaryToolbarButton-rotateCw.svg +3 -0
  227. package/dist/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
  228. package/dist/images/secondaryToolbarButton-scrollPage.svg +3 -0
  229. package/dist/images/secondaryToolbarButton-scrollVertical.svg +3 -0
  230. package/dist/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
  231. package/dist/images/secondaryToolbarButton-selectTool.svg +3 -0
  232. package/dist/images/secondaryToolbarButton-spreadEven.svg +3 -0
  233. package/dist/images/secondaryToolbarButton-spreadNone.svg +3 -0
  234. package/dist/images/secondaryToolbarButton-spreadOdd.svg +3 -0
  235. package/dist/images/toolbarButton-bookmark.svg +3 -0
  236. package/dist/images/toolbarButton-currentOutlineItem.svg +3 -0
  237. package/dist/images/toolbarButton-download.svg +4 -0
  238. package/dist/images/toolbarButton-editorFreeText.svg +5 -0
  239. package/dist/images/toolbarButton-editorHighlight.svg +6 -0
  240. package/dist/images/toolbarButton-editorInk.svg +4 -0
  241. package/dist/images/toolbarButton-editorSignature.svg +6 -0
  242. package/dist/images/toolbarButton-editorStamp.svg +8 -0
  243. package/dist/images/toolbarButton-menuArrow.svg +3 -0
  244. package/dist/images/toolbarButton-openFile.svg +3 -0
  245. package/dist/images/toolbarButton-pageDown.svg +3 -0
  246. package/dist/images/toolbarButton-pageUp.svg +3 -0
  247. package/dist/images/toolbarButton-presentationMode.svg +3 -0
  248. package/dist/images/toolbarButton-print.svg +3 -0
  249. package/dist/images/toolbarButton-search.svg +3 -0
  250. package/dist/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
  251. package/dist/images/toolbarButton-viewAttachments.svg +3 -0
  252. package/dist/images/toolbarButton-viewLayers.svg +3 -0
  253. package/dist/images/toolbarButton-viewOutline.svg +3 -0
  254. package/dist/images/toolbarButton-viewThumbnail.svg +3 -0
  255. package/dist/images/toolbarButton-viewsManagerToggle.svg +3 -0
  256. package/dist/images/toolbarButton-zoomIn.svg +3 -0
  257. package/dist/images/toolbarButton-zoomOut.svg +3 -0
  258. package/dist/images/treeitem-collapsed.svg +1 -0
  259. package/dist/images/treeitem-expanded.svg +1 -0
  260. package/dist/layout-engine/contracts/src/author-colors.d.ts +56 -0
  261. package/dist/layout-engine/contracts/src/cell-spacing.d.ts +12 -0
  262. package/dist/layout-engine/contracts/src/clip-path-inset.d.ts +27 -0
  263. package/dist/layout-engine/contracts/src/column-layout.d.ts +79 -0
  264. package/dist/layout-engine/contracts/src/direction-context.d.ts +219 -0
  265. package/dist/layout-engine/contracts/src/drawing-taxonomy.d.ts +126 -0
  266. package/dist/layout-engine/contracts/src/engines/image-wrap.d.ts +54 -0
  267. package/dist/layout-engine/contracts/src/engines/index.d.ts +17 -0
  268. package/dist/layout-engine/contracts/src/engines/lists.d.ts +57 -0
  269. package/dist/layout-engine/contracts/src/engines/paragraph.d.ts +59 -0
  270. package/dist/layout-engine/contracts/src/engines/tables.d.ts +89 -0
  271. package/dist/layout-engine/contracts/src/engines/tabs.d.ts +117 -0
  272. package/dist/layout-engine/contracts/src/graphic-placement.d.ts +76 -0
  273. package/dist/layout-engine/contracts/src/header-footer-inheritance.d.ts +22 -0
  274. package/dist/layout-engine/contracts/src/header-footer-resolution.d.ts +28 -0
  275. package/dist/layout-engine/contracts/src/incremental-dependency.d.ts +10 -0
  276. package/dist/layout-engine/contracts/src/index.d.ts +2459 -0
  277. package/dist/layout-engine/contracts/src/justify-utils.d.ts +98 -0
  278. package/dist/layout-engine/contracts/src/layout-identity.d.ts +136 -0
  279. package/dist/layout-engine/contracts/src/ooxml-z-index.d.ts +46 -0
  280. package/dist/layout-engine/contracts/src/page-number-formatting.d.ts +26 -0
  281. package/dist/layout-engine/contracts/src/page-ref-anchor.d.ts +2 -0
  282. package/dist/layout-engine/contracts/src/pm-range.d.ts +45 -0
  283. package/dist/layout-engine/contracts/src/resolved-layout.d.ts +541 -0
  284. package/dist/layout-engine/contracts/src/run-helpers.d.ts +23 -0
  285. package/dist/layout-engine/contracts/src/sdt-container.d.ts +13 -0
  286. package/dist/layout-engine/contracts/src/segment-geometry.d.ts +192 -0
  287. package/dist/layout-engine/contracts/src/semantic-colors.d.ts +150 -0
  288. package/dist/layout-engine/contracts/src/table-cell-spacing.d.ts +12 -0
  289. package/dist/layout-engine/contracts/src/table-column-rescale.d.ts +13 -0
  290. package/dist/layout-engine/contracts/src/vertical-text.d.ts +43 -0
  291. package/dist/layout-engine/dom-contract/src/class-names.d.ts +62 -0
  292. package/dist/layout-engine/dom-contract/src/data-attrs.d.ts +103 -0
  293. package/dist/layout-engine/dom-contract/src/index.d.ts +18 -0
  294. package/dist/layout-engine/dom-contract/src/selectors.d.ts +47 -0
  295. package/dist/layout-engine/layout-bridge/src/cache-warmer.d.ts +73 -0
  296. package/dist/layout-engine/layout-bridge/src/cache.d.ts +143 -0
  297. package/dist/layout-engine/layout-bridge/src/cacheInvalidation.d.ts +117 -0
  298. package/dist/layout-engine/layout-bridge/src/cursor-renderer.d.ts +201 -0
  299. package/dist/layout-engine/layout-bridge/src/debounced-passes.d.ts +130 -0
  300. package/dist/layout-engine/layout-bridge/src/diff.d.ts +36 -0
  301. package/dist/layout-engine/layout-bridge/src/dirty-tracker.d.ts +128 -0
  302. package/dist/layout-engine/layout-bridge/src/dom-mapping.d.ts +80 -0
  303. package/dist/layout-engine/layout-bridge/src/featureFlags.d.ts +95 -0
  304. package/dist/layout-engine/layout-bridge/src/field-annotation-key.d.ts +2 -0
  305. package/dist/layout-engine/layout-bridge/src/focus-watchdog.d.ts +170 -0
  306. package/dist/layout-engine/layout-bridge/src/font-metrics-cache.d.ts +164 -0
  307. package/dist/layout-engine/layout-bridge/src/footnote-scorer.d.ts +63 -0
  308. package/dist/layout-engine/layout-bridge/src/headerFooterUtils.d.ts +218 -0
  309. package/dist/layout-engine/layout-bridge/src/ime-handler.d.ts +81 -0
  310. package/dist/layout-engine/layout-bridge/src/incrementalLayout.d.ts +390 -0
  311. package/dist/layout-engine/layout-bridge/src/index.d.ts +211 -0
  312. package/dist/layout-engine/layout-bridge/src/instrumentation.d.ts +245 -0
  313. package/dist/layout-engine/layout-bridge/src/layoutHeaderFooter.d.ts +123 -0
  314. package/dist/layout-engine/layout-bridge/src/list-indent-utils.d.ts +205 -0
  315. package/dist/layout-engine/layout-bridge/src/local-paragraph-layout.d.ts +93 -0
  316. package/dist/layout-engine/layout-bridge/src/neutral-hit.d.ts +142 -0
  317. package/dist/layout-engine/layout-bridge/src/neutral-segment-geometry.d.ts +32 -0
  318. package/dist/layout-engine/layout-bridge/src/page-geometry-helper.d.ts +197 -0
  319. package/dist/layout-engine/layout-bridge/src/paragraph-hash-utils.d.ts +126 -0
  320. package/dist/layout-engine/layout-bridge/src/paragraph-line-cache.d.ts +152 -0
  321. package/dist/layout-engine/layout-bridge/src/performance-metrics.d.ts +249 -0
  322. package/dist/layout-engine/layout-bridge/src/pm-dom-fallback.d.ts +188 -0
  323. package/dist/layout-engine/layout-bridge/src/pm-position-validator.d.ts +100 -0
  324. package/dist/layout-engine/layout-bridge/src/position-hit.d.ts +167 -0
  325. package/dist/layout-engine/layout-bridge/src/remeasure.d.ts +75 -0
  326. package/dist/layout-engine/layout-bridge/src/resolveHeaderFooterTokens.d.ts +76 -0
  327. package/dist/layout-engine/layout-bridge/src/rtl-text-geometry.d.ts +34 -0
  328. package/dist/layout-engine/layout-bridge/src/run-visual-marks.d.ts +12 -0
  329. package/dist/layout-engine/layout-bridge/src/safety-net.d.ts +234 -0
  330. package/dist/layout-engine/layout-bridge/src/sectionAwareHeaderFooter.d.ts +15 -0
  331. package/dist/layout-engine/layout-bridge/src/table-handler.d.ts +86 -0
  332. package/dist/layout-engine/layout-bridge/src/text-boundaries.d.ts +17 -0
  333. package/dist/layout-engine/layout-bridge/src/text-measurement.d.ts +69 -0
  334. package/dist/layout-engine/layout-bridge/src/track-changes-handler.d.ts +90 -0
  335. package/dist/layout-engine/layout-bridge/src/tracked-changes-utils.d.ts +41 -0
  336. package/dist/layout-engine/layout-engine/src/anchors.d.ts +52 -0
  337. package/dist/layout-engine/layout-engine/src/column-balancing.d.ts +255 -0
  338. package/dist/layout-engine/layout-engine/src/column-utils.d.ts +1 -0
  339. package/dist/layout-engine/layout-engine/src/floating-objects.d.ts +60 -0
  340. package/dist/layout-engine/layout-engine/src/floating-table-anchor.d.ts +21 -0
  341. package/dist/layout-engine/layout-engine/src/index.d.ts +349 -0
  342. package/dist/layout-engine/layout-engine/src/layout-drawing.d.ts +60 -0
  343. package/dist/layout-engine/layout-engine/src/layout-image.d.ts +16 -0
  344. package/dist/layout-engine/layout-engine/src/layout-paragraph.d.ts +101 -0
  345. package/dist/layout-engine/layout-engine/src/layout-table.d.ts +71 -0
  346. package/dist/layout-engine/layout-engine/src/layout-textbox.d.ts +4 -0
  347. package/dist/layout-engine/layout-engine/src/layout-utils.d.ts +104 -0
  348. package/dist/layout-engine/layout-engine/src/normalize-header-footer-fragments.d.ts +45 -0
  349. package/dist/layout-engine/layout-engine/src/pageNumbering.d.ts +73 -0
  350. package/dist/layout-engine/layout-engine/src/paginator.d.ts +131 -0
  351. package/dist/layout-engine/layout-engine/src/paragraph-layout-eligibility.d.ts +1 -0
  352. package/dist/layout-engine/layout-engine/src/resolvePageRefs.d.ts +31 -0
  353. package/dist/layout-engine/layout-engine/src/resolvePageTokens.d.ts +82 -0
  354. package/dist/layout-engine/layout-engine/src/section-breaks.d.ts +98 -0
  355. package/dist/layout-engine/layout-engine/src/section-props.d.ts +65 -0
  356. package/dist/layout-engine/layout-engine/src/table-cell-slice.d.ts +98 -0
  357. package/dist/layout-engine/painters/dom/src/_test-utils.d.ts +21 -0
  358. package/dist/layout-engine/painters/dom/src/chart-renderer.d.ts +13 -0
  359. package/dist/layout-engine/painters/dom/src/constants.d.ts +10 -0
  360. package/dist/layout-engine/painters/dom/src/css-token.d.ts +10 -0
  361. package/dist/layout-engine/painters/dom/src/features/feature-registry.d.ts +41 -0
  362. package/dist/layout-engine/painters/dom/src/features/inline-direction/index.d.ts +22 -0
  363. package/dist/layout-engine/painters/dom/src/features/inline-direction/rtl-styles.d.ts +27 -0
  364. package/dist/layout-engine/painters/dom/src/features/inline-direction/run-direction.d.ts +75 -0
  365. package/dist/layout-engine/painters/dom/src/features/math/converters/accent.d.ts +25 -0
  366. package/dist/layout-engine/painters/dom/src/features/math/converters/bar.d.ts +16 -0
  367. package/dist/layout-engine/painters/dom/src/features/math/converters/box.d.ts +38 -0
  368. package/dist/layout-engine/painters/dom/src/features/math/converters/delimiter.d.ts +13 -0
  369. package/dist/layout-engine/painters/dom/src/features/math/converters/equation-array.d.ts +19 -0
  370. package/dist/layout-engine/painters/dom/src/features/math/converters/fraction.d.ts +13 -0
  371. package/dist/layout-engine/painters/dom/src/features/math/converters/function.d.ts +16 -0
  372. package/dist/layout-engine/painters/dom/src/features/math/converters/group-character.d.ts +26 -0
  373. package/dist/layout-engine/painters/dom/src/features/math/converters/index.d.ts +27 -0
  374. package/dist/layout-engine/painters/dom/src/features/math/converters/lower-limit.d.ts +13 -0
  375. package/dist/layout-engine/painters/dom/src/features/math/converters/math-run.d.ts +47 -0
  376. package/dist/layout-engine/painters/dom/src/features/math/converters/matrix.d.ts +23 -0
  377. package/dist/layout-engine/painters/dom/src/features/math/converters/nary.d.ts +23 -0
  378. package/dist/layout-engine/painters/dom/src/features/math/converters/phantom.d.ts +17 -0
  379. package/dist/layout-engine/painters/dom/src/features/math/converters/pre-sub-superscript.d.ts +25 -0
  380. package/dist/layout-engine/painters/dom/src/features/math/converters/radical.d.ts +14 -0
  381. package/dist/layout-engine/painters/dom/src/features/math/converters/sub-superscript.d.ts +13 -0
  382. package/dist/layout-engine/painters/dom/src/features/math/converters/subscript.d.ts +13 -0
  383. package/dist/layout-engine/painters/dom/src/features/math/converters/superscript.d.ts +13 -0
  384. package/dist/layout-engine/painters/dom/src/features/math/converters/upper-limit.d.ts +13 -0
  385. package/dist/layout-engine/painters/dom/src/features/math/index.d.ts +14 -0
  386. package/dist/layout-engine/painters/dom/src/features/math/omml-to-mathml.d.ts +18 -0
  387. package/dist/layout-engine/painters/dom/src/features/math/types.d.ts +41 -0
  388. package/dist/layout-engine/painters/dom/src/images/drawing-image.d.ts +5 -0
  389. package/dist/layout-engine/painters/dom/src/images/hyperlink.d.ts +2 -0
  390. package/dist/layout-engine/painters/dom/src/images/image-block.d.ts +15 -0
  391. package/dist/layout-engine/painters/dom/src/images/image-clip-path.d.ts +17 -0
  392. package/dist/layout-engine/painters/dom/src/images/image-fragment.d.ts +34 -0
  393. package/dist/layout-engine/painters/dom/src/images/image-selectors.d.ts +9 -0
  394. package/dist/layout-engine/painters/dom/src/images/types.d.ts +2 -0
  395. package/dist/layout-engine/painters/dom/src/index.d.ts +125 -0
  396. package/dist/layout-engine/painters/dom/src/page-content.d.ts +209 -0
  397. package/dist/layout-engine/painters/dom/src/paragraph/block-version.d.ts +8 -0
  398. package/dist/layout-engine/painters/dom/src/paragraph/borders/border-layer.d.ts +59 -0
  399. package/dist/layout-engine/painters/dom/src/paragraph/borders/group-analysis.d.ts +38 -0
  400. package/dist/layout-engine/painters/dom/src/paragraph/borders/index.d.ts +18 -0
  401. package/dist/layout-engine/painters/dom/src/paragraph/frame.d.ts +3 -0
  402. package/dist/layout-engine/painters/dom/src/paragraph/indentation.d.ts +25 -0
  403. package/dist/layout-engine/painters/dom/src/paragraph/list-marker.d.ts +51 -0
  404. package/dist/layout-engine/painters/dom/src/paragraph/marker-tracked-change.d.ts +34 -0
  405. package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphContent.d.ts +87 -0
  406. package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphFragment.d.ts +33 -0
  407. package/dist/layout-engine/painters/dom/src/paragraph/styles.d.ts +3 -0
  408. package/dist/layout-engine/painters/dom/src/paragraph-hash-utils.d.ts +13 -0
  409. package/dist/layout-engine/painters/dom/src/pm-position-validation.d.ts +149 -0
  410. package/dist/layout-engine/painters/dom/src/renderer.d.ts +681 -0
  411. package/dist/layout-engine/painters/dom/src/ruler/index.d.ts +41 -0
  412. package/dist/layout-engine/painters/dom/src/ruler/ruler-core.d.ts +195 -0
  413. package/dist/layout-engine/painters/dom/src/ruler/ruler-renderer.d.ts +97 -0
  414. package/dist/layout-engine/painters/dom/src/ruler/ruler-styles.d.ts +31 -0
  415. package/dist/layout-engine/painters/dom/src/runs/field-annotation-run.d.ts +14 -0
  416. package/dist/layout-engine/painters/dom/src/runs/font-synthesis.d.ts +1 -0
  417. package/dist/layout-engine/painters/dom/src/runs/formatting-marks.d.ts +3 -0
  418. package/dist/layout-engine/painters/dom/src/runs/hash.d.ts +82 -0
  419. package/dist/layout-engine/painters/dom/src/runs/image-run.d.ts +37 -0
  420. package/dist/layout-engine/painters/dom/src/runs/index.d.ts +13 -0
  421. package/dist/layout-engine/painters/dom/src/runs/links.d.ts +58 -0
  422. package/dist/layout-engine/painters/dom/src/runs/math-run.d.ts +7 -0
  423. package/dist/layout-engine/painters/dom/src/runs/render-line.d.ts +2 -0
  424. package/dist/layout-engine/painters/dom/src/runs/render-run.d.ts +12 -0
  425. package/dist/layout-engine/painters/dom/src/runs/tab-run.d.ts +66 -0
  426. package/dist/layout-engine/painters/dom/src/runs/text-run.d.ts +35 -0
  427. package/dist/layout-engine/painters/dom/src/runs/tracked-changes.d.ts +90 -0
  428. package/dist/layout-engine/painters/dom/src/runs/types.d.ts +67 -0
  429. package/dist/layout-engine/painters/dom/src/sdt/boundaries.d.ts +16 -0
  430. package/dist/layout-engine/painters/dom/src/sdt/container.d.ts +32 -0
  431. package/dist/layout-engine/painters/dom/src/sdt/dataset.d.ts +7 -0
  432. package/dist/layout-engine/painters/dom/src/sdt/inline.d.ts +9 -0
  433. package/dist/layout-engine/painters/dom/src/sdt/snapshot.d.ts +29 -0
  434. package/dist/layout-engine/painters/dom/src/styles.d.ts +71 -0
  435. package/dist/layout-engine/painters/dom/src/svg-utils.d.ts +101 -0
  436. package/dist/layout-engine/painters/dom/src/table/border-utils.d.ts +185 -0
  437. package/dist/layout-engine/painters/dom/src/table/grid-geometry.d.ts +69 -0
  438. package/dist/layout-engine/painters/dom/src/table/renderTableCell.d.ts +170 -0
  439. package/dist/layout-engine/painters/dom/src/table/renderTableFragment.d.ts +132 -0
  440. package/dist/layout-engine/painters/dom/src/table/renderTableRow.d.ts +146 -0
  441. package/dist/layout-engine/painters/dom/src/test-utils/normalize-line.d.ts +39 -0
  442. package/dist/layout-engine/painters/dom/src/utils/anchor-helpers.d.ts +3 -0
  443. package/dist/layout-engine/painters/dom/src/utils/apply-styles.d.ts +1 -0
  444. package/dist/layout-engine/painters/dom/src/utils/layout-identity.d.ts +9 -0
  445. package/dist/layout-engine/painters/dom/src/utils/source-anchor.d.ts +2 -0
  446. package/dist/layout-engine/style-engine/src/bench/resolveSdtMetadata.bench.d.ts +1 -0
  447. package/dist/layout-engine/style-engine/src/cascade.d.ts +43 -0
  448. package/dist/layout-engine/style-engine/src/index.d.ts +121 -0
  449. package/dist/layout-engine/style-engine/src/normalize/colors.d.ts +13 -0
  450. package/dist/layout-engine/style-engine/src/normalize/index.d.ts +13 -0
  451. package/dist/layout-engine/style-engine/src/normalize/paragraph-attrs.d.ts +3 -0
  452. package/dist/layout-engine/style-engine/src/normalize/run-attrs.d.ts +17 -0
  453. package/dist/layout-engine/style-engine/src/normalize/types.d.ts +36 -0
  454. package/dist/layout-engine/style-engine/src/normalize/units.d.ts +13 -0
  455. package/dist/layout-engine/style-engine/src/ooxml/index.d.ts +64 -0
  456. package/dist/layout-engine/style-engine/src/ooxml/numbering-types.d.ts +126 -0
  457. package/dist/layout-engine/style-engine/src/ooxml/styles-types.d.ts +363 -0
  458. package/dist/layout-engine/style-engine/src/ooxml/table-style-selection.d.ts +86 -0
  459. package/dist/layout-engine/style-engine/src/ooxml/types.d.ts +459 -0
  460. package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-theme.d.ts +33 -0
  461. package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-xml.d.ts +29 -0
  462. package/dist/public/ui-react.cjs +175 -0
  463. package/dist/public/ui-react.es.js +159 -0
  464. package/dist/public/ui.cjs +5 -0
  465. package/dist/public/ui.es.js +2 -0
  466. package/dist/shared/common/comments-types.d.ts +102 -0
  467. package/dist/shared/common/layout-constants.d.ts +7 -0
  468. package/dist/shared/common/list-marker-utils.d.ts +186 -0
  469. package/dist/shared/common/list-numbering/index.d.ts +16 -0
  470. package/dist/shared/font-system/src/activation.d.ts +64 -0
  471. package/dist/shared/font-system/src/bundled-manifest.d.ts +32 -0
  472. package/dist/shared/font-system/src/bundled.d.ts +41 -0
  473. package/dist/shared/font-system/src/document-font-options.d.ts +53 -0
  474. package/dist/shared/font-system/src/epoch.d.ts +6 -0
  475. package/dist/shared/font-system/src/font-offerings.d.ts +120 -0
  476. package/dist/shared/font-system/src/index.d.ts +35 -0
  477. package/dist/shared/font-system/src/os2.d.ts +30 -0
  478. package/dist/shared/font-system/src/registry.d.ts +188 -0
  479. package/dist/shared/font-system/src/report.d.ts +98 -0
  480. package/dist/shared/font-system/src/resolver.d.ts +215 -0
  481. package/dist/shared/font-system/src/substitution-evidence.d.ts +103 -0
  482. package/dist/shared/font-system/src/types.d.ts +128 -0
  483. package/dist/style.css +3316 -0
  484. package/dist/style.layered.css +3316 -0
  485. package/dist/superdoc/src/SuperDoc.vue.d.ts +88 -0
  486. package/dist/superdoc/src/cdn-entry.d.ts +2 -0
  487. package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +62 -0
  488. package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +26 -0
  489. package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +19 -0
  490. package/dist/superdoc/src/components/CommentsLayer/CommentsDropdown.vue.d.ts +30 -0
  491. package/dist/superdoc/src/components/CommentsLayer/InternalDropdown.vue.d.ts +10 -0
  492. package/dist/superdoc/src/components/CommentsLayer/collect-removed-comment-ids.d.ts +1 -0
  493. package/dist/superdoc/src/components/CommentsLayer/collect-tracked-change-thread.d.ts +6 -0
  494. package/dist/superdoc/src/components/CommentsLayer/comment-schemas.d.ts +18 -0
  495. package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +9 -0
  496. package/dist/superdoc/src/components/CommentsLayer/commentsList/super-comments-list.d.ts +21 -0
  497. package/dist/superdoc/src/components/CommentsLayer/floating-comment-positioning.d.ts +28 -0
  498. package/dist/superdoc/src/components/CommentsLayer/helpers.d.ts +7 -0
  499. package/dist/superdoc/src/components/CommentsLayer/tracked-change-threading.d.ts +2 -0
  500. package/dist/superdoc/src/components/CommentsLayer/types.d.ts +3 -0
  501. package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +8 -0
  502. package/dist/superdoc/src/components/CommentsLayer/use-conversation.d.ts +22 -0
  503. package/dist/superdoc/src/components/CommentsLayer/use-floating-comment.d.ts +11 -0
  504. package/dist/superdoc/src/components/HtmlViewer/HtmlViewer.vue.d.ts +10 -0
  505. package/dist/superdoc/src/components/PdfViewer/PdfViewer.vue.d.ts +61 -0
  506. package/dist/superdoc/src/components/PdfViewer/PdfViewerDocument.vue.d.ts +21 -0
  507. package/dist/superdoc/src/components/PdfViewer/PdfViewerPage.vue.d.ts +24 -0
  508. package/dist/superdoc/src/components/Whiteboard/WhiteboardLayer.vue.d.ts +19 -0
  509. package/dist/superdoc/src/components/Whiteboard/WhiteboardPage.vue.d.ts +17 -0
  510. package/dist/superdoc/src/components/Whiteboard/use-whiteboard.d.ts +18 -0
  511. package/dist/superdoc/src/components/surfaces/FindReplaceSurface.vue.d.ts +19 -0
  512. package/dist/superdoc/src/components/surfaces/PasswordPromptSurface.vue.d.ts +17 -0
  513. package/dist/superdoc/src/components/surfaces/SurfaceDialog.vue.d.ts +12 -0
  514. package/dist/superdoc/src/components/surfaces/SurfaceExternalMount.vue.d.ts +19 -0
  515. package/dist/superdoc/src/components/surfaces/SurfaceFloating.vue.d.ts +10 -0
  516. package/dist/superdoc/src/components/surfaces/SurfaceHost.vue.d.ts +31 -0
  517. package/dist/superdoc/src/components/surfaces/focusable-selector.d.ts +5 -0
  518. package/dist/superdoc/src/composables/find-shortcut-owner.d.ts +32 -0
  519. package/dist/superdoc/src/composables/replace-continuation.d.ts +37 -0
  520. package/dist/superdoc/src/composables/use-ai.d.ts +10 -0
  521. package/dist/superdoc/src/composables/use-comment-small-screen.d.ts +10 -0
  522. package/dist/superdoc/src/composables/use-compact-comment-popover.d.ts +21 -0
  523. package/dist/superdoc/src/composables/use-document.d.ts +34 -0
  524. package/dist/superdoc/src/composables/use-field.d.ts +33 -0
  525. package/dist/superdoc/src/composables/use-find-replace.d.ts +83 -0
  526. package/dist/superdoc/src/composables/use-high-contrast-mode.d.ts +4 -0
  527. package/dist/superdoc/src/composables/use-link-popover.d.ts +221 -0
  528. package/dist/superdoc/src/composables/use-password-prompt.d.ts +33 -0
  529. package/dist/superdoc/src/composables/use-selected-text.d.ts +16 -0
  530. package/dist/superdoc/src/composables/use-viewport-fit.d.ts +50 -0
  531. package/dist/superdoc/src/composables/useUiFontFamily.d.ts +24 -0
  532. package/dist/superdoc/src/core/EventEmitter.d.ts +55 -0
  533. package/dist/superdoc/src/core/SuperDoc.d.ts +775 -0
  534. package/dist/superdoc/src/core/collaboration/collaboration-comments.d.ts +4 -0
  535. package/dist/superdoc/src/core/collaboration/collaboration.d.ts +28 -0
  536. package/dist/superdoc/src/core/collaboration/helpers.d.ts +8 -0
  537. package/dist/superdoc/src/core/collaboration/permissions.d.ts +19 -0
  538. package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +99 -0
  539. package/dist/superdoc/src/core/collaboration/room-overwrite.d.ts +22 -0
  540. package/dist/superdoc/src/core/collaboration/v2-awareness-bridge.d.ts +57 -0
  541. package/dist/superdoc/src/core/config/merge-defined.d.ts +35 -0
  542. package/dist/superdoc/src/core/config/normalize-interaction-config.d.ts +15 -0
  543. package/dist/superdoc/src/core/config/normalize-surfaces-config.d.ts +23 -0
  544. package/dist/superdoc/src/core/config/normalize-ui-config.d.ts +62 -0
  545. package/dist/superdoc/src/core/create-app.d.ts +32 -0
  546. package/dist/superdoc/src/core/editor-runtime/conformance/fake-v2-runtime.d.ts +9 -0
  547. package/dist/superdoc/src/core/editor-runtime/editor-runtime-registry.d.ts +117 -0
  548. package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -0
  549. package/dist/superdoc/src/core/editor-runtime/root-marker.d.ts +33 -0
  550. package/dist/superdoc/src/core/editor-runtime/types.d.ts +405 -0
  551. package/dist/superdoc/src/core/editor-runtime/v2/v2-editor-runtime-adapter.d.ts +185 -0
  552. package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +47 -0
  553. package/dist/superdoc/src/core/extensions/define.d.ts +56 -0
  554. package/dist/superdoc/src/core/extensions/index.d.ts +2 -0
  555. package/dist/superdoc/src/core/extensions/types.d.ts +519 -0
  556. package/dist/superdoc/src/core/helpers/export.d.ts +2 -0
  557. package/dist/superdoc/src/core/helpers/file.d.ts +43 -0
  558. package/dist/superdoc/src/core/helpers/normalize-track-changes-config.d.ts +60 -0
  559. package/dist/superdoc/src/core/helpers/normalize-user.d.ts +13 -0
  560. package/dist/superdoc/src/core/index.d.ts +1 -0
  561. package/dist/superdoc/src/core/pdf/helpers/constants.d.ts +2 -0
  562. package/dist/superdoc/src/core/pdf/helpers/floor.d.ts +1 -0
  563. package/dist/superdoc/src/core/pdf/helpers/range.d.ts +1 -0
  564. package/dist/superdoc/src/core/pdf/helpers/read-file.d.ts +1 -0
  565. package/dist/superdoc/src/core/pdf/pdf-adapter.d.ts +66 -0
  566. package/dist/superdoc/src/core/surface-manager.d.ts +90 -0
  567. package/dist/superdoc/src/core/theme/create-theme.d.ts +82 -0
  568. package/dist/superdoc/src/core/types/index.d.ts +3006 -0
  569. package/dist/superdoc/src/core/v2-integration/browser-peer-runtime.d.ts +3 -0
  570. package/dist/superdoc/src/core/v2-integration/cdn-engine-loader.d.ts +16 -0
  571. package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +97 -0
  572. package/dist/superdoc/src/core/whiteboard/Whiteboard.d.ts +247 -0
  573. package/dist/superdoc/src/core/whiteboard/WhiteboardPage.d.ts +251 -0
  574. package/dist/superdoc/src/core/whiteboard/WhiteboardRenderer.d.ts +2 -0
  575. package/dist/superdoc/src/core/whiteboard/helpers/createTextarea.d.ts +1 -0
  576. package/dist/superdoc/src/core/whiteboard/helpers/flattenPoints.d.ts +1 -0
  577. package/dist/superdoc/src/core/whiteboard/helpers/getRandomId.d.ts +1 -0
  578. package/dist/superdoc/src/helpers/collect-touched-tracked-change-ids.d.ts +11 -0
  579. package/dist/superdoc/src/helpers/comment-focus.d.ts +4 -0
  580. package/dist/superdoc/src/helpers/comment-small-screen.d.ts +14 -0
  581. package/dist/superdoc/src/helpers/deprecation.d.ts +26 -0
  582. package/dist/superdoc/src/helpers/floor.d.ts +1 -0
  583. package/dist/superdoc/src/helpers/group-changes.d.ts +1 -0
  584. package/dist/superdoc/src/helpers/interaction-trace.d.ts +26 -0
  585. package/dist/superdoc/src/helpers/selection-source.d.ts +1 -0
  586. package/dist/superdoc/src/helpers/transaction-touches-structural-change.d.ts +19 -0
  587. package/dist/superdoc/src/helpers/use-selection.d.ts +17 -0
  588. package/dist/superdoc/src/helpers/v2-author-required-rejection.d.ts +22 -0
  589. package/dist/superdoc/src/helpers/v2-remote-review-hydration.d.ts +12 -0
  590. package/dist/superdoc/src/helpers/v2-review-mutation-impact.d.ts +15 -0
  591. package/dist/superdoc/src/helpers/v2-review-mutation-reconciler.d.ts +19 -0
  592. package/dist/superdoc/src/helpers/v2-review-target.d.ts +7 -0
  593. package/dist/superdoc/src/helpers/v2-selection-sync.d.ts +12 -0
  594. package/dist/superdoc/src/helpers/v2-typing-mutation-event.d.ts +5 -0
  595. package/dist/superdoc/src/icons.d.ts +11 -0
  596. package/dist/superdoc/src/index.d.cts +13 -0
  597. package/dist/superdoc/src/index.d.ts +11 -0
  598. package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +21 -0
  599. package/dist/superdoc/src/internal/toolbar/built-in/AlignmentButtons.vue.d.ts +6 -0
  600. package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +10 -0
  601. package/dist/superdoc/src/internal/toolbar/built-in/DocumentMode.vue.d.ts +10 -0
  602. package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +10 -0
  603. package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +10 -0
  604. package/dist/superdoc/src/internal/toolbar/built-in/IconGrid.vue.d.ts +14 -0
  605. package/dist/superdoc/src/internal/toolbar/built-in/IconGridRow.vue.d.ts +13 -0
  606. package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +37 -0
  607. package/dist/superdoc/src/internal/toolbar/built-in/LinkedStyle.vue.d.ts +12 -0
  608. package/dist/superdoc/src/internal/toolbar/built-in/OverflowMenu.vue.d.ts +10 -0
  609. package/dist/superdoc/src/internal/toolbar/built-in/SdTooltip.vue.d.ts +34 -0
  610. package/dist/superdoc/src/internal/toolbar/built-in/StyleButtonsList.vue.d.ts +14 -0
  611. package/dist/superdoc/src/internal/toolbar/built-in/TableActions.vue.d.ts +8 -0
  612. package/dist/superdoc/src/internal/toolbar/built-in/TableGrid.vue.d.ts +6 -0
  613. package/dist/superdoc/src/internal/toolbar/built-in/Toolbar.vue.d.ts +4 -0
  614. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButton.vue.d.ts +24 -0
  615. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButtonIcon.vue.d.ts +11 -0
  616. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +18 -0
  617. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +38 -0
  618. package/dist/superdoc/src/internal/toolbar/built-in/ToolbarSeparator.vue.d.ts +8 -0
  619. package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +24 -0
  620. package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +102 -0
  621. package/dist/superdoc/src/internal/toolbar/built-in/default-items.d.ts +17 -0
  622. package/dist/superdoc/src/internal/toolbar/built-in/font-options.d.ts +1 -0
  623. package/dist/superdoc/src/internal/toolbar/built-in/font-typeahead.d.ts +11 -0
  624. package/dist/superdoc/src/internal/toolbar/built-in/format-negation.d.ts +5 -0
  625. package/dist/superdoc/src/internal/toolbar/built-in/general.d.ts +1 -0
  626. package/dist/superdoc/src/internal/toolbar/built-in/helpers.d.ts +5 -0
  627. package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +10 -0
  628. package/dist/superdoc/src/internal/toolbar/built-in/scroll-helpers.d.ts +4 -0
  629. package/dist/superdoc/src/internal/toolbar/built-in/toolbar-focus-helpers.d.ts +1 -0
  630. package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +76 -0
  631. package/dist/superdoc/src/internal/toolbar/built-in/toolbarTexts.d.ts +58 -0
  632. package/dist/superdoc/src/internal/toolbar/built-in/url-safety.d.ts +8 -0
  633. package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +48 -0
  634. package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +237 -0
  635. package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +59 -0
  636. package/dist/superdoc/src/internal/toolbar/image-upload.d.ts +63 -0
  637. package/dist/superdoc/src/internal/toolbar/index.d.ts +10 -0
  638. package/dist/superdoc/src/main.d.ts +1 -0
  639. package/dist/superdoc/src/public/browser-document-api.d.ts +53 -0
  640. package/dist/superdoc/src/public/collaboration-upgrade-engine.d.cts +26 -0
  641. package/dist/superdoc/src/public/collaboration-upgrade-engine.d.ts +130 -0
  642. package/dist/superdoc/src/public/index.d.cts +359 -0
  643. package/dist/superdoc/src/public/index.d.ts +179 -0
  644. package/dist/superdoc/src/public/ui/commands.d.ts +249 -0
  645. package/dist/superdoc/src/public/ui/create-super-doc-ui.d.ts +18 -0
  646. package/dist/superdoc/src/public/ui/entity-at.d.ts +29 -0
  647. package/dist/superdoc/src/public/ui/equality.d.ts +10 -0
  648. package/dist/superdoc/src/public/ui/format-painter-helpers.d.ts +36 -0
  649. package/dist/superdoc/src/public/ui/react.d.ts +81 -0
  650. package/dist/superdoc/src/public/ui/reasons.d.ts +99 -0
  651. package/dist/superdoc/src/public/ui/types.d.ts +1425 -0
  652. package/dist/superdoc/src/public/ui-react.d.cts +20 -0
  653. package/dist/superdoc/src/public/ui-react.d.ts +20 -0
  654. package/dist/superdoc/src/public/ui.d.cts +194 -0
  655. package/dist/superdoc/src/public/ui.d.ts +29 -0
  656. package/dist/superdoc/src/stores/comments-store.d.ts +676 -0
  657. package/dist/superdoc/src/stores/helpers/floating-comment-instances.d.ts +14 -0
  658. package/dist/superdoc/src/stores/helpers/tracked-change-thread-index.d.ts +14 -0
  659. package/dist/superdoc/src/stores/hrbr-fields-store.d.ts +43 -0
  660. package/dist/superdoc/src/stores/superdoc-store.d.ts +2182 -0
  661. package/dist/superdoc.cjs +36521 -0
  662. package/dist/superdoc.es.js +36449 -0
  663. package/dist/word-layout/src/index.d.ts +64 -0
  664. package/dist/word-layout/src/list-marker.d.ts +68 -0
  665. package/dist/word-layout/src/marker-utils.d.ts +20 -0
  666. package/dist/word-layout/src/numbering-manager.d.ts +85 -0
  667. package/dist/word-layout/src/tab-layout.d.ts +193 -0
  668. package/dist/word-layout/src/types.d.ts +106 -0
  669. package/dist/word-layout/src/unit-conversions.d.ts +120 -0
  670. package/dist-cdn/style.layered.css +2 -0
  671. package/dist-cdn/superdoc.min.css +2 -0
  672. package/dist-cdn/superdoc.min.js +108 -0
  673. package/package.json +137 -24
  674. package/.npmignore +0 -4
  675. package/data.json +0 -17
  676. package/index.js +0 -2
  677. package/lib/Augmenter.js +0 -27
  678. package/lib/Runner.js +0 -80
  679. package/lib/Stopper.js +0 -71
  680. package/test/superdoc.js +0 -126
  681. package/utils/app.js +0 -18
  682. package/utils/server.js +0 -2
  683. package/web/index.js +0 -54
  684. package/web/public/style.css +0 -74
  685. package/web/views/index.ejs +0 -53
  686. package/web/views/layout.ejs +0 -13
  687. package/web/views/method.ejs +0 -59
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Ruler Module - Per-page and interactive ruler rendering
3
+ *
4
+ * This module provides everything needed to render rulers in the document editor:
5
+ * - Core logic for generating ruler definitions (tick marks, margin positions)
6
+ * - DOM renderer for creating ruler elements
7
+ * - CSS styles for ruler appearance
8
+ *
9
+ * @module ruler
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import {
14
+ * generateRulerDefinition,
15
+ * createRulerElement,
16
+ * ensureRulerStyles,
17
+ * } from './ruler/index.js';
18
+ *
19
+ * // Generate ruler data
20
+ * const definition = generateRulerDefinition({
21
+ * pageSize: { width: 8.5, height: 11 },
22
+ * pageMargins: { left: 1, right: 1, top: 1, bottom: 1 },
23
+ * });
24
+ *
25
+ * // Ensure styles are injected
26
+ * ensureRulerStyles(document);
27
+ *
28
+ * // Create display-only ruler for a page
29
+ * const ruler = createRulerElement({
30
+ * definition,
31
+ * doc: document,
32
+ * interactive: false,
33
+ * });
34
+ *
35
+ * // Add to page
36
+ * pageElement.insertBefore(ruler, pageElement.firstChild);
37
+ * ```
38
+ */
39
+ export { generateRulerDefinition, generateRulerDefinitionFromPx, pxToInches, inchesToPx, calculateMarginFromHandle, clampHandlePosition, createHandleStates, type PageSize, type PageMargins, type RulerTick, type RulerDefinition, type RulerConfig, type RulerConfigPx, type RulerHandleState, } from './ruler-core.js';
40
+ export { createRulerElement, updateHandlePosition, createIndicatorElement, updateIndicator, RULER_CLASS_NAMES, type CreateRulerElementOptions, } from './ruler-renderer.js';
41
+ export { ensureRulerStyles, _resetRulerStylesInjection } from './ruler-styles.js';
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Ruler Core - Framework-agnostic ruler logic
3
+ *
4
+ * This module provides the core functionality for rendering rulers in the document editor.
5
+ * It can be used by both the DOM painter (for per-page rulers) and Vue components
6
+ * (for interactive overlay rulers).
7
+ *
8
+ * @module ruler-core
9
+ */
10
+ /**
11
+ * Page size in inches
12
+ */
13
+ export type PageSize = {
14
+ width: number;
15
+ height: number;
16
+ };
17
+ /**
18
+ * Page margins in inches
19
+ */
20
+ export type PageMargins = {
21
+ left: number;
22
+ right: number;
23
+ top: number;
24
+ bottom: number;
25
+ };
26
+ /**
27
+ * A single tick mark on the ruler
28
+ */
29
+ export type RulerTick = {
30
+ /** CSS class name suffix (e.g., 'main', 'half', 'eighth') */
31
+ size: 'main' | 'half' | 'eighth';
32
+ /** Height as CSS percentage string (e.g., '40%') */
33
+ height: string;
34
+ /** Optional whole-unit number label (inch or cm, per `unit`; only on main ticks) */
35
+ label?: number;
36
+ /** X position in pixels from left edge */
37
+ x: number;
38
+ };
39
+ /**
40
+ * Measurement unit the ruler numbers/ticks reflect. `in` = inches (the default,
41
+ * unchanged behaviour), `cm` = centimetres (Word's alternate measurement unit).
42
+ */
43
+ export type RulerUnit = 'in' | 'cm';
44
+ /**
45
+ * Complete ruler definition with ticks and margin positions
46
+ */
47
+ export type RulerDefinition = {
48
+ /** Width of the ruler in pixels */
49
+ widthPx: number;
50
+ /** Height of the ruler in pixels */
51
+ heightPx: number;
52
+ /** Array of tick marks */
53
+ ticks: RulerTick[];
54
+ /** Left margin handle position in pixels */
55
+ leftMarginPx: number;
56
+ /** Right margin handle position in pixels */
57
+ rightMarginPx: number;
58
+ /** Page width in inches (for calculations) */
59
+ pageWidthInches: number;
60
+ };
61
+ /**
62
+ * Configuration for ruler generation
63
+ */
64
+ export type RulerConfig = {
65
+ /** Page size in inches */
66
+ pageSize: PageSize;
67
+ /** Page margins in inches */
68
+ pageMargins: PageMargins;
69
+ /** Pixels per inch (default: 96) */
70
+ ppi?: number;
71
+ /** Ruler height in pixels (default: 25) */
72
+ heightPx?: number;
73
+ /** Measurement unit for tick numbering/spacing (default: 'in'). */
74
+ unit?: RulerUnit;
75
+ };
76
+ /**
77
+ * Generate a complete ruler definition based on page configuration.
78
+ *
79
+ * This function creates an array of tick marks representing inch markers,
80
+ * half-inch markers, and eighth-inch markers, along with margin handle positions.
81
+ *
82
+ * @param config - Ruler configuration including page size and margins
83
+ * @returns Complete ruler definition with ticks and margin positions
84
+ * @throws {Error} If PPI is not positive, page dimensions are not positive, or margins exceed page dimensions
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const ruler = generateRulerDefinition({
89
+ * pageSize: { width: 8.5, height: 11 },
90
+ * pageMargins: { left: 1, right: 1, top: 1, bottom: 1 }
91
+ * });
92
+ * console.log(ruler.ticks.length); // Number of tick marks
93
+ * console.log(ruler.leftMarginPx); // 96 (1 inch * 96 PPI)
94
+ * ```
95
+ */
96
+ export declare function generateRulerDefinition(config: RulerConfig): RulerDefinition;
97
+ /**
98
+ * Convert a pixel position to inches.
99
+ *
100
+ * @param px - Position in pixels
101
+ * @param ppi - Pixels per inch (default: 96)
102
+ * @returns Position in inches
103
+ */
104
+ export declare function pxToInches(px: number, ppi?: number): number;
105
+ /**
106
+ * Convert inches to pixels.
107
+ *
108
+ * @param inches - Position in inches
109
+ * @param ppi - Pixels per inch (default: 96)
110
+ * @returns Position in pixels
111
+ */
112
+ export declare function inchesToPx(inches: number, ppi?: number): number;
113
+ /**
114
+ * Calculate new margin value from handle position.
115
+ *
116
+ * @param handleX - Handle X position in pixels
117
+ * @param side - Which margin side ('left' or 'right')
118
+ * @param pageWidthPx - Total page width in pixels
119
+ * @param ppi - Pixels per inch (default: 96)
120
+ * @returns New margin value in inches
121
+ */
122
+ export declare function calculateMarginFromHandle(handleX: number, side: 'left' | 'right', pageWidthPx: number, ppi?: number): number;
123
+ /**
124
+ * Clamp a handle position within valid bounds.
125
+ *
126
+ * @param handleX - Proposed handle X position in pixels
127
+ * @param side - Which margin side ('left' or 'right')
128
+ * @param otherHandleX - Position of the other handle in pixels
129
+ * @param pageWidthPx - Total page width in pixels
130
+ * @param minContentWidthPx - Minimum content width in pixels (default: 200)
131
+ * @returns Clamped handle position in pixels
132
+ * @throws {Error} If any input is not a finite number
133
+ */
134
+ export declare function clampHandlePosition(handleX: number, side: 'left' | 'right', otherHandleX: number, pageWidthPx: number, minContentWidthPx?: number): number;
135
+ /**
136
+ * Ruler handle state for drag interactions
137
+ */
138
+ export type RulerHandleState = {
139
+ side: 'left' | 'right';
140
+ x: number;
141
+ isDragging: boolean;
142
+ initialX: number;
143
+ };
144
+ /**
145
+ * Create initial handle states from a ruler definition.
146
+ *
147
+ * @param definition - Ruler definition with margin positions
148
+ * @returns Object with left and right handle states
149
+ */
150
+ export declare function createHandleStates(definition: RulerDefinition): {
151
+ left: RulerHandleState;
152
+ right: RulerHandleState;
153
+ };
154
+ /**
155
+ * Configuration for ruler generation using pixel values directly.
156
+ * Useful when working with the layout engine which uses pixels internally.
157
+ */
158
+ export type RulerConfigPx = {
159
+ /** Page width in pixels */
160
+ pageWidthPx: number;
161
+ /** Page height in pixels */
162
+ pageHeightPx: number;
163
+ /** Left margin in pixels */
164
+ leftMarginPx: number;
165
+ /** Right margin in pixels */
166
+ rightMarginPx: number;
167
+ /** Pixels per inch (default: 96) - used for tick spacing */
168
+ ppi?: number;
169
+ /** Ruler height in pixels (default: 25) */
170
+ heightPx?: number;
171
+ /** Measurement unit for tick numbering/spacing (default: 'in'). */
172
+ unit?: RulerUnit;
173
+ };
174
+ /**
175
+ * Generate a ruler definition from pixel values.
176
+ *
177
+ * This is useful when integrating with the layout engine, which works in pixels.
178
+ * The tick marks are still generated based on inch divisions for visual consistency.
179
+ *
180
+ * @param config - Ruler configuration with pixel values
181
+ * @returns Complete ruler definition
182
+ * @throws {Error} If PPI is not positive, page dimensions are not positive, or margins exceed page dimensions
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * // In DOM painter with pixel values from layout
187
+ * const ruler = generateRulerDefinitionFromPx({
188
+ * pageWidthPx: 816, // 8.5 inches * 96
189
+ * pageHeightPx: 1056, // 11 inches * 96
190
+ * leftMarginPx: 96, // 1 inch
191
+ * rightMarginPx: 96, // 1 inch
192
+ * });
193
+ * ```
194
+ */
195
+ export declare function generateRulerDefinitionFromPx(config: RulerConfigPx): RulerDefinition;
@@ -0,0 +1,97 @@
1
+ import { RulerDefinition } from './ruler-core.js';
2
+ /**
3
+ * CSS class names for ruler elements
4
+ */
5
+ export declare const RULER_CLASS_NAMES: {
6
+ /** Main ruler container */
7
+ readonly ruler: "superdoc-ruler";
8
+ /** Tick mark element */
9
+ readonly tick: "superdoc-ruler-tick";
10
+ /** Main (inch) tick */
11
+ readonly tickMain: "superdoc-ruler-tick--main";
12
+ /** Half-inch tick */
13
+ readonly tickHalf: "superdoc-ruler-tick--half";
14
+ /** Eighth-inch tick */
15
+ readonly tickEighth: "superdoc-ruler-tick--eighth";
16
+ /** Inch label number */
17
+ readonly label: "superdoc-ruler-label";
18
+ /** Margin handle */
19
+ readonly handle: "superdoc-ruler-handle";
20
+ /** Left margin handle */
21
+ readonly handleLeft: "superdoc-ruler-handle--left";
22
+ /** Right margin handle */
23
+ readonly handleRight: "superdoc-ruler-handle--right";
24
+ /** Vertical indicator line during drag */
25
+ readonly indicator: "superdoc-ruler-indicator";
26
+ };
27
+ /**
28
+ * Options for creating a ruler element
29
+ */
30
+ export type CreateRulerElementOptions = {
31
+ /** The ruler definition from generateRulerDefinition() */
32
+ definition: RulerDefinition;
33
+ /** Document to create elements in */
34
+ doc: Document;
35
+ /** Whether to include interactive margin handles (default: false for per-page rulers) */
36
+ interactive?: boolean;
37
+ /** Callback when margin handle drag starts */
38
+ onDragStart?: (side: 'left' | 'right', event: PointerEvent) => void;
39
+ /** Callback when margin handle is dragged */
40
+ onDrag?: (side: 'left' | 'right', x: number, event: PointerEvent) => void;
41
+ /** Callback when margin handle drag ends */
42
+ onDragEnd?: (side: 'left' | 'right', x: number, event: PointerEvent) => void;
43
+ };
44
+ /**
45
+ * Create a ruler DOM element.
46
+ *
47
+ * Creates a complete ruler with tick marks and optionally interactive margin handles.
48
+ * For per-page rulers in the painter, set `interactive: false` to render display-only rulers.
49
+ * For the main interactive ruler overlay, set `interactive: true` and provide callbacks.
50
+ *
51
+ * @param options - Options for creating the ruler
52
+ * @returns The ruler container element
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * // Display-only ruler for per-page rendering
57
+ * const ruler = createRulerElement({
58
+ * definition: generateRulerDefinition({ pageSize, pageMargins }),
59
+ * doc: document,
60
+ * interactive: false,
61
+ * });
62
+ * pageElement.insertBefore(ruler, pageElement.firstChild);
63
+ *
64
+ * // Interactive ruler with margin handles
65
+ * const interactiveRuler = createRulerElement({
66
+ * definition,
67
+ * doc: document,
68
+ * interactive: true,
69
+ * onDragEnd: (side, x) => editor.updatePageStyle({ pageMargins: { [side]: x / 96 } }),
70
+ * });
71
+ * ```
72
+ */
73
+ export declare function createRulerElement(options: CreateRulerElementOptions): HTMLElement;
74
+ /**
75
+ * Update a handle's position.
76
+ *
77
+ * @param ruler - Ruler container element
78
+ * @param side - Which handle to update
79
+ * @param x - New X position in pixels
80
+ */
81
+ export declare function updateHandlePosition(ruler: HTMLElement, side: 'left' | 'right', x: number): void;
82
+ /**
83
+ * Create a vertical indicator line element for drag feedback.
84
+ *
85
+ * @param doc - Document to create element in
86
+ * @param height - Height of the indicator in pixels
87
+ * @returns Indicator element
88
+ */
89
+ export declare function createIndicatorElement(doc: Document, height: number): HTMLElement;
90
+ /**
91
+ * Show/hide and position the vertical indicator.
92
+ *
93
+ * @param indicator - Indicator element
94
+ * @param visible - Whether to show the indicator
95
+ * @param x - X position in pixels (only used when visible)
96
+ */
97
+ export declare function updateIndicator(indicator: HTMLElement, visible: boolean, x?: number): void;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Ruler Styles - CSS injection for ruler elements
3
+ *
4
+ * This module provides CSS styles for ruler elements that are injected once
5
+ * into the document head, similar to other painter styles.
6
+ *
7
+ * @module ruler-styles
8
+ */
9
+ /**
10
+ * Inject ruler styles into the document head.
11
+ *
12
+ * Styles are only injected once per document lifecycle.
13
+ * Call this when initializing the painter or rendering the first ruler.
14
+ *
15
+ * @param doc - The document to inject styles into
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // In DomPainter initialization
20
+ * ensureRulerStyles(document);
21
+ *
22
+ * // Styles are now available for all ruler elements
23
+ * const ruler = createRulerElement({ definition, doc: document });
24
+ * ```
25
+ */
26
+ export declare function ensureRulerStyles(doc: Document | null | undefined): void;
27
+ /**
28
+ * Reset the injection state (useful for testing).
29
+ * @internal
30
+ */
31
+ export declare function _resetRulerStylesInjection(): void;
@@ -0,0 +1,14 @@
1
+ import { FieldAnnotationRun } from '../../../../contracts/src/index.js';
2
+ import { RunRenderContext } from './types.js';
3
+ /**
4
+ * Renders a FieldAnnotationRun as an inline "pill" element matching SuperDoc's
5
+ * visual appearance.
6
+ *
7
+ * Field annotations are styled inline elements that display form fields with:
8
+ * - Outer span with border, border-radius, padding, and background color
9
+ * - Inner span containing the displayLabel or type-specific content (image, link, etc.)
10
+ *
11
+ * @param run - The FieldAnnotationRun to render containing field configuration and styling
12
+ * @returns HTMLElement (span) or null if document is not available
13
+ */
14
+ export declare const renderFieldAnnotationRun: (run: FieldAnnotationRun, context: RunRenderContext) => HTMLElement | null;
@@ -0,0 +1 @@
1
+ export declare function allowFontSynthesis(element: HTMLElement): void;
@@ -0,0 +1,3 @@
1
+ import { Line, Run } from '../../../../contracts/src/index.js';
2
+ export declare const setTextContentWithFormattingSpaceMarks: (element: HTMLElement, text: string, doc: Document, showFormattingMarks: boolean) => void;
3
+ export declare const appendFormattingParagraphMark: (lineEl: HTMLElement, line: Line, runs: Run[], leftOffsetPx: number, availableWidth: number, hasExplicitPositioning: boolean, doc: Document, showFormattingMarks: boolean) => void;
@@ -0,0 +1,82 @@
1
+ import { Run, TextRun } from '../../../../contracts/src/index.js';
2
+ /**
3
+ * Type guard to check if a run has a string property.
4
+ *
5
+ * @param run - The run to check
6
+ * @param prop - The property name to check
7
+ * @returns True if the run has the property and it's a string
8
+ */
9
+ export declare const hasStringProp: (run: Run, prop: string) => run is Run & Record<string, string>;
10
+ /**
11
+ * Type guard to check if a run has a number property.
12
+ *
13
+ * @param run - The run to check
14
+ * @param prop - The property name to check
15
+ * @returns True if the run has the property and it's a number
16
+ */
17
+ export declare const hasNumberProp: (run: Run, prop: string) => run is Run & Record<string, number>;
18
+ /**
19
+ * Type guard to check if a run has a boolean property.
20
+ *
21
+ * @param run - The run to check
22
+ * @param prop - The property name to check
23
+ * @returns True if the run has the property and it's a boolean
24
+ */
25
+ export declare const hasBooleanProp: (run: Run, prop: string) => run is Run & Record<string, boolean>;
26
+ /**
27
+ * Safely gets a string property from a run, with type narrowing.
28
+ *
29
+ * @param run - The run to get the property from
30
+ * @param prop - The property name
31
+ * @returns The string value or empty string if not present
32
+ */
33
+ export declare const getRunStringProp: (run: Run, prop: string) => string;
34
+ /**
35
+ * Safely gets a number property from a run, with type narrowing.
36
+ *
37
+ * @param run - The run to get the property from
38
+ * @param prop - The property name
39
+ * @returns The number value or 0 if not present
40
+ */
41
+ export declare const getRunNumberProp: (run: Run, prop: string) => number;
42
+ /**
43
+ * Safely gets a boolean property from a run, with type narrowing.
44
+ *
45
+ * @param run - The run to get the property from
46
+ * @param prop - The property name
47
+ * @returns The boolean value or false if not present
48
+ */
49
+ export declare const getRunBooleanProp: (run: Run, prop: string) => boolean;
50
+ /**
51
+ * Safely gets the underline style from a run.
52
+ * Handles the object-shaped underline property { style?, color? }.
53
+ *
54
+ * @param run - The run to get the underline style from
55
+ * @returns The underline style or empty string if not present
56
+ */
57
+ export declare const getRunUnderlineStyle: (run: Run) => string;
58
+ /**
59
+ * Safely gets the underline color from a run.
60
+ * Handles the object-shaped underline property { style?, color? }.
61
+ *
62
+ * @param run - The run to get the underline color from
63
+ * @returns The underline color or empty string if not present
64
+ */
65
+ export declare const getRunUnderlineColor: (run: Run) => string;
66
+ /**
67
+ * Applies data-* attributes from a text run to a DOM element.
68
+ * Validates attribute names and safely sets them on the element.
69
+ * Invalid or unsafe attributes are skipped with development-mode logging.
70
+ *
71
+ * @param element - The HTML element to apply attributes to
72
+ * @param dataAttrs - Record of data-* attribute key-value pairs from the text run
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const span = document.createElement('span');
77
+ * applyRunDataAttributes(span, { 'data-id': '123', 'data-name': 'test' });
78
+ * // span now has: <span data-id="123" data-name="test"></span>
79
+ * ```
80
+ */
81
+ export declare const applyRunDataAttributes: (element: HTMLElement, dataAttrs?: Record<string, string>) => void;
82
+ export declare const textRunMergeSignature: (run: TextRun) => string;
@@ -0,0 +1,37 @@
1
+ import { ImageBlock, ImageRun, ImageRunVerticalAlign } from '../../../../contracts/src/index.js';
2
+ import { RunRenderContext, TrackedChangesRenderConfig } from './types.js';
3
+ type ImageFilterSource = Pick<ImageBlock, 'grayscale' | 'gain' | 'blacklevel' | 'lum'>;
4
+ type ImageOpacitySource = Pick<ImageBlock, 'alphaModFix'>;
5
+ /**
6
+ * Resolve the effective CSS `vertical-align` for an inline image run.
7
+ *
8
+ * Single source of truth for every vertical-align write site in this module
9
+ * (raw image, clip wrapper, and legacy clip fallback) so they never drift. The
10
+ * effective alignment is resolved upstream: render-line.ts copies the measured
11
+ * per-line alignment onto the run before this module runs, and an authored
12
+ * `run.verticalAlign` always wins. Absent any value, legacy `'top'` applies.
13
+ */
14
+ export declare const resolveImageVerticalAlign: (run: Pick<ImageRun, "verticalAlign">) => ImageRunVerticalAlign;
15
+ export declare const buildImageFilters: (source: ImageFilterSource) => string[];
16
+ export declare const resolveImageOpacity: (source: ImageOpacitySource) => string | null;
17
+ /**
18
+ * Renders an ImageRun as an inline <img> element.
19
+ *
20
+ * SECURITY NOTES:
21
+ * - Data URLs are validated against an allowlist of image MIME types
22
+ * - Size limit prevents DoS attacks from extremely large images
23
+ * - Only allows safe image MIME types; non-base64 data URLs are limited to SVG
24
+ * - Non-data URLs are sanitized through sanitizeUrl to prevent XSS
25
+ *
26
+ * METADATA ATTRIBUTE:
27
+ * - Adds `data-image-metadata` attribute to enable interactive resizing via ImageResizeOverlay
28
+ * - Metadata includes: originalWidth, originalHeight, aspectRatio, min/max dimensions
29
+ * - Only added when run.width > 0 && run.height > 0 to prevent invalid metadata
30
+ * - Max dimensions: 3x original size or 1000px (whichever is larger)
31
+ * - Min dimensions: 20px to ensure visibility and interactivity
32
+ *
33
+ * @param run - The ImageRun to render containing image source, dimensions, and spacing
34
+ * @returns HTMLElement (img) or null if src is missing or invalid
35
+ */
36
+ export declare const renderImageRun: (run: ImageRun, context: RunRenderContext, trackedConfig?: TrackedChangesRenderConfig) => HTMLElement | null;
37
+ export {};
@@ -0,0 +1,13 @@
1
+ export { renderLine } from './render-line.js';
2
+ export { renderRun } from './render-run.js';
3
+ export { renderTextRun } from './text-run.js';
4
+ export { renderImageRun } from './image-run.js';
5
+ export { renderFieldAnnotationRun } from './field-annotation-run.js';
6
+ export { renderMathRun } from './math-run.js';
7
+ export { renderInlineTabRun, renderPositionedTabRun } from './tab-run.js';
8
+ export { appendFormattingParagraphMark, setTextContentWithFormattingSpaceMarks } from './formatting-marks.js';
9
+ export { sanitizeUrl, linkMetrics } from './links.js';
10
+ export { applyRunDataAttributes } from './hash.js';
11
+ export { resolveTrackedChangesConfig, applyTrackedChangeDecorations, applyRowTrackedChangeToCell, } from './tracked-changes.js';
12
+ export { resolveRunSdtId, createInlineSdtWrapper, syncInlineSdtWrapperTypography, expandSdtWrapperPmRange, } from '../sdt/inline.js';
13
+ export type { RenderedLineInfo, RenderLineParams, RunRenderContext, TrackedChangesRenderConfig } from './types.js';
@@ -0,0 +1,58 @@
1
+ import { FlowRunLink } from '../../../../contracts/src/index.js';
2
+ import { LinkRenderData, RunRenderContext } from './types.js';
3
+ /**
4
+ * Hyperlink rendering metrics for observability.
5
+ * Tracks sanitization, blocking, and security-related events.
6
+ */
7
+ export declare const linkMetrics: {
8
+ sanitized: number;
9
+ blocked: number;
10
+ invalidProtocol: number;
11
+ homographWarnings: number;
12
+ reset(): void;
13
+ getMetrics(): {
14
+ 'hyperlink.sanitized.count': number;
15
+ 'hyperlink.blocked.count': number;
16
+ 'hyperlink.invalid_protocol.count': number;
17
+ 'hyperlink.homograph_warnings.count': number;
18
+ };
19
+ };
20
+ /**
21
+ * Sanitize a URL to prevent XSS attacks.
22
+ * Only allows http, https, mailto, tel, and internal anchors.
23
+ *
24
+ * @param href - The URL to sanitize
25
+ * @returns Sanitized URL or null if blocked
26
+ */
27
+ export declare function sanitizeUrl(href: string): string | null;
28
+ /**
29
+ * Apply data-* attributes to an HTML element from a dataset object.
30
+ * Safely assigns dataset properties while filtering out null/undefined values.
31
+ *
32
+ * @param element - Target HTML element to receive data attributes
33
+ * @param dataset - Object mapping data attribute keys to string values
34
+ */
35
+ export declare const applyLinkDataset: (element: HTMLElement, dataset?: Record<string, string>) => void;
36
+ export declare const buildLinkRenderData: (link: FlowRunLink) => LinkRenderData | null;
37
+ /**
38
+ * Apply tooltip accessibility using aria-describedby for better screen reader support.
39
+ * Creates a visually-hidden element containing the tooltip text and links it to the anchor.
40
+ *
41
+ * @param elem - The anchor element to enhance
42
+ * @param tooltip - The tooltip text to make accessible
43
+ * @returns The unique ID generated for this link
44
+ */
45
+ export declare const applyTooltipAccessibility: (elem: HTMLAnchorElement, tooltip: string | null, context: RunRenderContext) => string;
46
+ /**
47
+ * Enhance accessibility of a link element with ARIA labels and attributes.
48
+ * Adds descriptive ARIA labels for ambiguous text and target=_blank links (WCAG 2.4.4).
49
+ *
50
+ * @param elem - The anchor element to enhance
51
+ * @param linkData - Link metadata including href and target
52
+ * @param textContent - The visible link text to analyze for ambiguity
53
+ */
54
+ export declare const enhanceAccessibility: (elem: HTMLAnchorElement, linkData: LinkRenderData, textContent: string) => void;
55
+ /**
56
+ * Apply link attributes to an anchor element.
57
+ */
58
+ export declare const applyLinkAttributes: (elem: HTMLAnchorElement, linkData: LinkRenderData) => void;
@@ -0,0 +1,7 @@
1
+ import { MathRun } from '../../../../contracts/src/index.js';
2
+ import { RunRenderContext } from './types.js';
3
+ /**
4
+ * Render a math run as a MathML element wrapped in a span.
5
+ * Follows the same pattern as renderImageRun — sets explicit dimensions.
6
+ */
7
+ export declare const renderMathRun: (run: MathRun, context: RunRenderContext) => HTMLElement | null;
@@ -0,0 +1,2 @@
1
+ import { RenderLineParams } from './types.js';
2
+ export declare const renderLine: ({ block, line, context, availableWidthOverride, lineIndex, skipJustify, preExpandedRuns, resolvedListTextStartPx, indentOffsetOverride, paragraphMarkLeftOffsetOverride, runContext, }: RenderLineParams) => HTMLElement;
@@ -0,0 +1,12 @@
1
+ import { FieldAnnotationRun, ImageRun, MathRun, Run } from '../../../../contracts/src/index.js';
2
+ import { FragmentRenderContext } from '../renderer.js';
3
+ import { RunRenderContext, TrackedChangesRenderConfig } from './types.js';
4
+ export declare const isImageRun: (run: Run) => run is ImageRun;
5
+ export declare const isLineBreakRun: (run: Run) => run is import('../../../../contracts/src/index.js').LineBreakRun;
6
+ export declare const isBreakRun: (run: Run) => run is import('../../../../contracts/src/index.js').BreakRun;
7
+ export declare const isFieldAnnotationRun: (run: Run) => run is FieldAnnotationRun;
8
+ export declare const isMathRun: (run: Run) => run is MathRun;
9
+ /**
10
+ * Render a single run as an HTML element (span or anchor).
11
+ */
12
+ export declare const renderRun: (run: Run, context: FragmentRenderContext, renderContext: RunRenderContext, trackedConfig?: TrackedChangesRenderConfig) => HTMLElement | null;