@milkdown/crepe 7.4.0 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/lib/cjs/{_view-TbSIR42F.js → _view-N32ied53.js} +2 -2
  2. package/lib/cjs/{_view-TbSIR42F.js.map → _view-N32ied53.js.map} +1 -1
  3. package/lib/cjs/clsx-dASsG01A.js +6 -0
  4. package/lib/cjs/clsx-dASsG01A.js.map +1 -0
  5. package/lib/cjs/{composed-offset-position.browser.min-FwypoGc1.js → floating-ui.dom-2cjBpir5.js} +14 -18
  6. package/lib/cjs/floating-ui.dom-2cjBpir5.js.map +1 -0
  7. package/lib/cjs/helper-1aludV1Z.js +15 -0
  8. package/lib/cjs/helper-1aludV1Z.js.map +1 -0
  9. package/lib/cjs/{index-tbEq3xma.js → index--sa4NMpW.js} +15 -14
  10. package/lib/cjs/{index-tbEq3xma.js.map → index--sa4NMpW.js.map} +1 -1
  11. package/lib/cjs/{index-5PcT4iSf.js → index--tnUmqZ_.js} +18 -17
  12. package/lib/cjs/{index-5PcT4iSf.js.map → index--tnUmqZ_.js.map} +1 -1
  13. package/lib/cjs/{index-i0_v2uVp.js → index-1vHyMXH8.js} +15 -14
  14. package/lib/{esm/index-4QzlLVWs.js.map → cjs/index-1vHyMXH8.js.map} +1 -1
  15. package/lib/cjs/index-28q261C7.js +448 -0
  16. package/lib/cjs/index-28q261C7.js.map +1 -0
  17. package/lib/cjs/{index-mJ47ZWO2.js → index-55VIM-52.js} +18 -17
  18. package/lib/{esm/index-Grquo08f.js.map → cjs/index-55VIM-52.js.map} +1 -1
  19. package/lib/cjs/{index-lrFGGa_l.js → index-92bwto5V.js} +15 -14
  20. package/lib/cjs/{index-lrFGGa_l.js.map → index-92bwto5V.js.map} +1 -1
  21. package/lib/cjs/{index-2oxl5Zo4.js → index-Buu2tD9O.js} +45 -62
  22. package/lib/cjs/index-Buu2tD9O.js.map +1 -0
  23. package/lib/cjs/{index-OA_u95ey.js → index-E4Ist86Z.js} +15 -14
  24. package/lib/{esm/index-7BVeXLQZ.js.map → cjs/index-E4Ist86Z.js.map} +1 -1
  25. package/lib/cjs/{index-OIQn1x0L.js → index-FbNqlZU8.js} +14 -13
  26. package/lib/cjs/index-FbNqlZU8.js.map +1 -0
  27. package/lib/cjs/{index-SxWWV8XD.js → index-HH5lPgpj.js} +18 -17
  28. package/lib/cjs/{index-SxWWV8XD.js.map → index-HH5lPgpj.js.map} +1 -1
  29. package/lib/cjs/{index-vlxA_KJ8.js → index-J1-yHn7v.js} +15 -14
  30. package/lib/{esm/index-vwrMVELn.js.map → cjs/index-J1-yHn7v.js.map} +1 -1
  31. package/lib/cjs/{index-xqKfEyRA.js → index-J3XY9IPt.js} +12 -7
  32. package/lib/cjs/index-J3XY9IPt.js.map +1 -0
  33. package/lib/cjs/{index-llNS_EuP.js → index-Jztk6JlP.js} +58 -55
  34. package/lib/cjs/index-Jztk6JlP.js.map +1 -0
  35. package/lib/cjs/{index-O3vRXWIP.js → index-N6pPZY61.js} +22 -30
  36. package/lib/cjs/index-N6pPZY61.js.map +1 -0
  37. package/lib/cjs/{index-GKolgvC5.js → index-TUJs6KKL.js} +35 -68
  38. package/lib/cjs/index-TUJs6KKL.js.map +1 -0
  39. package/lib/cjs/{index-OtaMLv5l.js → index-Tjg8KyK7.js} +15 -14
  40. package/lib/cjs/{index-OtaMLv5l.js.map → index-Tjg8KyK7.js.map} +1 -1
  41. package/lib/cjs/{index-qRg5-QJH.js → index-VYwHTL3F.js} +16 -15
  42. package/lib/cjs/{index-qRg5-QJH.js.map → index-VYwHTL3F.js.map} +1 -1
  43. package/lib/cjs/index-_GOdKqUK.js +1147 -0
  44. package/lib/cjs/index-_GOdKqUK.js.map +1 -0
  45. package/lib/cjs/{index-PF7s7DOo.js → index-cKQcw-eu.js} +2 -2
  46. package/lib/cjs/{index-PF7s7DOo.js.map → index-cKQcw-eu.js.map} +1 -1
  47. package/lib/cjs/{index-fkT0ywfA.js → index-c_OzudR7.js} +15 -14
  48. package/lib/{esm/index-L7VXk-jT.js.map → cjs/index-c_OzudR7.js.map} +1 -1
  49. package/lib/cjs/{index-TEjdwq--.js → index-cb-5m0vG.js} +18 -17
  50. package/lib/cjs/index-cb-5m0vG.js.map +1 -0
  51. package/lib/cjs/index-cpC-j5Nt.js +176 -0
  52. package/lib/cjs/index-cpC-j5Nt.js.map +1 -0
  53. package/lib/cjs/index-crv_k6dv.js +1353 -0
  54. package/lib/cjs/index-crv_k6dv.js.map +1 -0
  55. package/lib/cjs/{index-78P4PeZ9.js → index-jlfsu92T.js} +16 -15
  56. package/lib/{esm/index-4oMdufW4.js.map → cjs/index-jlfsu92T.js.map} +1 -1
  57. package/lib/cjs/{index-de3dfsQr.js → index-jn036wuh.js} +17 -16
  58. package/lib/{esm/index-rwcSpYkt.js.map → cjs/index-jn036wuh.js.map} +1 -1
  59. package/lib/cjs/{index-JAqL0ybh.js → index-kqz-P6o6.js} +9 -9
  60. package/lib/cjs/index-kqz-P6o6.js.map +1 -0
  61. package/lib/cjs/{index-t_GA5F26.js → index-lBumFRUQ.js} +15 -14
  62. package/lib/cjs/{index-t_GA5F26.js.map → index-lBumFRUQ.js.map} +1 -1
  63. package/lib/cjs/{index-LdEYPSZc.js → index-lUNj3xuC.js} +15 -14
  64. package/lib/{esm/index-0khVa44f.js.map → cjs/index-lUNj3xuC.js.map} +1 -1
  65. package/lib/cjs/{index-ortUqbAp.js → index-mcxgNBq9.js} +15 -14
  66. package/lib/cjs/{index-ortUqbAp.js.map → index-mcxgNBq9.js.map} +1 -1
  67. package/lib/cjs/{index-GEIgbcVc.js → index-nTfDKYYi.js} +38 -37
  68. package/lib/{esm/index-NmjiRA0M.js.map → cjs/index-nTfDKYYi.js.map} +1 -1
  69. package/lib/cjs/{index-kNI3S3lF.js → index-tBw4NmwY.js} +11779 -404
  70. package/lib/cjs/index-tBw4NmwY.js.map +1 -0
  71. package/lib/cjs/{index-zBr61zy6.js → index-vfzLCXfi.js} +15 -14
  72. package/lib/cjs/{index-zBr61zy6.js.map → index-vfzLCXfi.js.map} +1 -1
  73. package/lib/cjs/{index-w9buMrFW.js → index-von4W2LG.js} +18 -17
  74. package/lib/cjs/{index-w9buMrFW.js.map → index-von4W2LG.js.map} +1 -1
  75. package/lib/cjs/index-z6pe2alg.js.map +1 -1
  76. package/lib/cjs/{index-wXLifZgm.js → index-zXSAHvAj.js} +2 -2
  77. package/lib/cjs/{index-wXLifZgm.js.map → index-zXSAHvAj.js.map} +1 -1
  78. package/lib/cjs/index.js +7 -6
  79. package/lib/cjs/index.js.map +1 -1
  80. package/lib/cjs/{schema-7d3meDfB.js → schema-RVrwDDcq.js} +4 -4
  81. package/lib/cjs/{schema-7d3meDfB.js.map → schema-RVrwDDcq.js.map} +1 -1
  82. package/lib/cjs/todoList-Ze4FLMlx.js +415 -0
  83. package/lib/cjs/todoList-Ze4FLMlx.js.map +1 -0
  84. package/lib/cjs/{tooltip-plugin-Mk9fRTxI.js → tooltip-plugin--lhebztC.js} +15 -24
  85. package/lib/cjs/tooltip-plugin--lhebztC.js.map +1 -0
  86. package/lib/esm/{_view-JjtfhQ8k.js → _view-IlZC8FA6.js} +2 -2
  87. package/lib/esm/{_view-JjtfhQ8k.js.map → _view-IlZC8FA6.js.map} +1 -1
  88. package/lib/esm/clsx-RxCLxYpD.js +4 -0
  89. package/lib/esm/clsx-RxCLxYpD.js.map +1 -0
  90. package/lib/esm/{composed-offset-position.browser.min-Tnm31e-m.js → floating-ui.dom-CAYjY8Gv.js} +15 -17
  91. package/lib/esm/floating-ui.dom-CAYjY8Gv.js.map +1 -0
  92. package/lib/esm/helper-wZAtC67x.js +13 -0
  93. package/lib/esm/helper-wZAtC67x.js.map +1 -0
  94. package/lib/esm/{index-Bg5GFp0g.js → index-0-j8Icms.js} +2 -2
  95. package/lib/esm/{index-Bg5GFp0g.js.map → index-0-j8Icms.js.map} +1 -1
  96. package/lib/esm/{index-4oMdufW4.js → index-1l-61HI-.js} +16 -15
  97. package/lib/{cjs/index-78P4PeZ9.js.map → esm/index-1l-61HI-.js.map} +1 -1
  98. package/lib/esm/{index-bVubJ6Rv.js → index-3HeWs5rX.js} +18 -17
  99. package/lib/esm/{index-bVubJ6Rv.js.map → index-3HeWs5rX.js.map} +1 -1
  100. package/lib/esm/{index-6P9Xk934.js → index-3bDzhU6z.js} +15 -14
  101. package/lib/esm/{index-6P9Xk934.js.map → index-3bDzhU6z.js.map} +1 -1
  102. package/lib/esm/{index-NmjiRA0M.js → index-6GrVnloh.js} +38 -37
  103. package/lib/{cjs/index-GEIgbcVc.js.map → esm/index-6GrVnloh.js.map} +1 -1
  104. package/lib/esm/index-8QJbxTYk.js +1145 -0
  105. package/lib/esm/index-8QJbxTYk.js.map +1 -0
  106. package/lib/esm/{index-218OjRxG.js → index-9w_hdnvb.js} +39 -56
  107. package/lib/esm/index-9w_hdnvb.js.map +1 -0
  108. package/lib/esm/index-A83StUe6.js +174 -0
  109. package/lib/esm/index-A83StUe6.js.map +1 -0
  110. package/lib/esm/{index-TNMG6UrN.js → index-AOoFzBaK.js} +9 -9
  111. package/lib/esm/index-AOoFzBaK.js.map +1 -0
  112. package/lib/esm/{index-L7VXk-jT.js → index-DS7Z4Ach.js} +15 -14
  113. package/lib/{cjs/index-fkT0ywfA.js.map → esm/index-DS7Z4Ach.js.map} +1 -1
  114. package/lib/esm/index-Jvxff1vU.js.map +1 -1
  115. package/lib/esm/{index-JkHHp3K-.js → index-LAdX6LsO.js} +11712 -352
  116. package/lib/esm/index-LAdX6LsO.js.map +1 -0
  117. package/lib/esm/{index-VyZguCIt.js → index-MB6wQe1U.js} +12 -7
  118. package/lib/esm/index-MB6wQe1U.js.map +1 -0
  119. package/lib/esm/{index-vwrMVELn.js → index-MxgqkRtj.js} +15 -14
  120. package/lib/{cjs/index-vlxA_KJ8.js.map → esm/index-MxgqkRtj.js.map} +1 -1
  121. package/lib/esm/{index-hQaRWeq1.js → index-NZ5-xr5_.js} +18 -17
  122. package/lib/esm/{index-hQaRWeq1.js.map → index-NZ5-xr5_.js.map} +1 -1
  123. package/lib/esm/{index-x-zW6gKj.js → index-OpUb5xP6.js} +2 -2
  124. package/lib/esm/{index-x-zW6gKj.js.map → index-OpUb5xP6.js.map} +1 -1
  125. package/lib/esm/{index-oMy83ynO.js → index-SDPCpsD5.js} +15 -14
  126. package/lib/esm/{index-oMy83ynO.js.map → index-SDPCpsD5.js.map} +1 -1
  127. package/lib/esm/{index-bsED907r.js → index-VP76m4nW.js} +16 -15
  128. package/lib/esm/{index-bsED907r.js.map → index-VP76m4nW.js.map} +1 -1
  129. package/lib/esm/{index-PkBZpDL4.js → index-Vl0W0S3h.js} +14 -13
  130. package/lib/esm/index-Vl0W0S3h.js.map +1 -0
  131. package/lib/esm/{index-rwcSpYkt.js → index-VoX_n1l_.js} +17 -16
  132. package/lib/{cjs/index-de3dfsQr.js.map → esm/index-VoX_n1l_.js.map} +1 -1
  133. package/lib/esm/{index-7BVeXLQZ.js → index-XH7OnwZl.js} +15 -14
  134. package/lib/{cjs/index-OA_u95ey.js.map → esm/index-XH7OnwZl.js.map} +1 -1
  135. package/lib/esm/{index-a-SAfeeT.js → index-Yuj7sNhQ.js} +18 -17
  136. package/lib/esm/{index-a-SAfeeT.js.map → index-Yuj7sNhQ.js.map} +1 -1
  137. package/lib/esm/{index-A9zdyi2L.js → index-_4fWmRbN.js} +15 -14
  138. package/lib/esm/{index-A9zdyi2L.js.map → index-_4fWmRbN.js.map} +1 -1
  139. package/lib/esm/{index-Grquo08f.js → index-bexsWrgs.js} +18 -17
  140. package/lib/{cjs/index-mJ47ZWO2.js.map → esm/index-bexsWrgs.js.map} +1 -1
  141. package/lib/esm/{index-pHsvfB_I.js → index-chrnjY1D.js} +29 -62
  142. package/lib/esm/index-chrnjY1D.js.map +1 -0
  143. package/lib/esm/{index-UBeneu17.js → index-eqd5wtjX.js} +15 -14
  144. package/lib/esm/{index-UBeneu17.js.map → index-eqd5wtjX.js.map} +1 -1
  145. package/lib/esm/{index-4QzlLVWs.js → index-g_3dzLYU.js} +15 -14
  146. package/lib/{cjs/index-i0_v2uVp.js.map → esm/index-g_3dzLYU.js.map} +1 -1
  147. package/lib/esm/{index-0khVa44f.js → index-grT-Kuf2.js} +15 -14
  148. package/lib/{cjs/index-LdEYPSZc.js.map → esm/index-grT-Kuf2.js.map} +1 -1
  149. package/lib/esm/{index-AHPvVH4H.js → index-hF04phbf.js} +20 -28
  150. package/lib/esm/index-hF04phbf.js.map +1 -0
  151. package/lib/esm/{index-q-qE7-96.js → index-i79QMXpJ.js} +55 -52
  152. package/lib/esm/index-i79QMXpJ.js.map +1 -0
  153. package/lib/esm/{index-DoEghZHy.js → index-rvOBAXap.js} +18 -17
  154. package/lib/{cjs/index-TEjdwq--.js.map → esm/index-rvOBAXap.js.map} +1 -1
  155. package/lib/esm/index-uP9BKsTM.js +446 -0
  156. package/lib/esm/index-uP9BKsTM.js.map +1 -0
  157. package/lib/esm/index-ueQQMSgm.js +1351 -0
  158. package/lib/esm/index-ueQQMSgm.js.map +1 -0
  159. package/lib/esm/{index-U71v7KdA.js → index-x8SyiPMC.js} +15 -14
  160. package/lib/esm/{index-U71v7KdA.js.map → index-x8SyiPMC.js.map} +1 -1
  161. package/lib/esm/{index-U8q-F7hU.js → index-zrQXXSXm.js} +15 -14
  162. package/lib/esm/{index-U8q-F7hU.js.map → index-zrQXXSXm.js.map} +1 -1
  163. package/lib/esm/index.js +7 -6
  164. package/lib/esm/index.js.map +1 -1
  165. package/lib/esm/{schema-hVsy-vme.js → schema-JWJqD9qa.js} +3 -3
  166. package/lib/esm/{schema-hVsy-vme.js.map → schema-JWJqD9qa.js.map} +1 -1
  167. package/lib/esm/todoList-M-PGJKde.js +378 -0
  168. package/lib/esm/todoList-M-PGJKde.js.map +1 -0
  169. package/lib/esm/{tooltip-plugin-vZefVSGL.js → tooltip-plugin-iw2EQWIG.js} +10 -19
  170. package/lib/esm/tooltip-plugin-iw2EQWIG.js.map +1 -0
  171. package/lib/theme/_internal/classic-common.css +3 -2
  172. package/lib/theme/common/block-edit.css +3 -1
  173. package/lib/theme/common/code-mirror.css +15 -0
  174. package/lib/theme/common/cursor.css +1 -1
  175. package/lib/theme/common/image-block.css +2 -0
  176. package/lib/theme/common/link-tooltip.css +10 -13
  177. package/lib/theme/common/list-item.css +16 -1
  178. package/lib/theme/common/prosemirror.css +1 -1
  179. package/lib/theme/common/style.css +1 -0
  180. package/lib/theme/common/table.css +217 -0
  181. package/lib/theme/common/toolbar.css +11 -4
  182. package/lib/theme/{classic-dark → crepe-dark}/style.css +2 -2
  183. package/lib/theme/frame/style.css +28 -0
  184. package/lib/theme/frame-dark/style.css +28 -0
  185. package/lib/theme/nord/style.css +28 -0
  186. package/lib/theme/nord-dark/style.css +28 -0
  187. package/lib/types/core/crepe.d.ts +5 -3
  188. package/lib/types/core/crepe.d.ts.map +1 -1
  189. package/lib/types/core/slice.d.ts +2 -2
  190. package/lib/types/core/slice.d.ts.map +1 -1
  191. package/lib/types/feature/block-edit/handle/component.d.ts +3 -0
  192. package/lib/types/feature/block-edit/handle/component.d.ts.map +1 -1
  193. package/lib/types/feature/block-edit/handle/index.d.ts +5 -4
  194. package/lib/types/feature/block-edit/handle/index.d.ts.map +1 -1
  195. package/lib/types/feature/block-edit/index.d.ts +43 -2
  196. package/lib/types/feature/block-edit/index.d.ts.map +1 -1
  197. package/lib/types/feature/block-edit/menu/component.d.ts +3 -1
  198. package/lib/types/feature/block-edit/menu/component.d.ts.map +1 -1
  199. package/lib/types/feature/block-edit/menu/config.d.ts +3 -12
  200. package/lib/types/feature/block-edit/menu/config.d.ts.map +1 -1
  201. package/lib/types/feature/block-edit/menu/group-builder.d.ts +29 -0
  202. package/lib/types/feature/block-edit/menu/group-builder.d.ts.map +1 -0
  203. package/lib/types/feature/block-edit/menu/index.d.ts +5 -4
  204. package/lib/types/feature/block-edit/menu/index.d.ts.map +1 -1
  205. package/lib/types/feature/block-edit/menu/utils.d.ts +28 -0
  206. package/lib/types/feature/block-edit/menu/utils.d.ts.map +1 -0
  207. package/lib/types/feature/code-mirror/index.d.ts +9 -1
  208. package/lib/types/feature/code-mirror/index.d.ts.map +1 -1
  209. package/lib/types/feature/cursor/index.d.ts +1 -1
  210. package/lib/types/feature/cursor/index.d.ts.map +1 -1
  211. package/lib/types/feature/image-block/index.d.ts +19 -2
  212. package/lib/types/feature/image-block/index.d.ts.map +1 -1
  213. package/lib/types/feature/index.d.ts +17 -2
  214. package/lib/types/feature/index.d.ts.map +1 -1
  215. package/lib/types/feature/link-tooltip/index.d.ts +12 -2
  216. package/lib/types/feature/link-tooltip/index.d.ts.map +1 -1
  217. package/lib/types/feature/list-item/index.d.ts +8 -2
  218. package/lib/types/feature/list-item/index.d.ts.map +1 -1
  219. package/lib/types/feature/placeholder/index.d.ts +2 -2
  220. package/lib/types/feature/placeholder/index.d.ts.map +1 -1
  221. package/lib/types/feature/shared.d.ts +3 -1
  222. package/lib/types/feature/shared.d.ts.map +1 -1
  223. package/lib/types/feature/table/index.d.ts +16 -0
  224. package/lib/types/feature/table/index.d.ts.map +1 -0
  225. package/lib/types/feature/toolbar/component.d.ts +3 -1
  226. package/lib/types/feature/toolbar/component.d.ts.map +1 -1
  227. package/lib/types/feature/toolbar/index.d.ts +11 -2
  228. package/lib/types/feature/toolbar/index.d.ts.map +1 -1
  229. package/lib/types/icons/alignCenter.d.ts +2 -0
  230. package/lib/types/icons/alignCenter.d.ts.map +1 -0
  231. package/lib/types/icons/alignLeft.d.ts +2 -0
  232. package/lib/types/icons/alignLeft.d.ts.map +1 -0
  233. package/lib/types/icons/alignRight.d.ts +2 -0
  234. package/lib/types/icons/alignRight.d.ts.map +1 -0
  235. package/lib/types/icons/bold.d.ts +2 -0
  236. package/lib/types/icons/bold.d.ts.map +1 -0
  237. package/lib/types/{feature/list-item/consts.d.ts → icons/bullet.d.ts} +1 -1
  238. package/lib/types/icons/bullet.d.ts.map +1 -0
  239. package/lib/types/icons/bulletList.d.ts +2 -0
  240. package/lib/types/icons/bulletList.d.ts.map +1 -0
  241. package/lib/types/icons/caption.d.ts +2 -0
  242. package/lib/types/icons/caption.d.ts.map +1 -0
  243. package/lib/types/icons/checkBoxChecked.d.ts +2 -0
  244. package/lib/types/icons/checkBoxChecked.d.ts.map +1 -0
  245. package/lib/types/icons/checkBoxUnchecked.d.ts +2 -0
  246. package/lib/types/icons/checkBoxUnchecked.d.ts.map +1 -0
  247. package/lib/types/icons/chevronDown.d.ts +2 -0
  248. package/lib/types/icons/chevronDown.d.ts.map +1 -0
  249. package/lib/types/icons/clear.d.ts +2 -0
  250. package/lib/types/icons/clear.d.ts.map +1 -0
  251. package/lib/types/icons/code.d.ts +2 -0
  252. package/lib/types/icons/code.d.ts.map +1 -0
  253. package/lib/types/icons/confirm.d.ts +2 -0
  254. package/lib/types/icons/confirm.d.ts.map +1 -0
  255. package/lib/types/icons/divider.d.ts +2 -0
  256. package/lib/types/icons/divider.d.ts.map +1 -0
  257. package/lib/types/icons/dragHandle.d.ts +2 -0
  258. package/lib/types/icons/dragHandle.d.ts.map +1 -0
  259. package/lib/types/icons/edit.d.ts +2 -0
  260. package/lib/types/icons/edit.d.ts.map +1 -0
  261. package/lib/types/icons/h1.d.ts +2 -0
  262. package/lib/types/icons/h1.d.ts.map +1 -0
  263. package/lib/types/icons/h2.d.ts +2 -0
  264. package/lib/types/icons/h2.d.ts.map +1 -0
  265. package/lib/types/icons/h3.d.ts +2 -0
  266. package/lib/types/icons/h3.d.ts.map +1 -0
  267. package/lib/types/icons/h4.d.ts +2 -0
  268. package/lib/types/icons/h4.d.ts.map +1 -0
  269. package/lib/types/icons/h5.d.ts +2 -0
  270. package/lib/types/icons/h5.d.ts.map +1 -0
  271. package/lib/types/icons/h6.d.ts +2 -0
  272. package/lib/types/icons/h6.d.ts.map +1 -0
  273. package/lib/types/icons/image.d.ts +2 -0
  274. package/lib/types/icons/image.d.ts.map +1 -0
  275. package/lib/types/icons/index.d.ts +36 -0
  276. package/lib/types/icons/index.d.ts.map +1 -0
  277. package/lib/types/icons/italic.d.ts +2 -0
  278. package/lib/types/icons/italic.d.ts.map +1 -0
  279. package/lib/types/icons/link.d.ts +2 -0
  280. package/lib/types/icons/link.d.ts.map +1 -0
  281. package/lib/types/icons/menu.d.ts +2 -0
  282. package/lib/types/icons/menu.d.ts.map +1 -0
  283. package/lib/types/icons/orderedList.d.ts +2 -0
  284. package/lib/types/icons/orderedList.d.ts.map +1 -0
  285. package/lib/types/icons/plus.d.ts +2 -0
  286. package/lib/types/icons/plus.d.ts.map +1 -0
  287. package/lib/types/icons/quote.d.ts +2 -0
  288. package/lib/types/icons/quote.d.ts.map +1 -0
  289. package/lib/types/icons/remove.d.ts +2 -0
  290. package/lib/types/icons/remove.d.ts.map +1 -0
  291. package/lib/types/icons/search.d.ts +2 -0
  292. package/lib/types/icons/search.d.ts.map +1 -0
  293. package/lib/types/icons/strikethrough.d.ts +2 -0
  294. package/lib/types/icons/strikethrough.d.ts.map +1 -0
  295. package/lib/types/icons/table.d.ts +2 -0
  296. package/lib/types/icons/table.d.ts.map +1 -0
  297. package/lib/types/icons/text.d.ts +2 -0
  298. package/lib/types/icons/text.d.ts.map +1 -0
  299. package/lib/types/icons/todoList.d.ts +2 -0
  300. package/lib/types/icons/todoList.d.ts.map +1 -0
  301. package/lib/types/utils/index.d.ts +1 -1
  302. package/lib/types/utils/index.d.ts.map +1 -1
  303. package/package.json +9 -23
  304. package/src/core/crepe.ts +15 -9
  305. package/src/core/slice.ts +2 -2
  306. package/src/feature/block-edit/handle/component.ts +13 -29
  307. package/src/feature/block-edit/handle/index.ts +16 -17
  308. package/src/feature/block-edit/index.ts +50 -5
  309. package/src/feature/block-edit/menu/component.ts +6 -7
  310. package/src/feature/block-edit/menu/config.ts +203 -274
  311. package/src/feature/block-edit/menu/group-builder.ts +50 -0
  312. package/src/feature/block-edit/menu/index.ts +11 -8
  313. package/src/feature/block-edit/menu/utils.ts +89 -0
  314. package/src/feature/code-mirror/index.ts +27 -19
  315. package/src/feature/cursor/index.ts +3 -4
  316. package/src/feature/image-block/index.ts +34 -41
  317. package/src/feature/index.ts +23 -3
  318. package/src/feature/link-tooltip/index.ts +23 -10
  319. package/src/feature/list-item/index.ts +21 -9
  320. package/src/feature/placeholder/index.ts +11 -6
  321. package/src/feature/shared.ts +4 -1
  322. package/src/feature/table/index.ts +54 -0
  323. package/src/feature/toolbar/component.ts +29 -11
  324. package/src/feature/toolbar/index.ts +21 -9
  325. package/src/icons/alignCenter.ts +7 -0
  326. package/src/icons/alignLeft.ts +7 -0
  327. package/src/icons/alignRight.ts +7 -0
  328. package/src/icons/bold.ts +7 -0
  329. package/src/{feature/list-item/consts.ts → icons/bullet.ts} +3 -3
  330. package/src/icons/bulletList.ts +14 -0
  331. package/src/icons/caption.ts +7 -0
  332. package/src/icons/checkBoxChecked.ts +14 -0
  333. package/src/icons/checkBoxUnchecked.ts +14 -0
  334. package/src/icons/chevronDown.ts +7 -0
  335. package/src/icons/clear.ts +14 -0
  336. package/src/icons/code.ts +14 -0
  337. package/src/icons/confirm.ts +14 -0
  338. package/src/icons/divider.ts +14 -0
  339. package/src/icons/dragHandle.ts +7 -0
  340. package/src/icons/edit.ts +14 -0
  341. package/src/icons/h1.ts +14 -0
  342. package/src/icons/h2.ts +14 -0
  343. package/src/icons/h3.ts +14 -0
  344. package/src/icons/h4.ts +14 -0
  345. package/src/icons/h5.ts +14 -0
  346. package/src/icons/h6.ts +14 -0
  347. package/src/icons/image.ts +14 -0
  348. package/src/icons/index.ts +35 -0
  349. package/src/icons/italic.ts +7 -0
  350. package/src/icons/link.ts +7 -0
  351. package/src/icons/menu.ts +14 -0
  352. package/src/icons/orderedList.ts +14 -0
  353. package/src/icons/plus.ts +14 -0
  354. package/src/icons/quote.ts +14 -0
  355. package/src/icons/remove.ts +7 -0
  356. package/src/icons/search.ts +7 -0
  357. package/src/icons/strikethrough.ts +7 -0
  358. package/src/icons/table.ts +14 -0
  359. package/src/icons/text.ts +14 -0
  360. package/src/icons/todoList.ts +7 -0
  361. package/src/theme/_internal/classic-common.css +3 -2
  362. package/src/theme/common/block-edit.css +3 -1
  363. package/src/theme/common/code-mirror.css +13 -0
  364. package/src/theme/common/cursor.css +1 -1
  365. package/src/theme/common/image-block.css +2 -0
  366. package/src/theme/common/link-tooltip.css +11 -14
  367. package/src/theme/common/list-item.css +9 -0
  368. package/src/theme/common/prosemirror.css +1 -1
  369. package/src/theme/common/style.css +1 -0
  370. package/src/theme/common/table.css +204 -0
  371. package/src/theme/common/toolbar.css +14 -4
  372. package/src/theme/{classic-dark → crepe-dark}/style.css +2 -2
  373. package/src/theme/frame/style.css +28 -0
  374. package/src/theme/frame-dark/style.css +28 -0
  375. package/src/theme/nord/style.css +28 -0
  376. package/src/theme/nord-dark/style.css +28 -0
  377. package/src/utils/index.ts +1 -1
  378. package/lib/cjs/clsx-7JLENl8W.js +0 -62
  379. package/lib/cjs/clsx-7JLENl8W.js.map +0 -1
  380. package/lib/cjs/composed-offset-position.browser.min-FwypoGc1.js.map +0 -1
  381. package/lib/cjs/helper-OEW-2Vxr.js +0 -9
  382. package/lib/cjs/helper-OEW-2Vxr.js.map +0 -1
  383. package/lib/cjs/index-2oxl5Zo4.js.map +0 -1
  384. package/lib/cjs/index-GKolgvC5.js.map +0 -1
  385. package/lib/cjs/index-JAqL0ybh.js.map +0 -1
  386. package/lib/cjs/index-Ne_pk53w.js +0 -178
  387. package/lib/cjs/index-Ne_pk53w.js.map +0 -1
  388. package/lib/cjs/index-O3vRXWIP.js.map +0 -1
  389. package/lib/cjs/index-OIQn1x0L.js.map +0 -1
  390. package/lib/cjs/index-kNI3S3lF.js.map +0 -1
  391. package/lib/cjs/index-kvO8ReCY.js +0 -1960
  392. package/lib/cjs/index-kvO8ReCY.js.map +0 -1
  393. package/lib/cjs/index-llNS_EuP.js.map +0 -1
  394. package/lib/cjs/index-xqKfEyRA.js.map +0 -1
  395. package/lib/cjs/meta-q8q9fHyr.js +0 -14
  396. package/lib/cjs/meta-q8q9fHyr.js.map +0 -1
  397. package/lib/cjs/tooltip-plugin-Mk9fRTxI.js.map +0 -1
  398. package/lib/esm/clsx-R7WFaNKL.js +0 -52
  399. package/lib/esm/clsx-R7WFaNKL.js.map +0 -1
  400. package/lib/esm/composed-offset-position.browser.min-Tnm31e-m.js.map +0 -1
  401. package/lib/esm/helper-iYEjPbOY.js +0 -7
  402. package/lib/esm/helper-iYEjPbOY.js.map +0 -1
  403. package/lib/esm/index-218OjRxG.js.map +0 -1
  404. package/lib/esm/index-AHPvVH4H.js.map +0 -1
  405. package/lib/esm/index-DoEghZHy.js.map +0 -1
  406. package/lib/esm/index-JkHHp3K-.js.map +0 -1
  407. package/lib/esm/index-PkBZpDL4.js.map +0 -1
  408. package/lib/esm/index-TNMG6UrN.js.map +0 -1
  409. package/lib/esm/index-VyZguCIt.js.map +0 -1
  410. package/lib/esm/index-h1arGiXv.js +0 -1958
  411. package/lib/esm/index-h1arGiXv.js.map +0 -1
  412. package/lib/esm/index-pHsvfB_I.js.map +0 -1
  413. package/lib/esm/index-q-qE7-96.js.map +0 -1
  414. package/lib/esm/index-u8tWJbca.js +0 -176
  415. package/lib/esm/index-u8tWJbca.js.map +0 -1
  416. package/lib/esm/meta-3ZYGAGrY.js +0 -12
  417. package/lib/esm/meta-3ZYGAGrY.js.map +0 -1
  418. package/lib/esm/tooltip-plugin-vZefVSGL.js.map +0 -1
  419. package/lib/types/feature/block-edit/menu/icons.d.ts +0 -14
  420. package/lib/types/feature/block-edit/menu/icons.d.ts.map +0 -1
  421. package/lib/types/feature/link-tooltip/consts.d.ts +0 -5
  422. package/lib/types/feature/link-tooltip/consts.d.ts.map +0 -1
  423. package/lib/types/feature/list-item/consts.d.ts.map +0 -1
  424. package/lib/types/feature/toolbar/consts.d.ts +0 -5
  425. package/lib/types/feature/toolbar/consts.d.ts.map +0 -1
  426. package/src/feature/block-edit/menu/icons.ts +0 -170
  427. package/src/feature/link-tooltip/consts.ts +0 -46
  428. package/src/feature/toolbar/consts.ts +0 -25
  429. /package/lib/theme/{classic → crepe}/style.css +0 -0
  430. /package/src/theme/{classic → crepe}/style.css +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ueQQMSgm.js","sources":["../../../plugins/plugin-block/src/__internal__/with-meta.ts","../../../plugins/plugin-block/src/block-config.ts","../../../plugins/plugin-block/src/__internal__/select-node-by-dom.ts","../../../plugins/plugin-block/src/__internal__/serialize-for-clipboard.ts","../../../plugins/plugin-block/src/block-service.ts","../../../plugins/plugin-block/src/block-plugin.ts","../../../plugins/plugin-block/src/block-provider.ts","../../../plugins/plugin-block/src/index.ts","../../../plugins/plugin-slash/src/slash-plugin.ts","../../../plugins/plugin-slash/src/slash-provider.ts","../../src/feature/block-edit/menu/utils.ts","../../src/feature/block-edit/menu/group-builder.ts","../../src/feature/block-edit/menu/config.ts","../../src/feature/block-edit/menu/component.ts","../../src/feature/block-edit/menu/index.ts","../../src/feature/block-edit/handle/component.ts","../../src/feature/block-edit/handle/index.ts","../../src/feature/block-edit/index.ts"],"sourcesContent":["import type { Meta, MilkdownPlugin } from '@milkdown/ctx'\n\nexport function withMeta<T extends MilkdownPlugin>(plugin: T, meta: Partial<Meta> & Pick<Meta, 'displayName'>): T {\n Object.assign(plugin, {\n meta: {\n package: '@milkdown/plugin-block',\n ...meta,\n },\n })\n\n return plugin\n}\n","import type { Node, ResolvedPos } from '@milkdown/prose/model'\nimport { $ctx } from '@milkdown/utils'\n\nimport { findParent } from '@milkdown/prose'\nimport { withMeta } from './__internal__/with-meta'\n\n/// @internal\nexport type FilterNodes = (pos: ResolvedPos, node: Node) => boolean\n\n/// @internal\nexport const defaultNodeFilter: FilterNodes = (pos) => {\n const table = findParent(node => node.type.name === 'table')(pos)\n if (table)\n return false\n\n return true\n}\n\n/// A slice contains the block config.\n/// Possible properties:\n/// - `filterNodes`: A function to filter nodes that can be dragged.\nexport const blockConfig = $ctx<{ filterNodes: FilterNodes }, 'blockConfig'>({ filterNodes: defaultNodeFilter }, 'blockConfig')\n\nwithMeta(blockConfig, {\n displayName: 'Ctx<blockConfig>',\n})\n","import type { EditorView } from '@milkdown/prose/view'\n\nimport type { FilterNodes } from '../block-config'\nimport type { ActiveNode } from '../types'\n\nexport function selectRootNodeByDom(view: EditorView, coords: { x: number, y: number }, filterNodes: FilterNodes): ActiveNode | null {\n const root = view.dom.parentElement\n if (!root)\n return null\n\n const pos = view.posAtCoords({\n left: coords.x,\n top: coords.y,\n })?.inside\n if (pos == null || pos < 0)\n return null\n\n let $pos = view.state.doc.resolve(pos)\n let node = view.state.doc.nodeAt(pos)\n let element = view.nodeDOM(pos) as HTMLElement | null\n\n const filter = (needLookup: boolean) => {\n const checkDepth = $pos.depth >= 1 && $pos.index($pos.depth) === 0\n const shouldLookUp = needLookup || checkDepth\n\n if (!shouldLookUp)\n return\n\n const ancestorPos = $pos.before($pos.depth)\n node = view.state.doc.nodeAt(ancestorPos)\n element = view.nodeDOM(ancestorPos) as HTMLElement | null\n $pos = view.state.doc.resolve(ancestorPos)\n\n if (!filterNodes($pos, node!))\n filter(true)\n }\n\n // If filterNodes returns false, we should look up the parent node.\n const filterResult = filterNodes($pos, node!)\n filter(!filterResult)\n\n if (!element || !node)\n return null\n\n return { node, $pos, el: element }\n}\n","/**\n * Copy pasted from https://github.com/ProseMirror/prosemirror-view/blob/master/src/clipboard.ts\n */\n\nimport type { NodeType, Slice } from '@milkdown/prose/model'\nimport { DOMSerializer } from '@milkdown/prose/model'\nimport type { EditorView } from '@milkdown/prose/view'\n\nlet _detachedDoc: Document | null = null\nfunction detachedDoc() {\n return _detachedDoc || (_detachedDoc = document.implementation.createHTMLDocument('title'))\n}\n\nconst wrapMap: { [node: string]: string[] } = {\n thead: ['table'],\n tbody: ['table'],\n tfoot: ['table'],\n caption: ['table'],\n colgroup: ['table'],\n col: ['table', 'colgroup'],\n tr: ['table', 'tbody'],\n td: ['table', 'tbody', 'tr'],\n th: ['table', 'tbody', 'tr'],\n}\n\nexport function serializeForClipboard(view: EditorView, slice: Slice) {\n const context = []\n let { openStart, openEnd, content } = slice\n while (openStart > 1 && openEnd > 1 && content.childCount === 1 && content.firstChild!.childCount === 1) {\n openStart -= 1\n openEnd -= 1\n const node = content.firstChild!\n context.push(\n node.type.name,\n node.attrs !== (node.type as NodeType & { defaultAttrs: unknown }).defaultAttrs ? node.attrs : null,\n )\n content = node.content\n }\n\n const serializer = view.someProp('clipboardSerializer') || DOMSerializer.fromSchema(view.state.schema)\n const doc = detachedDoc()\n const wrap = doc.createElement('div')\n wrap.appendChild(serializer.serializeFragment(content, { document: doc }))\n\n let firstChild = wrap.firstChild\n let needsWrap\n let wrappers = 0\n // eslint-disable-next-line no-cond-assign\n while (firstChild && firstChild.nodeType === 1 && (needsWrap = wrapMap[firstChild.nodeName.toLowerCase()])) {\n for (let i = needsWrap.length - 1; i >= 0; i--) {\n const wrapper = doc.createElement(needsWrap[i] as string)\n while (wrap.firstChild) wrapper.appendChild(wrap.firstChild)\n wrap.appendChild(wrapper)\n wrappers++\n }\n firstChild = wrap.firstChild\n }\n\n if (firstChild && firstChild.nodeType === 1) {\n (firstChild as HTMLElement).setAttribute(\n 'data-pm-slice',\n `${openStart} ${openEnd}${wrappers ? ` -${wrappers}` : ''} ${JSON.stringify(context)}`,\n )\n }\n\n const text\n = view.someProp('clipboardTextSerializer', f => f(slice, view))\n || slice.content.textBetween(0, slice.content.size, '\\n\\n')\n\n return { dom: wrap, text }\n}\n","import type { Ctx } from '@milkdown/ctx'\nimport { editorViewCtx } from '@milkdown/core'\nimport { browser } from '@milkdown/prose'\nimport type { Selection } from '@milkdown/prose/state'\nimport { NodeSelection } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\nimport throttle from 'lodash.throttle'\n\nimport type { FilterNodes } from './block-config'\nimport { blockConfig } from './block-config'\nimport { selectRootNodeByDom } from './__internal__/select-node-by-dom'\nimport { serializeForClipboard } from './__internal__/serialize-for-clipboard'\nimport type { ActiveNode } from './types'\n\nconst brokenClipboardAPI\n = (browser.ie && <number>browser.ie_version < 15) || (browser.ios && browser.webkit_version < 604)\n\nconst buffer = 20\n\n/// @internal\nexport type BlockServiceMessageType = {\n type: 'hide'\n} | {\n type: 'show'\n active: ActiveNode\n}\n\n/// @internal\nexport type BlockServiceMessage = (message: BlockServiceMessageType) => void\n\n/// @internal\n/// The block service, provide events and methods for block plugin.\n/// Generally you don't need to use this class directly.\nexport class BlockService {\n /// @internal\n #ctx?: Ctx\n\n /// @internal\n #createSelection: () => null | Selection = () => {\n if (!this.#active)\n return null\n const result = this.#active\n const view = this.#view\n\n if (view && NodeSelection.isSelectable(result.node)) {\n const nodeSelection = NodeSelection.create(view.state.doc, result.$pos.pos)\n view.dispatch(view.state.tr.setSelection(nodeSelection))\n view.focus()\n this.#activeSelection = nodeSelection\n return nodeSelection\n }\n return null\n }\n\n /// @internal\n #activeSelection: null | Selection = null\n /// @internal\n #active: null | ActiveNode = null\n /// @internal\n #activeDOMRect: undefined | DOMRect = undefined\n\n /// @internal\n #dragging = false\n\n /// @internal\n get #filterNodes(): FilterNodes | undefined {\n return this.#ctx?.get(blockConfig.key).filterNodes\n }\n\n /// @internal\n get #view() {\n return this.#ctx?.get(editorViewCtx)\n }\n\n /// @internal\n #notify?: BlockServiceMessage\n\n /// @internal\n #hide = () => {\n this.#notify?.({ type: 'hide' })\n this.#active = null\n }\n\n /// @internal\n #show = (active: ActiveNode) => {\n this.#active = active\n this.#notify?.({ type: 'show', active })\n }\n\n /// Bind editor context and notify function to the service.\n bind = (ctx: Ctx, notify: BlockServiceMessage) => {\n this.#ctx = ctx\n this.#notify = notify\n }\n\n /// Add mouse event to the dom.\n addEvent = (dom: HTMLElement) => {\n dom.addEventListener('mousedown', this.#handleMouseDown)\n dom.addEventListener('mouseup', this.#handleMouseUp)\n dom.addEventListener('dragstart', this.#handleDragStart)\n }\n\n /// Remove mouse event to the dom.\n removeEvent = (dom: HTMLElement) => {\n dom.removeEventListener('mousedown', this.#handleMouseDown)\n dom.removeEventListener('mouseup', this.#handleMouseUp)\n dom.removeEventListener('dragstart', this.#handleDragStart)\n }\n\n /// Unbind the notify function.\n unBind = () => {\n this.#notify = undefined\n }\n\n /// @internal\n #handleMouseDown = () => {\n this.#activeDOMRect = this.#active?.el.getBoundingClientRect()\n this.#createSelection()\n }\n\n /// @internal\n #handleMouseUp = () => {\n if (!this.#dragging) {\n requestAnimationFrame(() => {\n if (!this.#activeDOMRect)\n return\n this.#view?.focus()\n })\n\n return\n }\n this.#dragging = false\n this.#activeSelection = null\n }\n\n /// @internal\n #handleDragStart = (event: DragEvent) => {\n this.#dragging = true\n\n const view = this.#view\n if (!view)\n return\n view.dom.dataset.dragging = 'true'\n\n const selection = this.#activeSelection\n if (event.dataTransfer && selection) {\n const slice = selection.content()\n event.dataTransfer.effectAllowed = 'copyMove'\n const { dom, text } = serializeForClipboard(view, slice)\n event.dataTransfer.clearData()\n event.dataTransfer.setData(brokenClipboardAPI ? 'Text' : 'text/html', dom.innerHTML)\n if (!brokenClipboardAPI)\n event.dataTransfer.setData('text/plain', text)\n const activeEl = this.#active?.el\n if (activeEl)\n event.dataTransfer.setDragImage(activeEl, 0, 0)\n\n view.dragging = {\n slice,\n move: true,\n }\n }\n }\n\n /// @internal\n keydownCallback = (view: EditorView) => {\n this.#hide()\n\n this.#dragging = false\n view.dom.dataset.dragging = 'false'\n return false\n }\n\n /// @internal\n #mousemoveCallback = throttle((view: EditorView, event: MouseEvent) => {\n if (!view.editable)\n return\n\n const rect = view.dom.getBoundingClientRect()\n const x = rect.left + rect.width / 2\n const dom = view.root.elementFromPoint(x, event.clientY)\n if (!(dom instanceof Element)) {\n this.#hide()\n return\n }\n\n const filterNodes = this.#filterNodes\n if (!filterNodes)\n return\n\n const result = selectRootNodeByDom(view, { x, y: event.clientY }, filterNodes)\n\n if (!result) {\n this.#hide()\n return\n }\n this.#show(result)\n }, 200)\n\n /// @internal\n mousemoveCallback = (view: EditorView, event: MouseEvent) => {\n if (view.composing || !view.editable)\n return false\n\n this.#mousemoveCallback(view, event)\n\n return false\n }\n\n /// @internal\n dragoverCallback = (view: EditorView, event: DragEvent) => {\n if (this.#dragging) {\n const root = this.#view?.dom.parentElement\n if (!root)\n return false\n\n const hasHorizontalScrollbar = root.scrollHeight > root.clientHeight\n\n const rootRect = root.getBoundingClientRect()\n if (hasHorizontalScrollbar) {\n if (root.scrollTop > 0 && Math.abs(event.y - rootRect.y) < buffer) {\n const top = root.scrollTop > 10 ? root.scrollTop - 10 : 0\n root.scrollTop = top\n return false\n }\n const totalHeight = Math.round(view.dom.getBoundingClientRect().height)\n const scrollBottom = Math.round(root.scrollTop + rootRect.height)\n if (scrollBottom < totalHeight && Math.abs(event.y - (rootRect.height + rootRect.y)) < buffer) {\n const top = root.scrollTop + 10\n root.scrollTop = top\n return false\n }\n }\n }\n return false\n }\n\n /// @internal\n dragenterCallback = (view: EditorView) => {\n if (!view.dragging)\n return\n\n this.#dragging = true\n view.dom.dataset.dragging = 'true'\n }\n\n /// @internal\n dragleaveCallback = (view: EditorView, event: DragEvent) => {\n const x = event.clientX\n const y = event.clientY\n // if cursor out of the editor\n if (x < 0 || y < 0 || x > window.innerWidth || y > window.innerHeight) {\n this.#active = null\n this.#dragEnd(view)\n }\n }\n\n /// @internal\n dropCallback = (view: EditorView) => {\n this.#dragEnd(view)\n\n return false\n }\n\n /// @internal\n dragendCallback = (view: EditorView) => {\n this.#dragEnd(view)\n }\n\n /// @internal\n #dragEnd = (view: EditorView) => {\n this.#dragging = false\n view.dom.dataset.dragging = 'false'\n }\n}\n","import type { PluginSpec } from '@milkdown/prose/state'\nimport { Plugin, PluginKey } from '@milkdown/prose/state'\nimport { $ctx, $prose } from '@milkdown/utils'\n\nimport { BlockService } from './block-service'\nimport { withMeta } from './__internal__/with-meta'\nimport { blockConfig } from './block-config'\n\n/// @internal\nexport const blockService = $ctx(new BlockService(), 'blockService')\n\nwithMeta(blockConfig, {\n displayName: 'Ctx<blockService>',\n})\n\n/// A slice contains a factory that will return a plugin spec.\n/// Users can use this slice to customize the plugin.\nexport const blockSpec = $ctx<PluginSpec<any>, 'blockSpec'>({}, 'blockSpec')\n\nwithMeta(blockConfig, {\n displayName: 'Ctx<blockSpec>',\n})\n\n/// The block prosemirror plugin.\nexport const blockPlugin = $prose((ctx) => {\n const milkdownPluginBlockKey = new PluginKey('MILKDOWN_BLOCK')\n const service = ctx.get(blockService.key)\n const spec = ctx.get(blockSpec.key)\n\n return new Plugin({\n key: milkdownPluginBlockKey,\n ...spec,\n props: {\n ...spec.props,\n handleDOMEvents: {\n drop: (view) => {\n return service.dropCallback(view)\n },\n pointermove: (view, event) => {\n return service.mousemoveCallback(view, event)\n },\n keydown: (view) => {\n return service.keydownCallback(view)\n },\n dragover: (view, event) => {\n return service.dragoverCallback(view, event)\n },\n dragleave: (view, event) => {\n return service.dragleaveCallback(view, event)\n },\n dragenter: (view) => {\n return service.dragenterCallback(view)\n },\n dragend: (view) => {\n return service.dragendCallback(view)\n },\n },\n },\n })\n})\n\nwithMeta(blockPlugin, {\n displayName: 'Prose<block>',\n})\n","import type { Ctx } from '@milkdown/ctx'\nimport type { EditorState } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\n\nimport type { Placement, VirtualElement } from '@floating-ui/dom'\nimport { computePosition, flip, offset } from '@floating-ui/dom'\n\nimport { editorViewCtx } from '@milkdown/core'\nimport type { BlockService } from './block-service'\nimport { blockService } from './block-plugin'\nimport type { ActiveNode } from './types'\n\n/// The context of the block provider.\nexport interface DeriveContext {\n ctx: Ctx\n active: ActiveNode\n editorDom: HTMLElement\n blockDom: HTMLElement\n}\n\n/// Options for creating block provider.\nexport interface BlockProviderOptions {\n /// The context of the editor.\n ctx: Ctx\n /// The content of the block.\n content: HTMLElement\n /// The function to determine whether the tooltip should be shown.\n shouldShow?: (view: EditorView, prevState?: EditorState) => boolean\n /// The offset to get the block. Default is 0.\n getOffset?: (deriveContext: DeriveContext) => number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n /// The function to get the position of the block. Default is the position of the active node.\n getPosition?: (deriveContext: DeriveContext) => Omit<DOMRect, 'toJSON'>\n /// The function to get the placement of the block. Default is 'left'.\n getPlacement?: (deriveContext: DeriveContext) => Placement\n}\n\n/// A provider for creating block.\nexport class BlockProvider {\n /// @internal\n readonly #element: HTMLElement\n\n /// @internal\n readonly #ctx: Ctx\n\n /// @internal\n #service?: BlockService\n\n /// @internal\n #activeNode: ActiveNode | null = null\n\n /// @internal\n #initialized = false\n\n /// @internal\n readonly #getOffset?: (deriveContext: DeriveContext) => number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n\n /// @internal\n readonly #getPosition?: (deriveContext: DeriveContext) => Omit<DOMRect, 'toJSON'>\n\n /// @internal\n readonly #getPlacement?: (deriveContext: DeriveContext) => Placement\n\n /// The context of current active node.\n get active() {\n return this.#activeNode\n }\n\n constructor(options: BlockProviderOptions) {\n this.#ctx = options.ctx\n this.#element = options.content\n this.#getOffset = options.getOffset\n this.#getPosition = options.getPosition\n this.#getPlacement = options.getPlacement\n this.hide()\n }\n\n /// @internal\n #init() {\n const view = this.#ctx.get(editorViewCtx)\n view.dom.parentElement?.appendChild(this.#element)\n\n const service = this.#ctx.get(blockService.key)\n service.bind(this.#ctx, (message) => {\n if (message.type === 'hide') {\n this.hide()\n this.#activeNode = null\n }\n\n else if (message.type === 'show') {\n this.show(message.active)\n this.#activeNode = message.active\n }\n })\n\n this.#service = service\n this.#service.addEvent(this.#element)\n this.#element.draggable = true\n }\n\n /// Update provider state by editor view.\n update = (): void => {\n requestAnimationFrame(() => {\n if (!this.#initialized) {\n try {\n this.#init()\n this.#initialized = true\n }\n catch {\n // ignore\n }\n }\n })\n }\n\n /// Destroy the block.\n destroy = () => {\n this.#service?.unBind()\n this.#service?.removeEvent(this.#element)\n this.#element.remove()\n }\n\n /// Show the block.\n show = (active: ActiveNode) => {\n const dom = active.el\n const editorDom = this.#ctx.get(editorViewCtx).dom\n const deriveContext: DeriveContext = {\n ctx: this.#ctx,\n active,\n editorDom,\n blockDom: this.#element,\n }\n const virtualEl: VirtualElement = {\n contextElement: dom,\n getBoundingClientRect: () => {\n if (this.#getPosition)\n return this.#getPosition(deriveContext)\n\n return dom.getBoundingClientRect()\n },\n }\n const middleware = [flip()]\n if (this.#getOffset) {\n const offsetOption = this.#getOffset(deriveContext)\n const offsetExt = offset(offsetOption)\n middleware.push(offsetExt)\n }\n\n computePosition(virtualEl, this.#element, {\n placement: this.#getPlacement\n ? this.#getPlacement(deriveContext)\n : 'left',\n middleware,\n }).then(({ x, y }) => {\n Object.assign(this.#element.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n this.#element.dataset.show = 'true'\n })\n }\n\n /// Hide the block.\n hide = () => {\n this.#element.dataset.show = 'false'\n setTimeout(() => {\n Object.assign(this.#element.style, {\n left: `-999px`,\n top: `-999px`,\n })\n }, 200)\n }\n}\n","import type { SliceType } from '@milkdown/ctx'\nimport type { PluginSpec } from '@milkdown/prose/state'\nimport type { $Ctx, $Prose } from '@milkdown/utils'\nimport type { FilterNodes } from './block-config'\nimport { blockConfig } from './block-config'\nimport { blockPlugin, blockService, blockSpec } from './block-plugin'\nimport type { BlockService } from './block-service'\n\nexport * from './block-plugin'\nexport * from './block-provider'\nexport * from './block-service'\nexport * from './block-config'\nexport * from './types'\n\n/// @internal\nexport type BlockPlugin = [\n $Ctx<PluginSpec<any>, 'blockSpec'>,\n $Ctx<{ filterNodes: FilterNodes }, 'blockConfig'>,\n $Ctx<BlockService, 'blockService'>,\n $Prose,\n] & {\n key: SliceType<PluginSpec<any>, 'blockSpec'>\n pluginKey: $Prose['key']\n}\n\n/// All plugins exported by this package.\nexport const block = [blockSpec, blockConfig, blockService, blockPlugin] as BlockPlugin\nblock.key = blockSpec.key\nblock.pluginKey = blockPlugin.key\n","import type { SliceType } from '@milkdown/ctx'\nimport type { PluginSpec } from '@milkdown/prose/state'\nimport { Plugin, PluginKey } from '@milkdown/prose/state'\nimport type { $Ctx, $Prose } from '@milkdown/utils'\nimport { $ctx, $prose } from '@milkdown/utils'\n\n/// @internal\nexport type SlashPluginSpecId<Id extends string> = `${Id}_SLASH_SPEC`\n\n/// @internal\nexport type SlashPlugin<Id extends string, State = any> = [$Ctx<PluginSpec<State>, SlashPluginSpecId<Id>>, $Prose] & {\n key: SliceType<PluginSpec<State>, SlashPluginSpecId<Id>>\n pluginKey: $Prose['key']\n}\n\n/// Create a slash plugin with a unique id.\nexport function slashFactory<Id extends string, State = any>(id: Id) {\n const slashSpec = $ctx<PluginSpec<State>, SlashPluginSpecId<Id>>({}, `${id}_SLASH_SPEC`)\n const slashPlugin = $prose((ctx) => {\n const spec = ctx.get(slashSpec.key)\n return new Plugin({\n key: new PluginKey(`${id}_SLASH`),\n ...spec,\n })\n })\n const result = [slashSpec, slashPlugin] as SlashPlugin<Id>\n result.key = slashSpec.key\n result.pluginKey = slashPlugin.key\n slashSpec.meta = {\n package: '@milkdown/plugin-slash',\n displayName: `Ctx<slashSpec>|${id}`,\n }\n slashPlugin.meta = {\n package: '@milkdown/plugin-slash',\n displayName: `Prose<slash>|${id}`,\n }\n\n return result\n}\n","import { findParentNode, posToDOMRect } from '@milkdown/prose'\nimport type { EditorState } from '@milkdown/prose/state'\nimport type { Node } from '@milkdown/prose/model'\nimport { TextSelection } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\nimport debounce from 'lodash.debounce'\nimport type { VirtualElement } from '@floating-ui/dom'\nimport { computePosition, flip, offset } from '@floating-ui/dom'\n\n/// Options for slash provider.\nexport interface SlashProviderOptions {\n /// The slash content.\n content: HTMLElement\n /// The debounce time for updating slash, 200ms by default.\n debounce?: number\n /// The function to determine whether the tooltip should be shown.\n shouldShow?: (view: EditorView, prevState?: EditorState) => boolean\n /// The key trigger for shouldShow, '/' by default.\n trigger?: string | string[]\n /// The offset to get the block. Default is 0.\n offset?: number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n}\n\n/// A provider for creating slash.\nexport class SlashProvider {\n /// The root element of the slash.\n element: HTMLElement\n\n /// @internal\n #initialized = false\n\n /// @internal\n readonly #debounce: number\n\n /// @internal\n readonly #trigger: string | string[]\n\n /// @internal\n readonly #shouldShow: (view: EditorView, prevState?: EditorState) => boolean\n\n /// The offset to get the block. Default is 0.\n readonly #offset?: number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n\n /// On show callback.\n onShow = () => {}\n\n /// On hide callback.\n onHide = () => {}\n\n constructor(options: SlashProviderOptions) {\n this.element = options.content\n this.#debounce = options.debounce ?? 200\n this.#shouldShow = options.shouldShow ?? this.#_shouldShow\n this.#trigger = options.trigger ?? '/'\n this.#offset = options.offset\n }\n\n /// @internal\n #onUpdate = (view: EditorView, prevState?: EditorState): void => {\n const { state, composing } = view\n const { selection, doc } = state\n const { ranges } = selection\n const from = Math.min(...ranges.map(range => range.$from.pos))\n const to = Math.max(...ranges.map(range => range.$to.pos))\n const isSame = prevState && prevState.doc.eq(doc) && prevState.selection.eq(selection)\n\n if (!this.#initialized) {\n view.dom.parentElement?.appendChild(this.element)\n this.#initialized = true\n }\n\n if (composing || isSame)\n return\n\n if (!this.#shouldShow(view, prevState)) {\n this.hide()\n return\n }\n\n const virtualEl: VirtualElement = {\n getBoundingClientRect: () => posToDOMRect(view, from, to),\n }\n computePosition(virtualEl, this.element, {\n placement: 'bottom-start',\n middleware: [flip(), offset(this.#offset)],\n })\n .then(({ x, y }) => {\n Object.assign(this.element.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n })\n\n this.show()\n }\n\n /// @internal\n #_shouldShow(view: EditorView): boolean {\n const currentTextBlockContent = this.getContent(view)\n\n if (!currentTextBlockContent)\n return false\n\n const target = currentTextBlockContent.at(-1)\n\n if (!target)\n return false\n\n return Array.isArray(this.#trigger) ? this.#trigger.includes(target) : this.#trigger === target\n }\n\n /// Update provider state by editor view.\n update = (view: EditorView, prevState?: EditorState): void => {\n const updater = debounce(this.#onUpdate, this.#debounce)\n\n updater(view, prevState)\n }\n\n /// Get the content of the current text block.\n /// Pass the `matchNode` function to determine whether the current node should be matched, by default, it will match the paragraph node.\n getContent = (view: EditorView, matchNode: (node: Node) => boolean = node => node.type.name === 'paragraph'): string | undefined => {\n const { selection } = view.state\n const { empty, $from } = selection\n const isTextBlock = view.state.selection instanceof TextSelection\n\n const isSlashChildren = this.element.contains(document.activeElement)\n\n const notHasFocus = !view.hasFocus() && !isSlashChildren\n\n const isReadonly = !view.editable\n\n const paragraph = findParentNode(matchNode)(view.state.selection)\n\n const isNotInParagraph = !paragraph\n\n if (notHasFocus || isReadonly || !empty || !isTextBlock || isNotInParagraph)\n return\n\n return $from.parent.textBetween(Math.max(0, $from.parentOffset - 500), $from.parentOffset, undefined, '\\uFFFC')\n }\n\n /// Destroy the slash.\n destroy = () => {\n }\n\n /// Show the slash.\n show = () => {\n this.element.dataset.show = 'true'\n this.onShow()\n }\n\n /// Hide the slash.\n hide = () => {\n this.element.dataset.show = 'false'\n this.onHide()\n }\n}\n","import type { html } from 'atomico'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { Command, Transaction } from '@milkdown/kit/prose/state'\nimport type { Attrs, NodeType } from '@milkdown/kit/prose/model'\nimport { findWrapping } from '@milkdown/kit/prose/transform'\n\nexport interface MenuItem {\n index: number\n key: string\n label: string\n icon: ReturnType<typeof html>\n onRun: (ctx: Ctx) => void\n}\n\ntype WithRange<T, HasIndex extends true | false = true> = HasIndex extends true ? T & { range: [start: number, end: number] } : T\n\nexport type MenuItemGroup<HasIndex extends true | false = true> = WithRange<{\n key: string\n label: string\n items: HasIndex extends true ? MenuItem[] : Omit<MenuItem, 'index'>[]\n}, HasIndex>\n\nexport function clearRange(tr: Transaction) {\n const { $from, $to } = tr.selection\n const { pos: from } = $from\n const { pos: to } = $to\n tr = tr.deleteRange(from - $from.node().content.size, to)\n return tr\n}\n\nexport function setBlockType(tr: Transaction, nodeType: NodeType, attrs: Attrs | null = null) {\n const { from, to } = tr.selection\n return tr.setBlockType(from, to, nodeType, attrs)\n}\n\nexport function wrapInBlockType(tr: Transaction, nodeType: NodeType, attrs: Attrs | null = null) {\n const { $from, $to } = tr.selection\n\n const range = $from.blockRange($to)\n const wrapping = range && findWrapping(range, nodeType, attrs)\n if (!wrapping)\n return null\n\n return tr.wrap(range, wrapping)\n}\n\nexport function addBlockType(tr: Transaction, nodeType: NodeType, attrs: Attrs | null = null) {\n const node = nodeType.createAndFill(attrs)\n if (!node)\n return null\n\n return tr.replaceSelectionWith(node)\n}\n\nexport function clearContentAndSetBlockType(nodeType: NodeType, attrs: Attrs | null = null): Command {\n return (state, dispatch) => {\n if (dispatch) {\n const tr = setBlockType(clearRange(state.tr), nodeType, attrs)\n dispatch(tr.scrollIntoView())\n }\n return true\n }\n}\n\nexport function clearContentAndWrapInBlockType(nodeType: NodeType, attrs: Attrs | null = null): Command {\n return (state, dispatch) => {\n const tr = wrapInBlockType(clearRange(state.tr), nodeType, attrs)\n if (!tr)\n return false\n\n if (dispatch)\n dispatch(tr.scrollIntoView())\n\n return true\n }\n}\n\nexport function clearContentAndAddBlockType(nodeType: NodeType, attrs: Attrs | null = null): Command {\n return (state, dispatch) => {\n const tr = addBlockType(clearRange(state.tr), nodeType, attrs)\n if (!tr)\n return false\n\n if (dispatch)\n dispatch(tr.scrollIntoView())\n\n return true\n }\n}\n","import type { MenuItem, MenuItemGroup } from './utils'\n\nexport class GroupBuilder {\n #groups: MenuItemGroup<false>[] = []\n\n clear = () => {\n this.#groups = []\n return this\n }\n\n #getGroupInstance = (group: MenuItemGroup<false>) => {\n const groupInstance = {\n group,\n addItem: (key: string, item: Omit<MenuItem, 'key' | 'index'>) => {\n const data = { key, ...item }\n group.items.push(data)\n return groupInstance\n },\n clear: () => {\n group.items = []\n return groupInstance\n },\n }\n return groupInstance\n }\n\n addGroup = (key: string, label: string) => {\n const items: Omit<MenuItem, 'index'>[] = []\n const group: MenuItemGroup<false> = {\n key,\n label,\n items,\n }\n this.#groups.push(group)\n\n return this.#getGroupInstance(group)\n }\n\n getGroup = (key: string) => {\n const group = this.#groups.find(group => group.key === key)\n if (!group)\n throw new Error(`Group with key ${key} not found`)\n\n return this.#getGroupInstance(group)\n }\n\n build = () => {\n return this.#groups\n }\n}\n","import { editorViewCtx } from '@milkdown/kit/core'\nimport {\n blockquoteSchema,\n bulletListSchema,\n codeBlockSchema,\n headingSchema,\n hrSchema,\n listItemSchema,\n orderedListSchema,\n paragraphSchema,\n} from '@milkdown/kit/preset/commonmark'\nimport { NodeSelection } from '@milkdown/kit/prose/state'\nimport { imageBlockSchema } from '@milkdown/kit/component/image-block'\nimport { createTable } from '@milkdown/kit/preset/gfm'\nimport {\n bulletListIcon,\n codeIcon,\n dividerIcon,\n h1Icon,\n h2Icon,\n h3Icon,\n h4Icon,\n h5Icon,\n h6Icon,\n imageIcon,\n orderedListIcon,\n quoteIcon,\n tableIcon,\n textIcon,\n todoListIcon,\n} from '../../../icons'\nimport type { BlockEditFeatureConfig } from '../index'\nimport type { MenuItemGroup } from './utils'\nimport {\n clearContentAndAddBlockType,\n clearContentAndSetBlockType,\n clearContentAndWrapInBlockType,\n clearRange,\n} from './utils'\nimport { GroupBuilder } from './group-builder'\n\nexport function getGroups(filter?: string, config?: BlockEditFeatureConfig) {\n const groupBuilder = new GroupBuilder()\n groupBuilder\n .addGroup('text', config?.slashMenuTextGroupLabel ?? 'Text')\n .addItem('text', {\n label: config?.slashMenuTextGroupLabel ?? 'Text',\n icon: config?.slashMenuTextIcon?.() ?? textIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(paragraphSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('h1', {\n label: config?.slashMenuH1Label ?? 'Heading 1',\n icon: config?.slashMenuH1Icon?.() ?? h1Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 1 })\n command(state, dispatch)\n },\n })\n .addItem('h2', {\n label: config?.slashMenuH2Label ?? 'Heading 2',\n icon: config?.slashMenuH2Icon?.() ?? h2Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 2 })\n command(state, dispatch)\n },\n })\n .addItem('h3', {\n label: config?.slashMenuH3Label ?? 'Heading 3',\n icon: config?.slashMenuH3Icon?.() ?? h3Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 3 })\n command(state, dispatch)\n },\n })\n .addItem('h4', {\n label: config?.slashMenuH4Label ?? 'Heading 4',\n icon: config?.slashMenuH4Icon?.() ?? h4Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 4 })\n command(state, dispatch)\n },\n })\n .addItem('h5', {\n label: config?.slashMenuH5Label ?? 'Heading 5',\n icon: config?.slashMenuH5Icon?.() ?? h5Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 5 })\n command(state, dispatch)\n },\n })\n .addItem('h6', {\n label: config?.slashMenuH6Label ?? 'Heading 6',\n icon: config?.slashMenuH6Icon?.() ?? h6Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 6 })\n command(state, dispatch)\n },\n })\n .addItem('quote', {\n label: config?.slashMenuQuoteLabel ?? 'Quote',\n icon: config?.slashMenuQuoteIcon?.() ?? quoteIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(blockquoteSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('divider', {\n label: config?.slashMenuDividerLabel ?? 'Divider',\n icon: config?.slashMenuDividerIcon?.() ?? dividerIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndAddBlockType(hrSchema.type(ctx))\n command(state, dispatch)\n },\n })\n\n groupBuilder.addGroup('list', config?.slashMenuListGroupLabel ?? 'List')\n .addItem('bullet-list', {\n label: config?.slashMenuBulletListLabel ?? 'Bullet List',\n icon: config?.slashMenuBulletListIcon?.() ?? bulletListIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(bulletListSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('ordered-list', {\n label: config?.slashMenuOrderedListLabel ?? 'Ordered List',\n icon: config?.slashMenuOrderedListIcon?.() ?? orderedListIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(orderedListSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('todo-list', {\n label: config?.slashMenuTaskListLabel ?? 'Todo List',\n icon: config?.slashMenuTaskListIcon?.() ?? todoListIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(listItemSchema.type(ctx), { checked: false })\n command(state, dispatch)\n },\n })\n\n groupBuilder.addGroup('advanced', config?.slashMenuAdvancedGroupLabel ?? 'Advanced')\n .addItem('image', {\n label: config?.slashMenuImageLabel ?? 'Image',\n icon: config?.slashMenuImageIcon?.() ?? imageIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndAddBlockType(imageBlockSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('code', {\n label: config?.slashMenuCodeBlockLabel ?? 'Code',\n icon: config?.slashMenuCodeBlockIcon?.() ?? codeIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndAddBlockType(codeBlockSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('table', {\n label: config?.slashMenuTableLabel ?? 'Table',\n icon: config?.slashMenuTableIcon?.() ?? tableIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n const tr = clearRange(state.tr)\n const table = createTable(ctx, 3, 3)\n tr.replaceSelectionWith(table)\n const { from } = tr.selection\n const pos = from - table.nodeSize + 2\n dispatch(tr)\n requestAnimationFrame(() => {\n const selection = NodeSelection.create(view.state.tr.doc, pos)\n dispatch(view.state.tr.setSelection(selection).scrollIntoView())\n })\n },\n })\n\n config?.buildMenu?.(groupBuilder)\n\n let groups = groupBuilder.build()\n\n if (filter) {\n groups = groups\n .map((group) => {\n const items = group\n .items\n .filter(item =>\n item\n .label\n .toLowerCase()\n .includes(filter.toLowerCase()))\n\n return {\n ...group,\n items,\n }\n })\n .filter(group => group.items.length > 0)\n }\n\n const items = groups.flatMap(groups => groups.items)\n items.forEach(((item, index) => {\n Object.assign(item, { index })\n }))\n\n groups.reduce((acc, group) => {\n const end = acc + group.items.length\n Object.assign(group, {\n range: [acc, end],\n })\n return end\n }, 0)\n\n return {\n groups: groups as MenuItemGroup[],\n size: items.length,\n }\n}\n","import type { Component } from 'atomico'\nimport { c, html, useCallback, useEffect, useHost, useMemo, useRef, useState } from 'atomico'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { BlockEditFeatureConfig } from '../index'\nimport { getGroups } from './config'\n\nexport interface MenuProps {\n ctx: Ctx\n show: boolean\n filter: string\n hide: () => void\n config?: BlockEditFeatureConfig\n}\n\nexport const menuComponent: Component<MenuProps> = ({\n show,\n hide,\n ctx,\n filter,\n config,\n}) => {\n const { groups, size } = useMemo(() => getGroups(filter, config), [filter])\n\n const host = useHost()\n const [hoverIndex, setHoverIndex] = useState(0)\n\n const root = useMemo(() => host.current.getRootNode() as HTMLElement, [host])\n\n const prevMousePosition = useRef({ x: -999, y: -999 })\n\n const onMouseMove = useCallback((e: MouseEvent) => {\n const prevPos = prevMousePosition.current\n if (!prevPos)\n return\n\n const { x, y } = e\n prevPos.x = x\n prevPos.y = y\n }, [])\n\n useEffect(() => {\n if (size === 0 && show)\n hide?.()\n }, [size, show])\n\n const onHover = useCallback((\n index: number | ((prev: number) => number),\n after?: (index: number) => void,\n ) => {\n setHoverIndex((prev) => {\n const next = typeof index === 'function' ? index(prev) : index\n\n after?.(next)\n return next\n })\n }, [])\n\n const scrollToIndex = useCallback((index: number) => {\n const target = host\n .current\n .querySelector<HTMLElement>(`[data-index=\"${index}\"]`)\n const scrollRoot = host.current.querySelector<HTMLElement>('.menu-groups')\n\n if (!target || !scrollRoot)\n return\n\n scrollRoot.scrollTop = target.offsetTop - scrollRoot.offsetTop\n }, [])\n\n const runByIndex = useCallback((index: number) => {\n const item = groups.flatMap(group => group.items).at(index)\n if (item && ctx)\n item.onRun(ctx)\n\n hide?.()\n }, [groups])\n\n const onKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault()\n hide?.()\n return\n }\n\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n return onHover(index => (index < size - 1) ? index + 1 : index, scrollToIndex)\n }\n\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n return onHover(index => index <= 0 ? index : index - 1, scrollToIndex)\n }\n\n if (e.key === 'ArrowLeft') {\n e.preventDefault()\n return onHover((index) => {\n const group = groups.find(group => group.range[0] <= index && group.range[1] > index)\n if (!group)\n return index\n\n const prevGroup = groups[groups.indexOf(group) - 1]\n if (!prevGroup)\n return index\n\n return prevGroup.range[1] - 1\n }, scrollToIndex)\n }\n\n if (e.key === 'ArrowRight') {\n e.preventDefault()\n return onHover((index) => {\n const group = groups.find(group => group.range[0] <= index && group.range[1] > index)\n if (!group)\n return index\n\n const nextGroup = groups[groups.indexOf(group) + 1]\n if (!nextGroup)\n return index\n\n return nextGroup.range[0]\n }, scrollToIndex)\n }\n\n if (e.key === 'Enter') {\n e.preventDefault()\n runByIndex(hoverIndex)\n }\n }, [hide, groups, hoverIndex])\n\n const onMouseEnter = useCallback((index: number) => {\n return (e: MouseEvent) => {\n const prevPos = prevMousePosition.current\n if (!prevPos)\n return\n\n const { x, y } = e\n if (x === prevPos.x && y === prevPos.y)\n return\n\n onHover(index)\n }\n }, [])\n\n useEffect(() => {\n if (show)\n root.addEventListener('keydown', onKeydown, { capture: true })\n\n else root.removeEventListener('keydown', onKeydown, { capture: true })\n\n return () => {\n root.removeEventListener('keydown', onKeydown, { capture: true })\n }\n }, [show, onKeydown])\n\n return html`\n <host onmousedown=${(e: MouseEvent) => e.preventDefault()}>\n <nav class=\"tab-group\">\n <ul>\n ${groups.map(group =>\n html`<li\n key=${group.key}\n onmousedown=${() => onHover(group.range[0], scrollToIndex)}\n class=${hoverIndex >= group.range[0] && hoverIndex < group.range[1] ? 'selected' : ''}\n >\n ${group.label}\n </li>`)}\n </ul>\n </nav>\n <div class=\"menu-groups\" onmousemove=${onMouseMove}>\n ${groups.map((group) => {\n return html`\n <div key=${group.key} class=\"menu-group\">\n <h6>${group.label}</h6>\n <ul>\n ${group.items.map(item =>\n html`<li\n key=${item.key}\n data-index=${item.index}\n class=${hoverIndex === item.index ? 'hover' : ''}\n onmouseenter=${onMouseEnter(item.index)}\n onmousedown=${() => {\n host\n .current\n .querySelector(`[data-index=\"${item.index}\"]`)\n ?.classList.add('active')\n }}\n onmouseup=${() => {\n host\n .current\n .querySelector(`[data-index=\"${item.index}\"]`)\n ?.classList.remove('active')\n runByIndex(item.index)\n }}\n >\n ${item.icon}\n <span>${item.label}</span>\n </li>`,\n )}\n </ul>\n </div>\n `\n })}\n </div>\n </host>\n `\n}\n\nmenuComponent.props = {\n ctx: Object,\n config: Object,\n show: Boolean,\n filter: String,\n hide: Function,\n}\n\nexport const MenuElement = c(menuComponent)\n","import type { PluginView } from '@milkdown/kit/prose/state'\nimport type { EditorView } from '@milkdown/kit/prose/view'\nimport { SlashProvider, slashFactory } from '@milkdown/kit/plugin/slash'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { AtomicoThis } from 'atomico/types/dom'\nimport { $ctx } from '@milkdown/kit/utils'\nimport { defIfNotExists, isInCodeBlock, isInList } from '../../../utils'\nimport type { BlockEditFeatureConfig } from '../index'\nimport type { MenuProps } from './component'\nimport { MenuElement } from './component'\n\nexport const menu = slashFactory('CREPE_MENU')\n\nexport interface MenuAPI {\n show: (pos: number) => void\n hide: () => void\n}\n\nexport const menuAPI = $ctx({\n show: () => {},\n hide: () => {},\n} as MenuAPI, 'menuAPICtx')\n\ndefIfNotExists('milkdown-slash-menu', MenuElement)\nexport function configureMenu(ctx: Ctx, config?: BlockEditFeatureConfig) {\n ctx.set(menu.key, {\n view: view => new MenuView(ctx, view, config),\n })\n}\n\nclass MenuView implements PluginView {\n readonly #content: AtomicoThis<MenuProps, HTMLElement>\n readonly #slashProvider: SlashProvider\n #programmaticallyPos: number | null = null\n\n constructor(ctx: Ctx, view: EditorView, config?: BlockEditFeatureConfig) {\n this.#content = new MenuElement()\n this.#content.hide = this.hide\n this.#content.ctx = ctx\n this.#content.config = config\n // eslint-disable-next-line ts/no-this-alias\n const self = this\n this.#slashProvider = new SlashProvider({\n content: this.#content,\n debounce: 20,\n shouldShow(this: SlashProvider, view: EditorView) {\n if (isInCodeBlock(view.state.selection) || isInList(view.state.selection))\n return false\n\n const currentText = this.getContent(view, node =>\n ['paragraph', 'heading'].includes(node.type.name))\n\n if (currentText == null)\n return false\n\n const pos = self.#programmaticallyPos\n\n self.#content.filter = currentText.startsWith('/') ? currentText.slice(1) : currentText\n\n if (typeof pos === 'number') {\n if (view.state.doc.resolve(pos).node() !== view.state.doc.resolve(view.state.selection.from).node()) {\n self.#programmaticallyPos = null\n\n return false\n }\n\n return true\n }\n\n if (!currentText.startsWith('/'))\n return false\n\n return true\n },\n offset: 10,\n })\n\n this.#slashProvider.onShow = () => {\n this.#content.show = true\n }\n this.#slashProvider.onHide = () => {\n this.#content.show = false\n }\n this.update(view)\n\n ctx.set(menuAPI.key, {\n show: pos => this.show(pos),\n hide: () => this.hide(),\n })\n }\n\n update = (view: EditorView) => {\n this.#slashProvider.update(view)\n }\n\n show = (pos: number) => {\n this.#programmaticallyPos = pos\n this.#content.filter = ''\n this.#slashProvider.show()\n }\n\n hide = () => {\n this.#programmaticallyPos = null\n this.#slashProvider.hide()\n }\n\n destroy = () => {\n this.#slashProvider.destroy()\n this.#content.remove()\n }\n}\n","import { type Component, c, html, useEffect, useRef } from 'atomico'\nimport { menuIcon, plusIcon } from '../../../icons'\nimport type { Icon } from '../../shared'\n\nexport interface BlockHandleProps {\n show: boolean\n onAdd: () => void\n addIcon: Icon\n handleIcon: Icon\n}\n\nconst blockHandleComponent: Component<BlockHandleProps> = ({\n onAdd,\n addIcon,\n handleIcon,\n}) => {\n const ref = useRef<HTMLDivElement>()\n useEffect(() => {\n ref.current?.classList.remove('active')\n })\n const onMouseDown = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n ref.current?.classList.add('active')\n }\n const onMouseUp = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n onAdd?.()\n ref.current?.classList.remove('active')\n }\n return html`\n <host>\n <div ref=${ref} onmousedown=${onMouseDown} onmouseup=${onMouseUp} class=\"operation-item\">\n ${addIcon?.() || plusIcon}\n </div>\n <div class=\"operation-item\">\n ${handleIcon?.() || menuIcon}\n </div>\n </host>\n `\n}\n\nblockHandleComponent.props = {\n show: Boolean,\n onAdd: Function,\n addIcon: Function,\n handleIcon: Function,\n}\n\nexport const BlockHandleElement = c(blockHandleComponent)\n","import type { PluginView } from '@milkdown/kit/prose/state'\nimport { TextSelection } from '@milkdown/kit/prose/state'\nimport { BlockProvider, block } from '@milkdown/kit/plugin/block'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { AtomicoThis } from 'atomico/types/dom'\nimport { editorViewCtx } from '@milkdown/kit/core'\nimport { paragraphSchema } from '@milkdown/kit/preset/commonmark'\nimport { menuAPI } from '../menu'\nimport { defIfNotExists } from '../../../utils'\nimport type { BlockEditFeatureConfig } from '../index'\nimport type { BlockHandleProps } from './component'\nimport { BlockHandleElement } from './component'\n\nexport class BlockHandleView implements PluginView {\n #content: AtomicoThis<BlockHandleProps>\n #provider: BlockProvider\n readonly #ctx: Ctx\n\n constructor(ctx: Ctx, config?: BlockEditFeatureConfig) {\n this.#ctx = ctx\n const content = new BlockHandleElement()\n this.#content = content\n this.#content.onAdd = this.onAdd\n this.#content.addIcon = config?.handleAddIcon\n this.#content.handleIcon = config?.handleDragIcon\n this.#provider = new BlockProvider({\n ctx,\n content,\n getOffset: () => 16,\n getPlacement: ({ active, blockDom }) => {\n let totalDescendant = 0\n active.node.descendants((node) => {\n totalDescendant += node.childCount\n })\n const dom = active.el\n const domRect = dom.getBoundingClientRect()\n const handleRect = blockDom.getBoundingClientRect()\n const style = window.getComputedStyle(dom)\n const paddingTop = Number.parseInt(style.paddingTop, 10) || 0\n const paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0\n const height = domRect.height - paddingTop - paddingBottom\n const handleHeight = handleRect.height\n return totalDescendant > 2 || handleHeight * 2 < height ? 'left-start' : 'left'\n },\n })\n this.update()\n }\n\n update = () => {\n this.#provider.update()\n }\n\n destroy = () => {\n this.#provider.destroy()\n this.#content.remove()\n }\n\n onAdd = () => {\n const ctx = this.#ctx\n const view = ctx.get(editorViewCtx)\n if (!view.hasFocus())\n view.focus()\n\n const { state, dispatch } = view\n const active = this.#provider.active\n if (!active)\n return\n\n const $pos = active.$pos\n const pos = $pos.pos + active.node.nodeSize\n let tr = state.tr.insert(pos, paragraphSchema.type(ctx).create())\n tr = tr.setSelection(TextSelection.near(tr.doc.resolve(pos)))\n dispatch(tr.scrollIntoView())\n\n this.#provider.hide()\n ctx.get(menuAPI.key).show(tr.selection.from)\n }\n}\n\ndefIfNotExists('milkdown-block-handle', BlockHandleElement)\nexport function configureBlockHandle(ctx: Ctx, config?: BlockEditFeatureConfig) {\n ctx.set(block.key, {\n view: () => new BlockHandleView(ctx, config),\n })\n}\n","import { block } from '@milkdown/kit/plugin/block'\nimport type { DefineFeature, Icon } from '../shared'\nimport { configureBlockHandle } from './handle'\nimport { configureMenu, menu, menuAPI } from './menu'\nimport type { GroupBuilder } from './menu/group-builder'\n\ninterface BlockEditConfig {\n handleAddIcon: Icon\n handleDragIcon: Icon\n buildMenu: (builder: GroupBuilder) => void\n\n slashMenuTextGroupLabel: string\n slashMenuTextIcon: Icon\n slashMenuTextLabel: string\n slashMenuH1Icon: Icon\n slashMenuH1Label: string\n slashMenuH2Icon: Icon\n slashMenuH2Label: string\n slashMenuH3Icon: Icon\n slashMenuH3Label: string\n slashMenuH4Icon: Icon\n slashMenuH4Label: string\n slashMenuH5Icon: Icon\n slashMenuH5Label: string\n slashMenuH6Icon: Icon\n slashMenuH6Label: string\n slashMenuQuoteIcon: Icon\n slashMenuQuoteLabel: string\n slashMenuDividerIcon: Icon\n slashMenuDividerLabel: string\n\n slashMenuListGroupLabel: string\n slashMenuBulletListIcon: Icon\n slashMenuBulletListLabel: string\n slashMenuOrderedListIcon: Icon\n slashMenuOrderedListLabel: string\n slashMenuTaskListIcon: Icon\n slashMenuTaskListLabel: string\n\n slashMenuAdvancedGroupLabel: string\n slashMenuImageIcon: Icon\n slashMenuImageLabel: string\n slashMenuCodeBlockIcon: Icon\n slashMenuCodeBlockLabel: string\n slashMenuTableIcon: Icon\n slashMenuTableLabel: string\n}\n\nexport type BlockEditFeatureConfig = Partial<BlockEditConfig>\n\nexport const defineFeature: DefineFeature<BlockEditFeatureConfig> = (editor, config) => {\n editor\n .config(ctx => configureBlockHandle(ctx, config))\n .config(ctx => configureMenu(ctx, config))\n .use(menuAPI)\n .use(block)\n .use(menu)\n}\n"],"names":["_ctx","__privateAdd","__privateGet","__privateSet","_initialized","__privateMethod","group","items","groups","_content","view"],"mappings":"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"}
@@ -1,22 +1,23 @@
1
- import { C as ContextTracker, E as ExternalTokenizer, L as LRParser } from './index-x-zW6gKj.js';
2
- import { b as styleTags, t as tags, d as LRLanguage, i as indentNodeProp, f as foldNodeProp, J as bracketMatchingHandle, a as LanguageSupport, h as syntaxTree } from './index-q-qE7-96.js';
1
+ import { C as ContextTracker, E as ExternalTokenizer, L as LRParser } from './index-OpUb5xP6.js';
2
+ import { b as styleTags, t as tags, d as LRLanguage, i as indentNodeProp, f as foldNodeProp, J as bracketMatchingHandle, a as LanguageSupport, h as syntaxTree } from './index-i79QMXpJ.js';
3
+ import './todoList-M-PGJKde.js';
3
4
  import 'atomico';
4
- import './clsx-R7WFaNKL.js';
5
- import './meta-3ZYGAGrY.js';
6
- import './index-JkHHp3K-.js';
7
- import '@milkdown/prose/history';
5
+ import './index-LAdX6LsO.js';
8
6
  import '@milkdown/prose/model';
9
- import '@milkdown/prose/keymap';
10
- import '@milkdown/prose/commands';
11
7
  import '@milkdown/prose';
12
- import '@milkdown/prose/state';
8
+ import '@milkdown/prose/commands';
13
9
  import '@milkdown/prose/inputrules';
14
- import '@milkdown/prose/schema-list';
10
+ import '@milkdown/prose/keymap';
11
+ import '@milkdown/prose/state';
15
12
  import '@milkdown/prose/view';
13
+ import '@milkdown/prose/schema-list';
16
14
  import '@milkdown/prose/transform';
17
- import './helper-iYEjPbOY.js';
18
- import './composed-offset-position.browser.min-Tnm31e-m.js';
19
- import './_view-JjtfhQ8k.js';
15
+ import '@milkdown/prose/history';
16
+ import '@milkdown/prose/tables';
17
+ import './helper-wZAtC67x.js';
18
+ import './floating-ui.dom-CAYjY8Gv.js';
19
+ import './clsx-RxCLxYpD.js';
20
+ import './_view-IlZC8FA6.js';
20
21
 
21
22
  // This file was generated by lezer-generator. You probably shouldn't edit it.
22
23
  const StartTag = 1,
@@ -397,4 +398,4 @@ function xml(conf = {}) {
397
398
  }
398
399
 
399
400
  export { completeFromSchema, xml, xmlLanguage };
400
- //# sourceMappingURL=index-U71v7KdA.js.map
401
+ //# sourceMappingURL=index-x8SyiPMC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-U71v7KdA.js","sources":["../../../../node_modules/.pnpm/@lezer+xml@1.0.3/node_modules/@lezer/xml/dist/index.js","../../../../node_modules/.pnpm/@codemirror+lang-xml@6.0.2_@codemirror+view@6.26.0/node_modules/@codemirror/lang-xml/dist/index.js"],"sourcesContent":["import { ContextTracker, ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst StartTag = 1,\n StartCloseTag = 2,\n MissingCloseTag = 3,\n mismatchedStartCloseTag = 4,\n incompleteStartCloseTag = 5,\n commentContent$1 = 35,\n piContent$1 = 36,\n cdataContent$1 = 37,\n Element = 11,\n OpenTag = 13;\n\n/* Hand-written tokenizer for XML tag matching. */\n\nfunction nameChar(ch) {\n return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161\n}\n\nfunction isSpace(ch) {\n return ch == 9 || ch == 10 || ch == 13 || ch == 32\n}\n\nlet cachedName = null, cachedInput = null, cachedPos = 0;\nfunction tagNameAfter(input, offset) {\n let pos = input.pos + offset;\n if (cachedInput == input && cachedPos == pos) return cachedName\n while (isSpace(input.peek(offset))) offset++;\n let name = \"\";\n for (;;) {\n let next = input.peek(offset);\n if (!nameChar(next)) break\n name += String.fromCharCode(next);\n offset++;\n }\n cachedInput = input; cachedPos = pos;\n return cachedName = name || null\n}\n\nfunction ElementContext(name, parent) {\n this.name = name;\n this.parent = parent;\n this.hash = parent ? parent.hash : 0;\n for (let i = 0; i < name.length; i++) this.hash += (this.hash << 4) + name.charCodeAt(i) + (name.charCodeAt(i) << 8);\n}\n\nconst elementContext = new ContextTracker({\n start: null,\n shift(context, term, stack, input) {\n return term == StartTag ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n reduce(context, term) {\n return term == Element && context ? context.parent : context\n },\n reuse(context, node, _stack, input) {\n let type = node.type.id;\n return type == StartTag || type == OpenTag\n ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n hash(context) { return context ? context.hash : 0 },\n strict: false\n});\n\nconst startTag = new ExternalTokenizer((input, stack) => {\n if (input.next != 60 /* '<' */) return\n input.advance();\n if (input.next == 47 /* '/' */) {\n input.advance();\n let name = tagNameAfter(input, 0);\n if (!name) return input.acceptToken(incompleteStartCloseTag)\n if (stack.context && name == stack.context.name) return input.acceptToken(StartCloseTag)\n for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return input.acceptToken(MissingCloseTag, -2)\n input.acceptToken(mismatchedStartCloseTag);\n } else if (input.next != 33 /* '!' */ && input.next != 63 /* '?' */) {\n return input.acceptToken(StartTag)\n }\n}, {contextual: true});\n\nfunction scanTo(type, end) {\n return new ExternalTokenizer(input => {\n let len = 0, first = end.charCodeAt(0);\n scan: for (;; input.advance(), len++) {\n if (input.next < 0) break\n if (input.next == first) {\n for (let i = 1; i < end.length; i++)\n if (input.peek(i) != end.charCodeAt(i)) continue scan\n break\n }\n }\n if (len) input.acceptToken(type);\n })\n}\n\nconst commentContent = scanTo(commentContent$1, \"-->\");\nconst piContent = scanTo(piContent$1, \"?>\");\nconst cdataContent = scanTo(cdataContent$1, \"]]>\");\n\nconst xmlHighlighting = styleTags({\n Text: tags.content,\n \"StartTag StartCloseTag EndTag SelfCloseEndTag\": tags.angleBracket,\n TagName: tags.tagName,\n \"MismatchedCloseTag/Tagname\": [tags.tagName, tags.invalid],\n AttributeName: tags.attributeName,\n AttributeValue: tags.attributeValue,\n Is: tags.definitionOperator,\n \"EntityReference CharacterReference\": tags.character,\n Comment: tags.blockComment,\n ProcessingInst: tags.processingInstruction,\n DoctypeDecl: tags.documentMeta,\n Cdata: tags.special(tags.string)\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = LRParser.deserialize({\n version: 14,\n states: \",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(eO#tO'#CnOOOO1G.q1G.qO(sOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO({O#tO,59YOOOO,59Y,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.t\",\n stateData: \")Z~OPQOSVOTWOVWOWWOXWOiXOxPO}TO!PUO~OuZOw]O~O^`Oy^O~OPQOQcOSVOTWOVWOWWOXWOxPO}TO!PUO~ORdO~P!SOseO|gO~OthO!OjO~O^lOy^O~OuZOwoO~O^qOy^O~O[vO`sOdwOy^O~ORyO~P!SO^{Oy^O~OseO|}O~OthO!O!PO~O^!QOy^O~O[!SOy^O~O[!VO`sOd!WOy^O~Oa!YOy^O~Oy^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oy^O~O[!_Oy^O~O[!aOy^O~O[!cO`sOd!dOy^O~O[!cO`sOd!dO~Oa!eOy^O~Oy^Oz!gO~Oy^O[ma`madma~O[!jOy^O~O[!kOy^O~O[!lO`sOd!mO~OW!pOX!pOz!rO{!pO~O[!sOy^O~OW!pOX!pOz!vO{!pO~O\",\n goto: \"%[wPPPPPPPPPPxxP!OP!UPP!_!iP!oxxxP!u!{#R$Z$j$p$v$|PPPP%SXWORYbXRORYb_t`qru!T!U!bQ!h!YS!o!e!fR!t!nQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!i!nQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!i!]R!n!eQu`S!UqrU![u!U!bR!b!TQ!q!gR!u!qQbRRxbQfTR|fQiUR!OiSXOYTaRb\",\n nodeNames: \"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl\",\n maxTerm: 47,\n context: elementContext,\n nodeProps: [\n [\"closedBy\", 1,\"SelfCloseEndTag EndTag\",13,\"CloseTag MissingCloseTag\"],\n [\"openedBy\", 12,\"StartTag StartCloseTag\",19,\"OpenTag\",20,\"StartTag\"]\n ],\n propSources: [xmlHighlighting],\n skippedNodes: [0],\n repeatNodeCount: 8,\n tokenData: \"Jy~R!XOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs'ssv$nvw(Zw}$n}!O,^!O!P$n!P!Q.m!Q![$n![!]0V!]!^$n!^!_3h!_!`El!`!aF_!a!bGQ!b!c$n!c!}0V!}#P$n#P#QHj#Q#R$n#R#S0V#S#T$n#T#o0V#o%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U$n4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$nX$uWVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nP%dTVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_P%vP;=`<%l%_W&OT{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yW&bP;=`<%l%yX&hP;=`<%l$n_&t_VP{WyUOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ'zTzYVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_~(^ast)c![!]*g!c!}*g#R#S*g#T#o*g%W%o*g%p&a*g&b1p*g4U4d*g4e$IS*g$I`$Ib*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~)fQ!Q![)l#l#m)z~)oQ!Q![)l!]!^)u~)zOX~~)}R!Q![*W!c!i*W#T#Z*W~*ZS!Q![*W!]!^)u!c!i*W#T#Z*W~*jg}!O*g!O!P*g!Q![*g![!]*g!]!^,R!c!}*g#R#S*g#T#o*g$}%O*g%W%o*g%p&a*g&b1p*g1p4U*g4U4d*g4e$IS*g$I`$Ib*g$Je$Jg*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~,WOW~~,ZP;=`<%l*gZ,eYVP{WOr$nrs%_sv$nw}$n}!O-T!O!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ-[YVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a-z!a;'S$n;'S;=`&e<%lO$nZ.TW|QVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n].tYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a/d!a;'S$n;'S;=`&e<%lO$n]/mWdSVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_0b!O`S^QVP{WOr$nrs%_sv$nw}$n}!O0V!O!P0V!P!Q$n!Q![0V![!]0V!]!^$n!^!_%y!_!c$n!c!}0V!}#R$n#R#S0V#S#T$n#T#o0V#o$}$n$}%O0V%O%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U0V4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Je$n$Je$Jg0V$Jg$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$n_3eP;=`<%l0VX3mW{WOq%yqr4Vsv%yw!a%y!a!bEU!b;'S%y;'S;=`&_<%lO%yX4[]{WOr%ysv%yw}%y}!O5T!O!f%y!f!g6V!g!}%y!}#O;f#O#W%y#W#XAr#X;'S%y;'S;=`&_<%lO%yX5YV{WOr%ysv%yw}%y}!O5o!O;'S%y;'S;=`&_<%lO%yX5vT}P{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX6[V{WOr%ysv%yw!q%y!q!r6q!r;'S%y;'S;=`&_<%lO%yX6vV{WOr%ysv%yw!e%y!e!f7]!f;'S%y;'S;=`&_<%lO%yX7bV{WOr%ysv%yw!v%y!v!w7w!w;'S%y;'S;=`&_<%lO%yX7|V{WOr%ysv%yw!{%y!{!|8c!|;'S%y;'S;=`&_<%lO%yX8hV{WOr%ysv%yw!r%y!r!s8}!s;'S%y;'S;=`&_<%lO%yX9SV{WOr%ysv%yw!g%y!g!h9i!h;'S%y;'S;=`&_<%lO%yX9nX{WOr9irs:Zsv9ivw:Zw!`9i!`!a:x!a;'S9i;'S;=`;`<%lO9iP:^TO!`:Z!`!a:m!a;'S:Z;'S;=`:r<%lO:ZP:rOiPP:uP;=`<%l:ZX;PTiP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX;cP;=`<%l9iX;kX{WOr%ysv%yw!e%y!e!f<W!f#V%y#V#W?f#W;'S%y;'S;=`&_<%lO%yX<]V{WOr%ysv%yw!f%y!f!g<r!g;'S%y;'S;=`&_<%lO%yX<wV{WOr%ysv%yw!c%y!c!d=^!d;'S%y;'S;=`&_<%lO%yX=cV{WOr%ysv%yw!v%y!v!w=x!w;'S%y;'S;=`&_<%lO%yX=}V{WOr%ysv%yw!c%y!c!d>d!d;'S%y;'S;=`&_<%lO%yX>iV{WOr%ysv%yw!}%y!}#O?O#O;'S%y;'S;=`&_<%lO%yX?VT{WxPOr%ysv%yw;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#W%y#W#X@Q#X;'S%y;'S;=`&_<%lO%yX@VV{WOr%ysv%yw#T%y#T#U@l#U;'S%y;'S;=`&_<%lO%yX@qV{WOr%ysv%yw#h%y#h#iAW#i;'S%y;'S;=`&_<%lO%yXA]V{WOr%ysv%yw#T%y#T#U>d#U;'S%y;'S;=`&_<%lO%yXAwV{WOr%ysv%yw#c%y#c#dB^#d;'S%y;'S;=`&_<%lO%yXBcV{WOr%ysv%yw#V%y#V#WBx#W;'S%y;'S;=`&_<%lO%yXB}V{WOr%ysv%yw#h%y#h#iCd#i;'S%y;'S;=`&_<%lO%yXCiV{WOr%ysv%yw#m%y#m#nDO#n;'S%y;'S;=`&_<%lO%yXDTV{WOr%ysv%yw#d%y#d#eDj#e;'S%y;'S;=`&_<%lO%yXDoV{WOr%ysv%yw#X%y#X#Y9i#Y;'S%y;'S;=`&_<%lO%yXE]T!PP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yZEuWaQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_FhW[UVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZGXYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aGw!a;'S$n;'S;=`&e<%lO$nZHQW!OQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZHqYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_#P$n#P#QIa#Q;'S$n;'S;=`&e<%lO$nZIhYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aJW!a;'S$n;'S;=`&e<%lO$nZJaWwQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n\",\n tokenizers: [startTag, commentContent, piContent, cdataContent, 0, 1, 2, 3],\n topRules: {\"Document\":[0,6]},\n tokenPrec: 0\n});\n\nexport { parser };\n","import { parser } from '@lezer/xml';\nimport { syntaxTree, LRLanguage, indentNodeProp, foldNodeProp, bracketMatchingHandle, LanguageSupport } from '@codemirror/language';\n\nfunction tagName(doc, tag) {\n let name = tag && tag.getChild(\"TagName\");\n return name ? doc.sliceString(name.from, name.to) : \"\";\n}\nfunction elementName(doc, tree) {\n let tag = tree && tree.firstChild;\n return !tag || tag.name != \"OpenTag\" ? \"\" : tagName(doc, tag);\n}\nfunction attrName(doc, tag, pos) {\n let attr = tag && tag.getChildren(\"Attribute\").find(a => a.from <= pos && a.to >= pos);\n let name = attr && attr.getChild(\"AttributeName\");\n return name ? doc.sliceString(name.from, name.to) : \"\";\n}\nfunction findParentElement(tree) {\n for (let cur = tree && tree.parent; cur; cur = cur.parent)\n if (cur.name == \"Element\")\n return cur;\n return null;\n}\nfunction findLocation(state, pos) {\n var _a;\n let at = syntaxTree(state).resolveInner(pos, -1), inTag = null;\n for (let cur = at; !inTag && cur.parent; cur = cur.parent)\n if (cur.name == \"OpenTag\" || cur.name == \"CloseTag\" || cur.name == \"SelfClosingTag\" || cur.name == \"MismatchedCloseTag\")\n inTag = cur;\n if (inTag && (inTag.to > pos || inTag.lastChild.type.isError)) {\n let elt = inTag.parent;\n if (at.name == \"TagName\")\n return inTag.name == \"CloseTag\" || inTag.name == \"MismatchedCloseTag\"\n ? { type: \"closeTag\", from: at.from, context: elt }\n : { type: \"openTag\", from: at.from, context: findParentElement(elt) };\n if (at.name == \"AttributeName\")\n return { type: \"attrName\", from: at.from, context: inTag };\n if (at.name == \"AttributeValue\")\n return { type: \"attrValue\", from: at.from, context: inTag };\n let before = at == inTag || at.name == \"Attribute\" ? at.childBefore(pos) : at;\n if ((before === null || before === void 0 ? void 0 : before.name) == \"StartTag\")\n return { type: \"openTag\", from: pos, context: findParentElement(elt) };\n if ((before === null || before === void 0 ? void 0 : before.name) == \"StartCloseTag\" && before.to <= pos)\n return { type: \"closeTag\", from: pos, context: elt };\n if ((before === null || before === void 0 ? void 0 : before.name) == \"Is\")\n return { type: \"attrValue\", from: pos, context: inTag };\n if (before)\n return { type: \"attrName\", from: pos, context: inTag };\n return null;\n }\n else if (at.name == \"StartCloseTag\") {\n return { type: \"closeTag\", from: pos, context: at.parent };\n }\n while (at.parent && at.to == pos && !((_a = at.lastChild) === null || _a === void 0 ? void 0 : _a.type.isError))\n at = at.parent;\n if (at.name == \"Element\" || at.name == \"Text\" || at.name == \"Document\")\n return { type: \"tag\", from: pos, context: at.name == \"Element\" ? at : findParentElement(at) };\n return null;\n}\nclass Element {\n constructor(spec, attrs, attrValues) {\n this.attrs = attrs;\n this.attrValues = attrValues;\n this.children = [];\n this.name = spec.name;\n this.completion = Object.assign(Object.assign({ type: \"type\" }, spec.completion || {}), { label: this.name });\n this.openCompletion = Object.assign(Object.assign({}, this.completion), { label: \"<\" + this.name });\n this.closeCompletion = Object.assign(Object.assign({}, this.completion), { label: \"</\" + this.name + \">\", boost: 2 });\n this.closeNameCompletion = Object.assign(Object.assign({}, this.completion), { label: this.name + \">\" });\n this.text = spec.textContent ? spec.textContent.map(s => ({ label: s, type: \"text\" })) : [];\n }\n}\nconst Identifier = /^[:\\-\\.\\w\\u00b7-\\uffff]*$/;\nfunction attrCompletion(spec) {\n return Object.assign(Object.assign({ type: \"property\" }, spec.completion || {}), { label: spec.name });\n}\nfunction valueCompletion(spec) {\n return typeof spec == \"string\" ? { label: `\"${spec}\"`, type: \"constant\" }\n : /^\"/.test(spec.label) ? spec\n : Object.assign(Object.assign({}, spec), { label: `\"${spec.label}\"` });\n}\n/**\nCreate a completion source for the given schema.\n*/\nfunction completeFromSchema(eltSpecs, attrSpecs) {\n let allAttrs = [], globalAttrs = [];\n let attrValues = Object.create(null);\n for (let s of attrSpecs) {\n let completion = attrCompletion(s);\n allAttrs.push(completion);\n if (s.global)\n globalAttrs.push(completion);\n if (s.values)\n attrValues[s.name] = s.values.map(valueCompletion);\n }\n let allElements = [], topElements = [];\n let byName = Object.create(null);\n for (let s of eltSpecs) {\n let attrs = globalAttrs, attrVals = attrValues;\n if (s.attributes)\n attrs = attrs.concat(s.attributes.map(s => {\n if (typeof s == \"string\")\n return allAttrs.find(a => a.label == s) || { label: s, type: \"property\" };\n if (s.values) {\n if (attrVals == attrValues)\n attrVals = Object.create(attrVals);\n attrVals[s.name] = s.values.map(valueCompletion);\n }\n return attrCompletion(s);\n }));\n let elt = new Element(s, attrs, attrVals);\n byName[elt.name] = elt;\n allElements.push(elt);\n if (s.top)\n topElements.push(elt);\n }\n if (!topElements.length)\n topElements = allElements;\n for (let i = 0; i < allElements.length; i++) {\n let s = eltSpecs[i], elt = allElements[i];\n if (s.children) {\n for (let ch of s.children)\n if (byName[ch])\n elt.children.push(byName[ch]);\n }\n else {\n elt.children = allElements;\n }\n }\n return cx => {\n var _a;\n let { doc } = cx.state, loc = findLocation(cx.state, cx.pos);\n if (!loc || (loc.type == \"tag\" && !cx.explicit))\n return null;\n let { type, from, context } = loc;\n if (type == \"openTag\") {\n let children = topElements;\n let parentName = elementName(doc, context);\n if (parentName) {\n let parent = byName[parentName];\n children = (parent === null || parent === void 0 ? void 0 : parent.children) || allElements;\n }\n return {\n from,\n options: children.map(ch => ch.completion),\n validFor: Identifier\n };\n }\n else if (type == \"closeTag\") {\n let parentName = elementName(doc, context);\n return parentName ? {\n from,\n to: cx.pos + (doc.sliceString(cx.pos, cx.pos + 1) == \">\" ? 1 : 0),\n options: [((_a = byName[parentName]) === null || _a === void 0 ? void 0 : _a.closeNameCompletion) || { label: parentName + \">\", type: \"type\" }],\n validFor: Identifier\n } : null;\n }\n else if (type == \"attrName\") {\n let parent = byName[tagName(doc, context)];\n return {\n from,\n options: (parent === null || parent === void 0 ? void 0 : parent.attrs) || globalAttrs,\n validFor: Identifier\n };\n }\n else if (type == \"attrValue\") {\n let attr = attrName(doc, context, from);\n if (!attr)\n return null;\n let parent = byName[tagName(doc, context)];\n let values = ((parent === null || parent === void 0 ? void 0 : parent.attrValues) || attrValues)[attr];\n if (!values || !values.length)\n return null;\n return {\n from,\n to: cx.pos + (doc.sliceString(cx.pos, cx.pos + 1) == '\"' ? 1 : 0),\n options: values,\n validFor: /^\"[^\"]*\"?$/\n };\n }\n else if (type == \"tag\") {\n let parentName = elementName(doc, context), parent = byName[parentName];\n let closing = [], last = context && context.lastChild;\n if (parentName && (!last || last.name != \"CloseTag\" || tagName(doc, last) != parentName))\n closing.push(parent ? parent.closeCompletion : { label: \"</\" + parentName + \">\", type: \"type\", boost: 2 });\n let options = closing.concat(((parent === null || parent === void 0 ? void 0 : parent.children) || (context ? allElements : topElements)).map(e => e.openCompletion));\n if (context && (parent === null || parent === void 0 ? void 0 : parent.text.length)) {\n let openTag = context.firstChild;\n if (openTag.to > cx.pos - 20 && !/\\S/.test(cx.state.sliceDoc(openTag.to, cx.pos)))\n options = options.concat(parent.text);\n }\n return {\n from,\n options,\n validFor: /^<\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/\n };\n }\n else {\n return null;\n }\n };\n}\n\n/**\nA language provider based on the [Lezer XML\nparser](https://github.com/lezer-parser/xml), extended with\nhighlighting and indentation information.\n*/\nconst xmlLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"xml\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Element(context) {\n let closed = /^\\s*<\\//.test(context.textAfter);\n return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);\n },\n \"OpenTag CloseTag SelfClosingTag\"(context) {\n return context.column(context.node.from) + context.unit;\n }\n }),\n /*@__PURE__*/foldNodeProp.add({\n Element(subtree) {\n let first = subtree.firstChild, last = subtree.lastChild;\n if (!first || first.name != \"OpenTag\")\n return null;\n return { from: first.to, to: last.name == \"CloseTag\" ? last.from : subtree.to };\n }\n }),\n /*@__PURE__*/bracketMatchingHandle.add({\n \"OpenTag CloseTag\": node => node.getChild(\"TagName\")\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"<!--\", close: \"-->\" } },\n indentOnInput: /^\\s*<\\/$/\n }\n});\n/**\nXML language support. Includes schema-based autocompletion when\nconfigured.\n*/\nfunction xml(conf = {}) {\n return new LanguageSupport(xmlLanguage, xmlLanguage.data.of({\n autocomplete: completeFromSchema(conf.elements || [], conf.attributes || [])\n }));\n}\n\nexport { completeFromSchema, xml, xmlLanguage };\n"],"names":["Element"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"index-x8SyiPMC.js","sources":["../../../../node_modules/.pnpm/@lezer+xml@1.0.3/node_modules/@lezer/xml/dist/index.js","../../../../node_modules/.pnpm/@codemirror+lang-xml@6.0.2_@codemirror+view@6.26.0/node_modules/@codemirror/lang-xml/dist/index.js"],"sourcesContent":["import { ContextTracker, ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst StartTag = 1,\n StartCloseTag = 2,\n MissingCloseTag = 3,\n mismatchedStartCloseTag = 4,\n incompleteStartCloseTag = 5,\n commentContent$1 = 35,\n piContent$1 = 36,\n cdataContent$1 = 37,\n Element = 11,\n OpenTag = 13;\n\n/* Hand-written tokenizer for XML tag matching. */\n\nfunction nameChar(ch) {\n return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161\n}\n\nfunction isSpace(ch) {\n return ch == 9 || ch == 10 || ch == 13 || ch == 32\n}\n\nlet cachedName = null, cachedInput = null, cachedPos = 0;\nfunction tagNameAfter(input, offset) {\n let pos = input.pos + offset;\n if (cachedInput == input && cachedPos == pos) return cachedName\n while (isSpace(input.peek(offset))) offset++;\n let name = \"\";\n for (;;) {\n let next = input.peek(offset);\n if (!nameChar(next)) break\n name += String.fromCharCode(next);\n offset++;\n }\n cachedInput = input; cachedPos = pos;\n return cachedName = name || null\n}\n\nfunction ElementContext(name, parent) {\n this.name = name;\n this.parent = parent;\n this.hash = parent ? parent.hash : 0;\n for (let i = 0; i < name.length; i++) this.hash += (this.hash << 4) + name.charCodeAt(i) + (name.charCodeAt(i) << 8);\n}\n\nconst elementContext = new ContextTracker({\n start: null,\n shift(context, term, stack, input) {\n return term == StartTag ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n reduce(context, term) {\n return term == Element && context ? context.parent : context\n },\n reuse(context, node, _stack, input) {\n let type = node.type.id;\n return type == StartTag || type == OpenTag\n ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n hash(context) { return context ? context.hash : 0 },\n strict: false\n});\n\nconst startTag = new ExternalTokenizer((input, stack) => {\n if (input.next != 60 /* '<' */) return\n input.advance();\n if (input.next == 47 /* '/' */) {\n input.advance();\n let name = tagNameAfter(input, 0);\n if (!name) return input.acceptToken(incompleteStartCloseTag)\n if (stack.context && name == stack.context.name) return input.acceptToken(StartCloseTag)\n for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return input.acceptToken(MissingCloseTag, -2)\n input.acceptToken(mismatchedStartCloseTag);\n } else if (input.next != 33 /* '!' */ && input.next != 63 /* '?' */) {\n return input.acceptToken(StartTag)\n }\n}, {contextual: true});\n\nfunction scanTo(type, end) {\n return new ExternalTokenizer(input => {\n let len = 0, first = end.charCodeAt(0);\n scan: for (;; input.advance(), len++) {\n if (input.next < 0) break\n if (input.next == first) {\n for (let i = 1; i < end.length; i++)\n if (input.peek(i) != end.charCodeAt(i)) continue scan\n break\n }\n }\n if (len) input.acceptToken(type);\n })\n}\n\nconst commentContent = scanTo(commentContent$1, \"-->\");\nconst piContent = scanTo(piContent$1, \"?>\");\nconst cdataContent = scanTo(cdataContent$1, \"]]>\");\n\nconst xmlHighlighting = styleTags({\n Text: tags.content,\n \"StartTag StartCloseTag EndTag SelfCloseEndTag\": tags.angleBracket,\n TagName: tags.tagName,\n \"MismatchedCloseTag/Tagname\": [tags.tagName, tags.invalid],\n AttributeName: tags.attributeName,\n AttributeValue: tags.attributeValue,\n Is: tags.definitionOperator,\n \"EntityReference CharacterReference\": tags.character,\n Comment: tags.blockComment,\n ProcessingInst: tags.processingInstruction,\n DoctypeDecl: tags.documentMeta,\n Cdata: tags.special(tags.string)\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = LRParser.deserialize({\n version: 14,\n states: \",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(eO#tO'#CnOOOO1G.q1G.qO(sOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO({O#tO,59YOOOO,59Y,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.t\",\n stateData: \")Z~OPQOSVOTWOVWOWWOXWOiXOxPO}TO!PUO~OuZOw]O~O^`Oy^O~OPQOQcOSVOTWOVWOWWOXWOxPO}TO!PUO~ORdO~P!SOseO|gO~OthO!OjO~O^lOy^O~OuZOwoO~O^qOy^O~O[vO`sOdwOy^O~ORyO~P!SO^{Oy^O~OseO|}O~OthO!O!PO~O^!QOy^O~O[!SOy^O~O[!VO`sOd!WOy^O~Oa!YOy^O~Oy^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oy^O~O[!_Oy^O~O[!aOy^O~O[!cO`sOd!dOy^O~O[!cO`sOd!dO~Oa!eOy^O~Oy^Oz!gO~Oy^O[ma`madma~O[!jOy^O~O[!kOy^O~O[!lO`sOd!mO~OW!pOX!pOz!rO{!pO~O[!sOy^O~OW!pOX!pOz!vO{!pO~O\",\n goto: \"%[wPPPPPPPPPPxxP!OP!UPP!_!iP!oxxxP!u!{#R$Z$j$p$v$|PPPP%SXWORYbXRORYb_t`qru!T!U!bQ!h!YS!o!e!fR!t!nQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!i!nQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!i!]R!n!eQu`S!UqrU![u!U!bR!b!TQ!q!gR!u!qQbRRxbQfTR|fQiUR!OiSXOYTaRb\",\n nodeNames: \"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl\",\n maxTerm: 47,\n context: elementContext,\n nodeProps: [\n [\"closedBy\", 1,\"SelfCloseEndTag EndTag\",13,\"CloseTag MissingCloseTag\"],\n [\"openedBy\", 12,\"StartTag StartCloseTag\",19,\"OpenTag\",20,\"StartTag\"]\n ],\n propSources: [xmlHighlighting],\n skippedNodes: [0],\n repeatNodeCount: 8,\n tokenData: \"Jy~R!XOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs'ssv$nvw(Zw}$n}!O,^!O!P$n!P!Q.m!Q![$n![!]0V!]!^$n!^!_3h!_!`El!`!aF_!a!bGQ!b!c$n!c!}0V!}#P$n#P#QHj#Q#R$n#R#S0V#S#T$n#T#o0V#o%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U$n4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$nX$uWVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nP%dTVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_P%vP;=`<%l%_W&OT{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yW&bP;=`<%l%yX&hP;=`<%l$n_&t_VP{WyUOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ'zTzYVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_~(^ast)c![!]*g!c!}*g#R#S*g#T#o*g%W%o*g%p&a*g&b1p*g4U4d*g4e$IS*g$I`$Ib*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~)fQ!Q![)l#l#m)z~)oQ!Q![)l!]!^)u~)zOX~~)}R!Q![*W!c!i*W#T#Z*W~*ZS!Q![*W!]!^)u!c!i*W#T#Z*W~*jg}!O*g!O!P*g!Q![*g![!]*g!]!^,R!c!}*g#R#S*g#T#o*g$}%O*g%W%o*g%p&a*g&b1p*g1p4U*g4U4d*g4e$IS*g$I`$Ib*g$Je$Jg*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~,WOW~~,ZP;=`<%l*gZ,eYVP{WOr$nrs%_sv$nw}$n}!O-T!O!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ-[YVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a-z!a;'S$n;'S;=`&e<%lO$nZ.TW|QVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n].tYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a/d!a;'S$n;'S;=`&e<%lO$n]/mWdSVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_0b!O`S^QVP{WOr$nrs%_sv$nw}$n}!O0V!O!P0V!P!Q$n!Q![0V![!]0V!]!^$n!^!_%y!_!c$n!c!}0V!}#R$n#R#S0V#S#T$n#T#o0V#o$}$n$}%O0V%O%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U0V4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Je$n$Je$Jg0V$Jg$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$n_3eP;=`<%l0VX3mW{WOq%yqr4Vsv%yw!a%y!a!bEU!b;'S%y;'S;=`&_<%lO%yX4[]{WOr%ysv%yw}%y}!O5T!O!f%y!f!g6V!g!}%y!}#O;f#O#W%y#W#XAr#X;'S%y;'S;=`&_<%lO%yX5YV{WOr%ysv%yw}%y}!O5o!O;'S%y;'S;=`&_<%lO%yX5vT}P{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX6[V{WOr%ysv%yw!q%y!q!r6q!r;'S%y;'S;=`&_<%lO%yX6vV{WOr%ysv%yw!e%y!e!f7]!f;'S%y;'S;=`&_<%lO%yX7bV{WOr%ysv%yw!v%y!v!w7w!w;'S%y;'S;=`&_<%lO%yX7|V{WOr%ysv%yw!{%y!{!|8c!|;'S%y;'S;=`&_<%lO%yX8hV{WOr%ysv%yw!r%y!r!s8}!s;'S%y;'S;=`&_<%lO%yX9SV{WOr%ysv%yw!g%y!g!h9i!h;'S%y;'S;=`&_<%lO%yX9nX{WOr9irs:Zsv9ivw:Zw!`9i!`!a:x!a;'S9i;'S;=`;`<%lO9iP:^TO!`:Z!`!a:m!a;'S:Z;'S;=`:r<%lO:ZP:rOiPP:uP;=`<%l:ZX;PTiP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX;cP;=`<%l9iX;kX{WOr%ysv%yw!e%y!e!f<W!f#V%y#V#W?f#W;'S%y;'S;=`&_<%lO%yX<]V{WOr%ysv%yw!f%y!f!g<r!g;'S%y;'S;=`&_<%lO%yX<wV{WOr%ysv%yw!c%y!c!d=^!d;'S%y;'S;=`&_<%lO%yX=cV{WOr%ysv%yw!v%y!v!w=x!w;'S%y;'S;=`&_<%lO%yX=}V{WOr%ysv%yw!c%y!c!d>d!d;'S%y;'S;=`&_<%lO%yX>iV{WOr%ysv%yw!}%y!}#O?O#O;'S%y;'S;=`&_<%lO%yX?VT{WxPOr%ysv%yw;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#W%y#W#X@Q#X;'S%y;'S;=`&_<%lO%yX@VV{WOr%ysv%yw#T%y#T#U@l#U;'S%y;'S;=`&_<%lO%yX@qV{WOr%ysv%yw#h%y#h#iAW#i;'S%y;'S;=`&_<%lO%yXA]V{WOr%ysv%yw#T%y#T#U>d#U;'S%y;'S;=`&_<%lO%yXAwV{WOr%ysv%yw#c%y#c#dB^#d;'S%y;'S;=`&_<%lO%yXBcV{WOr%ysv%yw#V%y#V#WBx#W;'S%y;'S;=`&_<%lO%yXB}V{WOr%ysv%yw#h%y#h#iCd#i;'S%y;'S;=`&_<%lO%yXCiV{WOr%ysv%yw#m%y#m#nDO#n;'S%y;'S;=`&_<%lO%yXDTV{WOr%ysv%yw#d%y#d#eDj#e;'S%y;'S;=`&_<%lO%yXDoV{WOr%ysv%yw#X%y#X#Y9i#Y;'S%y;'S;=`&_<%lO%yXE]T!PP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yZEuWaQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_FhW[UVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZGXYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aGw!a;'S$n;'S;=`&e<%lO$nZHQW!OQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZHqYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_#P$n#P#QIa#Q;'S$n;'S;=`&e<%lO$nZIhYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aJW!a;'S$n;'S;=`&e<%lO$nZJaWwQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n\",\n tokenizers: [startTag, commentContent, piContent, cdataContent, 0, 1, 2, 3],\n topRules: {\"Document\":[0,6]},\n tokenPrec: 0\n});\n\nexport { parser };\n","import { parser } from '@lezer/xml';\nimport { syntaxTree, LRLanguage, indentNodeProp, foldNodeProp, bracketMatchingHandle, LanguageSupport } from '@codemirror/language';\n\nfunction tagName(doc, tag) {\n let name = tag && tag.getChild(\"TagName\");\n return name ? doc.sliceString(name.from, name.to) : \"\";\n}\nfunction elementName(doc, tree) {\n let tag = tree && tree.firstChild;\n return !tag || tag.name != \"OpenTag\" ? \"\" : tagName(doc, tag);\n}\nfunction attrName(doc, tag, pos) {\n let attr = tag && tag.getChildren(\"Attribute\").find(a => a.from <= pos && a.to >= pos);\n let name = attr && attr.getChild(\"AttributeName\");\n return name ? doc.sliceString(name.from, name.to) : \"\";\n}\nfunction findParentElement(tree) {\n for (let cur = tree && tree.parent; cur; cur = cur.parent)\n if (cur.name == \"Element\")\n return cur;\n return null;\n}\nfunction findLocation(state, pos) {\n var _a;\n let at = syntaxTree(state).resolveInner(pos, -1), inTag = null;\n for (let cur = at; !inTag && cur.parent; cur = cur.parent)\n if (cur.name == \"OpenTag\" || cur.name == \"CloseTag\" || cur.name == \"SelfClosingTag\" || cur.name == \"MismatchedCloseTag\")\n inTag = cur;\n if (inTag && (inTag.to > pos || inTag.lastChild.type.isError)) {\n let elt = inTag.parent;\n if (at.name == \"TagName\")\n return inTag.name == \"CloseTag\" || inTag.name == \"MismatchedCloseTag\"\n ? { type: \"closeTag\", from: at.from, context: elt }\n : { type: \"openTag\", from: at.from, context: findParentElement(elt) };\n if (at.name == \"AttributeName\")\n return { type: \"attrName\", from: at.from, context: inTag };\n if (at.name == \"AttributeValue\")\n return { type: \"attrValue\", from: at.from, context: inTag };\n let before = at == inTag || at.name == \"Attribute\" ? at.childBefore(pos) : at;\n if ((before === null || before === void 0 ? void 0 : before.name) == \"StartTag\")\n return { type: \"openTag\", from: pos, context: findParentElement(elt) };\n if ((before === null || before === void 0 ? void 0 : before.name) == \"StartCloseTag\" && before.to <= pos)\n return { type: \"closeTag\", from: pos, context: elt };\n if ((before === null || before === void 0 ? void 0 : before.name) == \"Is\")\n return { type: \"attrValue\", from: pos, context: inTag };\n if (before)\n return { type: \"attrName\", from: pos, context: inTag };\n return null;\n }\n else if (at.name == \"StartCloseTag\") {\n return { type: \"closeTag\", from: pos, context: at.parent };\n }\n while (at.parent && at.to == pos && !((_a = at.lastChild) === null || _a === void 0 ? void 0 : _a.type.isError))\n at = at.parent;\n if (at.name == \"Element\" || at.name == \"Text\" || at.name == \"Document\")\n return { type: \"tag\", from: pos, context: at.name == \"Element\" ? at : findParentElement(at) };\n return null;\n}\nclass Element {\n constructor(spec, attrs, attrValues) {\n this.attrs = attrs;\n this.attrValues = attrValues;\n this.children = [];\n this.name = spec.name;\n this.completion = Object.assign(Object.assign({ type: \"type\" }, spec.completion || {}), { label: this.name });\n this.openCompletion = Object.assign(Object.assign({}, this.completion), { label: \"<\" + this.name });\n this.closeCompletion = Object.assign(Object.assign({}, this.completion), { label: \"</\" + this.name + \">\", boost: 2 });\n this.closeNameCompletion = Object.assign(Object.assign({}, this.completion), { label: this.name + \">\" });\n this.text = spec.textContent ? spec.textContent.map(s => ({ label: s, type: \"text\" })) : [];\n }\n}\nconst Identifier = /^[:\\-\\.\\w\\u00b7-\\uffff]*$/;\nfunction attrCompletion(spec) {\n return Object.assign(Object.assign({ type: \"property\" }, spec.completion || {}), { label: spec.name });\n}\nfunction valueCompletion(spec) {\n return typeof spec == \"string\" ? { label: `\"${spec}\"`, type: \"constant\" }\n : /^\"/.test(spec.label) ? spec\n : Object.assign(Object.assign({}, spec), { label: `\"${spec.label}\"` });\n}\n/**\nCreate a completion source for the given schema.\n*/\nfunction completeFromSchema(eltSpecs, attrSpecs) {\n let allAttrs = [], globalAttrs = [];\n let attrValues = Object.create(null);\n for (let s of attrSpecs) {\n let completion = attrCompletion(s);\n allAttrs.push(completion);\n if (s.global)\n globalAttrs.push(completion);\n if (s.values)\n attrValues[s.name] = s.values.map(valueCompletion);\n }\n let allElements = [], topElements = [];\n let byName = Object.create(null);\n for (let s of eltSpecs) {\n let attrs = globalAttrs, attrVals = attrValues;\n if (s.attributes)\n attrs = attrs.concat(s.attributes.map(s => {\n if (typeof s == \"string\")\n return allAttrs.find(a => a.label == s) || { label: s, type: \"property\" };\n if (s.values) {\n if (attrVals == attrValues)\n attrVals = Object.create(attrVals);\n attrVals[s.name] = s.values.map(valueCompletion);\n }\n return attrCompletion(s);\n }));\n let elt = new Element(s, attrs, attrVals);\n byName[elt.name] = elt;\n allElements.push(elt);\n if (s.top)\n topElements.push(elt);\n }\n if (!topElements.length)\n topElements = allElements;\n for (let i = 0; i < allElements.length; i++) {\n let s = eltSpecs[i], elt = allElements[i];\n if (s.children) {\n for (let ch of s.children)\n if (byName[ch])\n elt.children.push(byName[ch]);\n }\n else {\n elt.children = allElements;\n }\n }\n return cx => {\n var _a;\n let { doc } = cx.state, loc = findLocation(cx.state, cx.pos);\n if (!loc || (loc.type == \"tag\" && !cx.explicit))\n return null;\n let { type, from, context } = loc;\n if (type == \"openTag\") {\n let children = topElements;\n let parentName = elementName(doc, context);\n if (parentName) {\n let parent = byName[parentName];\n children = (parent === null || parent === void 0 ? void 0 : parent.children) || allElements;\n }\n return {\n from,\n options: children.map(ch => ch.completion),\n validFor: Identifier\n };\n }\n else if (type == \"closeTag\") {\n let parentName = elementName(doc, context);\n return parentName ? {\n from,\n to: cx.pos + (doc.sliceString(cx.pos, cx.pos + 1) == \">\" ? 1 : 0),\n options: [((_a = byName[parentName]) === null || _a === void 0 ? void 0 : _a.closeNameCompletion) || { label: parentName + \">\", type: \"type\" }],\n validFor: Identifier\n } : null;\n }\n else if (type == \"attrName\") {\n let parent = byName[tagName(doc, context)];\n return {\n from,\n options: (parent === null || parent === void 0 ? void 0 : parent.attrs) || globalAttrs,\n validFor: Identifier\n };\n }\n else if (type == \"attrValue\") {\n let attr = attrName(doc, context, from);\n if (!attr)\n return null;\n let parent = byName[tagName(doc, context)];\n let values = ((parent === null || parent === void 0 ? void 0 : parent.attrValues) || attrValues)[attr];\n if (!values || !values.length)\n return null;\n return {\n from,\n to: cx.pos + (doc.sliceString(cx.pos, cx.pos + 1) == '\"' ? 1 : 0),\n options: values,\n validFor: /^\"[^\"]*\"?$/\n };\n }\n else if (type == \"tag\") {\n let parentName = elementName(doc, context), parent = byName[parentName];\n let closing = [], last = context && context.lastChild;\n if (parentName && (!last || last.name != \"CloseTag\" || tagName(doc, last) != parentName))\n closing.push(parent ? parent.closeCompletion : { label: \"</\" + parentName + \">\", type: \"type\", boost: 2 });\n let options = closing.concat(((parent === null || parent === void 0 ? void 0 : parent.children) || (context ? allElements : topElements)).map(e => e.openCompletion));\n if (context && (parent === null || parent === void 0 ? void 0 : parent.text.length)) {\n let openTag = context.firstChild;\n if (openTag.to > cx.pos - 20 && !/\\S/.test(cx.state.sliceDoc(openTag.to, cx.pos)))\n options = options.concat(parent.text);\n }\n return {\n from,\n options,\n validFor: /^<\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/\n };\n }\n else {\n return null;\n }\n };\n}\n\n/**\nA language provider based on the [Lezer XML\nparser](https://github.com/lezer-parser/xml), extended with\nhighlighting and indentation information.\n*/\nconst xmlLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"xml\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Element(context) {\n let closed = /^\\s*<\\//.test(context.textAfter);\n return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);\n },\n \"OpenTag CloseTag SelfClosingTag\"(context) {\n return context.column(context.node.from) + context.unit;\n }\n }),\n /*@__PURE__*/foldNodeProp.add({\n Element(subtree) {\n let first = subtree.firstChild, last = subtree.lastChild;\n if (!first || first.name != \"OpenTag\")\n return null;\n return { from: first.to, to: last.name == \"CloseTag\" ? last.from : subtree.to };\n }\n }),\n /*@__PURE__*/bracketMatchingHandle.add({\n \"OpenTag CloseTag\": node => node.getChild(\"TagName\")\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"<!--\", close: \"-->\" } },\n indentOnInput: /^\\s*<\\/$/\n }\n});\n/**\nXML language support. Includes schema-based autocompletion when\nconfigured.\n*/\nfunction xml(conf = {}) {\n return new LanguageSupport(xmlLanguage, xmlLanguage.data.of({\n autocomplete: completeFromSchema(conf.elements || [], conf.attributes || [])\n }));\n}\n\nexport { completeFromSchema, xml, xmlLanguage };\n"],"names":["Element"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,22 +1,23 @@
1
- import { L as LRParser } from './index-x-zW6gKj.js';
2
- import { b as styleTags, t as tags, d as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, l as foldInside, a as LanguageSupport } from './index-q-qE7-96.js';
1
+ import { L as LRParser } from './index-OpUb5xP6.js';
2
+ import { b as styleTags, t as tags, d as LRLanguage, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, l as foldInside, a as LanguageSupport } from './index-i79QMXpJ.js';
3
+ import './todoList-M-PGJKde.js';
3
4
  import 'atomico';
4
- import './clsx-R7WFaNKL.js';
5
- import './meta-3ZYGAGrY.js';
6
- import './index-JkHHp3K-.js';
7
- import '@milkdown/prose/history';
5
+ import './index-LAdX6LsO.js';
8
6
  import '@milkdown/prose/model';
9
- import '@milkdown/prose/keymap';
10
- import '@milkdown/prose/commands';
11
7
  import '@milkdown/prose';
12
- import '@milkdown/prose/state';
8
+ import '@milkdown/prose/commands';
13
9
  import '@milkdown/prose/inputrules';
14
- import '@milkdown/prose/schema-list';
10
+ import '@milkdown/prose/keymap';
11
+ import '@milkdown/prose/state';
15
12
  import '@milkdown/prose/view';
13
+ import '@milkdown/prose/schema-list';
16
14
  import '@milkdown/prose/transform';
17
- import './helper-iYEjPbOY.js';
18
- import './composed-offset-position.browser.min-Tnm31e-m.js';
19
- import './_view-JjtfhQ8k.js';
15
+ import '@milkdown/prose/history';
16
+ import '@milkdown/prose/tables';
17
+ import './helper-wZAtC67x.js';
18
+ import './floating-ui.dom-CAYjY8Gv.js';
19
+ import './clsx-RxCLxYpD.js';
20
+ import './_view-IlZC8FA6.js';
20
21
 
21
22
  const jsonHighlighting = styleTags({
22
23
  String: tags.string,
@@ -111,4 +112,4 @@ function json() {
111
112
  }
112
113
 
113
114
  export { json, jsonLanguage, jsonParseLinter };
114
- //# sourceMappingURL=index-U8q-F7hU.js.map
115
+ //# sourceMappingURL=index-zrQXXSXm.js.map