@zeke-02/docx-editor-core 0.1.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 (431) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +89 -0
  3. package/dist/ImageExtension-BN327PNe.d.mts +38 -0
  4. package/dist/ImageExtension-BlI5afZD.d.ts +38 -0
  5. package/dist/Subscribable-DOz6Ohoo.d.mts +33 -0
  6. package/dist/Subscribable-DOz6Ohoo.d.ts +33 -0
  7. package/dist/agent/index.d.mts +168 -0
  8. package/dist/agent/index.d.ts +168 -0
  9. package/dist/agent/index.js +1 -0
  10. package/dist/agent/index.mjs +1 -0
  11. package/dist/borders-BH_GoYU3.d.mts +58 -0
  12. package/dist/borders-Z9hPno2u.d.ts +58 -0
  13. package/dist/chunk-2HFQ4QTU.js +1 -0
  14. package/dist/chunk-2KHWHVTA.js +1 -0
  15. package/dist/chunk-2MSZXH6Q.mjs +2 -0
  16. package/dist/chunk-3COGZG7O.mjs +1 -0
  17. package/dist/chunk-3NRMSZX2.mjs +1 -0
  18. package/dist/chunk-3SXJPJSV.mjs +1 -0
  19. package/dist/chunk-44FHVKSI.js +1 -0
  20. package/dist/chunk-4BFNWPKW.js +1 -0
  21. package/dist/chunk-4G6AJ4ZM.js +1 -0
  22. package/dist/chunk-4GER4JLW.js +1 -0
  23. package/dist/chunk-4Q2IP5FW.js +1 -0
  24. package/dist/chunk-56D223FM.mjs +1 -0
  25. package/dist/chunk-5VBNOHRE.mjs +1 -0
  26. package/dist/chunk-67LVRQIR.mjs +1 -0
  27. package/dist/chunk-6LVPRTB6.js +1 -0
  28. package/dist/chunk-6NQSIC27.mjs +1 -0
  29. package/dist/chunk-6Y6LON6Y.mjs +1 -0
  30. package/dist/chunk-6ZXL3EIP.mjs +2 -0
  31. package/dist/chunk-7AMYZMCX.js +1 -0
  32. package/dist/chunk-7E5VBRDL.mjs +1 -0
  33. package/dist/chunk-7HANRHHL.js +1 -0
  34. package/dist/chunk-7LRR7RKE.mjs +15 -0
  35. package/dist/chunk-7RDCZLTU.js +1 -0
  36. package/dist/chunk-7U4I6BKJ.js +1 -0
  37. package/dist/chunk-7Z2AGPNQ.mjs +10 -0
  38. package/dist/chunk-AAPBAMD7.js +1 -0
  39. package/dist/chunk-AGVFAXVQ.mjs +9 -0
  40. package/dist/chunk-AMENZY5F.mjs +1 -0
  41. package/dist/chunk-ARHPXIBJ.mjs +1 -0
  42. package/dist/chunk-BGY3CB37.mjs +1 -0
  43. package/dist/chunk-BHBOAP6Z.js +3 -0
  44. package/dist/chunk-BOOHU5EW.mjs +1 -0
  45. package/dist/chunk-C2BAPYGJ.js +1 -0
  46. package/dist/chunk-CGJ6S3AH.mjs +1 -0
  47. package/dist/chunk-CKKO4JWE.mjs +1 -0
  48. package/dist/chunk-CTHHUJAB.mjs +2 -0
  49. package/dist/chunk-CUY2THAO.mjs +1 -0
  50. package/dist/chunk-CXQDYR2Y.js +1 -0
  51. package/dist/chunk-D4RPOJC7.js +1 -0
  52. package/dist/chunk-D6GO7UGD.mjs +1 -0
  53. package/dist/chunk-DC7S76ZX.js +1 -0
  54. package/dist/chunk-DROCYKAR.js +1 -0
  55. package/dist/chunk-DV6GWBUJ.js +2 -0
  56. package/dist/chunk-DZYYLV2O.js +1 -0
  57. package/dist/chunk-E4JMCA5X.js +2 -0
  58. package/dist/chunk-ERNVFCGN.js +59 -0
  59. package/dist/chunk-ESI4BSBF.js +1 -0
  60. package/dist/chunk-F44ZLDZS.js +4 -0
  61. package/dist/chunk-FCJWLEKT.mjs +1 -0
  62. package/dist/chunk-FDEDN2RC.mjs +0 -0
  63. package/dist/chunk-FRYMBAHP.js +3 -0
  64. package/dist/chunk-FWTP7BN7.mjs +4 -0
  65. package/dist/chunk-G3YJ5RKC.mjs +1 -0
  66. package/dist/chunk-GGPKPXON.js +1 -0
  67. package/dist/chunk-HKVAW3RE.js +1 -0
  68. package/dist/chunk-HQPWFUP5.js +2 -0
  69. package/dist/chunk-I6PMX4BO.js +1 -0
  70. package/dist/chunk-ILJUDEZ5.mjs +1 -0
  71. package/dist/chunk-IMKU4O3P.js +1 -0
  72. package/dist/chunk-IP2VXNWG.js +1 -0
  73. package/dist/chunk-J4J2Y6EU.js +10 -0
  74. package/dist/chunk-J7NADDC4.mjs +1 -0
  75. package/dist/chunk-JFZIXFRC.js +1 -0
  76. package/dist/chunk-JHZ3HLSR.mjs +1 -0
  77. package/dist/chunk-JY5EFI4D.js +1 -0
  78. package/dist/chunk-JZESIPVC.mjs +3 -0
  79. package/dist/chunk-K7GVLZS6.mjs +1 -0
  80. package/dist/chunk-KESNGXGO.js +1 -0
  81. package/dist/chunk-KQTB5Y7P.mjs +1 -0
  82. package/dist/chunk-L2U3TTAD.js +9 -0
  83. package/dist/chunk-LBKMYD3M.mjs +1 -0
  84. package/dist/chunk-LCICADWM.js +2 -0
  85. package/dist/chunk-LE67NTCN.mjs +1 -0
  86. package/dist/chunk-LTHT4A4S.js +1 -0
  87. package/dist/chunk-MCFHOMA2.js +2 -0
  88. package/dist/chunk-MCX4GVRX.mjs +1 -0
  89. package/dist/chunk-MJ5FQX7Q.js +1 -0
  90. package/dist/chunk-MJ6XZFVD.mjs +1 -0
  91. package/dist/chunk-MNOHUTKE.js +15 -0
  92. package/dist/chunk-MOKKS75W.mjs +3 -0
  93. package/dist/chunk-MP4QSEO2.mjs +1 -0
  94. package/dist/chunk-MVZOTKNL.mjs +1 -0
  95. package/dist/chunk-MZ7LW5CH.js +1 -0
  96. package/dist/chunk-MZOVDLYL.js +1 -0
  97. package/dist/chunk-N3Y5BUKV.js +1 -0
  98. package/dist/chunk-NBLJPT54.mjs +1 -0
  99. package/dist/chunk-NDDJ67FQ.mjs +1 -0
  100. package/dist/chunk-NMUHXIF5.js +1 -0
  101. package/dist/chunk-NXLJVVVE.js +1 -0
  102. package/dist/chunk-OBMN4VSM.mjs +1 -0
  103. package/dist/chunk-OCAX2KJQ.js +4 -0
  104. package/dist/chunk-OEXVWIHW.mjs +2 -0
  105. package/dist/chunk-OZMNIX6U.mjs +1 -0
  106. package/dist/chunk-PRRM64JO.mjs +1 -0
  107. package/dist/chunk-PXE2OWEA.mjs +1 -0
  108. package/dist/chunk-Q4CKLXWA.js +1 -0
  109. package/dist/chunk-Q5QOBZWT.mjs +1 -0
  110. package/dist/chunk-QJJQ53V6.mjs +1 -0
  111. package/dist/chunk-QLPQVR5W.mjs +1 -0
  112. package/dist/chunk-QLX4HX3I.mjs +59 -0
  113. package/dist/chunk-QPFJJPIC.mjs +1 -0
  114. package/dist/chunk-QYUPLKLP.mjs +1 -0
  115. package/dist/chunk-RFC2SXZ6.mjs +4 -0
  116. package/dist/chunk-RNOXNNSD.mjs +0 -0
  117. package/dist/chunk-RPIQG46O.mjs +1 -0
  118. package/dist/chunk-RQN4C636.js +1 -0
  119. package/dist/chunk-SHJBS42Y.js +1 -0
  120. package/dist/chunk-SORYYVJ7.js +1 -0
  121. package/dist/chunk-SWC6T7YQ.js +1 -0
  122. package/dist/chunk-TE2AF7FM.js +1 -0
  123. package/dist/chunk-TE2VQJZG.js +1 -0
  124. package/dist/chunk-TUIEV7Q7.js +1 -0
  125. package/dist/chunk-U4UCHBZ7.js +1 -0
  126. package/dist/chunk-U74VPTIU.js +1 -0
  127. package/dist/chunk-UCJGOQ4J.mjs +1 -0
  128. package/dist/chunk-UQ6WNWXX.js +1 -0
  129. package/dist/chunk-VHUVPHPI.mjs +1 -0
  130. package/dist/chunk-VQWZHPWI.mjs +1 -0
  131. package/dist/chunk-VW22RZ6C.mjs +1 -0
  132. package/dist/chunk-WLHNIXWC.mjs +2 -0
  133. package/dist/chunk-WLKRUBY4.js +1 -0
  134. package/dist/chunk-WTFLNYAT.mjs +1 -0
  135. package/dist/chunk-XNDGWWDT.js +1 -0
  136. package/dist/chunk-XXU7YQVV.js +1 -0
  137. package/dist/chunk-Y74ANBPV.js +1 -0
  138. package/dist/chunk-YMZ3F2FZ.mjs +1 -0
  139. package/dist/chunk-YTDWMXNS.js +1 -0
  140. package/dist/chunk-YUZQTRI2.js +1 -0
  141. package/dist/chunk-ZX26QZJ5.mjs +1 -0
  142. package/dist/chunk-ZY7EMTZ3.mjs +1 -0
  143. package/dist/colorResolver-BZ_yScf4.d.ts +390 -0
  144. package/dist/colorResolver-C6DtsoFI.d.mts +390 -0
  145. package/dist/colors-C3vA7HUU.d.mts +70 -0
  146. package/dist/colors-C3vA7HUU.d.ts +70 -0
  147. package/dist/content-5Mrz6w_b.d.mts +1360 -0
  148. package/dist/content-CmqAwdFL.d.ts +1360 -0
  149. package/dist/core-plugins.d.mts +63 -0
  150. package/dist/core-plugins.d.ts +63 -0
  151. package/dist/core-plugins.js +1 -0
  152. package/dist/core-plugins.mjs +1 -0
  153. package/dist/core.d.mts +398 -0
  154. package/dist/core.d.ts +398 -0
  155. package/dist/core.js +1 -0
  156. package/dist/core.mjs +1 -0
  157. package/dist/documentSerializer-BRaaXIHm.d.ts +36 -0
  158. package/dist/documentSerializer-DgO3A9av.d.mts +36 -0
  159. package/dist/docx/index.d.mts +1123 -0
  160. package/dist/docx/index.d.ts +1123 -0
  161. package/dist/docx/index.js +1 -0
  162. package/dist/docx/index.mjs +1 -0
  163. package/dist/docx/parser.d.mts +108 -0
  164. package/dist/docx/parser.d.ts +108 -0
  165. package/dist/docx/parser.js +1 -0
  166. package/dist/docx/parser.mjs +1 -0
  167. package/dist/docx/rezip.d.mts +312 -0
  168. package/dist/docx/rezip.d.ts +312 -0
  169. package/dist/docx/rezip.js +1 -0
  170. package/dist/docx/rezip.mjs +1 -0
  171. package/dist/docx/serializer/index.d.mts +125 -0
  172. package/dist/docx/serializer/index.d.ts +125 -0
  173. package/dist/docx/serializer/index.js +1 -0
  174. package/dist/docx/serializer/index.mjs +1 -0
  175. package/dist/docx/wrapTypes.d.mts +19 -0
  176. package/dist/docx/wrapTypes.d.ts +19 -0
  177. package/dist/docx/wrapTypes.js +1 -0
  178. package/dist/docx/wrapTypes.mjs +1 -0
  179. package/dist/docxInput-DTbCa48g.d.mts +21 -0
  180. package/dist/docxInput-DTbCa48g.d.ts +21 -0
  181. package/dist/executor-DZAMMQ35.js +1 -0
  182. package/dist/executor-ZCJRLT3Z.mjs +1 -0
  183. package/dist/findParagraphByParaId-Maw_8M5D.d.mts +28 -0
  184. package/dist/findParagraphByParaId-Maw_8M5D.d.ts +28 -0
  185. package/dist/fontLoader-8b4X-AIh.d.mts +283 -0
  186. package/dist/fontLoader-CK2QLq68.d.ts +283 -0
  187. package/dist/footnotes-lCH_P3N3.d.mts +78 -0
  188. package/dist/footnotes-skVvEHvZ.d.ts +78 -0
  189. package/dist/formatting-BH4hcZiq.d.mts +410 -0
  190. package/dist/formatting-_OXU8gLB.d.ts +410 -0
  191. package/dist/headerFooterLayout-72Vz7yp3.d.mts +292 -0
  192. package/dist/headerFooterLayout-Ca4ESDHF.d.ts +292 -0
  193. package/dist/headless.d.mts +109 -0
  194. package/dist/headless.d.ts +109 -0
  195. package/dist/headless.js +1 -0
  196. package/dist/headless.mjs +1 -0
  197. package/dist/layout-bridge/clickToPositionDom.d.mts +56 -0
  198. package/dist/layout-bridge/clickToPositionDom.d.ts +56 -0
  199. package/dist/layout-bridge/clickToPositionDom.js +1 -0
  200. package/dist/layout-bridge/clickToPositionDom.mjs +1 -0
  201. package/dist/layout-bridge/index.d.mts +462 -0
  202. package/dist/layout-bridge/index.d.ts +462 -0
  203. package/dist/layout-bridge/index.js +1 -0
  204. package/dist/layout-bridge/index.mjs +1 -0
  205. package/dist/layout-bridge/measuring/index.d.mts +377 -0
  206. package/dist/layout-bridge/measuring/index.d.ts +377 -0
  207. package/dist/layout-bridge/measuring/index.js +1 -0
  208. package/dist/layout-bridge/measuring/index.mjs +1 -0
  209. package/dist/layout-bridge/tableInsertHover.d.mts +45 -0
  210. package/dist/layout-bridge/tableInsertHover.d.ts +45 -0
  211. package/dist/layout-bridge/tableInsertHover.js +1 -0
  212. package/dist/layout-bridge/tableInsertHover.mjs +1 -0
  213. package/dist/layout-bridge/toFlowBlocks.d.mts +130 -0
  214. package/dist/layout-bridge/toFlowBlocks.d.ts +130 -0
  215. package/dist/layout-bridge/toFlowBlocks.js +1 -0
  216. package/dist/layout-bridge/toFlowBlocks.mjs +1 -0
  217. package/dist/layout-engine/index.d.mts +352 -0
  218. package/dist/layout-engine/index.d.ts +352 -0
  219. package/dist/layout-engine/index.js +1 -0
  220. package/dist/layout-engine/index.mjs +1 -0
  221. package/dist/layout-engine/types.d.mts +943 -0
  222. package/dist/layout-engine/types.d.ts +943 -0
  223. package/dist/layout-engine/types.js +1 -0
  224. package/dist/layout-engine/types.mjs +1 -0
  225. package/dist/layout-painter/index.d.mts +22 -0
  226. package/dist/layout-painter/index.d.ts +22 -0
  227. package/dist/layout-painter/index.js +1 -0
  228. package/dist/layout-painter/index.mjs +1 -0
  229. package/dist/layout-painter/renderPage.d.mts +680 -0
  230. package/dist/layout-painter/renderPage.d.ts +680 -0
  231. package/dist/layout-painter/renderPage.js +1 -0
  232. package/dist/layout-painter/renderPage.mjs +1 -0
  233. package/dist/managers/AutoSaveManager.d.mts +95 -0
  234. package/dist/managers/AutoSaveManager.d.ts +95 -0
  235. package/dist/managers/AutoSaveManager.js +1 -0
  236. package/dist/managers/AutoSaveManager.mjs +1 -0
  237. package/dist/managers/TableSelectionManager.d.mts +94 -0
  238. package/dist/managers/TableSelectionManager.d.ts +94 -0
  239. package/dist/managers/TableSelectionManager.js +1 -0
  240. package/dist/managers/TableSelectionManager.mjs +1 -0
  241. package/dist/managers/types.d.mts +121 -0
  242. package/dist/managers/types.d.ts +121 -0
  243. package/dist/managers/types.js +1 -0
  244. package/dist/managers/types.mjs +0 -0
  245. package/dist/marks-BY573yZn.d.mts +56 -0
  246. package/dist/marks-CjC9tF5k.d.ts +56 -0
  247. package/dist/mcp-cli.mjs +138 -0
  248. package/dist/mcp.d.mts +183 -0
  249. package/dist/mcp.d.ts +183 -0
  250. package/dist/mcp.js +16 -0
  251. package/dist/mcp.mjs +16 -0
  252. package/dist/nodes-7753Bgi_.d.mts +320 -0
  253. package/dist/nodes-CC_nwkT_.d.ts +320 -0
  254. package/dist/plugin-api/RenderedDomContext.d.mts +74 -0
  255. package/dist/plugin-api/RenderedDomContext.d.ts +74 -0
  256. package/dist/plugin-api/RenderedDomContext.js +1 -0
  257. package/dist/plugin-api/RenderedDomContext.mjs +1 -0
  258. package/dist/plugin-api/index.d.mts +15 -0
  259. package/dist/plugin-api/index.d.ts +15 -0
  260. package/dist/plugin-api/index.js +1 -0
  261. package/dist/plugin-api/index.mjs +0 -0
  262. package/dist/plugin-api/resolveItemPositions.d.mts +54 -0
  263. package/dist/plugin-api/resolveItemPositions.d.ts +54 -0
  264. package/dist/plugin-api/resolveItemPositions.js +1 -0
  265. package/dist/plugin-api/resolveItemPositions.mjs +1 -0
  266. package/dist/plugin-api/types.d.mts +190 -0
  267. package/dist/plugin-api/types.d.ts +190 -0
  268. package/dist/plugin-api/types.js +1 -0
  269. package/dist/plugin-api/types.mjs +0 -0
  270. package/dist/processTemplate-GPFDLQMX.mjs +1 -0
  271. package/dist/processTemplate-HH2E3HBO.js +1 -0
  272. package/dist/prosemirror/commands/formatting.d.mts +100 -0
  273. package/dist/prosemirror/commands/formatting.d.ts +100 -0
  274. package/dist/prosemirror/commands/formatting.js +1 -0
  275. package/dist/prosemirror/commands/formatting.mjs +1 -0
  276. package/dist/prosemirror/commands/index.d.mts +188 -0
  277. package/dist/prosemirror/commands/index.d.ts +188 -0
  278. package/dist/prosemirror/commands/index.js +1 -0
  279. package/dist/prosemirror/commands/index.mjs +1 -0
  280. package/dist/prosemirror/commands/pageBreak.d.mts +20 -0
  281. package/dist/prosemirror/commands/pageBreak.d.ts +20 -0
  282. package/dist/prosemirror/commands/pageBreak.js +1 -0
  283. package/dist/prosemirror/commands/pageBreak.mjs +1 -0
  284. package/dist/prosemirror/commands/paragraph.d.mts +70 -0
  285. package/dist/prosemirror/commands/paragraph.d.ts +70 -0
  286. package/dist/prosemirror/commands/paragraph.js +1 -0
  287. package/dist/prosemirror/commands/paragraph.mjs +1 -0
  288. package/dist/prosemirror/conversion/fromProseDoc.d.mts +65 -0
  289. package/dist/prosemirror/conversion/fromProseDoc.d.ts +65 -0
  290. package/dist/prosemirror/conversion/fromProseDoc.js +1 -0
  291. package/dist/prosemirror/conversion/fromProseDoc.mjs +1 -0
  292. package/dist/prosemirror/conversion/index.d.mts +85 -0
  293. package/dist/prosemirror/conversion/index.d.ts +85 -0
  294. package/dist/prosemirror/conversion/index.js +1 -0
  295. package/dist/prosemirror/conversion/index.mjs +1 -0
  296. package/dist/prosemirror/editor.css +823 -0
  297. package/dist/prosemirror/extensions/index.d.mts +79 -0
  298. package/dist/prosemirror/extensions/index.d.ts +79 -0
  299. package/dist/prosemirror/extensions/index.js +1 -0
  300. package/dist/prosemirror/extensions/index.mjs +1 -0
  301. package/dist/prosemirror/extensions/nodes/TableExtension.d.mts +30 -0
  302. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +30 -0
  303. package/dist/prosemirror/extensions/nodes/TableExtension.js +1 -0
  304. package/dist/prosemirror/extensions/nodes/TableExtension.mjs +1 -0
  305. package/dist/prosemirror/index.d.mts +70 -0
  306. package/dist/prosemirror/index.d.ts +70 -0
  307. package/dist/prosemirror/index.js +1 -0
  308. package/dist/prosemirror/index.mjs +1 -0
  309. package/dist/prosemirror/plugins/index.d.mts +154 -0
  310. package/dist/prosemirror/plugins/index.d.ts +154 -0
  311. package/dist/prosemirror/plugins/index.js +1 -0
  312. package/dist/prosemirror/plugins/index.mjs +1 -0
  313. package/dist/prosemirror/plugins/selectionTracker.d.mts +78 -0
  314. package/dist/prosemirror/plugins/selectionTracker.d.ts +78 -0
  315. package/dist/prosemirror/plugins/selectionTracker.js +1 -0
  316. package/dist/prosemirror/plugins/selectionTracker.mjs +1 -0
  317. package/dist/prosemirror/schema/index.d.mts +29 -0
  318. package/dist/prosemirror/schema/index.d.ts +29 -0
  319. package/dist/prosemirror/schema/index.js +1 -0
  320. package/dist/prosemirror/schema/index.mjs +1 -0
  321. package/dist/prosemirror/styles/index.d.mts +124 -0
  322. package/dist/prosemirror/styles/index.d.ts +124 -0
  323. package/dist/prosemirror/styles/index.js +1 -0
  324. package/dist/prosemirror/styles/index.mjs +1 -0
  325. package/dist/prosemirror/template/prosemirror-plugin.d.mts +66 -0
  326. package/dist/prosemirror/template/prosemirror-plugin.d.ts +66 -0
  327. package/dist/prosemirror/template/prosemirror-plugin.js +15 -0
  328. package/dist/prosemirror/template/prosemirror-plugin.mjs +15 -0
  329. package/dist/prosemirror/utils/ClickPositionResolver.d.mts +109 -0
  330. package/dist/prosemirror/utils/ClickPositionResolver.d.ts +109 -0
  331. package/dist/prosemirror/utils/ClickPositionResolver.js +1 -0
  332. package/dist/prosemirror/utils/ClickPositionResolver.mjs +1 -0
  333. package/dist/prosemirror/utils/LayoutSelectionGate.d.mts +81 -0
  334. package/dist/prosemirror/utils/LayoutSelectionGate.d.ts +81 -0
  335. package/dist/prosemirror/utils/LayoutSelectionGate.js +1 -0
  336. package/dist/prosemirror/utils/LayoutSelectionGate.mjs +1 -0
  337. package/dist/prosemirror/utils/PointerEventHandler.d.mts +94 -0
  338. package/dist/prosemirror/utils/PointerEventHandler.d.ts +94 -0
  339. package/dist/prosemirror/utils/PointerEventHandler.js +1 -0
  340. package/dist/prosemirror/utils/PointerEventHandler.mjs +1 -0
  341. package/dist/prosemirror/utils/extractTrackedChanges.d.mts +85 -0
  342. package/dist/prosemirror/utils/extractTrackedChanges.d.ts +85 -0
  343. package/dist/prosemirror/utils/extractTrackedChanges.js +1 -0
  344. package/dist/prosemirror/utils/extractTrackedChanges.mjs +1 -0
  345. package/dist/prosemirror/utils/visualLineNavigation.d.mts +45 -0
  346. package/dist/prosemirror/utils/visualLineNavigation.d.ts +45 -0
  347. package/dist/prosemirror/utils/visualLineNavigation.js +1 -0
  348. package/dist/prosemirror/utils/visualLineNavigation.mjs +1 -0
  349. package/dist/registry-Cpyybgij.d.mts +165 -0
  350. package/dist/registry-E5pahPKL.d.ts +165 -0
  351. package/dist/selectionContext-BPAqgNgk.d.ts +570 -0
  352. package/dist/selectionContext-CoZat7QZ.d.mts +570 -0
  353. package/dist/selectiveSave-CWaPEv0B.d.ts +31 -0
  354. package/dist/selectiveSave-jinP_4xa.d.mts +31 -0
  355. package/dist/selectiveXmlPatch-ypkxlTD_.d.mts +23 -0
  356. package/dist/selectiveXmlPatch-ypkxlTD_.d.ts +23 -0
  357. package/dist/styles-BBv7doYK.d.ts +233 -0
  358. package/dist/styles-EI2lxeEN.d.mts +233 -0
  359. package/dist/table-P8esKWAc.d.ts +82 -0
  360. package/dist/table-_t_W8oQf.d.mts +82 -0
  361. package/dist/types/agentApi.d.mts +467 -0
  362. package/dist/types/agentApi.d.ts +467 -0
  363. package/dist/types/agentApi.js +1 -0
  364. package/dist/types/agentApi.mjs +1 -0
  365. package/dist/types/content.d.mts +18 -0
  366. package/dist/types/content.d.ts +18 -0
  367. package/dist/types/content.js +1 -0
  368. package/dist/types/content.mjs +0 -0
  369. package/dist/types/document.d.mts +123 -0
  370. package/dist/types/document.d.ts +123 -0
  371. package/dist/types/document.js +1 -0
  372. package/dist/types/document.mjs +0 -0
  373. package/dist/types-DXG7vqe9.d.ts +311 -0
  374. package/dist/types-RchZmPFN.d.mts +137 -0
  375. package/dist/types-RchZmPFN.d.ts +137 -0
  376. package/dist/types-dYdjUZMo.d.mts +311 -0
  377. package/dist/utils/cardStyles.d.mts +31 -0
  378. package/dist/utils/cardStyles.d.ts +31 -0
  379. package/dist/utils/cardStyles.js +1 -0
  380. package/dist/utils/cardStyles.mjs +1 -0
  381. package/dist/utils/comments.d.mts +121 -0
  382. package/dist/utils/comments.d.ts +121 -0
  383. package/dist/utils/comments.js +1 -0
  384. package/dist/utils/comments.mjs +1 -0
  385. package/dist/utils/findReplace.d.mts +114 -0
  386. package/dist/utils/findReplace.d.ts +114 -0
  387. package/dist/utils/findReplace.js +2 -0
  388. package/dist/utils/findReplace.mjs +2 -0
  389. package/dist/utils/findVerticalScrollParent.d.mts +25 -0
  390. package/dist/utils/findVerticalScrollParent.d.ts +25 -0
  391. package/dist/utils/findVerticalScrollParent.js +1 -0
  392. package/dist/utils/findVerticalScrollParent.mjs +1 -0
  393. package/dist/utils/fontOptions.d.mts +21 -0
  394. package/dist/utils/fontOptions.d.ts +21 -0
  395. package/dist/utils/fontOptions.js +1 -0
  396. package/dist/utils/fontOptions.mjs +1 -0
  397. package/dist/utils/headingCollector.d.mts +32 -0
  398. package/dist/utils/headingCollector.d.ts +32 -0
  399. package/dist/utils/headingCollector.js +1 -0
  400. package/dist/utils/headingCollector.mjs +1 -0
  401. package/dist/utils/highlightColors.d.mts +14 -0
  402. package/dist/utils/highlightColors.d.ts +14 -0
  403. package/dist/utils/highlightColors.js +1 -0
  404. package/dist/utils/highlightColors.mjs +1 -0
  405. package/dist/utils/index.d.mts +710 -0
  406. package/dist/utils/index.d.ts +710 -0
  407. package/dist/utils/index.js +82 -0
  408. package/dist/utils/index.mjs +82 -0
  409. package/dist/utils/listState.d.mts +27 -0
  410. package/dist/utils/listState.d.ts +27 -0
  411. package/dist/utils/listState.js +1 -0
  412. package/dist/utils/listState.mjs +1 -0
  413. package/dist/utils/reportIssue.d.mts +23 -0
  414. package/dist/utils/reportIssue.d.ts +23 -0
  415. package/dist/utils/reportIssue.js +2 -0
  416. package/dist/utils/reportIssue.mjs +2 -0
  417. package/dist/utils/sidebarConstants.d.mts +10 -0
  418. package/dist/utils/sidebarConstants.d.ts +10 -0
  419. package/dist/utils/sidebarConstants.js +1 -0
  420. package/dist/utils/sidebarConstants.mjs +1 -0
  421. package/dist/utils/textSelection.d.mts +92 -0
  422. package/dist/utils/textSelection.d.ts +92 -0
  423. package/dist/utils/textSelection.js +1 -0
  424. package/dist/utils/textSelection.mjs +1 -0
  425. package/dist/utils/units.d.mts +91 -0
  426. package/dist/utils/units.d.ts +91 -0
  427. package/dist/utils/units.js +1 -0
  428. package/dist/utils/units.mjs +1 -0
  429. package/dist/variableDetector-DF3-nxUC.d.mts +115 -0
  430. package/dist/variableDetector-sBkgVh3f.d.ts +115 -0
  431. package/package.json +565 -0
@@ -0,0 +1,377 @@
1
+ /**
2
+ * Text Measurement Module
3
+ *
4
+ * Provides text measurement utilities for the layout engine.
5
+ * Uses Canvas API for accurate, cached measurements.
6
+ * @packageDocumentation
7
+ * @public
8
+ */
9
+ import { WrapTextDirection, TextRun, ParagraphBlock, ParagraphMeasure, FlowBlock, Measure } from '../../layout-engine/types.js';
10
+ import '../../content-CmqAwdFL.js';
11
+ import '../../formatting-_OXU8gLB.js';
12
+ import '../../colors-C3vA7HUU.js';
13
+ import '../../docx/wrapTypes.js';
14
+
15
+ /**
16
+ * Measurement container for text layout
17
+ *
18
+ * Uses HTML5 Canvas API to measure text runs and calculate typography metrics.
19
+ * Canvas-based measurement is more accurate and performant than DOM-based approaches.
20
+ *
21
+ * Typography conventions (matching Word behavior):
22
+ * - ascent ≈ fontSize * 0.8 (baseline to top)
23
+ * - descent ≈ fontSize * 0.2 (baseline to bottom)
24
+ * - lineHeight from font metrics (fontBoundingBoxAscent + fontBoundingBoxDescent),
25
+ * falling back to fontSize * 1.0 (OOXML spec default single spacing)
26
+ */
27
+ /**
28
+ * Font styling properties for measurement
29
+ */
30
+ interface FontStyle {
31
+ fontFamily?: string;
32
+ fontSize?: number;
33
+ bold?: boolean;
34
+ italic?: boolean;
35
+ letterSpacing?: number;
36
+ }
37
+ /**
38
+ * Typography metrics for a font
39
+ */
40
+ interface FontMetrics {
41
+ fontSize: number;
42
+ ascent: number;
43
+ descent: number;
44
+ lineHeight: number;
45
+ fontFamily: string;
46
+ /** OS/2 single-line ratio for OOXML line spacing calculation */
47
+ singleLineRatio: number;
48
+ }
49
+ /**
50
+ * Result of measuring a text string
51
+ */
52
+ interface TextMeasurement {
53
+ width: number;
54
+ height: number;
55
+ ascent: number;
56
+ descent: number;
57
+ }
58
+ /**
59
+ * Result of measuring a run of text
60
+ */
61
+ interface RunMeasurement {
62
+ width: number;
63
+ charWidths: number[];
64
+ metrics: FontMetrics;
65
+ }
66
+ /**
67
+ * Get or create a canvas 2D context for text measurement
68
+ */
69
+ declare function getCanvasContext(): CanvasRenderingContext2D;
70
+ /**
71
+ * Reset the canvas context (useful for testing)
72
+ */
73
+ declare function resetCanvasContext(): void;
74
+ /**
75
+ * Build a CSS font string from styling properties
76
+ *
77
+ * Font sizes are in points and need to be converted to pixels for canvas.
78
+ * 1pt = 96/72 px ≈ 1.333px at standard web DPI.
79
+ *
80
+ * Uses the font resolver to get category-appropriate fallback stacks
81
+ * (serif fonts get serif fallbacks, sans-serif get sans-serif, etc.)
82
+ * matching the same stacks used in rendering for consistent measurements.
83
+ *
84
+ * @example
85
+ * buildFontString({ fontFamily: "Arial", fontSize: 12, bold: true })
86
+ * // Returns: "bold 16px Arial, Arimo, Helvetica, sans-serif" (12pt = 16px)
87
+ */
88
+ declare function buildFontString(style: FontStyle): string;
89
+ /**
90
+ * Get typography metrics for a given font size and family
91
+ *
92
+ * Uses Canvas TextMetrics API when available for precise metrics,
93
+ * falls back to ratio-based approximations.
94
+ */
95
+ declare function getFontMetrics(style: FontStyle): FontMetrics;
96
+ /**
97
+ * Measure the width of a text string with specific styling
98
+ *
99
+ * @param text - The text to measure
100
+ * @param style - Font styling properties
101
+ * @returns Width in pixels
102
+ */
103
+ declare function measureTextWidth(text: string, style: FontStyle): number;
104
+ /**
105
+ * Measure text and return full metrics
106
+ */
107
+ declare function measureText(text: string, style: FontStyle): TextMeasurement;
108
+ /**
109
+ * Measure a run of text and return per-character widths for click positioning
110
+ *
111
+ * @param text - The text to measure
112
+ * @param style - Font styling properties
113
+ * @returns Run measurement with width and per-character widths
114
+ */
115
+ declare function measureRun(text: string, style: FontStyle): RunMeasurement;
116
+ /**
117
+ * Find the character offset at a given X position within a text run
118
+ *
119
+ * @param x - X position relative to run start
120
+ * @param charWidths - Per-character widths from measureRun
121
+ * @returns Character offset (0-based index)
122
+ */
123
+ declare function findCharacterAtX(x: number, charWidths: number[]): number;
124
+ /**
125
+ * Get the X position of a character offset within a text run
126
+ *
127
+ * @param offset - Character offset (0-based index)
128
+ * @param charWidths - Per-character widths from measureRun
129
+ * @returns X position in pixels
130
+ */
131
+ declare function getXForCharacter(offset: number, charWidths: number[]): number;
132
+ /**
133
+ * Convert twips to pixels
134
+ */
135
+ declare function twipsToPx(twips: number): number;
136
+ /**
137
+ * Convert pixels to twips
138
+ */
139
+ declare function pxToTwips(px: number): number;
140
+ /**
141
+ * Convert points to pixels
142
+ */
143
+ declare function ptToPx(pt: number): number;
144
+ /**
145
+ * Convert pixels to points
146
+ */
147
+ declare function pxToPt(px: number): number;
148
+ /**
149
+ * Convert OOXML half-points to pixels
150
+ * OOXML font sizes are in half-points (24 = 12pt)
151
+ */
152
+ declare function halfPtToPx(halfPt: number): number;
153
+ /**
154
+ * Convert pixels to OOXML half-points
155
+ */
156
+ declare function pxToHalfPt(px: number): number;
157
+
158
+ interface FloatingExclusionRect {
159
+ /** Which side the object is on for simple one-sided wrapping. */
160
+ side: 'left' | 'right';
161
+ /** X position relative to the content area. */
162
+ x: number;
163
+ /** Y position relative to the content area. */
164
+ y: number;
165
+ width: number;
166
+ height: number;
167
+ distTop: number;
168
+ distBottom: number;
169
+ distLeft: number;
170
+ distRight: number;
171
+ wrapText?: WrapTextDirection;
172
+ wrapType?: string;
173
+ }
174
+ interface FloatingImageZone {
175
+ leftMargin: number;
176
+ rightMargin: number;
177
+ topY: number;
178
+ bottomY: number;
179
+ segments?: FloatingLineSegmentZone[];
180
+ }
181
+ interface FloatingLineSegmentZone {
182
+ leftOffset: number;
183
+ availableWidth: number;
184
+ }
185
+ interface FloatingLineMargins {
186
+ leftMargin: number;
187
+ rightMargin: number;
188
+ segments?: FloatingLineSegmentZone[];
189
+ }
190
+ declare function rectsToFloatingZones(rects: FloatingExclusionRect[], contentWidth: number): FloatingImageZone[];
191
+ declare function getFloatingMargins(lineY: number, lineHeight: number, zones: FloatingImageZone[] | undefined, paragraphYOffset: number): FloatingLineMargins;
192
+
193
+ /**
194
+ * Paragraph measurement module
195
+ *
196
+ * Measures paragraph blocks and computes line breaking.
197
+ * Converts runs into measured lines with typography metrics.
198
+ */
199
+
200
+ /**
201
+ * Options for paragraph measurement
202
+ */
203
+ interface MeasureParagraphOptions {
204
+ /** Floating image exclusion zones that affect line widths */
205
+ floatingZones?: FloatingImageZone[];
206
+ /** Y offset of this paragraph relative to the exclusion zones (default: 0) */
207
+ paragraphYOffset?: number;
208
+ }
209
+ /**
210
+ * When a float's wrap margins consume the entire content width (or more),
211
+ * there is no horizontal strip beside it for body text. Word renders the
212
+ * following lines at full content width instead of squeezing them into a
213
+ * 1-pixel column. Unchecked margins from near-full-width tables/images can
214
+ * exceed contentWidth and collapse every line to ~1 glyph (the "single
215
+ * character per line after a wide floating table" bug).
216
+ *
217
+ * Returned margins are zeroed when:
218
+ * - either side alone is >= contentWidth (no strip on that side at all), or
219
+ * - their sum is >= contentWidth (no strip exists between the two sides).
220
+ */
221
+ declare function clampFloatingWrapMargins(leftMargin: number, rightMargin: number, contentWidth: number): {
222
+ leftMargin: number;
223
+ rightMargin: number;
224
+ };
225
+ /**
226
+ * Measure a paragraph block and compute line breaks
227
+ *
228
+ * @param block - The paragraph block to measure
229
+ * @param maxWidth - Maximum available width for the paragraph
230
+ * @param options - Optional measurement options (floating zones, Y offset)
231
+ * @returns ParagraphMeasure with lines and total height
232
+ */
233
+ declare function measureParagraph(block: ParagraphBlock, maxWidth: number, options?: MeasureParagraphOptions): ParagraphMeasure;
234
+ /**
235
+ * Measure multiple paragraph blocks
236
+ *
237
+ * @param blocks - Array of paragraph blocks to measure
238
+ * @param maxWidth - Maximum available width
239
+ * @returns Array of ParagraphMeasure results
240
+ */
241
+ declare function measureParagraphs(blocks: ParagraphBlock[], maxWidth: number): ParagraphMeasure[];
242
+ /**
243
+ * Get per-character widths for a text run (for click positioning)
244
+ *
245
+ * @param run - The text run to measure
246
+ * @returns Array of character widths
247
+ */
248
+ declare function getRunCharWidths(run: TextRun): number[];
249
+
250
+ /**
251
+ * Floating-aware block measurement pipeline.
252
+ *
253
+ * Pre-scans a block list to extract exclusion zones from anchored images,
254
+ * floating tables, and floating text boxes; groups co-located floats so
255
+ * their combined exclusion applies starting from the earliest anchor; then
256
+ * walks the blocks calling the caller-supplied `measureBlock` with the
257
+ * active zones and cumulative Y at each step.
258
+ *
259
+ * Adapters (React, Vue) provide their own `measureBlock` so they can
260
+ * decide e.g. whether to cache paragraph measures. The orchestration,
261
+ * extraction, and grouping live here so both adapters stay in lockstep.
262
+ *
263
+ * @packageDocumentation
264
+ * @public
265
+ */
266
+
267
+ /**
268
+ * Block-measurement callback shape passed to {@link measureBlocksWithFloats}.
269
+ * Adapters (React, Vue) supply this so they can decide platform-specific
270
+ * concerns (e.g. paragraph-measure caching, per-section width) while
271
+ * sharing the floating-zone orchestration. This is adapter-author API,
272
+ * not end-consumer API.
273
+ *
274
+ * @public
275
+ */
276
+ type MeasureBlockFn = (block: FlowBlock, contentWidth: number, floatingZones?: FloatingImageZone[], cumulativeY?: number) => Measure;
277
+ /**
278
+ * Walk `blocks` and produce one `Measure` per block. Before measuring, this
279
+ * extracts floating exclusion zones (images / floating tables / floating
280
+ * textboxes), groups overlapping co-located floats, and threads the active
281
+ * zones plus cumulative Y into each `measureBlock` call.
282
+ *
283
+ * @public
284
+ */
285
+ declare function measureBlocksWithFloats(blocks: FlowBlock[], contentWidth: number | number[], measureBlock: MeasureBlockFn): Measure[];
286
+
287
+ /**
288
+ * Measurement Cache
289
+ *
290
+ * LRU cache for text width measurements and paragraph layout results.
291
+ * Improves performance by avoiding repeated measurements of identical content.
292
+ */
293
+
294
+ /**
295
+ * Get cached text width or return undefined
296
+ */
297
+ declare function getCachedTextWidth(text: string, font: string, letterSpacing?: number): number | undefined;
298
+ /**
299
+ * Store text width in cache
300
+ */
301
+ declare function setCachedTextWidth(text: string, font: string, letterSpacing: number, width: number): void;
302
+ /**
303
+ * Clear the text width cache
304
+ */
305
+ declare function clearTextWidthCache(): void;
306
+ /**
307
+ * Set the maximum size of the text width cache
308
+ */
309
+ declare function setTextCacheSize(size: number): void;
310
+ /**
311
+ * Get current text width cache size
312
+ */
313
+ declare function getTextCacheSize(): number;
314
+ /**
315
+ * Cached font metrics entry
316
+ */
317
+ interface FontMetricsEntry {
318
+ ascent: number;
319
+ descent: number;
320
+ lineHeight: number;
321
+ }
322
+ /**
323
+ * Get cached font metrics or return undefined
324
+ */
325
+ declare function getCachedFontMetrics(fontFamily: string, fontSize: number, bold?: boolean, italic?: boolean): FontMetricsEntry | undefined;
326
+ /**
327
+ * Store font metrics in cache
328
+ */
329
+ declare function setCachedFontMetrics(fontFamily: string, fontSize: number, bold: boolean, italic: boolean, metrics: FontMetricsEntry): void;
330
+ /**
331
+ * Clear the font metrics cache
332
+ */
333
+ declare function clearFontMetricsCache(): void;
334
+ /**
335
+ * Set the maximum size of the font metrics cache
336
+ */
337
+ declare function setFontCacheSize(size: number): void;
338
+ /**
339
+ * Get current font metrics cache size
340
+ */
341
+ declare function getFontCacheSize(): number;
342
+ /**
343
+ * Generate a simple hash for a paragraph block
344
+ * Used as cache key to identify identical content
345
+ */
346
+ declare function hashParagraphBlock(block: ParagraphBlock): string;
347
+ /**
348
+ * Get cached paragraph measurement or return undefined
349
+ */
350
+ declare function getCachedParagraphMeasure(block: ParagraphBlock, maxWidth: number): ParagraphMeasure | undefined;
351
+ /**
352
+ * Store paragraph measurement in cache
353
+ */
354
+ declare function setCachedParagraphMeasure(block: ParagraphBlock, maxWidth: number, measure: ParagraphMeasure): void;
355
+ /**
356
+ * Clear the paragraph measure cache
357
+ */
358
+ declare function clearParagraphMeasureCache(): void;
359
+ /**
360
+ * Set the maximum size of the paragraph measure cache
361
+ */
362
+ declare function setParagraphCacheSize(size: number): void;
363
+ /**
364
+ * Get current paragraph measure cache size
365
+ */
366
+ declare function getParagraphCacheSize(): number;
367
+ /**
368
+ * Clear all measurement caches
369
+ * Call when fonts change, page width changes, or for testing
370
+ */
371
+ declare function clearAllCaches(): void;
372
+ /**
373
+ * Get total size of all caches
374
+ */
375
+ declare function getTotalCacheSize(): number;
376
+
377
+ export { type FloatingExclusionRect, type FloatingImageZone, type FloatingLineSegmentZone, type FontMetrics, type FontStyle, type MeasureBlockFn, type MeasureParagraphOptions, type RunMeasurement, type TextMeasurement, buildFontString, clampFloatingWrapMargins, clearAllCaches, clearFontMetricsCache, clearParagraphMeasureCache, clearTextWidthCache, findCharacterAtX, getCachedFontMetrics, getCachedParagraphMeasure, getCachedTextWidth, getCanvasContext, getFloatingMargins, getFontCacheSize, getFontMetrics, getParagraphCacheSize, getRunCharWidths, getTextCacheSize, getTotalCacheSize, getXForCharacter, halfPtToPx, hashParagraphBlock, measureBlocksWithFloats, measureParagraph, measureParagraphs, measureRun, measureText, measureTextWidth, ptToPx, pxToHalfPt, pxToPt, pxToTwips, rectsToFloatingZones, resetCanvasContext, setCachedFontMetrics, setCachedParagraphMeasure, setCachedTextWidth, setFontCacheSize, setParagraphCacheSize, setTextCacheSize, twipsToPx };
@@ -0,0 +1 @@
1
+ 'use strict';var chunkSORYYVJ7_js=require('../../chunk-SORYYVJ7.js'),chunkLTHT4A4S_js=require('../../chunk-LTHT4A4S.js');require('../../chunk-IMKU4O3P.js'),require('../../chunk-DROCYKAR.js'),require('../../chunk-44FHVKSI.js'),require('../../chunk-JFZIXFRC.js'),require('../../chunk-DV6GWBUJ.js'),require('../../chunk-N3Y5BUKV.js'),require('../../chunk-4Q2IP5FW.js'),require('../../chunk-DC7S76ZX.js');Object.defineProperty(exports,"clearAllCaches",{enumerable:true,get:function(){return chunkSORYYVJ7_js.B}});Object.defineProperty(exports,"clearFontMetricsCache",{enumerable:true,get:function(){return chunkSORYYVJ7_js.s}});Object.defineProperty(exports,"clearParagraphMeasureCache",{enumerable:true,get:function(){return chunkSORYYVJ7_js.y}});Object.defineProperty(exports,"clearTextWidthCache",{enumerable:true,get:function(){return chunkSORYYVJ7_js.n}});Object.defineProperty(exports,"getCachedFontMetrics",{enumerable:true,get:function(){return chunkSORYYVJ7_js.q}});Object.defineProperty(exports,"getCachedParagraphMeasure",{enumerable:true,get:function(){return chunkSORYYVJ7_js.w}});Object.defineProperty(exports,"getCachedTextWidth",{enumerable:true,get:function(){return chunkSORYYVJ7_js.l}});Object.defineProperty(exports,"getFontCacheSize",{enumerable:true,get:function(){return chunkSORYYVJ7_js.u}});Object.defineProperty(exports,"getParagraphCacheSize",{enumerable:true,get:function(){return chunkSORYYVJ7_js.A}});Object.defineProperty(exports,"getTextCacheSize",{enumerable:true,get:function(){return chunkSORYYVJ7_js.p}});Object.defineProperty(exports,"getTotalCacheSize",{enumerable:true,get:function(){return chunkSORYYVJ7_js.C}});Object.defineProperty(exports,"hashParagraphBlock",{enumerable:true,get:function(){return chunkSORYYVJ7_js.v}});Object.defineProperty(exports,"measureBlocksWithFloats",{enumerable:true,get:function(){return chunkSORYYVJ7_js.k}});Object.defineProperty(exports,"setCachedFontMetrics",{enumerable:true,get:function(){return chunkSORYYVJ7_js.r}});Object.defineProperty(exports,"setCachedParagraphMeasure",{enumerable:true,get:function(){return chunkSORYYVJ7_js.x}});Object.defineProperty(exports,"setCachedTextWidth",{enumerable:true,get:function(){return chunkSORYYVJ7_js.m}});Object.defineProperty(exports,"setFontCacheSize",{enumerable:true,get:function(){return chunkSORYYVJ7_js.t}});Object.defineProperty(exports,"setParagraphCacheSize",{enumerable:true,get:function(){return chunkSORYYVJ7_js.z}});Object.defineProperty(exports,"setTextCacheSize",{enumerable:true,get:function(){return chunkSORYYVJ7_js.o}});Object.defineProperty(exports,"buildFontString",{enumerable:true,get:function(){return chunkLTHT4A4S_js.c}});Object.defineProperty(exports,"clampFloatingWrapMargins",{enumerable:true,get:function(){return chunkLTHT4A4S_js.u}});Object.defineProperty(exports,"findCharacterAtX",{enumerable:true,get:function(){return chunkLTHT4A4S_js.h}});Object.defineProperty(exports,"getCanvasContext",{enumerable:true,get:function(){return chunkLTHT4A4S_js.a}});Object.defineProperty(exports,"getFloatingMargins",{enumerable:true,get:function(){return chunkLTHT4A4S_js.q}});Object.defineProperty(exports,"getFontMetrics",{enumerable:true,get:function(){return chunkLTHT4A4S_js.d}});Object.defineProperty(exports,"getRunCharWidths",{enumerable:true,get:function(){return chunkLTHT4A4S_js.x}});Object.defineProperty(exports,"getXForCharacter",{enumerable:true,get:function(){return chunkLTHT4A4S_js.i}});Object.defineProperty(exports,"halfPtToPx",{enumerable:true,get:function(){return chunkLTHT4A4S_js.n}});Object.defineProperty(exports,"measureParagraph",{enumerable:true,get:function(){return chunkLTHT4A4S_js.v}});Object.defineProperty(exports,"measureParagraphs",{enumerable:true,get:function(){return chunkLTHT4A4S_js.w}});Object.defineProperty(exports,"measureRun",{enumerable:true,get:function(){return chunkLTHT4A4S_js.g}});Object.defineProperty(exports,"measureText",{enumerable:true,get:function(){return chunkLTHT4A4S_js.f}});Object.defineProperty(exports,"measureTextWidth",{enumerable:true,get:function(){return chunkLTHT4A4S_js.e}});Object.defineProperty(exports,"ptToPx",{enumerable:true,get:function(){return chunkLTHT4A4S_js.l}});Object.defineProperty(exports,"pxToHalfPt",{enumerable:true,get:function(){return chunkLTHT4A4S_js.o}});Object.defineProperty(exports,"pxToPt",{enumerable:true,get:function(){return chunkLTHT4A4S_js.m}});Object.defineProperty(exports,"pxToTwips",{enumerable:true,get:function(){return chunkLTHT4A4S_js.k}});Object.defineProperty(exports,"rectsToFloatingZones",{enumerable:true,get:function(){return chunkLTHT4A4S_js.p}});Object.defineProperty(exports,"resetCanvasContext",{enumerable:true,get:function(){return chunkLTHT4A4S_js.b}});Object.defineProperty(exports,"twipsToPx",{enumerable:true,get:function(){return chunkLTHT4A4S_js.j}});
@@ -0,0 +1 @@
1
+ export{B as clearAllCaches,s as clearFontMetricsCache,y as clearParagraphMeasureCache,n as clearTextWidthCache,q as getCachedFontMetrics,w as getCachedParagraphMeasure,l as getCachedTextWidth,u as getFontCacheSize,A as getParagraphCacheSize,p as getTextCacheSize,C as getTotalCacheSize,v as hashParagraphBlock,k as measureBlocksWithFloats,r as setCachedFontMetrics,x as setCachedParagraphMeasure,m as setCachedTextWidth,t as setFontCacheSize,z as setParagraphCacheSize,o as setTextCacheSize}from'../../chunk-MP4QSEO2.mjs';export{c as buildFontString,u as clampFloatingWrapMargins,h as findCharacterAtX,a as getCanvasContext,q as getFloatingMargins,d as getFontMetrics,x as getRunCharWidths,i as getXForCharacter,n as halfPtToPx,v as measureParagraph,w as measureParagraphs,g as measureRun,f as measureText,e as measureTextWidth,l as ptToPx,o as pxToHalfPt,m as pxToPt,k as pxToTwips,p as rectsToFloatingZones,b as resetCanvasContext,j as twipsToPx}from'../../chunk-6Y6LON6Y.mjs';import'../../chunk-FCJWLEKT.mjs';import'../../chunk-7E5VBRDL.mjs';import'../../chunk-BOOHU5EW.mjs';import'../../chunk-QPFJJPIC.mjs';import'../../chunk-WLHNIXWC.mjs';import'../../chunk-AMENZY5F.mjs';import'../../chunk-VW22RZ6C.mjs';import'../../chunk-QYUPLKLP.mjs';
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Table-insert "+" hover hit-test.
3
+ *
4
+ * Pure DOM logic for the floating row/column insert button that shows
5
+ * when the mouse is near the left or top edge of a layout table. Lives
6
+ * in core so React + Vue + any future adapter can share the hit-test
7
+ * and just wire up their own UI rendering of the button.
8
+ *
9
+ * The function is gated by `hfEditMode`: tables in inactive HF/body
10
+ * regions don't surface the affordance. A header table only matches
11
+ * when the user is editing the header; a body table only matches when
12
+ * not in any HF edit mode.
13
+ * @packageDocumentation
14
+ * @public
15
+ */
16
+ declare const TABLE_INSERT_EDGE_PROXIMITY = 30;
17
+ declare const TABLE_INSERT_HIDE_DELAY_MS = 200;
18
+ type TableInsertHoverHit = {
19
+ type: 'row' | 'column';
20
+ /** Client-coordinate anchor for the button. Caller converts to its UI frame. */
21
+ clientX: number;
22
+ clientY: number;
23
+ /** PM position of the cell the button targets. */
24
+ cellPmPos: number;
25
+ };
26
+ type TableInsertHoverInput = {
27
+ mouseX: number;
28
+ mouseY: number;
29
+ pagesContainer: HTMLElement;
30
+ /** Element under the cursor at the time of the event (e.target). */
31
+ target: HTMLElement;
32
+ hfEditMode: 'header' | 'footer' | null;
33
+ /** Override edge proximity in pixels (defaults to TABLE_INSERT_EDGE_PROXIMITY). */
34
+ edgeProximity?: number;
35
+ };
36
+ /**
37
+ * Detect whether a mousemove should surface a row/column insert "+" button.
38
+ *
39
+ * Returns the button anchor + target cell PM position, or `null` if the
40
+ * mouse isn't near a row's left edge or a column's top edge — or if the
41
+ * relevant table belongs to an inactive HF/body region.
42
+ */
43
+ declare function detectTableInsertHover(input: TableInsertHoverInput): TableInsertHoverHit | null;
44
+
45
+ export { TABLE_INSERT_EDGE_PROXIMITY, TABLE_INSERT_HIDE_DELAY_MS, type TableInsertHoverHit, type TableInsertHoverInput, detectTableInsertHover };
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Table-insert "+" hover hit-test.
3
+ *
4
+ * Pure DOM logic for the floating row/column insert button that shows
5
+ * when the mouse is near the left or top edge of a layout table. Lives
6
+ * in core so React + Vue + any future adapter can share the hit-test
7
+ * and just wire up their own UI rendering of the button.
8
+ *
9
+ * The function is gated by `hfEditMode`: tables in inactive HF/body
10
+ * regions don't surface the affordance. A header table only matches
11
+ * when the user is editing the header; a body table only matches when
12
+ * not in any HF edit mode.
13
+ * @packageDocumentation
14
+ * @public
15
+ */
16
+ declare const TABLE_INSERT_EDGE_PROXIMITY = 30;
17
+ declare const TABLE_INSERT_HIDE_DELAY_MS = 200;
18
+ type TableInsertHoverHit = {
19
+ type: 'row' | 'column';
20
+ /** Client-coordinate anchor for the button. Caller converts to its UI frame. */
21
+ clientX: number;
22
+ clientY: number;
23
+ /** PM position of the cell the button targets. */
24
+ cellPmPos: number;
25
+ };
26
+ type TableInsertHoverInput = {
27
+ mouseX: number;
28
+ mouseY: number;
29
+ pagesContainer: HTMLElement;
30
+ /** Element under the cursor at the time of the event (e.target). */
31
+ target: HTMLElement;
32
+ hfEditMode: 'header' | 'footer' | null;
33
+ /** Override edge proximity in pixels (defaults to TABLE_INSERT_EDGE_PROXIMITY). */
34
+ edgeProximity?: number;
35
+ };
36
+ /**
37
+ * Detect whether a mousemove should surface a row/column insert "+" button.
38
+ *
39
+ * Returns the button anchor + target cell PM position, or `null` if the
40
+ * mouse isn't near a row's left edge or a column's top edge — or if the
41
+ * relevant table belongs to an inactive HF/body region.
42
+ */
43
+ declare function detectTableInsertHover(input: TableInsertHoverInput): TableInsertHoverHit | null;
44
+
45
+ export { TABLE_INSERT_EDGE_PROXIMITY, TABLE_INSERT_HIDE_DELAY_MS, type TableInsertHoverHit, type TableInsertHoverInput, detectTableInsertHover };
@@ -0,0 +1 @@
1
+ 'use strict';var chunkYUZQTRI2_js=require('../chunk-YUZQTRI2.js');require('../chunk-7U4I6BKJ.js'),require('../chunk-HKVAW3RE.js'),require('../chunk-SORYYVJ7.js'),require('../chunk-LTHT4A4S.js'),require('../chunk-IMKU4O3P.js'),require('../chunk-DROCYKAR.js'),require('../chunk-F44ZLDZS.js'),require('../chunk-44FHVKSI.js'),require('../chunk-7AMYZMCX.js'),require('../chunk-D4RPOJC7.js'),require('../chunk-IP2VXNWG.js'),require('../chunk-JFZIXFRC.js'),require('../chunk-MZOVDLYL.js'),require('../chunk-E4JMCA5X.js'),require('../chunk-HQPWFUP5.js'),require('../chunk-DV6GWBUJ.js'),require('../chunk-SHJBS42Y.js'),require('../chunk-MCFHOMA2.js'),require('../chunk-BHBOAP6Z.js'),require('../chunk-MZ7LW5CH.js'),require('../chunk-N3Y5BUKV.js'),require('../chunk-YTDWMXNS.js'),require('../chunk-6LVPRTB6.js'),require('../chunk-TUIEV7Q7.js'),require('../chunk-7HANRHHL.js'),require('../chunk-MJ5FQX7Q.js'),require('../chunk-C2BAPYGJ.js'),require('../chunk-4Q2IP5FW.js'),require('../chunk-Q4CKLXWA.js'),require('../chunk-DC7S76ZX.js');Object.defineProperty(exports,"TABLE_INSERT_EDGE_PROXIMITY",{enumerable:true,get:function(){return chunkYUZQTRI2_js.a}});Object.defineProperty(exports,"TABLE_INSERT_HIDE_DELAY_MS",{enumerable:true,get:function(){return chunkYUZQTRI2_js.b}});Object.defineProperty(exports,"detectTableInsertHover",{enumerable:true,get:function(){return chunkYUZQTRI2_js.c}});
@@ -0,0 +1 @@
1
+ export{a as TABLE_INSERT_EDGE_PROXIMITY,b as TABLE_INSERT_HIDE_DELAY_MS,c as detectTableInsertHover}from'../chunk-UCJGOQ4J.mjs';import'../chunk-QLPQVR5W.mjs';import'../chunk-5VBNOHRE.mjs';import'../chunk-MP4QSEO2.mjs';import'../chunk-6Y6LON6Y.mjs';import'../chunk-FCJWLEKT.mjs';import'../chunk-7E5VBRDL.mjs';import'../chunk-RFC2SXZ6.mjs';import'../chunk-BOOHU5EW.mjs';import'../chunk-NDDJ67FQ.mjs';import'../chunk-LBKMYD3M.mjs';import'../chunk-NBLJPT54.mjs';import'../chunk-QPFJJPIC.mjs';import'../chunk-ILJUDEZ5.mjs';import'../chunk-6ZXL3EIP.mjs';import'../chunk-OEXVWIHW.mjs';import'../chunk-WLHNIXWC.mjs';import'../chunk-J7NADDC4.mjs';import'../chunk-2MSZXH6Q.mjs';import'../chunk-MOKKS75W.mjs';import'../chunk-OZMNIX6U.mjs';import'../chunk-AMENZY5F.mjs';import'../chunk-VHUVPHPI.mjs';import'../chunk-BGY3CB37.mjs';import'../chunk-ZX26QZJ5.mjs';import'../chunk-MJ6XZFVD.mjs';import'../chunk-67LVRQIR.mjs';import'../chunk-LE67NTCN.mjs';import'../chunk-VW22RZ6C.mjs';import'../chunk-VQWZHPWI.mjs';import'../chunk-QYUPLKLP.mjs';
@@ -0,0 +1,130 @@
1
+ /**
2
+ * ProseMirror to FlowBlock Converter
3
+ *
4
+ * Converts a ProseMirror document into FlowBlock[] for the layout engine.
5
+ * Tracks pmStart/pmEnd positions for click-to-position mapping.
6
+ *
7
+ * The deep import `@eigenpal/.../layout-bridge/toFlowBlocks` is part of the
8
+ * public surface (Vue adapter + tests), so the per-domain helpers under
9
+ * ./toFlowBlocks/ are re-exported from here to keep that path stable.
10
+ * @packageDocumentation
11
+ * @public
12
+ */
13
+ import { Node } from 'prosemirror-model';
14
+ import { BorderStyle, FlowBlock } from '../layout-engine/types.mjs';
15
+ import { T as Theme } from '../styles-EI2lxeEN.mjs';
16
+ import { o as NumberFormat } from '../content-5Mrz6w_b.mjs';
17
+ import '../formatting-BH4hcZiq.mjs';
18
+ import '../colors-C3vA7HUU.mjs';
19
+ import '../docx/wrapTypes.mjs';
20
+
21
+ /**
22
+ * Shared types and primitive helpers used across toFlowBlocks sub-modules.
23
+ */
24
+
25
+ /**
26
+ * Options for the conversion.
27
+ */
28
+ type ToFlowBlocksOptions = {
29
+ /** Default font family. */
30
+ defaultFont?: string;
31
+ /** Default font size in points. */
32
+ defaultSize?: number;
33
+ /** Theme for resolving theme colors. */
34
+ theme?: Theme | null;
35
+ /** Page content height in pixels (pageHeight - marginTop - marginBottom). Images taller than this are scaled down to fit. */
36
+ pageContentHeight?: number;
37
+ /**
38
+ * Document-wide `w:defaultTabStop` (§17.6.13) in twips. Stamped onto each
39
+ * paragraph's attrs so the layout-time list-marker helper can snap body
40
+ * text to the default tab grid when no custom `w:tabs` are defined.
41
+ * Default 720 twips (Word's spec default).
42
+ */
43
+ defaultTabStopTwips?: number;
44
+ /**
45
+ * @internal Allocated by toFlowBlocks() and threaded through table /
46
+ * text-box conversion so list numbering stays continuous across containers.
47
+ * Keyed by abstractNumId when known (ECMA-376 §17.9.18: numIds sharing one
48
+ * abstractNum share counter state); falls back to numId.
49
+ */
50
+ listCounters?: Map<number, number[]>;
51
+ /**
52
+ * @internal Tracks `${numId}:${ilvl}` pairs whose startOverride has already
53
+ * been applied. Per ECMA-376 §17.9.27 the override fires the first time
54
+ * each level of a numId is encountered, so a numId with overrides on
55
+ * multiple ilvls fires each one independently.
56
+ */
57
+ listSeenNumIds?: Set<string>;
58
+ };
59
+ /**
60
+ * Reset the block ID counter (useful for testing).
61
+ */
62
+ declare function resetBlockIdCounter(): void;
63
+
64
+ /**
65
+ * Border Conversion
66
+ *
67
+ * Shared OOXML BorderSpec → layout-engine BorderStyle conversion, used by
68
+ * paragraph borders, table cell borders, and header/footer borders.
69
+ */
70
+
71
+ /**
72
+ * Convert an OOXML BorderSpec to a layout-engine BorderStyle.
73
+ * Shared by paragraph borders, cell borders, and header/footer borders.
74
+ */
75
+ declare function convertBorderSpecToLayout(border: {
76
+ style?: string;
77
+ size?: number;
78
+ space?: number;
79
+ color?: {
80
+ rgb?: string;
81
+ themeColor?: string;
82
+ themeTint?: string;
83
+ themeShade?: string;
84
+ };
85
+ }, theme?: Theme | null): BorderStyle | undefined;
86
+
87
+ /**
88
+ * List Marker Resolution
89
+ *
90
+ * Helpers for rendering OOXML list markers from the counter stack:
91
+ * - format numbers as decimal/roman/letter per ECMA-376 §17.9.16 numFmt
92
+ * - resolve lvlText templates ("%1.%2.") against the counter stack
93
+ * - drive the per-paragraph counter increment, including startOverride.
94
+ */
95
+
96
+ /**
97
+ * Resolve an OOXML lvlText template like "%1.%2." against the counter stack
98
+ * and per-level numFmt list (ECMA-376 §17.9.11).
99
+ *
100
+ * When a referenced counter has no value yet (e.g. "%2" referenced from a
101
+ * level-0 paragraph), the placeholder AND the punctuation immediately
102
+ * following it are dropped — matches Word's behavior so "%1.%2." renders
103
+ * "1." rather than "1..".
104
+ *
105
+ * Exported for unit testing.
106
+ */
107
+ declare function resolveListTemplate(template: string, counters: number[], levelNumFmts: NumberFormat[] | undefined): string;
108
+
109
+ /**
110
+ * ProseMirror to FlowBlock Converter
111
+ *
112
+ * Converts a ProseMirror document into FlowBlock[] for the layout engine.
113
+ * Tracks pmStart/pmEnd positions for click-to-position mapping.
114
+ *
115
+ * The deep import `@eigenpal/.../layout-bridge/toFlowBlocks` is part of the
116
+ * public surface (Vue adapter + tests), so the per-domain helpers under
117
+ * ./toFlowBlocks/ are re-exported from here to keep that path stable.
118
+ * @packageDocumentation
119
+ * @public
120
+ */
121
+
122
+ /**
123
+ * Convert a ProseMirror document to FlowBlock array.
124
+ *
125
+ * Walks the document tree, converting each node to the appropriate block type.
126
+ * Tracks pmStart/pmEnd positions for each block for click-to-position mapping.
127
+ */
128
+ declare function toFlowBlocks(doc: Node, options?: ToFlowBlocksOptions): FlowBlock[];
129
+
130
+ export { type ToFlowBlocksOptions, convertBorderSpecToLayout, resetBlockIdCounter, resolveListTemplate, toFlowBlocks };