@milkdown/crepe 7.3.6 → 7.4.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 (827) hide show
  1. package/lib/cjs/_view-TbSIR42F.js +27 -0
  2. package/lib/cjs/_view-TbSIR42F.js.map +1 -0
  3. package/lib/cjs/apl-99bWvYTf.js +145 -0
  4. package/lib/cjs/apl-99bWvYTf.js.map +1 -0
  5. package/lib/cjs/asciiarmor-cf0JLIr_.js +59 -0
  6. package/lib/cjs/asciiarmor-cf0JLIr_.js.map +1 -0
  7. package/lib/cjs/asn1-H4XzAvBS.js +195 -0
  8. package/lib/cjs/asn1-H4XzAvBS.js.map +1 -0
  9. package/lib/cjs/asterisk-0FgJEfZB.js +190 -0
  10. package/lib/cjs/asterisk-0FgJEfZB.js.map +1 -0
  11. package/lib/cjs/brainfuck-JX7vRZy7.js +73 -0
  12. package/lib/cjs/brainfuck-JX7vRZy7.js.map +1 -0
  13. package/lib/cjs/clike-ueXlMQy5.js +1034 -0
  14. package/lib/cjs/clike-ueXlMQy5.js.map +1 -0
  15. package/lib/cjs/clojure-6iDAG5oi.js +277 -0
  16. package/lib/cjs/clojure-6iDAG5oi.js.map +1 -0
  17. package/lib/cjs/clsx-7JLENl8W.js +62 -0
  18. package/lib/cjs/clsx-7JLENl8W.js.map +1 -0
  19. package/lib/cjs/cmake-L0RIBnfc.js +84 -0
  20. package/lib/cjs/cmake-L0RIBnfc.js.map +1 -0
  21. package/lib/cjs/cobol-oxkMh1GJ.js +238 -0
  22. package/lib/cjs/cobol-oxkMh1GJ.js.map +1 -0
  23. package/lib/cjs/coffeescript--eauIeRQ.js +332 -0
  24. package/lib/cjs/coffeescript--eauIeRQ.js.map +1 -0
  25. package/lib/cjs/commonlisp-pgSu-q6f.js +111 -0
  26. package/lib/cjs/commonlisp-pgSu-q6f.js.map +1 -0
  27. package/lib/cjs/composed-offset-position.browser.min-FwypoGc1.js +1138 -0
  28. package/lib/cjs/composed-offset-position.browser.min-FwypoGc1.js.map +1 -0
  29. package/lib/cjs/crystal-2y3I5ibZ.js +422 -0
  30. package/lib/cjs/crystal-2y3I5ibZ.js.map +1 -0
  31. package/lib/cjs/css-WH69cXzo.js +855 -0
  32. package/lib/cjs/css-WH69cXzo.js.map +1 -0
  33. package/lib/cjs/cypher-da-dqVyQ.js +125 -0
  34. package/lib/cjs/cypher-da-dqVyQ.js.map +1 -0
  35. package/lib/cjs/d-58J7EOkP.js +208 -0
  36. package/lib/cjs/d-58J7EOkP.js.map +1 -0
  37. package/lib/cjs/diff-437Hfzqm.js +33 -0
  38. package/lib/cjs/diff-437Hfzqm.js.map +1 -0
  39. package/lib/cjs/dockerfile-7i0OoaQe.js +202 -0
  40. package/lib/cjs/dockerfile-7i0OoaQe.js.map +1 -0
  41. package/lib/cjs/dtd-AKekCPPB.js +124 -0
  42. package/lib/cjs/dtd-AKekCPPB.js.map +1 -0
  43. package/lib/cjs/dylan-DLEmvz1I.js +340 -0
  44. package/lib/cjs/dylan-DLEmvz1I.js.map +1 -0
  45. package/lib/cjs/ebnf-36cJWqxB.js +154 -0
  46. package/lib/cjs/ebnf-36cJWqxB.js.map +1 -0
  47. package/lib/cjs/ecl-UWr5vJKJ.js +193 -0
  48. package/lib/cjs/ecl-UWr5vJKJ.js.map +1 -0
  49. package/lib/cjs/eiffel-Su-C9LAY.js +149 -0
  50. package/lib/cjs/eiffel-Su-C9LAY.js.map +1 -0
  51. package/lib/cjs/elm-vNNfVJj7.js +233 -0
  52. package/lib/cjs/elm-vNNfVJj7.js.map +1 -0
  53. package/lib/cjs/erlang-NM9dgYaS.js +584 -0
  54. package/lib/cjs/erlang-NM9dgYaS.js.map +1 -0
  55. package/lib/cjs/factor-RWs-4aWg.js +68 -0
  56. package/lib/cjs/factor-RWs-4aWg.js.map +1 -0
  57. package/lib/cjs/fcl-acUhGCfs.js +157 -0
  58. package/lib/cjs/fcl-acUhGCfs.js.map +1 -0
  59. package/lib/cjs/forth-sDkE6z3A.js +167 -0
  60. package/lib/cjs/forth-sDkE6z3A.js.map +1 -0
  61. package/lib/cjs/fortran-gkb4yvdk.js +175 -0
  62. package/lib/cjs/fortran-gkb4yvdk.js.map +1 -0
  63. package/lib/cjs/gas-mNA0qvkv.js +347 -0
  64. package/lib/cjs/gas-mNA0qvkv.js.map +1 -0
  65. package/lib/cjs/gherkin-5uyKpXXh.js +150 -0
  66. package/lib/cjs/gherkin-5uyKpXXh.js.map +1 -0
  67. package/lib/cjs/go-5XitXoIZ.js +167 -0
  68. package/lib/cjs/go-5XitXoIZ.js.map +1 -0
  69. package/lib/cjs/groovy-mz3pWMKN.js +233 -0
  70. package/lib/cjs/groovy-mz3pWMKN.js.map +1 -0
  71. package/lib/cjs/haskell-9KaSS7kb.js +242 -0
  72. package/lib/cjs/haskell-9KaSS7kb.js.map +1 -0
  73. package/lib/cjs/haxe-L8h6Pvni.js +494 -0
  74. package/lib/cjs/haxe-L8h6Pvni.js.map +1 -0
  75. package/lib/cjs/helper-OEW-2Vxr.js +9 -0
  76. package/lib/cjs/helper-OEW-2Vxr.js.map +1 -0
  77. package/lib/cjs/http-BFQQnRR-.js +92 -0
  78. package/lib/cjs/http-BFQQnRR-.js.map +1 -0
  79. package/lib/cjs/idl-29T-AzAy.js +277 -0
  80. package/lib/cjs/idl-29T-AzAy.js.map +1 -0
  81. package/lib/cjs/index-2oxl5Zo4.js +551 -0
  82. package/lib/cjs/index-2oxl5Zo4.js.map +1 -0
  83. package/lib/cjs/index-5PcT4iSf.js +107 -0
  84. package/lib/cjs/index-5PcT4iSf.js.map +1 -0
  85. package/lib/cjs/index-78P4PeZ9.js +361 -0
  86. package/lib/cjs/index-78P4PeZ9.js.map +1 -0
  87. package/lib/cjs/index-GEIgbcVc.js +1028 -0
  88. package/lib/cjs/index-GEIgbcVc.js.map +1 -0
  89. package/lib/cjs/index-GKolgvC5.js +505 -0
  90. package/lib/cjs/index-GKolgvC5.js.map +1 -0
  91. package/lib/cjs/index-JAqL0ybh.js +55 -0
  92. package/lib/cjs/index-JAqL0ybh.js.map +1 -0
  93. package/lib/cjs/index-LdEYPSZc.js +80 -0
  94. package/lib/cjs/index-LdEYPSZc.js.map +1 -0
  95. package/lib/cjs/index-Ne_pk53w.js +178 -0
  96. package/lib/cjs/index-Ne_pk53w.js.map +1 -0
  97. package/lib/cjs/index-O3vRXWIP.js +199 -0
  98. package/lib/cjs/index-O3vRXWIP.js.map +1 -0
  99. package/lib/cjs/index-OA_u95ey.js +531 -0
  100. package/lib/cjs/index-OA_u95ey.js.map +1 -0
  101. package/lib/cjs/index-OIQn1x0L.js +262 -0
  102. package/lib/cjs/index-OIQn1x0L.js.map +1 -0
  103. package/lib/cjs/index-OtaMLv5l.js +397 -0
  104. package/lib/cjs/index-OtaMLv5l.js.map +1 -0
  105. package/lib/cjs/index-PF7s7DOo.js +386 -0
  106. package/lib/cjs/index-PF7s7DOo.js.map +1 -0
  107. package/lib/cjs/index-SxWWV8XD.js +442 -0
  108. package/lib/cjs/index-SxWWV8XD.js.map +1 -0
  109. package/lib/cjs/index-TEjdwq--.js +2518 -0
  110. package/lib/cjs/index-TEjdwq--.js.map +1 -0
  111. package/lib/cjs/index-de3dfsQr.js +1044 -0
  112. package/lib/cjs/index-de3dfsQr.js.map +1 -0
  113. package/lib/cjs/index-fkT0ywfA.js +698 -0
  114. package/lib/cjs/index-fkT0ywfA.js.map +1 -0
  115. package/lib/cjs/index-i0_v2uVp.js +202 -0
  116. package/lib/cjs/index-i0_v2uVp.js.map +1 -0
  117. package/lib/cjs/index-kNI3S3lF.js +22477 -0
  118. package/lib/cjs/index-kNI3S3lF.js.map +1 -0
  119. package/lib/cjs/index-kvO8ReCY.js +1960 -0
  120. package/lib/cjs/index-kvO8ReCY.js.map +1 -0
  121. package/lib/cjs/index-llNS_EuP.js +25695 -0
  122. package/lib/cjs/index-llNS_EuP.js.map +1 -0
  123. package/lib/cjs/index-lrFGGa_l.js +404 -0
  124. package/lib/cjs/index-lrFGGa_l.js.map +1 -0
  125. package/lib/cjs/index-mJ47ZWO2.js +155 -0
  126. package/lib/cjs/index-mJ47ZWO2.js.map +1 -0
  127. package/lib/cjs/index-ortUqbAp.js +463 -0
  128. package/lib/cjs/index-ortUqbAp.js.map +1 -0
  129. package/lib/cjs/index-qRg5-QJH.js +160 -0
  130. package/lib/cjs/index-qRg5-QJH.js.map +1 -0
  131. package/lib/cjs/index-t_GA5F26.js +208 -0
  132. package/lib/cjs/index-t_GA5F26.js.map +1 -0
  133. package/lib/cjs/index-tbEq3xma.js +118 -0
  134. package/lib/cjs/index-tbEq3xma.js.map +1 -0
  135. package/lib/cjs/index-vlxA_KJ8.js +127 -0
  136. package/lib/cjs/index-vlxA_KJ8.js.map +1 -0
  137. package/lib/cjs/index-w9buMrFW.js +355 -0
  138. package/lib/cjs/index-w9buMrFW.js.map +1 -0
  139. package/lib/cjs/index-wXLifZgm.js +1877 -0
  140. package/lib/cjs/index-wXLifZgm.js.map +1 -0
  141. package/lib/cjs/index-xqKfEyRA.js +73 -0
  142. package/lib/cjs/index-xqKfEyRA.js.map +1 -0
  143. package/lib/cjs/index-z6pe2alg.js +20 -0
  144. package/lib/cjs/index-z6pe2alg.js.map +1 -0
  145. package/lib/cjs/index-zBr61zy6.js +773 -0
  146. package/lib/cjs/index-zBr61zy6.js.map +1 -0
  147. package/lib/cjs/index.js +19 -0
  148. package/lib/cjs/index.js.map +1 -0
  149. package/lib/cjs/javascript-5-BTydbD.js +928 -0
  150. package/lib/cjs/javascript-5-BTydbD.js.map +1 -0
  151. package/lib/cjs/jinja2-BWMz4gPk.js +174 -0
  152. package/lib/cjs/jinja2-BWMz4gPk.js.map +1 -0
  153. package/lib/cjs/julia-dtR9J3KZ.js +372 -0
  154. package/lib/cjs/julia-dtR9J3KZ.js.map +1 -0
  155. package/lib/cjs/livescript-YxT0INe3.js +262 -0
  156. package/lib/cjs/livescript-YxT0INe3.js.map +1 -0
  157. package/lib/cjs/lua-h7_AXjy9.js +140 -0
  158. package/lib/cjs/lua-h7_AXjy9.js.map +1 -0
  159. package/lib/cjs/mathematica-Zc57fOr3.js +156 -0
  160. package/lib/cjs/mathematica-Zc57fOr3.js.map +1 -0
  161. package/lib/cjs/mbox-ltKsKgJd.js +117 -0
  162. package/lib/cjs/mbox-ltKsKgJd.js.map +1 -0
  163. package/lib/cjs/meta-q8q9fHyr.js +14 -0
  164. package/lib/cjs/meta-q8q9fHyr.js.map +1 -0
  165. package/lib/cjs/mirc-xTLeWqmy.js +179 -0
  166. package/lib/cjs/mirc-xTLeWqmy.js.map +1 -0
  167. package/lib/cjs/mllike-xukl-Kjp.js +351 -0
  168. package/lib/cjs/mllike-xukl-Kjp.js.map +1 -0
  169. package/lib/cjs/modelica-LsXtAawk.js +195 -0
  170. package/lib/cjs/modelica-LsXtAawk.js.map +1 -0
  171. package/lib/cjs/mscgen-9HooYIVW.js +154 -0
  172. package/lib/cjs/mscgen-9HooYIVW.js.map +1 -0
  173. package/lib/cjs/mumps-VXqGp84f.js +132 -0
  174. package/lib/cjs/mumps-VXqGp84f.js.map +1 -0
  175. package/lib/cjs/nginx-UrubUbn1.js +166 -0
  176. package/lib/cjs/nginx-UrubUbn1.js.map +1 -0
  177. package/lib/cjs/nsis-c2AYwqyy.js +83 -0
  178. package/lib/cjs/nsis-c2AYwqyy.js.map +1 -0
  179. package/lib/cjs/ntriples-N1nwiheD.js +144 -0
  180. package/lib/cjs/ntriples-N1nwiheD.js.map +1 -0
  181. package/lib/cjs/octave-ElonStfZ.js +115 -0
  182. package/lib/cjs/octave-ElonStfZ.js.map +1 -0
  183. package/lib/cjs/oz-7VQTnCfu.js +238 -0
  184. package/lib/cjs/oz-7VQTnCfu.js.map +1 -0
  185. package/lib/cjs/pascal-yq2Cb88Q.js +127 -0
  186. package/lib/cjs/pascal-yq2Cb88Q.js.map +1 -0
  187. package/lib/cjs/perl-hJq4byS9.js +822 -0
  188. package/lib/cjs/perl-hJq4byS9.js.map +1 -0
  189. package/lib/cjs/pig-2syuOlAa.js +152 -0
  190. package/lib/cjs/pig-2syuOlAa.js.map +1 -0
  191. package/lib/cjs/powershell-NDwxuSDg.js +384 -0
  192. package/lib/cjs/powershell-NDwxuSDg.js.map +1 -0
  193. package/lib/cjs/properties-wacODxDJ.js +65 -0
  194. package/lib/cjs/properties-wacODxDJ.js.map +1 -0
  195. package/lib/cjs/protobuf-zVHZwskk.js +57 -0
  196. package/lib/cjs/protobuf-zVHZwskk.js.map +1 -0
  197. package/lib/cjs/puppet-koQikqO-.js +208 -0
  198. package/lib/cjs/puppet-koQikqO-.js.map +1 -0
  199. package/lib/cjs/python-P3UsKHbj.js +394 -0
  200. package/lib/cjs/python-P3UsKHbj.js.map +1 -0
  201. package/lib/cjs/q-Z_d2uXoA.js +126 -0
  202. package/lib/cjs/q-Z_d2uXoA.js.map +1 -0
  203. package/lib/cjs/r-J6Jl9z1i.js +177 -0
  204. package/lib/cjs/r-J6Jl9z1i.js.map +1 -0
  205. package/lib/cjs/rpm-6C0Omumu.js +93 -0
  206. package/lib/cjs/rpm-6C0Omumu.js.map +1 -0
  207. package/lib/cjs/ruby-POVyUmsb.js +290 -0
  208. package/lib/cjs/ruby-POVyUmsb.js.map +1 -0
  209. package/lib/cjs/sas-vDtpSmFr.js +271 -0
  210. package/lib/cjs/sas-vDtpSmFr.js.map +1 -0
  211. package/lib/cjs/schema-7d3meDfB.js +74 -0
  212. package/lib/cjs/schema-7d3meDfB.js.map +1 -0
  213. package/lib/cjs/scheme-5AA5BH7S.js +266 -0
  214. package/lib/cjs/scheme-5AA5BH7S.js.map +1 -0
  215. package/lib/cjs/shell-_ztDMiW6.js +148 -0
  216. package/lib/cjs/shell-_ztDMiW6.js.map +1 -0
  217. package/lib/cjs/sieve-R_vzlbvH.js +181 -0
  218. package/lib/cjs/sieve-R_vzlbvH.js.map +1 -0
  219. package/lib/cjs/simple-mode-ZwmNbV0h.js +138 -0
  220. package/lib/cjs/simple-mode-ZwmNbV0h.js.map +1 -0
  221. package/lib/cjs/smalltalk-dWLp5zN8.js +156 -0
  222. package/lib/cjs/smalltalk-dWLp5zN8.js.map +1 -0
  223. package/lib/cjs/solr-wSmvjKI8.js +83 -0
  224. package/lib/cjs/solr-wSmvjKI8.js.map +1 -0
  225. package/lib/cjs/sparql-GNU_0xKB.js +173 -0
  226. package/lib/cjs/sparql-GNU_0xKB.js.map +1 -0
  227. package/lib/cjs/spreadsheet-BiqYLk6M.js +101 -0
  228. package/lib/cjs/spreadsheet-BiqYLk6M.js.map +1 -0
  229. package/lib/cjs/sql-9GpHBPsC.js +497 -0
  230. package/lib/cjs/sql-9GpHBPsC.js.map +1 -0
  231. package/lib/cjs/stex-1V41CNLk.js +250 -0
  232. package/lib/cjs/stex-1V41CNLk.js.map +1 -0
  233. package/lib/cjs/stylus-H6hn9z_G.js +753 -0
  234. package/lib/cjs/stylus-H6hn9z_G.js.map +1 -0
  235. package/lib/cjs/swift-Xv5f8zgN.js +205 -0
  236. package/lib/cjs/swift-Xv5f8zgN.js.map +1 -0
  237. package/lib/cjs/tcl-LI-LOw_t.js +128 -0
  238. package/lib/cjs/tcl-LI-LOw_t.js.map +1 -0
  239. package/lib/cjs/textile-3NvRPUgg.js +444 -0
  240. package/lib/cjs/textile-3NvRPUgg.js.map +1 -0
  241. package/lib/cjs/tiddlywiki-PkMzy8_R.js +281 -0
  242. package/lib/cjs/tiddlywiki-PkMzy8_R.js.map +1 -0
  243. package/lib/cjs/tiki-Zk_GnEC8.js +292 -0
  244. package/lib/cjs/tiki-Zk_GnEC8.js.map +1 -0
  245. package/lib/cjs/toml-36gJ0YCq.js +78 -0
  246. package/lib/cjs/toml-36gJ0YCq.js.map +1 -0
  247. package/lib/cjs/tooltip-plugin-Mk9fRTxI.js +200 -0
  248. package/lib/cjs/tooltip-plugin-Mk9fRTxI.js.map +1 -0
  249. package/lib/cjs/troff-RLZ_o61o.js +67 -0
  250. package/lib/cjs/troff-RLZ_o61o.js.map +1 -0
  251. package/lib/cjs/ttcn-cfg-twaoJYvf.js +204 -0
  252. package/lib/cjs/ttcn-cfg-twaoJYvf.js.map +1 -0
  253. package/lib/cjs/ttcn-kGwvGb2v.js +260 -0
  254. package/lib/cjs/ttcn-kGwvGb2v.js.map +1 -0
  255. package/lib/cjs/turtle-nnevat7b.js +144 -0
  256. package/lib/cjs/turtle-nnevat7b.js.map +1 -0
  257. package/lib/cjs/vb-fO_I9s3s.js +252 -0
  258. package/lib/cjs/vb-fO_I9s3s.js.map +1 -0
  259. package/lib/cjs/vbscript-HXnn40y4.js +324 -0
  260. package/lib/cjs/vbscript-HXnn40y4.js.map +1 -0
  261. package/lib/cjs/velocity-Wn-ZfFzr.js +189 -0
  262. package/lib/cjs/velocity-Wn-ZfFzr.js.map +1 -0
  263. package/lib/cjs/verilog-y1ev34z6.js +569 -0
  264. package/lib/cjs/verilog-y1ev34z6.js.map +1 -0
  265. package/lib/cjs/vhdl-LF0oeXxc.js +177 -0
  266. package/lib/cjs/vhdl-LF0oeXxc.js.map +1 -0
  267. package/lib/cjs/webidl-6kI5KbeC.js +182 -0
  268. package/lib/cjs/webidl-6kI5KbeC.js.map +1 -0
  269. package/lib/cjs/xquery-BavrmwsO.js +428 -0
  270. package/lib/cjs/xquery-BavrmwsO.js.map +1 -0
  271. package/lib/cjs/yacas-1g_AbTrl.js +185 -0
  272. package/lib/cjs/yacas-1g_AbTrl.js.map +1 -0
  273. package/lib/cjs/z80-QYzKAAp7.js +106 -0
  274. package/lib/cjs/z80-QYzKAAp7.js.map +1 -0
  275. package/lib/esm/_view-JjtfhQ8k.js +25 -0
  276. package/lib/esm/_view-JjtfhQ8k.js.map +1 -0
  277. package/lib/esm/apl-eHQxyJFn.js +143 -0
  278. package/lib/esm/apl-eHQxyJFn.js.map +1 -0
  279. package/lib/esm/asciiarmor-Z-IGYCI4.js +57 -0
  280. package/lib/esm/asciiarmor-Z-IGYCI4.js.map +1 -0
  281. package/lib/esm/asn1-gF7x-q1y.js +193 -0
  282. package/lib/esm/asn1-gF7x-q1y.js.map +1 -0
  283. package/lib/esm/asterisk-swk20ftp.js +188 -0
  284. package/lib/esm/asterisk-swk20ftp.js.map +1 -0
  285. package/lib/esm/brainfuck-IFQdiQoR.js +71 -0
  286. package/lib/esm/brainfuck-IFQdiQoR.js.map +1 -0
  287. package/lib/esm/clike-q3hUF2Cx.js +1019 -0
  288. package/lib/esm/clike-q3hUF2Cx.js.map +1 -0
  289. package/lib/esm/clojure-I2Krbr2M.js +275 -0
  290. package/lib/esm/clojure-I2Krbr2M.js.map +1 -0
  291. package/lib/{icons-HYkfuR-O.js → esm/clsx-R7WFaNKL.js} +22 -20
  292. package/lib/esm/clsx-R7WFaNKL.js.map +1 -0
  293. package/lib/esm/cmake-ewwXLeuZ.js +82 -0
  294. package/lib/esm/cmake-ewwXLeuZ.js.map +1 -0
  295. package/lib/esm/cobol-fpN1nAnR.js +236 -0
  296. package/lib/esm/cobol-fpN1nAnR.js.map +1 -0
  297. package/lib/esm/coffeescript--eTFR-bH.js +330 -0
  298. package/lib/esm/coffeescript--eTFR-bH.js.map +1 -0
  299. package/lib/esm/commonlisp-XLSwVdLc.js +109 -0
  300. package/lib/esm/commonlisp-XLSwVdLc.js.map +1 -0
  301. package/lib/esm/composed-offset-position.browser.min-Tnm31e-m.js +1132 -0
  302. package/lib/esm/composed-offset-position.browser.min-Tnm31e-m.js.map +1 -0
  303. package/lib/esm/crystal-_r3Aa1_a.js +420 -0
  304. package/lib/esm/crystal-_r3Aa1_a.js.map +1 -0
  305. package/lib/esm/css-hgwYGMKZ.js +848 -0
  306. package/lib/esm/css-hgwYGMKZ.js.map +1 -0
  307. package/lib/esm/cypher-bbJyAa-4.js +123 -0
  308. package/lib/esm/cypher-bbJyAa-4.js.map +1 -0
  309. package/lib/esm/d-5MyulviS.js +206 -0
  310. package/lib/esm/d-5MyulviS.js.map +1 -0
  311. package/lib/esm/diff-neOaT_vk.js +31 -0
  312. package/lib/esm/diff-neOaT_vk.js.map +1 -0
  313. package/lib/{dockerfile-u6f6Vw2s.js → esm/dockerfile-lzx42-zz.js} +42 -36
  314. package/lib/esm/dockerfile-lzx42-zz.js.map +1 -0
  315. package/lib/esm/dtd-FmzPLZcQ.js +122 -0
  316. package/lib/esm/dtd-FmzPLZcQ.js.map +1 -0
  317. package/lib/esm/dylan-1HtRK4GO.js +338 -0
  318. package/lib/esm/dylan-1HtRK4GO.js.map +1 -0
  319. package/lib/esm/ebnf-Nz-pnLHy.js +152 -0
  320. package/lib/esm/ebnf-Nz-pnLHy.js.map +1 -0
  321. package/lib/esm/ecl-lQsZhQz0.js +191 -0
  322. package/lib/esm/ecl-lQsZhQz0.js.map +1 -0
  323. package/lib/esm/eiffel-R_HiEkhx.js +147 -0
  324. package/lib/esm/eiffel-R_HiEkhx.js.map +1 -0
  325. package/lib/esm/elm-KYv4VTDg.js +231 -0
  326. package/lib/esm/elm-KYv4VTDg.js.map +1 -0
  327. package/lib/esm/erlang-7YaHCBIe.js +582 -0
  328. package/lib/esm/erlang-7YaHCBIe.js.map +1 -0
  329. package/lib/esm/factor-opBU9aTK.js +66 -0
  330. package/lib/esm/factor-opBU9aTK.js.map +1 -0
  331. package/lib/esm/fcl-jm31FmFz.js +155 -0
  332. package/lib/esm/fcl-jm31FmFz.js.map +1 -0
  333. package/lib/esm/forth-5NKbjnWh.js +165 -0
  334. package/lib/esm/forth-5NKbjnWh.js.map +1 -0
  335. package/lib/esm/fortran-dXm_-cb9.js +173 -0
  336. package/lib/esm/fortran-dXm_-cb9.js.map +1 -0
  337. package/lib/esm/gas-nsYVnsy-.js +344 -0
  338. package/lib/esm/gas-nsYVnsy-.js.map +1 -0
  339. package/lib/esm/gherkin-fzKpjm3M.js +148 -0
  340. package/lib/esm/gherkin-fzKpjm3M.js.map +1 -0
  341. package/lib/esm/go-Pn1qh7yl.js +165 -0
  342. package/lib/esm/go-Pn1qh7yl.js.map +1 -0
  343. package/lib/esm/groovy-DZY-8keZ.js +231 -0
  344. package/lib/esm/groovy-DZY-8keZ.js.map +1 -0
  345. package/lib/esm/haskell-JGh2upDd.js +240 -0
  346. package/lib/esm/haskell-JGh2upDd.js.map +1 -0
  347. package/lib/esm/haxe-1hvVK-Fy.js +491 -0
  348. package/lib/esm/haxe-1hvVK-Fy.js.map +1 -0
  349. package/lib/esm/helper-iYEjPbOY.js +7 -0
  350. package/lib/esm/helper-iYEjPbOY.js.map +1 -0
  351. package/lib/esm/http-mY1M77wn.js +90 -0
  352. package/lib/esm/http-mY1M77wn.js.map +1 -0
  353. package/lib/esm/idl-dy_653wH.js +275 -0
  354. package/lib/esm/idl-dy_653wH.js.map +1 -0
  355. package/lib/esm/index-0khVa44f.js +77 -0
  356. package/lib/esm/index-0khVa44f.js.map +1 -0
  357. package/lib/esm/index-218OjRxG.js +549 -0
  358. package/lib/esm/index-218OjRxG.js.map +1 -0
  359. package/lib/{index-jZuF1Iix.js → esm/index-4QzlLVWs.js} +181 -128
  360. package/lib/esm/index-4QzlLVWs.js.map +1 -0
  361. package/lib/{index-P4-KqpEN.js → esm/index-4oMdufW4.js} +321 -239
  362. package/lib/esm/index-4oMdufW4.js.map +1 -0
  363. package/lib/esm/index-6P9Xk934.js +758 -0
  364. package/lib/esm/index-6P9Xk934.js.map +1 -0
  365. package/lib/{index-yrfirMbY.js → esm/index-7BVeXLQZ.js} +489 -514
  366. package/lib/esm/index-7BVeXLQZ.js.map +1 -0
  367. package/lib/{index-qMeqmZtK.js → esm/index-A9zdyi2L.js} +186 -149
  368. package/lib/esm/index-A9zdyi2L.js.map +1 -0
  369. package/lib/esm/index-AHPvVH4H.js +197 -0
  370. package/lib/esm/index-AHPvVH4H.js.map +1 -0
  371. package/lib/esm/index-Bg5GFp0g.js +384 -0
  372. package/lib/esm/index-Bg5GFp0g.js.map +1 -0
  373. package/lib/esm/index-DoEghZHy.js +2511 -0
  374. package/lib/esm/index-DoEghZHy.js.map +1 -0
  375. package/lib/esm/index-Grquo08f.js +152 -0
  376. package/lib/esm/index-Grquo08f.js.map +1 -0
  377. package/lib/esm/index-JkHHp3K-.js +22445 -0
  378. package/lib/esm/index-JkHHp3K-.js.map +1 -0
  379. package/lib/esm/index-Jvxff1vU.js +16 -0
  380. package/lib/esm/index-Jvxff1vU.js.map +1 -0
  381. package/lib/{index-DDSXiQ90.js → esm/index-L7VXk-jT.js} +645 -512
  382. package/lib/esm/index-L7VXk-jT.js.map +1 -0
  383. package/lib/esm/index-NmjiRA0M.js +1026 -0
  384. package/lib/esm/index-NmjiRA0M.js.map +1 -0
  385. package/lib/esm/index-PkBZpDL4.js +258 -0
  386. package/lib/esm/index-PkBZpDL4.js.map +1 -0
  387. package/lib/esm/index-TNMG6UrN.js +53 -0
  388. package/lib/esm/index-TNMG6UrN.js.map +1 -0
  389. package/lib/esm/index-U71v7KdA.js +400 -0
  390. package/lib/esm/index-U71v7KdA.js.map +1 -0
  391. package/lib/esm/index-U8q-F7hU.js +114 -0
  392. package/lib/esm/index-U8q-F7hU.js.map +1 -0
  393. package/lib/esm/index-UBeneu17.js +392 -0
  394. package/lib/esm/index-UBeneu17.js.map +1 -0
  395. package/lib/esm/index-VyZguCIt.js +69 -0
  396. package/lib/esm/index-VyZguCIt.js.map +1 -0
  397. package/lib/esm/index-a-SAfeeT.js +104 -0
  398. package/lib/esm/index-a-SAfeeT.js.map +1 -0
  399. package/lib/{index-KCykNSJx.js → esm/index-bVubJ6Rv.js} +405 -289
  400. package/lib/esm/index-bVubJ6Rv.js.map +1 -0
  401. package/lib/{index-kyD7hUif.js → esm/index-bsED907r.js} +143 -128
  402. package/lib/esm/index-bsED907r.js.map +1 -0
  403. package/lib/esm/index-h1arGiXv.js +1958 -0
  404. package/lib/esm/index-h1arGiXv.js.map +1 -0
  405. package/lib/esm/index-hQaRWeq1.js +350 -0
  406. package/lib/esm/index-hQaRWeq1.js.map +1 -0
  407. package/lib/esm/index-oMy83ynO.js +460 -0
  408. package/lib/esm/index-oMy83ynO.js.map +1 -0
  409. package/lib/esm/index-pHsvfB_I.js +503 -0
  410. package/lib/esm/index-pHsvfB_I.js.map +1 -0
  411. package/lib/esm/index-q-qE7-96.js +25651 -0
  412. package/lib/esm/index-q-qE7-96.js.map +1 -0
  413. package/lib/esm/index-rwcSpYkt.js +1037 -0
  414. package/lib/esm/index-rwcSpYkt.js.map +1 -0
  415. package/lib/esm/index-u8tWJbca.js +176 -0
  416. package/lib/esm/index-u8tWJbca.js.map +1 -0
  417. package/lib/{index-x6C6leag.js → esm/index-vwrMVELn.js} +110 -85
  418. package/lib/esm/index-vwrMVELn.js.map +1 -0
  419. package/lib/esm/index-x-zW6gKj.js +1872 -0
  420. package/lib/esm/index-x-zW6gKj.js.map +1 -0
  421. package/lib/esm/index.js +12 -0
  422. package/lib/esm/index.js.map +1 -0
  423. package/lib/esm/javascript-TMTz-YQH.js +923 -0
  424. package/lib/esm/javascript-TMTz-YQH.js.map +1 -0
  425. package/lib/esm/jinja2-sRIdliZK.js +172 -0
  426. package/lib/esm/jinja2-sRIdliZK.js.map +1 -0
  427. package/lib/esm/julia-fK0wmpGL.js +370 -0
  428. package/lib/esm/julia-fK0wmpGL.js.map +1 -0
  429. package/lib/esm/livescript-FRbAot3D.js +260 -0
  430. package/lib/esm/livescript-FRbAot3D.js.map +1 -0
  431. package/lib/esm/lua-t4FHEjvK.js +138 -0
  432. package/lib/esm/lua-t4FHEjvK.js.map +1 -0
  433. package/lib/esm/mathematica-sn_KGlYj.js +154 -0
  434. package/lib/esm/mathematica-sn_KGlYj.js.map +1 -0
  435. package/lib/esm/mbox-KvVC319E.js +115 -0
  436. package/lib/esm/mbox-KvVC319E.js.map +1 -0
  437. package/lib/esm/meta-3ZYGAGrY.js +12 -0
  438. package/lib/esm/meta-3ZYGAGrY.js.map +1 -0
  439. package/lib/esm/mirc-PzJ0zKSk.js +177 -0
  440. package/lib/esm/mirc-PzJ0zKSk.js.map +1 -0
  441. package/lib/esm/mllike-ZK411xkN.js +347 -0
  442. package/lib/esm/mllike-ZK411xkN.js.map +1 -0
  443. package/lib/esm/modelica-ZaHlRCbp.js +193 -0
  444. package/lib/esm/modelica-ZaHlRCbp.js.map +1 -0
  445. package/lib/esm/mscgen-Kkq4o4Zm.js +150 -0
  446. package/lib/esm/mscgen-Kkq4o4Zm.js.map +1 -0
  447. package/lib/esm/mumps-M8a87-rl.js +130 -0
  448. package/lib/esm/mumps-M8a87-rl.js.map +1 -0
  449. package/lib/esm/nginx-2LJIX23E.js +164 -0
  450. package/lib/esm/nginx-2LJIX23E.js.map +1 -0
  451. package/lib/esm/nsis-zvfFgMLi.js +81 -0
  452. package/lib/esm/nsis-zvfFgMLi.js.map +1 -0
  453. package/lib/esm/ntriples-tVkHy5bk.js +142 -0
  454. package/lib/esm/ntriples-tVkHy5bk.js.map +1 -0
  455. package/lib/esm/octave-mE4T5MF5.js +113 -0
  456. package/lib/esm/octave-mE4T5MF5.js.map +1 -0
  457. package/lib/esm/oz-q-LCsuVg.js +236 -0
  458. package/lib/esm/oz-q-LCsuVg.js.map +1 -0
  459. package/lib/esm/pascal-0IgUAn4C.js +125 -0
  460. package/lib/esm/pascal-0IgUAn4C.js.map +1 -0
  461. package/lib/esm/perl-AqxdYGac.js +820 -0
  462. package/lib/esm/perl-AqxdYGac.js.map +1 -0
  463. package/lib/esm/pig-ESM-IjQj.js +150 -0
  464. package/lib/esm/pig-ESM-IjQj.js.map +1 -0
  465. package/lib/esm/powershell-CLFP0L55.js +382 -0
  466. package/lib/esm/powershell-CLFP0L55.js.map +1 -0
  467. package/lib/esm/properties-oWHNzvb9.js +63 -0
  468. package/lib/esm/properties-oWHNzvb9.js.map +1 -0
  469. package/lib/esm/protobuf-c7eMmdcc.js +55 -0
  470. package/lib/esm/protobuf-c7eMmdcc.js.map +1 -0
  471. package/lib/esm/puppet-FjzvdRJr.js +206 -0
  472. package/lib/esm/puppet-FjzvdRJr.js.map +1 -0
  473. package/lib/esm/python-3Pv0tnvt.js +390 -0
  474. package/lib/esm/python-3Pv0tnvt.js.map +1 -0
  475. package/lib/esm/q-IImW8da6.js +124 -0
  476. package/lib/esm/q-IImW8da6.js.map +1 -0
  477. package/lib/esm/r-CnEkTvR0.js +175 -0
  478. package/lib/esm/r-CnEkTvR0.js.map +1 -0
  479. package/lib/esm/rpm-Q55-fEHj.js +90 -0
  480. package/lib/esm/rpm-Q55-fEHj.js.map +1 -0
  481. package/lib/esm/ruby-zhaGB3Kh.js +288 -0
  482. package/lib/esm/ruby-zhaGB3Kh.js.map +1 -0
  483. package/lib/esm/sas-Ur9jZIOV.js +269 -0
  484. package/lib/esm/sas-Ur9jZIOV.js.map +1 -0
  485. package/lib/esm/schema-hVsy-vme.js +71 -0
  486. package/lib/esm/schema-hVsy-vme.js.map +1 -0
  487. package/lib/esm/scheme-daT5-Rya.js +264 -0
  488. package/lib/esm/scheme-daT5-Rya.js.map +1 -0
  489. package/lib/esm/shell-cwFL0AYP.js +146 -0
  490. package/lib/esm/shell-cwFL0AYP.js.map +1 -0
  491. package/lib/esm/sieve-MlNXFFUq.js +179 -0
  492. package/lib/esm/sieve-MlNXFFUq.js.map +1 -0
  493. package/lib/esm/simple-mode-m1rsX7Gw.js +136 -0
  494. package/lib/esm/simple-mode-m1rsX7Gw.js.map +1 -0
  495. package/lib/esm/smalltalk-xrQICp9e.js +154 -0
  496. package/lib/esm/smalltalk-xrQICp9e.js.map +1 -0
  497. package/lib/esm/solr-PU3oPgQz.js +81 -0
  498. package/lib/esm/solr-PU3oPgQz.js.map +1 -0
  499. package/lib/esm/sparql--u8NRBii.js +171 -0
  500. package/lib/esm/sparql--u8NRBii.js.map +1 -0
  501. package/lib/esm/spreadsheet-QCp0LifX.js +99 -0
  502. package/lib/esm/spreadsheet-QCp0LifX.js.map +1 -0
  503. package/lib/esm/sql-dsGfl64h.js +482 -0
  504. package/lib/esm/sql-dsGfl64h.js.map +1 -0
  505. package/lib/esm/stex-WcLBzvkD.js +247 -0
  506. package/lib/esm/stex-WcLBzvkD.js.map +1 -0
  507. package/lib/esm/stylus--A5XAqOX.js +751 -0
  508. package/lib/esm/stylus--A5XAqOX.js.map +1 -0
  509. package/lib/esm/swift-qAm73i7G.js +203 -0
  510. package/lib/esm/swift-qAm73i7G.js.map +1 -0
  511. package/lib/esm/tcl-Kdc7qxc-.js +126 -0
  512. package/lib/esm/tcl-Kdc7qxc-.js.map +1 -0
  513. package/lib/esm/textile--sz8UrIz.js +442 -0
  514. package/lib/esm/textile--sz8UrIz.js.map +1 -0
  515. package/lib/esm/tiddlywiki-xNXTeBlQ.js +279 -0
  516. package/lib/esm/tiddlywiki-xNXTeBlQ.js.map +1 -0
  517. package/lib/esm/tiki-LCXjrNH3.js +290 -0
  518. package/lib/esm/tiki-LCXjrNH3.js.map +1 -0
  519. package/lib/esm/toml-Ac4tlBMn.js +76 -0
  520. package/lib/esm/toml-Ac4tlBMn.js.map +1 -0
  521. package/lib/esm/tooltip-plugin-vZefVSGL.js +194 -0
  522. package/lib/esm/tooltip-plugin-vZefVSGL.js.map +1 -0
  523. package/lib/esm/troff-LLW1x1Yz.js +65 -0
  524. package/lib/esm/troff-LLW1x1Yz.js.map +1 -0
  525. package/lib/esm/ttcn-ZYZ9FS3u.js +258 -0
  526. package/lib/esm/ttcn-ZYZ9FS3u.js.map +1 -0
  527. package/lib/esm/ttcn-cfg-qsvf3MfB.js +202 -0
  528. package/lib/esm/ttcn-cfg-qsvf3MfB.js.map +1 -0
  529. package/lib/esm/turtle-wq3TqOth.js +142 -0
  530. package/lib/esm/turtle-wq3TqOth.js.map +1 -0
  531. package/lib/esm/vb-86M_JuNP.js +250 -0
  532. package/lib/esm/vb-86M_JuNP.js.map +1 -0
  533. package/lib/esm/vbscript-GueAeVug.js +321 -0
  534. package/lib/esm/vbscript-GueAeVug.js.map +1 -0
  535. package/lib/esm/velocity-7PW9GXO2.js +187 -0
  536. package/lib/esm/velocity-7PW9GXO2.js.map +1 -0
  537. package/lib/esm/verilog-PXtXH14C.js +566 -0
  538. package/lib/esm/verilog-PXtXH14C.js.map +1 -0
  539. package/lib/esm/vhdl-I8eyK83X.js +175 -0
  540. package/lib/esm/vhdl-I8eyK83X.js.map +1 -0
  541. package/lib/esm/webidl-1f8ATJ66.js +180 -0
  542. package/lib/esm/webidl-1f8ATJ66.js.map +1 -0
  543. package/lib/esm/xquery-IYp28Wx6.js +426 -0
  544. package/lib/esm/xquery-IYp28Wx6.js.map +1 -0
  545. package/lib/esm/yacas-wkENB05f.js +183 -0
  546. package/lib/esm/yacas-wkENB05f.js.map +1 -0
  547. package/lib/esm/z80-GaXiLdiV.js +103 -0
  548. package/lib/esm/z80-GaXiLdiV.js.map +1 -0
  549. package/lib/theme/_internal/classic-common.css +256 -0
  550. package/lib/theme/classic/style.css +28 -0
  551. package/lib/theme/classic-dark/style.css +28 -0
  552. package/lib/theme/common/block-edit.css +118 -0
  553. package/lib/theme/common/code-mirror.css +177 -0
  554. package/lib/theme/common/cursor.css +13 -0
  555. package/lib/theme/common/image-block.css +362 -0
  556. package/lib/theme/common/link-tooltip.css +105 -0
  557. package/lib/theme/common/list-item.css +34 -0
  558. package/lib/theme/common/placeholder.css +7 -0
  559. package/lib/theme/common/prosemirror.css +1 -0
  560. package/lib/theme/common/style.css +9 -0
  561. package/lib/theme/common/toolbar.css +34 -0
  562. package/lib/{core → types/core}/crepe.d.ts +1 -3
  563. package/lib/types/core/crepe.d.ts.map +1 -0
  564. package/lib/types/core/index.d.ts +2 -0
  565. package/lib/types/core/index.d.ts.map +1 -0
  566. package/lib/types/core/slice.d.ts +5 -0
  567. package/lib/types/core/slice.d.ts.map +1 -0
  568. package/lib/types/feature/block-edit/handle/component.d.ts.map +1 -0
  569. package/lib/{feature → types/feature}/block-edit/handle/index.d.ts +2 -3
  570. package/lib/types/feature/block-edit/handle/index.d.ts.map +1 -0
  571. package/lib/types/feature/block-edit/index.d.ts.map +1 -0
  572. package/lib/types/feature/block-edit/menu/component.d.ts.map +1 -0
  573. package/lib/types/feature/block-edit/menu/config.d.ts.map +1 -0
  574. package/lib/types/feature/block-edit/menu/icons.d.ts.map +1 -0
  575. package/lib/types/feature/block-edit/menu/index.d.ts.map +1 -0
  576. package/lib/types/feature/code-mirror/index.d.ts +11 -0
  577. package/lib/types/feature/code-mirror/index.d.ts.map +1 -0
  578. package/lib/types/feature/cursor/index.d.ts +9 -0
  579. package/lib/types/feature/cursor/index.d.ts.map +1 -0
  580. package/lib/types/feature/image-block/index.d.ts.map +1 -0
  581. package/lib/{feature → types/feature}/index.d.ts +3 -1
  582. package/lib/types/feature/index.d.ts.map +1 -0
  583. package/lib/types/feature/link-tooltip/consts.d.ts.map +1 -0
  584. package/lib/types/feature/link-tooltip/index.d.ts.map +1 -0
  585. package/lib/types/feature/list-item/consts.d.ts.map +1 -0
  586. package/lib/types/feature/list-item/index.d.ts.map +1 -0
  587. package/lib/{feature → types/feature}/placeholder/index.d.ts +2 -1
  588. package/lib/types/feature/placeholder/index.d.ts.map +1 -0
  589. package/lib/{feature → types/feature}/shared.d.ts +1 -1
  590. package/lib/types/feature/shared.d.ts.map +1 -0
  591. package/lib/types/feature/toolbar/component.d.ts.map +1 -0
  592. package/lib/types/feature/toolbar/consts.d.ts.map +1 -0
  593. package/lib/types/feature/toolbar/index.d.ts.map +1 -0
  594. package/lib/types/index.d.ts +3 -0
  595. package/lib/types/index.d.ts.map +1 -0
  596. package/lib/{utils → types/utils}/index.d.ts +1 -0
  597. package/lib/types/utils/index.d.ts.map +1 -0
  598. package/package.json +31 -23
  599. package/src/core/crepe.ts +2 -8
  600. package/src/core/index.ts +0 -3
  601. package/src/core/slice.ts +0 -33
  602. package/src/feature/block-edit/handle/component.ts +0 -1
  603. package/src/feature/block-edit/handle/index.ts +26 -19
  604. package/src/feature/block-edit/index.ts +0 -4
  605. package/src/feature/block-edit/menu/component.ts +18 -10
  606. package/src/feature/block-edit/menu/config.ts +0 -1
  607. package/src/feature/block-edit/menu/icons.ts +0 -1
  608. package/src/feature/block-edit/menu/index.ts +9 -13
  609. package/src/feature/code-mirror/index.ts +24 -32
  610. package/src/feature/cursor/index.ts +22 -0
  611. package/src/feature/image-block/index.ts +0 -4
  612. package/src/feature/index.ts +6 -5
  613. package/src/feature/link-tooltip/consts.ts +0 -1
  614. package/src/feature/link-tooltip/index.ts +0 -4
  615. package/src/feature/list-item/consts.ts +0 -1
  616. package/src/feature/list-item/index.ts +2 -6
  617. package/src/feature/placeholder/index.ts +1 -5
  618. package/src/feature/shared.ts +1 -2
  619. package/src/feature/toolbar/component.ts +0 -1
  620. package/src/feature/toolbar/consts.ts +0 -1
  621. package/src/feature/toolbar/index.ts +10 -16
  622. package/src/index.ts +0 -3
  623. package/src/theme/_internal/classic-common.css +219 -0
  624. package/src/theme/classic/style.css +2 -166
  625. package/src/theme/classic-dark/style.css +2 -171
  626. package/src/{feature/block-edit/style.css → theme/common/block-edit.css} +11 -1
  627. package/src/theme/common/code-mirror.css +176 -0
  628. package/src/theme/common/cursor.css +15 -0
  629. package/src/{feature/image-block/style.css → theme/common/image-block.css} +180 -16
  630. package/src/{feature/link-tooltip/style.css → theme/common/link-tooltip.css} +8 -0
  631. package/src/{feature/list-item/style.css → theme/common/list-item.css} +14 -3
  632. package/src/theme/common/prosemirror.css +1 -0
  633. package/src/theme/common/style.css +9 -0
  634. package/src/{feature/toolbar/style.css → theme/common/toolbar.css} +4 -0
  635. package/src/utils/index.ts +5 -1
  636. package/src/vite-env.d.ts +0 -1
  637. package/lib/apl-p0IPP13W.js +0 -76
  638. package/lib/asciiarmor-lJsBxlJJ.js +0 -34
  639. package/lib/asn1-Q9v1zIy5.js +0 -102
  640. package/lib/asterisk-foNkeTjy.js +0 -273
  641. package/lib/brainfuck-0XqyXpNS.js +0 -35
  642. package/lib/clike-ak6Z6Yhe.js +0 -639
  643. package/lib/clojure-iYO8U8Sg.js +0 -810
  644. package/lib/clsx-7d8NmkQq.js +0 -21
  645. package/lib/cmake-SVzjkxV_.js +0 -28
  646. package/lib/cobol-APHEnAOX.js +0 -74
  647. package/lib/coffeescript-KqQa0SYG.js +0 -182
  648. package/lib/commonlisp-bwqNqR5V.js +0 -79
  649. package/lib/core/crepe.d.ts.map +0 -1
  650. package/lib/core/index.d.ts +0 -3
  651. package/lib/core/index.d.ts.map +0 -1
  652. package/lib/core/slice.d.ts +0 -12
  653. package/lib/core/slice.d.ts.map +0 -1
  654. package/lib/crystal-BViWuDpA.js +0 -217
  655. package/lib/css-KHXHXfXg.js +0 -1572
  656. package/lib/cypher-XpTt4zQ3.js +0 -69
  657. package/lib/d-fLig6yqY.js +0 -139
  658. package/lib/diff-WoKGLpy6.js +0 -18
  659. package/lib/dtd-SIJRUW6K.js +0 -91
  660. package/lib/dylan-4HCLhpWP.js +0 -238
  661. package/lib/ebnf-h_0lged5.js +0 -77
  662. package/lib/ecl-Lf4FF0lf.js +0 -133
  663. package/lib/eiffel-qlw8KUyf.js +0 -112
  664. package/lib/elm-QRnB3zXs.js +0 -108
  665. package/lib/erlang-fyVKb7eK.js +0 -488
  666. package/lib/factor-BEeN4upY.js +0 -65
  667. package/lib/fcl-lRek3hEb.js +0 -106
  668. package/lib/feature/block-edit/handle/component.d.ts.map +0 -1
  669. package/lib/feature/block-edit/handle/index.d.ts.map +0 -1
  670. package/lib/feature/block-edit/index.d.ts.map +0 -1
  671. package/lib/feature/block-edit/menu/component.d.ts.map +0 -1
  672. package/lib/feature/block-edit/menu/config.d.ts.map +0 -1
  673. package/lib/feature/block-edit/menu/icons.d.ts.map +0 -1
  674. package/lib/feature/block-edit/menu/index.d.ts.map +0 -1
  675. package/lib/feature/code-mirror/index.d.ts.map +0 -1
  676. package/lib/feature/gap-cursor/index.d.ts.map +0 -1
  677. package/lib/feature/image-block/index.d.ts.map +0 -1
  678. package/lib/feature/index.d.ts.map +0 -1
  679. package/lib/feature/link-tooltip/consts.d.ts.map +0 -1
  680. package/lib/feature/link-tooltip/index.d.ts.map +0 -1
  681. package/lib/feature/list-item/consts.d.ts.map +0 -1
  682. package/lib/feature/list-item/index.d.ts +0 -3
  683. package/lib/feature/list-item/index.d.ts.map +0 -1
  684. package/lib/feature/placeholder/index.d.ts.map +0 -1
  685. package/lib/feature/shared.d.ts.map +0 -1
  686. package/lib/feature/toolbar/component.d.ts.map +0 -1
  687. package/lib/feature/toolbar/consts.d.ts.map +0 -1
  688. package/lib/feature/toolbar/index.d.ts +0 -3
  689. package/lib/feature/toolbar/index.d.ts.map +0 -1
  690. package/lib/forth-ua2bRd8T.js +0 -60
  691. package/lib/fortran-WnF7znuN.js +0 -443
  692. package/lib/gas-wowve1o7.js +0 -183
  693. package/lib/gherkin-m7GIChu3.js +0 -34
  694. package/lib/go-th443Dhb.js +0 -158
  695. package/lib/groovy-tR4RiZnc.js +0 -161
  696. package/lib/haskell-jxVBofv5.js +0 -375
  697. package/lib/haxe-kWPI2tq3.js +0 -390
  698. package/lib/hooks-82sqkbtE.js +0 -21
  699. package/lib/http-3GIFWUlG.js +0 -45
  700. package/lib/idl-PvpMZg-l.js +0 -947
  701. package/lib/index-BSv6537G.js +0 -364
  702. package/lib/index-BoI246Ti.js +0 -507
  703. package/lib/index-ECCvmC6D.js +0 -1301
  704. package/lib/index-EI1FcaSv.js +0 -928
  705. package/lib/index-ESoQGvsE.js +0 -288
  706. package/lib/index-GOH7H2i9.js +0 -81
  707. package/lib/index-GjFRg3RJ.js +0 -8
  708. package/lib/index-GzVCh3P9.js +0 -353
  709. package/lib/index-Ls2I7eOW.js +0 -20986
  710. package/lib/index-Qcks_HSE.js +0 -984
  711. package/lib/index-RKThEh9x.js +0 -517
  712. package/lib/index-UqF8o9eD.js +0 -19665
  713. package/lib/index-_VrGF4z-.js +0 -47
  714. package/lib/index-cteyPSwp.js +0 -83
  715. package/lib/index-f0pbmfJP.js +0 -64
  716. package/lib/index-gMYRN2wV.js +0 -107
  717. package/lib/index-oszOFbwW.js +0 -1041
  718. package/lib/index-pC1MPpe2.js +0 -1744
  719. package/lib/index-q3iu4cef.js +0 -78
  720. package/lib/index-rs4SJ8Gd.js +0 -253
  721. package/lib/index-w-CiezW1.js +0 -135
  722. package/lib/index-xHADmDT3.js +0 -12
  723. package/lib/index-xa7wUurf.js +0 -8
  724. package/lib/index-xjkoF_Bn.js +0 -317
  725. package/lib/index-zNGl_CdN.js +0 -8
  726. package/lib/index-zc51oyS8.js +0 -121
  727. package/lib/index.d.ts +0 -4
  728. package/lib/index.d.ts.map +0 -1
  729. package/lib/index.es.js +0 -7
  730. package/lib/javascript-8ZHqHagw.js +0 -758
  731. package/lib/jinja2-vsOFe0qD.js +0 -154
  732. package/lib/julia-dlp_pbN1.js +0 -241
  733. package/lib/livescript-Gf5R-LT6.js +0 -273
  734. package/lib/lua-c5Y_JsBp.js +0 -221
  735. package/lib/mathematica-iiGTGmUs.js +0 -35
  736. package/lib/mbox-ZJh86H8B.js +0 -78
  737. package/lib/meta-tAGyVRPE.js +0 -511
  738. package/lib/mirc-i0qkCa0y.js +0 -73
  739. package/lib/mllike-Dy551fZW.js +0 -275
  740. package/lib/modelica-n6tGqUT9.js +0 -94
  741. package/lib/mscgen-aKSbB7D9.js +0 -104
  742. package/lib/mumps-lNiKA6sp.js +0 -25
  743. package/lib/nginx--YmuCfDj.js +0 -93
  744. package/lib/nsis-zhS8iA09.js +0 -62
  745. package/lib/ntriples-E3jQl3MC.js +0 -79
  746. package/lib/octave-EQvkGIeG.js +0 -144
  747. package/lib/oz-W2cpqFf6.js +0 -152
  748. package/lib/pascal-lCh6ouNZ.js +0 -79
  749. package/lib/perl-PxEQBX0B.js +0 -915
  750. package/lib/pig-Y_bNcrzS.js +0 -56
  751. package/lib/powershell-GaQP-TZr.js +0 -249
  752. package/lib/properties-mbRyn54L.js +0 -26
  753. package/lib/prosemirror-noTDkx-k.js +0 -4
  754. package/lib/protobuf-8CJideyJ.js +0 -49
  755. package/lib/puppet-ABBaChNZ.js +0 -45
  756. package/lib/python-sKdHg3Ka.js +0 -321
  757. package/lib/q-_1yG40Nm.js +0 -89
  758. package/lib/r-Ziz56bHT.js +0 -108
  759. package/lib/rpm-ORjGOHaQ.js +0 -57
  760. package/lib/ruby-jlbYq0dT.js +0 -233
  761. package/lib/sas-2n7xeUuO.js +0 -107
  762. package/lib/schema-ywm7RaKF.js +0 -62
  763. package/lib/scheme-XCs-NPeU.js +0 -126
  764. package/lib/shell-0_1Um7Dq.js +0 -184
  765. package/lib/sieve-7uyJD1x1.js +0 -73
  766. package/lib/simple-mode--HIzBxba.js +0 -95
  767. package/lib/smalltalk-PEFzrlQ-.js +0 -48
  768. package/lib/solr-BLBaHahN.js +0 -41
  769. package/lib/sparql-4F9ZWf1b.js +0 -204
  770. package/lib/spreadsheet-SGSo6blj.js +0 -49
  771. package/lib/sql-tebLBzN0.js +0 -291
  772. package/lib/stex-SFJcFGOO.js +0 -130
  773. package/lib/stylus-rwwWYWFm.js +0 -256
  774. package/lib/swift-eorJ0tCv.js +0 -238
  775. package/lib/tcl-IwXMB8U4.js +0 -82
  776. package/lib/textile-ok2VyjwC.js +0 -299
  777. package/lib/theme/classic/index.d.ts +0 -3
  778. package/lib/theme/classic/index.d.ts.map +0 -1
  779. package/lib/theme/classic-dark/index.d.ts +0 -3
  780. package/lib/theme/classic-dark/index.d.ts.map +0 -1
  781. package/lib/theme/headless/index.d.ts +0 -3
  782. package/lib/theme/headless/index.d.ts.map +0 -1
  783. package/lib/theme/index.d.ts +0 -8
  784. package/lib/theme/index.d.ts.map +0 -1
  785. package/lib/theme/shared.d.ts +0 -3
  786. package/lib/theme/shared.d.ts.map +0 -1
  787. package/lib/tiddlywiki-DLhz8_pc.js +0 -156
  788. package/lib/tiki-DFAqFElY.js +0 -183
  789. package/lib/tippy.esm-4ny8MQOF.js +0 -1813
  790. package/lib/toml-ryxpTZEV.js +0 -49
  791. package/lib/tooltip-plugin-NpyG8C5u.js +0 -122
  792. package/lib/troff-ZzZyvNct.js +0 -36
  793. package/lib/ttcn-6gvkqqpW.js +0 -136
  794. package/lib/ttcn-cfg-oSu-Dq5C.js +0 -98
  795. package/lib/turtle-10ofr5au.js +0 -87
  796. package/lib/utils/index.d.ts.map +0 -1
  797. package/lib/vb-a6n6fzrD.js +0 -74
  798. package/lib/vbscript-dgvo8jPt.js +0 -324
  799. package/lib/velocity-CBncCrwO.js +0 -97
  800. package/lib/verilog-KlcACt6C.js +0 -271
  801. package/lib/vhdl-NMd7Gf35.js +0 -117
  802. package/lib/webidl-z1UE5DN_.js +0 -160
  803. package/lib/xquery-hDt5jWTp.js +0 -431
  804. package/lib/yacas-ftgh_qwr.js +0 -74
  805. package/lib/z80-dA1PqWe1.js +0 -62
  806. package/src/feature/code-mirror/style.css +0 -159
  807. package/src/feature/gap-cursor/index.ts +0 -31
  808. package/src/theme/classic/index.ts +0 -12
  809. package/src/theme/classic-dark/index.ts +0 -12
  810. package/src/theme/headless/index.ts +0 -9
  811. package/src/theme/index.ts +0 -26
  812. package/src/theme/shared.ts +0 -4
  813. /package/lib/{feature → types/feature}/block-edit/handle/component.d.ts +0 -0
  814. /package/lib/{feature → types/feature}/block-edit/index.d.ts +0 -0
  815. /package/lib/{feature → types/feature}/block-edit/menu/component.d.ts +0 -0
  816. /package/lib/{feature → types/feature}/block-edit/menu/config.d.ts +0 -0
  817. /package/lib/{feature → types/feature}/block-edit/menu/icons.d.ts +0 -0
  818. /package/lib/{feature → types/feature}/block-edit/menu/index.d.ts +0 -0
  819. /package/lib/{feature/code-mirror → types/feature/image-block}/index.d.ts +0 -0
  820. /package/lib/{feature → types/feature}/link-tooltip/consts.d.ts +0 -0
  821. /package/lib/{feature/gap-cursor → types/feature/link-tooltip}/index.d.ts +0 -0
  822. /package/lib/{feature → types/feature}/list-item/consts.d.ts +0 -0
  823. /package/lib/{feature/image-block → types/feature/list-item}/index.d.ts +0 -0
  824. /package/lib/{feature → types/feature}/toolbar/component.d.ts +0 -0
  825. /package/lib/{feature → types/feature}/toolbar/consts.d.ts +0 -0
  826. /package/lib/{feature/link-tooltip → types/feature/toolbar}/index.d.ts +0 -0
  827. /package/src/{feature/placeholder/style.css → theme/common/placeholder.css} +0 -0
@@ -0,0 +1,549 @@
1
+ import { I as IMAGE_DATA_TYPE, i as imageBlockSchema } from './schema-hVsy-vme.js';
2
+ import { w as withMeta } from './meta-3ZYGAGrY.js';
3
+ import { b as $remark, v as visit, $ as $ctx, i as imageSchema } from './index-JkHHp3K-.js';
4
+ import { html, useHost, useMemo, useEffect, c, useRef, useState } from 'atomico';
5
+ import { i as image, b as chatBubble, a as clsx } from './clsx-R7WFaNKL.js';
6
+ import { d as defIfNotExists } from './helper-iYEjPbOY.js';
7
+ import { $ as $view } from './_view-JjtfhQ8k.js';
8
+ import '@milkdown/prose/history';
9
+ import '@milkdown/prose/model';
10
+ import '@milkdown/prose/keymap';
11
+ import '@milkdown/prose/commands';
12
+ import '@milkdown/prose';
13
+ import '@milkdown/prose/state';
14
+ import '@milkdown/prose/inputrules';
15
+ import '@milkdown/prose/schema-list';
16
+ import '@milkdown/prose/view';
17
+ import '@milkdown/prose/transform';
18
+
19
+ function visitImage(ast) {
20
+ return visit(ast, "paragraph", (node, index, parent) => {
21
+ var _a, _b;
22
+ if (((_a = node.children) == null ? void 0 : _a.length) !== 1)
23
+ return;
24
+ const firstChild = (_b = node.children) == null ? void 0 : _b[0];
25
+ if (!firstChild || firstChild.type !== "image")
26
+ return;
27
+ const { url, alt, title } = firstChild;
28
+ const newNode = {
29
+ type: "image-block",
30
+ url,
31
+ alt,
32
+ title
33
+ };
34
+ parent.children.splice(index, 1, newNode);
35
+ });
36
+ }
37
+ const remarkImageBlockPlugin = $remark("remark-image-block", () => () => visitImage);
38
+ withMeta(remarkImageBlockPlugin.plugin, {
39
+ displayName: "Remark<remarkImageBlock>",
40
+ group: "ImageBlock"
41
+ });
42
+ withMeta(remarkImageBlockPlugin.options, {
43
+ displayName: "RemarkConfig<remarkImageBlock>",
44
+ group: "ImageBlock"
45
+ });
46
+
47
+ const defaultImageBlockConfig = {
48
+ imageIcon: () => image,
49
+ captionIcon: () => chatBubble,
50
+ uploadButton: () => html`Upload file`,
51
+ confirmButton: () => html`Confirm ⏎`,
52
+ uploadPlaceholderText: "or paste the image link ...",
53
+ captionPlaceholderText: "Image caption",
54
+ onUpload: (file) => Promise.resolve(URL.createObjectURL(file))
55
+ };
56
+ const imageBlockConfig = $ctx(defaultImageBlockConfig, "imageBlockConfigCtx");
57
+ withMeta(imageBlockConfig, {
58
+ displayName: "Config<image-block>",
59
+ group: "ImageBlock"
60
+ });
61
+
62
+ function useBlockEffect({
63
+ image,
64
+ resizeHandle,
65
+ ratio,
66
+ setRatio,
67
+ src
68
+ }) {
69
+ const host = useHost();
70
+ const root = useMemo(() => host.current.getRootNode(), [host]);
71
+ useEffect(() => {
72
+ const imageRef = image.current;
73
+ if (!imageRef)
74
+ return;
75
+ delete imageRef.dataset.origin;
76
+ delete imageRef.dataset.height;
77
+ imageRef.style.height = "";
78
+ }, [src]);
79
+ useEffect(() => {
80
+ const resizeHandleRef = resizeHandle.current;
81
+ const imageRef = image.current;
82
+ if (!resizeHandleRef || !imageRef)
83
+ return;
84
+ const onMove = (e) => {
85
+ e.preventDefault();
86
+ const top = imageRef.getBoundingClientRect().top;
87
+ const height = e.clientY - top;
88
+ const h = Number(height < 100 ? 100 : height).toFixed(2);
89
+ imageRef.dataset.height = h;
90
+ imageRef.style.height = `${h}px`;
91
+ };
92
+ const pointerUp = () => {
93
+ root.removeEventListener("pointermove", onMove);
94
+ root.removeEventListener("pointerup", pointerUp);
95
+ const originHeight = Number(imageRef.dataset.origin);
96
+ const currentHeight = Number(imageRef.dataset.height);
97
+ const ratio2 = Number.parseFloat(Number(currentHeight / originHeight).toFixed(2));
98
+ if (Number.isNaN(ratio2))
99
+ return;
100
+ setRatio(ratio2);
101
+ };
102
+ const pointerDown = (e) => {
103
+ e.preventDefault();
104
+ root.addEventListener("pointermove", onMove);
105
+ root.addEventListener("pointerup", pointerUp);
106
+ };
107
+ const onLoad = (e) => {
108
+ const maxWidth = host.current.getBoundingClientRect().width;
109
+ if (!maxWidth)
110
+ return;
111
+ const target = e.target;
112
+ const height = target.height;
113
+ const width = target.width;
114
+ const transformedHeight = width < maxWidth ? height : maxWidth * (height / width);
115
+ const h = (transformedHeight * ratio).toFixed(2);
116
+ imageRef.dataset.origin = transformedHeight.toFixed(2);
117
+ imageRef.dataset.height = h;
118
+ imageRef.style.height = `${h}px`;
119
+ };
120
+ imageRef.addEventListener("load", onLoad);
121
+ resizeHandleRef.addEventListener("pointerdown", pointerDown);
122
+ return () => {
123
+ imageRef.removeEventListener("load", onLoad);
124
+ resizeHandleRef.removeEventListener("pointerdown", pointerDown);
125
+ };
126
+ }, []);
127
+ }
128
+
129
+ let timer = 0;
130
+ const imageComponent = ({
131
+ src = "",
132
+ caption = "",
133
+ ratio = 1,
134
+ selected = false,
135
+ readonly = false,
136
+ setAttr,
137
+ config
138
+ }) => {
139
+ const image = useRef();
140
+ const resizeHandle = useRef();
141
+ const linkInput = useRef();
142
+ const [showCaption, setShowCaption] = useState(caption.length > 0);
143
+ const [hidePlaceholder, setHidePlaceholder] = useState(src.length !== 0);
144
+ const [uuid] = useState(crypto.randomUUID());
145
+ const [focusLinkInput, setFocusLinkInput] = useState(false);
146
+ const [currentLink, setCurrentLink] = useState(src);
147
+ useBlockEffect({
148
+ image,
149
+ resizeHandle,
150
+ ratio,
151
+ setRatio: (r) => setAttr == null ? void 0 : setAttr("ratio", r),
152
+ src
153
+ });
154
+ useEffect(() => {
155
+ if (selected)
156
+ return;
157
+ setShowCaption(caption.length > 0);
158
+ }, [selected]);
159
+ const onInput = (e) => {
160
+ const target = e.target;
161
+ const value = target.value;
162
+ if (timer)
163
+ window.clearTimeout(timer);
164
+ timer = window.setTimeout(() => {
165
+ setAttr == null ? void 0 : setAttr("caption", value);
166
+ }, 1e3);
167
+ };
168
+ const onBlurCaption = (e) => {
169
+ const target = e.target;
170
+ const value = target.value;
171
+ if (timer) {
172
+ window.clearTimeout(timer);
173
+ timer = 0;
174
+ }
175
+ setAttr == null ? void 0 : setAttr("caption", value);
176
+ };
177
+ const onEditLink = (e) => {
178
+ const target = e.target;
179
+ const value = target.value;
180
+ setHidePlaceholder(value.length !== 0);
181
+ setCurrentLink(value);
182
+ };
183
+ const onUpload = async (e) => {
184
+ var _a;
185
+ const file = (_a = e.target.files) == null ? void 0 : _a[0];
186
+ if (!file)
187
+ return;
188
+ const url = await (config == null ? void 0 : config.onUpload(file));
189
+ if (!url)
190
+ return;
191
+ setAttr == null ? void 0 : setAttr("src", url);
192
+ setHidePlaceholder(true);
193
+ };
194
+ const onToggleCaption = (e) => {
195
+ e.preventDefault();
196
+ e.stopPropagation();
197
+ if (readonly)
198
+ return;
199
+ setShowCaption((x) => !x);
200
+ };
201
+ const onConfirmLinkInput = () => {
202
+ var _a, _b;
203
+ setAttr == null ? void 0 : setAttr("src", (_b = (_a = linkInput.current) == null ? void 0 : _a.value) != null ? _b : "");
204
+ };
205
+ const onKeydown = (e) => {
206
+ if (e.key === "Enter")
207
+ onConfirmLinkInput();
208
+ };
209
+ const preventDrag = (e) => {
210
+ e.preventDefault();
211
+ e.stopPropagation();
212
+ };
213
+ const onClickUploader = (e) => {
214
+ e.stopPropagation();
215
+ e.preventDefault();
216
+ };
217
+ return html`<host class=${clsx(selected && "selected")}>
218
+ <div class=${clsx("image-edit", src.length > 0 && "hidden")}>
219
+ <div class="image-icon">
220
+ ${config == null ? void 0 : config.imageIcon()}
221
+ </div>
222
+ <div class=${clsx("link-importer", focusLinkInput && "focus")}>
223
+ <input
224
+ ref=${linkInput}
225
+ draggable="true"
226
+ ondragstart=${preventDrag}
227
+ disabled=${readonly}
228
+ class="link-input-area"
229
+ value=${currentLink}
230
+ oninput=${onEditLink}
231
+ onkeydown=${onKeydown}
232
+ onfocus=${() => setFocusLinkInput(true)}
233
+ onblur=${() => setFocusLinkInput(false)}
234
+ />
235
+ <div class=${clsx("placeholder", hidePlaceholder && "hidden")}>
236
+ <input disabled=${readonly} class="hidden" id=${uuid} type="file" accept="image/*" onchange=${onUpload} />
237
+ <label onpointerdown=${onClickUploader} class="uploader" for=${uuid}>
238
+ ${config == null ? void 0 : config.uploadButton()}
239
+ </label>
240
+ <span class="text" onclick=${() => {
241
+ var _a;
242
+ return (_a = linkInput.current) == null ? void 0 : _a.focus();
243
+ }}>
244
+ ${config == null ? void 0 : config.uploadPlaceholderText}
245
+ </span>
246
+ </div>
247
+ </div>
248
+ <div
249
+ class=${clsx("confirm", currentLink.length === 0 && "hidden")}
250
+ onclick=${() => onConfirmLinkInput()}
251
+ >
252
+ ${config == null ? void 0 : config.confirmButton()}
253
+ </div>
254
+ </div>
255
+ <div class=${clsx("image-wrapper", src.length === 0 && "hidden")}>
256
+ <div class="operation">
257
+ <div class="operation-item" onpointerdown=${onToggleCaption}>${config == null ? void 0 : config.captionIcon()}</div>
258
+ </div>
259
+ <img ref=${image} data-type=${IMAGE_DATA_TYPE} src=${src} alt=${caption} ratio=${ratio} />
260
+ <div ref=${resizeHandle} class="image-resize-handle"></div>
261
+ </div>
262
+ <input
263
+ draggable="true"
264
+ ondragstart=${preventDrag}
265
+ class=${clsx("caption-input", !showCaption && "hidden")}
266
+ placeholder=${config == null ? void 0 : config.captionPlaceholderText}
267
+ oninput=${onInput}
268
+ onblur=${onBlurCaption}
269
+ value=${caption}
270
+ />
271
+ </host>`;
272
+ };
273
+ imageComponent.props = {
274
+ src: String,
275
+ caption: String,
276
+ ratio: Number,
277
+ selected: Boolean,
278
+ readonly: Boolean,
279
+ setAttr: Function,
280
+ config: Object
281
+ };
282
+ const ImageElement = c(imageComponent);
283
+
284
+ defIfNotExists("milkdown-image-block", ImageElement);
285
+ const imageBlockView = $view(imageBlockSchema.node, (ctx) => {
286
+ return (initialNode, view, getPos) => {
287
+ const dom = document.createElement("milkdown-image-block");
288
+ const config = ctx.get(imageBlockConfig.key);
289
+ const bindAttrs = (node) => {
290
+ dom.src = node.attrs.src;
291
+ dom.ratio = node.attrs.ratio;
292
+ dom.caption = node.attrs.caption;
293
+ dom.readonly = !view.editable;
294
+ };
295
+ bindAttrs(initialNode);
296
+ dom.selected = false;
297
+ dom.setAttr = (attr, value) => {
298
+ const pos = getPos();
299
+ if (pos == null)
300
+ return;
301
+ view.dispatch(view.state.tr.setNodeAttribute(pos, attr, value));
302
+ };
303
+ dom.config = config;
304
+ return {
305
+ dom,
306
+ update: (updatedNode) => {
307
+ if (updatedNode.type !== initialNode.type)
308
+ return false;
309
+ bindAttrs(updatedNode);
310
+ return true;
311
+ },
312
+ stopEvent: (e) => {
313
+ if (e.target instanceof HTMLInputElement)
314
+ return true;
315
+ return false;
316
+ },
317
+ selectNode: () => {
318
+ dom.selected = true;
319
+ },
320
+ deselectNode: () => {
321
+ dom.selected = false;
322
+ },
323
+ destroy: () => {
324
+ dom.remove();
325
+ }
326
+ };
327
+ };
328
+ });
329
+ withMeta(imageBlockView, {
330
+ displayName: "NodeView<image-block>",
331
+ group: "ImageBlock"
332
+ });
333
+
334
+ const imageBlockComponent = [
335
+ remarkImageBlockPlugin,
336
+ imageBlockSchema,
337
+ imageBlockView,
338
+ imageBlockConfig
339
+ ].flat();
340
+
341
+ const defaultInlineImageConfig = {
342
+ imageIcon: () => image,
343
+ uploadButton: () => html`Upload`,
344
+ confirmButton: () => html`⏎`,
345
+ uploadPlaceholderText: "/Paste",
346
+ onUpload: (file) => Promise.resolve(URL.createObjectURL(file))
347
+ };
348
+ const inlineImageConfig = $ctx(defaultInlineImageConfig, "inlineImageConfigCtx");
349
+ withMeta(inlineImageConfig, {
350
+ displayName: "Config<image-inline>",
351
+ group: "ImageInline"
352
+ });
353
+
354
+ const inlineImageComponent = ({
355
+ src = "",
356
+ selected = false,
357
+ alt,
358
+ title,
359
+ setAttr,
360
+ config
361
+ }) => {
362
+ const linkInput = useRef();
363
+ const [uuid] = useState(crypto.randomUUID());
364
+ const [focusLinkInput, setFocusLinkInput] = useState(false);
365
+ const [hidePlaceholder, setHidePlaceholder] = useState(src.length !== 0);
366
+ const [currentLink, setCurrentLink] = useState(src);
367
+ const onEditLink = (e) => {
368
+ const target = e.target;
369
+ const value = target.value;
370
+ setHidePlaceholder(value.length !== 0);
371
+ setCurrentLink(value);
372
+ };
373
+ const onUpload = async (e) => {
374
+ var _a;
375
+ const file = (_a = e.target.files) == null ? void 0 : _a[0];
376
+ if (!file)
377
+ return;
378
+ const url = await (config == null ? void 0 : config.onUpload(file));
379
+ if (!url)
380
+ return;
381
+ setAttr == null ? void 0 : setAttr("src", url);
382
+ setHidePlaceholder(true);
383
+ };
384
+ const onConfirmLinkInput = () => {
385
+ var _a, _b;
386
+ setAttr == null ? void 0 : setAttr("src", (_b = (_a = linkInput.current) == null ? void 0 : _a.value) != null ? _b : "");
387
+ };
388
+ const onKeydown = (e) => {
389
+ if (e.key === "Enter")
390
+ onConfirmLinkInput();
391
+ };
392
+ const preventDrag = (e) => {
393
+ e.preventDefault();
394
+ e.stopPropagation();
395
+ };
396
+ const onClickUploader = (e) => {
397
+ e.stopPropagation();
398
+ e.preventDefault();
399
+ };
400
+ return html`<host class=${clsx(selected && "selected", !src && "empty")}>
401
+ ${!src ? html`<div class="empty-image-inline">
402
+ <div class="image-icon">
403
+ ${config == null ? void 0 : config.imageIcon()}
404
+ </div>
405
+ <div class=${clsx("link-importer", focusLinkInput && "focus")}>
406
+ <input
407
+ draggable="true"
408
+ ref=${linkInput}
409
+ ondragstart=${preventDrag}
410
+ class="link-input-area"
411
+ value=${currentLink}
412
+ oninput=${onEditLink}
413
+ onkeydown=${onKeydown}
414
+ onfocus=${() => setFocusLinkInput(true)}
415
+ onblur=${() => setFocusLinkInput(false)}
416
+ />
417
+ <div class=${clsx("placeholder", hidePlaceholder && "hidden")}>
418
+ <input class="hidden" id=${uuid} type="file" accept="image/*" onchange=${onUpload} />
419
+ <label onpointerdown=${onClickUploader} class="uploader" for=${uuid}>
420
+ ${config == null ? void 0 : config.uploadButton()}
421
+ </label>
422
+ <span class="text" onclick=${() => {
423
+ var _a;
424
+ return (_a = linkInput.current) == null ? void 0 : _a.focus();
425
+ }}>
426
+ ${config == null ? void 0 : config.uploadPlaceholderText}
427
+ </span>
428
+ </div>
429
+ </div>
430
+ <div
431
+ class=${clsx("confirm", currentLink.length === 0 && "hidden")}
432
+ onclick=${() => onConfirmLinkInput()}
433
+ >
434
+ ${config == null ? void 0 : config.confirmButton()}
435
+ </div>
436
+ </div>` : html`<img class="image-inline" src=${src} alt=${alt} title=${title} />`}
437
+ </host>`;
438
+ };
439
+ inlineImageComponent.props = {
440
+ src: String,
441
+ alt: String,
442
+ title: String,
443
+ selected: Boolean,
444
+ setAttr: Function,
445
+ config: Object
446
+ };
447
+ const InlineImageElement = c(inlineImageComponent);
448
+
449
+ defIfNotExists("milkdown-image-inline", InlineImageElement);
450
+ const inlineImageView = $view(imageSchema.node, (ctx) => {
451
+ return (initialNode, view, getPos) => {
452
+ const dom = document.createElement("milkdown-image-inline");
453
+ const config = ctx.get(inlineImageConfig.key);
454
+ const bindAttrs = (node) => {
455
+ dom.src = node.attrs.src;
456
+ dom.alt = node.attrs.alt;
457
+ dom.title = node.attrs.title;
458
+ };
459
+ bindAttrs(initialNode);
460
+ dom.selected = false;
461
+ dom.setAttr = (attr, value) => {
462
+ const pos = getPos();
463
+ if (pos == null)
464
+ return;
465
+ view.dispatch(view.state.tr.setNodeAttribute(pos, attr, value));
466
+ };
467
+ dom.config = config;
468
+ return {
469
+ dom,
470
+ update: (updatedNode) => {
471
+ if (updatedNode.type !== initialNode.type)
472
+ return false;
473
+ bindAttrs(updatedNode);
474
+ return true;
475
+ },
476
+ stopEvent: (e) => {
477
+ if (dom.selected && e.target instanceof HTMLInputElement)
478
+ return true;
479
+ return false;
480
+ },
481
+ selectNode: () => {
482
+ dom.selected = true;
483
+ },
484
+ deselectNode: () => {
485
+ dom.selected = false;
486
+ },
487
+ destroy: () => {
488
+ dom.remove();
489
+ }
490
+ };
491
+ };
492
+ });
493
+ withMeta(inlineImageView, {
494
+ displayName: "NodeView<image-inline>",
495
+ group: "ImageInline"
496
+ });
497
+
498
+ const imageInlineComponent = [
499
+ inlineImageConfig,
500
+ inlineImageView
501
+ ];
502
+
503
+ const imageIcon = html`
504
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
505
+ <g clip-path="url(#clip0_1013_1596)">
506
+ <path d="M19 5V19H5V5H19ZM19 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 3ZM14.14 11.86L11.14 15.73L9 13.14L6 17H18L14.14 11.86Z" fill="#817567"/>
507
+ </g>
508
+ <defs>
509
+ <clipPath id="clip0_1013_1596">
510
+ <rect width="24" height="24" fill="white"/>
511
+ </clipPath>
512
+ </defs>
513
+ </svg>
514
+ `;
515
+ const confirmIcon = html`
516
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
517
+ <g clip-path="url(#clip0_1013_1606)">
518
+ <path d="M9.00012 16.1998L5.50012 12.6998C5.11012 12.3098 4.49012 12.3098 4.10012 12.6998C3.71012 13.0898 3.71012 13.7098 4.10012 14.0998L8.29012 18.2898C8.68012 18.6798 9.31012 18.6798 9.70012 18.2898L20.3001 7.69982C20.6901 7.30982 20.6901 6.68982 20.3001 6.29982C19.9101 5.90982 19.2901 5.90982 18.9001 6.29982L9.00012 16.1998Z" fill="#817567"/>
519
+ </g>
520
+ <defs>
521
+ <clipPath id="clip0_1013_1606">
522
+ <rect width="24" height="24" fill="white"/>
523
+ </clipPath>
524
+ </defs>
525
+ </svg>
526
+ `;
527
+ const captionIcon = html`
528
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M9 22a1 1 0 0 1-1-1v-3H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.1l-3.7 3.71c-.2.19-.45.29-.7.29zm1-6v3.08L13.08 16H20V4H4v12z"/></svg>
529
+ `;
530
+ const defineFeature = (editor) => {
531
+ editor.config((ctx) => {
532
+ ctx.update(inlineImageConfig.key, (value) => ({
533
+ ...value,
534
+ imageIcon: () => imageIcon,
535
+ confirmButton: () => confirmIcon,
536
+ uploadPlaceholderText: "or paste link"
537
+ }));
538
+ ctx.update(imageBlockConfig.key, (value) => ({
539
+ ...value,
540
+ imageIcon: () => imageIcon,
541
+ captionIcon: () => captionIcon,
542
+ confirmButton: () => html`Confirm`,
543
+ captionPlaceholderText: "Write Image Caption"
544
+ }));
545
+ }).use(imageBlockComponent).use(imageInlineComponent);
546
+ };
547
+
548
+ export { defineFeature };
549
+ //# sourceMappingURL=index-218OjRxG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-218OjRxG.js","sources":["../../../components/src/image-block/remark-plugin.ts","../../../components/src/image-block/config.ts","../../../components/src/image-block/view/event.ts","../../../components/src/image-block/view/component.ts","../../../components/src/image-block/view/index.ts","../../../components/src/image-block/index.ts","../../../components/src/image-inline/config.ts","../../../components/src/image-inline/component.ts","../../../components/src/image-inline/view.ts","../../../components/src/image-inline/index.ts","../../src/feature/image-block/index.ts"],"sourcesContent":["import type { Node } from '@milkdown/transformer'\nimport { visit } from 'unist-util-visit'\nimport { $remark } from '@milkdown/utils'\nimport { withMeta } from '../__internal__/meta'\n\nfunction visitImage(ast: Node) {\n return visit(ast, 'paragraph', (node: Node & { children?: Node[] }, index: number, parent: Node & { children: Node[] }) => {\n if (node.children?.length !== 1)\n return\n const firstChild = node.children?.[0]\n if (!firstChild || firstChild.type !== 'image')\n return\n\n const { url, alt, title } = firstChild as Node & { url: string, alt: string, title: string }\n const newNode = {\n type: 'image-block',\n url,\n alt,\n title,\n }\n\n parent.children.splice(index, 1, newNode)\n })\n}\n\nexport const remarkImageBlockPlugin = $remark('remark-image-block', () => () => visitImage)\n\nwithMeta(remarkImageBlockPlugin.plugin, {\n displayName: 'Remark<remarkImageBlock>',\n group: 'ImageBlock',\n})\n\nwithMeta(remarkImageBlockPlugin.options, {\n displayName: 'RemarkConfig<remarkImageBlock>',\n group: 'ImageBlock',\n})\n","import { $ctx } from '@milkdown/utils'\nimport { html } from 'atomico'\nimport { chatBubble, image } from '../__internal__/icons'\nimport { withMeta } from '../__internal__/meta'\n\nexport interface ImageBlockConfig {\n imageIcon: () => ReturnType<typeof html>\n captionIcon: () => ReturnType<typeof html>\n uploadButton: () => ReturnType<typeof html>\n confirmButton: () => ReturnType<typeof html>\n uploadPlaceholderText: string\n captionPlaceholderText: string\n onUpload: (file: File) => Promise<string>\n}\n\nexport const defaultImageBlockConfig: ImageBlockConfig = {\n imageIcon: () => image,\n captionIcon: () => chatBubble,\n uploadButton: () => html`Upload file`,\n confirmButton: () => html`Confirm ⏎`,\n uploadPlaceholderText: 'or paste the image link ...',\n captionPlaceholderText: 'Image caption',\n onUpload: file => Promise.resolve(URL.createObjectURL(file)),\n}\n\nexport const imageBlockConfig = $ctx(defaultImageBlockConfig, 'imageBlockConfigCtx')\n\nwithMeta(imageBlockConfig, {\n displayName: 'Config<image-block>',\n group: 'ImageBlock',\n})\n","import { type Ref, useEffect, useHost, useMemo } from 'atomico'\n\ninterface Options {\n image: Ref<HTMLImageElement>\n resizeHandle: Ref<HTMLDivElement>\n ratio: number\n setRatio: (ratio: number) => void\n src: string\n}\n\nexport function useBlockEffect({\n image,\n resizeHandle,\n ratio,\n setRatio,\n src,\n}: Options) {\n const host = useHost()\n const root = useMemo(() => host.current.getRootNode() as HTMLElement, [host])\n\n useEffect(() => {\n const imageRef = image.current\n if (!imageRef)\n return\n\n delete imageRef.dataset.origin\n delete imageRef.dataset.height\n imageRef.style.height = ''\n }, [src])\n\n useEffect(() => {\n const resizeHandleRef = resizeHandle.current\n const imageRef = image.current\n if (!resizeHandleRef || !imageRef)\n return\n const onMove = (e: PointerEvent) => {\n e.preventDefault()\n const top = imageRef.getBoundingClientRect().top\n const height = e.clientY - top\n const h = Number(height < 100 ? 100 : height).toFixed(2)\n imageRef.dataset.height = h\n imageRef.style.height = `${h}px`\n }\n const pointerUp = () => {\n root.removeEventListener('pointermove', onMove)\n root.removeEventListener('pointerup', pointerUp)\n const originHeight = Number(imageRef.dataset.origin)\n const currentHeight = Number(imageRef.dataset.height)\n const ratio = Number.parseFloat(Number(currentHeight / originHeight).toFixed(2))\n if (Number.isNaN(ratio))\n return\n\n setRatio(ratio)\n }\n\n const pointerDown = (e: PointerEvent) => {\n e.preventDefault()\n root.addEventListener('pointermove', onMove)\n root.addEventListener('pointerup', pointerUp)\n }\n\n const onLoad = (e: Event) => {\n const maxWidth = host.current.getBoundingClientRect().width\n if (!maxWidth)\n return\n\n const target = e.target as HTMLImageElement\n const height = target.height\n const width = target.width\n const transformedHeight = width < maxWidth ? height : maxWidth * (height / width)\n const h = (transformedHeight * ratio).toFixed(2)\n imageRef.dataset.origin = transformedHeight.toFixed(2)\n imageRef.dataset.height = h\n imageRef.style.height = `${h}px`\n }\n\n imageRef.addEventListener('load', onLoad)\n resizeHandleRef.addEventListener('pointerdown', pointerDown)\n return () => {\n imageRef.removeEventListener('load', onLoad)\n resizeHandleRef.removeEventListener('pointerdown', pointerDown)\n }\n }, [])\n}\n","import type { Component } from 'atomico'\nimport { c, html, useEffect, useRef, useState } from 'atomico'\nimport clsx from 'clsx'\nimport type { ImageBlockConfig } from '../config'\nimport { IMAGE_DATA_TYPE } from '../schema'\nimport { useBlockEffect } from './event'\n\nexport interface Attrs {\n src: string\n caption: string\n ratio: number\n}\n\nexport type ImageComponentProps = Attrs & {\n config: ImageBlockConfig\n selected: boolean\n readonly: boolean\n setAttr: <T extends keyof Attrs>(attr: T, value: Attrs[T]) => void\n}\n\nlet timer: number = 0\n\nexport const imageComponent: Component<ImageComponentProps> = ({\n src = '',\n caption = '',\n ratio = 1,\n selected = false,\n readonly = false,\n setAttr,\n config,\n}) => {\n const image = useRef<HTMLImageElement>()\n const resizeHandle = useRef<HTMLDivElement>()\n const linkInput = useRef<HTMLInputElement>()\n const [showCaption, setShowCaption] = useState(caption.length > 0)\n const [hidePlaceholder, setHidePlaceholder] = useState(src.length !== 0)\n const [uuid] = useState(crypto.randomUUID())\n const [focusLinkInput, setFocusLinkInput] = useState(false)\n const [currentLink, setCurrentLink] = useState(src)\n\n useBlockEffect({\n image,\n resizeHandle,\n ratio,\n setRatio: r => setAttr?.('ratio', r),\n src,\n })\n\n useEffect(() => {\n if (selected)\n return\n\n setShowCaption(caption.length > 0)\n }, [selected])\n\n const onInput = (e: InputEvent) => {\n const target = e.target as HTMLInputElement\n const value = target.value\n if (timer)\n window.clearTimeout(timer)\n\n timer = window.setTimeout(() => {\n setAttr?.('caption', value)\n }, 1000)\n }\n\n const onBlurCaption = (e: InputEvent) => {\n const target = e.target as HTMLInputElement\n const value = target.value\n if (timer) {\n window.clearTimeout(timer)\n timer = 0\n }\n\n setAttr?.('caption', value)\n }\n\n const onEditLink = (e: InputEvent) => {\n const target = e.target as HTMLInputElement\n const value = target.value\n setHidePlaceholder(value.length !== 0)\n setCurrentLink(value)\n }\n\n const onUpload = async (e: InputEvent) => {\n const file = (e.target as HTMLInputElement).files?.[0]\n if (!file)\n return\n\n const url = await config?.onUpload(file)\n if (!url)\n return\n\n setAttr?.('src', url)\n setHidePlaceholder(true)\n }\n\n const onToggleCaption = (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n if (readonly)\n return\n setShowCaption(x => !x)\n }\n\n const onConfirmLinkInput = () => {\n setAttr?.('src', linkInput.current?.value ?? '')\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter')\n onConfirmLinkInput()\n }\n\n const preventDrag = (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n }\n\n const onClickUploader = (e: PointerEvent) => {\n e.stopPropagation()\n e.preventDefault()\n }\n\n return html`<host class=${clsx(selected && 'selected')}>\n <div class=${clsx('image-edit', src.length > 0 && 'hidden')}>\n <div class=\"image-icon\">\n ${config?.imageIcon()}\n </div>\n <div class=${clsx('link-importer', focusLinkInput && 'focus')}>\n <input\n ref=${linkInput}\n draggable=\"true\"\n ondragstart=${preventDrag}\n disabled=${readonly}\n class=\"link-input-area\"\n value=${currentLink}\n oninput=${onEditLink}\n onkeydown=${onKeydown}\n onfocus=${() => setFocusLinkInput(true)}\n onblur=${() => setFocusLinkInput(false)}\n />\n <div class=${clsx('placeholder', hidePlaceholder && 'hidden')}>\n <input disabled=${readonly} class=\"hidden\" id=${uuid} type=\"file\" accept=\"image/*\" onchange=${onUpload} />\n <label onpointerdown=${onClickUploader} class=\"uploader\" for=${uuid}>\n ${config?.uploadButton()}\n </label>\n <span class=\"text\" onclick=${() => linkInput.current?.focus()}>\n ${config?.uploadPlaceholderText}\n </span>\n </div>\n </div>\n <div\n class=${clsx('confirm', currentLink.length === 0 && 'hidden')}\n onclick=${() => onConfirmLinkInput()}\n >\n ${config?.confirmButton()}\n </div>\n </div>\n <div class=${clsx('image-wrapper', src.length === 0 && 'hidden')}>\n <div class=\"operation\">\n <div class=\"operation-item\" onpointerdown=${onToggleCaption}>${config?.captionIcon()}</div>\n </div>\n <img ref=${image} data-type=${IMAGE_DATA_TYPE} src=${src} alt=${caption} ratio=${ratio} />\n <div ref=${resizeHandle} class=\"image-resize-handle\"></div>\n </div>\n <input\n draggable=\"true\"\n ondragstart=${preventDrag}\n class=${clsx('caption-input', !showCaption && 'hidden')}\n placeholder=${config?.captionPlaceholderText}\n oninput=${onInput}\n onblur=${onBlurCaption}\n value=${caption}\n />\n </host>`\n}\n\nimageComponent.props = {\n src: String,\n caption: String,\n ratio: Number,\n selected: Boolean,\n readonly: Boolean,\n setAttr: Function,\n config: Object,\n}\n\nexport const ImageElement = c(imageComponent)\n","import { $view } from '@milkdown/utils'\nimport type { NodeViewConstructor } from '@milkdown/prose/view'\nimport type { Node } from '@milkdown/prose/model'\nimport { imageBlockSchema } from '../schema'\nimport { imageBlockConfig } from '../config'\nimport { withMeta } from '../../__internal__/meta'\nimport { defIfNotExists } from '../../__internal__/helper'\nimport type { ImageComponentProps } from './component'\nimport { ImageElement } from './component'\n\ndefIfNotExists('milkdown-image-block', ImageElement)\nexport const imageBlockView = $view(imageBlockSchema.node, (ctx): NodeViewConstructor => {\n return (initialNode, view, getPos) => {\n const dom = document.createElement('milkdown-image-block') as HTMLElement & ImageComponentProps\n const config = ctx.get(imageBlockConfig.key)\n const bindAttrs = (node: Node) => {\n dom.src = node.attrs.src\n dom.ratio = node.attrs.ratio\n dom.caption = node.attrs.caption\n\n dom.readonly = !view.editable\n }\n\n bindAttrs(initialNode)\n dom.selected = false\n dom.setAttr = (attr, value) => {\n const pos = getPos()\n if (pos == null)\n return\n\n view.dispatch(view.state.tr.setNodeAttribute(pos, attr, value))\n }\n dom.config = config\n return {\n dom,\n update: (updatedNode) => {\n if (updatedNode.type !== initialNode.type)\n return false\n\n bindAttrs(updatedNode)\n return true\n },\n stopEvent: (e) => {\n if (e.target instanceof HTMLInputElement)\n return true\n\n return false\n },\n selectNode: () => {\n dom.selected = true\n },\n deselectNode: () => {\n dom.selected = false\n },\n destroy: () => {\n dom.remove()\n },\n }\n }\n})\n\nwithMeta(imageBlockView, {\n displayName: 'NodeView<image-block>',\n group: 'ImageBlock',\n})\n","import type { MilkdownPlugin } from '@milkdown/ctx'\nimport { imageBlockSchema } from './schema'\nimport { remarkImageBlockPlugin } from './remark-plugin'\nimport { imageBlockView } from './view'\nimport { imageBlockConfig } from './config'\n\nexport * from './schema'\nexport * from './remark-plugin'\nexport * from './config'\nexport * from './view'\n\nexport const imageBlockComponent: MilkdownPlugin[] = [\n remarkImageBlockPlugin,\n imageBlockSchema,\n imageBlockView,\n imageBlockConfig,\n].flat()\n","import { $ctx } from '@milkdown/utils'\nimport { html } from 'atomico'\nimport { image } from '../__internal__/icons'\nimport { withMeta } from '../__internal__/meta'\n\nexport interface InlineImageConfig {\n imageIcon: () => ReturnType<typeof html>\n uploadButton: () => ReturnType<typeof html>\n confirmButton: () => ReturnType<typeof html>\n uploadPlaceholderText: string\n onUpload: (file: File) => Promise<string>\n}\n\nexport const defaultInlineImageConfig: InlineImageConfig = {\n imageIcon: () => image,\n uploadButton: () => html`Upload`,\n confirmButton: () => html`⏎`,\n uploadPlaceholderText: '/Paste',\n onUpload: file => Promise.resolve(URL.createObjectURL(file)),\n}\n\nexport const inlineImageConfig = $ctx(defaultInlineImageConfig, 'inlineImageConfigCtx')\n\nwithMeta(inlineImageConfig, {\n displayName: 'Config<image-inline>',\n group: 'ImageInline',\n})\n","import { c, html, useRef, useState } from 'atomico'\nimport type { Component } from 'atomico'\nimport clsx from 'clsx'\nimport type { InlineImageConfig } from './config'\n\nexport interface Attrs {\n src: string\n alt: string\n title: string\n}\n\nexport type InlineImageComponentProps = Attrs & {\n setAttr: <T extends keyof Attrs>(attr: T, value: Attrs[T]) => void\n selected: boolean\n config: InlineImageConfig\n}\n\nexport const inlineImageComponent: Component<InlineImageComponentProps> = ({\n src = '',\n selected = false,\n alt,\n title,\n setAttr,\n config,\n}) => {\n const linkInput = useRef<HTMLInputElement>()\n const [uuid] = useState(crypto.randomUUID())\n const [focusLinkInput, setFocusLinkInput] = useState(false)\n const [hidePlaceholder, setHidePlaceholder] = useState(src.length !== 0)\n const [currentLink, setCurrentLink] = useState(src)\n\n const onEditLink = (e: InputEvent) => {\n const target = e.target as HTMLInputElement\n const value = target.value\n setHidePlaceholder(value.length !== 0)\n setCurrentLink(value)\n }\n\n const onUpload = async (e: InputEvent) => {\n const file = (e.target as HTMLInputElement).files?.[0]\n if (!file)\n return\n\n const url = await config?.onUpload(file)\n if (!url)\n return\n\n setAttr?.('src', url)\n setHidePlaceholder(true)\n }\n\n const onConfirmLinkInput = () => {\n setAttr?.('src', linkInput.current?.value ?? '')\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter')\n onConfirmLinkInput()\n }\n\n const preventDrag = (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n }\n\n const onClickUploader = (e: PointerEvent) => {\n e.stopPropagation()\n e.preventDefault()\n }\n\n return html`<host class=${clsx(selected && 'selected', !src && 'empty')}>\n ${!src\n ? html`<div class=\"empty-image-inline\">\n <div class=\"image-icon\">\n ${config?.imageIcon()}\n </div>\n <div class=${clsx('link-importer', focusLinkInput && 'focus')}>\n <input\n draggable=\"true\"\n ref=${linkInput}\n ondragstart=${preventDrag}\n class=\"link-input-area\"\n value=${currentLink}\n oninput=${onEditLink}\n onkeydown=${onKeydown}\n onfocus=${() => setFocusLinkInput(true)}\n onblur=${() => setFocusLinkInput(false)}\n />\n <div class=${clsx('placeholder', hidePlaceholder && 'hidden')}>\n <input class=\"hidden\" id=${uuid} type=\"file\" accept=\"image/*\" onchange=${onUpload} />\n <label onpointerdown=${onClickUploader} class=\"uploader\" for=${uuid}>\n ${config?.uploadButton()}\n </label>\n <span class=\"text\" onclick=${() => linkInput.current?.focus()}>\n ${config?.uploadPlaceholderText}\n </span>\n </div>\n </div>\n <div\n class=${clsx('confirm', currentLink.length === 0 && 'hidden')}\n onclick=${() => onConfirmLinkInput()}\n >\n ${config?.confirmButton()}\n </div>\n </div>`\n : html`<img class=\"image-inline\" src=${src} alt=${alt} title=${title} />`\n }\n </host>`\n}\n\ninlineImageComponent.props = {\n src: String,\n alt: String,\n title: String,\n selected: Boolean,\n setAttr: Function,\n config: Object,\n}\n\nexport const InlineImageElement = c(inlineImageComponent)\n","import { $view } from '@milkdown/utils'\nimport type { NodeViewConstructor } from '@milkdown/prose/view'\nimport { imageSchema } from '@milkdown/preset-commonmark'\nimport type { Node } from '@milkdown/prose/model'\nimport { withMeta } from '../__internal__/meta'\nimport { defIfNotExists } from '../__internal__/helper'\nimport type { InlineImageComponentProps } from './component'\nimport { InlineImageElement } from './component'\nimport { inlineImageConfig } from './config'\n\ndefIfNotExists('milkdown-image-inline', InlineImageElement)\nexport const inlineImageView = $view(imageSchema.node, (ctx): NodeViewConstructor => {\n return (initialNode, view, getPos) => {\n const dom = document.createElement('milkdown-image-inline') as HTMLElement & InlineImageComponentProps\n const config = ctx.get(inlineImageConfig.key)\n const bindAttrs = (node: Node) => {\n dom.src = node.attrs.src\n dom.alt = node.attrs.alt\n dom.title = node.attrs.title\n }\n bindAttrs(initialNode)\n dom.selected = false\n dom.setAttr = (attr, value) => {\n const pos = getPos()\n if (pos == null)\n return\n\n view.dispatch(view.state.tr.setNodeAttribute(pos, attr, value))\n }\n dom.config = config\n return {\n dom,\n update: (updatedNode) => {\n if (updatedNode.type !== initialNode.type)\n return false\n\n bindAttrs(updatedNode)\n return true\n },\n stopEvent: (e) => {\n if (dom.selected && e.target instanceof HTMLInputElement)\n return true\n\n return false\n },\n selectNode: () => {\n dom.selected = true\n },\n deselectNode: () => {\n dom.selected = false\n },\n destroy: () => {\n dom.remove()\n },\n }\n }\n})\n\nwithMeta(inlineImageView, {\n displayName: 'NodeView<image-inline>',\n group: 'ImageInline',\n})\n","import type { MilkdownPlugin } from '@milkdown/ctx'\nimport { inlineImageConfig } from './config'\nimport { inlineImageView } from './view'\n\nexport * from './config'\nexport * from './view'\n\nexport const imageInlineComponent: MilkdownPlugin[] = [\n inlineImageConfig,\n inlineImageView,\n]\n","import { imageBlockComponent, imageBlockConfig } from '@milkdown/components/image-block'\nimport { imageInlineComponent, inlineImageConfig } from '@milkdown/components/image-inline'\nimport { html } from 'atomico'\nimport type { DefineFeature } from '../shared'\n\nconst imageIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <g clip-path=\"url(#clip0_1013_1596)\">\n <path d=\"M19 5V19H5V5H19ZM19 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 3ZM14.14 11.86L11.14 15.73L9 13.14L6 17H18L14.14 11.86Z\" fill=\"#817567\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1013_1596\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n`\n\nconst confirmIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <g clip-path=\"url(#clip0_1013_1606)\">\n <path d=\"M9.00012 16.1998L5.50012 12.6998C5.11012 12.3098 4.49012 12.3098 4.10012 12.6998C3.71012 13.0898 3.71012 13.7098 4.10012 14.0998L8.29012 18.2898C8.68012 18.6798 9.31012 18.6798 9.70012 18.2898L20.3001 7.69982C20.6901 7.30982 20.6901 6.68982 20.3001 6.29982C19.9101 5.90982 19.2901 5.90982 18.9001 6.29982L9.00012 16.1998Z\" fill=\"#817567\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1013_1606\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n`\n\nconst captionIcon = html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9 22a1 1 0 0 1-1-1v-3H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.1l-3.7 3.71c-.2.19-.45.29-.7.29zm1-6v3.08L13.08 16H20V4H4v12z\"/></svg>\n`\n\nexport const defineFeature: DefineFeature = (editor) => {\n editor\n .config((ctx) => {\n ctx.update(inlineImageConfig.key, value => ({\n ...value,\n imageIcon: () => imageIcon,\n confirmButton: () => confirmIcon,\n uploadPlaceholderText: 'or paste link',\n }))\n ctx.update(imageBlockConfig.key, value => ({\n ...value,\n imageIcon: () => imageIcon,\n captionIcon: () => captionIcon,\n confirmButton: () => html`Confirm`,\n captionPlaceholderText: 'Write Image Caption',\n }))\n })\n .use(imageBlockComponent)\n .use(imageInlineComponent)\n}\n"],"names":["ratio"],"mappings":"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"}