@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,124 +0,0 @@
1
- import { i as t, g as e, a as n, r as o } from "./AttributedMarkCommands-BtLea72z.mjs";
2
- import { r as i } from "./resolvePluginLocale-B4w1OkPy.mjs";
3
- import { e as r } from "./HTMLUtils-DTqQzcKR.mjs";
4
- import { m as a } from "./TypeBrands-C09nE2qO.mjs";
5
- import { a as s, g as l } from "./StyleRuntime-ChRjVQwL.mjs";
6
- import { b as c } from "./ColorValidation-CV4f1wu6.mjs";
7
- import { a as p } from "./ToolbarPlugin-DpLVJ71w.mjs";
8
- const m = { label: "Font", tooltip: "Font Family" }, f = { en: m, de: { label: "Schriftart", tooltip: "Schriftfamilie" }, es: { label: "Fuente", tooltip: "Familia de fuente" }, fr: { label: "Police", tooltip: "Famille de police" }, zh: { label: "字体", tooltip: "字体系列" }, ru: { label: "Шрифт", tooltip: "Семейство шрифтов" }, ar: { label: "الخط", tooltip: "عائلة الخط" }, hi: { label: "फ़ॉन्ट", tooltip: "फ़ॉन्ट परिवार" } };
9
- class d {
10
- id = "font";
11
- name = "Font";
12
- priority = 22;
13
- config;
14
- locale;
15
- injectedStyleElement = null;
16
- context = null;
17
- constructor(t2) {
18
- this.config = t2;
19
- }
20
- init(t2) {
21
- this.locale = i(f, t2, this.config.locale), t2.registerStyleSheet("\n/* Font Select — Width overrides for combobox button */\n.notectl-toolbar-btn--font {\n min-width: 100px;\n max-width: 160px;\n}\n\n/* Font Picker Popup */\n.notectl-font-picker {\n min-width: 200px;\n max-height: 320px;\n overflow-y: auto;\n}\n\n.notectl-font-picker__list {\n padding: 4px 0;\n}\n\n.notectl-font-picker__item {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 7px 12px;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 14px;\n color: var(--notectl-fg);\n line-height: 1.4;\n text-align: left;\n white-space: nowrap;\n font-family: inherit;\n transition: background 0.1s;\n}\n\n.notectl-font-picker__item:hover {\n background: var(--notectl-hover-bg);\n}\n\n.notectl-font-picker__item--active {\n background: var(--notectl-active-bg);\n color: var(--notectl-primary-fg);\n}\n\n.notectl-font-picker__item--active:hover {\n background: var(--notectl-active-bg);\n}\n\n.notectl-font-picker__check {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n flex-shrink: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--notectl-primary-fg);\n}\n\n.notectl-font-picker__label {\n flex: 1;\n}\n\n.notectl-font-picker__separator {\n height: 1px;\n background: var(--notectl-border);\n margin: 4px 8px;\n}\n"), this.context = t2, this.registerMarkSpec(t2), this.registerCommands(t2), this.registerToolbarItem(t2), this.injectFontFaces();
22
- }
23
- destroy() {
24
- this.injectedStyleElement?.remove(), this.injectedStyleElement = null, this.context = null;
25
- }
26
- registerMarkSpec(t2) {
27
- t2.registerMarkSpec({ type: "font", rank: 6, attrs: { family: { default: "" } }, toDOM(t3) {
28
- const e2 = document.createElement("span"), n2 = t3.attrs?.family ?? "";
29
- return n2 && s(e2, "fontFamily", n2), e2;
30
- }, toHTMLString: (t3, e2) => {
31
- const n2 = String(t3.attrs?.family ?? "");
32
- return n2 && c(n2) ? `<span style="font-family: ${r(n2)}">${e2}</span>` : e2;
33
- }, toHTMLStyle: (t3) => {
34
- const e2 = String(t3.attrs?.family ?? "");
35
- return e2 && c(e2) ? `font-family: ${r(e2)}` : null;
36
- }, parseHTML: [{ tag: "span", getAttrs: (t3) => {
37
- const e2 = t3.style.fontFamily;
38
- return !!e2 && { family: e2 };
39
- } }], sanitize: { tags: ["span"] } });
40
- }
41
- registerCommands(t2) {
42
- t2.registerCommand("removeFont", () => {
43
- const e2 = t2.getState();
44
- return this.removeFont(t2, e2);
45
- }), t2.registerCommand("setFont", () => false);
46
- }
47
- get defaultFont() {
48
- if (this.config.defaultFont) {
49
- const t3 = this.config.fonts.find((t4) => t4.name === this.config.defaultFont);
50
- if (t3) return t3;
51
- }
52
- const t2 = this.config.fonts[0];
53
- if (!t2) throw new Error("FontPlugin: fonts list is empty");
54
- return t2;
55
- }
56
- registerToolbarItem(t2) {
57
- t2.registerToolbarItem({ id: "font", group: "format", label: this.locale.label, tooltip: this.locale.tooltip, command: "removeFont", priority: 5, popupType: "combobox", separatorAfter: this.config.separatorAfter, getLabel: (t3) => this.resolveFontName(this.getActiveFont(t3)), renderPopup: (t3, e2) => {
58
- this.renderFontPopup(t3, e2);
59
- }, isActive: (t3) => this.isFontActive(t3) });
60
- }
61
- resolveFontName(t2) {
62
- if (!t2) return this.defaultFont.name;
63
- const e2 = this.config.fonts.find((e3) => e3.family === t2);
64
- return e2?.name ?? (t2.split(",")[0] ?? "").trim().replace(/'/g, "");
65
- }
66
- isFontActive(e2) {
67
- return t(e2, "font");
68
- }
69
- getActiveFont(t2) {
70
- return e(t2, "font", (t3) => t3.attrs.family ?? null);
71
- }
72
- applyFont(t2, e2, o2) {
73
- const i2 = { type: a("font"), attrs: { family: o2 } }, r2 = n(e2, i2);
74
- return !!r2 && (t2.dispatch(r2), true);
75
- }
76
- removeFont(t2, e2) {
77
- const n2 = o(e2, a("font"));
78
- return !!n2 && (t2.dispatch(n2), true);
79
- }
80
- injectFontFaces() {
81
- const t2 = [];
82
- for (const e3 of this.config.fonts) if (e3.fontFaces?.length) for (const n3 of e3.fontFaces) {
83
- const o2 = [`font-family: '${(e3.family.split(",")[0] ?? "").trim().replace(/'/g, "")}'`, `src: ${n3.src}`];
84
- n3.weight && o2.push(`font-weight: ${n3.weight}`), n3.style && o2.push(`font-style: ${n3.style}`), o2.push(`font-display: ${n3.display ?? "swap"}`), t2.push(`@font-face {
85
- ${o2.join(";\n ")};
86
- }`);
87
- }
88
- if (0 === t2.length) return;
89
- const e2 = document.createElement("style");
90
- e2.setAttribute("data-notectl-fonts", "");
91
- const n2 = this.context ? l(this.context.getContainer()) : void 0;
92
- n2 && e2.setAttribute("nonce", n2), e2.textContent = t2.join("\n\n"), document.head.appendChild(e2), this.injectedStyleElement = e2;
93
- }
94
- dismissPopup() {
95
- const t2 = this.context?.getService(p);
96
- t2?.closePopup();
97
- }
98
- renderFontPopup(t2, e2) {
99
- t2.classList.add("notectl-font-picker");
100
- const n2 = e2.getState(), o2 = this.getActiveFont(n2), i2 = this.defaultFont.family, r2 = document.createElement("div");
101
- r2.className = "notectl-font-picker__list", r2.setAttribute("role", "listbox"), r2.setAttribute("aria-label", this.locale.label);
102
- for (const t3 of this.config.fonts) {
103
- const n3 = t3.family === i2, a2 = n3 && !o2 || o2 === t3.family, s2 = this.createFontItem(t3.name, t3.family, a2, (o3) => {
104
- o3.preventDefault(), o3.stopPropagation(), n3 ? e2.executeCommand("removeFont") : this.applyFont(e2, e2.getState(), t3.family), this.dismissPopup();
105
- });
106
- t3.category && s2.setAttribute("data-category", t3.category), r2.appendChild(s2);
107
- }
108
- t2.appendChild(r2);
109
- }
110
- createFontItem(t2, e2, n2, o2) {
111
- const i2 = document.createElement("button");
112
- i2.type = "button", i2.className = "notectl-font-picker__item", i2.setAttribute("role", "option"), i2.setAttribute("aria-selected", String(n2)), n2 && i2.classList.add("notectl-font-picker__item--active");
113
- const r2 = document.createElement("span");
114
- r2.className = "notectl-font-picker__check", r2.textContent = n2 ? "✓" : "", i2.appendChild(r2);
115
- const a2 = document.createElement("span");
116
- return a2.className = "notectl-font-picker__label", a2.textContent = t2, e2 && s(a2, "fontFamily", e2), i2.appendChild(a2), i2.addEventListener("mousedown", o2), i2;
117
- }
118
- }
119
- export {
120
- d as F,
121
- f as a,
122
- m as b
123
- };
124
- //# sourceMappingURL=index-CWltg1wK.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CWltg1wK.mjs","sources":["../../src/editor/styles/font-select.ts","../../src/plugins/font/FontLocale.ts","../../src/plugins/font/FontPlugin.ts"],"sourcesContent":["/** Font picker toolbar combobox + popup styles. */\nexport const FONT_SELECT_CSS = `\n/* Font Select — Width overrides for combobox button */\n.notectl-toolbar-btn--font {\n\tmin-width: 100px;\n\tmax-width: 160px;\n}\n\n/* Font Picker Popup */\n.notectl-font-picker {\n\tmin-width: 200px;\n\tmax-height: 320px;\n\toverflow-y: auto;\n}\n\n.notectl-font-picker__list {\n\tpadding: 4px 0;\n}\n\n.notectl-font-picker__item {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\twidth: 100%;\n\tpadding: 7px 12px;\n\tborder: none;\n\tbackground: none;\n\tcursor: pointer;\n\tfont-size: 14px;\n\tcolor: var(--notectl-fg);\n\tline-height: 1.4;\n\ttext-align: left;\n\twhite-space: nowrap;\n\tfont-family: inherit;\n\ttransition: background 0.1s;\n}\n\n.notectl-font-picker__item:hover {\n\tbackground: var(--notectl-hover-bg);\n}\n\n.notectl-font-picker__item--active {\n\tbackground: var(--notectl-active-bg);\n\tcolor: var(--notectl-primary-fg);\n}\n\n.notectl-font-picker__item--active:hover {\n\tbackground: var(--notectl-active-bg);\n}\n\n.notectl-font-picker__check {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 16px;\n\tflex-shrink: 0;\n\tfont-size: 13px;\n\tfont-weight: 600;\n\tcolor: var(--notectl-primary-fg);\n}\n\n.notectl-font-picker__label {\n\tflex: 1;\n}\n\n.notectl-font-picker__separator {\n\theight: 1px;\n\tbackground: var(--notectl-border);\n\tmargin: 4px 8px;\n}\n`;\n","/** Locale interface and default English locale for the FontPlugin. */\n\n// --- Locale Interface ---\n\nexport interface FontLocale {\n\treadonly label: string;\n\treadonly tooltip: string;\n}\n\n// --- Default English Locale ---\n\nexport const FONT_LOCALE_EN: FontLocale = {\n\tlabel: 'Font',\n\ttooltip: 'Font Family',\n};\n\n// --- German Locale ---\n\nexport const FONT_LOCALE_DE: FontLocale = {\n\tlabel: 'Schriftart',\n\ttooltip: 'Schriftfamilie',\n};\n\n// --- Spanish Locale ---\n\nexport const FONT_LOCALE_ES: FontLocale = {\n\tlabel: 'Fuente',\n\ttooltip: 'Familia de fuente',\n};\n\n// --- French Locale ---\n\nexport const FONT_LOCALE_FR: FontLocale = {\n\tlabel: 'Police',\n\ttooltip: 'Famille de police',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const FONT_LOCALE_ZH: FontLocale = {\n\tlabel: '字体',\n\ttooltip: '字体系列',\n};\n\n// --- Russian Locale ---\n\nexport const FONT_LOCALE_RU: FontLocale = {\n\tlabel: 'Шрифт',\n\ttooltip: 'Семейство шрифтов',\n};\n\n// --- Arabic Locale ---\n\nexport const FONT_LOCALE_AR: FontLocale = {\n\tlabel: 'الخط',\n\ttooltip: 'عائلة الخط',\n};\n\n// --- Hindi Locale ---\n\nexport const FONT_LOCALE_HI: FontLocale = {\n\tlabel: 'फ़ॉन्ट',\n\ttooltip: 'फ़ॉन्ट परिवार',\n};\n\n// --- Locale Map ---\n\nexport const FONT_LOCALES: Record<string, FontLocale> = {\n\ten: FONT_LOCALE_EN,\n\tde: FONT_LOCALE_DE,\n\tes: FONT_LOCALE_ES,\n\tfr: FONT_LOCALE_FR,\n\tzh: FONT_LOCALE_ZH,\n\tru: FONT_LOCALE_RU,\n\tar: FONT_LOCALE_AR,\n\thi: FONT_LOCALE_HI,\n};\n","/**\n * FontPlugin: registers a font-family mark, a combobox-style toolbar selector\n * for font selection, and a developer-friendly API for registering custom fonts\n * (WOFF2, TTF, OTF).\n */\n\nimport {\n\tapplyAttributedMark,\n\tgetMarkAttrAtSelection,\n\tisAttributedMarkActive,\n\tremoveAttributedMark,\n} from '../../commands/AttributedMarkCommands.js';\nimport { FONT_SELECT_CSS } from '../../editor/styles/font-select.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport { escapeHTML } from '../../model/HTMLUtils.js';\nimport { markType } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport { getStyleNonceForNode, setStyleProperty } from '../../style/StyleRuntime.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { isValidCSSFontFamily } from '../shared/ColorValidation.js';\nimport { ToolbarServiceKey } from '../toolbar/ToolbarPlugin.js';\nimport { FONT_LOCALES, type FontLocale } from './FontLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface MarkAttrRegistry {\n\t\tfont: { family: string };\n\t}\n}\n\n// --- Public Types ---\n\n/** Describes a single @font-face source. */\nexport interface FontFaceDescriptor {\n\t/** CSS `src` value, e.g. `\"url('/fonts/My.woff2') format('woff2')\"`. */\n\treadonly src: string;\n\t/** Font weight, e.g. `'400'` or `'300 700'` for variable fonts. */\n\treadonly weight?: string;\n\t/** Font style, e.g. `'normal'` or `'italic'`. */\n\treadonly style?: string;\n\t/** Font display strategy. Defaults to `'swap'`. */\n\treadonly display?: string;\n}\n\n/** Defines a font available in the editor. */\nexport interface FontDefinition {\n\t/** Display name shown in the toolbar dropdown. */\n\treadonly name: string;\n\t/** CSS `font-family` value, e.g. `\"'Fira Code', monospace\"`. */\n\treadonly family: string;\n\t/** Font category for grouping in the UI. */\n\treadonly category?: 'serif' | 'sans-serif' | 'monospace' | 'display' | 'handwriting';\n\t/**\n\t * Optional `@font-face` descriptors. When provided, the plugin\n\t * auto-injects the corresponding CSS rules into the document.\n\t */\n\treadonly fontFaces?: readonly FontFaceDescriptor[];\n}\n\n// --- Configuration ---\n\nexport interface FontConfig {\n\t/**\n\t * Fonts available in the editor. System fonts require no `fontFaces`.\n\t * Custom fonts with `fontFaces` get their `@font-face` rules auto-injected.\n\t *\n\t * Use `STARTER_FONTS` for a pre-configured set of fonts:\n\t * ```ts\n\t * new FontPlugin({ fonts: [...STARTER_FONTS] })\n\t * ```\n\t */\n\treadonly fonts: readonly FontDefinition[];\n\t/**\n\t * Name of the font that acts as the editor's default.\n\t * Selecting this font removes the mark (since the editor already uses it).\n\t * Defaults to the first font in the list.\n\t */\n\treadonly defaultFont?: string;\n\t/** When true, a separator is rendered after the font toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: FontLocale;\n}\n\n// --- Plugin ---\n\nexport class FontPlugin implements Plugin {\n\treadonly id = 'font';\n\treadonly name = 'Font';\n\treadonly priority = 22;\n\n\tprivate readonly config: FontConfig;\n\tprivate locale!: FontLocale;\n\tprivate injectedStyleElement: HTMLStyleElement | null = null;\n\tprivate context: PluginContext | null = null;\n\n\tconstructor(config: FontConfig) {\n\t\tthis.config = config;\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(FONT_LOCALES, context, this.config.locale);\n\n\t\tcontext.registerStyleSheet(FONT_SELECT_CSS);\n\t\tthis.context = context;\n\t\tthis.registerMarkSpec(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerToolbarItem(context);\n\t\tthis.injectFontFaces();\n\t}\n\n\tdestroy(): void {\n\t\tthis.injectedStyleElement?.remove();\n\t\tthis.injectedStyleElement = null;\n\t\tthis.context = null;\n\t}\n\n\t// --- Schema ---\n\n\tprivate registerMarkSpec(context: PluginContext): void {\n\t\tcontext.registerMarkSpec({\n\t\t\ttype: 'font',\n\t\t\trank: 6,\n\t\t\tattrs: {\n\t\t\t\tfamily: { default: '' },\n\t\t\t},\n\t\t\ttoDOM(mark) {\n\t\t\t\tconst span: HTMLElement = document.createElement('span');\n\t\t\t\tconst family: string = mark.attrs?.family ?? '';\n\t\t\t\tif (family) {\n\t\t\t\t\tsetStyleProperty(span, 'fontFamily', family);\n\t\t\t\t}\n\t\t\t\treturn span;\n\t\t\t},\n\t\t\ttoHTMLString: (mark, content) => {\n\t\t\t\tconst family: string = String(mark.attrs?.family ?? '');\n\t\t\t\tif (!family || !isValidCSSFontFamily(family)) return content;\n\t\t\t\treturn `<span style=\"font-family: ${escapeHTML(family)}\">${content}</span>`;\n\t\t\t},\n\t\t\ttoHTMLStyle: (mark) => {\n\t\t\t\tconst family: string = String(mark.attrs?.family ?? '');\n\t\t\t\tif (!family || !isValidCSSFontFamily(family)) return null;\n\t\t\t\treturn `font-family: ${escapeHTML(family)}`;\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 family: string = el.style.fontFamily;\n\t\t\t\t\t\tif (!family) return false;\n\t\t\t\t\t\treturn { family };\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\t// --- Commands ---\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tcontext.registerCommand('removeFont', () => {\n\t\t\tconst state: EditorState = context.getState();\n\t\t\treturn this.removeFont(context, state);\n\t\t});\n\n\t\tcontext.registerCommand('setFont', () => {\n\t\t\treturn false;\n\t\t});\n\t}\n\n\t// --- Toolbar ---\n\n\tprivate get defaultFont(): FontDefinition {\n\t\tif (this.config.defaultFont) {\n\t\t\tconst found: FontDefinition | undefined = this.config.fonts.find(\n\t\t\t\t(f) => f.name === this.config.defaultFont,\n\t\t\t);\n\t\t\tif (found) return found;\n\t\t}\n\t\tconst first: FontDefinition | undefined = this.config.fonts[0];\n\t\tif (!first) throw new Error('FontPlugin: fonts list is empty');\n\t\treturn first;\n\t}\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'font',\n\t\t\tgroup: 'format',\n\t\t\tlabel: this.locale.label,\n\t\t\ttooltip: this.locale.tooltip,\n\t\t\tcommand: 'removeFont',\n\t\t\tpriority: 5,\n\t\t\tpopupType: 'combobox',\n\t\t\tseparatorAfter: this.config.separatorAfter,\n\t\t\tgetLabel: (state: EditorState): string => this.resolveFontName(this.getActiveFont(state)),\n\t\t\trenderPopup: (container, ctx) => {\n\t\t\t\tthis.renderFontPopup(container, ctx);\n\t\t\t},\n\t\t\tisActive: (state) => this.isFontActive(state),\n\t\t});\n\t}\n\n\tprivate resolveFontName(family: string | null): string {\n\t\tif (!family) return this.defaultFont.name;\n\t\tconst match: FontDefinition | undefined = this.config.fonts.find((f) => f.family === family);\n\t\treturn match?.name ?? (family.split(',')[0] ?? '').trim().replace(/'/g, '');\n\t}\n\n\t// --- State Queries ---\n\n\tprivate isFontActive(state: EditorState): boolean {\n\t\treturn isAttributedMarkActive(state, 'font');\n\t}\n\n\tgetActiveFont(state: EditorState): string | null {\n\t\treturn getMarkAttrAtSelection(state, 'font', (m) => m.attrs.family ?? null);\n\t}\n\n\t// --- Font Application ---\n\n\tapplyFont(context: PluginContext, state: EditorState, family: string): boolean {\n\t\tconst mark = { type: markType('font'), attrs: { family } };\n\t\tconst tr = applyAttributedMark(state, mark);\n\t\tif (!tr) return false;\n\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate removeFont(context: PluginContext, state: EditorState): boolean {\n\t\tconst tr = removeAttributedMark(state, markType('font'));\n\t\tif (!tr) return false;\n\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\t// --- @font-face Injection ---\n\n\tprivate injectFontFaces(): void {\n\t\tconst rules: string[] = [];\n\n\t\tfor (const font of this.config.fonts) {\n\t\t\tif (!font.fontFaces?.length) continue;\n\n\t\t\tfor (const face of font.fontFaces) {\n\t\t\t\tconst familyName: string = (font.family.split(',')[0] ?? '').trim().replace(/'/g, '');\n\t\t\t\tconst declarations: string[] = [`font-family: '${familyName}'`, `src: ${face.src}`];\n\t\t\t\tif (face.weight) {\n\t\t\t\t\tdeclarations.push(`font-weight: ${face.weight}`);\n\t\t\t\t}\n\t\t\t\tif (face.style) {\n\t\t\t\t\tdeclarations.push(`font-style: ${face.style}`);\n\t\t\t\t}\n\t\t\t\tdeclarations.push(`font-display: ${face.display ?? 'swap'}`);\n\n\t\t\t\trules.push(`@font-face {\\n\\t${declarations.join(';\\n\\t')};\\n}`);\n\t\t\t}\n\t\t}\n\n\t\tif (rules.length === 0) return;\n\n\t\tconst style: HTMLStyleElement = document.createElement('style');\n\t\tstyle.setAttribute('data-notectl-fonts', '');\n\t\tconst nonce = this.context ? getStyleNonceForNode(this.context.getContainer()) : undefined;\n\t\tif (nonce) {\n\t\t\tstyle.setAttribute('nonce', nonce);\n\t\t}\n\t\tstyle.textContent = rules.join('\\n\\n');\n\t\tdocument.head.appendChild(style);\n\t\tthis.injectedStyleElement = style;\n\t}\n\n\t// --- Popup Rendering ---\n\n\tprivate dismissPopup(): void {\n\t\tconst toolbar = this.context?.getService(ToolbarServiceKey);\n\t\ttoolbar?.closePopup();\n\t}\n\n\tprivate renderFontPopup(container: HTMLElement, context: PluginContext): void {\n\t\tcontainer.classList.add('notectl-font-picker');\n\n\t\tconst state: EditorState = context.getState();\n\t\tconst activeFont: string | null = this.getActiveFont(state);\n\t\tconst defaultFamily: string = this.defaultFont.family;\n\n\t\tconst list: HTMLDivElement = document.createElement('div');\n\t\tlist.className = 'notectl-font-picker__list';\n\t\tlist.setAttribute('role', 'listbox');\n\t\tlist.setAttribute('aria-label', this.locale.label);\n\n\t\tfor (const font of this.config.fonts) {\n\t\t\tconst isDefault: boolean = font.family === defaultFamily;\n\t\t\tconst isActive: boolean = isDefault\n\t\t\t\t? !activeFont || activeFont === font.family\n\t\t\t\t: activeFont === font.family;\n\n\t\t\tconst item: HTMLButtonElement = this.createFontItem(\n\t\t\t\tfont.name,\n\t\t\t\tfont.family,\n\t\t\t\tisActive,\n\t\t\t\t(e: MouseEvent) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tif (isDefault) {\n\t\t\t\t\t\tcontext.executeCommand('removeFont');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.applyFont(context, context.getState(), font.family);\n\t\t\t\t\t}\n\t\t\t\t\tthis.dismissPopup();\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tif (font.category) {\n\t\t\t\titem.setAttribute('data-category', font.category);\n\t\t\t}\n\n\t\t\tlist.appendChild(item);\n\t\t}\n\n\t\tcontainer.appendChild(list);\n\t}\n\n\tprivate createFontItem(\n\t\tname: string,\n\t\tfamily: string,\n\t\tisActive: boolean,\n\t\thandler: (e: MouseEvent) => void,\n\t): HTMLButtonElement {\n\t\tconst item: HTMLButtonElement = document.createElement('button');\n\t\titem.type = 'button';\n\t\titem.className = 'notectl-font-picker__item';\n\t\titem.setAttribute('role', 'option');\n\t\titem.setAttribute('aria-selected', String(isActive));\n\n\t\tif (isActive) {\n\t\t\titem.classList.add('notectl-font-picker__item--active');\n\t\t}\n\n\t\t// Checkmark indicator\n\t\tconst check: HTMLSpanElement = document.createElement('span');\n\t\tcheck.className = 'notectl-font-picker__check';\n\t\tcheck.textContent = isActive ? '\\u2713' : '';\n\t\titem.appendChild(check);\n\n\t\t// Font name label (rendered in the font itself for preview)\n\t\tconst label: HTMLSpanElement = document.createElement('span');\n\t\tlabel.className = 'notectl-font-picker__label';\n\t\tlabel.textContent = name;\n\t\tif (family) {\n\t\t\tsetStyleProperty(label, 'fontFamily', family);\n\t\t}\n\t\titem.appendChild(label);\n\n\t\titem.addEventListener('mousedown', handler);\n\t\treturn item;\n\t}\n}\n"],"names":["FONT_LOCALE_EN","label","tooltip","FONT_LOCALES","en","de","es","fr","zh","ru","ar","hi","FontPlugin","id","name","priority","config","locale","injectedStyleElement","context","this","resolvePluginLocale","registerStyleSheet","registerMarkSpec","registerCommands","registerToolbarItem","injectFontFaces","remove","type","rank","attrs","family","default","mark","span","document","createElement","setStyleProperty","toHTMLString","content","String","isValidCSSFontFamily","escapeHTML","toHTMLStyle","parseHTML","tag","getAttrs","el","style","fontFamily","sanitize","tags","registerCommand","state","getState","removeFont","defaultFont","found","fonts","find","f","first","Error","group","command","popupType","separatorAfter","getLabel","resolveFontName","getActiveFont","renderPopup","container","ctx","renderFontPopup","isActive","isFontActive","match","split","trim","replace","isAttributedMarkActive","getMarkAttrAtSelection","m","markType","tr","applyAttributedMark","dispatch","removeAttributedMark","rules","font","fontFaces","length","face","declarations","src","weight","push","display","join","setAttribute","nonce","getStyleNonceForNode","getContainer","textContent","head","appendChild","dismissPopup","toolbar","getService","ToolbarServiceKey","closePopup","classList","add","activeFont","defaultFamily","list","className","isDefault","item","createFontItem","e","preventDefault","stopPropagation","executeCommand","applyFont","category","handler","check","addEventListener"],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- import { r as e } from "./resolvePluginLocale-B4w1OkPy.mjs";
2
- import { m as t } from "./TypeBrands-C09nE2qO.mjs";
3
- import { f as i } from "./ToolbarItem-BpZggUGo.mjs";
4
- import { e as a, b as r } from "./MarkCommands-6RUJ4L3r.mjs";
5
- const o = { boldLabel: "Bold", italicLabel: "Italic", underlineLabel: "Underline" }, n = { en: o, de: { boldLabel: "Fett", italicLabel: "Kursiv", underlineLabel: "Unterstrichen" }, es: { boldLabel: "Negrita", italicLabel: "Cursiva", underlineLabel: "Subrayado" }, fr: { boldLabel: "Gras", italicLabel: "Italique", underlineLabel: "Souligné" }, zh: { boldLabel: "粗体", italicLabel: "斜体", underlineLabel: "下划线" }, ru: { boldLabel: "Жирный", italicLabel: "Курсив", underlineLabel: "Подчёркнутый" }, ar: { boldLabel: "غامق", italicLabel: "مائل", underlineLabel: "تحته خط" }, hi: { boldLabel: "बोल्ड", italicLabel: "इटैलिक", underlineLabel: "अंडरलाइन" } }, s = { bold: true, italic: true, underline: true }, l = [{ type: "bold", configKey: "bold", rank: 0, tag: "strong", label: "Bold", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"/></svg>', keyBinding: "Mod-B", toHTMLString: (e2) => `<strong>${e2}</strong>`, parseHTML: [{ tag: "strong" }, { tag: "b", getAttrs: (e2) => {
6
- const t2 = e2.style.fontWeight;
7
- return "normal" !== t2 && "400" !== t2 && {};
8
- } }, { tag: "span", getAttrs: (e2) => {
9
- const t2 = e2.style.fontWeight;
10
- if (!t2) return false;
11
- if ("bold" === t2) return {};
12
- const i2 = Number.parseInt(t2, 10);
13
- return !Number.isNaN(i2) && i2 >= 700 && {};
14
- } }], sanitize: { tags: ["strong", "b"] } }, { type: "italic", configKey: "italic", rank: 1, tag: "em", label: "Italic", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"/></svg>', keyBinding: "Mod-I", toHTMLString: (e2) => `<em>${e2}</em>`, parseHTML: [{ tag: "em" }, { tag: "i" }, { tag: "span", getAttrs: (e2) => "italic" === e2.style.fontStyle && {} }], sanitize: { tags: ["em", "i"] } }, { type: "underline", configKey: "underline", rank: 2, tag: "u", label: "Underline", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"/></svg>', keyBinding: "Mod-U", toHTMLString: (e2) => `<u>${e2}</u>`, parseHTML: [{ tag: "u" }, { tag: "span", getAttrs: (e2) => !!e2.style.textDecoration.includes("underline") && {} }], sanitize: { tags: ["u"] } }];
15
- class g {
16
- id = "text-formatting";
17
- name = "Text Formatting";
18
- priority = 20;
19
- config;
20
- locale;
21
- constructor(e2) {
22
- this.config = { ...s, ...e2 };
23
- }
24
- init(t2) {
25
- this.locale = e(n, t2, this.config.locale);
26
- const i2 = l.filter((e2) => this.config[e2.configKey]), a2 = i2.filter((e2) => this.isToolbarVisible(e2.configKey)).at(-1);
27
- for (const e2 of i2) {
28
- const i3 = this.config.separatorAfter && e2 === a2;
29
- this.registerMark(t2, e2, i3);
30
- }
31
- this.registerKeymaps(t2, i2), this.registerDisabledToolbarItems(t2);
32
- }
33
- registerMark(e2, o2, n2) {
34
- const s2 = c(o2.type), l2 = this.isToolbarVisible(o2.configKey);
35
- if (e2.registerMarkSpec({ type: o2.type, rank: o2.rank, toDOM: () => document.createElement(o2.tag), toHTMLString: (e3, t2) => o2.toHTMLString(t2), parseHTML: o2.parseHTML, sanitize: o2.sanitize }), e2.registerCommand(s2, () => {
36
- const i2 = a(e2.getState(), t(o2.type));
37
- return !!i2 && (e2.dispatch(i2), true);
38
- }), l2) {
39
- const a2 = this.getMarkLabel(o2.type);
40
- e2.registerToolbarItem({ id: o2.type, group: "format", icon: o2.icon, label: a2, tooltip: `${a2} (${i(o2.keyBinding)})`, command: s2, priority: 10 * o2.rank + 10, separatorAfter: n2, isActive: (e3) => r(e3, t(o2.type)) });
41
- }
42
- }
43
- registerKeymaps(e2, t2) {
44
- const i2 = {};
45
- for (const a2 of t2) {
46
- const t3 = c(a2.type);
47
- i2[a2.keyBinding] = () => e2.executeCommand(t3);
48
- }
49
- Object.keys(i2).length > 0 && e2.registerKeymap(i2);
50
- }
51
- registerDisabledToolbarItems(e2) {
52
- if (this.config.toolbar) for (const t2 of l) {
53
- const i2 = this.config[t2.configKey], a2 = this.config.toolbar[t2.configKey] ?? true;
54
- !i2 && a2 && e2.registerToolbarItem({ id: t2.type, group: "format", icon: t2.icon, label: this.getMarkLabel(t2.type), command: c(t2.type), priority: 10 * t2.rank + 10, isEnabled: () => false });
55
- }
56
- }
57
- getMarkLabel(e2) {
58
- const t2 = `${e2}Label`;
59
- return this.locale[t2];
60
- }
61
- isToolbarVisible(e2) {
62
- return !this.config.toolbar || (this.config.toolbar[e2] ?? true);
63
- }
64
- }
65
- function c(e2) {
66
- return `toggle${e2.charAt(0).toUpperCase()}${e2.slice(1)}`;
67
- }
68
- export {
69
- g as T,
70
- n as a,
71
- o as b
72
- };
73
- //# sourceMappingURL=index-Cd3uJLP3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Cd3uJLP3.mjs","sources":["../../src/plugins/text-formatting/TextFormattingLocale.ts","../../src/plugins/text-formatting/TextFormattingPlugin.ts"],"sourcesContent":["/**\n * Locale interface and default English locale for the TextFormattingPlugin.\n */\n\n// --- Locale Interface ---\n\nexport interface TextFormattingLocale {\n\treadonly boldLabel: string;\n\treadonly italicLabel: string;\n\treadonly underlineLabel: string;\n}\n\n// --- Default English Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_EN: TextFormattingLocale = {\n\tboldLabel: 'Bold',\n\titalicLabel: 'Italic',\n\tunderlineLabel: 'Underline',\n};\n\n// --- German Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_DE: TextFormattingLocale = {\n\tboldLabel: 'Fett',\n\titalicLabel: 'Kursiv',\n\tunderlineLabel: 'Unterstrichen',\n};\n\n// --- Spanish Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_ES: TextFormattingLocale = {\n\tboldLabel: 'Negrita',\n\titalicLabel: 'Cursiva',\n\tunderlineLabel: 'Subrayado',\n};\n\n// --- French Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_FR: TextFormattingLocale = {\n\tboldLabel: 'Gras',\n\titalicLabel: 'Italique',\n\tunderlineLabel: 'Souligné',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_ZH: TextFormattingLocale = {\n\tboldLabel: '粗体',\n\titalicLabel: '斜体',\n\tunderlineLabel: '下划线',\n};\n\n// --- Russian Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_RU: TextFormattingLocale = {\n\tboldLabel: 'Жирный',\n\titalicLabel: 'Курсив',\n\tunderlineLabel: 'Подчёркнутый',\n};\n\n// --- Arabic Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_AR: TextFormattingLocale = {\n\tboldLabel: 'غامق',\n\titalicLabel: 'مائل',\n\tunderlineLabel: 'تحته خط',\n};\n\n// --- Hindi Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_HI: TextFormattingLocale = {\n\tboldLabel: 'बोल्ड',\n\titalicLabel: 'इटैलिक',\n\tunderlineLabel: 'अंडरलाइन',\n};\n\n// --- Locale Map ---\n\nexport const TEXT_FORMATTING_LOCALES: Record<string, TextFormattingLocale> = {\n\ten: TEXT_FORMATTING_LOCALE_EN,\n\tde: TEXT_FORMATTING_LOCALE_DE,\n\tes: TEXT_FORMATTING_LOCALE_ES,\n\tfr: TEXT_FORMATTING_LOCALE_FR,\n\tzh: TEXT_FORMATTING_LOCALE_ZH,\n\tru: TEXT_FORMATTING_LOCALE_RU,\n\tar: TEXT_FORMATTING_LOCALE_AR,\n\thi: TEXT_FORMATTING_LOCALE_HI,\n};\n","/**\n * TextFormattingPlugin: registers inline marks (bold, italic, underline)\n * with their MarkSpecs, toggle commands, keyboard shortcuts, and toolbar items.\n *\n * This plugin is data-driven — each mark type is defined declaratively and\n * all registrations (MarkSpec, command, keymap, toolbar item) are derived\n * from the same definition.\n *\n * Supports two separate config dimensions:\n * - Feature config (bold/italic/underline): controls whether the mark is\n * registered in the schema. When disabled, the keyboard shortcut does nothing.\n * - Toolbar config: controls whether the toolbar button is visible.\n * When a feature is disabled but toolbar is enabled, the button renders as disabled.\n */\n\nimport { isMarkActive, toggleMark } from '../../commands/Commands.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.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 { Plugin, PluginContext } from '../Plugin.js';\nimport { formatShortcut } from '../toolbar/ToolbarItem.js';\nimport { TEXT_FORMATTING_LOCALES, type TextFormattingLocale } from './TextFormattingLocale.js';\n\n// --- Configuration ---\n\n/** Controls toolbar button visibility per mark. */\nexport interface TextFormattingToolbarConfig {\n\treadonly bold?: boolean;\n\treadonly italic?: boolean;\n\treadonly underline?: boolean;\n}\n\n/** Controls which inline marks are enabled and which toolbar buttons are shown. */\nexport interface TextFormattingConfig {\n\treadonly bold: boolean;\n\treadonly italic: boolean;\n\treadonly underline: boolean;\n\treadonly toolbar?: TextFormattingToolbarConfig;\n\t/** When true, a separator is rendered after the last text-formatting toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: TextFormattingLocale;\n}\n\nconst DEFAULT_CONFIG: TextFormattingConfig = {\n\tbold: true,\n\titalic: true,\n\tunderline: true,\n};\n\n// --- Mark Definitions ---\n\ninterface MarkDefinition {\n\treadonly type: string;\n\treadonly configKey: keyof Omit<TextFormattingConfig, '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 toHTMLString: (content: string) => string;\n\treadonly parseHTML: readonly ParseRule[];\n\treadonly sanitize: SanitizeConfig;\n}\n\nconst BOLD_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z\"/></svg>';\nconst ITALIC_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z\"/></svg>';\nconst UNDERLINE_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z\"/></svg>';\n\nconst MARK_DEFINITIONS: readonly MarkDefinition[] = [\n\t{\n\t\ttype: 'bold',\n\t\tconfigKey: 'bold',\n\t\trank: 0,\n\t\ttag: 'strong',\n\t\tlabel: 'Bold',\n\t\ticon: BOLD_ICON,\n\t\tkeyBinding: 'Mod-B',\n\t\ttoHTMLString: (content) => `<strong>${content}</strong>`,\n\t\tparseHTML: [\n\t\t\t{ tag: 'strong' },\n\t\t\t{\n\t\t\t\ttag: 'b',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\tconst fw: string = el.style.fontWeight;\n\t\t\t\t\treturn fw === 'normal' || fw === '400' ? false : {};\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttag: 'span',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\tconst fw: string = el.style.fontWeight;\n\t\t\t\t\tif (!fw) return false;\n\t\t\t\t\tif (fw === 'bold') return {};\n\t\t\t\t\tconst numeric: number = Number.parseInt(fw, 10);\n\t\t\t\t\treturn !Number.isNaN(numeric) && numeric >= 700 ? {} : false;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tsanitize: { tags: ['strong', 'b'] },\n\t},\n\t{\n\t\ttype: 'italic',\n\t\tconfigKey: 'italic',\n\t\trank: 1,\n\t\ttag: 'em',\n\t\tlabel: 'Italic',\n\t\ticon: ITALIC_ICON,\n\t\tkeyBinding: 'Mod-I',\n\t\ttoHTMLString: (content) => `<em>${content}</em>`,\n\t\tparseHTML: [\n\t\t\t{ tag: 'em' },\n\t\t\t{ tag: 'i' },\n\t\t\t{\n\t\t\t\ttag: 'span',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\treturn el.style.fontStyle === 'italic' ? {} : false;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tsanitize: { tags: ['em', 'i'] },\n\t},\n\t{\n\t\ttype: 'underline',\n\t\tconfigKey: 'underline',\n\t\trank: 2,\n\t\ttag: 'u',\n\t\tlabel: 'Underline',\n\t\ticon: UNDERLINE_ICON,\n\t\tkeyBinding: 'Mod-U',\n\t\ttoHTMLString: (content) => `<u>${content}</u>`,\n\t\tparseHTML: [\n\t\t\t{ tag: 'u' },\n\t\t\t{\n\t\t\t\ttag: 'span',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\treturn el.style.textDecoration.includes('underline') ? {} : false;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tsanitize: { tags: ['u'] },\n\t},\n];\n\n// --- Plugin ---\n\nexport class TextFormattingPlugin implements Plugin {\n\treadonly id = 'text-formatting';\n\treadonly name = 'Text Formatting';\n\treadonly priority = 20;\n\n\tprivate readonly config: TextFormattingConfig;\n\tprivate locale!: TextFormattingLocale;\n\n\tconstructor(config?: Partial<TextFormattingConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(TEXT_FORMATTING_LOCALES, context, this.config.locale);\n\n\t\tconst enabledMarks = MARK_DEFINITIONS.filter((def) => this.config[def.configKey]);\n\n\t\t// Determine which marks will have visible toolbar items\n\t\tconst visibleToolbarMarks = enabledMarks.filter((def) => this.isToolbarVisible(def.configKey));\n\t\tconst lastVisibleMark = visibleToolbarMarks.at(-1);\n\n\t\tfor (const def of enabledMarks) {\n\t\t\tconst isSeparatorTarget = this.config.separatorAfter && def === lastVisibleMark;\n\t\t\tthis.registerMark(context, def, isSeparatorTarget);\n\t\t}\n\n\t\tthis.registerKeymaps(context, enabledMarks);\n\n\t\t// Register disabled placeholder buttons for marks that are disabled\n\t\t// as features but explicitly requested in the toolbar config\n\t\tthis.registerDisabledToolbarItems(context);\n\t}\n\n\tprivate registerMark(\n\t\tcontext: PluginContext,\n\t\tdef: MarkDefinition,\n\t\tseparatorAfter?: boolean,\n\t): void {\n\t\tconst commandName = toCommandName(def.type);\n\t\tconst toolbarVisible = 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 = this.getMarkLabel(def.type);\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: `${label} (${formatShortcut(def.keyBinding)})`,\n\t\t\t\tcommand: commandName,\n\t\t\t\tpriority: def.rank * 10 + 10,\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 = 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 * 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 = this.config[def.configKey];\n\t\t\tconst toolbarVisible = this.config.toolbar[def.configKey] ?? true;\n\n\t\t\tif (!featureEnabled && toolbarVisible) {\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: this.getMarkLabel(def.type),\n\t\t\t\t\tcommand: toCommandName(def.type),\n\t\t\t\t\tpriority: def.rank * 10 + 10,\n\t\t\t\t\tisEnabled: () => false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate getMarkLabel(type: string): string {\n\t\tconst key = `${type}Label` as keyof TextFormattingLocale;\n\t\treturn this.locale[key] as string;\n\t}\n\n\t/** Checks if a toolbar button should be visible for a given mark. */\n\tprivate isToolbarVisible(\n\t\tconfigKey: keyof Omit<TextFormattingConfig, '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. 'bold' → 'toggleBold'). */\nfunction toCommandName(markType: string): string {\n\treturn `toggle${markType.charAt(0).toUpperCase()}${markType.slice(1)}`;\n}\n"],"names":["TEXT_FORMATTING_LOCALE_EN","boldLabel","italicLabel","underlineLabel","TEXT_FORMATTING_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","bold","italic","underline","MARK_DEFINITIONS","type","configKey","rank","tag","label","icon","keyBinding","toHTMLString","content","parseHTML","getAttrs","el","fw","style","fontWeight","numeric","Number","parseInt","isNaN","sanitize","tags","fontStyle","textDecoration","includes","TextFormattingPlugin","id","name","priority","config","locale","this","context","resolvePluginLocale","enabledMarks","filter","def","lastVisibleMark","isToolbarVisible","at","isSeparatorTarget","separatorAfter","registerMark","registerKeymaps","registerDisabledToolbarItems","commandName","toCommandName","toolbarVisible","registerMarkSpec","toDOM","document","createElement","_mark","registerCommand","tr","toggleMark","getState","mkType","dispatch","getMarkLabel","registerToolbarItem","group","tooltip","formatShortcut","command","isActive","state","isMarkActive","marks","keymap","executeCommand","Object","keys","length","registerKeymap","toolbar","featureEnabled","isEnabled","key","markType","charAt","toUpperCase","slice"],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import { r as e } from "./resolvePluginLocale-B4w1OkPy.mjs";
2
- import { k as t } from "./Document-Brtw2jL1.mjs";
3
- import { c as o } from "./NodeSpec-NZVvcCuH.mjs";
4
- import { i as r, a as i, b as l, d as n } from "./Selection-BRTab5hO.mjs";
5
- import { n as a } from "./TypeBrands-C09nE2qO.mjs";
6
- import { f as s } from "./ToolbarItem-BpZggUGo.mjs";
7
- const c = { label: "Horizontal Rule", tooltip: (e2) => `Horizontal Rule (${e2})` }, p = { en: c, de: { label: "Trennlinie", tooltip: (e2) => `Trennlinie (${e2})` }, es: { label: "Línea horizontal", tooltip: (e2) => `Línea horizontal (${e2})` }, fr: { label: "Ligne horizontale", tooltip: (e2) => `Ligne horizontale (${e2})` }, zh: { label: "分隔线", tooltip: (e2) => `分隔线 (${e2})` }, ru: { label: "Горизонтальная линия", tooltip: (e2) => `Горизонтальная линия (${e2})` }, ar: { label: "خط أفقي", tooltip: (e2) => `خط أفقي (${e2})` }, hi: { label: "क्षैतिज रेखा", tooltip: (e2) => `क्षैतिज रेखा (${e2})` } }, u = {};
8
- function h(e2) {
9
- const t2 = e2.selection;
10
- return r(t2) || i(t2) ? -1 : e2.doc.children.findIndex((e3) => e3.id === t2.anchor.blockId);
11
- }
12
- class m {
13
- id = "horizontal-rule";
14
- name = "Horizontal Rule";
15
- priority = 40;
16
- config;
17
- locale;
18
- constructor(e2) {
19
- this.config = { ...u, ...e2 };
20
- }
21
- init(t2) {
22
- this.locale = e(p, t2, this.config.locale), this.registerNodeSpec(t2), this.registerCommands(t2), this.registerKeymap(t2), this.registerInputRule(t2), this.registerToolbarItem(t2);
23
- }
24
- registerNodeSpec(e2) {
25
- e2.registerNodeSpec({ type: "horizontal_rule", group: "block", isVoid: true, toDOM: (e3) => o("hr", e3.id), toHTML: () => "<hr>", parseHTML: [{ tag: "hr" }], sanitize: { tags: ["hr"] } });
26
- }
27
- registerCommands(e2) {
28
- e2.registerCommand("insertHorizontalRule", () => this.insertHorizontalRule(e2));
29
- }
30
- registerKeymap(e2) {
31
- e2.registerKeymap({ "Mod-Shift-H": () => e2.executeCommand("insertHorizontalRule") });
32
- }
33
- registerInputRule(e2) {
34
- e2.registerInputRule({ pattern: /^-{3,} $/, handler(e3, o2, s2, c2) {
35
- const p2 = e3.selection;
36
- if (r(p2) || i(p2)) return null;
37
- if (!l(p2)) return null;
38
- const u2 = e3.getBlock(p2.anchor.blockId);
39
- if (!u2 || "paragraph" !== u2.type) return null;
40
- const m2 = h(e3);
41
- if (-1 === m2) return null;
42
- const d = t(a("paragraph"));
43
- return e3.transaction("input").deleteTextAt(p2.anchor.blockId, 0, c2).setBlockType(p2.anchor.blockId, a("horizontal_rule")).insertNode([], m2 + 1, d).setSelection(n(d.id, 0)).build();
44
- } });
45
- }
46
- registerToolbarItem(e2) {
47
- e2.registerToolbarItem({ id: "horizontal-rule", group: "block", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11h16v2H4z"/></svg>', label: this.locale.label, tooltip: this.locale.tooltip(s("Mod-Shift-H")), command: "insertHorizontalRule", priority: 60, separatorAfter: this.config.separatorAfter, isActive: () => false });
48
- }
49
- insertHorizontalRule(e2) {
50
- const o2 = e2.getState();
51
- if (r(o2.selection) || i(o2.selection)) return false;
52
- const l2 = h(o2);
53
- if (-1 === l2) return false;
54
- const s2 = t(a("horizontal_rule")), c2 = t(a("paragraph")), p2 = o2.transaction("command").insertNode([], l2 + 1, s2).insertNode([], l2 + 2, c2).setSelection(n(c2.id, 0)).build();
55
- return e2.dispatch(p2), true;
56
- }
57
- }
58
- export {
59
- m as H,
60
- p as a,
61
- c as b
62
- };
63
- //# sourceMappingURL=index-CluzpB2b.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CluzpB2b.mjs","sources":["../../src/plugins/horizontal-rule/HorizontalRuleLocale.ts","../../src/plugins/horizontal-rule/HorizontalRulePlugin.ts"],"sourcesContent":["/** Locale interface and default English locale for the HorizontalRulePlugin. */\n\n// --- Locale Interface ---\n\nexport interface HorizontalRuleLocale {\n\treadonly label: string;\n\treadonly tooltip: (shortcut: string) => string;\n}\n\n// --- Default English Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_EN: HorizontalRuleLocale = {\n\tlabel: 'Horizontal Rule',\n\ttooltip: (shortcut: string) => `Horizontal Rule (${shortcut})`,\n};\n\n// --- German Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_DE: HorizontalRuleLocale = {\n\tlabel: 'Trennlinie',\n\ttooltip: (shortcut: string) => `Trennlinie (${shortcut})`,\n};\n\n// --- Spanish Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_ES: HorizontalRuleLocale = {\n\tlabel: 'Línea horizontal',\n\ttooltip: (shortcut: string) => `Línea horizontal (${shortcut})`,\n};\n\n// --- French Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_FR: HorizontalRuleLocale = {\n\tlabel: 'Ligne horizontale',\n\ttooltip: (shortcut: string) => `Ligne horizontale (${shortcut})`,\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_ZH: HorizontalRuleLocale = {\n\tlabel: '分隔线',\n\ttooltip: (shortcut: string) => `分隔线 (${shortcut})`,\n};\n\n// --- Russian Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_RU: HorizontalRuleLocale = {\n\tlabel: 'Горизонтальная линия',\n\ttooltip: (shortcut: string) => `Горизонтальная линия (${shortcut})`,\n};\n\n// --- Arabic Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_AR: HorizontalRuleLocale = {\n\tlabel: 'خط أفقي',\n\ttooltip: (shortcut: string) => `خط أفقي (${shortcut})`,\n};\n\n// --- Hindi Locale ---\n\nexport const HORIZONTAL_RULE_LOCALE_HI: HorizontalRuleLocale = {\n\tlabel: 'क्षैतिज रेखा',\n\ttooltip: (shortcut: string) => `क्षैतिज रेखा (${shortcut})`,\n};\n\n// --- Locale Map ---\n\nexport const HORIZONTAL_RULE_LOCALES: Record<string, HorizontalRuleLocale> = {\n\ten: HORIZONTAL_RULE_LOCALE_EN,\n\tde: HORIZONTAL_RULE_LOCALE_DE,\n\tes: HORIZONTAL_RULE_LOCALE_ES,\n\tfr: HORIZONTAL_RULE_LOCALE_FR,\n\tzh: HORIZONTAL_RULE_LOCALE_ZH,\n\tru: HORIZONTAL_RULE_LOCALE_RU,\n\tar: HORIZONTAL_RULE_LOCALE_AR,\n\thi: HORIZONTAL_RULE_LOCALE_HI,\n};\n","/**\n * HorizontalRulePlugin: registers a horizontal rule (divider) void block type\n * with NodeSpec, insert command, input rule, keyboard shortcut, and toolbar button.\n */\n\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport { createBlockNode } 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 { nodeType } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { formatShortcut } from '../toolbar/ToolbarItem.js';\nimport { HORIZONTAL_RULE_LOCALES, type HorizontalRuleLocale } from './HorizontalRuleLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface NodeAttrRegistry {\n\t\thorizontal_rule: Record<string, never>;\n\t}\n}\n\n// --- Configuration ---\n\nexport interface HorizontalRuleConfig {\n\t/** When true, a separator is rendered after the toolbar item. */\n\treadonly separatorAfter?: boolean;\n\t/** Locale override for user-facing strings. */\n\treadonly locale?: HorizontalRuleLocale;\n}\n\nconst DEFAULT_CONFIG: HorizontalRuleConfig = {};\n\n// --- Helpers ---\n\n/** Finds the index of the cursor's block among top-level document children. */\nfunction findBlockIndexForCursor(state: EditorState): number {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return -1;\n\treturn state.doc.children.findIndex((b) => b.id === sel.anchor.blockId);\n}\n\n// --- Plugin ---\n\nexport class HorizontalRulePlugin implements Plugin {\n\treadonly id = 'horizontal-rule';\n\treadonly name = 'Horizontal Rule';\n\treadonly priority = 40;\n\n\tprivate readonly config: HorizontalRuleConfig;\n\tprivate locale!: HorizontalRuleLocale;\n\n\tconstructor(config?: Partial<HorizontalRuleConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(HORIZONTAL_RULE_LOCALES, context, this.config.locale);\n\t\tthis.registerNodeSpec(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerKeymap(context);\n\t\tthis.registerInputRule(context);\n\t\tthis.registerToolbarItem(context);\n\t}\n\n\tprivate registerNodeSpec(context: PluginContext): void {\n\t\tcontext.registerNodeSpec({\n\t\t\ttype: 'horizontal_rule',\n\t\t\tgroup: 'block',\n\t\t\tisVoid: true,\n\t\t\ttoDOM(node) {\n\t\t\t\treturn createBlockElement('hr', node.id);\n\t\t\t},\n\t\t\ttoHTML() {\n\t\t\t\treturn '<hr>';\n\t\t\t},\n\t\t\tparseHTML: [{ tag: 'hr' }],\n\t\t\tsanitize: { tags: ['hr'] },\n\t\t});\n\t}\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tcontext.registerCommand('insertHorizontalRule', () => {\n\t\t\treturn this.insertHorizontalRule(context);\n\t\t});\n\t}\n\n\tprivate registerKeymap(context: PluginContext): void {\n\t\tcontext.registerKeymap({\n\t\t\t'Mod-Shift-H': () => context.executeCommand('insertHorizontalRule'),\n\t\t});\n\t}\n\n\tprivate registerInputRule(context: PluginContext): void {\n\t\tcontext.registerInputRule({\n\t\t\tpattern: /^-{3,} $/,\n\t\t\thandler(state, _match, _start, end) {\n\t\t\t\tconst sel = state.selection;\n\t\t\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\t\t\t\tif (!isCollapsed(sel)) return null;\n\n\t\t\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\t\t\tif (!block || block.type !== 'paragraph') return null;\n\n\t\t\t\tconst blockIndex: number = findBlockIndexForCursor(state);\n\t\t\t\tif (blockIndex === -1) return null;\n\n\t\t\t\tconst newParagraph = createBlockNode(nodeType('paragraph'));\n\n\t\t\t\treturn state\n\t\t\t\t\t.transaction('input')\n\t\t\t\t\t.deleteTextAt(sel.anchor.blockId, 0, end)\n\t\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('horizontal_rule'))\n\t\t\t\t\t.insertNode([], blockIndex + 1, newParagraph)\n\t\t\t\t\t.setSelection(createCollapsedSelection(newParagraph.id, 0))\n\t\t\t\t\t.build();\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tconst icon =\n\t\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 11h16v2H4z\"/></svg>';\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'horizontal-rule',\n\t\t\tgroup: 'block',\n\t\t\ticon,\n\t\t\tlabel: this.locale.label,\n\t\t\ttooltip: this.locale.tooltip(formatShortcut('Mod-Shift-H')),\n\t\t\tcommand: 'insertHorizontalRule',\n\t\t\tpriority: 60,\n\t\t\tseparatorAfter: this.config.separatorAfter,\n\t\t\tisActive: () => false,\n\t\t});\n\t}\n\n\t/**\n\t * Inserts a horizontal rule after the current block,\n\t * followed by a new paragraph for continued editing.\n\t */\n\tprivate insertHorizontalRule(context: PluginContext): boolean {\n\t\tconst state: EditorState = context.getState();\n\t\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return false;\n\t\tconst blockIndex: number = findBlockIndexForCursor(state);\n\t\tif (blockIndex === -1) return false;\n\n\t\tconst hrBlock = createBlockNode(nodeType('horizontal_rule'));\n\t\tconst newParagraph = createBlockNode(nodeType('paragraph'));\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.insertNode([], blockIndex + 1, hrBlock)\n\t\t\t.insertNode([], blockIndex + 2, newParagraph)\n\t\t\t.setSelection(createCollapsedSelection(newParagraph.id, 0))\n\t\t\t.build();\n\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n}\n"],"names":["HORIZONTAL_RULE_LOCALE_EN","label","tooltip","shortcut","HORIZONTAL_RULE_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","findBlockIndexForCursor","state","sel","selection","isNodeSelection","isGapCursor","doc","children","findIndex","b","id","anchor","blockId","HorizontalRulePlugin","name","priority","config","locale","this","context","resolvePluginLocale","registerNodeSpec","registerCommands","registerKeymap","registerInputRule","registerToolbarItem","type","group","isVoid","toDOM","node","createBlockElement","toHTML","parseHTML","tag","sanitize","tags","registerCommand","insertHorizontalRule","executeCommand","pattern","_match","_start","end","isCollapsed","block","getBlock","blockIndex","newParagraph","createBlockNode","nodeType","transaction","deleteTextAt","setBlockType","insertNode","setSelection","createCollapsedSelection","build","icon","formatShortcut","command","separatorAfter","isActive","getState","hrBlock","tr","dispatch"],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { C as e, r, i as a, a as t } from "./ColorPickerPopup-CiCLBbe9.mjs";
2
- import { r as o } from "./resolvePluginLocale-B4w1OkPy.mjs";
3
- import { e as l } from "./HTMLUtils-DTqQzcKR.mjs";
4
- import { a as i } from "./StyleRuntime-ChRjVQwL.mjs";
5
- import { r as s, i as f } from "./ColorValidation-CV4f1wu6.mjs";
6
- const c = { label: "Highlight", tooltip: "Highlight Color", resetLabel: "None", ariaLabelPrefix: "Highlight color" }, g = { en: c, de: { label: "Hervorhebung", tooltip: "Hervorhebungsfarbe", resetLabel: "Keine", ariaLabelPrefix: "Hervorhebungsfarbe" }, es: { label: "Resaltado", tooltip: "Color de resaltado", resetLabel: "Ninguno", ariaLabelPrefix: "Color de resaltado" }, fr: { label: "Surlignage", tooltip: "Couleur de surlignage", resetLabel: "Aucun", ariaLabelPrefix: "Couleur de surlignage" }, zh: { label: "高亮", tooltip: "高亮颜色", resetLabel: "无", ariaLabelPrefix: "高亮颜色" }, ru: { label: "Выделение", tooltip: "Цвет выделения", resetLabel: "Нет", ariaLabelPrefix: "Цвет выделения" }, ar: { label: "تمييز", tooltip: "لون التمييز", resetLabel: "بدون", ariaLabelPrefix: "لون التمييز" }, hi: { label: "हाइलाइट", tooltip: "हाइलाइट रंग", resetLabel: "कोई नहीं", ariaLabelPrefix: "हाइलाइट रंग" } }, h = ["#fff176", "#aed581", "#4dd0e1", "#64b5f6", "#ce93d8", "#f48fb1", "#ffab91", "#ff8a65", "#e6ee9c", "#80cbc4", "#fff9c4", "#dcedc8", "#e0f7fa", "#e3f2fd", "#f3e5f5", "#fce4ec", "#fff3e0", "#fbe9e7", "#f9fbe7", "#e0f2f1", "#fff59d", "#c5e1a5", "#80deea", "#90caf9", "#e1bee7", "#f8bbd0", "#ffcc80", "#ffab91", "#e6ee9c", "#a5d6a7", "#ffee58", "#9ccc65", "#26c6da", "#42a5f5", "#ab47bc", "#ec407a", "#ffa726", "#ff7043", "#d4e157", "#66bb6a", "#ffffff", "#fafafa", "#f5f5f5", "#eeeeee", "#e0e0e0", "#bdbdbd", "#e8eaf6", "#efebe9", "#eceff1", "#fafafa"];
7
- class b {
8
- id = "highlight";
9
- name = "Highlight";
10
- priority = 24;
11
- config;
12
- colors;
13
- locale;
14
- constructor(e2) {
15
- this.config = { ...e2 }, this.colors = s(e2?.colors, h, "HighlightPlugin");
16
- }
17
- init(r2) {
18
- this.locale = o(g, r2, this.config.locale), r2.registerStyleSheet(e), this.registerMarkSpec(r2), this.registerCommands(r2), this.registerToolbarItem(r2);
19
- }
20
- registerMarkSpec(e2) {
21
- e2.registerMarkSpec({ type: "highlight", rank: 4, attrs: { color: { default: "" } }, toDOM(e3) {
22
- const r2 = document.createElement("span"), a2 = e3.attrs?.color ?? "";
23
- return i(r2, "backgroundColor", a2), r2;
24
- }, toHTMLString: (e3, r2) => {
25
- const a2 = String(e3.attrs?.color ?? "");
26
- return a2 && f(a2) ? `<span style="background-color: ${l(a2)}">${r2}</span>` : r2;
27
- }, toHTMLStyle: (e3) => {
28
- const r2 = String(e3.attrs?.color ?? "");
29
- return r2 && f(r2) ? `background-color: ${l(r2)}` : null;
30
- }, parseHTML: [{ tag: "span", getAttrs: (e3) => {
31
- const r2 = e3.style.backgroundColor;
32
- return !(!r2 || !f(r2)) && { color: r2 };
33
- } }], sanitize: { tags: ["span"] } });
34
- }
35
- registerCommands(e2) {
36
- e2.registerCommand("removeHighlight", () => r(e2, e2.getState(), "highlight"));
37
- }
38
- registerToolbarItem(e2) {
39
- const r2 = ['<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="17" width="18" height="6"', ' rx="0.5" fill="#fff176"/>', "</svg>"].join("");
40
- e2.registerToolbarItem({ id: "highlight", group: "format", icon: r2, label: this.locale.label, tooltip: this.locale.tooltip, command: "removeHighlight", priority: 46, popupType: "custom", separatorAfter: this.config.separatorAfter, renderPopup: (e3, r3, a2) => {
41
- t(e3, r3, { markType: "highlight", colors: this.colors, columns: 10, resetLabel: this.locale.resetLabel, resetCommand: "removeHighlight", ariaLabelPrefix: this.locale.ariaLabelPrefix, onClose: a2 });
42
- }, isActive: (e3) => a(e3, "highlight") });
43
- }
44
- }
45
- export {
46
- b as H,
47
- g as a,
48
- c as b
49
- };
50
- //# sourceMappingURL=index-D3NlpmT1.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-D3NlpmT1.mjs","sources":["../../src/plugins/highlight/HighlightLocale.ts","../../src/plugins/highlight/HighlightPlugin.ts"],"sourcesContent":["/** Locale interface and default English locale for the HighlightPlugin. */\n\n// --- Locale Interface ---\n\nexport interface HighlightLocale {\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 HIGHLIGHT_LOCALE_EN: HighlightLocale = {\n\tlabel: 'Highlight',\n\ttooltip: 'Highlight Color',\n\tresetLabel: 'None',\n\tariaLabelPrefix: 'Highlight color',\n};\n\n// --- German Locale ---\n\nexport const HIGHLIGHT_LOCALE_DE: HighlightLocale = {\n\tlabel: 'Hervorhebung',\n\ttooltip: 'Hervorhebungsfarbe',\n\tresetLabel: 'Keine',\n\tariaLabelPrefix: 'Hervorhebungsfarbe',\n};\n\n// --- Spanish Locale ---\n\nexport const HIGHLIGHT_LOCALE_ES: HighlightLocale = {\n\tlabel: 'Resaltado',\n\ttooltip: 'Color de resaltado',\n\tresetLabel: 'Ninguno',\n\tariaLabelPrefix: 'Color de resaltado',\n};\n\n// --- French Locale ---\n\nexport const HIGHLIGHT_LOCALE_FR: HighlightLocale = {\n\tlabel: 'Surlignage',\n\ttooltip: 'Couleur de surlignage',\n\tresetLabel: 'Aucun',\n\tariaLabelPrefix: 'Couleur de surlignage',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const HIGHLIGHT_LOCALE_ZH: HighlightLocale = {\n\tlabel: '高亮',\n\ttooltip: '高亮颜色',\n\tresetLabel: '无',\n\tariaLabelPrefix: '高亮颜色',\n};\n\n// --- Russian Locale ---\n\nexport const HIGHLIGHT_LOCALE_RU: HighlightLocale = {\n\tlabel: 'Выделение',\n\ttooltip: 'Цвет выделения',\n\tresetLabel: 'Нет',\n\tariaLabelPrefix: 'Цвет выделения',\n};\n\n// --- Arabic Locale ---\n\nexport const HIGHLIGHT_LOCALE_AR: HighlightLocale = {\n\tlabel: 'تمييز',\n\ttooltip: 'لون التمييز',\n\tresetLabel: 'بدون',\n\tariaLabelPrefix: 'لون التمييز',\n};\n\n// --- Hindi Locale ---\n\nexport const HIGHLIGHT_LOCALE_HI: HighlightLocale = {\n\tlabel: 'हाइलाइट',\n\ttooltip: 'हाइलाइट रंग',\n\tresetLabel: 'कोई नहीं',\n\tariaLabelPrefix: 'हाइलाइट रंग',\n};\n\n// --- Locale Map ---\n\nexport const HIGHLIGHT_LOCALES: Record<string, HighlightLocale> = {\n\ten: HIGHLIGHT_LOCALE_EN,\n\tde: HIGHLIGHT_LOCALE_DE,\n\tes: HIGHLIGHT_LOCALE_ES,\n\tfr: HIGHLIGHT_LOCALE_FR,\n\tzh: HIGHLIGHT_LOCALE_ZH,\n\tru: HIGHLIGHT_LOCALE_RU,\n\tar: HIGHLIGHT_LOCALE_AR,\n\thi: HIGHLIGHT_LOCALE_HI,\n};\n","/**\n * HighlightPlugin: registers a highlight (background-color) mark with attrs,\n * toolbar button with a color picker popup, and removeHighlight 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 { HIGHLIGHT_LOCALES, type HighlightLocale } from './HighlightLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface MarkAttrRegistry {\n\t\thighlight: { color: string };\n\t}\n}\n\n// --- Configuration ---\n\nexport interface HighlightConfig {\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 highlight toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: HighlightLocale;\n}\n\n// --- Color Palette (Highlight-optimized: 10 columns x 5 rows) ---\n\nconst HIGHLIGHT_PALETTE: readonly string[] = [\n\t// Row 1 — Classic highlighter colors (bright, vivid)\n\t'#fff176',\n\t'#aed581',\n\t'#4dd0e1',\n\t'#64b5f6',\n\t'#ce93d8',\n\t'#f48fb1',\n\t'#ffab91',\n\t'#ff8a65',\n\t'#e6ee9c',\n\t'#80cbc4',\n\t// Row 2 — Light pastels\n\t'#fff9c4',\n\t'#dcedc8',\n\t'#e0f7fa',\n\t'#e3f2fd',\n\t'#f3e5f5',\n\t'#fce4ec',\n\t'#fff3e0',\n\t'#fbe9e7',\n\t'#f9fbe7',\n\t'#e0f2f1',\n\t// Row 3 — Medium pastels\n\t'#fff59d',\n\t'#c5e1a5',\n\t'#80deea',\n\t'#90caf9',\n\t'#e1bee7',\n\t'#f8bbd0',\n\t'#ffcc80',\n\t'#ffab91',\n\t'#e6ee9c',\n\t'#a5d6a7',\n\t// Row 4 — Bold pastels\n\t'#ffee58',\n\t'#9ccc65',\n\t'#26c6da',\n\t'#42a5f5',\n\t'#ab47bc',\n\t'#ec407a',\n\t'#ffa726',\n\t'#ff7043',\n\t'#d4e157',\n\t'#66bb6a',\n\t// Row 5 — Grays and neutral highlights\n\t'#ffffff',\n\t'#fafafa',\n\t'#f5f5f5',\n\t'#eeeeee',\n\t'#e0e0e0',\n\t'#bdbdbd',\n\t'#e8eaf6',\n\t'#efebe9',\n\t'#eceff1',\n\t'#fafafa',\n];\n\n// --- Plugin ---\n\nexport class HighlightPlugin implements Plugin {\n\treadonly id = 'highlight';\n\treadonly name = 'Highlight';\n\treadonly priority = 24;\n\n\tprivate readonly config: HighlightConfig;\n\tprivate readonly colors: readonly string[];\n\tprivate locale!: HighlightLocale;\n\n\tconstructor(config?: Partial<HighlightConfig>) {\n\t\tthis.config = { ...config };\n\t\tthis.colors = resolveColors(config?.colors, HIGHLIGHT_PALETTE, 'HighlightPlugin');\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(HIGHLIGHT_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: 'highlight',\n\t\t\trank: 4,\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, 'backgroundColor', 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=\"background-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 `background-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.backgroundColor;\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('removeHighlight', () => {\n\t\t\treturn removeColorMark(context, context.getState(), 'highlight');\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=\"17\" width=\"18\" height=\"6\"',\n\t\t\t' rx=\"0.5\" fill=\"#fff176\"/>',\n\t\t\t'</svg>',\n\t\t].join('');\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'highlight',\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: 'removeHighlight',\n\t\t\tpriority: 46,\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: 'highlight',\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: 'removeHighlight',\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, 'highlight'),\n\t\t});\n\t}\n}\n"],"names":["HIGHLIGHT_LOCALE_EN","label","tooltip","resetLabel","ariaLabelPrefix","HIGHLIGHT_LOCALES","en","de","es","fr","zh","ru","ar","hi","HIGHLIGHT_PALETTE","HighlightPlugin","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","backgroundColor","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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"}