@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,39 +0,0 @@
1
- const e = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i;
2
- function r(r2) {
3
- return e.test(r2);
4
- }
5
- const a = /^rgba?\(\s*(\d{1,3}%?\s*,\s*){2}\d{1,3}%?(\s*,\s*(0|1|0?\.\d+))?\s*\)$/, l = /^hsla?\(\s*\d{1,3}\s*,\s*\d{1,3}%\s*,\s*\d{1,3}%(\s*,\s*(0|1|0?\.\d+))?\s*\)$/, t = /* @__PURE__ */ new Set(["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dimgrey", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "grey", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "slategrey", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "transparent", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen"]);
6
- function n(r2) {
7
- if (!r2) return false;
8
- const n2 = r2.trim().toLowerCase();
9
- return !!n2 && (e.test(n2) || a.test(n2) || l.test(n2) || t.has(n2));
10
- }
11
- function i(e2, a2, l2) {
12
- if (!e2 || 0 === e2.length) return a2;
13
- const t2 = e2.filter((e3) => !r(e3));
14
- if (t2.length > 0) throw new Error(`${l2}: invalid hex color(s): ${t2.join(", ")}. Expected format: #RGB or #RRGGBB.`);
15
- const n2 = /* @__PURE__ */ new Set(), i2 = [];
16
- for (const r2 of e2) {
17
- const e3 = r2.toLowerCase();
18
- n2.has(e3) || (n2.add(e3), i2.push(e3));
19
- }
20
- return i2;
21
- }
22
- const o = /[{}<>;]|url\(|expression\(/i;
23
- function s(e2) {
24
- if (!e2) return false;
25
- const r2 = e2.trim();
26
- return !!r2 && !o.test(r2);
27
- }
28
- const d = /^\d+(\.\d+)?(px|pt|em|rem|%)$/i;
29
- function u(e2) {
30
- return !!e2 && d.test(e2.trim());
31
- }
32
- export {
33
- r as a,
34
- s as b,
35
- u as c,
36
- n as i,
37
- i as r
38
- };
39
- //# sourceMappingURL=ColorValidation-CV4f1wu6.mjs.map
@@ -1,190 +0,0 @@
1
- function t(t2, n2, r2) {
2
- const o2 = s(t2), i2 = [];
3
- let f2 = 0;
4
- for (const t3 of o2) {
5
- const o3 = f2 + (e(t3) ? 1 : t3.text.length);
6
- if (o3 <= n2 || f2 >= r2) {
7
- f2 = o3;
8
- continue;
9
- }
10
- if (e(t3)) {
11
- f2 = o3;
12
- continue;
13
- }
14
- const s2 = Math.max(0, n2 - f2), u2 = Math.min(t3.text.length, r2 - f2), c2 = t3.text.slice(s2, u2);
15
- c2.length > 0 && i2.push({ text: c2, marks: t3.marks }), f2 = o3;
16
- }
17
- return i2;
18
- }
19
- function n(t2) {
20
- return "object" == typeof t2 && null !== t2 && "text" === t2.type && "string" == typeof t2.text;
21
- }
22
- function e(t2) {
23
- return "object" == typeof t2 && null !== t2 && "inline" === t2.type && "string" == typeof t2.inlineType;
24
- }
25
- function r(t2) {
26
- return "object" == typeof t2 && null !== t2 && "string" == typeof t2.id && "string" == typeof t2.type && "text" !== t2.type && "inline" !== t2.type && Array.isArray(t2.children);
27
- }
28
- function o(t2) {
29
- return t2.children.every((t3) => n(t3) || e(t3));
30
- }
31
- function i(t2) {
32
- return t2.children.filter((t3) => n(t3));
33
- }
34
- function s(t2) {
35
- return t2.children.filter((t3) => n(t3) || e(t3));
36
- }
37
- function f(t2) {
38
- return t2.children.filter((t3) => r(t3));
39
- }
40
- function u() {
41
- return `block-${crypto.randomUUID()}`;
42
- }
43
- function c(t2) {
44
- return { children: t2 ?? [l("paragraph")] };
45
- }
46
- function l(t2, n2, e2, r2) {
47
- return { id: e2 ?? u(), type: t2, ...r2 ? { attrs: r2 } : {}, children: n2 ?? [a("")] };
48
- }
49
- function a(t2, n2) {
50
- return { type: "text", text: t2, marks: n2 ?? [] };
51
- }
52
- function h(t2, n2) {
53
- return { type: "inline", inlineType: t2, attrs: n2 ?? {} };
54
- }
55
- function g(t2) {
56
- const e2 = s(t2);
57
- let r2 = "";
58
- for (const t3 of e2) n(t3) && (r2 += t3.text);
59
- return r2;
60
- }
61
- function y(t2) {
62
- const n2 = s(t2);
63
- let r2 = 0;
64
- for (const t3 of n2) r2 += e(t3) ? 1 : t3.text.length;
65
- return r2;
66
- }
67
- function p(t2, r2) {
68
- const o2 = s(t2);
69
- let i2 = 0;
70
- for (const t3 of o2) {
71
- if (e(t3)) {
72
- if (r2 === i2) return [];
73
- i2 += 1;
74
- continue;
75
- }
76
- const n2 = i2 + t3.text.length;
77
- if (r2 >= i2 && r2 < n2) return t3.marks;
78
- if (r2 === i2 && 0 === t3.text.length) return t3.marks;
79
- i2 = n2;
80
- }
81
- for (let t3 = o2.length - 1; t3 >= 0; t3--) {
82
- const e2 = o2[t3];
83
- if (e2 && n(e2)) return e2.marks;
84
- }
85
- return [];
86
- }
87
- function x(t2, n2) {
88
- return t2.length === n2.length && t2.every((t3) => n2.some((n3) => (function(t4, n4) {
89
- if (t4.type !== n4.type) return false;
90
- const e2 = t4.attrs, r2 = n4.attrs;
91
- if (!e2 && !r2) return true;
92
- if (!e2 || !r2) return false;
93
- const o2 = Object.keys(e2), i2 = Object.keys(r2);
94
- return o2.length === i2.length && o2.every((t5) => e2[t5] === r2[t5]);
95
- })(t3, n3)));
96
- }
97
- function m(t2, n2) {
98
- return t2.some((t3) => t3.type === n2);
99
- }
100
- function k(t2, n2) {
101
- return m(t2, n2.type) ? t2 : [...t2, n2];
102
- }
103
- function d(t2, n2) {
104
- return t2.filter((t3) => t3.type !== n2);
105
- }
106
- function b(t2) {
107
- if (0 === t2.length) return [a("")];
108
- if (t2.every((t3) => n(t3))) return (function(t3) {
109
- if (0 === t3.length) return [a("")];
110
- const n2 = [];
111
- for (const e2 of t3) {
112
- const t4 = n2[n2.length - 1];
113
- t4 && x(t4.marks, e2.marks) ? n2[n2.length - 1] = a(t4.text + e2.text, t4.marks) : (e2.text.length > 0 || 0 === n2.length) && n2.push(e2);
114
- }
115
- return 0 === n2.length ? [a("")] : n2;
116
- })(t2);
117
- const r2 = [];
118
- for (const o3 of t2) {
119
- if (e(o3)) {
120
- r2.push(o3);
121
- continue;
122
- }
123
- const t3 = r2[r2.length - 1];
124
- t3 && n(t3) && x(t3.marks, o3.marks) ? r2[r2.length - 1] = a(t3.text + o3.text, t3.marks) : (o3.text.length > 0 || 0 === r2.length) && r2.push(o3);
125
- }
126
- const o2 = r2.filter((t3, n2) => {
127
- if (e(t3)) return true;
128
- if (t3.text.length > 0) return true;
129
- if (1 === r2.length) return true;
130
- const o3 = r2[n2 - 1], i2 = r2[n2 + 1];
131
- return !(o3 && e(o3) || i2 && e(i2));
132
- });
133
- return 0 === o2.length ? [a("")] : o2.some((t3) => n(t3)) ? o2 : [a(""), ...o2];
134
- }
135
- function j(t2, n2) {
136
- const r2 = s(t2);
137
- let o2 = 0, i2 = 0;
138
- for (const t3 of r2) if (e(t3)) {
139
- if (o2 >= n2) return i2;
140
- o2 += 1;
141
- } else {
142
- if (o2 + t3.text.length >= n2) return i2 + (n2 - o2);
143
- o2 += t3.text.length, i2 += t3.text.length;
144
- }
145
- return i2;
146
- }
147
- function v(t2, n2) {
148
- const r2 = s(t2);
149
- for (const { child: t3, from: o2 } of (function* (t4) {
150
- let n3 = 0;
151
- for (const r3 of t4) {
152
- const t5 = e(r3) ? 1 : r3.text.length;
153
- yield { child: r3, from: n3, to: n3 + t5 }, n3 += t5;
154
- }
155
- })(r2)) {
156
- if (e(t3)) {
157
- if (n2 === o2) return { kind: "inline", node: t3 };
158
- continue;
159
- }
160
- const r3 = n2 - o2;
161
- if (r3 >= 0 && r3 < t3.text.length) return { kind: "text", char: t3.text[r3] ?? "", marks: t3.marks };
162
- }
163
- return null;
164
- }
165
- export {
166
- s as a,
167
- e as b,
168
- y as c,
169
- r as d,
170
- v as e,
171
- a as f,
172
- p as g,
173
- m as h,
174
- n as i,
175
- k as j,
176
- l as k,
177
- t as l,
178
- g as m,
179
- b as n,
180
- c as o,
181
- o as p,
182
- f as q,
183
- d as r,
184
- x as s,
185
- h as t,
186
- u,
187
- j as v,
188
- i as w
189
- };
190
- //# sourceMappingURL=Document-Brtw2jL1.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Document-Brtw2jL1.mjs","sources":["../../src/model/Document.ts"],"sourcesContent":["/**\n * Core document model types for the Notectl editor.\n * All types are deeply readonly — mutations create new instances.\n */\n\nimport type { BlockId, InlineTypeName, MarkTypeName, NodeTypeName } from './TypeBrands.js';\n\n// --- Mark Types ---\n\n/** @deprecated Use {@link MarkTypeName} for new code. */\nexport type MarkType = MarkTypeName;\n\nexport interface Mark {\n\treadonly type: MarkTypeName;\n\treadonly attrs?: Readonly<Record<string, string | number | boolean>>;\n}\n\nexport interface BoldMark extends Mark {\n\treadonly type: MarkTypeName & 'bold';\n}\n\nexport interface ItalicMark extends Mark {\n\treadonly type: MarkTypeName & 'italic';\n}\n\nexport interface UnderlineMark extends Mark {\n\treadonly type: MarkTypeName & 'underline';\n}\n\n// --- Node Types ---\n\n/** @deprecated Use {@link NodeTypeName} for new code. */\nexport type NodeType = NodeTypeName;\n\nexport interface BlockAttrs {\n\treadonly [key: string]: string | number | boolean;\n}\n\nexport interface TextNode {\n\treadonly type: 'text';\n\treadonly text: string;\n\treadonly marks: readonly Mark[];\n}\n\n/** Atomic inline element (width 1 in offset space). */\nexport interface InlineNode {\n\treadonly type: 'inline';\n\treadonly inlineType: InlineTypeName;\n\treadonly attrs: Readonly<Record<string, string | number | boolean>>;\n}\n\n/** A child of a BlockNode: text, inline element, or nested block. */\nexport type ChildNode = TextNode | InlineNode | BlockNode;\n\nexport interface BlockNode {\n\treadonly id: BlockId;\n\treadonly type: NodeTypeName;\n\treadonly attrs?: BlockAttrs;\n\treadonly children: readonly ChildNode[];\n}\n\nexport interface Document {\n\treadonly children: readonly BlockNode[];\n}\n\n// --- Text Segment (for mark-preserving undo) ---\n\nexport interface TextSegment {\n\treadonly text: string;\n\treadonly marks: readonly Mark[];\n}\n\n/** A content segment: either text (with marks) or an inline node. */\nexport type ContentSegment =\n\t| { readonly kind: 'text'; readonly text: string; readonly marks: readonly Mark[] }\n\t| { readonly kind: 'inline'; readonly node: InlineNode };\n\n/** Extracts TextNode segments within a block for the given offset range. */\nexport function getBlockSegmentsInRange(\n\tblock: BlockNode,\n\tfrom: number,\n\tto: number,\n): readonly TextSegment[] {\n\tconst inlineChildren: readonly (TextNode | InlineNode)[] = getInlineChildren(block);\n\tconst segments: TextSegment[] = [];\n\tlet pos = 0;\n\n\tfor (const child of inlineChildren) {\n\t\tconst childWidth: number = isInlineNode(child) ? 1 : child.text.length;\n\t\tconst childEnd: number = pos + childWidth;\n\n\t\tif (childEnd <= from || pos >= to) {\n\t\t\tpos = childEnd;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isInlineNode(child)) {\n\t\t\t// InlineNodes are skipped for TextSegment extraction\n\t\t\tpos = childEnd;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst sliceFrom: number = Math.max(0, from - pos);\n\t\tconst sliceTo: number = Math.min(child.text.length, to - pos);\n\t\tconst text: string = child.text.slice(sliceFrom, sliceTo);\n\n\t\tif (text.length > 0) {\n\t\t\tsegments.push({ text, marks: child.marks });\n\t\t}\n\n\t\tpos = childEnd;\n\t}\n\n\treturn segments;\n}\n\n/** Returns content segments (text and inline) for a block range. */\nexport function getBlockContentSegmentsInRange(\n\tblock: BlockNode,\n\tfrom: number,\n\tto: number,\n): readonly ContentSegment[] {\n\tconst inlineChildren: readonly (TextNode | InlineNode)[] = getInlineChildren(block);\n\tconst segments: ContentSegment[] = [];\n\tlet pos = 0;\n\n\tfor (const child of inlineChildren) {\n\t\tconst childWidth: number = isInlineNode(child) ? 1 : child.text.length;\n\t\tconst childEnd: number = pos + childWidth;\n\n\t\tif (childEnd <= from || pos >= to) {\n\t\t\tpos = childEnd;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isInlineNode(child)) {\n\t\t\tsegments.push({ kind: 'inline', node: child });\n\t\t} else {\n\t\t\tconst sliceFrom: number = Math.max(0, from - pos);\n\t\t\tconst sliceTo: number = Math.min(child.text.length, to - pos);\n\t\t\tconst text: string = child.text.slice(sliceFrom, sliceTo);\n\t\t\tif (text.length > 0) {\n\t\t\t\tsegments.push({ kind: 'text', text, marks: child.marks });\n\t\t\t}\n\t\t}\n\n\t\tpos = childEnd;\n\t}\n\n\treturn segments;\n}\n\n// --- Type Guards ---\n\n/** Checks whether a value is a {@link TextNode}. */\nexport function isTextNode(node: unknown): node is TextNode {\n\treturn (\n\t\ttypeof node === 'object' &&\n\t\tnode !== null &&\n\t\t(node as TextNode).type === 'text' &&\n\t\ttypeof (node as TextNode).text === 'string'\n\t);\n}\n\n/** Checks whether a value is an {@link InlineNode}. */\nexport function isInlineNode(node: unknown): node is InlineNode {\n\treturn (\n\t\ttypeof node === 'object' &&\n\t\tnode !== null &&\n\t\t(node as InlineNode).type === 'inline' &&\n\t\ttypeof (node as InlineNode).inlineType === 'string'\n\t);\n}\n\n/** Checks whether a value is a {@link BlockNode}. */\nexport function isBlockNode(node: unknown): node is BlockNode {\n\treturn (\n\t\ttypeof node === 'object' &&\n\t\tnode !== null &&\n\t\ttypeof (node as BlockNode).id === 'string' &&\n\t\ttypeof (node as BlockNode).type === 'string' &&\n\t\t(node as BlockNode).type !== ('text' as string) &&\n\t\t(node as BlockNode).type !== ('inline' as string) &&\n\t\tArray.isArray((node as BlockNode).children)\n\t);\n}\n\n// --- Child Node Helpers ---\n\n/** Returns true if a block has only inline content (TextNodes and InlineNodes). */\nexport function isLeafBlock(node: BlockNode): boolean {\n\treturn node.children.every((c) => isTextNode(c) || isInlineNode(c));\n}\n\n/** Returns only the TextNode children of a block. */\nexport function getTextChildren(node: BlockNode): readonly TextNode[] {\n\treturn node.children.filter((c): c is TextNode => isTextNode(c));\n}\n\n/** Returns the inline content children (TextNode | InlineNode) of a block. */\nexport function getInlineChildren(node: BlockNode): readonly (TextNode | InlineNode)[] {\n\treturn node.children.filter((c): c is TextNode | InlineNode => isTextNode(c) || isInlineNode(c));\n}\n\n/** Returns only the BlockNode children of a block. */\nexport function getBlockChildren(node: BlockNode): readonly BlockNode[] {\n\treturn node.children.filter((c): c is BlockNode => isBlockNode(c));\n}\n\n// --- Factory Functions ---\n\n/** Generates a unique block ID using crypto.randomUUID(). */\nexport function generateBlockId(): BlockId {\n\treturn `block-${crypto.randomUUID()}` as BlockId;\n}\n\n/** Creates a new empty {@link Document} with a single empty paragraph. */\nexport function createDocument(children?: readonly BlockNode[]): Document {\n\treturn {\n\t\tchildren: children ?? [createBlockNode('paragraph' as NodeTypeName)],\n\t};\n}\n\n/** Creates a new {@link BlockNode}. */\nexport function createBlockNode(\n\ttype: NodeTypeName,\n\tchildren?: readonly ChildNode[],\n\tid?: BlockId,\n\tattrs?: BlockAttrs,\n): BlockNode {\n\treturn {\n\t\tid: id ?? generateBlockId(),\n\t\ttype,\n\t\t...(attrs ? { attrs } : {}),\n\t\tchildren: children ?? [createTextNode('')],\n\t};\n}\n\n/** Creates a new {@link TextNode}. */\nexport function createTextNode(text: string, marks?: readonly Mark[]): TextNode {\n\treturn {\n\t\ttype: 'text',\n\t\ttext,\n\t\tmarks: marks ?? [],\n\t};\n}\n\n/** Creates a new {@link InlineNode}. */\nexport function createInlineNode(\n\tinlineType: InlineTypeName,\n\tattrs?: Readonly<Record<string, string | number | boolean>>,\n): InlineNode {\n\treturn {\n\t\ttype: 'inline',\n\t\tinlineType,\n\t\tattrs: attrs ?? {},\n\t};\n}\n\n// --- Utility Functions ---\n\n/** Extracts plain text from a block (InlineNodes are skipped). */\nexport function getBlockText(block: BlockNode): string {\n\tconst inlineChildren: readonly (TextNode | InlineNode)[] = getInlineChildren(block);\n\tlet text = '';\n\tfor (const child of inlineChildren) {\n\t\tif (isTextNode(child)) {\n\t\t\ttext += child.text;\n\t\t}\n\t}\n\treturn text;\n}\n\n/** Returns the length of a block's inline content (InlineNodes count as 1). */\nexport function getBlockLength(block: BlockNode): number {\n\tconst inlineChildren: readonly (TextNode | InlineNode)[] = getInlineChildren(block);\n\tlet len = 0;\n\tfor (const child of inlineChildren) {\n\t\tlen += isInlineNode(child) ? 1 : child.text.length;\n\t}\n\treturn len;\n}\n\n/** Returns the marks active at the given offset (empty for InlineNode offsets). */\nexport function getBlockMarksAtOffset(block: BlockNode, offset: number): readonly Mark[] {\n\tconst inlineChildren: readonly (TextNode | InlineNode)[] = getInlineChildren(block);\n\tlet pos = 0;\n\n\tfor (const child of inlineChildren) {\n\t\tif (isInlineNode(child)) {\n\t\t\tif (offset === pos) return [];\n\t\t\tpos += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tconst end: number = pos + child.text.length;\n\t\tif (offset >= pos && offset < end) {\n\t\t\treturn child.marks;\n\t\t}\n\t\tif (offset === pos && child.text.length === 0) {\n\t\t\treturn child.marks;\n\t\t}\n\t\tpos = end;\n\t}\n\n\t// Fall back to last text child's marks\n\tfor (let i: number = inlineChildren.length - 1; i >= 0; i--) {\n\t\tconst child: TextNode | InlineNode | undefined = inlineChildren[i];\n\t\tif (child && isTextNode(child)) {\n\t\t\treturn child.marks;\n\t\t}\n\t}\n\treturn [];\n}\n\n/** Checks whether two marks are equal by type and attrs. */\nexport function marksEqual(a: Mark, b: Mark): boolean {\n\tif (a.type !== b.type) return false;\n\tconst aAttrs = a.attrs;\n\tconst bAttrs = b.attrs;\n\tif (!aAttrs && !bAttrs) return true;\n\tif (!aAttrs || !bAttrs) return false;\n\tconst aKeys = Object.keys(aAttrs);\n\tconst bKeys = Object.keys(bAttrs);\n\tif (aKeys.length !== bKeys.length) return false;\n\treturn aKeys.every((key) => aAttrs[key] === bAttrs[key]);\n}\n\n/** Checks whether two mark arrays contain the same marks (order-independent). */\nexport function markSetsEqual(a: readonly Mark[], b: readonly Mark[]): boolean {\n\tif (a.length !== b.length) return false;\n\treturn a.every((markA) => b.some((markB) => marksEqual(markA, markB)));\n}\n\n/** Returns true if the mark set contains a mark of the given type. */\nexport function hasMark(marks: readonly Mark[], markType: MarkTypeName): boolean {\n\treturn marks.some((m) => m.type === markType);\n}\n\n/** Adds a mark to a mark set (no duplicates). */\nexport function addMarkToSet(marks: readonly Mark[], mark: Mark): readonly Mark[] {\n\tif (hasMark(marks, mark.type)) return marks;\n\treturn [...marks, mark];\n}\n\n/** Removes a mark type from a mark set. */\nexport function removeMarkFromSet(marks: readonly Mark[], markType: MarkTypeName): readonly Mark[] {\n\treturn marks.filter((m) => m.type !== markType);\n}\n\n/**\n * Normalizes text nodes within a block: merges adjacent nodes with identical marks,\n * removes empty text nodes (keeping at least one).\n */\nexport function normalizeTextNodes(nodes: readonly TextNode[]): readonly TextNode[] {\n\tif (nodes.length === 0) return [createTextNode('')];\n\n\tconst result: TextNode[] = [];\n\tfor (const node of nodes) {\n\t\tconst prev: TextNode | undefined = result[result.length - 1];\n\t\tif (prev && markSetsEqual(prev.marks, node.marks)) {\n\t\t\tresult[result.length - 1] = createTextNode(prev.text + node.text, prev.marks);\n\t\t} else if (node.text.length > 0 || result.length === 0) {\n\t\t\tresult.push(node);\n\t\t}\n\t}\n\n\treturn result.length === 0 ? [createTextNode('')] : result;\n}\n\n/**\n * Normalizes mixed inline content: merges adjacent TextNodes with same marks,\n * removes empty TextNodes adjacent to InlineNodes, preserves InlineNodes as-is.\n * Guarantees at least one TextNode exists if all text is empty.\n */\nexport function normalizeInlineContent(\n\tnodes: readonly (TextNode | InlineNode)[],\n): readonly (TextNode | InlineNode)[] {\n\tif (nodes.length === 0) return [createTextNode('')];\n\n\t// Fast path: no InlineNodes, delegate to normalizeTextNodes\n\tif (nodes.every((n): n is TextNode => isTextNode(n))) {\n\t\treturn normalizeTextNodes(nodes);\n\t}\n\n\tconst result: (TextNode | InlineNode)[] = [];\n\n\tfor (const node of nodes) {\n\t\tif (isInlineNode(node)) {\n\t\t\tresult.push(node);\n\t\t\tcontinue;\n\t\t}\n\t\t// TextNode: try to merge with previous TextNode\n\t\tconst prev: TextNode | InlineNode | undefined = result[result.length - 1];\n\t\tif (prev && isTextNode(prev) && markSetsEqual(prev.marks, node.marks)) {\n\t\t\tresult[result.length - 1] = createTextNode(prev.text + node.text, prev.marks);\n\t\t} else if (node.text.length > 0 || result.length === 0) {\n\t\t\tresult.push(node);\n\t\t}\n\t}\n\n\t// Remove empty TextNodes that are adjacent to InlineNodes\n\tconst cleaned: (TextNode | InlineNode)[] = result.filter((node, i) => {\n\t\tif (isInlineNode(node)) return true;\n\t\tif (node.text.length > 0) return true;\n\t\t// Keep if it's the only node\n\t\tif (result.length === 1) return true;\n\t\t// Remove empty TextNode if adjacent to InlineNode\n\t\tconst prev: TextNode | InlineNode | undefined = result[i - 1];\n\t\tconst next: TextNode | InlineNode | undefined = result[i + 1];\n\t\tif ((prev && isInlineNode(prev)) || (next && isInlineNode(next))) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t});\n\n\t// Ensure at least one TextNode exists\n\tif (cleaned.length === 0) return [createTextNode('')];\n\tif (!cleaned.some((n) => isTextNode(n))) {\n\t\treturn [createTextNode(''), ...cleaned];\n\t}\n\n\treturn cleaned;\n}\n\n/** Yields each inline child with its offset range. InlineNodes have width 1. */\nexport function* walkInlineContent(children: readonly (TextNode | InlineNode)[]): Generator<{\n\treadonly child: TextNode | InlineNode;\n\treadonly from: number;\n\treadonly to: number;\n}> {\n\tlet pos = 0;\n\tfor (const child of children) {\n\t\tconst width: number = isInlineNode(child) ? 1 : child.text.length;\n\t\tyield { child, from: pos, to: pos + width };\n\t\tpos += width;\n\t}\n}\n\n/**\n * Converts a block-space offset to a text-space offset.\n *\n * Block-space counts InlineNodes as width 1, but `getBlockText()` skips them.\n * This function maps a block offset to the equivalent position in the\n * text-only string returned by `getBlockText()`.\n */\nexport function blockOffsetToTextOffset(block: BlockNode, blockOffset: number): number {\n\tconst inlineChildren: readonly (TextNode | InlineNode)[] = getInlineChildren(block);\n\tlet blockPos = 0;\n\tlet textPos = 0;\n\n\tfor (const child of inlineChildren) {\n\t\tif (isInlineNode(child)) {\n\t\t\tif (blockPos >= blockOffset) return textPos;\n\t\t\tblockPos += 1;\n\t\t} else {\n\t\t\tif (blockPos + child.text.length >= blockOffset) {\n\t\t\t\treturn textPos + (blockOffset - blockPos);\n\t\t\t}\n\t\t\tblockPos += child.text.length;\n\t\t\ttextPos += child.text.length;\n\t\t}\n\t}\n\n\treturn textPos;\n}\n\n/** Returns the content at a specific offset: text char, inline node, or null. */\nexport function getContentAtOffset(\n\tblock: BlockNode,\n\toffset: number,\n):\n\t| { readonly kind: 'text'; readonly char: string; readonly marks: readonly Mark[] }\n\t| { readonly kind: 'inline'; readonly node: InlineNode }\n\t| null {\n\tconst inlineChildren: readonly (TextNode | InlineNode)[] = getInlineChildren(block);\n\n\tfor (const { child, from } of walkInlineContent(inlineChildren)) {\n\t\tif (isInlineNode(child)) {\n\t\t\tif (offset === from) return { kind: 'inline', node: child };\n\t\t\tcontinue;\n\t\t}\n\t\tconst localOffset: number = offset - from;\n\t\tif (localOffset >= 0 && localOffset < child.text.length) {\n\t\t\treturn {\n\t\t\t\tkind: 'text',\n\t\t\t\tchar: child.text[localOffset] ?? '',\n\t\t\t\tmarks: child.marks,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn null;\n}\n"],"names":["getBlockSegmentsInRange","block","from","to","inlineChildren","getInlineChildren","segments","pos","child","childEnd","isInlineNode","text","length","sliceFrom","Math","max","sliceTo","min","slice","push","marks","isTextNode","node","type","inlineType","isBlockNode","id","Array","isArray","children","isLeafBlock","every","c","getTextChildren","filter","getBlockChildren","generateBlockId","crypto","randomUUID","createDocument","createBlockNode","attrs","createTextNode","createInlineNode","getBlockText","getBlockLength","len","getBlockMarksAtOffset","offset","end","i","markSetsEqual","a","b","markA","some","markB","aAttrs","bAttrs","aKeys","Object","keys","bKeys","key","hasMark","markType","m","addMarkToSet","mark","removeMarkFromSet","normalizeInlineContent","nodes","n","result","prev","cleaned","next","blockOffsetToTextOffset","blockOffset","blockPos","textPos","getContentAtOffset","width","kind","localOffset","char"],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- function t(t2) {
2
- return t2.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
3
- }
4
- const e = /* @__PURE__ */ new Set(["p", "div", "h1", "h2", "h3", "h4", "h5", "h6", "ul", "ol", "li", "blockquote", "table", "thead", "tbody", "tfoot", "tr", "td", "th", "pre", "figure", "figcaption", "section", "article", "header", "footer"]), n = /* @__PURE__ */ new Set(["br", "hr", "img", "input", "col", "area", "meta", "link"]);
5
- function o(t2, o2 = " ") {
6
- const a = (function(t3) {
7
- const e2 = [], n2 = /(<\/?[a-zA-Z][^>]*\/?>)/g;
8
- let o3 = 0, r2 = n2.exec(t3);
9
- for (; null !== r2; ) {
10
- const a3 = t3.slice(o3, r2.index);
11
- a3.length > 0 && e2.push(a3), e2.push(r2[1] ?? r2[0]), o3 = n2.lastIndex, r2 = n2.exec(t3);
12
- }
13
- const a2 = t3.slice(o3);
14
- return a2.length > 0 && e2.push(a2), e2;
15
- })(t2), s = [];
16
- let c = 0, h = "";
17
- const l = () => {
18
- const t3 = h.trim();
19
- t3.length > 0 && s.push(`${o2.repeat(c)}${t3}`), h = "";
20
- };
21
- for (const t3 of a) {
22
- const a2 = t3.startsWith("<") ? r(t3) : "", i = e.has(a2), u = n.has(a2);
23
- i || u ? (l(), t3.startsWith("</") ? (c = Math.max(0, c - 1), s.push(`${o2.repeat(c)}${t3}`)) : (s.push(`${o2.repeat(c)}${t3}`), !i || u || t3.endsWith("/>") || (c += 1))) : h += t3;
24
- }
25
- return l(), s.join("\n");
26
- }
27
- function r(t2) {
28
- const e2 = t2.match(/^<\/?([a-zA-Z][a-zA-Z0-9]*)/);
29
- return e2?.[1]?.toLowerCase() ?? "";
30
- }
31
- export {
32
- t as e,
33
- o as f
34
- };
35
- //# sourceMappingURL=HTMLUtils-DTqQzcKR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HTMLUtils-DTqQzcKR.mjs","sources":["../../src/model/HTMLUtils.ts"],"sourcesContent":["/**\n * HTML string escaping and formatting utilities shared across serialization and parsing.\n */\n\n/** Escapes special HTML characters in text content. */\nexport function escapeHTML(text: string): string {\n\treturn text\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n}\n\n/** Block-level HTML tags that should appear on their own line with indentation. */\nconst BLOCK_TAGS: ReadonlySet<string> = new Set([\n\t'p',\n\t'div',\n\t'h1',\n\t'h2',\n\t'h3',\n\t'h4',\n\t'h5',\n\t'h6',\n\t'ul',\n\t'ol',\n\t'li',\n\t'blockquote',\n\t'table',\n\t'thead',\n\t'tbody',\n\t'tfoot',\n\t'tr',\n\t'td',\n\t'th',\n\t'pre',\n\t'figure',\n\t'figcaption',\n\t'section',\n\t'article',\n\t'header',\n\t'footer',\n]);\n\n/** Void (self-closing) HTML tags that never have children. */\nconst VOID_TAGS: ReadonlySet<string> = new Set([\n\t'br',\n\t'hr',\n\t'img',\n\t'input',\n\t'col',\n\t'area',\n\t'meta',\n\t'link',\n]);\n\n/**\n * Pretty-prints an HTML string with indentation and line breaks for block-level elements.\n * Inline content (e.g. `<strong>bold</strong> text`) stays on a single line.\n */\nexport function formatHTML(html: string, indent = ' '): string {\n\tconst tokens: readonly string[] = tokenizeHTML(html);\n\tconst lines: string[] = [];\n\tlet depth = 0;\n\tlet inlineBuffer = '';\n\n\tconst flushInline = (): void => {\n\t\tconst trimmed: string = inlineBuffer.trim();\n\t\tif (trimmed.length > 0) {\n\t\t\tlines.push(`${indent.repeat(depth)}${trimmed}`);\n\t\t}\n\t\tinlineBuffer = '';\n\t};\n\n\tfor (const token of tokens) {\n\t\tconst tag: string = token.startsWith('<') ? extractTagName(token) : '';\n\t\tconst isBlock: boolean = BLOCK_TAGS.has(tag);\n\t\tconst isVoid: boolean = VOID_TAGS.has(tag);\n\n\t\tif (isBlock || isVoid) {\n\t\t\tflushInline();\n\n\t\t\tif (token.startsWith('</')) {\n\t\t\t\tdepth = Math.max(0, depth - 1);\n\t\t\t\tlines.push(`${indent.repeat(depth)}${token}`);\n\t\t\t} else {\n\t\t\t\tlines.push(`${indent.repeat(depth)}${token}`);\n\t\t\t\tif (isBlock && !isVoid && !token.endsWith('/>')) {\n\t\t\t\t\tdepth += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tinlineBuffer += token;\n\t\t}\n\t}\n\n\tflushInline();\n\treturn lines.join('\\n');\n}\n\n/** Splits HTML into a flat list of tokens: tags and text segments between block boundaries. */\nfunction tokenizeHTML(html: string): readonly string[] {\n\tconst tokens: string[] = [];\n\tconst tagPattern: RegExp = /(<\\/?[a-zA-Z][^>]*\\/?>)/g;\n\tlet lastIndex = 0;\n\n\tlet match: RegExpExecArray | null = tagPattern.exec(html);\n\twhile (match !== null) {\n\t\tconst text: string = html.slice(lastIndex, match.index);\n\t\tif (text.length > 0) {\n\t\t\ttokens.push(text);\n\t\t}\n\t\ttokens.push(match[1] ?? match[0]);\n\t\tlastIndex = tagPattern.lastIndex;\n\t\tmatch = tagPattern.exec(html);\n\t}\n\n\tconst remaining: string = html.slice(lastIndex);\n\tif (remaining.length > 0) {\n\t\ttokens.push(remaining);\n\t}\n\n\treturn tokens;\n}\n\n/** Extracts the tag name from an HTML tag string like `<p>` or `</div class=\"x\">`. */\nfunction extractTagName(tag: string): string {\n\tconst match: RegExpMatchArray | null = tag.match(/^<\\/?([a-zA-Z][a-zA-Z0-9]*)/);\n\treturn match?.[1]?.toLowerCase() ?? '';\n}\n"],"names":["escapeHTML","text","replace","BLOCK_TAGS","Set","VOID_TAGS","formatHTML","html","indent","tokens","tagPattern","lastIndex","match","exec","slice","index","length","push","remaining","lines","depth","inlineBuffer","flushInline","trimmed","trim","repeat","token","tag","startsWith","extractTagName","isBlock","has","isVoid","Math","max","endsWith","join","toLowerCase"],"mappings":"AAKO,SAASA,EAAWC,IAAAA;AAC1B,SAAOA,GACLC,QAAQ,MAAM,OAAA,EACdA,QAAQ,MAAM,MAAA,EACdA,QAAQ,MAAM,QACdA,QAAQ,MAAM,QAAA;AACjB;AAGA,MAAMC,wBAAsCC,IAAI,CAC/C,KACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,cACA,SACA,SACA,SACA,SACA,MACA,MACA,MACA,OACA,UACA,cACA,WACA,WACA,UACA,QAAA,CAAA,GAIKC,wBAAqCD,IAAI,CAC9C,MACA,MACA,OACA,SACA,OACA,QACA,QACA,MAAA,CAAA;AAOM,SAASE,EAAWC,IAAcC,KAAS,MAAA;AACjD,QAAMC,KAwCP,SAAsBF,IAAAA;AACrB,UAAME,KAAmB,CAAA,GACnBC,KAAqB;AAC3B,QAAIC,KAAY,GAEZC,KAAgCF,GAAWG,KAAKN,EAAAA;AACpD,WAAiB,SAAVK,MAAgB;AACtB,YAAMX,KAAeM,GAAKO,MAAMH,IAAWC,GAAMG,KAAAA;AAC7Cd,MAAAA,GAAKe,SAAS,KACjBP,GAAOQ,KAAKhB,EAAAA,GAEbQ,GAAOQ,KAAKL,GAAM,CAAA,KAAMA,GAAM,CAAA,CAAA,GAC9BD,KAAYD,GAAWC,WACvBC,KAAQF,GAAWG,KAAKN,EAAAA;AAAAA,IACzB;AAEA,UAAMW,KAAoBX,GAAKO,MAAMH,EAAAA;AAKrC,WAJIO,GAAUF,SAAS,KACtBP,GAAOQ,KAAKC,EAAAA,GAGNT;AAAAA,EACR,GA9DgDF,EAAAA,GACzCY,IAAkB;AACxB,MAAIC,IAAQ,GACRC,IAAe;AAEnB,QAAMC,IAAc,MAAA;AACnB,UAAMC,KAAkBF,EAAaG,KAAAA;AACjCD,IAAAA,GAAQP,SAAS,KACpBG,EAAMF,KAAK,GAAGT,GAAOiB,OAAOL,CAAAA,CAAAA,GAASG,EAAAA,EAAAA,GAEtCF,IAAe;AAAA,EAAA;AAGhB,aAAWK,MAASjB,GAAQ;AAC3B,UAAMkB,KAAcD,GAAME,WAAW,GAAA,IAAOC,EAAeH,EAAAA,IAAS,IAC9DI,IAAmB3B,EAAW4B,IAAIJ,EAAAA,GAClCK,IAAkB3B,EAAU0B,IAAIJ;AAElCG,SAAWE,KACdV,EAAAA,GAEII,GAAME,WAAW,IAAA,KACpBR,IAAQa,KAAKC,IAAI,GAAGd,IAAQ,CAAA,GAC5BD,EAAMF,KAAK,GAAGT,GAAOiB,OAAOL,CAAAA,CAAAA,GAASM,EAAAA,EAAAA,MAErCP,EAAMF,KAAK,GAAGT,GAAOiB,OAAOL,CAAAA,CAAAA,GAASM,EAAAA,EAAAA,GAAAA,CACjCI,KAAYE,KAAWN,GAAMS,SAAS,IAAA,MACzCf,KAAS,OAIXC,KAAgBK;AAAAA,EAElB;AAGA,SADAJ,EAAAA,GACOH,EAAMiB,KAAK,IAAA;AACnB;AA4BA,SAASP,EAAeF,IAAAA;AACvB,QAAMf,KAAiCe,GAAIf,MAAM,6BAAA;AACjD,SAAOA,KAAQ,CAAA,GAAIyB,YAAAA,KAAiB;AACrC;"}
@@ -1,94 +0,0 @@
1
- import { h as e, g as t, c as n, a as r, i as o } from "./Document-Brtw2jL1.mjs";
2
- import { i as s, a as c, b as i, s as a } from "./Selection-BRTab5hO.mjs";
3
- import { m as u } from "./TypeBrands-C09nE2qO.mjs";
4
- import { f } from "./RangeIterator-Bh4Vl_6D.mjs";
5
- function l() {
6
- return { nodeTypes: ["paragraph"], markTypes: ["bold", "italic", "underline"], getNodeSpec: () => {
7
- } };
8
- }
9
- function d(e2) {
10
- return { nodeTypes: e2.getNodeTypes(), markTypes: e2.getMarkTypes(), getNodeSpec: (t2) => e2.getNodeSpec(t2) };
11
- }
12
- function m(e2, t2) {
13
- return e2.markTypes.includes(t2);
14
- }
15
- function k(e2, t2) {
16
- return e2.nodeTypes.includes(t2);
17
- }
18
- const p = { bold: true, italic: true, underline: true };
19
- function b(n2, r2, o2 = p) {
20
- if ((function(e2, t2) {
21
- const n3 = e2;
22
- return "bold" === n3 ? !t2.bold : "italic" === n3 ? !t2.italic : "underline" === n3 && !t2.underline;
23
- })(r2, o2)) return null;
24
- if (!m(n2.schema, r2)) return null;
25
- if (s(n2.selection) || c(n2.selection)) return null;
26
- const u2 = { type: r2 }, l2 = n2.selection;
27
- if (i(l2)) {
28
- const o3 = n2.getBlock(l2.anchor.blockId);
29
- if (!o3) return null;
30
- const s2 = n2.storedMarks ?? t(o3, l2.anchor.offset), c2 = e(s2, r2) ? s2.filter((e2) => e2.type !== r2) : [...s2, u2];
31
- return n2.transaction("command").setStoredMarks(c2, n2.storedMarks).setSelection(l2).build();
32
- }
33
- const d2 = a(l2, n2.getBlockOrder()), k2 = n2.transaction("command"), b2 = M(n2, r2);
34
- return f(n2, d2, (e2, t2, n3) => {
35
- b2 ? k2.removeMark(e2, t2, n3, u2) : k2.addMark(e2, t2, n3, u2);
36
- }), k2.setSelection(l2), k2.build();
37
- }
38
- function g(e2, t2) {
39
- return b(e2, u("bold"), t2);
40
- }
41
- function y(e2, t2) {
42
- return b(e2, u("italic"), t2);
43
- }
44
- function T(e2, t2) {
45
- return b(e2, u("underline"), t2);
46
- }
47
- function h(n2, r2) {
48
- const o2 = n2.selection;
49
- if (s(o2) || c(o2)) return false;
50
- if (i(o2)) {
51
- if (n2.storedMarks) return e(n2.storedMarks, r2);
52
- const s2 = n2.getBlock(o2.anchor.blockId);
53
- if (!s2) return false;
54
- const c2 = t(s2, o2.anchor.offset);
55
- return e(c2, r2);
56
- }
57
- return M(n2, r2);
58
- }
59
- function M(e2, t2) {
60
- const r2 = e2.selection;
61
- if (s(r2) || c(r2)) return false;
62
- const o2 = e2.getBlockOrder(), i2 = a(r2, o2), u2 = o2.indexOf(i2.from.blockId), f2 = o2.indexOf(i2.to.blockId);
63
- for (let r3 = u2; r3 <= f2; r3++) {
64
- const s2 = o2[r3];
65
- if (!s2) continue;
66
- const c2 = e2.getBlock(s2);
67
- if (!c2) continue;
68
- const a2 = n(c2);
69
- if (!S(c2, r3 === u2 ? i2.from.offset : 0, r3 === f2 ? i2.to.offset : a2, t2)) return false;
70
- }
71
- return true;
72
- }
73
- function S(t2, n2, s2, c2) {
74
- if (n2 === s2) return false;
75
- let i2 = 0;
76
- for (const a2 of r(t2)) if (o(a2)) {
77
- const t3 = i2 + a2.text.length;
78
- if (t3 > n2 && i2 < s2 && !e(a2.marks, c2)) return false;
79
- i2 = t3;
80
- } else i2 += 1;
81
- return true;
82
- }
83
- export {
84
- k as a,
85
- h as b,
86
- y as c,
87
- l as d,
88
- b as e,
89
- T as f,
90
- m as i,
91
- d as s,
92
- g as t
93
- };
94
- //# sourceMappingURL=MarkCommands-6RUJ4L3r.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkCommands-6RUJ4L3r.mjs","sources":["../../src/model/Schema.ts","../../src/commands/MarkCommands.ts"],"sourcesContent":["/**\n * Schema definition for the Notectl editor.\n * Defines which node types and marks are allowed.\n */\n\nimport type { NodeSpec } from './NodeSpec.js';\nimport type { SchemaRegistry } from './SchemaRegistry.js';\n\nexport interface Schema {\n\treadonly nodeTypes: readonly string[];\n\treadonly markTypes: readonly string[];\n\t/** Looks up the full NodeSpec for a given type. Available when created via schemaFromRegistry. */\n\treadonly getNodeSpec?: (type: string) => NodeSpec | undefined;\n}\n\n/** Creates the default schema with paragraph nodes and bold/italic/underline marks. */\nexport function defaultSchema(): Schema {\n\treturn {\n\t\tnodeTypes: ['paragraph'],\n\t\tmarkTypes: ['bold', 'italic', 'underline'],\n\t\tgetNodeSpec: () => undefined,\n\t};\n}\n\n/** Derives a Schema from a SchemaRegistry's registered specs. */\nexport function schemaFromRegistry(registry: SchemaRegistry): Schema {\n\treturn {\n\t\tnodeTypes: registry.getNodeTypes(),\n\t\tmarkTypes: registry.getMarkTypes(),\n\t\tgetNodeSpec: (type: string) => registry.getNodeSpec(type),\n\t};\n}\n\n/** Checks whether the given mark type is allowed by the schema. */\nexport function isMarkAllowed(schema: Schema, markType: string): boolean {\n\treturn schema.markTypes.includes(markType);\n}\n\n/** Checks whether the given node type is allowed by the schema. */\nexport function isNodeTypeAllowed(schema: Schema, nodeType: string): boolean {\n\treturn schema.nodeTypes.includes(nodeType);\n}\n","/**\n * Mark-related commands: toggling bold/italic/underline and checking\n * whether a mark is active.\n */\n\nimport {\n\ttype BlockNode,\n\ttype Mark,\n\ttype MarkType,\n\tgetBlockLength,\n\tgetBlockMarksAtOffset,\n\tgetInlineChildren,\n\thasMark,\n\tisTextNode,\n} from '../model/Document.js';\nimport { isMarkAllowed } from '../model/Schema.js';\nimport { isCollapsed, isGapCursor, isNodeSelection, selectionRange } from '../model/Selection.js';\nimport { markType as mkType } from '../model/TypeBrands.js';\nimport type { EditorState } from '../state/EditorState.js';\nimport type { Transaction } from '../state/Transaction.js';\nimport { forEachBlockInRange } from './RangeIterator.js';\n\n// --- Feature Configuration ---\n\nexport interface FeatureConfig {\n\treadonly bold: boolean;\n\treadonly italic: boolean;\n\treadonly underline: boolean;\n}\n\nconst defaultFeatures: FeatureConfig = { bold: true, italic: true, underline: true };\n\n/**\n * Toggles a mark on the current selection.\n * If collapsed, toggles stored marks. If range, applies/removes from text.\n */\nexport function toggleMark(\n\tstate: EditorState,\n\tmarkType: MarkType,\n\tfeatures: FeatureConfig = defaultFeatures,\n): Transaction | null {\n\tif (isFeatureGated(markType, features)) return null;\n\tif (!isMarkAllowed(state.schema, markType)) return null;\n\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return null;\n\n\tconst mark: Mark = { type: markType };\n\tconst sel = state.selection;\n\n\tif (isCollapsed(sel)) {\n\t\t// Toggle stored marks\n\t\tconst anchorBlock = state.getBlock(sel.anchor.blockId);\n\t\tif (!anchorBlock) return null;\n\t\tconst currentMarks = state.storedMarks ?? getBlockMarksAtOffset(anchorBlock, sel.anchor.offset);\n\t\tconst hasIt = hasMark(currentMarks, markType);\n\t\tconst newMarks = hasIt\n\t\t\t? currentMarks.filter((m) => m.type !== markType)\n\t\t\t: [...currentMarks, mark];\n\n\t\treturn state\n\t\t\t.transaction('command')\n\t\t\t.setStoredMarks(newMarks, state.storedMarks)\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\t}\n\n\t// Range selection — apply/remove mark to all blocks in range\n\tconst range = selectionRange(sel, state.getBlockOrder());\n\tconst builder = state.transaction('command');\n\n\t// Determine if we should add or remove\n\tconst shouldRemove = isMarkActiveInRange(state, markType);\n\n\tforEachBlockInRange(state, range, (blockId, from, to) => {\n\t\tif (shouldRemove) {\n\t\t\tbuilder.removeMark(blockId, from, to, mark);\n\t\t} else {\n\t\t\tbuilder.addMark(blockId, from, to, mark);\n\t\t}\n\t});\n\n\tbuilder.setSelection(sel);\n\treturn builder.build();\n}\n\nexport function toggleBold(state: EditorState, features?: FeatureConfig): Transaction | null {\n\treturn toggleMark(state, mkType('bold'), features);\n}\n\nexport function toggleItalic(state: EditorState, features?: FeatureConfig): Transaction | null {\n\treturn toggleMark(state, mkType('italic'), features);\n}\n\nexport function toggleUnderline(state: EditorState, features?: FeatureConfig): Transaction | null {\n\treturn toggleMark(state, mkType('underline'), features);\n}\n\n/** Checks if a mark is active at the current selection. */\nexport function isMarkActive(state: EditorState, markType: MarkType): boolean {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\n\tif (isCollapsed(sel)) {\n\t\tif (state.storedMarks) {\n\t\t\treturn hasMark(state.storedMarks, markType);\n\t\t}\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block) return false;\n\t\tconst marks = getBlockMarksAtOffset(block, sel.anchor.offset);\n\t\treturn hasMark(marks, markType);\n\t}\n\n\treturn isMarkActiveInRange(state, markType);\n}\n\n/** Checks if a mark is active across the entire selection range. */\nfunction isMarkActiveInRange(state: EditorState, markType: MarkType): boolean {\n\tconst sel = state.selection;\n\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\tconst blockOrder = state.getBlockOrder();\n\tconst range = selectionRange(sel, blockOrder);\n\n\tconst fromIdx = blockOrder.indexOf(range.from.blockId);\n\tconst toIdx = blockOrder.indexOf(range.to.blockId);\n\n\tfor (let i = fromIdx; i <= toIdx; i++) {\n\t\tconst blockId = blockOrder[i];\n\t\tif (!blockId) continue;\n\t\tconst block = state.getBlock(blockId);\n\t\tif (!block) continue;\n\t\tconst blockLen = getBlockLength(block);\n\t\tconst from = i === fromIdx ? range.from.offset : 0;\n\t\tconst to = i === toIdx ? range.to.offset : blockLen;\n\n\t\tif (!isMarkActiveInBlock(block, from, to, markType)) return false;\n\t}\n\n\treturn true;\n}\n\nfunction isMarkActiveInBlock(\n\tblock: BlockNode,\n\tfrom: number,\n\tto: number,\n\tmarkType: MarkType,\n): boolean {\n\tif (from === to) return false;\n\tlet pos = 0;\n\tfor (const child of getInlineChildren(block)) {\n\t\tif (isTextNode(child)) {\n\t\t\tconst childEnd = pos + child.text.length;\n\t\t\tif (childEnd > from && pos < to) {\n\t\t\t\tif (!hasMark(child.marks, markType)) return false;\n\t\t\t}\n\t\t\tpos = childEnd;\n\t\t} else {\n\t\t\t// InlineNode: skip (width 1, no marks)\n\t\t\tpos += 1;\n\t\t}\n\t}\n\treturn true;\n}\n\nfunction isFeatureGated(type: MarkType, features: FeatureConfig): boolean {\n\tconst key = type as string;\n\tif (key === 'bold') return !features.bold;\n\tif (key === 'italic') return !features.italic;\n\tif (key === 'underline') return !features.underline;\n\treturn false;\n}\n"],"names":["defaultSchema","nodeTypes","markTypes","getNodeSpec","schemaFromRegistry","registry","getNodeTypes","getMarkTypes","type","isMarkAllowed","schema","markType","includes","isNodeTypeAllowed","nodeType","defaultFeatures","bold","italic","underline","toggleMark","state","features","key","isNodeSelection","selection","isGapCursor","mark","sel","isCollapsed","anchorBlock","getBlock","anchor","blockId","currentMarks","storedMarks","getBlockMarksAtOffset","offset","newMarks","hasMark","filter","m","transaction","setStoredMarks","setSelection","build","range","selectionRange","getBlockOrder","builder","shouldRemove","isMarkActiveInRange","forEachBlockInRange","from","to","removeMark","addMark","toggleBold","mkType","toggleItalic","toggleUnderline","isMarkActive","block","marks","blockOrder","fromIdx","indexOf","toIdx","i","blockLen","getBlockLength","isMarkActiveInBlock","pos","child","getInlineChildren","isTextNode","childEnd","text","length"],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- function t(t2, e2) {
2
- const n2 = t2.getBlock(e2);
3
- if (!n2) return false;
4
- const o2 = t2.schema.getNodeSpec;
5
- return !!o2 && true === o2(n2.type)?.isVoid;
6
- }
7
- function e(t2, e2, n2) {
8
- const o2 = t2.getNodePath(e2), r2 = t2.getNodePath(n2);
9
- if (!o2 || !r2) return false;
10
- if (o2.length !== r2.length) return false;
11
- for (let t3 = 0; t3 < o2.length - 1; t3++) if (o2[t3] !== r2[t3]) return false;
12
- return true;
13
- }
14
- function n(t2, e2) {
15
- const n2 = t2.schema.getNodeSpec;
16
- if (!n2) return false;
17
- const o2 = t2.getNodePath(e2);
18
- if (!o2 || o2.length <= 1) return false;
19
- for (let e3 = 0; e3 < o2.length - 1; e3++) {
20
- const r2 = o2[e3];
21
- if (!r2) continue;
22
- const c = t2.getBlock(r2);
23
- if (!c) continue;
24
- const i = n2(c.type);
25
- if (i?.isolating) return true;
26
- }
27
- return false;
28
- }
29
- function o(t2, e2) {
30
- const n2 = t2.schema.getNodeSpec;
31
- if (!n2) return false;
32
- const o2 = t2.getBlock(e2);
33
- return !!o2 && true === n2(o2.type)?.isolating;
34
- }
35
- function r(t2, r2, c) {
36
- if (o(t2, r2) || o(t2, c)) return false;
37
- const i = n(t2, r2), s = n(t2, c);
38
- return i === s && (!i || !s || e(t2, r2, c));
39
- }
40
- export {
41
- n as a,
42
- o as b,
43
- r as c,
44
- t as i,
45
- e as s
46
- };
47
- //# sourceMappingURL=NavigationUtils-Cspt2ZrK.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationUtils-Cspt2ZrK.mjs","sources":["../../src/model/NavigationUtils.ts"],"sourcesContent":["/**\n * Pure navigation query functions for block boundary and isolating checks.\n *\n * These utilities inspect the document structure and schema to answer\n * questions about block traversal — whether a block is void, isolating,\n * or whether navigation between two blocks is allowed.\n */\n\nimport type { EditorState } from '../state/EditorState.js';\nimport type { BlockId } from './TypeBrands.js';\n\n/** Returns true if the block with the given ID is a void block (e.g. image, HR). */\nexport function isVoidBlock(state: EditorState, bid: BlockId): boolean {\n\tconst block = state.getBlock(bid);\n\tif (!block) return false;\n\tconst getNodeSpec = state.schema.getNodeSpec;\n\tif (!getNodeSpec) return false;\n\treturn getNodeSpec(block.type)?.isVoid === true;\n}\n\n/** Checks whether two blocks share the same parent in the document tree. */\nexport function sharesParent(state: EditorState, blockIdA: BlockId, blockIdB: BlockId): boolean {\n\tconst pathA = state.getNodePath(blockIdA);\n\tconst pathB = state.getNodePath(blockIdB);\n\tif (!pathA || !pathB) return false;\n\tif (pathA.length !== pathB.length) return false;\n\t// Compare parent paths (all but last element)\n\tfor (let i = 0; i < pathA.length - 1; i++) {\n\t\tif (pathA[i] !== pathB[i]) return false;\n\t}\n\treturn true;\n}\n\n/** Checks whether a block is inside an isolating node (e.g. table_cell). */\nexport function isInsideIsolating(state: EditorState, blockId: BlockId): boolean {\n\tconst getNodeSpec = state.schema.getNodeSpec;\n\tif (!getNodeSpec) return false;\n\tconst path = state.getNodePath(blockId);\n\tif (!path || path.length <= 1) return false;\n\n\t// Check ancestors (not the block itself)\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tconst ancestorId = path[i];\n\t\tif (!ancestorId) continue;\n\t\tconst ancestor = state.getBlock(ancestorId);\n\t\tif (!ancestor) continue;\n\t\tconst spec = getNodeSpec(ancestor.type);\n\t\tif (spec?.isolating) return true;\n\t}\n\treturn false;\n}\n\n/** Returns true if the block itself has the isolating property. */\nexport function isIsolatingBlock(state: EditorState, blockId: BlockId): boolean {\n\tconst getNodeSpec = state.schema.getNodeSpec;\n\tif (!getNodeSpec) return false;\n\tconst block = state.getBlock(blockId);\n\tif (!block) return false;\n\treturn getNodeSpec(block.type)?.isolating === true;\n}\n\n/**\n * Checks whether navigation between two blocks is allowed.\n * Prevents crossing isolating boundaries (e.g. table cells).\n */\nexport function canCrossBlockBoundary(state: EditorState, fromId: BlockId, toId: BlockId): boolean {\n\t// A block that is itself isolating cannot be crossed into via arrow keys\n\tif (isIsolatingBlock(state, fromId) || isIsolatingBlock(state, toId)) return false;\n\n\tconst fromInside: boolean = isInsideIsolating(state, fromId);\n\tconst toInside: boolean = isInsideIsolating(state, toId);\n\n\t// One inside isolating, the other not → disallow\n\tif (fromInside !== toInside) return false;\n\n\t// Both inside isolating → must share the same parent\n\tif (fromInside && toInside) return sharesParent(state, fromId, toId);\n\n\treturn true;\n}\n"],"names":["isVoidBlock","state","bid","block","getBlock","getNodeSpec","schema","type","isVoid","sharesParent","blockIdA","blockIdB","pathA","getNodePath","pathB","length","i","isInsideIsolating","blockId","path","ancestorId","ancestor","spec","isolating","isIsolatingBlock","canCrossBlockBoundary","fromId","toId","fromInside","toInside"],"mappings":"AAYO,SAASA,EAAYC,IAAoBC,IAAAA;AAC/C,QAAMC,KAAQF,GAAMG,SAASF;AAC7B,MAAA,CAAKC,GAAO;AACZ,QAAME,KAAcJ,GAAMK,OAAOD;AACjC,SAAA,CAAA,CAAKA,MAAAA,SACEA,GAAYF,GAAMI,IAAAA,GAAOC;AACjC;AAGO,SAASC,EAAaR,IAAoBS,IAAmBC;AACnE,QAAMC,KAAQX,GAAMY,YAAYH,EAAAA,GAC1BI,KAAQb,GAAMY,YAAYF;AAChC,MAAA,CAAKC,MAAAA,CAAUE,GAAO,QAAA;AACtB,MAAIF,GAAMG,WAAWD,GAAMC,OAAQ,QAAA;AAEnC,WAASC,KAAI,GAAGA,KAAIJ,GAAMG,SAAS,GAAGC,KACrC,KAAIJ,GAAMI,EAAAA,MAAOF,GAAME,EAAAA,EAAI,QAAA;AAE5B,SAAA;AACD;AAGO,SAASC,EAAkBhB,IAAoBiB;AACrD,QAAMb,KAAcJ,GAAMK,OAAOD;AACjC,OAAKA,GAAa,QAAA;AAClB,QAAMc,KAAOlB,GAAMY,YAAYK,EAAAA;AAC/B,OAAKC,MAAQA,GAAKJ,UAAU,EAAG,QAAA;AAG/B,WAASC,KAAI,GAAGA,KAAIG,GAAKJ,SAAS,GAAGC,MAAK;AACzC,UAAMI,KAAaD,GAAKH,EAAAA;AACxB,QAAA,CAAKI,GAAY;AACjB,UAAMC,IAAWpB,GAAMG,SAASgB;AAChC,QAAA,CAAKC,EAAU;AACf,UAAMC,IAAOjB,GAAYgB,EAASd,IAAAA;AAClC,QAAIe,GAAMC,UAAW,QAAA;AAAA,EACtB;AACA,SAAA;AACD;AAGO,SAASC,EAAiBvB,IAAoBiB,IAAAA;AACpD,QAAMb,KAAcJ,GAAMK,OAAOD;AACjC,MAAA,CAAKA,GAAa,QAAA;AAClB,QAAMF,KAAQF,GAAMG,SAASc;AAC7B,SAAA,CAAA,CAAKf,MAAAA,SACEE,GAAYF,GAAMI,OAAOgB;AACjC;AAMO,SAASE,EAAsBxB,IAAoByB,IAAiBC,GAAAA;AAE1E,MAAIH,EAAiBvB,IAAOyB,EAAAA,KAAWF,EAAiBvB,IAAO0B,CAAAA,EAAO,QAAA;AAEtE,QAAMC,IAAsBX,EAAkBhB,IAAOyB,EAAAA,GAC/CG,IAAoBZ,EAAkBhB,IAAO0B;AAGnD,SAAIC,MAAeC,OAGfD,KAAAA,CAAcC,KAAiBpB,EAAaR,IAAOyB,IAAQC;AAGhE;"}
@@ -1,81 +0,0 @@
1
- import { d as n } from "./Document-Brtw2jL1.mjs";
2
- function i(i2, r2) {
3
- if (0 === r2.length) return;
4
- let t2 = i2.children.find((n2) => n2.id === r2[0]);
5
- if (t2) {
6
- for (let i3 = 1; i3 < r2.length; i3++) {
7
- const e2 = r2[i3];
8
- if (!e2) return;
9
- const o2 = t2?.children.find((i4) => n(i4) && i4.id === e2);
10
- if (!o2) return;
11
- t2 = o2;
12
- }
13
- return t2;
14
- }
15
- }
16
- function r(r2, t2) {
17
- if (0 === t2.length) return;
18
- if (1 === t2.length) {
19
- const n2 = r2.children.findIndex((n3) => n3.id === t2[0]);
20
- if (-1 === n2) return;
21
- return { parent: r2, index: n2 };
22
- }
23
- const e2 = i(r2, t2.slice(0, -1));
24
- if (!e2) return;
25
- const o2 = t2[t2.length - 1];
26
- if (!o2) return;
27
- const f2 = e2.children.findIndex((i2) => n(i2) && i2.id === o2);
28
- return -1 !== f2 ? { parent: e2, index: f2 } : void 0;
29
- }
30
- function t(n2, i2) {
31
- for (const r2 of n2.children) {
32
- if (r2.id === i2) return [i2];
33
- const n3 = e(r2, i2);
34
- if (n3) return [r2.id, ...n3];
35
- }
36
- }
37
- function e(i2, r2) {
38
- for (const t2 of i2.children) {
39
- if (!n(t2)) continue;
40
- if (t2.id === r2) return [r2];
41
- const i3 = e(t2, r2);
42
- if (i3) return [t2.id, ...i3];
43
- }
44
- }
45
- function o(n2, i2) {
46
- for (const r2 of n2.children) f(r2, [r2.id], i2);
47
- }
48
- function f(i2, r2, t2) {
49
- t2(i2, r2);
50
- for (const e2 of i2.children) n(e2) && f(e2, [...r2, e2.id], t2);
51
- }
52
- function c(n2, i2) {
53
- for (const r2 of n2.children) {
54
- if (r2.id === i2) return r2;
55
- const n3 = d(r2, i2);
56
- if (n3) return n3;
57
- }
58
- }
59
- function d(i2, r2) {
60
- for (const t2 of i2.children) {
61
- if (!n(t2)) continue;
62
- if (t2.id === r2) return t2;
63
- const i3 = d(t2, r2);
64
- if (i3) return i3;
65
- }
66
- }
67
- function u(n2, r2) {
68
- const e2 = t(n2, r2);
69
- if (!e2) return;
70
- const o2 = i(n2, e2);
71
- return o2 ? { node: o2, path: e2 } : void 0;
72
- }
73
- export {
74
- c as a,
75
- u as b,
76
- r as c,
77
- t as f,
78
- i as r,
79
- o as w
80
- };
81
- //# sourceMappingURL=NodeResolver-C2XYkeOi.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeResolver-C2XYkeOi.mjs","sources":["../../src/model/NodeResolver.ts"],"sourcesContent":["/**\n * Utilities for resolving nodes by path within the document tree.\n * Supports both flat and recursive (nested) document structures.\n */\n\nimport type { BlockNode, Document } from './Document.js';\nimport { isBlockNode } from './Document.js';\n\n/**\n * Resolves a node in the document tree by its path (array of block IDs).\n * The path traces the lineage from the root block down to the target.\n */\nexport function resolveNodeByPath(doc: Document, path: readonly string[]): BlockNode | undefined {\n\tif (path.length === 0) return undefined;\n\n\tlet current: BlockNode | undefined = doc.children.find((b) => b.id === path[0]);\n\tif (!current) return undefined;\n\n\tfor (let i = 1; i < path.length; i++) {\n\t\tconst childId = path[i];\n\t\tif (!childId) return undefined;\n\t\tconst next: BlockNode | undefined = current?.children.find(\n\t\t\t(c): c is BlockNode => isBlockNode(c) && c.id === childId,\n\t\t);\n\t\tif (!next) return undefined;\n\t\tcurrent = next;\n\t}\n\n\treturn current;\n}\n\n/**\n * Resolves the parent of a node at the given path.\n * Returns the parent container (Document or BlockNode) and the child's index within it.\n */\nexport function resolveParentByPath(\n\tdoc: Document,\n\tpath: readonly string[],\n): { parent: Document | BlockNode; index: number } | undefined {\n\tif (path.length === 0) return undefined;\n\n\tif (path.length === 1) {\n\t\tconst index = doc.children.findIndex((b) => b.id === path[0]);\n\t\tif (index === -1) return undefined;\n\t\treturn { parent: doc, index };\n\t}\n\n\tconst parentPath = path.slice(0, -1);\n\tconst parent = resolveNodeByPath(doc, parentPath);\n\tif (!parent) return undefined;\n\n\tconst childId = path[path.length - 1];\n\tif (!childId) return undefined;\n\tconst index = parent.children.findIndex(\n\t\t(c): c is BlockNode => isBlockNode(c) && c.id === childId,\n\t);\n\tif (index === -1) return undefined;\n\n\treturn { parent, index };\n}\n\n/**\n * Finds the path (array of block IDs) to a node by its ID.\n * Performs recursive DFS through the document tree.\n */\nexport function findNodePath(doc: Document, nodeId: string): string[] | undefined {\n\tfor (const block of doc.children) {\n\t\tif (block.id === nodeId) return [nodeId];\n\n\t\tconst subPath = findNodePathInBlock(block, nodeId);\n\t\tif (subPath) return [block.id, ...subPath];\n\t}\n\treturn undefined;\n}\n\nfunction findNodePathInBlock(block: BlockNode, nodeId: string): string[] | undefined {\n\tfor (const child of block.children) {\n\t\tif (!isBlockNode(child)) continue;\n\t\tif (child.id === nodeId) return [nodeId];\n\n\t\tconst subPath = findNodePathInBlock(child, nodeId);\n\t\tif (subPath) return [child.id, ...subPath];\n\t}\n\treturn undefined;\n}\n\n/**\n * Walks all block nodes in the document tree in depth-first order.\n * Visits every BlockNode, including nested ones, with their full path.\n */\nexport function walkNodes(\n\tdoc: Document,\n\tcallback: (node: BlockNode, path: string[]) => void,\n): void {\n\tfor (const block of doc.children) {\n\t\twalkNodeRecursive(block, [block.id], callback);\n\t}\n}\n\nfunction walkNodeRecursive(\n\tnode: BlockNode,\n\tpath: string[],\n\tcallback: (node: BlockNode, path: string[]) => void,\n): void {\n\tcallback(node, path);\n\tfor (const child of node.children) {\n\t\tif (isBlockNode(child)) {\n\t\t\twalkNodeRecursive(child, [...path, child.id], callback);\n\t\t}\n\t}\n}\n\n/**\n * Finds a block node by ID anywhere in the document tree (recursive DFS).\n */\nexport function findNode(doc: Document, nodeId: string): BlockNode | undefined {\n\tfor (const block of doc.children) {\n\t\tif (block.id === nodeId) return block;\n\t\tconst found = findNodeInBlock(block, nodeId);\n\t\tif (found) return found;\n\t}\n\treturn undefined;\n}\n\nfunction findNodeInBlock(block: BlockNode, nodeId: string): BlockNode | undefined {\n\tfor (const child of block.children) {\n\t\tif (!isBlockNode(child)) continue;\n\t\tif (child.id === nodeId) return child;\n\t\tconst found = findNodeInBlock(child, nodeId);\n\t\tif (found) return found;\n\t}\n\treturn undefined;\n}\n\n/**\n * Finds a block node and returns it together with its path.\n */\nexport function findNodeWithPath(\n\tdoc: Document,\n\tnodeId: string,\n): { node: BlockNode; path: string[] } | undefined {\n\tconst path = findNodePath(doc, nodeId);\n\tif (!path) return undefined;\n\tconst node = resolveNodeByPath(doc, path);\n\tif (!node) return undefined;\n\treturn { node, path };\n}\n"],"names":["resolveNodeByPath","doc","path","length","current","children","find","b","id","i","childId","next","c","isBlockNode","resolveParentByPath","index","findIndex","parent","slice","findNodePath","nodeId","block","subPath","findNodePathInBlock","child","walkNodes","callback","walkNodeRecursive","node","findNode","found","findNodeInBlock","findNodeWithPath"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- function t(t2, e) {
2
- const c = document.createElement(t2);
3
- return c.setAttribute("data-block-id", e), c;
4
- }
5
- export {
6
- t as c
7
- };
8
- //# sourceMappingURL=NodeSpec-NZVvcCuH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeSpec-NZVvcCuH.mjs","sources":["../../src/model/NodeSpec.ts"],"sourcesContent":["/**\n * NodeSpec: defines how a block-node type behaves and renders to the DOM.\n */\n\nimport type { NodeAttrsFor } from './AttrRegistry.js';\nimport type { BlockNode } from './Document.js';\nimport type { ParseRule } from './ParseRule.js';\nimport type { SanitizeConfig } from './SanitizeConfig.js';\nimport type { BlockId } from './TypeBrands.js';\n\nexport interface AttrSpec {\n\treadonly default?: string | number | boolean;\n}\n\n/** Describes a wrapper element that groups consecutive blocks of the same kind. */\nexport interface WrapperSpec {\n\t/** The HTML tag for the wrapper element (e.g., 'ul', 'ol'). */\n\treadonly tag: string;\n\t/** A key to group consecutive blocks. Blocks with the same key share a wrapper. */\n\treadonly key: string;\n\t/** Optional CSS class for the wrapper element. */\n\treadonly className?: string;\n\t/** Optional attributes for the wrapper element. */\n\treadonly attrs?: Readonly<Record<string, string>>;\n}\n\n/** Describes which children a node type is allowed to contain. */\nexport interface ContentRule {\n\t/** Allowed child types or group names. */\n\treadonly allow: readonly string[];\n\treadonly min?: number;\n\treadonly max?: number;\n}\n\n/** Creates an HTMLElement with the required `data-block-id` attribute. */\nexport function createBlockElement(tag: string, blockId: BlockId): HTMLElement {\n\tconst el = document.createElement(tag);\n\tel.setAttribute('data-block-id', blockId);\n\treturn el;\n}\n\nexport interface NodeSpec<T extends string = string> {\n\treadonly type: T;\n\t/** Renders the block to a DOM element. Must set `data-block-id` on the root. */\n\ttoDOM(node: Omit<BlockNode, 'attrs'> & { readonly attrs: NodeAttrsFor<T> }): HTMLElement;\n\treadonly attrs?: Readonly<Record<string, AttrSpec>>;\n\t/** If true, the node contains no editable text (e.g. Image, HR). */\n\treadonly isVoid?: boolean;\n\t/** Content model: which children this node can contain. */\n\treadonly content?: ContentRule;\n\t/** Group membership: 'block' | 'inline' | custom. */\n\treadonly group?: string;\n\t/** If true, selection cannot cross this node's boundary (e.g. table_cell). */\n\treadonly isolating?: boolean;\n\t/** If true, node can be selected as an object via mouse interaction. */\n\treadonly selectable?: boolean;\n\t/**\n\t * Mark types that are incompatible with this block type.\n\t * When a block is converted to this type, marks listed here\n\t * are stripped from the block's inline content.\n\t */\n\treadonly excludeMarks?: readonly string[];\n\t/** Serializes the block to an HTML string. `content` is the pre-serialized inline children. */\n\treadonly toHTML?: (node: BlockNode, content: string) => string;\n\t/** Rules for matching HTML elements to this block type during parsing. */\n\treadonly parseHTML?: readonly ParseRule[];\n\t/** Tags and attributes this spec needs through DOMPurify sanitization. */\n\treadonly sanitize?: SanitizeConfig;\n\t/**\n\t * If provided, the Reconciler groups consecutive blocks with the same\n\t * wrapper key into a shared wrapper element. Useful for semantic list\n\t * wrappers (`<ul>`, `<ol>`) around `<li>` block elements.\n\t */\n\twrapper?(node: Omit<BlockNode, 'attrs'> & { readonly attrs: NodeAttrsFor<T> }): WrapperSpec;\n}\n"],"names":["createBlockElement","tag","blockId","el","document","createElement","setAttribute"],"mappings":"AAmCO,SAASA,EAAmBC,IAAaC,GAAAA;AAC/C,QAAMC,IAAKC,SAASC,cAAcJ,EAAAA;AAElC,SADAE,EAAGG,aAAa,iBAAiBJ,CAAAA,GAC1BC;AACR;"}