@notectl/core 1.7.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1374) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -31
  3. package/custom-elements.json +350 -6
  4. package/dist/chunks/AttrRegistry-Ckj9eCHj.mjs +2 -0
  5. package/dist/chunks/AttrRegistry-Ckj9eCHj.mjs.map +1 -0
  6. package/dist/chunks/AttributedMarkCommands-x7h4Xy7V.mjs +2 -0
  7. package/dist/chunks/AttributedMarkCommands-x7h4Xy7V.mjs.map +1 -0
  8. package/dist/chunks/BlockInsertion-zPxm6oa_.mjs +2 -0
  9. package/dist/chunks/BlockInsertion-zPxm6oa_.mjs.map +1 -0
  10. package/dist/chunks/BlockTypePickerRegistry-DcSE6IXB.mjs +2 -0
  11. package/dist/chunks/BlockTypePickerRegistry-DcSE6IXB.mjs.map +1 -0
  12. package/dist/chunks/ColorGrid-CpkbKfXg.mjs +2 -0
  13. package/dist/chunks/ColorGrid-CpkbKfXg.mjs.map +1 -0
  14. package/dist/chunks/ColorPickerPopup-CDUvkgcK.mjs +2 -0
  15. package/dist/chunks/ColorPickerPopup-CDUvkgcK.mjs.map +1 -0
  16. package/dist/chunks/ColorValidation-DCSKq9B2.mjs +2 -0
  17. package/dist/chunks/{ColorValidation-CV4f1wu6.mjs.map → ColorValidation-DCSKq9B2.mjs.map} +1 -1
  18. package/dist/chunks/Commands-DwXBBVGR.mjs +2 -0
  19. package/dist/chunks/Commands-DwXBBVGR.mjs.map +1 -0
  20. package/dist/chunks/Decoration-D49mFXrH.mjs +2 -0
  21. package/dist/chunks/Decoration-D49mFXrH.mjs.map +1 -0
  22. package/dist/chunks/Document-HC8s50qJ.mjs +2 -0
  23. package/dist/chunks/Document-HC8s50qJ.mjs.map +1 -0
  24. package/dist/chunks/DocumentParser-w70-Axud.mjs +2 -0
  25. package/dist/chunks/DocumentParser-w70-Axud.mjs.map +1 -0
  26. package/dist/chunks/DomUtils-CznMAZZg.mjs +2 -0
  27. package/dist/chunks/DomUtils-CznMAZZg.mjs.map +1 -0
  28. package/dist/chunks/HTMLUtils-Cxy99Ak2.mjs +2 -0
  29. package/dist/chunks/HTMLUtils-Cxy99Ak2.mjs.map +1 -0
  30. package/dist/chunks/HeadingPlugin-B-LF-AMM.mjs +2 -0
  31. package/dist/chunks/HeadingPlugin-B-LF-AMM.mjs.map +1 -0
  32. package/dist/chunks/KeyboardNav-DsYhKKuV.mjs +2 -0
  33. package/dist/chunks/KeyboardNav-DsYhKKuV.mjs.map +1 -0
  34. package/dist/chunks/MarkCommands-CTuVDqnn.mjs +2 -0
  35. package/dist/chunks/MarkCommands-CTuVDqnn.mjs.map +1 -0
  36. package/dist/chunks/NavigationQueries-DCOv4Ca5.mjs +2 -0
  37. package/dist/chunks/NavigationQueries-DCOv4Ca5.mjs.map +1 -0
  38. package/dist/chunks/NotectlEditor-DBBJkPCW.mjs +3 -0
  39. package/dist/chunks/NotectlEditor-DBBJkPCW.mjs.map +1 -0
  40. package/dist/chunks/Platform-CU6itXZo.mjs +2 -0
  41. package/dist/chunks/Platform-CU6itXZo.mjs.map +1 -0
  42. package/dist/chunks/PluginHelpers-CdPR0MuT.mjs +2 -0
  43. package/dist/chunks/PluginHelpers-CdPR0MuT.mjs.map +1 -0
  44. package/dist/chunks/PopupManager-Du3dYnsJ.mjs +2 -0
  45. package/dist/chunks/PopupManager-Du3dYnsJ.mjs.map +1 -0
  46. package/dist/chunks/PopupPositioning-DtvqMSop.mjs +2 -0
  47. package/dist/chunks/PopupPositioning-DtvqMSop.mjs.map +1 -0
  48. package/dist/chunks/PrintTypes-DukwDSWS.mjs +2 -0
  49. package/dist/chunks/PrintTypes-DukwDSWS.mjs.map +1 -0
  50. package/dist/chunks/RangeIterator-CprUbOWv.mjs +2 -0
  51. package/dist/chunks/{RangeIterator-Bh4Vl_6D.mjs.map → RangeIterator-CprUbOWv.mjs.map} +1 -1
  52. package/dist/chunks/Selection-DhbizDM4.mjs +2 -0
  53. package/dist/chunks/{Selection-BRTab5hO.mjs.map → Selection-DhbizDM4.mjs.map} +1 -1
  54. package/dist/chunks/SelectionTransactions-DB3YDIEa.mjs +2 -0
  55. package/dist/chunks/SelectionTransactions-DB3YDIEa.mjs.map +1 -0
  56. package/dist/chunks/ShortcutFormatting-BLKS0Gys.mjs +2 -0
  57. package/dist/chunks/ShortcutFormatting-BLKS0Gys.mjs.map +1 -0
  58. package/dist/chunks/StyleRuntime-BmsLoEa8.mjs +2 -0
  59. package/dist/chunks/{StyleRuntime-CP4NCwKT.mjs.map → StyleRuntime-BmsLoEa8.mjs.map} +1 -1
  60. package/dist/chunks/TextDirectionLocale-BraFI9JF.mjs +2 -0
  61. package/dist/chunks/TextDirectionLocale-BraFI9JF.mjs.map +1 -0
  62. package/dist/chunks/TypeBrands-Bp_Z_o5Y.mjs +2 -0
  63. package/dist/chunks/{TypeBrands-C09nE2qO.mjs.map → TypeBrands-Bp_Z_o5Y.mjs.map} +1 -1
  64. package/dist/chunks/XmlPatterns-DxQXGjP8.mjs +2 -0
  65. package/dist/chunks/XmlPatterns-DxQXGjP8.mjs.map +1 -0
  66. package/dist/chunks/ar-B93SPJT7.mjs +2 -0
  67. package/dist/chunks/ar-B93SPJT7.mjs.map +1 -0
  68. package/dist/chunks/ar-BAmGa08u.mjs +2 -0
  69. package/dist/chunks/ar-BAmGa08u.mjs.map +1 -0
  70. package/dist/chunks/ar-BYNFEVLc.mjs +2 -0
  71. package/dist/chunks/ar-BYNFEVLc.mjs.map +1 -0
  72. package/dist/chunks/ar-Bnc7y8BP.mjs +2 -0
  73. package/dist/chunks/ar-Bnc7y8BP.mjs.map +1 -0
  74. package/dist/chunks/ar-Bp3rDZky.mjs +2 -0
  75. package/dist/chunks/ar-Bp3rDZky.mjs.map +1 -0
  76. package/dist/chunks/ar-BtOQ7lro.mjs +2 -0
  77. package/dist/chunks/ar-BtOQ7lro.mjs.map +1 -0
  78. package/dist/chunks/ar-C5JEHhw9.mjs +2 -0
  79. package/dist/chunks/ar-C5JEHhw9.mjs.map +1 -0
  80. package/dist/chunks/ar-CL3QL0tw.mjs +2 -0
  81. package/dist/chunks/ar-CL3QL0tw.mjs.map +1 -0
  82. package/dist/chunks/ar-CYtG-XlN.mjs +2 -0
  83. package/dist/chunks/ar-CYtG-XlN.mjs.map +1 -0
  84. package/dist/chunks/ar-CzVj8p__.mjs +2 -0
  85. package/dist/chunks/ar-CzVj8p__.mjs.map +1 -0
  86. package/dist/chunks/ar-D7PS3e2g.mjs +2 -0
  87. package/dist/chunks/ar-D7PS3e2g.mjs.map +1 -0
  88. package/dist/chunks/ar-D8adM2Uy.mjs +2 -0
  89. package/dist/chunks/ar-D8adM2Uy.mjs.map +1 -0
  90. package/dist/chunks/ar-D9jyShaB.mjs +2 -0
  91. package/dist/chunks/ar-D9jyShaB.mjs.map +1 -0
  92. package/dist/chunks/ar-DR6OA3ZO.mjs +2 -0
  93. package/dist/chunks/ar-DR6OA3ZO.mjs.map +1 -0
  94. package/dist/chunks/ar-Deibepjm.mjs +2 -0
  95. package/dist/chunks/ar-Deibepjm.mjs.map +1 -0
  96. package/dist/chunks/ar-Dlb5riUN.mjs +2 -0
  97. package/dist/chunks/ar-Dlb5riUN.mjs.map +1 -0
  98. package/dist/chunks/ar-DmmxE2W7.mjs +2 -0
  99. package/dist/chunks/ar-DmmxE2W7.mjs.map +1 -0
  100. package/dist/chunks/ar-Ds6Z2Gzf.mjs +2 -0
  101. package/dist/chunks/ar-Ds6Z2Gzf.mjs.map +1 -0
  102. package/dist/chunks/ar-DtIHQ8nU.mjs +2 -0
  103. package/dist/chunks/ar-DtIHQ8nU.mjs.map +1 -0
  104. package/dist/chunks/ar-J8B-on-0.mjs +2 -0
  105. package/dist/chunks/ar-J8B-on-0.mjs.map +1 -0
  106. package/dist/chunks/ar-b6VdnxAs.mjs +2 -0
  107. package/dist/chunks/ar-b6VdnxAs.mjs.map +1 -0
  108. package/dist/chunks/ar-iU02mRe5.mjs +2 -0
  109. package/dist/chunks/ar-iU02mRe5.mjs.map +1 -0
  110. package/dist/chunks/ar-mSCYQYnL.mjs +2 -0
  111. package/dist/chunks/ar-mSCYQYnL.mjs.map +1 -0
  112. package/dist/chunks/color-picker-Byjl_xr9.mjs +2 -0
  113. package/dist/chunks/color-picker-Byjl_xr9.mjs.map +1 -0
  114. package/dist/chunks/de-8aCC5jBM.mjs +2 -0
  115. package/dist/chunks/de-8aCC5jBM.mjs.map +1 -0
  116. package/dist/chunks/de-B4y4ndUw.mjs +2 -0
  117. package/dist/chunks/de-B4y4ndUw.mjs.map +1 -0
  118. package/dist/chunks/de-B5fcZ0FQ.mjs +2 -0
  119. package/dist/chunks/de-B5fcZ0FQ.mjs.map +1 -0
  120. package/dist/chunks/de-BT9VmwoJ.mjs +2 -0
  121. package/dist/chunks/de-BT9VmwoJ.mjs.map +1 -0
  122. package/dist/chunks/de-BZWSyJTG.mjs +2 -0
  123. package/dist/chunks/de-BZWSyJTG.mjs.map +1 -0
  124. package/dist/chunks/de-CFD_Wgik.mjs +2 -0
  125. package/dist/chunks/de-CFD_Wgik.mjs.map +1 -0
  126. package/dist/chunks/de-CLYtb6kD.mjs +2 -0
  127. package/dist/chunks/de-CLYtb6kD.mjs.map +1 -0
  128. package/dist/chunks/de-CP5v-98M.mjs +2 -0
  129. package/dist/chunks/de-CP5v-98M.mjs.map +1 -0
  130. package/dist/chunks/de-CYJ6uWno.mjs +2 -0
  131. package/dist/chunks/de-CYJ6uWno.mjs.map +1 -0
  132. package/dist/chunks/de-ChcKkF7A.mjs +2 -0
  133. package/dist/chunks/de-ChcKkF7A.mjs.map +1 -0
  134. package/dist/chunks/de-CicoU066.mjs +2 -0
  135. package/dist/chunks/de-CicoU066.mjs.map +1 -0
  136. package/dist/chunks/de-CjLAdBt2.mjs +2 -0
  137. package/dist/chunks/de-CjLAdBt2.mjs.map +1 -0
  138. package/dist/chunks/de-CtFvAXwF.mjs +2 -0
  139. package/dist/chunks/de-CtFvAXwF.mjs.map +1 -0
  140. package/dist/chunks/de-D1OAXtxJ.mjs +2 -0
  141. package/dist/chunks/de-D1OAXtxJ.mjs.map +1 -0
  142. package/dist/chunks/de-DBbzCQrm.mjs +2 -0
  143. package/dist/chunks/de-DBbzCQrm.mjs.map +1 -0
  144. package/dist/chunks/de-DOLwx_M7.mjs +2 -0
  145. package/dist/chunks/de-DOLwx_M7.mjs.map +1 -0
  146. package/dist/chunks/de-De2miMxo.mjs +2 -0
  147. package/dist/chunks/de-De2miMxo.mjs.map +1 -0
  148. package/dist/chunks/de-OTfhhinm.mjs +2 -0
  149. package/dist/chunks/de-OTfhhinm.mjs.map +1 -0
  150. package/dist/chunks/de-PZ9-LlBp.mjs +2 -0
  151. package/dist/chunks/de-PZ9-LlBp.mjs.map +1 -0
  152. package/dist/chunks/de-UREymH-5.mjs +2 -0
  153. package/dist/chunks/de-UREymH-5.mjs.map +1 -0
  154. package/dist/chunks/de-chYdoK9q.mjs +2 -0
  155. package/dist/chunks/de-chYdoK9q.mjs.map +1 -0
  156. package/dist/chunks/de-fXvs5vQT.mjs +2 -0
  157. package/dist/chunks/de-fXvs5vQT.mjs.map +1 -0
  158. package/dist/chunks/de-xJh5C_pk.mjs +2 -0
  159. package/dist/chunks/de-xJh5C_pk.mjs.map +1 -0
  160. package/dist/chunks/es-B9UhsaEI.mjs +2 -0
  161. package/dist/chunks/es-B9UhsaEI.mjs.map +1 -0
  162. package/dist/chunks/es-BHGwPgrP.mjs +2 -0
  163. package/dist/chunks/es-BHGwPgrP.mjs.map +1 -0
  164. package/dist/chunks/es-BTqy_aQ4.mjs +2 -0
  165. package/dist/chunks/es-BTqy_aQ4.mjs.map +1 -0
  166. package/dist/chunks/es-BbGOZGS_.mjs +2 -0
  167. package/dist/chunks/es-BbGOZGS_.mjs.map +1 -0
  168. package/dist/chunks/es-BjPsub0k.mjs +2 -0
  169. package/dist/chunks/es-BjPsub0k.mjs.map +1 -0
  170. package/dist/chunks/es-Bk0bRDFE.mjs +2 -0
  171. package/dist/chunks/es-Bk0bRDFE.mjs.map +1 -0
  172. package/dist/chunks/es-BkS6DsrM.mjs +2 -0
  173. package/dist/chunks/es-BkS6DsrM.mjs.map +1 -0
  174. package/dist/chunks/es-BzEpr4Bk.mjs +2 -0
  175. package/dist/chunks/es-BzEpr4Bk.mjs.map +1 -0
  176. package/dist/chunks/es-C2lnWyA0.mjs +2 -0
  177. package/dist/chunks/es-C2lnWyA0.mjs.map +1 -0
  178. package/dist/chunks/es-C7e35Muh.mjs +2 -0
  179. package/dist/chunks/es-C7e35Muh.mjs.map +1 -0
  180. package/dist/chunks/es-CBk43isB.mjs +2 -0
  181. package/dist/chunks/es-CBk43isB.mjs.map +1 -0
  182. package/dist/chunks/es-CE8t9fuM.mjs +2 -0
  183. package/dist/chunks/es-CE8t9fuM.mjs.map +1 -0
  184. package/dist/chunks/es-CFjzqIbS.mjs +2 -0
  185. package/dist/chunks/es-CFjzqIbS.mjs.map +1 -0
  186. package/dist/chunks/es-Ce-AEYxc.mjs +2 -0
  187. package/dist/chunks/es-Ce-AEYxc.mjs.map +1 -0
  188. package/dist/chunks/es-Co4AJr8Y.mjs +2 -0
  189. package/dist/chunks/es-Co4AJr8Y.mjs.map +1 -0
  190. package/dist/chunks/es-Cu5_OA4X.mjs +2 -0
  191. package/dist/chunks/es-Cu5_OA4X.mjs.map +1 -0
  192. package/dist/chunks/es-Cud6JXHf.mjs +2 -0
  193. package/dist/chunks/es-Cud6JXHf.mjs.map +1 -0
  194. package/dist/chunks/es-D-II7LZC.mjs +2 -0
  195. package/dist/chunks/es-D-II7LZC.mjs.map +1 -0
  196. package/dist/chunks/es-DBBSeOaD.mjs +2 -0
  197. package/dist/chunks/es-DBBSeOaD.mjs.map +1 -0
  198. package/dist/chunks/es-DCwjeUUu.mjs +2 -0
  199. package/dist/chunks/es-DCwjeUUu.mjs.map +1 -0
  200. package/dist/chunks/es-DvgH3-WZ.mjs +2 -0
  201. package/dist/chunks/es-DvgH3-WZ.mjs.map +1 -0
  202. package/dist/chunks/es-MgguVgIs.mjs +2 -0
  203. package/dist/chunks/es-MgguVgIs.mjs.map +1 -0
  204. package/dist/chunks/es-yXjjcxgb.mjs +2 -0
  205. package/dist/chunks/es-yXjjcxgb.mjs.map +1 -0
  206. package/dist/chunks/fr-B-_yKIAY.mjs +2 -0
  207. package/dist/chunks/fr-B-_yKIAY.mjs.map +1 -0
  208. package/dist/chunks/fr-BGyF2ym0.mjs +2 -0
  209. package/dist/chunks/fr-BGyF2ym0.mjs.map +1 -0
  210. package/dist/chunks/fr-BoRJ3B2-.mjs +2 -0
  211. package/dist/chunks/fr-BoRJ3B2-.mjs.map +1 -0
  212. package/dist/chunks/fr-BrKk4SPg.mjs +2 -0
  213. package/dist/chunks/fr-BrKk4SPg.mjs.map +1 -0
  214. package/dist/chunks/fr-C-y09LKg.mjs +2 -0
  215. package/dist/chunks/fr-C-y09LKg.mjs.map +1 -0
  216. package/dist/chunks/fr-C1W7jyd6.mjs +2 -0
  217. package/dist/chunks/fr-C1W7jyd6.mjs.map +1 -0
  218. package/dist/chunks/fr-C8CtmWBj.mjs +2 -0
  219. package/dist/chunks/fr-C8CtmWBj.mjs.map +1 -0
  220. package/dist/chunks/fr-C9oiPW0k.mjs +2 -0
  221. package/dist/chunks/fr-C9oiPW0k.mjs.map +1 -0
  222. package/dist/chunks/fr-CEkk4UyZ.mjs +2 -0
  223. package/dist/chunks/fr-CEkk4UyZ.mjs.map +1 -0
  224. package/dist/chunks/fr-Ccaetiwi.mjs +2 -0
  225. package/dist/chunks/fr-Ccaetiwi.mjs.map +1 -0
  226. package/dist/chunks/fr-Ccku5KzA.mjs +2 -0
  227. package/dist/chunks/fr-Ccku5KzA.mjs.map +1 -0
  228. package/dist/chunks/fr-CfUg1FxU.mjs +2 -0
  229. package/dist/chunks/fr-CfUg1FxU.mjs.map +1 -0
  230. package/dist/chunks/fr-DDkBcjmO.mjs +2 -0
  231. package/dist/chunks/fr-DDkBcjmO.mjs.map +1 -0
  232. package/dist/chunks/fr-DNwLChcm.mjs +2 -0
  233. package/dist/chunks/fr-DNwLChcm.mjs.map +1 -0
  234. package/dist/chunks/fr-DvneSjCf.mjs +2 -0
  235. package/dist/chunks/fr-DvneSjCf.mjs.map +1 -0
  236. package/dist/chunks/fr-Dx4Qqimj.mjs +2 -0
  237. package/dist/chunks/fr-Dx4Qqimj.mjs.map +1 -0
  238. package/dist/chunks/fr-RHXmueoO.mjs +2 -0
  239. package/dist/chunks/fr-RHXmueoO.mjs.map +1 -0
  240. package/dist/chunks/fr-VdiCNF4J.mjs +2 -0
  241. package/dist/chunks/fr-VdiCNF4J.mjs.map +1 -0
  242. package/dist/chunks/fr-Wiobfk5s.mjs +2 -0
  243. package/dist/chunks/fr-Wiobfk5s.mjs.map +1 -0
  244. package/dist/chunks/fr-YMiDtWuG.mjs +2 -0
  245. package/dist/chunks/fr-YMiDtWuG.mjs.map +1 -0
  246. package/dist/chunks/fr-_Oxf0k66.mjs +2 -0
  247. package/dist/chunks/fr-_Oxf0k66.mjs.map +1 -0
  248. package/dist/chunks/fr-gurfH-7T.mjs +2 -0
  249. package/dist/chunks/fr-gurfH-7T.mjs.map +1 -0
  250. package/dist/chunks/fr-zP7EjxDL.mjs +2 -0
  251. package/dist/chunks/fr-zP7EjxDL.mjs.map +1 -0
  252. package/dist/chunks/hi-B2W8pFqK.mjs +2 -0
  253. package/dist/chunks/hi-B2W8pFqK.mjs.map +1 -0
  254. package/dist/chunks/hi-B2m69ZCq.mjs +2 -0
  255. package/dist/chunks/hi-B2m69ZCq.mjs.map +1 -0
  256. package/dist/chunks/hi-BMIt3y_-.mjs +2 -0
  257. package/dist/chunks/hi-BMIt3y_-.mjs.map +1 -0
  258. package/dist/chunks/hi-BdtVhAzs.mjs +2 -0
  259. package/dist/chunks/hi-BdtVhAzs.mjs.map +1 -0
  260. package/dist/chunks/hi-BmkfaZpg.mjs +2 -0
  261. package/dist/chunks/hi-BmkfaZpg.mjs.map +1 -0
  262. package/dist/chunks/hi-C-l_R2SO.mjs +2 -0
  263. package/dist/chunks/hi-C-l_R2SO.mjs.map +1 -0
  264. package/dist/chunks/hi-C1LhM-oY.mjs +2 -0
  265. package/dist/chunks/hi-C1LhM-oY.mjs.map +1 -0
  266. package/dist/chunks/hi-CGEbGI1l.mjs +2 -0
  267. package/dist/chunks/hi-CGEbGI1l.mjs.map +1 -0
  268. package/dist/chunks/hi-CPuhj7IA.mjs +2 -0
  269. package/dist/chunks/hi-CPuhj7IA.mjs.map +1 -0
  270. package/dist/chunks/hi-CT5WERqi.mjs +2 -0
  271. package/dist/chunks/hi-CT5WERqi.mjs.map +1 -0
  272. package/dist/chunks/hi-CbLPPQ0b.mjs +2 -0
  273. package/dist/chunks/hi-CbLPPQ0b.mjs.map +1 -0
  274. package/dist/chunks/hi-ClvEtEKe.mjs +2 -0
  275. package/dist/chunks/hi-ClvEtEKe.mjs.map +1 -0
  276. package/dist/chunks/hi-CpBWHmYH.mjs +2 -0
  277. package/dist/chunks/hi-CpBWHmYH.mjs.map +1 -0
  278. package/dist/chunks/hi-DAfl8nU_.mjs +2 -0
  279. package/dist/chunks/hi-DAfl8nU_.mjs.map +1 -0
  280. package/dist/chunks/hi-DVof3w0y.mjs +2 -0
  281. package/dist/chunks/hi-DVof3w0y.mjs.map +1 -0
  282. package/dist/chunks/hi-DtlvSQkD.mjs +2 -0
  283. package/dist/chunks/hi-DtlvSQkD.mjs.map +1 -0
  284. package/dist/chunks/hi-FH3CAJuR.mjs +2 -0
  285. package/dist/chunks/hi-FH3CAJuR.mjs.map +1 -0
  286. package/dist/chunks/hi-Ga9h9a_1.mjs +2 -0
  287. package/dist/chunks/hi-Ga9h9a_1.mjs.map +1 -0
  288. package/dist/chunks/hi-Zc17M1T-.mjs +2 -0
  289. package/dist/chunks/hi-Zc17M1T-.mjs.map +1 -0
  290. package/dist/chunks/hi-g7i0bmig.mjs +2 -0
  291. package/dist/chunks/hi-g7i0bmig.mjs.map +1 -0
  292. package/dist/chunks/hi-js2P6byR.mjs +2 -0
  293. package/dist/chunks/hi-js2P6byR.mjs.map +1 -0
  294. package/dist/chunks/hi-ntUsOspQ.mjs +2 -0
  295. package/dist/chunks/hi-ntUsOspQ.mjs.map +1 -0
  296. package/dist/chunks/hi-yxAcR3w6.mjs +2 -0
  297. package/dist/chunks/hi-yxAcR3w6.mjs.map +1 -0
  298. package/dist/chunks/index-CVwf0cdH.mjs +2 -0
  299. package/dist/chunks/index-CVwf0cdH.mjs.map +1 -0
  300. package/dist/chunks/index-D3BZFsAD.mjs +2 -0
  301. package/dist/chunks/index-D3BZFsAD.mjs.map +1 -0
  302. package/dist/chunks/pt--IiroJQw.mjs +2 -0
  303. package/dist/chunks/pt--IiroJQw.mjs.map +1 -0
  304. package/dist/chunks/pt-BF72W8M5.mjs +2 -0
  305. package/dist/chunks/pt-BF72W8M5.mjs.map +1 -0
  306. package/dist/chunks/pt-BX_t4luI.mjs +2 -0
  307. package/dist/chunks/pt-BX_t4luI.mjs.map +1 -0
  308. package/dist/chunks/pt-B_XJ2s9X.mjs +2 -0
  309. package/dist/chunks/pt-B_XJ2s9X.mjs.map +1 -0
  310. package/dist/chunks/pt-C-Vp7Rxj.mjs +2 -0
  311. package/dist/chunks/pt-C-Vp7Rxj.mjs.map +1 -0
  312. package/dist/chunks/pt-CD2aCZXf.mjs +2 -0
  313. package/dist/chunks/pt-CD2aCZXf.mjs.map +1 -0
  314. package/dist/chunks/pt-CFjzqIbS.mjs +2 -0
  315. package/dist/chunks/pt-CFjzqIbS.mjs.map +1 -0
  316. package/dist/chunks/pt-CHjmBegF.mjs +2 -0
  317. package/dist/chunks/pt-CHjmBegF.mjs.map +1 -0
  318. package/dist/chunks/pt-CQRzEocL.mjs +2 -0
  319. package/dist/chunks/pt-CQRzEocL.mjs.map +1 -0
  320. package/dist/chunks/pt-Cem2WxUk.mjs +2 -0
  321. package/dist/chunks/pt-Cem2WxUk.mjs.map +1 -0
  322. package/dist/chunks/pt-D6kdF3fH.mjs +2 -0
  323. package/dist/chunks/pt-D6kdF3fH.mjs.map +1 -0
  324. package/dist/chunks/pt-DJfJVeY8.mjs +2 -0
  325. package/dist/chunks/pt-DJfJVeY8.mjs.map +1 -0
  326. package/dist/chunks/pt-DfB-IaYi.mjs +2 -0
  327. package/dist/chunks/pt-DfB-IaYi.mjs.map +1 -0
  328. package/dist/chunks/pt-DlNdH9pu.mjs +2 -0
  329. package/dist/chunks/pt-DlNdH9pu.mjs.map +1 -0
  330. package/dist/chunks/pt-DrJ0-8Yo.mjs +2 -0
  331. package/dist/chunks/pt-DrJ0-8Yo.mjs.map +1 -0
  332. package/dist/chunks/pt-DsBJpgpe.mjs +2 -0
  333. package/dist/chunks/pt-DsBJpgpe.mjs.map +1 -0
  334. package/dist/chunks/pt-DwdSYJzC.mjs +2 -0
  335. package/dist/chunks/pt-DwdSYJzC.mjs.map +1 -0
  336. package/dist/chunks/pt-Dx9UkZ3j.mjs +2 -0
  337. package/dist/chunks/pt-Dx9UkZ3j.mjs.map +1 -0
  338. package/dist/chunks/pt-K0BUlM9X.mjs +2 -0
  339. package/dist/chunks/pt-K0BUlM9X.mjs.map +1 -0
  340. package/dist/chunks/pt-TuA3_GDM.mjs +2 -0
  341. package/dist/chunks/pt-TuA3_GDM.mjs.map +1 -0
  342. package/dist/chunks/pt-cN6r-f7f.mjs +2 -0
  343. package/dist/chunks/pt-cN6r-f7f.mjs.map +1 -0
  344. package/dist/chunks/pt-uNGpVM3D.mjs +2 -0
  345. package/dist/chunks/pt-uNGpVM3D.mjs.map +1 -0
  346. package/dist/chunks/pt-v1E9u-Jx.mjs +2 -0
  347. package/dist/chunks/pt-v1E9u-Jx.mjs.map +1 -0
  348. package/dist/chunks/ru-0h51zrqE.mjs +2 -0
  349. package/dist/chunks/ru-0h51zrqE.mjs.map +1 -0
  350. package/dist/chunks/ru-4S8w6UN_.mjs +2 -0
  351. package/dist/chunks/ru-4S8w6UN_.mjs.map +1 -0
  352. package/dist/chunks/ru-B0cRw90L.mjs +2 -0
  353. package/dist/chunks/ru-B0cRw90L.mjs.map +1 -0
  354. package/dist/chunks/ru-B3O7WXNM.mjs +2 -0
  355. package/dist/chunks/ru-B3O7WXNM.mjs.map +1 -0
  356. package/dist/chunks/ru-B6zVAzvI.mjs +2 -0
  357. package/dist/chunks/ru-B6zVAzvI.mjs.map +1 -0
  358. package/dist/chunks/ru-B8teJin_.mjs +2 -0
  359. package/dist/chunks/ru-B8teJin_.mjs.map +1 -0
  360. package/dist/chunks/ru-BCriPw-8.mjs +2 -0
  361. package/dist/chunks/ru-BCriPw-8.mjs.map +1 -0
  362. package/dist/chunks/ru-BNOU16E5.mjs +2 -0
  363. package/dist/chunks/ru-BNOU16E5.mjs.map +1 -0
  364. package/dist/chunks/ru-BO6BIS5W.mjs +2 -0
  365. package/dist/chunks/ru-BO6BIS5W.mjs.map +1 -0
  366. package/dist/chunks/ru-Bdy1lLuc.mjs +2 -0
  367. package/dist/chunks/ru-Bdy1lLuc.mjs.map +1 -0
  368. package/dist/chunks/ru-BgBctNVm.mjs +2 -0
  369. package/dist/chunks/ru-BgBctNVm.mjs.map +1 -0
  370. package/dist/chunks/ru-CNLx7T3O.mjs +2 -0
  371. package/dist/chunks/ru-CNLx7T3O.mjs.map +1 -0
  372. package/dist/chunks/ru-CVSCT776.mjs +2 -0
  373. package/dist/chunks/ru-CVSCT776.mjs.map +1 -0
  374. package/dist/chunks/ru-CZvkdGnf.mjs +2 -0
  375. package/dist/chunks/ru-CZvkdGnf.mjs.map +1 -0
  376. package/dist/chunks/ru-CegMPuML.mjs +2 -0
  377. package/dist/chunks/ru-CegMPuML.mjs.map +1 -0
  378. package/dist/chunks/ru-CiLrD2Nz.mjs +2 -0
  379. package/dist/chunks/ru-CiLrD2Nz.mjs.map +1 -0
  380. package/dist/chunks/ru-ClEM6OKY.mjs +2 -0
  381. package/dist/chunks/ru-ClEM6OKY.mjs.map +1 -0
  382. package/dist/chunks/ru-CrbxCeQf.mjs +2 -0
  383. package/dist/chunks/ru-CrbxCeQf.mjs.map +1 -0
  384. package/dist/chunks/ru-D3j2x2xu.mjs +2 -0
  385. package/dist/chunks/ru-D3j2x2xu.mjs.map +1 -0
  386. package/dist/chunks/ru-DdHqb4Mh.mjs +2 -0
  387. package/dist/chunks/ru-DdHqb4Mh.mjs.map +1 -0
  388. package/dist/chunks/ru-DjgNdOdJ.mjs +2 -0
  389. package/dist/chunks/ru-DjgNdOdJ.mjs.map +1 -0
  390. package/dist/chunks/ru-Tzd5N37W.mjs +2 -0
  391. package/dist/chunks/ru-Tzd5N37W.mjs.map +1 -0
  392. package/dist/chunks/ru-XKNCzkR2.mjs +2 -0
  393. package/dist/chunks/ru-XKNCzkR2.mjs.map +1 -0
  394. package/dist/chunks/zh--oNSMazK.mjs +2 -0
  395. package/dist/chunks/zh--oNSMazK.mjs.map +1 -0
  396. package/dist/chunks/zh-BfeWdPIz.mjs +2 -0
  397. package/dist/chunks/zh-BfeWdPIz.mjs.map +1 -0
  398. package/dist/chunks/zh-BnOxGKxF.mjs +2 -0
  399. package/dist/chunks/zh-BnOxGKxF.mjs.map +1 -0
  400. package/dist/chunks/zh-BqMtE-jN.mjs +2 -0
  401. package/dist/chunks/zh-BqMtE-jN.mjs.map +1 -0
  402. package/dist/chunks/zh-C3aI7A2o.mjs +2 -0
  403. package/dist/chunks/zh-C3aI7A2o.mjs.map +1 -0
  404. package/dist/chunks/zh-C6YALJZt.mjs +2 -0
  405. package/dist/chunks/zh-C6YALJZt.mjs.map +1 -0
  406. package/dist/chunks/zh-CWdTbUOP.mjs +2 -0
  407. package/dist/chunks/zh-CWdTbUOP.mjs.map +1 -0
  408. package/dist/chunks/zh-CY01pMD4.mjs +2 -0
  409. package/dist/chunks/zh-CY01pMD4.mjs.map +1 -0
  410. package/dist/chunks/zh-Cmt7n9FY.mjs +2 -0
  411. package/dist/chunks/zh-Cmt7n9FY.mjs.map +1 -0
  412. package/dist/chunks/zh-CpP2kee3.mjs +2 -0
  413. package/dist/chunks/zh-CpP2kee3.mjs.map +1 -0
  414. package/dist/chunks/zh-Cpbg4evx.mjs +2 -0
  415. package/dist/chunks/zh-Cpbg4evx.mjs.map +1 -0
  416. package/dist/chunks/zh-Cqb55JWa.mjs +2 -0
  417. package/dist/chunks/zh-Cqb55JWa.mjs.map +1 -0
  418. package/dist/chunks/zh-DCQZ6gss.mjs +2 -0
  419. package/dist/chunks/zh-DCQZ6gss.mjs.map +1 -0
  420. package/dist/chunks/zh-DG2CNTUU.mjs +2 -0
  421. package/dist/chunks/zh-DG2CNTUU.mjs.map +1 -0
  422. package/dist/chunks/zh-DTiTJbzz.mjs +2 -0
  423. package/dist/chunks/zh-DTiTJbzz.mjs.map +1 -0
  424. package/dist/chunks/zh-Da1z6qbB.mjs +2 -0
  425. package/dist/chunks/zh-Da1z6qbB.mjs.map +1 -0
  426. package/dist/chunks/zh-Di3WqY4_.mjs +2 -0
  427. package/dist/chunks/zh-Di3WqY4_.mjs.map +1 -0
  428. package/dist/chunks/zh-DlBt06Pr.mjs +2 -0
  429. package/dist/chunks/zh-DlBt06Pr.mjs.map +1 -0
  430. package/dist/chunks/zh-Dt-wVrNr.mjs +2 -0
  431. package/dist/chunks/zh-Dt-wVrNr.mjs.map +1 -0
  432. package/dist/chunks/zh-ND6vW2M-.mjs +2 -0
  433. package/dist/chunks/zh-ND6vW2M-.mjs.map +1 -0
  434. package/dist/chunks/zh-Yd3GNsa0.mjs +2 -0
  435. package/dist/chunks/zh-Yd3GNsa0.mjs.map +1 -0
  436. package/dist/chunks/zh-lhynyH6Q.mjs +2 -0
  437. package/dist/chunks/zh-lhynyH6Q.mjs.map +1 -0
  438. package/dist/chunks/zh-v9NmlEIN.mjs +2 -0
  439. package/dist/chunks/zh-v9NmlEIN.mjs.map +1 -0
  440. package/dist/commands/BlockInsertion.d.ts +64 -0
  441. package/dist/commands/BlockInsertion.d.ts.map +1 -0
  442. package/dist/commands/CommandHelpers.d.ts +4 -0
  443. package/dist/commands/CommandHelpers.d.ts.map +1 -1
  444. package/dist/commands/Commands.d.ts +9 -3
  445. package/dist/commands/Commands.d.ts.map +1 -1
  446. package/dist/commands/GapCursorCommands.d.ts.map +1 -1
  447. package/dist/commands/MovementCommands.d.ts +1 -4
  448. package/dist/commands/MovementCommands.d.ts.map +1 -1
  449. package/dist/commands/NodeSelectionCommands.d.ts +3 -1
  450. package/dist/commands/NodeSelectionCommands.d.ts.map +1 -1
  451. package/dist/commands/PasteCommand.d.ts.map +1 -1
  452. package/dist/commands/WordBoundary.d.ts +4 -9
  453. package/dist/commands/WordBoundary.d.ts.map +1 -1
  454. package/dist/editor/Announcer.d.ts +1 -2
  455. package/dist/editor/Announcer.d.ts.map +1 -1
  456. package/dist/{model → editor}/BuiltinSpecs.d.ts +1 -1
  457. package/dist/editor/BuiltinSpecs.d.ts.map +1 -0
  458. package/dist/editor/ContentSerializer.d.ts +24 -0
  459. package/dist/editor/ContentSerializer.d.ts.map +1 -0
  460. package/dist/editor/EditorConfigController.d.ts +38 -0
  461. package/dist/editor/EditorConfigController.d.ts.map +1 -0
  462. package/dist/editor/EditorDOM.d.ts +3 -4
  463. package/dist/editor/EditorDOM.d.ts.map +1 -1
  464. package/dist/editor/EditorEventEmitter.d.ts +30 -0
  465. package/dist/editor/EditorEventEmitter.d.ts.map +1 -0
  466. package/dist/editor/EditorLifecycleCoordinator.d.ts +24 -0
  467. package/dist/editor/EditorLifecycleCoordinator.d.ts.map +1 -0
  468. package/dist/editor/EditorLocale.d.ts +9 -0
  469. package/dist/editor/EditorLocale.d.ts.map +1 -0
  470. package/dist/editor/EditorStyleCoordinator.d.ts +9 -0
  471. package/dist/editor/EditorStyleCoordinator.d.ts.map +1 -0
  472. package/dist/editor/EditorThemeController.d.ts.map +1 -1
  473. package/dist/editor/NotectlEditor.d.ts +20 -54
  474. package/dist/editor/NotectlEditor.d.ts.map +1 -1
  475. package/dist/editor/PaperLayoutController.d.ts +1 -1
  476. package/dist/editor/PaperLayoutController.d.ts.map +1 -1
  477. package/dist/editor/PluginBootstrapper.d.ts +18 -0
  478. package/dist/editor/PluginBootstrapper.d.ts.map +1 -0
  479. package/dist/editor/locales/ar.d.ts +4 -0
  480. package/dist/editor/locales/ar.d.ts.map +1 -0
  481. package/dist/editor/locales/de.d.ts +4 -0
  482. package/dist/editor/locales/de.d.ts.map +1 -0
  483. package/dist/editor/locales/es.d.ts +4 -0
  484. package/dist/editor/locales/es.d.ts.map +1 -0
  485. package/dist/editor/locales/fr.d.ts +4 -0
  486. package/dist/editor/locales/fr.d.ts.map +1 -0
  487. package/dist/editor/locales/hi.d.ts +4 -0
  488. package/dist/editor/locales/hi.d.ts.map +1 -0
  489. package/dist/editor/locales/pt.d.ts +4 -0
  490. package/dist/editor/locales/pt.d.ts.map +1 -0
  491. package/dist/editor/locales/ru.d.ts +4 -0
  492. package/dist/editor/locales/ru.d.ts.map +1 -0
  493. package/dist/editor/locales/zh.d.ts +4 -0
  494. package/dist/editor/locales/zh.d.ts.map +1 -0
  495. package/dist/editor/styles/base.d.ts +1 -1
  496. package/dist/editor/styles/base.d.ts.map +1 -1
  497. package/dist/editor/styles/code-block.d.ts +1 -1
  498. package/dist/editor/styles/code-block.d.ts.map +1 -1
  499. package/dist/editor/styles/font-select.d.ts +1 -1
  500. package/dist/editor/styles/font-select.d.ts.map +1 -1
  501. package/dist/editor/styles/font-size-select.d.ts +1 -1
  502. package/dist/editor/styles/font-size-select.d.ts.map +1 -1
  503. package/dist/editor/styles/heading-select.d.ts +1 -1
  504. package/dist/editor/styles/heading-select.d.ts.map +1 -1
  505. package/dist/editor/styles/image.d.ts +1 -1
  506. package/dist/editor/styles/image.d.ts.map +1 -1
  507. package/dist/editor/styles/list.d.ts +1 -1
  508. package/dist/editor/styles/list.d.ts.map +1 -1
  509. package/dist/editor/styles/table.d.ts +1 -1
  510. package/dist/editor/styles/table.d.ts.map +1 -1
  511. package/dist/editor/styles/toolbar.d.ts +1 -1
  512. package/dist/editor/styles/toolbar.d.ts.map +1 -1
  513. package/dist/editor/theme/ThemeEngine.d.ts.map +1 -1
  514. package/dist/editor/theme/ThemeTokens.d.ts +17 -1
  515. package/dist/editor/theme/ThemeTokens.d.ts.map +1 -1
  516. package/dist/fonts.mjs +1 -6
  517. package/dist/fonts.mjs.map +1 -1
  518. package/dist/full.d.ts +46 -0
  519. package/dist/full.d.ts.map +1 -0
  520. package/dist/full.mjs +2 -0
  521. package/dist/full.mjs.map +1 -0
  522. package/dist/html.d.ts +16 -0
  523. package/dist/html.d.ts.map +1 -0
  524. package/dist/html.mjs +2 -0
  525. package/dist/html.mjs.map +1 -0
  526. package/dist/i18n/Locale.d.ts +1 -0
  527. package/dist/i18n/Locale.d.ts.map +1 -1
  528. package/dist/i18n/index.d.ts +0 -1
  529. package/dist/i18n/index.d.ts.map +1 -1
  530. package/dist/index.d.ts +30 -94
  531. package/dist/index.d.ts.map +1 -1
  532. package/dist/input/ClipboardHandler.d.ts +22 -0
  533. package/dist/input/ClipboardHandler.d.ts.map +1 -1
  534. package/dist/input/CompositionTracker.d.ts +2 -1
  535. package/dist/input/CompositionTracker.d.ts.map +1 -1
  536. package/dist/{model → input}/HTMLParser.d.ts +3 -3
  537. package/dist/input/HTMLParser.d.ts.map +1 -0
  538. package/dist/input/InputHandler.d.ts +1 -1
  539. package/dist/input/InputHandler.d.ts.map +1 -1
  540. package/dist/input/InputManager.d.ts +37 -0
  541. package/dist/input/InputManager.d.ts.map +1 -0
  542. package/dist/input/InternalClipboard.d.ts +3 -13
  543. package/dist/input/InternalClipboard.d.ts.map +1 -1
  544. package/dist/input/KeyboardHandler.d.ts +12 -1
  545. package/dist/input/KeyboardHandler.d.ts.map +1 -1
  546. package/dist/input/PasteHandler.d.ts +28 -17
  547. package/dist/input/PasteHandler.d.ts.map +1 -1
  548. package/dist/model/AttrRegistry.d.ts +1 -1
  549. package/dist/model/AttrRegistry.d.ts.map +1 -1
  550. package/dist/model/BlockAlignment.d.ts +8 -0
  551. package/dist/model/BlockAlignment.d.ts.map +1 -0
  552. package/dist/model/BlockTypeLabels.d.ts +7 -0
  553. package/dist/model/BlockTypeLabels.d.ts.map +1 -0
  554. package/dist/model/CompositionState.d.ts +8 -0
  555. package/dist/model/CompositionState.d.ts.map +1 -0
  556. package/dist/model/Document.d.ts.map +1 -1
  557. package/dist/{input → model}/FileHandlerRegistry.d.ts +1 -1
  558. package/dist/{input → model}/FileHandlerRegistry.d.ts.map +1 -1
  559. package/dist/model/HTMLUtils.d.ts +8 -0
  560. package/dist/model/HTMLUtils.d.ts.map +1 -1
  561. package/dist/{input → model}/InputRule.d.ts.map +1 -1
  562. package/dist/{input → model}/InputRuleRegistry.d.ts.map +1 -1
  563. package/dist/{input → model}/Keymap.d.ts.map +1 -1
  564. package/dist/{input → model}/KeymapRegistry.d.ts.map +1 -1
  565. package/dist/model/MarkSpec.d.ts +2 -2
  566. package/dist/model/MarkSpec.d.ts.map +1 -1
  567. package/dist/model/NodeSpec.d.ts +0 -3
  568. package/dist/model/NodeSpec.d.ts.map +1 -1
  569. package/dist/model/PaperSize.d.ts.map +1 -0
  570. package/dist/model/PasteInterceptor.d.ts +21 -0
  571. package/dist/model/PasteInterceptor.d.ts.map +1 -0
  572. package/dist/model/RichBlockData.d.ts +24 -0
  573. package/dist/model/RichBlockData.d.ts.map +1 -0
  574. package/dist/model/SchemaRegistry.d.ts +2 -0
  575. package/dist/model/SchemaRegistry.d.ts.map +1 -1
  576. package/dist/model/WordBoundary.d.ts +12 -0
  577. package/dist/model/WordBoundary.d.ts.map +1 -0
  578. package/dist/notectl-core.mjs +1 -3888
  579. package/dist/notectl-core.mjs.map +1 -1
  580. package/dist/notectl-core.umd.js +1 -9523
  581. package/dist/notectl-core.umd.js.map +1 -1
  582. package/dist/{view → platform}/Platform.d.ts +2 -0
  583. package/dist/platform/Platform.d.ts.map +1 -0
  584. package/dist/plugins/Plugin.d.ts +8 -5
  585. package/dist/plugins/Plugin.d.ts.map +1 -1
  586. package/dist/plugins/PluginManager.d.ts +10 -3
  587. package/dist/plugins/PluginManager.d.ts.map +1 -1
  588. package/dist/plugins/alignment/AlignmentLocale.d.ts +3 -10
  589. package/dist/plugins/alignment/AlignmentLocale.d.ts.map +1 -1
  590. package/dist/plugins/alignment/AlignmentPlugin.d.ts +3 -13
  591. package/dist/plugins/alignment/AlignmentPlugin.d.ts.map +1 -1
  592. package/dist/plugins/alignment/index.d.ts +3 -1
  593. package/dist/plugins/alignment/index.d.ts.map +1 -1
  594. package/dist/plugins/alignment/locales/ar.d.ts +4 -0
  595. package/dist/plugins/alignment/locales/ar.d.ts.map +1 -0
  596. package/dist/plugins/alignment/locales/de.d.ts +4 -0
  597. package/dist/plugins/alignment/locales/de.d.ts.map +1 -0
  598. package/dist/plugins/alignment/locales/es.d.ts +4 -0
  599. package/dist/plugins/alignment/locales/es.d.ts.map +1 -0
  600. package/dist/plugins/alignment/locales/fr.d.ts +4 -0
  601. package/dist/plugins/alignment/locales/fr.d.ts.map +1 -0
  602. package/dist/plugins/alignment/locales/hi.d.ts +4 -0
  603. package/dist/plugins/alignment/locales/hi.d.ts.map +1 -0
  604. package/dist/plugins/alignment/locales/pt.d.ts +4 -0
  605. package/dist/plugins/alignment/locales/pt.d.ts.map +1 -0
  606. package/dist/plugins/alignment/locales/ru.d.ts +4 -0
  607. package/dist/plugins/alignment/locales/ru.d.ts.map +1 -0
  608. package/dist/plugins/alignment/locales/zh.d.ts +4 -0
  609. package/dist/plugins/alignment/locales/zh.d.ts.map +1 -0
  610. package/dist/plugins/alignment.mjs +1 -5
  611. package/dist/plugins/alignment.mjs.map +1 -1
  612. package/dist/plugins/blockquote/BlockquoteKeyboardHandlers.d.ts +4 -0
  613. package/dist/plugins/blockquote/BlockquoteKeyboardHandlers.d.ts.map +1 -0
  614. package/dist/plugins/blockquote/BlockquoteLocale.d.ts +1 -8
  615. package/dist/plugins/blockquote/BlockquoteLocale.d.ts.map +1 -1
  616. package/dist/plugins/blockquote/BlockquotePlugin.d.ts +1 -3
  617. package/dist/plugins/blockquote/BlockquotePlugin.d.ts.map +1 -1
  618. package/dist/plugins/blockquote/BlockquoteStyles.d.ts +3 -0
  619. package/dist/plugins/blockquote/BlockquoteStyles.d.ts.map +1 -0
  620. package/dist/plugins/blockquote/index.d.ts +2 -0
  621. package/dist/plugins/blockquote/index.d.ts.map +1 -1
  622. package/dist/plugins/blockquote/locales/ar.d.ts +4 -0
  623. package/dist/plugins/blockquote/locales/ar.d.ts.map +1 -0
  624. package/dist/plugins/blockquote/locales/de.d.ts +4 -0
  625. package/dist/plugins/blockquote/locales/de.d.ts.map +1 -0
  626. package/dist/plugins/blockquote/locales/es.d.ts +4 -0
  627. package/dist/plugins/blockquote/locales/es.d.ts.map +1 -0
  628. package/dist/plugins/blockquote/locales/fr.d.ts +4 -0
  629. package/dist/plugins/blockquote/locales/fr.d.ts.map +1 -0
  630. package/dist/plugins/blockquote/locales/hi.d.ts +4 -0
  631. package/dist/plugins/blockquote/locales/hi.d.ts.map +1 -0
  632. package/dist/plugins/blockquote/locales/pt.d.ts +4 -0
  633. package/dist/plugins/blockquote/locales/pt.d.ts.map +1 -0
  634. package/dist/plugins/blockquote/locales/ru.d.ts +4 -0
  635. package/dist/plugins/blockquote/locales/ru.d.ts.map +1 -0
  636. package/dist/plugins/blockquote/locales/zh.d.ts +4 -0
  637. package/dist/plugins/blockquote/locales/zh.d.ts.map +1 -0
  638. package/dist/plugins/blockquote.mjs +1 -4
  639. package/dist/plugins/blockquote.mjs.map +1 -1
  640. package/dist/plugins/caret-navigation/CaretNavigationLocale.d.ts +21 -0
  641. package/dist/plugins/caret-navigation/CaretNavigationLocale.d.ts.map +1 -0
  642. package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts +2 -1
  643. package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts.map +1 -1
  644. package/dist/plugins/caret-navigation/index.d.ts +2 -0
  645. package/dist/plugins/caret-navigation/index.d.ts.map +1 -1
  646. package/dist/plugins/caret-navigation/locales/ar.d.ts +4 -0
  647. package/dist/plugins/caret-navigation/locales/ar.d.ts.map +1 -0
  648. package/dist/plugins/caret-navigation/locales/de.d.ts +4 -0
  649. package/dist/plugins/caret-navigation/locales/de.d.ts.map +1 -0
  650. package/dist/plugins/caret-navigation/locales/es.d.ts +4 -0
  651. package/dist/plugins/caret-navigation/locales/es.d.ts.map +1 -0
  652. package/dist/plugins/caret-navigation/locales/fr.d.ts +4 -0
  653. package/dist/plugins/caret-navigation/locales/fr.d.ts.map +1 -0
  654. package/dist/plugins/caret-navigation/locales/hi.d.ts +4 -0
  655. package/dist/plugins/caret-navigation/locales/hi.d.ts.map +1 -0
  656. package/dist/plugins/caret-navigation/locales/pt.d.ts +4 -0
  657. package/dist/plugins/caret-navigation/locales/pt.d.ts.map +1 -0
  658. package/dist/plugins/caret-navigation/locales/ru.d.ts +4 -0
  659. package/dist/plugins/caret-navigation/locales/ru.d.ts.map +1 -0
  660. package/dist/plugins/caret-navigation/locales/zh.d.ts +4 -0
  661. package/dist/plugins/caret-navigation/locales/zh.d.ts.map +1 -0
  662. package/dist/plugins/caret-navigation.mjs +1 -4
  663. package/dist/plugins/caret-navigation.mjs.map +1 -1
  664. package/dist/plugins/code-block/CodeBlockKeyboardHandlers.d.ts.map +1 -1
  665. package/dist/plugins/code-block/CodeBlockLocale.d.ts +5 -8
  666. package/dist/plugins/code-block/CodeBlockLocale.d.ts.map +1 -1
  667. package/dist/plugins/code-block/CodeBlockNodeView.d.ts +2 -1
  668. package/dist/plugins/code-block/CodeBlockNodeView.d.ts.map +1 -1
  669. package/dist/plugins/code-block/CodeBlockPlugin.d.ts +7 -2
  670. package/dist/plugins/code-block/CodeBlockPlugin.d.ts.map +1 -1
  671. package/dist/plugins/code-block/CodeBlockService.d.ts.map +1 -1
  672. package/dist/plugins/code-block/CodeBlockTypes.d.ts +7 -1
  673. package/dist/plugins/code-block/CodeBlockTypes.d.ts.map +1 -1
  674. package/dist/plugins/code-block/highlighter/RegexTokenizer.d.ts +14 -0
  675. package/dist/plugins/code-block/highlighter/RegexTokenizer.d.ts.map +1 -0
  676. package/dist/plugins/code-block/highlighter/TokenizerTypes.d.ts +15 -0
  677. package/dist/plugins/code-block/highlighter/TokenizerTypes.d.ts.map +1 -0
  678. package/dist/plugins/code-block/highlighter/languages/index.d.ts +3 -0
  679. package/dist/plugins/code-block/highlighter/languages/index.d.ts.map +1 -0
  680. package/dist/plugins/code-block/highlighter/languages/json.d.ts +3 -0
  681. package/dist/plugins/code-block/highlighter/languages/json.d.ts.map +1 -0
  682. package/dist/plugins/code-block/highlighter/languages/xml.d.ts +3 -0
  683. package/dist/plugins/code-block/highlighter/languages/xml.d.ts.map +1 -0
  684. package/dist/plugins/code-block/index.d.ts +7 -1
  685. package/dist/plugins/code-block/index.d.ts.map +1 -1
  686. package/dist/plugins/code-block/locales/ar.d.ts +4 -0
  687. package/dist/plugins/code-block/locales/ar.d.ts.map +1 -0
  688. package/dist/plugins/code-block/locales/de.d.ts +4 -0
  689. package/dist/plugins/code-block/locales/de.d.ts.map +1 -0
  690. package/dist/plugins/code-block/locales/es.d.ts +4 -0
  691. package/dist/plugins/code-block/locales/es.d.ts.map +1 -0
  692. package/dist/plugins/code-block/locales/fr.d.ts +4 -0
  693. package/dist/plugins/code-block/locales/fr.d.ts.map +1 -0
  694. package/dist/plugins/code-block/locales/hi.d.ts +4 -0
  695. package/dist/plugins/code-block/locales/hi.d.ts.map +1 -0
  696. package/dist/plugins/code-block/locales/pt.d.ts +4 -0
  697. package/dist/plugins/code-block/locales/pt.d.ts.map +1 -0
  698. package/dist/plugins/code-block/locales/ru.d.ts +4 -0
  699. package/dist/plugins/code-block/locales/ru.d.ts.map +1 -0
  700. package/dist/plugins/code-block/locales/zh.d.ts +4 -0
  701. package/dist/plugins/code-block/locales/zh.d.ts.map +1 -0
  702. package/dist/plugins/code-block.mjs +1 -5
  703. package/dist/plugins/code-block.mjs.map +1 -1
  704. package/dist/plugins/font/FontLocale.d.ts +1 -8
  705. package/dist/plugins/font/FontLocale.d.ts.map +1 -1
  706. package/dist/plugins/font/FontPlugin.d.ts +1 -3
  707. package/dist/plugins/font/FontPlugin.d.ts.map +1 -1
  708. package/dist/plugins/font/index.d.ts +2 -0
  709. package/dist/plugins/font/index.d.ts.map +1 -1
  710. package/dist/plugins/font/locales/ar.d.ts +4 -0
  711. package/dist/plugins/font/locales/ar.d.ts.map +1 -0
  712. package/dist/plugins/font/locales/de.d.ts +4 -0
  713. package/dist/plugins/font/locales/de.d.ts.map +1 -0
  714. package/dist/plugins/font/locales/es.d.ts +4 -0
  715. package/dist/plugins/font/locales/es.d.ts.map +1 -0
  716. package/dist/plugins/font/locales/fr.d.ts +4 -0
  717. package/dist/plugins/font/locales/fr.d.ts.map +1 -0
  718. package/dist/plugins/font/locales/hi.d.ts +4 -0
  719. package/dist/plugins/font/locales/hi.d.ts.map +1 -0
  720. package/dist/plugins/font/locales/pt.d.ts +4 -0
  721. package/dist/plugins/font/locales/pt.d.ts.map +1 -0
  722. package/dist/plugins/font/locales/ru.d.ts +4 -0
  723. package/dist/plugins/font/locales/ru.d.ts.map +1 -0
  724. package/dist/plugins/font/locales/zh.d.ts +4 -0
  725. package/dist/plugins/font/locales/zh.d.ts.map +1 -0
  726. package/dist/plugins/font-size/FontSizeLocale.d.ts +1 -8
  727. package/dist/plugins/font-size/FontSizeLocale.d.ts.map +1 -1
  728. package/dist/plugins/font-size/FontSizePlugin.d.ts +1 -3
  729. package/dist/plugins/font-size/FontSizePlugin.d.ts.map +1 -1
  730. package/dist/plugins/font-size/FontSizePopup.d.ts +1 -1
  731. package/dist/plugins/font-size/FontSizePopup.d.ts.map +1 -1
  732. package/dist/plugins/font-size/index.d.ts +2 -0
  733. package/dist/plugins/font-size/index.d.ts.map +1 -1
  734. package/dist/plugins/font-size/locales/ar.d.ts +4 -0
  735. package/dist/plugins/font-size/locales/ar.d.ts.map +1 -0
  736. package/dist/plugins/font-size/locales/de.d.ts +4 -0
  737. package/dist/plugins/font-size/locales/de.d.ts.map +1 -0
  738. package/dist/plugins/font-size/locales/es.d.ts +4 -0
  739. package/dist/plugins/font-size/locales/es.d.ts.map +1 -0
  740. package/dist/plugins/font-size/locales/fr.d.ts +4 -0
  741. package/dist/plugins/font-size/locales/fr.d.ts.map +1 -0
  742. package/dist/plugins/font-size/locales/hi.d.ts +4 -0
  743. package/dist/plugins/font-size/locales/hi.d.ts.map +1 -0
  744. package/dist/plugins/font-size/locales/pt.d.ts +4 -0
  745. package/dist/plugins/font-size/locales/pt.d.ts.map +1 -0
  746. package/dist/plugins/font-size/locales/ru.d.ts +4 -0
  747. package/dist/plugins/font-size/locales/ru.d.ts.map +1 -0
  748. package/dist/plugins/font-size/locales/zh.d.ts +4 -0
  749. package/dist/plugins/font-size/locales/zh.d.ts.map +1 -0
  750. package/dist/plugins/font-size.mjs +1 -4
  751. package/dist/plugins/font-size.mjs.map +1 -1
  752. package/dist/plugins/font.mjs +1 -4
  753. package/dist/plugins/font.mjs.map +1 -1
  754. package/dist/plugins/gap-cursor/GapCursorLocale.d.ts +7 -0
  755. package/dist/plugins/gap-cursor/GapCursorLocale.d.ts.map +1 -0
  756. package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts +7 -3
  757. package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts.map +1 -1
  758. package/dist/plugins/gap-cursor/locales/ar.d.ts +4 -0
  759. package/dist/plugins/gap-cursor/locales/ar.d.ts.map +1 -0
  760. package/dist/plugins/gap-cursor/locales/de.d.ts +4 -0
  761. package/dist/plugins/gap-cursor/locales/de.d.ts.map +1 -0
  762. package/dist/plugins/gap-cursor/locales/es.d.ts +4 -0
  763. package/dist/plugins/gap-cursor/locales/es.d.ts.map +1 -0
  764. package/dist/plugins/gap-cursor/locales/fr.d.ts +4 -0
  765. package/dist/plugins/gap-cursor/locales/fr.d.ts.map +1 -0
  766. package/dist/plugins/gap-cursor/locales/hi.d.ts +4 -0
  767. package/dist/plugins/gap-cursor/locales/hi.d.ts.map +1 -0
  768. package/dist/plugins/gap-cursor/locales/pt.d.ts +4 -0
  769. package/dist/plugins/gap-cursor/locales/pt.d.ts.map +1 -0
  770. package/dist/plugins/gap-cursor/locales/ru.d.ts +4 -0
  771. package/dist/plugins/gap-cursor/locales/ru.d.ts.map +1 -0
  772. package/dist/plugins/gap-cursor/locales/zh.d.ts +4 -0
  773. package/dist/plugins/gap-cursor/locales/zh.d.ts.map +1 -0
  774. package/dist/plugins/gap-cursor.mjs +1 -64
  775. package/dist/plugins/gap-cursor.mjs.map +1 -1
  776. package/dist/plugins/hard-break.mjs +1 -4
  777. package/dist/plugins/hard-break.mjs.map +1 -1
  778. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts +1 -1
  779. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts.map +1 -1
  780. package/dist/plugins/heading/HeadingInputRules.d.ts.map +1 -1
  781. package/dist/plugins/heading/HeadingKeyboardHandlers.d.ts.map +1 -1
  782. package/dist/plugins/heading/HeadingLocale.d.ts +1 -8
  783. package/dist/plugins/heading/HeadingLocale.d.ts.map +1 -1
  784. package/dist/plugins/heading/HeadingPlugin.d.ts +2 -4
  785. package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
  786. package/dist/plugins/heading/index.d.ts +3 -0
  787. package/dist/plugins/heading/index.d.ts.map +1 -1
  788. package/dist/plugins/heading/locales/ar.d.ts +4 -0
  789. package/dist/plugins/heading/locales/ar.d.ts.map +1 -0
  790. package/dist/plugins/heading/locales/de.d.ts +4 -0
  791. package/dist/plugins/heading/locales/de.d.ts.map +1 -0
  792. package/dist/plugins/heading/locales/es.d.ts +4 -0
  793. package/dist/plugins/heading/locales/es.d.ts.map +1 -0
  794. package/dist/plugins/heading/locales/fr.d.ts +4 -0
  795. package/dist/plugins/heading/locales/fr.d.ts.map +1 -0
  796. package/dist/plugins/heading/locales/hi.d.ts +4 -0
  797. package/dist/plugins/heading/locales/hi.d.ts.map +1 -0
  798. package/dist/plugins/heading/locales/pt.d.ts +4 -0
  799. package/dist/plugins/heading/locales/pt.d.ts.map +1 -0
  800. package/dist/plugins/heading/locales/ru.d.ts +4 -0
  801. package/dist/plugins/heading/locales/ru.d.ts.map +1 -0
  802. package/dist/plugins/heading/locales/zh.d.ts +4 -0
  803. package/dist/plugins/heading/locales/zh.d.ts.map +1 -0
  804. package/dist/plugins/heading.mjs +1 -4
  805. package/dist/plugins/heading.mjs.map +1 -1
  806. package/dist/plugins/highlight/HighlightLocale.d.ts +1 -8
  807. package/dist/plugins/highlight/HighlightLocale.d.ts.map +1 -1
  808. package/dist/plugins/highlight/HighlightPlugin.d.ts +1 -3
  809. package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
  810. package/dist/plugins/highlight/index.d.ts +2 -0
  811. package/dist/plugins/highlight/index.d.ts.map +1 -1
  812. package/dist/plugins/highlight/locales/ar.d.ts +4 -0
  813. package/dist/plugins/highlight/locales/ar.d.ts.map +1 -0
  814. package/dist/plugins/highlight/locales/de.d.ts +4 -0
  815. package/dist/plugins/highlight/locales/de.d.ts.map +1 -0
  816. package/dist/plugins/highlight/locales/es.d.ts +4 -0
  817. package/dist/plugins/highlight/locales/es.d.ts.map +1 -0
  818. package/dist/plugins/highlight/locales/fr.d.ts +4 -0
  819. package/dist/plugins/highlight/locales/fr.d.ts.map +1 -0
  820. package/dist/plugins/highlight/locales/hi.d.ts +4 -0
  821. package/dist/plugins/highlight/locales/hi.d.ts.map +1 -0
  822. package/dist/plugins/highlight/locales/pt.d.ts +4 -0
  823. package/dist/plugins/highlight/locales/pt.d.ts.map +1 -0
  824. package/dist/plugins/highlight/locales/ru.d.ts +4 -0
  825. package/dist/plugins/highlight/locales/ru.d.ts.map +1 -0
  826. package/dist/plugins/highlight/locales/zh.d.ts +4 -0
  827. package/dist/plugins/highlight/locales/zh.d.ts.map +1 -0
  828. package/dist/plugins/highlight.mjs +1 -4
  829. package/dist/plugins/highlight.mjs.map +1 -1
  830. package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts +1 -8
  831. package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts.map +1 -1
  832. package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts +1 -3
  833. package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
  834. package/dist/plugins/horizontal-rule/index.d.ts +2 -0
  835. package/dist/plugins/horizontal-rule/index.d.ts.map +1 -1
  836. package/dist/plugins/horizontal-rule/locales/ar.d.ts +4 -0
  837. package/dist/plugins/horizontal-rule/locales/ar.d.ts.map +1 -0
  838. package/dist/plugins/horizontal-rule/locales/de.d.ts +4 -0
  839. package/dist/plugins/horizontal-rule/locales/de.d.ts.map +1 -0
  840. package/dist/plugins/horizontal-rule/locales/es.d.ts +4 -0
  841. package/dist/plugins/horizontal-rule/locales/es.d.ts.map +1 -0
  842. package/dist/plugins/horizontal-rule/locales/fr.d.ts +4 -0
  843. package/dist/plugins/horizontal-rule/locales/fr.d.ts.map +1 -0
  844. package/dist/plugins/horizontal-rule/locales/hi.d.ts +4 -0
  845. package/dist/plugins/horizontal-rule/locales/hi.d.ts.map +1 -0
  846. package/dist/plugins/horizontal-rule/locales/pt.d.ts +4 -0
  847. package/dist/plugins/horizontal-rule/locales/pt.d.ts.map +1 -0
  848. package/dist/plugins/horizontal-rule/locales/ru.d.ts +4 -0
  849. package/dist/plugins/horizontal-rule/locales/ru.d.ts.map +1 -0
  850. package/dist/plugins/horizontal-rule/locales/zh.d.ts +4 -0
  851. package/dist/plugins/horizontal-rule/locales/zh.d.ts.map +1 -0
  852. package/dist/plugins/horizontal-rule.mjs +1 -4
  853. package/dist/plugins/horizontal-rule.mjs.map +1 -1
  854. package/dist/plugins/image/ImageLocale.d.ts +9 -8
  855. package/dist/plugins/image/ImageLocale.d.ts.map +1 -1
  856. package/dist/plugins/image/ImageNodeView.d.ts +8 -1
  857. package/dist/plugins/image/ImageNodeView.d.ts.map +1 -1
  858. package/dist/plugins/image/ImagePlugin.d.ts +2 -3
  859. package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
  860. package/dist/plugins/image/ImagePopup.d.ts +11 -0
  861. package/dist/plugins/image/ImagePopup.d.ts.map +1 -0
  862. package/dist/plugins/image/ImageUpload.d.ts +1 -2
  863. package/dist/plugins/image/ImageUpload.d.ts.map +1 -1
  864. package/dist/plugins/image/index.d.ts +2 -0
  865. package/dist/plugins/image/index.d.ts.map +1 -1
  866. package/dist/plugins/image/locales/ar.d.ts +4 -0
  867. package/dist/plugins/image/locales/ar.d.ts.map +1 -0
  868. package/dist/plugins/image/locales/de.d.ts +4 -0
  869. package/dist/plugins/image/locales/de.d.ts.map +1 -0
  870. package/dist/plugins/image/locales/es.d.ts +4 -0
  871. package/dist/plugins/image/locales/es.d.ts.map +1 -0
  872. package/dist/plugins/image/locales/fr.d.ts +4 -0
  873. package/dist/plugins/image/locales/fr.d.ts.map +1 -0
  874. package/dist/plugins/image/locales/hi.d.ts +4 -0
  875. package/dist/plugins/image/locales/hi.d.ts.map +1 -0
  876. package/dist/plugins/image/locales/pt.d.ts +4 -0
  877. package/dist/plugins/image/locales/pt.d.ts.map +1 -0
  878. package/dist/plugins/image/locales/ru.d.ts +4 -0
  879. package/dist/plugins/image/locales/ru.d.ts.map +1 -0
  880. package/dist/plugins/image/locales/zh.d.ts +4 -0
  881. package/dist/plugins/image/locales/zh.d.ts.map +1 -0
  882. package/dist/plugins/image.mjs +1 -6
  883. package/dist/plugins/image.mjs.map +1 -1
  884. package/dist/plugins/link/LinkLocale.d.ts +1 -8
  885. package/dist/plugins/link/LinkLocale.d.ts.map +1 -1
  886. package/dist/plugins/link/LinkPlugin.d.ts +1 -3
  887. package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
  888. package/dist/plugins/link/index.d.ts +2 -0
  889. package/dist/plugins/link/index.d.ts.map +1 -1
  890. package/dist/plugins/link/locales/ar.d.ts +4 -0
  891. package/dist/plugins/link/locales/ar.d.ts.map +1 -0
  892. package/dist/plugins/link/locales/de.d.ts +4 -0
  893. package/dist/plugins/link/locales/de.d.ts.map +1 -0
  894. package/dist/plugins/link/locales/es.d.ts +4 -0
  895. package/dist/plugins/link/locales/es.d.ts.map +1 -0
  896. package/dist/plugins/link/locales/fr.d.ts +4 -0
  897. package/dist/plugins/link/locales/fr.d.ts.map +1 -0
  898. package/dist/plugins/link/locales/hi.d.ts +4 -0
  899. package/dist/plugins/link/locales/hi.d.ts.map +1 -0
  900. package/dist/plugins/link/locales/pt.d.ts +4 -0
  901. package/dist/plugins/link/locales/pt.d.ts.map +1 -0
  902. package/dist/plugins/link/locales/ru.d.ts +4 -0
  903. package/dist/plugins/link/locales/ru.d.ts.map +1 -0
  904. package/dist/plugins/link/locales/zh.d.ts +4 -0
  905. package/dist/plugins/link/locales/zh.d.ts.map +1 -0
  906. package/dist/plugins/link.mjs +1 -4
  907. package/dist/plugins/link.mjs.map +1 -1
  908. package/dist/plugins/list/ListLocale.d.ts +1 -8
  909. package/dist/plugins/list/ListLocale.d.ts.map +1 -1
  910. package/dist/plugins/list/ListPlugin.d.ts +1 -3
  911. package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
  912. package/dist/plugins/list/index.d.ts +2 -0
  913. package/dist/plugins/list/index.d.ts.map +1 -1
  914. package/dist/plugins/list/locales/ar.d.ts +4 -0
  915. package/dist/plugins/list/locales/ar.d.ts.map +1 -0
  916. package/dist/plugins/list/locales/de.d.ts +4 -0
  917. package/dist/plugins/list/locales/de.d.ts.map +1 -0
  918. package/dist/plugins/list/locales/es.d.ts +4 -0
  919. package/dist/plugins/list/locales/es.d.ts.map +1 -0
  920. package/dist/plugins/list/locales/fr.d.ts +4 -0
  921. package/dist/plugins/list/locales/fr.d.ts.map +1 -0
  922. package/dist/plugins/list/locales/hi.d.ts +4 -0
  923. package/dist/plugins/list/locales/hi.d.ts.map +1 -0
  924. package/dist/plugins/list/locales/pt.d.ts +4 -0
  925. package/dist/plugins/list/locales/pt.d.ts.map +1 -0
  926. package/dist/plugins/list/locales/ru.d.ts +4 -0
  927. package/dist/plugins/list/locales/ru.d.ts.map +1 -0
  928. package/dist/plugins/list/locales/zh.d.ts +4 -0
  929. package/dist/plugins/list/locales/zh.d.ts.map +1 -0
  930. package/dist/plugins/list.mjs +1 -4
  931. package/dist/plugins/list.mjs.map +1 -1
  932. package/dist/plugins/print/PrintLocale.d.ts +1 -8
  933. package/dist/plugins/print/PrintLocale.d.ts.map +1 -1
  934. package/dist/plugins/print/PrintPlugin.d.ts +1 -1
  935. package/dist/plugins/print/PrintPlugin.d.ts.map +1 -1
  936. package/dist/plugins/print/PrintServiceImpl.d.ts.map +1 -1
  937. package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
  938. package/dist/plugins/print/PrintTypes.d.ts +1 -1
  939. package/dist/plugins/print/PrintTypes.d.ts.map +1 -1
  940. package/dist/plugins/print/index.d.ts +5 -0
  941. package/dist/plugins/print/index.d.ts.map +1 -0
  942. package/dist/plugins/print/locales/ar.d.ts +4 -0
  943. package/dist/plugins/print/locales/ar.d.ts.map +1 -0
  944. package/dist/plugins/print/locales/de.d.ts +4 -0
  945. package/dist/plugins/print/locales/de.d.ts.map +1 -0
  946. package/dist/plugins/print/locales/es.d.ts +4 -0
  947. package/dist/plugins/print/locales/es.d.ts.map +1 -0
  948. package/dist/plugins/print/locales/fr.d.ts +4 -0
  949. package/dist/plugins/print/locales/fr.d.ts.map +1 -0
  950. package/dist/plugins/print/locales/hi.d.ts +4 -0
  951. package/dist/plugins/print/locales/hi.d.ts.map +1 -0
  952. package/dist/plugins/print/locales/pt.d.ts +4 -0
  953. package/dist/plugins/print/locales/pt.d.ts.map +1 -0
  954. package/dist/plugins/print/locales/ru.d.ts +4 -0
  955. package/dist/plugins/print/locales/ru.d.ts.map +1 -0
  956. package/dist/plugins/print/locales/zh.d.ts +4 -0
  957. package/dist/plugins/print/locales/zh.d.ts.map +1 -0
  958. package/dist/plugins/print.mjs +2 -0
  959. package/dist/plugins/print.mjs.map +1 -0
  960. package/dist/plugins/shared/ColorGrid.d.ts.map +1 -1
  961. package/dist/plugins/shared/ColorMarkOperations.d.ts +1 -2
  962. package/dist/plugins/shared/ColorMarkOperations.d.ts.map +1 -1
  963. package/dist/plugins/shared/ColorPickerPopup.d.ts +1 -8
  964. package/dist/plugins/shared/ColorPickerPopup.d.ts.map +1 -1
  965. package/dist/plugins/shared/KeyboardNav.d.ts +17 -0
  966. package/dist/plugins/shared/KeyboardNav.d.ts.map +1 -0
  967. package/dist/plugins/shared/PluginHelpers.d.ts +18 -0
  968. package/dist/plugins/shared/PluginHelpers.d.ts.map +1 -0
  969. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts +1 -1
  970. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts.map +1 -1
  971. package/dist/plugins/shared/PopupManager.d.ts +2 -0
  972. package/dist/plugins/shared/PopupManager.d.ts.map +1 -1
  973. package/dist/plugins/shared/PopupPositioning.d.ts +1 -0
  974. package/dist/plugins/shared/PopupPositioning.d.ts.map +1 -1
  975. package/dist/plugins/shared/ShortcutFormatting.d.ts +9 -0
  976. package/dist/plugins/shared/ShortcutFormatting.d.ts.map +1 -0
  977. package/dist/plugins/shared/XmlPatterns.d.ts +10 -0
  978. package/dist/plugins/shared/XmlPatterns.d.ts.map +1 -0
  979. package/dist/plugins/shared/index.d.ts +13 -0
  980. package/dist/plugins/shared/index.d.ts.map +1 -0
  981. package/dist/plugins/shared.mjs +2 -0
  982. package/dist/plugins/shared.mjs.map +1 -0
  983. package/dist/plugins/smart-paste/SmartPasteLocale.d.ts +7 -0
  984. package/dist/plugins/smart-paste/SmartPasteLocale.d.ts.map +1 -0
  985. package/dist/plugins/smart-paste/SmartPastePlugin.d.ts +19 -0
  986. package/dist/plugins/smart-paste/SmartPastePlugin.d.ts.map +1 -0
  987. package/dist/plugins/smart-paste/SmartPasteTypes.d.ts +24 -0
  988. package/dist/plugins/smart-paste/SmartPasteTypes.d.ts.map +1 -0
  989. package/dist/plugins/smart-paste/detectors/JsonDetector.d.ts +6 -0
  990. package/dist/plugins/smart-paste/detectors/JsonDetector.d.ts.map +1 -0
  991. package/dist/plugins/smart-paste/detectors/XmlDetector.d.ts +26 -0
  992. package/dist/plugins/smart-paste/detectors/XmlDetector.d.ts.map +1 -0
  993. package/dist/plugins/smart-paste/index.d.ts +7 -0
  994. package/dist/plugins/smart-paste/index.d.ts.map +1 -0
  995. package/dist/plugins/smart-paste/locales/ar.d.ts +4 -0
  996. package/dist/plugins/smart-paste/locales/ar.d.ts.map +1 -0
  997. package/dist/plugins/smart-paste/locales/de.d.ts +4 -0
  998. package/dist/plugins/smart-paste/locales/de.d.ts.map +1 -0
  999. package/dist/plugins/smart-paste/locales/es.d.ts +4 -0
  1000. package/dist/plugins/smart-paste/locales/es.d.ts.map +1 -0
  1001. package/dist/plugins/smart-paste/locales/fr.d.ts +4 -0
  1002. package/dist/plugins/smart-paste/locales/fr.d.ts.map +1 -0
  1003. package/dist/plugins/smart-paste/locales/hi.d.ts +4 -0
  1004. package/dist/plugins/smart-paste/locales/hi.d.ts.map +1 -0
  1005. package/dist/plugins/smart-paste/locales/pt.d.ts +4 -0
  1006. package/dist/plugins/smart-paste/locales/pt.d.ts.map +1 -0
  1007. package/dist/plugins/smart-paste/locales/ru.d.ts +4 -0
  1008. package/dist/plugins/smart-paste/locales/ru.d.ts.map +1 -0
  1009. package/dist/plugins/smart-paste/locales/zh.d.ts +4 -0
  1010. package/dist/plugins/smart-paste/locales/zh.d.ts.map +1 -0
  1011. package/dist/plugins/smart-paste.mjs +2 -0
  1012. package/dist/plugins/smart-paste.mjs.map +1 -0
  1013. package/dist/plugins/strikethrough/StrikethroughLocale.d.ts +1 -8
  1014. package/dist/plugins/strikethrough/StrikethroughLocale.d.ts.map +1 -1
  1015. package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts +1 -3
  1016. package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts.map +1 -1
  1017. package/dist/plugins/strikethrough/index.d.ts +2 -0
  1018. package/dist/plugins/strikethrough/index.d.ts.map +1 -1
  1019. package/dist/plugins/strikethrough/locales/ar.d.ts +4 -0
  1020. package/dist/plugins/strikethrough/locales/ar.d.ts.map +1 -0
  1021. package/dist/plugins/strikethrough/locales/de.d.ts +4 -0
  1022. package/dist/plugins/strikethrough/locales/de.d.ts.map +1 -0
  1023. package/dist/plugins/strikethrough/locales/es.d.ts +4 -0
  1024. package/dist/plugins/strikethrough/locales/es.d.ts.map +1 -0
  1025. package/dist/plugins/strikethrough/locales/fr.d.ts +4 -0
  1026. package/dist/plugins/strikethrough/locales/fr.d.ts.map +1 -0
  1027. package/dist/plugins/strikethrough/locales/hi.d.ts +4 -0
  1028. package/dist/plugins/strikethrough/locales/hi.d.ts.map +1 -0
  1029. package/dist/plugins/strikethrough/locales/pt.d.ts +4 -0
  1030. package/dist/plugins/strikethrough/locales/pt.d.ts.map +1 -0
  1031. package/dist/plugins/strikethrough/locales/ru.d.ts +4 -0
  1032. package/dist/plugins/strikethrough/locales/ru.d.ts.map +1 -0
  1033. package/dist/plugins/strikethrough/locales/zh.d.ts +4 -0
  1034. package/dist/plugins/strikethrough/locales/zh.d.ts.map +1 -0
  1035. package/dist/plugins/strikethrough.mjs +1 -4
  1036. package/dist/plugins/strikethrough.mjs.map +1 -1
  1037. package/dist/plugins/super-sub/SuperSubLocale.d.ts +1 -8
  1038. package/dist/plugins/super-sub/SuperSubLocale.d.ts.map +1 -1
  1039. package/dist/plugins/super-sub/SuperSubPlugin.d.ts +1 -3
  1040. package/dist/plugins/super-sub/SuperSubPlugin.d.ts.map +1 -1
  1041. package/dist/plugins/super-sub/index.d.ts +2 -0
  1042. package/dist/plugins/super-sub/index.d.ts.map +1 -1
  1043. package/dist/plugins/super-sub/locales/ar.d.ts +4 -0
  1044. package/dist/plugins/super-sub/locales/ar.d.ts.map +1 -0
  1045. package/dist/plugins/super-sub/locales/de.d.ts +4 -0
  1046. package/dist/plugins/super-sub/locales/de.d.ts.map +1 -0
  1047. package/dist/plugins/super-sub/locales/es.d.ts +4 -0
  1048. package/dist/plugins/super-sub/locales/es.d.ts.map +1 -0
  1049. package/dist/plugins/super-sub/locales/fr.d.ts +4 -0
  1050. package/dist/plugins/super-sub/locales/fr.d.ts.map +1 -0
  1051. package/dist/plugins/super-sub/locales/hi.d.ts +4 -0
  1052. package/dist/plugins/super-sub/locales/hi.d.ts.map +1 -0
  1053. package/dist/plugins/super-sub/locales/pt.d.ts +4 -0
  1054. package/dist/plugins/super-sub/locales/pt.d.ts.map +1 -0
  1055. package/dist/plugins/super-sub/locales/ru.d.ts +4 -0
  1056. package/dist/plugins/super-sub/locales/ru.d.ts.map +1 -0
  1057. package/dist/plugins/super-sub/locales/zh.d.ts +4 -0
  1058. package/dist/plugins/super-sub/locales/zh.d.ts.map +1 -0
  1059. package/dist/plugins/super-sub.mjs +1 -4
  1060. package/dist/plugins/super-sub.mjs.map +1 -1
  1061. package/dist/plugins/table/TableCommands.d.ts +8 -8
  1062. package/dist/plugins/table/TableCommands.d.ts.map +1 -1
  1063. package/dist/plugins/table/TableContextMenu.d.ts.map +1 -1
  1064. package/dist/plugins/table/TableControlsDOM.d.ts +4 -4
  1065. package/dist/plugins/table/TableControlsDOM.d.ts.map +1 -1
  1066. package/dist/plugins/table/TableLocale.d.ts +1 -8
  1067. package/dist/plugins/table/TableLocale.d.ts.map +1 -1
  1068. package/dist/plugins/table/TableNavigation.d.ts +1 -1
  1069. package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
  1070. package/dist/plugins/table/TablePlugin.d.ts +3 -5
  1071. package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
  1072. package/dist/plugins/table/TableSelection.d.ts +2 -0
  1073. package/dist/plugins/table/TableSelection.d.ts.map +1 -1
  1074. package/dist/plugins/table/index.d.ts +1 -5
  1075. package/dist/plugins/table/index.d.ts.map +1 -1
  1076. package/dist/plugins/table/locales/ar.d.ts +4 -0
  1077. package/dist/plugins/table/locales/ar.d.ts.map +1 -0
  1078. package/dist/plugins/table/locales/de.d.ts +4 -0
  1079. package/dist/plugins/table/locales/de.d.ts.map +1 -0
  1080. package/dist/plugins/table/locales/es.d.ts +4 -0
  1081. package/dist/plugins/table/locales/es.d.ts.map +1 -0
  1082. package/dist/plugins/table/locales/fr.d.ts +4 -0
  1083. package/dist/plugins/table/locales/fr.d.ts.map +1 -0
  1084. package/dist/plugins/table/locales/hi.d.ts +4 -0
  1085. package/dist/plugins/table/locales/hi.d.ts.map +1 -0
  1086. package/dist/plugins/table/locales/pt.d.ts +4 -0
  1087. package/dist/plugins/table/locales/pt.d.ts.map +1 -0
  1088. package/dist/plugins/table/locales/ru.d.ts +4 -0
  1089. package/dist/plugins/table/locales/ru.d.ts.map +1 -0
  1090. package/dist/plugins/table/locales/zh.d.ts +4 -0
  1091. package/dist/plugins/table/locales/zh.d.ts.map +1 -0
  1092. package/dist/plugins/table.mjs +1 -20
  1093. package/dist/plugins/table.mjs.map +1 -1
  1094. package/dist/plugins/text-color/TextColorLocale.d.ts +1 -8
  1095. package/dist/plugins/text-color/TextColorLocale.d.ts.map +1 -1
  1096. package/dist/plugins/text-color/TextColorPlugin.d.ts +1 -3
  1097. package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
  1098. package/dist/plugins/text-color/index.d.ts +2 -0
  1099. package/dist/plugins/text-color/index.d.ts.map +1 -1
  1100. package/dist/plugins/text-color/locales/ar.d.ts +4 -0
  1101. package/dist/plugins/text-color/locales/ar.d.ts.map +1 -0
  1102. package/dist/plugins/text-color/locales/de.d.ts +4 -0
  1103. package/dist/plugins/text-color/locales/de.d.ts.map +1 -0
  1104. package/dist/plugins/text-color/locales/es.d.ts +4 -0
  1105. package/dist/plugins/text-color/locales/es.d.ts.map +1 -0
  1106. package/dist/plugins/text-color/locales/fr.d.ts +4 -0
  1107. package/dist/plugins/text-color/locales/fr.d.ts.map +1 -0
  1108. package/dist/plugins/text-color/locales/hi.d.ts +4 -0
  1109. package/dist/plugins/text-color/locales/hi.d.ts.map +1 -0
  1110. package/dist/plugins/text-color/locales/pt.d.ts +4 -0
  1111. package/dist/plugins/text-color/locales/pt.d.ts.map +1 -0
  1112. package/dist/plugins/text-color/locales/ru.d.ts +4 -0
  1113. package/dist/plugins/text-color/locales/ru.d.ts.map +1 -0
  1114. package/dist/plugins/text-color/locales/zh.d.ts +4 -0
  1115. package/dist/plugins/text-color/locales/zh.d.ts.map +1 -0
  1116. package/dist/plugins/text-color.mjs +1 -4
  1117. package/dist/plugins/text-color.mjs.map +1 -1
  1118. package/dist/plugins/text-direction/DirectionDetection.d.ts +17 -0
  1119. package/dist/plugins/text-direction/DirectionDetection.d.ts.map +1 -0
  1120. package/dist/plugins/text-direction/ShiftDirectionHandler.d.ts +12 -0
  1121. package/dist/plugins/text-direction/ShiftDirectionHandler.d.ts.map +1 -0
  1122. package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts +35 -0
  1123. package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts.map +1 -0
  1124. package/dist/plugins/text-direction/TextDirectionLocale.d.ts +20 -0
  1125. package/dist/plugins/text-direction/TextDirectionLocale.d.ts.map +1 -0
  1126. package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts +18 -0
  1127. package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts.map +1 -0
  1128. package/dist/plugins/text-direction/TextDirectionPlugin.d.ts +59 -0
  1129. package/dist/plugins/text-direction/TextDirectionPlugin.d.ts.map +1 -0
  1130. package/dist/plugins/text-direction/index.d.ts +5 -0
  1131. package/dist/plugins/text-direction/index.d.ts.map +1 -0
  1132. package/dist/plugins/text-direction/locales/ar.d.ts +4 -0
  1133. package/dist/plugins/text-direction/locales/ar.d.ts.map +1 -0
  1134. package/dist/plugins/text-direction/locales/de.d.ts +4 -0
  1135. package/dist/plugins/text-direction/locales/de.d.ts.map +1 -0
  1136. package/dist/plugins/text-direction/locales/es.d.ts +4 -0
  1137. package/dist/plugins/text-direction/locales/es.d.ts.map +1 -0
  1138. package/dist/plugins/text-direction/locales/fr.d.ts +4 -0
  1139. package/dist/plugins/text-direction/locales/fr.d.ts.map +1 -0
  1140. package/dist/plugins/text-direction/locales/hi.d.ts +4 -0
  1141. package/dist/plugins/text-direction/locales/hi.d.ts.map +1 -0
  1142. package/dist/plugins/text-direction/locales/pt.d.ts +4 -0
  1143. package/dist/plugins/text-direction/locales/pt.d.ts.map +1 -0
  1144. package/dist/plugins/text-direction/locales/ru.d.ts +4 -0
  1145. package/dist/plugins/text-direction/locales/ru.d.ts.map +1 -0
  1146. package/dist/plugins/text-direction/locales/zh.d.ts +4 -0
  1147. package/dist/plugins/text-direction/locales/zh.d.ts.map +1 -0
  1148. package/dist/plugins/text-direction-advanced/index.d.ts +5 -0
  1149. package/dist/plugins/text-direction-advanced/index.d.ts.map +1 -0
  1150. package/dist/plugins/text-direction-advanced.mjs +2 -0
  1151. package/dist/plugins/text-direction-advanced.mjs.map +1 -0
  1152. package/dist/plugins/text-direction.mjs +2 -0
  1153. package/dist/plugins/text-direction.mjs.map +1 -0
  1154. package/dist/plugins/text-formatting/TextFormattingLocale.d.ts +1 -8
  1155. package/dist/plugins/text-formatting/TextFormattingLocale.d.ts.map +1 -1
  1156. package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts +1 -3
  1157. package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts.map +1 -1
  1158. package/dist/plugins/text-formatting/index.d.ts +2 -0
  1159. package/dist/plugins/text-formatting/index.d.ts.map +1 -1
  1160. package/dist/plugins/text-formatting/locales/ar.d.ts +4 -0
  1161. package/dist/plugins/text-formatting/locales/ar.d.ts.map +1 -0
  1162. package/dist/plugins/text-formatting/locales/de.d.ts +4 -0
  1163. package/dist/plugins/text-formatting/locales/de.d.ts.map +1 -0
  1164. package/dist/plugins/text-formatting/locales/es.d.ts +4 -0
  1165. package/dist/plugins/text-formatting/locales/es.d.ts.map +1 -0
  1166. package/dist/plugins/text-formatting/locales/fr.d.ts +4 -0
  1167. package/dist/plugins/text-formatting/locales/fr.d.ts.map +1 -0
  1168. package/dist/plugins/text-formatting/locales/hi.d.ts +4 -0
  1169. package/dist/plugins/text-formatting/locales/hi.d.ts.map +1 -0
  1170. package/dist/plugins/text-formatting/locales/pt.d.ts +4 -0
  1171. package/dist/plugins/text-formatting/locales/pt.d.ts.map +1 -0
  1172. package/dist/plugins/text-formatting/locales/ru.d.ts +4 -0
  1173. package/dist/plugins/text-formatting/locales/ru.d.ts.map +1 -0
  1174. package/dist/plugins/text-formatting/locales/zh.d.ts +4 -0
  1175. package/dist/plugins/text-formatting/locales/zh.d.ts.map +1 -0
  1176. package/dist/plugins/text-formatting.mjs +1 -4
  1177. package/dist/plugins/text-formatting.mjs.map +1 -1
  1178. package/dist/plugins/toolbar/ToolbarItem.d.ts +2 -18
  1179. package/dist/plugins/toolbar/ToolbarItem.d.ts.map +1 -1
  1180. package/dist/plugins/toolbar/ToolbarKeyboardNav.d.ts +5 -11
  1181. package/dist/plugins/toolbar/ToolbarKeyboardNav.d.ts.map +1 -1
  1182. package/dist/plugins/toolbar/ToolbarLocale.d.ts +2 -8
  1183. package/dist/plugins/toolbar/ToolbarLocale.d.ts.map +1 -1
  1184. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts.map +1 -1
  1185. package/dist/plugins/toolbar/ToolbarPlugin.d.ts +2 -2
  1186. package/dist/plugins/toolbar/ToolbarPlugin.d.ts.map +1 -1
  1187. package/dist/plugins/toolbar/ToolbarPopupController.d.ts +3 -1
  1188. package/dist/plugins/toolbar/ToolbarPopupController.d.ts.map +1 -1
  1189. package/dist/plugins/toolbar/ToolbarRenderers.d.ts +2 -1
  1190. package/dist/plugins/toolbar/ToolbarRenderers.d.ts.map +1 -1
  1191. package/dist/plugins/toolbar/index.d.ts +4 -1
  1192. package/dist/plugins/toolbar/index.d.ts.map +1 -1
  1193. package/dist/plugins/toolbar/locales/ar.d.ts +4 -0
  1194. package/dist/plugins/toolbar/locales/ar.d.ts.map +1 -0
  1195. package/dist/plugins/toolbar/locales/de.d.ts +4 -0
  1196. package/dist/plugins/toolbar/locales/de.d.ts.map +1 -0
  1197. package/dist/plugins/toolbar/locales/es.d.ts +4 -0
  1198. package/dist/plugins/toolbar/locales/es.d.ts.map +1 -0
  1199. package/dist/plugins/toolbar/locales/fr.d.ts +4 -0
  1200. package/dist/plugins/toolbar/locales/fr.d.ts.map +1 -0
  1201. package/dist/plugins/toolbar/locales/hi.d.ts +4 -0
  1202. package/dist/plugins/toolbar/locales/hi.d.ts.map +1 -0
  1203. package/dist/plugins/toolbar/locales/pt.d.ts +4 -0
  1204. package/dist/plugins/toolbar/locales/pt.d.ts.map +1 -0
  1205. package/dist/plugins/toolbar/locales/ru.d.ts +4 -0
  1206. package/dist/plugins/toolbar/locales/ru.d.ts.map +1 -0
  1207. package/dist/plugins/toolbar/locales/zh.d.ts +4 -0
  1208. package/dist/plugins/toolbar/locales/zh.d.ts.map +1 -0
  1209. package/dist/plugins/toolbar.mjs +1 -7
  1210. package/dist/plugins/toolbar.mjs.map +1 -1
  1211. package/dist/presets/FullPreset.d.ts +4 -1
  1212. package/dist/presets/FullPreset.d.ts.map +1 -1
  1213. package/dist/presets/MinimalPreset.d.ts +3 -0
  1214. package/dist/presets/MinimalPreset.d.ts.map +1 -1
  1215. package/dist/presets/PresetTypes.d.ts +4 -0
  1216. package/dist/presets/PresetTypes.d.ts.map +1 -1
  1217. package/dist/presets/full.d.ts +17 -0
  1218. package/dist/presets/full.d.ts.map +1 -0
  1219. package/dist/presets/full.mjs +2 -0
  1220. package/dist/presets/full.mjs.map +1 -0
  1221. package/dist/presets/minimal.d.ts +17 -0
  1222. package/dist/presets/minimal.d.ts.map +1 -0
  1223. package/dist/presets/minimal.mjs +2 -0
  1224. package/dist/presets/minimal.mjs.map +1 -0
  1225. package/dist/presets.d.ts +20 -0
  1226. package/dist/presets.d.ts.map +1 -0
  1227. package/dist/presets.mjs +2 -0
  1228. package/dist/presets.mjs.map +1 -0
  1229. package/dist/serialization/CSSClassCollector.d.ts.map +1 -0
  1230. package/dist/serialization/ContentHTMLTypes.d.ts.map +1 -0
  1231. package/dist/serialization/DocumentParser.d.ts.map +1 -0
  1232. package/dist/{editor → serialization}/DocumentSerializer.d.ts +2 -0
  1233. package/dist/serialization/DocumentSerializer.d.ts.map +1 -0
  1234. package/dist/{editor → serialization}/MarkSerializer.d.ts +3 -2
  1235. package/dist/serialization/MarkSerializer.d.ts.map +1 -0
  1236. package/dist/serialization/index.d.ts +12 -0
  1237. package/dist/serialization/index.d.ts.map +1 -0
  1238. package/dist/state/BlockBoundaryMovement.d.ts +7 -0
  1239. package/dist/state/BlockBoundaryMovement.d.ts.map +1 -0
  1240. package/dist/state/InlineContentOps.d.ts.map +1 -1
  1241. package/dist/{model/NavigationUtils.d.ts → state/NavigationQueries.d.ts} +3 -3
  1242. package/dist/state/NavigationQueries.d.ts.map +1 -0
  1243. package/dist/state/StepInversion.d.ts +7 -0
  1244. package/dist/state/StepInversion.d.ts.map +1 -0
  1245. package/dist/state/Steps.d.ts +108 -0
  1246. package/dist/state/Steps.d.ts.map +1 -0
  1247. package/dist/state/Transaction.d.ts +5 -174
  1248. package/dist/state/Transaction.d.ts.map +1 -1
  1249. package/dist/state/TransactionBuilder.d.ts +69 -0
  1250. package/dist/state/TransactionBuilder.d.ts.map +1 -0
  1251. package/dist/test/PluginTestUtils.d.ts +0 -2
  1252. package/dist/test/PluginTestUtils.d.ts.map +1 -1
  1253. package/dist/test/TestUtils.d.ts +2 -2
  1254. package/dist/test/TestUtils.d.ts.map +1 -1
  1255. package/dist/view/BlockRendering.d.ts +10 -0
  1256. package/dist/view/BlockRendering.d.ts.map +1 -0
  1257. package/dist/view/BlockWrapperManagement.d.ts +27 -0
  1258. package/dist/view/BlockWrapperManagement.d.ts.map +1 -0
  1259. package/dist/view/CaretNavigation.d.ts +1 -8
  1260. package/dist/view/CaretNavigation.d.ts.map +1 -1
  1261. package/dist/view/CursorWrapper.d.ts.map +1 -1
  1262. package/dist/view/DecorationRendering.d.ts +17 -0
  1263. package/dist/view/DecorationRendering.d.ts.map +1 -0
  1264. package/dist/view/DomUtils.d.ts +13 -0
  1265. package/dist/view/DomUtils.d.ts.map +1 -0
  1266. package/dist/view/EditorView.d.ts +9 -12
  1267. package/dist/view/EditorView.d.ts.map +1 -1
  1268. package/dist/view/GapCursorNavigation.d.ts +12 -0
  1269. package/dist/view/GapCursorNavigation.d.ts.map +1 -0
  1270. package/dist/view/InlineRendering.d.ts +11 -0
  1271. package/dist/view/InlineRendering.d.ts.map +1 -0
  1272. package/dist/view/MarkRendering.d.ts +5 -0
  1273. package/dist/view/MarkRendering.d.ts.map +1 -1
  1274. package/dist/view/Reconciler.d.ts +2 -6
  1275. package/dist/view/Reconciler.d.ts.map +1 -1
  1276. package/dist/view/SelectionSync.d.ts +41 -2
  1277. package/dist/view/SelectionSync.d.ts.map +1 -1
  1278. package/dist/view/ViewMovementCommands.d.ts.map +1 -1
  1279. package/package.json +218 -8
  1280. package/dist/chunks/AttrRegistry-D9Jx_RVb.mjs +0 -16
  1281. package/dist/chunks/AttrRegistry-D9Jx_RVb.mjs.map +0 -1
  1282. package/dist/chunks/AttributedMarkCommands-BtLea72z.mjs +0 -80
  1283. package/dist/chunks/AttributedMarkCommands-BtLea72z.mjs.map +0 -1
  1284. package/dist/chunks/CaretNavigation-7JYpIKbs.mjs +0 -311
  1285. package/dist/chunks/CaretNavigation-7JYpIKbs.mjs.map +0 -1
  1286. package/dist/chunks/ColorGrid--lBQ7jCK.mjs +0 -81
  1287. package/dist/chunks/ColorGrid--lBQ7jCK.mjs.map +0 -1
  1288. package/dist/chunks/ColorPickerPopup-TpIRlXc8.mjs +0 -37
  1289. package/dist/chunks/ColorPickerPopup-TpIRlXc8.mjs.map +0 -1
  1290. package/dist/chunks/ColorValidation-CV4f1wu6.mjs +0 -39
  1291. package/dist/chunks/Document-Brtw2jL1.mjs +0 -190
  1292. package/dist/chunks/Document-Brtw2jL1.mjs.map +0 -1
  1293. package/dist/chunks/HTMLUtils-DTqQzcKR.mjs +0 -35
  1294. package/dist/chunks/HTMLUtils-DTqQzcKR.mjs.map +0 -1
  1295. package/dist/chunks/MarkCommands-6RUJ4L3r.mjs +0 -94
  1296. package/dist/chunks/MarkCommands-6RUJ4L3r.mjs.map +0 -1
  1297. package/dist/chunks/NavigationUtils-Cspt2ZrK.mjs +0 -47
  1298. package/dist/chunks/NavigationUtils-Cspt2ZrK.mjs.map +0 -1
  1299. package/dist/chunks/NodeResolver-C2XYkeOi.mjs +0 -81
  1300. package/dist/chunks/NodeResolver-C2XYkeOi.mjs.map +0 -1
  1301. package/dist/chunks/NodeSpec-NZVvcCuH.mjs +0 -8
  1302. package/dist/chunks/NodeSpec-NZVvcCuH.mjs.map +0 -1
  1303. package/dist/chunks/Platform-S_xqIqcM.mjs +0 -26
  1304. package/dist/chunks/Platform-S_xqIqcM.mjs.map +0 -1
  1305. package/dist/chunks/PopupPositioning-CgjgAKjp.mjs +0 -34
  1306. package/dist/chunks/PopupPositioning-CgjgAKjp.mjs.map +0 -1
  1307. package/dist/chunks/RangeIterator-Bh4Vl_6D.mjs +0 -16
  1308. package/dist/chunks/Selection-BRTab5hO.mjs +0 -52
  1309. package/dist/chunks/StyleRuntime-CP4NCwKT.mjs +0 -235
  1310. package/dist/chunks/ToolbarItem-BpZggUGo.mjs +0 -8
  1311. package/dist/chunks/ToolbarItem-BpZggUGo.mjs.map +0 -1
  1312. package/dist/chunks/ToolbarKeyboardNav-DhpL8zNV.mjs +0 -46
  1313. package/dist/chunks/ToolbarKeyboardNav-DhpL8zNV.mjs.map +0 -1
  1314. package/dist/chunks/TypeBrands-C09nE2qO.mjs +0 -27
  1315. package/dist/chunks/index--7pBhSF4.mjs +0 -542
  1316. package/dist/chunks/index--7pBhSF4.mjs.map +0 -1
  1317. package/dist/chunks/index-BXCkjDax.mjs +0 -161
  1318. package/dist/chunks/index-BXCkjDax.mjs.map +0 -1
  1319. package/dist/chunks/index-BXtw5PNN.mjs +0 -39
  1320. package/dist/chunks/index-BXtw5PNN.mjs.map +0 -1
  1321. package/dist/chunks/index-BcDRT4K2.mjs +0 -1019
  1322. package/dist/chunks/index-BcDRT4K2.mjs.map +0 -1
  1323. package/dist/chunks/index-BjFBWBOC.mjs +0 -168
  1324. package/dist/chunks/index-BjFBWBOC.mjs.map +0 -1
  1325. package/dist/chunks/index-C1opJocO.mjs +0 -92
  1326. package/dist/chunks/index-C1opJocO.mjs.map +0 -1
  1327. package/dist/chunks/index-CCyqQ0Dz.mjs +0 -228
  1328. package/dist/chunks/index-CCyqQ0Dz.mjs.map +0 -1
  1329. package/dist/chunks/index-Cd3uJLP3.mjs +0 -73
  1330. package/dist/chunks/index-Cd3uJLP3.mjs.map +0 -1
  1331. package/dist/chunks/index-DSAuGP4n.mjs +0 -410
  1332. package/dist/chunks/index-DSAuGP4n.mjs.map +0 -1
  1333. package/dist/chunks/index-DtRfqsq5.mjs +0 -924
  1334. package/dist/chunks/index-DtRfqsq5.mjs.map +0 -1
  1335. package/dist/chunks/index-Dum8yE_t.mjs +0 -62
  1336. package/dist/chunks/index-Dum8yE_t.mjs.map +0 -1
  1337. package/dist/chunks/index-DxbQirny.mjs +0 -63
  1338. package/dist/chunks/index-DxbQirny.mjs.map +0 -1
  1339. package/dist/chunks/index-ErZ5_a1o.mjs +0 -296
  1340. package/dist/chunks/index-ErZ5_a1o.mjs.map +0 -1
  1341. package/dist/chunks/index-WpbK_s_H.mjs +0 -119
  1342. package/dist/chunks/index-WpbK_s_H.mjs.map +0 -1
  1343. package/dist/chunks/index-WrqH1wG8.mjs +0 -50
  1344. package/dist/chunks/index-WrqH1wG8.mjs.map +0 -1
  1345. package/dist/chunks/index-fsVJLutn.mjs +0 -118
  1346. package/dist/chunks/index-fsVJLutn.mjs.map +0 -1
  1347. package/dist/chunks/index-fx3KIap3.mjs +0 -50
  1348. package/dist/chunks/index-fx3KIap3.mjs.map +0 -1
  1349. package/dist/chunks/index-oOJo-ywB.mjs +0 -467
  1350. package/dist/chunks/index-oOJo-ywB.mjs.map +0 -1
  1351. package/dist/chunks/index-toj88jtL.mjs +0 -101
  1352. package/dist/chunks/index-toj88jtL.mjs.map +0 -1
  1353. package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs +0 -34
  1354. package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs.map +0 -1
  1355. package/dist/editor/CSSClassCollector.d.ts.map +0 -1
  1356. package/dist/editor/ContentHTMLTypes.d.ts.map +0 -1
  1357. package/dist/editor/DocumentParser.d.ts.map +0 -1
  1358. package/dist/editor/DocumentSerializer.d.ts.map +0 -1
  1359. package/dist/editor/MarkSerializer.d.ts.map +0 -1
  1360. package/dist/editor/PaperSize.d.ts.map +0 -1
  1361. package/dist/i18n/resolvePluginLocale.d.ts +0 -3
  1362. package/dist/i18n/resolvePluginLocale.d.ts.map +0 -1
  1363. package/dist/model/BuiltinSpecs.d.ts.map +0 -1
  1364. package/dist/model/HTMLParser.d.ts.map +0 -1
  1365. package/dist/model/NavigationUtils.d.ts.map +0 -1
  1366. package/dist/view/Platform.d.ts.map +0 -1
  1367. /package/dist/{input → model}/InputRule.d.ts +0 -0
  1368. /package/dist/{input → model}/InputRuleRegistry.d.ts +0 -0
  1369. /package/dist/{input → model}/Keymap.d.ts +0 -0
  1370. /package/dist/{input → model}/KeymapRegistry.d.ts +0 -0
  1371. /package/dist/{editor → model}/PaperSize.d.ts +0 -0
  1372. /package/dist/{editor → serialization}/CSSClassCollector.d.ts +0 -0
  1373. /package/dist/{editor → serialization}/ContentHTMLTypes.d.ts +0 -0
  1374. /package/dist/{editor → serialization}/DocumentParser.d.ts +0 -0
@@ -1,467 +0,0 @@
1
- import { e as n, c as t, v as o, m as e } from "./Document-Brtw2jL1.mjs";
2
- import { c as r, i } from "./NavigationUtils-Cspt2ZrK.mjs";
3
- import { i as l, a as c, b as a } from "./Selection-BRTab5hO.mjs";
4
- import { i as s, m as f, j as u, g as d, r as h, c as k } from "./CaretNavigation-7JYpIKbs.mjs";
5
- import { m } from "./TypeBrands-C09nE2qO.mjs";
6
- import { b as w } from "./MarkCommands-6RUJ4L3r.mjs";
7
- import { i as b, g } from "./Platform-S_xqIqcM.mjs";
8
- const I = "undefined" != typeof Intl && "Segmenter" in Intl ? new Intl.Segmenter(void 0, { granularity: "grapheme" }) : null;
9
- function v(n2, t2) {
10
- if (t2 >= n2.length || 0 === n2.length) return 0;
11
- if (I) {
12
- for (const o2 of I.segment(n2)) if (o2.index >= t2) return o2.segment.length;
13
- return 0;
14
- }
15
- return 1;
16
- }
17
- function x(n2, t2) {
18
- if (t2 <= 0 || 0 === n2.length) return 0;
19
- if (I) {
20
- let o2 = 1;
21
- for (const e2 of I.segment(n2)) {
22
- if (e2.index + e2.segment.length >= t2) {
23
- o2 = e2.segment.length;
24
- break;
25
- }
26
- o2 = e2.segment.length;
27
- }
28
- return o2;
29
- }
30
- return 1;
31
- }
32
- function y(t2, o2) {
33
- let e2 = o2 - 1;
34
- for (; e2 >= 0; ) {
35
- const o3 = n(t2, e2);
36
- if (!o3 || "inline" === o3.kind) break;
37
- if (!/\s/.test(o3.char)) break;
38
- e2--;
39
- }
40
- if (e2 >= 0) {
41
- const o3 = n(t2, e2);
42
- if ("inline" === o3?.kind) return e2;
43
- }
44
- for (; e2 >= 0; ) {
45
- const o3 = n(t2, e2);
46
- if (!o3 || "inline" === o3.kind) break;
47
- if (/\s/.test(o3.char)) break;
48
- e2--;
49
- }
50
- return e2 + 1;
51
- }
52
- function B(o2, e2) {
53
- const r2 = t(o2);
54
- let i2 = e2;
55
- for (; i2 < r2; ) {
56
- const t2 = n(o2, i2);
57
- if (!t2 || "inline" === t2.kind) break;
58
- if (/\s/.test(t2.char)) break;
59
- i2++;
60
- }
61
- if (i2 === e2 && i2 < r2) {
62
- const t2 = n(o2, i2);
63
- if ("inline" === t2?.kind) return i2 + 1;
64
- }
65
- for (; i2 < r2; ) {
66
- const t2 = n(o2, i2);
67
- if (!t2 || "inline" === t2.kind) break;
68
- if (!/\s/.test(t2.char)) break;
69
- i2++;
70
- }
71
- return i2;
72
- }
73
- function p(n2) {
74
- const t2 = n2.selection;
75
- return l(t2) || c(t2) ? null : { blockId: t2.head.blockId, offset: t2.head.offset };
76
- }
77
- function A(n2, t2, o2) {
78
- const e2 = n2.getBlockOrder(), r2 = e2.indexOf(t2);
79
- if (r2 < 0) return null;
80
- const i2 = "forward" === o2 ? r2 + 1 : r2 - 1;
81
- return i2 < 0 || i2 >= e2.length ? null : e2[i2] ?? null;
82
- }
83
- function C(s2) {
84
- const d2 = s2.selection;
85
- if (l(d2) || c(d2)) return null;
86
- if (!a(d2)) return f(s2, d2.head.blockId, d2.head.offset);
87
- const h2 = d2.anchor.blockId, k2 = s2.getBlock(h2);
88
- if (!k2) return null;
89
- const m2 = d2.anchor.offset;
90
- if (m2 < t(k2)) {
91
- const t2 = n(k2, m2);
92
- if ("inline" === t2?.kind) return f(s2, h2, m2 + 1);
93
- const r2 = v(e(k2), o(k2, m2)) || 1;
94
- return f(s2, h2, m2 + r2);
95
- }
96
- const w2 = A(s2, h2, "forward");
97
- return w2 && r(s2, h2, w2) ? i(s2, w2) ? u(s2, w2) : f(s2, w2, 0) : null;
98
- }
99
- function M(s2) {
100
- const d2 = s2.selection;
101
- if (l(d2) || c(d2)) return null;
102
- if (!a(d2)) return f(s2, d2.head.blockId, d2.head.offset);
103
- const h2 = d2.anchor.blockId, k2 = s2.getBlock(h2);
104
- if (!k2) return null;
105
- const m2 = d2.anchor.offset;
106
- if (m2 > 0) {
107
- const t2 = n(k2, m2 - 1);
108
- if ("inline" === t2?.kind) return f(s2, h2, m2 - 1);
109
- const r2 = x(e(k2), o(k2, m2)) || 1;
110
- return f(s2, h2, m2 - r2);
111
- }
112
- const w2 = A(s2, h2, "backward");
113
- if (!w2) return null;
114
- if (!r(s2, h2, w2)) return null;
115
- if (i(s2, w2)) return u(s2, w2);
116
- const b2 = s2.getBlock(w2);
117
- return b2 ? f(s2, w2, t(b2)) : null;
118
- }
119
- function S(n2) {
120
- const t2 = n2.selection;
121
- if (l(t2) || c(t2)) return null;
122
- const o2 = a(t2) ? t2.anchor.blockId : t2.head.blockId;
123
- return 0 === (a(t2) ? t2.anchor.offset : t2.head.offset) ? null : f(n2, o2, 0);
124
- }
125
- function E(n2) {
126
- const o2 = n2.selection;
127
- if (l(o2) || c(o2)) return null;
128
- const e2 = a(o2) ? o2.anchor.blockId : o2.head.blockId, r2 = n2.getBlock(e2);
129
- if (!r2) return null;
130
- const i2 = t(r2);
131
- return (a(o2) ? o2.anchor.offset : o2.head.offset) === i2 ? null : f(n2, e2, i2);
132
- }
133
- function T(n2) {
134
- const t2 = n2.selection;
135
- if (l(t2) || c(t2)) return null;
136
- const o2 = n2.getBlockOrder()[0];
137
- return o2 ? i(n2, o2) ? u(n2, o2) : f(n2, o2, 0) : null;
138
- }
139
- function V(n2) {
140
- const o2 = n2.selection;
141
- if (l(o2) || c(o2)) return null;
142
- const e2 = n2.getBlockOrder(), r2 = e2[e2.length - 1];
143
- if (!r2) return null;
144
- if (i(n2, r2)) return u(n2, r2);
145
- const a2 = n2.getBlock(r2);
146
- return a2 ? f(n2, r2, t(a2)) : null;
147
- }
148
- function O(i2) {
149
- const a2 = p(i2);
150
- if (!a2) return null;
151
- const f2 = i2.selection;
152
- if (l(f2) || c(f2)) return null;
153
- const u2 = i2.getBlock(a2.blockId);
154
- if (!u2) return null;
155
- const d2 = t(u2);
156
- if (a2.offset < d2) {
157
- const t2 = n(u2, a2.offset), r2 = "inline" === t2?.kind ? 1 : v(e(u2), o(u2, a2.offset)) || 1;
158
- return s(i2, f2.anchor.blockId, f2.anchor.offset, a2.blockId, a2.offset + r2);
159
- }
160
- const h2 = A(i2, a2.blockId, "forward");
161
- return h2 && r(i2, a2.blockId, h2) ? s(i2, f2.anchor.blockId, f2.anchor.offset, h2, 0) : null;
162
- }
163
- function L(i2) {
164
- const a2 = p(i2);
165
- if (!a2) return null;
166
- const f2 = i2.selection;
167
- if (l(f2) || c(f2)) return null;
168
- if (a2.offset > 0) {
169
- const t2 = i2.getBlock(a2.blockId);
170
- if (!t2) return null;
171
- const r2 = n(t2, a2.offset - 1), l2 = "inline" === r2?.kind ? 1 : x(e(t2), o(t2, a2.offset)) || 1;
172
- return s(i2, f2.anchor.blockId, f2.anchor.offset, a2.blockId, a2.offset - l2);
173
- }
174
- const u2 = A(i2, a2.blockId, "backward");
175
- if (!u2) return null;
176
- if (!r(i2, a2.blockId, u2)) return null;
177
- const d2 = i2.getBlock(u2);
178
- return d2 ? s(i2, f2.anchor.blockId, f2.anchor.offset, u2, t(d2)) : null;
179
- }
180
- function H(n2) {
181
- const t2 = p(n2);
182
- if (!t2) return null;
183
- const o2 = n2.selection;
184
- return l(o2) || c(o2) || 0 === t2.offset ? null : s(n2, o2.anchor.blockId, o2.anchor.offset, t2.blockId, 0);
185
- }
186
- function D(n2) {
187
- const o2 = p(n2);
188
- if (!o2) return null;
189
- const e2 = n2.selection;
190
- if (l(e2) || c(e2)) return null;
191
- const r2 = n2.getBlock(o2.blockId);
192
- if (!r2) return null;
193
- const i2 = t(r2);
194
- return o2.offset === i2 ? null : s(n2, e2.anchor.blockId, e2.anchor.offset, o2.blockId, i2);
195
- }
196
- function j(n2) {
197
- const t2 = n2.selection;
198
- if (l(t2) || c(t2)) return null;
199
- const o2 = n2.getBlockOrder()[0];
200
- return o2 ? t2.head.blockId === o2 && 0 === t2.head.offset ? null : s(n2, t2.anchor.blockId, t2.anchor.offset, o2, 0) : null;
201
- }
202
- function R(n2) {
203
- const o2 = n2.selection;
204
- if (l(o2) || c(o2)) return null;
205
- const e2 = n2.getBlockOrder(), r2 = e2[e2.length - 1];
206
- if (!r2) return null;
207
- const i2 = n2.getBlock(r2);
208
- if (!i2) return null;
209
- const a2 = t(i2);
210
- return o2.head.blockId === r2 && o2.head.offset === a2 ? null : s(n2, o2.anchor.blockId, o2.anchor.offset, r2, a2);
211
- }
212
- function z(o2, e2, a2, s2) {
213
- const k2 = e2.selection;
214
- if (l(k2) || c(k2)) return null;
215
- const m2 = d(o2);
216
- if (!m2?.modify) return $(e2, a2, s2);
217
- const w2 = m2.anchorNode, b2 = m2.anchorOffset, g2 = m2.focusNode, I2 = m2.focusOffset;
218
- if (!w2 || !g2) return $(e2, a2, s2);
219
- try {
220
- m2.modify("move", a2, s2);
221
- const l2 = h(o2);
222
- if (!l2) return null;
223
- const c2 = l2.anchor.blockId, d2 = k2.anchor.blockId;
224
- if (c2 !== d2 && !r(e2, d2, c2)) return null;
225
- let w3 = l2.anchor.offset;
226
- const b3 = e2.getBlock(c2);
227
- if (b3) {
228
- const o3 = n(b3, w3);
229
- "inline" === o3?.kind && "forward" === a2 && (w3 = Math.min(w3 + 1, t(b3)));
230
- }
231
- return i(e2, c2) ? u(e2, c2) : f(e2, c2, w3);
232
- } finally {
233
- try {
234
- m2.setBaseAndExtent(w2, b2, g2, I2);
235
- } catch {
236
- }
237
- }
238
- }
239
- function N(o2, e2, i2, a2) {
240
- const f2 = e2.selection;
241
- if (l(f2) || c(f2)) return null;
242
- const u2 = d(o2);
243
- if (!u2?.modify) return U(e2, i2, a2);
244
- const k2 = u2.anchorNode, m2 = u2.anchorOffset, w2 = u2.focusNode, b2 = u2.focusOffset;
245
- if (!k2 || !w2) return U(e2, i2, a2);
246
- try {
247
- u2.modify("extend", i2, a2);
248
- const l2 = h(o2);
249
- if (!l2) return null;
250
- const c2 = f2.head.blockId, d2 = l2.head.blockId;
251
- if (d2 !== c2 && !r(e2, c2, d2)) return null;
252
- let k3 = l2.head.offset;
253
- const m3 = e2.getBlock(l2.head.blockId);
254
- if (m3) {
255
- const o3 = n(m3, k3);
256
- "inline" === o3?.kind && "forward" === i2 && (k3 = Math.min(k3 + 1, t(m3)));
257
- }
258
- return s(e2, f2.anchor.blockId, f2.anchor.offset, l2.head.blockId, k3);
259
- } finally {
260
- try {
261
- u2.setBaseAndExtent(k2, m2, w2, b2);
262
- } catch {
263
- }
264
- }
265
- }
266
- function $(n2, o2, e2) {
267
- return "word" === e2 ? (function(n3, o3) {
268
- const e3 = n3.selection;
269
- if (l(e3) || c(e3)) return null;
270
- const s2 = a(e3) ? e3.anchor.blockId : e3.head.blockId, d2 = a(e3) ? e3.anchor.offset : e3.head.offset, h2 = n3.getBlock(s2);
271
- if (!h2) return null;
272
- const k2 = "forward" === o3 ? B(h2, d2) : y(h2, d2);
273
- return k2 === d2 ? (function(n4, o4, e4) {
274
- const l2 = n4.getBlockOrder(), c2 = l2.indexOf(o4), a2 = "forward" === e4 ? c2 + 1 : c2 - 1;
275
- if (a2 < 0 || a2 >= l2.length) return null;
276
- const s3 = l2[a2];
277
- if (!s3) return null;
278
- if (!r(n4, o4, s3)) return null;
279
- if (i(n4, s3)) return u(n4, s3);
280
- const d3 = n4.getBlock(s3);
281
- if (!d3) return null;
282
- const h3 = "forward" === e4 ? 0 : t(d3);
283
- return f(n4, s3, h3);
284
- })(n3, s2, o3) : f(n3, s2, k2);
285
- })(n2, o2) : "lineboundary" === e2 ? "forward" === o2 ? E(n2) : S(n2) : k(n2, "forward" === o2 ? "down" : "up");
286
- }
287
- function U(n2, o2, e2) {
288
- const a2 = n2.selection;
289
- if (l(a2) || c(a2)) return null;
290
- const f2 = a2.head, u2 = n2.getBlock(f2.blockId);
291
- if (!u2) return null;
292
- let d2 = f2.offset;
293
- if ("word" === e2) d2 = "forward" === o2 ? B(u2, f2.offset) : y(u2, f2.offset);
294
- else {
295
- if ("lineboundary" !== e2) {
296
- const e3 = n2.getBlockOrder(), l2 = e3.indexOf(f2.blockId), c2 = "forward" === o2 ? l2 + 1 : l2 - 1;
297
- if (c2 < 0 || c2 >= e3.length) return null;
298
- const u3 = e3[c2];
299
- if (!u3) return null;
300
- if (!r(n2, f2.blockId, u3)) return null;
301
- if (i(n2, u3)) return null;
302
- const d3 = n2.getBlock(u3);
303
- if (!d3) return null;
304
- const h2 = "forward" === o2 ? 0 : t(d3);
305
- return s(n2, a2.anchor.blockId, a2.anchor.offset, u3, h2);
306
- }
307
- d2 = "forward" === o2 ? t(u2) : 0;
308
- }
309
- return s(n2, a2.anchor.blockId, a2.anchor.offset, f2.blockId, d2);
310
- }
311
- function q(n2, t2) {
312
- return z(n2, t2, "forward", "word");
313
- }
314
- function _(n2, t2) {
315
- return z(n2, t2, "backward", "word");
316
- }
317
- function P(n2, t2) {
318
- return z(n2, t2, "backward", "lineboundary");
319
- }
320
- function F(n2, t2) {
321
- return z(n2, t2, "forward", "lineboundary");
322
- }
323
- function G(n2, t2) {
324
- return z(n2, t2, "backward", "line");
325
- }
326
- function K(n2, t2) {
327
- return z(n2, t2, "forward", "line");
328
- }
329
- function Q(n2, t2) {
330
- return N(n2, t2, "forward", "word");
331
- }
332
- function J(n2, t2) {
333
- return N(n2, t2, "backward", "word");
334
- }
335
- function W(n2, t2) {
336
- return N(n2, t2, "backward", "lineboundary");
337
- }
338
- function X(n2, t2) {
339
- return N(n2, t2, "forward", "lineboundary");
340
- }
341
- function Y(n2, t2) {
342
- return N(n2, t2, "backward", "line");
343
- }
344
- function Z(n2, t2) {
345
- return N(n2, t2, "forward", "line");
346
- }
347
- const nn = { paragraph: "Paragraph", heading: "Heading", code_block: "Code Block", blockquote: "Block Quote", list_item: "List Item", horizontal_rule: "Horizontal Rule", image: "Image", table: "Table" };
348
- function tn(n2, t2) {
349
- return "heading" === n2 && t2?.level ? `Heading ${t2.level}` : nn[n2] ?? n2;
350
- }
351
- function on(n2, t2, o2) {
352
- if ("undo" === o2.metadata.historyDirection) return "Undo";
353
- if ("redo" === o2.metadata.historyDirection) return "Redo";
354
- for (const n3 of o2.steps) if ("setBlockType" === n3.type) return tn(n3.nodeType, n3.attrs);
355
- for (const o3 of t2.schema.markTypes) {
356
- const e2 = m(o3), r2 = w(n2, e2), i2 = w(t2, e2);
357
- if (r2 !== i2) return `${o3} ${i2 ? "on" : "off"}`;
358
- }
359
- return null;
360
- }
361
- const en = { "word:forward": q, "word:backward": _, "lineboundary:forward": F, "lineboundary:backward": P, "line:forward": K, "line:backward": G }, rn = { "word:forward": Q, "word:backward": J, "lineboundary:forward": X, "lineboundary:backward": W, "line:forward": Z, "line:backward": Y };
362
- class ln {
363
- id = "caret-navigation";
364
- name = "Caret Navigation";
365
- priority = 4;
366
- context = null;
367
- lastAnnouncedBlockId = null;
368
- announceTimer = null;
369
- announce = null;
370
- init(n2) {
371
- this.context = n2, this.announce = (t3) => n2.announce(t3);
372
- const t2 = b(), o2 = { "Shift-ArrowRight": () => this.extendCharacterVisual("right"), "Shift-ArrowLeft": () => this.extendCharacterVisual("left"), "Shift-ArrowUp": () => this.viewExtendCommand("backward", "line"), "Shift-ArrowDown": () => this.viewExtendCommand("forward", "line"), ...t2 ? { "Alt-ArrowRight": () => this.viewMoveVisual("right", "word"), "Alt-ArrowLeft": () => this.viewMoveVisual("left", "word"), "Shift-Alt-ArrowRight": () => this.viewExtendVisual("right", "word"), "Shift-Alt-ArrowLeft": () => this.viewExtendVisual("left", "word") } : { "Mod-ArrowRight": () => this.viewMoveVisual("right", "word"), "Mod-ArrowLeft": () => this.viewMoveVisual("left", "word"), "Mod-Shift-ArrowRight": () => this.viewExtendVisual("right", "word"), "Mod-Shift-ArrowLeft": () => this.viewExtendVisual("left", "word") }, ...t2 ? { "Mod-ArrowLeft": () => this.viewMoveVisual("left", "lineboundary"), "Mod-ArrowRight": () => this.viewMoveVisual("right", "lineboundary"), "Mod-Shift-ArrowLeft": () => this.viewExtendVisual("left", "lineboundary"), "Mod-Shift-ArrowRight": () => this.viewExtendVisual("right", "lineboundary") } : { Home: () => this.viewMoveCommand("backward", "lineboundary"), End: () => this.viewMoveCommand("forward", "lineboundary"), "Shift-Home": () => this.viewExtendCommand("backward", "lineboundary"), "Shift-End": () => this.viewExtendCommand("forward", "lineboundary") }, ...t2 ? { "Mod-ArrowUp": () => this.modelCommand(T), "Mod-ArrowDown": () => this.modelCommand(V), "Mod-Shift-ArrowUp": () => this.modelCommand(j), "Mod-Shift-ArrowDown": () => this.modelCommand(R) } : { "Mod-Home": () => this.modelCommand(T), "Mod-End": () => this.modelCommand(V), "Mod-Shift-Home": () => this.modelCommand(j), "Mod-Shift-End": () => this.modelCommand(R) } };
373
- n2.registerKeymap(o2, { priority: "navigation" });
374
- }
375
- onStateChange(n2, t2, o2) {
376
- const e2 = t2.selection;
377
- if (!a(e2) || l(e2) || c(e2)) return null !== this.announceTimer && (clearTimeout(this.announceTimer), this.announceTimer = null), void (this.lastAnnouncedBlockId = null);
378
- const r2 = e2.anchor.blockId;
379
- r2 !== this.lastAnnouncedBlockId && (null !== this.lastAnnouncedBlockId ? (this.lastAnnouncedBlockId = r2, null !== this.announceTimer && clearTimeout(this.announceTimer), this.announceTimer = setTimeout(() => {
380
- if (this.announceTimer = null, this.context?.hasAnnouncement()) return;
381
- const n3 = t2.getBlock(r2);
382
- if (!n3) return;
383
- const o3 = tn(n3.type, n3.attrs);
384
- this.announce?.(o3);
385
- }, 150)) : this.lastAnnouncedBlockId = r2);
386
- }
387
- destroy() {
388
- null !== this.announceTimer && clearTimeout(this.announceTimer), this.announceTimer = null, this.announce = null, this.context = null;
389
- }
390
- modelCommand(n2) {
391
- if (!this.context) return false;
392
- const t2 = n2(this.context.getState());
393
- return !!t2 && (this.context.dispatch(t2), true);
394
- }
395
- extendCharacterVisual(n2) {
396
- if (!this.context) return false;
397
- const t2 = this.context.getState(), o2 = "forward" === this.resolveLogicalHorizontalDirection(t2, n2) ? O(t2) : L(t2);
398
- return !!o2 && (this.context.dispatch(o2), true);
399
- }
400
- viewMoveCommand(n2, t2) {
401
- return this.dispatchViewCommand(en, n2, t2);
402
- }
403
- viewMoveVisual(n2, t2) {
404
- if (!this.context) return false;
405
- const o2 = this.resolveLogicalHorizontalDirection(this.context.getState(), n2);
406
- return this.viewMoveCommand(o2, t2);
407
- }
408
- viewExtendCommand(n2, t2) {
409
- return this.dispatchViewCommand(rn, n2, t2);
410
- }
411
- dispatchViewCommand(n2, t2, o2) {
412
- if (!this.context) return false;
413
- const e2 = n2[`${o2}:${t2}`];
414
- if (!e2) return false;
415
- const r2 = e2(this.context.getContainer(), this.context.getState());
416
- return !!r2 && (this.context.dispatch(r2), true);
417
- }
418
- viewExtendVisual(n2, t2) {
419
- if (!this.context) return false;
420
- const o2 = this.resolveLogicalHorizontalDirection(this.context.getState(), n2);
421
- return this.viewExtendCommand(o2, t2);
422
- }
423
- resolveLogicalHorizontalDirection(n2, t2) {
424
- const o2 = n2.selection;
425
- if (l(o2) || c(o2)) return "left" === t2 ? "backward" : "forward";
426
- const e2 = this.context?.getContainer();
427
- if (!e2) return "left" === t2 ? "backward" : "forward";
428
- const r2 = e2.querySelector(`[data-block-id="${o2.head.blockId}"]`);
429
- return r2 instanceof HTMLElement && "rtl" === g(r2) ? "left" === t2 ? "forward" : "backward" : "left" === t2 ? "backward" : "forward";
430
- }
431
- }
432
- export {
433
- _ as A,
434
- q as B,
435
- ln as C,
436
- v as D,
437
- x as E,
438
- N as F,
439
- z as G,
440
- y as a,
441
- on as b,
442
- O as c,
443
- Z as d,
444
- L as e,
445
- B as f,
446
- Y as g,
447
- D as h,
448
- H as i,
449
- R as j,
450
- j as k,
451
- X as l,
452
- W as m,
453
- J as n,
454
- Q as o,
455
- tn as p,
456
- M as q,
457
- C as r,
458
- K as s,
459
- G as t,
460
- E as u,
461
- S as v,
462
- V as w,
463
- T as x,
464
- F as y,
465
- P as z
466
- };
467
- //# sourceMappingURL=index-oOJo-ywB.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-oOJo-ywB.mjs","sources":["../../src/model/GraphemeUtils.ts","../../src/commands/WordBoundary.ts","../../src/commands/MovementCommands.ts","../../src/view/ViewMovementCommands.ts","../../src/editor/Announcer.ts","../../src/plugins/caret-navigation/CaretNavigationPlugin.ts"],"sourcesContent":["/**\n * Grapheme-cluster utilities for correct character navigation.\n *\n * Uses `Intl.Segmenter` (with `granularity: 'grapheme'`) to correctly\n * handle multi-code-unit characters such as emoji, ZWJ sequences, and\n * combining characters. Falls back to +1/-1 when `Intl.Segmenter` is\n * not available.\n */\n\nconst SEGMENTER_SUPPORTED: boolean = typeof Intl !== 'undefined' && 'Segmenter' in Intl;\nconst SEGMENTER: Intl.Segmenter | null = SEGMENTER_SUPPORTED\n\t? new Intl.Segmenter(undefined, { granularity: 'grapheme' })\n\t: null;\n\n/**\n * Returns the number of UTF-16 code units in the next grapheme cluster\n * starting at `offset`. Returns 0 if `offset` is at or past the end.\n */\nexport function nextGraphemeSize(text: string, offset: number): number {\n\tif (offset >= text.length || text.length === 0) return 0;\n\n\tif (SEGMENTER) {\n\t\tfor (const segment of SEGMENTER.segment(text)) {\n\t\t\tif (segment.index >= offset) {\n\t\t\t\treturn segment.segment.length;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\treturn 1;\n}\n\n/**\n * Returns the number of UTF-16 code units in the grapheme cluster\n * immediately before `offset`. Returns 0 if `offset` is 0 or the\n * string is empty.\n */\nexport function prevGraphemeSize(text: string, offset: number): number {\n\tif (offset <= 0 || text.length === 0) return 0;\n\n\tif (SEGMENTER) {\n\t\tlet lastSize = 1;\n\t\tfor (const segment of SEGMENTER.segment(text)) {\n\t\t\tif (segment.index + segment.segment.length >= offset) {\n\t\t\t\tlastSize = segment.segment.length;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tlastSize = segment.segment.length;\n\t\t}\n\t\treturn lastSize;\n\t}\n\n\treturn 1;\n}\n","/**\n * Word boundary detection for delete-word and word-movement commands.\n * InlineNodes act as word boundaries.\n */\n\nimport { type BlockNode, getBlockLength, getContentAtOffset } from '../model/Document.js';\n\n/**\n * Finds the word boundary backward from the given offset.\n * InlineNodes act as word boundaries.\n */\nexport function findWordBoundaryBackward(block: BlockNode, offset: number): number {\n\tlet pos = offset - 1;\n\t// Skip trailing whitespace\n\twhile (pos >= 0) {\n\t\tconst content = getContentAtOffset(block, pos);\n\t\tif (!content || content.kind === 'inline') break;\n\t\tif (!/\\s/.test(content.char)) break;\n\t\tpos--;\n\t}\n\t// If at InlineNode, delete just it (treat as word boundary)\n\tif (pos >= 0) {\n\t\tconst content = getContentAtOffset(block, pos);\n\t\tif (content?.kind === 'inline') return pos;\n\t}\n\t// Skip word characters until whitespace or InlineNode\n\twhile (pos >= 0) {\n\t\tconst content = getContentAtOffset(block, pos);\n\t\tif (!content || content.kind === 'inline') break;\n\t\tif (/\\s/.test(content.char)) break;\n\t\tpos--;\n\t}\n\treturn pos + 1;\n}\n\n/**\n * Finds the word boundary forward from the given offset.\n * InlineNodes act as word boundaries.\n */\nexport function findWordBoundaryForward(block: BlockNode, offset: number): number {\n\tconst len = getBlockLength(block);\n\tlet pos = offset;\n\t// Skip word characters first\n\twhile (pos < len) {\n\t\tconst content = getContentAtOffset(block, pos);\n\t\tif (!content || content.kind === 'inline') break;\n\t\tif (/\\s/.test(content.char)) break;\n\t\tpos++;\n\t}\n\t// If at InlineNode and haven't moved, delete just the InlineNode\n\tif (pos === offset && pos < len) {\n\t\tconst content = getContentAtOffset(block, pos);\n\t\tif (content?.kind === 'inline') return pos + 1;\n\t}\n\t// Skip trailing whitespace\n\twhile (pos < len) {\n\t\tconst content = getContentAtOffset(block, pos);\n\t\tif (!content || content.kind === 'inline') break;\n\t\tif (!/\\s/.test(content.char)) break;\n\t\tpos++;\n\t}\n\treturn pos;\n}\n","/**\n * Model-based movement commands for programmatic cursor navigation.\n *\n * All functions are pure: they take an EditorState and return a Transaction\n * or `null` (when the movement is not applicable). None touch the DOM.\n *\n * Move commands produce a collapsed cursor. Extend commands keep the anchor\n * and move the head, producing a range selection. All clear storedMarks.\n */\n\nimport {\n\tblockOffsetToTextOffset,\n\tgetBlockLength,\n\tgetBlockText,\n\tgetContentAtOffset,\n} from '../model/Document.js';\nimport { nextGraphemeSize, prevGraphemeSize } from '../model/GraphemeUtils.js';\nimport { canCrossBlockBoundary, isVoidBlock } from '../model/NavigationUtils.js';\nimport { isCollapsed, isGapCursor, isNodeSelection } from '../model/Selection.js';\nimport type { BlockId } from '../model/TypeBrands.js';\nimport type { EditorState } from '../state/EditorState.js';\nimport { extendTx, moveTx, nodeSelTx } from '../state/SelectionTransactions.js';\nimport type { Transaction } from '../state/Transaction.js';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n/** Resolves the effective head position from any text selection. */\nfunction resolveHead(state: EditorState): { blockId: BlockId; offset: number } | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\treturn { blockId: sel.head.blockId, offset: sel.head.offset };\n}\n\n/** Returns the adjacent block ID in the given direction, or `null`. */\nfunction adjacentBlockId(\n\tstate: EditorState,\n\tcurrentBlockId: BlockId,\n\tdirection: 'forward' | 'backward',\n): BlockId | null {\n\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\tconst idx: number = blockOrder.indexOf(currentBlockId);\n\tif (idx < 0) return null;\n\tconst targetIdx: number = direction === 'forward' ? idx + 1 : idx - 1;\n\tif (targetIdx < 0 || targetIdx >= blockOrder.length) return null;\n\treturn blockOrder[targetIdx] ?? null;\n}\n\n// ---------------------------------------------------------------------------\n// Character Movement\n// ---------------------------------------------------------------------------\n\n/** Moves the cursor one character forward, skipping InlineNodes atomically. */\nexport function moveCharacterForward(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\t// If range selection, collapse to head\n\tif (!isCollapsed(sel)) {\n\t\treturn moveTx(state, sel.head.blockId, sel.head.offset);\n\t}\n\n\tconst blockId: BlockId = sel.anchor.blockId;\n\tconst block = state.getBlock(blockId);\n\tif (!block) return null;\n\n\tconst offset: number = sel.anchor.offset;\n\tconst blockLen: number = getBlockLength(block);\n\n\tif (offset < blockLen) {\n\t\t// InlineNode: skip atomically (+1)\n\t\tconst content = getContentAtOffset(block, offset);\n\t\tif (content?.kind === 'inline') {\n\t\t\treturn moveTx(state, blockId, offset + 1);\n\t\t}\n\t\t// Text: advance by one grapheme cluster\n\t\tconst text: string = getBlockText(block);\n\t\tconst textOffset: number = blockOffsetToTextOffset(block, offset);\n\t\tconst step: number = nextGraphemeSize(text, textOffset) || 1;\n\t\treturn moveTx(state, blockId, offset + step);\n\t}\n\n\t// At block end → cross-block\n\tconst nextId: BlockId | null = adjacentBlockId(state, blockId, 'forward');\n\tif (!nextId) return null;\n\tif (!canCrossBlockBoundary(state, blockId, nextId)) return null;\n\n\tif (isVoidBlock(state, nextId)) return nodeSelTx(state, nextId);\n\n\treturn moveTx(state, nextId, 0);\n}\n\n/** Moves the cursor one character backward, skipping InlineNodes atomically. */\nexport function moveCharacterBackward(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\t// If range selection, collapse to head\n\tif (!isCollapsed(sel)) {\n\t\treturn moveTx(state, sel.head.blockId, sel.head.offset);\n\t}\n\n\tconst blockId: BlockId = sel.anchor.blockId;\n\tconst block = state.getBlock(blockId);\n\tif (!block) return null;\n\n\tconst offset: number = sel.anchor.offset;\n\n\tif (offset > 0) {\n\t\t// InlineNode: skip atomically (-1)\n\t\tconst content = getContentAtOffset(block, offset - 1);\n\t\tif (content?.kind === 'inline') {\n\t\t\treturn moveTx(state, blockId, offset - 1);\n\t\t}\n\t\t// Text: retreat by one grapheme cluster\n\t\tconst text: string = getBlockText(block);\n\t\tconst textOffset: number = blockOffsetToTextOffset(block, offset);\n\t\tconst step: number = prevGraphemeSize(text, textOffset) || 1;\n\t\treturn moveTx(state, blockId, offset - step);\n\t}\n\n\t// At block start → cross-block\n\tconst prevId: BlockId | null = adjacentBlockId(state, blockId, 'backward');\n\tif (!prevId) return null;\n\tif (!canCrossBlockBoundary(state, blockId, prevId)) return null;\n\n\tif (isVoidBlock(state, prevId)) return nodeSelTx(state, prevId);\n\n\tconst prevBlock = state.getBlock(prevId);\n\tif (!prevBlock) return null;\n\treturn moveTx(state, prevId, getBlockLength(prevBlock));\n}\n\n// ---------------------------------------------------------------------------\n// Block Boundary Movement\n// ---------------------------------------------------------------------------\n\n/** Moves the cursor to the start of the current block. */\nexport function moveToBlockStart(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst blockId: BlockId = isCollapsed(sel) ? sel.anchor.blockId : sel.head.blockId;\n\tconst offset: number = isCollapsed(sel) ? sel.anchor.offset : sel.head.offset;\n\n\tif (offset === 0) return null;\n\treturn moveTx(state, blockId, 0);\n}\n\n/** Moves the cursor to the end of the current block. */\nexport function moveToBlockEnd(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst blockId: BlockId = isCollapsed(sel) ? sel.anchor.blockId : sel.head.blockId;\n\tconst block = state.getBlock(blockId);\n\tif (!block) return null;\n\n\tconst blockLen: number = getBlockLength(block);\n\tconst offset: number = isCollapsed(sel) ? sel.anchor.offset : sel.head.offset;\n\n\tif (offset === blockLen) return null;\n\treturn moveTx(state, blockId, blockLen);\n}\n\n// ---------------------------------------------------------------------------\n// Document Boundary Movement\n// ---------------------------------------------------------------------------\n\n/** Moves the cursor to the beginning of the document. */\nexport function moveToDocumentStart(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\tconst firstId: BlockId | undefined = blockOrder[0];\n\tif (!firstId) return null;\n\n\tif (isVoidBlock(state, firstId)) return nodeSelTx(state, firstId);\n\n\treturn moveTx(state, firstId, 0);\n}\n\n/** Moves the cursor to the end of the document. */\nexport function moveToDocumentEnd(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\tconst lastId: BlockId | undefined = blockOrder[blockOrder.length - 1];\n\tif (!lastId) return null;\n\n\tif (isVoidBlock(state, lastId)) return nodeSelTx(state, lastId);\n\n\tconst lastBlock = state.getBlock(lastId);\n\tif (!lastBlock) return null;\n\treturn moveTx(state, lastId, getBlockLength(lastBlock));\n}\n\n// ---------------------------------------------------------------------------\n// Extend (Selection Extension) Commands\n// ---------------------------------------------------------------------------\n\n/** Extends the selection one character forward. */\nexport function extendCharacterForward(state: EditorState): Transaction | null {\n\tconst head = resolveHead(state);\n\tif (!head) return null;\n\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst block = state.getBlock(head.blockId);\n\tif (!block) return null;\n\n\tconst blockLen: number = getBlockLength(block);\n\n\tif (head.offset < blockLen) {\n\t\tconst content = getContentAtOffset(block, head.offset);\n\t\tconst step: number =\n\t\t\tcontent?.kind === 'inline'\n\t\t\t\t? 1\n\t\t\t\t: nextGraphemeSize(getBlockText(block), blockOffsetToTextOffset(block, head.offset)) || 1;\n\t\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, head.blockId, head.offset + step);\n\t}\n\n\t// Cross-block\n\tconst nextId: BlockId | null = adjacentBlockId(state, head.blockId, 'forward');\n\tif (!nextId) return null;\n\tif (!canCrossBlockBoundary(state, head.blockId, nextId)) return null;\n\n\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, nextId, 0);\n}\n\n/** Extends the selection one character backward. */\nexport function extendCharacterBackward(state: EditorState): Transaction | null {\n\tconst head = resolveHead(state);\n\tif (!head) return null;\n\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tif (head.offset > 0) {\n\t\tconst block = state.getBlock(head.blockId);\n\t\tif (!block) return null;\n\t\tconst content = getContentAtOffset(block, head.offset - 1);\n\t\tconst step: number =\n\t\t\tcontent?.kind === 'inline'\n\t\t\t\t? 1\n\t\t\t\t: prevGraphemeSize(getBlockText(block), blockOffsetToTextOffset(block, head.offset)) || 1;\n\t\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, head.blockId, head.offset - step);\n\t}\n\n\t// Cross-block\n\tconst prevId: BlockId | null = adjacentBlockId(state, head.blockId, 'backward');\n\tif (!prevId) return null;\n\tif (!canCrossBlockBoundary(state, head.blockId, prevId)) return null;\n\n\tconst prevBlock = state.getBlock(prevId);\n\tif (!prevBlock) return null;\n\n\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, prevId, getBlockLength(prevBlock));\n}\n\n/** Extends the selection to the start of the current block. */\nexport function extendToBlockStart(state: EditorState): Transaction | null {\n\tconst head = resolveHead(state);\n\tif (!head) return null;\n\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tif (head.offset === 0) return null;\n\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, head.blockId, 0);\n}\n\n/** Extends the selection to the end of the current block. */\nexport function extendToBlockEnd(state: EditorState): Transaction | null {\n\tconst head = resolveHead(state);\n\tif (!head) return null;\n\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst block = state.getBlock(head.blockId);\n\tif (!block) return null;\n\n\tconst blockLen: number = getBlockLength(block);\n\tif (head.offset === blockLen) return null;\n\n\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, head.blockId, blockLen);\n}\n\n/** Extends the selection to the start of the document. */\nexport function extendToDocumentStart(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\tconst firstId: BlockId | undefined = blockOrder[0];\n\tif (!firstId) return null;\n\n\t// No-op if head is already at document start\n\tif (sel.head.blockId === firstId && sel.head.offset === 0) return null;\n\n\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, firstId, 0);\n}\n\n/** Extends the selection to the end of the document. */\nexport function extendToDocumentEnd(state: EditorState): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\tconst lastId: BlockId | undefined = blockOrder[blockOrder.length - 1];\n\tif (!lastId) return null;\n\n\tconst lastBlock = state.getBlock(lastId);\n\tif (!lastBlock) return null;\n\n\tconst lastBlockLen: number = getBlockLength(lastBlock);\n\n\t// No-op if head is already at document end\n\tif (sel.head.blockId === lastId && sel.head.offset === lastBlockLen) return null;\n\n\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, lastId, lastBlockLen);\n}\n","/**\n * View-based movement commands that use the browser's `Selection.modify()` API\n * for word, line-boundary, and line granularity movement.\n *\n * Falls back to model-based commands when `Selection.modify` is unavailable\n * (e.g. in happy-dom test environments).\n */\n\nimport { findWordBoundaryBackward, findWordBoundaryForward } from '../commands/Commands.js';\nimport { moveToBlockEnd, moveToBlockStart } from '../commands/MovementCommands.js';\nimport { getBlockLength, getContentAtOffset } from '../model/Document.js';\nimport { canCrossBlockBoundary, isVoidBlock } from '../model/NavigationUtils.js';\nimport { isCollapsed, isGapCursor, isNodeSelection } from '../model/Selection.js';\nimport type { BlockId } from '../model/TypeBrands.js';\nimport type { EditorState } from '../state/EditorState.js';\nimport { extendTx, moveTx, nodeSelTx } from '../state/SelectionTransactions.js';\nimport type { Transaction } from '../state/Transaction.js';\nimport { navigateAcrossBlocks } from './CaretNavigation.js';\nimport { getSelection, readSelectionFromDOM } from './SelectionSync.js';\n\ntype Direction = 'forward' | 'backward';\ntype Granularity = 'word' | 'lineboundary' | 'line';\n\n// ---------------------------------------------------------------------------\n// Core view movement\n// ---------------------------------------------------------------------------\n\n/**\n * Moves the cursor using `Selection.modify('move', direction, granularity)`.\n * Falls back to model-based movement when the API is unavailable.\n */\nexport function viewMove(\n\tcontainer: HTMLElement,\n\tstate: EditorState,\n\tdirection: Direction,\n\tgranularity: Granularity,\n): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst domSel: globalThis.Selection | null = getSelection(container);\n\tif (!domSel?.modify) {\n\t\treturn fallbackMove(state, direction, granularity);\n\t}\n\n\t// Save original DOM selection\n\tconst origAnchor: Node | null = domSel.anchorNode;\n\tconst origAnchorOff: number = domSel.anchorOffset;\n\tconst origFocus: Node | null = domSel.focusNode;\n\tconst origFocusOff: number = domSel.focusOffset;\n\tif (!origAnchor || !origFocus) return fallbackMove(state, direction, granularity);\n\n\ttry {\n\t\tdomSel.modify('move', direction, granularity);\n\n\t\tconst newSel = readSelectionFromDOM(container);\n\t\tif (!newSel) return null;\n\n\t\tconst newBlockId: BlockId = newSel.anchor.blockId;\n\t\tconst oldBlockId: BlockId = sel.anchor.blockId;\n\n\t\t// Validate isolating boundary crossing\n\t\tif (newBlockId !== oldBlockId && !canCrossBlockBoundary(state, oldBlockId, newBlockId)) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet newOffset: number = newSel.anchor.offset;\n\n\t\t// InlineNode boundary correction\n\t\tconst block = state.getBlock(newBlockId);\n\t\tif (block) {\n\t\t\tconst content = getContentAtOffset(block, newOffset);\n\t\t\tif (content?.kind === 'inline') {\n\t\t\t\t// Prefer landing after the InlineNode when moving forward\n\t\t\t\tif (direction === 'forward') {\n\t\t\t\t\tnewOffset = Math.min(newOffset + 1, getBlockLength(block));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Void block → NodeSelection\n\t\tif (isVoidBlock(state, newBlockId)) return nodeSelTx(state, newBlockId);\n\n\t\treturn moveTx(state, newBlockId, newOffset);\n\t} finally {\n\t\t// Restore original DOM selection (dispatch cycle will set the correct one)\n\t\ttry {\n\t\t\tdomSel.setBaseAndExtent(origAnchor, origAnchorOff, origFocus, origFocusOff);\n\t\t} catch {\n\t\t\t// Restore may fail if DOM changed\n\t\t}\n\t}\n}\n\n/**\n * Extends the selection using `Selection.modify('extend', direction, granularity)`.\n * Falls back to model-based extension when the API is unavailable.\n */\nexport function viewExtend(\n\tcontainer: HTMLElement,\n\tstate: EditorState,\n\tdirection: Direction,\n\tgranularity: Granularity,\n): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst domSel: globalThis.Selection | null = getSelection(container);\n\tif (!domSel?.modify) {\n\t\treturn fallbackExtend(state, direction, granularity);\n\t}\n\n\tconst origAnchor: Node | null = domSel.anchorNode;\n\tconst origAnchorOff: number = domSel.anchorOffset;\n\tconst origFocus: Node | null = domSel.focusNode;\n\tconst origFocusOff: number = domSel.focusOffset;\n\tif (!origAnchor || !origFocus) return fallbackExtend(state, direction, granularity);\n\n\ttry {\n\t\tdomSel.modify('extend', direction, granularity);\n\n\t\tconst newSel = readSelectionFromDOM(container);\n\t\tif (!newSel) return null;\n\n\t\t// Validate isolating boundary crossing for head\n\t\tconst oldHeadBlockId: BlockId = sel.head.blockId;\n\t\tconst newHeadBlockId: BlockId = newSel.head.blockId;\n\n\t\tif (\n\t\t\tnewHeadBlockId !== oldHeadBlockId &&\n\t\t\t!canCrossBlockBoundary(state, oldHeadBlockId, newHeadBlockId)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet newHeadOffset: number = newSel.head.offset;\n\n\t\t// InlineNode boundary correction for head position\n\t\tconst headBlock = state.getBlock(newSel.head.blockId);\n\t\tif (headBlock) {\n\t\t\tconst content = getContentAtOffset(headBlock, newHeadOffset);\n\t\t\tif (content?.kind === 'inline') {\n\t\t\t\tif (direction === 'forward') {\n\t\t\t\t\tnewHeadOffset = Math.min(newHeadOffset + 1, getBlockLength(headBlock));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn extendTx(\n\t\t\tstate,\n\t\t\tsel.anchor.blockId,\n\t\t\tsel.anchor.offset,\n\t\t\tnewSel.head.blockId,\n\t\t\tnewHeadOffset,\n\t\t);\n\t} finally {\n\t\ttry {\n\t\t\tdomSel.setBaseAndExtent(origAnchor, origAnchorOff, origFocus, origFocusOff);\n\t\t} catch {\n\t\t\t// Restore may fail\n\t\t}\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Fallback (model-based) when Selection.modify is unavailable\n// ---------------------------------------------------------------------------\n\nfunction fallbackMove(\n\tstate: EditorState,\n\tdirection: Direction,\n\tgranularity: Granularity,\n): Transaction | null {\n\tif (granularity === 'word') {\n\t\treturn fallbackWordMove(state, direction);\n\t}\n\tif (granularity === 'lineboundary') {\n\t\treturn direction === 'forward' ? moveToBlockEnd(state) : moveToBlockStart(state);\n\t}\n\t// granularity === 'line' → cross-block\n\tconst caretDir = direction === 'forward' ? 'down' : 'up';\n\treturn navigateAcrossBlocks(state, caretDir);\n}\n\nfunction fallbackExtend(\n\tstate: EditorState,\n\tdirection: Direction,\n\tgranularity: Granularity,\n): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst head = sel.head;\n\tconst block = state.getBlock(head.blockId);\n\tif (!block) return null;\n\n\tlet newOffset: number = head.offset;\n\n\tif (granularity === 'word') {\n\t\tnewOffset =\n\t\t\tdirection === 'forward'\n\t\t\t\t? findWordBoundaryForward(block, head.offset)\n\t\t\t\t: findWordBoundaryBackward(block, head.offset);\n\t} else if (granularity === 'lineboundary') {\n\t\tnewOffset = direction === 'forward' ? getBlockLength(block) : 0;\n\t} else {\n\t\t// line: extend to next block boundary\n\t\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\t\tconst idx: number = blockOrder.indexOf(head.blockId);\n\t\tconst targetIdx: number = direction === 'forward' ? idx + 1 : idx - 1;\n\n\t\tif (targetIdx < 0 || targetIdx >= blockOrder.length) return null;\n\n\t\tconst targetId: BlockId | undefined = blockOrder[targetIdx];\n\t\tif (!targetId) return null;\n\t\tif (!canCrossBlockBoundary(state, head.blockId, targetId)) return null;\n\n\t\tif (isVoidBlock(state, targetId)) {\n\t\t\t// Cannot extend a text selection into a void block\n\t\t\treturn null;\n\t\t}\n\n\t\tconst targetBlock = state.getBlock(targetId);\n\t\tif (!targetBlock) return null;\n\n\t\tconst targetOffset: number = direction === 'forward' ? 0 : getBlockLength(targetBlock);\n\t\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, targetId, targetOffset);\n\t}\n\n\treturn extendTx(state, sel.anchor.blockId, sel.anchor.offset, head.blockId, newOffset);\n}\n\nfunction fallbackWordMove(state: EditorState, direction: Direction): Transaction | null {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\n\tconst blockId: BlockId = isCollapsed(sel) ? sel.anchor.blockId : sel.head.blockId;\n\tconst offset: number = isCollapsed(sel) ? sel.anchor.offset : sel.head.offset;\n\tconst block = state.getBlock(blockId);\n\tif (!block) return null;\n\n\tconst newOffset: number =\n\t\tdirection === 'forward'\n\t\t\t? findWordBoundaryForward(block, offset)\n\t\t\t: findWordBoundaryBackward(block, offset);\n\n\tif (newOffset === offset) {\n\t\t// At block boundary — try crossing blocks\n\t\treturn fallbackCrossBlock(state, blockId, direction);\n\t}\n\n\treturn moveTx(state, blockId, newOffset);\n}\n\n/**\n * Crosses a block boundary from `blockId` in the given direction.\n * Checks `canCrossBlockBoundary` and handles void blocks (→ NodeSelection).\n */\nfunction fallbackCrossBlock(\n\tstate: EditorState,\n\tblockId: BlockId,\n\tdirection: Direction,\n): Transaction | null {\n\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\tconst idx: number = blockOrder.indexOf(blockId);\n\tconst targetIdx: number = direction === 'forward' ? idx + 1 : idx - 1;\n\n\tif (targetIdx < 0 || targetIdx >= blockOrder.length) return null;\n\n\tconst targetId: BlockId | undefined = blockOrder[targetIdx];\n\tif (!targetId) return null;\n\tif (!canCrossBlockBoundary(state, blockId, targetId)) return null;\n\n\tif (isVoidBlock(state, targetId)) return nodeSelTx(state, targetId);\n\n\tconst targetBlock = state.getBlock(targetId);\n\tif (!targetBlock) return null;\n\n\tconst targetOffset: number = direction === 'forward' ? 0 : getBlockLength(targetBlock);\n\treturn moveTx(state, targetId, targetOffset);\n}\n\n// ---------------------------------------------------------------------------\n// Convenience wrappers\n// ---------------------------------------------------------------------------\n\n/** Moves the cursor one word forward. */\nexport function moveWordForward(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewMove(container, state, 'forward', 'word');\n}\n\n/** Moves the cursor one word backward. */\nexport function moveWordBackward(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewMove(container, state, 'backward', 'word');\n}\n\n/** Moves the cursor to the start of the line (visual). */\nexport function moveToLineStart(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewMove(container, state, 'backward', 'lineboundary');\n}\n\n/** Moves the cursor to the end of the line (visual). */\nexport function moveToLineEnd(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewMove(container, state, 'forward', 'lineboundary');\n}\n\n/** Moves the cursor one visual line up. */\nexport function moveLineUp(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewMove(container, state, 'backward', 'line');\n}\n\n/** Moves the cursor one visual line down. */\nexport function moveLineDown(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewMove(container, state, 'forward', 'line');\n}\n\n/** Extends the selection one word forward. */\nexport function extendWordForward(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewExtend(container, state, 'forward', 'word');\n}\n\n/** Extends the selection one word backward. */\nexport function extendWordBackward(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewExtend(container, state, 'backward', 'word');\n}\n\n/** Extends the selection to the start of the line. */\nexport function extendToLineStart(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewExtend(container, state, 'backward', 'lineboundary');\n}\n\n/** Extends the selection to the end of the line. */\nexport function extendToLineEnd(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewExtend(container, state, 'forward', 'lineboundary');\n}\n\n/** Extends the selection one visual line up. */\nexport function extendLineUp(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewExtend(container, state, 'backward', 'line');\n}\n\n/** Extends the selection one visual line down. */\nexport function extendLineDown(container: HTMLElement, state: EditorState): Transaction | null {\n\treturn viewExtend(container, state, 'forward', 'line');\n}\n","/**\n * Announcer: builds screen-reader announcement text for editor state changes.\n * Pure functions — no DOM mutation. The caller applies the result to a live region.\n */\n\nimport { isMarkActive } from '../commands/Commands.js';\nimport { markType } from '../model/TypeBrands.js';\nimport type { EditorState } from '../state/EditorState.js';\nimport type { Transaction } from '../state/Transaction.js';\n\nconst BLOCK_TYPE_LABELS: Record<string, string> = {\n\tparagraph: 'Paragraph',\n\theading: 'Heading',\n\tcode_block: 'Code Block',\n\tblockquote: 'Block Quote',\n\tlist_item: 'List Item',\n\thorizontal_rule: 'Horizontal Rule',\n\timage: 'Image',\n\ttable: 'Table',\n};\n\n/** Returns a human-readable label for a block type (used in screen reader announcements). */\nexport function getBlockTypeLabel(typeName: string, attrs?: Record<string, unknown>): string {\n\tif (typeName === 'heading' && attrs?.level) {\n\t\treturn `Heading ${attrs.level}`;\n\t}\n\treturn BLOCK_TYPE_LABELS[typeName] ?? typeName;\n}\n\n/**\n * Derives an announcement string from a state transition.\n * Returns `null` when no announcement is warranted.\n *\n * Priority order: undo/redo > block-type change > mark toggle.\n */\nexport function buildAnnouncement(\n\toldState: EditorState,\n\tnewState: EditorState,\n\ttr: Transaction,\n): string | null {\n\t// Priority 1: Undo/Redo\n\tif (tr.metadata.historyDirection === 'undo') return 'Undo';\n\tif (tr.metadata.historyDirection === 'redo') return 'Redo';\n\n\t// Priority 2: Block type changes\n\tfor (const step of tr.steps) {\n\t\tif (step.type === 'setBlockType') {\n\t\t\treturn getBlockTypeLabel(step.nodeType, step.attrs);\n\t\t}\n\t}\n\n\t// Priority 3: Mark changes\n\tfor (const mt of newState.schema.markTypes) {\n\t\tconst branded = markType(mt);\n\t\tconst wasActive: boolean = isMarkActive(oldState, branded);\n\t\tconst nowActive: boolean = isMarkActive(newState, branded);\n\t\tif (wasActive !== nowActive) {\n\t\t\treturn `${mt} ${nowActive ? 'on' : 'off'}`;\n\t\t}\n\t}\n\n\treturn null;\n}\n","/**\n * CaretNavigationPlugin: registers platform-aware keymaps for all\n * programmatic movement commands (character, word, line, document).\n *\n * Movement priorities use 'navigation' to match GapCursorPlugin.\n * Also announces block-type changes to screen readers on cross-block navigation.\n */\n\nimport {\n\textendCharacterBackward,\n\textendCharacterForward,\n\textendToDocumentEnd,\n\textendToDocumentStart,\n\tmoveToDocumentEnd,\n\tmoveToDocumentStart,\n} from '../../commands/MovementCommands.js';\nimport { getBlockTypeLabel } from '../../editor/Announcer.js';\nimport { isCollapsed, isGapCursor, isNodeSelection } from '../../model/Selection.js';\nimport type { BlockId } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport type { Transaction } from '../../state/Transaction.js';\nimport { getTextDirection, isMac } from '../../view/Platform.js';\nimport {\n\textendLineDown,\n\textendLineUp,\n\textendToLineEnd,\n\textendToLineStart,\n\textendWordBackward,\n\textendWordForward,\n\tmoveLineDown,\n\tmoveLineUp,\n\tmoveToLineEnd,\n\tmoveToLineStart,\n\tmoveWordBackward,\n\tmoveWordForward,\n} from '../../view/ViewMovementCommands.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\n\ntype ViewCommandFn = (container: HTMLElement, state: EditorState) => Transaction | null;\ntype ViewCommandKey = `${'word' | 'lineboundary' | 'line'}:${'forward' | 'backward'}`;\ntype ViewCommandLookup = Readonly<Record<ViewCommandKey, ViewCommandFn>>;\n\nconst VIEW_MOVE_FNS: ViewCommandLookup = {\n\t'word:forward': moveWordForward,\n\t'word:backward': moveWordBackward,\n\t'lineboundary:forward': moveToLineEnd,\n\t'lineboundary:backward': moveToLineStart,\n\t'line:forward': moveLineDown,\n\t'line:backward': moveLineUp,\n};\n\nconst VIEW_EXTEND_FNS: ViewCommandLookup = {\n\t'word:forward': extendWordForward,\n\t'word:backward': extendWordBackward,\n\t'lineboundary:forward': extendToLineEnd,\n\t'lineboundary:backward': extendToLineStart,\n\t'line:forward': extendLineDown,\n\t'line:backward': extendLineUp,\n};\n\n/** Debounce delay for block-type announcements (ms). */\nconst ANNOUNCE_DEBOUNCE_MS = 150;\n\nexport class CaretNavigationPlugin implements Plugin {\n\treadonly id = 'caret-navigation';\n\treadonly name = 'Caret Navigation';\n\treadonly priority = 4;\n\n\tprivate context: PluginContext | null = null;\n\tprivate lastAnnouncedBlockId: BlockId | null = null;\n\tprivate announceTimer: ReturnType<typeof setTimeout> | null = null;\n\tprivate announce: ((text: string) => void) | null = null;\n\n\tinit(context: PluginContext): void {\n\t\tthis.context = context;\n\t\tthis.announce = (text: string) => context.announce(text);\n\t\tconst mac: boolean = isMac();\n\n\t\tconst keymap: Record<string, () => boolean> = {\n\t\t\t// --- Character movement (no modifier) ---\n\t\t\t// Handled natively by browser for basic cases, but Shift+Arrow\n\t\t\t// needs programmatic extend to correctly clear storedMarks.\n\n\t\t\t// --- Character extend ---\n\t\t\t'Shift-ArrowRight': () => this.extendCharacterVisual('right'),\n\t\t\t'Shift-ArrowLeft': () => this.extendCharacterVisual('left'),\n\n\t\t\t// --- Line extend ---\n\t\t\t'Shift-ArrowUp': () => this.viewExtendCommand('backward', 'line'),\n\t\t\t'Shift-ArrowDown': () => this.viewExtendCommand('forward', 'line'),\n\n\t\t\t// --- Word movement (platform-aware) ---\n\t\t\t...(mac\n\t\t\t\t? {\n\t\t\t\t\t\t'Alt-ArrowRight': () => this.viewMoveVisual('right', 'word'),\n\t\t\t\t\t\t'Alt-ArrowLeft': () => this.viewMoveVisual('left', 'word'),\n\t\t\t\t\t\t'Shift-Alt-ArrowRight': () => this.viewExtendVisual('right', 'word'),\n\t\t\t\t\t\t'Shift-Alt-ArrowLeft': () => this.viewExtendVisual('left', 'word'),\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\t'Mod-ArrowRight': () => this.viewMoveVisual('right', 'word'),\n\t\t\t\t\t\t'Mod-ArrowLeft': () => this.viewMoveVisual('left', 'word'),\n\t\t\t\t\t\t'Mod-Shift-ArrowRight': () => this.viewExtendVisual('right', 'word'),\n\t\t\t\t\t\t'Mod-Shift-ArrowLeft': () => this.viewExtendVisual('left', 'word'),\n\t\t\t\t\t}),\n\n\t\t\t// --- Line boundary movement (platform-aware) ---\n\t\t\t...(mac\n\t\t\t\t? {\n\t\t\t\t\t\t'Mod-ArrowLeft': () => this.viewMoveVisual('left', 'lineboundary'),\n\t\t\t\t\t\t'Mod-ArrowRight': () => this.viewMoveVisual('right', 'lineboundary'),\n\t\t\t\t\t\t'Mod-Shift-ArrowLeft': () => this.viewExtendVisual('left', 'lineboundary'),\n\t\t\t\t\t\t'Mod-Shift-ArrowRight': () => this.viewExtendVisual('right', 'lineboundary'),\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tHome: () => this.viewMoveCommand('backward', 'lineboundary'),\n\t\t\t\t\t\tEnd: () => this.viewMoveCommand('forward', 'lineboundary'),\n\t\t\t\t\t\t'Shift-Home': () => this.viewExtendCommand('backward', 'lineboundary'),\n\t\t\t\t\t\t'Shift-End': () => this.viewExtendCommand('forward', 'lineboundary'),\n\t\t\t\t\t}),\n\n\t\t\t// --- Document boundary movement (platform-aware) ---\n\t\t\t...(mac\n\t\t\t\t? {\n\t\t\t\t\t\t'Mod-ArrowUp': () => this.modelCommand(moveToDocumentStart),\n\t\t\t\t\t\t'Mod-ArrowDown': () => this.modelCommand(moveToDocumentEnd),\n\t\t\t\t\t\t'Mod-Shift-ArrowUp': () => this.modelCommand(extendToDocumentStart),\n\t\t\t\t\t\t'Mod-Shift-ArrowDown': () => this.modelCommand(extendToDocumentEnd),\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\t'Mod-Home': () => this.modelCommand(moveToDocumentStart),\n\t\t\t\t\t\t'Mod-End': () => this.modelCommand(moveToDocumentEnd),\n\t\t\t\t\t\t'Mod-Shift-Home': () => this.modelCommand(extendToDocumentStart),\n\t\t\t\t\t\t'Mod-Shift-End': () => this.modelCommand(extendToDocumentEnd),\n\t\t\t\t\t}),\n\t\t};\n\n\t\tcontext.registerKeymap(keymap, { priority: 'navigation' });\n\t}\n\n\t/** Announces block-type on cross-block cursor movement (debounced). */\n\tonStateChange(_oldState: EditorState, newState: EditorState, _tr: Transaction): void {\n\t\tconst newSel = newState.selection;\n\n\t\t// Only announce for collapsed text selections\n\t\tif (!isCollapsed(newSel) || isNodeSelection(newSel) || isGapCursor(newSel)) {\n\t\t\tif (this.announceTimer !== null) {\n\t\t\t\tclearTimeout(this.announceTimer);\n\t\t\t\tthis.announceTimer = null;\n\t\t\t}\n\t\t\tthis.lastAnnouncedBlockId = null;\n\t\t\treturn;\n\t\t}\n\n\t\tconst newBlockId: BlockId = newSel.anchor.blockId;\n\t\tif (newBlockId === this.lastAnnouncedBlockId) return;\n\n\t\t// First observed block (initial focus) — remember but don't announce\n\t\tif (this.lastAnnouncedBlockId === null) {\n\t\t\tthis.lastAnnouncedBlockId = newBlockId;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.lastAnnouncedBlockId = newBlockId;\n\n\t\t// Debounce rapid navigation\n\t\tif (this.announceTimer !== null) clearTimeout(this.announceTimer);\n\t\tthis.announceTimer = setTimeout(() => {\n\t\t\tthis.announceTimer = null;\n\t\t\t// Skip if another plugin already announced (e.g. CodeBlockPlugin's \"Left code block\")\n\t\t\tif (this.context?.hasAnnouncement()) return;\n\t\t\tconst block = newState.getBlock(newBlockId);\n\t\t\tif (!block) return;\n\t\t\tconst label: string = getBlockTypeLabel(\n\t\t\t\tblock.type,\n\t\t\t\tblock.attrs as Record<string, unknown> | undefined,\n\t\t\t);\n\t\t\tthis.announce?.(label);\n\t\t}, ANNOUNCE_DEBOUNCE_MS);\n\t}\n\n\tdestroy(): void {\n\t\tif (this.announceTimer !== null) clearTimeout(this.announceTimer);\n\t\tthis.announceTimer = null;\n\t\tthis.announce = null;\n\t\tthis.context = null;\n\t}\n\n\t/** Dispatches a model-based movement command (no DOM needed). */\n\tprivate modelCommand(fn: (state: EditorState) => Transaction | null): boolean {\n\t\tif (!this.context) return false;\n\t\tconst tr: Transaction | null = fn(this.context.getState());\n\t\tif (tr) {\n\t\t\tthis.context.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/** Extends selection by one character based on visual left/right intent. */\n\tprivate extendCharacterVisual(visual: 'left' | 'right'): boolean {\n\t\tif (!this.context) return false;\n\t\tconst state: EditorState = this.context.getState();\n\t\tconst dir: 'forward' | 'backward' = this.resolveLogicalHorizontalDirection(state, visual);\n\t\tconst tr: Transaction | null =\n\t\t\tdir === 'forward' ? extendCharacterForward(state) : extendCharacterBackward(state);\n\t\tif (tr) {\n\t\t\tthis.context.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/** Dispatches a view-based movement command (uses container + Selection.modify). */\n\tprivate viewMoveCommand(\n\t\tdirection: 'forward' | 'backward',\n\t\tgranularity: 'word' | 'lineboundary' | 'line',\n\t): boolean {\n\t\treturn this.dispatchViewCommand(VIEW_MOVE_FNS, direction, granularity);\n\t}\n\n\t/** Dispatches a view-based move command with visual direction mapping for RTL. */\n\tprivate viewMoveVisual(visual: 'left' | 'right', granularity: 'word' | 'lineboundary'): boolean {\n\t\tif (!this.context) return false;\n\t\tconst dir: 'forward' | 'backward' = this.resolveLogicalHorizontalDirection(\n\t\t\tthis.context.getState(),\n\t\t\tvisual,\n\t\t);\n\t\treturn this.viewMoveCommand(dir, granularity);\n\t}\n\n\t/** Dispatches a view-based extend command. */\n\tprivate viewExtendCommand(\n\t\tdirection: 'forward' | 'backward',\n\t\tgranularity: 'word' | 'lineboundary' | 'line',\n\t): boolean {\n\t\treturn this.dispatchViewCommand(VIEW_EXTEND_FNS, direction, granularity);\n\t}\n\n\tprivate dispatchViewCommand(\n\t\tlookup: ViewCommandLookup,\n\t\tdirection: 'forward' | 'backward',\n\t\tgranularity: 'word' | 'lineboundary' | 'line',\n\t): boolean {\n\t\tif (!this.context) return false;\n\t\tconst fn: ViewCommandFn | undefined = lookup[`${granularity}:${direction}`];\n\t\tif (!fn) return false;\n\t\tconst tr: Transaction | null = fn(this.context.getContainer(), this.context.getState());\n\t\tif (tr) {\n\t\t\tthis.context.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/** Dispatches a view-based extend command with visual direction mapping for RTL. */\n\tprivate viewExtendVisual(\n\t\tvisual: 'left' | 'right',\n\t\tgranularity: 'word' | 'lineboundary',\n\t): boolean {\n\t\tif (!this.context) return false;\n\t\tconst dir: 'forward' | 'backward' = this.resolveLogicalHorizontalDirection(\n\t\t\tthis.context.getState(),\n\t\t\tvisual,\n\t\t);\n\t\treturn this.viewExtendCommand(dir, granularity);\n\t}\n\n\t/**\n\t * Resolves logical movement direction from visual left/right intent.\n\t * In RTL blocks, visual directions are mirrored in offset space.\n\t */\n\tprivate resolveLogicalHorizontalDirection(\n\t\tstate: EditorState,\n\t\tvisual: 'left' | 'right',\n\t): 'forward' | 'backward' {\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) {\n\t\t\treturn visual === 'left' ? 'backward' : 'forward';\n\t\t}\n\t\tconst container: HTMLElement | undefined = this.context?.getContainer();\n\t\tif (!container) return visual === 'left' ? 'backward' : 'forward';\n\t\tconst blockEl: Element | null = container.querySelector(\n\t\t\t`[data-block-id=\"${sel.head.blockId}\"]`,\n\t\t);\n\t\tconst isRtl: boolean = blockEl instanceof HTMLElement && getTextDirection(blockEl) === 'rtl';\n\t\tif (!isRtl) return visual === 'left' ? 'backward' : 'forward';\n\t\treturn visual === 'left' ? 'forward' : 'backward';\n\t}\n}\n"],"names":["SEGMENTER","Intl","Segmenter","granularity","nextGraphemeSize","text","offset","length","segment","index","prevGraphemeSize","lastSize","findWordBoundaryBackward","block","pos","content","getContentAtOffset","kind","test","char","findWordBoundaryForward","len","getBlockLength","resolveHead","state","sel","selection","isNodeSelection","isGapCursor","blockId","head","adjacentBlockId","currentBlockId","direction","blockOrder","getBlockOrder","idx","indexOf","targetIdx","moveCharacterForward","isCollapsed","moveTx","anchor","getBlock","step","getBlockText","blockOffsetToTextOffset","nextId","canCrossBlockBoundary","isVoidBlock","nodeSelTx","moveCharacterBackward","prevId","prevBlock","moveToBlockStart","moveToBlockEnd","blockLen","moveToDocumentStart","firstId","moveToDocumentEnd","lastId","lastBlock","extendCharacterForward","extendTx","extendCharacterBackward","extendToBlockStart","extendToBlockEnd","extendToDocumentStart","extendToDocumentEnd","lastBlockLen","viewMove","container","domSel","getSelection","modify","fallbackMove","origAnchor","anchorNode","origAnchorOff","anchorOffset","origFocus","focusNode","origFocusOff","focusOffset","newSel","readSelectionFromDOM","newBlockId","oldBlockId","newOffset","Math","min","setBaseAndExtent","viewExtend","fallbackExtend","oldHeadBlockId","newHeadBlockId","newHeadOffset","headBlock","targetId","targetBlock","targetOffset","navigateAcrossBlocks","moveWordForward","moveWordBackward","moveToLineStart","moveToLineEnd","moveLineUp","moveLineDown","extendWordForward","extendWordBackward","extendToLineStart","extendToLineEnd","extendLineUp","extendLineDown","BLOCK_TYPE_LABELS","paragraph","heading","code_block","blockquote","list_item","horizontal_rule","image","table","getBlockTypeLabel","typeName","attrs","level","buildAnnouncement","oldState","newState","tr","metadata","historyDirection","steps","type","nodeType","mt","schema","markTypes","branded","markType","wasActive","isMarkActive","nowActive","VIEW_MOVE_FNS","VIEW_EXTEND_FNS","CaretNavigationPlugin","id","name","priority","context","lastAnnouncedBlockId","announceTimer","announce","this","mac","isMac","keymap","extendCharacterVisual","viewExtendCommand","viewMoveVisual","viewExtendVisual","Home","viewMoveCommand","End","modelCommand","registerKeymap","_oldState","_tr","clearTimeout","setTimeout","hasAnnouncement","label","destroy","fn","getState","dispatch","visual","resolveLogicalHorizontalDirection","dispatchViewCommand","dir","lookup","getContainer","blockEl","querySelector","HTMLElement","getTextDirection"],"mappings":"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"}