@notectl/core 2.0.9 → 2.1.2

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 (1096) hide show
  1. package/dist/chunks/AlignmentPlugin-bqK6ze-E.mjs +2 -0
  2. package/dist/chunks/AlignmentPlugin-bqK6ze-E.mjs.map +1 -0
  3. package/dist/chunks/BidiIsolationPlugin-SIKxfWXp.mjs +2 -0
  4. package/dist/chunks/BidiIsolationPlugin-SIKxfWXp.mjs.map +1 -0
  5. package/dist/chunks/BlockquotePlugin-BEaZSoVT.mjs +2 -0
  6. package/dist/chunks/BlockquotePlugin-BEaZSoVT.mjs.map +1 -0
  7. package/dist/chunks/CaretNavigationPlugin-DHl61oc6.mjs +2 -0
  8. package/dist/chunks/CaretNavigationPlugin-DHl61oc6.mjs.map +1 -0
  9. package/dist/chunks/CodeBlockPlugin-DglqiSNK.mjs +2 -0
  10. package/dist/chunks/CodeBlockPlugin-DglqiSNK.mjs.map +1 -0
  11. package/dist/chunks/ColorGrid-Czm0p2E9.mjs +2 -0
  12. package/dist/chunks/ColorGrid-Czm0p2E9.mjs.map +1 -0
  13. package/dist/chunks/ColorPickerPopup-CL-W380M.mjs +2 -0
  14. package/dist/chunks/ColorPickerPopup-CL-W380M.mjs.map +1 -0
  15. package/dist/chunks/DirectionDetection-Hun6-7ER.mjs +2 -0
  16. package/dist/chunks/DirectionDetection-Hun6-7ER.mjs.map +1 -0
  17. package/dist/chunks/DirectionIcons-CfaDcQ9a.mjs +2 -0
  18. package/dist/chunks/DirectionIcons-CfaDcQ9a.mjs.map +1 -0
  19. package/dist/chunks/DocumentParser-CyATBOz-.mjs +2 -0
  20. package/dist/chunks/DocumentParser-CyATBOz-.mjs.map +1 -0
  21. package/dist/chunks/FontPlugin-B-Sxa0UW.mjs +2 -0
  22. package/dist/chunks/FontPlugin-B-Sxa0UW.mjs.map +1 -0
  23. package/dist/chunks/FontSizePlugin-C1zlyXL2.mjs +2 -0
  24. package/dist/chunks/FontSizePlugin-C1zlyXL2.mjs.map +1 -0
  25. package/dist/chunks/GapCursorPlugin-nldun8cE.mjs +2 -0
  26. package/dist/chunks/GapCursorPlugin-nldun8cE.mjs.map +1 -0
  27. package/dist/chunks/HTMLUtils-brwcaufP.mjs +2 -0
  28. package/dist/chunks/HTMLUtils-brwcaufP.mjs.map +1 -0
  29. package/dist/chunks/HardBreakPlugin-DZRdsE15.mjs +2 -0
  30. package/dist/chunks/HardBreakPlugin-DZRdsE15.mjs.map +1 -0
  31. package/dist/chunks/HeadingPlugin-EPAmsEGt.mjs +2 -0
  32. package/dist/chunks/HeadingPlugin-EPAmsEGt.mjs.map +1 -0
  33. package/dist/chunks/HighlightPlugin-RN3l6pVJ.mjs +2 -0
  34. package/dist/chunks/HighlightPlugin-RN3l6pVJ.mjs.map +1 -0
  35. package/dist/chunks/HorizontalRulePlugin-BJPXzTtJ.mjs +2 -0
  36. package/dist/chunks/HorizontalRulePlugin-BJPXzTtJ.mjs.map +1 -0
  37. package/dist/chunks/ImagePlugin-CCEevNfJ.mjs +2 -0
  38. package/dist/chunks/ImagePlugin-CCEevNfJ.mjs.map +1 -0
  39. package/dist/chunks/InlineCodePlugin-B7IOgUSI.mjs +2 -0
  40. package/dist/chunks/InlineCodePlugin-B7IOgUSI.mjs.map +1 -0
  41. package/dist/chunks/LinkPlugin-Bhwg24lH.mjs +2 -0
  42. package/dist/chunks/LinkPlugin-Bhwg24lH.mjs.map +1 -0
  43. package/dist/chunks/ListPlugin-BkG6UO4x.mjs +2 -0
  44. package/dist/chunks/ListPlugin-BkG6UO4x.mjs.map +1 -0
  45. package/dist/chunks/PluginHelpers-D-MvWR98.mjs +2 -0
  46. package/dist/chunks/PluginHelpers-D-MvWR98.mjs.map +1 -0
  47. package/dist/chunks/PopupKeyboardPatterns-DQdL7RHx.mjs +2 -0
  48. package/dist/chunks/PopupKeyboardPatterns-DQdL7RHx.mjs.map +1 -0
  49. package/dist/chunks/PopupManager-CxPzNm-P.mjs +2 -0
  50. package/dist/chunks/PopupManager-CxPzNm-P.mjs.map +1 -0
  51. package/dist/chunks/PrintPlugin-DOk5IZRO.mjs +2 -0
  52. package/dist/chunks/PrintPlugin-DOk5IZRO.mjs.map +1 -0
  53. package/dist/chunks/PrintTypes-Drk6kLcl.mjs +2 -0
  54. package/dist/chunks/PrintTypes-Drk6kLcl.mjs.map +1 -0
  55. package/dist/chunks/SmartPastePlugin-DqKx94sH.mjs +2 -0
  56. package/dist/chunks/SmartPastePlugin-DqKx94sH.mjs.map +1 -0
  57. package/dist/chunks/StrikethroughPlugin-vYNzfxdy.mjs +2 -0
  58. package/dist/chunks/StrikethroughPlugin-vYNzfxdy.mjs.map +1 -0
  59. package/dist/chunks/SuperSubPlugin-BNsoXWHS.mjs +2 -0
  60. package/dist/chunks/SuperSubPlugin-BNsoXWHS.mjs.map +1 -0
  61. package/dist/chunks/TablePlugin-R-hmydrM.mjs +2 -0
  62. package/dist/chunks/TablePlugin-R-hmydrM.mjs.map +1 -0
  63. package/dist/chunks/TextColorPlugin-DQ-CB9cr.mjs +2 -0
  64. package/dist/chunks/TextColorPlugin-DQ-CB9cr.mjs.map +1 -0
  65. package/dist/chunks/TextDirectionAutoPlugin-kZ1tcu0d.mjs +2 -0
  66. package/dist/chunks/TextDirectionAutoPlugin-kZ1tcu0d.mjs.map +1 -0
  67. package/dist/chunks/TextDirectionPlugin-Bk3CkbYh.mjs +2 -0
  68. package/dist/chunks/TextDirectionPlugin-Bk3CkbYh.mjs.map +1 -0
  69. package/dist/chunks/TextDirectionService-DY4M8EwU.mjs +2 -0
  70. package/dist/chunks/TextDirectionService-DY4M8EwU.mjs.map +1 -0
  71. package/dist/chunks/TextFormattingPlugin-D13eP6nF.mjs +2 -0
  72. package/dist/chunks/TextFormattingPlugin-D13eP6nF.mjs.map +1 -0
  73. package/dist/chunks/ToolbarPlugin-DeH8n5d2.mjs +2 -0
  74. package/dist/chunks/ToolbarPlugin-DeH8n5d2.mjs.map +1 -0
  75. package/dist/chunks/TypedKeys-CU7aToqY.mjs +2 -0
  76. package/dist/chunks/TypedKeys-CU7aToqY.mjs.map +1 -0
  77. package/dist/chunks/XmlDetector-BtYxzBDa.mjs +2 -0
  78. package/dist/chunks/XmlDetector-BtYxzBDa.mjs.map +1 -0
  79. package/dist/chunks/XmlPatterns-DuP8GWVt.mjs +2 -0
  80. package/dist/chunks/XmlPatterns-DuP8GWVt.mjs.map +1 -0
  81. package/dist/chunks/XmlSupport-D54BdAJZ.mjs +2 -0
  82. package/dist/chunks/XmlSupport-D54BdAJZ.mjs.map +1 -0
  83. package/dist/chunks/ar-2Fkz_6nI.mjs +2 -0
  84. package/dist/chunks/ar-2Fkz_6nI.mjs.map +1 -0
  85. package/dist/chunks/ar-4ZPC8daa.mjs +2 -0
  86. package/dist/chunks/ar-4ZPC8daa.mjs.map +1 -0
  87. package/dist/chunks/ar-6I20_Djq.mjs +2 -0
  88. package/dist/chunks/ar-6I20_Djq.mjs.map +1 -0
  89. package/dist/chunks/ar-B7-Dm70S.mjs +2 -0
  90. package/dist/chunks/ar-B7-Dm70S.mjs.map +1 -0
  91. package/dist/chunks/ar-BRe0t96G.mjs +2 -0
  92. package/dist/chunks/ar-BRe0t96G.mjs.map +1 -0
  93. package/dist/chunks/ar-BnNyrtdi.mjs +2 -0
  94. package/dist/chunks/ar-BnNyrtdi.mjs.map +1 -0
  95. package/dist/chunks/ar-BsMfhWs5.mjs +2 -0
  96. package/dist/chunks/ar-BsMfhWs5.mjs.map +1 -0
  97. package/dist/chunks/ar-Bvja-bjE.mjs +2 -0
  98. package/dist/chunks/ar-Bvja-bjE.mjs.map +1 -0
  99. package/dist/chunks/ar-BxVbBvSa.mjs +2 -0
  100. package/dist/chunks/ar-BxVbBvSa.mjs.map +1 -0
  101. package/dist/chunks/ar-C5dW-co3.mjs +2 -0
  102. package/dist/chunks/ar-C5dW-co3.mjs.map +1 -0
  103. package/dist/chunks/ar-CARMr30L.mjs +2 -0
  104. package/dist/chunks/ar-CARMr30L.mjs.map +1 -0
  105. package/dist/chunks/ar-CB-pehGw.mjs +2 -0
  106. package/dist/chunks/ar-CB-pehGw.mjs.map +1 -0
  107. package/dist/chunks/ar-CEYgAxTM.mjs +2 -0
  108. package/dist/chunks/ar-CEYgAxTM.mjs.map +1 -0
  109. package/dist/chunks/ar-CO60qpZJ.mjs +2 -0
  110. package/dist/chunks/ar-CO60qpZJ.mjs.map +1 -0
  111. package/dist/chunks/ar-CtI_snUM.mjs +2 -0
  112. package/dist/chunks/ar-CtI_snUM.mjs.map +1 -0
  113. package/dist/chunks/ar-Cv1RQvhK.mjs +2 -0
  114. package/dist/chunks/ar-Cv1RQvhK.mjs.map +1 -0
  115. package/dist/chunks/ar-D5jV20Tu.mjs +2 -0
  116. package/dist/chunks/ar-D5jV20Tu.mjs.map +1 -0
  117. package/dist/chunks/ar-DJN9fQ7Z.mjs +2 -0
  118. package/dist/chunks/ar-DJN9fQ7Z.mjs.map +1 -0
  119. package/dist/chunks/ar-DPTsUnwA.mjs +2 -0
  120. package/dist/chunks/ar-DPTsUnwA.mjs.map +1 -0
  121. package/dist/chunks/ar-DZJIBD1Q.mjs +2 -0
  122. package/dist/chunks/ar-DZJIBD1Q.mjs.map +1 -0
  123. package/dist/chunks/ar-DkkbwV93.mjs +2 -0
  124. package/dist/chunks/ar-DkkbwV93.mjs.map +1 -0
  125. package/dist/chunks/ar-DmeMor8Y.mjs +2 -0
  126. package/dist/chunks/ar-DmeMor8Y.mjs.map +1 -0
  127. package/dist/chunks/ar-LnE7jPai.mjs +2 -0
  128. package/dist/chunks/ar-LnE7jPai.mjs.map +1 -0
  129. package/dist/chunks/ar-P3wW0fmA.mjs +2 -0
  130. package/dist/chunks/ar-P3wW0fmA.mjs.map +1 -0
  131. package/dist/chunks/ar-uum0DCfv.mjs +2 -0
  132. package/dist/chunks/ar-uum0DCfv.mjs.map +1 -0
  133. package/dist/chunks/color-picker-DlXhHBZ6.mjs +2 -0
  134. package/dist/chunks/color-picker-DlXhHBZ6.mjs.map +1 -0
  135. package/dist/chunks/de-8SHQu0rr.mjs +2 -0
  136. package/dist/chunks/de-8SHQu0rr.mjs.map +1 -0
  137. package/dist/chunks/de-B8a71A0X.mjs +2 -0
  138. package/dist/chunks/de-B8a71A0X.mjs.map +1 -0
  139. package/dist/chunks/de-B9weXoA1.mjs +2 -0
  140. package/dist/chunks/de-B9weXoA1.mjs.map +1 -0
  141. package/dist/chunks/de-BKm53tVU.mjs +2 -0
  142. package/dist/chunks/de-BKm53tVU.mjs.map +1 -0
  143. package/dist/chunks/de-BLWrnMfX.mjs +2 -0
  144. package/dist/chunks/de-BLWrnMfX.mjs.map +1 -0
  145. package/dist/chunks/de-BOujs1pF.mjs +2 -0
  146. package/dist/chunks/de-BOujs1pF.mjs.map +1 -0
  147. package/dist/chunks/de-B_1XleAG.mjs +2 -0
  148. package/dist/chunks/de-B_1XleAG.mjs.map +1 -0
  149. package/dist/chunks/de-BpmjrOMc.mjs +2 -0
  150. package/dist/chunks/de-BpmjrOMc.mjs.map +1 -0
  151. package/dist/chunks/de-C8OHD1fm.mjs +2 -0
  152. package/dist/chunks/de-C8OHD1fm.mjs.map +1 -0
  153. package/dist/chunks/de-CAVCXBBR.mjs +2 -0
  154. package/dist/chunks/de-CAVCXBBR.mjs.map +1 -0
  155. package/dist/chunks/de-CkMnuozT.mjs +2 -0
  156. package/dist/chunks/de-CkMnuozT.mjs.map +1 -0
  157. package/dist/chunks/de-CtDnvnnm.mjs +2 -0
  158. package/dist/chunks/de-CtDnvnnm.mjs.map +1 -0
  159. package/dist/chunks/de-Cz26vtXW.mjs +2 -0
  160. package/dist/chunks/de-Cz26vtXW.mjs.map +1 -0
  161. package/dist/chunks/de-D0BPSP3j.mjs +2 -0
  162. package/dist/chunks/de-D0BPSP3j.mjs.map +1 -0
  163. package/dist/chunks/de-D74v0paw.mjs +2 -0
  164. package/dist/chunks/de-D74v0paw.mjs.map +1 -0
  165. package/dist/chunks/de-DKj55F9g.mjs +2 -0
  166. package/dist/chunks/de-DKj55F9g.mjs.map +1 -0
  167. package/dist/chunks/de-DYuRb98l.mjs +2 -0
  168. package/dist/chunks/de-DYuRb98l.mjs.map +1 -0
  169. package/dist/chunks/de-DaK0-sdo.mjs +2 -0
  170. package/dist/chunks/de-DaK0-sdo.mjs.map +1 -0
  171. package/dist/chunks/de-Dia08Wsq.mjs +2 -0
  172. package/dist/chunks/de-Dia08Wsq.mjs.map +1 -0
  173. package/dist/chunks/de-Dp_uj2Z3.mjs +2 -0
  174. package/dist/chunks/de-Dp_uj2Z3.mjs.map +1 -0
  175. package/dist/chunks/de-DwX1CDNO.mjs +2 -0
  176. package/dist/chunks/de-DwX1CDNO.mjs.map +1 -0
  177. package/dist/chunks/de-DyF2mRfw.mjs +2 -0
  178. package/dist/chunks/de-DyF2mRfw.mjs.map +1 -0
  179. package/dist/chunks/de-X3BLBlF8.mjs +2 -0
  180. package/dist/chunks/de-X3BLBlF8.mjs.map +1 -0
  181. package/dist/chunks/de-dPC3Qk7N.mjs +2 -0
  182. package/dist/chunks/de-dPC3Qk7N.mjs.map +1 -0
  183. package/dist/chunks/de-pLGt5S7j.mjs +2 -0
  184. package/dist/chunks/de-pLGt5S7j.mjs.map +1 -0
  185. package/dist/chunks/es--xozZF4T.mjs +2 -0
  186. package/dist/chunks/es--xozZF4T.mjs.map +1 -0
  187. package/dist/chunks/es-2BjtTusm.mjs +2 -0
  188. package/dist/chunks/es-2BjtTusm.mjs.map +1 -0
  189. package/dist/chunks/es-B2rEK7_f.mjs +2 -0
  190. package/dist/chunks/es-B2rEK7_f.mjs.map +1 -0
  191. package/dist/chunks/es-B9esmUm1.mjs +2 -0
  192. package/dist/chunks/es-B9esmUm1.mjs.map +1 -0
  193. package/dist/chunks/es-BJxkHalP.mjs +2 -0
  194. package/dist/chunks/es-BJxkHalP.mjs.map +1 -0
  195. package/dist/chunks/es-BMKsnh3y.mjs +2 -0
  196. package/dist/chunks/es-BMKsnh3y.mjs.map +1 -0
  197. package/dist/chunks/es-BXFflrrU.mjs +2 -0
  198. package/dist/chunks/es-BXFflrrU.mjs.map +1 -0
  199. package/dist/chunks/es-BbX_lEEN.mjs +2 -0
  200. package/dist/chunks/es-BbX_lEEN.mjs.map +1 -0
  201. package/dist/chunks/es-BlHe_tc0.mjs +2 -0
  202. package/dist/chunks/es-BlHe_tc0.mjs.map +1 -0
  203. package/dist/chunks/es-Bu6nnEeT.mjs +2 -0
  204. package/dist/chunks/es-Bu6nnEeT.mjs.map +1 -0
  205. package/dist/chunks/es-Bx0CbUoY.mjs +2 -0
  206. package/dist/chunks/es-Bx0CbUoY.mjs.map +1 -0
  207. package/dist/chunks/es-CE9Tbsb7.mjs +2 -0
  208. package/dist/chunks/es-CE9Tbsb7.mjs.map +1 -0
  209. package/dist/chunks/es-COSomns3.mjs +2 -0
  210. package/dist/chunks/es-COSomns3.mjs.map +1 -0
  211. package/dist/chunks/es-C_7qthHu.mjs +2 -0
  212. package/dist/chunks/es-C_7qthHu.mjs.map +1 -0
  213. package/dist/chunks/es-CirfP3x1.mjs +2 -0
  214. package/dist/chunks/es-CirfP3x1.mjs.map +1 -0
  215. package/dist/chunks/es-CpF8eiPr.mjs +2 -0
  216. package/dist/chunks/es-CpF8eiPr.mjs.map +1 -0
  217. package/dist/chunks/es-D787y0ui.mjs +2 -0
  218. package/dist/chunks/es-D787y0ui.mjs.map +1 -0
  219. package/dist/chunks/es-D8iB5vwQ.mjs +2 -0
  220. package/dist/chunks/es-D8iB5vwQ.mjs.map +1 -0
  221. package/dist/chunks/es-DBb78XWu.mjs +2 -0
  222. package/dist/chunks/es-DBb78XWu.mjs.map +1 -0
  223. package/dist/chunks/es-DC6mYTD3.mjs +2 -0
  224. package/dist/chunks/es-DC6mYTD3.mjs.map +1 -0
  225. package/dist/chunks/es-Dh--mRZs.mjs +2 -0
  226. package/dist/chunks/es-Dh--mRZs.mjs.map +1 -0
  227. package/dist/chunks/es-DvPsYqFj.mjs +2 -0
  228. package/dist/chunks/es-DvPsYqFj.mjs.map +1 -0
  229. package/dist/chunks/es-DxXimuUa.mjs +2 -0
  230. package/dist/chunks/es-DxXimuUa.mjs.map +1 -0
  231. package/dist/chunks/es-mWJptxq3.mjs +2 -0
  232. package/dist/chunks/es-mWJptxq3.mjs.map +1 -0
  233. package/dist/chunks/es-qYV--o6U.mjs +2 -0
  234. package/dist/chunks/es-qYV--o6U.mjs.map +1 -0
  235. package/dist/chunks/fonts-CxtWyeNB.mjs +2 -0
  236. package/dist/chunks/fonts-CxtWyeNB.mjs.map +1 -0
  237. package/dist/chunks/fr--F426oao.mjs +2 -0
  238. package/dist/chunks/fr--F426oao.mjs.map +1 -0
  239. package/dist/chunks/fr-B0BPbbNB.mjs +2 -0
  240. package/dist/chunks/fr-B0BPbbNB.mjs.map +1 -0
  241. package/dist/chunks/fr-B4UQy0j-.mjs +2 -0
  242. package/dist/chunks/fr-B4UQy0j-.mjs.map +1 -0
  243. package/dist/chunks/fr-B4XLxkci.mjs +2 -0
  244. package/dist/chunks/fr-B4XLxkci.mjs.map +1 -0
  245. package/dist/chunks/fr-BC1Rfp9S.mjs +2 -0
  246. package/dist/chunks/fr-BC1Rfp9S.mjs.map +1 -0
  247. package/dist/chunks/fr-BRGGu0E2.mjs +2 -0
  248. package/dist/chunks/fr-BRGGu0E2.mjs.map +1 -0
  249. package/dist/chunks/fr-BoSz1pa9.mjs +2 -0
  250. package/dist/chunks/fr-BoSz1pa9.mjs.map +1 -0
  251. package/dist/chunks/fr-Bom3RFIN.mjs +2 -0
  252. package/dist/chunks/fr-Bom3RFIN.mjs.map +1 -0
  253. package/dist/chunks/fr-BtnwMUII.mjs +2 -0
  254. package/dist/chunks/fr-BtnwMUII.mjs.map +1 -0
  255. package/dist/chunks/fr-C6pglM3H.mjs +2 -0
  256. package/dist/chunks/fr-C6pglM3H.mjs.map +1 -0
  257. package/dist/chunks/fr-CDBpS6xE.mjs +2 -0
  258. package/dist/chunks/fr-CDBpS6xE.mjs.map +1 -0
  259. package/dist/chunks/fr-CN0ihkUg.mjs +2 -0
  260. package/dist/chunks/fr-CN0ihkUg.mjs.map +1 -0
  261. package/dist/chunks/fr-CNNBBeLM.mjs +2 -0
  262. package/dist/chunks/fr-CNNBBeLM.mjs.map +1 -0
  263. package/dist/chunks/fr-CVOY2y07.mjs +2 -0
  264. package/dist/chunks/fr-CVOY2y07.mjs.map +1 -0
  265. package/dist/chunks/fr-CZAbL_o0.mjs +2 -0
  266. package/dist/chunks/fr-CZAbL_o0.mjs.map +1 -0
  267. package/dist/chunks/fr-DJkPmQG_.mjs +2 -0
  268. package/dist/chunks/fr-DJkPmQG_.mjs.map +1 -0
  269. package/dist/chunks/fr-DkWdFDsR.mjs +2 -0
  270. package/dist/chunks/fr-DkWdFDsR.mjs.map +1 -0
  271. package/dist/chunks/fr-DnQHoPVo.mjs +2 -0
  272. package/dist/chunks/fr-DnQHoPVo.mjs.map +1 -0
  273. package/dist/chunks/fr-DsdueaiG.mjs +2 -0
  274. package/dist/chunks/fr-DsdueaiG.mjs.map +1 -0
  275. package/dist/chunks/fr-DxNdsa11.mjs +2 -0
  276. package/dist/chunks/fr-DxNdsa11.mjs.map +1 -0
  277. package/dist/chunks/fr-IO4_LYvE.mjs +2 -0
  278. package/dist/chunks/fr-IO4_LYvE.mjs.map +1 -0
  279. package/dist/chunks/fr-ZKDCEpww.mjs +2 -0
  280. package/dist/chunks/fr-ZKDCEpww.mjs.map +1 -0
  281. package/dist/chunks/fr-coufP_et.mjs +2 -0
  282. package/dist/chunks/fr-coufP_et.mjs.map +1 -0
  283. package/dist/chunks/fr-lYSOgOK7.mjs +2 -0
  284. package/dist/chunks/fr-lYSOgOK7.mjs.map +1 -0
  285. package/dist/chunks/fr-wobtRjcF.mjs +2 -0
  286. package/dist/chunks/fr-wobtRjcF.mjs.map +1 -0
  287. package/dist/chunks/full-5hGvv-bG.mjs +2 -0
  288. package/dist/chunks/full-5hGvv-bG.mjs.map +1 -0
  289. package/dist/chunks/hi-B0o90MFd.mjs +2 -0
  290. package/dist/chunks/hi-B0o90MFd.mjs.map +1 -0
  291. package/dist/chunks/hi-BFko34WG.mjs +2 -0
  292. package/dist/chunks/hi-BFko34WG.mjs.map +1 -0
  293. package/dist/chunks/hi-BVxSgaNT.mjs +2 -0
  294. package/dist/chunks/hi-BVxSgaNT.mjs.map +1 -0
  295. package/dist/chunks/hi-BirBQ5Ef.mjs +2 -0
  296. package/dist/chunks/hi-BirBQ5Ef.mjs.map +1 -0
  297. package/dist/chunks/hi-BnsbcSIX.mjs +2 -0
  298. package/dist/chunks/hi-BnsbcSIX.mjs.map +1 -0
  299. package/dist/chunks/hi-BoFuxLtG.mjs +2 -0
  300. package/dist/chunks/hi-BoFuxLtG.mjs.map +1 -0
  301. package/dist/chunks/hi-BptyTwAv.mjs +2 -0
  302. package/dist/chunks/hi-BptyTwAv.mjs.map +1 -0
  303. package/dist/chunks/hi-BulaYhi_.mjs +2 -0
  304. package/dist/chunks/hi-BulaYhi_.mjs.map +1 -0
  305. package/dist/chunks/hi-BzflHG6Y.mjs +2 -0
  306. package/dist/chunks/hi-BzflHG6Y.mjs.map +1 -0
  307. package/dist/chunks/hi-C7Hb-gQ_.mjs +2 -0
  308. package/dist/chunks/hi-C7Hb-gQ_.mjs.map +1 -0
  309. package/dist/chunks/hi-C_lY7kA9.mjs +2 -0
  310. package/dist/chunks/hi-C_lY7kA9.mjs.map +1 -0
  311. package/dist/chunks/hi-CkylXoIm.mjs +2 -0
  312. package/dist/chunks/hi-CkylXoIm.mjs.map +1 -0
  313. package/dist/chunks/hi-DGJTbrQi.mjs +2 -0
  314. package/dist/chunks/hi-DGJTbrQi.mjs.map +1 -0
  315. package/dist/chunks/hi-DGJgX0fG.mjs +2 -0
  316. package/dist/chunks/hi-DGJgX0fG.mjs.map +1 -0
  317. package/dist/chunks/hi-DKDYpjdr.mjs +2 -0
  318. package/dist/chunks/hi-DKDYpjdr.mjs.map +1 -0
  319. package/dist/chunks/hi-DfAX8S-T.mjs +2 -0
  320. package/dist/chunks/hi-DfAX8S-T.mjs.map +1 -0
  321. package/dist/chunks/hi-Dhq91ipt.mjs +2 -0
  322. package/dist/chunks/hi-Dhq91ipt.mjs.map +1 -0
  323. package/dist/chunks/hi-Dup389dM.mjs +2 -0
  324. package/dist/chunks/hi-Dup389dM.mjs.map +1 -0
  325. package/dist/chunks/hi-DzRFsYYN.mjs +2 -0
  326. package/dist/chunks/hi-DzRFsYYN.mjs.map +1 -0
  327. package/dist/chunks/hi-ObZRwITd.mjs +2 -0
  328. package/dist/chunks/hi-ObZRwITd.mjs.map +1 -0
  329. package/dist/chunks/hi-VvUzjfH_.mjs +2 -0
  330. package/dist/chunks/hi-VvUzjfH_.mjs.map +1 -0
  331. package/dist/chunks/hi-jWQDQkOX.mjs +2 -0
  332. package/dist/chunks/hi-jWQDQkOX.mjs.map +1 -0
  333. package/dist/chunks/hi-l3hIrp8J.mjs +2 -0
  334. package/dist/chunks/hi-l3hIrp8J.mjs.map +1 -0
  335. package/dist/chunks/hi-o8Gsu5Ly.mjs +2 -0
  336. package/dist/chunks/hi-o8Gsu5Ly.mjs.map +1 -0
  337. package/dist/chunks/hi-sxC2nk3h.mjs +2 -0
  338. package/dist/chunks/hi-sxC2nk3h.mjs.map +1 -0
  339. package/dist/chunks/minimal-pBhi4EJI.mjs +2 -0
  340. package/dist/chunks/minimal-pBhi4EJI.mjs.map +1 -0
  341. package/dist/chunks/pt--57Ug7ig.mjs +2 -0
  342. package/dist/chunks/pt--57Ug7ig.mjs.map +1 -0
  343. package/dist/chunks/pt-4j8Km9Db.mjs +2 -0
  344. package/dist/chunks/pt-4j8Km9Db.mjs.map +1 -0
  345. package/dist/chunks/pt-BTGFKCns.mjs +2 -0
  346. package/dist/chunks/pt-BTGFKCns.mjs.map +1 -0
  347. package/dist/chunks/pt-BU8Qfuoz.mjs +2 -0
  348. package/dist/chunks/pt-BU8Qfuoz.mjs.map +1 -0
  349. package/dist/chunks/pt-BYAOJxIB.mjs +2 -0
  350. package/dist/chunks/pt-BYAOJxIB.mjs.map +1 -0
  351. package/dist/chunks/pt-BjNWQm9A.mjs +2 -0
  352. package/dist/chunks/pt-BjNWQm9A.mjs.map +1 -0
  353. package/dist/chunks/pt-Bvnb_NpT.mjs +2 -0
  354. package/dist/chunks/pt-Bvnb_NpT.mjs.map +1 -0
  355. package/dist/chunks/pt-C2pkn7vo.mjs +2 -0
  356. package/dist/chunks/pt-C2pkn7vo.mjs.map +1 -0
  357. package/dist/chunks/pt-C8MhLnWx.mjs +2 -0
  358. package/dist/chunks/pt-C8MhLnWx.mjs.map +1 -0
  359. package/dist/chunks/pt-CJfYLSTe.mjs +2 -0
  360. package/dist/chunks/pt-CJfYLSTe.mjs.map +1 -0
  361. package/dist/chunks/pt-CdwVIYOK.mjs +2 -0
  362. package/dist/chunks/pt-CdwVIYOK.mjs.map +1 -0
  363. package/dist/chunks/pt-CwrVo90O.mjs +2 -0
  364. package/dist/chunks/pt-CwrVo90O.mjs.map +1 -0
  365. package/dist/chunks/pt-DD26CKCA.mjs +2 -0
  366. package/dist/chunks/pt-DD26CKCA.mjs.map +1 -0
  367. package/dist/chunks/pt-DLbf6uoo.mjs +2 -0
  368. package/dist/chunks/pt-DLbf6uoo.mjs.map +1 -0
  369. package/dist/chunks/pt-DNyNHwKh.mjs +2 -0
  370. package/dist/chunks/pt-DNyNHwKh.mjs.map +1 -0
  371. package/dist/chunks/pt-DVfMAcXb.mjs +2 -0
  372. package/dist/chunks/pt-DVfMAcXb.mjs.map +1 -0
  373. package/dist/chunks/pt-DWSFad3n.mjs +2 -0
  374. package/dist/chunks/pt-DWSFad3n.mjs.map +1 -0
  375. package/dist/chunks/pt-DZXY4i4G.mjs +2 -0
  376. package/dist/chunks/pt-DZXY4i4G.mjs.map +1 -0
  377. package/dist/chunks/pt-DfUpRhK1.mjs +2 -0
  378. package/dist/chunks/pt-DfUpRhK1.mjs.map +1 -0
  379. package/dist/chunks/pt-DlvNEDeW.mjs +2 -0
  380. package/dist/chunks/pt-DlvNEDeW.mjs.map +1 -0
  381. package/dist/chunks/pt-DzFyGwB4.mjs +2 -0
  382. package/dist/chunks/pt-DzFyGwB4.mjs.map +1 -0
  383. package/dist/chunks/pt-HhQcARW6.mjs +2 -0
  384. package/dist/chunks/pt-HhQcARW6.mjs.map +1 -0
  385. package/dist/chunks/pt-SjvTF40s.mjs +2 -0
  386. package/dist/chunks/pt-SjvTF40s.mjs.map +1 -0
  387. package/dist/chunks/pt-ihNE0VQJ.mjs +2 -0
  388. package/dist/chunks/pt-ihNE0VQJ.mjs.map +1 -0
  389. package/dist/chunks/pt-zfCjhIgy.mjs +2 -0
  390. package/dist/chunks/pt-zfCjhIgy.mjs.map +1 -0
  391. package/dist/chunks/ru-0AHodbWv.mjs +2 -0
  392. package/dist/chunks/ru-0AHodbWv.mjs.map +1 -0
  393. package/dist/chunks/ru-2MDGmLw0.mjs +2 -0
  394. package/dist/chunks/ru-2MDGmLw0.mjs.map +1 -0
  395. package/dist/chunks/ru-3VfYKfTm.mjs +2 -0
  396. package/dist/chunks/ru-3VfYKfTm.mjs.map +1 -0
  397. package/dist/chunks/ru-B-gRJ6nQ.mjs +2 -0
  398. package/dist/chunks/ru-B-gRJ6nQ.mjs.map +1 -0
  399. package/dist/chunks/ru-B6ITUB-Y.mjs +2 -0
  400. package/dist/chunks/ru-B6ITUB-Y.mjs.map +1 -0
  401. package/dist/chunks/ru-BKDWkabk.mjs +2 -0
  402. package/dist/chunks/ru-BKDWkabk.mjs.map +1 -0
  403. package/dist/chunks/ru-BMxJsSe3.mjs +2 -0
  404. package/dist/chunks/ru-BMxJsSe3.mjs.map +1 -0
  405. package/dist/chunks/ru-Bep1iHQL.mjs +2 -0
  406. package/dist/chunks/ru-Bep1iHQL.mjs.map +1 -0
  407. package/dist/chunks/ru-Blj0nqoL.mjs +2 -0
  408. package/dist/chunks/ru-Blj0nqoL.mjs.map +1 -0
  409. package/dist/chunks/ru-BqnHkmii.mjs +2 -0
  410. package/dist/chunks/ru-BqnHkmii.mjs.map +1 -0
  411. package/dist/chunks/ru-C-4AaPUK.mjs +2 -0
  412. package/dist/chunks/ru-C-4AaPUK.mjs.map +1 -0
  413. package/dist/chunks/ru-C9Nv7JJI.mjs +2 -0
  414. package/dist/chunks/ru-C9Nv7JJI.mjs.map +1 -0
  415. package/dist/chunks/ru-CJFtr1Ks.mjs +2 -0
  416. package/dist/chunks/ru-CJFtr1Ks.mjs.map +1 -0
  417. package/dist/chunks/ru-CN63yWk_.mjs +2 -0
  418. package/dist/chunks/ru-CN63yWk_.mjs.map +1 -0
  419. package/dist/chunks/ru-CcFX97-2.mjs +2 -0
  420. package/dist/chunks/ru-CcFX97-2.mjs.map +1 -0
  421. package/dist/chunks/ru-D8PhWFSp.mjs +2 -0
  422. package/dist/chunks/ru-D8PhWFSp.mjs.map +1 -0
  423. package/dist/chunks/ru-DYAncidS.mjs +2 -0
  424. package/dist/chunks/ru-DYAncidS.mjs.map +1 -0
  425. package/dist/chunks/ru-D_zXo-FA.mjs +2 -0
  426. package/dist/chunks/ru-D_zXo-FA.mjs.map +1 -0
  427. package/dist/chunks/ru-DhSPV6m0.mjs +2 -0
  428. package/dist/chunks/ru-DhSPV6m0.mjs.map +1 -0
  429. package/dist/chunks/ru-LNbpjKCw.mjs +2 -0
  430. package/dist/chunks/ru-LNbpjKCw.mjs.map +1 -0
  431. package/dist/chunks/ru-LXi1ONW4.mjs +2 -0
  432. package/dist/chunks/ru-LXi1ONW4.mjs.map +1 -0
  433. package/dist/chunks/ru-db7wsWkx.mjs +2 -0
  434. package/dist/chunks/ru-db7wsWkx.mjs.map +1 -0
  435. package/dist/chunks/ru-nZ4BjiD0.mjs +2 -0
  436. package/dist/chunks/ru-nZ4BjiD0.mjs.map +1 -0
  437. package/dist/chunks/ru-v9zumXd2.mjs +2 -0
  438. package/dist/chunks/ru-v9zumXd2.mjs.map +1 -0
  439. package/dist/chunks/ru-wK2ytv3A.mjs +2 -0
  440. package/dist/chunks/ru-wK2ytv3A.mjs.map +1 -0
  441. package/dist/chunks/src-CNK6vpUU.mjs +2 -0
  442. package/dist/chunks/src-CNK6vpUU.mjs.map +1 -0
  443. package/dist/chunks/zh-9AcCSFm0.mjs +2 -0
  444. package/dist/chunks/zh-9AcCSFm0.mjs.map +1 -0
  445. package/dist/chunks/zh-B3bJCfdB.mjs +2 -0
  446. package/dist/chunks/zh-B3bJCfdB.mjs.map +1 -0
  447. package/dist/chunks/zh-B46Dt1h7.mjs +2 -0
  448. package/dist/chunks/zh-B46Dt1h7.mjs.map +1 -0
  449. package/dist/chunks/zh-BRy2B6Og.mjs +2 -0
  450. package/dist/chunks/zh-BRy2B6Og.mjs.map +1 -0
  451. package/dist/chunks/zh-BfYi8wB2.mjs +2 -0
  452. package/dist/chunks/zh-BfYi8wB2.mjs.map +1 -0
  453. package/dist/chunks/zh-C0I3L6NA.mjs +2 -0
  454. package/dist/chunks/zh-C0I3L6NA.mjs.map +1 -0
  455. package/dist/chunks/zh-C33e4gfg.mjs +2 -0
  456. package/dist/chunks/zh-C33e4gfg.mjs.map +1 -0
  457. package/dist/chunks/zh-C9sNwnC1.mjs +2 -0
  458. package/dist/chunks/zh-C9sNwnC1.mjs.map +1 -0
  459. package/dist/chunks/zh-CACr0qSo.mjs +2 -0
  460. package/dist/chunks/zh-CACr0qSo.mjs.map +1 -0
  461. package/dist/chunks/zh-CU0hd8zq.mjs +2 -0
  462. package/dist/chunks/zh-CU0hd8zq.mjs.map +1 -0
  463. package/dist/chunks/zh-CX2zUoWR.mjs +2 -0
  464. package/dist/chunks/zh-CX2zUoWR.mjs.map +1 -0
  465. package/dist/chunks/zh-CblZ-34H.mjs +2 -0
  466. package/dist/chunks/zh-CblZ-34H.mjs.map +1 -0
  467. package/dist/chunks/zh-CicpU0g8.mjs +2 -0
  468. package/dist/chunks/zh-CicpU0g8.mjs.map +1 -0
  469. package/dist/chunks/zh-Cr3KdEZV.mjs +2 -0
  470. package/dist/chunks/zh-Cr3KdEZV.mjs.map +1 -0
  471. package/dist/chunks/zh-D24dsCiw.mjs +2 -0
  472. package/dist/chunks/zh-D24dsCiw.mjs.map +1 -0
  473. package/dist/chunks/zh-DQtLxQ3s.mjs +2 -0
  474. package/dist/chunks/zh-DQtLxQ3s.mjs.map +1 -0
  475. package/dist/chunks/zh-DR1OF5vm.mjs +2 -0
  476. package/dist/chunks/zh-DR1OF5vm.mjs.map +1 -0
  477. package/dist/chunks/zh-DS82x1KL.mjs +2 -0
  478. package/dist/chunks/zh-DS82x1KL.mjs.map +1 -0
  479. package/dist/chunks/zh-DdJA-AEY.mjs +2 -0
  480. package/dist/chunks/zh-DdJA-AEY.mjs.map +1 -0
  481. package/dist/chunks/zh-DpVlDZ9n.mjs +2 -0
  482. package/dist/chunks/zh-DpVlDZ9n.mjs.map +1 -0
  483. package/dist/chunks/zh-OWVKcbVR.mjs +2 -0
  484. package/dist/chunks/zh-OWVKcbVR.mjs.map +1 -0
  485. package/dist/chunks/zh-d19V68ib.mjs +2 -0
  486. package/dist/chunks/zh-d19V68ib.mjs.map +1 -0
  487. package/dist/chunks/zh-fSMt1FnB.mjs +2 -0
  488. package/dist/chunks/zh-fSMt1FnB.mjs.map +1 -0
  489. package/dist/chunks/zh-mLlk9Wki.mjs +2 -0
  490. package/dist/chunks/zh-mLlk9Wki.mjs.map +1 -0
  491. package/dist/chunks/zh-nnMt8E6m.mjs +2 -0
  492. package/dist/chunks/zh-nnMt8E6m.mjs.map +1 -0
  493. package/dist/editor/ContentSerializer.d.ts +10 -0
  494. package/dist/editor/ContentSerializer.d.ts.map +1 -1
  495. package/dist/editor/EditorInitializer.d.ts.map +1 -1
  496. package/dist/editor/NotectlEditor.d.ts +25 -2
  497. package/dist/editor/NotectlEditor.d.ts.map +1 -1
  498. package/dist/editor/styles/base.d.ts +1 -1
  499. package/dist/editor/styles/base.d.ts.map +1 -1
  500. package/dist/editor/styles/toolbar.d.ts +1 -1
  501. package/dist/editor/styles/toolbar.d.ts.map +1 -1
  502. package/dist/fonts.mjs +1 -1
  503. package/dist/full.d.ts +2 -1
  504. package/dist/full.d.ts.map +1 -1
  505. package/dist/full.mjs +1 -1
  506. package/dist/html.mjs +1 -1
  507. package/dist/i18n/LocaleService.d.ts +1 -1
  508. package/dist/i18n/LocaleService.d.ts.map +1 -1
  509. package/dist/input/HTMLParser.d.ts.map +1 -1
  510. package/dist/model/HTMLUtils.d.ts +11 -0
  511. package/dist/model/HTMLUtils.d.ts.map +1 -1
  512. package/dist/model/TypedKeys.d.ts +23 -0
  513. package/dist/model/TypedKeys.d.ts.map +1 -0
  514. package/dist/notectl-core.mjs +1 -1
  515. package/dist/notectl-core.umd.js +1 -1
  516. package/dist/notectl-core.umd.js.map +1 -1
  517. package/dist/plugins/Plugin.d.ts +2 -12
  518. package/dist/plugins/Plugin.d.ts.map +1 -1
  519. package/dist/plugins/alignment.mjs +1 -1
  520. package/dist/plugins/bidi-isolation/BidiIsolationLocale.d.ts +12 -0
  521. package/dist/plugins/bidi-isolation/BidiIsolationLocale.d.ts.map +1 -0
  522. package/dist/plugins/bidi-isolation/BidiIsolationPlugin.d.ts +34 -0
  523. package/dist/plugins/bidi-isolation/BidiIsolationPlugin.d.ts.map +1 -0
  524. package/dist/plugins/bidi-isolation/index.d.ts +4 -0
  525. package/dist/plugins/bidi-isolation/index.d.ts.map +1 -0
  526. package/dist/plugins/bidi-isolation/locales/ar.d.ts +4 -0
  527. package/dist/plugins/bidi-isolation/locales/ar.d.ts.map +1 -0
  528. package/dist/plugins/bidi-isolation/locales/de.d.ts +4 -0
  529. package/dist/plugins/bidi-isolation/locales/de.d.ts.map +1 -0
  530. package/dist/plugins/bidi-isolation/locales/es.d.ts +4 -0
  531. package/dist/plugins/bidi-isolation/locales/es.d.ts.map +1 -0
  532. package/dist/plugins/bidi-isolation/locales/fr.d.ts +4 -0
  533. package/dist/plugins/bidi-isolation/locales/fr.d.ts.map +1 -0
  534. package/dist/plugins/bidi-isolation/locales/hi.d.ts +4 -0
  535. package/dist/plugins/bidi-isolation/locales/hi.d.ts.map +1 -0
  536. package/dist/plugins/bidi-isolation/locales/pt.d.ts +4 -0
  537. package/dist/plugins/bidi-isolation/locales/pt.d.ts.map +1 -0
  538. package/dist/plugins/bidi-isolation/locales/ru.d.ts +4 -0
  539. package/dist/plugins/bidi-isolation/locales/ru.d.ts.map +1 -0
  540. package/dist/plugins/bidi-isolation/locales/zh.d.ts +4 -0
  541. package/dist/plugins/bidi-isolation/locales/zh.d.ts.map +1 -0
  542. package/dist/plugins/bidi-isolation.mjs +1 -0
  543. package/dist/plugins/blockquote.mjs +1 -1
  544. package/dist/plugins/caret-navigation.mjs +1 -1
  545. package/dist/plugins/code-block.mjs +1 -1
  546. package/dist/plugins/font-size.mjs +1 -1
  547. package/dist/plugins/font.mjs +1 -1
  548. package/dist/plugins/gap-cursor.mjs +1 -1
  549. package/dist/plugins/hard-break.mjs +1 -1
  550. package/dist/plugins/heading.mjs +1 -1
  551. package/dist/plugins/highlight.mjs +1 -1
  552. package/dist/plugins/horizontal-rule.mjs +1 -1
  553. package/dist/plugins/image.mjs +1 -1
  554. package/dist/plugins/inline-code.mjs +1 -1
  555. package/dist/plugins/language.mjs +1 -1
  556. package/dist/plugins/link/LinkLocale.d.ts +1 -0
  557. package/dist/plugins/link/LinkLocale.d.ts.map +1 -1
  558. package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
  559. package/dist/plugins/link/locales/ar.d.ts.map +1 -1
  560. package/dist/plugins/link/locales/de.d.ts.map +1 -1
  561. package/dist/plugins/link/locales/es.d.ts.map +1 -1
  562. package/dist/plugins/link/locales/fr.d.ts.map +1 -1
  563. package/dist/plugins/link/locales/hi.d.ts.map +1 -1
  564. package/dist/plugins/link/locales/pt.d.ts.map +1 -1
  565. package/dist/plugins/link/locales/ru.d.ts.map +1 -1
  566. package/dist/plugins/link/locales/zh.d.ts.map +1 -1
  567. package/dist/plugins/link.mjs +1 -1
  568. package/dist/plugins/list.mjs +1 -1
  569. package/dist/plugins/print.mjs +1 -1
  570. package/dist/plugins/shared.mjs +1 -1
  571. package/dist/plugins/smart-paste.mjs +1 -1
  572. package/dist/plugins/strikethrough.mjs +1 -1
  573. package/dist/plugins/super-sub.mjs +1 -1
  574. package/dist/plugins/table.mjs +1 -1
  575. package/dist/plugins/text-color.mjs +1 -1
  576. package/dist/plugins/text-direction/DirectionIcons.d.ts +3 -0
  577. package/dist/plugins/text-direction/DirectionIcons.d.ts.map +1 -0
  578. package/dist/plugins/text-direction/TextDirectionLocale.d.ts +0 -6
  579. package/dist/plugins/text-direction/TextDirectionLocale.d.ts.map +1 -1
  580. package/dist/plugins/text-direction/TextDirectionPlugin.d.ts +3 -30
  581. package/dist/plugins/text-direction/TextDirectionPlugin.d.ts.map +1 -1
  582. package/dist/plugins/text-direction/TextDirectionService.d.ts +9 -0
  583. package/dist/plugins/text-direction/TextDirectionService.d.ts.map +1 -0
  584. package/dist/plugins/text-direction/index.d.ts +3 -1
  585. package/dist/plugins/text-direction/index.d.ts.map +1 -1
  586. package/dist/plugins/text-direction/locales/ar.d.ts.map +1 -1
  587. package/dist/plugins/text-direction/locales/de.d.ts.map +1 -1
  588. package/dist/plugins/text-direction/locales/es.d.ts.map +1 -1
  589. package/dist/plugins/text-direction/locales/fr.d.ts.map +1 -1
  590. package/dist/plugins/text-direction/locales/hi.d.ts.map +1 -1
  591. package/dist/plugins/text-direction/locales/pt.d.ts.map +1 -1
  592. package/dist/plugins/text-direction/locales/ru.d.ts.map +1 -1
  593. package/dist/plugins/text-direction/locales/zh.d.ts.map +1 -1
  594. package/dist/plugins/text-direction-auto/TextDirectionAutoMiddleware.d.ts +5 -0
  595. package/dist/plugins/text-direction-auto/TextDirectionAutoMiddleware.d.ts.map +1 -0
  596. package/dist/plugins/text-direction-auto/TextDirectionAutoPlugin.d.ts +28 -0
  597. package/dist/plugins/text-direction-auto/TextDirectionAutoPlugin.d.ts.map +1 -0
  598. package/dist/plugins/text-direction-auto/index.d.ts +2 -0
  599. package/dist/plugins/text-direction-auto/index.d.ts.map +1 -0
  600. package/dist/plugins/text-direction-auto.mjs +1 -0
  601. package/dist/plugins/text-direction.mjs +1 -1
  602. package/dist/plugins/text-formatting.mjs +1 -1
  603. package/dist/plugins/toolbar.mjs +1 -1
  604. package/dist/presets/FullPreset.d.ts +3 -1
  605. package/dist/presets/FullPreset.d.ts.map +1 -1
  606. package/dist/presets/PresetTypes.d.ts +5 -1
  607. package/dist/presets/PresetTypes.d.ts.map +1 -1
  608. package/dist/presets/full.mjs +1 -1
  609. package/dist/presets/minimal.mjs +1 -1
  610. package/dist/presets.mjs +1 -1
  611. package/dist/serialization/BlockIdHTML.d.ts +21 -0
  612. package/dist/serialization/BlockIdHTML.d.ts.map +1 -0
  613. package/dist/serialization/DocumentParser.d.ts.map +1 -1
  614. package/dist/serialization/DocumentSerializer.d.ts.map +1 -1
  615. package/dist/test/TestUtils.d.ts +17 -0
  616. package/dist/test/TestUtils.d.ts.map +1 -1
  617. package/dist/view/EditorView.d.ts +7 -0
  618. package/dist/view/EditorView.d.ts.map +1 -1
  619. package/package.json +18 -8
  620. package/dist/chunks/AlignmentPlugin-D1wmhWE6.mjs +0 -2
  621. package/dist/chunks/AlignmentPlugin-D1wmhWE6.mjs.map +0 -1
  622. package/dist/chunks/BlockquotePlugin-Bwny0CP6.mjs +0 -2
  623. package/dist/chunks/BlockquotePlugin-Bwny0CP6.mjs.map +0 -1
  624. package/dist/chunks/CaretNavigationPlugin-C-rCDbu0.mjs +0 -2
  625. package/dist/chunks/CaretNavigationPlugin-C-rCDbu0.mjs.map +0 -1
  626. package/dist/chunks/CodeBlockPlugin-CNC290_q.mjs +0 -2
  627. package/dist/chunks/CodeBlockPlugin-CNC290_q.mjs.map +0 -1
  628. package/dist/chunks/ColorGrid-BUSIBKZH.mjs +0 -2
  629. package/dist/chunks/ColorGrid-BUSIBKZH.mjs.map +0 -1
  630. package/dist/chunks/ColorPickerPopup-CvE90IAu.mjs +0 -2
  631. package/dist/chunks/ColorPickerPopup-CvE90IAu.mjs.map +0 -1
  632. package/dist/chunks/DocumentParser-Cq_bFYAS.mjs +0 -2
  633. package/dist/chunks/DocumentParser-Cq_bFYAS.mjs.map +0 -1
  634. package/dist/chunks/FontPlugin-z0QF1M5q.mjs +0 -2
  635. package/dist/chunks/FontPlugin-z0QF1M5q.mjs.map +0 -1
  636. package/dist/chunks/FontSizePlugin-DYKvhu9w.mjs +0 -2
  637. package/dist/chunks/FontSizePlugin-DYKvhu9w.mjs.map +0 -1
  638. package/dist/chunks/GapCursorPlugin-uxw7W7vj.mjs +0 -2
  639. package/dist/chunks/GapCursorPlugin-uxw7W7vj.mjs.map +0 -1
  640. package/dist/chunks/HTMLUtils-B8xj8Z1x.mjs +0 -2
  641. package/dist/chunks/HTMLUtils-B8xj8Z1x.mjs.map +0 -1
  642. package/dist/chunks/HardBreakPlugin-BpXipf8h.mjs +0 -2
  643. package/dist/chunks/HardBreakPlugin-BpXipf8h.mjs.map +0 -1
  644. package/dist/chunks/HeadingPlugin-CUN746aD.mjs +0 -2
  645. package/dist/chunks/HeadingPlugin-CUN746aD.mjs.map +0 -1
  646. package/dist/chunks/HighlightPlugin-bbAi6W6k.mjs +0 -2
  647. package/dist/chunks/HighlightPlugin-bbAi6W6k.mjs.map +0 -1
  648. package/dist/chunks/HorizontalRulePlugin-D8w6paMa.mjs +0 -2
  649. package/dist/chunks/HorizontalRulePlugin-D8w6paMa.mjs.map +0 -1
  650. package/dist/chunks/ImagePlugin-De7lWcZ7.mjs +0 -2
  651. package/dist/chunks/ImagePlugin-De7lWcZ7.mjs.map +0 -1
  652. package/dist/chunks/InlineCodePlugin-DKQIYhTb.mjs +0 -2
  653. package/dist/chunks/InlineCodePlugin-DKQIYhTb.mjs.map +0 -1
  654. package/dist/chunks/LinkPlugin-BD7mcRHS.mjs +0 -2
  655. package/dist/chunks/LinkPlugin-BD7mcRHS.mjs.map +0 -1
  656. package/dist/chunks/ListPlugin-DbixSqMH.mjs +0 -2
  657. package/dist/chunks/ListPlugin-DbixSqMH.mjs.map +0 -1
  658. package/dist/chunks/Plugin-BUNGKupW.mjs +0 -2
  659. package/dist/chunks/Plugin-BUNGKupW.mjs.map +0 -1
  660. package/dist/chunks/PluginHelpers-D1QF-YaF.mjs +0 -2
  661. package/dist/chunks/PluginHelpers-D1QF-YaF.mjs.map +0 -1
  662. package/dist/chunks/PopupKeyboardPatterns-DhcUe29m.mjs +0 -2
  663. package/dist/chunks/PopupKeyboardPatterns-DhcUe29m.mjs.map +0 -1
  664. package/dist/chunks/PopupManager-DaTySyZl.mjs +0 -2
  665. package/dist/chunks/PopupManager-DaTySyZl.mjs.map +0 -1
  666. package/dist/chunks/PrintPlugin-DVRybXSN.mjs +0 -2
  667. package/dist/chunks/PrintPlugin-DVRybXSN.mjs.map +0 -1
  668. package/dist/chunks/PrintTypes-DTV3-mSe.mjs +0 -2
  669. package/dist/chunks/PrintTypes-DTV3-mSe.mjs.map +0 -1
  670. package/dist/chunks/SmartPastePlugin-i96yAnXZ.mjs +0 -2
  671. package/dist/chunks/SmartPastePlugin-i96yAnXZ.mjs.map +0 -1
  672. package/dist/chunks/StrikethroughPlugin-RGZATXUZ.mjs +0 -2
  673. package/dist/chunks/StrikethroughPlugin-RGZATXUZ.mjs.map +0 -1
  674. package/dist/chunks/SuperSubPlugin-BOWFP1Kr.mjs +0 -2
  675. package/dist/chunks/SuperSubPlugin-BOWFP1Kr.mjs.map +0 -1
  676. package/dist/chunks/TablePlugin-DZTMBkyu.mjs +0 -2
  677. package/dist/chunks/TablePlugin-DZTMBkyu.mjs.map +0 -1
  678. package/dist/chunks/TextColorPlugin-CB3RpTSQ.mjs +0 -2
  679. package/dist/chunks/TextColorPlugin-CB3RpTSQ.mjs.map +0 -1
  680. package/dist/chunks/TextDirectionCorePlugin-tNecTcrX.mjs +0 -2
  681. package/dist/chunks/TextDirectionCorePlugin-tNecTcrX.mjs.map +0 -1
  682. package/dist/chunks/TextDirectionLocale-_AUfZu9j.mjs +0 -2
  683. package/dist/chunks/TextDirectionLocale-_AUfZu9j.mjs.map +0 -1
  684. package/dist/chunks/TextFormattingPlugin-CZ6D-luc.mjs +0 -2
  685. package/dist/chunks/TextFormattingPlugin-CZ6D-luc.mjs.map +0 -1
  686. package/dist/chunks/ToolbarPlugin-2K96zYut.mjs +0 -2
  687. package/dist/chunks/ToolbarPlugin-2K96zYut.mjs.map +0 -1
  688. package/dist/chunks/XmlDetector-DlRdJOIX.mjs +0 -2
  689. package/dist/chunks/XmlDetector-DlRdJOIX.mjs.map +0 -1
  690. package/dist/chunks/XmlPatterns-Dwmn4nrg.mjs +0 -2
  691. package/dist/chunks/XmlPatterns-Dwmn4nrg.mjs.map +0 -1
  692. package/dist/chunks/XmlSupport-DG8PEZhO.mjs +0 -2
  693. package/dist/chunks/XmlSupport-DG8PEZhO.mjs.map +0 -1
  694. package/dist/chunks/ar--dzNQRg4.mjs +0 -2
  695. package/dist/chunks/ar--dzNQRg4.mjs.map +0 -1
  696. package/dist/chunks/ar-13q9ejck.mjs +0 -2
  697. package/dist/chunks/ar-13q9ejck.mjs.map +0 -1
  698. package/dist/chunks/ar-7XO2HmsM.mjs +0 -2
  699. package/dist/chunks/ar-7XO2HmsM.mjs.map +0 -1
  700. package/dist/chunks/ar-B-n_gMXb.mjs +0 -2
  701. package/dist/chunks/ar-B-n_gMXb.mjs.map +0 -1
  702. package/dist/chunks/ar-BXeE6tKj.mjs +0 -2
  703. package/dist/chunks/ar-BXeE6tKj.mjs.map +0 -1
  704. package/dist/chunks/ar-Bs3sx3Oz.mjs +0 -2
  705. package/dist/chunks/ar-Bs3sx3Oz.mjs.map +0 -1
  706. package/dist/chunks/ar-ByNQ-o3t.mjs +0 -2
  707. package/dist/chunks/ar-ByNQ-o3t.mjs.map +0 -1
  708. package/dist/chunks/ar-C9AnO0uV.mjs +0 -2
  709. package/dist/chunks/ar-C9AnO0uV.mjs.map +0 -1
  710. package/dist/chunks/ar-CL-NsFoh.mjs +0 -2
  711. package/dist/chunks/ar-CL-NsFoh.mjs.map +0 -1
  712. package/dist/chunks/ar-COx4cFpT.mjs +0 -2
  713. package/dist/chunks/ar-COx4cFpT.mjs.map +0 -1
  714. package/dist/chunks/ar-CYZYoqcc.mjs +0 -2
  715. package/dist/chunks/ar-CYZYoqcc.mjs.map +0 -1
  716. package/dist/chunks/ar-ChOxTdPI.mjs +0 -2
  717. package/dist/chunks/ar-ChOxTdPI.mjs.map +0 -1
  718. package/dist/chunks/ar-Cj6amEs9.mjs +0 -2
  719. package/dist/chunks/ar-Cj6amEs9.mjs.map +0 -1
  720. package/dist/chunks/ar-CsH2S6Vd.mjs +0 -2
  721. package/dist/chunks/ar-CsH2S6Vd.mjs.map +0 -1
  722. package/dist/chunks/ar-D2y_YvMP.mjs +0 -2
  723. package/dist/chunks/ar-D2y_YvMP.mjs.map +0 -1
  724. package/dist/chunks/ar-D57VZrg2.mjs +0 -2
  725. package/dist/chunks/ar-D57VZrg2.mjs.map +0 -1
  726. package/dist/chunks/ar-DH06YQkP.mjs +0 -2
  727. package/dist/chunks/ar-DH06YQkP.mjs.map +0 -1
  728. package/dist/chunks/ar-DJ6K9HnU.mjs +0 -2
  729. package/dist/chunks/ar-DJ6K9HnU.mjs.map +0 -1
  730. package/dist/chunks/ar-DMNNIim-.mjs +0 -2
  731. package/dist/chunks/ar-DMNNIim-.mjs.map +0 -1
  732. package/dist/chunks/ar-DW0Inc7r.mjs +0 -2
  733. package/dist/chunks/ar-DW0Inc7r.mjs.map +0 -1
  734. package/dist/chunks/ar-SwJ-tyIu.mjs +0 -2
  735. package/dist/chunks/ar-SwJ-tyIu.mjs.map +0 -1
  736. package/dist/chunks/ar-Vfk7XFaz.mjs +0 -2
  737. package/dist/chunks/ar-Vfk7XFaz.mjs.map +0 -1
  738. package/dist/chunks/ar-izXCtb2I.mjs +0 -2
  739. package/dist/chunks/ar-izXCtb2I.mjs.map +0 -1
  740. package/dist/chunks/ar-jsznaXQ0.mjs +0 -2
  741. package/dist/chunks/ar-jsznaXQ0.mjs.map +0 -1
  742. package/dist/chunks/color-picker-ChYYdC-r.mjs +0 -2
  743. package/dist/chunks/color-picker-ChYYdC-r.mjs.map +0 -1
  744. package/dist/chunks/de-3PJCshB7.mjs +0 -2
  745. package/dist/chunks/de-3PJCshB7.mjs.map +0 -1
  746. package/dist/chunks/de-B92lssMU.mjs +0 -2
  747. package/dist/chunks/de-B92lssMU.mjs.map +0 -1
  748. package/dist/chunks/de-BJ8Lo9rY.mjs +0 -2
  749. package/dist/chunks/de-BJ8Lo9rY.mjs.map +0 -1
  750. package/dist/chunks/de-BjNoeX05.mjs +0 -2
  751. package/dist/chunks/de-BjNoeX05.mjs.map +0 -1
  752. package/dist/chunks/de-Bktm7FKk.mjs +0 -2
  753. package/dist/chunks/de-Bktm7FKk.mjs.map +0 -1
  754. package/dist/chunks/de-BqHw2LVH.mjs +0 -2
  755. package/dist/chunks/de-BqHw2LVH.mjs.map +0 -1
  756. package/dist/chunks/de-BzjqF_j0.mjs +0 -2
  757. package/dist/chunks/de-BzjqF_j0.mjs.map +0 -1
  758. package/dist/chunks/de-C7Grl0t1.mjs +0 -2
  759. package/dist/chunks/de-C7Grl0t1.mjs.map +0 -1
  760. package/dist/chunks/de-CWsXH4_J.mjs +0 -2
  761. package/dist/chunks/de-CWsXH4_J.mjs.map +0 -1
  762. package/dist/chunks/de-CWwHCIzX.mjs +0 -2
  763. package/dist/chunks/de-CWwHCIzX.mjs.map +0 -1
  764. package/dist/chunks/de-ChHR-g0q.mjs +0 -2
  765. package/dist/chunks/de-ChHR-g0q.mjs.map +0 -1
  766. package/dist/chunks/de-CqJFzINs.mjs +0 -2
  767. package/dist/chunks/de-CqJFzINs.mjs.map +0 -1
  768. package/dist/chunks/de-DAPQek-i.mjs +0 -2
  769. package/dist/chunks/de-DAPQek-i.mjs.map +0 -1
  770. package/dist/chunks/de-DPzOP2Ge.mjs +0 -2
  771. package/dist/chunks/de-DPzOP2Ge.mjs.map +0 -1
  772. package/dist/chunks/de-DhenqH4M.mjs +0 -2
  773. package/dist/chunks/de-DhenqH4M.mjs.map +0 -1
  774. package/dist/chunks/de-Ds6tfD71.mjs +0 -2
  775. package/dist/chunks/de-Ds6tfD71.mjs.map +0 -1
  776. package/dist/chunks/de-DxyfCVlM.mjs +0 -2
  777. package/dist/chunks/de-DxyfCVlM.mjs.map +0 -1
  778. package/dist/chunks/de-RSzW4zsb.mjs +0 -2
  779. package/dist/chunks/de-RSzW4zsb.mjs.map +0 -1
  780. package/dist/chunks/de-YiJZ87p6.mjs +0 -2
  781. package/dist/chunks/de-YiJZ87p6.mjs.map +0 -1
  782. package/dist/chunks/de-e7G64WBM.mjs +0 -2
  783. package/dist/chunks/de-e7G64WBM.mjs.map +0 -1
  784. package/dist/chunks/de-oeen0lTL.mjs +0 -2
  785. package/dist/chunks/de-oeen0lTL.mjs.map +0 -1
  786. package/dist/chunks/de-p1zboXJW.mjs +0 -2
  787. package/dist/chunks/de-p1zboXJW.mjs.map +0 -1
  788. package/dist/chunks/de-q2xHBWVU.mjs +0 -2
  789. package/dist/chunks/de-q2xHBWVU.mjs.map +0 -1
  790. package/dist/chunks/de-zjzkzZs9.mjs +0 -2
  791. package/dist/chunks/de-zjzkzZs9.mjs.map +0 -1
  792. package/dist/chunks/es-2U-tuiWo.mjs +0 -2
  793. package/dist/chunks/es-2U-tuiWo.mjs.map +0 -1
  794. package/dist/chunks/es-8kEYE5eN.mjs +0 -2
  795. package/dist/chunks/es-8kEYE5eN.mjs.map +0 -1
  796. package/dist/chunks/es-B2B0W46I.mjs +0 -2
  797. package/dist/chunks/es-B2B0W46I.mjs.map +0 -1
  798. package/dist/chunks/es-B8Ne6vhS.mjs +0 -2
  799. package/dist/chunks/es-B8Ne6vhS.mjs.map +0 -1
  800. package/dist/chunks/es-BBaS8xrI.mjs +0 -2
  801. package/dist/chunks/es-BBaS8xrI.mjs.map +0 -1
  802. package/dist/chunks/es-BJibD3UW.mjs +0 -2
  803. package/dist/chunks/es-BJibD3UW.mjs.map +0 -1
  804. package/dist/chunks/es-BUIOf37N.mjs +0 -2
  805. package/dist/chunks/es-BUIOf37N.mjs.map +0 -1
  806. package/dist/chunks/es-BcEc0JEI.mjs +0 -2
  807. package/dist/chunks/es-BcEc0JEI.mjs.map +0 -1
  808. package/dist/chunks/es-BjomAlG3.mjs +0 -2
  809. package/dist/chunks/es-BjomAlG3.mjs.map +0 -1
  810. package/dist/chunks/es-BpgE28ol.mjs +0 -2
  811. package/dist/chunks/es-BpgE28ol.mjs.map +0 -1
  812. package/dist/chunks/es-Bq_XkuDG.mjs +0 -2
  813. package/dist/chunks/es-Bq_XkuDG.mjs.map +0 -1
  814. package/dist/chunks/es-BtTQw2t5.mjs +0 -2
  815. package/dist/chunks/es-BtTQw2t5.mjs.map +0 -1
  816. package/dist/chunks/es-BwmzRdDZ.mjs +0 -2
  817. package/dist/chunks/es-BwmzRdDZ.mjs.map +0 -1
  818. package/dist/chunks/es-Bwy7v223.mjs +0 -2
  819. package/dist/chunks/es-Bwy7v223.mjs.map +0 -1
  820. package/dist/chunks/es-C0Jm_n57.mjs +0 -2
  821. package/dist/chunks/es-C0Jm_n57.mjs.map +0 -1
  822. package/dist/chunks/es-C49UmQIT.mjs +0 -2
  823. package/dist/chunks/es-C49UmQIT.mjs.map +0 -1
  824. package/dist/chunks/es-CCAT_-nb.mjs +0 -2
  825. package/dist/chunks/es-CCAT_-nb.mjs.map +0 -1
  826. package/dist/chunks/es-CGGqdLIQ.mjs +0 -2
  827. package/dist/chunks/es-CGGqdLIQ.mjs.map +0 -1
  828. package/dist/chunks/es-CYKm6CQM.mjs +0 -2
  829. package/dist/chunks/es-CYKm6CQM.mjs.map +0 -1
  830. package/dist/chunks/es-C_L1Wdfi.mjs +0 -2
  831. package/dist/chunks/es-C_L1Wdfi.mjs.map +0 -1
  832. package/dist/chunks/es-DEo4yDI6.mjs +0 -2
  833. package/dist/chunks/es-DEo4yDI6.mjs.map +0 -1
  834. package/dist/chunks/es-D_6MYvFK.mjs +0 -2
  835. package/dist/chunks/es-D_6MYvFK.mjs.map +0 -1
  836. package/dist/chunks/es-DcYIJR0T.mjs +0 -2
  837. package/dist/chunks/es-DcYIJR0T.mjs.map +0 -1
  838. package/dist/chunks/es-y2SZmX3P.mjs +0 -2
  839. package/dist/chunks/es-y2SZmX3P.mjs.map +0 -1
  840. package/dist/chunks/fonts-CG_dDwvT.mjs +0 -2
  841. package/dist/chunks/fonts-CG_dDwvT.mjs.map +0 -1
  842. package/dist/chunks/fr-Ame1k629.mjs +0 -2
  843. package/dist/chunks/fr-Ame1k629.mjs.map +0 -1
  844. package/dist/chunks/fr-BCN045Ph.mjs +0 -2
  845. package/dist/chunks/fr-BCN045Ph.mjs.map +0 -1
  846. package/dist/chunks/fr-BQaiAAa6.mjs +0 -2
  847. package/dist/chunks/fr-BQaiAAa6.mjs.map +0 -1
  848. package/dist/chunks/fr-BR61Uevp.mjs +0 -2
  849. package/dist/chunks/fr-BR61Uevp.mjs.map +0 -1
  850. package/dist/chunks/fr-Bb-xVkAd.mjs +0 -2
  851. package/dist/chunks/fr-Bb-xVkAd.mjs.map +0 -1
  852. package/dist/chunks/fr-BhM3Ykql.mjs +0 -2
  853. package/dist/chunks/fr-BhM3Ykql.mjs.map +0 -1
  854. package/dist/chunks/fr-BqQRlsfW.mjs +0 -2
  855. package/dist/chunks/fr-BqQRlsfW.mjs.map +0 -1
  856. package/dist/chunks/fr-C81THS0v.mjs +0 -2
  857. package/dist/chunks/fr-C81THS0v.mjs.map +0 -1
  858. package/dist/chunks/fr-CC7TYK5K.mjs +0 -2
  859. package/dist/chunks/fr-CC7TYK5K.mjs.map +0 -1
  860. package/dist/chunks/fr-CXzpB6GU.mjs +0 -2
  861. package/dist/chunks/fr-CXzpB6GU.mjs.map +0 -1
  862. package/dist/chunks/fr-CjLyVnG3.mjs +0 -2
  863. package/dist/chunks/fr-CjLyVnG3.mjs.map +0 -1
  864. package/dist/chunks/fr-D66EEW9-.mjs +0 -2
  865. package/dist/chunks/fr-D66EEW9-.mjs.map +0 -1
  866. package/dist/chunks/fr-DHDNGQpl.mjs +0 -2
  867. package/dist/chunks/fr-DHDNGQpl.mjs.map +0 -1
  868. package/dist/chunks/fr-DOcFqSiX.mjs +0 -2
  869. package/dist/chunks/fr-DOcFqSiX.mjs.map +0 -1
  870. package/dist/chunks/fr-DPPHZ6H7.mjs +0 -2
  871. package/dist/chunks/fr-DPPHZ6H7.mjs.map +0 -1
  872. package/dist/chunks/fr-DVteHTTh.mjs +0 -2
  873. package/dist/chunks/fr-DVteHTTh.mjs.map +0 -1
  874. package/dist/chunks/fr-Dkeg9Am0.mjs +0 -2
  875. package/dist/chunks/fr-Dkeg9Am0.mjs.map +0 -1
  876. package/dist/chunks/fr-DnP_hh5Q.mjs +0 -2
  877. package/dist/chunks/fr-DnP_hh5Q.mjs.map +0 -1
  878. package/dist/chunks/fr-aDJE54Is.mjs +0 -2
  879. package/dist/chunks/fr-aDJE54Is.mjs.map +0 -1
  880. package/dist/chunks/fr-hStmLXCS.mjs +0 -2
  881. package/dist/chunks/fr-hStmLXCS.mjs.map +0 -1
  882. package/dist/chunks/fr-hUF51sR5.mjs +0 -2
  883. package/dist/chunks/fr-hUF51sR5.mjs.map +0 -1
  884. package/dist/chunks/fr-tK6rWhoz.mjs +0 -2
  885. package/dist/chunks/fr-tK6rWhoz.mjs.map +0 -1
  886. package/dist/chunks/fr-wqbTMwkj.mjs +0 -2
  887. package/dist/chunks/fr-wqbTMwkj.mjs.map +0 -1
  888. package/dist/chunks/fr-zO4UIZj_.mjs +0 -2
  889. package/dist/chunks/fr-zO4UIZj_.mjs.map +0 -1
  890. package/dist/chunks/full-B9IqlP6u.mjs +0 -2
  891. package/dist/chunks/full-B9IqlP6u.mjs.map +0 -1
  892. package/dist/chunks/hi-B7zs2lw-.mjs +0 -2
  893. package/dist/chunks/hi-B7zs2lw-.mjs.map +0 -1
  894. package/dist/chunks/hi-BE4pkSYX.mjs +0 -2
  895. package/dist/chunks/hi-BE4pkSYX.mjs.map +0 -1
  896. package/dist/chunks/hi-BEBdteKo.mjs +0 -2
  897. package/dist/chunks/hi-BEBdteKo.mjs.map +0 -1
  898. package/dist/chunks/hi-BFBRjxgB.mjs +0 -2
  899. package/dist/chunks/hi-BFBRjxgB.mjs.map +0 -1
  900. package/dist/chunks/hi-BGMkRr1l.mjs +0 -2
  901. package/dist/chunks/hi-BGMkRr1l.mjs.map +0 -1
  902. package/dist/chunks/hi-BKJbF0k9.mjs +0 -2
  903. package/dist/chunks/hi-BKJbF0k9.mjs.map +0 -1
  904. package/dist/chunks/hi-Bj-wENIe.mjs +0 -2
  905. package/dist/chunks/hi-Bj-wENIe.mjs.map +0 -1
  906. package/dist/chunks/hi-Bo_sc83d.mjs +0 -2
  907. package/dist/chunks/hi-Bo_sc83d.mjs.map +0 -1
  908. package/dist/chunks/hi-BqdojmVi.mjs +0 -2
  909. package/dist/chunks/hi-BqdojmVi.mjs.map +0 -1
  910. package/dist/chunks/hi-BtN2T9la.mjs +0 -2
  911. package/dist/chunks/hi-BtN2T9la.mjs.map +0 -1
  912. package/dist/chunks/hi-C2HFcJ8H.mjs +0 -2
  913. package/dist/chunks/hi-C2HFcJ8H.mjs.map +0 -1
  914. package/dist/chunks/hi-C9hGhR9D.mjs +0 -2
  915. package/dist/chunks/hi-C9hGhR9D.mjs.map +0 -1
  916. package/dist/chunks/hi-CRsCP_UU.mjs +0 -2
  917. package/dist/chunks/hi-CRsCP_UU.mjs.map +0 -1
  918. package/dist/chunks/hi-CSatC6e_.mjs +0 -2
  919. package/dist/chunks/hi-CSatC6e_.mjs.map +0 -1
  920. package/dist/chunks/hi-Cik-gmhU.mjs +0 -2
  921. package/dist/chunks/hi-Cik-gmhU.mjs.map +0 -1
  922. package/dist/chunks/hi-Co2ThMh7.mjs +0 -2
  923. package/dist/chunks/hi-Co2ThMh7.mjs.map +0 -1
  924. package/dist/chunks/hi-CrATuZJr.mjs +0 -2
  925. package/dist/chunks/hi-CrATuZJr.mjs.map +0 -1
  926. package/dist/chunks/hi-D-r5tA_n.mjs +0 -2
  927. package/dist/chunks/hi-D-r5tA_n.mjs.map +0 -1
  928. package/dist/chunks/hi-D0RKvhDO.mjs +0 -2
  929. package/dist/chunks/hi-D0RKvhDO.mjs.map +0 -1
  930. package/dist/chunks/hi-DOSbCXy_.mjs +0 -2
  931. package/dist/chunks/hi-DOSbCXy_.mjs.map +0 -1
  932. package/dist/chunks/hi-DTUY7wlZ.mjs +0 -2
  933. package/dist/chunks/hi-DTUY7wlZ.mjs.map +0 -1
  934. package/dist/chunks/hi-FhcxnL2S.mjs +0 -2
  935. package/dist/chunks/hi-FhcxnL2S.mjs.map +0 -1
  936. package/dist/chunks/hi-K71sKi2-.mjs +0 -2
  937. package/dist/chunks/hi-K71sKi2-.mjs.map +0 -1
  938. package/dist/chunks/hi-xjChf5ZY.mjs +0 -2
  939. package/dist/chunks/hi-xjChf5ZY.mjs.map +0 -1
  940. package/dist/chunks/minimal-J-u7e_pr.mjs +0 -2
  941. package/dist/chunks/minimal-J-u7e_pr.mjs.map +0 -1
  942. package/dist/chunks/pt-6uTV9TBd.mjs +0 -2
  943. package/dist/chunks/pt-6uTV9TBd.mjs.map +0 -1
  944. package/dist/chunks/pt-7ZYOqmC4.mjs +0 -2
  945. package/dist/chunks/pt-7ZYOqmC4.mjs.map +0 -1
  946. package/dist/chunks/pt-B59gJzMS.mjs +0 -2
  947. package/dist/chunks/pt-B59gJzMS.mjs.map +0 -1
  948. package/dist/chunks/pt-B65Mk0F_.mjs +0 -2
  949. package/dist/chunks/pt-B65Mk0F_.mjs.map +0 -1
  950. package/dist/chunks/pt-B9c20zi-.mjs +0 -2
  951. package/dist/chunks/pt-B9c20zi-.mjs.map +0 -1
  952. package/dist/chunks/pt-BRQRHBoW.mjs +0 -2
  953. package/dist/chunks/pt-BRQRHBoW.mjs.map +0 -1
  954. package/dist/chunks/pt-BYsPmDNG.mjs +0 -2
  955. package/dist/chunks/pt-BYsPmDNG.mjs.map +0 -1
  956. package/dist/chunks/pt-Bau_d96t.mjs +0 -2
  957. package/dist/chunks/pt-Bau_d96t.mjs.map +0 -1
  958. package/dist/chunks/pt-Bb3sODVO.mjs +0 -2
  959. package/dist/chunks/pt-Bb3sODVO.mjs.map +0 -1
  960. package/dist/chunks/pt-BieXcDHi.mjs +0 -2
  961. package/dist/chunks/pt-BieXcDHi.mjs.map +0 -1
  962. package/dist/chunks/pt-BzJZ6tis.mjs +0 -2
  963. package/dist/chunks/pt-BzJZ6tis.mjs.map +0 -1
  964. package/dist/chunks/pt-CDBahjbg.mjs +0 -2
  965. package/dist/chunks/pt-CDBahjbg.mjs.map +0 -1
  966. package/dist/chunks/pt-CQIn2xA5.mjs +0 -2
  967. package/dist/chunks/pt-CQIn2xA5.mjs.map +0 -1
  968. package/dist/chunks/pt-Cx3gdB5p.mjs +0 -2
  969. package/dist/chunks/pt-Cx3gdB5p.mjs.map +0 -1
  970. package/dist/chunks/pt-D7n_VUMD.mjs +0 -2
  971. package/dist/chunks/pt-D7n_VUMD.mjs.map +0 -1
  972. package/dist/chunks/pt-DEg_u7oB.mjs +0 -2
  973. package/dist/chunks/pt-DEg_u7oB.mjs.map +0 -1
  974. package/dist/chunks/pt-DchozfDf.mjs +0 -2
  975. package/dist/chunks/pt-DchozfDf.mjs.map +0 -1
  976. package/dist/chunks/pt-DnHYzWZI.mjs +0 -2
  977. package/dist/chunks/pt-DnHYzWZI.mjs.map +0 -1
  978. package/dist/chunks/pt-Dne18ay-.mjs +0 -2
  979. package/dist/chunks/pt-Dne18ay-.mjs.map +0 -1
  980. package/dist/chunks/pt-DxTZELCn.mjs +0 -2
  981. package/dist/chunks/pt-DxTZELCn.mjs.map +0 -1
  982. package/dist/chunks/pt-FnLj_fwL.mjs +0 -2
  983. package/dist/chunks/pt-FnLj_fwL.mjs.map +0 -1
  984. package/dist/chunks/pt-QZcGM_AW.mjs +0 -2
  985. package/dist/chunks/pt-QZcGM_AW.mjs.map +0 -1
  986. package/dist/chunks/pt-X4oj0zCg.mjs +0 -2
  987. package/dist/chunks/pt-X4oj0zCg.mjs.map +0 -1
  988. package/dist/chunks/pt-hgZhGt5D.mjs +0 -2
  989. package/dist/chunks/pt-hgZhGt5D.mjs.map +0 -1
  990. package/dist/chunks/ru-333jycve.mjs +0 -2
  991. package/dist/chunks/ru-333jycve.mjs.map +0 -1
  992. package/dist/chunks/ru-B278yBd4.mjs +0 -2
  993. package/dist/chunks/ru-B278yBd4.mjs.map +0 -1
  994. package/dist/chunks/ru-B2dlVf3F.mjs +0 -2
  995. package/dist/chunks/ru-B2dlVf3F.mjs.map +0 -1
  996. package/dist/chunks/ru-BHZdR6yk.mjs +0 -2
  997. package/dist/chunks/ru-BHZdR6yk.mjs.map +0 -1
  998. package/dist/chunks/ru-BhXqR_wI.mjs +0 -2
  999. package/dist/chunks/ru-BhXqR_wI.mjs.map +0 -1
  1000. package/dist/chunks/ru-BkhY_-Tu.mjs +0 -2
  1001. package/dist/chunks/ru-BkhY_-Tu.mjs.map +0 -1
  1002. package/dist/chunks/ru-BqJmK6DG.mjs +0 -2
  1003. package/dist/chunks/ru-BqJmK6DG.mjs.map +0 -1
  1004. package/dist/chunks/ru-BscEW-yr.mjs +0 -2
  1005. package/dist/chunks/ru-BscEW-yr.mjs.map +0 -1
  1006. package/dist/chunks/ru-C91kg2w_.mjs +0 -2
  1007. package/dist/chunks/ru-C91kg2w_.mjs.map +0 -1
  1008. package/dist/chunks/ru-CQoFJYQk.mjs +0 -2
  1009. package/dist/chunks/ru-CQoFJYQk.mjs.map +0 -1
  1010. package/dist/chunks/ru-CYMaDdFA.mjs +0 -2
  1011. package/dist/chunks/ru-CYMaDdFA.mjs.map +0 -1
  1012. package/dist/chunks/ru-ClE-ByL-.mjs +0 -2
  1013. package/dist/chunks/ru-ClE-ByL-.mjs.map +0 -1
  1014. package/dist/chunks/ru-CmLLEJJV.mjs +0 -2
  1015. package/dist/chunks/ru-CmLLEJJV.mjs.map +0 -1
  1016. package/dist/chunks/ru-CmlYwIPH.mjs +0 -2
  1017. package/dist/chunks/ru-CmlYwIPH.mjs.map +0 -1
  1018. package/dist/chunks/ru-D74ItjLR.mjs +0 -2
  1019. package/dist/chunks/ru-D74ItjLR.mjs.map +0 -1
  1020. package/dist/chunks/ru-DR7ji_U_.mjs +0 -2
  1021. package/dist/chunks/ru-DR7ji_U_.mjs.map +0 -1
  1022. package/dist/chunks/ru-DZ0titlK.mjs +0 -2
  1023. package/dist/chunks/ru-DZ0titlK.mjs.map +0 -1
  1024. package/dist/chunks/ru-DftPghQ8.mjs +0 -2
  1025. package/dist/chunks/ru-DftPghQ8.mjs.map +0 -1
  1026. package/dist/chunks/ru-KBX9Y7TT.mjs +0 -2
  1027. package/dist/chunks/ru-KBX9Y7TT.mjs.map +0 -1
  1028. package/dist/chunks/ru-L3ML505C.mjs +0 -2
  1029. package/dist/chunks/ru-L3ML505C.mjs.map +0 -1
  1030. package/dist/chunks/ru-VAZhjO4q.mjs +0 -2
  1031. package/dist/chunks/ru-VAZhjO4q.mjs.map +0 -1
  1032. package/dist/chunks/ru-afocv3DK.mjs +0 -2
  1033. package/dist/chunks/ru-afocv3DK.mjs.map +0 -1
  1034. package/dist/chunks/ru-gUXymxbh.mjs +0 -2
  1035. package/dist/chunks/ru-gUXymxbh.mjs.map +0 -1
  1036. package/dist/chunks/ru-qL1ebv4O.mjs +0 -2
  1037. package/dist/chunks/ru-qL1ebv4O.mjs.map +0 -1
  1038. package/dist/chunks/src-DPhUQ25M.mjs +0 -2
  1039. package/dist/chunks/src-DPhUQ25M.mjs.map +0 -1
  1040. package/dist/chunks/text-direction-advanced-S4MgVMLX.mjs +0 -2
  1041. package/dist/chunks/text-direction-advanced-S4MgVMLX.mjs.map +0 -1
  1042. package/dist/chunks/zh-B3geJFGW.mjs +0 -2
  1043. package/dist/chunks/zh-B3geJFGW.mjs.map +0 -1
  1044. package/dist/chunks/zh-B4p7M6XB.mjs +0 -2
  1045. package/dist/chunks/zh-B4p7M6XB.mjs.map +0 -1
  1046. package/dist/chunks/zh-BkwaMj9a.mjs +0 -2
  1047. package/dist/chunks/zh-BkwaMj9a.mjs.map +0 -1
  1048. package/dist/chunks/zh-BogAT6ZW.mjs +0 -2
  1049. package/dist/chunks/zh-BogAT6ZW.mjs.map +0 -1
  1050. package/dist/chunks/zh-BvMEmsyF.mjs +0 -2
  1051. package/dist/chunks/zh-BvMEmsyF.mjs.map +0 -1
  1052. package/dist/chunks/zh-BzLh1p5b.mjs +0 -2
  1053. package/dist/chunks/zh-BzLh1p5b.mjs.map +0 -1
  1054. package/dist/chunks/zh-CBMpL9ha.mjs +0 -2
  1055. package/dist/chunks/zh-CBMpL9ha.mjs.map +0 -1
  1056. package/dist/chunks/zh-CIFsVnFl.mjs +0 -2
  1057. package/dist/chunks/zh-CIFsVnFl.mjs.map +0 -1
  1058. package/dist/chunks/zh-CP6_YzAc.mjs +0 -2
  1059. package/dist/chunks/zh-CP6_YzAc.mjs.map +0 -1
  1060. package/dist/chunks/zh-CT4V3EmW.mjs +0 -2
  1061. package/dist/chunks/zh-CT4V3EmW.mjs.map +0 -1
  1062. package/dist/chunks/zh-CZCIluI_.mjs +0 -2
  1063. package/dist/chunks/zh-CZCIluI_.mjs.map +0 -1
  1064. package/dist/chunks/zh-CcMLjYrk.mjs +0 -2
  1065. package/dist/chunks/zh-CcMLjYrk.mjs.map +0 -1
  1066. package/dist/chunks/zh-CfCQsLZa.mjs +0 -2
  1067. package/dist/chunks/zh-CfCQsLZa.mjs.map +0 -1
  1068. package/dist/chunks/zh-CsyBlhtm.mjs +0 -2
  1069. package/dist/chunks/zh-CsyBlhtm.mjs.map +0 -1
  1070. package/dist/chunks/zh-D4eu30KQ.mjs +0 -2
  1071. package/dist/chunks/zh-D4eu30KQ.mjs.map +0 -1
  1072. package/dist/chunks/zh-DSfxjb4Y.mjs +0 -2
  1073. package/dist/chunks/zh-DSfxjb4Y.mjs.map +0 -1
  1074. package/dist/chunks/zh-Dj5jzeIJ.mjs +0 -2
  1075. package/dist/chunks/zh-Dj5jzeIJ.mjs.map +0 -1
  1076. package/dist/chunks/zh-DjY-jmYn.mjs +0 -2
  1077. package/dist/chunks/zh-DjY-jmYn.mjs.map +0 -1
  1078. package/dist/chunks/zh-Dt7zL1Bl.mjs +0 -2
  1079. package/dist/chunks/zh-Dt7zL1Bl.mjs.map +0 -1
  1080. package/dist/chunks/zh-bkCXy34A.mjs +0 -2
  1081. package/dist/chunks/zh-bkCXy34A.mjs.map +0 -1
  1082. package/dist/chunks/zh-cRqBrQM8.mjs +0 -2
  1083. package/dist/chunks/zh-cRqBrQM8.mjs.map +0 -1
  1084. package/dist/chunks/zh-cUJdRfxu.mjs +0 -2
  1085. package/dist/chunks/zh-cUJdRfxu.mjs.map +0 -1
  1086. package/dist/chunks/zh-qo4_i9Vd.mjs +0 -2
  1087. package/dist/chunks/zh-qo4_i9Vd.mjs.map +0 -1
  1088. package/dist/chunks/zh-tpUU3oJa.mjs +0 -2
  1089. package/dist/chunks/zh-tpUU3oJa.mjs.map +0 -1
  1090. package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts +0 -35
  1091. package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts.map +0 -1
  1092. package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts +0 -18
  1093. package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts.map +0 -1
  1094. package/dist/plugins/text-direction-advanced/index.d.ts +0 -5
  1095. package/dist/plugins/text-direction-advanced/index.d.ts.map +0 -1
  1096. package/dist/plugins/text-direction-advanced.mjs +0 -1
@@ -0,0 +1,28 @@
1
+ import { Plugin, PluginContext } from '../Plugin.js';
2
+ export interface TextDirectionAutoConfig {
3
+ /**
4
+ * Whether to register the auto-detect middleware (insertText / deleteText).
5
+ * @default true
6
+ */
7
+ readonly autoDetect?: boolean;
8
+ /**
9
+ * Whether to register the inherit-dir middleware (insertNode).
10
+ * @default true
11
+ */
12
+ readonly inherit?: boolean;
13
+ /**
14
+ * Whether to register the preserve-dir middleware (setBlockType).
15
+ * @default true
16
+ */
17
+ readonly preserve?: boolean;
18
+ }
19
+ export declare class TextDirectionAutoPlugin implements Plugin {
20
+ readonly id = "text-direction-auto";
21
+ readonly name = "Text Direction Auto-detect";
22
+ readonly priority = 93;
23
+ readonly dependencies: readonly ["text-direction"];
24
+ private readonly config;
25
+ constructor(config?: TextDirectionAutoConfig);
26
+ init(context: PluginContext): void;
27
+ }
28
+ //# sourceMappingURL=TextDirectionAutoPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextDirectionAutoPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/text-direction-auto/TextDirectionAutoPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAQ1D,MAAM,WAAW,uBAAuB;IACvC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD,qBAAa,uBAAwB,YAAW,MAAM;IACrD,QAAQ,CAAC,EAAE,yBAAyB;IACpC,QAAQ,CAAC,IAAI,gCAAgC;IAC7C,QAAQ,CAAC,QAAQ,MAAM;IACvB,QAAQ,CAAC,YAAY,8BAA+B;IAEpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE/C,MAAM,CAAC,EAAE,uBAAuB;IAI5C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAoBlC"}
@@ -0,0 +1,2 @@
1
+ export { TextDirectionAutoPlugin, type TextDirectionAutoConfig, } from './TextDirectionAutoPlugin.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/text-direction-auto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,KAAK,uBAAuB,GAC5B,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1 @@
1
+ import{t}from"../chunks/TextDirectionAutoPlugin-kZ1tcu0d.mjs";export{t as TextDirectionAutoPlugin};
@@ -1 +1 @@
1
- import{a as s,i,n as o,o as t,t as a}from"../chunks/TextDirectionLocale-_AUfZu9j.mjs";import{n as e,t as n}from"../chunks/TextDirectionCorePlugin-tNecTcrX.mjs";export{n as DIRECTION_ICONS,a as TEXT_DIRECTION_LOCALE_EN,e as TextDirectionPlugin,i as detectTextDirection,s as findSiblingDirection,t as getBlockDir,o as loadTextDirectionLocale};
1
+ import{t as s}from"../chunks/DirectionIcons-CfaDcQ9a.mjs";import{t}from"../chunks/TextDirectionService-DY4M8EwU.mjs";import{n as r,r as i,t as o}from"../chunks/DirectionDetection-Hun6-7ER.mjs";import{n,r as m,t as c}from"../chunks/TextDirectionPlugin-Bk3CkbYh.mjs";export{s as DIRECTION_ICONS,n as TEXT_DIRECTION_LOCALE_EN,t as TEXT_DIRECTION_SERVICE_KEY,c as TextDirectionPlugin,o as detectTextDirection,r as findSiblingDirection,i as getBlockDir,m as loadTextDirectionLocale};
@@ -1 +1 @@
1
- import{n as t,r,t as s}from"../chunks/TextFormattingPlugin-CZ6D-luc.mjs";export{t as TEXT_FORMATTING_LOCALE_EN,s as TextFormattingPlugin,r as loadTextFormattingLocale};
1
+ import{n as t,r,t as s}from"../chunks/TextFormattingPlugin-D13eP6nF.mjs";export{t as TEXT_FORMATTING_LOCALE_EN,s as TextFormattingPlugin,r as loadTextFormattingLocale};
@@ -1 +1 @@
1
- import{a,i as s,n as o,o as r,r as i,t as m}from"../chunks/ToolbarPlugin-2K96zYut.mjs";export{s as TOOLBAR_LOCALE_EN,i as ToolbarOverflowBehavior,m as ToolbarPlugin,r as ToolbarRegistry,o as ToolbarServiceKey,a as loadToolbarLocale};
1
+ import{a,i as s,n as o,o as r,r as i,t as m}from"../chunks/ToolbarPlugin-DeH8n5d2.mjs";export{s as TOOLBAR_LOCALE_EN,i as ToolbarOverflowBehavior,m as ToolbarPlugin,r as ToolbarRegistry,o as ToolbarServiceKey,a as loadToolbarLocale};
@@ -7,13 +7,15 @@ import { FullPresetOptions, PresetConfig } from './PresetTypes.js';
7
7
  *
8
8
  * Toolbar groups:
9
9
  * 1. Typography: Font, FontSize
10
- * 2. Inline marks: TextFormatting, Strikethrough, InlineCode, SuperSub
10
+ * 2. Inline marks: TextFormatting, Strikethrough, InlineCode, SuperSub, BidiIsolation
11
11
  * 3. Colors: TextColor, Highlight
12
12
  * 4. Block types: Heading, Blockquote, CodeBlock
13
13
  * 5. Paragraph layout: Alignment, TextDirection
14
14
  * 6. Lists: List
15
15
  * 7. Insert objects: Link, Table, HorizontalRule, Image
16
16
  * 8. Utility: Print
17
+ *
18
+ * Headless plugins: HardBreak, SmartPaste, TextDirectionAuto.
17
19
  */
18
20
  export declare function createFullPreset(options?: FullPresetOptions): PresetConfig;
19
21
  //# sourceMappingURL=FullPreset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FullPreset.d.ts","sourceRoot":"","sources":["../../src/presets/FullPreset.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,YAAY,CA+B1E"}
1
+ {"version":3,"file":"FullPreset.d.ts","sourceRoot":"","sources":["../../src/presets/FullPreset.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAiC1E"}
@@ -1,5 +1,6 @@
1
1
  import { Plugin } from '../plugins/Plugin.js';
2
2
  import { AlignmentConfig } from '../plugins/alignment/AlignmentPlugin.js';
3
+ import { BidiIsolationConfig } from '../plugins/bidi-isolation/BidiIsolationPlugin.js';
3
4
  import { BlockquoteConfig } from '../plugins/blockquote/BlockquotePlugin.js';
4
5
  import { CodeBlockConfig } from '../plugins/code-block/CodeBlockTypes.js';
5
6
  import { FontSizeConfig } from '../plugins/font-size/FontSizePlugin.js';
@@ -16,7 +17,8 @@ import { SmartPasteConfig } from '../plugins/smart-paste/SmartPasteTypes.js';
16
17
  import { StrikethroughConfig } from '../plugins/strikethrough/StrikethroughPlugin.js';
17
18
  import { SuperSubConfig } from '../plugins/super-sub/SuperSubPlugin.js';
18
19
  import { TextColorConfig } from '../plugins/text-color/TextColorPlugin.js';
19
- import { TextDirectionConfig } from '../plugins/text-direction/TextDirectionCorePlugin.js';
20
+ import { TextDirectionAutoConfig } from '../plugins/text-direction-auto/TextDirectionAutoPlugin.js';
21
+ import { TextDirectionConfig } from '../plugins/text-direction/TextDirectionPlugin.js';
20
22
  import { TextFormattingConfig } from '../plugins/text-formatting/TextFormattingPlugin.js';
21
23
  /**
22
24
  * Return type of preset factory functions.
@@ -45,6 +47,8 @@ export interface FullPresetOptions {
45
47
  readonly codeBlock?: Partial<CodeBlockConfig>;
46
48
  readonly alignment?: Partial<AlignmentConfig>;
47
49
  readonly textDirection?: Partial<TextDirectionConfig>;
50
+ readonly bidiIsolation?: Partial<BidiIsolationConfig>;
51
+ readonly textDirectionAuto?: TextDirectionAutoConfig;
48
52
  readonly list?: Partial<ListConfig>;
49
53
  readonly link?: Partial<LinkConfig>;
50
54
  readonly table?: Partial<import('../plugins/table/TablePlugin.js').TableConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"PresetTypes.d.ts","sourceRoot":"","sources":["../../src/presets/PresetTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresetTypes.d.ts","sourceRoot":"","sources":["../../src/presets/PresetTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{t as m}from"../chunks/full-B9IqlP6u.mjs";export{m as createFullPreset};
1
+ import{t as m}from"../chunks/full-5hGvv-bG.mjs";export{m as createFullPreset};
@@ -1 +1 @@
1
- import{t as m}from"../chunks/minimal-J-u7e_pr.mjs";export{m as createMinimalPreset};
1
+ import{t as m}from"../chunks/minimal-pBhi4EJI.mjs";export{m as createMinimalPreset};
package/dist/presets.mjs CHANGED
@@ -1 +1 @@
1
- import{t as m}from"./chunks/minimal-J-u7e_pr.mjs";import{t as s}from"./chunks/full-B9IqlP6u.mjs";export{s as createFullPreset,m as createMinimalPreset};
1
+ import{t as m}from"./chunks/minimal-pBhi4EJI.mjs";import{t as s}from"./chunks/full-5hGvv-bG.mjs";export{s as createFullPreset,m as createMinimalPreset};
@@ -0,0 +1,21 @@
1
+ import { BlockId } from '../model/TypeBrands.js';
2
+ /**
3
+ * Conservative pattern for `data-block-id` values: alphanumeric, underscore,
4
+ * hyphen, max 64 chars. Defense-in-depth — IDs flow in-memory only, but we keep
5
+ * the wire shape narrow to rule out attribute-injection vectors and to allow
6
+ * `escapeAttr` to be a no-op for valid IDs.
7
+ */
8
+ export declare const SAFE_BLOCK_ID_PATTERN: RegExp;
9
+ /** True if `value` is shaped like a safe `data-block-id`. */
10
+ export declare function isSafeBlockId(value: string): boolean;
11
+ /**
12
+ * Adopts the `data-block-id` attribute from a parsed element so that block
13
+ * identity survives an HTML round-trip. Returns `undefined` (caller generates
14
+ * a fresh ID) when:
15
+ * - the attribute is missing (e.g. user-pasted external HTML),
16
+ * - the value is malformed,
17
+ * - or the value collides with an already-adopted ID in this parse pass
18
+ * (e.g. concatenated HTML from two documents).
19
+ */
20
+ export declare function adoptBlockId(el: Element, used: Set<string>): BlockId | undefined;
21
+ //# sourceMappingURL=BlockIdHTML.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockIdHTML.d.ts","sourceRoot":"","sources":["../../src/serialization/BlockIdHTML.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAgC,CAAC;AAErE,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,SAAS,CAOhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/serialization/DocumentParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAa,QAAQ,EAA8B,MAAM,sBAAsB,CAAC;AAU5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAChC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,gBAAgB,GACxB,QAAQ,CAgCV"}
1
+ {"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/serialization/DocumentParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAa,QAAQ,EAA8B,MAAM,sBAAsB,CAAC;AAU5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAChC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,gBAAgB,GACxB,QAAQ,CAuCV"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentSerializer.d.ts","sourceRoot":"","sources":["../../src/serialization/DocumentSerializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAa,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AAWtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAc9D,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAkD,CAAC;AAKpG,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA2B,CAAC;AA8E7E,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAaxF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAyBjG"}
1
+ {"version":3,"file":"DocumentSerializer.d.ts","sourceRoot":"","sources":["../../src/serialization/DocumentSerializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAa,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AAWtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAc9D,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAkD,CAAC;AAKpG,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA2B,CAAC;AA8E7E,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAoBxF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,gBAAgB,CA+BjG"}
@@ -77,6 +77,23 @@ export declare class StateBuilder {
77
77
  * ```
78
78
  */
79
79
  export declare function stateBuilder(): StateBuilder;
80
+ /**
81
+ * Builds an `EditorState` from a list of simple block specs with a cursor and
82
+ * a default schema. Convenience for plugin tests that only need a static
83
+ * document and don't exercise selection/schema edge cases — for those, use
84
+ * `stateBuilder()` directly.
85
+ */
86
+ export declare function makeBlockState(blocks?: readonly {
87
+ type: string;
88
+ text: string;
89
+ id: string;
90
+ attrs?: Record<string, string | number | boolean>;
91
+ }[], options?: {
92
+ readonly cursorBlockId?: string;
93
+ readonly cursorOffset?: number;
94
+ readonly nodeTypes?: readonly string[];
95
+ readonly markTypes?: readonly string[];
96
+ }): EditorState;
80
97
  /** Return type of `pluginHarness().init()`. */
81
98
  export interface PluginHarnessResult {
82
99
  /** The PluginManager instance. */
@@ -1 +1 @@
1
- {"version":3,"file":"TestUtils.d.ts","sourceRoot":"","sources":["../../src/test/TestUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestUtils.d.ts","sourceRoot":"","sources":["../../src/test/TestUtils.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,12 @@ export interface EditorViewOptions {
18
18
  onStateChange?: StateChangeCallback;
19
19
  getDecorations?: (state: EditorState, tr?: Transaction) => DecorationSet;
20
20
  isReadOnly?: () => boolean;
21
+ /**
22
+ * Returns true while a `readonlyAllowed` command is mid-execution.
23
+ * Allows command-driven mutations to bypass the readonly dispatch guard
24
+ * even when the resulting transaction does not carry `metadata.readonlyAllowed`.
25
+ */
26
+ isReadonlyBypassed?: () => boolean;
21
27
  compositionState?: CompositionState;
22
28
  }
23
29
  export declare class EditorView {
@@ -32,6 +38,7 @@ export declare class EditorView {
32
38
  private decorations;
33
39
  private readonly getDecorations?;
34
40
  private readonly isReadOnly;
41
+ private readonly isReadonlyBypassed;
35
42
  private readonly compositionState;
36
43
  private readonly cursorWrapper;
37
44
  private readonly navigation;
@@ -1 +1 @@
1
- {"version":3,"file":"EditorView.d.ts","sourceRoot":"","sources":["../../src/view/EditorView.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,MAAM,MAAM,mBAAmB,GAAG,CACjC,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,WAAW,EACrB,EAAE,EAAE,WAAW,KACX,IAAI,CAAC;AAEV,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,KAAK,aAAa,CAAC;IACzE,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,qBAAa,UAAU;IACtB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAC7C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA0D;IAC1F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB;IAoDnE,wCAAwC;IACxC,QAAQ,IAAI,WAAW;IAIvB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAmCnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAK/B,qBAAqB;IACrB,IAAI,IAAI,IAAI;IAOZ,qBAAqB;IACrB,IAAI,IAAI,IAAI;IAOZ,yCAAyC;IACzC,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAQxD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAmCzC,iDAAiD;IACjD,aAAa,IAAI,IAAI;IAIrB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,gBAAgB;IAmBxB,kDAAkD;IAClD,OAAO,IAAI,IAAI;CASf"}
1
+ {"version":3,"file":"EditorView.d.ts","sourceRoot":"","sources":["../../src/view/EditorView.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notectl/core",
3
- "version": "2.0.9",
3
+ "version": "2.1.2",
4
4
  "description": "A modern and accessible rich text editor shipped as a single Web Component. Immutable state, transaction-based architecture, and a plugin system that powers every feature.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -142,9 +142,13 @@
142
142
  "types": "./dist/plugins/text-direction/index.d.ts",
143
143
  "import": "./dist/plugins/text-direction.mjs"
144
144
  },
145
- "./plugins/text-direction-advanced": {
146
- "types": "./dist/plugins/text-direction-advanced/index.d.ts",
147
- "import": "./dist/plugins/text-direction-advanced.mjs"
145
+ "./plugins/bidi-isolation": {
146
+ "types": "./dist/plugins/bidi-isolation/index.d.ts",
147
+ "import": "./dist/plugins/bidi-isolation.mjs"
148
+ },
149
+ "./plugins/text-direction-auto": {
150
+ "types": "./dist/plugins/text-direction-auto/index.d.ts",
151
+ "import": "./dist/plugins/text-direction-auto.mjs"
148
152
  }
149
153
  },
150
154
  "customElements": "custom-elements.json",
@@ -197,7 +201,7 @@
197
201
  {
198
202
  "name": "Presets (full)",
199
203
  "path": "dist/presets/full.mjs",
200
- "limit": "88 KB",
204
+ "limit": "92 KB",
201
205
  "gzip": true
202
206
  },
203
207
  {
@@ -363,9 +367,15 @@
363
367
  "gzip": true
364
368
  },
365
369
  {
366
- "name": "Plugin: Text Direction Advanced",
367
- "path": "dist/plugins/text-direction-advanced.mjs",
368
- "limit": "7 KB",
370
+ "name": "Plugin: Bidi Isolation",
371
+ "path": "dist/plugins/bidi-isolation.mjs",
372
+ "limit": "5 KB",
373
+ "gzip": true
374
+ },
375
+ {
376
+ "name": "Plugin: Text Direction Auto",
377
+ "path": "dist/plugins/text-direction-auto.mjs",
378
+ "limit": "4 KB",
369
379
  "gzip": true
370
380
  },
371
381
  {
@@ -1,2 +0,0 @@
1
- import{s as t}from"./StyleRuntime-D3d1XFFe.mjs";import{i as e,n as s,o as i,r as n,t as a}from"./PluginHelpers-D1QF-YaF.mjs";var l={alignStart:"Align Start",alignCenter:"Align Center",alignEnd:"Align End",justify:"Justify",toolbarLabel:"Alignment",toolbarTooltip:"Alignment"},o=/* @__PURE__ */Object.assign({"./locales/ar.ts":()=>import("./ar-ByNQ-o3t.mjs"),"./locales/de.ts":()=>import("./de-q2xHBWVU.mjs"),"./locales/es.ts":()=>import("./es-Bwy7v223.mjs"),"./locales/fr.ts":()=>import("./fr-hStmLXCS.mjs"),"./locales/hi.ts":()=>import("./hi-BE4pkSYX.mjs"),"./locales/pt.ts":()=>import("./pt-Bb3sODVO.mjs"),"./locales/ru.ts":()=>import("./ru-DftPghQ8.mjs"),"./locales/zh.ts":()=>import("./zh-DSfxjb4Y.mjs")});async function r(t){return i(o,t,l)}var g={alignments:["start","center","end","justify"],alignableTypes:["paragraph","heading","title","subtitle","table_cell","image"],defaults:{image:"center"}},c={start:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z"/></svg>',center:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z"/></svg>',end:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z"/></svg>',justify:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zM3 3v2h18V3H3z"/></svg>'},m=class{id="alignment";name="Alignment";priority=90;config;locale;alignableTypes;constructor(t){this.config={...g,...t,defaults:{...g.defaults,...t?.defaults}}}async init(t){this.locale=await e(t,this.config.locale,l,r),this.alignableTypes=new Set(this.config.alignableTypes),this.patchNodeSpecs(t),this.registerCommands(t),this.registerKeymaps(t),this.registerToolbarItem(t),this.registerMiddleware(t)}patchNodeSpecs(t){const e=t.getSchemaRegistry();for(const s of this.config.alignableTypes){const t=e.getNodeSpec(s);if(!t)continue;if(t.attrs?.align)continue;const i=t.toDOM,n=this.config.defaults[s]??"start";e.removeNodeSpec(s),e.registerNodeSpec({...t,attrs:{...t.attrs,align:{default:n}},toDOM(e){const s=i.call(t,e);return h(s,e),s}})}}registerCommands(t){for(const e of this.config.alignments)t.registerCommand(`align${a(e)}`,()=>this.setAlignment(t,e))}registerKeymaps(t){const e={};this.config.alignments.includes("start")&&(e["Mod-Shift-L"]=()=>t.executeCommand("alignStart")),this.config.alignments.includes("center")&&(e["Mod-Shift-E"]=()=>t.executeCommand("alignCenter")),this.config.alignments.includes("end")&&(e["Mod-Shift-R"]=()=>t.executeCommand("alignEnd")),this.config.alignments.includes("justify")&&(e["Mod-Shift-J"]=()=>t.executeCommand("alignJustify")),Object.keys(e).length>0&&t.registerKeymap(e)}registerToolbarItem(t){const e=this.config.alignments.map(t=>({label:this.getAlignmentLabel(t),command:`align${a(t)}`,icon:c[t]}));t.registerToolbarItem({id:"alignment",group:"block",icon:c.start,label:this.locale.toolbarLabel,tooltip:this.locale.toolbarTooltip,command:"alignStart",popupType:"dropdown",popupConfig:{items:e},isActive:t=>this.isNonDefaultAlignment(t),isEnabled:t=>this.isAlignable(t)})}getAlignmentLabel(t){return{start:this.locale.alignStart,center:this.locale.alignCenter,end:this.locale.alignEnd,justify:this.locale.justify}[t]}registerMiddleware(t){t.registerMiddleware((t,e,s)=>{let i=!1;const n=t.steps.map(t=>{if("setBlockType"!==t.type)return t;if(!this.alignableTypes.has(t.nodeType))return t;const e=t.previousAttrs?.align;return e&&"start"!==e?(i=!0,{...t,attrs:{...t.attrs,align:e}}):t});s(i?{...t,steps:n}:t)},{name:"alignment:preserve-align"})}setAlignment(t,e){const i=t.getState(),a=s(i);if(!a||!this.alignableTypes.has(a.type))return!1;const l=n(i);if(!l)return!1;const o=i.getNodePath(l);if(!o)return!1;const r={...a.attrs,align:e},g=i.transaction("command").setNodeAttr(o,r).setSelection(i.selection).build();return t.dispatch(g),!0}isNonDefaultAlignment(t){const e=s(t);if(!e||!this.alignableTypes.has(e.type))return!1;const i=e.attrs?.align,n=this.config.defaults[e.type]??"start";return null!=i&&i!==n}isAlignable(t){const e=s(t);return null!=e&&this.alignableTypes.has(e.type)}};function h(e,s){const i=s.attrs?.align;"string"==typeof i&&"start"!==i&&t(e,"textAlign",i)}export{r as i,m as n,l as r,c as t};
2
- //# sourceMappingURL=AlignmentPlugin-D1wmhWE6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AlignmentPlugin-D1wmhWE6.mjs","names":[],"sources":["../../src/plugins/alignment/AlignmentLocale.ts","../../src/plugins/alignment/AlignmentPlugin.ts"],"sourcesContent":["/** Locale interface and default English locale for the AlignmentPlugin. */\n\nimport { type LocaleModuleMap, loadLocaleModule } from '../shared/LocaleLoader.js';\n\nexport interface AlignmentLocale {\n\treadonly alignStart: string;\n\treadonly alignCenter: string;\n\treadonly alignEnd: string;\n\treadonly justify: string;\n\treadonly toolbarLabel: string;\n\treadonly toolbarTooltip: string;\n}\n\n// --- Default English Locale ---\n\nexport const ALIGNMENT_LOCALE_EN: AlignmentLocale = {\n\talignStart: 'Align Start',\n\talignCenter: 'Align Center',\n\talignEnd: 'Align End',\n\tjustify: 'Justify',\n\ttoolbarLabel: 'Alignment',\n\ttoolbarTooltip: 'Alignment',\n};\n\n// --- Lazy Locale Loader ---\n\nconst localeModules: LocaleModuleMap<AlignmentLocale> = import.meta.glob<{\n\tdefault: AlignmentLocale;\n}>('./locales/*.ts', { eager: false });\n\nexport async function loadAlignmentLocale(lang: string): Promise<AlignmentLocale> {\n\treturn loadLocaleModule(localeModules, lang, ALIGNMENT_LOCALE_EN);\n}\n","/**\n * AlignmentPlugin: adds start/center/end/justify alignment as a block\n * attribute on paragraphs, headings, images, and other alignable types.\n * Uses logical values (`start`/`end`) instead of physical (`left`/`right`)\n * for correct behavior with RTL text direction. Patches NodeSpecs to render\n * the `align` attribute via inline `text-align` style and provides toggle\n * commands, keyboard shortcuts, and a toolbar dropdown.\n */\n\nimport type { BlockAlignment } from '../../model/BlockAlignment.js';\nimport type { BlockNode } from '../../model/Document.js';\nimport type { BlockId } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport { setStyleProperty } from '../../style/StyleRuntime.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport {\n\tcapitalize,\n\tgetSelectedBlock,\n\tgetSelectedBlockId,\n\tresolveLocale,\n} from '../shared/PluginHelpers.js';\nimport {\n\tALIGNMENT_LOCALE_EN,\n\ttype AlignmentLocale,\n\tloadAlignmentLocale,\n} from './AlignmentLocale.js';\n\n// --- Public Types ---\n\nexport interface AlignmentConfig {\n\t/** Which alignments to expose. Defaults to all four. */\n\treadonly alignments: readonly BlockAlignment[];\n\t/** Block types that support alignment. Defaults to paragraph + heading + title + subtitle + table_cell + image. */\n\treadonly alignableTypes: readonly string[];\n\t/** Per-type default alignment (e.g. `{ image: 'center' }`). Falls back to `'start'`. */\n\treadonly defaults: Readonly<Record<string, BlockAlignment>>;\n\treadonly locale?: AlignmentLocale;\n}\n\n// --- Constants ---\n\nconst DEFAULT_CONFIG: AlignmentConfig = {\n\talignments: ['start', 'center', 'end', 'justify'],\n\talignableTypes: ['paragraph', 'heading', 'title', 'subtitle', 'table_cell', 'image'],\n\tdefaults: { image: 'center' },\n};\n\nexport const ALIGNMENT_ICONS: Readonly<Record<BlockAlignment, string>> = {\n\tstart:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z\"/></svg>',\n\tcenter:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z\"/></svg>',\n\tend: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z\"/></svg>',\n\tjustify:\n\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zM3 3v2h18V3H3z\"/></svg>',\n};\n\n// --- Plugin ---\n\nexport class AlignmentPlugin implements Plugin {\n\treadonly id = 'alignment';\n\treadonly name = 'Alignment';\n\treadonly priority = 90;\n\n\tprivate readonly config: AlignmentConfig;\n\tprivate locale!: AlignmentLocale;\n\tprivate alignableTypes!: ReadonlySet<string>;\n\n\tconstructor(config?: Partial<AlignmentConfig>) {\n\t\tthis.config = {\n\t\t\t...DEFAULT_CONFIG,\n\t\t\t...config,\n\t\t\tdefaults: { ...DEFAULT_CONFIG.defaults, ...config?.defaults },\n\t\t};\n\t}\n\n\tasync init(context: PluginContext): Promise<void> {\n\t\tthis.locale = await resolveLocale(\n\t\t\tcontext,\n\t\t\tthis.config.locale,\n\t\t\tALIGNMENT_LOCALE_EN,\n\t\t\tloadAlignmentLocale,\n\t\t);\n\n\t\tthis.alignableTypes = new Set(this.config.alignableTypes);\n\t\tthis.patchNodeSpecs(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerKeymaps(context);\n\t\tthis.registerToolbarItem(context);\n\t\tthis.registerMiddleware(context);\n\t}\n\n\t// --- NodeSpec Patching ---\n\n\t/**\n\t * Patches existing NodeSpecs for alignable block types to support the\n\t * `align` attribute and render it as an inline style. Skips types\n\t * that already define an `align` attribute in their spec.\n\t */\n\tprivate patchNodeSpecs(context: PluginContext): void {\n\t\tconst registry = context.getSchemaRegistry();\n\n\t\tfor (const type of this.config.alignableTypes) {\n\t\t\tconst spec = registry.getNodeSpec(type);\n\t\t\tif (!spec) continue;\n\n\t\t\t// Skip types that already declare an `align` attr (e.g. image)\n\t\t\tif (spec.attrs?.align) continue;\n\n\t\t\tconst originalToDOM = spec.toDOM;\n\t\t\tconst defaultAlign: BlockAlignment = this.config.defaults[type] ?? 'start';\n\n\t\t\tregistry.removeNodeSpec(type);\n\t\t\tregistry.registerNodeSpec({\n\t\t\t\t...spec,\n\t\t\t\tattrs: {\n\t\t\t\t\t...spec.attrs,\n\t\t\t\t\talign: { default: defaultAlign },\n\t\t\t\t},\n\t\t\t\ttoDOM(node) {\n\t\t\t\t\tconst el = originalToDOM.call(spec, node);\n\t\t\t\t\tapplyAlignment(el, node);\n\t\t\t\t\treturn el;\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Commands ---\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tfor (const alignment of this.config.alignments) {\n\t\t\tcontext.registerCommand(`align${capitalize(alignment)}`, () => {\n\t\t\t\treturn this.setAlignment(context, alignment);\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Keymaps ---\n\n\tprivate registerKeymaps(context: PluginContext): void {\n\t\tconst bindings: Record<string, () => boolean> = {};\n\n\t\tif (this.config.alignments.includes('start')) {\n\t\t\tbindings['Mod-Shift-L'] = () => context.executeCommand('alignStart');\n\t\t}\n\t\tif (this.config.alignments.includes('center')) {\n\t\t\tbindings['Mod-Shift-E'] = () => context.executeCommand('alignCenter');\n\t\t}\n\t\tif (this.config.alignments.includes('end')) {\n\t\t\tbindings['Mod-Shift-R'] = () => context.executeCommand('alignEnd');\n\t\t}\n\t\tif (this.config.alignments.includes('justify')) {\n\t\t\tbindings['Mod-Shift-J'] = () => context.executeCommand('alignJustify');\n\t\t}\n\n\t\tif (Object.keys(bindings).length > 0) {\n\t\t\tcontext.registerKeymap(bindings);\n\t\t}\n\t}\n\n\t// --- Toolbar ---\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tconst dropdownItems = this.config.alignments.map((alignment) => ({\n\t\t\tlabel: this.getAlignmentLabel(alignment),\n\t\t\tcommand: `align${capitalize(alignment)}`,\n\t\t\ticon: ALIGNMENT_ICONS[alignment],\n\t\t}));\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'alignment',\n\t\t\tgroup: 'block',\n\t\t\ticon: ALIGNMENT_ICONS.start,\n\t\t\tlabel: this.locale.toolbarLabel,\n\t\t\ttooltip: this.locale.toolbarTooltip,\n\t\t\tcommand: 'alignStart',\n\t\t\tpopupType: 'dropdown',\n\t\t\tpopupConfig: { items: dropdownItems },\n\t\t\tisActive: (state) => this.isNonDefaultAlignment(state),\n\t\t\tisEnabled: (state) => this.isAlignable(state),\n\t\t});\n\t}\n\n\tprivate getAlignmentLabel(alignment: BlockAlignment): string {\n\t\tconst labels: Record<BlockAlignment, string> = {\n\t\t\tstart: this.locale.alignStart,\n\t\t\tcenter: this.locale.alignCenter,\n\t\t\tend: this.locale.alignEnd,\n\t\t\tjustify: this.locale.justify,\n\t\t};\n\t\treturn labels[alignment];\n\t}\n\n\t// --- Middleware ---\n\n\t/**\n\t * Preserves the `align` attribute when other plugins change the block\n\t * type (e.g. paragraph → heading) via `setBlockType`, which replaces attrs.\n\t */\n\tprivate registerMiddleware(context: PluginContext): void {\n\t\tcontext.registerMiddleware(\n\t\t\t(tr, _state, next) => {\n\t\t\t\tlet patched = false;\n\n\t\t\t\tconst patchedSteps = tr.steps.map((step) => {\n\t\t\t\t\tif (step.type !== 'setBlockType') return step;\n\t\t\t\t\tif (!this.alignableTypes.has(step.nodeType)) return step;\n\n\t\t\t\t\tconst prevAlign = step.previousAttrs?.align;\n\t\t\t\t\tif (!prevAlign || prevAlign === 'start') return step;\n\n\t\t\t\t\t// Carry forward align into new attrs\n\t\t\t\t\tpatched = true;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...step,\n\t\t\t\t\t\tattrs: { ...step.attrs, align: prevAlign },\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\tnext(patched ? { ...tr, steps: patchedSteps } : tr);\n\t\t\t},\n\t\t\t{ name: 'alignment:preserve-align' },\n\t\t);\n\t}\n\n\t// --- Alignment Logic ---\n\n\tprivate setAlignment(context: PluginContext, alignment: BlockAlignment): boolean {\n\t\tconst state = context.getState();\n\t\tconst block = getSelectedBlock(state);\n\t\tif (!block || !this.alignableTypes.has(block.type)) return false;\n\n\t\tconst id = getSelectedBlockId(state);\n\t\tif (!id) return false;\n\n\t\tconst path = state.getNodePath(id);\n\t\tif (!path) return false;\n\n\t\tconst newAttrs = { ...block.attrs, align: alignment };\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setNodeAttr(path as BlockId[], newAttrs)\n\t\t\t.setSelection(state.selection)\n\t\t\t.build();\n\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate isNonDefaultAlignment(state: EditorState): boolean {\n\t\tconst block = getSelectedBlock(state);\n\t\tif (!block || !this.alignableTypes.has(block.type)) return false;\n\t\tconst align = block.attrs?.align;\n\t\tconst defaultAlign: BlockAlignment = this.config.defaults[block.type] ?? 'start';\n\t\treturn align != null && align !== defaultAlign;\n\t}\n\n\tprivate isAlignable(state: EditorState): boolean {\n\t\tconst block = getSelectedBlock(state);\n\t\treturn block != null && this.alignableTypes.has(block.type);\n\t}\n}\n\n// --- Helpers ---\n\nfunction applyAlignment(el: HTMLElement, node: BlockNode): void {\n\tconst align = node.attrs?.align;\n\tif (typeof align === 'string' && align !== 'start') {\n\t\tsetStyleProperty(el, 'textAlign', align);\n\t}\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{c as t,d as e}from"./Document-_qdGR4vh.mjs";import{o,t as r,u as s}from"./Selection-aeiSsvhe.mjs";import{a as c}from"./TypeBrands-BZDKMjR-.mjs";import{n}from"./DomUtils-RKbAVBQz.mjs";import{i as l,o as i}from"./PluginHelpers-D1QF-YaF.mjs";import{t as a}from"./ShortcutFormatting-DE6B8iGs.mjs";function u(t,e){const r=t.getState();if(!s(r.selection))return!1;const c=r.selection;if(!o(c))return!1;const n=r.getBlock(c.anchor.blockId);return!(!n||"blockquote"!==n.type)&&e({state:r,block:n,blockId:c.anchor.blockId,offset:c.anchor.offset})}var p={label:"Blockquote",tooltip:t=>`Blockquote (${t})`},m=/* @__PURE__ */Object.assign({"./locales/ar.ts":()=>import("./ar-jsznaXQ0.mjs"),"./locales/de.ts":()=>import("./de-e7G64WBM.mjs"),"./locales/es.ts":()=>import("./es-B2B0W46I.mjs"),"./locales/fr.ts":()=>import("./fr-DOcFqSiX.mjs"),"./locales/hi.ts":()=>import("./hi-BFBRjxgB.mjs"),"./locales/pt.ts":()=>import("./pt-6uTV9TBd.mjs"),"./locales/ru.ts":()=>import("./ru-CmLLEJJV.mjs"),"./locales/zh.ts":()=>import("./zh-tpUU3oJa.mjs")});async function g(t){return i(m,t,p)}var d={},k=class{id="blockquote";name="Blockquote";priority=35;config;locale;constructor(t){this.config={...d,...t}}async init(t){this.locale=await l(t,this.config.locale,p,g),t.registerStyleSheet("\n.notectl-content blockquote {\n\tmargin: 0;\n\tpadding: 2px 0;\n\tpadding-inline-start: 16px;\n\tborder-inline-start: 3px solid var(--notectl-border);\n\tmin-height: 1.6em;\n}\n"),this.registerNodeSpec(t),this.registerCommands(t),this.registerKeymap(t),this.registerInputRule(t),this.registerToolbarItem(t)}registerNodeSpec(t){t.registerNodeSpec({type:"blockquote",group:"block",content:{allow:["text"]},toDOM:t=>n("blockquote",t.id),toHTML:(t,e)=>`<blockquote>${e||"<br>"}</blockquote>`,parseHTML:[{tag:"blockquote"}],sanitize:{tags:["blockquote"]}})}registerCommands(t){t.registerCommand("toggleBlockquote",()=>this.toggleBlockquote(t)),t.registerCommand("setBlockquote",()=>this.setBlockType(t,c("blockquote")))}registerKeymap(o){o.registerKeymap({"Mod-Shift->":()=>o.executeCommand("toggleBlockquote")}),function(o){o.registerKeymap({ArrowDown:()=>function(o){return u(o,({state:s,block:n,blockId:l,offset:i})=>{if(i!==e(n))return!1;const a=s.getBlockOrder(),u=a.indexOf(l);if(u<a.length-1){const t=a[u+1],e=s.transaction("command").setSelection(r(t,0)).build();o.dispatch(e)}else!function(o,s){const n=o.getState(),l=n.getBlock(s);if(!l)return;const i=e(l),a=t(),u=n.transaction("command").splitBlock(s,i,a).setBlockType(a,c("paragraph")).setSelection(r(a,0)).build();o.dispatch(u)}(o,l);return!0})}(o),ArrowUp:()=>function(t){return u(t,({state:o,blockId:s,offset:c})=>{if(0!==c)return!1;const n=o.getBlockOrder(),l=n.indexOf(s);if(l>0){const s=n[l-1],c=o.getBlock(s),i=c?e(c):0,a=o.transaction("command").setSelection(r(s,i)).build();return t.dispatch(a),!0}return!1})}(o),Enter:()=>function(t){return u(t,({state:o,block:s,blockId:n})=>{if(e(s)>0)return!1;const l=o.transaction("command").setBlockType(n,c("paragraph")).setSelection(r(n,0)).build();return t.dispatch(l),!0})}(o),Backspace:()=>function(t){return u(t,({state:e,blockId:o,offset:r})=>{if(0!==r)return!1;const s=e.transaction("input").setBlockType(o,c("paragraph")).setSelection(e.selection).build();return t.dispatch(s),!0})}(o)},{priority:"context"})}(o)}registerInputRule(t){t.registerInputRule({pattern:/^> $/,handler(t,e,r,n){const l=t.selection;if(!s(l))return null;if(!o(l))return null;const i=t.getBlock(l.anchor.blockId);return i&&"paragraph"===i.type?t.transaction("input").deleteTextAt(l.anchor.blockId,r,r+2).setBlockType(l.anchor.blockId,c("blockquote")).setSelection(l).build():null}})}registerToolbarItem(t){t.registerToolbarItem({id:"blockquote",group:"block",icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z"/></svg>',label:this.locale.label,tooltip:this.locale.tooltip(a("Mod-Shift->")),command:"toggleBlockquote",isActive:t=>!!s(t.selection)&&"blockquote"===t.getBlock(t.selection.anchor.blockId)?.type})}toggleBlockquote(t){const e=t.getState();if(!s(e.selection))return!1;const o=e.getBlock(e.selection.anchor.blockId);return!!o&&("blockquote"===o.type?this.setBlockType(t,c("paragraph")):this.setBlockType(t,c("blockquote")))}setBlockType(t,e,o){const r=t.getState(),c=r.selection;if(!s(c))return!1;const n=r.transaction("command").setBlockType(c.anchor.blockId,e,o).setSelection(c).build();return t.dispatch(n),!0}};export{p as n,g as r,k as t};
2
- //# sourceMappingURL=BlockquotePlugin-Bwny0CP6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockquotePlugin-Bwny0CP6.mjs","names":[],"sources":["../../src/plugins/blockquote/BlockquoteKeyboardHandlers.ts","../../src/plugins/blockquote/BlockquoteLocale.ts","../../src/plugins/blockquote/BlockquoteStyles.ts","../../src/plugins/blockquote/BlockquotePlugin.ts"],"sourcesContent":["/**\n * Keyboard handlers for blockquote boundary navigation and escape.\n *\n * Handles ArrowDown/ArrowUp at block boundaries, Enter on empty blockquote\n * (converts to paragraph), and Backspace at offset 0 (reverts to paragraph).\n */\n\nimport type { BlockNode } from '../../model/Document.js';\nimport { generateBlockId, getBlockLength } from '../../model/Document.js';\nimport { createCollapsedSelection, isCollapsed, isTextSelection } from '../../model/Selection.js';\nimport type { BlockId } from '../../model/TypeBrands.js';\nimport { nodeType } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport type { Transaction } from '../../state/Transaction.js';\nimport type { PluginContext } from '../Plugin.js';\n\n// --- Context Guard ---\n\ninterface BlockquoteContext {\n\treadonly state: EditorState;\n\treadonly block: BlockNode;\n\treadonly blockId: BlockId;\n\treadonly offset: number;\n}\n\n/**\n * Guards against non-blockquote contexts.\n * Returns false (not handled) if the cursor is not inside a blockquote.\n */\nfunction withBlockquoteContext(\n\tcontext: PluginContext,\n\thandler: (ctx: BlockquoteContext) => boolean,\n): boolean {\n\tconst state: EditorState = context.getState();\n\tif (!isTextSelection(state.selection)) return false;\n\n\tconst sel = state.selection;\n\tif (!isCollapsed(sel)) return false;\n\n\tconst block: BlockNode | undefined = state.getBlock(sel.anchor.blockId);\n\tif (!block || block.type !== 'blockquote') return false;\n\n\treturn handler({\n\t\tstate,\n\t\tblock,\n\t\tblockId: sel.anchor.blockId,\n\t\toffset: sel.anchor.offset,\n\t});\n}\n\n/** Registers blockquote keyboard handlers at context priority. */\nexport function registerBlockquoteKeymaps(context: PluginContext): void {\n\tcontext.registerKeymap(\n\t\t{\n\t\t\tArrowDown: () => handleArrowDown(context),\n\t\t\tArrowUp: () => handleArrowUp(context),\n\t\t\tEnter: () => handleEnterOnEmpty(context),\n\t\t\tBackspace: () => handleBackspaceAtStart(context),\n\t\t},\n\t\t{ priority: 'context' },\n\t);\n}\n\n// --- Handler Functions ---\n\n/**\n * Moves cursor to the next block when at the end of the blockquote text.\n * If no next block exists, inserts a new paragraph after the blockquote.\n */\nfunction handleArrowDown(context: PluginContext): boolean {\n\treturn withBlockquoteContext(context, ({ state, block, blockId, offset }) => {\n\t\tconst textLength: number = getBlockLength(block);\n\t\tif (offset !== textLength) return false;\n\n\t\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\t\tconst idx: number = blockOrder.indexOf(blockId);\n\n\t\tif (idx < blockOrder.length - 1) {\n\t\t\tconst nextId: BlockId = blockOrder[idx + 1] as BlockId;\n\t\t\tconst tr: Transaction = state\n\t\t\t\t.transaction('command')\n\t\t\t\t.setSelection(createCollapsedSelection(nextId, 0))\n\t\t\t\t.build();\n\t\t\tcontext.dispatch(tr);\n\t\t} else {\n\t\t\tinsertParagraphAfter(context, blockId);\n\t\t}\n\n\t\treturn true;\n\t});\n}\n\n/**\n * Moves cursor to the previous block when at the start of the blockquote text.\n * Returns false if no previous block exists.\n */\nfunction handleArrowUp(context: PluginContext): boolean {\n\treturn withBlockquoteContext(context, ({ state, blockId, offset }) => {\n\t\tif (offset !== 0) return false;\n\n\t\tconst blockOrder: readonly BlockId[] = state.getBlockOrder();\n\t\tconst idx: number = blockOrder.indexOf(blockId);\n\n\t\tif (idx > 0) {\n\t\t\tconst prevId: BlockId = blockOrder[idx - 1] as BlockId;\n\t\t\tconst prevBlock: BlockNode | undefined = state.getBlock(prevId);\n\t\t\tconst prevLen: number = prevBlock ? getBlockLength(prevBlock) : 0;\n\t\t\tconst tr: Transaction = state\n\t\t\t\t.transaction('command')\n\t\t\t\t.setSelection(createCollapsedSelection(prevId, prevLen))\n\t\t\t\t.build();\n\t\t\tcontext.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t});\n}\n\n/**\n * Converts an empty blockquote to a paragraph on Enter.\n * Returns false for non-empty blockquotes, letting splitBlock handle them.\n */\nfunction handleEnterOnEmpty(context: PluginContext): boolean {\n\treturn withBlockquoteContext(context, ({ state, block, blockId }) => {\n\t\tif (getBlockLength(block) > 0) return false;\n\n\t\tconst tr: Transaction = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(blockId, nodeType('paragraph'))\n\t\t\t.setSelection(createCollapsedSelection(blockId, 0))\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t});\n}\n\n/**\n * Converts a blockquote to a paragraph when Backspace is pressed at offset 0.\n */\nfunction handleBackspaceAtStart(context: PluginContext): boolean {\n\treturn withBlockquoteContext(context, ({ state, blockId, offset }) => {\n\t\tif (offset !== 0) return false;\n\n\t\tconst tr: Transaction = state\n\t\t\t.transaction('input')\n\t\t\t.setBlockType(blockId, nodeType('paragraph'))\n\t\t\t.setSelection(state.selection)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t});\n}\n\n// --- Shared Helpers ---\n\nfunction insertParagraphAfter(context: PluginContext, bid: BlockId): void {\n\tconst state: EditorState = context.getState();\n\tconst block: BlockNode | undefined = state.getBlock(bid);\n\tif (!block) return;\n\n\tconst blockLength: number = getBlockLength(block);\n\tconst newId: BlockId = generateBlockId();\n\n\tconst tr: Transaction = state\n\t\t.transaction('command')\n\t\t.splitBlock(bid, blockLength, newId)\n\t\t.setBlockType(newId, nodeType('paragraph'))\n\t\t.setSelection(createCollapsedSelection(newId, 0))\n\t\t.build();\n\n\tcontext.dispatch(tr);\n}\n","/**\n * Locale interface and default English locale for the BlockquotePlugin.\n */\n\nimport { type LocaleModuleMap, loadLocaleModule } from '../shared/LocaleLoader.js';\n\n// --- Locale Interface ---\n\nexport interface BlockquoteLocale {\n\treadonly label: string;\n\treadonly tooltip: (shortcut: string) => string;\n}\n\n// --- Default English Locale ---\n\nexport const BLOCKQUOTE_LOCALE_EN: BlockquoteLocale = {\n\tlabel: 'Blockquote',\n\ttooltip: (shortcut: string) => `Blockquote (${shortcut})`,\n};\n\n// --- Lazy Locale Loader ---\n\nconst localeModules: LocaleModuleMap<BlockquoteLocale> = import.meta.glob<{\n\tdefault: BlockquoteLocale;\n}>('./locales/*.ts', { eager: false });\n\nexport async function loadBlockquoteLocale(lang: string): Promise<BlockquoteLocale> {\n\treturn loadLocaleModule(localeModules, lang, BLOCKQUOTE_LOCALE_EN);\n}\n","/** Blockquote styles using CSS logical properties for RTL support. */\nexport const BLOCKQUOTE_CSS = `\n.notectl-content blockquote {\n\tmargin: 0;\n\tpadding: 2px 0;\n\tpadding-inline-start: 16px;\n\tborder-inline-start: 3px solid var(--notectl-border);\n\tmin-height: 1.6em;\n}\n`;\n","/**\n * BlockquotePlugin: registers a blockquote block type with NodeSpec,\n * toggle command, keyboard shortcut, input rule, and a toolbar button.\n */\n\nimport { isCollapsed, isTextSelection } from '../../model/Selection.js';\nimport { type NodeTypeName, nodeType } from '../../model/TypeBrands.js';\nimport { createBlockElement } from '../../view/DomUtils.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { resolveLocale } from '../shared/PluginHelpers.js';\nimport { formatShortcut } from '../shared/ShortcutFormatting.js';\nimport { registerBlockquoteKeymaps } from './BlockquoteKeyboardHandlers.js';\nimport {\n\tBLOCKQUOTE_LOCALE_EN,\n\ttype BlockquoteLocale,\n\tloadBlockquoteLocale,\n} from './BlockquoteLocale.js';\nimport { BLOCKQUOTE_CSS } from './BlockquoteStyles.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface NodeAttrRegistry {\n\t\tblockquote: Record<string, never>;\n\t}\n}\n\n// --- Configuration ---\n\nexport interface BlockquoteConfig {\n\treadonly locale?: BlockquoteLocale;\n}\n\nconst DEFAULT_CONFIG: BlockquoteConfig = {};\n\n// --- Plugin ---\n\nexport class BlockquotePlugin implements Plugin {\n\treadonly id = 'blockquote';\n\treadonly name = 'Blockquote';\n\treadonly priority = 35;\n\n\tprivate readonly config: BlockquoteConfig;\n\tprivate locale!: BlockquoteLocale;\n\n\tconstructor(config?: Partial<BlockquoteConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tasync init(context: PluginContext): Promise<void> {\n\t\tthis.locale = await resolveLocale(\n\t\t\tcontext,\n\t\t\tthis.config.locale,\n\t\t\tBLOCKQUOTE_LOCALE_EN,\n\t\t\tloadBlockquoteLocale,\n\t\t);\n\t\tcontext.registerStyleSheet(BLOCKQUOTE_CSS);\n\t\tthis.registerNodeSpec(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerKeymap(context);\n\t\tthis.registerInputRule(context);\n\t\tthis.registerToolbarItem(context);\n\t}\n\n\tprivate registerNodeSpec(context: PluginContext): void {\n\t\tcontext.registerNodeSpec({\n\t\t\ttype: 'blockquote',\n\t\t\tgroup: 'block',\n\t\t\tcontent: { allow: ['text'] },\n\t\t\ttoDOM(node) {\n\t\t\t\treturn createBlockElement('blockquote', node.id);\n\t\t\t},\n\t\t\ttoHTML(_node, content) {\n\t\t\t\treturn `<blockquote>${content || '<br>'}</blockquote>`;\n\t\t\t},\n\t\t\tparseHTML: [{ tag: 'blockquote' }],\n\t\t\tsanitize: { tags: ['blockquote'] },\n\t\t});\n\t}\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tcontext.registerCommand('toggleBlockquote', () => {\n\t\t\treturn this.toggleBlockquote(context);\n\t\t});\n\n\t\tcontext.registerCommand('setBlockquote', () => {\n\t\t\treturn this.setBlockType(context, nodeType('blockquote'));\n\t\t});\n\t}\n\n\tprivate registerKeymap(context: PluginContext): void {\n\t\tcontext.registerKeymap({\n\t\t\t'Mod-Shift->': () => context.executeCommand('toggleBlockquote'),\n\t\t});\n\t\tregisterBlockquoteKeymaps(context);\n\t}\n\n\tprivate registerInputRule(context: PluginContext): void {\n\t\tcontext.registerInputRule({\n\t\t\tpattern: /^> $/,\n\t\t\thandler(state, _match, start, _end) {\n\t\t\t\tconst sel = state.selection;\n\t\t\t\tif (!isTextSelection(sel)) return null;\n\t\t\t\tif (!isCollapsed(sel)) return null;\n\n\t\t\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\t\t\tif (!block || block.type !== 'paragraph') return null;\n\n\t\t\t\treturn state\n\t\t\t\t\t.transaction('input')\n\t\t\t\t\t.deleteTextAt(sel.anchor.blockId, start, start + 2)\n\t\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('blockquote'))\n\t\t\t\t\t.setSelection(sel)\n\t\t\t\t\t.build();\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate registerToolbarItem(context: PluginContext): void {\n\t\tconst icon =\n\t\t\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z\"/></svg>';\n\n\t\tcontext.registerToolbarItem({\n\t\t\tid: 'blockquote',\n\t\t\tgroup: 'block',\n\t\t\ticon,\n\t\t\tlabel: this.locale.label,\n\t\t\ttooltip: this.locale.tooltip(formatShortcut('Mod-Shift->')),\n\t\t\tcommand: 'toggleBlockquote',\n\t\t\tisActive: (state) => {\n\t\t\t\tif (!isTextSelection(state.selection)) return false;\n\t\t\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\t\t\treturn block?.type === 'blockquote';\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * Toggles between blockquote and paragraph.\n\t * If the block is already a blockquote, resets to paragraph.\n\t */\n\tprivate toggleBlockquote(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tif (!isTextSelection(state.selection)) return false;\n\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\tif (!block) return false;\n\n\t\tif (block.type === 'blockquote') {\n\t\t\treturn this.setBlockType(context, nodeType('paragraph'));\n\t\t}\n\n\t\treturn this.setBlockType(context, nodeType('blockquote'));\n\t}\n\n\tprivate setBlockType(\n\t\tcontext: PluginContext,\n\t\ttype: NodeTypeName,\n\t\tattrs?: Record<string, string | number | boolean>,\n\t): boolean {\n\t\tconst state = context.getState();\n\t\tconst sel = state.selection;\n\t\tif (!isTextSelection(sel)) return false;\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(sel.anchor.blockId, type, attrs)\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{d as t,h as n,m as e,n as o}from"./Document-_qdGR4vh.mjs";import{i as r,n as i,r as l,t as c}from"./WordBoundary-BE2u997Q.mjs";import{a as s,c as a,i as f,l as u,o as d,u as h}from"./Selection-aeiSsvhe.mjs";import{t as m}from"./TypeBrands-BZDKMjR-.mjs";import{r as g,t as k}from"./DomUtils-RKbAVBQz.mjs";import{i as w,n as b,r as p}from"./GapCursorNavigation-BaXDnjFf.mjs";import{i as I,t as N}from"./NavigationQueries-CgYPG6oY.mjs";import{r as v,t as y}from"./Platform-D9TRT4Mn.mjs";import{i as C,o as x}from"./PluginHelpers-D1QF-YaF.mjs";function E(t){const n=t.selection;if(!h(n))return null;const e=d(n)?n.anchor.blockId:n.head.blockId;return 0===(d(n)?n.anchor.offset:n.head.offset)?null:p(t,e,0)}function T(n){const e=n.selection;if(!h(e))return null;const o=d(e)?e.anchor.blockId:e.head.blockId,r=n.getBlock(o);if(!r)return null;const i=t(r);return(d(e)?e.anchor.offset:e.head.offset)===i?null:p(n,o,i)}function A(t){const n=t.selection;return h(n)?{blockId:n.head.blockId,offset:n.head.offset}:null}function B(t,n,e){const o=t.getBlockOrder(),r=o.indexOf(n);if(r<0)return null;const i="forward"===e?r+1:r-1;return i<0||i>=o.length?null:o[i]??null}function O(r){const i=r.selection;if(!h(i))return null;if(!d(i))return p(r,i.head.blockId,i.head.offset);const c=i.anchor.blockId,s=r.getBlock(c);if(!s)return null;const a=i.anchor.offset;if(a<t(s))return"inline"===n(s,a)?.kind?p(r,c,a+1):p(r,c,a+(l(e(s),o(s,a))||1));const f=B(r,c,"forward");return f&&N(r,c,f)?I(r,f)?w(r,f):p(r,f,0):null}function M(i){const l=i.selection;if(!h(l))return null;if(!d(l))return p(i,l.head.blockId,l.head.offset);const c=l.anchor.blockId,s=i.getBlock(c);if(!s)return null;const a=l.anchor.offset;if(a>0)return"inline"===n(s,a-1)?.kind?p(i,c,a-1):p(i,c,a-(r(e(s),o(s,a))||1));const f=B(i,c,"backward");if(!f)return null;if(!N(i,c,f))return null;if(I(i,f))return w(i,f);const u=i.getBlock(f);return u?p(i,f,t(u)):null}function S(t){const n=t.selection;if(!h(n))return null;const e=t.getBlockOrder()[0];return e?I(t,e)?w(t,e):p(t,e,0):null}function R(n){const e=n.selection;if(!h(e))return null;const o=n.getBlockOrder(),r=o[o.length-1];if(!r)return null;if(I(n,r))return w(n,r);const i=n.getBlock(r);return i?p(n,r,t(i)):null}function L(r){const i=A(r);if(!i)return null;const c=r.selection;if(!h(c))return null;const s=r.getBlock(i.blockId);if(!s)return null;const a=t(s);if(i.offset<a){const t="inline"===n(s,i.offset)?.kind?1:l(e(s),o(s,i.offset))||1;return b(r,c.anchor.blockId,c.anchor.offset,i.blockId,i.offset+t)}const f=B(r,i.blockId,"forward");return f&&N(r,i.blockId,f)?b(r,c.anchor.blockId,c.anchor.offset,f,0):null}function H(i){const l=A(i);if(!l)return null;const c=i.selection;if(!h(c))return null;if(l.offset>0){const t=i.getBlock(l.blockId);if(!t)return null;const s="inline"===n(t,l.offset-1)?.kind?1:r(e(t),o(t,l.offset))||1;return b(i,c.anchor.blockId,c.anchor.offset,l.blockId,l.offset-s)}const s=B(i,l.blockId,"backward");if(!s)return null;if(!N(i,l.blockId,s))return null;const a=i.getBlock(s);return a?b(i,c.anchor.blockId,c.anchor.offset,s,t(a)):null}function V(t){const n=A(t);if(!n)return null;const e=t.selection;return h(e)?0===n.offset?null:b(t,e.anchor.blockId,e.anchor.offset,n.blockId,0):null}function j(n){const e=A(n);if(!e)return null;const o=n.selection;if(!h(o))return null;const r=n.getBlock(e.blockId);if(!r)return null;const i=t(r);return e.offset===i?null:b(n,o.anchor.blockId,o.anchor.offset,e.blockId,i)}function D(t){const n=t.selection;if(!h(n))return null;const e=t.getBlockOrder()[0];return e?n.head.blockId===e&&0===n.head.offset?null:b(t,n.anchor.blockId,n.anchor.offset,e,0):null}function _(n){const e=n.selection;if(!h(e))return null;const o=n.getBlockOrder(),r=o[o.length-1];if(!r)return null;const i=n.getBlock(r);if(!i)return null;const l=t(i);return e.head.blockId===r&&e.head.offset===l?null:b(n,e.anchor.blockId,e.anchor.offset,r,l)}function F(t,n,e){if("caretPositionFromPoint"in t){const o=t.caretPositionFromPoint(n,e);if(o)return{node:o.offsetNode,offset:o.offset}}if("caretRangeFromPoint"in t){const o=t.caretRangeFromPoint(n,e);if(o)return{node:o.startContainer,offset:o.startOffset}}return null}function P(t,n,e,o){return F(t,n,e)??(o&&t!==o?F(o,n,e):null)}function z(){return window.getSelection()}function q(t,n){const e=t.getRootNode();if(!(e instanceof ShadowRoot))return null;if(!("getComposedRanges"in n))return null;let o;try{o=n.getComposedRanges({shadowRoots:[e]})}catch{try{o=n.getComposedRanges(e)}catch{return null}}const r=o[0];if(!r)return null;const i="direction"in n&&"backward"===n.direction;return{anchorNode:i?r.endContainer:r.startContainer,anchorOffset:i?r.endOffset:r.startOffset,focusNode:i?r.startContainer:r.endContainer,focusOffset:i?r.startOffset:r.endOffset}}function $(t,n){const e=q(t,n);if(e)return e;const o=n.anchorNode;if(!o)return null;const r=n.focusNode;return r?{anchorNode:o,anchorOffset:n.anchorOffset,focusNode:r,focusOffset:n.focusOffset}:null}function X(t,n){const e=z();if(!e)return;if(a(n))return void e.removeAllRanges();if(u(n)){const o=t.querySelector(`[data-block-id="${n.nodeId}"]`);if(!o)return;const r=o.parentNode;if(!r)return;const i=G(r,o);try{e.setBaseAndExtent(r,i,r,i+1)}catch{}return}const o=W(t,n.anchor),r=W(t,n.head);if(o&&r)try{e.setBaseAndExtent(o.node,o.offset,r.node,r.offset)}catch{}}function U(t){const n=z();if(!n||0===n.rangeCount)return null;const e=$(t,n);if(!e)return null;if(!t.contains(e.anchorNode)||!t.contains(e.focusNode))return null;const o=K(t,e.anchorNode,e.anchorOffset),r=K(t,e.focusNode,e.focusOffset);return o&&r?s(o,r):null}function W(t,n){let e=null;if(n.path&&n.path.length>0){let o=t;for(const t of n.path){const n=o.querySelector(`:scope [data-block-id="${t}"]`);if(!n)break;o=n}o!==t&&o.getAttribute("data-block-id")===n.blockId&&(e=o)}if(e??=t.querySelector(`[data-block-id="${n.blockId}"]`),!e)return null;const o=J(e);if(1===o.childNodes.length&&"BR"===o.firstChild?.nodeName)return{node:o,offset:0};let r=n.offset;const i=Q(o);let l=i.nextNode();for(;l;){if(l.nodeType===Node.TEXT_NODE){const t=l.textContent?.length??0;if(r<=t)return{node:l,offset:r};r-=t}else if(l instanceof HTMLElement&&"false"===l.getAttribute("contenteditable")){if(0===r){const t=l.parentNode;if(t)return{node:t,offset:G(t,l)}}r-=1}l=i.nextNode()}const c=o.lastChild;return c?c.nodeType===Node.TEXT_NODE?{node:c,offset:c.textContent?.length??0}:{node:o,offset:o.childNodes.length}:{node:o,offset:0}}function K(t,n,e){const o=g(t,n);if(!o)return null;const r=o.getAttribute("data-block-id");if(!r)return null;const i=m(r),l=k(t,o),c=J(o);if(n===o||n===c){const t=n===c?c:o;let r=0,s=0;for(const n of Array.from(t.childNodes)){if(s>=e)break;r+=Y(n),s++}return f(i,r,l.length>1?l:void 0)}if(c!==o&&!c.contains(n))return f(i,0,l.length>1?l:void 0);let s=0;const a=Q(c);let u=a.nextNode();for(;u;){if(u===n)return u.nodeType===Node.TEXT_NODE?f(i,s+e,l.length>1?l:void 0):f(i,s,l.length>1?l:void 0);u.nodeType===Node.TEXT_NODE?s+=u.textContent?.length??0:u instanceof HTMLElement&&"false"===u.getAttribute("contenteditable")&&(s+=1),u=a.nextNode()}if(n.nodeType===Node.ELEMENT_NODE){const t=function(t,n){let e=0,o=0;for(const r of Array.from(t.childNodes)){if(o>=n)break;e+=Y(r),o++}return e}(n,e),o=function(t,n){let e=0,o=n;for(;o&&o!==t;){const t=o.parentNode;if(!t)return null;for(const n of Array.from(t.childNodes)){if(n===o)break;e+=Y(n)}o=t}return o===t?e:null}(c,n);return f(i,null===o?t:o+t,l.length>1?l:void 0)}return f(i,0,l.length>1?l:void 0)}function Q(t){return document.createTreeWalker(t,NodeFilter.SHOW_ALL,{acceptNode:n=>n instanceof HTMLElement&&n.hasAttribute("data-cursor-wrapper")||function(t,n){let e=t.parentNode;for(;e&&e!==n;){if(e instanceof HTMLElement&&"false"===e.getAttribute("contenteditable"))return!0;e=e.parentNode}return!1}(n,t)||n instanceof HTMLElement&&n.hasAttribute("data-block-id")&&n!==t?NodeFilter.FILTER_REJECT:n.nodeType===Node.TEXT_NODE||n instanceof HTMLElement&&"false"===n.getAttribute("contenteditable")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP})}function G(t,n){let e=0;for(const o of Array.from(t.childNodes)){if(o===n)return e;e++}return e}function J(t){return t.querySelector("[data-content-dom]")??t}function Y(t){if(t.nodeType===Node.TEXT_NODE)return t.textContent?.length??0;if(t instanceof HTMLElement&&"false"===t.getAttribute("contenteditable"))return 1;let n=0;for(const e of Array.from(t.childNodes))n+=Y(e);return n}function Z(n,e,o,r){const i=e.selection;if(!h(i))return!1;if(!d(i))return!1;const l=e.getBlock(i.anchor.blockId);if(!l)return!1;const c=i.anchor.offset,s=t(l),a=n.querySelector(`[data-block-id="${i.anchor.blockId}"]`),f=a instanceof HTMLElement&&"rtl"===y(a);if("left"===o)return f?c===s:0===c;if("right"===o)return f?0===c:c===s;if("up"===o&&0===c)return!0;if("down"===o&&c===s)return!0;const u=z();return u&&u.modify?function(t,n,e,o){const r=$(t,n);if(!r)return!1;const i=o??ot(n,t),l="up"===e?"backward":"forward";try{n.modify("move",l,"line");const e=$(t,n);if(!e)return!1;if(g(t,r.focusNode)!==g(t,e.focusNode))return!0;if(e.anchorNode===r.anchorNode&&e.anchorOffset===r.anchorOffset&&e.focusNode===r.focusNode&&e.focusOffset===r.focusOffset)return!0;if(i){const e=ot(n,t);if(e&&Math.abs(e.top-i.top)<1)return!0}return!1}finally{try{n.setBaseAndExtent(r.anchorNode,r.anchorOffset,r.focusNode,r.focusOffset)}catch{}}}(n,u,o,r):"up"===o?0===c:c===s}function tt(n,e){const o=rt(n,e);if(!o)return null;if(o.isVoid)return w(n,o.targetId);const r=n.getBlock(o.targetId);if(!r)return null;const i="right"===e||"down"===e?0:t(r);return p(n,o.targetId,i)}function nt(n,e,o,r){const i=rt(e,o);if(!i)return null;if(i.isVoid)return w(e,i.targetId);const l=e.getBlock(i.targetId);if(!l)return null;const c=t(l);if(null!==r){const t=function(t,n,e,o){const r=t.querySelector(`[data-block-id="${n}"]`);if(!r)return null;const i=r.getBoundingClientRect(),l=function(t,n,e){if(!(t instanceof HTMLElement))return"down"===e?n.top+2:n.bottom-2;const o=getComputedStyle(t),r=Number.parseFloat(o.paddingTop)||0,i=Number.parseFloat(o.paddingBottom)||0;return"down"===e?n.top+r+2:n.bottom-i-2}(r,i,e),c=Math.min(Math.max(o,i.left),i.right-1),s=P(t.getRootNode(),c,l,t.ownerDocument);if(!s)return null;if(!r.contains(s.node))return null;const a=K(t,s.node,s.offset);return a?a.blockId!==n?null:a:null}(n,i.targetId,o,r);if(t)return p(e,t.blockId,t.offset)}if(h(e.selection)&&d(e.selection)){const t=e.selection.anchor.offset,n=Math.min(t,c);return p(e,i.targetId,n)}const s="down"===o?0:c;return p(e,i.targetId,s)}function et(t,e){if("up"===e||"down"===e)return null;const o=t.selection;if(!h(o))return null;if(!d(o))return null;const r=o.anchor.blockId,i=t.getBlock(r);if(!i)return null;const l=o.anchor.offset;return"right"===e?function(t,e,o,r){const i=n(o,r);return i&&"inline"===i.kind?p(t,e,r+1):null}(t,r,i,l):function(t,e,o,r){if(0===r)return null;const i=n(o,r-1);return i&&"inline"===i.kind?p(t,e,r-1):null}(t,r,i,l)}function ot(t,n){if(t.rangeCount>0){const e=t.getRangeAt(0);if(!n||n.contains(e.startContainer)){const t=e.getClientRects();if(t.length>0)return t[0]??null;const n=e.getBoundingClientRect();if(n.height>0)return n}}if(n){const e=$(n,t);if(e)try{const t=document.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset);const n=t.getClientRects();return n.length>0?n[0]??null:t.getBoundingClientRect()}catch{}}return null}function rt(t,n){const e=t.getBlockOrder(),o=t.selection;if(!h(o))return null;const r=e.indexOf(o.anchor.blockId);if(r<0)return null;const i="left"===n||"up"===n?r-1:r+1;if(i<0||i>=e.length)return null;const l=e[i];return l&&N(t,o.anchor.blockId,l)?{targetId:l,isVoid:I(t,l)}:null}function it(t,n,e,o){return ct(t,n,"move",e,o)}function lt(t,n,e,o){return ct(t,n,"extend",e,o)}function ct(e,o,r,i,l){const c=o.selection;if(!h(c))return null;const s="move"===r?st:at,a=z();if(!a?.modify)return s(o,i,l);const f=$(e,a);if(!f)return s(o,i,l);try{a.modify(r,i,l);const s=U(e);if(!s)return null;const f="move"===r?c.anchor.blockId:c.head.blockId,u="move"===r?s.anchor:s.head,d=u.blockId;if(d!==f&&!N(o,f,d))return null;let h=u.offset;const m=o.getBlock(d);return m&&"inline"===n(m,h)?.kind&&"forward"===i&&(h=Math.min(h+1,t(m))),"move"===r?I(o,d)?w(o,d):p(o,d,h):b(o,c.anchor.blockId,c.anchor.offset,d,h)}finally{try{a.setBaseAndExtent(f.anchorNode,f.anchorOffset,f.focusNode,f.focusOffset)}catch{}}}function st(n,e,o){return"word"===o?function(n,e){const o=n.selection;if(!h(o))return null;const r=d(o)?o.anchor.blockId:o.head.blockId,l=d(o)?o.anchor.offset:o.head.offset,s=n.getBlock(r);if(!s)return null;const a="forward"===e?i(s,l):c(s,l);return a===l?function(n,e,o){const r=n.getBlockOrder(),i=r.indexOf(e),l="forward"===o?i+1:i-1;if(l<0||l>=r.length)return null;const c=r[l];if(!c)return null;if(!N(n,e,c))return null;if(I(n,c))return w(n,c);const s=n.getBlock(c);return s?p(n,c,"forward"===o?0:t(s)):null}(n,r,e):p(n,r,a)}(n,e):"lineboundary"===o?"forward"===e?T(n):E(n):tt(n,"forward"===e?"down":"up")}function at(n,e,o){const r=n.selection;if(!h(r))return null;const l=r.head,s=n.getBlock(l.blockId);if(!s)return null;let a=l.offset;if("word"===o)a="forward"===e?i(s,l.offset):c(s,l.offset);else{if("lineboundary"!==o){const o=n.getBlockOrder(),i=o.indexOf(l.blockId),c="forward"===e?i+1:i-1;if(c<0||c>=o.length)return null;const s=o[c];if(!s)return null;if(!N(n,l.blockId,s))return null;if(I(n,s))return null;const a=n.getBlock(s);if(!a)return null;const f="forward"===e?0:t(a);return b(n,r.anchor.blockId,r.anchor.offset,s,f)}a="forward"===e?t(s):0}return b(n,r.anchor.blockId,r.anchor.offset,l.blockId,a)}function ft(t,n){return it(t,n,"forward","word")}function ut(t,n){return it(t,n,"backward","word")}function dt(t,n){return it(t,n,"backward","lineboundary")}function ht(t,n){return it(t,n,"forward","lineboundary")}function mt(t,n){return it(t,n,"backward","line")}function gt(t,n){return it(t,n,"forward","line")}function kt(t,n){return lt(t,n,"forward","word")}function wt(t,n){return lt(t,n,"backward","word")}function bt(t,n){return lt(t,n,"backward","lineboundary")}function pt(t,n){return lt(t,n,"forward","lineboundary")}function It(t,n){return lt(t,n,"backward","line")}function Nt(t,n){return lt(t,n,"forward","line")}var vt={paragraph:"Paragraph",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",codeBlock:"Code Block",blockquote:"Block Quote",listItem:"List Item",horizontalRule:"Horizontal Rule",image:"Image",table:"Table"},yt={paragraph:"paragraph",code_block:"codeBlock",blockquote:"blockquote",list_item:"listItem",horizontal_rule:"horizontalRule",image:"image",table:"table"},Ct=/* @__PURE__ */Object.assign({"./locales/ar.ts":()=>import("./ar-C9AnO0uV.mjs"),"./locales/de.ts":()=>import("./de-DAPQek-i.mjs"),"./locales/es.ts":()=>import("./es-BjomAlG3.mjs"),"./locales/fr.ts":()=>import("./fr-Bb-xVkAd.mjs"),"./locales/hi.ts":()=>import("./hi-D-r5tA_n.mjs"),"./locales/pt.ts":()=>import("./pt-hgZhGt5D.mjs"),"./locales/ru.ts":()=>import("./ru-BHZdR6yk.mjs"),"./locales/zh.ts":()=>import("./zh-qo4_i9Vd.mjs")});async function xt(t){return x(Ct,t,vt)}var Et={"word:forward":ft,"word:backward":ut,"lineboundary:forward":ht,"lineboundary:backward":dt,"line:forward":gt,"line:backward":mt},Tt={"word:forward":kt,"word:backward":wt,"lineboundary:forward":pt,"lineboundary:backward":bt,"line:forward":Nt,"line:backward":It},At=class{id="caret-navigation";name="Caret Navigation";priority=4;context=null;lastAnnouncedBlockId=null;announceTimer=null;announce=null;locale=vt;async init(t){this.locale=await C(t,void 0,vt,xt),this.context=t,this.announce=n=>t.announce(n);const n=v(),e={"Shift-ArrowRight":()=>this.extendCharacterVisual("right"),"Shift-ArrowLeft":()=>this.extendCharacterVisual("left"),"Shift-ArrowUp":()=>this.viewExtendCommand("backward","line"),"Shift-ArrowDown":()=>this.viewExtendCommand("forward","line"),...n?{"Alt-ArrowRight":()=>this.viewMoveVisual("right","word"),"Alt-ArrowLeft":()=>this.viewMoveVisual("left","word"),"Shift-Alt-ArrowRight":()=>this.viewExtendVisual("right","word"),"Shift-Alt-ArrowLeft":()=>this.viewExtendVisual("left","word")}:{"Mod-ArrowRight":()=>this.viewMoveVisual("right","word"),"Mod-ArrowLeft":()=>this.viewMoveVisual("left","word"),"Mod-Shift-ArrowRight":()=>this.viewExtendVisual("right","word"),"Mod-Shift-ArrowLeft":()=>this.viewExtendVisual("left","word")},...n?{"Mod-ArrowLeft":()=>this.viewMoveVisual("left","lineboundary"),"Mod-ArrowRight":()=>this.viewMoveVisual("right","lineboundary"),"Mod-Shift-ArrowLeft":()=>this.viewExtendVisual("left","lineboundary"),"Mod-Shift-ArrowRight":()=>this.viewExtendVisual("right","lineboundary")}:{Home:()=>this.viewMoveCommand("backward","lineboundary"),End:()=>this.viewMoveCommand("forward","lineboundary"),"Shift-Home":()=>this.viewExtendCommand("backward","lineboundary"),"Shift-End":()=>this.viewExtendCommand("forward","lineboundary")},...n?{"Mod-ArrowUp":()=>this.modelCommand(S),"Mod-ArrowDown":()=>this.modelCommand(R),"Mod-Shift-ArrowUp":()=>this.modelCommand(D),"Mod-Shift-ArrowDown":()=>this.modelCommand(_)}:{"Mod-Home":()=>this.modelCommand(S),"Mod-End":()=>this.modelCommand(R),"Mod-Shift-Home":()=>this.modelCommand(D),"Mod-Shift-End":()=>this.modelCommand(_)}};t.registerKeymap(e,{priority:"navigation"})}onStateChange(t,n,e){const o=n.selection;if(!d(o)||!h(o))return null!==this.announceTimer&&(clearTimeout(this.announceTimer),this.announceTimer=null),void(this.lastAnnouncedBlockId=null);const r=o.anchor.blockId;r!==this.lastAnnouncedBlockId&&(null!==this.lastAnnouncedBlockId?(this.lastAnnouncedBlockId=r,null!==this.announceTimer&&clearTimeout(this.announceTimer),this.announceTimer=setTimeout(()=>{if(this.announceTimer=null,this.context?.hasAnnouncement())return;const t=n.getBlock(r);if(!t)return;const e=function(t,n,e){if("heading"===n&&e?.level){const n=`heading${e.level}`;if(n in t)return t[n]}const o=yt[n];return o?t[o]:n}(this.locale,t.type,t.attrs);this.announce?.(e)},150)):this.lastAnnouncedBlockId=r)}destroy(){null!==this.announceTimer&&clearTimeout(this.announceTimer),this.announceTimer=null,this.announce=null,this.context=null}modelCommand(t){if(!this.context)return!1;const n=t(this.context.getState());return!!n&&(this.context.dispatch(n),!0)}extendCharacterVisual(t){if(!this.context)return!1;const n=this.context.getState(),e="forward"===this.resolveLogicalHorizontalDirection(n,t)?L(n):H(n);return!!e&&(this.context.dispatch(e),!0)}viewMoveCommand(t,n){return this.dispatchViewCommand(Et,t,n)}viewMoveVisual(t,n){if(!this.context)return!1;const e=this.resolveLogicalHorizontalDirection(this.context.getState(),t);return this.viewMoveCommand(e,n)}viewExtendCommand(t,n){return this.dispatchViewCommand(Tt,t,n)}dispatchViewCommand(t,n,e){if(!this.context)return!1;const o=t[`${e}:${n}`];if(!o)return!1;const r=o(this.context.getContainer(),this.context.getState());return!!r&&(this.context.dispatch(r),!0)}viewExtendVisual(t,n){if(!this.context)return!1;const e=this.resolveLogicalHorizontalDirection(this.context.getState(),t);return this.viewExtendCommand(e,n)}resolveLogicalHorizontalDirection(t,n){const e=t.selection;if(!h(e))return"left"===n?"backward":"forward";const o=this.context?.getContainer();if(!o)return"left"===n?"backward":"forward";const r=o.querySelector(`[data-block-id="${e.head.blockId}"]`);return r instanceof HTMLElement&&"rtl"===y(r)?"left"===n?"forward":"backward":"left"===n?"backward":"forward"}};export{L as A,E as B,K as C,X as D,U as E,M as F,O as I,R as L,V as M,_ as N,P as O,D as P,S as R,et as S,q as T,it as _,It as a,tt as b,wt as c,mt as d,ht as f,lt as g,ft as h,Nt as i,j,H as k,kt as l,ut as m,vt as n,pt as o,dt as p,xt as r,bt as s,At as t,gt as u,Z as v,z as w,nt as x,ot as y,T as z};
2
- //# sourceMappingURL=CaretNavigationPlugin-C-rCDbu0.mjs.map