@eigenpal/docx-editor-core 0.0.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 (419) hide show
  1. package/LICENSE +204 -0
  2. package/README.md +54 -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 +169 -0
  8. package/dist/agent/index.d.ts +169 -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-23CP3TOP.js +1 -0
  14. package/dist/chunk-2KHWHVTA.js +1 -0
  15. package/dist/chunk-36VIYQHD.mjs +9 -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-44RUAQA2.js +1 -0
  20. package/dist/chunk-4AJYHCPB.js +2 -0
  21. package/dist/chunk-4BFNWPKW.js +1 -0
  22. package/dist/chunk-4EHBV73E.mjs +59 -0
  23. package/dist/chunk-4G6AJ4ZM.js +1 -0
  24. package/dist/chunk-4GER4JLW.js +1 -0
  25. package/dist/chunk-4Q2IP5FW.js +1 -0
  26. package/dist/chunk-5N5DBQJV.mjs +1 -0
  27. package/dist/chunk-62NPHRTF.js +1 -0
  28. package/dist/chunk-67LVRQIR.mjs +1 -0
  29. package/dist/chunk-6ILFFGGS.js +2 -0
  30. package/dist/chunk-6LOYA7G5.mjs +2 -0
  31. package/dist/chunk-6LVPRTB6.js +1 -0
  32. package/dist/chunk-6NQSIC27.mjs +1 -0
  33. package/dist/chunk-6VUYFDHY.mjs +1 -0
  34. package/dist/chunk-7E5VBRDL.mjs +1 -0
  35. package/dist/chunk-7GHQ4YCJ.mjs +1 -0
  36. package/dist/chunk-7RDCZLTU.js +1 -0
  37. package/dist/chunk-7VCMJCBY.js +2 -0
  38. package/dist/chunk-AAPBAMD7.js +1 -0
  39. package/dist/chunk-AMENZY5F.mjs +1 -0
  40. package/dist/chunk-ARHPXIBJ.mjs +1 -0
  41. package/dist/chunk-BGC7QKP5.mjs +1 -0
  42. package/dist/chunk-BGY3CB37.mjs +1 -0
  43. package/dist/chunk-BHBOAP6Z.js +3 -0
  44. package/dist/chunk-BWHUD2XC.mjs +4 -0
  45. package/dist/chunk-CCWOLPZE.js +3 -0
  46. package/dist/chunk-CGJ6S3AH.mjs +1 -0
  47. package/dist/chunk-CKKO4JWE.mjs +1 -0
  48. package/dist/chunk-CKXAHSJQ.js +10 -0
  49. package/dist/chunk-CP5OSG5Z.mjs +1 -0
  50. package/dist/chunk-CUY2THAO.mjs +1 -0
  51. package/dist/chunk-CWAP26GB.js +4 -0
  52. package/dist/chunk-D4RPOJC7.js +1 -0
  53. package/dist/chunk-D6GO7UGD.mjs +1 -0
  54. package/dist/chunk-DC7S76ZX.js +1 -0
  55. package/dist/chunk-DFZTUQ7O.js +2 -0
  56. package/dist/chunk-DROCYKAR.js +1 -0
  57. package/dist/chunk-DWFWYHM5.mjs +1 -0
  58. package/dist/chunk-DY2MJCSV.js +1 -0
  59. package/dist/chunk-ESI4BSBF.js +1 -0
  60. package/dist/chunk-FC6QL3E6.js +1 -0
  61. package/dist/chunk-FWTP7BN7.mjs +4 -0
  62. package/dist/chunk-G6Y4UZMJ.mjs +1 -0
  63. package/dist/chunk-GGPKPXON.js +1 -0
  64. package/dist/chunk-GXW7YSFL.mjs +1 -0
  65. package/dist/chunk-I6PMX4BO.js +1 -0
  66. package/dist/chunk-IBNUQL57.mjs +2 -0
  67. package/dist/chunk-ILJUDEZ5.mjs +1 -0
  68. package/dist/chunk-IP2VXNWG.js +1 -0
  69. package/dist/chunk-J7ULKGU2.mjs +10 -0
  70. package/dist/chunk-JFZIXFRC.js +1 -0
  71. package/dist/chunk-JHZ3HLSR.mjs +1 -0
  72. package/dist/chunk-JKVXID22.mjs +1 -0
  73. package/dist/chunk-JY5EFI4D.js +1 -0
  74. package/dist/chunk-KBU6QQFU.js +9 -0
  75. package/dist/chunk-KESNGXGO.js +1 -0
  76. package/dist/chunk-KQTB5Y7P.mjs +1 -0
  77. package/dist/chunk-LBKMYD3M.mjs +1 -0
  78. package/dist/chunk-LMF2ELOB.js +1 -0
  79. package/dist/chunk-LVD6HXRF.mjs +2 -0
  80. package/dist/chunk-MJ5FQX7Q.js +1 -0
  81. package/dist/chunk-MOKKS75W.mjs +3 -0
  82. package/dist/chunk-MVZOTKNL.mjs +1 -0
  83. package/dist/chunk-MZ7LW5CH.js +1 -0
  84. package/dist/chunk-MZOVDLYL.js +1 -0
  85. package/dist/chunk-N27FJQTG.js +1 -0
  86. package/dist/chunk-N3Y5BUKV.js +1 -0
  87. package/dist/chunk-NBLJPT54.mjs +1 -0
  88. package/dist/chunk-NERY274X.js +1 -0
  89. package/dist/chunk-NNQWQOC5.mjs +1 -0
  90. package/dist/chunk-NXLJVVVE.js +1 -0
  91. package/dist/chunk-O5X22KZ6.mjs +1 -0
  92. package/dist/chunk-OBMN4VSM.mjs +1 -0
  93. package/dist/chunk-OCAX2KJQ.js +4 -0
  94. package/dist/chunk-OZMNIX6U.mjs +1 -0
  95. package/dist/chunk-PRRM64JO.mjs +1 -0
  96. package/dist/chunk-Q4CKLXWA.js +1 -0
  97. package/dist/chunk-Q5QOBZWT.mjs +1 -0
  98. package/dist/chunk-QPFJJPIC.mjs +1 -0
  99. package/dist/chunk-QYUPLKLP.mjs +1 -0
  100. package/dist/chunk-RNOXNNSD.mjs +0 -0
  101. package/dist/chunk-RPIQG46O.mjs +1 -0
  102. package/dist/chunk-S7IKPRC3.js +9 -0
  103. package/dist/chunk-SUXJX72X.js +1 -0
  104. package/dist/chunk-SYJAAHUK.js +1 -0
  105. package/dist/chunk-T4CPTPRP.js +1 -0
  106. package/dist/chunk-TE2AF7FM.js +1 -0
  107. package/dist/chunk-TE2VQJZG.js +1 -0
  108. package/dist/chunk-TRJWRZZD.js +1 -0
  109. package/dist/chunk-U4UCHBZ7.js +1 -0
  110. package/dist/chunk-UDPROEUK.js +1 -0
  111. package/dist/chunk-UIROUI5I.mjs +1 -0
  112. package/dist/chunk-UOFQYE2L.mjs +1 -0
  113. package/dist/chunk-UQ6WNWXX.js +1 -0
  114. package/dist/chunk-V7BKPX67.mjs +2 -0
  115. package/dist/chunk-VKTCTMIO.mjs +2 -0
  116. package/dist/chunk-VQWZHPWI.mjs +1 -0
  117. package/dist/chunk-VW22RZ6C.mjs +1 -0
  118. package/dist/chunk-WLKRUBY4.js +1 -0
  119. package/dist/chunk-WLQEPVDR.js +1 -0
  120. package/dist/chunk-WNTT4MGC.js +59 -0
  121. package/dist/chunk-WTFLNYAT.mjs +1 -0
  122. package/dist/chunk-XXU7YQVV.js +1 -0
  123. package/dist/chunk-Y5HZAMND.mjs +9 -0
  124. package/dist/chunk-Y74ANBPV.js +1 -0
  125. package/dist/chunk-Y7JZPBBW.js +1 -0
  126. package/dist/chunk-YGHHSCPR.js +2 -0
  127. package/dist/chunk-YMZ3F2FZ.mjs +1 -0
  128. package/dist/chunk-YUKBAAB5.mjs +1 -0
  129. package/dist/chunk-ZRZ2VRQQ.mjs +1 -0
  130. package/dist/chunk-ZYESB4KC.mjs +3 -0
  131. package/dist/colorResolver-C3q7MLLD.d.mts +390 -0
  132. package/dist/colorResolver-CVsPLsw1.d.ts +390 -0
  133. package/dist/colors-C3vA7HUU.d.mts +70 -0
  134. package/dist/colors-C3vA7HUU.d.ts +70 -0
  135. package/dist/core-plugins.d.mts +64 -0
  136. package/dist/core-plugins.d.ts +64 -0
  137. package/dist/core-plugins.js +1 -0
  138. package/dist/core-plugins.mjs +1 -0
  139. package/dist/core.d.mts +399 -0
  140. package/dist/core.d.ts +399 -0
  141. package/dist/core.js +1 -0
  142. package/dist/core.mjs +1 -0
  143. package/dist/documentSerializer-C1ueey5d.d.mts +36 -0
  144. package/dist/documentSerializer-Chn7J1WG.d.ts +36 -0
  145. package/dist/docx/index.d.mts +1124 -0
  146. package/dist/docx/index.d.ts +1124 -0
  147. package/dist/docx/index.js +1 -0
  148. package/dist/docx/index.mjs +1 -0
  149. package/dist/docx/parser.d.mts +109 -0
  150. package/dist/docx/parser.d.ts +109 -0
  151. package/dist/docx/parser.js +1 -0
  152. package/dist/docx/parser.mjs +1 -0
  153. package/dist/docx/rezip.d.mts +313 -0
  154. package/dist/docx/rezip.d.ts +313 -0
  155. package/dist/docx/rezip.js +1 -0
  156. package/dist/docx/rezip.mjs +1 -0
  157. package/dist/docx/serializer/index.d.mts +126 -0
  158. package/dist/docx/serializer/index.d.ts +126 -0
  159. package/dist/docx/serializer/index.js +1 -0
  160. package/dist/docx/serializer/index.mjs +1 -0
  161. package/dist/docx/wrapTypes.d.mts +19 -0
  162. package/dist/docx/wrapTypes.d.ts +19 -0
  163. package/dist/docx/wrapTypes.js +1 -0
  164. package/dist/docx/wrapTypes.mjs +1 -0
  165. package/dist/docxInput-DTbCa48g.d.mts +21 -0
  166. package/dist/docxInput-DTbCa48g.d.ts +21 -0
  167. package/dist/executor-DZAMMQ35.js +1 -0
  168. package/dist/executor-ZCJRLT3Z.mjs +1 -0
  169. package/dist/findParagraphByParaId-Maw_8M5D.d.mts +28 -0
  170. package/dist/findParagraphByParaId-Maw_8M5D.d.ts +28 -0
  171. package/dist/fontLoader-BOt95Jtf.d.mts +223 -0
  172. package/dist/fontLoader-QPwbcX5j.d.ts +223 -0
  173. package/dist/footnotes-lCH_P3N3.d.mts +78 -0
  174. package/dist/footnotes-skVvEHvZ.d.ts +78 -0
  175. package/dist/formatting-BwpZWdGi.d.ts +410 -0
  176. package/dist/formatting-D9I-lFS4.d.mts +410 -0
  177. package/dist/headerFooterLayout-B3QVg556.d.ts +201 -0
  178. package/dist/headerFooterLayout-DkclHZ0Z.d.mts +201 -0
  179. package/dist/headless.d.mts +110 -0
  180. package/dist/headless.d.ts +110 -0
  181. package/dist/headless.js +1 -0
  182. package/dist/headless.mjs +1 -0
  183. package/dist/layout-bridge/clickToPositionDom.d.mts +56 -0
  184. package/dist/layout-bridge/clickToPositionDom.d.ts +56 -0
  185. package/dist/layout-bridge/clickToPositionDom.js +1 -0
  186. package/dist/layout-bridge/clickToPositionDom.mjs +1 -0
  187. package/dist/layout-bridge/index.d.mts +462 -0
  188. package/dist/layout-bridge/index.d.ts +462 -0
  189. package/dist/layout-bridge/index.js +1 -0
  190. package/dist/layout-bridge/index.mjs +1 -0
  191. package/dist/layout-bridge/measuring/index.d.mts +320 -0
  192. package/dist/layout-bridge/measuring/index.d.ts +320 -0
  193. package/dist/layout-bridge/measuring/index.js +1 -0
  194. package/dist/layout-bridge/measuring/index.mjs +1 -0
  195. package/dist/layout-bridge/tableInsertHover.d.mts +45 -0
  196. package/dist/layout-bridge/tableInsertHover.d.ts +45 -0
  197. package/dist/layout-bridge/tableInsertHover.js +1 -0
  198. package/dist/layout-bridge/tableInsertHover.mjs +1 -0
  199. package/dist/layout-bridge/toFlowBlocks.d.mts +122 -0
  200. package/dist/layout-bridge/toFlowBlocks.d.ts +122 -0
  201. package/dist/layout-bridge/toFlowBlocks.js +1 -0
  202. package/dist/layout-bridge/toFlowBlocks.mjs +1 -0
  203. package/dist/layout-engine/index.d.mts +322 -0
  204. package/dist/layout-engine/index.d.ts +322 -0
  205. package/dist/layout-engine/index.js +1 -0
  206. package/dist/layout-engine/index.mjs +1 -0
  207. package/dist/layout-engine/types.d.mts +903 -0
  208. package/dist/layout-engine/types.d.ts +903 -0
  209. package/dist/layout-engine/types.js +1 -0
  210. package/dist/layout-engine/types.mjs +1 -0
  211. package/dist/layout-painter/index.d.mts +23 -0
  212. package/dist/layout-painter/index.d.ts +23 -0
  213. package/dist/layout-painter/index.js +1 -0
  214. package/dist/layout-painter/index.mjs +1 -0
  215. package/dist/layout-painter/renderPage.d.mts +674 -0
  216. package/dist/layout-painter/renderPage.d.ts +674 -0
  217. package/dist/layout-painter/renderPage.js +1 -0
  218. package/dist/layout-painter/renderPage.mjs +1 -0
  219. package/dist/lists-CdiIk_c1.d.ts +142 -0
  220. package/dist/lists-JDB80qyP.d.mts +142 -0
  221. package/dist/managers/AutoSaveManager.d.mts +96 -0
  222. package/dist/managers/AutoSaveManager.d.ts +96 -0
  223. package/dist/managers/AutoSaveManager.js +1 -0
  224. package/dist/managers/AutoSaveManager.mjs +1 -0
  225. package/dist/managers/TableSelectionManager.d.mts +95 -0
  226. package/dist/managers/TableSelectionManager.d.ts +95 -0
  227. package/dist/managers/TableSelectionManager.js +1 -0
  228. package/dist/managers/TableSelectionManager.mjs +1 -0
  229. package/dist/managers/types.d.mts +122 -0
  230. package/dist/managers/types.d.ts +122 -0
  231. package/dist/managers/types.js +1 -0
  232. package/dist/managers/types.mjs +0 -0
  233. package/dist/marks-BujVxYP4.d.ts +56 -0
  234. package/dist/marks-CCPVlQzL.d.mts +56 -0
  235. package/dist/mcp-cli.mjs +137 -0
  236. package/dist/mcp.d.mts +184 -0
  237. package/dist/mcp.d.ts +184 -0
  238. package/dist/mcp.js +16 -0
  239. package/dist/mcp.mjs +16 -0
  240. package/dist/nodes-BXi1Uu3e.d.mts +257 -0
  241. package/dist/nodes-DfKj9kUA.d.ts +257 -0
  242. package/dist/plugin-api/RenderedDomContext.d.mts +74 -0
  243. package/dist/plugin-api/RenderedDomContext.d.ts +74 -0
  244. package/dist/plugin-api/RenderedDomContext.js +1 -0
  245. package/dist/plugin-api/RenderedDomContext.mjs +1 -0
  246. package/dist/plugin-api/index.d.mts +15 -0
  247. package/dist/plugin-api/index.d.ts +15 -0
  248. package/dist/plugin-api/index.js +1 -0
  249. package/dist/plugin-api/index.mjs +0 -0
  250. package/dist/plugin-api/resolveItemPositions.d.mts +54 -0
  251. package/dist/plugin-api/resolveItemPositions.d.ts +54 -0
  252. package/dist/plugin-api/resolveItemPositions.js +1 -0
  253. package/dist/plugin-api/resolveItemPositions.mjs +1 -0
  254. package/dist/plugin-api/types.d.mts +190 -0
  255. package/dist/plugin-api/types.d.ts +190 -0
  256. package/dist/plugin-api/types.js +1 -0
  257. package/dist/plugin-api/types.mjs +0 -0
  258. package/dist/processTemplate-GPFDLQMX.mjs +1 -0
  259. package/dist/processTemplate-HH2E3HBO.js +1 -0
  260. package/dist/prosemirror/commands/formatting.d.mts +100 -0
  261. package/dist/prosemirror/commands/formatting.d.ts +100 -0
  262. package/dist/prosemirror/commands/formatting.js +1 -0
  263. package/dist/prosemirror/commands/formatting.mjs +1 -0
  264. package/dist/prosemirror/commands/index.d.mts +114 -0
  265. package/dist/prosemirror/commands/index.d.ts +114 -0
  266. package/dist/prosemirror/commands/index.js +1 -0
  267. package/dist/prosemirror/commands/index.mjs +1 -0
  268. package/dist/prosemirror/commands/pageBreak.d.mts +20 -0
  269. package/dist/prosemirror/commands/pageBreak.d.ts +20 -0
  270. package/dist/prosemirror/commands/pageBreak.js +1 -0
  271. package/dist/prosemirror/commands/pageBreak.mjs +1 -0
  272. package/dist/prosemirror/commands/paragraph.d.mts +70 -0
  273. package/dist/prosemirror/commands/paragraph.d.ts +70 -0
  274. package/dist/prosemirror/commands/paragraph.js +1 -0
  275. package/dist/prosemirror/commands/paragraph.mjs +1 -0
  276. package/dist/prosemirror/conversion/fromProseDoc.d.mts +66 -0
  277. package/dist/prosemirror/conversion/fromProseDoc.d.ts +66 -0
  278. package/dist/prosemirror/conversion/fromProseDoc.js +1 -0
  279. package/dist/prosemirror/conversion/fromProseDoc.mjs +1 -0
  280. package/dist/prosemirror/conversion/index.d.mts +78 -0
  281. package/dist/prosemirror/conversion/index.d.ts +78 -0
  282. package/dist/prosemirror/conversion/index.js +1 -0
  283. package/dist/prosemirror/conversion/index.mjs +1 -0
  284. package/dist/prosemirror/editor.css +763 -0
  285. package/dist/prosemirror/extensions/index.d.mts +79 -0
  286. package/dist/prosemirror/extensions/index.d.ts +79 -0
  287. package/dist/prosemirror/extensions/index.js +1 -0
  288. package/dist/prosemirror/extensions/index.mjs +1 -0
  289. package/dist/prosemirror/extensions/nodes/TableExtension.d.mts +30 -0
  290. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +30 -0
  291. package/dist/prosemirror/extensions/nodes/TableExtension.js +1 -0
  292. package/dist/prosemirror/extensions/nodes/TableExtension.mjs +1 -0
  293. package/dist/prosemirror/index.d.mts +71 -0
  294. package/dist/prosemirror/index.d.ts +71 -0
  295. package/dist/prosemirror/index.js +1 -0
  296. package/dist/prosemirror/index.mjs +1 -0
  297. package/dist/prosemirror/plugins/index.d.mts +50 -0
  298. package/dist/prosemirror/plugins/index.d.ts +50 -0
  299. package/dist/prosemirror/plugins/index.js +1 -0
  300. package/dist/prosemirror/plugins/index.mjs +1 -0
  301. package/dist/prosemirror/plugins/selectionTracker.d.mts +78 -0
  302. package/dist/prosemirror/plugins/selectionTracker.d.ts +78 -0
  303. package/dist/prosemirror/plugins/selectionTracker.js +1 -0
  304. package/dist/prosemirror/plugins/selectionTracker.mjs +1 -0
  305. package/dist/prosemirror/schema/index.d.mts +30 -0
  306. package/dist/prosemirror/schema/index.d.ts +30 -0
  307. package/dist/prosemirror/schema/index.js +1 -0
  308. package/dist/prosemirror/schema/index.mjs +1 -0
  309. package/dist/prosemirror/styles/index.d.mts +124 -0
  310. package/dist/prosemirror/styles/index.d.ts +124 -0
  311. package/dist/prosemirror/styles/index.js +1 -0
  312. package/dist/prosemirror/styles/index.mjs +1 -0
  313. package/dist/prosemirror/template/prosemirror-plugin.d.mts +66 -0
  314. package/dist/prosemirror/template/prosemirror-plugin.d.ts +66 -0
  315. package/dist/prosemirror/template/prosemirror-plugin.js +15 -0
  316. package/dist/prosemirror/template/prosemirror-plugin.mjs +15 -0
  317. package/dist/prosemirror/utils/ClickPositionResolver.d.mts +109 -0
  318. package/dist/prosemirror/utils/ClickPositionResolver.d.ts +109 -0
  319. package/dist/prosemirror/utils/ClickPositionResolver.js +1 -0
  320. package/dist/prosemirror/utils/ClickPositionResolver.mjs +1 -0
  321. package/dist/prosemirror/utils/LayoutSelectionGate.d.mts +81 -0
  322. package/dist/prosemirror/utils/LayoutSelectionGate.d.ts +81 -0
  323. package/dist/prosemirror/utils/LayoutSelectionGate.js +1 -0
  324. package/dist/prosemirror/utils/LayoutSelectionGate.mjs +1 -0
  325. package/dist/prosemirror/utils/PointerEventHandler.d.mts +94 -0
  326. package/dist/prosemirror/utils/PointerEventHandler.d.ts +94 -0
  327. package/dist/prosemirror/utils/PointerEventHandler.js +1 -0
  328. package/dist/prosemirror/utils/PointerEventHandler.mjs +1 -0
  329. package/dist/prosemirror/utils/extractTrackedChanges.d.mts +63 -0
  330. package/dist/prosemirror/utils/extractTrackedChanges.d.ts +63 -0
  331. package/dist/prosemirror/utils/extractTrackedChanges.js +1 -0
  332. package/dist/prosemirror/utils/extractTrackedChanges.mjs +1 -0
  333. package/dist/prosemirror/utils/visualLineNavigation.d.mts +45 -0
  334. package/dist/prosemirror/utils/visualLineNavigation.d.ts +45 -0
  335. package/dist/prosemirror/utils/visualLineNavigation.js +1 -0
  336. package/dist/prosemirror/utils/visualLineNavigation.mjs +1 -0
  337. package/dist/registry-Cpyybgij.d.mts +165 -0
  338. package/dist/registry-E5pahPKL.d.ts +165 -0
  339. package/dist/selectionContext-85CE0f7a.d.ts +570 -0
  340. package/dist/selectionContext-Xq3AY7pn.d.mts +570 -0
  341. package/dist/selectiveSave-CWaPEv0B.d.ts +31 -0
  342. package/dist/selectiveSave-jinP_4xa.d.mts +31 -0
  343. package/dist/selectiveXmlPatch-ypkxlTD_.d.mts +23 -0
  344. package/dist/selectiveXmlPatch-ypkxlTD_.d.ts +23 -0
  345. package/dist/styles-BBoqh07F.d.mts +233 -0
  346. package/dist/styles-jqO45PSq.d.ts +233 -0
  347. package/dist/table-P8esKWAc.d.ts +82 -0
  348. package/dist/table-_t_W8oQf.d.mts +82 -0
  349. package/dist/types/agentApi.d.mts +467 -0
  350. package/dist/types/agentApi.d.ts +467 -0
  351. package/dist/types/agentApi.js +1 -0
  352. package/dist/types/agentApi.mjs +1 -0
  353. package/dist/types/content.d.mts +1181 -0
  354. package/dist/types/content.d.ts +1181 -0
  355. package/dist/types/content.js +1 -0
  356. package/dist/types/content.mjs +0 -0
  357. package/dist/types/document.d.mts +106 -0
  358. package/dist/types/document.d.ts +106 -0
  359. package/dist/types/document.js +1 -0
  360. package/dist/types/document.mjs +0 -0
  361. package/dist/types-DXG7vqe9.d.ts +311 -0
  362. package/dist/types-RchZmPFN.d.mts +137 -0
  363. package/dist/types-RchZmPFN.d.ts +137 -0
  364. package/dist/types-dYdjUZMo.d.mts +311 -0
  365. package/dist/utils/cardStyles.d.mts +31 -0
  366. package/dist/utils/cardStyles.d.ts +31 -0
  367. package/dist/utils/cardStyles.js +1 -0
  368. package/dist/utils/cardStyles.mjs +1 -0
  369. package/dist/utils/comments.d.mts +48 -0
  370. package/dist/utils/comments.d.ts +48 -0
  371. package/dist/utils/comments.js +1 -0
  372. package/dist/utils/comments.mjs +1 -0
  373. package/dist/utils/findReplace.d.mts +114 -0
  374. package/dist/utils/findReplace.d.ts +114 -0
  375. package/dist/utils/findReplace.js +2 -0
  376. package/dist/utils/findReplace.mjs +2 -0
  377. package/dist/utils/findVerticalScrollParent.d.mts +25 -0
  378. package/dist/utils/findVerticalScrollParent.d.ts +25 -0
  379. package/dist/utils/findVerticalScrollParent.js +1 -0
  380. package/dist/utils/findVerticalScrollParent.mjs +1 -0
  381. package/dist/utils/fontOptions.d.mts +21 -0
  382. package/dist/utils/fontOptions.d.ts +21 -0
  383. package/dist/utils/fontOptions.js +1 -0
  384. package/dist/utils/fontOptions.mjs +1 -0
  385. package/dist/utils/headingCollector.d.mts +32 -0
  386. package/dist/utils/headingCollector.d.ts +32 -0
  387. package/dist/utils/headingCollector.js +1 -0
  388. package/dist/utils/headingCollector.mjs +1 -0
  389. package/dist/utils/highlightColors.d.mts +14 -0
  390. package/dist/utils/highlightColors.d.ts +14 -0
  391. package/dist/utils/highlightColors.js +1 -0
  392. package/dist/utils/highlightColors.mjs +1 -0
  393. package/dist/utils/index.d.mts +711 -0
  394. package/dist/utils/index.d.ts +711 -0
  395. package/dist/utils/index.js +82 -0
  396. package/dist/utils/index.mjs +82 -0
  397. package/dist/utils/listState.d.mts +27 -0
  398. package/dist/utils/listState.d.ts +27 -0
  399. package/dist/utils/listState.js +1 -0
  400. package/dist/utils/listState.mjs +1 -0
  401. package/dist/utils/reportIssue.d.mts +23 -0
  402. package/dist/utils/reportIssue.d.ts +23 -0
  403. package/dist/utils/reportIssue.js +2 -0
  404. package/dist/utils/reportIssue.mjs +2 -0
  405. package/dist/utils/sidebarConstants.d.mts +10 -0
  406. package/dist/utils/sidebarConstants.d.ts +10 -0
  407. package/dist/utils/sidebarConstants.js +1 -0
  408. package/dist/utils/sidebarConstants.mjs +1 -0
  409. package/dist/utils/textSelection.d.mts +92 -0
  410. package/dist/utils/textSelection.d.ts +92 -0
  411. package/dist/utils/textSelection.js +1 -0
  412. package/dist/utils/textSelection.mjs +1 -0
  413. package/dist/utils/units.d.mts +91 -0
  414. package/dist/utils/units.d.ts +91 -0
  415. package/dist/utils/units.js +1 -0
  416. package/dist/utils/units.mjs +1 -0
  417. package/dist/variableDetector-CAdt8yOr.d.mts +115 -0
  418. package/dist/variableDetector-W4XEN9YC.d.ts +115 -0
  419. package/package.json +565 -0
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Walk the PM doc once and derive (a) the tracked-change list and (b) a
3
+ * comment→revision overlap map for threading. Adjacent entries from the
4
+ * same revision are merged; deletion+insertion pairs from the same
5
+ * author/date become a single `replacement` entry (matches Word's UX
6
+ * for replace ops).
7
+ *
8
+ * Pure function — no React, no Vue, no side effects. Single O(N) walk
9
+ * over text nodes. Lifted from packages/react/src/hooks/useTrackedChanges.ts
10
+ * so both adapters can call it directly.
11
+ *
12
+ * @remarks
13
+ * Tagged `@internal` post-1.0 cut. Both adapters re-export this through
14
+ * their own composables (`useTrackedChanges`); consumers should prefer
15
+ * those. The subpath stays in `package.json` `exports` for back-compat;
16
+ * expect it to move behind a public surface in a future major.
17
+ *
18
+ * @packageDocumentation
19
+ * @internal
20
+ */
21
+ import { EditorState } from 'prosemirror-state';
22
+ import { TrackedChangeEntry } from '../../utils/comments.js';
23
+ import '../../types/content.js';
24
+ import '../../formatting-BwpZWdGi.js';
25
+ import '../../colors-C3vA7HUU.js';
26
+ import '../../docx/wrapTypes.js';
27
+ import '../../lists-CdiIk_c1.js';
28
+
29
+ /**
30
+ * Walk the PM doc once and derive (a) the tracked-change list and (b) a
31
+ * comment→revision overlap map for threading. Adjacent entries from the
32
+ * same revision are merged; deletion+insertion pairs from the same
33
+ * author/date become a single `replacement` entry (matches Word's UX
34
+ * for replace ops).
35
+ *
36
+ * Pure function — no React, no Vue, no side effects. Single O(N) walk
37
+ * over text nodes. Lifted from packages/react/src/hooks/useTrackedChanges.ts
38
+ * so both adapters can call it directly.
39
+ *
40
+ * @remarks
41
+ * Tagged `@internal` post-1.0 cut. Both adapters re-export this through
42
+ * their own composables (`useTrackedChanges`); consumers should prefer
43
+ * those. The subpath stays in `package.json` `exports` for back-compat;
44
+ * expect it to move behind a public surface in a future major.
45
+ *
46
+ * @packageDocumentation
47
+ * @internal
48
+ */
49
+
50
+ /** @internal */
51
+ interface TrackedChangesResult {
52
+ /** Tracked-change entries, sorted by document position, with adjacent same-revision entries merged. */
53
+ entries: TrackedChangeEntry[];
54
+ /**
55
+ * Map of `commentId -> revisionId` for comments whose range overlaps a tracked-change mark.
56
+ * Consumers (DocxEditor's threading effect) use this to thread comments under their tracked change.
57
+ */
58
+ commentToRevision: Map<number, number>;
59
+ }
60
+ /** @internal */
61
+ declare function extractTrackedChanges(state: EditorState | null): TrackedChangesResult;
62
+
63
+ export { type TrackedChangesResult, extractTrackedChanges };
@@ -0,0 +1 @@
1
+ 'use strict';require('../../chunk-DC7S76ZX.js');var l={entries:[],commentToRevision:new Map};function k(d){if(!d)return l;let{doc:h,schema:i}=d,a=i.marks.insertion,u=i.marks.deletion,p=i.marks.comment;if(!a&&!u)return l;let f=[],m=new Map;h.descendants((e,t)=>{if(!e.isText)return;let r=null;for(let n of e.marks)(n.type===a||n.type===u)&&(f.push({type:n.type===a?"insertion":"deletion",text:e.text||"",author:n.attrs.author||"",date:n.attrs.date,from:t,to:t+e.nodeSize,revisionId:n.attrs.revisionId}),r=n);if(p&&r){let n=e.marks.find(s=>s.type===p);if(n){let s=n.attrs.commentId,y=r.attrs.revisionId;m.has(s)||m.set(s,y);}}});let o=[];for(let e of f){let t=o[o.length-1];t&&t.revisionId===e.revisionId&&t.type===e.type&&t.to===e.from?(t.text+=e.text,t.to=e.to):o.push({...e});}let c=[];for(let e=0;e<o.length;e++){let t=o[e],r=o[e+1];t.type==="deletion"&&r&&r.type==="insertion"&&t.author===r.author&&t.date===r.date&&t.to===r.from?(c.push({type:"replacement",text:r.text,deletedText:t.text,author:t.author,date:t.date,from:t.from,to:r.to,revisionId:t.revisionId,insertionRevisionId:r.revisionId}),e++):c.push(t);}return {entries:c,commentToRevision:m}}exports.extractTrackedChanges=k;
@@ -0,0 +1 @@
1
+ import'../../chunk-QYUPLKLP.mjs';var l={entries:[],commentToRevision:new Map};function k(d){if(!d)return l;let{doc:h,schema:i}=d,a=i.marks.insertion,u=i.marks.deletion,p=i.marks.comment;if(!a&&!u)return l;let f=[],m=new Map;h.descendants((e,t)=>{if(!e.isText)return;let r=null;for(let n of e.marks)(n.type===a||n.type===u)&&(f.push({type:n.type===a?"insertion":"deletion",text:e.text||"",author:n.attrs.author||"",date:n.attrs.date,from:t,to:t+e.nodeSize,revisionId:n.attrs.revisionId}),r=n);if(p&&r){let n=e.marks.find(s=>s.type===p);if(n){let s=n.attrs.commentId,y=r.attrs.revisionId;m.has(s)||m.set(s,y);}}});let o=[];for(let e of f){let t=o[o.length-1];t&&t.revisionId===e.revisionId&&t.type===e.type&&t.to===e.from?(t.text+=e.text,t.to=e.to):o.push({...e});}let c=[];for(let e=0;e<o.length;e++){let t=o[e],r=o[e+1];t.type==="deletion"&&r&&r.type==="insertion"&&t.author===r.author&&t.date===r.date&&t.to===r.from?(c.push({type:"replacement",text:r.text,deletedText:t.text,author:t.author,date:t.date,from:t.from,to:r.to,revisionId:t.revisionId,insertionRevisionId:r.revisionId}),e++):c.push(t);}return {entries:c,commentToRevision:m}}export{k as extractTrackedChanges};
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Visual line navigation helpers — implements Word/Google-Docs-style
3
+ * ArrowUp / ArrowDown with sticky X across visual lines (not just
4
+ * paragraphs). Lifted from packages/react/src/paged-editor/
5
+ * useVisualLineNavigation.ts so both adapters share the algorithm.
6
+ *
7
+ * Frontend-agnostic: takes a `getContainer: () => HTMLElement | null`
8
+ * callback and a mutable sticky-state object, returns the same
9
+ * function quartet React's hook returns.
10
+ *
11
+ * @remarks
12
+ * Tagged `@internal` post-1.0 cut. Both adapters re-export this through
13
+ * their own composables (`useVisualLineNavigation`); consumers should
14
+ * prefer those. The subpath stays in `package.json` `exports` for
15
+ * back-compat; expect it to move behind a public surface in a future
16
+ * major.
17
+ *
18
+ * @packageDocumentation
19
+ * @internal
20
+ */
21
+ import { EditorView } from 'prosemirror-view';
22
+
23
+ /** @internal */
24
+ interface VisualLineState {
25
+ stickyX: number | null;
26
+ lastVisualLineIndex: number;
27
+ }
28
+ /** @internal */
29
+ declare function createVisualLineState(): VisualLineState;
30
+ /** @internal */
31
+ declare function getCaretClientX(container: HTMLElement, pmPos: number): number | null;
32
+ /** @internal */
33
+ declare function findLineElementAtPosition(container: HTMLElement, pmPos: number): HTMLElement | null;
34
+ /** @internal */
35
+ declare function findPositionOnLineAtClientX(lineEl: HTMLElement, clientX: number): number | null;
36
+ /**
37
+ * Handle PM ArrowUp / ArrowDown with visual-line awareness + sticky
38
+ * X. Returns true if the event was handled and PM should not run
39
+ * its default behaviour. Mutates `state` so consecutive presses
40
+ * keep the same sticky X.
41
+ */
42
+ /** @internal */
43
+ declare function handleVisualLineKeyDown(state: VisualLineState, view: EditorView, event: KeyboardEvent, container: HTMLElement | null): boolean;
44
+
45
+ export { type VisualLineState, createVisualLineState, findLineElementAtPosition, findPositionOnLineAtClientX, getCaretClientX, handleVisualLineKeyDown };
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Visual line navigation helpers — implements Word/Google-Docs-style
3
+ * ArrowUp / ArrowDown with sticky X across visual lines (not just
4
+ * paragraphs). Lifted from packages/react/src/paged-editor/
5
+ * useVisualLineNavigation.ts so both adapters share the algorithm.
6
+ *
7
+ * Frontend-agnostic: takes a `getContainer: () => HTMLElement | null`
8
+ * callback and a mutable sticky-state object, returns the same
9
+ * function quartet React's hook returns.
10
+ *
11
+ * @remarks
12
+ * Tagged `@internal` post-1.0 cut. Both adapters re-export this through
13
+ * their own composables (`useVisualLineNavigation`); consumers should
14
+ * prefer those. The subpath stays in `package.json` `exports` for
15
+ * back-compat; expect it to move behind a public surface in a future
16
+ * major.
17
+ *
18
+ * @packageDocumentation
19
+ * @internal
20
+ */
21
+ import { EditorView } from 'prosemirror-view';
22
+
23
+ /** @internal */
24
+ interface VisualLineState {
25
+ stickyX: number | null;
26
+ lastVisualLineIndex: number;
27
+ }
28
+ /** @internal */
29
+ declare function createVisualLineState(): VisualLineState;
30
+ /** @internal */
31
+ declare function getCaretClientX(container: HTMLElement, pmPos: number): number | null;
32
+ /** @internal */
33
+ declare function findLineElementAtPosition(container: HTMLElement, pmPos: number): HTMLElement | null;
34
+ /** @internal */
35
+ declare function findPositionOnLineAtClientX(lineEl: HTMLElement, clientX: number): number | null;
36
+ /**
37
+ * Handle PM ArrowUp / ArrowDown with visual-line awareness + sticky
38
+ * X. Returns true if the event was handled and PM should not run
39
+ * its default behaviour. Mutates `state` so consecutive presses
40
+ * keep the same sticky X.
41
+ */
42
+ /** @internal */
43
+ declare function handleVisualLineKeyDown(state: VisualLineState, view: EditorView, event: KeyboardEvent, container: HTMLElement | null): boolean;
44
+
45
+ export { type VisualLineState, createVisualLineState, findLineElementAtPosition, findPositionOnLineAtClientX, getCaretClientX, handleVisualLineKeyDown };
@@ -0,0 +1 @@
1
+ 'use strict';var chunkJY5EFI4D_js=require('../../chunk-JY5EFI4D.js');require('../../chunk-DC7S76ZX.js');var prosemirrorState=require('prosemirror-state');var S=".layout-page-content .layout-line";function C(){return {stickyX:null,lastVisualLineIndex:-1}}function T(o){let t=chunkJY5EFI4D_js.a(o);if(!t)return;let n=o.getBoundingClientRect(),l=t.getBoundingClientRect(),e=40;n.bottom>l.bottom-e?t.scrollTop+=n.bottom-l.bottom+e:n.top<l.top+e&&(t.scrollTop-=l.top-n.top+e);}function x(o,t){let n=o.querySelectorAll("span[data-pm-start][data-pm-end]");for(let e of Array.from(n)){let i=e,c=Number(i.dataset.pmStart),r=Number(i.dataset.pmEnd);if(i.classList.contains("layout-run-tab")){if(t>=c&&t<r)return i.getBoundingClientRect().left;continue}if(t>=c&&t<=r&&e.firstChild?.nodeType===Node.TEXT_NODE){let a=e.firstChild,u=Math.min(t-c,a.length),p=i.ownerDocument;if(!p)continue;let f=p.createRange();return f.setStart(a,u),f.setEnd(a,u),f.getBoundingClientRect().left}}let l=o.querySelectorAll(".layout-empty-run");for(let e of Array.from(l)){let i=e.closest(".layout-paragraph");if(!i)continue;let c=Number(i.dataset.pmStart),r=Number(i.dataset.pmEnd);if(t>=c&&t<=r)return e.getBoundingClientRect().left}return null}function M(o,t){let n=o.querySelectorAll(S);for(let l of Array.from(n)){let e=l,i=e.querySelectorAll("span[data-pm-start][data-pm-end]");for(let c of Array.from(i)){let r=c,a=Number(r.dataset.pmStart),u=Number(r.dataset.pmEnd);if(t>=a&&t<=u)return e}}for(let l of Array.from(n)){let e=l,i=e.closest(".layout-paragraph");if(!i)continue;let c=Number(i.dataset.pmStart),r=Number(i.dataset.pmEnd);if(t>=c&&t<=r&&i.querySelector(".layout-line")===e)return e}return null}function N(o,t){let n=o.querySelectorAll("span[data-pm-start][data-pm-end]");if(n.length===0){let c=o.closest(".layout-paragraph");return c?.dataset.pmStart?Number(c.dataset.pmStart)+1:null}for(let c of Array.from(n)){let r=c,a=r.getBoundingClientRect(),u=Number(r.dataset.pmStart),p=Number(r.dataset.pmEnd);if(r.classList.contains("layout-run-tab")){if(t>=a.left&&t<=a.right){let f=(a.left+a.right)/2;return t<f?u:p}continue}if(t>=a.left&&t<=a.right){let f=r.firstChild;if(!f||f.nodeType!==Node.TEXT_NODE)return u;let m=f,g=r.ownerDocument;if(!g)return u;let s=0,y=m.length;for(;s<y;){let d=Math.floor((s+y)/2),E=g.createRange();E.setStart(m,d),E.setEnd(m,d),t<E.getBoundingClientRect().left?y=d:s=d+1;}if(s>0&&s<=m.length){let d=g.createRange();d.setStart(m,s-1),d.setEnd(m,s-1);let E=d.getBoundingClientRect().left;d.setStart(m,Math.min(s,m.length)),d.setEnd(m,Math.min(s,m.length));let b=d.getBoundingClientRect().left;if(Math.abs(t-E)<Math.abs(t-b))return u+(s-1)}return u+Math.min(s,p-u)}}let l=null,e=1/0;for(let c of Array.from(n)){let r=c,a=r.getBoundingClientRect(),u=t<a.left?a.left-t:t-a.right;u<e&&(e=u,l=r);}if(!l)return null;let i=l.getBoundingClientRect();return t<i.left?Number(l.dataset.pmStart):Number(l.dataset.pmEnd)}function w(o,t,n,l){if(n.key!=="ArrowUp"&&n.key!=="ArrowDown")return (["ArrowLeft","ArrowRight","Home","End"].includes(n.key)||n.key.length===1&&!n.ctrlKey&&!n.metaKey)&&(o.stickyX=null,o.lastVisualLineIndex=-1),false;if(n.ctrlKey||n.metaKey)return o.stickyX=null,o.lastVisualLineIndex=-1,false;if(!l)return false;let e=Array.from(l.querySelectorAll(S));if(e.length===0)return false;let{from:i,anchor:c}=t.state.selection;if(o.stickyX===null){let s=x(l,i);if(s===null)return false;o.stickyX=s;}let r;if(o.lastVisualLineIndex>=0&&o.lastVisualLineIndex<e.length)r=o.lastVisualLineIndex;else {let s=M(l,i);if(!s||(r=e.indexOf(s),r===-1))return false}let a=n.key==="ArrowUp"?r-1:r+1;if(a<0||a>=e.length)return o.lastVisualLineIndex=-1,false;let u=e[a],p=N(u,o.stickyX);if(p===null)return false;o.lastVisualLineIndex=a;let{state:f,dispatch:m}=t,g=Math.max(0,Math.min(p,f.doc.content.size));try{let s=n.shiftKey?prosemirrorState.TextSelection.create(f.doc,c,g):prosemirrorState.TextSelection.create(f.doc,g);m(f.tr.setSelection(s));}catch{let s=f.doc.resolve(g),y=n.shiftKey?prosemirrorState.TextSelection.between(f.doc.resolve(c),s):prosemirrorState.TextSelection.near(s);m(f.tr.setSelection(y));}return T(u),true}exports.createVisualLineState=C;exports.findLineElementAtPosition=M;exports.findPositionOnLineAtClientX=N;exports.getCaretClientX=x;exports.handleVisualLineKeyDown=w;
@@ -0,0 +1 @@
1
+ import {a}from'../../chunk-RPIQG46O.mjs';import'../../chunk-QYUPLKLP.mjs';import {TextSelection}from'prosemirror-state';var S=".layout-page-content .layout-line";function C(){return {stickyX:null,lastVisualLineIndex:-1}}function T(o){let t=a(o);if(!t)return;let n=o.getBoundingClientRect(),l=t.getBoundingClientRect(),e=40;n.bottom>l.bottom-e?t.scrollTop+=n.bottom-l.bottom+e:n.top<l.top+e&&(t.scrollTop-=l.top-n.top+e);}function x(o,t){let n=o.querySelectorAll("span[data-pm-start][data-pm-end]");for(let e of Array.from(n)){let i=e,c=Number(i.dataset.pmStart),r=Number(i.dataset.pmEnd);if(i.classList.contains("layout-run-tab")){if(t>=c&&t<r)return i.getBoundingClientRect().left;continue}if(t>=c&&t<=r&&e.firstChild?.nodeType===Node.TEXT_NODE){let a=e.firstChild,u=Math.min(t-c,a.length),p=i.ownerDocument;if(!p)continue;let f=p.createRange();return f.setStart(a,u),f.setEnd(a,u),f.getBoundingClientRect().left}}let l=o.querySelectorAll(".layout-empty-run");for(let e of Array.from(l)){let i=e.closest(".layout-paragraph");if(!i)continue;let c=Number(i.dataset.pmStart),r=Number(i.dataset.pmEnd);if(t>=c&&t<=r)return e.getBoundingClientRect().left}return null}function M(o,t){let n=o.querySelectorAll(S);for(let l of Array.from(n)){let e=l,i=e.querySelectorAll("span[data-pm-start][data-pm-end]");for(let c of Array.from(i)){let r=c,a=Number(r.dataset.pmStart),u=Number(r.dataset.pmEnd);if(t>=a&&t<=u)return e}}for(let l of Array.from(n)){let e=l,i=e.closest(".layout-paragraph");if(!i)continue;let c=Number(i.dataset.pmStart),r=Number(i.dataset.pmEnd);if(t>=c&&t<=r&&i.querySelector(".layout-line")===e)return e}return null}function N(o,t){let n=o.querySelectorAll("span[data-pm-start][data-pm-end]");if(n.length===0){let c=o.closest(".layout-paragraph");return c?.dataset.pmStart?Number(c.dataset.pmStart)+1:null}for(let c of Array.from(n)){let r=c,a=r.getBoundingClientRect(),u=Number(r.dataset.pmStart),p=Number(r.dataset.pmEnd);if(r.classList.contains("layout-run-tab")){if(t>=a.left&&t<=a.right){let f=(a.left+a.right)/2;return t<f?u:p}continue}if(t>=a.left&&t<=a.right){let f=r.firstChild;if(!f||f.nodeType!==Node.TEXT_NODE)return u;let m=f,g=r.ownerDocument;if(!g)return u;let s=0,y=m.length;for(;s<y;){let d=Math.floor((s+y)/2),E=g.createRange();E.setStart(m,d),E.setEnd(m,d),t<E.getBoundingClientRect().left?y=d:s=d+1;}if(s>0&&s<=m.length){let d=g.createRange();d.setStart(m,s-1),d.setEnd(m,s-1);let E=d.getBoundingClientRect().left;d.setStart(m,Math.min(s,m.length)),d.setEnd(m,Math.min(s,m.length));let b=d.getBoundingClientRect().left;if(Math.abs(t-E)<Math.abs(t-b))return u+(s-1)}return u+Math.min(s,p-u)}}let l=null,e=1/0;for(let c of Array.from(n)){let r=c,a=r.getBoundingClientRect(),u=t<a.left?a.left-t:t-a.right;u<e&&(e=u,l=r);}if(!l)return null;let i=l.getBoundingClientRect();return t<i.left?Number(l.dataset.pmStart):Number(l.dataset.pmEnd)}function w(o,t,n,l){if(n.key!=="ArrowUp"&&n.key!=="ArrowDown")return (["ArrowLeft","ArrowRight","Home","End"].includes(n.key)||n.key.length===1&&!n.ctrlKey&&!n.metaKey)&&(o.stickyX=null,o.lastVisualLineIndex=-1),false;if(n.ctrlKey||n.metaKey)return o.stickyX=null,o.lastVisualLineIndex=-1,false;if(!l)return false;let e=Array.from(l.querySelectorAll(S));if(e.length===0)return false;let{from:i,anchor:c}=t.state.selection;if(o.stickyX===null){let s=x(l,i);if(s===null)return false;o.stickyX=s;}let r;if(o.lastVisualLineIndex>=0&&o.lastVisualLineIndex<e.length)r=o.lastVisualLineIndex;else {let s=M(l,i);if(!s||(r=e.indexOf(s),r===-1))return false}let a=n.key==="ArrowUp"?r-1:r+1;if(a<0||a>=e.length)return o.lastVisualLineIndex=-1,false;let u=e[a],p=N(u,o.stickyX);if(p===null)return false;o.lastVisualLineIndex=a;let{state:f,dispatch:m}=t,g=Math.max(0,Math.min(p,f.doc.content.size));try{let s=n.shiftKey?TextSelection.create(f.doc,c,g):TextSelection.create(f.doc,g);m(f.tr.setSelection(s));}catch{let s=f.doc.resolve(g),y=n.shiftKey?TextSelection.between(f.doc.resolve(c),s):TextSelection.near(s);m(f.tr.setSelection(y));}return T(u),true}export{C as createVisualLineState,M as findLineElementAtPosition,N as findPositionOnLineAtClientX,x as getCaretClientX,w as handleVisualLineKeyDown};
@@ -0,0 +1,165 @@
1
+ import { b as CorePlugin, k as PluginOptions, l as PluginRegistrationResult, C as CommandHandler, f as McpToolDefinition, j as PluginEventListener } from './types-dYdjUZMo.mjs';
2
+
3
+ /**
4
+ * Plugin Registry
5
+ *
6
+ * Central registry for core plugins. Manages plugin lifecycle,
7
+ * collects command handlers from all plugins, and aggregates
8
+ * MCP tool definitions for the MCP server.
9
+ */
10
+
11
+ /**
12
+ * Plugin Registry - manages core plugins
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { pluginRegistry, docxtemplaterPlugin } from '@eigenpal/docx-editor/core-plugins';
17
+ *
18
+ * // Register plugins
19
+ * pluginRegistry.register(docxtemplaterPlugin);
20
+ *
21
+ * // Get all MCP tools for MCP server
22
+ * const tools = pluginRegistry.getMcpTools();
23
+ *
24
+ * // Get command handler for executor
25
+ * const handler = pluginRegistry.getCommandHandler('insertTemplateVariable');
26
+ * ```
27
+ */
28
+ declare class PluginRegistry {
29
+ private plugins;
30
+ private commandHandlers;
31
+ private eventListeners;
32
+ private initialized;
33
+ /**
34
+ * Register a plugin
35
+ *
36
+ * @param plugin - The plugin to register
37
+ * @param options - Optional configuration
38
+ * @returns Registration result
39
+ */
40
+ register(plugin: CorePlugin, options?: PluginOptions): PluginRegistrationResult;
41
+ /**
42
+ * Unregister a plugin
43
+ *
44
+ * @param pluginId - ID of the plugin to unregister
45
+ * @returns Whether unregistration succeeded
46
+ */
47
+ unregister(pluginId: string): boolean;
48
+ /**
49
+ * Get a registered plugin by ID
50
+ *
51
+ * @param id - Plugin ID
52
+ * @returns The plugin or undefined
53
+ */
54
+ get(id: string): CorePlugin | undefined;
55
+ /**
56
+ * Get all registered plugins
57
+ *
58
+ * @returns Array of all plugins
59
+ */
60
+ getAll(): CorePlugin[];
61
+ /**
62
+ * Check if a plugin is registered
63
+ *
64
+ * @param id - Plugin ID
65
+ * @returns Whether the plugin is registered
66
+ */
67
+ has(id: string): boolean;
68
+ /**
69
+ * Get number of registered plugins
70
+ */
71
+ get size(): number;
72
+ /**
73
+ * Get a command handler for a command type
74
+ *
75
+ * @param commandType - The command type
76
+ * @returns The handler or undefined
77
+ */
78
+ getCommandHandler(commandType: string): CommandHandler | undefined;
79
+ /**
80
+ * Get all registered command types
81
+ *
82
+ * @returns Array of command type strings
83
+ */
84
+ getCommandTypes(): string[];
85
+ /**
86
+ * Check if a command type has a handler
87
+ *
88
+ * @param commandType - The command type
89
+ * @returns Whether a handler exists
90
+ */
91
+ hasCommandHandler(commandType: string): boolean;
92
+ /**
93
+ * Get all MCP tools from all registered plugins
94
+ *
95
+ * @returns Array of MCP tool definitions
96
+ */
97
+ getMcpTools(): McpToolDefinition[];
98
+ /**
99
+ * Get MCP tools from a specific plugin
100
+ *
101
+ * @param pluginId - Plugin ID
102
+ * @returns Array of MCP tool definitions
103
+ */
104
+ getMcpToolsForPlugin(pluginId: string): McpToolDefinition[];
105
+ /**
106
+ * Get an MCP tool by name
107
+ *
108
+ * @param toolName - Tool name
109
+ * @returns The tool definition or undefined
110
+ */
111
+ getMcpTool(toolName: string): McpToolDefinition | undefined;
112
+ /**
113
+ * Add an event listener
114
+ *
115
+ * @param listener - Event listener function
116
+ */
117
+ addEventListener(listener: PluginEventListener): void;
118
+ /**
119
+ * Remove an event listener
120
+ *
121
+ * @param listener - Event listener function
122
+ */
123
+ removeEventListener(listener: PluginEventListener): void;
124
+ /**
125
+ * Emit an event to all listeners
126
+ */
127
+ private emit;
128
+ /**
129
+ * Clear all registered plugins
130
+ *
131
+ * Useful for testing or resetting state.
132
+ */
133
+ clear(): void;
134
+ /**
135
+ * Get registry state for debugging
136
+ */
137
+ getDebugInfo(): {
138
+ plugins: string[];
139
+ commandTypes: string[];
140
+ mcpTools: string[];
141
+ initialized: string[];
142
+ };
143
+ }
144
+ /**
145
+ * Global plugin registry instance
146
+ *
147
+ * Use this for registering plugins and accessing their capabilities.
148
+ */
149
+ declare const pluginRegistry: PluginRegistry;
150
+ /**
151
+ * Register multiple plugins at once
152
+ *
153
+ * @param plugins - Array of plugins to register
154
+ * @returns Array of registration results
155
+ */
156
+ declare function registerPlugins(plugins: CorePlugin[], options?: PluginOptions): PluginRegistrationResult[];
157
+ /**
158
+ * Create a plugin registration helper with options pre-configured
159
+ *
160
+ * @param options - Default options for plugin registration
161
+ * @returns Registration function
162
+ */
163
+ declare function createPluginRegistrar(options: PluginOptions): (plugin: CorePlugin) => PluginRegistrationResult;
164
+
165
+ export { PluginRegistry as P, createPluginRegistrar as c, pluginRegistry as p, registerPlugins as r };
@@ -0,0 +1,165 @@
1
+ import { b as CorePlugin, k as PluginOptions, l as PluginRegistrationResult, C as CommandHandler, f as McpToolDefinition, j as PluginEventListener } from './types-DXG7vqe9.js';
2
+
3
+ /**
4
+ * Plugin Registry
5
+ *
6
+ * Central registry for core plugins. Manages plugin lifecycle,
7
+ * collects command handlers from all plugins, and aggregates
8
+ * MCP tool definitions for the MCP server.
9
+ */
10
+
11
+ /**
12
+ * Plugin Registry - manages core plugins
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { pluginRegistry, docxtemplaterPlugin } from '@eigenpal/docx-editor/core-plugins';
17
+ *
18
+ * // Register plugins
19
+ * pluginRegistry.register(docxtemplaterPlugin);
20
+ *
21
+ * // Get all MCP tools for MCP server
22
+ * const tools = pluginRegistry.getMcpTools();
23
+ *
24
+ * // Get command handler for executor
25
+ * const handler = pluginRegistry.getCommandHandler('insertTemplateVariable');
26
+ * ```
27
+ */
28
+ declare class PluginRegistry {
29
+ private plugins;
30
+ private commandHandlers;
31
+ private eventListeners;
32
+ private initialized;
33
+ /**
34
+ * Register a plugin
35
+ *
36
+ * @param plugin - The plugin to register
37
+ * @param options - Optional configuration
38
+ * @returns Registration result
39
+ */
40
+ register(plugin: CorePlugin, options?: PluginOptions): PluginRegistrationResult;
41
+ /**
42
+ * Unregister a plugin
43
+ *
44
+ * @param pluginId - ID of the plugin to unregister
45
+ * @returns Whether unregistration succeeded
46
+ */
47
+ unregister(pluginId: string): boolean;
48
+ /**
49
+ * Get a registered plugin by ID
50
+ *
51
+ * @param id - Plugin ID
52
+ * @returns The plugin or undefined
53
+ */
54
+ get(id: string): CorePlugin | undefined;
55
+ /**
56
+ * Get all registered plugins
57
+ *
58
+ * @returns Array of all plugins
59
+ */
60
+ getAll(): CorePlugin[];
61
+ /**
62
+ * Check if a plugin is registered
63
+ *
64
+ * @param id - Plugin ID
65
+ * @returns Whether the plugin is registered
66
+ */
67
+ has(id: string): boolean;
68
+ /**
69
+ * Get number of registered plugins
70
+ */
71
+ get size(): number;
72
+ /**
73
+ * Get a command handler for a command type
74
+ *
75
+ * @param commandType - The command type
76
+ * @returns The handler or undefined
77
+ */
78
+ getCommandHandler(commandType: string): CommandHandler | undefined;
79
+ /**
80
+ * Get all registered command types
81
+ *
82
+ * @returns Array of command type strings
83
+ */
84
+ getCommandTypes(): string[];
85
+ /**
86
+ * Check if a command type has a handler
87
+ *
88
+ * @param commandType - The command type
89
+ * @returns Whether a handler exists
90
+ */
91
+ hasCommandHandler(commandType: string): boolean;
92
+ /**
93
+ * Get all MCP tools from all registered plugins
94
+ *
95
+ * @returns Array of MCP tool definitions
96
+ */
97
+ getMcpTools(): McpToolDefinition[];
98
+ /**
99
+ * Get MCP tools from a specific plugin
100
+ *
101
+ * @param pluginId - Plugin ID
102
+ * @returns Array of MCP tool definitions
103
+ */
104
+ getMcpToolsForPlugin(pluginId: string): McpToolDefinition[];
105
+ /**
106
+ * Get an MCP tool by name
107
+ *
108
+ * @param toolName - Tool name
109
+ * @returns The tool definition or undefined
110
+ */
111
+ getMcpTool(toolName: string): McpToolDefinition | undefined;
112
+ /**
113
+ * Add an event listener
114
+ *
115
+ * @param listener - Event listener function
116
+ */
117
+ addEventListener(listener: PluginEventListener): void;
118
+ /**
119
+ * Remove an event listener
120
+ *
121
+ * @param listener - Event listener function
122
+ */
123
+ removeEventListener(listener: PluginEventListener): void;
124
+ /**
125
+ * Emit an event to all listeners
126
+ */
127
+ private emit;
128
+ /**
129
+ * Clear all registered plugins
130
+ *
131
+ * Useful for testing or resetting state.
132
+ */
133
+ clear(): void;
134
+ /**
135
+ * Get registry state for debugging
136
+ */
137
+ getDebugInfo(): {
138
+ plugins: string[];
139
+ commandTypes: string[];
140
+ mcpTools: string[];
141
+ initialized: string[];
142
+ };
143
+ }
144
+ /**
145
+ * Global plugin registry instance
146
+ *
147
+ * Use this for registering plugins and accessing their capabilities.
148
+ */
149
+ declare const pluginRegistry: PluginRegistry;
150
+ /**
151
+ * Register multiple plugins at once
152
+ *
153
+ * @param plugins - Array of plugins to register
154
+ * @returns Array of registration results
155
+ */
156
+ declare function registerPlugins(plugins: CorePlugin[], options?: PluginOptions): PluginRegistrationResult[];
157
+ /**
158
+ * Create a plugin registration helper with options pre-configured
159
+ *
160
+ * @param options - Default options for plugin registration
161
+ * @returns Registration function
162
+ */
163
+ declare function createPluginRegistrar(options: PluginOptions): (plugin: CorePlugin) => PluginRegistrationResult;
164
+
165
+ export { PluginRegistry as P, createPluginRegistrar as c, pluginRegistry as p, registerPlugins as r };