@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,823 @@
1
+ /**
2
+ * ProseMirror Editor Styles
3
+ *
4
+ * Provides page-like layout similar to Word/Google Docs
5
+ */
6
+
7
+ /* Outer wrapper - handles scrolling and background */
8
+ .prosemirror-editor-wrapper {
9
+ min-height: 100%;
10
+ /* overflow, background, and padding set via inline styles */
11
+ }
12
+
13
+ /* Zoom container - sized to match scaled content for proper scrolling */
14
+ .prosemirror-zoom-container {
15
+ /* Width, height, margin set via inline styles based on zoom */
16
+ }
17
+
18
+ /* Editor container - the transform target */
19
+ .prosemirror-editor {
20
+ /* Transform applied via inline styles for zoom */
21
+ /* CSS variables (--page-width, etc.) set via inline styles */
22
+ /* Width is set to page width so transform scales correctly */
23
+ width: var(--page-width, 8.5in);
24
+ }
25
+
26
+ /* Editor content area (the actual editable content) */
27
+ .prosemirror-editor .ProseMirror {
28
+ background: white;
29
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
30
+ /* Use CSS variables for page layout, with fallbacks */
31
+ width: var(--page-width, 8.5in);
32
+ /* min-height creates a single page appearance */
33
+ min-height: var(--page-height, 11in);
34
+ padding-top: var(--margin-top, 72px);
35
+ padding-bottom: var(--margin-bottom, 72px);
36
+ padding-left: var(--margin-left, 72px);
37
+ padding-right: var(--margin-right, 72px);
38
+ /* Remove max-width constraint - let the page be its natural size */
39
+ outline: none;
40
+ /* Default font - will be overridden by inline styles from DOCX */
41
+ font-family: 'Calibri', 'Arial', sans-serif;
42
+ font-size: 11pt;
43
+ /* DO NOT set line-height here - it overrides inline paragraph styles */
44
+ /* line-height is set per-paragraph via inline styles from paragraphAttrsToDOMStyle */
45
+ color: #000;
46
+ white-space: pre-wrap;
47
+ word-wrap: break-word;
48
+ /* Tab size for proper tab character rendering (0.5 inch = 48px at 96dpi) */
49
+ tab-size: 48;
50
+ -moz-tab-size: 48;
51
+ /* Ensure box-sizing includes padding in width calculation */
52
+ box-sizing: border-box;
53
+ /* Page break behavior - show page breaks visually */
54
+ position: relative;
55
+ }
56
+
57
+ /* ============================================================================
58
+ PAGE BREAK STYLES - Visual page boundaries like Word/Google Docs
59
+ ============================================================================ */
60
+
61
+ /* Page break indicator - inserted by PageBreakPlugin */
62
+ .prosemirror-editor .ProseMirror .docx-page-break {
63
+ display: block;
64
+ position: relative;
65
+ height: 40px;
66
+ margin: 0 calc(-1 * var(--margin-left, 72px));
67
+ margin-right: calc(-1 * var(--margin-right, 72px));
68
+ background: var(--doc-bg);
69
+ border: none;
70
+ pointer-events: none;
71
+ }
72
+
73
+ /* Top shadow of next page */
74
+ .prosemirror-editor .ProseMirror .docx-page-break::before {
75
+ content: '';
76
+ position: absolute;
77
+ bottom: 0;
78
+ left: 0;
79
+ right: 0;
80
+ height: 8px;
81
+ background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.08));
82
+ }
83
+
84
+ /* Bottom shadow of previous page */
85
+ .prosemirror-editor .ProseMirror .docx-page-break::after {
86
+ content: '';
87
+ position: absolute;
88
+ top: 0;
89
+ left: 0;
90
+ right: 0;
91
+ height: 8px;
92
+ background: linear-gradient(to top, transparent, rgba(0, 0, 0, 0.08));
93
+ }
94
+
95
+ /* Explicit page break (from DOCX pageBreakBefore) */
96
+ .prosemirror-editor .ProseMirror [data-page-break-before='true'] {
97
+ break-before: page;
98
+ }
99
+
100
+ /* Page break dashed line indicator (alternative style) */
101
+ .prosemirror-editor .ProseMirror .docx-page-break-line {
102
+ display: block;
103
+ position: relative;
104
+ height: 1px;
105
+ margin: 20px calc(-1 * var(--margin-left, 72px));
106
+ margin-right: calc(-1 * var(--margin-right, 72px));
107
+ border-top: 1px dashed var(--doc-border);
108
+ }
109
+
110
+ .prosemirror-editor .ProseMirror .docx-page-break-line::before {
111
+ content: 'Page Break';
112
+ position: absolute;
113
+ top: -10px;
114
+ left: 50%;
115
+ transform: translateX(-50%);
116
+ background: var(--doc-bg);
117
+ padding: 0 8px;
118
+ font-size: 10px;
119
+ color: var(--doc-text-muted);
120
+ white-space: nowrap;
121
+ }
122
+
123
+ /* Focus state */
124
+ .prosemirror-editor .ProseMirror:focus {
125
+ outline: none;
126
+ }
127
+
128
+ /* Paragraphs - ensure they display as blocks with proper spacing */
129
+ /* IMPORTANT: Do NOT set margin, line-height, or font here - use inline styles from DOCX */
130
+ .prosemirror-editor .ProseMirror p {
131
+ display: block;
132
+ /* Default margin only when no inline style is set */
133
+ margin: 0;
134
+ padding: 0;
135
+ min-height: 1em;
136
+ white-space: pre-wrap;
137
+ word-wrap: break-word;
138
+ /* Default line height - can be overridden by inline styles */
139
+ line-height: normal;
140
+ }
141
+
142
+ /* Empty paragraph placeholder */
143
+ .prosemirror-editor .ProseMirror p:empty::before {
144
+ content: '\00a0';
145
+ }
146
+
147
+ /* Inline spans for formatting - ensure they don't break layout */
148
+ .prosemirror-editor .ProseMirror span {
149
+ display: inline;
150
+ white-space: pre-wrap;
151
+ }
152
+
153
+ /* List styles */
154
+ .prosemirror-editor .ProseMirror .docx-list-bullet,
155
+ .prosemirror-editor .ProseMirror .docx-list-numbered {
156
+ position: relative;
157
+ /* Increased padding to accommodate longer markers like "1.1.1." */
158
+ padding-left: 48px;
159
+ }
160
+
161
+ /* Use the computed marker from DOCX when available */
162
+ .prosemirror-editor .ProseMirror [data-list-marker]::before {
163
+ content: attr(data-list-marker);
164
+ position: absolute;
165
+ /* Position marker at right edge of the marker area so it aligns with content */
166
+ left: 0;
167
+ width: 44px;
168
+ text-align: right;
169
+ white-space: nowrap;
170
+ }
171
+
172
+ /* Fallback for bullet lists without marker */
173
+ .prosemirror-editor .ProseMirror .docx-list-bullet:not([data-list-marker])::before {
174
+ content: '•';
175
+ position: absolute;
176
+ left: 0;
177
+ width: 44px;
178
+ text-align: right;
179
+ }
180
+
181
+ /* Fallback for numbered lists without marker - use CSS counters */
182
+ .prosemirror-editor .ProseMirror .docx-list-numbered:not([data-list-marker]) {
183
+ counter-increment: list-counter;
184
+ }
185
+
186
+ .prosemirror-editor .ProseMirror .docx-list-decimal:not([data-list-marker])::before {
187
+ content: counter(list-counter) '.';
188
+ position: absolute;
189
+ left: 0;
190
+ width: 44px;
191
+ text-align: right;
192
+ }
193
+
194
+ .prosemirror-editor .ProseMirror .docx-list-lower-roman:not([data-list-marker])::before {
195
+ content: counter(list-counter, lower-roman) '.';
196
+ position: absolute;
197
+ left: 0;
198
+ width: 44px;
199
+ text-align: right;
200
+ }
201
+
202
+ .prosemirror-editor .ProseMirror .docx-list-upper-roman:not([data-list-marker])::before {
203
+ content: counter(list-counter, upper-roman) '.';
204
+ position: absolute;
205
+ left: 0;
206
+ width: 44px;
207
+ text-align: right;
208
+ }
209
+
210
+ .prosemirror-editor .ProseMirror .docx-list-lower-alpha:not([data-list-marker])::before {
211
+ content: counter(list-counter, lower-alpha) '.';
212
+ position: absolute;
213
+ left: 0;
214
+ width: 44px;
215
+ text-align: right;
216
+ }
217
+
218
+ .prosemirror-editor .ProseMirror .docx-list-upper-alpha:not([data-list-marker])::before {
219
+ content: counter(list-counter, upper-alpha) '.';
220
+ position: absolute;
221
+ left: 0;
222
+ width: 44px;
223
+ text-align: right;
224
+ }
225
+
226
+ /* Reset counter at level 0 for fallback */
227
+ .prosemirror-editor .ProseMirror .docx-list-level-0:not([data-list-marker]):first-of-type {
228
+ counter-reset: list-counter;
229
+ }
230
+
231
+ /* Indent levels */
232
+ .prosemirror-editor .ProseMirror .docx-list-level-1 {
233
+ margin-left: 0.5in;
234
+ }
235
+ .prosemirror-editor .ProseMirror .docx-list-level-2 {
236
+ margin-left: 1in;
237
+ }
238
+ .prosemirror-editor .ProseMirror .docx-list-level-3 {
239
+ margin-left: 1.5in;
240
+ }
241
+ .prosemirror-editor .ProseMirror .docx-list-level-4 {
242
+ margin-left: 2in;
243
+ }
244
+ .prosemirror-editor .ProseMirror .docx-list-level-5 {
245
+ margin-left: 2.5in;
246
+ }
247
+ .prosemirror-editor .ProseMirror .docx-list-level-6 {
248
+ margin-left: 3in;
249
+ }
250
+ .prosemirror-editor .ProseMirror .docx-list-level-7 {
251
+ margin-left: 3.5in;
252
+ }
253
+ .prosemirror-editor .ProseMirror .docx-list-level-8 {
254
+ margin-left: 4in;
255
+ }
256
+
257
+ /* Selection styling */
258
+ .prosemirror-editor .ProseMirror ::selection {
259
+ background: rgba(66, 133, 244, 0.3);
260
+ }
261
+
262
+ /* Placeholder styling */
263
+ .prosemirror-editor[data-placeholder]::before {
264
+ content: attr(data-placeholder);
265
+ color: #aaa;
266
+ position: absolute;
267
+ pointer-events: none;
268
+ }
269
+
270
+ /* ============================================================================
271
+ IMAGE STYLES - Word-like image rendering
272
+ ============================================================================
273
+
274
+ DOCX images have three main display modes:
275
+ 1. Inline - flows with text like a character (displayMode='inline')
276
+ 2. Float - text wraps around image (displayMode='float', cssFloat='left'|'right')
277
+ 3. Block - centered on its own line (displayMode='block')
278
+ */
279
+
280
+ /* Base image styling - all images */
281
+ .prosemirror-editor .ProseMirror img.docx-image {
282
+ /* IMPORTANT: Override global CSS reset that sets img { display: block } */
283
+ /* Default to inline for inline images - block/float set via inline style */
284
+ display: inline;
285
+ /* Dimensions set via inline styles, but constrain to page */
286
+ max-width: 100%;
287
+ /* Maintain aspect ratio when width-constrained */
288
+ object-fit: contain;
289
+ /* Vertical alignment for inline images - aligns bottom of image with text baseline */
290
+ vertical-align: baseline;
291
+ /* Prevent selection outline issues */
292
+ outline: none;
293
+ }
294
+
295
+ /* Floating images - text wraps around */
296
+ .prosemirror-editor .ProseMirror img.docx-image-float {
297
+ /* Float direction set via inline style */
298
+ /* Margins set via inline style based on wrap distances */
299
+ }
300
+
301
+ /* Left-floated images - text wraps on right side */
302
+ .prosemirror-editor .ProseMirror img.docx-image-float-left {
303
+ clear: left;
304
+ }
305
+
306
+ /* Right-floated images - text wraps on left side */
307
+ .prosemirror-editor .ProseMirror img.docx-image-float-right {
308
+ clear: right;
309
+ }
310
+
311
+ /* Block images - centered on their own line */
312
+ .prosemirror-editor .ProseMirror img.docx-image-block {
313
+ /* display:block and margin:auto set via inline style */
314
+ clear: both;
315
+ }
316
+
317
+ /* Paragraphs containing only a block image: remove text-indent and center */
318
+ .prosemirror-editor .ProseMirror p:has(> img.docx-image-block:only-child) {
319
+ text-indent: 0 !important;
320
+ text-align: center;
321
+ }
322
+
323
+ /* Clear floats after paragraphs containing floated images */
324
+ .prosemirror-editor .ProseMirror p:has(img.docx-image-float)::after {
325
+ content: '';
326
+ display: table;
327
+ clear: both;
328
+ }
329
+
330
+ /* Selected image indicator */
331
+ .prosemirror-editor .ProseMirror img.docx-image.ProseMirror-selectednode {
332
+ outline: 2px solid var(--doc-primary, #4285f4);
333
+ outline-offset: 2px;
334
+ cursor: grab;
335
+ }
336
+
337
+ /* Image dragging state */
338
+ .prosemirror-editor .ProseMirror.pm-image-dragging img.docx-image.ProseMirror-selectednode {
339
+ opacity: 0.4;
340
+ outline: 2px dashed var(--doc-primary, #4285f4);
341
+ cursor: grabbing;
342
+ }
343
+
344
+ /* Fallback for images without docx-image class */
345
+ .prosemirror-editor .ProseMirror img:not(.docx-image) {
346
+ max-width: 100%;
347
+ height: auto;
348
+ }
349
+
350
+ /* Shapes */
351
+ .prosemirror-editor .ProseMirror .docx-shape {
352
+ display: inline-block;
353
+ vertical-align: middle;
354
+ line-height: 0;
355
+ cursor: pointer;
356
+ }
357
+
358
+ .prosemirror-editor .ProseMirror .docx-shape.ProseMirror-selectednode {
359
+ outline: 2px solid var(--doc-primary, #4285f4);
360
+ outline-offset: 2px;
361
+ }
362
+
363
+ /* Text boxes */
364
+ .prosemirror-editor .ProseMirror .docx-textbox {
365
+ border-radius: 2px;
366
+ margin: 4px 0;
367
+ cursor: text;
368
+ }
369
+
370
+ .prosemirror-editor .ProseMirror .docx-textbox.ProseMirror-selectednode {
371
+ outline: 2px solid var(--doc-primary, #4285f4);
372
+ outline-offset: 2px;
373
+ }
374
+
375
+ /* Links */
376
+ .prosemirror-editor .ProseMirror a {
377
+ color: var(--doc-link);
378
+ text-decoration: underline;
379
+ }
380
+
381
+ .prosemirror-editor .ProseMirror a:hover {
382
+ color: var(--doc-primary-hover);
383
+ }
384
+
385
+ /* Footnote/Endnote references */
386
+ .prosemirror-editor .ProseMirror .docx-footnote-ref,
387
+ .prosemirror-editor .ProseMirror .docx-endnote-ref {
388
+ color: var(--doc-link, #0066cc);
389
+ cursor: pointer;
390
+ vertical-align: super;
391
+ font-size: smaller;
392
+ }
393
+
394
+ .prosemirror-editor .ProseMirror .docx-footnote-ref:hover,
395
+ .prosemirror-editor .ProseMirror .docx-endnote-ref:hover {
396
+ text-decoration: underline;
397
+ }
398
+
399
+ /* Horizontal rule */
400
+ .prosemirror-editor .ProseMirror hr {
401
+ border: none;
402
+ border-top: 1px solid #000;
403
+ margin: 12pt 0;
404
+ height: 0;
405
+ }
406
+
407
+ /* ============================================================================
408
+ TABLE STYLES
409
+ ============================================================================ */
410
+
411
+ /* Table container */
412
+ .prosemirror-editor .ProseMirror table.docx-table {
413
+ border-collapse: collapse;
414
+ margin: 12pt 0;
415
+ /* Constrain table to fit within the page - prevent overflow */
416
+ max-width: 100%;
417
+ }
418
+
419
+ /* Table cells */
420
+ .prosemirror-editor .ProseMirror td.docx-table-cell,
421
+ .prosemirror-editor .ProseMirror th.docx-table-header {
422
+ /* Borders are set via inline styles from DOCX - no default border here */
423
+ /* to avoid conflicting with per-side border styling */
424
+ padding: 4px 8px;
425
+ vertical-align: top;
426
+ min-width: 30px;
427
+ /* Text wrapping handled via inline styles based on noWrap attribute */
428
+ }
429
+
430
+ /* Table header cells are structural; DOCX text formatting comes from marks/styles. */
431
+ .prosemirror-editor .ProseMirror th.docx-table-header {
432
+ font-weight: inherit;
433
+ text-align: inherit;
434
+ }
435
+
436
+ /* Cell content - paragraphs inside cells */
437
+ .prosemirror-editor .ProseMirror td p,
438
+ .prosemirror-editor .ProseMirror th p {
439
+ margin: 0;
440
+ padding: 0;
441
+ min-height: auto;
442
+ }
443
+
444
+ /* First paragraph in cell shouldn't have top margin */
445
+ .prosemirror-editor .ProseMirror td p:first-child,
446
+ .prosemirror-editor .ProseMirror th p:first-child {
447
+ margin-top: 0;
448
+ }
449
+
450
+ /* Last paragraph in cell shouldn't have bottom margin */
451
+ .prosemirror-editor .ProseMirror td p:last-child,
452
+ .prosemirror-editor .ProseMirror th p:last-child {
453
+ margin-bottom: 0;
454
+ }
455
+
456
+ /* Active cell (cursor is inside this cell) — subtle outline so user knows which cell will be affected */
457
+ .prosemirror-editor .ProseMirror .activeCell {
458
+ outline: 2px solid rgba(66, 133, 244, 0.5);
459
+ outline-offset: -2px;
460
+ }
461
+
462
+ /* Selected cell highlight (multi-cell CellSelection) */
463
+ .prosemirror-editor .ProseMirror .selectedCell {
464
+ background-color: rgba(66, 133, 244, 0.15);
465
+ }
466
+
467
+ /* Table selection */
468
+ .prosemirror-editor .ProseMirror .selectedCell::after {
469
+ content: '';
470
+ position: absolute;
471
+ inset: 0;
472
+ background: rgba(66, 133, 244, 0.1);
473
+ pointer-events: none;
474
+ }
475
+
476
+ /* Nested tables */
477
+ .prosemirror-editor .ProseMirror table table {
478
+ margin: 4px 0;
479
+ }
480
+
481
+ /* ============================================================================
482
+ TABLE COLUMN RESIZE
483
+ ============================================================================ */
484
+
485
+ /* Column resize handle - visible on hover */
486
+ .prosemirror-editor .ProseMirror .column-resize-handle {
487
+ position: absolute;
488
+ right: -2px;
489
+ top: 0;
490
+ bottom: 0;
491
+ width: 4px;
492
+ background-color: rgba(66, 133, 244, 0.5);
493
+ cursor: col-resize;
494
+ z-index: 20;
495
+ }
496
+
497
+ /* Make cells position relative for resize handle positioning */
498
+ .prosemirror-editor .ProseMirror td.docx-table-cell,
499
+ .prosemirror-editor .ProseMirror th.docx-table-header {
500
+ position: relative;
501
+ }
502
+
503
+ /* Cursor change when resizing */
504
+ .prosemirror-editor .ProseMirror.resize-cursor {
505
+ cursor: col-resize;
506
+ }
507
+
508
+ /* Hide resize handle when not hovering the table, show on hover */
509
+ .prosemirror-editor .ProseMirror table:not(:hover) .column-resize-handle {
510
+ background-color: transparent;
511
+ }
512
+
513
+ .prosemirror-editor .ProseMirror table:hover .column-resize-handle {
514
+ background-color: rgba(66, 133, 244, 0.3);
515
+ }
516
+
517
+ /* Highlight resize handle on direct hover */
518
+ .prosemirror-editor .ProseMirror .column-resize-handle:hover {
519
+ background-color: rgba(66, 133, 244, 0.7);
520
+ }
521
+
522
+ /* ============================================================================
523
+ TAB STYLES
524
+ ============================================================================ */
525
+
526
+ /* Tab character - renders as inline block with minimum width */
527
+ .prosemirror-editor .ProseMirror span.docx-tab {
528
+ display: inline-block;
529
+ min-width: 48px; /* 0.5 inch default tab stop */
530
+ white-space: pre;
531
+ /* Align to tab grid using CSS */
532
+ background: transparent;
533
+ }
534
+
535
+ /* Tab leader styles (for future enhancement) */
536
+ .prosemirror-editor .ProseMirror span.docx-tab[data-leader='dot']::before {
537
+ content: '...........';
538
+ position: absolute;
539
+ color: inherit;
540
+ white-space: nowrap;
541
+ overflow: hidden;
542
+ }
543
+
544
+ .prosemirror-editor .ProseMirror span.docx-tab[data-leader='hyphen']::before {
545
+ content: '-----------';
546
+ position: absolute;
547
+ color: inherit;
548
+ white-space: nowrap;
549
+ overflow: hidden;
550
+ }
551
+
552
+ .prosemirror-editor .ProseMirror span.docx-tab[data-leader='underscore']::before {
553
+ content: '___________';
554
+ position: absolute;
555
+ color: inherit;
556
+ white-space: nowrap;
557
+ overflow: hidden;
558
+ }
559
+
560
+ /* ============================================================================
561
+ TEXT TRANSFORM STYLES - All caps, small caps
562
+ ============================================================================ */
563
+
564
+ /* All caps (w:caps) - transforms text to uppercase */
565
+ .prosemirror-editor .ProseMirror .docx-run-all-caps {
566
+ text-transform: uppercase;
567
+ }
568
+
569
+ /* Small caps (w:smallCaps) - displays lowercase as smaller capitals */
570
+ .prosemirror-editor .ProseMirror .docx-run-small-caps {
571
+ font-variant: small-caps;
572
+ }
573
+
574
+ /* Section break indicator */
575
+ .docx-section-break {
576
+ position: relative;
577
+ }
578
+ .docx-section-break::after {
579
+ content: 'Section Break (' attr(data-section-break) ')';
580
+ display: block;
581
+ text-align: center;
582
+ font-size: 9px;
583
+ color: var(--doc-text-muted, #9ca3af);
584
+ border-top: 1px dashed var(--doc-border, #d1d5db);
585
+ margin-top: 4px;
586
+ padding-top: 2px;
587
+ pointer-events: none;
588
+ }
589
+
590
+ /* ============================================================================
591
+ IMAGE DROP INDICATOR - Shows where a dragged image will land
592
+ ============================================================================ */
593
+
594
+ /* Custom drop indicator (from ImageDragExtension) */
595
+ .prosemirror-editor .ProseMirror .pm-drop-indicator {
596
+ position: absolute;
597
+ width: 2px;
598
+ background: var(--doc-primary, #4285f4);
599
+ pointer-events: none;
600
+ z-index: 50;
601
+ }
602
+
603
+ /* prosemirror-dropcursor styling */
604
+ .prosemirror-editor .ProseMirror .ProseMirror-dropcursor {
605
+ z-index: 50;
606
+ }
607
+
608
+ /* Page content area — show text cursor when hovering over editable content */
609
+ .layout-page-content {
610
+ cursor: text;
611
+ }
612
+
613
+ /* Header/footer areas — double-click hint */
614
+ .layout-page-header,
615
+ .layout-page-footer {
616
+ cursor: pointer;
617
+ transition: background-color 0.15s ease;
618
+ }
619
+ .layout-page-header:hover,
620
+ .layout-page-footer:hover {
621
+ background-color: rgba(37, 99, 235, 0.06);
622
+ }
623
+ /* Show "Double-click to edit" hint on hover when area is empty */
624
+ .layout-page-header:empty:hover::after {
625
+ content: 'Double-click to add header';
626
+ display: block;
627
+ text-align: center;
628
+ color: #9ca3af;
629
+ font-size: 11px;
630
+ padding: 4px 0;
631
+ }
632
+ .layout-page-footer:empty:hover::after {
633
+ content: 'Double-click to add footer';
634
+ display: block;
635
+ text-align: center;
636
+ color: #9ca3af;
637
+ font-size: 11px;
638
+ padding: 4px 0;
639
+ }
640
+
641
+ /*
642
+ * Phase 5 of HF editing unification (openspec/changes/unify-hf-editing/):
643
+ * the inline overlay no longer mounts its own EditorView — the painter is
644
+ * the visible HF renderer and the persistent hidden HF PM is the sole
645
+ * editor. The entire `.hf-editor-pm` rule block that lived here existed
646
+ * only to make PM's `toDOM` table match the painter's flex layout; with
647
+ * the renderer unified, those workarounds (font-strut zeroing, `top:
648
+ * 0.4em` shim, table-layout overrides, line-height resets) are deleted
649
+ * by construction. Issue #468's class of bug is gone.
650
+ */
651
+
652
+ /* ============================================================================
653
+ INLINE HEADER/FOOTER EDITING — Dim body, separator bar, dotted borders
654
+ ============================================================================ */
655
+
656
+ /* Dim body content when editing header/footer */
657
+ .paged-editor--hf-editing .layout-page-content {
658
+ opacity: 0.4;
659
+ pointer-events: none;
660
+ transition: opacity 0.15s ease;
661
+ }
662
+
663
+ /* Dotted border on active header area */
664
+ .paged-editor--editing-header .layout-page-header {
665
+ border-bottom: 1px dotted #4285f4;
666
+ }
667
+
668
+ /* Dotted border on active footer area */
669
+ .paged-editor--editing-footer .layout-page-footer {
670
+ border-top: 1px dotted #4285f4;
671
+ }
672
+
673
+ /*
674
+ * HF editing unification phase 2 (openspec/changes/unify-hf-editing/):
675
+ * we used to hide the painter's HF region during edit and show the inline
676
+ * overlay's PM-rendered `<table>` on top. Now the painter is the sole
677
+ * visible renderer in both modes — the overlay's PM container moves
678
+ * off-screen instead (see InlineHeaderFooterEditor.tsx). Keeping the
679
+ * dotted-border affordance above; everything painter-related stays visible.
680
+ */
681
+
682
+ /* Remove hover effect on header/footer when in editing mode */
683
+ .paged-editor--hf-editing .layout-page-header:hover,
684
+ .paged-editor--hf-editing .layout-page-footer:hover {
685
+ background-color: transparent;
686
+ }
687
+
688
+ /* =============================================================================
689
+ * Tracked structural revisions — painter + ProseMirror DOM cues
690
+ *
691
+ * Lives in core because both React and Vue painters/PM trees emit the same
692
+ * class set via toDOM and renderParagraph. Color palette matches the
693
+ * insertion/deletion mark colors (#2e7d32 green, #c62828 red) used by
694
+ * InsertionExtension / DeletionExtension.
695
+ * ============================================================================= */
696
+
697
+ /* Paragraph mark — painter fragment (renderParagraph.ts) */
698
+ .layout-revision-pmark {
699
+ position: relative;
700
+ }
701
+ .layout-revision-pmark::before {
702
+ content: '';
703
+ position: absolute;
704
+ left: -10px;
705
+ top: 0;
706
+ bottom: 0;
707
+ width: 2px;
708
+ pointer-events: none;
709
+ }
710
+ .layout-revision-ins.layout-revision-pmark::before {
711
+ background-color: #2e7d32;
712
+ }
713
+ .layout-revision-del.layout-revision-pmark::before {
714
+ background-color: #c62828;
715
+ }
716
+ /* Pilcrow glyph — appended into the last line element by the painter so it
717
+ sits inline with the text instead of as a ::after pseudo on the fragment
718
+ (which would render as its own block row below the line). */
719
+ .layout-revision-pmark-glyph {
720
+ display: inline;
721
+ margin-left: 2px;
722
+ font-weight: normal;
723
+ opacity: 0.75;
724
+ pointer-events: none;
725
+ }
726
+ .layout-revision-pmark-glyph.layout-revision-ins {
727
+ color: #2e7d32;
728
+ }
729
+ .layout-revision-pmark-glyph.layout-revision-del {
730
+ color: #c62828;
731
+ text-decoration: line-through;
732
+ }
733
+
734
+ /* Paragraph mark — hidden ProseMirror DOM (ParagraphExtension toDOM) */
735
+ .ep-revision-pmark {
736
+ padding-left: 6px;
737
+ box-shadow: inset 2px 0 0 currentColor;
738
+ }
739
+ .ep-revision-pmark.ep-revision-ins {
740
+ color: #2e7d32;
741
+ }
742
+ .ep-revision-pmark.ep-revision-del {
743
+ color: #c62828;
744
+ }
745
+
746
+ /* Tracked row — colored left margin bar. Hidden ProseMirror table uses
747
+ normal block flow so we paint on the per-cell child (one bar per row).
748
+ The painted layout uses absolutely-positioned cells inside a relative
749
+ `.layout-table-row`, so a single ::before pseudo on the row draws one
750
+ continuous bar on the left edge — much cleaner than stamping a bar on
751
+ every cell child. */
752
+ .ep-revision-row {
753
+ position: relative;
754
+ }
755
+ .layout-table-row.ep-revision-row::before {
756
+ content: '';
757
+ position: absolute;
758
+ left: -10px;
759
+ top: 0;
760
+ bottom: 0;
761
+ width: 2px;
762
+ pointer-events: none;
763
+ }
764
+ .layout-table-row.ep-revision-row.ep-revision-ins::before {
765
+ background-color: #2e7d32;
766
+ }
767
+ .layout-table-row.ep-revision-row.ep-revision-del::before {
768
+ background-color: #c62828;
769
+ }
770
+
771
+ /* Whole-table tracked insertion / deletion — one tall bar in the page
772
+ margin to the LEFT of the table. Matches the paragraph change-bar
773
+ visual (`.layout-revision-pmark::before`) so the user sees a
774
+ consistent margin indicator for any tracked block. The painter sets
775
+ `overflow: visible` on tracked tables so this pseudo can extend
776
+ beyond the table's own bounds into the page padding area. */
777
+ .layout-table.ep-revision-table::before {
778
+ content: '';
779
+ position: absolute;
780
+ left: -10px;
781
+ top: 0;
782
+ bottom: 0;
783
+ width: 2px;
784
+ pointer-events: none;
785
+ }
786
+ .layout-table.ep-revision-table.ep-revision-ins::before {
787
+ background-color: #2e7d32;
788
+ }
789
+ .layout-table.ep-revision-table.ep-revision-del::before {
790
+ background-color: #c62828;
791
+ }
792
+ /* Hidden PM DOM path — kept for the off-screen editing surface. */
793
+ .ep-revision-row:not(.layout-table-row).ep-revision-ins > * {
794
+ box-shadow: inset 3px 0 0 #2e7d32;
795
+ }
796
+ .ep-revision-row:not(.layout-table-row).ep-revision-del > * {
797
+ box-shadow: inset 3px 0 0 #c62828;
798
+ text-decoration: line-through;
799
+ text-decoration-color: rgba(198, 40, 40, 0.6);
800
+ }
801
+
802
+ /* Tracked cell — colored top border + faint background tint */
803
+ .ep-revision-cell.ep-revision-ins {
804
+ box-shadow: inset 0 3px 0 #2e7d32;
805
+ background-color: rgba(46, 125, 50, 0.05);
806
+ }
807
+ .ep-revision-cell.ep-revision-del {
808
+ box-shadow: inset 0 3px 0 #c62828;
809
+ background-color: rgba(198, 40, 40, 0.05);
810
+ text-decoration: line-through;
811
+ text-decoration-color: rgba(198, 40, 40, 0.6);
812
+ }
813
+ .ep-revision-cell.ep-revision-merge {
814
+ box-shadow: inset 0 3px 0 #5f6368;
815
+ background-color: rgba(95, 99, 104, 0.05);
816
+ }
817
+
818
+ /* Property-change paragraphs/blocks — quiet left margin bar in a neutral
819
+ color so the change is visible without being loud. */
820
+ .ep-revision-prop-change {
821
+ box-shadow: inset 2px 0 0 #5f6368;
822
+ padding-left: 6px;
823
+ }