most-box 0.1.1 → 0.1.3

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 (231) hide show
  1. package/README.md +39 -19
  2. package/electron/afterPack.cjs +87 -0
  3. package/electron/main.js +156 -8
  4. package/electron/preload.js +6 -0
  5. package/electron/updateChecker.js +97 -0
  6. package/electron/updateChecker.test.js +147 -0
  7. package/out/404/index.html +2 -2
  8. package/out/404.html +2 -2
  9. package/out/__next.__PAGE__.txt +6 -6
  10. package/out/__next._full.txt +16 -16
  11. package/out/__next._head.txt +3 -3
  12. package/out/__next._index.txt +8 -8
  13. package/out/__next._tree.txt +5 -5
  14. package/out/_next/static/chunks/04mo7rr..0_1q.js +1 -0
  15. package/out/_next/static/chunks/06rf3qq5ggs6v.js +1 -0
  16. package/out/_next/static/chunks/07td.jq7xff84.css +1 -0
  17. package/out/_next/static/chunks/0_0oph_z1az14.js +1 -0
  18. package/out/_next/static/chunks/{0qou.u2e2dy48.css → 0adx~d-j05c9d.css} +2 -2
  19. package/out/_next/static/chunks/0cl7d~7abnk_p.css +1 -0
  20. package/out/_next/static/chunks/0d306t1wvjpdx.js +1 -0
  21. package/out/_next/static/chunks/0g_a~e050bgzg.css +1 -0
  22. package/out/_next/static/chunks/{0o6lrkxy4jwag.js → 0gcsdf57gcm6h.js} +1 -1
  23. package/out/_next/static/chunks/0hpev4am9jpmu.css +1 -0
  24. package/out/_next/static/chunks/0m_5nb6x8qy._.js +1 -0
  25. package/out/_next/static/chunks/0n.ayxmsar6e5.js +1 -0
  26. package/out/_next/static/chunks/{0usvo~vu7r8np.js → 0o9ce4cyf76by.js} +1 -1
  27. package/out/_next/static/chunks/0olqjomda37-e.js +1 -0
  28. package/out/_next/static/chunks/{0o98f1yq..o.8.js → 0pt.5cg1t09qs.js} +1 -1
  29. package/out/_next/static/chunks/0qgx9t4jx16ua.css +1 -0
  30. package/out/_next/static/chunks/0s~g.l~x049o2.js +1 -0
  31. package/out/_next/static/chunks/0ukyg~tkm~h2m.css +1 -0
  32. package/out/_next/static/chunks/0voe1.ttrh84k.css +1 -0
  33. package/out/_next/static/chunks/0wtf0xsiicxx6.js +1 -0
  34. package/out/_next/static/chunks/0x.ky97owcxxs.js +1 -0
  35. package/out/_next/static/chunks/0xdwau5k2augv.css +4 -0
  36. package/out/_next/static/chunks/0ysj5b94vu4ri.js +1 -0
  37. package/out/_next/static/chunks/12nr19.nnn6s3.js +5 -0
  38. package/out/_next/static/chunks/{0qub_r0x_r-e9.css → 12pep-2t-qg4n.css} +1 -1
  39. package/out/_next/static/chunks/14_inksek_rth.js +2 -0
  40. package/out/_next/static/chunks/153-sz7s.qml2.js +1 -0
  41. package/out/_next/static/chunks/17cwkb2yn_akx.js +1 -0
  42. package/out/_next/static/chunks/184hxsuf-5c84.js +1 -0
  43. package/out/_next/static/chunks/{turbopack-0xs6mybc~5t_3.js → turbopack-0xta0kqwzkf28.js} +1 -1
  44. package/out/_not-found/__next._full.txt +13 -13
  45. package/out/_not-found/__next._head.txt +3 -3
  46. package/out/_not-found/__next._index.txt +8 -8
  47. package/out/_not-found/__next._not-found.__PAGE__.txt +4 -4
  48. package/out/_not-found/__next._not-found.txt +3 -3
  49. package/out/_not-found/__next._tree.txt +3 -3
  50. package/out/_not-found/index.html +2 -2
  51. package/out/_not-found/index.txt +13 -13
  52. package/out/admin/__next._full.txt +15 -15
  53. package/out/admin/__next._head.txt +3 -3
  54. package/out/admin/__next._index.txt +8 -8
  55. package/out/admin/__next._tree.txt +4 -4
  56. package/out/admin/__next.admin.__PAGE__.txt +4 -4
  57. package/out/admin/__next.admin.txt +4 -4
  58. package/out/admin/index.html +2 -2
  59. package/out/admin/index.txt +15 -15
  60. package/out/app/__next._full.txt +14 -14
  61. package/out/app/__next._head.txt +3 -3
  62. package/out/app/__next._index.txt +8 -8
  63. package/out/app/__next._tree.txt +3 -3
  64. package/out/app/__next.app.__PAGE__.txt +4 -4
  65. package/out/app/__next.app.txt +3 -3
  66. package/out/app/index.html +2 -2
  67. package/out/app/index.txt +14 -14
  68. package/out/chat/__next._full.txt +15 -15
  69. package/out/chat/__next._head.txt +3 -3
  70. package/out/chat/__next._index.txt +8 -8
  71. package/out/chat/__next._tree.txt +4 -4
  72. package/out/chat/__next.chat.__PAGE__.txt +4 -4
  73. package/out/chat/__next.chat.txt +4 -4
  74. package/out/chat/index.html +2 -2
  75. package/out/chat/index.txt +15 -15
  76. package/out/chat/join/__next._full.txt +25 -0
  77. package/out/chat/join/__next._head.txt +5 -0
  78. package/out/{changelog → chat/join}/__next._index.txt +8 -8
  79. package/out/chat/join/__next._tree.txt +5 -0
  80. package/out/chat/join/__next.chat.join.__PAGE__.txt +9 -0
  81. package/out/chat/join/__next.chat.join.txt +5 -0
  82. package/out/chat/join/__next.chat.txt +5 -0
  83. package/out/chat/join/index.html +15 -0
  84. package/out/chat/join/index.txt +25 -0
  85. package/out/download/__next._full.txt +37 -33
  86. package/out/download/__next._head.txt +3 -3
  87. package/out/download/__next._index.txt +8 -8
  88. package/out/download/__next._tree.txt +5 -5
  89. package/out/download/__next.download.__PAGE__.txt +9 -14
  90. package/out/download/__next.download.txt +3 -3
  91. package/out/download/index.html +2 -2
  92. package/out/download/index.txt +37 -33
  93. package/out/favicon.ico +0 -0
  94. package/out/gandengyan/__next._full.txt +25 -0
  95. package/out/{changelog → gandengyan}/__next._head.txt +3 -3
  96. package/out/{docs → gandengyan}/__next._index.txt +8 -8
  97. package/out/gandengyan/__next._tree.txt +5 -0
  98. package/out/gandengyan/__next.gandengyan.__PAGE__.txt +10 -0
  99. package/out/gandengyan/__next.gandengyan.txt +5 -0
  100. package/out/gandengyan/index.html +15 -0
  101. package/out/gandengyan/index.txt +25 -0
  102. package/out/index.html +2 -2
  103. package/out/index.txt +16 -16
  104. package/out/note/__next._full.txt +14 -14
  105. package/out/note/__next._head.txt +3 -3
  106. package/out/note/__next._index.txt +8 -8
  107. package/out/note/__next._tree.txt +3 -3
  108. package/out/note/__next.note.__PAGE__.txt +4 -4
  109. package/out/note/__next.note.txt +3 -3
  110. package/out/note/index.html +2 -2
  111. package/out/note/index.txt +14 -14
  112. package/out/ping/__next._full.txt +16 -16
  113. package/out/ping/__next._head.txt +3 -3
  114. package/out/ping/__next._index.txt +8 -8
  115. package/out/ping/__next._tree.txt +5 -5
  116. package/out/ping/__next.ping.__PAGE__.txt +5 -5
  117. package/out/ping/__next.ping.txt +4 -4
  118. package/out/ping/index.html +2 -2
  119. package/out/ping/index.txt +16 -16
  120. package/out/web3/__next._full.txt +15 -15
  121. package/out/web3/__next._head.txt +3 -3
  122. package/out/web3/__next._index.txt +8 -8
  123. package/out/web3/__next._tree.txt +4 -4
  124. package/out/web3/__next.web3.__PAGE__.txt +4 -4
  125. package/out/web3/__next.web3.txt +4 -4
  126. package/out/web3/ed25519/__next._full.txt +13 -13
  127. package/out/web3/ed25519/__next._head.txt +3 -3
  128. package/out/web3/ed25519/__next._index.txt +8 -8
  129. package/out/web3/ed25519/__next._tree.txt +4 -4
  130. package/out/web3/ed25519/__next.web3.ed25519.__PAGE__.txt +2 -2
  131. package/out/web3/ed25519/__next.web3.ed25519.txt +3 -3
  132. package/out/web3/ed25519/__next.web3.txt +4 -4
  133. package/out/web3/ed25519/index.html +1 -1
  134. package/out/web3/ed25519/index.txt +13 -13
  135. package/out/web3/index.html +2 -2
  136. package/out/web3/index.txt +15 -15
  137. package/out/web3/tools/__next._full.txt +13 -13
  138. package/out/web3/tools/__next._head.txt +3 -3
  139. package/out/web3/tools/__next._index.txt +8 -8
  140. package/out/web3/tools/__next._tree.txt +4 -4
  141. package/out/web3/tools/__next.web3.tools.__PAGE__.txt +2 -2
  142. package/out/web3/tools/__next.web3.tools.txt +3 -3
  143. package/out/web3/tools/__next.web3.txt +4 -4
  144. package/out/web3/tools/index.html +1 -1
  145. package/out/web3/tools/index.txt +13 -13
  146. package/package.json +44 -35
  147. package/public/favicon.ico +0 -0
  148. package/server/index.js +142 -1304
  149. package/server/src/config.js +1 -1
  150. package/server/src/core/channelAttachment.js +68 -0
  151. package/server/src/core/cid.js +2 -88
  152. package/server/src/core/cidTopic.js +29 -0
  153. package/server/src/core/mostLink.js +88 -0
  154. package/server/src/games/gandengyan.js +675 -0
  155. package/server/src/http/access.js +127 -0
  156. package/server/src/http/app.js +1102 -0
  157. package/server/src/http/errors.js +35 -0
  158. package/server/src/http/nodeLogs.js +53 -0
  159. package/server/src/http/nodeStatus.js +146 -0
  160. package/server/src/http/staticFiles.js +84 -0
  161. package/server/src/http/uploads.js +114 -0
  162. package/server/src/index.js +799 -211
  163. package/server/src/node/config.js +38 -6
  164. package/server/src/utils/api.js +305 -14
  165. package/server/src/utils/auth.js +63 -0
  166. package/server/src/utils/dateTime.js +30 -0
  167. package/server/src/utils/downloadMessages.js +89 -0
  168. package/server/src/utils/errors.js +7 -0
  169. package/server/src/utils/mostWallet.js +151 -0
  170. package/server/src/utils/mp.js +2 -26
  171. package/server/src/utils/noteBackup.js +2 -5
  172. package/server/src/utils/noteUtils.js +11 -3
  173. package/server/src/utils/userIdentity.js +0 -1
  174. package/out/_next/static/chunks/00-u5nq76f0.j.js +0 -1
  175. package/out/_next/static/chunks/00fm8lijienf1.js +0 -1
  176. package/out/_next/static/chunks/00o9ht.f2qm00.css +0 -4
  177. package/out/_next/static/chunks/00zi-erhjrny2.js +0 -2
  178. package/out/_next/static/chunks/084xf0edl9sfo.js +0 -1
  179. package/out/_next/static/chunks/09f1gfke9m5wg.css +0 -1
  180. package/out/_next/static/chunks/09xyi6fpro_d-.css +0 -1
  181. package/out/_next/static/chunks/0_npg_pcoywti.js +0 -5
  182. package/out/_next/static/chunks/0_r_mk1~6bosc.js +0 -1
  183. package/out/_next/static/chunks/0arm0a6adt7cc.css +0 -1
  184. package/out/_next/static/chunks/0c9j3eq_14vv2.css +0 -1
  185. package/out/_next/static/chunks/0d4bueddmcnca.js +0 -1
  186. package/out/_next/static/chunks/0gtwvy1z9ksa7.css +0 -1
  187. package/out/_next/static/chunks/0ho~log~~-jwp.css +0 -1
  188. package/out/_next/static/chunks/0j27tcmtt4ly7.js +0 -1
  189. package/out/_next/static/chunks/0j3v4mq67wtnh.js +0 -1
  190. package/out/_next/static/chunks/0lkmf5ry.s_7w.js +0 -1
  191. package/out/_next/static/chunks/0p486m03-zfoi.js +0 -1
  192. package/out/_next/static/chunks/0r1~k82nji8sf.js +0 -1
  193. package/out/_next/static/chunks/0v7qp4hv-_._r.js +0 -1
  194. package/out/_next/static/chunks/0wuwlgcn6gxqt.js +0 -1
  195. package/out/_next/static/chunks/0xl5_avhu._i8.js +0 -1
  196. package/out/_next/static/chunks/10kvl8vj_plm-.js +0 -1
  197. package/out/_next/static/chunks/16m27azcs4k6w.js +0 -1
  198. package/out/changelog/__next._full.txt +0 -25
  199. package/out/changelog/__next._tree.txt +0 -5
  200. package/out/changelog/__next.changelog.__PAGE__.txt +0 -10
  201. package/out/changelog/__next.changelog.txt +0 -5
  202. package/out/changelog/index.html +0 -15
  203. package/out/changelog/index.txt +0 -25
  204. package/out/docs/__next._full.txt +0 -25
  205. package/out/docs/__next._head.txt +0 -5
  206. package/out/docs/__next._tree.txt +0 -5
  207. package/out/docs/__next.docs.__PAGE__.txt +0 -10
  208. package/out/docs/__next.docs.txt +0 -5
  209. package/out/docs/getting-started/__next._full.txt +0 -25
  210. package/out/docs/getting-started/__next._head.txt +0 -5
  211. package/out/docs/getting-started/__next._index.txt +0 -9
  212. package/out/docs/getting-started/__next._tree.txt +0 -5
  213. package/out/docs/getting-started/__next.docs.getting-started.__PAGE__.txt +0 -10
  214. package/out/docs/getting-started/__next.docs.getting-started.txt +0 -5
  215. package/out/docs/getting-started/__next.docs.txt +0 -5
  216. package/out/docs/getting-started/index.html +0 -15
  217. package/out/docs/getting-started/index.txt +0 -25
  218. package/out/docs/index.html +0 -15
  219. package/out/docs/index.txt +0 -25
  220. package/out/note/edit/__next._full.txt +0 -24
  221. package/out/note/edit/__next._head.txt +0 -5
  222. package/out/note/edit/__next._index.txt +0 -9
  223. package/out/note/edit/__next._tree.txt +0 -4
  224. package/out/note/edit/__next.note.edit.__PAGE__.txt +0 -9
  225. package/out/note/edit/__next.note.edit.txt +0 -5
  226. package/out/note/edit/__next.note.txt +0 -5
  227. package/out/note/edit/index.html +0 -15
  228. package/out/note/edit/index.txt +0 -24
  229. /package/out/_next/static/{sIuUKxnnGU7K9Tu9UDKE8 → aPEZ4zaaR5W3WpSZ0dFsa}/_buildManifest.js +0 -0
  230. /package/out/_next/static/{sIuUKxnnGU7K9Tu9UDKE8 → aPEZ4zaaR5W3WpSZ0dFsa}/_clientMiddlewareManifest.js +0 -0
  231. /package/out/_next/static/{sIuUKxnnGU7K9Tu9UDKE8 → aPEZ4zaaR5W3WpSZ0dFsa}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82022,e=>{"use strict";let a=(0,e.i(56420).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,a],82022)},66344,e=>{"use strict";var a=e.i(47167),l=e.i(18050),t=e.i(71645),s=e.i(36162),n=e.i(62368),r=e.i(82022),i=e.i(26158),o=e.i(46513);let d="https://github.com/most-people/most/releases/latest",c=a.default.env.NEXT_PUBLIC_RELEASE_MANIFEST_URL||`${(a.default.env.NEXT_PUBLIC_R2_PUBLIC_BASE_URL||"https://download.most.box").replace(/\/+$/,"")}/releases/latest.json`,u=[{platform:"windows",arch:"x64",kind:"installer",filename:"GitHub Releases",githubUrl:d},{platform:"windows",arch:"arm64",kind:"installer",filename:"GitHub Releases",githubUrl:d},{platform:"macos",arch:"x64",kind:"installer",filename:"GitHub Releases",githubUrl:d},{platform:"macos",arch:"arm64",kind:"installer",filename:"GitHub Releases",githubUrl:d},{platform:"linux",arch:"x64",kind:"installer",filename:"GitHub Releases",githubUrl:d},{platform:"linux",arch:"arm64",kind:"installer",filename:"GitHub Releases",githubUrl:d}],m={windows:{name:"Windows",ext:".exe",desc:"Windows 10 或更高版本",icon:o.Monitor},macos:{name:"macOS",ext:".dmg",desc:"macOS 12 Monterey 或更高版本",icon:s.Apple},linux:{name:"Linux",ext:".AppImage",desc:"Ubuntu 20.04+ / Debian 11+ / 其他主流发行版",icon:i.Laptop}};function h(e){return"object"==typeof e&&null!==e}function f(e){return!!h(e)&&["windows","macos","linux"].includes(String(e.platform))&&["x64","arm64"].includes(String(e.arch))&&"installer"===e.kind&&"string"==typeof e.filename&&"string"==typeof e.githubUrl&&("string"==typeof e.r2Url||void 0===e.r2Url)}e.s(["default",0,function(){let[e,a]=(0,t.useState)(null),[s,i]=(0,t.useState)("loading"),[o,d]=(0,t.useState)("windows:x64");(0,t.useEffect)(()=>{d(function(){let e;if("u"<typeof navigator)return"windows:x64";let a=(e=navigator,[e.userAgentData?.platform,navigator.platform,navigator.userAgent].filter(Boolean).join(" ").toLowerCase()),l=/arm|aarch64/.test(a)?"arm64":"x64";return/mac|darwin/.test(a)?`macos:${l}`:/linux/.test(a)?`linux:${l}`:`windows:${l}`}())},[]),(0,t.useEffect)(()=>{let e=new AbortController;return fetch(c,{cache:"no-store",signal:e.signal}).then(e=>{if(!e.ok)throw Error(`Manifest request failed: ${e.status}`);return e.json()}).then(e=>{if(!(h(e)&&"string"==typeof e.version&&"string"==typeof e.publishedAt&&Array.isArray(e.assets)&&e.assets.every(f)))throw Error("Invalid download manifest");a(e),i("ready")}).catch(e=>{e instanceof DOMException&&"AbortError"===e.name||(a(null),i("fallback"))}),()=>e.abort()},[]);let p=e?.assets.length?e.assets:u;return(0,l.jsxs)("div",{className:"download-options",children:[(0,l.jsx)("p",{className:"download-source-note",children:"ready"===s&&e?`优先使用高速镜像,当前版本 ${e.version}。`:"暂时使用 GitHub Releases 备用下载。"}),(0,l.jsx)("div",{className:"download-platform-grid",children:p.map(e=>{let a=m[e.platform],t=a.icon,s=`${e.platform}:${e.arch}`,i=e.r2Url||e.githubUrl,d=s===o;return(0,l.jsxs)("article",{className:d?"download-platform-card is-recommended":"download-platform-card",children:[(0,l.jsx)("div",{className:"download-platform-icon",children:(0,l.jsx)(t,{size:32})}),(0,l.jsxs)("div",{className:"download-platform-content",children:[(0,l.jsxs)("div",{className:"download-platform-heading",children:[(0,l.jsx)("h3",{children:a.name}),(0,l.jsx)("span",{children:e.arch})]}),(0,l.jsx)("p",{children:a.desc}),(0,l.jsxs)("dl",{className:"download-platform-meta",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("dt",{children:"来源"}),(0,l.jsx)("dd",{children:e.r2Url?"Cloudflare R2 高速镜像":"GitHub Releases"})]}),e.size?(0,l.jsxs)("div",{children:[(0,l.jsx)("dt",{children:"大小"}),(0,l.jsx)("dd",{children:function(e){if(!e)return"";let a=e/1024/1024;return`${a.toFixed(a>=100?0:1)} MB`}(e.size)})]}):null,e.sha256?(0,l.jsxs)("div",{children:[(0,l.jsx)("dt",{children:"SHA256"}),(0,l.jsx)("dd",{children:e.sha256.slice(0,12)})]}):null]}),(0,l.jsxs)("div",{className:"download-platform-actions",children:[(0,l.jsxs)("a",{href:i,className:"btn btn-primary",children:[(0,l.jsx)(n.Download,{size:16}),"下载 ",a.ext]}),e.r2Url&&e.githubUrl?(0,l.jsxs)("a",{href:e.githubUrl,className:"download-platform-fallback",children:[(0,l.jsx)(r.ExternalLink,{size:14}),"GitHub 备用"]}):null]})]}),d?(0,l.jsx)("span",{className:"download-recommended-badge",children:"推荐"}):null]},s)})})]})}])}]);
@@ -733,4 +733,4 @@
733
733
  d="m644-428-58-58q9-47-27-88t-93-32l-58-58q17-8 34.5-12t37.5-4q75 0 127.5 52.5T660-500q0 20-4 37.5T644-428Zm128 126-58-56q38-29 67.5-63.5T832-500q-50-101-143.5-160.5T480-720q-29 0-57 4t-55 12l-62-62q41-17 84-25.5t90-8.5q151 0 269 83.5T920-500q-23 59-60.5 109.5T772-302Zm20 246L624-222q-35 11-70.5 16.5T480-200q-151 0-269-83.5T40-500q21-53 53-98.5t73-81.5L56-792l56-56 736 736-56 56ZM222-624q-29 26-53 57t-41 67q50 101 143.5 160.5T480-280q20 0 39-2.5t39-5.5l-36-38q-11 3-21 4.5t-21 1.5q-75 0-127.5-52.5T300-500q0-11 1.5-21t4.5-21l-84-82Zm319 93Zm-151 75Z"
734
734
  />
735
735
  </svg>
736
- `,zu={[Rk.CodeMirror]:{theme:n6,languages:nK,expandIcon:R_,searchIcon:R9,clearSearchIcon:RP,searchPlaceholder:"Search language",noResultText:"No result",previewToggleIcon:e=>e?R$:zc}},zh=ru([],"FeaturesCtx"),zd=ru({},"CrepeCtx");function zp(e){return e.use("FeaturesCtx")}function zf(e){return t=>{zp(t).update(t=>t.includes(e)?t:[...t,e])}}let zm=dw({provider:void 0,buildContext:void 0,diffReviewOnEnd:!0,onError:e=>{console.error(`[milkdown/ai] [${e.code}]`,e)},aiIcon:void 0},"aiProviderConfig"),zg=dw({abortController:null,label:"",lastInstruction:"",lastLabel:void 0,lastFrom:-1,lastTo:-1,diffOwnedByAI:!1},"aiSession");function zv(e,t){let n=e.get(zm.key);try{n.onError(t)}catch(e){console.error("[milkdown/ai] onError handler failed:",e)}}function zy(e){let t=e.get(zg.key);e.set(zg.key,{...t,abortController:null,label:""})}async function zb(e,t,n,r){try{let i=t(n,r.signal),o=e.get(hP);for await(let e of i){if(r.signal.aborted)break;o.call(pC.key,e)}if(r.signal.aborted)return;let l=e.get(zm.key);if(l.diffReviewOnEnd){let t=e.get(zg.key);e.set(zg.key,{...t,diffOwnedByAI:!0})}let s=o.call(pS.key,{diffReview:l.diffReviewOnEnd});if(l.diffReviewOnEnd&&!s){let t=e.get(zg.key);e.set(zg.key,{...t,diffOwnedByAI:!1})}}catch(n){let t;if(r.signal.aborted)return;zv(e,(t=n instanceof Error?n.message:rl(n),new n9(n8.aiProviderError,`AI provider error: ${t}`,{cause:n}))),e.get(hP).call(pM.key,{keep:!1})}finally{e.get(zg.key).abortController===r&&zy(e)}}let zw=df("RunAI",e=>t=>(n,r)=>{var i,o,l,s;let a;if(!(null==t?void 0:t.instruction))return!1;let c=e.get(zm.key);if(!c.provider||e.get(zg.key).abortController||(null==(i=pw.getState(n))?void 0:i.active)||(null==(o=d$.getState(n))?void 0:o.active))return!1;if(!r)return!0;let u=new AbortController,{from:h,to:d}=n.selection;e.set(zg.key,{abortController:u,label:null!=(l=t.label)?l:"",lastInstruction:t.instruction,lastLabel:t.label,lastFrom:h,lastTo:d,diffOwnedByAI:!1});let p=e.get(hP),f=n.selection.empty?"cursor":"selection";if(!p.call(pk.key,{insertAt:f}))return zy(e),!1;try{a=(null!=(s=c.buildContext)?s:function(e,t){var n;let r=e.get(hg),i=e.get(h0),{state:o}=r,l=i(o.doc),s="";if(!o.selection.empty){let{from:e,to:t}=o.selection,r=o.doc.slice(e,t),{schema:l}=o.doc.type,a=l.topNodeType.createAndFill(null,r.content);if(!a){let e=null==(n=l.nodes.paragraph)?void 0:n.createAndFill(null,r.content);e&&(a=l.topNodeType.createAndFill(null,e))}s=a?i(a):o.doc.textBetween(e,t)}return{document:l,selection:s,instruction:t}})(e,t.instruction)}catch(n){let t;return zv(e,(t=n instanceof Error?n.message:rl(n),new n9(n8.aiBuildContextError,`AI buildContext failed: ${t}`,{cause:n}))),p.call(pM.key,{keep:!1}),zy(e),!1}return zb(e,c.provider,a,u),!0}),zx=df("AbortAI",e=>t=>(n,r)=>{var i;let o=e.get(zg.key);return r?!!o.abortController&&(o.abortController.abort(),zy(e),(null==(i=pw.getState(n))?void 0:i.active)&&e.get(hP).call(pM.key,t),!0):!!o.abortController});var zk=e=>{throw TypeError(e)},zC=(e,t,n)=>t.has(e)||zk("Cannot "+n),zS=(e,t,n)=>(zC(e,t,"read from private field"),n?n.call(e):t.get(e)),zM=(e,t,n)=>t.has(e)?zk("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),zA=(e,t,n,r)=>(zC(e,t,"write to private field"),t.set(e,n),n),zT=(e,t,n)=>(zC(e,t,"access private method"),n);let zO="milkdown-ai-diff-actions";function zE(e,t){e.innerHTML=fk.sanitize(t.trim())}class zN{constructor(e,t,n){this.ctx=e,zM(this,ey),zM(this,eu),zM(this,eh),zM(this,ed),zM(this,ep),zM(this,ef,!1),zM(this,em,!1),zM(this,eg,null),zM(this,ev,!1),zM(this,ek,()=>{let e=this.ctx.get(zg.key);if(!e.lastInstruction||!zS(this,ev)||!zT(this,ey,eC).call(this))return;let t=this.ctx.get(hP);t.call(d0.key);let n=this.ctx.get(hg),{doc:r}=n.state,i=Math.min(Math.max(e.lastFrom,0),r.content.size),o=Math.min(Math.max(e.lastTo,0),r.content.size);n.dispatch(n.state.tr.setSelection(sv.create(n.state.doc,i,o))),t.call(zw.key,{instruction:e.lastInstruction,label:e.lastLabel})}),zM(this,eS,()=>{this.ctx.get(hP).call(d0.key)}),zM(this,eM,()=>{this.ctx.get(hP).call(dQ.key)}),zA(this,ep,n),zA(this,eh,zT(this,ey,eb).call(this,t));const r=document.createElement("div");r.className=zO,r.dataset.show="false",zA(this,ed,zT(this,ey,ew).call(this,"retry",n.retryIcon,n.retryLabel,zS(this,ek))),r.appendChild(zS(this,ed)),r.appendChild(zT(this,ey,ew).call(this,"reject",n.rejectIcon,n.rejectAllLabel,zS(this,eS)));const i=zT(this,ey,ew).call(this,"accept",n.acceptIcon,n.acceptAllLabel,zS(this,eM));i.appendChild(zT(this,ey,ex).call(this)),r.appendChild(i),zA(this,eu,r),zS(this,eh).appendChild(r),this.update(t)}update(e){var t;let n=!!(null==(t=d$.getState(e.state))?void 0:t.active);if(n!==zS(this,em))if(zA(this,em,n),n){let t=this.ctx.get(zg.key);zA(this,ev,t.diffOwnedByAI),zA(this,eg,e.state.doc)}else{zA(this,ev,!1),zA(this,eg,null);let e=this.ctx.get(zg.key);e.diffOwnedByAI&&this.ctx.set(zg.key,{...e,diffOwnedByAI:!1})}let r=n&&zS(this,ev);if(r!==zS(this,ef)&&(zA(this,ef,r),zS(this,eu).dataset.show=r?"true":"false"),r){let t=this.ctx.get(zg.key),n=!!zS(this,eg)&&e.state.doc.eq(zS(this,eg));zS(this,ed).disabled=!t.lastInstruction||!n}}destroy(){zS(this,eu).remove()}}eu=new WeakMap,eh=new WeakMap,ed=new WeakMap,ep=new WeakMap,ef=new WeakMap,em=new WeakMap,eg=new WeakMap,ev=new WeakMap,ey=new WeakSet,eb=function(e){var t;return null!=(t=e.dom.closest(".milkdown"))?t:document.body},ew=function(e,t,n,r){let i,o=document.createElement("button");o.type="button",o.className=`${zO}-btn ${zO}-btn-${e}`,o.appendChild(((i=document.createElement("span")).className=`${zO}-icon`,zE(i,t),i));let l=document.createElement("span");return l.textContent=n,o.appendChild(l),o.addEventListener("mousedown",e=>e.preventDefault()),o.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),r()}),o},ex=function(){let e=document.createElement("span");e.className=`${zO}-shortcut`;let t=document.createElement("span");t.textContent=zS(this,ep).modSymbol;let n=document.createElement("span");return n.className=`${zO}-shortcut-icon`,zE(n,zS(this,ep).enterKeyIcon),e.append(t,n),e},ek=new WeakMap,eC=function(){return!!zS(this,eg)&&this.ctx.get(hg).state.doc.eq(zS(this,eg))},eS=new WeakMap,eM=new WeakMap;let zD=new s_("CREPE_AI_DIFF_ACTIONS_PANEL"),zI=function(){var e,t,n,r;if("u"<typeof navigator)return"⌘";let i=navigator,o=null!=(r=null!=(n=null!=(t=null==(e=i.userAgentData)?void 0:e.platform)?t:i.platform)?n:i.userAgent)?r:"";return/mac|iphone|ipad|ipod/i.test(o)?"⌘":"Ctrl"}();var zL=e=>{throw TypeError(e)},z_=(e,t,n)=>t.has(e)||zL("Cannot "+n),zR=(e,t,n)=>(z_(e,t,"read from private field"),n?n.call(e):t.get(e)),zz=(e,t,n)=>t.has(e)?zL("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),zP=(e,t,n,r)=>(z_(e,t,"write to private field"),t.set(e,n),n);function zB(e){let t={addItem:(n,r)=>(e.items.set(n,r),t),removeItem:n=>(e.items.delete(n),t),getItem:t=>e.items.get(t),clear:()=>(e.items.clear(),t)};return t}class zF{constructor(){zz(this,eA,[]),this.addItem=(e,t)=>(zR(this,eT).call(this,e),zR(this,eA).push({kind:"item",id:e,item:t}),this),this.addSubmenu=(e,t,n)=>{zR(this,eT).call(this,e);let r={def:t,items:new Map};return n&&n(zB(r)),zR(this,eA).push({kind:"submenu",id:e,node:r}),this},this.removeItem=e=>(zR(this,eT).call(this,e),this),this.getItem=e=>{let t=zR(this,eA).find(t=>"item"===t.kind&&t.id===e);return(null==t?void 0:t.kind)==="item"?t.item:void 0},this.getSubmenu=e=>{let t=zR(this,eA).find(t=>"submenu"===t.kind&&t.id===e);return(null==t?void 0:t.kind)==="submenu"?zB(t.node):void 0},this.clear=()=>(zP(this,eA,[]),this),this.build=()=>{let e=[],t={};for(let n of zR(this,eA))"item"===n.kind?e.push({kind:"item",id:n.id,item:n.item}):(e.push({kind:"submenu",id:n.id,def:n.node.def}),t[n.id]={def:n.node.def,items:Array.from(n.node.items.entries()).map(([e,t])=>({id:e,item:t}))});return{main:e,submenus:t}},zz(this,eT,e=>{zP(this,eA,zR(this,eA).filter(t=>t.id!==e))})}}function zH(){}eA=new WeakMap,eT=new WeakMap,zH(bR);let zq=ye({props:{placeholder:{type:Object,required:!0},resetSignal:{type:Object,required:!0},suggestions:{type:Object,required:!0},chrome:{type:Object,required:!0},onConfirm:{type:Function,required:!0},onCancel:{type:Function,required:!0}},setup({placeholder:e,resetSignal:t,suggestions:n,chrome:r,onConfirm:i,onCancel:o}){let l=vd(""),s=vd({kind:"main"}),a=vd(0),c=vd(null),u=vd(null),h=`ai-instruction-list-${Math.random().toString(36).slice(2,9)}`,d=e=>`${h}-opt-${e}`;v0(t,()=>{l.value="",s.value={kind:"main"},a.value=0},void 0);let p=b_(()=>{if("submenu"===s.value.kind){let e=n.submenus[s.value.id];return e?e.items.map(({id:e,item:t})=>({id:e,icon:t.icon,label:t.label,hasSubmenu:!1,prompt:{text:t.prompt,streamingLabel:t.streamingLabel}})):[]}return n.main.map(e=>"item"===e.kind?{id:e.id,icon:e.item.icon,label:e.item.label,hasSubmenu:!1,prompt:{text:e.item.prompt,streamingLabel:e.item.streamingLabel}}:{id:e.id,icon:e.def.icon,label:e.def.label,hasSubmenu:!0})}),f=b_(()=>{var e,t;return"submenu"!==s.value.kind?null:null!=(t=null==(e=n.submenus[s.value.id])?void 0:e.def)?t:null}),m=b_(()=>{let e=l.value.trim().toLowerCase();return e?p.value.filter(t=>t.label.toLowerCase().includes(e)):p.value}),g=b_(()=>l.value.trim().length>0),y=b_(()=>m.value.length+ +!!g.value);v0([m,s,g],()=>{a.value=g.value?m.value.length:0},void 0);let b=()=>{v_(()=>{var e;return null==(e=c.value)?void 0:e.focus()})},w=()=>{s.value={kind:"main"},l.value="",a.value=0,b()},x=e=>{e.hasSubmenu?(s.value={kind:"submenu",id:e.id},l.value="",a.value=0,b()):e.prompt&&(i(e.prompt.text,e.prompt.streamingLabel),l.value="")},k=()=>{let e=l.value.trim();e&&(i(e),l.value="")},C=()=>{v_(()=>{let e=u.value;if(!e)return;let t=e.querySelector(`[data-index="${a.value}"]`);null==t||t.scrollIntoView({block:"nearest"})})},S=e=>{if(e.stopPropagation(),"ArrowDown"===e.key){if(e.preventDefault(),0===y.value)return;a.value=(a.value+1)%y.value,C();return}if("ArrowUp"===e.key){if(e.preventDefault(),0===y.value)return;a.value=(a.value-1+y.value)%y.value,C();return}if("Enter"===e.key){let t,n;e.preventDefault(),t=a.value,t<(n=m.value).length?x(n[t]):g.value&&k();return}if("Escape"===e.key){e.preventDefault(),"submenu"===s.value.kind?w():o();return}"Backspace"===e.key&&""===l.value&&"submenu"===s.value.kind&&(e.preventDefault(),w())},M=e=>{e.preventDefault()};return()=>{let t=m.value,n=g.value,i=f.value;return bR("div",{class:"ai-instruction"},bR("div",{class:"ai-instruction-input"},bR("span",{class:"ai-instruction-input-prefix"},bR(b6,{icon:r.aiIcon})),bR("input",{ref:c,class:"ai-instruction-input-field",role:"combobox","aria-expanded":"true","aria-autocomplete":"list","aria-controls":h,"aria-activedescendant":y.value>0?d(a.value):void 0,placeholder:i?i.searchPlaceholder:e.value,value:l.value,onInput:e=>{l.value=e.target.value},onKeydown:S}),bR("button",{type:"button",class:"ai-instruction-submit","aria-label":r.submitButtonLabel,disabled:!n,onMousedown:M,onClick:k},bR(b6,{icon:r.sendIcon}))),bR("div",{class:"ai-instruction-list",ref:u,id:h,role:"listbox","aria-label":r.listboxLabel},i&&bR("button",{type:"button",class:"ai-instruction-back",onMousedown:M,onClick:w},bR("span",{class:"ai-instruction-back-icon","aria-hidden":"true"},bR(b6,{icon:r.chevronLeftIcon})),bR("span",null,i.title)),t.length>0&&bR("div",{class:"ai-instruction-section"},bR("div",{class:"ai-instruction-section-header"},r.suggestionsHeaderLabel),t.map((e,t)=>bR("div",{key:e.id,id:d(t),"data-index":t,role:"option","aria-selected":t===a.value,class:["ai-instruction-item",t===a.value?"active":""],onMousedown:M,onClick:()=>x(e),onPointerenter:()=>{a.value=t}},bR("span",{class:"ai-instruction-item-icon"},bR(b6,{icon:e.icon})),bR("span",{class:"ai-instruction-item-label"},function(e,t){let n=t.trim();if(!n)return[e];let r=e.toLowerCase(),i=n.toLowerCase(),o=r.indexOf(i);return -1===o?[e]:[e.slice(0,o),bR("mark",null,e.slice(o,o+n.length)),e.slice(o+n.length)]}(e.label,l.value)),e.hasSubmenu&&bR("span",{class:"ai-instruction-item-arrow"},bR(b6,{icon:r.chevronRightIcon}))))),n&&bR("div",{class:"ai-instruction-section"},bR("div",{class:"ai-instruction-section-header"},r.sendAsPromptHeaderLabel),bR("div",{id:d(t.length),"data-index":t.length,role:"option","aria-selected":a.value===t.length,class:["ai-instruction-item","ai-instruction-item-prompt",a.value===t.length?"active":""],onMousedown:M,onClick:k,onPointerenter:()=>{a.value=t.length}},bR("span",{class:"ai-instruction-item-icon"},bR(b6,{icon:r.sendPromptIcon})),bR("span",{class:"ai-instruction-item-label"},r.sendAsPromptLabel," ",bR("span",{class:"ai-instruction-item-quote"},'"',l.value,'"')),bR("span",{class:"ai-instruction-item-shortcut"},bR(b6,{icon:r.enterKeyIcon}))))))}}});var zj=e=>{throw TypeError(e)},zV=(e,t,n)=>t.has(e)||zj("Cannot "+n),z$=(e,t,n)=>(zV(e,t,"read from private field"),n?n.call(e):t.get(e)),zW=(e,t,n)=>t.has(e)?zj("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),zU=(e,t,n,r)=>(zV(e,t,"write to private field"),t.set(e,n),n);class zG{constructor(e,t,n){this.ctx=e,zW(this,eO),zW(this,eE),zW(this,eN),zW(this,eD),zW(this,eI),zW(this,eL,-1),zW(this,e_,-1),zW(this,eR,!1),zW(this,ez,(e,t)=>{!e.trim()||this.ctx.get(hP).call(zw.key,{instruction:e,label:t})&&(zU(this,eR,!1),z$(this,eE).hide())}),zW(this,eP,()=>{zU(this,eR,!1),z$(this,eE).hide()}),this.show=(e,t)=>{zU(this,eL,e),zU(this,e_,t),z$(this,eI).value++,zU(this,eR,!0);let n=this.ctx.get(hg);z$(this,eE).show({getBoundingClientRect:()=>aE(n,e,t)},n),requestAnimationFrame(()=>{var e;null==(e=z$(this,eO).querySelector("input"))||e.focus()})},this.update=(e,t)=>{let{selection:n}=e.state,r=n instanceof sv,i=n.from!==z$(this,eL)||n.to!==z$(this,e_);if(!r||i){zU(this,eR,!1),z$(this,eE).hide();return}z$(this,eE).update(e,t)},this.destroy=()=>{z$(this,eN).unmount(),z$(this,eE).destroy(),z$(this,eO).remove()},zU(this,eD,vd(n.placeholder)),zU(this,eI,vd(0));const r=document.createElement("div");r.className="milkdown-ai-instruction";const i=b3(zq,{placeholder:z$(this,eD),resetSignal:z$(this,eI),suggestions:n.suggestions,chrome:n.chrome,onConfirm:z$(this,ez),onCancel:z$(this,eP)});i.mount(r),zU(this,eN,i),zU(this,eO,r),zU(this,eE,new mP({content:r,debounce:0,offset:10,shouldShow:()=>z$(this,eR),floatingUIOptions:{placement:"bottom"}})),z$(this,eE).onHide=()=>{zU(this,eR,!1),requestAnimationFrame(()=>{try{let e=z$(this,eO).getRootNode().activeElement;if(!e||!z$(this,eO).contains(e))return;this.ctx.get(hg).dom.focus({preventScroll:!0})}catch(e){}})},z$(this,eE).update(t)}}eO=new WeakMap,eE=new WeakMap,eN=new WeakMap,eD=new WeakMap,eI=new WeakMap,eL=new WeakMap,e_=new WeakMap,eR=new WeakMap,ez=new WeakMap,eP=new WeakMap;let zK=dw({show:()=>{}},"aiInstructionTooltipAPI"),zJ=mB("CREPE_AI_INSTRUCTION");var zZ=e=>{throw TypeError(e)},zY=(e,t,n)=>t.has(e)||zZ("Cannot "+n),zX=(e,t,n)=>(zY(e,t,"read from private field"),n?n.call(e):t.get(e)),zQ=(e,t,n)=>t.has(e)?zZ("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),z0=(e,t,n,r)=>(zY(e,t,"write to private field"),t.set(e,n),n);let z1="milkdown-ai-streaming",z4=new s_("CREPE_AI_STREAMING_INDICATOR");class z5{constructor(e,t,n){zQ(this,eB),zQ(this,eF),zQ(this,eH),zQ(this,eq,performance.now()),zQ(this,ej,""),zQ(this,eV,0),zQ(this,e$,()=>{let e=performance.now()-zX(this,eq);zX(this,eB).style.transform=`rotate(${e/800*360}deg)`,z0(this,eV,requestAnimationFrame(zX(this,e$)))}),z0(this,eH,t);const r=document.createElement("span");r.className=`${z1}-indicator`,r.contentEditable="false",r.setAttribute("role","status"),r.setAttribute("aria-live","polite");const i=document.createElement("span");i.className=`${z1}-spinner`,i.setAttribute("aria-hidden","true"),r.appendChild(i);const o=document.createElement("span");o.className=`${z1}-label`,r.appendChild(o);const l=document.createElement("span");l.className=`${z1}-esc`,l.textContent=n,r.appendChild(l),this.dom=r,z0(this,eB,i),z0(this,eF,o),this.setLabel(e),zX(this,e$).call(this)}setLabel(e){let t=e.get(zg.key),n=`${t.label||zX(this,eH)}\u2026`;n!==zX(this,ej)&&(z0(this,ej,n),zX(this,eF).textContent=n)}destroy(){zX(this,eV)&&cancelAnimationFrame(zX(this,eV)),z0(this,eV,0)}}eB=new WeakMap,eF=new WeakMap,eH=new WeakMap,eq=new WeakMap,ej=new WeakMap,eV=new WeakMap,e$=new WeakMap;let z2=["table","image-block","code_block"],z3={heading:["id"]};function z7(e){return"code_block"===e.$from.parent.type.name}function z6(e){var t;let n=null==(t=e.$from.node(e.$from.depth-1))?void 0:t.type;return(null==n?void 0:n.name)==="list_item"}var z8=e=>{throw TypeError(e)},z9=(e,t,n)=>t.has(e)||z8("Cannot "+n),Pe=(e,t,n)=>(z9(e,t,"read from private field"),n?n.call(e):t.get(e)),Pt=(e,t,n)=>t.has(e)?z8("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);class Pn{constructor(){Pt(this,eW,[]),this.clear=()=>{let e,t;return t=[],z9(this,e=eW,"write to private field"),e.set(this,t),this},Pt(this,eU,e=>{let t={group:e,addItem:(n,r)=>{let i={...r,key:n};return e.items.push(i),t},clear:()=>(e.items=[],t)};return t}),this.addGroup=(e,t)=>{let n={key:e,label:t,items:[]};return Pe(this,eW).push(n),Pe(this,eU).call(this,n)},this.getGroup=e=>{let t=Pe(this,eW).find(t=>t.key===e);if(!t)throw Error(`Group with key ${e} not found`);return Pe(this,eU).call(this,t)},this.build=()=>Pe(this,eW)}}eW=new WeakMap,eU=new WeakMap,zH(bR);let Pr=ye({props:{ctx:{type:Object,required:!0},show:{type:Object,required:!0},filter:{type:Object,required:!0},hide:{type:Function,required:!0},config:{type:Object,required:!1}},setup({ctx:e,show:t,filter:n,hide:r,config:i}){let o=vd(),l=b_(()=>(function(e,t,n){var r,i,o,l,s,a,c,u,h,d,p,f,m,g,y,b,w,x,k,C,S,M,A,T,O,E,N,D,I,L,_,R,z,P,B,F,H,q,j,V,$,W,U,G,K,J,Z,Y,X,Q,ee,et,en,er,ei,eo,el,es,ea,ec,eu,eh,ed,ep,ef,em,eg,ev,ey,eb,ew,ex,ek,eC,eS,eM,eA,eT,eO,eE,eN,eD,eI,eL,e_,eR,ez,eP,eB,eF,eH,eq,ej,eV,e$,eW,eU,eG,eK,eJ,eZ,eY,eX,eQ,e0,e1,e4,e5,e2,e3,e7,e6,e8,e9,te,tt,tn,tr,ti;let to=n&&zp(n).get(),tl=null==to?void 0:to.includes(Rk.Latex),ts=null==to?void 0:to.includes(Rk.ImageBlock),ta=null==to?void 0:to.includes(Rk.Table),tc=new Pn;if((null==t?void 0:t.textGroup)!==null){let e=tc.addGroup("text",null!=(i=null==(r=null==t?void 0:t.textGroup)?void 0:r.label)?i:"Text");(null==(o=null==t?void 0:t.textGroup)?void 0:o.text)!==null&&e.addItem("text",{label:null!=(a=null==(s=null==(l=null==t?void 0:t.textGroup)?void 0:l.text)?void 0:s.label)?a:"Text",icon:null!=(h=null==(u=null==(c=null==t?void 0:t.textGroup)?void 0:c.text)?void 0:u.icon)?h:zo,onRun:e=>{let t=e.get(hP),n=wz.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n})}}),(null==(d=null==t?void 0:t.textGroup)?void 0:d.h1)!==null&&e.addItem("h1",{label:null!=(m=null==(f=null==(p=null==t?void 0:t.textGroup)?void 0:p.h1)?void 0:f.label)?m:"Heading 1",icon:null!=(b=null==(y=null==(g=null==t?void 0:t.textGroup)?void 0:g.h1)?void 0:y.icon)?b:RG,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:1}})}}),(null==(w=null==t?void 0:t.textGroup)?void 0:w.h2)!==null&&e.addItem("h2",{label:null!=(C=null==(k=null==(x=null==t?void 0:t.textGroup)?void 0:x.h2)?void 0:k.label)?C:"Heading 2",icon:null!=(A=null==(M=null==(S=null==t?void 0:t.textGroup)?void 0:S.h2)?void 0:M.icon)?A:RK,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:2}})}}),(null==(T=null==t?void 0:t.textGroup)?void 0:T.h3)!==null&&e.addItem("h3",{label:null!=(N=null==(E=null==(O=null==t?void 0:t.textGroup)?void 0:O.h3)?void 0:E.label)?N:"Heading 3",icon:null!=(L=null==(I=null==(D=null==t?void 0:t.textGroup)?void 0:D.h3)?void 0:I.icon)?L:RJ,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:3}})}}),(null==(_=null==t?void 0:t.textGroup)?void 0:_.h4)!==null&&e.addItem("h4",{label:null!=(P=null==(z=null==(R=null==t?void 0:t.textGroup)?void 0:R.h4)?void 0:z.label)?P:"Heading 4",icon:null!=(H=null==(F=null==(B=null==t?void 0:t.textGroup)?void 0:B.h4)?void 0:F.icon)?H:RZ,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:4}})}}),(null==(q=null==t?void 0:t.textGroup)?void 0:q.h5)!==null&&e.addItem("h5",{label:null!=($=null==(V=null==(j=null==t?void 0:t.textGroup)?void 0:j.h5)?void 0:V.label)?$:"Heading 5",icon:null!=(G=null==(U=null==(W=null==t?void 0:t.textGroup)?void 0:W.h5)?void 0:U.icon)?G:RY,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:5}})}}),(null==(K=null==t?void 0:t.textGroup)?void 0:K.h6)!==null&&e.addItem("h6",{label:null!=(Y=null==(Z=null==(J=null==t?void 0:t.textGroup)?void 0:J.h6)?void 0:Z.label)?Y:"Heading 6",icon:null!=(ee=null==(Q=null==(X=null==t?void 0:t.textGroup)?void 0:X.h6)?void 0:Q.icon)?ee:RX,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:6}})}}),(null==(et=null==t?void 0:t.textGroup)?void 0:et.quote)!==null&&e.addItem("quote",{label:null!=(ei=null==(er=null==(en=null==t?void 0:t.textGroup)?void 0:en.quote)?void 0:er.label)?ei:"Quote",icon:null!=(es=null==(el=null==(eo=null==t?void 0:t.textGroup)?void 0:eo.quote)?void 0:el.icon)?es:R7,onRun:e=>{let t=e.get(hP),n=wK.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n})}}),(null==(ea=null==t?void 0:t.textGroup)?void 0:ea.divider)!==null&&e.addItem("divider",{label:null!=(eh=null==(eu=null==(ec=null==t?void 0:t.textGroup)?void 0:ec.divider)?void 0:eu.label)?eh:"Divider",icon:null!=(ef=null==(ep=null==(ed=null==t?void 0:t.textGroup)?void 0:ed.divider)?void 0:ep.icon)?ef:Rj,onRun:e=>{let t=e.get(hP),n=xn.type(e);t.call(xN.key),t.call(xL.key,{nodeType:n})}})}if((null==t?void 0:t.listGroup)!==null){let e=tc.addGroup("list",null!=(eg=null==(em=null==t?void 0:t.listGroup)?void 0:em.label)?eg:"List");(null==(ev=null==t?void 0:t.listGroup)?void 0:ev.bulletList)!==null&&e.addItem("bullet-list",{label:null!=(ew=null==(eb=null==(ey=null==t?void 0:t.listGroup)?void 0:ey.bulletList)?void 0:eb.label)?ew:"Bullet List",icon:null!=(eC=null==(ek=null==(ex=null==t?void 0:t.listGroup)?void 0:ex.bulletList)?void 0:ek.icon)?eC:RN,onRun:e=>{let t=e.get(hP),n=xl.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n})}}),(null==(eS=null==t?void 0:t.listGroup)?void 0:eS.orderedList)!==null&&e.addItem("ordered-list",{label:null!=(eT=null==(eA=null==(eM=null==t?void 0:t.listGroup)?void 0:eM.orderedList)?void 0:eA.label)?eT:"Ordered List",icon:null!=(eN=null==(eE=null==(eO=null==t?void 0:t.listGroup)?void 0:eO.orderedList)?void 0:eE.icon)?eN:R2,onRun:e=>{let t=e.get(hP),n=xh.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n})}}),(null==(eD=null==t?void 0:t.listGroup)?void 0:eD.taskList)!==null&&e.addItem("task-list",{label:null!=(e_=null==(eL=null==(eI=null==t?void 0:t.listGroup)?void 0:eI.taskList)?void 0:eL.label)?e_:"Task List",icon:null!=(eP=null==(ez=null==(eR=null==t?void 0:t.listGroup)?void 0:eR.taskList)?void 0:ez.icon)?eP:zl,onRun:e=>{let t=e.get(hP),n=xg.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n,attrs:{checked:!1}})}})}if((null==t?void 0:t.advancedGroup)!==null){let e=tc.addGroup("advanced",null!=(eF=null==(eB=null==t?void 0:t.advancedGroup)?void 0:eB.label)?eF:"Advanced");(null==(eH=null==t?void 0:t.advancedGroup)?void 0:eH.image)!==null&&ts&&e.addItem("image",{label:null!=(eV=null==(ej=null==(eq=null==t?void 0:t.advancedGroup)?void 0:eq.image)?void 0:ej.label)?eV:"Image",icon:null!=(eU=null==(eW=null==(e$=null==t?void 0:t.advancedGroup)?void 0:e$.image)?void 0:eW.icon)?eU:RQ,onRun:e=>{let t=e.get(hP),n=ki.type(e);t.call(xN.key),t.call(xL.key,{nodeType:n})}}),(null==(eG=null==t?void 0:t.advancedGroup)?void 0:eG.codeBlock)!==null&&e.addItem("code",{label:null!=(eZ=null==(eJ=null==(eK=null==t?void 0:t.advancedGroup)?void 0:eK.codeBlock)?void 0:eJ.label)?eZ:"Code",icon:null!=(eQ=null==(eX=null==(eY=null==t?void 0:t.advancedGroup)?void 0:eY.codeBlock)?void 0:eX.icon)?eQ:RB,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n})}}),(null==(e0=null==t?void 0:t.advancedGroup)?void 0:e0.table)!==null&&ta&&e.addItem("table",{label:null!=(e5=null==(e4=null==(e1=null==t?void 0:t.advancedGroup)?void 0:e1.table)?void 0:e4.label)?e5:"Table",icon:null!=(e7=null==(e3=null==(e2=null==t?void 0:t.advancedGroup)?void 0:e2.table)?void 0:e3.icon)?e7:zi,onRun:e=>{let t=e.get(hP),n=e.get(hg);t.call(xN.key);let{from:r}=n.state.selection;t.call(xL.key,{nodeType:SH(e,3,3)}),t.call(x_.key,{pos:r})}}),(null==(e6=null==t?void 0:t.advancedGroup)?void 0:e6.math)!==null&&tl&&e.addItem("math",{label:null!=(te=null==(e9=null==(e8=null==t?void 0:t.advancedGroup)?void 0:e8.math)?void 0:e9.label)?te:"Math",icon:null!=(tr=null==(tn=null==(tt=null==t?void 0:t.advancedGroup)?void 0:tt.math)?void 0:tn.icon)?tr:za,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xN.key),t.call(xL.key,{nodeType:n,attrs:{language:"LaTeX"}})}})}null==(ti=null==t?void 0:t.buildMenu)||ti.call(t,tc);let tu=tc.build();e&&(tu=tu.map(t=>{let n=t.items.filter(t=>t.label.toLowerCase().includes(e.toLowerCase()));return{...t,items:n}}).filter(e=>e.items.length>0));let th=tu.flatMap(e=>e.items);return th.forEach((e,t)=>{Object.assign(e,{index:t})}),tu.reduce((e,t)=>{let n=e+t.items.length;return Object.assign(t,{range:[e,n]}),n},0),{groups:tu,size:th.length}})(n.value,i,e)),s=vd(0),a=vd({x:-999,y:-999}),c=e=>{let{x:t,y:n}=e;a.value={x:t,y:n}};v0([l,t],()=>{let{size:e}=l.value;0===e&&t.value?r():s.value>=e&&(s.value=0)},void 0);let u=(e,t)=>{let n=s.value,r="function"==typeof e?e(n):e;null==t||t(r),s.value=r},h=e=>{var t,n;let r=null==(t=o.value)?void 0:t.querySelector(`[data-index="${e}"]`),i=null==(n=o.value)?void 0:n.querySelector(".menu-groups");r&&i&&(i.scrollTop=r.offsetTop-i.offsetTop)},d=t=>{let n=l.value.groups.flatMap(e=>e.items).at(t);(null==n?void 0:n.onRun)&&e&&n.onRun(e),r()},p=e=>{let{size:t,groups:n}=l.value;if("Escape"===e.key){e.preventDefault(),null==r||r();return}return"ArrowDown"===e.key?(e.preventDefault(),u(e=>e<t-1?e+1:e,h)):"ArrowUp"===e.key?(e.preventDefault(),u(e=>e<=0?e:e-1,h)):"ArrowLeft"===e.key?(e.preventDefault(),u(e=>{let t=n.find(t=>t.range[0]<=e&&t.range[1]>e);if(!t)return e;let r=n[n.indexOf(t)-1];return r?r.range[1]-1:e},h)):"ArrowRight"===e.key?(e.preventDefault(),u(e=>{let t=n.find(t=>t.range[0]<=e&&t.range[1]>e);if(!t)return e;let r=n[n.indexOf(t)+1];return r?r.range[0]:e},h)):void("Enter"===e.key&&(e.preventDefault(),d(s.value)))};return vQ(()=>{t.value?window.addEventListener("keydown",p,{capture:!0}):window.removeEventListener("keydown",p,{capture:!0})}),yy(()=>{window.removeEventListener("keydown",p,{capture:!0})}),()=>bR("div",{ref:o,onPointerdown:e=>e.preventDefault()},bR("nav",{class:"tab-group"},bR("ul",null,l.value.groups.map(e=>bR("li",{key:e.key,onPointerdown:()=>u(e.range[0],h),class:s.value>=e.range[0]&&s.value<e.range[1]?"selected":""},e.label)))),bR("div",{class:"menu-groups",onPointermove:c},l.value.groups.map(e=>bR("div",{key:e.key,class:"menu-group"},bR("h6",null,e.label),bR("ul",null,e.items.map(e=>{let t;return bR("li",{key:e.key,"data-index":e.index,class:s.value===e.index?"hover":"",onPointerenter:(t=e.index,e=>{let n=a.value;if(!n)return;let{x:r,y:i}=e;(r!==n.x||i!==n.y)&&u(t)}),onPointerdown:()=>{var t,n;null==(n=null==(t=o.value)?void 0:t.querySelector(`[data-index="${e.index}"]`))||n.classList.add("active")},onPointerup:()=>{var t,n;null==(n=null==(t=o.value)?void 0:t.querySelector(`[data-index="${e.index}"]`))||n.classList.remove("active"),d(e.index)}},bR(b6,{icon:e.icon}),bR("span",null,e.label))}))))))}});var Pi=e=>{throw TypeError(e)},Po=(e,t,n)=>t.has(e)||Pi("Cannot "+n),Pl=(e,t,n)=>(Po(e,t,"read from private field"),n?n.call(e):t.get(e)),Ps=(e,t,n)=>t.has(e)?Pi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Pa=(e,t,n,r)=>(Po(e,t,"write to private field"),t.set(e,n),n);let Pc=(P="CREPE_MENU",w=dw({},`${P}_SLASH_SPEC`),x=dv(e=>{let t=e.get(w.key);return new sD({key:new s_(`${P}_SLASH`),...t})}),(k=[w,x]).key=w.key,k.pluginKey=x.key,w.meta={package:"@milkdown/plugin-slash",displayName:`Ctx<slashSpec>|${P}`},x.meta={package:"@milkdown/plugin-slash",displayName:`Prose<slash>|${P}`},k),Pu=dw({show:()=>{},hide:()=>{}},"menuAPICtx");class Ph{constructor(e,t,n){Ps(this,eG),Ps(this,eK),Ps(this,eJ),Ps(this,eZ),Ps(this,eY,null),this.update=e=>{Pl(this,eZ).update(e)},this.show=e=>{Pa(this,eY,e),Pl(this,eJ).value="",Pl(this,eZ).show()},this.hide=()=>{Pa(this,eY,null),Pl(this,eZ).hide()},this.destroy=()=>{Pl(this,eZ).destroy(),Pl(this,eK).unmount(),Pl(this,eG).remove()};const r=document.createElement("div");r.classList.add("milkdown-slash-menu");const i=vd(!1),o=vd("");Pa(this,eJ,o);const l=b3(Pr,{ctx:e,config:n,show:i,filter:o,hide:this.hide});Pa(this,eK,l),l.mount(r),Pa(this,eG,r);const s=this;Pa(this,eZ,new xZ({content:Pl(this,eG),debounce:20,shouldShow(e){if(z7(e.state.selection)||z6(e.state.selection))return!1;let t=this.getContent(e,e=>["paragraph","heading"].includes(e.type.name));if(null==t||!function(e){if(!(e instanceof sv))return!1;let{$head:t}=e,n=t.parent;return t.parentOffset===n.content.size}(e.state.selection))return!1;let n=Pl(s,eY);if(o.value=t.startsWith("/")?t.slice(1):t,"number"==typeof n){let t=Math.min(n,e.state.doc.nodeSize-2);return e.state.doc.resolve(t).node()===e.state.doc.resolve(e.state.selection.from).node()||(Pa(s,eY,null),!1)}return!!t.startsWith("/")},offset:10})),Pl(this,eZ).onShow=()=>{i.value=!0},Pl(this,eZ).onHide=()=>{i.value=!1},this.update(t),e.set(Pu.key,{show:e=>this.show(e),hide:()=>this.hide()})}}eG=new WeakMap,eK=new WeakMap,eJ=new WeakMap,eZ=new WeakMap,eY=new WeakMap,zH(bR,bn);let Pd=ye({props:{onAdd:{type:Function,required:!0},addIcon:{type:String,required:!0},handleIcon:{type:String,required:!0}},setup(e){let t=vd();return()=>bR(bn,null,bR("div",{ref:t,class:"operation-item",onPointerdown:e=>{var n;e.preventDefault(),e.stopPropagation(),null==(n=t.value)||n.classList.add("active")},onPointerup:n=>{var r;n.preventDefault(),n.stopPropagation(),null==(r=t.value)||r.classList.remove("active"),e.onAdd()}},bR(b6,{icon:e.addIcon})),bR("div",{class:"operation-item"},bR(b6,{icon:e.handleIcon})))}});var Pp=e=>{throw TypeError(e)},Pf=(e,t,n)=>t.has(e)||Pp("Cannot "+n),Pm=(e,t,n)=>(Pf(e,t,"read from private field"),n?n.call(e):t.get(e)),Pg=(e,t,n)=>t.has(e)?Pp("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Pv=(e,t,n,r)=>(Pf(e,t,"write to private field"),t.set(e,n),n);class Py{constructor(e,t){var n,r,i;Pg(this,eX),Pg(this,eQ),Pg(this,e0),Pg(this,e1),this.update=()=>{Pm(this,eQ).update()},this.destroy=()=>{Pm(this,eQ).destroy(),Pm(this,eX).remove(),Pm(this,e0).unmount()},this.onAdd=()=>{let e=Pm(this,e1),t=e.get(hg);t.hasFocus()||t.focus();let{state:n,dispatch:r}=t,i=Pm(this,eQ).active;if(!i)return;let o=i.$pos.pos+i.node.nodeSize,l=n.tr.insert(o,wz.type(e).create());r((l=l.setSelection(sv.near(l.doc.resolve(o)))).scrollIntoView()),Pm(this,eQ).hide(),e.get(Pu.key).show(l.selection.from)},Pv(this,e1,e);const o=document.createElement("div");o.classList.add("milkdown-block-handle");const l=b3(Pd,{onAdd:this.onAdd,addIcon:null!=(n=null==t?void 0:t.handleAddIcon)?n:R3,handleIcon:null!=(r=null==t?void 0:t.handleDragIcon)?r:R5});l.mount(o),Pv(this,e0,l),Pv(this,eX,o);const s=null!=(i=null==t?void 0:t.blockHandle)?i:{};Pv(this,eQ,new wl({ctx:e,content:o,getOffset:()=>16,getPlacement:({active:e,blockDom:t})=>{if("heading"===e.node.type.name)return"left";let n=0;e.node.descendants(e=>{n+=e.childCount});let r=e.el,i=r.getBoundingClientRect(),o=t.getBoundingClientRect(),l=window.getComputedStyle(r),s=Number.parseInt(l.paddingTop,10)||0,a=Number.parseInt(l.paddingBottom,10)||0,c=i.height-s-a,u=o.height;return n>2||u<c?"left-start":"left"},...s})),this.update()}}eX=new WeakMap,eQ=new WeakMap,e0=new WeakMap,e1=new WeakMap;let Pb=wQ.extendSchema(e=>t=>{let n=e(t);return{...n,toMarkdown:{match:n.toMarkdown.match,runner:(e,t)=>{var r,i;if("latex"!==(null!=(r=t.attrs.language)?r:"").toLowerCase())return n.toMarkdown.runner(e,t);e.addNode("math",void 0,(null==(i=t.content.firstChild)?void 0:i.text)||"")}}}}),Pw="math_inline",Px=dx(Pw,()=>({group:"inline",inline:!0,draggable:!0,atom:!0,attrs:{value:{default:""}},parseDOM:[{tag:`span[data-type="${Pw}"]`,getAttrs:e=>{var t;return{value:null!=(t=e.dataset.value)?t:""}}}],toDOM:e=>{let t=e.attrs.value,n=document.createElement("span");return n.dataset.type=Pw,n.dataset.value=t,LT(t,n,{throwOnError:!1}),n},parseMarkdown:{match:e=>"inlineMath"===e.type,runner:(e,t,n)=>{e.addNode(n,{value:t.value})}},toMarkdown:{match:e=>e.type.name===Pw,runner:(e,t)=>{e.addNode("inlineMath",void 0,t.attrs.value)}}})),Pk=df("ToggleLatex",e=>()=>(t,n)=>{let{hasNode:r,pos:i,target:o}=aL(t,Px.type(e)),{selection:l,doc:s,tr:a}=t;if(!r){let t=s.textBetween(l.from,l.to),r=a.replaceSelectionWith(Px.type(e).create({value:t}));return n&&n(r.setSelection(sb.create(r.doc,l.from))),!0}let{from:c,to:u}=l;if(!o||i<0)return!1;let h=a.delete(i,i+1),d=o.attrs.value;return h=h.insertText(d,i),n&&n(h.setSelection(sv.create(h.doc,c,u+d.length-1))),!0}),PC=mB("INLINE_LATEX");zH(bR);let PS=ye({props:{config:{type:Object,required:!0},innerView:{type:Object,required:!0},updateValue:{type:Object,required:!0}},setup(e){let t=t=>{if(t&&t instanceof HTMLElement){for(;t.firstChild;)t.removeChild(t.firstChild);e.innerView.value&&t.appendChild(e.innerView.value.dom)}},n=t=>{t.preventDefault(),e.updateValue.value()};return()=>bR("div",{class:"container"},e.innerView&&bR("div",{ref:t}),bR("button",{type:"button",onPointerdown:n},bR(b6,{icon:e.config.inlineEditConfirm})))}});var PM=e=>{throw TypeError(e)},PA=(e,t,n)=>t.has(e)||PM("Cannot "+n),PT=(e,t,n)=>(PA(e,t,"read from private field"),n?n.call(e):t.get(e)),PO=(e,t,n)=>t.has(e)?PM("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),PE=(e,t,n,r)=>(PA(e,t,"write to private field"),t.set(e,n),n);class PN{constructor(e,t,n){this.ctx=e,PO(this,e4),PO(this,e5),PO(this,e2),PO(this,e3,vp(null,!0)),PO(this,e7,function(e){return vp(e,!0)}(()=>{})),PO(this,e6),PO(this,e8,()=>{PT(this,e3).value&&(PT(this,e3).value.destroy(),PT(this,e3).value=null)}),PO(this,e9,e=>{let t=(()=>{if(!e.editable)return!1;let{selection:t,schema:n}=e.state;if(t.empty||!(t instanceof sb))return!1;let r=t.node;if(r.type.name!==Pw)return!1;let i=t.from,o=n.nodes.paragraph.create(null,n.text(r.attrs.value)),l=new ha(PT(this,e2),{state:sN.create({doc:o,schema:new lA({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM:()=>["p",0]},text:{group:"inline"}}}),plugins:[aB({"Mod-z":AG,"Mod-Z":AK,"Mod-y":AK,Enter:()=>(PT(this,e7).value(),!0)})]})});return PT(this,e3).value=l,PT(this,e7).value=()=>{let{tr:t}=e.state;t.setNodeAttribute(i,"value",l.state.doc.textContent),e.dispatch(t),requestAnimationFrame(()=>{e.focus()})},!0})();return t||PT(this,e8).call(this),t}),this.update=(e,t)=>{PT(this,e5).update(e,t)},this.destroy=()=>{PT(this,e6).unmount(),PT(this,e5).destroy(),PT(this,e4).remove()};const r=document.createElement("div");r.className="milkdown-latex-inline-edit",PE(this,e4,r),PE(this,e6,b3(PS,{config:n,innerView:PT(this,e3),updateValue:PT(this,e7)})),PT(this,e6).mount(r),PE(this,e5,new mP({debounce:0,content:PT(this,e4),shouldShow:PT(this,e9),offset:10,floatingUIOptions:{placement:"bottom"}})),PT(this,e5).update(t),PE(this,e2,document.createElement("div"))}}e4=new WeakMap,e5=new WeakMap,e2=new WeakMap,e3=new WeakMap,e7=new WeakMap,e6=new WeakMap,e8=new WeakMap,e9=new WeakMap;let PD=dm(e=>(function(e,t,n={}){return new s2(e,(e,r,i,o)=>{var l,s,a;let{tr:c}=e,u=r[1],h=r[0],d={group:u,fullMatch:h,start:i,end:o},p=null==(l=n.updateCaptured)?void 0:l.call(n,d);if(Object.assign(d,p),{group:u,fullMatch:h,start:i,end:o}=d,null===h||!u||""===u.trim())return null;let f=null==(s=n.getAttr)?void 0:s.call(n,r),m=t.createAndFill(f);return m&&(c.replaceRangeWith(t.isBlock?c.doc.resolve(i).before():i,o,m),null==(a=n.beforeDispatch)||a.call(n,{match:[h,u],start:i,end:o,tr:c})),c})})(/(?:\$)([^$]+)(?:\$)$/,Px.type(e),{getAttr:e=>{var t;return{value:null!=(t=e[1])?t:""}}})),PI=dm(e=>s6(/^\$\$[\s\n]$/,wQ.type(e),()=>({language:"LaTeX"}))),PL=dA("remarkMath",()=>LL);function P_(e){return i6(e,"math",(e,t,n)=>{let{value:r}=e;n.children.splice(t,1,{type:"code",lang:"LaTeX",value:r})})}let PR=dA("remarkMathBlock",()=>()=>P_),Pz=dw({text:"Please enter...",mode:"block"},"placeholderConfigCtx"),PP=dv(e=>new sD({key:new s_("CREPE_PLACEHOLDER"),props:{decorations:t=>{var n,r,i;if(e.get("CrepeCtx").readonly)return null;let o=e.get(Pz.key);if("doc"===o.mode&&!((r=t.doc).childCount<=1&&!(null==(i=r.firstChild)?void 0:i.content.size))||z7(t.selection)||z6(t.selection))return null;let l=function(e,t){let{selection:n}=e;if(!n.empty)return null;let r=n.$anchor,i=r.parent;if(i.content.size>0||aD(e=>"table"===e.type.name)(r))return null;let o=r.before();return uU.node(o,o+i.nodeSize,{class:"crepe-placeholder","data-placeholder":t})}(t,null!=(n=o.text)?n:"Please enter...");return l?uJ.create(t.doc,[l]):null}}}));zH(bR,bn);let PB=ye({props:{ctx:{type:Object,required:!0},hide:{type:Function,required:!0},show:{type:Object,required:!0},selection:{type:Object,required:!0},config:{type:Object,required:!1}},setup(e){let{ctx:t,config:n}=e,r=b_(()=>(function(e,t){var n,r,i,o,l,s,a,c,u;let h=new Pn;h.addGroup("formatting","Formatting").addItem("bold",{icon:null!=(n=null==e?void 0:e.boldIcon)?n:RO,active:e=>e.get(hP).call(xO.key,wb.type(e)),onRun:e=>{e.get(hP).call(ww.key)}}).addItem("italic",{icon:null!=(r=null==e?void 0:e.italicIcon)?r:R0,active:e=>e.get(hP).call(xO.key,wp.type(e)),onRun:e=>{e.get(hP).call(wf.key)}}).addItem("strikethrough",{icon:null!=(i=null==e?void 0:e.strikethroughIcon)?i:zr,active:e=>e.get(hP).call(xO.key,SN.type(e)),onRun:e=>{e.get(hP).call(SD.key)}});let d=h.addGroup("function","Function");d.addItem("code",{icon:null!=(o=null==e?void 0:e.codeIcon)?o:RB,active:e=>e.get(hP).call(xO.key,wS.type(e)),onRun:e=>{e.get(hP).call(wM.key)}});let p=t&&zp(t).get();if((null==p?void 0:p.includes(Rk.Latex))&&d.addItem("latex",{icon:null!=(l=null==e?void 0:e.latexIcon)?l:za,active:e=>e.get(hP).call(xE.key,Px.type(e)),onRun:e=>{e.get(hP).call(Pk.key)}}),d.addItem("link",{icon:null!=(s=null==e?void 0:e.linkIcon)?s:R1,active:e=>e.get(hP).call(xO.key,wE.type(e)),onRun:e=>{e.get(hP).call(LJ.key)}}),t&&(null==p?void 0:p.includes(Rk.AI))){let n=t.get(zm.key);n.provider&&d.addItem("ai",{icon:null!=(c=null!=(a=null==e?void 0:e.aiIcon)?a:n.aiIcon)?c:RS,active:()=>!1,onRun:e=>{let t=e.get(zK.key),{from:n,to:r}=e.get(hg).state.selection;t.show(n,r)}})}return null==(u=null==e?void 0:e.buildToolbar)||u.call(e,h),h.build()})(n,t));return()=>bR(bn,null,r.value.map(n=>n.items.map(n=>{var r;let i;return bR("button",{type:"button",class:b7("toolbar-item",t&&(r=n.active,zH(e.selection.value),t.get(hb).status===dh.Created&&r(t))&&"active"),onPointerdown:(i=n.onRun,e=>{e.preventDefault(),t&&(null==i||i(t))})},bR(b6,{icon:n.icon}))})).reduce((e,t,n)=>(0===n?e.push(...t):e.push(bR("div",{class:"divider"}),...t),e),[]))}});var PF=e=>{throw TypeError(e)},PH=(e,t,n)=>t.has(e)||PF("Cannot "+n),Pq=(e,t,n)=>(PH(e,t,"read from private field"),n?n.call(e):t.get(e)),Pj=(e,t,n)=>t.has(e)?PF("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),PV=(e,t,n,r)=>(PH(e,t,"write to private field"),t.set(e,n),n);let P$=mB("CREPE_TOOLBAR");class PW{constructor(e,t,n){Pj(this,te),Pj(this,tt),Pj(this,tn),Pj(this,tr),Pj(this,ti,vd(!1)),this.update=(e,t)=>{Pq(this,te).update(e,t),Pq(this,tr).value=e.state.selection},this.destroy=()=>{Pq(this,te).destroy(),Pq(this,tn).unmount(),Pq(this,tt).remove()},this.hide=()=>{Pq(this,te).hide()};const r=document.createElement("div");r.className="milkdown-toolbar",PV(this,tr,function(e){return vp(e,!0)}(t.state.selection));const i=b3(PB,{ctx:e,hide:this.hide,config:n,selection:Pq(this,tr),show:Pq(this,ti)});i.mount(r),PV(this,tt,r),PV(this,tn,i),PV(this,te,new mP({content:Pq(this,tt),debounce:20,offset:10,shouldShow(e){let{doc:t,selection:n}=e.state,{empty:i,from:o,to:l}=n,s=!t.textBetween(o,l).length&&n instanceof sv,a=!(n instanceof sv),c=e.dom.getRootNode().activeElement,u=r.contains(c),h=!e.hasFocus()&&!u,d=!e.editable;return!h&&!a&&!i&&!s&&!d}})),Pq(this,te).onShow=()=>{Pq(this,ti).value=!0},Pq(this,te).onHide=()=>{Pq(this,ti).value=!1},this.update(t)}}te=new WeakMap,tt=new WeakMap,tn=new WeakMap,tr=new WeakMap,ti=new WeakMap;let PU=[{label:"Paragraph",level:null},{label:"Heading 1",level:1},{label:"Heading 2",level:2},{label:"Heading 3",level:3},{label:"Heading 4",level:4},{label:"Heading 5",level:5},{label:"Heading 6",level:6}];function PG(e,t){if(e.get(hP).call(xO.key,t))return!0;let{state:n}=e.get(hg);if(n.storedMarks)return n.storedMarks.some(e=>e.type===t);if(n.selection instanceof sv){let{$cursor:e}=n.selection;if(e)return e.marks().some(e=>e.type===t)}return!1}zH(bR,bn);let PK=ye({props:{ctx:{type:Object,required:!0},version:{type:Object,required:!0},config:{type:Object,required:!1}},setup(e){let{ctx:t,config:n}=e,r=vd(null);function i(){return t.get(hb).status===dh.Created}function o(){zH(e.version.value)}let l=e=>{e.target.closest(".top-bar-heading-selector")||(r.value=null)};yf(()=>{window.addEventListener("pointerdown",l)}),yy(()=>{window.removeEventListener("pointerdown",l)});let s=b_(()=>{var e,r,i,o,l,s,a,c,u,h,d,p,f,m,g,y,b;let w,x,k,C,S,M,A,T;return x=null==(w=t&&zp(t).get())?void 0:w.includes(Rk.Latex),k=null==w?void 0:w.includes(Rk.ImageBlock),C=null==w?void 0:w.includes(Rk.Table),(S=new Pn).addGroup("heading","Heading").addItem("heading-selector",{...(y=null==n?void 0:n.headingOptions,b=null==n?void 0:n.chevronDownIcon,{icon:"",active:()=>!1,selector:{chevronIcon:null!=b?b:R_,activeLabel:e=>(function(e,t){var n,r;let i=null!=t?t:PU,{$from:o}=e.get(hg).state.selection,l=o.parent,s=null!=(n=i.find(e=>null===e.level))?n:i[0];if(l.type===wj.type(e)){let e=l.attrs.level;return null!=(r=i.find(t=>t.level===e))?r:s}return s})(e,M).label,options:(M=null!=y?y:PU).map(e=>({label:e.label,onSelect:t=>(function(e,t){let n=e.get(hP);if(null==t){let t=wz.type(e);n.call(xD.key,{nodeType:t})}else{let r=wj.type(e);n.call(xD.key,{nodeType:r,attrs:{level:t}})}})(t,e.level)}))}})}),S.addGroup("formatting","Formatting").addItem("bold",{icon:null!=(e=null==n?void 0:n.boldIcon)?e:RO,active:e=>PG(e,wb.type(e)),onRun:e=>{e.get(hP).call(ww.key)}}).addItem("italic",{icon:null!=(r=null==n?void 0:n.italicIcon)?r:R0,active:e=>PG(e,wp.type(e)),onRun:e=>{e.get(hP).call(wf.key)}}).addItem("strikethrough",{icon:null!=(i=null==n?void 0:n.strikethroughIcon)?i:zr,active:e=>PG(e,SN.type(e)),onRun:e=>{e.get(hP).call(SD.key)}}).addItem("code",{icon:null!=(o=null==n?void 0:n.codeIcon)?o:RB,active:e=>PG(e,wS.type(e)),onRun:e=>{let t=e.get(hg),{state:n}=t;if(n.selection.empty){let r=wS.type(e);PG(e,r)?t.dispatch(n.tr.removeStoredMark(r)):t.dispatch(n.tr.addStoredMark(r.create()))}else e.get(hP).call(wM.key)}}),S.addGroup("list","List").addItem("bullet-list",{icon:null!=(l=null==n?void 0:n.bulletListIcon)?l:RN,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xl.type(e);t.call(xI.key,{nodeType:n})}}).addItem("ordered-list",{icon:null!=(s=null==n?void 0:n.orderedListIcon)?s:R2,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xh.type(e);t.call(xI.key,{nodeType:n})}}).addItem("task-list",{icon:null!=(a=null==n?void 0:n.taskListIcon)?a:zl,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xg.type(e);t.call(xI.key,{nodeType:n,attrs:{checked:!1}})}}),(A=S.addGroup("insert","Insert")).addItem("link",{icon:null!=(c=null==n?void 0:n.linkIcon)?c:R1,active:e=>PG(e,wE.type(e)),onRun:e=>{let t=e.get(hg),{state:n}=t,r=wE.type(e);n.selection.empty&&PG(e,r)?t.dispatch(n.tr.removeStoredMark(r)):e.get(hP).call(LJ.key)}}),k&&A.addItem("image",{icon:null!=(u=null==n?void 0:n.imageIcon)?u:RQ,active:()=>!1,onRun:e=>{let t=e.get(hP),n=ki.type(e);t.call(xL.key,{nodeType:n})}}),C&&A.addItem("table",{icon:null!=(h=null==n?void 0:n.tableIcon)?h:zi,active:()=>!1,onRun:e=>{let t=e.get(hP),{from:n}=e.get(hg).state.selection;t.call(xL.key,{nodeType:SH(e,3,3)}),t.call(x_.key,{pos:n})}}),(T=S.addGroup("block","Block")).addItem("code-block",{icon:null!=(d=null==n?void 0:n.codeBlockIcon)?d:RF,active:()=>!1,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xD.key,{nodeType:n})}}),x&&T.addItem("math",{icon:null!=(p=null==n?void 0:n.mathIcon)?p:za,active:()=>!1,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xL.key,{nodeType:n,attrs:{language:"LaTeX"}})}}),S.addGroup("more","More").addItem("quote",{icon:null!=(f=null==n?void 0:n.quoteIcon)?f:R7,active:()=>!1,onRun:e=>{let t=e.get(hP),n=wK.type(e);t.call(xI.key,{nodeType:n})}}).addItem("hr",{icon:null!=(m=null==n?void 0:n.hrIcon)?m:Rj,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xn.type(e);t.call(xL.key,{nodeType:n})}}),null==(g=null==n?void 0:n.buildTopBar)||g.call(n,S),S.build()});return()=>{let e=i()?t.get(hg):null;return e&&!e.editable?null:bR("div",{class:"top-bar-inner"},s.value.map(e=>e.items.map(e=>{var n,l,s,a,c;let u;if(e.selector){let c,u;return n=e.key,l=e.selector,c=r.value===n,bR("div",{key:n,class:"top-bar-heading-selector"},bR("button",{type:"button",class:"top-bar-heading-button",onPointerdown:e=>{e.preventDefault(),e.stopPropagation(),r.value=r.value===n?null:n}},bR("span",{class:"top-bar-heading-label"},(o(),u=i()?l.activeLabel(t):null!=(a=null==(s=l.options[0])?void 0:s.label)?a:"")),l.chevronIcon&&bR("span",{class:"top-bar-chevron"},bR(b6,{icon:l.chevronIcon}))),c&&bR("div",{class:"top-bar-heading-dropdown"},l.options.map((e,i)=>bR("button",{key:`${n}-${i}`,type:"button",class:b7("top-bar-heading-option",u===e.label&&"active"),onPointerdown:n=>{n.preventDefault(),n.stopPropagation(),r.value=null,e.onSelect(t)}},e.label))))}return e.onRun?bR("button",{key:e.key,type:"button",class:b7("top-bar-item",(c=e.active,o(),!!i()&&c(t)&&"active")),onPointerdown:(u=e.onRun,e=>{e.preventDefault(),t&&u(t)})},bR(b6,{icon:e.icon})):null})).reduce((e,t,n)=>{var r,i;if(0===n)e.push(...t);else{let o=null!=(i=null==(r=s.value[n])?void 0:r.key)?i:n;e.push(bR("div",{key:`divider-${o}`,class:"top-bar-divider"}),...t)}return e},[]))}}});var PJ=e=>{throw TypeError(e)},PZ=(e,t,n)=>t.has(e)||PJ("Cannot "+n),PY=(e,t,n)=>(PZ(e,t,"read from private field"),n?n.call(e):t.get(e)),PX=(e,t,n)=>t.has(e)?PJ("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),PQ=(e,t,n,r)=>(PZ(e,t,"write to private field"),t.set(e,n),n);let P0=new s_("CREPE_TOP_BAR");class P1{constructor(e,t,n){PX(this,to),PX(this,tl),PX(this,ts),this.update=(e,t)=>{PY(this,to).style.display=e.editable?"":"none",PY(this,ts).value++},this.destroy=()=>{PY(this,tl).unmount(),PY(this,to).remove()},PQ(this,ts,vd(0));const r=document.createElement("div");r.className="milkdown-top-bar";const i=b3(PK,{ctx:e,config:n,version:PY(this,ts)});i.mount(r),PQ(this,to,r),PQ(this,tl,i);const o=t.dom.parentElement;o&&o.insertBefore(r,o.firstChild),this.update(t)}}to=new WeakMap,tl=new WeakMap,ts=new WeakMap;let P4=dw({view:()=>({update:()=>{},destroy:()=>{}})},"topBarConfig"),P5=dv(e=>new sD({key:P0,view:e.get(P4.key).view}));var P2=e=>{throw TypeError(e)},P3=(e,t,n)=>t.has(e)||P2("Cannot "+n),P7=(e,t,n)=>(P3(e,t,"read from private field"),n?n.call(e):t.get(e)),P6=(e,t,n)=>t.has(e)?P2("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),P8=(e,t,n,r)=>(P3(e,t,"write to private field"),t.set(e,n),n);class P9{constructor({root:e,defaultValue:t=""}={}){var n;P6(this,ta),P6(this,tc),P6(this,tu,!0),this.addFeature=(e,t)=>(e(P7(this,ta),t),this),this.create=()=>P7(this,ta).create(),this.destroy=()=>P7(this,ta).destroy(),this.setReadonly=e=>(P8(this,tu,!e),P7(this,ta).action(t=>{P7(this,ta).status===dh.Created&&t.get(hg).setProps({editable:()=>!e})}),this),this.getMarkdown=()=>P7(this,ta).action(e=>{let t=e.get(hg),n=(e.get(hD),e.get(h0));return n(t.state.doc)}),this.on=e=>(P7(this,ta).status!==dh.Created?P7(this,ta).config(t=>{e(t.get(Rp))}):P7(this,ta).action(t=>{e(t.get(Rp))}),this),P8(this,tc,null!=(n="string"==typeof e?document.querySelector(e):e)?n:document.body),P8(this,ta,dd.make().config(e=>{e.inject(zd,this),e.inject(zh,[])}).config(e=>{e.set(dl,P7(this,tc)),e.set(h4,t),e.set(di,{editable:()=>P7(this,tu)}),e.update(Rc.key,e=>({...e,size:4})),e.update(Rb.key,e=>({...e,uploader:async(e,t,n)=>{let r=zp(n).get().includes(Rk.ImageBlock),i=r?t.nodes["image-block"]:t.nodes.image;if(!i)return[];let o=r?n.get(x3.key).onUpload:void 0,l=[];for(let t=0;t<e.length;t++){let n=e.item(t);n&&n.type.includes("image")&&l.push(n)}return await Promise.all(l.map(async e=>{let t=o?await o(e):URL.createObjectURL(e);return i.createAndFill({src:t})}))}}))}).use(xJ).use(Rm).use(Ra).use(Rh).use(Ry).use(Rt).use(Rx).use(Mg))}get editor(){return P7(this,ta)}get readonly(){return!P7(this,tu)}}ta=new WeakMap,tc=new WeakMap,tu=new WeakMap;class Be extends P9{constructor({features:e={},featureConfigs:t={},...n}={}){super(n);const r=n$(t,zu);Object.entries({...RC,...e}).filter(([,e])=>e).map(([e])=>e).forEach(e=>{let t=r[e];!function(e,t,n){switch(e){case Rk.CodeMirror:return((e,t={})=>{e.config(zf(Rk.CodeMirror)).config(e=>{let{languages:n=[],theme:r}=t,i=[nJ.keymap.of(AN.concat(AD)),Ok];r&&i.push(r),t.extensions&&i.push(...t.extensions),e.update(A1.key,e=>{var r;return{extensions:i,languages:n,expandIcon:t.expandIcon||R_,searchIcon:t.searchIcon||R9,clearSearchIcon:t.clearSearchIcon||RP,searchPlaceholder:t.searchPlaceholder||"Search language",copyText:t.copyText||"Copy",copyIcon:t.copyIcon||Rq,onCopy:t.onCopy||(()=>{}),noResultText:t.noResultText||"No result",renderLanguage:t.renderLanguage||e.renderLanguage,renderPreview:t.renderPreview||e.renderPreview,previewToggleButton:e=>{var n,r;return[(null==(n=t.previewToggleIcon)?void 0:n.call(t,e))||(e?R$:zc),(null==(r=t.previewToggleText)?void 0:r.call(t,e))||(e?"Edit":"Hide")].map(e=>e.trim()).join(" ")},previewLabel:t.previewLabel||e.previewLabel,previewLoading:t.previewLoading||e.previewLoading,previewOnlyByDefault:null!=(r=t.previewOnlyByDefault)?r:e.previewOnlyByDefault}})}).use(Ti)})(t,n);case Rk.ListItem:return t.config(zf(Rk.ListItem)).config(e=>{e.set(_O.key,{renderLabel:({label:e,listType:t,checked:r})=>{var i,o,l;return null==r?"bullet"===t?null!=(i=null==n?void 0:n.bulletIcon)?i:RE:e:r?null!=(o=null==n?void 0:n.checkBoxCheckedIcon)?o:RI:null!=(l=null==n?void 0:n.checkBoxUncheckedIcon)?l:RL}})}).use(_L);case Rk.LinkTooltip:return t.config(zf(Rk.LinkTooltip)).config(_w).config(e=>{e.update(LK.key,e=>{var t,r,i,o,l,s;return{...e,linkIcon:null!=(t=null==n?void 0:n.linkIcon)?t:Rq,editButton:null!=(r=null==n?void 0:n.editButton)?r:R$,removeButton:null!=(i=null==n?void 0:n.removeButton)?i:R6,confirmButton:null!=(o=null==n?void 0:n.confirmButton)?o:RH,inputPlaceholder:null!=(l=null==n?void 0:n.inputPlaceholder)?l:"Paste link...",onCopyLink:null!=(s=null==n?void 0:n.onCopyLink)?s:()=>{}}})}).use(_x);case Rk.ImageBlock:return t.config(zf(Rk.ImageBlock)).config(e=>{e.update(OZ.key,e=>{var t,r,i,o,l,s;return{uploadButton:null!=(t=null==n?void 0:n.inlineUploadButton)?t:"Upload",imageIcon:null!=(r=null==n?void 0:n.inlineImageIcon)?r:RQ,confirmButton:null!=(i=null==n?void 0:n.inlineConfirmButton)?i:RH,uploadPlaceholderText:null!=(o=null==n?void 0:n.inlineUploadPlaceholderText)?o:"or paste link",onUpload:null!=(s=null!=(l=null==n?void 0:n.inlineOnUpload)?l:null==n?void 0:n.onUpload)?s:e.onUpload,proxyDomURL:null==n?void 0:n.proxyDomURL}}),e.update(x3.key,e=>{var t,r,i,o,l,s,a,c,u;return{uploadButton:null!=(t=null==n?void 0:n.blockUploadButton)?t:"Upload file",imageIcon:null!=(r=null==n?void 0:n.blockImageIcon)?r:RQ,captionIcon:null!=(i=null==n?void 0:n.blockCaptionIcon)?i:RD,confirmButton:null!=(o=null==n?void 0:n.blockConfirmButton)?o:"Confirm",captionPlaceholderText:null!=(l=null==n?void 0:n.blockCaptionPlaceholderText)?l:"Write Image Caption",uploadPlaceholderText:null!=(s=null==n?void 0:n.blockUploadPlaceholderText)?s:"or paste link",onUpload:null!=(c=null!=(a=null==n?void 0:n.blockOnUpload)?a:null==n?void 0:n.onUpload)?c:e.onUpload,proxyDomURL:null==n?void 0:n.proxyDomURL,onImageLoadError:null!=(u=null==n?void 0:n.onImageLoadError)?u:e.onImageLoadError,maxWidth:null==n?void 0:n.maxWidth,maxHeight:null==n?void 0:n.maxHeight}})}).use(kv).use(O5);case Rk.Cursor:var r,i;let o,l;if(t.config(zf(Rk.Cursor)).config(e=>{e.update(OR.key,()=>{var e,t;return{class:"crepe-drop-cursor",width:null!=(e=null==n?void 0:n.width)?e:4,color:null!=(t=null==n?void 0:n.color)&&t}})}).use(OH),(null==n?void 0:n.virtual)===!1)return;let s=(o=!1,l="u"<typeof document?null:document.createElement("div"),new sD({key:Oq,view:e=>{let t;!0!==o&&function(e,t){for(let[n,r]of Object.entries(e.marks))!1!==r.spec.inclusive||t.includes(n)||console.warn(`[prosemirror-virtual-cursor] Virtual cursor does not work well with marks that have inclusive set to false. Please consider removing the inclusive option from the "${n}" mark or adding it to the "skipWarning" option.`)}(e.state.schema,o||[]);let n=e.dom.ownerDocument,r=l=l||document.createElement("div"),i=()=>{!function(e,t){var n,r;if(!e||!e.dom||e.isDestroyed||!t)return;let{state:i,dom:o}=e,{selection:l}=i;if(!OV(l))return;let s=function(e,t){var n;let r=window.getSelection();if(!r||!r.rangeCount)return null;let i=null==(n=null==r?void 0:r.getRangeAt(0))?void 0:n.cloneRange();if(!i)return null;i.collapse(t);let o=i.getClientRects(),l=(null==o?void 0:o.length)?o[o.length-1]:null;return(null==l?void 0:l.height)?l:e.coordsAtPos(e.state.selection.head)}(e,l.$head===l.$from);if(!s)return;let a=o.getBoundingClientRect(),c="prosemirror-virtual-cursor",u=i.selection.$head,[h,d]=Oj(u),p=i.storedMarks||u.marks();l.$cursor&&h&&d&&p&&!o7.sameSet(h,d)&&(o7.sameSet(h,p)?c+=" prosemirror-virtual-cursor-left":o7.sameSet(d,p)&&(c+=" prosemirror-virtual-cursor-right")),t.className=c,r="prosemirror-virtual-cursor-animation",(n=t).classList.remove(r),n.offsetWidth,n.classList.add(r),t.style.height=`${s.bottom-s.top}px`,t.style.left=`${s.left-a.left}px`,t.style.top=`${s.top-a.top}px`}(e,r)};return window.ResizeObserver&&(t=new window.ResizeObserver(()=>i())).observe(e.dom),n.addEventListener("selectionchange",i),{update:()=>{i()},destroy:()=>{n.removeEventListener("selectionchange",i),t&&t.unobserve(e.dom)}}},props:{handleKeyDown:(e,t)=>{var n;let{selection:r}=e.state;if(t.altKey||t.ctrlKey||t.metaKey||t.shiftKey||t.isComposing||!["ArrowLeft","ArrowRight"].includes(t.key)||!OV(r)||!r.empty)return!1;let i=r.$head,[o,l]=Oj(i),s=e.state.storedMarks||i.marks();if(o&&l&&!o7.sameSet(o,l)){if("ArrowLeft"===t.key&&!o7.sameSet(o,s))return e.dispatch(e.state.tr.setStoredMarks(o)),!0;if("ArrowRight"===t.key&&!o7.sameSet(l,s))return e.dispatch(e.state.tr.setStoredMarks(l)),!0}return"ArrowLeft"===t.key&&1===i.textOffset?(e.dispatch(e.state.tr.setSelection(sv.create(e.state.doc,i.pos-1)).setStoredMarks(i.marks())),!0):"ArrowRight"===t.key&&i.textOffset+1===(null==(n=i.parent.maybeChild(i.index()))?void 0:n.nodeSize)&&(e.dispatch(e.state.tr.setSelection(sv.create(e.state.doc,i.pos+1)).setStoredMarks(i.marks())),!0)},decorations:e=>{if(l&&OV(e.selection)&&e.selection.empty)return uJ.create(e.doc,[uU.widget(0,l,{key:"prosemirror-virtual-cursor"})])},attributes:{class:"virtual-cursor-enabled"}}}));t.use(dv(()=>s));return;case Rk.BlockEdit:return t.config(zf(Rk.BlockEdit)).config(e=>{e.set(b9.key,{filterNodes:e=>!aD(e=>["table","blockquote","math_inline"].includes(e.type.name))(e)}),e.set(ws.key,{view:()=>new Py(e,n)})}).config(e=>{e.set(Pc.key,{view:t=>new Ph(e,t,n)})}).use(Pu).use(ws).use(Pc);case Rk.Placeholder:return t.config(zf(Rk.Placeholder)).config(e=>{n&&e.update(Pz.key,e=>({...e,...n}))}).use(PP).use(Pz);case Rk.Toolbar:return t.config(zf(Rk.Toolbar)).config(e=>{e.set(P$.key,{view:t=>new PW(e,t,n)})}).use(P$);case Rk.Table:return t.config(zf(Rk.Table)).config(e=>{e.update(_W.key,e=>({...e,renderButton:e=>{var t,r,i,o,l,s,a,c,u;switch(e){case"add_row":return null!=(t=null==n?void 0:n.addRowIcon)?t:R3;case"add_col":return null!=(r=null==n?void 0:n.addColIcon)?r:R3;case"delete_row":return null!=(i=null==n?void 0:n.deleteRowIcon)?i:R6;case"delete_col":return null!=(o=null==n?void 0:n.deleteColIcon)?o:R6;case"align_col_left":return null!=(l=null==n?void 0:n.alignLeftIcon)?l:RA;case"align_col_center":return null!=(s=null==n?void 0:n.alignCenterIcon)?s:RM;case"align_col_right":return null!=(a=null==n?void 0:n.alignRightIcon)?a:RT;case"col_drag_handle":return null!=(c=null==n?void 0:n.colDragHandleIcon)?c:RV;case"row_drag_handle":return null!=(u=null==n?void 0:n.rowDragHandleIcon)?u:RV}}}))}).use(_9);case Rk.Latex:return t.config(zf(Rk.Latex)).config(e=>{if(!zp(e).get().includes(Rk.CodeMirror))throw Error("You need to enable CodeMirror to use LaTeX feature");e.update(A1.key,e=>({...e,renderPreview:(t,r,i)=>"latex"===t.toLowerCase()&&r.length>0?LA(r,{...null==n?void 0:n.katexOptions,throwOnError:!1,displayMode:!0}).toMarkup():(0,e.renderPreview)(t,r,i)})),e.set(PC.key,{view:t=>{var r;return new PN(e,t,{inlineEditConfirm:null!=(r=null==n?void 0:n.inlineEditConfirm)?r:RH,...n})}})}).use(PL).use(PR).use(Px).use(PC).use(PD).use(PI).use(Pb).use(Pk);case Rk.TopBar:return t.config(zf(Rk.TopBar)).config(e=>{e.set(P4.key,{view:t=>new P1(e,t,n)})}).use(P4).use(P5);case Rk.AI:let a,c;return a=null!=(r=null==n?void 0:n.diff)?r:{},c=null!=(i=null==n?void 0:n.streaming)?i:{},t.config(zf(Rk.AI)).config(e=>{e.update(dV.key,e=>{var t;return{...e,ignoreAttrs:null!=(t=a.ignoreAttrs)?t:z3}});let{ignoreAttrs:t,...n}=a;e.update(d9.key,e=>{var t;return{...e,customBlockTypes:null!=(t=n.customBlockTypes)?t:z2,...n}})}).use(d1).use(pp).config(e=>{e.update(pm.key,e=>{var t;return{...e,...c,ignoreAttrs:null!=(t=c.ignoreAttrs)?t:z3,...(null==n?void 0:n.diffReviewOnEnd)!==void 0?{diffReviewOnEnd:n.diffReviewOnEnd}:{}}})}).use(pA).config(e=>{e.update(zm.key,e=>{var t;return{...e,...(null==n?void 0:n.provider)!==void 0?{provider:n.provider}:{},...(null==n?void 0:n.buildContext)!==void 0?{buildContext:n.buildContext}:{},diffReviewOnEnd:null!=(t=null==n?void 0:n.diffReviewOnEnd)?t:e.diffReviewOnEnd,...(null==n?void 0:n.onError)!==void 0?{onError:n.onError}:{},...(null==n?void 0:n.aiIcon)!==void 0?{aiIcon:n.aiIcon}:{}}})}).use(zm).use(zg).use(zw).use(zx).config(e=>{var t,r,i,o,l,s,a,c,u,h,d,p,f;let m,g=((m=new zF).addItem("improve",{icon:RS,label:"Improve writing",streamingLabel:"Improving writing",prompt:"Improve the writing while preserving the original meaning."}).addItem("grammar",{icon:RU,label:"Fix grammar & spelling",streamingLabel:"Fixing grammar & spelling",prompt:"Fix any grammar and spelling errors without changing the meaning."}).addItem("shorter",{icon:zn,label:"Make shorter",streamingLabel:"Making shorter",prompt:"Make this shorter while preserving the key information."}).addItem("longer",{icon:R4,label:"Make longer",streamingLabel:"Expanding",prompt:"Expand this with more detail and examples."}),m.addSubmenu("tone",{icon:R$,label:"Change tone…",title:"Change tone",searchPlaceholder:"Search tones…"},e=>{for(let[t,n]of[["professional","Professional"],["casual","Casual"],["confident","Confident"],["friendly","Friendly"],["direct","Direct"],["formal","Formal"]])e.addItem(t,{icon:R$,label:n,streamingLabel:"Adjusting tone",prompt:`Rewrite this in a ${n.toLowerCase()} tone.`})}),m.addSubmenu("translate",{icon:zs,label:"Translate…",title:"Translate",searchPlaceholder:"Search languages…"},e=>{for(let[t,n,r]of[["english","English","English"],["chinese","Chinese","Chinese (Simplified)"],["japanese","Japanese","Japanese"],["korean","Korean","Korean"],["spanish","Spanish","Spanish"],["french","French","French"],["german","German","German"]])e.addItem(t,{icon:zs,label:n,streamingLabel:`Translating to ${n}`,prompt:`Translate this to ${r}.`})}),null==(t=null==n?void 0:n.buildAISuggestions)||t.call(n,m),{placeholder:null!=(r=null==n?void 0:n.instructionPlaceholder)?r:"Tell AI what to do with the selection…",chrome:{aiIcon:null!=(i=null==n?void 0:n.aiIcon)?i:RS,sendIcon:null!=(o=null==n?void 0:n.sendIcon)?o:ze,sendPromptIcon:null!=(l=null==n?void 0:n.sendPromptIcon)?l:zt,enterKeyIcon:null!=(s=null==n?void 0:n.enterKeyIcon)?s:RW,chevronLeftIcon:null!=(a=null==n?void 0:n.chevronLeftIcon)?a:RR,chevronRightIcon:null!=(c=null==n?void 0:n.chevronRightIcon)?c:Rz,suggestionsHeaderLabel:null!=(u=null==n?void 0:n.suggestionsHeaderLabel)?u:"SUGGESTIONS",sendAsPromptHeaderLabel:null!=(h=null==n?void 0:n.sendAsPromptHeaderLabel)?h:"SEND AS PROMPT",sendAsPromptLabel:null!=(d=null==n?void 0:n.sendAsPromptLabel)?d:"Ask AI:",submitButtonLabel:null!=(p=null==n?void 0:n.submitButtonLabel)?p:"Send prompt",listboxLabel:null!=(f=null==n?void 0:n.listboxLabel)?f:"AI suggestions"},suggestions:m.build()}),y=null;e.update(zK.key,e=>({...e,show:(e,t)=>{null==y||y.show(e,t)}})),e.set(zJ.key,{view:t=>y=new zG(e,t,g)})}).use(zK).use(zJ).use(function(e={}){var t,n;let{config:r}=e,i=null!=(t=null==r?void 0:r.fallbackLabel)?t:"Generating",o=null!=(n=null==r?void 0:r.cancelHint)?n:"Esc to cancel";return dv(e=>{let t=null;function n(){t&&(t.destroy(),t=null)}return new sD({key:z4,state:{init:()=>uJ.empty,apply(r,l,s,a){let c=pw.getState(a);if(!(null==c?void 0:c.active)||null==c.insertEndPos)return n(),uJ.empty;if(r.getMeta(pw)||r.docChanged){var u;let n,r;return u=a.doc,n=Math.min(c.insertEndPos,u.content.size),r=uU.widget(n,(t?t.setLabel(e):t=new z5(e,i,o),t).dom,{side:1,key:"ai-streaming-indicator"}),uJ.create(u,[r])}return l.map(r.mapping,r.doc)}},view:()=>({destroy(){n()}}),props:{decorations(e){var t;return null!=(t=z4.getState(e))?t:uJ.empty},handleKeyDown(t,n){var r;if("Escape"!==n.key)return!1;let i=e.get(hP);return e.get(zg.key).abortController?(n.preventDefault(),i.call(zx.key,{keep:!0}),!0):null!=(r=pw.getState(t.state))&&!!r.active&&(n.preventDefault(),i.call(pM.key,{keep:!0}),!0)}}})})}({config:null==n?void 0:n.streamingIndicator})).use(function(e={}){let t=function(e){var t,n,r,i,o,l,s;let{config:a,enterKeyIcon:c}=e;return{retryLabel:null!=(t=null==a?void 0:a.retryLabel)?t:"Retry",rejectAllLabel:null!=(n=null==a?void 0:a.rejectAllLabel)?n:"Reject all",acceptAllLabel:null!=(r=null==a?void 0:a.acceptAllLabel)?r:"Accept all",retryIcon:null!=(i=null==a?void 0:a.retryIcon)?i:R8,rejectIcon:null!=(o=null==a?void 0:a.rejectIcon)?o:RP,acceptIcon:null!=(l=null==a?void 0:a.acceptIcon)?l:RH,enterKeyIcon:null!=c?c:RW,modSymbol:null!=(s=null==a?void 0:a.modSymbol)?s:zI}}(e);return dv(e=>new sD({key:zD,view:n=>new zN(e,n,t),props:{handleKeyDown(t,n){var r;return"Enter"===n.key&&!!(n.metaKey||n.ctrlKey)&&!!(null==(r=d$.getState(t.state))?void 0:r.active)&&!!e.get(zg.key).diffOwnedByAI&&(n.preventDefault(),e.get(hP).call(dQ.key),!0)}}}))}({config:null==n?void 0:n.diffActions,enterKeyIcon:null==n?void 0:n.enterKeyIcon}))}}(e,this.editor,t)})}}Be.Feature=Rk;let Bt=(0,td.forwardRef)(({content:e,readOnly:t,onChange:n,className:r},i)=>{let o=(0,td.useRef)(null),l=(0,td.useRef)(null),s=(0,td.useRef)(n),[a,c]=(0,td.useState)(!1);return(0,td.useEffect)(()=>{s.current=n},[n]),(0,td.useImperativeHandle)(i,()=>({setMarkdown:e=>{l.current&&a&&l.current.editor.action(dT(e))},getMarkdown:()=>l.current?.getMarkdown()||""})),(0,td.useEffect)(()=>{if(!o.current)return;let n=new Be({root:o.current,defaultValue:e,featureConfigs:{[Be.Feature.Placeholder]:{text:"输入 / 以使用命令..."},[Be.Feature.ImageBlock]:{inlineUploadButton:"上传图片",inlineUploadPlaceholderText:"或粘贴图片链接...",blockUploadButton:"上传图片",blockUploadPlaceholderText:"或粘贴图片链接...",blockCaptionPlaceholderText:"添加标题..."},[Be.Feature.BlockEdit]:{textGroup:{label:"基础",text:{label:"文本"},h1:{label:"一级标题"},h2:{label:"二级标题"},h3:{label:"三级标题"},h4:{label:"四级标题"},h5:{label:"五级标题"},h6:{label:"六级标题"},quote:{label:"引用"},divider:{label:"分割线"}},listGroup:{label:"列表",bulletList:{label:"无序列表"},orderedList:{label:"有序列表"},taskList:{label:"任务列表"}},advancedGroup:{label:"高级",image:{label:"图片"},codeBlock:{label:"代码块"},table:{label:"表格"},math:{label:"数学公式"}}}}});n.on(e=>{e.markdownUpdated((e,t,n)=>{s.current&&t!==n&&s.current(t)})});let r=!1;return n.create().then(()=>{r?n.destroy():(l.current=n,n.setReadonly(!!t),c(!0))}),()=>{r=!0,l.current&&(l.current.destroy(),l.current=null)}},[]),(0,td.useEffect)(()=>{l.current&&a&&l.current.setReadonly(!!t)},[t,a]),(0,td.useEffect)(()=>{l.current&&a&&e!==l.current.getMarkdown()&&l.current.editor.action(dT(e))},[e,a]),(0,th.jsx)("div",{ref:o,className:r||"milkdown-editor"})});Bt.displayName="MilkdownEditor",e.s(["MilkdownEditor",0,Bt],34859)},36975,e=>{e.n(e.i(34859))}]);
736
+ `,zu={[Rk.CodeMirror]:{theme:n6,languages:nK,expandIcon:R_,searchIcon:R9,clearSearchIcon:RP,searchPlaceholder:"Search language",noResultText:"No result",previewToggleIcon:e=>e?R$:zc}},zh=ru([],"FeaturesCtx"),zd=ru({},"CrepeCtx");function zp(e){return e.use("FeaturesCtx")}function zf(e){return t=>{zp(t).update(t=>t.includes(e)?t:[...t,e])}}let zm=dw({provider:void 0,buildContext:void 0,diffReviewOnEnd:!0,onError:e=>{console.error(`[milkdown/ai] [${e.code}]`,e)},aiIcon:void 0},"aiProviderConfig"),zg=dw({abortController:null,label:"",lastInstruction:"",lastLabel:void 0,lastFrom:-1,lastTo:-1,diffOwnedByAI:!1},"aiSession");function zv(e,t){let n=e.get(zm.key);try{n.onError(t)}catch(e){console.error("[milkdown/ai] onError handler failed:",e)}}function zy(e){let t=e.get(zg.key);e.set(zg.key,{...t,abortController:null,label:""})}async function zb(e,t,n,r){try{let i=t(n,r.signal),o=e.get(hP);for await(let e of i){if(r.signal.aborted)break;o.call(pC.key,e)}if(r.signal.aborted)return;let l=e.get(zm.key);if(l.diffReviewOnEnd){let t=e.get(zg.key);e.set(zg.key,{...t,diffOwnedByAI:!0})}let s=o.call(pS.key,{diffReview:l.diffReviewOnEnd});if(l.diffReviewOnEnd&&!s){let t=e.get(zg.key);e.set(zg.key,{...t,diffOwnedByAI:!1})}}catch(n){let t;if(r.signal.aborted)return;zv(e,(t=n instanceof Error?n.message:rl(n),new n9(n8.aiProviderError,`AI provider error: ${t}`,{cause:n}))),e.get(hP).call(pM.key,{keep:!1})}finally{e.get(zg.key).abortController===r&&zy(e)}}let zw=df("RunAI",e=>t=>(n,r)=>{var i,o,l,s;let a;if(!(null==t?void 0:t.instruction))return!1;let c=e.get(zm.key);if(!c.provider||e.get(zg.key).abortController||(null==(i=pw.getState(n))?void 0:i.active)||(null==(o=d$.getState(n))?void 0:o.active))return!1;if(!r)return!0;let u=new AbortController,{from:h,to:d}=n.selection;e.set(zg.key,{abortController:u,label:null!=(l=t.label)?l:"",lastInstruction:t.instruction,lastLabel:t.label,lastFrom:h,lastTo:d,diffOwnedByAI:!1});let p=e.get(hP),f=n.selection.empty?"cursor":"selection";if(!p.call(pk.key,{insertAt:f}))return zy(e),!1;try{a=(null!=(s=c.buildContext)?s:function(e,t){var n;let r=e.get(hg),i=e.get(h0),{state:o}=r,l=i(o.doc),s="";if(!o.selection.empty){let{from:e,to:t}=o.selection,r=o.doc.slice(e,t),{schema:l}=o.doc.type,a=l.topNodeType.createAndFill(null,r.content);if(!a){let e=null==(n=l.nodes.paragraph)?void 0:n.createAndFill(null,r.content);e&&(a=l.topNodeType.createAndFill(null,e))}s=a?i(a):o.doc.textBetween(e,t)}return{document:l,selection:s,instruction:t}})(e,t.instruction)}catch(n){let t;return zv(e,(t=n instanceof Error?n.message:rl(n),new n9(n8.aiBuildContextError,`AI buildContext failed: ${t}`,{cause:n}))),p.call(pM.key,{keep:!1}),zy(e),!1}return zb(e,c.provider,a,u),!0}),zx=df("AbortAI",e=>t=>(n,r)=>{var i;let o=e.get(zg.key);return r?!!o.abortController&&(o.abortController.abort(),zy(e),(null==(i=pw.getState(n))?void 0:i.active)&&e.get(hP).call(pM.key,t),!0):!!o.abortController});var zk=e=>{throw TypeError(e)},zC=(e,t,n)=>t.has(e)||zk("Cannot "+n),zS=(e,t,n)=>(zC(e,t,"read from private field"),n?n.call(e):t.get(e)),zM=(e,t,n)=>t.has(e)?zk("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),zA=(e,t,n,r)=>(zC(e,t,"write to private field"),t.set(e,n),n),zT=(e,t,n)=>(zC(e,t,"access private method"),n);let zO="milkdown-ai-diff-actions";function zE(e,t){e.innerHTML=fk.sanitize(t.trim())}class zN{constructor(e,t,n){this.ctx=e,zM(this,ey),zM(this,eu),zM(this,eh),zM(this,ed),zM(this,ep),zM(this,ef,!1),zM(this,em,!1),zM(this,eg,null),zM(this,ev,!1),zM(this,ek,()=>{let e=this.ctx.get(zg.key);if(!e.lastInstruction||!zS(this,ev)||!zT(this,ey,eC).call(this))return;let t=this.ctx.get(hP);t.call(d0.key);let n=this.ctx.get(hg),{doc:r}=n.state,i=Math.min(Math.max(e.lastFrom,0),r.content.size),o=Math.min(Math.max(e.lastTo,0),r.content.size);n.dispatch(n.state.tr.setSelection(sv.create(n.state.doc,i,o))),t.call(zw.key,{instruction:e.lastInstruction,label:e.lastLabel})}),zM(this,eS,()=>{this.ctx.get(hP).call(d0.key)}),zM(this,eM,()=>{this.ctx.get(hP).call(dQ.key)}),zA(this,ep,n),zA(this,eh,zT(this,ey,eb).call(this,t));const r=document.createElement("div");r.className=zO,r.dataset.show="false",zA(this,ed,zT(this,ey,ew).call(this,"retry",n.retryIcon,n.retryLabel,zS(this,ek))),r.appendChild(zS(this,ed)),r.appendChild(zT(this,ey,ew).call(this,"reject",n.rejectIcon,n.rejectAllLabel,zS(this,eS)));const i=zT(this,ey,ew).call(this,"accept",n.acceptIcon,n.acceptAllLabel,zS(this,eM));i.appendChild(zT(this,ey,ex).call(this)),r.appendChild(i),zA(this,eu,r),zS(this,eh).appendChild(r),this.update(t)}update(e){var t;let n=!!(null==(t=d$.getState(e.state))?void 0:t.active);if(n!==zS(this,em))if(zA(this,em,n),n){let t=this.ctx.get(zg.key);zA(this,ev,t.diffOwnedByAI),zA(this,eg,e.state.doc)}else{zA(this,ev,!1),zA(this,eg,null);let e=this.ctx.get(zg.key);e.diffOwnedByAI&&this.ctx.set(zg.key,{...e,diffOwnedByAI:!1})}let r=n&&zS(this,ev);if(r!==zS(this,ef)&&(zA(this,ef,r),zS(this,eu).dataset.show=r?"true":"false"),r){let t=this.ctx.get(zg.key),n=!!zS(this,eg)&&e.state.doc.eq(zS(this,eg));zS(this,ed).disabled=!t.lastInstruction||!n}}destroy(){zS(this,eu).remove()}}eu=new WeakMap,eh=new WeakMap,ed=new WeakMap,ep=new WeakMap,ef=new WeakMap,em=new WeakMap,eg=new WeakMap,ev=new WeakMap,ey=new WeakSet,eb=function(e){var t;return null!=(t=e.dom.closest(".milkdown"))?t:document.body},ew=function(e,t,n,r){let i,o=document.createElement("button");o.type="button",o.className=`${zO}-btn ${zO}-btn-${e}`,o.appendChild(((i=document.createElement("span")).className=`${zO}-icon`,zE(i,t),i));let l=document.createElement("span");return l.textContent=n,o.appendChild(l),o.addEventListener("mousedown",e=>e.preventDefault()),o.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),r()}),o},ex=function(){let e=document.createElement("span");e.className=`${zO}-shortcut`;let t=document.createElement("span");t.textContent=zS(this,ep).modSymbol;let n=document.createElement("span");return n.className=`${zO}-shortcut-icon`,zE(n,zS(this,ep).enterKeyIcon),e.append(t,n),e},ek=new WeakMap,eC=function(){return!!zS(this,eg)&&this.ctx.get(hg).state.doc.eq(zS(this,eg))},eS=new WeakMap,eM=new WeakMap;let zD=new s_("CREPE_AI_DIFF_ACTIONS_PANEL"),zI=function(){var e,t,n,r;if("u"<typeof navigator)return"⌘";let i=navigator,o=null!=(r=null!=(n=null!=(t=null==(e=i.userAgentData)?void 0:e.platform)?t:i.platform)?n:i.userAgent)?r:"";return/mac|iphone|ipad|ipod/i.test(o)?"⌘":"Ctrl"}();var zL=e=>{throw TypeError(e)},z_=(e,t,n)=>t.has(e)||zL("Cannot "+n),zR=(e,t,n)=>(z_(e,t,"read from private field"),n?n.call(e):t.get(e)),zz=(e,t,n)=>t.has(e)?zL("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),zP=(e,t,n,r)=>(z_(e,t,"write to private field"),t.set(e,n),n);function zB(e){let t={addItem:(n,r)=>(e.items.set(n,r),t),removeItem:n=>(e.items.delete(n),t),getItem:t=>e.items.get(t),clear:()=>(e.items.clear(),t)};return t}class zF{constructor(){zz(this,eA,[]),this.addItem=(e,t)=>(zR(this,eT).call(this,e),zR(this,eA).push({kind:"item",id:e,item:t}),this),this.addSubmenu=(e,t,n)=>{zR(this,eT).call(this,e);let r={def:t,items:new Map};return n&&n(zB(r)),zR(this,eA).push({kind:"submenu",id:e,node:r}),this},this.removeItem=e=>(zR(this,eT).call(this,e),this),this.getItem=e=>{let t=zR(this,eA).find(t=>"item"===t.kind&&t.id===e);return(null==t?void 0:t.kind)==="item"?t.item:void 0},this.getSubmenu=e=>{let t=zR(this,eA).find(t=>"submenu"===t.kind&&t.id===e);return(null==t?void 0:t.kind)==="submenu"?zB(t.node):void 0},this.clear=()=>(zP(this,eA,[]),this),this.build=()=>{let e=[],t={};for(let n of zR(this,eA))"item"===n.kind?e.push({kind:"item",id:n.id,item:n.item}):(e.push({kind:"submenu",id:n.id,def:n.node.def}),t[n.id]={def:n.node.def,items:Array.from(n.node.items.entries()).map(([e,t])=>({id:e,item:t}))});return{main:e,submenus:t}},zz(this,eT,e=>{zP(this,eA,zR(this,eA).filter(t=>t.id!==e))})}}function zH(){}eA=new WeakMap,eT=new WeakMap,zH(bR);let zq=ye({props:{placeholder:{type:Object,required:!0},resetSignal:{type:Object,required:!0},suggestions:{type:Object,required:!0},chrome:{type:Object,required:!0},onConfirm:{type:Function,required:!0},onCancel:{type:Function,required:!0}},setup({placeholder:e,resetSignal:t,suggestions:n,chrome:r,onConfirm:i,onCancel:o}){let l=vd(""),s=vd({kind:"main"}),a=vd(0),c=vd(null),u=vd(null),h=`ai-instruction-list-${Math.random().toString(36).slice(2,9)}`,d=e=>`${h}-opt-${e}`;v0(t,()=>{l.value="",s.value={kind:"main"},a.value=0},void 0);let p=b_(()=>{if("submenu"===s.value.kind){let e=n.submenus[s.value.id];return e?e.items.map(({id:e,item:t})=>({id:e,icon:t.icon,label:t.label,hasSubmenu:!1,prompt:{text:t.prompt,streamingLabel:t.streamingLabel}})):[]}return n.main.map(e=>"item"===e.kind?{id:e.id,icon:e.item.icon,label:e.item.label,hasSubmenu:!1,prompt:{text:e.item.prompt,streamingLabel:e.item.streamingLabel}}:{id:e.id,icon:e.def.icon,label:e.def.label,hasSubmenu:!0})}),f=b_(()=>{var e,t;return"submenu"!==s.value.kind?null:null!=(t=null==(e=n.submenus[s.value.id])?void 0:e.def)?t:null}),m=b_(()=>{let e=l.value.trim().toLowerCase();return e?p.value.filter(t=>t.label.toLowerCase().includes(e)):p.value}),g=b_(()=>l.value.trim().length>0),y=b_(()=>m.value.length+ +!!g.value);v0([m,s,g],()=>{a.value=g.value?m.value.length:0},void 0);let b=()=>{v_(()=>{var e;return null==(e=c.value)?void 0:e.focus()})},w=()=>{s.value={kind:"main"},l.value="",a.value=0,b()},x=e=>{e.hasSubmenu?(s.value={kind:"submenu",id:e.id},l.value="",a.value=0,b()):e.prompt&&(i(e.prompt.text,e.prompt.streamingLabel),l.value="")},k=()=>{let e=l.value.trim();e&&(i(e),l.value="")},C=()=>{v_(()=>{let e=u.value;if(!e)return;let t=e.querySelector(`[data-index="${a.value}"]`);null==t||t.scrollIntoView({block:"nearest"})})},S=e=>{if(e.stopPropagation(),"ArrowDown"===e.key){if(e.preventDefault(),0===y.value)return;a.value=(a.value+1)%y.value,C();return}if("ArrowUp"===e.key){if(e.preventDefault(),0===y.value)return;a.value=(a.value-1+y.value)%y.value,C();return}if("Enter"===e.key){let t,n;e.preventDefault(),t=a.value,t<(n=m.value).length?x(n[t]):g.value&&k();return}if("Escape"===e.key){e.preventDefault(),"submenu"===s.value.kind?w():o();return}"Backspace"===e.key&&""===l.value&&"submenu"===s.value.kind&&(e.preventDefault(),w())},M=e=>{e.preventDefault()};return()=>{let t=m.value,n=g.value,i=f.value;return bR("div",{class:"ai-instruction"},bR("div",{class:"ai-instruction-input"},bR("span",{class:"ai-instruction-input-prefix"},bR(b6,{icon:r.aiIcon})),bR("input",{ref:c,class:"ai-instruction-input-field",role:"combobox","aria-expanded":"true","aria-autocomplete":"list","aria-controls":h,"aria-activedescendant":y.value>0?d(a.value):void 0,placeholder:i?i.searchPlaceholder:e.value,value:l.value,onInput:e=>{l.value=e.target.value},onKeydown:S}),bR("button",{type:"button",class:"ai-instruction-submit","aria-label":r.submitButtonLabel,disabled:!n,onMousedown:M,onClick:k},bR(b6,{icon:r.sendIcon}))),bR("div",{class:"ai-instruction-list",ref:u,id:h,role:"listbox","aria-label":r.listboxLabel},i&&bR("button",{type:"button",class:"ai-instruction-back",onMousedown:M,onClick:w},bR("span",{class:"ai-instruction-back-icon","aria-hidden":"true"},bR(b6,{icon:r.chevronLeftIcon})),bR("span",null,i.title)),t.length>0&&bR("div",{class:"ai-instruction-section"},bR("div",{class:"ai-instruction-section-header"},r.suggestionsHeaderLabel),t.map((e,t)=>bR("div",{key:e.id,id:d(t),"data-index":t,role:"option","aria-selected":t===a.value,class:["ai-instruction-item",t===a.value?"active":""],onMousedown:M,onClick:()=>x(e),onPointerenter:()=>{a.value=t}},bR("span",{class:"ai-instruction-item-icon"},bR(b6,{icon:e.icon})),bR("span",{class:"ai-instruction-item-label"},function(e,t){let n=t.trim();if(!n)return[e];let r=e.toLowerCase(),i=n.toLowerCase(),o=r.indexOf(i);return -1===o?[e]:[e.slice(0,o),bR("mark",null,e.slice(o,o+n.length)),e.slice(o+n.length)]}(e.label,l.value)),e.hasSubmenu&&bR("span",{class:"ai-instruction-item-arrow"},bR(b6,{icon:r.chevronRightIcon}))))),n&&bR("div",{class:"ai-instruction-section"},bR("div",{class:"ai-instruction-section-header"},r.sendAsPromptHeaderLabel),bR("div",{id:d(t.length),"data-index":t.length,role:"option","aria-selected":a.value===t.length,class:["ai-instruction-item","ai-instruction-item-prompt",a.value===t.length?"active":""],onMousedown:M,onClick:k,onPointerenter:()=>{a.value=t.length}},bR("span",{class:"ai-instruction-item-icon"},bR(b6,{icon:r.sendPromptIcon})),bR("span",{class:"ai-instruction-item-label"},r.sendAsPromptLabel," ",bR("span",{class:"ai-instruction-item-quote"},'"',l.value,'"')),bR("span",{class:"ai-instruction-item-shortcut"},bR(b6,{icon:r.enterKeyIcon}))))))}}});var zj=e=>{throw TypeError(e)},zV=(e,t,n)=>t.has(e)||zj("Cannot "+n),z$=(e,t,n)=>(zV(e,t,"read from private field"),n?n.call(e):t.get(e)),zW=(e,t,n)=>t.has(e)?zj("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),zU=(e,t,n,r)=>(zV(e,t,"write to private field"),t.set(e,n),n);class zG{constructor(e,t,n){this.ctx=e,zW(this,eO),zW(this,eE),zW(this,eN),zW(this,eD),zW(this,eI),zW(this,eL,-1),zW(this,e_,-1),zW(this,eR,!1),zW(this,ez,(e,t)=>{!e.trim()||this.ctx.get(hP).call(zw.key,{instruction:e,label:t})&&(zU(this,eR,!1),z$(this,eE).hide())}),zW(this,eP,()=>{zU(this,eR,!1),z$(this,eE).hide()}),this.show=(e,t)=>{zU(this,eL,e),zU(this,e_,t),z$(this,eI).value++,zU(this,eR,!0);let n=this.ctx.get(hg);z$(this,eE).show({getBoundingClientRect:()=>aE(n,e,t)},n),requestAnimationFrame(()=>{var e;null==(e=z$(this,eO).querySelector("input"))||e.focus()})},this.update=(e,t)=>{let{selection:n}=e.state,r=n instanceof sv,i=n.from!==z$(this,eL)||n.to!==z$(this,e_);if(!r||i){zU(this,eR,!1),z$(this,eE).hide();return}z$(this,eE).update(e,t)},this.destroy=()=>{z$(this,eN).unmount(),z$(this,eE).destroy(),z$(this,eO).remove()},zU(this,eD,vd(n.placeholder)),zU(this,eI,vd(0));const r=document.createElement("div");r.className="milkdown-ai-instruction";const i=b3(zq,{placeholder:z$(this,eD),resetSignal:z$(this,eI),suggestions:n.suggestions,chrome:n.chrome,onConfirm:z$(this,ez),onCancel:z$(this,eP)});i.mount(r),zU(this,eN,i),zU(this,eO,r),zU(this,eE,new mP({content:r,debounce:0,offset:10,shouldShow:()=>z$(this,eR),floatingUIOptions:{placement:"bottom"}})),z$(this,eE).onHide=()=>{zU(this,eR,!1),requestAnimationFrame(()=>{try{let e=z$(this,eO).getRootNode().activeElement;if(!e||!z$(this,eO).contains(e))return;this.ctx.get(hg).dom.focus({preventScroll:!0})}catch(e){}})},z$(this,eE).update(t)}}eO=new WeakMap,eE=new WeakMap,eN=new WeakMap,eD=new WeakMap,eI=new WeakMap,eL=new WeakMap,e_=new WeakMap,eR=new WeakMap,ez=new WeakMap,eP=new WeakMap;let zK=dw({show:()=>{}},"aiInstructionTooltipAPI"),zJ=mB("CREPE_AI_INSTRUCTION");var zZ=e=>{throw TypeError(e)},zY=(e,t,n)=>t.has(e)||zZ("Cannot "+n),zX=(e,t,n)=>(zY(e,t,"read from private field"),n?n.call(e):t.get(e)),zQ=(e,t,n)=>t.has(e)?zZ("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),z0=(e,t,n,r)=>(zY(e,t,"write to private field"),t.set(e,n),n);let z1="milkdown-ai-streaming",z4=new s_("CREPE_AI_STREAMING_INDICATOR");class z5{constructor(e,t,n){zQ(this,eB),zQ(this,eF),zQ(this,eH),zQ(this,eq,performance.now()),zQ(this,ej,""),zQ(this,eV,0),zQ(this,e$,()=>{let e=performance.now()-zX(this,eq);zX(this,eB).style.transform=`rotate(${e/800*360}deg)`,z0(this,eV,requestAnimationFrame(zX(this,e$)))}),z0(this,eH,t);const r=document.createElement("span");r.className=`${z1}-indicator`,r.contentEditable="false",r.setAttribute("role","status"),r.setAttribute("aria-live","polite");const i=document.createElement("span");i.className=`${z1}-spinner`,i.setAttribute("aria-hidden","true"),r.appendChild(i);const o=document.createElement("span");o.className=`${z1}-label`,r.appendChild(o);const l=document.createElement("span");l.className=`${z1}-esc`,l.textContent=n,r.appendChild(l),this.dom=r,z0(this,eB,i),z0(this,eF,o),this.setLabel(e),zX(this,e$).call(this)}setLabel(e){let t=e.get(zg.key),n=`${t.label||zX(this,eH)}\u2026`;n!==zX(this,ej)&&(z0(this,ej,n),zX(this,eF).textContent=n)}destroy(){zX(this,eV)&&cancelAnimationFrame(zX(this,eV)),z0(this,eV,0)}}eB=new WeakMap,eF=new WeakMap,eH=new WeakMap,eq=new WeakMap,ej=new WeakMap,eV=new WeakMap,e$=new WeakMap;let z2=["table","image-block","code_block"],z3={heading:["id"]};function z7(e){return"code_block"===e.$from.parent.type.name}function z6(e){var t;let n=null==(t=e.$from.node(e.$from.depth-1))?void 0:t.type;return(null==n?void 0:n.name)==="list_item"}var z8=e=>{throw TypeError(e)},z9=(e,t,n)=>t.has(e)||z8("Cannot "+n),Pe=(e,t,n)=>(z9(e,t,"read from private field"),n?n.call(e):t.get(e)),Pt=(e,t,n)=>t.has(e)?z8("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);class Pn{constructor(){Pt(this,eW,[]),this.clear=()=>{let e,t;return t=[],z9(this,e=eW,"write to private field"),e.set(this,t),this},Pt(this,eU,e=>{let t={group:e,addItem:(n,r)=>{let i={...r,key:n};return e.items.push(i),t},clear:()=>(e.items=[],t)};return t}),this.addGroup=(e,t)=>{let n={key:e,label:t,items:[]};return Pe(this,eW).push(n),Pe(this,eU).call(this,n)},this.getGroup=e=>{let t=Pe(this,eW).find(t=>t.key===e);if(!t)throw Error(`Group with key ${e} not found`);return Pe(this,eU).call(this,t)},this.build=()=>Pe(this,eW)}}eW=new WeakMap,eU=new WeakMap,zH(bR);let Pr=ye({props:{ctx:{type:Object,required:!0},show:{type:Object,required:!0},filter:{type:Object,required:!0},hide:{type:Function,required:!0},config:{type:Object,required:!1}},setup({ctx:e,show:t,filter:n,hide:r,config:i}){let o=vd(),l=b_(()=>(function(e,t,n){var r,i,o,l,s,a,c,u,h,d,p,f,m,g,y,b,w,x,k,C,S,M,A,T,O,E,N,D,I,L,_,R,z,P,B,F,H,q,j,V,$,W,U,G,K,J,Z,Y,X,Q,ee,et,en,er,ei,eo,el,es,ea,ec,eu,eh,ed,ep,ef,em,eg,ev,ey,eb,ew,ex,ek,eC,eS,eM,eA,eT,eO,eE,eN,eD,eI,eL,e_,eR,ez,eP,eB,eF,eH,eq,ej,eV,e$,eW,eU,eG,eK,eJ,eZ,eY,eX,eQ,e0,e1,e4,e5,e2,e3,e7,e6,e8,e9,te,tt,tn,tr,ti;let to=n&&zp(n).get(),tl=null==to?void 0:to.includes(Rk.Latex),ts=null==to?void 0:to.includes(Rk.ImageBlock),ta=null==to?void 0:to.includes(Rk.Table),tc=new Pn;if((null==t?void 0:t.textGroup)!==null){let e=tc.addGroup("text",null!=(i=null==(r=null==t?void 0:t.textGroup)?void 0:r.label)?i:"Text");(null==(o=null==t?void 0:t.textGroup)?void 0:o.text)!==null&&e.addItem("text",{label:null!=(a=null==(s=null==(l=null==t?void 0:t.textGroup)?void 0:l.text)?void 0:s.label)?a:"Text",icon:null!=(h=null==(u=null==(c=null==t?void 0:t.textGroup)?void 0:c.text)?void 0:u.icon)?h:zo,onRun:e=>{let t=e.get(hP),n=wz.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n})}}),(null==(d=null==t?void 0:t.textGroup)?void 0:d.h1)!==null&&e.addItem("h1",{label:null!=(m=null==(f=null==(p=null==t?void 0:t.textGroup)?void 0:p.h1)?void 0:f.label)?m:"Heading 1",icon:null!=(b=null==(y=null==(g=null==t?void 0:t.textGroup)?void 0:g.h1)?void 0:y.icon)?b:RG,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:1}})}}),(null==(w=null==t?void 0:t.textGroup)?void 0:w.h2)!==null&&e.addItem("h2",{label:null!=(C=null==(k=null==(x=null==t?void 0:t.textGroup)?void 0:x.h2)?void 0:k.label)?C:"Heading 2",icon:null!=(A=null==(M=null==(S=null==t?void 0:t.textGroup)?void 0:S.h2)?void 0:M.icon)?A:RK,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:2}})}}),(null==(T=null==t?void 0:t.textGroup)?void 0:T.h3)!==null&&e.addItem("h3",{label:null!=(N=null==(E=null==(O=null==t?void 0:t.textGroup)?void 0:O.h3)?void 0:E.label)?N:"Heading 3",icon:null!=(L=null==(I=null==(D=null==t?void 0:t.textGroup)?void 0:D.h3)?void 0:I.icon)?L:RJ,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:3}})}}),(null==(_=null==t?void 0:t.textGroup)?void 0:_.h4)!==null&&e.addItem("h4",{label:null!=(P=null==(z=null==(R=null==t?void 0:t.textGroup)?void 0:R.h4)?void 0:z.label)?P:"Heading 4",icon:null!=(H=null==(F=null==(B=null==t?void 0:t.textGroup)?void 0:B.h4)?void 0:F.icon)?H:RZ,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:4}})}}),(null==(q=null==t?void 0:t.textGroup)?void 0:q.h5)!==null&&e.addItem("h5",{label:null!=($=null==(V=null==(j=null==t?void 0:t.textGroup)?void 0:j.h5)?void 0:V.label)?$:"Heading 5",icon:null!=(G=null==(U=null==(W=null==t?void 0:t.textGroup)?void 0:W.h5)?void 0:U.icon)?G:RY,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:5}})}}),(null==(K=null==t?void 0:t.textGroup)?void 0:K.h6)!==null&&e.addItem("h6",{label:null!=(Y=null==(Z=null==(J=null==t?void 0:t.textGroup)?void 0:J.h6)?void 0:Z.label)?Y:"Heading 6",icon:null!=(ee=null==(Q=null==(X=null==t?void 0:t.textGroup)?void 0:X.h6)?void 0:Q.icon)?ee:RX,onRun:e=>{let t=e.get(hP),n=wj.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n,attrs:{level:6}})}}),(null==(et=null==t?void 0:t.textGroup)?void 0:et.quote)!==null&&e.addItem("quote",{label:null!=(ei=null==(er=null==(en=null==t?void 0:t.textGroup)?void 0:en.quote)?void 0:er.label)?ei:"Quote",icon:null!=(es=null==(el=null==(eo=null==t?void 0:t.textGroup)?void 0:eo.quote)?void 0:el.icon)?es:R7,onRun:e=>{let t=e.get(hP),n=wK.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n})}}),(null==(ea=null==t?void 0:t.textGroup)?void 0:ea.divider)!==null&&e.addItem("divider",{label:null!=(eh=null==(eu=null==(ec=null==t?void 0:t.textGroup)?void 0:ec.divider)?void 0:eu.label)?eh:"Divider",icon:null!=(ef=null==(ep=null==(ed=null==t?void 0:t.textGroup)?void 0:ed.divider)?void 0:ep.icon)?ef:Rj,onRun:e=>{let t=e.get(hP),n=xn.type(e);t.call(xN.key),t.call(xL.key,{nodeType:n})}})}if((null==t?void 0:t.listGroup)!==null){let e=tc.addGroup("list",null!=(eg=null==(em=null==t?void 0:t.listGroup)?void 0:em.label)?eg:"List");(null==(ev=null==t?void 0:t.listGroup)?void 0:ev.bulletList)!==null&&e.addItem("bullet-list",{label:null!=(ew=null==(eb=null==(ey=null==t?void 0:t.listGroup)?void 0:ey.bulletList)?void 0:eb.label)?ew:"Bullet List",icon:null!=(eC=null==(ek=null==(ex=null==t?void 0:t.listGroup)?void 0:ex.bulletList)?void 0:ek.icon)?eC:RN,onRun:e=>{let t=e.get(hP),n=xl.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n})}}),(null==(eS=null==t?void 0:t.listGroup)?void 0:eS.orderedList)!==null&&e.addItem("ordered-list",{label:null!=(eT=null==(eA=null==(eM=null==t?void 0:t.listGroup)?void 0:eM.orderedList)?void 0:eA.label)?eT:"Ordered List",icon:null!=(eN=null==(eE=null==(eO=null==t?void 0:t.listGroup)?void 0:eO.orderedList)?void 0:eE.icon)?eN:R2,onRun:e=>{let t=e.get(hP),n=xh.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n})}}),(null==(eD=null==t?void 0:t.listGroup)?void 0:eD.taskList)!==null&&e.addItem("task-list",{label:null!=(e_=null==(eL=null==(eI=null==t?void 0:t.listGroup)?void 0:eI.taskList)?void 0:eL.label)?e_:"Task List",icon:null!=(eP=null==(ez=null==(eR=null==t?void 0:t.listGroup)?void 0:eR.taskList)?void 0:ez.icon)?eP:zl,onRun:e=>{let t=e.get(hP),n=xg.type(e);t.call(xN.key),t.call(xI.key,{nodeType:n,attrs:{checked:!1}})}})}if((null==t?void 0:t.advancedGroup)!==null){let e=tc.addGroup("advanced",null!=(eF=null==(eB=null==t?void 0:t.advancedGroup)?void 0:eB.label)?eF:"Advanced");(null==(eH=null==t?void 0:t.advancedGroup)?void 0:eH.image)!==null&&ts&&e.addItem("image",{label:null!=(eV=null==(ej=null==(eq=null==t?void 0:t.advancedGroup)?void 0:eq.image)?void 0:ej.label)?eV:"Image",icon:null!=(eU=null==(eW=null==(e$=null==t?void 0:t.advancedGroup)?void 0:e$.image)?void 0:eW.icon)?eU:RQ,onRun:e=>{let t=e.get(hP),n=ki.type(e);t.call(xN.key),t.call(xL.key,{nodeType:n})}}),(null==(eG=null==t?void 0:t.advancedGroup)?void 0:eG.codeBlock)!==null&&e.addItem("code",{label:null!=(eZ=null==(eJ=null==(eK=null==t?void 0:t.advancedGroup)?void 0:eK.codeBlock)?void 0:eJ.label)?eZ:"Code",icon:null!=(eQ=null==(eX=null==(eY=null==t?void 0:t.advancedGroup)?void 0:eY.codeBlock)?void 0:eX.icon)?eQ:RB,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xN.key),t.call(xD.key,{nodeType:n})}}),(null==(e0=null==t?void 0:t.advancedGroup)?void 0:e0.table)!==null&&ta&&e.addItem("table",{label:null!=(e5=null==(e4=null==(e1=null==t?void 0:t.advancedGroup)?void 0:e1.table)?void 0:e4.label)?e5:"Table",icon:null!=(e7=null==(e3=null==(e2=null==t?void 0:t.advancedGroup)?void 0:e2.table)?void 0:e3.icon)?e7:zi,onRun:e=>{let t=e.get(hP),n=e.get(hg);t.call(xN.key);let{from:r}=n.state.selection;t.call(xL.key,{nodeType:SH(e,3,3)}),t.call(x_.key,{pos:r})}}),(null==(e6=null==t?void 0:t.advancedGroup)?void 0:e6.math)!==null&&tl&&e.addItem("math",{label:null!=(te=null==(e9=null==(e8=null==t?void 0:t.advancedGroup)?void 0:e8.math)?void 0:e9.label)?te:"Math",icon:null!=(tr=null==(tn=null==(tt=null==t?void 0:t.advancedGroup)?void 0:tt.math)?void 0:tn.icon)?tr:za,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xN.key),t.call(xL.key,{nodeType:n,attrs:{language:"LaTeX"}})}})}null==(ti=null==t?void 0:t.buildMenu)||ti.call(t,tc);let tu=tc.build();e&&(tu=tu.map(t=>{let n=t.items.filter(t=>t.label.toLowerCase().includes(e.toLowerCase()));return{...t,items:n}}).filter(e=>e.items.length>0));let th=tu.flatMap(e=>e.items);return th.forEach((e,t)=>{Object.assign(e,{index:t})}),tu.reduce((e,t)=>{let n=e+t.items.length;return Object.assign(t,{range:[e,n]}),n},0),{groups:tu,size:th.length}})(n.value,i,e)),s=vd(0),a=vd({x:-999,y:-999}),c=e=>{let{x:t,y:n}=e;a.value={x:t,y:n}};v0([l,t],()=>{let{size:e}=l.value;0===e&&t.value?r():s.value>=e&&(s.value=0)},void 0);let u=(e,t)=>{let n=s.value,r="function"==typeof e?e(n):e;null==t||t(r),s.value=r},h=e=>{var t,n;let r=null==(t=o.value)?void 0:t.querySelector(`[data-index="${e}"]`),i=null==(n=o.value)?void 0:n.querySelector(".menu-groups");r&&i&&(i.scrollTop=r.offsetTop-i.offsetTop)},d=t=>{let n=l.value.groups.flatMap(e=>e.items).at(t);(null==n?void 0:n.onRun)&&e&&n.onRun(e),r()},p=e=>{let{size:t,groups:n}=l.value;if("Escape"===e.key){e.preventDefault(),null==r||r();return}return"ArrowDown"===e.key?(e.preventDefault(),u(e=>e<t-1?e+1:e,h)):"ArrowUp"===e.key?(e.preventDefault(),u(e=>e<=0?e:e-1,h)):"ArrowLeft"===e.key?(e.preventDefault(),u(e=>{let t=n.find(t=>t.range[0]<=e&&t.range[1]>e);if(!t)return e;let r=n[n.indexOf(t)-1];return r?r.range[1]-1:e},h)):"ArrowRight"===e.key?(e.preventDefault(),u(e=>{let t=n.find(t=>t.range[0]<=e&&t.range[1]>e);if(!t)return e;let r=n[n.indexOf(t)+1];return r?r.range[0]:e},h)):void("Enter"===e.key&&(e.preventDefault(),d(s.value)))};return vQ(()=>{t.value?window.addEventListener("keydown",p,{capture:!0}):window.removeEventListener("keydown",p,{capture:!0})}),yy(()=>{window.removeEventListener("keydown",p,{capture:!0})}),()=>bR("div",{ref:o,onPointerdown:e=>e.preventDefault()},bR("nav",{class:"tab-group"},bR("ul",null,l.value.groups.map(e=>bR("li",{key:e.key,onPointerdown:()=>u(e.range[0],h),class:s.value>=e.range[0]&&s.value<e.range[1]?"selected":""},e.label)))),bR("div",{class:"menu-groups",onPointermove:c},l.value.groups.map(e=>bR("div",{key:e.key,class:"menu-group"},bR("h6",null,e.label),bR("ul",null,e.items.map(e=>{let t;return bR("li",{key:e.key,"data-index":e.index,class:s.value===e.index?"hover":"",onPointerenter:(t=e.index,e=>{let n=a.value;if(!n)return;let{x:r,y:i}=e;(r!==n.x||i!==n.y)&&u(t)}),onPointerdown:()=>{var t,n;null==(n=null==(t=o.value)?void 0:t.querySelector(`[data-index="${e.index}"]`))||n.classList.add("active")},onPointerup:()=>{var t,n;null==(n=null==(t=o.value)?void 0:t.querySelector(`[data-index="${e.index}"]`))||n.classList.remove("active"),d(e.index)}},bR(b6,{icon:e.icon}),bR("span",null,e.label))}))))))}});var Pi=e=>{throw TypeError(e)},Po=(e,t,n)=>t.has(e)||Pi("Cannot "+n),Pl=(e,t,n)=>(Po(e,t,"read from private field"),n?n.call(e):t.get(e)),Ps=(e,t,n)=>t.has(e)?Pi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Pa=(e,t,n,r)=>(Po(e,t,"write to private field"),t.set(e,n),n);let Pc=(P="CREPE_MENU",w=dw({},`${P}_SLASH_SPEC`),x=dv(e=>{let t=e.get(w.key);return new sD({key:new s_(`${P}_SLASH`),...t})}),(k=[w,x]).key=w.key,k.pluginKey=x.key,w.meta={package:"@milkdown/plugin-slash",displayName:`Ctx<slashSpec>|${P}`},x.meta={package:"@milkdown/plugin-slash",displayName:`Prose<slash>|${P}`},k),Pu=dw({show:()=>{},hide:()=>{}},"menuAPICtx");class Ph{constructor(e,t,n){Ps(this,eG),Ps(this,eK),Ps(this,eJ),Ps(this,eZ),Ps(this,eY,null),this.update=e=>{Pl(this,eZ).update(e)},this.show=e=>{Pa(this,eY,e),Pl(this,eJ).value="",Pl(this,eZ).show()},this.hide=()=>{Pa(this,eY,null),Pl(this,eZ).hide()},this.destroy=()=>{Pl(this,eZ).destroy(),Pl(this,eK).unmount(),Pl(this,eG).remove()};const r=document.createElement("div");r.classList.add("milkdown-slash-menu");const i=vd(!1),o=vd("");Pa(this,eJ,o);const l=b3(Pr,{ctx:e,config:n,show:i,filter:o,hide:this.hide});Pa(this,eK,l),l.mount(r),Pa(this,eG,r);const s=this;Pa(this,eZ,new xZ({content:Pl(this,eG),debounce:20,shouldShow(e){if(z7(e.state.selection)||z6(e.state.selection))return!1;let t=this.getContent(e,e=>["paragraph","heading"].includes(e.type.name));if(null==t||!function(e){if(!(e instanceof sv))return!1;let{$head:t}=e,n=t.parent;return t.parentOffset===n.content.size}(e.state.selection))return!1;let n=Pl(s,eY);if(o.value=t.startsWith("/")?t.slice(1):t,"number"==typeof n){let t=Math.min(n,e.state.doc.nodeSize-2);return e.state.doc.resolve(t).node()===e.state.doc.resolve(e.state.selection.from).node()||(Pa(s,eY,null),!1)}return!!t.startsWith("/")},offset:10})),Pl(this,eZ).onShow=()=>{i.value=!0},Pl(this,eZ).onHide=()=>{i.value=!1},this.update(t),e.set(Pu.key,{show:e=>this.show(e),hide:()=>this.hide()})}}eG=new WeakMap,eK=new WeakMap,eJ=new WeakMap,eZ=new WeakMap,eY=new WeakMap,zH(bR,bn);let Pd=ye({props:{onAdd:{type:Function,required:!0},addIcon:{type:String,required:!0},handleIcon:{type:String,required:!0}},setup(e){let t=vd();return()=>bR(bn,null,bR("div",{ref:t,class:"operation-item",onPointerdown:e=>{var n;e.preventDefault(),e.stopPropagation(),null==(n=t.value)||n.classList.add("active")},onPointerup:n=>{var r;n.preventDefault(),n.stopPropagation(),null==(r=t.value)||r.classList.remove("active"),e.onAdd()}},bR(b6,{icon:e.addIcon})),bR("div",{class:"operation-item"},bR(b6,{icon:e.handleIcon})))}});var Pp=e=>{throw TypeError(e)},Pf=(e,t,n)=>t.has(e)||Pp("Cannot "+n),Pm=(e,t,n)=>(Pf(e,t,"read from private field"),n?n.call(e):t.get(e)),Pg=(e,t,n)=>t.has(e)?Pp("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Pv=(e,t,n,r)=>(Pf(e,t,"write to private field"),t.set(e,n),n);class Py{constructor(e,t){var n,r,i;Pg(this,eX),Pg(this,eQ),Pg(this,e0),Pg(this,e1),this.update=()=>{Pm(this,eQ).update()},this.destroy=()=>{Pm(this,eQ).destroy(),Pm(this,eX).remove(),Pm(this,e0).unmount()},this.onAdd=()=>{let e=Pm(this,e1),t=e.get(hg);t.hasFocus()||t.focus();let{state:n,dispatch:r}=t,i=Pm(this,eQ).active;if(!i)return;let o=i.$pos.pos+i.node.nodeSize,l=n.tr.insert(o,wz.type(e).create());r((l=l.setSelection(sv.near(l.doc.resolve(o)))).scrollIntoView()),Pm(this,eQ).hide(),e.get(Pu.key).show(l.selection.from)},Pv(this,e1,e);const o=document.createElement("div");o.classList.add("milkdown-block-handle");const l=b3(Pd,{onAdd:this.onAdd,addIcon:null!=(n=null==t?void 0:t.handleAddIcon)?n:R3,handleIcon:null!=(r=null==t?void 0:t.handleDragIcon)?r:R5});l.mount(o),Pv(this,e0,l),Pv(this,eX,o);const s=null!=(i=null==t?void 0:t.blockHandle)?i:{};Pv(this,eQ,new wl({ctx:e,content:o,getOffset:()=>16,getPlacement:({active:e,blockDom:t})=>{if("heading"===e.node.type.name)return"left";let n=0;e.node.descendants(e=>{n+=e.childCount});let r=e.el,i=r.getBoundingClientRect(),o=t.getBoundingClientRect(),l=window.getComputedStyle(r),s=Number.parseInt(l.paddingTop,10)||0,a=Number.parseInt(l.paddingBottom,10)||0,c=i.height-s-a,u=o.height;return n>2||u<c?"left-start":"left"},...s})),this.update()}}eX=new WeakMap,eQ=new WeakMap,e0=new WeakMap,e1=new WeakMap;let Pb=wQ.extendSchema(e=>t=>{let n=e(t);return{...n,toMarkdown:{match:n.toMarkdown.match,runner:(e,t)=>{var r,i;if("latex"!==(null!=(r=t.attrs.language)?r:"").toLowerCase())return n.toMarkdown.runner(e,t);e.addNode("math",void 0,(null==(i=t.content.firstChild)?void 0:i.text)||"")}}}}),Pw="math_inline",Px=dx(Pw,()=>({group:"inline",inline:!0,draggable:!0,atom:!0,attrs:{value:{default:""}},parseDOM:[{tag:`span[data-type="${Pw}"]`,getAttrs:e=>{var t;return{value:null!=(t=e.dataset.value)?t:""}}}],toDOM:e=>{let t=e.attrs.value,n=document.createElement("span");return n.dataset.type=Pw,n.dataset.value=t,LT(t,n,{throwOnError:!1}),n},parseMarkdown:{match:e=>"inlineMath"===e.type,runner:(e,t,n)=>{e.addNode(n,{value:t.value})}},toMarkdown:{match:e=>e.type.name===Pw,runner:(e,t)=>{e.addNode("inlineMath",void 0,t.attrs.value)}}})),Pk=df("ToggleLatex",e=>()=>(t,n)=>{let{hasNode:r,pos:i,target:o}=aL(t,Px.type(e)),{selection:l,doc:s,tr:a}=t;if(!r){let t=s.textBetween(l.from,l.to),r=a.replaceSelectionWith(Px.type(e).create({value:t}));return n&&n(r.setSelection(sb.create(r.doc,l.from))),!0}let{from:c,to:u}=l;if(!o||i<0)return!1;let h=a.delete(i,i+1),d=o.attrs.value;return h=h.insertText(d,i),n&&n(h.setSelection(sv.create(h.doc,c,u+d.length-1))),!0}),PC=mB("INLINE_LATEX");zH(bR);let PS=ye({props:{config:{type:Object,required:!0},innerView:{type:Object,required:!0},updateValue:{type:Object,required:!0}},setup(e){let t=t=>{if(t&&t instanceof HTMLElement){for(;t.firstChild;)t.removeChild(t.firstChild);e.innerView.value&&t.appendChild(e.innerView.value.dom)}},n=t=>{t.preventDefault(),e.updateValue.value()};return()=>bR("div",{class:"container"},e.innerView&&bR("div",{ref:t}),bR("button",{type:"button",onPointerdown:n},bR(b6,{icon:e.config.inlineEditConfirm})))}});var PM=e=>{throw TypeError(e)},PA=(e,t,n)=>t.has(e)||PM("Cannot "+n),PT=(e,t,n)=>(PA(e,t,"read from private field"),n?n.call(e):t.get(e)),PO=(e,t,n)=>t.has(e)?PM("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),PE=(e,t,n,r)=>(PA(e,t,"write to private field"),t.set(e,n),n);class PN{constructor(e,t,n){this.ctx=e,PO(this,e4),PO(this,e5),PO(this,e2),PO(this,e3,vp(null,!0)),PO(this,e7,function(e){return vp(e,!0)}(()=>{})),PO(this,e6),PO(this,e8,()=>{PT(this,e3).value&&(PT(this,e3).value.destroy(),PT(this,e3).value=null)}),PO(this,e9,e=>{let t=(()=>{if(!e.editable)return!1;let{selection:t,schema:n}=e.state;if(t.empty||!(t instanceof sb))return!1;let r=t.node;if(r.type.name!==Pw)return!1;let i=t.from,o=n.nodes.paragraph.create(null,n.text(r.attrs.value)),l=new ha(PT(this,e2),{state:sN.create({doc:o,schema:new lA({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM:()=>["p",0]},text:{group:"inline"}}}),plugins:[aB({"Mod-z":AG,"Mod-Z":AK,"Mod-y":AK,Enter:()=>(PT(this,e7).value(),!0)})]})});return PT(this,e3).value=l,PT(this,e7).value=()=>{let{tr:t}=e.state;t.setNodeAttribute(i,"value",l.state.doc.textContent),e.dispatch(t),requestAnimationFrame(()=>{e.focus()})},!0})();return t||PT(this,e8).call(this),t}),this.update=(e,t)=>{PT(this,e5).update(e,t)},this.destroy=()=>{PT(this,e6).unmount(),PT(this,e5).destroy(),PT(this,e4).remove()};const r=document.createElement("div");r.className="milkdown-latex-inline-edit",PE(this,e4,r),PE(this,e6,b3(PS,{config:n,innerView:PT(this,e3),updateValue:PT(this,e7)})),PT(this,e6).mount(r),PE(this,e5,new mP({debounce:0,content:PT(this,e4),shouldShow:PT(this,e9),offset:10,floatingUIOptions:{placement:"bottom"}})),PT(this,e5).update(t),PE(this,e2,document.createElement("div"))}}e4=new WeakMap,e5=new WeakMap,e2=new WeakMap,e3=new WeakMap,e7=new WeakMap,e6=new WeakMap,e8=new WeakMap,e9=new WeakMap;let PD=dm(e=>(function(e,t,n={}){return new s2(e,(e,r,i,o)=>{var l,s,a;let{tr:c}=e,u=r[1],h=r[0],d={group:u,fullMatch:h,start:i,end:o},p=null==(l=n.updateCaptured)?void 0:l.call(n,d);if(Object.assign(d,p),{group:u,fullMatch:h,start:i,end:o}=d,null===h||!u||""===u.trim())return null;let f=null==(s=n.getAttr)?void 0:s.call(n,r),m=t.createAndFill(f);return m&&(c.replaceRangeWith(t.isBlock?c.doc.resolve(i).before():i,o,m),null==(a=n.beforeDispatch)||a.call(n,{match:[h,u],start:i,end:o,tr:c})),c})})(/(?:\$)([^$]+)(?:\$)$/,Px.type(e),{getAttr:e=>{var t;return{value:null!=(t=e[1])?t:""}}})),PI=dm(e=>s6(/^\$\$[\s\n]$/,wQ.type(e),()=>({language:"LaTeX"}))),PL=dA("remarkMath",()=>LL);function P_(e){return i6(e,"math",(e,t,n)=>{let{value:r}=e;n.children.splice(t,1,{type:"code",lang:"LaTeX",value:r})})}let PR=dA("remarkMathBlock",()=>()=>P_),Pz=dw({text:"Please enter...",mode:"block"},"placeholderConfigCtx"),PP=dv(e=>new sD({key:new s_("CREPE_PLACEHOLDER"),props:{decorations:t=>{var n,r,i;if(e.get("CrepeCtx").readonly)return null;let o=e.get(Pz.key);if("doc"===o.mode&&!((r=t.doc).childCount<=1&&!(null==(i=r.firstChild)?void 0:i.content.size))||z7(t.selection)||z6(t.selection))return null;let l=function(e,t){let{selection:n}=e;if(!n.empty)return null;let r=n.$anchor,i=r.parent;if(i.content.size>0||aD(e=>"table"===e.type.name)(r))return null;let o=r.before();return uU.node(o,o+i.nodeSize,{class:"crepe-placeholder","data-placeholder":t})}(t,null!=(n=o.text)?n:"Please enter...");return l?uJ.create(t.doc,[l]):null}}}));zH(bR,bn);let PB=ye({props:{ctx:{type:Object,required:!0},hide:{type:Function,required:!0},show:{type:Object,required:!0},selection:{type:Object,required:!0},config:{type:Object,required:!1}},setup(e){let{ctx:t,config:n}=e,r=b_(()=>(function(e,t){var n,r,i,o,l,s,a,c,u;let h=new Pn;h.addGroup("formatting","Formatting").addItem("bold",{icon:null!=(n=null==e?void 0:e.boldIcon)?n:RO,active:e=>e.get(hP).call(xO.key,wb.type(e)),onRun:e=>{e.get(hP).call(ww.key)}}).addItem("italic",{icon:null!=(r=null==e?void 0:e.italicIcon)?r:R0,active:e=>e.get(hP).call(xO.key,wp.type(e)),onRun:e=>{e.get(hP).call(wf.key)}}).addItem("strikethrough",{icon:null!=(i=null==e?void 0:e.strikethroughIcon)?i:zr,active:e=>e.get(hP).call(xO.key,SN.type(e)),onRun:e=>{e.get(hP).call(SD.key)}});let d=h.addGroup("function","Function");d.addItem("code",{icon:null!=(o=null==e?void 0:e.codeIcon)?o:RB,active:e=>e.get(hP).call(xO.key,wS.type(e)),onRun:e=>{e.get(hP).call(wM.key)}});let p=t&&zp(t).get();if((null==p?void 0:p.includes(Rk.Latex))&&d.addItem("latex",{icon:null!=(l=null==e?void 0:e.latexIcon)?l:za,active:e=>e.get(hP).call(xE.key,Px.type(e)),onRun:e=>{e.get(hP).call(Pk.key)}}),d.addItem("link",{icon:null!=(s=null==e?void 0:e.linkIcon)?s:R1,active:e=>e.get(hP).call(xO.key,wE.type(e)),onRun:e=>{e.get(hP).call(LJ.key)}}),t&&(null==p?void 0:p.includes(Rk.AI))){let n=t.get(zm.key);n.provider&&d.addItem("ai",{icon:null!=(c=null!=(a=null==e?void 0:e.aiIcon)?a:n.aiIcon)?c:RS,active:()=>!1,onRun:e=>{let t=e.get(zK.key),{from:n,to:r}=e.get(hg).state.selection;t.show(n,r)}})}return null==(u=null==e?void 0:e.buildToolbar)||u.call(e,h),h.build()})(n,t));return()=>bR(bn,null,r.value.map(n=>n.items.map(n=>{var r;let i;return bR("button",{type:"button",class:b7("toolbar-item",t&&(r=n.active,zH(e.selection.value),t.get(hb).status===dh.Created&&r(t))&&"active"),onPointerdown:(i=n.onRun,e=>{e.preventDefault(),t&&(null==i||i(t))})},bR(b6,{icon:n.icon}))})).reduce((e,t,n)=>(0===n?e.push(...t):e.push(bR("div",{class:"divider"}),...t),e),[]))}});var PF=e=>{throw TypeError(e)},PH=(e,t,n)=>t.has(e)||PF("Cannot "+n),Pq=(e,t,n)=>(PH(e,t,"read from private field"),n?n.call(e):t.get(e)),Pj=(e,t,n)=>t.has(e)?PF("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),PV=(e,t,n,r)=>(PH(e,t,"write to private field"),t.set(e,n),n);let P$=mB("CREPE_TOOLBAR");class PW{constructor(e,t,n){Pj(this,te),Pj(this,tt),Pj(this,tn),Pj(this,tr),Pj(this,ti,vd(!1)),this.update=(e,t)=>{Pq(this,te).update(e,t),Pq(this,tr).value=e.state.selection},this.destroy=()=>{Pq(this,te).destroy(),Pq(this,tn).unmount(),Pq(this,tt).remove()},this.hide=()=>{Pq(this,te).hide()};const r=document.createElement("div");r.className="milkdown-toolbar",PV(this,tr,function(e){return vp(e,!0)}(t.state.selection));const i=b3(PB,{ctx:e,hide:this.hide,config:n,selection:Pq(this,tr),show:Pq(this,ti)});i.mount(r),PV(this,tt,r),PV(this,tn,i),PV(this,te,new mP({content:Pq(this,tt),debounce:20,offset:10,shouldShow(e){let{doc:t,selection:n}=e.state,{empty:i,from:o,to:l}=n,s=!t.textBetween(o,l).length&&n instanceof sv,a=!(n instanceof sv),c=e.dom.getRootNode().activeElement,u=r.contains(c),h=!e.hasFocus()&&!u,d=!e.editable;return!h&&!a&&!i&&!s&&!d}})),Pq(this,te).onShow=()=>{Pq(this,ti).value=!0},Pq(this,te).onHide=()=>{Pq(this,ti).value=!1},this.update(t)}}te=new WeakMap,tt=new WeakMap,tn=new WeakMap,tr=new WeakMap,ti=new WeakMap;let PU=[{label:"Paragraph",level:null},{label:"Heading 1",level:1},{label:"Heading 2",level:2},{label:"Heading 3",level:3},{label:"Heading 4",level:4},{label:"Heading 5",level:5},{label:"Heading 6",level:6}];function PG(e,t){if(e.get(hP).call(xO.key,t))return!0;let{state:n}=e.get(hg);if(n.storedMarks)return n.storedMarks.some(e=>e.type===t);if(n.selection instanceof sv){let{$cursor:e}=n.selection;if(e)return e.marks().some(e=>e.type===t)}return!1}zH(bR,bn);let PK=ye({props:{ctx:{type:Object,required:!0},version:{type:Object,required:!0},config:{type:Object,required:!1}},setup(e){let{ctx:t,config:n}=e,r=vd(null);function i(){return t.get(hb).status===dh.Created}function o(){zH(e.version.value)}let l=e=>{e.target.closest(".top-bar-heading-selector")||(r.value=null)};yf(()=>{window.addEventListener("pointerdown",l)}),yy(()=>{window.removeEventListener("pointerdown",l)});let s=b_(()=>{var e,r,i,o,l,s,a,c,u,h,d,p,f,m,g,y,b;let w,x,k,C,S,M,A,T;return x=null==(w=t&&zp(t).get())?void 0:w.includes(Rk.Latex),k=null==w?void 0:w.includes(Rk.ImageBlock),C=null==w?void 0:w.includes(Rk.Table),(S=new Pn).addGroup("heading","Heading").addItem("heading-selector",{...(y=null==n?void 0:n.headingOptions,b=null==n?void 0:n.chevronDownIcon,{icon:"",active:()=>!1,selector:{chevronIcon:null!=b?b:R_,activeLabel:e=>(function(e,t){var n,r;let i=null!=t?t:PU,{$from:o}=e.get(hg).state.selection,l=o.parent,s=null!=(n=i.find(e=>null===e.level))?n:i[0];if(l.type===wj.type(e)){let e=l.attrs.level;return null!=(r=i.find(t=>t.level===e))?r:s}return s})(e,M).label,options:(M=null!=y?y:PU).map(e=>({label:e.label,onSelect:t=>(function(e,t){let n=e.get(hP);if(null==t){let t=wz.type(e);n.call(xD.key,{nodeType:t})}else{let r=wj.type(e);n.call(xD.key,{nodeType:r,attrs:{level:t}})}})(t,e.level)}))}})}),S.addGroup("formatting","Formatting").addItem("bold",{icon:null!=(e=null==n?void 0:n.boldIcon)?e:RO,active:e=>PG(e,wb.type(e)),onRun:e=>{e.get(hP).call(ww.key)}}).addItem("italic",{icon:null!=(r=null==n?void 0:n.italicIcon)?r:R0,active:e=>PG(e,wp.type(e)),onRun:e=>{e.get(hP).call(wf.key)}}).addItem("strikethrough",{icon:null!=(i=null==n?void 0:n.strikethroughIcon)?i:zr,active:e=>PG(e,SN.type(e)),onRun:e=>{e.get(hP).call(SD.key)}}).addItem("code",{icon:null!=(o=null==n?void 0:n.codeIcon)?o:RB,active:e=>PG(e,wS.type(e)),onRun:e=>{let t=e.get(hg),{state:n}=t;if(n.selection.empty){let r=wS.type(e);PG(e,r)?t.dispatch(n.tr.removeStoredMark(r)):t.dispatch(n.tr.addStoredMark(r.create()))}else e.get(hP).call(wM.key)}}),S.addGroup("list","List").addItem("bullet-list",{icon:null!=(l=null==n?void 0:n.bulletListIcon)?l:RN,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xl.type(e);t.call(xI.key,{nodeType:n})}}).addItem("ordered-list",{icon:null!=(s=null==n?void 0:n.orderedListIcon)?s:R2,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xh.type(e);t.call(xI.key,{nodeType:n})}}).addItem("task-list",{icon:null!=(a=null==n?void 0:n.taskListIcon)?a:zl,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xg.type(e);t.call(xI.key,{nodeType:n,attrs:{checked:!1}})}}),(A=S.addGroup("insert","Insert")).addItem("link",{icon:null!=(c=null==n?void 0:n.linkIcon)?c:R1,active:e=>PG(e,wE.type(e)),onRun:e=>{let t=e.get(hg),{state:n}=t,r=wE.type(e);n.selection.empty&&PG(e,r)?t.dispatch(n.tr.removeStoredMark(r)):e.get(hP).call(LJ.key)}}),k&&A.addItem("image",{icon:null!=(u=null==n?void 0:n.imageIcon)?u:RQ,active:()=>!1,onRun:e=>{let t=e.get(hP),n=ki.type(e);t.call(xL.key,{nodeType:n})}}),C&&A.addItem("table",{icon:null!=(h=null==n?void 0:n.tableIcon)?h:zi,active:()=>!1,onRun:e=>{let t=e.get(hP),{from:n}=e.get(hg).state.selection;t.call(xL.key,{nodeType:SH(e,3,3)}),t.call(x_.key,{pos:n})}}),(T=S.addGroup("block","Block")).addItem("code-block",{icon:null!=(d=null==n?void 0:n.codeBlockIcon)?d:RF,active:()=>!1,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xD.key,{nodeType:n})}}),x&&T.addItem("math",{icon:null!=(p=null==n?void 0:n.mathIcon)?p:za,active:()=>!1,onRun:e=>{let t=e.get(hP),n=wQ.type(e);t.call(xL.key,{nodeType:n,attrs:{language:"LaTeX"}})}}),S.addGroup("more","More").addItem("quote",{icon:null!=(f=null==n?void 0:n.quoteIcon)?f:R7,active:()=>!1,onRun:e=>{let t=e.get(hP),n=wK.type(e);t.call(xI.key,{nodeType:n})}}).addItem("hr",{icon:null!=(m=null==n?void 0:n.hrIcon)?m:Rj,active:()=>!1,onRun:e=>{let t=e.get(hP),n=xn.type(e);t.call(xL.key,{nodeType:n})}}),null==(g=null==n?void 0:n.buildTopBar)||g.call(n,S),S.build()});return()=>{let e=i()?t.get(hg):null;return e&&!e.editable?null:bR("div",{class:"top-bar-inner"},s.value.map(e=>e.items.map(e=>{var n,l,s,a,c;let u;if(e.selector){let c,u;return n=e.key,l=e.selector,c=r.value===n,bR("div",{key:n,class:"top-bar-heading-selector"},bR("button",{type:"button",class:"top-bar-heading-button",onPointerdown:e=>{e.preventDefault(),e.stopPropagation(),r.value=r.value===n?null:n}},bR("span",{class:"top-bar-heading-label"},(o(),u=i()?l.activeLabel(t):null!=(a=null==(s=l.options[0])?void 0:s.label)?a:"")),l.chevronIcon&&bR("span",{class:"top-bar-chevron"},bR(b6,{icon:l.chevronIcon}))),c&&bR("div",{class:"top-bar-heading-dropdown"},l.options.map((e,i)=>bR("button",{key:`${n}-${i}`,type:"button",class:b7("top-bar-heading-option",u===e.label&&"active"),onPointerdown:n=>{n.preventDefault(),n.stopPropagation(),r.value=null,e.onSelect(t)}},e.label))))}return e.onRun?bR("button",{key:e.key,type:"button",class:b7("top-bar-item",(c=e.active,o(),!!i()&&c(t)&&"active")),onPointerdown:(u=e.onRun,e=>{e.preventDefault(),t&&u(t)})},bR(b6,{icon:e.icon})):null})).reduce((e,t,n)=>{var r,i;if(0===n)e.push(...t);else{let o=null!=(i=null==(r=s.value[n])?void 0:r.key)?i:n;e.push(bR("div",{key:`divider-${o}`,class:"top-bar-divider"}),...t)}return e},[]))}}});var PJ=e=>{throw TypeError(e)},PZ=(e,t,n)=>t.has(e)||PJ("Cannot "+n),PY=(e,t,n)=>(PZ(e,t,"read from private field"),n?n.call(e):t.get(e)),PX=(e,t,n)=>t.has(e)?PJ("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),PQ=(e,t,n,r)=>(PZ(e,t,"write to private field"),t.set(e,n),n);let P0=new s_("CREPE_TOP_BAR");class P1{constructor(e,t,n){PX(this,to),PX(this,tl),PX(this,ts),this.update=(e,t)=>{PY(this,to).style.display=e.editable?"":"none",PY(this,ts).value++},this.destroy=()=>{PY(this,tl).unmount(),PY(this,to).remove()},PQ(this,ts,vd(0));const r=document.createElement("div");r.className="milkdown-top-bar";const i=b3(PK,{ctx:e,config:n,version:PY(this,ts)});i.mount(r),PQ(this,to,r),PQ(this,tl,i);const o=t.dom.parentElement;o&&o.insertBefore(r,o.firstChild),this.update(t)}}to=new WeakMap,tl=new WeakMap,ts=new WeakMap;let P4=dw({view:()=>({update:()=>{},destroy:()=>{}})},"topBarConfig"),P5=dv(e=>new sD({key:P0,view:e.get(P4.key).view}));var P2=e=>{throw TypeError(e)},P3=(e,t,n)=>t.has(e)||P2("Cannot "+n),P7=(e,t,n)=>(P3(e,t,"read from private field"),n?n.call(e):t.get(e)),P6=(e,t,n)=>t.has(e)?P2("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),P8=(e,t,n,r)=>(P3(e,t,"write to private field"),t.set(e,n),n);class P9{constructor({root:e,defaultValue:t=""}={}){var n;P6(this,ta),P6(this,tc),P6(this,tu,!0),this.addFeature=(e,t)=>(e(P7(this,ta),t),this),this.create=()=>P7(this,ta).create(),this.destroy=()=>P7(this,ta).destroy(),this.setReadonly=e=>(P8(this,tu,!e),P7(this,ta).action(t=>{P7(this,ta).status===dh.Created&&t.get(hg).setProps({editable:()=>!e})}),this),this.getMarkdown=()=>P7(this,ta).action(e=>{let t=e.get(hg),n=(e.get(hD),e.get(h0));return n(t.state.doc)}),this.on=e=>(P7(this,ta).status!==dh.Created?P7(this,ta).config(t=>{e(t.get(Rp))}):P7(this,ta).action(t=>{e(t.get(Rp))}),this),P8(this,tc,null!=(n="string"==typeof e?document.querySelector(e):e)?n:document.body),P8(this,ta,dd.make().config(e=>{e.inject(zd,this),e.inject(zh,[])}).config(e=>{e.set(dl,P7(this,tc)),e.set(h4,t),e.set(di,{editable:()=>P7(this,tu)}),e.update(Rc.key,e=>({...e,size:4})),e.update(Rb.key,e=>({...e,uploader:async(e,t,n)=>{let r=zp(n).get().includes(Rk.ImageBlock),i=r?t.nodes["image-block"]:t.nodes.image;if(!i)return[];let o=r?n.get(x3.key).onUpload:void 0,l=[];for(let t=0;t<e.length;t++){let n=e.item(t);n&&n.type.includes("image")&&l.push(n)}return await Promise.all(l.map(async e=>{let t=o?await o(e):URL.createObjectURL(e);return i.createAndFill({src:t})}))}}))}).use(xJ).use(Rm).use(Ra).use(Rh).use(Ry).use(Rt).use(Rx).use(Mg))}get editor(){return P7(this,ta)}get readonly(){return!P7(this,tu)}}ta=new WeakMap,tc=new WeakMap,tu=new WeakMap;class Be extends P9{constructor({features:e={},featureConfigs:t={},...n}={}){super(n);const r=n$(t,zu);Object.entries({...RC,...e}).filter(([,e])=>e).map(([e])=>e).forEach(e=>{let t=r[e];!function(e,t,n){switch(e){case Rk.CodeMirror:return((e,t={})=>{e.config(zf(Rk.CodeMirror)).config(e=>{let{languages:n=[],theme:r}=t,i=[nJ.keymap.of(AN.concat(AD)),Ok];r&&i.push(r),t.extensions&&i.push(...t.extensions),e.update(A1.key,e=>{var r;return{extensions:i,languages:n,expandIcon:t.expandIcon||R_,searchIcon:t.searchIcon||R9,clearSearchIcon:t.clearSearchIcon||RP,searchPlaceholder:t.searchPlaceholder||"Search language",copyText:t.copyText||"Copy",copyIcon:t.copyIcon||Rq,onCopy:t.onCopy||(()=>{}),noResultText:t.noResultText||"No result",renderLanguage:t.renderLanguage||e.renderLanguage,renderPreview:t.renderPreview||e.renderPreview,previewToggleButton:e=>{var n,r;return[(null==(n=t.previewToggleIcon)?void 0:n.call(t,e))||(e?R$:zc),(null==(r=t.previewToggleText)?void 0:r.call(t,e))||(e?"Edit":"Hide")].map(e=>e.trim()).join(" ")},previewLabel:t.previewLabel||e.previewLabel,previewLoading:t.previewLoading||e.previewLoading,previewOnlyByDefault:null!=(r=t.previewOnlyByDefault)?r:e.previewOnlyByDefault}})}).use(Ti)})(t,n);case Rk.ListItem:return t.config(zf(Rk.ListItem)).config(e=>{e.set(_O.key,{renderLabel:({label:e,listType:t,checked:r})=>{var i,o,l;return null==r?"bullet"===t?null!=(i=null==n?void 0:n.bulletIcon)?i:RE:e:r?null!=(o=null==n?void 0:n.checkBoxCheckedIcon)?o:RI:null!=(l=null==n?void 0:n.checkBoxUncheckedIcon)?l:RL}})}).use(_L);case Rk.LinkTooltip:return t.config(zf(Rk.LinkTooltip)).config(_w).config(e=>{e.update(LK.key,e=>{var t,r,i,o,l,s;return{...e,linkIcon:null!=(t=null==n?void 0:n.linkIcon)?t:Rq,editButton:null!=(r=null==n?void 0:n.editButton)?r:R$,removeButton:null!=(i=null==n?void 0:n.removeButton)?i:R6,confirmButton:null!=(o=null==n?void 0:n.confirmButton)?o:RH,inputPlaceholder:null!=(l=null==n?void 0:n.inputPlaceholder)?l:"Paste link...",onCopyLink:null!=(s=null==n?void 0:n.onCopyLink)?s:()=>{}}})}).use(_x);case Rk.ImageBlock:return t.config(zf(Rk.ImageBlock)).config(e=>{e.update(OZ.key,e=>{var t,r,i,o,l,s;return{uploadButton:null!=(t=null==n?void 0:n.inlineUploadButton)?t:"Upload",imageIcon:null!=(r=null==n?void 0:n.inlineImageIcon)?r:RQ,confirmButton:null!=(i=null==n?void 0:n.inlineConfirmButton)?i:RH,uploadPlaceholderText:null!=(o=null==n?void 0:n.inlineUploadPlaceholderText)?o:"or paste link",onUpload:null!=(s=null!=(l=null==n?void 0:n.inlineOnUpload)?l:null==n?void 0:n.onUpload)?s:e.onUpload,proxyDomURL:null==n?void 0:n.proxyDomURL}}),e.update(x3.key,e=>{var t,r,i,o,l,s,a,c,u;return{uploadButton:null!=(t=null==n?void 0:n.blockUploadButton)?t:"Upload file",imageIcon:null!=(r=null==n?void 0:n.blockImageIcon)?r:RQ,captionIcon:null!=(i=null==n?void 0:n.blockCaptionIcon)?i:RD,confirmButton:null!=(o=null==n?void 0:n.blockConfirmButton)?o:"Confirm",captionPlaceholderText:null!=(l=null==n?void 0:n.blockCaptionPlaceholderText)?l:"Write Image Caption",uploadPlaceholderText:null!=(s=null==n?void 0:n.blockUploadPlaceholderText)?s:"or paste link",onUpload:null!=(c=null!=(a=null==n?void 0:n.blockOnUpload)?a:null==n?void 0:n.onUpload)?c:e.onUpload,proxyDomURL:null==n?void 0:n.proxyDomURL,onImageLoadError:null!=(u=null==n?void 0:n.onImageLoadError)?u:e.onImageLoadError,maxWidth:null==n?void 0:n.maxWidth,maxHeight:null==n?void 0:n.maxHeight}})}).use(kv).use(O5);case Rk.Cursor:var r,i;let o,l;if(t.config(zf(Rk.Cursor)).config(e=>{e.update(OR.key,()=>{var e,t;return{class:"crepe-drop-cursor",width:null!=(e=null==n?void 0:n.width)?e:4,color:null!=(t=null==n?void 0:n.color)&&t}})}).use(OH),(null==n?void 0:n.virtual)===!1)return;let s=(o=!1,l="u"<typeof document?null:document.createElement("div"),new sD({key:Oq,view:e=>{let t;!0!==o&&function(e,t){for(let[n,r]of Object.entries(e.marks))!1!==r.spec.inclusive||t.includes(n)||console.warn(`[prosemirror-virtual-cursor] Virtual cursor does not work well with marks that have inclusive set to false. Please consider removing the inclusive option from the "${n}" mark or adding it to the "skipWarning" option.`)}(e.state.schema,o||[]);let n=e.dom.ownerDocument,r=l=l||document.createElement("div"),i=()=>{!function(e,t){var n,r;if(!e||!e.dom||e.isDestroyed||!t)return;let{state:i,dom:o}=e,{selection:l}=i;if(!OV(l))return;let s=function(e,t){var n;let r=window.getSelection();if(!r||!r.rangeCount)return null;let i=null==(n=null==r?void 0:r.getRangeAt(0))?void 0:n.cloneRange();if(!i)return null;i.collapse(t);let o=i.getClientRects(),l=(null==o?void 0:o.length)?o[o.length-1]:null;return(null==l?void 0:l.height)?l:e.coordsAtPos(e.state.selection.head)}(e,l.$head===l.$from);if(!s)return;let a=o.getBoundingClientRect(),c="prosemirror-virtual-cursor",u=i.selection.$head,[h,d]=Oj(u),p=i.storedMarks||u.marks();l.$cursor&&h&&d&&p&&!o7.sameSet(h,d)&&(o7.sameSet(h,p)?c+=" prosemirror-virtual-cursor-left":o7.sameSet(d,p)&&(c+=" prosemirror-virtual-cursor-right")),t.className=c,r="prosemirror-virtual-cursor-animation",(n=t).classList.remove(r),n.offsetWidth,n.classList.add(r),t.style.height=`${s.bottom-s.top}px`,t.style.left=`${s.left-a.left}px`,t.style.top=`${s.top-a.top}px`}(e,r)};return window.ResizeObserver&&(t=new window.ResizeObserver(()=>i())).observe(e.dom),n.addEventListener("selectionchange",i),{update:()=>{i()},destroy:()=>{n.removeEventListener("selectionchange",i),t&&t.unobserve(e.dom)}}},props:{handleKeyDown:(e,t)=>{var n;let{selection:r}=e.state;if(t.altKey||t.ctrlKey||t.metaKey||t.shiftKey||t.isComposing||!["ArrowLeft","ArrowRight"].includes(t.key)||!OV(r)||!r.empty)return!1;let i=r.$head,[o,l]=Oj(i),s=e.state.storedMarks||i.marks();if(o&&l&&!o7.sameSet(o,l)){if("ArrowLeft"===t.key&&!o7.sameSet(o,s))return e.dispatch(e.state.tr.setStoredMarks(o)),!0;if("ArrowRight"===t.key&&!o7.sameSet(l,s))return e.dispatch(e.state.tr.setStoredMarks(l)),!0}return"ArrowLeft"===t.key&&1===i.textOffset?(e.dispatch(e.state.tr.setSelection(sv.create(e.state.doc,i.pos-1)).setStoredMarks(i.marks())),!0):"ArrowRight"===t.key&&i.textOffset+1===(null==(n=i.parent.maybeChild(i.index()))?void 0:n.nodeSize)&&(e.dispatch(e.state.tr.setSelection(sv.create(e.state.doc,i.pos+1)).setStoredMarks(i.marks())),!0)},decorations:e=>{if(l&&OV(e.selection)&&e.selection.empty)return uJ.create(e.doc,[uU.widget(0,l,{key:"prosemirror-virtual-cursor"})])},attributes:{class:"virtual-cursor-enabled"}}}));t.use(dv(()=>s));return;case Rk.BlockEdit:return t.config(zf(Rk.BlockEdit)).config(e=>{e.set(b9.key,{filterNodes:e=>!aD(e=>["table","blockquote","math_inline"].includes(e.type.name))(e)}),e.set(ws.key,{view:()=>new Py(e,n)})}).config(e=>{e.set(Pc.key,{view:t=>new Ph(e,t,n)})}).use(Pu).use(ws).use(Pc);case Rk.Placeholder:return t.config(zf(Rk.Placeholder)).config(e=>{n&&e.update(Pz.key,e=>({...e,...n}))}).use(PP).use(Pz);case Rk.Toolbar:return t.config(zf(Rk.Toolbar)).config(e=>{e.set(P$.key,{view:t=>new PW(e,t,n)})}).use(P$);case Rk.Table:return t.config(zf(Rk.Table)).config(e=>{e.update(_W.key,e=>({...e,renderButton:e=>{var t,r,i,o,l,s,a,c,u;switch(e){case"add_row":return null!=(t=null==n?void 0:n.addRowIcon)?t:R3;case"add_col":return null!=(r=null==n?void 0:n.addColIcon)?r:R3;case"delete_row":return null!=(i=null==n?void 0:n.deleteRowIcon)?i:R6;case"delete_col":return null!=(o=null==n?void 0:n.deleteColIcon)?o:R6;case"align_col_left":return null!=(l=null==n?void 0:n.alignLeftIcon)?l:RA;case"align_col_center":return null!=(s=null==n?void 0:n.alignCenterIcon)?s:RM;case"align_col_right":return null!=(a=null==n?void 0:n.alignRightIcon)?a:RT;case"col_drag_handle":return null!=(c=null==n?void 0:n.colDragHandleIcon)?c:RV;case"row_drag_handle":return null!=(u=null==n?void 0:n.rowDragHandleIcon)?u:RV}}}))}).use(_9);case Rk.Latex:return t.config(zf(Rk.Latex)).config(e=>{if(!zp(e).get().includes(Rk.CodeMirror))throw Error("You need to enable CodeMirror to use LaTeX feature");e.update(A1.key,e=>({...e,renderPreview:(t,r,i)=>"latex"===t.toLowerCase()&&r.length>0?LA(r,{...null==n?void 0:n.katexOptions,throwOnError:!1,displayMode:!0}).toMarkup():(0,e.renderPreview)(t,r,i)})),e.set(PC.key,{view:t=>{var r;return new PN(e,t,{inlineEditConfirm:null!=(r=null==n?void 0:n.inlineEditConfirm)?r:RH,...n})}})}).use(PL).use(PR).use(Px).use(PC).use(PD).use(PI).use(Pb).use(Pk);case Rk.TopBar:return t.config(zf(Rk.TopBar)).config(e=>{e.set(P4.key,{view:t=>new P1(e,t,n)})}).use(P4).use(P5);case Rk.AI:let a,c;return a=null!=(r=null==n?void 0:n.diff)?r:{},c=null!=(i=null==n?void 0:n.streaming)?i:{},t.config(zf(Rk.AI)).config(e=>{e.update(dV.key,e=>{var t;return{...e,ignoreAttrs:null!=(t=a.ignoreAttrs)?t:z3}});let{ignoreAttrs:t,...n}=a;e.update(d9.key,e=>{var t;return{...e,customBlockTypes:null!=(t=n.customBlockTypes)?t:z2,...n}})}).use(d1).use(pp).config(e=>{e.update(pm.key,e=>{var t;return{...e,...c,ignoreAttrs:null!=(t=c.ignoreAttrs)?t:z3,...(null==n?void 0:n.diffReviewOnEnd)!==void 0?{diffReviewOnEnd:n.diffReviewOnEnd}:{}}})}).use(pA).config(e=>{e.update(zm.key,e=>{var t;return{...e,...(null==n?void 0:n.provider)!==void 0?{provider:n.provider}:{},...(null==n?void 0:n.buildContext)!==void 0?{buildContext:n.buildContext}:{},diffReviewOnEnd:null!=(t=null==n?void 0:n.diffReviewOnEnd)?t:e.diffReviewOnEnd,...(null==n?void 0:n.onError)!==void 0?{onError:n.onError}:{},...(null==n?void 0:n.aiIcon)!==void 0?{aiIcon:n.aiIcon}:{}}})}).use(zm).use(zg).use(zw).use(zx).config(e=>{var t,r,i,o,l,s,a,c,u,h,d,p,f;let m,g=((m=new zF).addItem("improve",{icon:RS,label:"Improve writing",streamingLabel:"Improving writing",prompt:"Improve the writing while preserving the original meaning."}).addItem("grammar",{icon:RU,label:"Fix grammar & spelling",streamingLabel:"Fixing grammar & spelling",prompt:"Fix any grammar and spelling errors without changing the meaning."}).addItem("shorter",{icon:zn,label:"Make shorter",streamingLabel:"Making shorter",prompt:"Make this shorter while preserving the key information."}).addItem("longer",{icon:R4,label:"Make longer",streamingLabel:"Expanding",prompt:"Expand this with more detail and examples."}),m.addSubmenu("tone",{icon:R$,label:"Change tone…",title:"Change tone",searchPlaceholder:"Search tones…"},e=>{for(let[t,n]of[["professional","Professional"],["casual","Casual"],["confident","Confident"],["friendly","Friendly"],["direct","Direct"],["formal","Formal"]])e.addItem(t,{icon:R$,label:n,streamingLabel:"Adjusting tone",prompt:`Rewrite this in a ${n.toLowerCase()} tone.`})}),m.addSubmenu("translate",{icon:zs,label:"Translate…",title:"Translate",searchPlaceholder:"Search languages…"},e=>{for(let[t,n,r]of[["english","English","English"],["chinese","Chinese","Chinese (Simplified)"],["japanese","Japanese","Japanese"],["korean","Korean","Korean"],["spanish","Spanish","Spanish"],["french","French","French"],["german","German","German"]])e.addItem(t,{icon:zs,label:n,streamingLabel:`Translating to ${n}`,prompt:`Translate this to ${r}.`})}),null==(t=null==n?void 0:n.buildAISuggestions)||t.call(n,m),{placeholder:null!=(r=null==n?void 0:n.instructionPlaceholder)?r:"Tell AI what to do with the selection…",chrome:{aiIcon:null!=(i=null==n?void 0:n.aiIcon)?i:RS,sendIcon:null!=(o=null==n?void 0:n.sendIcon)?o:ze,sendPromptIcon:null!=(l=null==n?void 0:n.sendPromptIcon)?l:zt,enterKeyIcon:null!=(s=null==n?void 0:n.enterKeyIcon)?s:RW,chevronLeftIcon:null!=(a=null==n?void 0:n.chevronLeftIcon)?a:RR,chevronRightIcon:null!=(c=null==n?void 0:n.chevronRightIcon)?c:Rz,suggestionsHeaderLabel:null!=(u=null==n?void 0:n.suggestionsHeaderLabel)?u:"SUGGESTIONS",sendAsPromptHeaderLabel:null!=(h=null==n?void 0:n.sendAsPromptHeaderLabel)?h:"SEND AS PROMPT",sendAsPromptLabel:null!=(d=null==n?void 0:n.sendAsPromptLabel)?d:"Ask AI:",submitButtonLabel:null!=(p=null==n?void 0:n.submitButtonLabel)?p:"Send prompt",listboxLabel:null!=(f=null==n?void 0:n.listboxLabel)?f:"AI suggestions"},suggestions:m.build()}),y=null;e.update(zK.key,e=>({...e,show:(e,t)=>{null==y||y.show(e,t)}})),e.set(zJ.key,{view:t=>y=new zG(e,t,g)})}).use(zK).use(zJ).use(function(e={}){var t,n;let{config:r}=e,i=null!=(t=null==r?void 0:r.fallbackLabel)?t:"Generating",o=null!=(n=null==r?void 0:r.cancelHint)?n:"Esc to cancel";return dv(e=>{let t=null;function n(){t&&(t.destroy(),t=null)}return new sD({key:z4,state:{init:()=>uJ.empty,apply(r,l,s,a){let c=pw.getState(a);if(!(null==c?void 0:c.active)||null==c.insertEndPos)return n(),uJ.empty;if(r.getMeta(pw)||r.docChanged){var u;let n,r;return u=a.doc,n=Math.min(c.insertEndPos,u.content.size),r=uU.widget(n,(t?t.setLabel(e):t=new z5(e,i,o),t).dom,{side:1,key:"ai-streaming-indicator"}),uJ.create(u,[r])}return l.map(r.mapping,r.doc)}},view:()=>({destroy(){n()}}),props:{decorations(e){var t;return null!=(t=z4.getState(e))?t:uJ.empty},handleKeyDown(t,n){var r;if("Escape"!==n.key)return!1;let i=e.get(hP);return e.get(zg.key).abortController?(n.preventDefault(),i.call(zx.key,{keep:!0}),!0):null!=(r=pw.getState(t.state))&&!!r.active&&(n.preventDefault(),i.call(pM.key,{keep:!0}),!0)}}})})}({config:null==n?void 0:n.streamingIndicator})).use(function(e={}){let t=function(e){var t,n,r,i,o,l,s;let{config:a,enterKeyIcon:c}=e;return{retryLabel:null!=(t=null==a?void 0:a.retryLabel)?t:"Retry",rejectAllLabel:null!=(n=null==a?void 0:a.rejectAllLabel)?n:"Reject all",acceptAllLabel:null!=(r=null==a?void 0:a.acceptAllLabel)?r:"Accept all",retryIcon:null!=(i=null==a?void 0:a.retryIcon)?i:R8,rejectIcon:null!=(o=null==a?void 0:a.rejectIcon)?o:RP,acceptIcon:null!=(l=null==a?void 0:a.acceptIcon)?l:RH,enterKeyIcon:null!=c?c:RW,modSymbol:null!=(s=null==a?void 0:a.modSymbol)?s:zI}}(e);return dv(e=>new sD({key:zD,view:n=>new zN(e,n,t),props:{handleKeyDown(t,n){var r;return"Enter"===n.key&&!!(n.metaKey||n.ctrlKey)&&!!(null==(r=d$.getState(t.state))?void 0:r.active)&&!!e.get(zg.key).diffOwnedByAI&&(n.preventDefault(),e.get(hP).call(dQ.key),!0)}}}))}({config:null==n?void 0:n.diffActions,enterKeyIcon:null==n?void 0:n.enterKeyIcon}))}}(e,this.editor,t)})}}Be.Feature=Rk;let Bt=(0,td.forwardRef)(({content:e,readOnly:t,onChange:n,className:r},i)=>{let o=(0,td.useRef)(null),l=(0,td.useRef)(null),s=(0,td.useRef)(n),[a,c]=(0,td.useState)(!1);return(0,td.useEffect)(()=>{s.current=n},[n]),(0,td.useImperativeHandle)(i,()=>({setMarkdown:e=>{l.current&&a&&l.current.editor.action(dT(e))},getMarkdown:()=>l.current?.getMarkdown()||""})),(0,td.useEffect)(()=>{if(!o.current)return;let n=new Be({root:o.current,defaultValue:e,featureConfigs:{[Be.Feature.Placeholder]:{text:"输入 / 以使用命令..."},[Be.Feature.ImageBlock]:{inlineUploadButton:"上传图片",inlineUploadPlaceholderText:"或粘贴图片链接...",blockUploadButton:"上传图片",blockUploadPlaceholderText:"或粘贴图片链接...",blockCaptionPlaceholderText:"添加标题..."},[Be.Feature.BlockEdit]:{textGroup:{label:"基础",text:{label:"文本"},h1:{label:"一级标题"},h2:{label:"二级标题"},h3:{label:"三级标题"},h4:{label:"四级标题"},h5:{label:"五级标题"},h6:{label:"六级标题"},quote:{label:"引用"},divider:{label:"分割线"}},listGroup:{label:"列表",bulletList:{label:"无序列表"},orderedList:{label:"有序列表"},taskList:{label:"任务列表"}},advancedGroup:{label:"高级",image:{label:"图片"},codeBlock:{label:"代码块"},table:{label:"表格"},math:{label:"数学公式"}}}}});n.editor.config(e=>{e.set(wO.key,()=>({rel:"noopener noreferrer",target:"_blank"}))}),n.on(e=>{e.markdownUpdated((e,t,n)=>{s.current&&t!==n&&s.current(t)})});let r=!1;return n.create().then(()=>{r?n.destroy():(l.current=n,n.setReadonly(!!t),c(!0))}),()=>{r=!0,l.current&&(l.current.destroy(),l.current=null)}},[]),(0,td.useEffect)(()=>{l.current&&a&&l.current.setReadonly(!!t)},[t,a]),(0,td.useEffect)(()=>{l.current&&a&&e!==l.current.getMarkdown()&&l.current.editor.action(dT(e))},[e,a]),(0,th.jsx)("div",{ref:o,className:r||"milkdown-editor"})});Bt.displayName="MilkdownEditor",e.s(["MilkdownEditor",0,Bt],34859)},36975,e=>{e.n(e.i(34859))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,89664,e=>{"use strict";let a=(0,e.i(56420).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,a],89664)},8734,e=>{"use strict";let a=(0,e.i(56420).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,a],8734)},51921,e=>{"use strict";let a=(0,e.i(56420).default)("music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);e.s(["Music",0,a],51921)},15170,80796,e=>{"use strict";var a=e.i(56420);let s=(0,a.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);e.s(["Image",0,s],15170);let t=(0,a.default)("film",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]]);e.s(["Film",0,t],80796)},79490,e=>{"use strict";let a=(0,e.i(56420).default)("pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);e.s(["Edit2",0,a],79490)},12796,11028,6933,e=>{"use strict";let a=(0,e.i(56420).default)("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);e.s(["Loader",0,a],12796);var s=e.i(18050),t=e.i(71645),i=e.i(26091),r=e.i(51921),l=e.i(63676),n=e.i(26913);e.s(["default",0,function({item:e,isBackendReady:c,getFileDownloadUrl:o,onClose:d}){let[u,m]=(0,t.useState)(""),[h,p]=(0,t.useState)(!1),[f,x]=(0,t.useState)(""),[j,g]=(0,t.useState)("");return(0,t.useEffect)(()=>{if("text"!==e.subtype)return;let a=!1;return(m(""),g(""),c)?(p(!0),(async()=>{try{let s=await fetch(o(e.cid),{headers:{...await (0,n.getApiRequestHeaders)("GET",`/api/files/${e.cid}/download`),Range:"bytes=0-9999"}});if(!s.ok)throw Error("加载失败");let t=await s.text();a||m(t||"(文件为空)")}catch{a||m("加载失败")}finally{a||p(!1)}})(),()=>{a=!0}):void m("加载失败")},[o,c,e.cid,e.subtype]),(0,t.useEffect)(()=>{var a;if("image"!==(a=e.subtype)&&"video"!==a&&"audio"!==a)return void x("");if(x(""),g(""),!c)return void g("加载失败");let s="",t=!1;return(async()=>{try{let a=await fetch(o(e.cid),{headers:await (0,n.getApiRequestHeaders)("GET",`/api/files/${e.cid}/download`)});if(!a.ok)throw Error("加载失败");let i=URL.createObjectURL(await a.blob());s=i,t||x(i)}catch{t||g("加载失败")}})(),()=>{t=!0,s&&URL.revokeObjectURL(s)}},[o,c,e.cid,e.subtype]),(0,s.jsxs)("div",{className:"preview-overlay",onClick:d,children:[(0,s.jsx)("button",{type:"button",className:"preview-close",onClick:d,"aria-label":"关闭预览",children:(0,s.jsx)(l.X,{size:20})}),(0,s.jsxs)("div",{onClick:e=>e.stopPropagation(),children:["image"===e.subtype&&(0,s.jsx)("div",{className:"preview-media-wrapper",children:f?(0,s.jsx)("img",{src:f,alt:e.fileName}):j?(0,s.jsxs)("div",{className:"preview-unsupported",children:[(0,s.jsx)(i.FileText,{size:48,className:"preview-file-icon"}),(0,s.jsx)("p",{children:e.fileName}),(0,s.jsx)("p",{className:"preview-unsupported-hint",children:j})]}):(0,s.jsx)("div",{className:"preview-loading",children:(0,s.jsx)("div",{className:"preview-loading-spinner"})})}),"video"===e.subtype&&(0,s.jsx)("div",{className:"preview-media-wrapper",children:f?(0,s.jsx)("video",{src:f,controls:!0}):j?(0,s.jsxs)("div",{className:"preview-unsupported",children:[(0,s.jsx)(i.FileText,{size:48,className:"preview-file-icon"}),(0,s.jsx)("p",{children:e.fileName}),(0,s.jsx)("p",{className:"preview-unsupported-hint",children:j})]}):(0,s.jsx)("div",{className:"preview-loading",children:(0,s.jsx)("div",{className:"preview-loading-spinner"})})}),"audio"===e.subtype&&(0,s.jsxs)("div",{className:"preview-audio",children:[(0,s.jsx)("div",{className:"preview-audio-icon",children:(0,s.jsx)(r.Music,{size:36,color:"var(--accent)"})}),(0,s.jsx)("p",{className:"preview-audio-filename",children:e.fileName}),f?(0,s.jsx)("audio",{className:"preview-audio-player",src:f,controls:!0}):(0,s.jsx)("div",{className:"preview-text-loading",children:j?(0,s.jsx)("p",{children:j}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a,{size:24,className:"preview-text-spinner"}),(0,s.jsx)("p",{children:"正在加载音频预览..."})]})})]}),"file"===e.subtype&&(0,s.jsxs)("div",{className:"preview-unsupported",children:[(0,s.jsx)(i.FileText,{size:48,className:"preview-file-icon"}),(0,s.jsx)("p",{children:e.fileName}),(0,s.jsx)("p",{className:"preview-unsupported-hint",children:"无法预览"})]}),"text"===e.subtype&&(0,s.jsxs)("div",{className:"preview-text-container",children:[(0,s.jsx)("div",{className:"preview-text-header",children:(0,s.jsx)("span",{children:e.fileName})}),h?(0,s.jsxs)("div",{className:"preview-text-loading",children:[(0,s.jsx)(a,{size:24,className:"preview-text-spinner"}),(0,s.jsx)("p",{children:"正在加载文本预览..."}),(0,s.jsx)("p",{className:"preview-text-loading-hint",children:"如果是初次预览,可能需要等待 P2P 网络同步"})]}):(0,s.jsx)("pre",{className:"preview-text",children:u||"(文件为空)"})]})]})]})}],11028),e.s(["getFileSubtype",0,function(e){let a=String(e||"").split(".").pop()?.toLowerCase()||"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic","heif"].includes(a)?"image":["mp4","webm","mov","avi","mkv","flv","wmv","m4v","mpeg","3gp"].includes(a)?"video":["mp3","wav","ogg","flac","aac","m4a","wma","opus"].includes(a)?"audio":["txt","md","js","ts","jsx","tsx","css","scss","less","json","xml","html","htm","yaml","yml","toml","ini","cfg","conf","log","sh","bash","py","rb","go","rs","java","c","cpp","h","hpp","cs","php","sql","graphql","env","gitignore","dockerfile","readme"].includes(a)?"text":"file"}],6933)},35965,e=>{"use strict";let a=(0,e.i(56420).default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,a],35965)},96699,e=>{"use strict";let a=(0,e.i(56420).default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,a],96699)},11241,e=>{"use strict";let a=(0,e.i(56420).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,a],11241)},59665,e=>{"use strict";var a=e.i(18050),s=e.i(71645),t=e.i(67228);let i=(0,e.i(56420).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);e.i(22183);var r=e.i(5142);let l=(0,s.createContext)(null);e.s(["default",0,function({sidebar:e,headerTitle:n,headerRight:c,children:o}){let[d,u]=(0,r.useDisclosure)(!1),[m,h]=(0,s.useState)(!1),p=(0,t.useMediaQuery)("(max-width: 768px)"),f=()=>{p?u.open():h(!1)};return(0,a.jsx)(l.Provider,{value:{closeSidebar:u.close,openSidebar:f,isSidebarVisible:p?d:!m},children:(0,a.jsxs)("div",{className:"app-layout",children:[(0,a.jsx)("div",{className:`sidebar-overlay ${d?"visible":""}`,onClick:()=>u.close()}),(0,a.jsx)("div",{className:`sidebar ${d?"open":""} ${m?"collapsed":""}`,children:e({closeSidebar:u.close,openSidebar:f})}),(0,a.jsxs)("div",{className:"main-content",children:[(0,a.jsxs)("header",{className:"app-header",children:[(0,a.jsxs)("div",{className:"header-left",children:[(0,a.jsx)("button",{onClick:()=>{p?u.toggle():h(!m)},className:"btn btn-icon sidebar-toggle-btn","aria-label":p?"打开菜单":m?"展开侧边栏":"收起侧边栏",children:(0,a.jsx)(i,{size:16})}),n]}),(0,a.jsx)("div",{className:"header-right",children:c})]}),o]})]})})},"useAppShell",0,function(){let e=(0,s.useContext)(l);if(!e)throw Error("useAppShell must be used within AppShell");return e}],59665)},27648,e=>{"use strict";var a=e.i(18050),s=e.i(93957),t=e.i(71192);e.s(["default",0,function({className:e=""}){let i=(0,t.useUserStore)(e=>e.identity),r=(0,t.useUserStore)(e=>e.openLoginModal),l=(0,t.useUserStore)(e=>e.logoutUser);return(0,a.jsxs)("div",{className:`chat-sidebar-footer sidebar-account ${e}`,children:[(0,a.jsxs)("div",{className:"user-info",children:[(0,a.jsx)("img",{className:"user-avatar-img",src:(0,s.generateAvatar)(i?.address),alt:"avatar"}),(0,a.jsx)("span",{className:"user-name",title:i?.address,children:i?.displayName||"未登录"})]}),i?(0,a.jsx)("button",{className:"btn btn-ghost logout-btn",onClick:l,children:"退出"}):(0,a.jsx)("button",{className:"btn btn-primary login-btn",onClick:r,children:"登录"})]})}])},39626,e=>{"use strict";var a=e.i(18050);let s=(0,e.i(56420).default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var t=e.i(59665);e.s(["default",0,function({label:e="打开侧边栏",className:i="",variant:r="primary"}){let{isSidebarVisible:l,openSidebar:n}=(0,t.useAppShell)();return l?null:(0,a.jsxs)("button",{type:"button",className:`btn ${"primary"===r?"btn-primary":""} sidebar-open-hint ${i}`.trim(),onClick:n,children:[(0,a.jsx)(s,{size:16}),e]})}],39626)},26091,e=>{"use strict";let a=(0,e.i(56420).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",0,a],26091)},73474,e=>{"use strict";let a=(0,e.i(56420).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,a],73474)},66595,e=>{"use strict";let a=(0,e.i(56420).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,a],66595)},25981,e=>{"use strict";let a=(0,e.i(56420).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);e.s(["Upload",0,a],25981)},26067,e=>{"use strict";let a=(0,e.i(56420).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",0,a],26067)},67927,e=>{"use strict";let a=(0,e.i(56420).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,a],67927)},27627,e=>{"use strict";var a=e.i(18050),s=e.i(71645),t=e.i(25981),i=e.i(35965),r=e.i(96699),l=e.i(15170),n=e.i(73474),c=e.i(26067),o=e.i(80796),d=e.i(51921),u=e.i(67927),m=e.i(26091),h=e.i(63676),p=e.i(89664),f=e.i(8734),x=e.i(62368),j=e.i(56420);let g=(0,j.default)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]),v=(0,j.default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),y=(0,j.default)("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]);var b=e.i(66595),N=e.i(79490),w=e.i(12796),k=e.i(11241);let C=(0,j.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var M=e.i(59665),S=e.i(39626),$=e.i(27648),z=e.i(11028);e.i(4121);var F=e.i(57667),D=e.i(88361),L=e.i(47910),E=e.i(26913),T=e.i(64621);let I="链接格式不正确,请粘贴完整的 most://<cid>?filename=... 分享链接。",A="暂时没有发现在线种子。请确认分享者或其他下载者仍在线做种,稍后再检测。",U={"Link must be a valid most:// URL":"链接无法解析,请粘贴完整的 most://<cid>?filename=... 分享链接。","Link must use most:// protocol":"链接协议不正确,应以 most:// 开头。","Link path is not supported":"链接里不应包含路径,请使用 most://<cid>?filename=... 格式。","Invalid CID format":"CID 无效,请确认 most:// 后面的内容没有缺失或被截断。","Invalid CID format: CID v1 required":"CID 格式不符合 MostBox 要求,请确认分享链接完整。","CID digest must be 32 bytes":"CID 格式不符合 MostBox 要求,请确认分享链接完整。","filename is required":"链接缺少 filename 参数,请复制完整分享链接后再检测。"};function R(e=""){let a=String(e||"").trim();if(!a)return"请先粘贴 most:// 分享链接。";let s=function(e){let a;if(!e||"string"!=typeof e)return{cid:"",error:"Link must be a non-empty string"};try{a=new URL(e)}catch{return{cid:"",error:"Link must be a valid most:// URL"}}if("most:"!==a.protocol)return{cid:"",error:"Link must use most:// protocol"};if(a.pathname&&"/"!==a.pathname)return{cid:"",error:"Link path is not supported"};let s=a.hostname,t=a.searchParams.get("filename"),i=[...a.searchParams.keys()].find(e=>"filename"!==e),r=function(e){let a;if(!e||"string"!=typeof e)return{valid:!1,error:"CID must be a non-empty string"};try{a=T.CID.parse(e)}catch{return{valid:!1,error:"Invalid CID format"}}return 1!==a.version?{valid:!1,error:"Invalid CID format: CID v1 required"}:32!==a.multihash.digest.length?{valid:!1,error:"CID digest must be 32 bytes"}:{valid:!0}}(s);return r.valid?t?i?{cid:"",error:`Unsupported query parameter: ${i}`}:{cid:s,fileName:t}:{cid:"",error:"filename is required"}:{cid:"",error:r.error}}(a);if(!s.error)return s.fileName?.trim()?null:U["filename is required"];if(s.error.startsWith("Unsupported query parameter: ")){let e=s.error.slice(29);return`链接包含暂不支持的参数 ${e},请只保留 filename。`}return U[s.error]||I}var O=e.i(3593),P=e.i(71192);e.i(22183);var q=e.i(5142),B=e.i(81317),V=e.i(6933);async function H(e){return function(e={},a=""){if("TimeoutError"===a)return"检测等待超时,暂时没有等到在线种子响应。请确认分享者或其他下载者仍在线做种,稍后再检测。";if(!e.status)return"无法连接本地节点,请确认 MostBox 后端正在运行后再检测。";if(404===e.status)return"当前后端还没有检测接口,请重启 MostBox 后端后再试。";switch(e.code){case"VALIDATION_ERROR":return I;case"CONFLICT":return e.error?`${e.error},请先处理同名文件后再下载。`:"下载目录已有同名文件,请先重命名或移走后再检测。";case"PEER_NOT_FOUND":return A;case"PERMISSION_ERROR":return e.error?`下载目录不可写:${e.error}`:"下载目录不可写,请检查目录权限后再检测。";case"ENGINE_NOT_INITIALIZED":return"本地节点还没有启动完成,请稍等几秒后重新检测。"}return 503===e.status?A:e.status>=500?"本地节点检测时出错,请稍后重试或查看节点日志。":e.error?`检测未通过:${e.error}`:"检测未通过,请确认链接完整、发布者在线且本机网络正常。"}(await (0,E.getApiErrorPayload)(e),e&&"object"==typeof e&&"name"in e?String(e.name):"")}let _={listPublishedFiles:()=>E.api.get("/api/files").json(),listTrashFiles:()=>E.api.get("/api/trash").json(),deletePublishedFile:e=>E.api.delete(`/api/files/${e}`).json(),restoreTrashFile:e=>E.api.post(`/api/trash/${e}/restore`).json(),permanentDeleteTrashFile:e=>E.api.delete(`/api/trash/${e}`).json(),emptyTrash:()=>E.api.delete("/api/trash").json(),toggleStar:e=>E.api.post(`/api/files/${e}/star`).json(),getConfig:()=>E.api.get("/api/config").json(),getDataPath:()=>E.api.get("/api/config/data-path").json(),getNetworkAddresses:()=>E.api.get("/api/network").json(),saveConfig:e=>E.api.post("/api/config",{json:e}).json(),async publishFile(e,a){let s=new FormData;s.append("file",e,a||e.name);let t=await E.api.post("/api/publish",{body:s});if(!t.ok)throw Error((await t.json().catch(()=>({error:t.statusText}))).error||"Request failed");return t.json()},checkDownload:e=>E.api.post("/api/download/check",{json:{link:e},timeout:15e3}).json(),downloadFile:e=>E.api.post("/api/download",{json:{link:e}}).json(),cancelDownload:e=>E.api.post("/api/download/cancel",{json:{taskId:e}}).json(),getFileDownloadUrl:e=>(0,E.getApiUrl)(`/api/files/${e}/download`),moveFile:(e,a)=>E.api.post("/api/move",{json:{cid:e,newFileName:a}}).json(),renameFolder:(e,a)=>E.api.post("/api/folder/rename",{json:{oldPath:e,newPath:a}}).json()};function W(e){return!e||e<=0?"0 B":e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<0x40000000?`${(e/1048576).toFixed(1)} MB`:`${(e/0x40000000).toFixed(2)} GB`}function X(e){let a=e.lastIndexOf("/");return -1===a?{folder:"",name:e}:{folder:e.substring(0,a),name:e.substring(a+1)}}function G(e){return e?[{path:"",name:"全部内容"},...e.split("/").filter(Boolean).map((e,a,s)=>({path:s.slice(0,a+1).join("/"),name:e}))]:[]}function K({file:e,isSelected:s,onSelect:t,onPreview:i}){let r=(0,V.getFileSubtype)(e.fileName),n=(0,a.jsx)(m.FileText,{size:24,color:"#fff"});return"image"===r?n=(0,a.jsx)(l.Image,{size:24,color:"#fff"}):"video"===r?n=(0,a.jsx)(o.Film,{size:24,color:"#fff"}):"audio"===r&&(n=(0,a.jsx)(d.Music,{size:24,color:"#fff"})),(0,a.jsxs)("div",{"data-id":e.cid,onClick:()=>t(e.cid),onDoubleClick:()=>i(e),className:`card ${s?"selected":""}`,children:[(0,a.jsx)("div",{className:`card-icon ${e.starred?"starred":"file"}`,children:n}),(0,a.jsx)("p",{className:"card-name",children:X(e.fileName).name})]})}function Z({folder:e,onClick:s}){return(0,a.jsxs)("div",{onClick:s,className:"card",children:[(0,a.jsx)("div",{className:"card-icon folder",children:(0,a.jsx)(c.Folder,{size:28,color:"#fff"})}),(0,a.jsx)("p",{className:"card-name",children:e.name})]})}function J({items:e,allFolders:t,currentPath:i,onMove:r,onClose:l}){let[n,o]=(0,s.useState)(""),[d,u]=(0,s.useState)(i),m=G(n);return(0,a.jsx)(F.ModalOverlay,{onClose:l,children:(0,a.jsxs)("div",{className:"move-modal",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"modal-header",children:[(0,a.jsx)("h3",{children:"移动到"}),(0,a.jsx)("button",{onClick:l,className:"btn btn-icon",children:(0,a.jsx)(h.X,{size:18})})]}),(0,a.jsxs)("p",{className:"move-modal-desc",children:["已选 ",e.length," 个项目"]}),(0,a.jsx)("div",{className:"move-new-folder",children:(0,a.jsx)("input",{type:"text",className:"input",value:d,onChange:e=>u(e.target.value),placeholder:"输入路径创建嵌套文件夹"})}),(0,a.jsx)("p",{className:"move-modal-hint",children:"如 图片/壁纸"}),(0,a.jsx)("div",{className:"move-breadcrumb",children:m.map((e,t)=>(0,a.jsxs)(s.default.Fragment,{children:[t>0&&(0,a.jsx)("span",{className:"breadcrumb-separator",children:"/"}),(0,a.jsx)("button",{onClick:()=>{o(e.path),u(e.path)},className:`move-breadcrumb-btn ${n===e.path&&!d?"active":""}`,children:e.name},e.path)]},e.path))}),(0,a.jsxs)("div",{className:"move-folder-list",children:[0===t.filter(e=>{if(""===n)return!e.path.includes("/");let a=n+"/";return!!e.path.startsWith(a)&&!e.path.substring(a.length).includes("/")}).length&&(0,a.jsx)("p",{className:"move-modal-empty",children:"该目录下没有子文件夹"}),t.filter(e=>{if(""===n)return!e.path.includes("/");let a=n+"/";return!!e.path.startsWith(a)&&!e.path.substring(a.length).includes("/")}).map(e=>(0,a.jsxs)("button",{onClick:()=>o(e.path),className:`move-folder-item ${n===e.path&&!d?"selected":""}`,children:[(0,a.jsx)(c.Folder,{size:16}),(0,a.jsx)("span",{children:e.name})]},e.path))]}),(0,a.jsxs)("div",{className:"modal-actions",children:[(0,a.jsx)("button",{onClick:l,className:"btn btn-secondary",children:"取消"}),(0,a.jsx)("button",{onClick:()=>{r(n||d.trim())},className:"btn btn-primary",children:"移动"})]})]})})}e.s(["default",0,function(){let e,l,c,o=(0,O.useAppStore)(e=>e.isDarkMode),d=(0,O.useAppStore)(e=>e.setIsDarkMode),j=(0,O.useAppStore)(e=>e.addToast),T=(0,O.useAppStore)(e=>e.hasBackend),I=(0,O.useAppStore)(e=>e.openConnectModal),A=(0,P.useUserStore)(e=>e.identity),U=(0,P.useUserStore)(e=>e.openLoginModal),[Q,Y]=(0,s.useState)([]),[ee,ea]=(0,s.useState)([]),[es,et]=(0,s.useState)(null),[ei,er]=(0,s.useState)("all"),[el,en]=(0,s.useState)(!1),[ec,eo]=(0,s.useState)([]),[ed,eu]=(0,s.useState)(null),[em,eh]=(0,s.useState)(null),[ep,ef]=(0,q.useDisclosure)(!1),[ex,ej]=(0,s.useState)(""),[eg,ev]=(0,s.useState)(null),[ey,eb]=(0,s.useState)(!1),[eN,ew]=(0,s.useState)([]),[ek,eC]=(0,q.useDisclosure)(!1),[eM,eS]=(0,s.useState)(""),{copy:e$,copied:ez}=(0,B.useClipboard)({timeout:2e3}),[eF,eD]=(0,q.useDisclosure)(!1),[eL,eE]=(0,s.useState)(null),[eT,eI]=(0,s.useState)(null),[eA,eU]=(0,s.useState)(!1),eR=!0===T,eO=es||"",eP=(e=new Set,Q.forEach(a=>{let{folder:s}=X(a.fileName),t=s.split("/").filter(Boolean),i="";for(let a of t)i+=(i?"/":"")+a,e.add(i)}),[...e].sort()),{folders:eq,files:eB}={folders:(l=eO?eO+"/":"",eP.filter(e=>{let a=e.toLowerCase().startsWith(l.toLowerCase()),s=e.substring(l.length);return a&&!s.includes("/")}).map(e=>({name:e.substring(l.length),path:e}))),files:Q.filter(e=>X(e.fileName).folder===eO)};function eV(){return!!eR||(I(),!1)}function eH(){return!!A||(U(),!1)}let e_=eM?Q.filter(e=>X(e.fileName).name.toLowerCase().includes(eM.toLowerCase())):eB,eW=async()=>{if(!eR||!A)return void Y([]);try{let e=await _.listPublishedFiles();Y(e||[])}catch{Y([])}},eX=async()=>{if(!eR||!A)return void ea([]);try{let e=await _.listTrashFiles();ea(e||[])}catch{ea([])}},eG=e=>{eo(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},eK=async e=>{if(eH()&&eV())try{await _.restoreTrashFile(e),j("已恢复","success"),eW(),eX()}catch(e){j(await (0,E.getApiErrorMessage)(e,"恢复失败"),"error")}},eZ=async()=>{!eH()||eV()&&eE({title:"清空回收站",message:"确定要清空回收站吗?此操作不可恢复!",confirmText:"清空",danger:!0,onConfirm:async()=>{eE(null);try{await _.emptyTrash(),j("回收站已清空","success"),eX()}catch(e){j(await (0,E.getApiErrorMessage)(e,"清空失败"),"error")}}})},eJ=async e=>{if(eH()&&eV())try{let a=await _.toggleStar(e);Y(s=>s.map(s=>s.cid===e?{...s,starred:a.starred}:s)),j(a.starred?"已收藏":"已取消收藏","success")}catch(e){j(await (0,E.getApiErrorMessage)(e,"操作失败"),"error")}},eQ=async()=>{if(!eH()||!eV())return;let e="trash"===ei;eE({title:e?"永久删除":"批量删除",message:e?`确定要永久删除选中的 ${ec.length} 个项目吗?此操作不可恢复!`:`确定要删除选中的 ${ec.length} 个项目吗?`,confirmText:e?"永久删除":"删除",danger:!0,onConfirm:async()=>{eE(null);try{for(let a of ec)e?await _.permanentDeleteTrashFile(a):a.startsWith("__")||await _.deletePublishedFile(a);eo([]),j(e?"已永久删除":"已删除","success"),eW(),eX()}catch(e){j(await (0,E.getApiErrorMessage)(e,"删除失败"),"error")}}})},eY=async e=>{if(eH()&&eV())try{for(let a of ec){let s=Q.find(e=>e.cid===a);if(!s)continue;let{name:t}=X(s.fileName),i=e?`${e}/${t}`:t;s.fileName!==i&&await _.moveFile(a,i)}eo([]),eD.close(),j("已移动","success"),eW()}catch(e){j(await (0,E.getApiErrorMessage)(e,"移动失败"),"error")}},e0=e=>{let a=!!e.path,s=a?e.name:X(e.fileName).name;eI({title:a?"重命名文件夹":"重命名文件",placeholder:"请输入新名称",defaultValue:s,confirmText:"重命名",onConfirm:async t=>{if(t!==s&&eH()&&eV()){eU(!0);try{if(a){let a=e.path.lastIndexOf("/"),s=-1!==a?e.path.substring(0,a):"",i=s?`${s}/${t}`:t;await _.renameFolder(e.path,i),j("已重命名","success"),eW(),aa(i)}else{let{folder:a}=X(e.fileName),s=a?`${a}/${t}`:t;await _.moveFile(e.cid,s),j("已重命名","success"),eW()}eI(null)}catch(e){j(await (0,E.getApiErrorMessage)(e,"重命名失败"),"error")}finally{eU(!1)}}}})},e1=async e=>{if(!A){U(),j("请先登录后发布文件","warning");return}if(!eV())return;let a=eO?eO+"/":"",s=[];for(let t of Array.from(e)){let e=a+t.name;if(Q.some(a=>a.fileName===e)){j(`${t.name} 已存在`,"warning");continue}let i=`upload_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,r={id:i,fileName:t.name,progress:0,type:"upload",status:"uploading"};s.push(r),ew(e=>[...e,r]),s.length>0&&eC.open();try{(await _.publishFile(t,e)).alreadyExists?(ew(e=>e.map(e=>e.id===i?{...e,status:"completed"}:e)),j(`${t.name} 已存在`,"warning")):(ew(e=>e.map(e=>e.id===i?{...e,progress:100,status:"completed"}:e)),j(`${t.name} 已添加到本地`,"success"))}catch(e){ew(e=>e.map(e=>e.id===i?{...e,status:"error"}:e)),j(await (0,E.getApiErrorMessage)(e,`发布失败: ${t.name}`),"error")}}setTimeout(()=>{ew(e=>e.filter(e=>"completed"!==e.status&&"error"!==e.status&&"cancelled"!==e.status))},3e3),eW()},[e2,e6]=(0,s.useState)(!1),e4=ex.trim(),e9=eg?.status==="success"&&eg.link===e4,e5=()=>{ef.close(),ev(null)},e3=async()=>{let e=R(e4);if(e){ev({status:"error",link:e4,message:e}),j(e,"warning");return}if(!ey&&!e2&&eH()&&eV()){eb(!0),ev(null);try{let e=await _.checkDownload(e4),a=e.alreadyExists?`${e.fileName} 已在本机`:`${e.fileName} 可下载`;ev({status:"success",link:e4,message:a}),j(e.alreadyExists?`${e.fileName} 已存在`:"检测通过",e.alreadyExists?"warning":"success")}catch(a){let e=await H(a);ev({status:"error",link:e4,message:e}),j(e,"error")}finally{eb(!1)}}},e8=async()=>{if(!A){U(),j("请先登录后下载文件","warning");return}if(!eV())return;let e=R(e4);if(e)return void j(e,"warning");if(!e9)return void j("请先检测链接可用性","warning");if(!e2){e6(!0);try{let e=await _.downloadFile(e4);if(ej(""),ev(null),e5(),e.alreadyExists)j(`${e.fileName} 已存在`,"warning");else{let a={id:e.taskId,fileName:"下载文件",progress:0,type:"download",status:"downloading"};ew(e=>[...e,a]),eC.open(),j("下载已开始","info")}}catch(e){j(await (0,E.getApiErrorMessage)(e,"下载失败"),"error")}finally{e6(!1)}}},e7=async e=>{if(eH()&&eV()&&"download"===e.type&&"downloading"===e.status){ew(a=>a.map(a=>a.id===e.id?{...a,status:"cancelling"}:a));try{await _.cancelDownload(e.id)}catch(a){ew(a=>a.map(a=>a.id===e.id?{...a,status:"downloading"}:a)),j(await (0,E.getApiErrorMessage)(a,"取消失败"),"error")}}},ae=async e=>{if(eH()&&eV())try{let a=await fetch(_.getFileDownloadUrl(e.cid),{headers:await (0,E.getApiRequestHeaders)("GET",`/api/files/${e.cid}/download`)});if(!a.ok)throw Error("获取文件失败");let s=await a.blob(),t=window.showSaveFilePicker;if(t){let a=await t({suggestedName:e.fileName}),i=await a.createWritable();await i.write(s),await i.close(),j("文件已保存","success")}else{let a=URL.createObjectURL(s),t=document.createElement("a");t.href=a,t.download=e.fileName,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(a),j("文件已下载","success")}}catch(e){"AbortError"!==e.name&&j("保存失败: "+e.message,"error")}},aa=e=>{et(e||null),eo([])};(0,s.useEffect)(()=>{if(!0!==T)return;let e=null,a=!1;return(async()=>{if(e=new WebSocket(await (0,E.getAuthenticatedWebSocketUrl)("/ws")),a)return e.close();e.onmessage=e=>{try{let{event:a,data:s}=JSON.parse(e.data);if("publish:success"===a||"download:success"===a){eW();let e=s.taskId||s.fileName;ew(a=>a.map(a=>a.id===e||a.fileName===s.fileName?{...a,progress:100,status:"completed"}:a)),"download:success"===a&&(s.alreadyExists?j(`${s.fileName} 已存在`,"warning"):j(`${s.fileName} 下载完成`,"success"),setTimeout(()=>{ew(a=>a.filter(a=>a.id!==e||"completed"!==a.status))},3e3))}"publish:progress"===a&&ew(e=>e.map(e=>{if(s.file&&e.fileName===s.file&&"upload"===e.type){let a=50;return"calculating-cid"===s.stage?a=25:"uploading"===s.stage?a=75:"complete"===s.stage&&(a=100),{...e,progress:a}}return e})),"download:progress"===a&&ew(e=>e.map(e=>e.id===s.taskId?{...e,progress:s.percent||0,loaded:s.loaded,total:s.total}:e)),"download:error"===a&&(ew(e=>e.map(e=>e.id===s.taskId?{...e,status:"error"}:e)),j(`下载失败: ${s.error}`,"error")),"download:status"===a&&ew(e=>e.map(e=>e.id===s.taskId?{...e,fileName:s.file||e.fileName}:e)),"download:cancelled"===a&&(ew(e=>e.map(e=>e.id===s.taskId?{...e,status:"cancelled"}:e)),j("下载已取消","warning"))}catch(e){console.warn("[App WS] Failed to parse message:",e.message)}}})(),()=>{a=!0,e?.close()}},[T,A?.address]),(0,s.useEffect)(()=>{if(!0===T&&A){eW(),eX();return}!1===T&&(Y([]),ea([]))},[T,A?.address]),(0,s.useEffect)(()=>{A||(eo([]),eu(null),eh(null),ej(""),ev(null),ew([]),eS(""),et(null),er("all"))},[A?.address]);let as="all"===ei?e_:"starred"===ei?Q.filter(e=>e.starred&&X(e.fileName).name.toLowerCase().includes(eM.toLowerCase())):ee.filter(e=>X(e.fileName).name.toLowerCase().includes(eM.toLowerCase())),at="starred"===ei?[]:eq.filter(e=>e.name.toLowerCase().includes(eM.toLowerCase())),ai=G(eO);return(0,a.jsxs)(M.default,{sidebar:({closeSidebar:e})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"sidebar-header sidebar-header-link",onClick:()=>window.location.href="/",children:[(0,a.jsx)(k.ArrowLeft,{size:18}),(0,a.jsx)("h1",{children:"MOST PEOPLE"})]}),(0,a.jsx)("nav",{className:"sidebar-nav",children:[{id:"all",icon:(0,a.jsx)(y,{size:18}),label:"本地"},{id:"starred",icon:(0,a.jsx)(v,{size:18}),label:"收藏"},{id:"trash",icon:(0,a.jsx)(n.Trash2,{size:18}),label:"回收站"}].map(s=>(0,a.jsxs)("button",{onClick:()=>{er(s.id),et(null),eo([]),eS(""),e()},className:`sidebar-nav-btn ${ei===s.id?"active":""}`,children:[s.icon,(0,a.jsx)("span",{children:s.label})]},s.id))}),(0,a.jsx)($.default,{})]}),headerTitle:(0,a.jsx)("h2",{className:"header-title",children:"all"===ei?"本地":"starred"===ei?"收藏":"回收站"}),headerRight:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"search-box",children:[(0,a.jsx)(b.Search,{size:14}),(0,a.jsx)("input",{type:"text",value:eM,onChange:e=>eS(e.target.value),placeholder:"搜索..."}),eM&&(0,a.jsx)("button",{onClick:()=>eS(""),children:(0,a.jsx)(h.X,{size:12})})]}),"trash"===ei&&ee.length>0&&(0,a.jsx)("button",{onClick:eZ,className:"btn btn-sm btn-empty-trash",children:"清空回收站"}),(0,a.jsx)("button",{onClick:()=>eC.open(),className:"btn btn-icon",children:(0,a.jsx)(g,{size:16})}),(0,a.jsx)("button",{onClick:()=>d(!o),className:"btn btn-icon",children:o?(0,a.jsx)(i.Sun,{size:16}):(0,a.jsx)(r.Moon,{size:16})})]}),children:["all"===ei&&(0,a.jsxs)("div",{className:"action-grid",children:[(0,a.jsxs)("div",{className:`action-card upload ${el?"drag-over":""}`,onDragOver:e=>{e.preventDefault(),en(!0)},onDragLeave:()=>en(!1),onDrop:e=>{e.preventDefault(),en(!1),eH()&&eV()&&e1(e.dataTransfer.files)},children:[(0,a.jsx)("input",{type:"file",multiple:!0,onClick:e=>{eH()&&eV()||e.preventDefault()},onChange:e=>e1(e.target.files),className:"action-card-input"}),(0,a.jsx)(t.Upload,{size:20,className:"action-grid-icon"}),(0,a.jsx)("p",{children:"发布文件"})]}),(0,a.jsxs)("div",{className:"action-card action-card-download",onClick:()=>{eH()&&eV()&&ef.open()},children:[(0,a.jsx)(x.Download,{size:20,className:"action-grid-icon"}),(0,a.jsx)("p",{children:"下载文件"})]})]}),"all"===ei&&(0,a.jsx)("div",{className:"breadcrumb",children:eO?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>aa(""),children:"全部内容"}),ai.slice(1).map((e,t)=>(0,a.jsxs)(s.default.Fragment,{children:[(0,a.jsx)(u.ChevronRight,{size:12}),(0,a.jsx)("button",{onClick:()=>aa(e.path),className:t===ai.length-2?"current":"",children:e.name}),t===ai.length-2&&(0,a.jsx)("button",{onClick:()=>e0(e),className:"breadcrumb-edit-btn",children:(0,a.jsx)(N.Edit2,{size:12})})]},e.path))]}):null}),(0,a.jsxs)("div",{className:"content-grid",children:["trash"===ei&&(0===as.length?(0,a.jsxs)("div",{className:"empty-state app-empty-state",children:[(0,a.jsx)("p",{children:eM?"未找到相关文件":"回收站是空的"}),(0,a.jsx)(S.default,{label:"打开文件导航"})]}):(0,a.jsx)("div",{className:"file-grid",children:as.map(e=>{var s;return(0,a.jsxs)("div",{onClick:()=>eo(a=>a.includes(e.cid)?a.filter(a=>a!==e.cid):[...a,e.cid]),onDoubleClick:()=>eK(e.cid),className:`card ${ec.includes(e.cid)?"selected":""}`,children:[(0,a.jsx)("div",{className:"card-icon trash",children:(0,a.jsx)(m.FileText,{size:24,color:"#fff"})}),(0,a.jsx)("p",{className:"card-name",children:X(e.fileName).name}),(0,a.jsxs)("p",{className:"card-date",children:["删除于 ",(s=e.deletedAt)?new Date(s).toLocaleDateString("zh-CN"):""]})]},e.cid)})})),"trash"!==ei&&(0===as.length&&0===at.length?(0,a.jsxs)("div",{className:"empty-state app-empty-state",children:[(0,a.jsx)("p",{children:eM?"未找到相关文件":"starred"===ei?"暂无的收藏":"暂无本地文件"}),(0,a.jsx)(S.default,{label:"打开文件导航"})]}):(0,a.jsxs)("div",{className:"file-grid",children:[at.map(e=>(0,a.jsx)(Z,{folder:e,onClick:()=>aa(e.path)},e.path)),as.map(e=>(0,a.jsx)(K,{file:e,isSelected:ec.includes(e.cid),onSelect:eG,onPreview:e=>eu({...e,subtype:(0,V.getFileSubtype)(e.fileName)})},e.cid))]}))]}),eL&&(0,a.jsx)(D.ConfirmModal,{title:eL.title,message:eL.message,confirmText:eL.confirmText,danger:eL.danger,closeOnOverlayClick:eL.danger,onConfirm:eL.onConfirm,onClose:()=>eE(null)}),eT&&(0,a.jsx)(L.InputModal,{title:eT.title,placeholder:eT.placeholder,defaultValue:eT.defaultValue,confirmText:eT.confirmText,isLoading:eA,onConfirm:eT.onConfirm,onClose:()=>eI(null)}),eF&&(0,a.jsx)(J,{items:ec.map(e=>Q.find(a=>a.cid===e)).filter(Boolean),allFolders:eP.map(e=>({path:e,name:e.split("/").pop()})),currentPath:eO,onMove:eY,onClose:()=>eD.close()}),em&&(0,a.jsx)(F.ModalOverlay,{onClose:()=>eh(null),children:(0,a.jsxs)("div",{className:"share-modal",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"modal-header",children:[(0,a.jsx)("h3",{children:"分享链接"}),(0,a.jsx)("button",{onClick:()=>eh(null),className:"btn btn-icon",children:(0,a.jsx)(h.X,{size:18})})]}),(0,a.jsxs)("div",{className:"share-link-box",children:[(0,a.jsx)("div",{className:"share-link-text",children:`most://${em.cid}?filename=${encodeURIComponent(em.fileName)}`}),(0,a.jsx)("button",{onClick:()=>{e$(`most://${em.cid}?filename=${encodeURIComponent(em.fileName)}`)},className:`btn btn-circle btn-primary ${ez?"copied":""}`,children:ez?(0,a.jsx)(p.Check,{size:18}):(0,a.jsx)(f.Copy,{size:18})})]}),(0,a.jsx)("div",{className:"share-storage-note",children:(0,a.jsx)("span",{children:"本机在线时可下载;下载者完成后会默认继续做种。"})})]})}),ep&&(0,a.jsx)(F.ModalOverlay,{onClose:e5,children:(0,a.jsxs)("div",{className:"download-modal",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"modal-header",children:[(0,a.jsx)("h3",{children:"下载文件"}),(0,a.jsx)("button",{onClick:e5,className:"btn btn-icon",children:(0,a.jsx)(h.X,{size:18})})]}),(0,a.jsxs)("div",{className:"download-link-row",children:[(0,a.jsx)("input",{type:"text",className:"input",value:ex,onChange:e=>{ej(e.target.value),ev(null)},placeholder:"输入 most:// 链接"}),(0,a.jsxs)("button",{type:"button",onClick:e3,disabled:!e4||ey||e2,className:"btn btn-secondary download-check-btn",children:[ey?(0,a.jsx)(w.Loader,{size:14,className:"spin"}):e9?(0,a.jsx)(p.Check,{size:14}):(0,a.jsx)(b.Search,{size:14}),ey?"检测中...":e9?"已通过":"检测"]})]}),eg&&(0,a.jsxs)("div",{className:`download-check-status ${eg.status}`,children:["success"===eg.status?(0,a.jsx)(p.Check,{size:14}):(0,a.jsx)(C,{size:14}),(0,a.jsx)("span",{children:eg.message})]}),(0,a.jsxs)("button",{onClick:e8,disabled:!e9||e2||ey,className:"btn btn-info btn-full",children:[e2?(0,a.jsx)(w.Loader,{size:14,className:"spin"}):(0,a.jsx)(x.Download,{size:14}),e2?"下载中...":"开始下载"]})]})}),ed&&(0,a.jsx)(z.default,{item:ed,isBackendReady:eR,getFileDownloadUrl:_.getFileDownloadUrl,onClose:()=>eu(null)}),ec.length>0&&(0,a.jsxs)("div",{className:"batch-bar",children:[(0,a.jsxs)("span",{className:"batch-info",children:["已选 ",ec.length," 项"]}),(0,a.jsx)("button",{onClick:()=>eo([]),className:"batch-dismiss",children:(0,a.jsx)(h.X,{size:16})}),(0,a.jsx)("div",{className:"batch-divider"}),"trash"===ei?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:async()=>{!eH()||eV()&&(await Promise.all(ec.map(e=>_.restoreTrashFile(e))),eo([]),j("已恢复","success"),eW(),eX())},className:"btn btn-sm",children:"恢复"}),(0,a.jsx)("button",{onClick:eQ,className:"btn btn-sm btn-danger",children:"永久删除"})]}):(0,a.jsxs)(a.Fragment,{children:[1===ec.length&&(c=Q.find(e=>e.cid===ec[0]))&&"file"!==(0,V.getFileSubtype)(c.fileName)&&(0,a.jsx)("button",{onClick:()=>{let e=Q.find(e=>e.cid===ec[0]);if(e){let a=(0,V.getFileSubtype)(e.fileName);eu({...e,subtype:a})}},className:"btn btn-sm",children:"预览"}),(0,a.jsx)("button",{onClick:()=>{let e=ec.some(e=>{let a=Q.find(a=>a.cid===e);return a&&!a.starred});ec.forEach(a=>{let s=Q.find(e=>e.cid===a);s&&(e?!s.starred:s.starred)&&eJ(a)})},className:"btn btn-sm btn-star",children:"收藏"}),1===ec.length&&(0,a.jsx)("button",{onClick:()=>{let e=Q.find(e=>e.cid===ec[0]);e&&e0(e)},className:"btn btn-sm",children:"重命名"}),(0,a.jsx)("button",{onClick:()=>eD.open(),className:"btn btn-sm btn-move",children:"移动"}),(0,a.jsx)("button",{onClick:eQ,className:"btn btn-sm btn-danger",children:"删除"}),1===ec.length&&(0,a.jsx)("button",{onClick:()=>eh(Q.find(e=>e.cid===ec[0])),className:"btn btn-sm",children:"分享"}),1===ec.length&&(0,a.jsx)("button",{onClick:()=>{let e=Q.find(e=>e.cid===ec[0]);e&&ae(e)},className:"btn btn-sm",children:"另存为"})]})]}),ek&&(0,a.jsx)(F.ModalOverlay,{onClose:()=>eC.close(),closeOnOverlayClick:!0,children:(0,a.jsxs)("div",{className:"transfer-modal",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"modal-header",children:[(0,a.jsx)("h3",{children:"传输"}),(0,a.jsx)("button",{onClick:()=>eC.close(),className:"btn btn-icon",children:(0,a.jsx)(h.X,{size:18})})]}),0===eN.length?(0,a.jsx)("div",{className:"empty-transfer",children:"暂无传输"}):eN.map(e=>(0,a.jsxs)("div",{className:"transfer-item",children:[(0,a.jsxs)("div",{className:"transfer-item-header",children:["upload"===e.type?(0,a.jsx)(t.Upload,{size:14}):(0,a.jsx)(x.Download,{size:14}),(0,a.jsx)("span",{className:"transfer-item-name",children:e.fileName}),"downloading"===e.status&&"download"===e.type&&(0,a.jsx)("button",{onClick:()=>e7(e),className:"transfer-item-cancel",children:(0,a.jsx)(h.X,{size:14})})]}),(0,a.jsxs)("div",{className:"transfer-progress-row",children:[(0,a.jsx)("progress",{className:`transfer-progress-meter ${"download"===e.type?"download":""} ${"error"===e.status?"error":""} ${"cancelled"===e.status?"cancelled":""}`,value:Math.max(0,Math.min(100,e.progress)),max:100,"aria-label":`${e.fileName} 传输进度`}),(0,a.jsx)("span",{className:"transfer-progress-text",children:"completed"===e.status?"完成":"error"===e.status?"失败":"cancelled"===e.status?"已取消":"cancelling"===e.status?"取消中":e.loaded&&e.total?`${W(e.loaded)}/${W(e.total)}`:`${e.progress}%`})]})]},e.id))]})})]})}],27627)}]);