@milkdown/crepe 7.7.0 → 7.9.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 (309) hide show
  1. package/lib/cjs/confirm-CNveM9QH.js +26 -0
  2. package/lib/cjs/confirm-CNveM9QH.js.map +1 -0
  3. package/lib/cjs/edit-BUtBJHpV.js +24 -0
  4. package/lib/cjs/edit-BUtBJHpV.js.map +1 -0
  5. package/lib/cjs/functions-BAY51plB.js +39 -0
  6. package/lib/cjs/functions-BAY51plB.js.map +1 -0
  7. package/lib/cjs/image-BXLkOVnO.js +24 -0
  8. package/lib/cjs/image-BXLkOVnO.js.map +1 -0
  9. package/lib/cjs/{index-Dac851tb.js → index-B7gqgc1H.js} +494 -204
  10. package/lib/cjs/index-B7gqgc1H.js.map +1 -0
  11. package/lib/cjs/{index-Dub20F3z.js → index-B91KhPew.js} +4 -4
  12. package/lib/cjs/index-B91KhPew.js.map +1 -0
  13. package/lib/cjs/{index-nrFkJeLW.js → index-BsrJn8Jp.js} +22 -7
  14. package/lib/cjs/index-BsrJn8Jp.js.map +1 -0
  15. package/lib/cjs/{index-BuSAwj4j.js → index-C2CAbC2F.js} +8 -1
  16. package/lib/cjs/index-C2CAbC2F.js.map +1 -0
  17. package/lib/cjs/{index-ooYXC5xk.js → index-CnyNb_OH.js} +45 -45
  18. package/lib/cjs/index-CnyNb_OH.js.map +1 -0
  19. package/lib/cjs/{index-7pgPMFV4.js → index-CoTb-QdE.js} +123 -105
  20. package/lib/cjs/index-CoTb-QdE.js.map +1 -0
  21. package/lib/cjs/index-DEs_IHHy.js +91 -0
  22. package/lib/cjs/index-DEs_IHHy.js.map +1 -0
  23. package/lib/cjs/index-DGAwtnNK.js +349 -0
  24. package/lib/cjs/index-DGAwtnNK.js.map +1 -0
  25. package/lib/cjs/index-DLIudQKW.js +126 -0
  26. package/lib/cjs/index-DLIudQKW.js.map +1 -0
  27. package/lib/cjs/index-Dw6lXgs6.js +81 -0
  28. package/lib/cjs/index-Dw6lXgs6.js.map +1 -0
  29. package/lib/cjs/{index-AlHHvSR_.js → index-xbwf60wt.js} +1 -6
  30. package/lib/cjs/{index-AlHHvSR_.js.map → index-xbwf60wt.js.map} +1 -1
  31. package/lib/cjs/{index-CvmlYYXX.js → index-xbxqAqH2.js} +21 -7
  32. package/lib/cjs/index-xbxqAqH2.js.map +1 -0
  33. package/lib/cjs/index.js +6 -6
  34. package/lib/cjs/plus-XLomtlXf.js +24 -0
  35. package/lib/cjs/plus-XLomtlXf.js.map +1 -0
  36. package/lib/cjs/remove-Ba-ypwBf.js +17 -0
  37. package/lib/cjs/remove-Ba-ypwBf.js.map +1 -0
  38. package/lib/esm/confirm-DtE-HkVd.js +24 -0
  39. package/lib/esm/confirm-DtE-HkVd.js.map +1 -0
  40. package/lib/esm/edit-D--t_JAb.js +22 -0
  41. package/lib/esm/edit-D--t_JAb.js.map +1 -0
  42. package/lib/esm/functions-DlJPkGmE.js +36 -0
  43. package/lib/esm/functions-DlJPkGmE.js.map +1 -0
  44. package/lib/esm/image-DoB1o1sl.js +22 -0
  45. package/lib/esm/image-DoB1o1sl.js.map +1 -0
  46. package/lib/esm/index-BAQT-9au.js +347 -0
  47. package/lib/esm/index-BAQT-9au.js.map +1 -0
  48. package/lib/esm/{index-DOrkOhki.js → index-BCvtgOeI.js} +4 -4
  49. package/lib/esm/index-BCvtgOeI.js.map +1 -0
  50. package/lib/esm/{index-s33c_M2f.js → index-BDZ_pnSv.js} +122 -104
  51. package/lib/esm/index-BDZ_pnSv.js.map +1 -0
  52. package/lib/esm/{index-D6fLMv29.js → index-BPG8iO8t.js} +2 -6
  53. package/lib/esm/{index-D6fLMv29.js.map → index-BPG8iO8t.js.map} +1 -1
  54. package/lib/esm/{index-DcRgwPLd.js → index-BUBXHhHG.js} +18 -3
  55. package/lib/esm/index-BUBXHhHG.js.map +1 -0
  56. package/lib/esm/{index-CxJ9fxJm.js → index-Bvz1Yyiz.js} +8 -1
  57. package/lib/esm/index-Bvz1Yyiz.js.map +1 -0
  58. package/lib/esm/index-C1aVAv1l.js +124 -0
  59. package/lib/esm/index-C1aVAv1l.js.map +1 -0
  60. package/lib/esm/{index-uHWmZXqe.js → index-CM4urRY9.js} +480 -190
  61. package/lib/esm/index-CM4urRY9.js.map +1 -0
  62. package/lib/esm/{index-BFsG6770.js → index-ChR5Qhyf.js} +17 -3
  63. package/lib/esm/index-ChR5Qhyf.js.map +1 -0
  64. package/lib/esm/index-CwMVnVeI.js +89 -0
  65. package/lib/esm/index-CwMVnVeI.js.map +1 -0
  66. package/lib/esm/{index-CLpluqvF.js → index-Dc_wWopW.js} +46 -46
  67. package/lib/esm/index-Dc_wWopW.js.map +1 -0
  68. package/lib/esm/index-E8UgFLeN.js +79 -0
  69. package/lib/esm/index-E8UgFLeN.js.map +1 -0
  70. package/lib/esm/index.js +6 -6
  71. package/lib/esm/plus-lrX0Q75O.js +22 -0
  72. package/lib/esm/plus-lrX0Q75O.js.map +1 -0
  73. package/lib/esm/remove-D3g0Cd6_.js +15 -0
  74. package/lib/esm/remove-D3g0Cd6_.js.map +1 -0
  75. package/lib/theme/_internal/classic-common.css +7 -1
  76. package/lib/theme/common/block-edit.css +23 -23
  77. package/lib/theme/common/code-mirror.css +43 -44
  78. package/lib/theme/common/cursor.css +5 -0
  79. package/lib/theme/common/image-block.css +79 -81
  80. package/lib/theme/common/latex.css +6 -6
  81. package/lib/theme/common/link-tooltip.css +21 -21
  82. package/lib/theme/common/list-item.css +11 -10
  83. package/lib/theme/common/table.css +39 -39
  84. package/lib/theme/common/toolbar.css +8 -8
  85. package/lib/tsconfig.tsbuildinfo +1 -0
  86. package/lib/types/core/crepe.d.ts +6 -6
  87. package/lib/types/core/crepe.d.ts.map +1 -1
  88. package/lib/types/core/slice.d.ts.map +1 -1
  89. package/lib/types/feature/block-edit/handle/component.d.ts +4 -8
  90. package/lib/types/feature/block-edit/handle/component.d.ts.map +1 -1
  91. package/lib/types/feature/block-edit/handle/index.d.ts +1 -1
  92. package/lib/types/feature/block-edit/handle/index.d.ts.map +1 -1
  93. package/lib/types/feature/block-edit/index.d.ts.map +1 -1
  94. package/lib/types/feature/block-edit/menu/component.d.ts +8 -11
  95. package/lib/types/feature/block-edit/menu/component.d.ts.map +1 -1
  96. package/lib/types/feature/block-edit/menu/config.d.ts.map +1 -1
  97. package/lib/types/feature/block-edit/menu/index.d.ts.map +1 -1
  98. package/lib/types/feature/block-edit/menu/utils.d.ts +2 -3
  99. package/lib/types/feature/block-edit/menu/utils.d.ts.map +1 -1
  100. package/lib/types/feature/code-mirror/index.d.ts +3 -4
  101. package/lib/types/feature/code-mirror/index.d.ts.map +1 -1
  102. package/lib/types/feature/cursor/index.d.ts +1 -0
  103. package/lib/types/feature/cursor/index.d.ts.map +1 -1
  104. package/lib/types/feature/image-block/index.d.ts.map +1 -1
  105. package/lib/types/feature/index.d.ts +4 -4
  106. package/lib/types/feature/index.d.ts.map +1 -1
  107. package/lib/types/feature/latex/index.d.ts.map +1 -1
  108. package/lib/types/feature/latex/inline-tooltip/component.d.ts +6 -10
  109. package/lib/types/feature/latex/inline-tooltip/component.d.ts.map +1 -1
  110. package/lib/types/feature/latex/inline-tooltip/view.d.ts.map +1 -1
  111. package/lib/types/feature/latex/input-rule.d.ts.map +1 -1
  112. package/lib/types/feature/latex/remark.d.ts.map +1 -1
  113. package/lib/types/feature/link-tooltip/index.d.ts.map +1 -1
  114. package/lib/types/feature/list-item/index.d.ts.map +1 -1
  115. package/lib/types/feature/placeholder/index.d.ts.map +1 -1
  116. package/lib/types/feature/shared.d.ts +1 -2
  117. package/lib/types/feature/shared.d.ts.map +1 -1
  118. package/lib/types/feature/table/index.d.ts.map +1 -1
  119. package/lib/types/feature/toolbar/component.d.ts +9 -12
  120. package/lib/types/feature/toolbar/component.d.ts.map +1 -1
  121. package/lib/types/feature/toolbar/index.d.ts.map +1 -1
  122. package/lib/types/icons/align-center.d.ts +1 -1
  123. package/lib/types/icons/align-center.d.ts.map +1 -1
  124. package/lib/types/icons/align-left.d.ts +1 -1
  125. package/lib/types/icons/align-left.d.ts.map +1 -1
  126. package/lib/types/icons/align-right.d.ts +1 -1
  127. package/lib/types/icons/align-right.d.ts.map +1 -1
  128. package/lib/types/icons/bold.d.ts +1 -1
  129. package/lib/types/icons/bold.d.ts.map +1 -1
  130. package/lib/types/icons/bullet-list.d.ts +1 -1
  131. package/lib/types/icons/bullet-list.d.ts.map +1 -1
  132. package/lib/types/icons/bullet.d.ts +1 -1
  133. package/lib/types/icons/bullet.d.ts.map +1 -1
  134. package/lib/types/icons/caption.d.ts +1 -1
  135. package/lib/types/icons/caption.d.ts.map +1 -1
  136. package/lib/types/icons/check-box-checked.d.ts +1 -1
  137. package/lib/types/icons/check-box-checked.d.ts.map +1 -1
  138. package/lib/types/icons/check-box-unchecked.d.ts +1 -1
  139. package/lib/types/icons/check-box-unchecked.d.ts.map +1 -1
  140. package/lib/types/icons/chevron-down.d.ts +1 -1
  141. package/lib/types/icons/chevron-down.d.ts.map +1 -1
  142. package/lib/types/icons/clear.d.ts +1 -1
  143. package/lib/types/icons/clear.d.ts.map +1 -1
  144. package/lib/types/icons/code.d.ts +1 -1
  145. package/lib/types/icons/code.d.ts.map +1 -1
  146. package/lib/types/icons/confirm.d.ts +1 -1
  147. package/lib/types/icons/confirm.d.ts.map +1 -1
  148. package/lib/types/icons/copy.d.ts +1 -1
  149. package/lib/types/icons/copy.d.ts.map +1 -1
  150. package/lib/types/icons/divider.d.ts +1 -1
  151. package/lib/types/icons/divider.d.ts.map +1 -1
  152. package/lib/types/icons/drag-handle.d.ts +1 -1
  153. package/lib/types/icons/drag-handle.d.ts.map +1 -1
  154. package/lib/types/icons/edit.d.ts +1 -1
  155. package/lib/types/icons/edit.d.ts.map +1 -1
  156. package/lib/types/icons/functions.d.ts +1 -1
  157. package/lib/types/icons/functions.d.ts.map +1 -1
  158. package/lib/types/icons/h1.d.ts +1 -1
  159. package/lib/types/icons/h1.d.ts.map +1 -1
  160. package/lib/types/icons/h2.d.ts +1 -1
  161. package/lib/types/icons/h2.d.ts.map +1 -1
  162. package/lib/types/icons/h3.d.ts +1 -1
  163. package/lib/types/icons/h3.d.ts.map +1 -1
  164. package/lib/types/icons/h4.d.ts +1 -1
  165. package/lib/types/icons/h4.d.ts.map +1 -1
  166. package/lib/types/icons/h5.d.ts +1 -1
  167. package/lib/types/icons/h5.d.ts.map +1 -1
  168. package/lib/types/icons/h6.d.ts +1 -1
  169. package/lib/types/icons/h6.d.ts.map +1 -1
  170. package/lib/types/icons/image.d.ts +1 -1
  171. package/lib/types/icons/image.d.ts.map +1 -1
  172. package/lib/types/icons/italic.d.ts +1 -1
  173. package/lib/types/icons/italic.d.ts.map +1 -1
  174. package/lib/types/icons/link.d.ts +1 -1
  175. package/lib/types/icons/link.d.ts.map +1 -1
  176. package/lib/types/icons/menu.d.ts +1 -1
  177. package/lib/types/icons/menu.d.ts.map +1 -1
  178. package/lib/types/icons/ordered-list.d.ts +1 -1
  179. package/lib/types/icons/ordered-list.d.ts.map +1 -1
  180. package/lib/types/icons/plus.d.ts +1 -1
  181. package/lib/types/icons/plus.d.ts.map +1 -1
  182. package/lib/types/icons/quote.d.ts +1 -1
  183. package/lib/types/icons/quote.d.ts.map +1 -1
  184. package/lib/types/icons/remove.d.ts +1 -1
  185. package/lib/types/icons/remove.d.ts.map +1 -1
  186. package/lib/types/icons/search.d.ts +1 -1
  187. package/lib/types/icons/search.d.ts.map +1 -1
  188. package/lib/types/icons/strikethrough.d.ts +1 -1
  189. package/lib/types/icons/strikethrough.d.ts.map +1 -1
  190. package/lib/types/icons/table.d.ts +1 -1
  191. package/lib/types/icons/table.d.ts.map +1 -1
  192. package/lib/types/icons/text.d.ts +1 -1
  193. package/lib/types/icons/text.d.ts.map +1 -1
  194. package/lib/types/icons/todo-list.d.ts +1 -1
  195. package/lib/types/icons/todo-list.d.ts.map +1 -1
  196. package/lib/types/icons/visibility-off.d.ts +1 -1
  197. package/lib/types/icons/visibility-off.d.ts.map +1 -1
  198. package/package.json +5 -26
  199. package/src/core/crepe.ts +13 -12
  200. package/src/core/slice.ts +2 -0
  201. package/src/feature/block-edit/handle/component.tsx +60 -0
  202. package/src/feature/block-edit/handle/index.ts +22 -14
  203. package/src/feature/block-edit/index.ts +3 -1
  204. package/src/feature/block-edit/menu/component.tsx +237 -0
  205. package/src/feature/block-edit/menu/config.ts +6 -3
  206. package/src/feature/block-edit/menu/index.ts +55 -17
  207. package/src/feature/block-edit/menu/utils.ts +3 -3
  208. package/src/feature/code-mirror/index.ts +20 -20
  209. package/src/feature/cursor/index.ts +10 -0
  210. package/src/feature/image-block/index.ts +3 -1
  211. package/src/feature/index.ts +5 -4
  212. package/src/feature/latex/index.ts +8 -8
  213. package/src/feature/latex/inline-tooltip/component.tsx +57 -0
  214. package/src/feature/latex/inline-tooltip/view.ts +30 -17
  215. package/src/feature/latex/input-rule.ts +4 -3
  216. package/src/feature/latex/remark.ts +3 -2
  217. package/src/feature/link-tooltip/index.ts +3 -1
  218. package/src/feature/list-item/index.ts +8 -16
  219. package/src/feature/placeholder/index.ts +6 -3
  220. package/src/feature/shared.ts +1 -2
  221. package/src/feature/table/index.ts +2 -0
  222. package/src/feature/toolbar/component.tsx +256 -0
  223. package/src/feature/toolbar/index.ts +34 -17
  224. package/src/icons/align-center.ts +1 -3
  225. package/src/icons/align-left.ts +1 -3
  226. package/src/icons/align-right.ts +1 -3
  227. package/src/icons/bold.ts +1 -3
  228. package/src/icons/bullet-list.ts +1 -3
  229. package/src/icons/bullet.ts +1 -3
  230. package/src/icons/caption.ts +1 -3
  231. package/src/icons/check-box-checked.ts +1 -3
  232. package/src/icons/check-box-unchecked.ts +1 -3
  233. package/src/icons/chevron-down.ts +1 -3
  234. package/src/icons/clear.ts +1 -3
  235. package/src/icons/code.ts +1 -3
  236. package/src/icons/confirm.ts +1 -3
  237. package/src/icons/copy.ts +1 -3
  238. package/src/icons/divider.ts +1 -3
  239. package/src/icons/drag-handle.ts +1 -3
  240. package/src/icons/edit.ts +1 -3
  241. package/src/icons/functions.ts +1 -3
  242. package/src/icons/h1.ts +1 -3
  243. package/src/icons/h2.ts +1 -3
  244. package/src/icons/h3.ts +1 -3
  245. package/src/icons/h4.ts +1 -3
  246. package/src/icons/h5.ts +1 -3
  247. package/src/icons/h6.ts +1 -3
  248. package/src/icons/image.ts +1 -3
  249. package/src/icons/italic.ts +1 -3
  250. package/src/icons/link.ts +1 -3
  251. package/src/icons/menu.ts +1 -3
  252. package/src/icons/ordered-list.ts +1 -3
  253. package/src/icons/plus.ts +1 -3
  254. package/src/icons/quote.ts +1 -3
  255. package/src/icons/remove.ts +1 -3
  256. package/src/icons/search.ts +1 -3
  257. package/src/icons/strikethrough.ts +1 -3
  258. package/src/icons/table.ts +1 -3
  259. package/src/icons/text.ts +1 -3
  260. package/src/icons/todo-list.ts +1 -3
  261. package/src/icons/visibility-off.ts +1 -3
  262. package/src/theme/_internal/classic-common.css +7 -1
  263. package/src/theme/common/block-edit.css +2 -2
  264. package/src/theme/common/code-mirror.css +5 -6
  265. package/src/theme/common/cursor.css +5 -0
  266. package/src/theme/common/image-block.css +9 -11
  267. package/src/theme/common/latex.css +1 -1
  268. package/src/theme/common/link-tooltip.css +2 -2
  269. package/src/theme/common/list-item.css +3 -2
  270. package/src/theme/common/table.css +2 -2
  271. package/src/theme/common/toolbar.css +1 -1
  272. package/lib/cjs/functions-Dk90yOUc.js +0 -690
  273. package/lib/cjs/functions-Dk90yOUc.js.map +0 -1
  274. package/lib/cjs/index-7pgPMFV4.js.map +0 -1
  275. package/lib/cjs/index-Bjy2DUKs.js +0 -272
  276. package/lib/cjs/index-Bjy2DUKs.js.map +0 -1
  277. package/lib/cjs/index-BuSAwj4j.js.map +0 -1
  278. package/lib/cjs/index-CvmlYYXX.js.map +0 -1
  279. package/lib/cjs/index-D3lu92SA.js +0 -39
  280. package/lib/cjs/index-D3lu92SA.js.map +0 -1
  281. package/lib/cjs/index-DQll67YS.js +0 -65
  282. package/lib/cjs/index-DQll67YS.js.map +0 -1
  283. package/lib/cjs/index-Dac851tb.js.map +0 -1
  284. package/lib/cjs/index-Dub20F3z.js.map +0 -1
  285. package/lib/cjs/index-hPk2gbSt.js +0 -35
  286. package/lib/cjs/index-hPk2gbSt.js.map +0 -1
  287. package/lib/cjs/index-nrFkJeLW.js.map +0 -1
  288. package/lib/cjs/index-ooYXC5xk.js.map +0 -1
  289. package/lib/esm/functions-Bsik6ikd.js +0 -652
  290. package/lib/esm/functions-Bsik6ikd.js.map +0 -1
  291. package/lib/esm/index-B3KiKTSt.js +0 -63
  292. package/lib/esm/index-B3KiKTSt.js.map +0 -1
  293. package/lib/esm/index-BFsG6770.js.map +0 -1
  294. package/lib/esm/index-CBrOT1fW.js +0 -37
  295. package/lib/esm/index-CBrOT1fW.js.map +0 -1
  296. package/lib/esm/index-CLpluqvF.js.map +0 -1
  297. package/lib/esm/index-CsEtSFhk.js +0 -270
  298. package/lib/esm/index-CsEtSFhk.js.map +0 -1
  299. package/lib/esm/index-Cuk7cL-r.js +0 -33
  300. package/lib/esm/index-Cuk7cL-r.js.map +0 -1
  301. package/lib/esm/index-CxJ9fxJm.js.map +0 -1
  302. package/lib/esm/index-DOrkOhki.js.map +0 -1
  303. package/lib/esm/index-DcRgwPLd.js.map +0 -1
  304. package/lib/esm/index-s33c_M2f.js.map +0 -1
  305. package/lib/esm/index-uHWmZXqe.js.map +0 -1
  306. package/src/feature/block-edit/handle/component.ts +0 -54
  307. package/src/feature/block-edit/menu/component.ts +0 -241
  308. package/src/feature/latex/inline-tooltip/component.ts +0 -38
  309. package/src/feature/toolbar/component.ts +0 -236
@@ -0,0 +1,79 @@
1
+ import { listItemBlockComponent, listItemBlockConfig } from '@milkdown/kit/component/list-item-block';
2
+
3
+ const bulletIcon = `
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="24"
7
+ height="24"
8
+ viewBox="0 0 24 24"
9
+ >
10
+ <g clip-path="url(#clip0_952_6527)">
11
+ <circle cx="12" cy="12" r="3" />
12
+ </g>
13
+ <defs>
14
+ <clipPath id="clip0_952_6527">
15
+ <rect width="24" height="24" />
16
+ </clipPath>
17
+ </defs>
18
+ </svg>
19
+ `;
20
+
21
+ const checkBoxCheckedIcon = `
22
+ <svg
23
+ xmlns="http://www.w3.org/2000/svg"
24
+ width="24"
25
+ height="24"
26
+ viewBox="0 0 24 24"
27
+ >
28
+ <g clip-path="url(#clip0_1803_1151)">
29
+ <path
30
+ d="M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3ZM10.71 16.29C10.32 16.68 9.69 16.68 9.3 16.29L5.71 12.7C5.32 12.31 5.32 11.68 5.71 11.29C6.1 10.9 6.73 10.9 7.12 11.29L10 14.17L16.88 7.29C17.27 6.9 17.9 6.9 18.29 7.29C18.68 7.68 18.68 8.31 18.29 8.7L10.71 16.29Z"
31
+ />
32
+ </g>
33
+ <defs>
34
+ <clipPath id="clip0_1803_1151">
35
+ <rect width="24" height="24" />
36
+ </clipPath>
37
+ </defs>
38
+ </svg>
39
+ `;
40
+
41
+ const checkBoxUncheckedIcon = `
42
+ <svg
43
+ xmlns="http://www.w3.org/2000/svg"
44
+ width="24"
45
+ height="24"
46
+ viewBox="0 0 24 24"
47
+ >
48
+ <g clip-path="url(#clip0_1803_535)">
49
+ <path
50
+ d="M18 19H6C5.45 19 5 18.55 5 18V6C5 5.45 5.45 5 6 5H18C18.55 5 19 5.45 19 6V18C19 18.55 18.55 19 18 19ZM19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z"
51
+ />
52
+ </g>
53
+ <defs>
54
+ <clipPath id="clip0_1803_535">
55
+ <rect width="24" height="24" />
56
+ </clipPath>
57
+ </defs>
58
+ </svg>
59
+ `;
60
+
61
+ function configureListItem(ctx, config) {
62
+ ctx.set(listItemBlockConfig.key, {
63
+ renderLabel: ({ label, listType, checked }) => {
64
+ var _a, _b, _c, _d, _e, _f;
65
+ if (checked == null) {
66
+ if (listType === "bullet") return (_b = (_a = config == null ? void 0 : config.bulletIcon) == null ? void 0 : _a.call(config)) != null ? _b : bulletIcon;
67
+ return label;
68
+ }
69
+ if (checked) return (_d = (_c = config == null ? void 0 : config.checkBoxCheckedIcon) == null ? void 0 : _c.call(config)) != null ? _d : checkBoxCheckedIcon;
70
+ return (_f = (_e = config == null ? void 0 : config.checkBoxUncheckedIcon) == null ? void 0 : _e.call(config)) != null ? _f : checkBoxUncheckedIcon;
71
+ }
72
+ });
73
+ }
74
+ const defineFeature = (editor, config) => {
75
+ editor.config((ctx) => configureListItem(ctx, config)).use(listItemBlockComponent);
76
+ };
77
+
78
+ export { defineFeature };
79
+ //# sourceMappingURL=index-E8UgFLeN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-E8UgFLeN.js","sources":["../../src/icons/bullet.ts","../../src/icons/check-box-checked.ts","../../src/icons/check-box-unchecked.ts","../../src/feature/list-item/index.ts"],"sourcesContent":["export const bulletIcon = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_952_6527)\">\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </g>\n <defs>\n <clipPath id=\"clip0_952_6527\">\n <rect width=\"24\" height=\"24\" />\n </clipPath>\n </defs>\n </svg>\n`\n","export const checkBoxCheckedIcon = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_1803_1151)\">\n <path\n d=\"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3ZM10.71 16.29C10.32 16.68 9.69 16.68 9.3 16.29L5.71 12.7C5.32 12.31 5.32 11.68 5.71 11.29C6.1 10.9 6.73 10.9 7.12 11.29L10 14.17L16.88 7.29C17.27 6.9 17.9 6.9 18.29 7.29C18.68 7.68 18.68 8.31 18.29 8.7L10.71 16.29Z\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_1803_1151\">\n <rect width=\"24\" height=\"24\" />\n </clipPath>\n </defs>\n </svg>\n`\n","export const checkBoxUncheckedIcon = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_1803_535)\">\n <path\n d=\"M18 19H6C5.45 19 5 18.55 5 18V6C5 5.45 5.45 5 6 5H18C18.55 5 19 5.45 19 6V18C19 18.55 18.55 19 18 19ZM19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_1803_535\">\n <rect width=\"24\" height=\"24\" />\n </clipPath>\n </defs>\n </svg>\n`\n","import type { Ctx } from '@milkdown/kit/ctx'\n\nimport {\n listItemBlockComponent,\n listItemBlockConfig,\n} from '@milkdown/kit/component/list-item-block'\n\nimport type { DefineFeature, Icon } from '../shared'\n\nimport {\n bulletIcon,\n checkBoxCheckedIcon,\n checkBoxUncheckedIcon,\n} from '../../icons'\n\nexport interface ListItemConfig {\n bulletIcon: Icon\n checkBoxCheckedIcon: Icon\n checkBoxUncheckedIcon: Icon\n}\n\nexport type ListItemFeatureConfig = Partial<ListItemConfig>\n\nfunction configureListItem(ctx: Ctx, config?: ListItemFeatureConfig) {\n ctx.set(listItemBlockConfig.key, {\n renderLabel: ({ label, listType, checked }) => {\n if (checked == null) {\n if (listType === 'bullet') return config?.bulletIcon?.() ?? bulletIcon\n\n return label\n }\n\n if (checked) return config?.checkBoxCheckedIcon?.() ?? checkBoxCheckedIcon\n\n return config?.checkBoxUncheckedIcon?.() ?? checkBoxUncheckedIcon\n },\n })\n}\n\nexport const defineFeature: DefineFeature<ListItemFeatureConfig> = (\n editor,\n config\n) => {\n editor\n .config((ctx) => configureListItem(ctx, config))\n .use(listItemBlockComponent)\n}\n"],"names":[],"mappings":";;AAAO,MAAM,UAAa,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;ACAnB,MAAM,mBAAsB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;ACA5B,MAAM,qBAAwB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;ACuBrC,SAAS,iBAAA,CAAkB,KAAU,MAAgC,EAAA;AACnE,EAAI,GAAA,CAAA,GAAA,CAAI,oBAAoB,GAAK,EAAA;AAAA,IAC/B,aAAa,CAAC,EAAE,KAAO,EAAA,QAAA,EAAU,SAAc,KAAA;AAzBnD,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0BM,MAAA,IAAI,WAAW,IAAM,EAAA;AACnB,QAAA,IAAI,QAAa,KAAA,QAAA,EAAiB,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,eAAR,IAA0B,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,UAAA;AAE5D,QAAO,OAAA,KAAA;AAAA;AAGT,MAAA,IAAI,OAAS,EAAA,OAAA,CAAO,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,mBAAA,KAAR,IAAmC,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,mBAAA;AAEvD,MAAO,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,0BAAR,IAAqC,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,qBAAA;AAAA;AAC9C,GACD,CAAA;AACH;AAEa,MAAA,aAAA,GAAsD,CACjE,MAAA,EACA,MACG,KAAA;AACH,EACG,MAAA,CAAA,MAAA,CAAO,CAAC,GAAQ,KAAA,iBAAA,CAAkB,KAAK,MAAM,CAAC,CAC9C,CAAA,GAAA,CAAI,sBAAsB,CAAA;AAC/B;;;;"}
package/lib/esm/index.js CHANGED
@@ -1,12 +1,12 @@
1
- export { a as Crepe, C as CrepeFeature, c as crepeCtx } from './index-CLpluqvF.js';
1
+ export { a as Crepe, C as CrepeFeature, c as crepeCtx } from './index-Dc_wWopW.js';
2
2
  import '@milkdown/kit/core';
3
- import '@milkdown/kit/preset/commonmark';
4
- import '@milkdown/kit/preset/gfm';
3
+ import '@milkdown/kit/plugin/clipboard';
5
4
  import '@milkdown/kit/plugin/history';
6
5
  import '@milkdown/kit/plugin/indent';
7
- import '@milkdown/kit/utils';
8
- import '@milkdown/kit/plugin/clipboard';
6
+ import '@milkdown/kit/plugin/listener';
9
7
  import '@milkdown/kit/plugin/trailing';
8
+ import '@milkdown/kit/preset/commonmark';
9
+ import '@milkdown/kit/preset/gfm';
10
+ import '@milkdown/kit/utils';
10
11
  import '@milkdown/kit/ctx';
11
- import '@milkdown/kit/plugin/listener';
12
12
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,22 @@
1
+ const plusIcon = `
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ width="24"
5
+ height="24"
6
+ viewBox="0 0 24 24"
7
+ >
8
+ <g clip-path="url(#clip0_971_7676)">
9
+ <path
10
+ d="M18 13H13V18C13 18.55 12.55 19 12 19C11.45 19 11 18.55 11 18V13H6C5.45 13 5 12.55 5 12C5 11.45 5.45 11 6 11H11V6C11 5.45 11.45 5 12 5C12.55 5 13 5.45 13 6V11H18C18.55 11 19 11.45 19 12C19 12.55 18.55 13 18 13Z"
11
+ />
12
+ </g>
13
+ <defs>
14
+ <clipPath id="clip0_971_7676">
15
+ <rect width="24" height="24" />
16
+ </clipPath>
17
+ </defs>
18
+ </svg>
19
+ `;
20
+
21
+ export { plusIcon as p };
22
+ //# sourceMappingURL=plus-lrX0Q75O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plus-lrX0Q75O.js","sources":["../../src/icons/plus.ts"],"sourcesContent":["export const plusIcon = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_971_7676)\">\n <path\n d=\"M18 13H13V18C13 18.55 12.55 19 12 19C11.45 19 11 18.55 11 18V13H6C5.45 13 5 12.55 5 12C5 11.45 5.45 11 6 11H11V6C11 5.45 11.45 5 12 5C12.55 5 13 5.45 13 6V11H18C18.55 11 19 11.45 19 12C19 12.55 18.55 13 18 13Z\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_971_7676\">\n <rect width=\"24\" height=\"24\" />\n </clipPath>\n </defs>\n </svg>\n`\n"],"names":[],"mappings":"AAAO,MAAM,QAAW,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -0,0 +1,15 @@
1
+ const removeIcon = `
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ width="24"
5
+ height="24"
6
+ viewBox="0 0 24 24"
7
+ >
8
+ <path
9
+ d="M7.30775 20.4997C6.81058 20.4997 6.385 20.3227 6.031 19.9687C5.677 19.6147 5.5 19.1892 5.5 18.692V5.99973H5.25C5.0375 5.99973 4.85942 5.92782 4.71575 5.78398C4.57192 5.64015 4.5 5.46198 4.5 5.24948C4.5 5.03682 4.57192 4.85873 4.71575 4.71523C4.85942 4.57157 5.0375 4.49973 5.25 4.49973H9C9 4.2549 9.08625 4.04624 9.25875 3.87374C9.43108 3.7014 9.63967 3.61523 9.8845 3.61523H14.1155C14.3603 3.61523 14.5689 3.7014 14.7413 3.87374C14.9138 4.04624 15 4.2549 15 4.49973H18.75C18.9625 4.49973 19.1406 4.57165 19.2843 4.71548C19.4281 4.85932 19.5 5.03748 19.5 5.24998C19.5 5.46265 19.4281 5.64073 19.2843 5.78423C19.1406 5.9279 18.9625 5.99973 18.75 5.99973H18.5V18.692C18.5 19.1892 18.323 19.6147 17.969 19.9687C17.615 20.3227 17.1894 20.4997 16.6923 20.4997H7.30775ZM17 5.99973H7V18.692C7 18.7818 7.02883 18.8556 7.0865 18.9132C7.14417 18.9709 7.21792 18.9997 7.30775 18.9997H16.6923C16.7821 18.9997 16.8558 18.9709 16.9135 18.9132C16.9712 18.8556 17 18.7818 17 18.692V5.99973ZM10.1543 16.9997C10.3668 16.9997 10.5448 16.9279 10.6885 16.7842C10.832 16.6404 10.9037 16.4622 10.9037 16.2497V8.74973C10.9037 8.53723 10.8318 8.35907 10.688 8.21523C10.5443 8.07157 10.3662 7.99973 10.1535 7.99973C9.941 7.99973 9.76292 8.07157 9.61925 8.21523C9.47575 8.35907 9.404 8.53723 9.404 8.74973V16.2497C9.404 16.4622 9.47583 16.6404 9.6195 16.7842C9.76333 16.9279 9.94158 16.9997 10.1543 16.9997ZM13.8465 16.9997C14.059 16.9997 14.2371 16.9279 14.3807 16.7842C14.5243 16.6404 14.596 16.4622 14.596 16.2497V8.74973C14.596 8.53723 14.5242 8.35907 14.3805 8.21523C14.2367 8.07157 14.0584 7.99973 13.8458 7.99973C13.6333 7.99973 13.4552 8.07157 13.3115 8.21523C13.168 8.35907 13.0962 8.53723 13.0962 8.74973V16.2497C13.0962 16.4622 13.1682 16.6404 13.312 16.7842C13.4557 16.9279 13.6338 16.9997 13.8465 16.9997Z"
10
+ />
11
+ </svg>
12
+ `;
13
+
14
+ export { removeIcon as r };
15
+ //# sourceMappingURL=remove-D3g0Cd6_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-D3g0Cd6_.js","sources":["../../src/icons/remove.ts"],"sourcesContent":["export const removeIcon = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M7.30775 20.4997C6.81058 20.4997 6.385 20.3227 6.031 19.9687C5.677 19.6147 5.5 19.1892 5.5 18.692V5.99973H5.25C5.0375 5.99973 4.85942 5.92782 4.71575 5.78398C4.57192 5.64015 4.5 5.46198 4.5 5.24948C4.5 5.03682 4.57192 4.85873 4.71575 4.71523C4.85942 4.57157 5.0375 4.49973 5.25 4.49973H9C9 4.2549 9.08625 4.04624 9.25875 3.87374C9.43108 3.7014 9.63967 3.61523 9.8845 3.61523H14.1155C14.3603 3.61523 14.5689 3.7014 14.7413 3.87374C14.9138 4.04624 15 4.2549 15 4.49973H18.75C18.9625 4.49973 19.1406 4.57165 19.2843 4.71548C19.4281 4.85932 19.5 5.03748 19.5 5.24998C19.5 5.46265 19.4281 5.64073 19.2843 5.78423C19.1406 5.9279 18.9625 5.99973 18.75 5.99973H18.5V18.692C18.5 19.1892 18.323 19.6147 17.969 19.9687C17.615 20.3227 17.1894 20.4997 16.6923 20.4997H7.30775ZM17 5.99973H7V18.692C7 18.7818 7.02883 18.8556 7.0865 18.9132C7.14417 18.9709 7.21792 18.9997 7.30775 18.9997H16.6923C16.7821 18.9997 16.8558 18.9709 16.9135 18.9132C16.9712 18.8556 17 18.7818 17 18.692V5.99973ZM10.1543 16.9997C10.3668 16.9997 10.5448 16.9279 10.6885 16.7842C10.832 16.6404 10.9037 16.4622 10.9037 16.2497V8.74973C10.9037 8.53723 10.8318 8.35907 10.688 8.21523C10.5443 8.07157 10.3662 7.99973 10.1535 7.99973C9.941 7.99973 9.76292 8.07157 9.61925 8.21523C9.47575 8.35907 9.404 8.53723 9.404 8.74973V16.2497C9.404 16.4622 9.47583 16.6404 9.6195 16.7842C9.76333 16.9279 9.94158 16.9997 10.1543 16.9997ZM13.8465 16.9997C14.059 16.9997 14.2371 16.9279 14.3807 16.7842C14.5243 16.6404 14.596 16.4622 14.596 16.2497V8.74973C14.596 8.53723 14.5242 8.35907 14.3805 8.21523C14.2367 8.07157 14.0584 7.99973 13.8458 7.99973C13.6333 7.99973 13.4552 8.07157 13.3115 8.21523C13.168 8.35907 13.0962 8.53723 13.0962 8.74973V16.2497C13.0962 16.4622 13.1682 16.6404 13.312 16.7842C13.4557 16.9279 13.6338 16.9997 13.8465 16.9997Z\"\n />\n </svg>\n`\n"],"names":[],"mappings":"AAAO,MAAM,UAAa,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -30,6 +30,12 @@
30
30
  background: var(--crepe-color-background);
31
31
  }
32
32
 
33
+ .milkdown .milkdown-icon {
34
+ display: inline-flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ }
38
+
33
39
  .milkdown .ProseMirror-focused {
34
40
  outline: none;
35
41
  }
@@ -187,7 +193,7 @@
187
193
  transparent 40%
188
194
  );
189
195
  font-family: var(--crepe-font-code);
190
- padding: 0 10px;
196
+ padding: 0 2px;
191
197
  border-radius: 4px;
192
198
  font-size: 87.5%;
193
199
  display: inline-block;
@@ -1,8 +1,8 @@
1
- .milkdown milkdown-block-handle[data-show='false'] {
1
+ .milkdown .milkdown-block-handle[data-show='false'] {
2
2
  opacity: 0;
3
3
  pointer-events: none;
4
4
  }
5
- .milkdown milkdown-block-handle {
5
+ .milkdown .milkdown-block-handle {
6
6
  transition: all 0.2s;
7
7
  position: absolute;
8
8
  cursor: pointer;
@@ -11,27 +11,27 @@
11
11
  align-items: center;
12
12
  gap: 2px;
13
13
  }
14
- .milkdown milkdown-block-handle .operation-item {
14
+ .milkdown .milkdown-block-handle .operation-item {
15
15
  border-radius: 4px;
16
16
  width: 32px;
17
17
  height: 32px;
18
18
  padding: 4px;
19
19
  }
20
- .milkdown milkdown-block-handle .operation-item svg {
20
+ .milkdown .milkdown-block-handle .operation-item svg {
21
21
  width: 24px;
22
22
  height: 24px;
23
23
  fill: var(--crepe-color-outline);
24
24
  }
25
- .milkdown milkdown-block-handle .operation-item:hover {
25
+ .milkdown .milkdown-block-handle .operation-item:hover {
26
26
  background: var(--crepe-color-hover);
27
27
  }
28
- .milkdown milkdown-block-handle .operation-item.active {
28
+ .milkdown .milkdown-block-handle .operation-item.active {
29
29
  background: var(--crepe-color-selected);
30
30
  }
31
- .milkdown milkdown-slash-menu[data-show='false'] {
31
+ .milkdown .milkdown-slash-menu[data-show='false'] {
32
32
  display: none;
33
33
  }
34
- .milkdown milkdown-slash-menu {
34
+ .milkdown .milkdown-slash-menu {
35
35
  position: absolute;
36
36
  display: block;
37
37
  font-family: var(--crepe-font-default);
@@ -40,45 +40,45 @@
40
40
  border-radius: 12px;
41
41
  box-shadow: var(--crepe-shadow-1);
42
42
  }
43
- .milkdown milkdown-slash-menu ul {
43
+ .milkdown .milkdown-slash-menu ul {
44
44
  list-style-type: none;
45
45
  }
46
- .milkdown milkdown-slash-menu ul li {
46
+ .milkdown .milkdown-slash-menu ul li {
47
47
  cursor: pointer;
48
48
  border-radius: 8px;
49
49
  }
50
- .milkdown milkdown-slash-menu .tab-group {
50
+ .milkdown .milkdown-slash-menu .tab-group {
51
51
  border-bottom: 1px solid
52
52
  color-mix(in srgb, var(--crepe-color-outline), transparent 80%);
53
53
  padding: 12px 12px 0;
54
54
  }
55
- .milkdown milkdown-slash-menu .tab-group ul {
55
+ .milkdown .milkdown-slash-menu .tab-group ul {
56
56
  padding: 8px 10px;
57
57
  display: flex;
58
58
  gap: 10px;
59
59
  flex-wrap: nowrap;
60
60
  }
61
- .milkdown milkdown-slash-menu .tab-group ul li {
61
+ .milkdown .milkdown-slash-menu .tab-group ul li {
62
62
  padding: 6px 10px;
63
63
  font-size: 14px;
64
64
  font-style: normal;
65
65
  font-weight: 600;
66
66
  line-height: 20px;
67
67
  }
68
- .milkdown milkdown-slash-menu .tab-group ul li:hover {
68
+ .milkdown .milkdown-slash-menu .tab-group ul li:hover {
69
69
  background: var(--crepe-color-hover);
70
70
  }
71
- .milkdown milkdown-slash-menu .tab-group ul li.selected {
71
+ .milkdown .milkdown-slash-menu .tab-group ul li.selected {
72
72
  background: var(--crepe-color-selected);
73
73
  }
74
- .milkdown milkdown-slash-menu .menu-groups {
74
+ .milkdown .milkdown-slash-menu .menu-groups {
75
75
  padding: 0 12px 12px;
76
76
  max-height: 420px;
77
77
  overflow: auto;
78
78
  overscroll-behavior: contain;
79
79
  scroll-behavior: smooth;
80
80
  }
81
- .milkdown milkdown-slash-menu .menu-groups .menu-group h6 {
81
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group h6 {
82
82
  font-size: 14px;
83
83
  font-style: normal;
84
84
  font-weight: 600;
@@ -91,7 +91,7 @@
91
91
  transparent 40%
92
92
  );
93
93
  }
94
- .milkdown milkdown-slash-menu .menu-groups .menu-group li {
94
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li {
95
95
  min-width: 220px;
96
96
  display: flex;
97
97
  justify-content: flex-start;
@@ -99,25 +99,25 @@
99
99
  gap: 16px;
100
100
  padding: 14px 10px;
101
101
  }
102
- .milkdown milkdown-slash-menu .menu-groups .menu-group li.hover {
102
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li.hover {
103
103
  background: var(--crepe-color-hover);
104
104
  }
105
- .milkdown milkdown-slash-menu .menu-groups .menu-group li.active {
105
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li.active {
106
106
  background: var(--crepe-color-selected);
107
107
  }
108
- .milkdown milkdown-slash-menu .menu-groups .menu-group li > svg {
108
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li > svg {
109
109
  width: 24px;
110
110
  height: 24px;
111
111
  color: var(--crepe-color-outline);
112
112
  fill: var(--crepe-color-outline);
113
113
  }
114
- .milkdown milkdown-slash-menu .menu-groups .menu-group li > span {
114
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group li > span {
115
115
  font-size: 14px;
116
116
  font-style: normal;
117
117
  font-weight: 600;
118
118
  line-height: 20px;
119
119
  }
120
- .milkdown milkdown-slash-menu .menu-groups .menu-group + .menu-group::before {
120
+ .milkdown .milkdown-slash-menu .menu-groups .menu-group + .menu-group::before {
121
121
  content: '';
122
122
  display: block;
123
123
  height: 1px;
@@ -1,4 +1,4 @@
1
- .milkdown milkdown-code-block {
1
+ .milkdown .milkdown-code-block {
2
2
  display: block;
3
3
  position: relative;
4
4
  padding: 8px 20px 20px;
@@ -6,44 +6,43 @@
6
6
  margin: 4px 0;
7
7
  }
8
8
 
9
- .milkdown milkdown-code-block .language-picker {
9
+ .milkdown .milkdown-code-block .language-picker {
10
10
  padding-top: 10px;
11
11
  width: -moz-max-content;
12
12
  width: max-content;
13
13
  position: absolute;
14
14
  z-index: 1;
15
- display: none;
16
15
  }
17
16
 
18
- .milkdown milkdown-code-block .language-picker.show {
19
- display: block;
20
- }
21
-
22
- .milkdown milkdown-code-block .hidden {
17
+ .milkdown .milkdown-code-block .hidden {
23
18
  display: none !important;
24
19
  }
25
20
 
26
- .milkdown milkdown-code-block.selected {
21
+ .milkdown .milkdown-code-block.selected {
27
22
  outline: 1px solid var(--crepe-color-primary);
28
23
  }
29
24
 
30
- .milkdown milkdown-code-block .cm-editor {
25
+ .milkdown .milkdown-code-block .cm-editor {
31
26
  outline: none !important;
32
27
  background: var(--crepe-color-surface);
33
28
  }
34
29
 
35
- .milkdown milkdown-code-block .cm-gutters {
30
+ .milkdown .milkdown-code-block .cm-gutters {
36
31
  border-right: none;
37
32
  background: var(--crepe-color-surface);
38
33
  }
39
34
 
40
- .milkdown milkdown-code-block .tools {
35
+ .milkdown .milkdown-code-block .tools {
41
36
  display: flex;
42
37
  justify-content: space-between;
43
38
  align-items: center;
44
39
  }
45
40
 
46
- .milkdown milkdown-code-block .tools .preview-toggle-button {
41
+ .milkdown .milkdown-code-block .tools input {
42
+ caret-color: var(--crepe-color-outline);
43
+ }
44
+
45
+ .milkdown .milkdown-code-block .tools .preview-toggle-button {
47
46
  background: var(--crepe-color-secondary);
48
47
  color: var(--crepe-color-on-surface-variant);
49
48
  padding: 4px 10px;
@@ -61,13 +60,13 @@
61
60
  gap: 4px;
62
61
  }
63
62
 
64
- .milkdown milkdown-code-block .tools .preview-toggle-button svg {
63
+ .milkdown .milkdown-code-block .tools .preview-toggle-button svg {
65
64
  width: 14px;
66
65
  height: 14px;
67
66
  fill: var(--crepe-color-on-surface-variant);
68
67
  }
69
68
 
70
- .milkdown milkdown-code-block .tools .language-button {
69
+ .milkdown .milkdown-code-block .tools .language-button {
71
70
  display: flex;
72
71
  align-items: center;
73
72
  font-family: var(--crepe-font-default);
@@ -85,11 +84,11 @@
85
84
  transition: opacity 0.2s ease-in-out;
86
85
  }
87
86
 
88
- .milkdown milkdown-code-block .tools .language-button:hover {
87
+ .milkdown .milkdown-code-block .tools .language-button:hover {
89
88
  background: var(--crepe-color-hover);
90
89
  }
91
90
 
92
- .milkdown milkdown-code-block .tools .language-button .expand-icon {
91
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon {
93
92
  transition: transform 0.2s ease-in-out;
94
93
  width: 18px;
95
94
  height: 18px;
@@ -98,30 +97,30 @@
98
97
  align-items: center;
99
98
  }
100
99
 
101
- .milkdown milkdown-code-block .tools .language-button .expand-icon svg {
100
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon svg {
102
101
  width: 14px;
103
102
  height: 14px;
104
103
  color: var(--crepe-color-outline);
105
104
  }
106
105
 
107
- .milkdown milkdown-code-block .tools .language-button[data-expanded='true'] .expand-icon {
106
+ .milkdown .milkdown-code-block .tools .language-button[data-expanded='true'] .expand-icon {
108
107
  transform: rotate(180deg);
109
108
  }
110
109
 
111
- .milkdown milkdown-code-block .tools .language-button .expand-icon svg:focus,
112
- .milkdown milkdown-code-block .tools .language-button .expand-icon:focus-visible {
110
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon svg:focus,
111
+ .milkdown .milkdown-code-block .tools .language-button .expand-icon:focus-visible {
113
112
  outline: none;
114
113
  }
115
114
 
116
- .milkdown milkdown-code-block:hover .language-button {
115
+ .milkdown .milkdown-code-block:hover .language-button {
117
116
  opacity: 1;
118
117
  }
119
118
 
120
- .milkdown milkdown-code-block:hover .preview-toggle-button {
119
+ .milkdown .milkdown-code-block:hover .preview-toggle-button {
121
120
  opacity: 1;
122
121
  }
123
122
 
124
- .milkdown milkdown-code-block .list-wrapper {
123
+ .milkdown .milkdown-code-block .list-wrapper {
125
124
  background: var(--crepe-color-surface-low);
126
125
  border-radius: 12px;
127
126
  box-shadow: var(--crepe-shadow-1);
@@ -129,7 +128,7 @@
129
128
  padding-top: 12px;
130
129
  }
131
130
 
132
- .milkdown milkdown-code-block .language-list {
131
+ .milkdown .milkdown-code-block .language-list {
133
132
  height: 410px;
134
133
  overflow-y: auto;
135
134
  overscroll-behavior: contain;
@@ -137,7 +136,7 @@
137
136
  padding: 0;
138
137
  }
139
138
 
140
- .milkdown milkdown-code-block .language-list-item {
139
+ .milkdown .milkdown-code-block .language-list-item {
141
140
  cursor: pointer;
142
141
  margin: 0;
143
142
  display: flex;
@@ -149,31 +148,31 @@
149
148
  line-height: 20px;
150
149
  }
151
150
 
152
- .milkdown milkdown-code-block .language-list-item:hover {
151
+ .milkdown .milkdown-code-block .language-list-item:hover {
153
152
  background: var(--crepe-color-hover);
154
153
  }
155
154
 
156
- .milkdown milkdown-code-block .language-list-item:focus-visible {
155
+ .milkdown .milkdown-code-block .language-list-item:focus-visible {
157
156
  outline: none;
158
157
  background: var(--crepe-color-hover);
159
158
  }
160
159
 
161
- .milkdown milkdown-code-block .language-list-item .leading,
162
- .milkdown milkdown-code-block .language-list-item .leading svg {
160
+ .milkdown .milkdown-code-block .language-list-item .leading,
161
+ .milkdown .milkdown-code-block .language-list-item .leading svg {
163
162
  width: 24px;
164
163
  height: 24px;
165
164
  }
166
165
 
167
- .milkdown milkdown-code-block .language-list-item.no-result {
166
+ .milkdown .milkdown-code-block .language-list-item.no-result {
168
167
  cursor: default;
169
168
  opacity: 0.6;
170
169
  }
171
170
 
172
- .milkdown milkdown-code-block .language-list-item.no-result:hover {
171
+ .milkdown .milkdown-code-block .language-list-item.no-result:hover {
173
172
  background: transparent;
174
173
  }
175
174
 
176
- .milkdown milkdown-code-block .search-box {
175
+ .milkdown .milkdown-code-block .search-box {
177
176
  display: flex;
178
177
  align-items: center;
179
178
  margin: 0 12px 8px;
@@ -184,55 +183,55 @@
184
183
  padding: 6px 10px;
185
184
  }
186
185
 
187
- .milkdown milkdown-code-block .search-box:has(input:focus) {
186
+ .milkdown .milkdown-code-block .search-box:has(input:focus) {
188
187
  outline: 2px solid var(--crepe-color-primary);
189
188
  }
190
189
 
191
- .milkdown milkdown-code-block .search-box .search-input {
190
+ .milkdown .milkdown-code-block .search-box .search-input {
192
191
  width: 100%;
193
192
  color: var(--crepe-color-on-surface);
194
193
  }
195
194
 
196
- .milkdown milkdown-code-block .search-box .search-icon {
195
+ .milkdown .milkdown-code-block .search-box .search-icon {
197
196
  display: none;
198
197
  }
199
198
 
200
- .milkdown milkdown-code-block .search-box .clear-icon {
199
+ .milkdown .milkdown-code-block .search-box .clear-icon {
201
200
  cursor: pointer;
202
201
  width: 20px;
203
202
  height: 20px;
204
203
  }
205
204
 
206
- .milkdown milkdown-code-block .search-box .clear-icon svg {
205
+ .milkdown .milkdown-code-block .search-box .clear-icon svg {
207
206
  width: 20px;
208
207
  height: 20px;
209
208
  color: var(--crepe-color-primary);
210
209
  fill: var(--crepe-color-primary);
211
210
  }
212
211
 
213
- .milkdown milkdown-code-block .search-box .clear-icon:hover {
212
+ .milkdown .milkdown-code-block .search-box .clear-icon:hover {
214
213
  background: var(--crepe-color-hover);
215
214
  }
216
215
 
217
- .milkdown milkdown-code-block .search-box input {
216
+ .milkdown .milkdown-code-block .search-box input {
218
217
  font-family: var(--crepe-font-default);
219
218
  font-size: 14px;
220
219
  line-height: 20px;
221
220
  background: transparent;
222
221
  }
223
222
 
224
- .milkdown milkdown-code-block .search-box input:focus {
223
+ .milkdown .milkdown-code-block .search-box input:focus {
225
224
  outline: none;
226
225
  }
227
226
 
228
- .milkdown milkdown-code-block .preview-panel .preview-divider {
227
+ .milkdown .milkdown-code-block .preview-panel .preview-divider {
229
228
  height: 1px;
230
229
  opacity: 0.2;
231
230
  background: var(--crepe-color-outline);
232
231
  margin: 6px 0;
233
232
  }
234
233
 
235
- .milkdown milkdown-code-block .preview-panel .preview-label {
234
+ .milkdown .milkdown-code-block .preview-panel .preview-label {
236
235
  margin: 6px 0;
237
236
  font-size: 12px;
238
237
  color: color-mix(
@@ -245,7 +244,7 @@
245
244
  font-family: var(--crepe-font-default);
246
245
  }
247
246
 
248
- .milkdown milkdown-code-block .preview-panel .preview {
247
+ .milkdown .milkdown-code-block .preview-panel .preview {
249
248
  text-align: center;
250
249
  overflow-x: auto;
251
250
  }
@@ -1,4 +1,5 @@
1
1
  @import '@milkdown/kit/prose/gapcursor/style/gapcursor.css';
2
+ @import 'prosemirror-virtual-cursor/style/virtual-cursor.css';
2
3
 
3
4
  .milkdown .crepe-drop-cursor {
4
5
  background-color: color-mix(
@@ -15,3 +16,7 @@
15
16
  box-sizing: border-box;
16
17
  border-top: 1px solid var(--crepe-color-on-background);
17
18
  }
19
+
20
+ .milkdown .ProseMirror-focused {
21
+ --prosemirror-virtual-cursor-color: var(--crepe-color-outline);
22
+ }