@notectl/core 1.7.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1294) 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-B2AGfTE0.mjs +2 -0
  5. package/dist/chunks/AttrRegistry-B2AGfTE0.mjs.map +1 -0
  6. package/dist/chunks/AttributedMarkCommands-BB7lzFct.mjs +2 -0
  7. package/dist/chunks/{AttributedMarkCommands-BtLea72z.mjs.map → AttributedMarkCommands-BB7lzFct.mjs.map} +1 -1
  8. package/dist/chunks/BlockTypePickerRegistry-DcSE6IXB.mjs +2 -0
  9. package/dist/chunks/BlockTypePickerRegistry-DcSE6IXB.mjs.map +1 -0
  10. package/dist/chunks/ColorGrid-CpkbKfXg.mjs +2 -0
  11. package/dist/chunks/ColorGrid-CpkbKfXg.mjs.map +1 -0
  12. package/dist/chunks/ColorPickerPopup-DRzFvt7o.mjs +2 -0
  13. package/dist/chunks/ColorPickerPopup-DRzFvt7o.mjs.map +1 -0
  14. package/dist/chunks/ColorValidation-DCSKq9B2.mjs +2 -0
  15. package/dist/chunks/{ColorValidation-CV4f1wu6.mjs.map → ColorValidation-DCSKq9B2.mjs.map} +1 -1
  16. package/dist/chunks/Commands-P9wS8qtN.mjs +2 -0
  17. package/dist/chunks/Commands-P9wS8qtN.mjs.map +1 -0
  18. package/dist/chunks/Decoration-D49mFXrH.mjs +2 -0
  19. package/dist/chunks/Decoration-D49mFXrH.mjs.map +1 -0
  20. package/dist/chunks/Document-BFYAonMF.mjs +2 -0
  21. package/dist/chunks/Document-BFYAonMF.mjs.map +1 -0
  22. package/dist/chunks/DocumentParser-DFcvVMGY.mjs +2 -0
  23. package/dist/chunks/DocumentParser-DFcvVMGY.mjs.map +1 -0
  24. package/dist/chunks/DomUtils-Cdz1eDKM.mjs +2 -0
  25. package/dist/chunks/DomUtils-Cdz1eDKM.mjs.map +1 -0
  26. package/dist/chunks/HTMLUtils-CCvQ5f83.mjs +2 -0
  27. package/dist/chunks/HTMLUtils-CCvQ5f83.mjs.map +1 -0
  28. package/dist/chunks/HeadingPlugin-DYy3IoT_.mjs +2 -0
  29. package/dist/chunks/HeadingPlugin-DYy3IoT_.mjs.map +1 -0
  30. package/dist/chunks/KeyboardNav-DsYhKKuV.mjs +2 -0
  31. package/dist/chunks/KeyboardNav-DsYhKKuV.mjs.map +1 -0
  32. package/dist/chunks/LocaleService-B6Z-wyAF.mjs +2 -0
  33. package/dist/chunks/LocaleService-B6Z-wyAF.mjs.map +1 -0
  34. package/dist/chunks/MarkCommands-B_erV7zz.mjs +2 -0
  35. package/dist/chunks/MarkCommands-B_erV7zz.mjs.map +1 -0
  36. package/dist/chunks/NavigationQueries-ogQuObz7.mjs +2 -0
  37. package/dist/chunks/NavigationQueries-ogQuObz7.mjs.map +1 -0
  38. package/dist/chunks/NotectlEditor-4NFnXLyD.mjs +2 -0
  39. package/dist/chunks/NotectlEditor-4NFnXLyD.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/Plugin-OzM8Oxm_.mjs +2 -0
  43. package/dist/chunks/Plugin-OzM8Oxm_.mjs.map +1 -0
  44. package/dist/chunks/PluginHelpers-DjZt0pQi.mjs +2 -0
  45. package/dist/chunks/PluginHelpers-DjZt0pQi.mjs.map +1 -0
  46. package/dist/chunks/PopupManager-BM8IT6M7.mjs +2 -0
  47. package/dist/chunks/PopupManager-BM8IT6M7.mjs.map +1 -0
  48. package/dist/chunks/PopupPositioning-DtvqMSop.mjs +2 -0
  49. package/dist/chunks/PopupPositioning-DtvqMSop.mjs.map +1 -0
  50. package/dist/chunks/PrintTypes-ehbL7ipA.mjs +2 -0
  51. package/dist/chunks/PrintTypes-ehbL7ipA.mjs.map +1 -0
  52. package/dist/chunks/RangeIterator-CNI6smOg.mjs +2 -0
  53. package/dist/chunks/{RangeIterator-Bh4Vl_6D.mjs.map → RangeIterator-CNI6smOg.mjs.map} +1 -1
  54. package/dist/chunks/Selection-6-W6Flxc.mjs +2 -0
  55. package/dist/chunks/{Selection-BRTab5hO.mjs.map → Selection-6-W6Flxc.mjs.map} +1 -1
  56. package/dist/chunks/SelectionTransactions-q71GEzgE.mjs +2 -0
  57. package/dist/chunks/SelectionTransactions-q71GEzgE.mjs.map +1 -0
  58. package/dist/chunks/ShortcutFormatting-BLKS0Gys.mjs +2 -0
  59. package/dist/chunks/ShortcutFormatting-BLKS0Gys.mjs.map +1 -0
  60. package/dist/chunks/StyleRuntime-BmsLoEa8.mjs +2 -0
  61. package/dist/chunks/StyleRuntime-BmsLoEa8.mjs.map +1 -0
  62. package/dist/chunks/TextDirectionLocale-DB_aqrMg.mjs +2 -0
  63. package/dist/chunks/TextDirectionLocale-DB_aqrMg.mjs.map +1 -0
  64. package/dist/chunks/TypeBrands-Bp_Z_o5Y.mjs +2 -0
  65. package/dist/chunks/{TypeBrands-C09nE2qO.mjs.map → TypeBrands-Bp_Z_o5Y.mjs.map} +1 -1
  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-iU02mRe5.mjs +2 -0
  107. package/dist/chunks/ar-iU02mRe5.mjs.map +1 -0
  108. package/dist/chunks/ar-mSCYQYnL.mjs +2 -0
  109. package/dist/chunks/ar-mSCYQYnL.mjs.map +1 -0
  110. package/dist/chunks/color-picker-Byjl_xr9.mjs +2 -0
  111. package/dist/chunks/color-picker-Byjl_xr9.mjs.map +1 -0
  112. package/dist/chunks/de-8aCC5jBM.mjs +2 -0
  113. package/dist/chunks/de-8aCC5jBM.mjs.map +1 -0
  114. package/dist/chunks/de-B4y4ndUw.mjs +2 -0
  115. package/dist/chunks/de-B4y4ndUw.mjs.map +1 -0
  116. package/dist/chunks/de-B5fcZ0FQ.mjs +2 -0
  117. package/dist/chunks/de-B5fcZ0FQ.mjs.map +1 -0
  118. package/dist/chunks/de-BT9VmwoJ.mjs +2 -0
  119. package/dist/chunks/de-BT9VmwoJ.mjs.map +1 -0
  120. package/dist/chunks/de-BZWSyJTG.mjs +2 -0
  121. package/dist/chunks/de-BZWSyJTG.mjs.map +1 -0
  122. package/dist/chunks/de-CFD_Wgik.mjs +2 -0
  123. package/dist/chunks/de-CFD_Wgik.mjs.map +1 -0
  124. package/dist/chunks/de-CLYtb6kD.mjs +2 -0
  125. package/dist/chunks/de-CLYtb6kD.mjs.map +1 -0
  126. package/dist/chunks/de-CP5v-98M.mjs +2 -0
  127. package/dist/chunks/de-CP5v-98M.mjs.map +1 -0
  128. package/dist/chunks/de-CYJ6uWno.mjs +2 -0
  129. package/dist/chunks/de-CYJ6uWno.mjs.map +1 -0
  130. package/dist/chunks/de-ChcKkF7A.mjs +2 -0
  131. package/dist/chunks/de-ChcKkF7A.mjs.map +1 -0
  132. package/dist/chunks/de-CicoU066.mjs +2 -0
  133. package/dist/chunks/de-CicoU066.mjs.map +1 -0
  134. package/dist/chunks/de-CjLAdBt2.mjs +2 -0
  135. package/dist/chunks/de-CjLAdBt2.mjs.map +1 -0
  136. package/dist/chunks/de-CtFvAXwF.mjs +2 -0
  137. package/dist/chunks/de-CtFvAXwF.mjs.map +1 -0
  138. package/dist/chunks/de-D1OAXtxJ.mjs +2 -0
  139. package/dist/chunks/de-D1OAXtxJ.mjs.map +1 -0
  140. package/dist/chunks/de-DBbzCQrm.mjs +2 -0
  141. package/dist/chunks/de-DBbzCQrm.mjs.map +1 -0
  142. package/dist/chunks/de-DOLwx_M7.mjs +2 -0
  143. package/dist/chunks/de-DOLwx_M7.mjs.map +1 -0
  144. package/dist/chunks/de-De2miMxo.mjs +2 -0
  145. package/dist/chunks/de-De2miMxo.mjs.map +1 -0
  146. package/dist/chunks/de-OTfhhinm.mjs +2 -0
  147. package/dist/chunks/de-OTfhhinm.mjs.map +1 -0
  148. package/dist/chunks/de-PZ9-LlBp.mjs +2 -0
  149. package/dist/chunks/de-PZ9-LlBp.mjs.map +1 -0
  150. package/dist/chunks/de-UREymH-5.mjs +2 -0
  151. package/dist/chunks/de-UREymH-5.mjs.map +1 -0
  152. package/dist/chunks/de-chYdoK9q.mjs +2 -0
  153. package/dist/chunks/de-chYdoK9q.mjs.map +1 -0
  154. package/dist/chunks/de-xJh5C_pk.mjs +2 -0
  155. package/dist/chunks/de-xJh5C_pk.mjs.map +1 -0
  156. package/dist/chunks/es-B9UhsaEI.mjs +2 -0
  157. package/dist/chunks/es-B9UhsaEI.mjs.map +1 -0
  158. package/dist/chunks/es-BHGwPgrP.mjs +2 -0
  159. package/dist/chunks/es-BHGwPgrP.mjs.map +1 -0
  160. package/dist/chunks/es-BbGOZGS_.mjs +2 -0
  161. package/dist/chunks/es-BbGOZGS_.mjs.map +1 -0
  162. package/dist/chunks/es-BjPsub0k.mjs +2 -0
  163. package/dist/chunks/es-BjPsub0k.mjs.map +1 -0
  164. package/dist/chunks/es-Bk0bRDFE.mjs +2 -0
  165. package/dist/chunks/es-Bk0bRDFE.mjs.map +1 -0
  166. package/dist/chunks/es-BkS6DsrM.mjs +2 -0
  167. package/dist/chunks/es-BkS6DsrM.mjs.map +1 -0
  168. package/dist/chunks/es-BzEpr4Bk.mjs +2 -0
  169. package/dist/chunks/es-BzEpr4Bk.mjs.map +1 -0
  170. package/dist/chunks/es-C2lnWyA0.mjs +2 -0
  171. package/dist/chunks/es-C2lnWyA0.mjs.map +1 -0
  172. package/dist/chunks/es-C7e35Muh.mjs +2 -0
  173. package/dist/chunks/es-C7e35Muh.mjs.map +1 -0
  174. package/dist/chunks/es-CBk43isB.mjs +2 -0
  175. package/dist/chunks/es-CBk43isB.mjs.map +1 -0
  176. package/dist/chunks/es-CE8t9fuM.mjs +2 -0
  177. package/dist/chunks/es-CE8t9fuM.mjs.map +1 -0
  178. package/dist/chunks/es-CFjzqIbS.mjs +2 -0
  179. package/dist/chunks/es-CFjzqIbS.mjs.map +1 -0
  180. package/dist/chunks/es-Ce-AEYxc.mjs +2 -0
  181. package/dist/chunks/es-Ce-AEYxc.mjs.map +1 -0
  182. package/dist/chunks/es-Co4AJr8Y.mjs +2 -0
  183. package/dist/chunks/es-Co4AJr8Y.mjs.map +1 -0
  184. package/dist/chunks/es-Cu5_OA4X.mjs +2 -0
  185. package/dist/chunks/es-Cu5_OA4X.mjs.map +1 -0
  186. package/dist/chunks/es-Cud6JXHf.mjs +2 -0
  187. package/dist/chunks/es-Cud6JXHf.mjs.map +1 -0
  188. package/dist/chunks/es-D-II7LZC.mjs +2 -0
  189. package/dist/chunks/es-D-II7LZC.mjs.map +1 -0
  190. package/dist/chunks/es-DBBSeOaD.mjs +2 -0
  191. package/dist/chunks/es-DBBSeOaD.mjs.map +1 -0
  192. package/dist/chunks/es-DCwjeUUu.mjs +2 -0
  193. package/dist/chunks/es-DCwjeUUu.mjs.map +1 -0
  194. package/dist/chunks/es-DvgH3-WZ.mjs +2 -0
  195. package/dist/chunks/es-DvgH3-WZ.mjs.map +1 -0
  196. package/dist/chunks/es-MgguVgIs.mjs +2 -0
  197. package/dist/chunks/es-MgguVgIs.mjs.map +1 -0
  198. package/dist/chunks/es-yXjjcxgb.mjs +2 -0
  199. package/dist/chunks/es-yXjjcxgb.mjs.map +1 -0
  200. package/dist/chunks/fr-B-_yKIAY.mjs +2 -0
  201. package/dist/chunks/fr-B-_yKIAY.mjs.map +1 -0
  202. package/dist/chunks/fr-BGyF2ym0.mjs +2 -0
  203. package/dist/chunks/fr-BGyF2ym0.mjs.map +1 -0
  204. package/dist/chunks/fr-BoRJ3B2-.mjs +2 -0
  205. package/dist/chunks/fr-BoRJ3B2-.mjs.map +1 -0
  206. package/dist/chunks/fr-BrKk4SPg.mjs +2 -0
  207. package/dist/chunks/fr-BrKk4SPg.mjs.map +1 -0
  208. package/dist/chunks/fr-C-y09LKg.mjs +2 -0
  209. package/dist/chunks/fr-C-y09LKg.mjs.map +1 -0
  210. package/dist/chunks/fr-C1W7jyd6.mjs +2 -0
  211. package/dist/chunks/fr-C1W7jyd6.mjs.map +1 -0
  212. package/dist/chunks/fr-C8CtmWBj.mjs +2 -0
  213. package/dist/chunks/fr-C8CtmWBj.mjs.map +1 -0
  214. package/dist/chunks/fr-C9oiPW0k.mjs +2 -0
  215. package/dist/chunks/fr-C9oiPW0k.mjs.map +1 -0
  216. package/dist/chunks/fr-CEkk4UyZ.mjs +2 -0
  217. package/dist/chunks/fr-CEkk4UyZ.mjs.map +1 -0
  218. package/dist/chunks/fr-Ccaetiwi.mjs +2 -0
  219. package/dist/chunks/fr-Ccaetiwi.mjs.map +1 -0
  220. package/dist/chunks/fr-Ccku5KzA.mjs +2 -0
  221. package/dist/chunks/fr-Ccku5KzA.mjs.map +1 -0
  222. package/dist/chunks/fr-CfUg1FxU.mjs +2 -0
  223. package/dist/chunks/fr-CfUg1FxU.mjs.map +1 -0
  224. package/dist/chunks/fr-DDkBcjmO.mjs +2 -0
  225. package/dist/chunks/fr-DDkBcjmO.mjs.map +1 -0
  226. package/dist/chunks/fr-DNwLChcm.mjs +2 -0
  227. package/dist/chunks/fr-DNwLChcm.mjs.map +1 -0
  228. package/dist/chunks/fr-DvneSjCf.mjs +2 -0
  229. package/dist/chunks/fr-DvneSjCf.mjs.map +1 -0
  230. package/dist/chunks/fr-Dx4Qqimj.mjs +2 -0
  231. package/dist/chunks/fr-Dx4Qqimj.mjs.map +1 -0
  232. package/dist/chunks/fr-RHXmueoO.mjs +2 -0
  233. package/dist/chunks/fr-RHXmueoO.mjs.map +1 -0
  234. package/dist/chunks/fr-Wiobfk5s.mjs +2 -0
  235. package/dist/chunks/fr-Wiobfk5s.mjs.map +1 -0
  236. package/dist/chunks/fr-YMiDtWuG.mjs +2 -0
  237. package/dist/chunks/fr-YMiDtWuG.mjs.map +1 -0
  238. package/dist/chunks/fr-_Oxf0k66.mjs +2 -0
  239. package/dist/chunks/fr-_Oxf0k66.mjs.map +1 -0
  240. package/dist/chunks/fr-gurfH-7T.mjs +2 -0
  241. package/dist/chunks/fr-gurfH-7T.mjs.map +1 -0
  242. package/dist/chunks/fr-zP7EjxDL.mjs +2 -0
  243. package/dist/chunks/fr-zP7EjxDL.mjs.map +1 -0
  244. package/dist/chunks/hi-B2W8pFqK.mjs +2 -0
  245. package/dist/chunks/hi-B2W8pFqK.mjs.map +1 -0
  246. package/dist/chunks/hi-B2m69ZCq.mjs +2 -0
  247. package/dist/chunks/hi-B2m69ZCq.mjs.map +1 -0
  248. package/dist/chunks/hi-BMIt3y_-.mjs +2 -0
  249. package/dist/chunks/hi-BMIt3y_-.mjs.map +1 -0
  250. package/dist/chunks/hi-BmkfaZpg.mjs +2 -0
  251. package/dist/chunks/hi-BmkfaZpg.mjs.map +1 -0
  252. package/dist/chunks/hi-C-l_R2SO.mjs +2 -0
  253. package/dist/chunks/hi-C-l_R2SO.mjs.map +1 -0
  254. package/dist/chunks/hi-C1LhM-oY.mjs +2 -0
  255. package/dist/chunks/hi-C1LhM-oY.mjs.map +1 -0
  256. package/dist/chunks/hi-CGEbGI1l.mjs +2 -0
  257. package/dist/chunks/hi-CGEbGI1l.mjs.map +1 -0
  258. package/dist/chunks/hi-CPuhj7IA.mjs +2 -0
  259. package/dist/chunks/hi-CPuhj7IA.mjs.map +1 -0
  260. package/dist/chunks/hi-CT5WERqi.mjs +2 -0
  261. package/dist/chunks/hi-CT5WERqi.mjs.map +1 -0
  262. package/dist/chunks/hi-CbLPPQ0b.mjs +2 -0
  263. package/dist/chunks/hi-CbLPPQ0b.mjs.map +1 -0
  264. package/dist/chunks/hi-ClvEtEKe.mjs +2 -0
  265. package/dist/chunks/hi-ClvEtEKe.mjs.map +1 -0
  266. package/dist/chunks/hi-CpBWHmYH.mjs +2 -0
  267. package/dist/chunks/hi-CpBWHmYH.mjs.map +1 -0
  268. package/dist/chunks/hi-DAfl8nU_.mjs +2 -0
  269. package/dist/chunks/hi-DAfl8nU_.mjs.map +1 -0
  270. package/dist/chunks/hi-DVof3w0y.mjs +2 -0
  271. package/dist/chunks/hi-DVof3w0y.mjs.map +1 -0
  272. package/dist/chunks/hi-DtlvSQkD.mjs +2 -0
  273. package/dist/chunks/hi-DtlvSQkD.mjs.map +1 -0
  274. package/dist/chunks/hi-FH3CAJuR.mjs +2 -0
  275. package/dist/chunks/hi-FH3CAJuR.mjs.map +1 -0
  276. package/dist/chunks/hi-Ga9h9a_1.mjs +2 -0
  277. package/dist/chunks/hi-Ga9h9a_1.mjs.map +1 -0
  278. package/dist/chunks/hi-Zc17M1T-.mjs +2 -0
  279. package/dist/chunks/hi-Zc17M1T-.mjs.map +1 -0
  280. package/dist/chunks/hi-g7i0bmig.mjs +2 -0
  281. package/dist/chunks/hi-g7i0bmig.mjs.map +1 -0
  282. package/dist/chunks/hi-js2P6byR.mjs +2 -0
  283. package/dist/chunks/hi-js2P6byR.mjs.map +1 -0
  284. package/dist/chunks/hi-ntUsOspQ.mjs +2 -0
  285. package/dist/chunks/hi-ntUsOspQ.mjs.map +1 -0
  286. package/dist/chunks/hi-yxAcR3w6.mjs +2 -0
  287. package/dist/chunks/hi-yxAcR3w6.mjs.map +1 -0
  288. package/dist/chunks/index-C8xtb3SM.mjs +2 -0
  289. package/dist/chunks/index-C8xtb3SM.mjs.map +1 -0
  290. package/dist/chunks/index-DAoSt12h.mjs +2 -0
  291. package/dist/chunks/index-DAoSt12h.mjs.map +1 -0
  292. package/dist/chunks/pt--IiroJQw.mjs +2 -0
  293. package/dist/chunks/pt--IiroJQw.mjs.map +1 -0
  294. package/dist/chunks/pt-BF72W8M5.mjs +2 -0
  295. package/dist/chunks/pt-BF72W8M5.mjs.map +1 -0
  296. package/dist/chunks/pt-BX_t4luI.mjs +2 -0
  297. package/dist/chunks/pt-BX_t4luI.mjs.map +1 -0
  298. package/dist/chunks/pt-B_XJ2s9X.mjs +2 -0
  299. package/dist/chunks/pt-B_XJ2s9X.mjs.map +1 -0
  300. package/dist/chunks/pt-C-Vp7Rxj.mjs +2 -0
  301. package/dist/chunks/pt-C-Vp7Rxj.mjs.map +1 -0
  302. package/dist/chunks/pt-CD2aCZXf.mjs +2 -0
  303. package/dist/chunks/pt-CD2aCZXf.mjs.map +1 -0
  304. package/dist/chunks/pt-CFjzqIbS.mjs +2 -0
  305. package/dist/chunks/pt-CFjzqIbS.mjs.map +1 -0
  306. package/dist/chunks/pt-CHjmBegF.mjs +2 -0
  307. package/dist/chunks/pt-CHjmBegF.mjs.map +1 -0
  308. package/dist/chunks/pt-CQRzEocL.mjs +2 -0
  309. package/dist/chunks/pt-CQRzEocL.mjs.map +1 -0
  310. package/dist/chunks/pt-Cem2WxUk.mjs +2 -0
  311. package/dist/chunks/pt-Cem2WxUk.mjs.map +1 -0
  312. package/dist/chunks/pt-D6kdF3fH.mjs +2 -0
  313. package/dist/chunks/pt-D6kdF3fH.mjs.map +1 -0
  314. package/dist/chunks/pt-DJfJVeY8.mjs +2 -0
  315. package/dist/chunks/pt-DJfJVeY8.mjs.map +1 -0
  316. package/dist/chunks/pt-DfB-IaYi.mjs +2 -0
  317. package/dist/chunks/pt-DfB-IaYi.mjs.map +1 -0
  318. package/dist/chunks/pt-DlNdH9pu.mjs +2 -0
  319. package/dist/chunks/pt-DlNdH9pu.mjs.map +1 -0
  320. package/dist/chunks/pt-DrJ0-8Yo.mjs +2 -0
  321. package/dist/chunks/pt-DrJ0-8Yo.mjs.map +1 -0
  322. package/dist/chunks/pt-DsBJpgpe.mjs +2 -0
  323. package/dist/chunks/pt-DsBJpgpe.mjs.map +1 -0
  324. package/dist/chunks/pt-DwdSYJzC.mjs +2 -0
  325. package/dist/chunks/pt-DwdSYJzC.mjs.map +1 -0
  326. package/dist/chunks/pt-Dx9UkZ3j.mjs +2 -0
  327. package/dist/chunks/pt-Dx9UkZ3j.mjs.map +1 -0
  328. package/dist/chunks/pt-TuA3_GDM.mjs +2 -0
  329. package/dist/chunks/pt-TuA3_GDM.mjs.map +1 -0
  330. package/dist/chunks/pt-cN6r-f7f.mjs +2 -0
  331. package/dist/chunks/pt-cN6r-f7f.mjs.map +1 -0
  332. package/dist/chunks/pt-uNGpVM3D.mjs +2 -0
  333. package/dist/chunks/pt-uNGpVM3D.mjs.map +1 -0
  334. package/dist/chunks/pt-v1E9u-Jx.mjs +2 -0
  335. package/dist/chunks/pt-v1E9u-Jx.mjs.map +1 -0
  336. package/dist/chunks/ru-0h51zrqE.mjs +2 -0
  337. package/dist/chunks/ru-0h51zrqE.mjs.map +1 -0
  338. package/dist/chunks/ru-4S8w6UN_.mjs +2 -0
  339. package/dist/chunks/ru-4S8w6UN_.mjs.map +1 -0
  340. package/dist/chunks/ru-B0cRw90L.mjs +2 -0
  341. package/dist/chunks/ru-B0cRw90L.mjs.map +1 -0
  342. package/dist/chunks/ru-B3O7WXNM.mjs +2 -0
  343. package/dist/chunks/ru-B3O7WXNM.mjs.map +1 -0
  344. package/dist/chunks/ru-B6zVAzvI.mjs +2 -0
  345. package/dist/chunks/ru-B6zVAzvI.mjs.map +1 -0
  346. package/dist/chunks/ru-B8teJin_.mjs +2 -0
  347. package/dist/chunks/ru-B8teJin_.mjs.map +1 -0
  348. package/dist/chunks/ru-BCriPw-8.mjs +2 -0
  349. package/dist/chunks/ru-BCriPw-8.mjs.map +1 -0
  350. package/dist/chunks/ru-BNOU16E5.mjs +2 -0
  351. package/dist/chunks/ru-BNOU16E5.mjs.map +1 -0
  352. package/dist/chunks/ru-BO6BIS5W.mjs +2 -0
  353. package/dist/chunks/ru-BO6BIS5W.mjs.map +1 -0
  354. package/dist/chunks/ru-Bdy1lLuc.mjs +2 -0
  355. package/dist/chunks/ru-Bdy1lLuc.mjs.map +1 -0
  356. package/dist/chunks/ru-BgBctNVm.mjs +2 -0
  357. package/dist/chunks/ru-BgBctNVm.mjs.map +1 -0
  358. package/dist/chunks/ru-CNLx7T3O.mjs +2 -0
  359. package/dist/chunks/ru-CNLx7T3O.mjs.map +1 -0
  360. package/dist/chunks/ru-CVSCT776.mjs +2 -0
  361. package/dist/chunks/ru-CVSCT776.mjs.map +1 -0
  362. package/dist/chunks/ru-CZvkdGnf.mjs +2 -0
  363. package/dist/chunks/ru-CZvkdGnf.mjs.map +1 -0
  364. package/dist/chunks/ru-CegMPuML.mjs +2 -0
  365. package/dist/chunks/ru-CegMPuML.mjs.map +1 -0
  366. package/dist/chunks/ru-CiLrD2Nz.mjs +2 -0
  367. package/dist/chunks/ru-CiLrD2Nz.mjs.map +1 -0
  368. package/dist/chunks/ru-ClEM6OKY.mjs +2 -0
  369. package/dist/chunks/ru-ClEM6OKY.mjs.map +1 -0
  370. package/dist/chunks/ru-CrbxCeQf.mjs +2 -0
  371. package/dist/chunks/ru-CrbxCeQf.mjs.map +1 -0
  372. package/dist/chunks/ru-D3j2x2xu.mjs +2 -0
  373. package/dist/chunks/ru-D3j2x2xu.mjs.map +1 -0
  374. package/dist/chunks/ru-DdHqb4Mh.mjs +2 -0
  375. package/dist/chunks/ru-DdHqb4Mh.mjs.map +1 -0
  376. package/dist/chunks/ru-DjgNdOdJ.mjs +2 -0
  377. package/dist/chunks/ru-DjgNdOdJ.mjs.map +1 -0
  378. package/dist/chunks/ru-XKNCzkR2.mjs +2 -0
  379. package/dist/chunks/ru-XKNCzkR2.mjs.map +1 -0
  380. package/dist/chunks/zh--oNSMazK.mjs +2 -0
  381. package/dist/chunks/zh--oNSMazK.mjs.map +1 -0
  382. package/dist/chunks/zh-BfeWdPIz.mjs +2 -0
  383. package/dist/chunks/zh-BfeWdPIz.mjs.map +1 -0
  384. package/dist/chunks/zh-BnOxGKxF.mjs +2 -0
  385. package/dist/chunks/zh-BnOxGKxF.mjs.map +1 -0
  386. package/dist/chunks/zh-BqMtE-jN.mjs +2 -0
  387. package/dist/chunks/zh-BqMtE-jN.mjs.map +1 -0
  388. package/dist/chunks/zh-C3aI7A2o.mjs +2 -0
  389. package/dist/chunks/zh-C3aI7A2o.mjs.map +1 -0
  390. package/dist/chunks/zh-C6YALJZt.mjs +2 -0
  391. package/dist/chunks/zh-C6YALJZt.mjs.map +1 -0
  392. package/dist/chunks/zh-CWdTbUOP.mjs +2 -0
  393. package/dist/chunks/zh-CWdTbUOP.mjs.map +1 -0
  394. package/dist/chunks/zh-CY01pMD4.mjs +2 -0
  395. package/dist/chunks/zh-CY01pMD4.mjs.map +1 -0
  396. package/dist/chunks/zh-Cmt7n9FY.mjs +2 -0
  397. package/dist/chunks/zh-Cmt7n9FY.mjs.map +1 -0
  398. package/dist/chunks/zh-CpP2kee3.mjs +2 -0
  399. package/dist/chunks/zh-CpP2kee3.mjs.map +1 -0
  400. package/dist/chunks/zh-Cpbg4evx.mjs +2 -0
  401. package/dist/chunks/zh-Cpbg4evx.mjs.map +1 -0
  402. package/dist/chunks/zh-Cqb55JWa.mjs +2 -0
  403. package/dist/chunks/zh-Cqb55JWa.mjs.map +1 -0
  404. package/dist/chunks/zh-DCQZ6gss.mjs +2 -0
  405. package/dist/chunks/zh-DCQZ6gss.mjs.map +1 -0
  406. package/dist/chunks/zh-DG2CNTUU.mjs +2 -0
  407. package/dist/chunks/zh-DG2CNTUU.mjs.map +1 -0
  408. package/dist/chunks/zh-DTiTJbzz.mjs +2 -0
  409. package/dist/chunks/zh-DTiTJbzz.mjs.map +1 -0
  410. package/dist/chunks/zh-Da1z6qbB.mjs +2 -0
  411. package/dist/chunks/zh-Da1z6qbB.mjs.map +1 -0
  412. package/dist/chunks/zh-DlBt06Pr.mjs +2 -0
  413. package/dist/chunks/zh-DlBt06Pr.mjs.map +1 -0
  414. package/dist/chunks/zh-Dt-wVrNr.mjs +2 -0
  415. package/dist/chunks/zh-Dt-wVrNr.mjs.map +1 -0
  416. package/dist/chunks/zh-ND6vW2M-.mjs +2 -0
  417. package/dist/chunks/zh-ND6vW2M-.mjs.map +1 -0
  418. package/dist/chunks/zh-Yd3GNsa0.mjs +2 -0
  419. package/dist/chunks/zh-Yd3GNsa0.mjs.map +1 -0
  420. package/dist/chunks/zh-lhynyH6Q.mjs +2 -0
  421. package/dist/chunks/zh-lhynyH6Q.mjs.map +1 -0
  422. package/dist/chunks/zh-v9NmlEIN.mjs +2 -0
  423. package/dist/chunks/zh-v9NmlEIN.mjs.map +1 -0
  424. package/dist/commands/Commands.d.ts +9 -3
  425. package/dist/commands/Commands.d.ts.map +1 -1
  426. package/dist/commands/GapCursorCommands.d.ts.map +1 -1
  427. package/dist/commands/MarkCommands.d.ts +3 -3
  428. package/dist/commands/MarkCommands.d.ts.map +1 -1
  429. package/dist/commands/MovementCommands.d.ts +1 -4
  430. package/dist/commands/MovementCommands.d.ts.map +1 -1
  431. package/dist/commands/NodeSelectionCommands.d.ts +3 -1
  432. package/dist/commands/NodeSelectionCommands.d.ts.map +1 -1
  433. package/dist/commands/WordBoundary.d.ts +4 -9
  434. package/dist/commands/WordBoundary.d.ts.map +1 -1
  435. package/dist/editor/Announcer.d.ts +1 -2
  436. package/dist/editor/Announcer.d.ts.map +1 -1
  437. package/dist/{model → editor}/BuiltinSpecs.d.ts +1 -1
  438. package/dist/editor/BuiltinSpecs.d.ts.map +1 -0
  439. package/dist/editor/ContentSerializer.d.ts +24 -0
  440. package/dist/editor/ContentSerializer.d.ts.map +1 -0
  441. package/dist/editor/ContentStyleInjector.d.ts +69 -0
  442. package/dist/editor/ContentStyleInjector.d.ts.map +1 -0
  443. package/dist/editor/EditorConfigController.d.ts +38 -0
  444. package/dist/editor/EditorConfigController.d.ts.map +1 -0
  445. package/dist/editor/EditorDOM.d.ts +3 -4
  446. package/dist/editor/EditorDOM.d.ts.map +1 -1
  447. package/dist/editor/EditorEventEmitter.d.ts +30 -0
  448. package/dist/editor/EditorEventEmitter.d.ts.map +1 -0
  449. package/dist/editor/EditorLifecycleCoordinator.d.ts +24 -0
  450. package/dist/editor/EditorLifecycleCoordinator.d.ts.map +1 -0
  451. package/dist/editor/EditorLocale.d.ts +9 -0
  452. package/dist/editor/EditorLocale.d.ts.map +1 -0
  453. package/dist/editor/EditorStyleCoordinator.d.ts +9 -0
  454. package/dist/editor/EditorStyleCoordinator.d.ts.map +1 -0
  455. package/dist/editor/NotectlEditor.d.ts +24 -61
  456. package/dist/editor/NotectlEditor.d.ts.map +1 -1
  457. package/dist/editor/PaperLayoutController.d.ts +1 -1
  458. package/dist/editor/PaperLayoutController.d.ts.map +1 -1
  459. package/dist/editor/PluginBootstrapper.d.ts +18 -0
  460. package/dist/editor/PluginBootstrapper.d.ts.map +1 -0
  461. package/dist/editor/locales/ar.d.ts +4 -0
  462. package/dist/editor/locales/ar.d.ts.map +1 -0
  463. package/dist/editor/locales/de.d.ts +4 -0
  464. package/dist/editor/locales/de.d.ts.map +1 -0
  465. package/dist/editor/locales/es.d.ts +4 -0
  466. package/dist/editor/locales/es.d.ts.map +1 -0
  467. package/dist/editor/locales/fr.d.ts +4 -0
  468. package/dist/editor/locales/fr.d.ts.map +1 -0
  469. package/dist/editor/locales/hi.d.ts +4 -0
  470. package/dist/editor/locales/hi.d.ts.map +1 -0
  471. package/dist/editor/locales/pt.d.ts +4 -0
  472. package/dist/editor/locales/pt.d.ts.map +1 -0
  473. package/dist/editor/locales/ru.d.ts +4 -0
  474. package/dist/editor/locales/ru.d.ts.map +1 -0
  475. package/dist/editor/locales/zh.d.ts +4 -0
  476. package/dist/editor/locales/zh.d.ts.map +1 -0
  477. package/dist/editor/styles/base.d.ts +1 -1
  478. package/dist/editor/styles/base.d.ts.map +1 -1
  479. package/dist/editor/styles/code-block.d.ts +1 -1
  480. package/dist/editor/styles/code-block.d.ts.map +1 -1
  481. package/dist/editor/styles/font-select.d.ts +1 -1
  482. package/dist/editor/styles/font-select.d.ts.map +1 -1
  483. package/dist/editor/styles/font-size-select.d.ts +1 -1
  484. package/dist/editor/styles/font-size-select.d.ts.map +1 -1
  485. package/dist/editor/styles/heading-select.d.ts +1 -1
  486. package/dist/editor/styles/heading-select.d.ts.map +1 -1
  487. package/dist/editor/styles/image.d.ts +1 -1
  488. package/dist/editor/styles/image.d.ts.map +1 -1
  489. package/dist/editor/styles/list.d.ts +1 -1
  490. package/dist/editor/styles/list.d.ts.map +1 -1
  491. package/dist/editor/styles/table.d.ts +1 -1
  492. package/dist/editor/styles/table.d.ts.map +1 -1
  493. package/dist/editor/styles/toolbar.d.ts +1 -1
  494. package/dist/editor/styles/toolbar.d.ts.map +1 -1
  495. package/dist/fonts.mjs +1 -6
  496. package/dist/fonts.mjs.map +1 -1
  497. package/dist/full.d.ts +45 -0
  498. package/dist/full.d.ts.map +1 -0
  499. package/dist/full.mjs +2 -0
  500. package/dist/full.mjs.map +1 -0
  501. package/dist/html.d.ts +16 -0
  502. package/dist/html.d.ts.map +1 -0
  503. package/dist/html.mjs +2 -0
  504. package/dist/html.mjs.map +1 -0
  505. package/dist/i18n/Locale.d.ts +1 -0
  506. package/dist/i18n/Locale.d.ts.map +1 -1
  507. package/dist/i18n/index.d.ts +0 -1
  508. package/dist/i18n/index.d.ts.map +1 -1
  509. package/dist/index.d.ts +33 -100
  510. package/dist/index.d.ts.map +1 -1
  511. package/dist/input/BlockInsertion.d.ts +51 -0
  512. package/dist/input/BlockInsertion.d.ts.map +1 -0
  513. package/dist/input/ClipboardHandler.d.ts +22 -0
  514. package/dist/input/ClipboardHandler.d.ts.map +1 -1
  515. package/dist/input/CompositionTracker.d.ts +2 -1
  516. package/dist/input/CompositionTracker.d.ts.map +1 -1
  517. package/dist/{model → input}/HTMLParser.d.ts +3 -3
  518. package/dist/input/HTMLParser.d.ts.map +1 -0
  519. package/dist/input/InputHandler.d.ts +1 -1
  520. package/dist/input/InputHandler.d.ts.map +1 -1
  521. package/dist/input/InputManager.d.ts +35 -0
  522. package/dist/input/InputManager.d.ts.map +1 -0
  523. package/dist/input/InternalClipboard.d.ts +11 -1
  524. package/dist/input/InternalClipboard.d.ts.map +1 -1
  525. package/dist/input/KeyboardHandler.d.ts +12 -1
  526. package/dist/input/KeyboardHandler.d.ts.map +1 -1
  527. package/dist/input/PasteHandler.d.ts +21 -17
  528. package/dist/input/PasteHandler.d.ts.map +1 -1
  529. package/dist/model/AttrRegistry.d.ts +1 -1
  530. package/dist/model/AttrRegistry.d.ts.map +1 -1
  531. package/dist/model/BlockAlignment.d.ts +8 -0
  532. package/dist/model/BlockAlignment.d.ts.map +1 -0
  533. package/dist/model/BlockTypeLabels.d.ts +7 -0
  534. package/dist/model/BlockTypeLabels.d.ts.map +1 -0
  535. package/dist/model/CompositionState.d.ts +8 -0
  536. package/dist/model/CompositionState.d.ts.map +1 -0
  537. package/dist/model/Document.d.ts +0 -4
  538. package/dist/model/Document.d.ts.map +1 -1
  539. package/dist/{input → model}/FileHandlerRegistry.d.ts +1 -1
  540. package/dist/{input → model}/FileHandlerRegistry.d.ts.map +1 -1
  541. package/dist/model/HTMLUtils.d.ts +6 -0
  542. package/dist/model/HTMLUtils.d.ts.map +1 -1
  543. package/dist/{input → model}/InputRule.d.ts.map +1 -1
  544. package/dist/{input → model}/InputRuleRegistry.d.ts.map +1 -1
  545. package/dist/{input → model}/Keymap.d.ts.map +1 -1
  546. package/dist/{input → model}/KeymapRegistry.d.ts.map +1 -1
  547. package/dist/model/MarkSpec.d.ts +2 -2
  548. package/dist/model/MarkSpec.d.ts.map +1 -1
  549. package/dist/model/NodeSpec.d.ts +19 -5
  550. package/dist/model/NodeSpec.d.ts.map +1 -1
  551. package/dist/model/PaperSize.d.ts.map +1 -0
  552. package/dist/model/WordBoundary.d.ts +12 -0
  553. package/dist/model/WordBoundary.d.ts.map +1 -0
  554. package/dist/notectl-core.mjs +1 -3764
  555. package/dist/notectl-core.mjs.map +1 -1
  556. package/dist/notectl-core.umd.js +1 -9434
  557. package/dist/notectl-core.umd.js.map +1 -1
  558. package/dist/{view → platform}/Platform.d.ts +2 -0
  559. package/dist/platform/Platform.d.ts.map +1 -0
  560. package/dist/plugins/Plugin.d.ts +5 -5
  561. package/dist/plugins/Plugin.d.ts.map +1 -1
  562. package/dist/plugins/PluginManager.d.ts +3 -3
  563. package/dist/plugins/alignment/AlignmentLocale.d.ts +3 -10
  564. package/dist/plugins/alignment/AlignmentLocale.d.ts.map +1 -1
  565. package/dist/plugins/alignment/AlignmentPlugin.d.ts +3 -13
  566. package/dist/plugins/alignment/AlignmentPlugin.d.ts.map +1 -1
  567. package/dist/plugins/alignment/index.d.ts +3 -1
  568. package/dist/plugins/alignment/index.d.ts.map +1 -1
  569. package/dist/plugins/alignment/locales/ar.d.ts +4 -0
  570. package/dist/plugins/alignment/locales/ar.d.ts.map +1 -0
  571. package/dist/plugins/alignment/locales/de.d.ts +4 -0
  572. package/dist/plugins/alignment/locales/de.d.ts.map +1 -0
  573. package/dist/plugins/alignment/locales/es.d.ts +4 -0
  574. package/dist/plugins/alignment/locales/es.d.ts.map +1 -0
  575. package/dist/plugins/alignment/locales/fr.d.ts +4 -0
  576. package/dist/plugins/alignment/locales/fr.d.ts.map +1 -0
  577. package/dist/plugins/alignment/locales/hi.d.ts +4 -0
  578. package/dist/plugins/alignment/locales/hi.d.ts.map +1 -0
  579. package/dist/plugins/alignment/locales/pt.d.ts +4 -0
  580. package/dist/plugins/alignment/locales/pt.d.ts.map +1 -0
  581. package/dist/plugins/alignment/locales/ru.d.ts +4 -0
  582. package/dist/plugins/alignment/locales/ru.d.ts.map +1 -0
  583. package/dist/plugins/alignment/locales/zh.d.ts +4 -0
  584. package/dist/plugins/alignment/locales/zh.d.ts.map +1 -0
  585. package/dist/plugins/alignment.mjs +1 -5
  586. package/dist/plugins/alignment.mjs.map +1 -1
  587. package/dist/plugins/blockquote/BlockquoteKeyboardHandlers.d.ts +4 -0
  588. package/dist/plugins/blockquote/BlockquoteKeyboardHandlers.d.ts.map +1 -0
  589. package/dist/plugins/blockquote/BlockquoteLocale.d.ts +1 -8
  590. package/dist/plugins/blockquote/BlockquoteLocale.d.ts.map +1 -1
  591. package/dist/plugins/blockquote/BlockquotePlugin.d.ts +1 -3
  592. package/dist/plugins/blockquote/BlockquotePlugin.d.ts.map +1 -1
  593. package/dist/plugins/blockquote/BlockquoteStyles.d.ts +3 -0
  594. package/dist/plugins/blockquote/BlockquoteStyles.d.ts.map +1 -0
  595. package/dist/plugins/blockquote/index.d.ts +2 -0
  596. package/dist/plugins/blockquote/index.d.ts.map +1 -1
  597. package/dist/plugins/blockquote/locales/ar.d.ts +4 -0
  598. package/dist/plugins/blockquote/locales/ar.d.ts.map +1 -0
  599. package/dist/plugins/blockquote/locales/de.d.ts +4 -0
  600. package/dist/plugins/blockquote/locales/de.d.ts.map +1 -0
  601. package/dist/plugins/blockquote/locales/es.d.ts +4 -0
  602. package/dist/plugins/blockquote/locales/es.d.ts.map +1 -0
  603. package/dist/plugins/blockquote/locales/fr.d.ts +4 -0
  604. package/dist/plugins/blockquote/locales/fr.d.ts.map +1 -0
  605. package/dist/plugins/blockquote/locales/hi.d.ts +4 -0
  606. package/dist/plugins/blockquote/locales/hi.d.ts.map +1 -0
  607. package/dist/plugins/blockquote/locales/pt.d.ts +4 -0
  608. package/dist/plugins/blockquote/locales/pt.d.ts.map +1 -0
  609. package/dist/plugins/blockquote/locales/ru.d.ts +4 -0
  610. package/dist/plugins/blockquote/locales/ru.d.ts.map +1 -0
  611. package/dist/plugins/blockquote/locales/zh.d.ts +4 -0
  612. package/dist/plugins/blockquote/locales/zh.d.ts.map +1 -0
  613. package/dist/plugins/blockquote.mjs +1 -4
  614. package/dist/plugins/blockquote.mjs.map +1 -1
  615. package/dist/plugins/caret-navigation/CaretNavigationLocale.d.ts +21 -0
  616. package/dist/plugins/caret-navigation/CaretNavigationLocale.d.ts.map +1 -0
  617. package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts +2 -1
  618. package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts.map +1 -1
  619. package/dist/plugins/caret-navigation/index.d.ts +2 -0
  620. package/dist/plugins/caret-navigation/index.d.ts.map +1 -1
  621. package/dist/plugins/caret-navigation/locales/ar.d.ts +4 -0
  622. package/dist/plugins/caret-navigation/locales/ar.d.ts.map +1 -0
  623. package/dist/plugins/caret-navigation/locales/de.d.ts +4 -0
  624. package/dist/plugins/caret-navigation/locales/de.d.ts.map +1 -0
  625. package/dist/plugins/caret-navigation/locales/es.d.ts +4 -0
  626. package/dist/plugins/caret-navigation/locales/es.d.ts.map +1 -0
  627. package/dist/plugins/caret-navigation/locales/fr.d.ts +4 -0
  628. package/dist/plugins/caret-navigation/locales/fr.d.ts.map +1 -0
  629. package/dist/plugins/caret-navigation/locales/hi.d.ts +4 -0
  630. package/dist/plugins/caret-navigation/locales/hi.d.ts.map +1 -0
  631. package/dist/plugins/caret-navigation/locales/pt.d.ts +4 -0
  632. package/dist/plugins/caret-navigation/locales/pt.d.ts.map +1 -0
  633. package/dist/plugins/caret-navigation/locales/ru.d.ts +4 -0
  634. package/dist/plugins/caret-navigation/locales/ru.d.ts.map +1 -0
  635. package/dist/plugins/caret-navigation/locales/zh.d.ts +4 -0
  636. package/dist/plugins/caret-navigation/locales/zh.d.ts.map +1 -0
  637. package/dist/plugins/caret-navigation.mjs +1 -4
  638. package/dist/plugins/caret-navigation.mjs.map +1 -1
  639. package/dist/plugins/code-block/CodeBlockLocale.d.ts +5 -8
  640. package/dist/plugins/code-block/CodeBlockLocale.d.ts.map +1 -1
  641. package/dist/plugins/code-block/CodeBlockNodeView.d.ts +2 -1
  642. package/dist/plugins/code-block/CodeBlockNodeView.d.ts.map +1 -1
  643. package/dist/plugins/code-block/CodeBlockPlugin.d.ts +2 -3
  644. package/dist/plugins/code-block/CodeBlockPlugin.d.ts.map +1 -1
  645. package/dist/plugins/code-block/CodeBlockService.d.ts.map +1 -1
  646. package/dist/plugins/code-block/CodeBlockTypes.d.ts +0 -1
  647. package/dist/plugins/code-block/CodeBlockTypes.d.ts.map +1 -1
  648. package/dist/plugins/code-block/index.d.ts +4 -1
  649. package/dist/plugins/code-block/index.d.ts.map +1 -1
  650. package/dist/plugins/code-block/locales/ar.d.ts +4 -0
  651. package/dist/plugins/code-block/locales/ar.d.ts.map +1 -0
  652. package/dist/plugins/code-block/locales/de.d.ts +4 -0
  653. package/dist/plugins/code-block/locales/de.d.ts.map +1 -0
  654. package/dist/plugins/code-block/locales/es.d.ts +4 -0
  655. package/dist/plugins/code-block/locales/es.d.ts.map +1 -0
  656. package/dist/plugins/code-block/locales/fr.d.ts +4 -0
  657. package/dist/plugins/code-block/locales/fr.d.ts.map +1 -0
  658. package/dist/plugins/code-block/locales/hi.d.ts +4 -0
  659. package/dist/plugins/code-block/locales/hi.d.ts.map +1 -0
  660. package/dist/plugins/code-block/locales/pt.d.ts +4 -0
  661. package/dist/plugins/code-block/locales/pt.d.ts.map +1 -0
  662. package/dist/plugins/code-block/locales/ru.d.ts +4 -0
  663. package/dist/plugins/code-block/locales/ru.d.ts.map +1 -0
  664. package/dist/plugins/code-block/locales/zh.d.ts +4 -0
  665. package/dist/plugins/code-block/locales/zh.d.ts.map +1 -0
  666. package/dist/plugins/code-block.mjs +1 -5
  667. package/dist/plugins/code-block.mjs.map +1 -1
  668. package/dist/plugins/font/FontLocale.d.ts +1 -8
  669. package/dist/plugins/font/FontLocale.d.ts.map +1 -1
  670. package/dist/plugins/font/FontPlugin.d.ts +1 -4
  671. package/dist/plugins/font/FontPlugin.d.ts.map +1 -1
  672. package/dist/plugins/font/index.d.ts +2 -0
  673. package/dist/plugins/font/index.d.ts.map +1 -1
  674. package/dist/plugins/font/locales/ar.d.ts +4 -0
  675. package/dist/plugins/font/locales/ar.d.ts.map +1 -0
  676. package/dist/plugins/font/locales/de.d.ts +4 -0
  677. package/dist/plugins/font/locales/de.d.ts.map +1 -0
  678. package/dist/plugins/font/locales/es.d.ts +4 -0
  679. package/dist/plugins/font/locales/es.d.ts.map +1 -0
  680. package/dist/plugins/font/locales/fr.d.ts +4 -0
  681. package/dist/plugins/font/locales/fr.d.ts.map +1 -0
  682. package/dist/plugins/font/locales/hi.d.ts +4 -0
  683. package/dist/plugins/font/locales/hi.d.ts.map +1 -0
  684. package/dist/plugins/font/locales/pt.d.ts +4 -0
  685. package/dist/plugins/font/locales/pt.d.ts.map +1 -0
  686. package/dist/plugins/font/locales/ru.d.ts +4 -0
  687. package/dist/plugins/font/locales/ru.d.ts.map +1 -0
  688. package/dist/plugins/font/locales/zh.d.ts +4 -0
  689. package/dist/plugins/font/locales/zh.d.ts.map +1 -0
  690. package/dist/plugins/font-size/FontSizeLocale.d.ts +1 -8
  691. package/dist/plugins/font-size/FontSizeLocale.d.ts.map +1 -1
  692. package/dist/plugins/font-size/FontSizePlugin.d.ts +1 -5
  693. package/dist/plugins/font-size/FontSizePlugin.d.ts.map +1 -1
  694. package/dist/plugins/font-size/FontSizePopup.d.ts +4 -2
  695. package/dist/plugins/font-size/FontSizePopup.d.ts.map +1 -1
  696. package/dist/plugins/font-size/index.d.ts +2 -0
  697. package/dist/plugins/font-size/index.d.ts.map +1 -1
  698. package/dist/plugins/font-size/locales/ar.d.ts +4 -0
  699. package/dist/plugins/font-size/locales/ar.d.ts.map +1 -0
  700. package/dist/plugins/font-size/locales/de.d.ts +4 -0
  701. package/dist/plugins/font-size/locales/de.d.ts.map +1 -0
  702. package/dist/plugins/font-size/locales/es.d.ts +4 -0
  703. package/dist/plugins/font-size/locales/es.d.ts.map +1 -0
  704. package/dist/plugins/font-size/locales/fr.d.ts +4 -0
  705. package/dist/plugins/font-size/locales/fr.d.ts.map +1 -0
  706. package/dist/plugins/font-size/locales/hi.d.ts +4 -0
  707. package/dist/plugins/font-size/locales/hi.d.ts.map +1 -0
  708. package/dist/plugins/font-size/locales/pt.d.ts +4 -0
  709. package/dist/plugins/font-size/locales/pt.d.ts.map +1 -0
  710. package/dist/plugins/font-size/locales/ru.d.ts +4 -0
  711. package/dist/plugins/font-size/locales/ru.d.ts.map +1 -0
  712. package/dist/plugins/font-size/locales/zh.d.ts +4 -0
  713. package/dist/plugins/font-size/locales/zh.d.ts.map +1 -0
  714. package/dist/plugins/font-size.mjs +1 -4
  715. package/dist/plugins/font-size.mjs.map +1 -1
  716. package/dist/plugins/font.mjs +1 -4
  717. package/dist/plugins/font.mjs.map +1 -1
  718. package/dist/plugins/gap-cursor/GapCursorLocale.d.ts +7 -0
  719. package/dist/plugins/gap-cursor/GapCursorLocale.d.ts.map +1 -0
  720. package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts +7 -3
  721. package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts.map +1 -1
  722. package/dist/plugins/gap-cursor/locales/ar.d.ts +4 -0
  723. package/dist/plugins/gap-cursor/locales/ar.d.ts.map +1 -0
  724. package/dist/plugins/gap-cursor/locales/de.d.ts +4 -0
  725. package/dist/plugins/gap-cursor/locales/de.d.ts.map +1 -0
  726. package/dist/plugins/gap-cursor/locales/es.d.ts +4 -0
  727. package/dist/plugins/gap-cursor/locales/es.d.ts.map +1 -0
  728. package/dist/plugins/gap-cursor/locales/fr.d.ts +4 -0
  729. package/dist/plugins/gap-cursor/locales/fr.d.ts.map +1 -0
  730. package/dist/plugins/gap-cursor/locales/hi.d.ts +4 -0
  731. package/dist/plugins/gap-cursor/locales/hi.d.ts.map +1 -0
  732. package/dist/plugins/gap-cursor/locales/pt.d.ts +4 -0
  733. package/dist/plugins/gap-cursor/locales/pt.d.ts.map +1 -0
  734. package/dist/plugins/gap-cursor/locales/ru.d.ts +4 -0
  735. package/dist/plugins/gap-cursor/locales/ru.d.ts.map +1 -0
  736. package/dist/plugins/gap-cursor/locales/zh.d.ts +4 -0
  737. package/dist/plugins/gap-cursor/locales/zh.d.ts.map +1 -0
  738. package/dist/plugins/gap-cursor.mjs +1 -64
  739. package/dist/plugins/gap-cursor.mjs.map +1 -1
  740. package/dist/plugins/hard-break.mjs +1 -4
  741. package/dist/plugins/hard-break.mjs.map +1 -1
  742. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts +1 -1
  743. package/dist/plugins/heading/HeadingBlockTypePicker.d.ts.map +1 -1
  744. package/dist/plugins/heading/HeadingLocale.d.ts +1 -8
  745. package/dist/plugins/heading/HeadingLocale.d.ts.map +1 -1
  746. package/dist/plugins/heading/HeadingPlugin.d.ts +2 -4
  747. package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
  748. package/dist/plugins/heading/index.d.ts +3 -0
  749. package/dist/plugins/heading/index.d.ts.map +1 -1
  750. package/dist/plugins/heading/locales/ar.d.ts +4 -0
  751. package/dist/plugins/heading/locales/ar.d.ts.map +1 -0
  752. package/dist/plugins/heading/locales/de.d.ts +4 -0
  753. package/dist/plugins/heading/locales/de.d.ts.map +1 -0
  754. package/dist/plugins/heading/locales/es.d.ts +4 -0
  755. package/dist/plugins/heading/locales/es.d.ts.map +1 -0
  756. package/dist/plugins/heading/locales/fr.d.ts +4 -0
  757. package/dist/plugins/heading/locales/fr.d.ts.map +1 -0
  758. package/dist/plugins/heading/locales/hi.d.ts +4 -0
  759. package/dist/plugins/heading/locales/hi.d.ts.map +1 -0
  760. package/dist/plugins/heading/locales/pt.d.ts +4 -0
  761. package/dist/plugins/heading/locales/pt.d.ts.map +1 -0
  762. package/dist/plugins/heading/locales/ru.d.ts +4 -0
  763. package/dist/plugins/heading/locales/ru.d.ts.map +1 -0
  764. package/dist/plugins/heading/locales/zh.d.ts +4 -0
  765. package/dist/plugins/heading/locales/zh.d.ts.map +1 -0
  766. package/dist/plugins/heading.mjs +1 -4
  767. package/dist/plugins/heading.mjs.map +1 -1
  768. package/dist/plugins/highlight/HighlightLocale.d.ts +1 -8
  769. package/dist/plugins/highlight/HighlightLocale.d.ts.map +1 -1
  770. package/dist/plugins/highlight/HighlightPlugin.d.ts +1 -3
  771. package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
  772. package/dist/plugins/highlight/index.d.ts +2 -0
  773. package/dist/plugins/highlight/index.d.ts.map +1 -1
  774. package/dist/plugins/highlight/locales/ar.d.ts +4 -0
  775. package/dist/plugins/highlight/locales/ar.d.ts.map +1 -0
  776. package/dist/plugins/highlight/locales/de.d.ts +4 -0
  777. package/dist/plugins/highlight/locales/de.d.ts.map +1 -0
  778. package/dist/plugins/highlight/locales/es.d.ts +4 -0
  779. package/dist/plugins/highlight/locales/es.d.ts.map +1 -0
  780. package/dist/plugins/highlight/locales/fr.d.ts +4 -0
  781. package/dist/plugins/highlight/locales/fr.d.ts.map +1 -0
  782. package/dist/plugins/highlight/locales/hi.d.ts +4 -0
  783. package/dist/plugins/highlight/locales/hi.d.ts.map +1 -0
  784. package/dist/plugins/highlight/locales/pt.d.ts +4 -0
  785. package/dist/plugins/highlight/locales/pt.d.ts.map +1 -0
  786. package/dist/plugins/highlight/locales/ru.d.ts +4 -0
  787. package/dist/plugins/highlight/locales/ru.d.ts.map +1 -0
  788. package/dist/plugins/highlight/locales/zh.d.ts +4 -0
  789. package/dist/plugins/highlight/locales/zh.d.ts.map +1 -0
  790. package/dist/plugins/highlight.mjs +1 -4
  791. package/dist/plugins/highlight.mjs.map +1 -1
  792. package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts +1 -8
  793. package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts.map +1 -1
  794. package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts +1 -3
  795. package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
  796. package/dist/plugins/horizontal-rule/index.d.ts +2 -0
  797. package/dist/plugins/horizontal-rule/index.d.ts.map +1 -1
  798. package/dist/plugins/horizontal-rule/locales/ar.d.ts +4 -0
  799. package/dist/plugins/horizontal-rule/locales/ar.d.ts.map +1 -0
  800. package/dist/plugins/horizontal-rule/locales/de.d.ts +4 -0
  801. package/dist/plugins/horizontal-rule/locales/de.d.ts.map +1 -0
  802. package/dist/plugins/horizontal-rule/locales/es.d.ts +4 -0
  803. package/dist/plugins/horizontal-rule/locales/es.d.ts.map +1 -0
  804. package/dist/plugins/horizontal-rule/locales/fr.d.ts +4 -0
  805. package/dist/plugins/horizontal-rule/locales/fr.d.ts.map +1 -0
  806. package/dist/plugins/horizontal-rule/locales/hi.d.ts +4 -0
  807. package/dist/plugins/horizontal-rule/locales/hi.d.ts.map +1 -0
  808. package/dist/plugins/horizontal-rule/locales/pt.d.ts +4 -0
  809. package/dist/plugins/horizontal-rule/locales/pt.d.ts.map +1 -0
  810. package/dist/plugins/horizontal-rule/locales/ru.d.ts +4 -0
  811. package/dist/plugins/horizontal-rule/locales/ru.d.ts.map +1 -0
  812. package/dist/plugins/horizontal-rule/locales/zh.d.ts +4 -0
  813. package/dist/plugins/horizontal-rule/locales/zh.d.ts.map +1 -0
  814. package/dist/plugins/horizontal-rule.mjs +1 -4
  815. package/dist/plugins/horizontal-rule.mjs.map +1 -1
  816. package/dist/plugins/image/ImageLocale.d.ts +9 -8
  817. package/dist/plugins/image/ImageLocale.d.ts.map +1 -1
  818. package/dist/plugins/image/ImageNodeView.d.ts +8 -1
  819. package/dist/plugins/image/ImageNodeView.d.ts.map +1 -1
  820. package/dist/plugins/image/ImagePlugin.d.ts +2 -2
  821. package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
  822. package/dist/plugins/image/ImageUpload.d.ts +1 -2
  823. package/dist/plugins/image/ImageUpload.d.ts.map +1 -1
  824. package/dist/plugins/image/index.d.ts +2 -0
  825. package/dist/plugins/image/index.d.ts.map +1 -1
  826. package/dist/plugins/image/locales/ar.d.ts +4 -0
  827. package/dist/plugins/image/locales/ar.d.ts.map +1 -0
  828. package/dist/plugins/image/locales/de.d.ts +4 -0
  829. package/dist/plugins/image/locales/de.d.ts.map +1 -0
  830. package/dist/plugins/image/locales/es.d.ts +4 -0
  831. package/dist/plugins/image/locales/es.d.ts.map +1 -0
  832. package/dist/plugins/image/locales/fr.d.ts +4 -0
  833. package/dist/plugins/image/locales/fr.d.ts.map +1 -0
  834. package/dist/plugins/image/locales/hi.d.ts +4 -0
  835. package/dist/plugins/image/locales/hi.d.ts.map +1 -0
  836. package/dist/plugins/image/locales/pt.d.ts +4 -0
  837. package/dist/plugins/image/locales/pt.d.ts.map +1 -0
  838. package/dist/plugins/image/locales/ru.d.ts +4 -0
  839. package/dist/plugins/image/locales/ru.d.ts.map +1 -0
  840. package/dist/plugins/image/locales/zh.d.ts +4 -0
  841. package/dist/plugins/image/locales/zh.d.ts.map +1 -0
  842. package/dist/plugins/image.mjs +1 -6
  843. package/dist/plugins/image.mjs.map +1 -1
  844. package/dist/plugins/link/LinkLocale.d.ts +1 -8
  845. package/dist/plugins/link/LinkLocale.d.ts.map +1 -1
  846. package/dist/plugins/link/LinkPlugin.d.ts +1 -3
  847. package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
  848. package/dist/plugins/link/index.d.ts +2 -0
  849. package/dist/plugins/link/index.d.ts.map +1 -1
  850. package/dist/plugins/link/locales/ar.d.ts +4 -0
  851. package/dist/plugins/link/locales/ar.d.ts.map +1 -0
  852. package/dist/plugins/link/locales/de.d.ts +4 -0
  853. package/dist/plugins/link/locales/de.d.ts.map +1 -0
  854. package/dist/plugins/link/locales/es.d.ts +4 -0
  855. package/dist/plugins/link/locales/es.d.ts.map +1 -0
  856. package/dist/plugins/link/locales/fr.d.ts +4 -0
  857. package/dist/plugins/link/locales/fr.d.ts.map +1 -0
  858. package/dist/plugins/link/locales/hi.d.ts +4 -0
  859. package/dist/plugins/link/locales/hi.d.ts.map +1 -0
  860. package/dist/plugins/link/locales/pt.d.ts +4 -0
  861. package/dist/plugins/link/locales/pt.d.ts.map +1 -0
  862. package/dist/plugins/link/locales/ru.d.ts +4 -0
  863. package/dist/plugins/link/locales/ru.d.ts.map +1 -0
  864. package/dist/plugins/link/locales/zh.d.ts +4 -0
  865. package/dist/plugins/link/locales/zh.d.ts.map +1 -0
  866. package/dist/plugins/link.mjs +1 -4
  867. package/dist/plugins/link.mjs.map +1 -1
  868. package/dist/plugins/list/ListLocale.d.ts +1 -8
  869. package/dist/plugins/list/ListLocale.d.ts.map +1 -1
  870. package/dist/plugins/list/ListPlugin.d.ts +1 -3
  871. package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
  872. package/dist/plugins/list/index.d.ts +2 -0
  873. package/dist/plugins/list/index.d.ts.map +1 -1
  874. package/dist/plugins/list/locales/ar.d.ts +4 -0
  875. package/dist/plugins/list/locales/ar.d.ts.map +1 -0
  876. package/dist/plugins/list/locales/de.d.ts +4 -0
  877. package/dist/plugins/list/locales/de.d.ts.map +1 -0
  878. package/dist/plugins/list/locales/es.d.ts +4 -0
  879. package/dist/plugins/list/locales/es.d.ts.map +1 -0
  880. package/dist/plugins/list/locales/fr.d.ts +4 -0
  881. package/dist/plugins/list/locales/fr.d.ts.map +1 -0
  882. package/dist/plugins/list/locales/hi.d.ts +4 -0
  883. package/dist/plugins/list/locales/hi.d.ts.map +1 -0
  884. package/dist/plugins/list/locales/pt.d.ts +4 -0
  885. package/dist/plugins/list/locales/pt.d.ts.map +1 -0
  886. package/dist/plugins/list/locales/ru.d.ts +4 -0
  887. package/dist/plugins/list/locales/ru.d.ts.map +1 -0
  888. package/dist/plugins/list/locales/zh.d.ts +4 -0
  889. package/dist/plugins/list/locales/zh.d.ts.map +1 -0
  890. package/dist/plugins/list.mjs +1 -4
  891. package/dist/plugins/list.mjs.map +1 -1
  892. package/dist/plugins/print/PrintLocale.d.ts +1 -8
  893. package/dist/plugins/print/PrintLocale.d.ts.map +1 -1
  894. package/dist/plugins/print/PrintPlugin.d.ts +1 -1
  895. package/dist/plugins/print/PrintPlugin.d.ts.map +1 -1
  896. package/dist/plugins/print/PrintServiceImpl.d.ts.map +1 -1
  897. package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
  898. package/dist/plugins/print/PrintTypes.d.ts +1 -1
  899. package/dist/plugins/print/PrintTypes.d.ts.map +1 -1
  900. package/dist/plugins/print/index.d.ts +5 -0
  901. package/dist/plugins/print/index.d.ts.map +1 -0
  902. package/dist/plugins/print/locales/ar.d.ts +4 -0
  903. package/dist/plugins/print/locales/ar.d.ts.map +1 -0
  904. package/dist/plugins/print/locales/de.d.ts +4 -0
  905. package/dist/plugins/print/locales/de.d.ts.map +1 -0
  906. package/dist/plugins/print/locales/es.d.ts +4 -0
  907. package/dist/plugins/print/locales/es.d.ts.map +1 -0
  908. package/dist/plugins/print/locales/fr.d.ts +4 -0
  909. package/dist/plugins/print/locales/fr.d.ts.map +1 -0
  910. package/dist/plugins/print/locales/hi.d.ts +4 -0
  911. package/dist/plugins/print/locales/hi.d.ts.map +1 -0
  912. package/dist/plugins/print/locales/pt.d.ts +4 -0
  913. package/dist/plugins/print/locales/pt.d.ts.map +1 -0
  914. package/dist/plugins/print/locales/ru.d.ts +4 -0
  915. package/dist/plugins/print/locales/ru.d.ts.map +1 -0
  916. package/dist/plugins/print/locales/zh.d.ts +4 -0
  917. package/dist/plugins/print/locales/zh.d.ts.map +1 -0
  918. package/dist/plugins/print.mjs +2 -0
  919. package/dist/plugins/print.mjs.map +1 -0
  920. package/dist/plugins/shared/ColorGrid.d.ts.map +1 -1
  921. package/dist/plugins/shared/ColorPickerPopup.d.ts +2 -1
  922. package/dist/plugins/shared/ColorPickerPopup.d.ts.map +1 -1
  923. package/dist/plugins/shared/KeyboardNav.d.ts +17 -0
  924. package/dist/plugins/shared/KeyboardNav.d.ts.map +1 -0
  925. package/dist/plugins/shared/PluginHelpers.d.ts +10 -0
  926. package/dist/plugins/shared/PluginHelpers.d.ts.map +1 -0
  927. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts +1 -1
  928. package/dist/plugins/shared/PopupKeyboardPatterns.d.ts.map +1 -1
  929. package/dist/plugins/shared/PopupManager.d.ts +14 -2
  930. package/dist/plugins/shared/PopupManager.d.ts.map +1 -1
  931. package/dist/plugins/shared/PopupPositioning.d.ts +1 -0
  932. package/dist/plugins/shared/PopupPositioning.d.ts.map +1 -1
  933. package/dist/plugins/shared/ShortcutFormatting.d.ts +9 -0
  934. package/dist/plugins/shared/ShortcutFormatting.d.ts.map +1 -0
  935. package/dist/plugins/shared/index.d.ts +12 -0
  936. package/dist/plugins/shared/index.d.ts.map +1 -0
  937. package/dist/plugins/shared.mjs +2 -0
  938. package/dist/plugins/shared.mjs.map +1 -0
  939. package/dist/plugins/strikethrough/StrikethroughLocale.d.ts +1 -8
  940. package/dist/plugins/strikethrough/StrikethroughLocale.d.ts.map +1 -1
  941. package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts +1 -3
  942. package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts.map +1 -1
  943. package/dist/plugins/strikethrough/index.d.ts +2 -0
  944. package/dist/plugins/strikethrough/index.d.ts.map +1 -1
  945. package/dist/plugins/strikethrough/locales/ar.d.ts +4 -0
  946. package/dist/plugins/strikethrough/locales/ar.d.ts.map +1 -0
  947. package/dist/plugins/strikethrough/locales/de.d.ts +4 -0
  948. package/dist/plugins/strikethrough/locales/de.d.ts.map +1 -0
  949. package/dist/plugins/strikethrough/locales/es.d.ts +4 -0
  950. package/dist/plugins/strikethrough/locales/es.d.ts.map +1 -0
  951. package/dist/plugins/strikethrough/locales/fr.d.ts +4 -0
  952. package/dist/plugins/strikethrough/locales/fr.d.ts.map +1 -0
  953. package/dist/plugins/strikethrough/locales/hi.d.ts +4 -0
  954. package/dist/plugins/strikethrough/locales/hi.d.ts.map +1 -0
  955. package/dist/plugins/strikethrough/locales/pt.d.ts +4 -0
  956. package/dist/plugins/strikethrough/locales/pt.d.ts.map +1 -0
  957. package/dist/plugins/strikethrough/locales/ru.d.ts +4 -0
  958. package/dist/plugins/strikethrough/locales/ru.d.ts.map +1 -0
  959. package/dist/plugins/strikethrough/locales/zh.d.ts +4 -0
  960. package/dist/plugins/strikethrough/locales/zh.d.ts.map +1 -0
  961. package/dist/plugins/strikethrough.mjs +1 -4
  962. package/dist/plugins/strikethrough.mjs.map +1 -1
  963. package/dist/plugins/super-sub/SuperSubLocale.d.ts +1 -8
  964. package/dist/plugins/super-sub/SuperSubLocale.d.ts.map +1 -1
  965. package/dist/plugins/super-sub/SuperSubPlugin.d.ts +1 -3
  966. package/dist/plugins/super-sub/SuperSubPlugin.d.ts.map +1 -1
  967. package/dist/plugins/super-sub/index.d.ts +2 -0
  968. package/dist/plugins/super-sub/index.d.ts.map +1 -1
  969. package/dist/plugins/super-sub/locales/ar.d.ts +4 -0
  970. package/dist/plugins/super-sub/locales/ar.d.ts.map +1 -0
  971. package/dist/plugins/super-sub/locales/de.d.ts +4 -0
  972. package/dist/plugins/super-sub/locales/de.d.ts.map +1 -0
  973. package/dist/plugins/super-sub/locales/es.d.ts +4 -0
  974. package/dist/plugins/super-sub/locales/es.d.ts.map +1 -0
  975. package/dist/plugins/super-sub/locales/fr.d.ts +4 -0
  976. package/dist/plugins/super-sub/locales/fr.d.ts.map +1 -0
  977. package/dist/plugins/super-sub/locales/hi.d.ts +4 -0
  978. package/dist/plugins/super-sub/locales/hi.d.ts.map +1 -0
  979. package/dist/plugins/super-sub/locales/pt.d.ts +4 -0
  980. package/dist/plugins/super-sub/locales/pt.d.ts.map +1 -0
  981. package/dist/plugins/super-sub/locales/ru.d.ts +4 -0
  982. package/dist/plugins/super-sub/locales/ru.d.ts.map +1 -0
  983. package/dist/plugins/super-sub/locales/zh.d.ts +4 -0
  984. package/dist/plugins/super-sub/locales/zh.d.ts.map +1 -0
  985. package/dist/plugins/super-sub.mjs +1 -4
  986. package/dist/plugins/super-sub.mjs.map +1 -1
  987. package/dist/plugins/table/TableCommands.d.ts +8 -8
  988. package/dist/plugins/table/TableCommands.d.ts.map +1 -1
  989. package/dist/plugins/table/TableContextMenu.d.ts.map +1 -1
  990. package/dist/plugins/table/TableControlsDOM.d.ts +4 -4
  991. package/dist/plugins/table/TableControlsDOM.d.ts.map +1 -1
  992. package/dist/plugins/table/TableLocale.d.ts +1 -8
  993. package/dist/plugins/table/TableLocale.d.ts.map +1 -1
  994. package/dist/plugins/table/TableNavigation.d.ts +1 -1
  995. package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
  996. package/dist/plugins/table/TablePlugin.d.ts +3 -5
  997. package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
  998. package/dist/plugins/table/TableSelection.d.ts +2 -0
  999. package/dist/plugins/table/TableSelection.d.ts.map +1 -1
  1000. package/dist/plugins/table/index.d.ts +0 -5
  1001. package/dist/plugins/table/index.d.ts.map +1 -1
  1002. package/dist/plugins/table/locales/ar.d.ts +4 -0
  1003. package/dist/plugins/table/locales/ar.d.ts.map +1 -0
  1004. package/dist/plugins/table/locales/de.d.ts +4 -0
  1005. package/dist/plugins/table/locales/de.d.ts.map +1 -0
  1006. package/dist/plugins/table/locales/es.d.ts +4 -0
  1007. package/dist/plugins/table/locales/es.d.ts.map +1 -0
  1008. package/dist/plugins/table/locales/fr.d.ts +4 -0
  1009. package/dist/plugins/table/locales/fr.d.ts.map +1 -0
  1010. package/dist/plugins/table/locales/hi.d.ts +4 -0
  1011. package/dist/plugins/table/locales/hi.d.ts.map +1 -0
  1012. package/dist/plugins/table/locales/pt.d.ts +4 -0
  1013. package/dist/plugins/table/locales/pt.d.ts.map +1 -0
  1014. package/dist/plugins/table/locales/ru.d.ts +4 -0
  1015. package/dist/plugins/table/locales/ru.d.ts.map +1 -0
  1016. package/dist/plugins/table/locales/zh.d.ts +4 -0
  1017. package/dist/plugins/table/locales/zh.d.ts.map +1 -0
  1018. package/dist/plugins/table.mjs +1 -20
  1019. package/dist/plugins/table.mjs.map +1 -1
  1020. package/dist/plugins/text-color/TextColorLocale.d.ts +1 -8
  1021. package/dist/plugins/text-color/TextColorLocale.d.ts.map +1 -1
  1022. package/dist/plugins/text-color/TextColorPlugin.d.ts +1 -3
  1023. package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
  1024. package/dist/plugins/text-color/index.d.ts +2 -0
  1025. package/dist/plugins/text-color/index.d.ts.map +1 -1
  1026. package/dist/plugins/text-color/locales/ar.d.ts +4 -0
  1027. package/dist/plugins/text-color/locales/ar.d.ts.map +1 -0
  1028. package/dist/plugins/text-color/locales/de.d.ts +4 -0
  1029. package/dist/plugins/text-color/locales/de.d.ts.map +1 -0
  1030. package/dist/plugins/text-color/locales/es.d.ts +4 -0
  1031. package/dist/plugins/text-color/locales/es.d.ts.map +1 -0
  1032. package/dist/plugins/text-color/locales/fr.d.ts +4 -0
  1033. package/dist/plugins/text-color/locales/fr.d.ts.map +1 -0
  1034. package/dist/plugins/text-color/locales/hi.d.ts +4 -0
  1035. package/dist/plugins/text-color/locales/hi.d.ts.map +1 -0
  1036. package/dist/plugins/text-color/locales/pt.d.ts +4 -0
  1037. package/dist/plugins/text-color/locales/pt.d.ts.map +1 -0
  1038. package/dist/plugins/text-color/locales/ru.d.ts +4 -0
  1039. package/dist/plugins/text-color/locales/ru.d.ts.map +1 -0
  1040. package/dist/plugins/text-color/locales/zh.d.ts +4 -0
  1041. package/dist/plugins/text-color/locales/zh.d.ts.map +1 -0
  1042. package/dist/plugins/text-color.mjs +1 -4
  1043. package/dist/plugins/text-color.mjs.map +1 -1
  1044. package/dist/plugins/text-direction/DirectionDetection.d.ts +17 -0
  1045. package/dist/plugins/text-direction/DirectionDetection.d.ts.map +1 -0
  1046. package/dist/plugins/text-direction/ShiftDirectionHandler.d.ts +12 -0
  1047. package/dist/plugins/text-direction/ShiftDirectionHandler.d.ts.map +1 -0
  1048. package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts +35 -0
  1049. package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts.map +1 -0
  1050. package/dist/plugins/text-direction/TextDirectionLocale.d.ts +20 -0
  1051. package/dist/plugins/text-direction/TextDirectionLocale.d.ts.map +1 -0
  1052. package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts +18 -0
  1053. package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts.map +1 -0
  1054. package/dist/plugins/text-direction/TextDirectionPlugin.d.ts +59 -0
  1055. package/dist/plugins/text-direction/TextDirectionPlugin.d.ts.map +1 -0
  1056. package/dist/plugins/text-direction/index.d.ts +5 -0
  1057. package/dist/plugins/text-direction/index.d.ts.map +1 -0
  1058. package/dist/plugins/text-direction/locales/ar.d.ts +4 -0
  1059. package/dist/plugins/text-direction/locales/ar.d.ts.map +1 -0
  1060. package/dist/plugins/text-direction/locales/de.d.ts +4 -0
  1061. package/dist/plugins/text-direction/locales/de.d.ts.map +1 -0
  1062. package/dist/plugins/text-direction/locales/es.d.ts +4 -0
  1063. package/dist/plugins/text-direction/locales/es.d.ts.map +1 -0
  1064. package/dist/plugins/text-direction/locales/fr.d.ts +4 -0
  1065. package/dist/plugins/text-direction/locales/fr.d.ts.map +1 -0
  1066. package/dist/plugins/text-direction/locales/hi.d.ts +4 -0
  1067. package/dist/plugins/text-direction/locales/hi.d.ts.map +1 -0
  1068. package/dist/plugins/text-direction/locales/pt.d.ts +4 -0
  1069. package/dist/plugins/text-direction/locales/pt.d.ts.map +1 -0
  1070. package/dist/plugins/text-direction/locales/ru.d.ts +4 -0
  1071. package/dist/plugins/text-direction/locales/ru.d.ts.map +1 -0
  1072. package/dist/plugins/text-direction/locales/zh.d.ts +4 -0
  1073. package/dist/plugins/text-direction/locales/zh.d.ts.map +1 -0
  1074. package/dist/plugins/text-direction-advanced/index.d.ts +5 -0
  1075. package/dist/plugins/text-direction-advanced/index.d.ts.map +1 -0
  1076. package/dist/plugins/text-direction-advanced.mjs +2 -0
  1077. package/dist/plugins/text-direction-advanced.mjs.map +1 -0
  1078. package/dist/plugins/text-direction.mjs +2 -0
  1079. package/dist/plugins/text-direction.mjs.map +1 -0
  1080. package/dist/plugins/text-formatting/TextFormattingLocale.d.ts +1 -8
  1081. package/dist/plugins/text-formatting/TextFormattingLocale.d.ts.map +1 -1
  1082. package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts +1 -3
  1083. package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts.map +1 -1
  1084. package/dist/plugins/text-formatting/index.d.ts +2 -0
  1085. package/dist/plugins/text-formatting/index.d.ts.map +1 -1
  1086. package/dist/plugins/text-formatting/locales/ar.d.ts +4 -0
  1087. package/dist/plugins/text-formatting/locales/ar.d.ts.map +1 -0
  1088. package/dist/plugins/text-formatting/locales/de.d.ts +4 -0
  1089. package/dist/plugins/text-formatting/locales/de.d.ts.map +1 -0
  1090. package/dist/plugins/text-formatting/locales/es.d.ts +4 -0
  1091. package/dist/plugins/text-formatting/locales/es.d.ts.map +1 -0
  1092. package/dist/plugins/text-formatting/locales/fr.d.ts +4 -0
  1093. package/dist/plugins/text-formatting/locales/fr.d.ts.map +1 -0
  1094. package/dist/plugins/text-formatting/locales/hi.d.ts +4 -0
  1095. package/dist/plugins/text-formatting/locales/hi.d.ts.map +1 -0
  1096. package/dist/plugins/text-formatting/locales/pt.d.ts +4 -0
  1097. package/dist/plugins/text-formatting/locales/pt.d.ts.map +1 -0
  1098. package/dist/plugins/text-formatting/locales/ru.d.ts +4 -0
  1099. package/dist/plugins/text-formatting/locales/ru.d.ts.map +1 -0
  1100. package/dist/plugins/text-formatting/locales/zh.d.ts +4 -0
  1101. package/dist/plugins/text-formatting/locales/zh.d.ts.map +1 -0
  1102. package/dist/plugins/text-formatting.mjs +1 -4
  1103. package/dist/plugins/text-formatting.mjs.map +1 -1
  1104. package/dist/plugins/toolbar/ToolbarItem.d.ts +5 -20
  1105. package/dist/plugins/toolbar/ToolbarItem.d.ts.map +1 -1
  1106. package/dist/plugins/toolbar/ToolbarKeyboardNav.d.ts +5 -11
  1107. package/dist/plugins/toolbar/ToolbarKeyboardNav.d.ts.map +1 -1
  1108. package/dist/plugins/toolbar/ToolbarLocale.d.ts +2 -8
  1109. package/dist/plugins/toolbar/ToolbarLocale.d.ts.map +1 -1
  1110. package/dist/plugins/toolbar/ToolbarOverflowController.d.ts.map +1 -1
  1111. package/dist/plugins/toolbar/ToolbarPlugin.d.ts +2 -2
  1112. package/dist/plugins/toolbar/ToolbarPlugin.d.ts.map +1 -1
  1113. package/dist/plugins/toolbar/ToolbarPopupController.d.ts +3 -4
  1114. package/dist/plugins/toolbar/ToolbarPopupController.d.ts.map +1 -1
  1115. package/dist/plugins/toolbar/ToolbarRenderers.d.ts +2 -1
  1116. package/dist/plugins/toolbar/ToolbarRenderers.d.ts.map +1 -1
  1117. package/dist/plugins/toolbar/index.d.ts +4 -1
  1118. package/dist/plugins/toolbar/index.d.ts.map +1 -1
  1119. package/dist/plugins/toolbar/locales/ar.d.ts +4 -0
  1120. package/dist/plugins/toolbar/locales/ar.d.ts.map +1 -0
  1121. package/dist/plugins/toolbar/locales/de.d.ts +4 -0
  1122. package/dist/plugins/toolbar/locales/de.d.ts.map +1 -0
  1123. package/dist/plugins/toolbar/locales/es.d.ts +4 -0
  1124. package/dist/plugins/toolbar/locales/es.d.ts.map +1 -0
  1125. package/dist/plugins/toolbar/locales/fr.d.ts +4 -0
  1126. package/dist/plugins/toolbar/locales/fr.d.ts.map +1 -0
  1127. package/dist/plugins/toolbar/locales/hi.d.ts +4 -0
  1128. package/dist/plugins/toolbar/locales/hi.d.ts.map +1 -0
  1129. package/dist/plugins/toolbar/locales/pt.d.ts +4 -0
  1130. package/dist/plugins/toolbar/locales/pt.d.ts.map +1 -0
  1131. package/dist/plugins/toolbar/locales/ru.d.ts +4 -0
  1132. package/dist/plugins/toolbar/locales/ru.d.ts.map +1 -0
  1133. package/dist/plugins/toolbar/locales/zh.d.ts +4 -0
  1134. package/dist/plugins/toolbar/locales/zh.d.ts.map +1 -0
  1135. package/dist/plugins/toolbar.mjs +1 -7
  1136. package/dist/plugins/toolbar.mjs.map +1 -1
  1137. package/dist/presets/FullPreset.d.ts +4 -1
  1138. package/dist/presets/FullPreset.d.ts.map +1 -1
  1139. package/dist/presets/MinimalPreset.d.ts +3 -0
  1140. package/dist/presets/MinimalPreset.d.ts.map +1 -1
  1141. package/dist/presets/PresetTypes.d.ts +3 -1
  1142. package/dist/presets/PresetTypes.d.ts.map +1 -1
  1143. package/dist/presets/full.d.ts +17 -0
  1144. package/dist/presets/full.d.ts.map +1 -0
  1145. package/dist/presets/full.mjs +2 -0
  1146. package/dist/presets/full.mjs.map +1 -0
  1147. package/dist/presets/minimal.d.ts +17 -0
  1148. package/dist/presets/minimal.d.ts.map +1 -0
  1149. package/dist/presets/minimal.mjs +2 -0
  1150. package/dist/presets/minimal.mjs.map +1 -0
  1151. package/dist/presets.d.ts +20 -0
  1152. package/dist/presets.d.ts.map +1 -0
  1153. package/dist/presets.mjs +2 -0
  1154. package/dist/presets.mjs.map +1 -0
  1155. package/dist/serialization/CSSClassCollector.d.ts +36 -0
  1156. package/dist/serialization/CSSClassCollector.d.ts.map +1 -0
  1157. package/dist/serialization/ContentHTMLTypes.d.ts +29 -0
  1158. package/dist/serialization/ContentHTMLTypes.d.ts.map +1 -0
  1159. package/dist/serialization/DocumentParser.d.ts +13 -0
  1160. package/dist/serialization/DocumentParser.d.ts.map +1 -0
  1161. package/dist/serialization/DocumentSerializer.d.ts +15 -0
  1162. package/dist/serialization/DocumentSerializer.d.ts.map +1 -0
  1163. package/dist/serialization/MarkSerializer.d.ts +19 -0
  1164. package/dist/serialization/MarkSerializer.d.ts.map +1 -0
  1165. package/dist/serialization/index.d.ts +12 -0
  1166. package/dist/serialization/index.d.ts.map +1 -0
  1167. package/dist/state/BlockBoundaryMovement.d.ts +7 -0
  1168. package/dist/state/BlockBoundaryMovement.d.ts.map +1 -0
  1169. package/dist/{model/NavigationUtils.d.ts → state/NavigationQueries.d.ts} +3 -3
  1170. package/dist/state/NavigationQueries.d.ts.map +1 -0
  1171. package/dist/style/StyleRuntime.d.ts +3 -7
  1172. package/dist/style/StyleRuntime.d.ts.map +1 -1
  1173. package/dist/test/PluginTestUtils.d.ts +0 -2
  1174. package/dist/test/PluginTestUtils.d.ts.map +1 -1
  1175. package/dist/test/TestUtils.d.ts +2 -2
  1176. package/dist/test/TestUtils.d.ts.map +1 -1
  1177. package/dist/view/BlockRendering.d.ts +10 -0
  1178. package/dist/view/BlockRendering.d.ts.map +1 -0
  1179. package/dist/view/BlockWrapperManagement.d.ts +27 -0
  1180. package/dist/view/BlockWrapperManagement.d.ts.map +1 -0
  1181. package/dist/view/CaretNavigation.d.ts +1 -8
  1182. package/dist/view/CaretNavigation.d.ts.map +1 -1
  1183. package/dist/view/CursorWrapper.d.ts.map +1 -1
  1184. package/dist/view/DecorationRendering.d.ts +17 -0
  1185. package/dist/view/DecorationRendering.d.ts.map +1 -0
  1186. package/dist/view/DomUtils.d.ts +4 -0
  1187. package/dist/view/DomUtils.d.ts.map +1 -0
  1188. package/dist/view/EditorView.d.ts +7 -10
  1189. package/dist/view/EditorView.d.ts.map +1 -1
  1190. package/dist/view/GapCursorNavigation.d.ts +12 -0
  1191. package/dist/view/GapCursorNavigation.d.ts.map +1 -0
  1192. package/dist/view/InlineRendering.d.ts +11 -0
  1193. package/dist/view/InlineRendering.d.ts.map +1 -0
  1194. package/dist/view/MarkRendering.d.ts +5 -0
  1195. package/dist/view/MarkRendering.d.ts.map +1 -1
  1196. package/dist/view/Reconciler.d.ts +2 -6
  1197. package/dist/view/Reconciler.d.ts.map +1 -1
  1198. package/dist/view/SelectionSync.d.ts +41 -2
  1199. package/dist/view/SelectionSync.d.ts.map +1 -1
  1200. package/dist/view/ViewMovementCommands.d.ts.map +1 -1
  1201. package/package.json +208 -8
  1202. package/dist/chunks/AttrRegistry-D9Jx_RVb.mjs +0 -16
  1203. package/dist/chunks/AttrRegistry-D9Jx_RVb.mjs.map +0 -1
  1204. package/dist/chunks/AttributedMarkCommands-BtLea72z.mjs +0 -80
  1205. package/dist/chunks/CaretNavigation-7JYpIKbs.mjs +0 -311
  1206. package/dist/chunks/CaretNavigation-7JYpIKbs.mjs.map +0 -1
  1207. package/dist/chunks/ColorGrid-Dneqb8if.mjs +0 -81
  1208. package/dist/chunks/ColorGrid-Dneqb8if.mjs.map +0 -1
  1209. package/dist/chunks/ColorPickerPopup-CiCLBbe9.mjs +0 -37
  1210. package/dist/chunks/ColorPickerPopup-CiCLBbe9.mjs.map +0 -1
  1211. package/dist/chunks/ColorValidation-CV4f1wu6.mjs +0 -39
  1212. package/dist/chunks/Document-Brtw2jL1.mjs +0 -190
  1213. package/dist/chunks/Document-Brtw2jL1.mjs.map +0 -1
  1214. package/dist/chunks/HTMLUtils-DTqQzcKR.mjs +0 -35
  1215. package/dist/chunks/HTMLUtils-DTqQzcKR.mjs.map +0 -1
  1216. package/dist/chunks/MarkCommands-6RUJ4L3r.mjs +0 -94
  1217. package/dist/chunks/MarkCommands-6RUJ4L3r.mjs.map +0 -1
  1218. package/dist/chunks/NavigationUtils-Cspt2ZrK.mjs +0 -47
  1219. package/dist/chunks/NavigationUtils-Cspt2ZrK.mjs.map +0 -1
  1220. package/dist/chunks/NodeResolver-C2XYkeOi.mjs +0 -81
  1221. package/dist/chunks/NodeResolver-C2XYkeOi.mjs.map +0 -1
  1222. package/dist/chunks/NodeSpec-NZVvcCuH.mjs +0 -8
  1223. package/dist/chunks/NodeSpec-NZVvcCuH.mjs.map +0 -1
  1224. package/dist/chunks/Platform-S_xqIqcM.mjs +0 -26
  1225. package/dist/chunks/Platform-S_xqIqcM.mjs.map +0 -1
  1226. package/dist/chunks/PopupPositioning-BTT-_pQ3.mjs +0 -32
  1227. package/dist/chunks/PopupPositioning-BTT-_pQ3.mjs.map +0 -1
  1228. package/dist/chunks/RangeIterator-Bh4Vl_6D.mjs +0 -16
  1229. package/dist/chunks/Selection-BRTab5hO.mjs +0 -52
  1230. package/dist/chunks/StyleRuntime-ChRjVQwL.mjs +0 -239
  1231. package/dist/chunks/StyleRuntime-ChRjVQwL.mjs.map +0 -1
  1232. package/dist/chunks/ToolbarItem-BpZggUGo.mjs +0 -8
  1233. package/dist/chunks/ToolbarItem-BpZggUGo.mjs.map +0 -1
  1234. package/dist/chunks/ToolbarKeyboardNav-DhpL8zNV.mjs +0 -46
  1235. package/dist/chunks/ToolbarKeyboardNav-DhpL8zNV.mjs.map +0 -1
  1236. package/dist/chunks/ToolbarPlugin-DpLVJ71w.mjs +0 -1031
  1237. package/dist/chunks/ToolbarPlugin-DpLVJ71w.mjs.map +0 -1
  1238. package/dist/chunks/TypeBrands-C09nE2qO.mjs +0 -27
  1239. package/dist/chunks/index--n1RGpq-.mjs +0 -171
  1240. package/dist/chunks/index--n1RGpq-.mjs.map +0 -1
  1241. package/dist/chunks/index-4or5UzNO.mjs +0 -168
  1242. package/dist/chunks/index-4or5UzNO.mjs.map +0 -1
  1243. package/dist/chunks/index-ABlTDvEX.mjs +0 -101
  1244. package/dist/chunks/index-ABlTDvEX.mjs.map +0 -1
  1245. package/dist/chunks/index-BAke7kNL.mjs +0 -467
  1246. package/dist/chunks/index-BAke7kNL.mjs.map +0 -1
  1247. package/dist/chunks/index-BXtw5PNN.mjs +0 -39
  1248. package/dist/chunks/index-BXtw5PNN.mjs.map +0 -1
  1249. package/dist/chunks/index-BhDXjueu.mjs +0 -924
  1250. package/dist/chunks/index-BhDXjueu.mjs.map +0 -1
  1251. package/dist/chunks/index-BqNUfq-y.mjs +0 -228
  1252. package/dist/chunks/index-BqNUfq-y.mjs.map +0 -1
  1253. package/dist/chunks/index-BvqkuEY1.mjs +0 -50
  1254. package/dist/chunks/index-BvqkuEY1.mjs.map +0 -1
  1255. package/dist/chunks/index-C1opJocO.mjs +0 -92
  1256. package/dist/chunks/index-C1opJocO.mjs.map +0 -1
  1257. package/dist/chunks/index-CWltg1wK.mjs +0 -124
  1258. package/dist/chunks/index-CWltg1wK.mjs.map +0 -1
  1259. package/dist/chunks/index-Cd3uJLP3.mjs +0 -73
  1260. package/dist/chunks/index-Cd3uJLP3.mjs.map +0 -1
  1261. package/dist/chunks/index-CluzpB2b.mjs +0 -63
  1262. package/dist/chunks/index-CluzpB2b.mjs.map +0 -1
  1263. package/dist/chunks/index-D3NlpmT1.mjs +0 -50
  1264. package/dist/chunks/index-D3NlpmT1.mjs.map +0 -1
  1265. package/dist/chunks/index-D515iymW.mjs +0 -542
  1266. package/dist/chunks/index-D515iymW.mjs.map +0 -1
  1267. package/dist/chunks/index-Dk49P9N4.mjs +0 -62
  1268. package/dist/chunks/index-Dk49P9N4.mjs.map +0 -1
  1269. package/dist/chunks/index-DyzigvbZ.mjs +0 -410
  1270. package/dist/chunks/index-DyzigvbZ.mjs.map +0 -1
  1271. package/dist/chunks/index-ErZ5_a1o.mjs +0 -296
  1272. package/dist/chunks/index-ErZ5_a1o.mjs.map +0 -1
  1273. package/dist/chunks/index-fsVJLutn.mjs +0 -118
  1274. package/dist/chunks/index-fsVJLutn.mjs.map +0 -1
  1275. package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs +0 -34
  1276. package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs.map +0 -1
  1277. package/dist/editor/DocumentParser.d.ts +0 -5
  1278. package/dist/editor/DocumentParser.d.ts.map +0 -1
  1279. package/dist/editor/DocumentSerializer.d.ts +0 -7
  1280. package/dist/editor/DocumentSerializer.d.ts.map +0 -1
  1281. package/dist/editor/MarkSerializer.d.ts +0 -11
  1282. package/dist/editor/MarkSerializer.d.ts.map +0 -1
  1283. package/dist/editor/PaperSize.d.ts.map +0 -1
  1284. package/dist/i18n/resolvePluginLocale.d.ts +0 -3
  1285. package/dist/i18n/resolvePluginLocale.d.ts.map +0 -1
  1286. package/dist/model/BuiltinSpecs.d.ts.map +0 -1
  1287. package/dist/model/HTMLParser.d.ts.map +0 -1
  1288. package/dist/model/NavigationUtils.d.ts.map +0 -1
  1289. package/dist/view/Platform.d.ts.map +0 -1
  1290. /package/dist/{input → model}/InputRule.d.ts +0 -0
  1291. /package/dist/{input → model}/InputRuleRegistry.d.ts +0 -0
  1292. /package/dist/{input → model}/Keymap.d.ts +0 -0
  1293. /package/dist/{input → model}/KeymapRegistry.d.ts +0 -0
  1294. /package/dist/{editor → model}/PaperSize.d.ts +0 -0
@@ -1,228 +0,0 @@
1
- import { r as t } from "./resolvePluginLocale-B4w1OkPy.mjs";
2
- import { a as e } from "./AttrRegistry-D9Jx_RVb.mjs";
3
- import { m as n, u as i } from "./Document-Brtw2jL1.mjs";
4
- import { c as s } from "./NodeSpec-NZVvcCuH.mjs";
5
- import { i as c, a as r, b as l, d as o } from "./Selection-BRTab5hO.mjs";
6
- import { n as a, b as d } from "./TypeBrands-C09nE2qO.mjs";
7
- import { a as h } from "./StyleRuntime-ChRjVQwL.mjs";
8
- const u = { bulletList: "Bullet List", numberedList: "Numbered List", checklist: "Checklist" }, p = { en: u, de: { bulletList: "Aufzählung", numberedList: "Nummerierte Liste", checklist: "Checkliste" }, es: { bulletList: "Lista con viñetas", numberedList: "Lista numerada", checklist: "Lista de verificación" }, fr: { bulletList: "Liste à puces", numberedList: "Liste numérotée", checklist: "Liste de contrôle" }, zh: { bulletList: "无序列表", numberedList: "有序列表", checklist: "清单" }, ru: { bulletList: "Маркированный список", numberedList: "Нумерованный список", checklist: "Чек-лист" }, ar: { bulletList: "قائمة نقطية", numberedList: "قائمة مرقمة", checklist: "قائمة تحقق" }, hi: { bulletList: "बुलेट सूची", numberedList: "क्रमांकित सूची", checklist: "चेकलिस्ट" } }, m = { types: ["bullet", "ordered", "checklist"], maxIndent: 4 }, g = [{ type: "bullet", label: "Bullet List", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"/></svg>', inputPattern: /^[-*] $/, inputPrefix: "- " }, { type: "ordered", label: "Numbered List", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"/></svg>', inputPattern: /^\d+\. $/, inputPrefix: "1. " }, { type: "checklist", label: "Checklist", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 7h-9v2h9V7zm0 8h-9v2h9v-2zM5.54 11L2 7.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 11zm0 8L2 15.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 19z"/></svg>', inputPattern: /^\[[ x]] $/, inputPrefix: "[ ] " }];
9
- class k {
10
- id = "list";
11
- name = "List";
12
- priority = 35;
13
- config;
14
- locale;
15
- context = null;
16
- checkboxClickHandler = null;
17
- constructor(t2) {
18
- this.config = { ...m, ...t2 };
19
- }
20
- init(e2) {
21
- this.context = e2, this.locale = t(p, e2, this.config.locale), e2.registerStyleSheet(`
22
- /* List Wrappers — suppress native markers, we use ::before pseudo-elements */
23
- .notectl-list {
24
- list-style: none;
25
- margin: 0;
26
- padding: 0;
27
- }
28
-
29
- /* Ordered List — each <ol> wrapper resets the counter */
30
- .notectl-list--ordered {
31
- counter-reset: notectl-ordered;
32
- }
33
-
34
- /* List Items */
35
- .notectl-list-item {
36
- margin: 0;
37
- padding: 2px 0 2px 24px;
38
- min-height: 1.6em;
39
- position: relative;
40
- }
41
-
42
- .notectl-list-item::before {
43
- position: absolute;
44
- left: 0;
45
- display: inline-block;
46
- width: 24px;
47
- text-align: center;
48
- }
49
-
50
- /* Bullet List */
51
- .notectl-list-item--bullet::before {
52
- content: '\\2022';
53
- color: var(--notectl-fg);
54
- }
55
-
56
- /* Ordered List — counter increment per item */
57
- .notectl-list-item--ordered {
58
- counter-increment: notectl-ordered;
59
- }
60
-
61
- .notectl-list-item--ordered::before {
62
- content: counter(notectl-ordered) '.';
63
- color: var(--notectl-fg);
64
- font-size: 14px;
65
- }
66
-
67
- /* Checklist */
68
- .notectl-list-item--checklist::before {
69
- content: '\\2610';
70
- font-size: 16px;
71
- color: var(--notectl-fg-muted);
72
- cursor: pointer;
73
- }
74
-
75
- .notectl-list-item--checklist[data-checked="true"]::before {
76
- content: '\\2611';
77
- color: var(--notectl-success);
78
- }
79
-
80
- .notectl-list-item--checklist[data-checked="true"] {
81
- color: var(--notectl-fg-muted);
82
- text-decoration: line-through;
83
- }
84
- `), this.registerNodeSpec(e2), this.registerCommands(e2), this.registerKeymaps(e2), this.registerInputRules(e2), this.registerToolbarItems(e2), this.registerCheckboxClickHandler(e2);
85
- }
86
- destroy() {
87
- this.checkboxClickHandler && this.context && this.context.getContainer().removeEventListener("mousedown", this.checkboxClickHandler), this.checkboxClickHandler = null, this.context = null;
88
- }
89
- registerNodeSpec(t2) {
90
- t2.registerNodeSpec({ type: "list_item", group: "block", content: { allow: ["text"] }, attrs: { listType: { default: "bullet" }, indent: { default: 0 }, checked: { default: false } }, toDOM(t3) {
91
- const e2 = t3.attrs?.listType ?? "bullet", n2 = t3.attrs?.indent ?? 0, i2 = t3.attrs?.checked ?? false, c2 = s("li", t3.id);
92
- return c2.setAttribute("role", "listitem"), c2.setAttribute("data-list-type", e2), c2.setAttribute("data-indent", String(n2)), c2.className = `notectl-list-item notectl-list-item--${e2}`, n2 > 0 && h(c2, "marginLeft", 24 * n2 + "px"), "checklist" === e2 && (c2.setAttribute("data-checked", String(i2)), c2.setAttribute("aria-checked", String(i2))), c2.setAttribute("aria-level", String(n2 + 1)), c2;
93
- }, wrapper(t3) {
94
- const e2 = t3.attrs?.listType ?? "bullet";
95
- return { tag: "ordered" === e2 ? "ol" : "ul", key: `list-${e2}`, className: `notectl-list notectl-list--${e2}`, attrs: { role: "list" } };
96
- }, toHTML(t3, e2) {
97
- const n2 = t3.attrs?.listType ?? "bullet", i2 = t3.attrs?.checked ?? false;
98
- if ("checklist" === n2) {
99
- const t4 = i2 ? " checked" : "";
100
- return `<li role="checkbox" aria-checked="${String(i2)}"><input type="checkbox" disabled${t4}>${e2 || "<br>"}</li>`;
101
- }
102
- return `<li>${e2 || "<br>"}</li>`;
103
- }, parseHTML: [{ tag: "li" }], sanitize: { tags: ["ul", "ol", "li", "input"], attrs: ["type", "disabled", "checked", "role", "aria-checked"] } });
104
- }
105
- registerCommands(t2) {
106
- const e2 = this.getEnabledTypes();
107
- for (const n2 of e2) t2.registerCommand(`toggleList:${n2.type}`, () => this.toggleList(t2, n2.type));
108
- t2.registerCommand("indentListItem", () => this.indent(t2)), t2.registerCommand("outdentListItem", () => this.outdent(t2)), this.config.types.includes("checklist") && t2.registerCommand("toggleChecklistItem", () => this.toggleChecked(t2), { readonlyAllowed: true });
109
- }
110
- registerKeymaps(t2) {
111
- t2.registerKeymap({ Enter: () => this.handleEnter(t2), Backspace: () => this.handleBackspace(t2), Tab: () => this.indent(t2), "Shift-Tab": () => this.outdent(t2) });
112
- }
113
- registerInputRules(t2) {
114
- const e2 = this.getEnabledTypes();
115
- for (const n2 of e2) t2.registerInputRule({ pattern: n2.inputPattern, handler: (t3, e3, i2, s2) => {
116
- const d2 = t3.selection;
117
- if (c(d2) || r(d2)) return null;
118
- if (!l(d2)) return null;
119
- const h2 = t3.getBlock(d2.anchor.blockId);
120
- if (!h2 || "paragraph" !== h2.type) return null;
121
- const u2 = e3[0] ?? "", p2 = u2.length, m2 = { listType: n2.type, indent: 0 };
122
- return "checklist" === n2.type && (m2.checked = u2.includes("[x]")), t3.transaction("input").deleteTextAt(d2.anchor.blockId, i2, i2 + p2).setBlockType(d2.anchor.blockId, a("list_item"), m2).setSelection(o(d2.anchor.blockId, 0)).build();
123
- } });
124
- }
125
- getListLabel(t2) {
126
- return { bullet: this.locale.bulletList, ordered: this.locale.numberedList, checklist: this.locale.checklist }[t2];
127
- }
128
- registerToolbarItems(t2) {
129
- const e2 = this.getEnabledTypes(), n2 = e2.at(-1);
130
- for (const i2 of e2) t2.registerToolbarItem({ id: `list-${i2.type}`, group: "block", icon: i2.icon, label: this.getListLabel(i2.type), command: `toggleList:${i2.type}`, priority: "bullet" === i2.type ? 70 : "ordered" === i2.type ? 71 : 72, separatorAfter: this.config.separatorAfter && i2 === n2, isActive: (t3) => this.isListActive(t3, i2.type) });
131
- }
132
- toggleList(t2, n2) {
133
- const i2 = t2.getState(), s2 = i2.selection;
134
- if (c(s2) || r(s2)) return false;
135
- const l2 = i2.getBlock(s2.anchor.blockId);
136
- if (!l2) return false;
137
- if ("list_item" === l2.type && l2.attrs?.listType === n2) {
138
- const e2 = i2.transaction("command").setBlockType(s2.anchor.blockId, a("paragraph")).setSelection(s2).build();
139
- return t2.dispatch(e2), true;
140
- }
141
- const o2 = { listType: n2, indent: e(l2, "list_item") ? l2.attrs.indent : 0 };
142
- "checklist" === n2 && (o2.checked = false);
143
- const d2 = i2.transaction("command").setBlockType(s2.anchor.blockId, a("list_item"), o2).setSelection(s2).build();
144
- return t2.dispatch(d2), true;
145
- }
146
- indent(t2) {
147
- const n2 = t2.getState();
148
- if (c(n2.selection) || r(n2.selection)) return false;
149
- const i2 = n2.getBlock(n2.selection.anchor.blockId);
150
- return !(!i2 || !e(i2, "list_item")) && !(i2.attrs.indent >= this.config.maxIndent) && this.setIndent(t2, n2, i2.attrs.indent + 1);
151
- }
152
- outdent(t2) {
153
- const n2 = t2.getState();
154
- if (c(n2.selection) || r(n2.selection)) return false;
155
- const i2 = n2.getBlock(n2.selection.anchor.blockId);
156
- return !(!i2 || !e(i2, "list_item")) && !(i2.attrs.indent <= 0) && this.setIndent(t2, n2, i2.attrs.indent - 1);
157
- }
158
- setIndent(t2, e2, n2) {
159
- const i2 = e2.selection;
160
- if (c(i2) || r(i2)) return false;
161
- const s2 = e2.getBlock(i2.anchor.blockId);
162
- if (!s2) return false;
163
- const l2 = { ...s2.attrs, indent: n2 }, o2 = e2.transaction("command").setBlockType(i2.anchor.blockId, a("list_item"), l2).setSelection(i2).build();
164
- return t2.dispatch(o2), true;
165
- }
166
- toggleChecked(t2, e2) {
167
- if (t2.isReadOnly() && !this.config.interactiveCheckboxes) return false;
168
- const n2 = t2.getState(), i2 = e2 ?? (c(n2.selection) || r(n2.selection) ? null : n2.selection.anchor.blockId);
169
- if (!i2) return false;
170
- const s2 = n2.getBlock(i2);
171
- if (!s2 || "list_item" !== s2.type || "checklist" !== s2.attrs?.listType) return false;
172
- const l2 = !s2.attrs?.checked, o2 = { ...s2.attrs, checked: l2 }, d2 = n2.transaction("command").setBlockType(i2, a("list_item"), o2).setSelection(n2.selection).build();
173
- return t2.dispatch(d2), true;
174
- }
175
- handleBackspace(t2) {
176
- const e2 = t2.getState(), n2 = e2.selection;
177
- if (c(n2) || r(n2)) return false;
178
- if (!l(n2)) return false;
179
- const i2 = e2.getBlock(n2.anchor.blockId);
180
- if (!i2 || "list_item" !== i2.type) return false;
181
- if (0 !== n2.anchor.offset) return false;
182
- const s2 = e2.transaction("input").setBlockType(n2.anchor.blockId, a("paragraph")).setSelection(n2).build();
183
- return t2.dispatch(s2), true;
184
- }
185
- handleEnter(t2) {
186
- const s2 = t2.getState(), d2 = s2.selection;
187
- if (c(d2) || r(d2)) return false;
188
- if (!l(d2)) return false;
189
- const h2 = s2.getBlock(d2.anchor.blockId);
190
- if (!h2 || "list_item" !== h2.type) return false;
191
- if ("" === n(h2)) {
192
- const e2 = s2.transaction("input").setBlockType(d2.anchor.blockId, a("paragraph")).setSelection(d2).build();
193
- return t2.dispatch(e2), true;
194
- }
195
- const u2 = i(), p2 = { listType: e(h2, "list_item") ? h2.attrs.listType : "bullet", indent: e(h2, "list_item") ? h2.attrs.indent : 0 };
196
- "checklist" === p2.listType && (p2.checked = false);
197
- const m2 = s2.transaction("input").splitBlock(d2.anchor.blockId, d2.anchor.offset, u2).setBlockType(u2, a("list_item"), p2).setSelection(o(u2, 0)).build();
198
- return t2.dispatch(m2), true;
199
- }
200
- registerCheckboxClickHandler(t2) {
201
- this.config.types.includes("checklist") && (this.checkboxClickHandler = (e2) => {
202
- if (t2.isReadOnly() && !this.config.interactiveCheckboxes) return;
203
- const n2 = e2.target;
204
- if (!(n2 instanceof HTMLElement)) return;
205
- const i2 = n2.closest(".notectl-list-item--checklist");
206
- if (!i2) return;
207
- const s2 = i2.getBoundingClientRect();
208
- if (e2.clientX - s2.left >= 24) return;
209
- e2.preventDefault();
210
- const c2 = i2.getAttribute("data-block-id");
211
- c2 && this.toggleChecked(t2, d(c2));
212
- }, t2.getContainer().addEventListener("mousedown", this.checkboxClickHandler));
213
- }
214
- isListActive(t2, e2) {
215
- if (c(t2.selection) || r(t2.selection)) return false;
216
- const n2 = t2.getBlock(t2.selection.anchor.blockId);
217
- return "list_item" === n2?.type && n2.attrs?.listType === e2;
218
- }
219
- getEnabledTypes() {
220
- return g.filter((t2) => this.config.types.includes(t2.type));
221
- }
222
- }
223
- export {
224
- k as L,
225
- p as a,
226
- u as b
227
- };
228
- //# sourceMappingURL=index-BqNUfq-y.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BqNUfq-y.mjs","sources":["../../src/editor/styles/list.ts","../../src/plugins/list/ListLocale.ts","../../src/plugins/list/ListPlugin.ts"],"sourcesContent":["/** Width of the list marker / checkbox area in pixels. */\nexport const LIST_MARKER_WIDTH = 24;\n\n/** List styles — bullet, ordered, checklist items. */\nexport const LIST_CSS = `\n/* List Wrappers — suppress native markers, we use ::before pseudo-elements */\n.notectl-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n/* Ordered List — each <ol> wrapper resets the counter */\n.notectl-list--ordered {\n\tcounter-reset: notectl-ordered;\n}\n\n/* List Items */\n.notectl-list-item {\n\tmargin: 0;\n\tpadding: 2px 0 2px ${LIST_MARKER_WIDTH}px;\n\tmin-height: 1.6em;\n\tposition: relative;\n}\n\n.notectl-list-item::before {\n\tposition: absolute;\n\tleft: 0;\n\tdisplay: inline-block;\n\twidth: ${LIST_MARKER_WIDTH}px;\n\ttext-align: center;\n}\n\n/* Bullet List */\n.notectl-list-item--bullet::before {\n\tcontent: '\\\\2022';\n\tcolor: var(--notectl-fg);\n}\n\n/* Ordered List — counter increment per item */\n.notectl-list-item--ordered {\n\tcounter-increment: notectl-ordered;\n}\n\n.notectl-list-item--ordered::before {\n\tcontent: counter(notectl-ordered) '.';\n\tcolor: var(--notectl-fg);\n\tfont-size: 14px;\n}\n\n/* Checklist */\n.notectl-list-item--checklist::before {\n\tcontent: '\\\\2610';\n\tfont-size: 16px;\n\tcolor: var(--notectl-fg-muted);\n\tcursor: pointer;\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"]::before {\n\tcontent: '\\\\2611';\n\tcolor: var(--notectl-success);\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] {\n\tcolor: var(--notectl-fg-muted);\n\ttext-decoration: line-through;\n}\n`;\n","/**\n * Locale interface and default English locale for the ListPlugin.\n */\n\n// --- Locale Interface ---\n\nexport interface ListLocale {\n\treadonly bulletList: string;\n\treadonly numberedList: string;\n\treadonly checklist: string;\n}\n\n// --- Default English Locale ---\n\nexport const LIST_LOCALE_EN: ListLocale = {\n\tbulletList: 'Bullet List',\n\tnumberedList: 'Numbered List',\n\tchecklist: 'Checklist',\n};\n\n// --- German Locale ---\n\nexport const LIST_LOCALE_DE: ListLocale = {\n\tbulletList: 'Aufzählung',\n\tnumberedList: 'Nummerierte Liste',\n\tchecklist: 'Checkliste',\n};\n\n// --- Spanish Locale ---\n\nexport const LIST_LOCALE_ES: ListLocale = {\n\tbulletList: 'Lista con viñetas',\n\tnumberedList: 'Lista numerada',\n\tchecklist: 'Lista de verificación',\n};\n\n// --- French Locale ---\n\nexport const LIST_LOCALE_FR: ListLocale = {\n\tbulletList: 'Liste à puces',\n\tnumberedList: 'Liste numérotée',\n\tchecklist: 'Liste de contrôle',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const LIST_LOCALE_ZH: ListLocale = {\n\tbulletList: '无序列表',\n\tnumberedList: '有序列表',\n\tchecklist: '清单',\n};\n\n// --- Russian Locale ---\n\nexport const LIST_LOCALE_RU: ListLocale = {\n\tbulletList: 'Маркированный список',\n\tnumberedList: 'Нумерованный список',\n\tchecklist: 'Чек-лист',\n};\n\n// --- Arabic Locale ---\n\nexport const LIST_LOCALE_AR: ListLocale = {\n\tbulletList: 'قائمة نقطية',\n\tnumberedList: 'قائمة مرقمة',\n\tchecklist: 'قائمة تحقق',\n};\n\n// --- Hindi Locale ---\n\nexport const LIST_LOCALE_HI: ListLocale = {\n\tbulletList: 'बुलेट सूची',\n\tnumberedList: 'क्रमांकित सूची',\n\tchecklist: 'चेकलिस्ट',\n};\n\n// --- Locale Map ---\n\nexport const LIST_LOCALES: Record<string, ListLocale> = {\n\ten: LIST_LOCALE_EN,\n\tde: LIST_LOCALE_DE,\n\tes: LIST_LOCALE_ES,\n\tfr: LIST_LOCALE_FR,\n\tzh: LIST_LOCALE_ZH,\n\tru: LIST_LOCALE_RU,\n\tar: LIST_LOCALE_AR,\n\thi: LIST_LOCALE_HI,\n};\n","/**\n * ListPlugin: registers ordered, unordered, and checklist block types\n * with NodeSpecs, toggle commands, indent/outdent (Tab/Shift-Tab),\n * input rules, and toolbar buttons.\n *\n * List items are modeled as flat blocks with a `listType` and `indent` attribute,\n * allowing simple nesting representation without deep tree structures.\n */\n\nimport { LIST_CSS, LIST_MARKER_WIDTH } from '../../editor/styles/list.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport { isNodeOfType } from '../../model/AttrRegistry.js';\nimport { generateBlockId, getBlockText } from '../../model/Document.js';\nimport { createBlockElement } from '../../model/NodeSpec.js';\nimport {\n\tcreateCollapsedSelection,\n\tisCollapsed,\n\tisGapCursor,\n\tisNodeSelection,\n} from '../../model/Selection.js';\nimport { type BlockId, blockId, nodeType } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport { setStyleProperty } from '../../style/StyleRuntime.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { LIST_LOCALES, type ListLocale } from './ListLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\nexport type ListType = 'bullet' | 'ordered' | 'checklist';\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface NodeAttrRegistry {\n\t\tlist_item: { listType: ListType; indent: number; checked: boolean };\n\t}\n}\n\n// --- Configuration ---\n\nexport interface ListConfig {\n\t/** Which list types to enable. Defaults to all. */\n\treadonly types: readonly ListType[];\n\t/** Maximum indent depth. Defaults to 4. */\n\treadonly maxIndent: number;\n\t/** When true, a separator is rendered after the last list toolbar item. */\n\treadonly separatorAfter?: boolean;\n\t/**\n\t * When true, checklist checkboxes remain interactive even in read-only mode.\n\t * Defaults to false (checkboxes are fully read-only).\n\t */\n\treadonly interactiveCheckboxes?: boolean;\n\treadonly locale?: ListLocale;\n}\n\nconst DEFAULT_CONFIG: ListConfig = {\n\ttypes: ['bullet', 'ordered', 'checklist'],\n\tmaxIndent: 4,\n};\n\n// --- List Type Metadata ---\n\ninterface ListTypeDefinition {\n\treadonly type: ListType;\n\treadonly label: string;\n\treadonly icon: string;\n\treadonly inputPattern: RegExp;\n\treadonly inputPrefix: string;\n}\n\nconst BULLET_LIST_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z\"/></svg>';\nconst NUMBERED_LIST_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z\"/></svg>';\nconst CHECKLIST_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M22 7h-9v2h9V7zm0 8h-9v2h9v-2zM5.54 11L2 7.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 11zm0 8L2 15.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 19z\"/></svg>';\n\nconst LIST_TYPE_DEFINITIONS: readonly ListTypeDefinition[] = [\n\t{\n\t\ttype: 'bullet',\n\t\tlabel: 'Bullet List',\n\t\ticon: BULLET_LIST_ICON,\n\t\tinputPattern: /^[-*] $/,\n\t\tinputPrefix: '- ',\n\t},\n\t{\n\t\ttype: 'ordered',\n\t\tlabel: 'Numbered List',\n\t\ticon: NUMBERED_LIST_ICON,\n\t\tinputPattern: /^\\d+\\. $/,\n\t\tinputPrefix: '1. ',\n\t},\n\t{\n\t\ttype: 'checklist',\n\t\tlabel: 'Checklist',\n\t\ticon: CHECKLIST_ICON,\n\t\tinputPattern: /^\\[[ x]] $/,\n\t\tinputPrefix: '[ ] ',\n\t},\n];\n\n// --- Plugin ---\n\nexport class ListPlugin implements Plugin {\n\treadonly id = 'list';\n\treadonly name = 'List';\n\treadonly priority = 35;\n\n\tprivate readonly config: ListConfig;\n\tprivate locale!: ListLocale;\n\tprivate context: PluginContext | null = null;\n\tprivate checkboxClickHandler: ((e: MouseEvent) => void) | null = null;\n\n\tconstructor(config?: Partial<ListConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.context = context;\n\t\tthis.locale = resolvePluginLocale(LIST_LOCALES, context, this.config.locale);\n\t\tcontext.registerStyleSheet(LIST_CSS);\n\t\tthis.registerNodeSpec(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerKeymaps(context);\n\t\tthis.registerInputRules(context);\n\t\tthis.registerToolbarItems(context);\n\t\tthis.registerCheckboxClickHandler(context);\n\t}\n\n\tdestroy(): void {\n\t\tif (this.checkboxClickHandler && this.context) {\n\t\t\tconst container: HTMLElement = this.context.getContainer();\n\t\t\tcontainer.removeEventListener('mousedown', this.checkboxClickHandler);\n\t\t}\n\t\tthis.checkboxClickHandler = null;\n\t\tthis.context = null;\n\t}\n\n\tprivate registerNodeSpec(context: PluginContext): void {\n\t\tcontext.registerNodeSpec({\n\t\t\ttype: 'list_item',\n\t\t\tgroup: 'block',\n\t\t\tcontent: { allow: ['text'] },\n\t\t\tattrs: {\n\t\t\t\tlistType: { default: 'bullet' },\n\t\t\t\tindent: { default: 0 },\n\t\t\t\tchecked: { default: false },\n\t\t\t},\n\t\t\ttoDOM(node) {\n\t\t\t\tconst listType = node.attrs?.listType ?? 'bullet';\n\t\t\t\tconst indent = node.attrs?.indent ?? 0;\n\t\t\t\tconst checked = node.attrs?.checked ?? false;\n\n\t\t\t\tconst li = createBlockElement('li', node.id);\n\t\t\t\tli.setAttribute('role', 'listitem');\n\t\t\t\tli.setAttribute('data-list-type', listType);\n\t\t\t\tli.setAttribute('data-indent', String(indent));\n\t\t\t\tli.className = `notectl-list-item notectl-list-item--${listType}`;\n\n\t\t\t\tif (indent > 0) {\n\t\t\t\t\tsetStyleProperty(li, 'marginLeft', `${indent * LIST_MARKER_WIDTH}px`);\n\t\t\t\t}\n\n\t\t\t\tif (listType === 'checklist') {\n\t\t\t\t\tli.setAttribute('data-checked', String(checked));\n\t\t\t\t\tli.setAttribute('aria-checked', String(checked));\n\t\t\t\t}\n\t\t\t\tli.setAttribute('aria-level', String(indent + 1));\n\n\t\t\t\treturn li;\n\t\t\t},\n\t\t\twrapper(node) {\n\t\t\t\tconst listType = node.attrs?.listType ?? 'bullet';\n\t\t\t\tconst tag = listType === 'ordered' ? 'ol' : 'ul';\n\t\t\t\treturn {\n\t\t\t\t\ttag,\n\t\t\t\t\tkey: `list-${listType}`,\n\t\t\t\t\tclassName: `notectl-list notectl-list--${listType}`,\n\t\t\t\t\tattrs: { role: 'list' },\n\t\t\t\t};\n\t\t\t},\n\t\t\ttoHTML(node, content) {\n\t\t\t\tconst listType: string = (node.attrs?.listType as string) ?? 'bullet';\n\t\t\t\tconst checked: boolean = (node.attrs?.checked as boolean) ?? false;\n\n\t\t\t\tif (listType === 'checklist') {\n\t\t\t\t\tconst checkedAttr: string = checked ? ' checked' : '';\n\t\t\t\t\tconst ariaChecked: string = String(checked);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t`<li role=\"checkbox\" aria-checked=\"${ariaChecked}\">` +\n\t\t\t\t\t\t`<input type=\"checkbox\" disabled${checkedAttr}>` +\n\t\t\t\t\t\t`${content || '<br>'}</li>`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn `<li>${content || '<br>'}</li>`;\n\t\t\t},\n\t\t\tparseHTML: [{ tag: 'li' }],\n\t\t\tsanitize: {\n\t\t\t\ttags: ['ul', 'ol', 'li', 'input'],\n\t\t\t\tattrs: ['type', 'disabled', 'checked', 'role', 'aria-checked'],\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tconst enabledTypes = this.getEnabledTypes();\n\n\t\tfor (const def of enabledTypes) {\n\t\t\tcontext.registerCommand(`toggleList:${def.type}`, () => {\n\t\t\t\treturn this.toggleList(context, def.type);\n\t\t\t});\n\t\t}\n\n\t\tcontext.registerCommand('indentListItem', () => {\n\t\t\treturn this.indent(context);\n\t\t});\n\n\t\tcontext.registerCommand('outdentListItem', () => {\n\t\t\treturn this.outdent(context);\n\t\t});\n\n\t\tif (this.config.types.includes('checklist')) {\n\t\t\tcontext.registerCommand('toggleChecklistItem', () => this.toggleChecked(context), {\n\t\t\t\treadonlyAllowed: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate registerKeymaps(context: PluginContext): void {\n\t\tcontext.registerKeymap({\n\t\t\tEnter: () => this.handleEnter(context),\n\t\t\tBackspace: () => this.handleBackspace(context),\n\t\t\tTab: () => this.indent(context),\n\t\t\t'Shift-Tab': () => this.outdent(context),\n\t\t});\n\t}\n\n\tprivate registerInputRules(context: PluginContext): void {\n\t\tconst enabledTypes = this.getEnabledTypes();\n\n\t\tfor (const def of enabledTypes) {\n\t\t\tcontext.registerInputRule({\n\t\t\t\tpattern: def.inputPattern,\n\t\t\t\thandler: (state, match, start, _end) => {\n\t\t\t\t\tconst sel = state.selection;\n\t\t\t\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\t\t\t\t\tif (!isCollapsed(sel)) return null;\n\n\t\t\t\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\t\t\t\tif (!block || block.type !== 'paragraph') return null;\n\n\t\t\t\t\tconst matchStr = match[0] ?? '';\n\t\t\t\t\tconst matchLen = matchStr.length;\n\t\t\t\t\tconst attrs: Record<string, string | number | boolean> = {\n\t\t\t\t\t\tlistType: def.type,\n\t\t\t\t\t\tindent: 0,\n\t\t\t\t\t};\n\t\t\t\t\tif (def.type === 'checklist') {\n\t\t\t\t\t\tattrs.checked = matchStr.includes('[x]');\n\t\t\t\t\t}\n\n\t\t\t\t\treturn state\n\t\t\t\t\t\t.transaction('input')\n\t\t\t\t\t\t.deleteTextAt(sel.anchor.blockId, start, start + matchLen)\n\t\t\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('list_item'), attrs)\n\t\t\t\t\t\t.setSelection(createCollapsedSelection(sel.anchor.blockId, 0))\n\t\t\t\t\t\t.build();\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate getListLabel(type: ListType): string {\n\t\tconst labels: Record<ListType, string> = {\n\t\t\tbullet: this.locale.bulletList,\n\t\t\tordered: this.locale.numberedList,\n\t\t\tchecklist: this.locale.checklist,\n\t\t};\n\t\treturn labels[type];\n\t}\n\n\tprivate registerToolbarItems(context: PluginContext): void {\n\t\tconst enabledTypes = this.getEnabledTypes();\n\t\tconst lastType = enabledTypes.at(-1);\n\n\t\tfor (const def of enabledTypes) {\n\t\t\tcontext.registerToolbarItem({\n\t\t\t\tid: `list-${def.type}`,\n\t\t\t\tgroup: 'block',\n\t\t\t\ticon: def.icon,\n\t\t\t\tlabel: this.getListLabel(def.type),\n\t\t\t\tcommand: `toggleList:${def.type}`,\n\t\t\t\tpriority: def.type === 'bullet' ? 70 : def.type === 'ordered' ? 71 : 72,\n\t\t\t\tseparatorAfter: this.config.separatorAfter && def === lastType,\n\t\t\t\tisActive: (state) => this.isListActive(state, def.type),\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Command Implementations ---\n\n\tprivate toggleList(context: PluginContext, listType: ListType): boolean {\n\t\tconst state = context.getState();\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block) return false;\n\n\t\t// If already this list type, convert back to paragraph\n\t\tif (block.type === 'list_item' && block.attrs?.listType === listType) {\n\t\t\tconst tr = state\n\t\t\t\t.transaction('command')\n\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('paragraph'))\n\t\t\t\t.setSelection(sel)\n\t\t\t\t.build();\n\t\t\tcontext.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Convert to list item\n\t\tconst attrs: Record<string, string | number | boolean> = {\n\t\t\tlistType,\n\t\t\tindent: isNodeOfType(block, 'list_item') ? block.attrs.indent : 0,\n\t\t};\n\t\tif (listType === 'checklist') {\n\t\t\tattrs.checked = false;\n\t\t}\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(sel.anchor.blockId, nodeType('list_item'), attrs)\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate indent(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return false;\n\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\tif (!block || !isNodeOfType(block, 'list_item')) return false;\n\n\t\tif (block.attrs.indent >= this.config.maxIndent) return false;\n\n\t\treturn this.setIndent(context, state, block.attrs.indent + 1);\n\t}\n\n\tprivate outdent(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return false;\n\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\tif (!block || !isNodeOfType(block, 'list_item')) return false;\n\n\t\tif (block.attrs.indent <= 0) return false;\n\n\t\treturn this.setIndent(context, state, block.attrs.indent - 1);\n\t}\n\n\tprivate setIndent(context: PluginContext, state: EditorState, indent: number): boolean {\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block) return false;\n\n\t\tconst attrs = { ...block.attrs, indent } as Record<string, string | number | boolean>;\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(sel.anchor.blockId, nodeType('list_item'), attrs)\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate toggleChecked(context: PluginContext, targetId?: BlockId): boolean {\n\t\tif (context.isReadOnly() && !this.config.interactiveCheckboxes) return false;\n\n\t\tconst state = context.getState();\n\t\tconst bid: BlockId | null =\n\t\t\ttargetId ??\n\t\t\t(isNodeSelection(state.selection) || isGapCursor(state.selection)\n\t\t\t\t? null\n\t\t\t\t: state.selection.anchor.blockId);\n\t\tif (!bid) return false;\n\n\t\tconst block = state.getBlock(bid);\n\t\tif (!block || block.type !== 'list_item' || block.attrs?.listType !== 'checklist') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst checked: boolean = !block.attrs?.checked;\n\t\tconst attrs = { ...block.attrs, checked } as Record<string, string | number | boolean>;\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(bid, nodeType('list_item'), attrs)\n\t\t\t.setSelection(state.selection)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Handles Backspace at the start of a list item.\n\t * Converts the list item back to a paragraph, preserving text.\n\t */\n\tprivate handleBackspace(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tif (!isCollapsed(sel)) return false;\n\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block || block.type !== 'list_item') return false;\n\t\tif (sel.anchor.offset !== 0) return false;\n\n\t\tconst tr = state\n\t\t\t.transaction('input')\n\t\t\t.setBlockType(sel.anchor.blockId, nodeType('paragraph'))\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Handles Enter inside a list item.\n\t * Empty item → exit list (convert to paragraph).\n\t * Non-empty item → split and create a new list item with the same type.\n\t */\n\tprivate handleEnter(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tif (!isCollapsed(sel)) return false;\n\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block || block.type !== 'list_item') return false;\n\n\t\tconst text = getBlockText(block);\n\n\t\tif (text === '') {\n\t\t\t// Empty list item → convert to paragraph (exit list)\n\t\t\tconst tr = state\n\t\t\t\t.transaction('input')\n\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('paragraph'))\n\t\t\t\t.setSelection(sel)\n\t\t\t\t.build();\n\t\t\tcontext.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Non-empty → split block and set new block to same list type\n\t\tconst newBlockId = generateBlockId();\n\t\tconst attrs: Record<string, string | number | boolean> = {\n\t\t\tlistType: isNodeOfType(block, 'list_item') ? block.attrs.listType : 'bullet',\n\t\t\tindent: isNodeOfType(block, 'list_item') ? block.attrs.indent : 0,\n\t\t};\n\t\tif (attrs.listType === 'checklist') {\n\t\t\tattrs.checked = false;\n\t\t}\n\n\t\tconst tr = state\n\t\t\t.transaction('input')\n\t\t\t.splitBlock(sel.anchor.blockId, sel.anchor.offset, newBlockId)\n\t\t\t.setBlockType(newBlockId, nodeType('list_item'), attrs)\n\t\t\t.setSelection(createCollapsedSelection(newBlockId, 0))\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\t// --- Checkbox Click Handling ---\n\n\tprivate registerCheckboxClickHandler(context: PluginContext): void {\n\t\tif (!this.config.types.includes('checklist')) return;\n\n\t\tthis.checkboxClickHandler = (e: MouseEvent) => {\n\t\t\tif (context.isReadOnly() && !this.config.interactiveCheckboxes) return;\n\n\t\t\tconst target: EventTarget | null = e.target;\n\t\t\tif (!(target instanceof HTMLElement)) return;\n\n\t\t\tconst li: HTMLElement | null = target.closest('.notectl-list-item--checklist');\n\t\t\tif (!li) return;\n\n\t\t\tconst rect: DOMRect = li.getBoundingClientRect();\n\t\t\tif (e.clientX - rect.left >= LIST_MARKER_WIDTH) return;\n\n\t\t\te.preventDefault();\n\n\t\t\tconst bid: string | null = li.getAttribute('data-block-id');\n\t\t\tif (!bid) return;\n\n\t\t\tthis.toggleChecked(context, blockId(bid));\n\t\t};\n\n\t\tconst container: HTMLElement = context.getContainer();\n\t\tcontainer.addEventListener('mousedown', this.checkboxClickHandler);\n\t}\n\n\t// --- Helpers ---\n\n\tprivate isListActive(state: EditorState, listType: ListType): boolean {\n\t\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return false;\n\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\treturn block?.type === 'list_item' && block.attrs?.listType === listType;\n\t}\n\n\tprivate getEnabledTypes(): readonly ListTypeDefinition[] {\n\t\treturn LIST_TYPE_DEFINITIONS.filter((def) => this.config.types.includes(def.type));\n\t}\n}\n"],"names":["LIST_LOCALE_EN","bulletList","numberedList","checklist","LIST_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","types","maxIndent","LIST_TYPE_DEFINITIONS","type","label","icon","inputPattern","inputPrefix","ListPlugin","id","name","priority","config","locale","context","checkboxClickHandler","this","resolvePluginLocale","registerStyleSheet","registerNodeSpec","registerCommands","registerKeymaps","registerInputRules","registerToolbarItems","registerCheckboxClickHandler","getContainer","removeEventListener","group","content","allow","attrs","listType","default","indent","checked","node","li","createBlockElement","setAttribute","String","className","setStyleProperty","tag","key","role","checkedAttr","parseHTML","sanitize","tags","enabledTypes","getEnabledTypes","def","registerCommand","toggleList","outdent","includes","toggleChecked","readonlyAllowed","registerKeymap","Enter","handleEnter","Backspace","handleBackspace","Tab","registerInputRule","pattern","handler","state","match","start","_end","sel","selection","isNodeSelection","isGapCursor","isCollapsed","block","getBlock","anchor","blockId","matchStr","matchLen","length","transaction","deleteTextAt","setBlockType","nodeType","setSelection","createCollapsedSelection","build","bullet","ordered","lastType","at","registerToolbarItem","getListLabel","command","separatorAfter","isActive","isListActive","getState","tr","dispatch","isNodeOfType","setIndent","targetId","isReadOnly","interactiveCheckboxes","bid","offset","getBlockText","newBlockId","generateBlockId","splitBlock","e","target","HTMLElement","closest","rect","getBoundingClientRect","clientX","left","preventDefault","getAttribute","addEventListener","filter"],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { C as e, r as t, i as o, a as r } from "./ColorPickerPopup-CiCLBbe9.mjs";
2
- import { r as a } from "./resolvePluginLocale-B4w1OkPy.mjs";
3
- import { e as l } from "./HTMLUtils-DTqQzcKR.mjs";
4
- import { a as s } from "./StyleRuntime-ChRjVQwL.mjs";
5
- import { r as i, i as c } from "./ColorValidation-CV4f1wu6.mjs";
6
- const f = { label: "Text Color", tooltip: "Text Color", resetLabel: "Default", ariaLabelPrefix: "Text color" }, b = { en: f, de: { label: "Textfarbe", tooltip: "Textfarbe", resetLabel: "Standard", ariaLabelPrefix: "Textfarbe" }, es: { label: "Color de texto", tooltip: "Color de texto", resetLabel: "Predeterminado", ariaLabelPrefix: "Color de texto" }, fr: { label: "Couleur du texte", tooltip: "Couleur du texte", resetLabel: "Par défaut", ariaLabelPrefix: "Couleur du texte" }, zh: { label: "文字颜色", tooltip: "文字颜色", resetLabel: "默认", ariaLabelPrefix: "文字颜色" }, ru: { label: "Цвет текста", tooltip: "Цвет текста", resetLabel: "По умолчанию", ariaLabelPrefix: "Цвет текста" }, ar: { label: "لون النص", tooltip: "لون النص", resetLabel: "افتراضي", ariaLabelPrefix: "لون النص" }, hi: { label: "टेक्स्ट रंग", tooltip: "टेक्स्ट रंग", resetLabel: "डिफ़ॉल्ट", ariaLabelPrefix: "टेक्स्ट रंग" } }, d = ["#000000", "#434343", "#666666", "#999999", "#b7b7b7", "#cccccc", "#d9d9d9", "#efefef", "#f3f3f3", "#ffffff", "#980000", "#ff0000", "#ff9900", "#ffff00", "#00ff00", "#00ffff", "#4a86e8", "#0000ff", "#9900ff", "#ff00ff", "#e6b8af", "#f4cccc", "#fce5cd", "#fff2cc", "#d9ead3", "#d0e0e3", "#c9daf8", "#cfe2f3", "#d9d2e9", "#ead1dc", "#dd7e6b", "#ea9999", "#f9cb9c", "#ffe599", "#b6d7a8", "#a2c4c9", "#a4c2f4", "#9fc5e8", "#b4a7d6", "#d5a6bd", "#cc4125", "#e06666", "#f6b26b", "#ffd966", "#93c47d", "#76a5af", "#6d9eeb", "#6fa8dc", "#8e7cc3", "#c27ba0", "#a61c00", "#cc0000", "#e69138", "#f1c232", "#6aa84f", "#45818e", "#3c78d8", "#3d85c6", "#674ea7", "#a64d79", "#85200c", "#990000", "#b45f06", "#bf9000", "#38761d", "#134f5c", "#1155cc", "#0b5394", "#351c75", "#741b47"];
7
- class n {
8
- id = "textColor";
9
- name = "Text Color";
10
- priority = 23;
11
- config;
12
- colors;
13
- locale;
14
- constructor(e2) {
15
- this.config = { ...e2 }, this.colors = i(e2?.colors, d, "TextColorPlugin");
16
- }
17
- init(t2) {
18
- this.locale = a(b, t2, this.config.locale), t2.registerStyleSheet(e), this.registerMarkSpec(t2), this.registerCommands(t2), this.registerToolbarItem(t2);
19
- }
20
- registerMarkSpec(e2) {
21
- e2.registerMarkSpec({ type: "textColor", rank: 5, attrs: { color: { default: "" } }, toDOM(e3) {
22
- const t2 = document.createElement("span"), o2 = e3.attrs?.color ?? "";
23
- return s(t2, "color", o2), t2;
24
- }, toHTMLString: (e3, t2) => {
25
- const o2 = String(e3.attrs?.color ?? "");
26
- return o2 && c(o2) ? `<span style="color: ${l(o2)}">${t2}</span>` : t2;
27
- }, toHTMLStyle: (e3) => {
28
- const t2 = String(e3.attrs?.color ?? "");
29
- return t2 && c(t2) ? `color: ${l(t2)}` : null;
30
- }, parseHTML: [{ tag: "span", getAttrs: (e3) => {
31
- const t2 = e3.style.color;
32
- return !(!t2 || !c(t2)) && { color: t2 };
33
- } }], sanitize: { tags: ["span"] } });
34
- }
35
- registerCommands(e2) {
36
- e2.registerCommand("removeTextColor", () => t(e2, e2.getState(), "textColor"));
37
- }
38
- registerToolbarItem(e2) {
39
- const t2 = ['<svg xmlns="http://www.w3.org/2000/svg"', ' viewBox="0 0 24 24">', '<path d="M11 3L5.5 17h2.25l1.12-3h6.25l1.12 3h2.25L13 3h-2zm-1.38 9L12 5.67 14.38 12H9.62z"/>', '<rect x="3" y="19.5" width="18" height="3"', ' rx="0.5" fill="#e53935"/>', "</svg>"].join("");
40
- e2.registerToolbarItem({ id: "textColor", group: "format", icon: t2, label: this.locale.label, tooltip: this.locale.tooltip, command: "removeTextColor", priority: 45, popupType: "custom", separatorAfter: this.config.separatorAfter, renderPopup: (e3, t3, o2) => {
41
- r(e3, t3, { markType: "textColor", colors: this.colors, columns: 10, resetLabel: this.locale.resetLabel, resetCommand: "removeTextColor", ariaLabelPrefix: this.locale.ariaLabelPrefix, onClose: o2 });
42
- }, isActive: (e3) => o(e3, "textColor") });
43
- }
44
- }
45
- export {
46
- n as T,
47
- b as a,
48
- f as b
49
- };
50
- //# sourceMappingURL=index-BvqkuEY1.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BvqkuEY1.mjs","sources":["../../src/plugins/text-color/TextColorLocale.ts","../../src/plugins/text-color/TextColorPlugin.ts"],"sourcesContent":["/** Locale interface and default English locale for the TextColorPlugin. */\n\n// --- Locale Interface ---\n\nexport interface TextColorLocale {\n\treadonly label: string;\n\treadonly tooltip: string;\n\treadonly resetLabel: string;\n\treadonly ariaLabelPrefix: string;\n}\n\n// --- Default English Locale ---\n\nexport const TEXT_COLOR_LOCALE_EN: TextColorLocale = {\n\tlabel: 'Text Color',\n\ttooltip: 'Text Color',\n\tresetLabel: 'Default',\n\tariaLabelPrefix: 'Text color',\n};\n\n// --- German Locale ---\n\nexport const TEXT_COLOR_LOCALE_DE: TextColorLocale = {\n\tlabel: 'Textfarbe',\n\ttooltip: 'Textfarbe',\n\tresetLabel: 'Standard',\n\tariaLabelPrefix: 'Textfarbe',\n};\n\n// --- Spanish Locale ---\n\nexport const TEXT_COLOR_LOCALE_ES: TextColorLocale = {\n\tlabel: 'Color de texto',\n\ttooltip: 'Color de texto',\n\tresetLabel: 'Predeterminado',\n\tariaLabelPrefix: 'Color de texto',\n};\n\n// --- French Locale ---\n\nexport const TEXT_COLOR_LOCALE_FR: TextColorLocale = {\n\tlabel: 'Couleur du texte',\n\ttooltip: 'Couleur du texte',\n\tresetLabel: 'Par défaut',\n\tariaLabelPrefix: 'Couleur du texte',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const TEXT_COLOR_LOCALE_ZH: TextColorLocale = {\n\tlabel: '文字颜色',\n\ttooltip: '文字颜色',\n\tresetLabel: '默认',\n\tariaLabelPrefix: '文字颜色',\n};\n\n// --- Russian Locale ---\n\nexport const TEXT_COLOR_LOCALE_RU: TextColorLocale = {\n\tlabel: 'Цвет текста',\n\ttooltip: 'Цвет текста',\n\tresetLabel: 'По умолчанию',\n\tariaLabelPrefix: 'Цвет текста',\n};\n\n// --- Arabic Locale ---\n\nexport const TEXT_COLOR_LOCALE_AR: TextColorLocale = {\n\tlabel: 'لون النص',\n\ttooltip: 'لون النص',\n\tresetLabel: 'افتراضي',\n\tariaLabelPrefix: 'لون النص',\n};\n\n// --- Hindi Locale ---\n\nexport const TEXT_COLOR_LOCALE_HI: TextColorLocale = {\n\tlabel: 'टेक्स्ट रंग',\n\ttooltip: 'टेक्स्ट रंग',\n\tresetLabel: 'डिफ़ॉल्ट',\n\tariaLabelPrefix: 'टेक्स्ट रंग',\n};\n\n// --- Locale Map ---\n\nexport const TEXT_COLOR_LOCALES: Record<string, TextColorLocale> = {\n\ten: TEXT_COLOR_LOCALE_EN,\n\tde: TEXT_COLOR_LOCALE_DE,\n\tes: TEXT_COLOR_LOCALE_ES,\n\tfr: TEXT_COLOR_LOCALE_FR,\n\tzh: TEXT_COLOR_LOCALE_ZH,\n\tru: TEXT_COLOR_LOCALE_RU,\n\tar: TEXT_COLOR_LOCALE_AR,\n\thi: TEXT_COLOR_LOCALE_HI,\n};\n","/**\n * TextColorPlugin: registers a text color mark with attrs,\n * toolbar button with a color picker popup, and removeTextColor command.\n */\n\nimport { COLOR_PICKER_CSS } from '../../editor/styles/color-picker.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport { escapeHTML } from '../../model/HTMLUtils.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport { setStyleProperty } from '../../style/StyleRuntime.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { isColorMarkActive, removeColorMark } from '../shared/ColorMarkOperations.js';\nimport { renderColorPickerPopup } from '../shared/ColorPickerPopup.js';\nimport { isValidCSSColor, resolveColors } from '../shared/ColorValidation.js';\nimport { TEXT_COLOR_LOCALES, type TextColorLocale } from './TextColorLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface MarkAttrRegistry {\n\t\ttextColor: { color: string };\n\t}\n}\n\n// --- Configuration ---\n\nexport interface TextColorConfig {\n\t/**\n\t * Restricts the color picker to a specific set of hex colors.\n\t * Each value must be a valid hex color code (`#RGB` or `#RRGGBB`).\n\t * Duplicates are removed automatically (case-insensitive).\n\t * When omitted, the full default palette is shown.\n\t */\n\treadonly colors?: readonly string[];\n\t/** When true, a separator is rendered after the textColor toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: TextColorLocale;\n}\n\n// --- Color Palette (Google Docs style: 10 columns x 7 rows) ---\n\nconst COLOR_PALETTE: readonly string[] = [\n\t// Row 1 — dark\n\t'#000000',\n\t'#434343',\n\t'#666666',\n\t'#999999',\n\t'#b7b7b7',\n\t'#cccccc',\n\t'#d9d9d9',\n\t'#efefef',\n\t'#f3f3f3',\n\t'#ffffff',\n\t// Row 2 — vivid\n\t'#980000',\n\t'#ff0000',\n\t'#ff9900',\n\t'#ffff00',\n\t'#00ff00',\n\t'#00ffff',\n\t'#4a86e8',\n\t'#0000ff',\n\t'#9900ff',\n\t'#ff00ff',\n\t// Row 3 — light 3\n\t'#e6b8af',\n\t'#f4cccc',\n\t'#fce5cd',\n\t'#fff2cc',\n\t'#d9ead3',\n\t'#d0e0e3',\n\t'#c9daf8',\n\t'#cfe2f3',\n\t'#d9d2e9',\n\t'#ead1dc',\n\t// Row 4 — light 2\n\t'#dd7e6b',\n\t'#ea9999',\n\t'#f9cb9c',\n\t'#ffe599',\n\t'#b6d7a8',\n\t'#a2c4c9',\n\t'#a4c2f4',\n\t'#9fc5e8',\n\t'#b4a7d6',\n\t'#d5a6bd',\n\t// Row 5 — light 1\n\t'#cc4125',\n\t'#e06666',\n\t'#f6b26b',\n\t'#ffd966',\n\t'#93c47d',\n\t'#76a5af',\n\t'#6d9eeb',\n\t'#6fa8dc',\n\t'#8e7cc3',\n\t'#c27ba0',\n\t// Row 6 — dark 1\n\t'#a61c00',\n\t'#cc0000',\n\t'#e69138',\n\t'#f1c232',\n\t'#6aa84f',\n\t'#45818e',\n\t'#3c78d8',\n\t'#3d85c6',\n\t'#674ea7',\n\t'#a64d79',\n\t// Row 7 — dark 2\n\t'#85200c',\n\t'#990000',\n\t'#b45f06',\n\t'#bf9000',\n\t'#38761d',\n\t'#134f5c',\n\t'#1155cc',\n\t'#0b5394',\n\t'#351c75',\n\t'#741b47',\n];\n\n// --- Plugin ---\n\nexport class TextColorPlugin implements Plugin {\n\treadonly id = 'textColor';\n\treadonly name = 'Text Color';\n\treadonly priority = 23;\n\n\tprivate readonly config: TextColorConfig;\n\tprivate readonly colors: readonly string[];\n\tprivate locale!: TextColorLocale;\n\n\tconstructor(config?: Partial<TextColorConfig>) {\n\t\tthis.config = { ...config };\n\t\tthis.colors = resolveColors(config?.colors, COLOR_PALETTE, 'TextColorPlugin');\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(TEXT_COLOR_LOCALES, context, this.config.locale);\n\n\t\tcontext.registerStyleSheet(COLOR_PICKER_CSS);\n\t\tthis.registerMarkSpec(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerToolbarItem(context);\n\t}\n\n\tprivate registerMarkSpec(context: PluginContext): void {\n\t\tcontext.registerMarkSpec({\n\t\t\ttype: 'textColor',\n\t\t\trank: 5,\n\t\t\tattrs: {\n\t\t\t\tcolor: { default: '' },\n\t\t\t},\n\t\t\ttoDOM(mark) {\n\t\t\t\tconst span = document.createElement('span');\n\t\t\t\tconst color = mark.attrs?.color ?? '';\n\t\t\t\tsetStyleProperty(span, 'color', color);\n\t\t\t\treturn span;\n\t\t\t},\n\t\t\ttoHTMLString: (mark, content) => {\n\t\t\t\tconst color: string = String(mark.attrs?.color ?? '');\n\t\t\t\tif (!color || !isValidCSSColor(color)) return content;\n\t\t\t\treturn `<span style=\"color: ${escapeHTML(color)}\">${content}</span>`;\n\t\t\t},\n\t\t\ttoHTMLStyle: (mark) => {\n\t\t\t\tconst color: string = String(mark.attrs?.color ?? '');\n\t\t\t\tif (!color || !isValidCSSColor(color)) return null;\n\t\t\t\treturn `color: ${escapeHTML(color)}`;\n\t\t\t},\n\t\t\tparseHTML: [\n\t\t\t\t{\n\t\t\t\t\ttag: 'span',\n\t\t\t\t\tgetAttrs: (el) => {\n\t\t\t\t\t\tconst color: string = el.style.color;\n\t\t\t\t\t\tif (!color || !isValidCSSColor(color)) return false;\n\t\t\t\t\t\treturn { color };\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tsanitize: { tags: ['span'] },\n\t\t});\n\t}\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tcontext.registerCommand('removeTextColor', () => {\n\t\t\treturn removeColorMark(context, context.getState(), 'textColor');\n\t\t});\n\t}\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tconst pathD =\n\t\t\t'M11 3L5.5 17h2.25l1.12-3h6.25l1.12 3h2.25L13 3h-2z' + 'm-1.38 9L12 5.67 14.38 12H9.62z';\n\t\tconst icon: string = [\n\t\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\"',\n\t\t\t' viewBox=\"0 0 24 24\">',\n\t\t\t`<path d=\"${pathD}\"/>`,\n\t\t\t'<rect x=\"3\" y=\"19.5\" width=\"18\" height=\"3\"',\n\t\t\t' rx=\"0.5\" fill=\"#e53935\"/>',\n\t\t\t'</svg>',\n\t\t].join('');\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'textColor',\n\t\t\tgroup: 'format',\n\t\t\ticon,\n\t\t\tlabel: this.locale.label,\n\t\t\ttooltip: this.locale.tooltip,\n\t\t\tcommand: 'removeTextColor',\n\t\t\tpriority: 45,\n\t\t\tpopupType: 'custom',\n\t\t\tseparatorAfter: this.config.separatorAfter,\n\t\t\trenderPopup: (container, ctx, onClose) => {\n\t\t\t\trenderColorPickerPopup(container, ctx, {\n\t\t\t\t\tmarkType: 'textColor',\n\t\t\t\t\tcolors: this.colors,\n\t\t\t\t\tcolumns: 10,\n\t\t\t\t\tresetLabel: this.locale.resetLabel,\n\t\t\t\t\tresetCommand: 'removeTextColor',\n\t\t\t\t\tariaLabelPrefix: this.locale.ariaLabelPrefix,\n\t\t\t\t\tonClose,\n\t\t\t\t});\n\t\t\t},\n\t\t\tisActive: (state: EditorState) => isColorMarkActive(state, 'textColor'),\n\t\t});\n\t}\n}\n"],"names":["TEXT_COLOR_LOCALE_EN","label","tooltip","resetLabel","ariaLabelPrefix","TEXT_COLOR_LOCALES","en","de","es","fr","zh","ru","ar","hi","COLOR_PALETTE","TextColorPlugin","id","name","priority","config","colors","locale","this","resolveColors","context","resolvePluginLocale","registerStyleSheet","COLOR_PICKER_CSS","registerMarkSpec","registerCommands","registerToolbarItem","type","rank","attrs","color","default","mark","span","document","createElement","setStyleProperty","toHTMLString","content","String","isValidCSSColor","escapeHTML","toHTMLStyle","parseHTML","tag","getAttrs","el","style","sanitize","tags","registerCommand","removeColorMark","getState","icon","join","group","command","popupType","separatorAfter","renderPopup","container","ctx","onClose","renderColorPickerPopup","markType","columns","resetCommand","isActive","state","isColorMarkActive"],"mappings":"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"}
@@ -1,92 +0,0 @@
1
- import { r as t } from "./resolvePluginLocale-B4w1OkPy.mjs";
2
- import { m as s } from "./TypeBrands-C09nE2qO.mjs";
3
- import { f as i } from "./ToolbarItem-BpZggUGo.mjs";
4
- import { e, b as r } from "./MarkCommands-6RUJ4L3r.mjs";
5
- const o = { superscriptLabel: "Superscript", superscriptTooltip: (t2) => `Superscript (${t2})`, subscriptLabel: "Subscript", subscriptTooltip: (t2) => `Subscript (${t2})` }, p = { en: o, de: { superscriptLabel: "Hochgestellt", superscriptTooltip: (t2) => `Hochgestellt (${t2})`, subscriptLabel: "Tiefgestellt", subscriptTooltip: (t2) => `Tiefgestellt (${t2})` }, es: { superscriptLabel: "Superíndice", superscriptTooltip: (t2) => `Superíndice (${t2})`, subscriptLabel: "Subíndice", subscriptTooltip: (t2) => `Subíndice (${t2})` }, fr: { superscriptLabel: "Exposant", superscriptTooltip: (t2) => `Exposant (${t2})`, subscriptLabel: "Indice", subscriptTooltip: (t2) => `Indice (${t2})` }, zh: { superscriptLabel: "上标", superscriptTooltip: (t2) => `上标 (${t2})`, subscriptLabel: "下标", subscriptTooltip: (t2) => `下标 (${t2})` }, ru: { superscriptLabel: "Надстрочный", superscriptTooltip: (t2) => `Надстрочный (${t2})`, subscriptLabel: "Подстрочный", subscriptTooltip: (t2) => `Подстрочный (${t2})` }, ar: { superscriptLabel: "مرتفع", superscriptTooltip: (t2) => `مرتفع (${t2})`, subscriptLabel: "منخفض", subscriptTooltip: (t2) => `منخفض (${t2})` }, hi: { superscriptLabel: "सुपरस्क्रिप्ट", superscriptTooltip: (t2) => `सुपरस्क्रिप्ट (${t2})`, subscriptLabel: "सबस्क्रिप्ट", subscriptTooltip: (t2) => `सबस्क्रिप्ट (${t2})` } }, c = { superscript: true, subscript: true }, a = [{ type: "superscript", opposite: "subscript", configKey: "superscript", rank: 4, tag: "sup", label: "Superscript", icon: ['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">', '<path d="M16 7.41L11.41 12 16 16.59 14.59 18l-6-6 6-6z"', ' fill="none"/>', '<path d="M9.64 7.64c.23-.5.36-1.05.36-1.64', " 0-2.21-1.79-4-4-4H2v14h4.36c2.34 0 4.24-1.9", " 4.24-4.24 0-1.6-.89-2.99-2.2-3.71zM4.5 4.5H6c.83", " 0 1.5.67 1.5 1.5S6.83 7.5 6 7.5H4.5v-3zm2 9H4.5v-3H6.5c.83", ' 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z" fill="none"/>', '<path d="M15.97 3.84c0-.47.19-.91.53-1.21.34-.31.8-.49', " 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02", "-.96-.43-1.83-1.13-2.42C19.36.77 18.45.44 17.5.44c-.88", " 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34", " 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53", " 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54", "-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96", " 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56", "-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46", '-.59-.46-.94z"/>', '<path d="M5.88 20h2.66l3.4-5.42L15.3 20h2.67l-4.73-7.38', ' 4.37-6.62h-2.6l-3.07 4.98L8.92 6h-2.6l4.26 6.58z"/>', "</svg>"].join(""), keyBinding: "Mod-.", toolbarPriority: 50, toHTMLString: (t2) => `<sup>${t2}</sup>`, parseHTML: [{ tag: "sup" }], sanitize: { tags: ["sup"] } }, { type: "subscript", opposite: "superscript", configKey: "subscript", rank: 4, tag: "sub", label: "Subscript", icon: ['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">', '<path d="M15.97 16.84c0-.47.19-.91.53-1.21.34-.31.8-.49', " 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02", "-.96-.43-1.83-1.13-2.42-.7-.58-1.61-.91-2.56-.91-.88", " 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34", " 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53", " 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54", "-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96", " 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56", "-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46", '-.59-.46-.94z"/>', '<path d="M5.88 18h2.66l3.4-5.42L15.3 18h2.67l-4.73-7.38', ' 4.37-6.62h-2.6l-3.07 4.98L8.92 4h-2.6l4.26 6.58z"/>', "</svg>"].join(""), keyBinding: "Mod-,", toolbarPriority: 51, toHTMLString: (t2) => `<sub>${t2}</sub>`, parseHTML: [{ tag: "sub" }], sanitize: { tags: ["sub"] } }];
6
- class l {
7
- id = "super-sub";
8
- name = "Superscript & Subscript";
9
- priority = 23;
10
- config;
11
- locale;
12
- constructor(t2) {
13
- this.config = { ...c, ...t2 };
14
- }
15
- init(s2) {
16
- this.locale = t(p, s2, this.config.locale);
17
- const i2 = a.filter((t2) => this.config[t2.configKey]), e2 = i2.filter((t2) => this.isToolbarVisible(t2.configKey)).at(-1);
18
- for (const t2 of i2) {
19
- const i3 = !!this.config.separatorAfter && t2 === e2;
20
- this.registerMark(s2, t2, i3);
21
- }
22
- this.registerKeymaps(s2, i2), this.registerExclusivityMiddleware(s2, i2), this.registerDisabledToolbarItems(s2);
23
- }
24
- registerMark(t2, o2, p2) {
25
- const c2 = n(o2.type), a2 = this.isToolbarVisible(o2.configKey);
26
- if (t2.registerMarkSpec({ type: o2.type, rank: o2.rank, toDOM: () => document.createElement(o2.tag), toHTMLString: (t3, s2) => o2.toHTMLString(s2), parseHTML: o2.parseHTML, sanitize: o2.sanitize }), t2.registerCommand(c2, () => {
27
- const i2 = e(t2.getState(), s(o2.type));
28
- return !!i2 && (t2.dispatch(i2), true);
29
- }), a2) {
30
- const e2 = "superscript" === o2.type ? this.locale.superscriptLabel : this.locale.subscriptLabel, a3 = "superscript" === o2.type ? this.locale.superscriptTooltip(i(o2.keyBinding)) : this.locale.subscriptTooltip(i(o2.keyBinding));
31
- t2.registerToolbarItem({ id: o2.type, group: "format", icon: o2.icon, label: e2, tooltip: a3, command: c2, priority: o2.toolbarPriority, separatorAfter: p2, isActive: (t3) => r(t3, s(o2.type)) });
32
- }
33
- }
34
- registerKeymaps(t2, s2) {
35
- const i2 = {};
36
- for (const e2 of s2) {
37
- const s3 = n(e2.type);
38
- i2[e2.keyBinding] = () => t2.executeCommand(s3);
39
- }
40
- Object.keys(i2).length > 0 && t2.registerKeymap(i2);
41
- }
42
- registerExclusivityMiddleware(t2, i2) {
43
- i2.some((t3) => "superscript" === t3.type) && i2.some((t3) => "subscript" === t3.type) && t2.registerMiddleware((t3, i3, e2) => {
44
- let r2 = false;
45
- const o2 = [];
46
- for (const i4 of t3.steps) {
47
- if ("addMark" !== i4.type) {
48
- o2.push(i4);
49
- continue;
50
- }
51
- const t4 = i4.mark.type, e3 = a.find((s2) => s2.type === t4);
52
- if (!e3) {
53
- o2.push(i4);
54
- continue;
55
- }
56
- r2 = true;
57
- const p3 = { type: "removeMark", blockId: i4.blockId, from: i4.from, to: i4.to, mark: { type: s(e3.opposite) }, ...i4.path ? { path: i4.path } : {} };
58
- o2.push(p3, i4);
59
- }
60
- let p2 = t3.storedMarksAfter;
61
- if (p2) {
62
- const t4 = p2.some((t5) => "superscript" === t5.type), s2 = p2.some((t5) => "subscript" === t5.type);
63
- if (t4 && s2) {
64
- const t5 = p2.findLastIndex((t6) => "superscript" === t6.type) > p2.findLastIndex((t6) => "subscript" === t6.type) ? "subscript" : "superscript";
65
- p2 = p2.filter((s3) => s3.type !== t5), r2 = true;
66
- }
67
- }
68
- e2(r2 ? { ...t3, steps: o2, storedMarksAfter: p2 } : t3);
69
- }, { name: "super-sub:exclusivity" });
70
- }
71
- registerDisabledToolbarItems(t2) {
72
- if (this.config.toolbar) for (const s2 of a) {
73
- const i2 = this.config[s2.configKey], e2 = this.config.toolbar[s2.configKey] ?? true;
74
- if (!i2 && e2) {
75
- const i3 = "superscript" === s2.type ? this.locale.superscriptLabel : this.locale.subscriptLabel;
76
- t2.registerToolbarItem({ id: s2.type, group: "format", icon: s2.icon, label: i3, command: n(s2.type), priority: s2.toolbarPriority, isEnabled: () => false });
77
- }
78
- }
79
- }
80
- isToolbarVisible(t2) {
81
- return !this.config.toolbar || (this.config.toolbar[t2] ?? true);
82
- }
83
- }
84
- function n(t2) {
85
- return `toggle${t2.charAt(0).toUpperCase()}${t2.slice(1)}`;
86
- }
87
- export {
88
- l as S,
89
- p as a,
90
- o as b
91
- };
92
- //# sourceMappingURL=index-C1opJocO.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-C1opJocO.mjs","sources":["../../src/plugins/super-sub/SuperSubLocale.ts","../../src/plugins/super-sub/SuperSubPlugin.ts"],"sourcesContent":["/**\n * Locale interface and default English locale for the SuperSubPlugin.\n */\n\n// --- Locale Interface ---\n\nexport interface SuperSubLocale {\n\treadonly superscriptLabel: string;\n\treadonly superscriptTooltip: (shortcut: string) => string;\n\treadonly subscriptLabel: string;\n\treadonly subscriptTooltip: (shortcut: string) => string;\n}\n\n// --- Default English Locale ---\n\nexport const SUPER_SUB_LOCALE_EN: SuperSubLocale = {\n\tsuperscriptLabel: 'Superscript',\n\tsuperscriptTooltip: (shortcut: string) => `Superscript (${shortcut})`,\n\tsubscriptLabel: 'Subscript',\n\tsubscriptTooltip: (shortcut: string) => `Subscript (${shortcut})`,\n};\n\n// --- German Locale ---\n\nexport const SUPER_SUB_LOCALE_DE: SuperSubLocale = {\n\tsuperscriptLabel: 'Hochgestellt',\n\tsuperscriptTooltip: (shortcut: string) => `Hochgestellt (${shortcut})`,\n\tsubscriptLabel: 'Tiefgestellt',\n\tsubscriptTooltip: (shortcut: string) => `Tiefgestellt (${shortcut})`,\n};\n\n// --- Spanish Locale ---\n\nexport const SUPER_SUB_LOCALE_ES: SuperSubLocale = {\n\tsuperscriptLabel: 'Superíndice',\n\tsuperscriptTooltip: (shortcut: string) => `Superíndice (${shortcut})`,\n\tsubscriptLabel: 'Subíndice',\n\tsubscriptTooltip: (shortcut: string) => `Subíndice (${shortcut})`,\n};\n\n// --- French Locale ---\n\nexport const SUPER_SUB_LOCALE_FR: SuperSubLocale = {\n\tsuperscriptLabel: 'Exposant',\n\tsuperscriptTooltip: (shortcut: string) => `Exposant (${shortcut})`,\n\tsubscriptLabel: 'Indice',\n\tsubscriptTooltip: (shortcut: string) => `Indice (${shortcut})`,\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const SUPER_SUB_LOCALE_ZH: SuperSubLocale = {\n\tsuperscriptLabel: '上标',\n\tsuperscriptTooltip: (shortcut: string) => `上标 (${shortcut})`,\n\tsubscriptLabel: '下标',\n\tsubscriptTooltip: (shortcut: string) => `下标 (${shortcut})`,\n};\n\n// --- Russian Locale ---\n\nexport const SUPER_SUB_LOCALE_RU: SuperSubLocale = {\n\tsuperscriptLabel: 'Надстрочный',\n\tsuperscriptTooltip: (shortcut: string) => `Надстрочный (${shortcut})`,\n\tsubscriptLabel: 'Подстрочный',\n\tsubscriptTooltip: (shortcut: string) => `Подстрочный (${shortcut})`,\n};\n\n// --- Arabic Locale ---\n\nexport const SUPER_SUB_LOCALE_AR: SuperSubLocale = {\n\tsuperscriptLabel: 'مرتفع',\n\tsuperscriptTooltip: (shortcut: string) => `مرتفع (${shortcut})`,\n\tsubscriptLabel: 'منخفض',\n\tsubscriptTooltip: (shortcut: string) => `منخفض (${shortcut})`,\n};\n\n// --- Hindi Locale ---\n\nexport const SUPER_SUB_LOCALE_HI: SuperSubLocale = {\n\tsuperscriptLabel: 'सुपरस्क्रिप्ट',\n\tsuperscriptTooltip: (shortcut: string) => `सुपरस्क्रिप्ट (${shortcut})`,\n\tsubscriptLabel: 'सबस्क्रिप्ट',\n\tsubscriptTooltip: (shortcut: string) => `सबस्क्रिप्ट (${shortcut})`,\n};\n\n// --- Locale Map ---\n\nexport const SUPER_SUB_LOCALES: Record<string, SuperSubLocale> = {\n\ten: SUPER_SUB_LOCALE_EN,\n\tde: SUPER_SUB_LOCALE_DE,\n\tes: SUPER_SUB_LOCALE_ES,\n\tfr: SUPER_SUB_LOCALE_FR,\n\tzh: SUPER_SUB_LOCALE_ZH,\n\tru: SUPER_SUB_LOCALE_RU,\n\tar: SUPER_SUB_LOCALE_AR,\n\thi: SUPER_SUB_LOCALE_HI,\n};\n","/**\n * SuperSubPlugin: registers superscript and subscript inline marks with\n * MarkSpecs, toggle commands, keyboard shortcuts, toolbar buttons, and\n * a middleware that enforces mutual exclusivity between the two marks.\n *\n * Data-driven — each mark type is defined declaratively and all\n * registrations are derived from the same definition table.\n */\n\nimport { isMarkActive, toggleMark } from '../../commands/Commands.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport type { Mark } from '../../model/Document.js';\nimport type { ParseRule } from '../../model/ParseRule.js';\nimport type { SanitizeConfig } from '../../model/SanitizeConfig.js';\nimport { markType as mkType } from '../../model/TypeBrands.js';\nimport type { RemoveMarkStep, Step } from '../../state/Transaction.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { formatShortcut } from '../toolbar/ToolbarItem.js';\nimport { SUPER_SUB_LOCALES, type SuperSubLocale } from './SuperSubLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface MarkAttrRegistry {\n\t\tsuperscript: Record<string, never>;\n\t\tsubscript: Record<string, never>;\n\t}\n}\n\n// --- Configuration ---\n\n/** Controls toolbar button visibility per mark. */\nexport interface SuperSubToolbarConfig {\n\treadonly superscript?: boolean;\n\treadonly subscript?: boolean;\n}\n\n/** Controls which marks are enabled and which toolbar buttons are shown. */\nexport interface SuperSubConfig {\n\treadonly superscript: boolean;\n\treadonly subscript: boolean;\n\treadonly toolbar?: SuperSubToolbarConfig;\n\t/** When true, a separator is rendered after the last toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: SuperSubLocale;\n}\n\nconst DEFAULT_CONFIG: SuperSubConfig = {\n\tsuperscript: true,\n\tsubscript: true,\n};\n\n// --- Mark Definitions ---\n\ninterface MarkDefinition {\n\treadonly type: 'superscript' | 'subscript';\n\treadonly opposite: 'superscript' | 'subscript';\n\treadonly configKey: keyof Omit<SuperSubConfig, 'toolbar' | 'separatorAfter' | 'locale'>;\n\treadonly rank: number;\n\treadonly tag: string;\n\treadonly label: string;\n\treadonly icon: string;\n\treadonly keyBinding: string;\n\treadonly toolbarPriority: number;\n\treadonly toHTMLString: (content: string) => string;\n\treadonly parseHTML: readonly ParseRule[];\n\treadonly sanitize: SanitizeConfig;\n}\n\nconst SUPERSCRIPT_ICON: string = [\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">',\n\t'<path d=\"M16 7.41L11.41 12 16 16.59 14.59 18l-6-6 6-6z\"',\n\t' fill=\"none\"/>',\n\t'<path d=\"M9.64 7.64c.23-.5.36-1.05.36-1.64',\n\t' 0-2.21-1.79-4-4-4H2v14h4.36c2.34 0 4.24-1.9',\n\t' 4.24-4.24 0-1.6-.89-2.99-2.2-3.71zM4.5 4.5H6c.83',\n\t' 0 1.5.67 1.5 1.5S6.83 7.5 6 7.5H4.5v-3zm2 9H4.5v-3H6.5c.83',\n\t' 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z\" fill=\"none\"/>',\n\t'<path d=\"M15.97 3.84c0-.47.19-.91.53-1.21.34-.31.8-.49',\n\t' 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02',\n\t'-.96-.43-1.83-1.13-2.42C19.36.77 18.45.44 17.5.44c-.88',\n\t' 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34',\n\t' 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53',\n\t' 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54',\n\t'-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96',\n\t' 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56',\n\t'-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46',\n\t'-.59-.46-.94z\"/>',\n\t'<path d=\"M5.88 20h2.66l3.4-5.42L15.3 20h2.67l-4.73-7.38',\n\t' 4.37-6.62h-2.6l-3.07 4.98L8.92 6h-2.6l4.26 6.58z\"/>',\n\t'</svg>',\n].join('');\n\nconst SUBSCRIPT_ICON: string = [\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">',\n\t'<path d=\"M15.97 16.84c0-.47.19-.91.53-1.21.34-.31.8-.49',\n\t' 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02',\n\t'-.96-.43-1.83-1.13-2.42-.7-.58-1.61-.91-2.56-.91-.88',\n\t' 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34',\n\t' 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53',\n\t' 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54',\n\t'-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96',\n\t' 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56',\n\t'-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46',\n\t'-.59-.46-.94z\"/>',\n\t'<path d=\"M5.88 18h2.66l3.4-5.42L15.3 18h2.67l-4.73-7.38',\n\t' 4.37-6.62h-2.6l-3.07 4.98L8.92 4h-2.6l4.26 6.58z\"/>',\n\t'</svg>',\n].join('');\n\nconst MARK_DEFINITIONS: readonly MarkDefinition[] = [\n\t{\n\t\ttype: 'superscript',\n\t\topposite: 'subscript',\n\t\tconfigKey: 'superscript',\n\t\trank: 4,\n\t\ttag: 'sup',\n\t\tlabel: 'Superscript',\n\t\ticon: SUPERSCRIPT_ICON,\n\t\tkeyBinding: 'Mod-.',\n\t\ttoolbarPriority: 50,\n\t\ttoHTMLString: (content) => `<sup>${content}</sup>`,\n\t\tparseHTML: [{ tag: 'sup' }],\n\t\tsanitize: { tags: ['sup'] },\n\t},\n\t{\n\t\ttype: 'subscript',\n\t\topposite: 'superscript',\n\t\tconfigKey: 'subscript',\n\t\trank: 4,\n\t\ttag: 'sub',\n\t\tlabel: 'Subscript',\n\t\ticon: SUBSCRIPT_ICON,\n\t\tkeyBinding: 'Mod-,',\n\t\ttoolbarPriority: 51,\n\t\ttoHTMLString: (content) => `<sub>${content}</sub>`,\n\t\tparseHTML: [{ tag: 'sub' }],\n\t\tsanitize: { tags: ['sub'] },\n\t},\n];\n\n// --- Plugin ---\n\nexport class SuperSubPlugin implements Plugin {\n\treadonly id = 'super-sub';\n\treadonly name = 'Superscript & Subscript';\n\treadonly priority = 23;\n\n\tprivate readonly config: SuperSubConfig;\n\tprivate locale!: SuperSubLocale;\n\n\tconstructor(config?: Partial<SuperSubConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(SUPER_SUB_LOCALES, context, this.config.locale);\n\n\t\tconst enabledMarks: MarkDefinition[] = MARK_DEFINITIONS.filter(\n\t\t\t(def) => this.config[def.configKey],\n\t\t);\n\n\t\tconst visibleToolbarMarks: MarkDefinition[] = enabledMarks.filter((def) =>\n\t\t\tthis.isToolbarVisible(def.configKey),\n\t\t);\n\t\tconst lastVisibleMark: MarkDefinition | undefined = visibleToolbarMarks.at(-1);\n\n\t\tfor (const def of enabledMarks) {\n\t\t\tconst isSeparatorTarget: boolean = !!this.config.separatorAfter && def === lastVisibleMark;\n\t\t\tthis.registerMark(context, def, isSeparatorTarget);\n\t\t}\n\n\t\tthis.registerKeymaps(context, enabledMarks);\n\t\tthis.registerExclusivityMiddleware(context, enabledMarks);\n\t\tthis.registerDisabledToolbarItems(context);\n\t}\n\n\tprivate registerMark(context: PluginContext, def: MarkDefinition, separatorAfter: boolean): void {\n\t\tconst commandName: string = toCommandName(def.type);\n\t\tconst toolbarVisible: boolean = this.isToolbarVisible(def.configKey);\n\n\t\tcontext.registerMarkSpec({\n\t\t\ttype: def.type,\n\t\t\trank: def.rank,\n\t\t\ttoDOM() {\n\t\t\t\treturn document.createElement(def.tag);\n\t\t\t},\n\t\t\ttoHTMLString: (_mark, content) => def.toHTMLString(content),\n\t\t\tparseHTML: def.parseHTML,\n\t\t\tsanitize: def.sanitize,\n\t\t});\n\n\t\tcontext.registerCommand(commandName, () => {\n\t\t\tconst tr = toggleMark(context.getState(), mkType(def.type));\n\t\t\tif (tr) {\n\t\t\t\tcontext.dispatch(tr);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\n\t\tif (toolbarVisible) {\n\t\t\tconst label: string =\n\t\t\t\tdef.type === 'superscript' ? this.locale.superscriptLabel : this.locale.subscriptLabel;\n\t\t\tconst tooltip: string =\n\t\t\t\tdef.type === 'superscript'\n\t\t\t\t\t? this.locale.superscriptTooltip(formatShortcut(def.keyBinding))\n\t\t\t\t\t: this.locale.subscriptTooltip(formatShortcut(def.keyBinding));\n\t\t\tcontext.registerToolbarItem({\n\t\t\t\tid: def.type,\n\t\t\t\tgroup: 'format',\n\t\t\t\ticon: def.icon,\n\t\t\t\tlabel,\n\t\t\t\ttooltip,\n\t\t\t\tcommand: commandName,\n\t\t\t\tpriority: def.toolbarPriority,\n\t\t\t\tseparatorAfter,\n\t\t\t\tisActive: (state) => isMarkActive(state, mkType(def.type)),\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate registerKeymaps(context: PluginContext, marks: readonly MarkDefinition[]): void {\n\t\tconst keymap: Record<string, () => boolean> = {};\n\t\tfor (const def of marks) {\n\t\t\tconst commandName: string = toCommandName(def.type);\n\t\t\tkeymap[def.keyBinding] = () => context.executeCommand(commandName);\n\t\t}\n\t\tif (Object.keys(keymap).length > 0) {\n\t\t\tcontext.registerKeymap(keymap);\n\t\t}\n\t}\n\n\t/**\n\t * Ensures superscript and subscript are mutually exclusive.\n\t * When an addMark step for one type is found, a removeMark step\n\t * for the opposite type is injected. For stored marks, the opposite\n\t * mark is filtered out.\n\t */\n\tprivate registerExclusivityMiddleware(\n\t\tcontext: PluginContext,\n\t\tenabledMarks: readonly MarkDefinition[],\n\t): void {\n\t\tconst bothEnabled: boolean =\n\t\t\tenabledMarks.some((d) => d.type === 'superscript') &&\n\t\t\tenabledMarks.some((d) => d.type === 'subscript');\n\n\t\tif (!bothEnabled) return;\n\n\t\tcontext.registerMiddleware(\n\t\t\t(tr, _state, next) => {\n\t\t\t\tlet patched = false;\n\n\t\t\t\t// Handle addMark steps: inject removeMark for the opposite type\n\t\t\t\tconst patchedSteps: Step[] = [];\n\t\t\t\tfor (const step of tr.steps) {\n\t\t\t\t\tif (step.type !== 'addMark') {\n\t\t\t\t\t\tpatchedSteps.push(step);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst markName: string = step.mark.type;\n\t\t\t\t\tconst def: MarkDefinition | undefined = MARK_DEFINITIONS.find((d) => d.type === markName);\n\t\t\t\t\tif (!def) {\n\t\t\t\t\t\tpatchedSteps.push(step);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tpatched = true;\n\t\t\t\t\tconst removeStep: RemoveMarkStep = {\n\t\t\t\t\t\ttype: 'removeMark',\n\t\t\t\t\t\tblockId: step.blockId,\n\t\t\t\t\t\tfrom: step.from,\n\t\t\t\t\t\tto: step.to,\n\t\t\t\t\t\tmark: { type: mkType(def.opposite) },\n\t\t\t\t\t\t...(step.path ? { path: step.path } : {}),\n\t\t\t\t\t};\n\t\t\t\t\tpatchedSteps.push(removeStep, step);\n\t\t\t\t}\n\n\t\t\t\t// Handle stored marks: remove the opposite mark\n\t\t\t\tlet storedMarksAfter: readonly Mark[] | null = tr.storedMarksAfter;\n\t\t\t\tif (storedMarksAfter) {\n\t\t\t\t\tconst hasSup: boolean = storedMarksAfter.some((m) => m.type === 'superscript');\n\t\t\t\t\tconst hasSub: boolean = storedMarksAfter.some((m) => m.type === 'subscript');\n\n\t\t\t\t\tif (hasSup && hasSub) {\n\t\t\t\t\t\t// Keep the one that was most recently added (last in array)\n\t\t\t\t\t\tconst lastSupIdx: number = storedMarksAfter.findLastIndex(\n\t\t\t\t\t\t\t(m) => m.type === 'superscript',\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst lastSubIdx: number = storedMarksAfter.findLastIndex(\n\t\t\t\t\t\t\t(m) => m.type === 'subscript',\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst removeType: string = lastSupIdx > lastSubIdx ? 'subscript' : 'superscript';\n\n\t\t\t\t\t\tstoredMarksAfter = storedMarksAfter.filter((m) => m.type !== removeType);\n\t\t\t\t\t\tpatched = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tnext(patched ? { ...tr, steps: patchedSteps, storedMarksAfter } : tr);\n\t\t\t},\n\t\t\t{ name: 'super-sub:exclusivity' },\n\t\t);\n\t}\n\n\t/**\n\t * Registers disabled toolbar buttons for marks whose feature is disabled\n\t * but whose toolbar button is explicitly requested.\n\t */\n\tprivate registerDisabledToolbarItems(context: PluginContext): void {\n\t\tif (!this.config.toolbar) return;\n\n\t\tfor (const def of MARK_DEFINITIONS) {\n\t\t\tconst featureEnabled: boolean = this.config[def.configKey];\n\t\t\tconst toolbarVisible: boolean = this.config.toolbar[def.configKey] ?? true;\n\n\t\t\tif (!featureEnabled && toolbarVisible) {\n\t\t\t\tconst label: string =\n\t\t\t\t\tdef.type === 'superscript' ? this.locale.superscriptLabel : this.locale.subscriptLabel;\n\t\t\t\tcontext.registerToolbarItem({\n\t\t\t\t\tid: def.type,\n\t\t\t\t\tgroup: 'format',\n\t\t\t\t\ticon: def.icon,\n\t\t\t\t\tlabel,\n\t\t\t\t\tcommand: toCommandName(def.type),\n\t\t\t\t\tpriority: def.toolbarPriority,\n\t\t\t\t\tisEnabled: () => false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate isToolbarVisible(\n\t\tconfigKey: keyof Omit<SuperSubConfig, 'toolbar' | 'separatorAfter' | 'locale'>,\n\t): boolean {\n\t\tif (!this.config.toolbar) return true;\n\t\treturn this.config.toolbar[configKey] ?? true;\n\t}\n}\n\n/** Converts a mark type to its toggle command name (e.g. 'superscript' → 'toggleSuperscript'). */\nfunction toCommandName(markType: string): string {\n\treturn `toggle${markType.charAt(0).toUpperCase()}${markType.slice(1)}`;\n}\n"],"names":["SUPER_SUB_LOCALE_EN","superscriptLabel","superscriptTooltip","shortcut","subscriptLabel","subscriptTooltip","SUPER_SUB_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","superscript","subscript","MARK_DEFINITIONS","type","opposite","configKey","rank","tag","label","icon","join","keyBinding","toolbarPriority","toHTMLString","content","parseHTML","sanitize","tags","SuperSubPlugin","id","name","priority","config","locale","this","context","resolvePluginLocale","enabledMarks","filter","def","lastVisibleMark","isToolbarVisible","at","isSeparatorTarget","separatorAfter","registerMark","registerKeymaps","registerExclusivityMiddleware","registerDisabledToolbarItems","commandName","toCommandName","toolbarVisible","registerMarkSpec","toDOM","document","createElement","_mark","registerCommand","tr","toggleMark","getState","mkType","dispatch","tooltip","formatShortcut","registerToolbarItem","group","command","isActive","state","isMarkActive","marks","keymap","executeCommand","Object","keys","length","registerKeymap","some","d","registerMiddleware","_state","next","patched","patchedSteps","step","steps","push","markName","mark","find","removeStep","blockId","from","to","path","storedMarksAfter","hasSup","m","hasSub","removeType","findLastIndex","toolbar","featureEnabled","isEnabled","markType","charAt","toUpperCase","slice"],"mappings":";;;;AAeO,MAAMA,IAAsC,EAClDC,kBAAkB,eAClBC,oBAAqBC,CAAAA,OAAqB,gBAAgBA,EAAAA,KAC1DC,gBAAgB,aAChBC,kBAAmBF,CAAAA,OAAqB,cAAcA,SAoE1CG,IAAoD,EAChEC,IAAIP,GACJQ,IAjEkD,EAClDP,kBAAkB,gBAClBC,oBAAqBC,CAAAA,OAAqB,iBAAiBA,OAC3DC,gBAAgB,gBAChBC,kBAAmBF,CAAAA,OAAqB,iBAAiBA,SA8DzDM,IAzDkD,EAClDR,kBAAkB,eAClBC,oBAAqBC,CAAAA,OAAqB,gBAAgBA,OAC1DC,gBAAgB,aAChBC,kBAAmBF,CAAAA,OAAqB,cAAcA,SAsDtDO,IAjDkD,EAClDT,kBAAkB,YAClBC,oBAAqBC,CAAAA,OAAqB,aAAaA,EAAAA,KACvDC,gBAAgB,UAChBC,kBAAmBF,CAAAA,OAAqB,WAAWA,SA8CnDQ,IAzCkD,EAClDV,kBAAkB,MAClBC,oBAAqBC,CAAAA,OAAqB,OAAOA,EAAAA,KACjDC,gBAAgB,MAChBC,kBAAmBF,CAAAA,OAAqB,OAAOA,EAAAA,IAAAA,GAsC/CS,IAjCkD,EAClDX,kBAAkB,eAClBC,oBAAqBC,CAAAA,OAAqB,gBAAgBA,EAAAA,KAC1DC,gBAAgB,eAChBC,kBAAmBF,CAAAA,OAAqB,gBAAgBA,EAAAA,IAAAA,GA8BxDU,IAzBkD,EAClDZ,kBAAkB,SAClBC,oBAAqBC,CAAAA,OAAqB,UAAUA,EAAAA,KACpDC,gBAAgB,SAChBC,kBAAmBF,CAAAA,OAAqB,UAAUA,EAAAA,IAAAA,GAsBlDW,IAjBkD,EAClDb,kBAAkB,iBAClBC,oBAAqBC,CAAAA,OAAqB,kBAAkBA,EAAAA,KAC5DC,gBAAgB,eAChBC,kBAAmBF,CAAAA,OAAqB,gBAAgBA,EAAAA,IAAAA,EAAAA,GCnCnDY,IAAiC,EACtCC,aAAAA,MACAC,WAAAA,KAAW,GA6DNC,IAA8C,CACnD,EACCC,MAAM,eACNC,UAAU,aACVC,WAAW,eACXC,MAAM,GACNC,KAAK,OACLC,OAAO,eACPC,MAjD+B,CAChC,gEACA,2DACA,kBACA,8CACA,gDACA,qDACA,+DACA,sDACA,0DACA,0DACA,0DACA,wDACA,0EACA,0EACA,2EACA,4EACA,4EACA,oBACA,2DACA,wDACA,UACCC,KAAK,EAAA,GA4BLC,YAAY,SACZC,iBAAiB,IACjBC,cAAeC,CAAAA,OAAY,QAAQA,EAAAA,UACnCC,WAAW,CAAC,EAAER,KAAK,MAAA,CAAA,GACnBS,UAAU,EAAEC,MAAM,CAAC,YAEpB,EACCd,MAAM,aACNC,UAAU,eACVC,WAAW,aACXC,MAAM,GACNC,KAAK,OACLC,OAAO,aACPC,MAvC6B,CAC9B,gEACA,2DACA,0DACA,wDACA,wDACA,0EACA,0EACA,2EACA,4EACA,4EACA,oBACA,2DACA,wDACA,QAAA,EACCC,KAAK,KAyBLC,YAAY,SACZC,iBAAiB,IACjBC,cAAeC,CAAAA,OAAY,QAAQA,YACnCC,WAAW,CAAC,EAAER,KAAK,MAAA,CAAA,GACnBS,UAAU,EAAEC,MAAM,CAAC,KAAA,EAAA,EAAA,CAAA;AAMd,MAAMC;EACHC,KAAK;AAAA,EACLC,OAAO;AAAA,EACPC,WAAW;AAAA,EAEHC;AAAAA,EACTC;AAAAA,EAER,YAAYD;AACXE,SAAKF,SAAS,KAAKvB,GAAAA,GAAmBuB,GAAAA;AAAAA,EACvC;AAAA,EAEA,KAAKG;AACJD,SAAKD,SAASG,EAAoBpC,GAAmBmC,IAASD,KAAKF,OAAOC,MAAAA;AAE1E,UAAMI,KAAiCzB,EAAiB0B,OACtDC,CAAAA,OAAQL,KAAKF,OAAOO,GAAIxB,aAMpByB,KAHwCH,GAAaC,OAAQC,CAAAA,OAClEL,KAAKO,iBAAiBF,GAAIxB,SAAAA,CAAAA,EAE6C2B;AAExE,eAAWH,MAAOF,IAAc;AAC/B,YAAMM,KAAAA,CAAAA,CAA+BT,KAAKF,OAAOY,kBAAkBL,OAAQC;AAC3EN,WAAKW,aAAaV,IAASI,IAAKI,EAAAA;AAAAA,IACjC;AAEAT,SAAKY,gBAAgBX,IAASE,KAC9BH,KAAKa,8BAA8BZ,IAASE,EAAAA,GAC5CH,KAAKc,6BAA6Bb,EAAAA;AAAAA,EACnC;AAAA,EAEQ,aAAaA,IAAwBI,IAAqBK,IAAAA;AACjE,UAAMK,KAAsBC,EAAcX,GAAI1B,IAAAA,GACxCsC,KAA0BjB,KAAKO,iBAAiBF,GAAIxB;AAsB1D,QApBAoB,GAAQiB,iBAAiB,EACxBvC,MAAM0B,GAAI1B,MACVG,MAAMuB,GAAIvB,MACVqC,OAAA,MACQC,SAASC,cAAchB,GAAItB,GAAAA,GAEnCM,cAAc,CAACiC,IAAOhC,OAAYe,GAAIhB,aAAaC,KACnDC,WAAWc,GAAId,WACfC,UAAUa,GAAIb,aAGfS,GAAQsB,gBAAgBR,IAAa,MAAA;AACpC,YAAMS,KAAKC,EAAWxB,GAAQyB,SAAAA,GAAYC,EAAOtB,GAAI1B,IAAAA,CAAAA;AACrD,aAAA,CAAA,CAAI6C,OACHvB,GAAQ2B,SAASJ,EAAAA,GAAAA;AAAAA,IACV,CAAA,GAKLP,IAAgB;AACnB,YAAMjC,KACQ,kBAAbqB,GAAI1B,OAAyBqB,KAAKD,OAAOtC,mBAAmBuC,KAAKD,OAAOnC,gBACnEiE,KACQ,kBAAbxB,GAAI1B,OACDqB,KAAKD,OAAOrC,mBAAmBoE,EAAezB,GAAIlB,UAAAA,CAAAA,IAClDa,KAAKD,OAAOlC,iBAAiBiE,EAAezB,GAAIlB,UAAAA,CAAAA;AACpDc,MAAAA,GAAQ8B,oBAAoB,EAC3BpC,IAAIU,GAAI1B,MACRqD,OAAO,UACP/C,MAAMoB,GAAIpB,MACVD,WACA6C,SAAAA,IACAI,SAASlB,IACTlB,UAAUQ,GAAIjB,iBACdsB,gBAAAA,IACAwB,UAAWC,CAAAA,OAAUC,EAAaD,IAAOR,EAAOtB,GAAI1B;IAEtD;AAAA,EACD;AAAA,EAEQ,gBAAgBsB,IAAwBoC;AAC/C,UAAMC,KAAwC,CAAA;AAC9C,eAAWjC,MAAOgC,IAAO;AACxB,YAAMtB,KAAsBC,EAAcX,GAAI1B,IAAAA;AAC9C2D,MAAAA,GAAOjC,GAAIlB,cAAc,MAAMc,GAAQsC,eAAexB,EAAAA;AAAAA,IACvD;AACIyB,WAAOC,KAAKH,EAAAA,EAAQI,SAAS,KAChCzC,GAAQ0C,eAAeL,EAAAA;AAAAA,EAEzB;AAAA,EAQQ,8BACPrC,IACAE;AAGCA,IAAAA,GAAayC,KAAMC,CAAAA,OAAiB,kBAAXA,GAAElE,IAAAA,KAC3BwB,GAAayC,KAAMC,CAAAA,OAAiB,gBAAXA,GAAElE,IAAAA,KAI5BsB,GAAQ6C,mBACP,CAACtB,IAAIuB,IAAQC,OAAAA;AACZ,UAAIC;AAGJ,YAAMC,KAAuB,CAAA;AAC7B,iBAAWC,MAAQ3B,GAAG4B,OAAO;AAC5B,YAAkB,cAAdD,GAAKxE,MAAoB;AAC5BuE,UAAAA,GAAaG,KAAKF,EAAAA;AAClB;AAAA,QACD;AAEA,cAAMG,KAAmBH,GAAKI,KAAK5E,MAC7B0B,KAAkC3B,EAAiB8E,KAAMX,CAAAA,OAAMA,GAAElE,SAAS2E,EAAAA;AAChF,YAAA,CAAKjD,IAAK;AACT6C,UAAAA,GAAaG,KAAKF,EAAAA;AAClB;AAAA,QACD;AAEAF,QAAAA,KAAAA;AACA,cAAMQ,KAA6B,EAClC9E,MAAM,cACN+E,SAASP,GAAKO,SACdC,MAAMR,GAAKQ,MACXC,IAAIT,GAAKS,IACTL,MAAM,EAAE5E,MAAMgD,EAAOtB,GAAIzB,QAAAA,EAAAA,GAAAA,GACrBuE,GAAKU,OAAO,EAAEA,MAAMV,GAAKU,SAAS,CAAA,EAAA;AAEvCX,QAAAA,GAAaG,KAAKI,IAAYN,EAAAA;AAAAA,MAC/B;AAGA,UAAIW,KAA2CtC,GAAGsC;AAClD,UAAIA,IAAkB;AACrB,cAAMC,KAAkBD,GAAiBlB,KAAMoB,CAAAA,OAAiB,kBAAXA,GAAErF,IAAAA,GACjDsF,KAAkBH,GAAiBlB,KAAMoB,CAAAA,OAAiB,gBAAXA,GAAErF,IAAAA;AAEvD,YAAIoF,MAAUE,IAAQ;AAErB,gBAMMC,KANqBJ,GAAiBK,cAC1CH,CAAAA,OAAiB,kBAAXA,GAAErF,IAAAA,IAEiBmF,GAAiBK,cAC1CH,CAAAA,OAAiB,gBAAXA,GAAErF,IAAAA,IAE2C,cAAc;AAEnEmF,UAAAA,KAAmBA,GAAiB1D,OAAQ4D,CAAAA,OAAMA,GAAErF,SAASuF,EAAAA,GAC7DjB;QACD;AAAA,MACD;AAEAD,MAAAA,GAAKC,KAAU,KAAKzB,IAAI4B,OAAOF,IAAcY,kBAAAA,GAAAA,IAAqBtC,EAAAA;AAAAA,IAAAA,GAEnE,EAAE5B,MAAM,wBAAA,CAAA;AAAA,EAEV;AAAA,EAMQ,6BAA6BK,IAAAA;AACpC,QAAKD,KAAKF,OAAOsE,QAEjB,YAAW/D,MAAO3B,GAAkB;AACnC,YAAM2F,KAA0BrE,KAAKF,OAAOO,GAAIxB,SAAAA,GAC1CoC,KAA0BjB,KAAKF,OAAOsE,QAAQ/D,GAAIxB,SAAAA,KAAAA;AAExD,UAAA,CAAKwF,MAAkBpD,IAAgB;AACtC,cAAMjC,KACQ,kBAAbqB,GAAI1B,OAAyBqB,KAAKD,OAAOtC,mBAAmBuC,KAAKD,OAAOnC;AACzEqC,QAAAA,GAAQ8B,oBAAoB,EAC3BpC,IAAIU,GAAI1B,MACRqD,OAAO,UACP/C,MAAMoB,GAAIpB,MACVD,OAAAA,IACAiD,SAASjB,EAAcX,GAAI1B,IAAAA,GAC3BkB,UAAUQ,GAAIjB,iBACdkF,WAAW,MAAA,MAAM,CAAA;AAAA,MAEnB;AAAA,IACD;AAAA,EACD;AAAA,EAEQ,iBACPzF,IAAAA;AAEA,YAAKmB,KAAKF,OAAOsE,YACVpE,KAAKF,OAAOsE,QAAQvF,EAAAA,KAAAA;AAAAA,EAC5B;AAAA;AAID,SAASmC,EAAcuD,IAAAA;AACtB,SAAO,SAASA,GAASC,OAAO,GAAGC,YAAAA,CAAAA,GAAgBF,GAASG,MAAM,CAAA,CAAA;AACnE;"}