@danneillouven/remote-workspace 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1469) hide show
  1. package/.env.example +32 -0
  2. package/README.md +196 -2
  3. package/bin/remote-workspace.mjs +29 -0
  4. package/dist/assets/add-project-screen-IOzaLXTc.js +1 -0
  5. package/dist/assets/apl-gfMMiTNf.js +1 -0
  6. package/dist/assets/arrow-left-B5CLiIbq.js +1 -0
  7. package/dist/assets/asciiarmor-C_eisQCp.js +1 -0
  8. package/dist/assets/asn1-DCl_8MCW.js +1 -0
  9. package/dist/assets/asterisk-BEn0Cwpx.js +1 -0
  10. package/dist/assets/brainfuck-D5EjA2JK.js +1 -0
  11. package/dist/assets/client-BaUFYZ28.js +63 -0
  12. package/dist/assets/clike-xvONpD0Z.js +1 -0
  13. package/dist/assets/clojure-BflJGmDX.js +1 -0
  14. package/dist/assets/cmake-84nbDH0I.js +1 -0
  15. package/dist/assets/cobol-DHLQUbN7.js +1 -0
  16. package/dist/assets/codemirror-DRp8cs-R.js +14 -0
  17. package/dist/assets/coffeescript-De_zI4J0.js +1 -0
  18. package/dist/assets/commonlisp-DgAKBe0r.js +1 -0
  19. package/dist/assets/copy-button-DlOU9KRy.js +1 -0
  20. package/dist/assets/corner-down-left-B7l-mMrb.js +1 -0
  21. package/dist/assets/crystal-Bsdphhtm.js +1 -0
  22. package/dist/assets/css-CnaYoQib.js +1 -0
  23. package/dist/assets/cypher-p9eYesGn.js +1 -0
  24. package/dist/assets/d-DWkQyNnU.js +1 -0
  25. package/dist/assets/diff-ChtP43wD.js +1 -0
  26. package/dist/assets/dist-3tAAASIu.js +1 -0
  27. package/dist/assets/dist-AXYnLL_F.js +9 -0
  28. package/dist/assets/dist-BGyMVrYk.js +11 -0
  29. package/dist/assets/dist-BN1wE2xy.js +1 -0
  30. package/dist/assets/dist-CDAjPDtI.js +1 -0
  31. package/dist/assets/dist-CJBq646Z.js +1 -0
  32. package/dist/assets/dist-CL_zGtiO.js +1 -0
  33. package/dist/assets/dist-CM8yt5f_.js +1 -0
  34. package/dist/assets/dist-CYNLiE2B.js +1 -0
  35. package/dist/assets/dist-CyOGylYO.js +1 -0
  36. package/dist/assets/dist-D-bo6lHS.js +1 -0
  37. package/dist/assets/dist-D7xXmJTH.js +1 -0
  38. package/dist/assets/dist-DGmHtnYo.js +6 -0
  39. package/dist/assets/dist-DOcORAD_.js +1 -0
  40. package/dist/assets/dist-DdeR5kYT.js +2 -0
  41. package/dist/assets/dist-DyYo49jM.js +1 -0
  42. package/dist/assets/dist-FOmLcFeD.js +1 -0
  43. package/dist/assets/dist-FUrprsRT.js +1 -0
  44. package/dist/assets/dist-JuM3aKGD.js +1 -0
  45. package/dist/assets/dist-S0tn--lj.js +1 -0
  46. package/dist/assets/dist-aVl135DR.js +23 -0
  47. package/dist/assets/dist-y7gdVNBt.js +1 -0
  48. package/dist/assets/dockerfile-DJkHQgkl.js +1 -0
  49. package/dist/assets/dtd-DTF72YNO.js +1 -0
  50. package/dist/assets/dylan-S7ucR4pR.js +1 -0
  51. package/dist/assets/ebnf-D4c0_ac3.js +1 -0
  52. package/dist/assets/ecl-BVIeWmwY.js +1 -0
  53. package/dist/assets/eiffel-BEjRio4Q.js +1 -0
  54. package/dist/assets/elm-Cshzl8qu.js +1 -0
  55. package/dist/assets/empty-state-CkET1cGs.js +1 -0
  56. package/dist/assets/erlang-BV0c4Hdn.js +1 -0
  57. package/dist/assets/eye-2RNiMHO-.js +1 -0
  58. package/dist/assets/factor-LKH5gN8L.js +1 -0
  59. package/dist/assets/fcl-ClOhbFR7.js +1 -0
  60. package/dist/assets/field-CYhxBv9B.js +1 -0
  61. package/dist/assets/forth-D6RzAl64.js +1 -0
  62. package/dist/assets/fortran-Bt6PBEDR.js +1 -0
  63. package/dist/assets/gas-BHEdbvp9.js +1 -0
  64. package/dist/assets/gherkin-oBAE_ms0.js +1 -0
  65. package/dist/assets/groovy-CUpZ7dEl.js +1 -0
  66. package/dist/assets/haskell-BRsoo5mP.js +1 -0
  67. package/dist/assets/haxe-DjVOVvNP.js +1 -0
  68. package/dist/assets/host-wizard-screen-Bs7pSgJk.js +1 -0
  69. package/dist/assets/http-CLVgA2GD.js +1 -0
  70. package/dist/assets/idl-BUZw3wgd.js +1 -0
  71. package/dist/assets/index-B5KQ4hDp.css +2 -0
  72. package/dist/assets/index-Cz0KzQeb.js +11 -0
  73. package/dist/assets/javascript-Bu8mWwtz.js +1 -0
  74. package/dist/assets/julia-CQfgDRfP.js +1 -0
  75. package/dist/assets/key-round-Cl7KguqM.js +1 -0
  76. package/dist/assets/layout.store-b9Rb2T9G.js +1 -0
  77. package/dist/assets/livescript-BXxG0Yva.js +1 -0
  78. package/dist/assets/login-screen-Co0lYHk4.js +1 -0
  79. package/dist/assets/lua-DPCEkfD_.js +1 -0
  80. package/dist/assets/manifest-CxKlFp1I.js +1 -0
  81. package/dist/assets/markdown-view-BQbaAkAk.js +29 -0
  82. package/dist/assets/markdown-view-aK-tdIwk.css +1 -0
  83. package/dist/assets/material-icon-RrSZDDw2.js +1 -0
  84. package/dist/assets/mathematica-u8YMmbU0.js +1 -0
  85. package/dist/assets/mbox-BEMVcqjs.js +1 -0
  86. package/dist/assets/middleware-C1xnEbcF.js +1 -0
  87. package/dist/assets/mirc-C9zpzAZU.js +1 -0
  88. package/dist/assets/mllike-B45xgp2S.js +1 -0
  89. package/dist/assets/modelica-CqHI_q-D.js +1 -0
  90. package/dist/assets/mscgen-qgSLujhx.js +1 -0
  91. package/dist/assets/mumps-BSzj6Xyz.js +1 -0
  92. package/dist/assets/nginx-8H7HVH4w.js +1 -0
  93. package/dist/assets/nsis-viPvXFiq.js +1 -0
  94. package/dist/assets/ntriples-CzMBulkp.js +1 -0
  95. package/dist/assets/octave-D2Q8cUp1.js +1 -0
  96. package/dist/assets/oz-BwTct_5T.js +1 -0
  97. package/dist/assets/page-shell-BSEpDNSs.js +1 -0
  98. package/dist/assets/pascal-Dp_KdFgX.js +1 -0
  99. package/dist/assets/password-input-CSjwFwJE.js +1 -0
  100. package/dist/assets/perl-BkSkiI9m.js +1 -0
  101. package/dist/assets/pig-AF4Hwhju.js +1 -0
  102. package/dist/assets/port-links-8g2kBRfp.js +1 -0
  103. package/dist/assets/powershell-D8WpQPaX.js +1 -0
  104. package/dist/assets/projects-screen-C3yWG8mw.js +1 -0
  105. package/dist/assets/properties-C357ku5U.js +1 -0
  106. package/dist/assets/protobuf-D1ij_kNL.js +1 -0
  107. package/dist/assets/pug-Dwd_FmgJ.js +1 -0
  108. package/dist/assets/puppet-BZyAS7I4.js +1 -0
  109. package/dist/assets/python-B_1Jd8HM.js +1 -0
  110. package/dist/assets/q-B9NhS7L_.js +1 -0
  111. package/dist/assets/query-D1fTvh27.js +1 -0
  112. package/dist/assets/r-CxDmU1I4.js +1 -0
  113. package/dist/assets/rpm-gpDK5sbt.js +1 -0
  114. package/dist/assets/ruby-ChfNwlCY.js +1 -0
  115. package/dist/assets/sas-C2OyD2Y6.js +1 -0
  116. package/dist/assets/scheme-D9qYN0V5.js +1 -0
  117. package/dist/assets/settings-screen-BM1Y4v3n.js +1 -0
  118. package/dist/assets/setup-screen--Rk5RNBd.js +1 -0
  119. package/dist/assets/shell-DwuoZtxw.js +1 -0
  120. package/dist/assets/sieve-tLWDfEkZ.js +1 -0
  121. package/dist/assets/simple-mode-DXiLM1-G.js +1 -0
  122. package/dist/assets/smalltalk-BLp5-jwC.js +1 -0
  123. package/dist/assets/solr-B78wSQJQ.js +1 -0
  124. package/dist/assets/sparkles-rMOjCpPO.js +1 -0
  125. package/dist/assets/sparql-Dz-mlCAC.js +1 -0
  126. package/dist/assets/spinner-Dhw2p8cg.js +1 -0
  127. package/dist/assets/spreadsheet-CTIncYxj.js +1 -0
  128. package/dist/assets/sql-DuQMFDvy.js +1 -0
  129. package/dist/assets/square-terminal-DL7ubCPR.js +1 -0
  130. package/dist/assets/stex-DNzd62Q_.js +1 -0
  131. package/dist/assets/stylus-BOVgKnng.js +1 -0
  132. package/dist/assets/swift-DKB6_1j6.js +1 -0
  133. package/dist/assets/tcl-BGfruO1u.js +1 -0
  134. package/dist/assets/textile-C4jVoHG1.js +1 -0
  135. package/dist/assets/tiddlywiki-VlUiK86J.js +1 -0
  136. package/dist/assets/tiki-DTszW0OQ.js +1 -0
  137. package/dist/assets/toml-BPTmHmyx.js +1 -0
  138. package/dist/assets/triangle-alert-CKXjnNZK.js +1 -0
  139. package/dist/assets/troff-C2dAgh7P.js +1 -0
  140. package/dist/assets/ttcn-PPSTk1ow.js +1 -0
  141. package/dist/assets/ttcn-cfg-2b4Gb5sE.js +1 -0
  142. package/dist/assets/turtle-Cx3rYX2g.js +1 -0
  143. package/dist/assets/use-visual-viewport-CHPXxqd5.js +1 -0
  144. package/dist/assets/useQuery-CTJ-5_ol.js +1 -0
  145. package/dist/assets/vb-BthdM_4N.js +1 -0
  146. package/dist/assets/vbscript-D9f6rSsU.js +1 -0
  147. package/dist/assets/velocity-CqftRsjg.js +1 -0
  148. package/dist/assets/verilog-CjI9Y6RI.js +1 -0
  149. package/dist/assets/vhdl-kS471soi.js +1 -0
  150. package/dist/assets/webidl-D5jiJvOU.js +1 -0
  151. package/dist/assets/workspace-screen-FWzP6Hvt.js +8 -0
  152. package/dist/assets/xquery-BKJx4mf9.js +1 -0
  153. package/dist/assets/xterm-BrP-ENHg.css +1 -0
  154. package/dist/assets/xterm-OPnvFLvt.js +22 -0
  155. package/dist/assets/yacas-CXXgtw0p.js +1 -0
  156. package/dist/assets/z80-Co3PbHdE.js +1 -0
  157. package/dist/favicon.svg +1 -0
  158. package/dist/index.html +29 -0
  159. package/dist/ios-viewport.js +9 -0
  160. package/dist/material-icons/3d.svg +1 -0
  161. package/dist/material-icons/abap.svg +1 -0
  162. package/dist/material-icons/abc.svg +1 -0
  163. package/dist/material-icons/actionscript.svg +1 -0
  164. package/dist/material-icons/ada.svg +1 -0
  165. package/dist/material-icons/adobe-illustrator.svg +1 -0
  166. package/dist/material-icons/adobe-illustrator_light.svg +1 -0
  167. package/dist/material-icons/adobe-photoshop.svg +1 -0
  168. package/dist/material-icons/adobe-photoshop_light.svg +1 -0
  169. package/dist/material-icons/adobe-swc.svg +1 -0
  170. package/dist/material-icons/adonis.svg +1 -0
  171. package/dist/material-icons/advpl-include.clone.svg +1 -0
  172. package/dist/material-icons/advpl-ptm.clone.svg +1 -0
  173. package/dist/material-icons/advpl-tlpp.clone.svg +1 -0
  174. package/dist/material-icons/advpl.svg +1 -0
  175. package/dist/material-icons/agent.svg +1 -0
  176. package/dist/material-icons/ahk2.clone.svg +1 -0
  177. package/dist/material-icons/amplify.svg +1 -0
  178. package/dist/material-icons/android.svg +1 -0
  179. package/dist/material-icons/angular-component.clone.svg +1 -0
  180. package/dist/material-icons/angular-directive.clone.svg +1 -0
  181. package/dist/material-icons/angular-guard.clone.svg +1 -0
  182. package/dist/material-icons/angular-interceptor.clone.svg +1 -0
  183. package/dist/material-icons/angular-pipe.clone.svg +1 -0
  184. package/dist/material-icons/angular-resolver.clone.svg +1 -0
  185. package/dist/material-icons/angular-service.clone.svg +1 -0
  186. package/dist/material-icons/angular.svg +1 -0
  187. package/dist/material-icons/antlr.svg +1 -0
  188. package/dist/material-icons/apiblueprint.svg +1 -0
  189. package/dist/material-icons/apollo.svg +1 -0
  190. package/dist/material-icons/applescript.svg +1 -0
  191. package/dist/material-icons/apps-script.svg +1 -0
  192. package/dist/material-icons/appveyor.svg +1 -0
  193. package/dist/material-icons/appwrite.svg +1 -0
  194. package/dist/material-icons/architecture.svg +1 -0
  195. package/dist/material-icons/arduino.svg +1 -0
  196. package/dist/material-icons/asciidoc.svg +1 -0
  197. package/dist/material-icons/assembly.svg +1 -0
  198. package/dist/material-icons/astro-config.svg +1 -0
  199. package/dist/material-icons/astro.svg +1 -0
  200. package/dist/material-icons/astyle.svg +1 -0
  201. package/dist/material-icons/audio.svg +1 -0
  202. package/dist/material-icons/aurelia.svg +1 -0
  203. package/dist/material-icons/authors.svg +1 -0
  204. package/dist/material-icons/auto.svg +1 -0
  205. package/dist/material-icons/auto_light.svg +1 -0
  206. package/dist/material-icons/autohotkey.svg +1 -0
  207. package/dist/material-icons/autoit.svg +1 -0
  208. package/dist/material-icons/azure-pipelines.svg +1 -0
  209. package/dist/material-icons/azure.svg +1 -0
  210. package/dist/material-icons/babel.svg +1 -0
  211. package/dist/material-icons/ballerina.svg +1 -0
  212. package/dist/material-icons/bashly-hook.svg +1 -0
  213. package/dist/material-icons/bashly-settings.clone.svg +1 -0
  214. package/dist/material-icons/bashly-settings_light.clone.svg +1 -0
  215. package/dist/material-icons/bashly-strings.clone.svg +1 -0
  216. package/dist/material-icons/bashly-strings_light.clone.svg +1 -0
  217. package/dist/material-icons/bashly.svg +1 -0
  218. package/dist/material-icons/bazel.svg +1 -0
  219. package/dist/material-icons/bbx.svg +1 -0
  220. package/dist/material-icons/beancount.svg +1 -0
  221. package/dist/material-icons/bench-js.svg +1 -0
  222. package/dist/material-icons/bench-jsx.svg +1 -0
  223. package/dist/material-icons/bench-ts.svg +1 -0
  224. package/dist/material-icons/bibliography.svg +1 -0
  225. package/dist/material-icons/bibtex-style.svg +1 -0
  226. package/dist/material-icons/bicep.svg +1 -0
  227. package/dist/material-icons/biome.svg +1 -0
  228. package/dist/material-icons/bitbucket.svg +1 -0
  229. package/dist/material-icons/bithound.svg +1 -0
  230. package/dist/material-icons/blender.svg +1 -0
  231. package/dist/material-icons/blink.svg +1 -0
  232. package/dist/material-icons/blink_light.svg +1 -0
  233. package/dist/material-icons/blitz.svg +1 -0
  234. package/dist/material-icons/bower.svg +1 -0
  235. package/dist/material-icons/brainfuck.svg +1 -0
  236. package/dist/material-icons/browserlist.svg +1 -0
  237. package/dist/material-icons/browserlist_light.svg +1 -0
  238. package/dist/material-icons/bruno.svg +1 -0
  239. package/dist/material-icons/buck.svg +1 -0
  240. package/dist/material-icons/bucklescript.svg +1 -0
  241. package/dist/material-icons/buildkite.svg +1 -0
  242. package/dist/material-icons/bun.svg +1 -0
  243. package/dist/material-icons/bun_light.svg +1 -0
  244. package/dist/material-icons/c.svg +1 -0
  245. package/dist/material-icons/c3.svg +1 -0
  246. package/dist/material-icons/cabal.svg +1 -0
  247. package/dist/material-icons/caddy.svg +1 -0
  248. package/dist/material-icons/cadence.svg +1 -0
  249. package/dist/material-icons/cairo.svg +1 -0
  250. package/dist/material-icons/cake.svg +1 -0
  251. package/dist/material-icons/capacitor.svg +1 -0
  252. package/dist/material-icons/capnp.svg +1 -0
  253. package/dist/material-icons/cbx.svg +1 -0
  254. package/dist/material-icons/cds.svg +1 -0
  255. package/dist/material-icons/certificate.svg +1 -0
  256. package/dist/material-icons/changelog.svg +1 -0
  257. package/dist/material-icons/chess.svg +1 -0
  258. package/dist/material-icons/chess_light.svg +1 -0
  259. package/dist/material-icons/chromatic.svg +1 -0
  260. package/dist/material-icons/chrome.svg +1 -0
  261. package/dist/material-icons/circleci.svg +1 -0
  262. package/dist/material-icons/circleci_light.svg +1 -0
  263. package/dist/material-icons/citation.svg +1 -0
  264. package/dist/material-icons/clangd.svg +1 -0
  265. package/dist/material-icons/claude.svg +1 -0
  266. package/dist/material-icons/cline.svg +1 -0
  267. package/dist/material-icons/clojure.svg +1 -0
  268. package/dist/material-icons/cloudfoundry.svg +1 -0
  269. package/dist/material-icons/cmake.svg +1 -0
  270. package/dist/material-icons/coala.svg +1 -0
  271. package/dist/material-icons/cobol.svg +1 -0
  272. package/dist/material-icons/coconut.svg +1 -0
  273. package/dist/material-icons/code-climate.svg +1 -0
  274. package/dist/material-icons/code-climate_light.svg +1 -0
  275. package/dist/material-icons/codecov.svg +1 -0
  276. package/dist/material-icons/codeowners.svg +1 -0
  277. package/dist/material-icons/coderabbit-ai.svg +1 -0
  278. package/dist/material-icons/coffee.svg +1 -0
  279. package/dist/material-icons/coldfusion.svg +1 -0
  280. package/dist/material-icons/coloredpetrinets.svg +1 -0
  281. package/dist/material-icons/command.svg +1 -0
  282. package/dist/material-icons/commitizen.svg +1 -0
  283. package/dist/material-icons/commitlint.svg +1 -0
  284. package/dist/material-icons/concourse.svg +1 -0
  285. package/dist/material-icons/conduct.svg +1 -0
  286. package/dist/material-icons/console.svg +1 -0
  287. package/dist/material-icons/container.clone.svg +1 -0
  288. package/dist/material-icons/contentlayer.svg +1 -0
  289. package/dist/material-icons/context.svg +1 -0
  290. package/dist/material-icons/contributing.svg +1 -0
  291. package/dist/material-icons/controller.svg +1 -0
  292. package/dist/material-icons/copilot.svg +1 -0
  293. package/dist/material-icons/copilot_light.svg +1 -0
  294. package/dist/material-icons/cpp.svg +1 -0
  295. package/dist/material-icons/craco.svg +1 -0
  296. package/dist/material-icons/credits.svg +1 -0
  297. package/dist/material-icons/crystal.svg +1 -0
  298. package/dist/material-icons/crystal_light.svg +1 -0
  299. package/dist/material-icons/csharp.svg +1 -0
  300. package/dist/material-icons/css-map.svg +1 -0
  301. package/dist/material-icons/css.svg +1 -0
  302. package/dist/material-icons/cucumber.svg +1 -0
  303. package/dist/material-icons/cuda.svg +1 -0
  304. package/dist/material-icons/cue.svg +1 -0
  305. package/dist/material-icons/cursor.svg +1 -0
  306. package/dist/material-icons/cursor_light.svg +1 -0
  307. package/dist/material-icons/cypress.svg +1 -0
  308. package/dist/material-icons/d.svg +1 -0
  309. package/dist/material-icons/dart.svg +1 -0
  310. package/dist/material-icons/dart_generated.svg +1 -0
  311. package/dist/material-icons/database.svg +1 -0
  312. package/dist/material-icons/deepsource.svg +1 -0
  313. package/dist/material-icons/denizenscript.svg +1 -0
  314. package/dist/material-icons/deno.svg +1 -0
  315. package/dist/material-icons/deno_light.svg +1 -0
  316. package/dist/material-icons/dependabot.svg +1 -0
  317. package/dist/material-icons/dependencies-update.svg +1 -0
  318. package/dist/material-icons/dhall.svg +1 -0
  319. package/dist/material-icons/diff.svg +1 -0
  320. package/dist/material-icons/dinophp.svg +1 -0
  321. package/dist/material-icons/disc.svg +1 -0
  322. package/dist/material-icons/django.svg +1 -0
  323. package/dist/material-icons/dll.svg +1 -0
  324. package/dist/material-icons/docker.svg +1 -0
  325. package/dist/material-icons/doctex-installer.svg +1 -0
  326. package/dist/material-icons/doctex.clone.svg +1 -0
  327. package/dist/material-icons/document.svg +1 -0
  328. package/dist/material-icons/dotjs.svg +1 -0
  329. package/dist/material-icons/drawio.svg +1 -0
  330. package/dist/material-icons/drizzle.svg +1 -0
  331. package/dist/material-icons/drone.svg +1 -0
  332. package/dist/material-icons/drone_light.svg +1 -0
  333. package/dist/material-icons/dtx.clone.svg +1 -0
  334. package/dist/material-icons/duc.svg +1 -0
  335. package/dist/material-icons/dune.svg +1 -0
  336. package/dist/material-icons/edge.svg +1 -0
  337. package/dist/material-icons/editorconfig.svg +1 -0
  338. package/dist/material-icons/ejs.svg +1 -0
  339. package/dist/material-icons/elixir.svg +1 -0
  340. package/dist/material-icons/elm.svg +1 -0
  341. package/dist/material-icons/email.svg +1 -0
  342. package/dist/material-icons/ember.svg +1 -0
  343. package/dist/material-icons/epub.svg +1 -0
  344. package/dist/material-icons/erlang.svg +1 -0
  345. package/dist/material-icons/esbuild.svg +1 -0
  346. package/dist/material-icons/eslint.svg +1 -0
  347. package/dist/material-icons/excalidraw.svg +1 -0
  348. package/dist/material-icons/exe.svg +1 -0
  349. package/dist/material-icons/expo.svg +1 -0
  350. package/dist/material-icons/expo_light.svg +1 -0
  351. package/dist/material-icons/fastlane.svg +1 -0
  352. package/dist/material-icons/favicon.svg +1 -0
  353. package/dist/material-icons/figma.svg +1 -0
  354. package/dist/material-icons/file.svg +1 -0
  355. package/dist/material-icons/firebase.svg +1 -0
  356. package/dist/material-icons/flash.svg +1 -0
  357. package/dist/material-icons/flow.svg +1 -0
  358. package/dist/material-icons/folder-admin-open.svg +1 -0
  359. package/dist/material-icons/folder-admin.svg +1 -0
  360. package/dist/material-icons/folder-android-open.svg +1 -0
  361. package/dist/material-icons/folder-android.svg +1 -0
  362. package/dist/material-icons/folder-angular-open.svg +1 -0
  363. package/dist/material-icons/folder-angular.svg +1 -0
  364. package/dist/material-icons/folder-animation-open.svg +1 -0
  365. package/dist/material-icons/folder-animation.svg +1 -0
  366. package/dist/material-icons/folder-ansible-open.svg +1 -0
  367. package/dist/material-icons/folder-ansible.svg +1 -0
  368. package/dist/material-icons/folder-api-open.svg +1 -0
  369. package/dist/material-icons/folder-api.svg +1 -0
  370. package/dist/material-icons/folder-apollo-open.svg +1 -0
  371. package/dist/material-icons/folder-apollo.svg +1 -0
  372. package/dist/material-icons/folder-app-open.svg +1 -0
  373. package/dist/material-icons/folder-app.svg +1 -0
  374. package/dist/material-icons/folder-appwrite-open.svg +1 -0
  375. package/dist/material-icons/folder-appwrite.svg +1 -0
  376. package/dist/material-icons/folder-archive-open.svg +1 -0
  377. package/dist/material-icons/folder-archive.svg +1 -0
  378. package/dist/material-icons/folder-assembly-open.svg +1 -0
  379. package/dist/material-icons/folder-assembly.svg +1 -0
  380. package/dist/material-icons/folder-astro-open.svg +1 -0
  381. package/dist/material-icons/folder-astro.svg +1 -0
  382. package/dist/material-icons/folder-atom-open.svg +1 -0
  383. package/dist/material-icons/folder-atom.svg +1 -0
  384. package/dist/material-icons/folder-attachment-open.svg +1 -0
  385. package/dist/material-icons/folder-attachment.svg +1 -0
  386. package/dist/material-icons/folder-audio-open.svg +1 -0
  387. package/dist/material-icons/folder-audio.svg +1 -0
  388. package/dist/material-icons/folder-aurelia-open.svg +1 -0
  389. package/dist/material-icons/folder-aurelia.svg +1 -0
  390. package/dist/material-icons/folder-aws-open.svg +1 -0
  391. package/dist/material-icons/folder-aws.svg +1 -0
  392. package/dist/material-icons/folder-azure-pipelines-open.svg +1 -0
  393. package/dist/material-icons/folder-azure-pipelines.svg +1 -0
  394. package/dist/material-icons/folder-backup-open.svg +1 -0
  395. package/dist/material-icons/folder-backup.svg +1 -0
  396. package/dist/material-icons/folder-base-open.svg +1 -0
  397. package/dist/material-icons/folder-base.svg +1 -0
  398. package/dist/material-icons/folder-batch-open.svg +1 -0
  399. package/dist/material-icons/folder-batch.svg +1 -0
  400. package/dist/material-icons/folder-benchmark-open.svg +1 -0
  401. package/dist/material-icons/folder-benchmark.svg +1 -0
  402. package/dist/material-icons/folder-bibliography-open.svg +1 -0
  403. package/dist/material-icons/folder-bibliography.svg +1 -0
  404. package/dist/material-icons/folder-bicep-open.svg +1 -0
  405. package/dist/material-icons/folder-bicep.svg +1 -0
  406. package/dist/material-icons/folder-blender-open.svg +1 -0
  407. package/dist/material-icons/folder-blender.svg +1 -0
  408. package/dist/material-icons/folder-bloc-open.svg +1 -0
  409. package/dist/material-icons/folder-bloc.svg +1 -0
  410. package/dist/material-icons/folder-bower-open.svg +1 -0
  411. package/dist/material-icons/folder-bower.svg +1 -0
  412. package/dist/material-icons/folder-buildkite-open.svg +1 -0
  413. package/dist/material-icons/folder-buildkite.svg +1 -0
  414. package/dist/material-icons/folder-cart-open.svg +1 -0
  415. package/dist/material-icons/folder-cart.svg +1 -0
  416. package/dist/material-icons/folder-changesets-open.svg +1 -0
  417. package/dist/material-icons/folder-changesets.svg +1 -0
  418. package/dist/material-icons/folder-ci-open.svg +1 -0
  419. package/dist/material-icons/folder-ci.svg +1 -0
  420. package/dist/material-icons/folder-circleci-open.svg +1 -0
  421. package/dist/material-icons/folder-circleci.svg +1 -0
  422. package/dist/material-icons/folder-class-open.svg +1 -0
  423. package/dist/material-icons/folder-class.svg +1 -0
  424. package/dist/material-icons/folder-claude-open.svg +1 -0
  425. package/dist/material-icons/folder-claude.svg +1 -0
  426. package/dist/material-icons/folder-client-open.svg +1 -0
  427. package/dist/material-icons/folder-client.svg +1 -0
  428. package/dist/material-icons/folder-cline-open.svg +1 -0
  429. package/dist/material-icons/folder-cline.svg +1 -0
  430. package/dist/material-icons/folder-cloud-functions-open.svg +1 -0
  431. package/dist/material-icons/folder-cloud-functions.svg +1 -0
  432. package/dist/material-icons/folder-cloudflare-open.svg +1 -0
  433. package/dist/material-icons/folder-cloudflare.svg +1 -0
  434. package/dist/material-icons/folder-cluster-open.svg +1 -0
  435. package/dist/material-icons/folder-cluster.svg +1 -0
  436. package/dist/material-icons/folder-cobol-open.svg +1 -0
  437. package/dist/material-icons/folder-cobol.svg +1 -0
  438. package/dist/material-icons/folder-command-open.svg +1 -0
  439. package/dist/material-icons/folder-command.svg +1 -0
  440. package/dist/material-icons/folder-components-open.svg +1 -0
  441. package/dist/material-icons/folder-components.svg +1 -0
  442. package/dist/material-icons/folder-config-open.svg +1 -0
  443. package/dist/material-icons/folder-config.svg +1 -0
  444. package/dist/material-icons/folder-connection-open.svg +1 -0
  445. package/dist/material-icons/folder-connection.svg +1 -0
  446. package/dist/material-icons/folder-console-open.svg +1 -0
  447. package/dist/material-icons/folder-console.svg +1 -0
  448. package/dist/material-icons/folder-constant-open.svg +1 -0
  449. package/dist/material-icons/folder-constant.svg +1 -0
  450. package/dist/material-icons/folder-container-open.svg +1 -0
  451. package/dist/material-icons/folder-container.svg +1 -0
  452. package/dist/material-icons/folder-content-open.svg +1 -0
  453. package/dist/material-icons/folder-content.svg +1 -0
  454. package/dist/material-icons/folder-context-open.svg +1 -0
  455. package/dist/material-icons/folder-context.svg +1 -0
  456. package/dist/material-icons/folder-contract-open.svg +1 -0
  457. package/dist/material-icons/folder-contract.svg +1 -0
  458. package/dist/material-icons/folder-controller-open.svg +1 -0
  459. package/dist/material-icons/folder-controller.svg +1 -0
  460. package/dist/material-icons/folder-core-open.svg +1 -0
  461. package/dist/material-icons/folder-core.svg +1 -0
  462. package/dist/material-icons/folder-coverage-open.svg +1 -0
  463. package/dist/material-icons/folder-coverage.svg +1 -0
  464. package/dist/material-icons/folder-css-open.svg +1 -0
  465. package/dist/material-icons/folder-css.svg +1 -0
  466. package/dist/material-icons/folder-cue-open.svg +1 -0
  467. package/dist/material-icons/folder-cue.svg +1 -0
  468. package/dist/material-icons/folder-cursor-open.svg +1 -0
  469. package/dist/material-icons/folder-cursor-open_light.svg +1 -0
  470. package/dist/material-icons/folder-cursor.svg +1 -0
  471. package/dist/material-icons/folder-cursor_light.svg +1 -0
  472. package/dist/material-icons/folder-custom-open.svg +1 -0
  473. package/dist/material-icons/folder-custom.svg +1 -0
  474. package/dist/material-icons/folder-cypress-open.svg +1 -0
  475. package/dist/material-icons/folder-cypress.svg +1 -0
  476. package/dist/material-icons/folder-dal-open.svg +1 -0
  477. package/dist/material-icons/folder-dal.svg +1 -0
  478. package/dist/material-icons/folder-dart-open.svg +1 -0
  479. package/dist/material-icons/folder-dart.svg +1 -0
  480. package/dist/material-icons/folder-database-open.svg +1 -0
  481. package/dist/material-icons/folder-database.svg +1 -0
  482. package/dist/material-icons/folder-debug-open.svg +1 -0
  483. package/dist/material-icons/folder-debug.svg +1 -0
  484. package/dist/material-icons/folder-decorators-open.svg +1 -0
  485. package/dist/material-icons/folder-decorators.svg +1 -0
  486. package/dist/material-icons/folder-delta-open.svg +1 -0
  487. package/dist/material-icons/folder-delta.svg +1 -0
  488. package/dist/material-icons/folder-deprecated-open.clone.svg +1 -0
  489. package/dist/material-icons/folder-deprecated.clone.svg +1 -0
  490. package/dist/material-icons/folder-desktop-open.svg +1 -0
  491. package/dist/material-icons/folder-desktop.svg +1 -0
  492. package/dist/material-icons/folder-development-open.clone.svg +1 -0
  493. package/dist/material-icons/folder-development.clone.svg +1 -0
  494. package/dist/material-icons/folder-directive-open.svg +1 -0
  495. package/dist/material-icons/folder-directive.svg +1 -0
  496. package/dist/material-icons/folder-dist-open.svg +1 -0
  497. package/dist/material-icons/folder-dist.svg +1 -0
  498. package/dist/material-icons/folder-docker-open.svg +1 -0
  499. package/dist/material-icons/folder-docker.svg +1 -0
  500. package/dist/material-icons/folder-docs-open.svg +1 -0
  501. package/dist/material-icons/folder-docs.svg +1 -0
  502. package/dist/material-icons/folder-download-open.svg +1 -0
  503. package/dist/material-icons/folder-download.svg +1 -0
  504. package/dist/material-icons/folder-drizzle-open.svg +1 -0
  505. package/dist/material-icons/folder-drizzle.svg +1 -0
  506. package/dist/material-icons/folder-dump-open.svg +1 -0
  507. package/dist/material-icons/folder-dump.svg +1 -0
  508. package/dist/material-icons/folder-eas-open.clone.svg +1 -0
  509. package/dist/material-icons/folder-eas.clone.svg +1 -0
  510. package/dist/material-icons/folder-element-open.svg +1 -0
  511. package/dist/material-icons/folder-element.svg +1 -0
  512. package/dist/material-icons/folder-enum-open.svg +1 -0
  513. package/dist/material-icons/folder-enum.svg +1 -0
  514. package/dist/material-icons/folder-environment-open.svg +1 -0
  515. package/dist/material-icons/folder-environment.svg +1 -0
  516. package/dist/material-icons/folder-error-open.svg +1 -0
  517. package/dist/material-icons/folder-error.svg +1 -0
  518. package/dist/material-icons/folder-eslint-open.svg +1 -0
  519. package/dist/material-icons/folder-eslint.svg +1 -0
  520. package/dist/material-icons/folder-event-open.svg +1 -0
  521. package/dist/material-icons/folder-event.svg +1 -0
  522. package/dist/material-icons/folder-examples-open.svg +1 -0
  523. package/dist/material-icons/folder-examples.svg +1 -0
  524. package/dist/material-icons/folder-expo-open.svg +1 -0
  525. package/dist/material-icons/folder-expo.svg +1 -0
  526. package/dist/material-icons/folder-export-open.svg +1 -0
  527. package/dist/material-icons/folder-export.svg +1 -0
  528. package/dist/material-icons/folder-fastlane-open.svg +1 -0
  529. package/dist/material-icons/folder-fastlane.svg +1 -0
  530. package/dist/material-icons/folder-favicon-open.svg +1 -0
  531. package/dist/material-icons/folder-favicon.svg +1 -0
  532. package/dist/material-icons/folder-features-open.svg +1 -0
  533. package/dist/material-icons/folder-features.svg +1 -0
  534. package/dist/material-icons/folder-filter-open.svg +1 -0
  535. package/dist/material-icons/folder-filter.svg +1 -0
  536. package/dist/material-icons/folder-firebase-open.svg +1 -0
  537. package/dist/material-icons/folder-firebase.svg +1 -0
  538. package/dist/material-icons/folder-firestore-open.svg +1 -0
  539. package/dist/material-icons/folder-firestore.svg +1 -0
  540. package/dist/material-icons/folder-flow-open.svg +1 -0
  541. package/dist/material-icons/folder-flow.svg +1 -0
  542. package/dist/material-icons/folder-flutter-open.svg +1 -0
  543. package/dist/material-icons/folder-flutter.svg +1 -0
  544. package/dist/material-icons/folder-font-open.svg +1 -0
  545. package/dist/material-icons/folder-font.svg +1 -0
  546. package/dist/material-icons/folder-forgejo-open.svg +1 -0
  547. package/dist/material-icons/folder-forgejo.svg +1 -0
  548. package/dist/material-icons/folder-form-open.svg +1 -0
  549. package/dist/material-icons/folder-form.svg +1 -0
  550. package/dist/material-icons/folder-functions-open.svg +1 -0
  551. package/dist/material-icons/folder-functions.svg +1 -0
  552. package/dist/material-icons/folder-gamemaker-open.svg +1 -0
  553. package/dist/material-icons/folder-gamemaker.svg +1 -0
  554. package/dist/material-icons/folder-gemini-ai-open.svg +1 -0
  555. package/dist/material-icons/folder-gemini-ai.svg +1 -0
  556. package/dist/material-icons/folder-generator-open.svg +1 -0
  557. package/dist/material-icons/folder-generator.svg +1 -0
  558. package/dist/material-icons/folder-gh-workflows-open.svg +1 -0
  559. package/dist/material-icons/folder-gh-workflows.svg +1 -0
  560. package/dist/material-icons/folder-git-open.svg +1 -0
  561. package/dist/material-icons/folder-git.svg +1 -0
  562. package/dist/material-icons/folder-gitea-open.svg +1 -0
  563. package/dist/material-icons/folder-gitea-workflows-open.clone.svg +1 -0
  564. package/dist/material-icons/folder-gitea-workflows.clone.svg +1 -0
  565. package/dist/material-icons/folder-gitea.svg +1 -0
  566. package/dist/material-icons/folder-github-open.svg +1 -0
  567. package/dist/material-icons/folder-github.svg +1 -0
  568. package/dist/material-icons/folder-gitlab-open.svg +1 -0
  569. package/dist/material-icons/folder-gitlab.svg +1 -0
  570. package/dist/material-icons/folder-global-open.svg +1 -0
  571. package/dist/material-icons/folder-global.svg +1 -0
  572. package/dist/material-icons/folder-go-open.svg +1 -0
  573. package/dist/material-icons/folder-go.svg +1 -0
  574. package/dist/material-icons/folder-godot-open.svg +1 -0
  575. package/dist/material-icons/folder-godot.svg +1 -0
  576. package/dist/material-icons/folder-gradle-open.svg +1 -0
  577. package/dist/material-icons/folder-gradle.svg +1 -0
  578. package/dist/material-icons/folder-graphql-open.svg +1 -0
  579. package/dist/material-icons/folder-graphql.svg +1 -0
  580. package/dist/material-icons/folder-guard-open.svg +1 -0
  581. package/dist/material-icons/folder-guard.svg +1 -0
  582. package/dist/material-icons/folder-gulp-open.svg +1 -0
  583. package/dist/material-icons/folder-gulp.svg +1 -0
  584. package/dist/material-icons/folder-helm-open.svg +1 -0
  585. package/dist/material-icons/folder-helm.svg +1 -0
  586. package/dist/material-icons/folder-helper-open.svg +1 -0
  587. package/dist/material-icons/folder-helper.svg +1 -0
  588. package/dist/material-icons/folder-home-open.svg +1 -0
  589. package/dist/material-icons/folder-home.svg +1 -0
  590. package/dist/material-icons/folder-hook-open.svg +1 -0
  591. package/dist/material-icons/folder-hook.svg +1 -0
  592. package/dist/material-icons/folder-husky-open.svg +1 -0
  593. package/dist/material-icons/folder-husky.svg +1 -0
  594. package/dist/material-icons/folder-i18n-open.svg +1 -0
  595. package/dist/material-icons/folder-i18n.svg +1 -0
  596. package/dist/material-icons/folder-images-open.svg +1 -0
  597. package/dist/material-icons/folder-images.svg +1 -0
  598. package/dist/material-icons/folder-import-open.svg +1 -0
  599. package/dist/material-icons/folder-import.svg +1 -0
  600. package/dist/material-icons/folder-include-open.svg +1 -0
  601. package/dist/material-icons/folder-include.svg +1 -0
  602. package/dist/material-icons/folder-input-open.svg +1 -0
  603. package/dist/material-icons/folder-input.svg +1 -0
  604. package/dist/material-icons/folder-instructions-open.clone.svg +1 -0
  605. package/dist/material-icons/folder-instructions.clone.svg +1 -0
  606. package/dist/material-icons/folder-intellij-open.svg +1 -0
  607. package/dist/material-icons/folder-intellij-open_light.svg +1 -0
  608. package/dist/material-icons/folder-intellij.svg +1 -0
  609. package/dist/material-icons/folder-intellij_light.svg +1 -0
  610. package/dist/material-icons/folder-interceptor-open.svg +1 -0
  611. package/dist/material-icons/folder-interceptor.svg +1 -0
  612. package/dist/material-icons/folder-interface-open.svg +1 -0
  613. package/dist/material-icons/folder-interface.svg +1 -0
  614. package/dist/material-icons/folder-ios-open.svg +1 -0
  615. package/dist/material-icons/folder-ios.svg +1 -0
  616. package/dist/material-icons/folder-java-open.svg +1 -0
  617. package/dist/material-icons/folder-java.svg +1 -0
  618. package/dist/material-icons/folder-javascript-open.svg +1 -0
  619. package/dist/material-icons/folder-javascript.svg +1 -0
  620. package/dist/material-icons/folder-jinja-open.svg +1 -0
  621. package/dist/material-icons/folder-jinja-open_light.svg +1 -0
  622. package/dist/material-icons/folder-jinja.svg +1 -0
  623. package/dist/material-icons/folder-jinja_light.svg +1 -0
  624. package/dist/material-icons/folder-job-open.svg +1 -0
  625. package/dist/material-icons/folder-job.svg +1 -0
  626. package/dist/material-icons/folder-json-open.svg +1 -0
  627. package/dist/material-icons/folder-json.svg +1 -0
  628. package/dist/material-icons/folder-jupyter-open.svg +1 -0
  629. package/dist/material-icons/folder-jupyter.svg +1 -0
  630. package/dist/material-icons/folder-keys-open.svg +1 -0
  631. package/dist/material-icons/folder-keys.svg +1 -0
  632. package/dist/material-icons/folder-kotlin-open.svg +1 -0
  633. package/dist/material-icons/folder-kotlin.svg +1 -0
  634. package/dist/material-icons/folder-kubernetes-open.svg +1 -0
  635. package/dist/material-icons/folder-kubernetes.svg +1 -0
  636. package/dist/material-icons/folder-kusto-open.svg +1 -0
  637. package/dist/material-icons/folder-kusto.svg +1 -0
  638. package/dist/material-icons/folder-layout-open.svg +1 -0
  639. package/dist/material-icons/folder-layout.svg +1 -0
  640. package/dist/material-icons/folder-lefthook-open.svg +1 -0
  641. package/dist/material-icons/folder-lefthook.svg +1 -0
  642. package/dist/material-icons/folder-less-open.svg +1 -0
  643. package/dist/material-icons/folder-less.svg +1 -0
  644. package/dist/material-icons/folder-lib-open.svg +1 -0
  645. package/dist/material-icons/folder-lib.svg +1 -0
  646. package/dist/material-icons/folder-license-open.svg +1 -0
  647. package/dist/material-icons/folder-license.svg +1 -0
  648. package/dist/material-icons/folder-link-open.svg +1 -0
  649. package/dist/material-icons/folder-link.svg +1 -0
  650. package/dist/material-icons/folder-linux-open.svg +1 -0
  651. package/dist/material-icons/folder-linux.svg +1 -0
  652. package/dist/material-icons/folder-liquibase-open.svg +1 -0
  653. package/dist/material-icons/folder-liquibase.svg +1 -0
  654. package/dist/material-icons/folder-log-open.svg +1 -0
  655. package/dist/material-icons/folder-log.svg +1 -0
  656. package/dist/material-icons/folder-lottie-open.svg +1 -0
  657. package/dist/material-icons/folder-lottie.svg +1 -0
  658. package/dist/material-icons/folder-lua-open.svg +1 -0
  659. package/dist/material-icons/folder-lua.svg +1 -0
  660. package/dist/material-icons/folder-luau-open.svg +1 -0
  661. package/dist/material-icons/folder-luau.svg +1 -0
  662. package/dist/material-icons/folder-macos-open.svg +1 -0
  663. package/dist/material-icons/folder-macos.svg +1 -0
  664. package/dist/material-icons/folder-mail-open.svg +1 -0
  665. package/dist/material-icons/folder-mail.svg +1 -0
  666. package/dist/material-icons/folder-mappings-open.svg +1 -0
  667. package/dist/material-icons/folder-mappings.svg +1 -0
  668. package/dist/material-icons/folder-markdown-open.svg +1 -0
  669. package/dist/material-icons/folder-markdown.svg +1 -0
  670. package/dist/material-icons/folder-mercurial-open.svg +1 -0
  671. package/dist/material-icons/folder-mercurial.svg +1 -0
  672. package/dist/material-icons/folder-messages-open.svg +1 -0
  673. package/dist/material-icons/folder-messages.svg +1 -0
  674. package/dist/material-icons/folder-meta-open.svg +1 -0
  675. package/dist/material-icons/folder-meta.svg +1 -0
  676. package/dist/material-icons/folder-metro-open.svg +1 -0
  677. package/dist/material-icons/folder-metro.svg +1 -0
  678. package/dist/material-icons/folder-middleware-open.svg +1 -0
  679. package/dist/material-icons/folder-middleware.svg +1 -0
  680. package/dist/material-icons/folder-migrations-open.svg +1 -0
  681. package/dist/material-icons/folder-migrations.svg +1 -0
  682. package/dist/material-icons/folder-mjml-open.svg +1 -0
  683. package/dist/material-icons/folder-mjml.svg +1 -0
  684. package/dist/material-icons/folder-mobile-open.svg +1 -0
  685. package/dist/material-icons/folder-mobile.svg +1 -0
  686. package/dist/material-icons/folder-mock-open.svg +1 -0
  687. package/dist/material-icons/folder-mock.svg +1 -0
  688. package/dist/material-icons/folder-mojo-open.svg +1 -0
  689. package/dist/material-icons/folder-mojo.svg +1 -0
  690. package/dist/material-icons/folder-molecule-open.svg +1 -0
  691. package/dist/material-icons/folder-molecule.svg +1 -0
  692. package/dist/material-icons/folder-moon-open.svg +1 -0
  693. package/dist/material-icons/folder-moon.svg +1 -0
  694. package/dist/material-icons/folder-netlify-open.svg +1 -0
  695. package/dist/material-icons/folder-netlify.svg +1 -0
  696. package/dist/material-icons/folder-next-open.svg +1 -0
  697. package/dist/material-icons/folder-next.svg +1 -0
  698. package/dist/material-icons/folder-nginx-open.svg +1 -0
  699. package/dist/material-icons/folder-nginx.svg +1 -0
  700. package/dist/material-icons/folder-ngrx-actions-open.clone.svg +1 -0
  701. package/dist/material-icons/folder-ngrx-actions.clone.svg +1 -0
  702. package/dist/material-icons/folder-ngrx-effects-open.clone.svg +1 -0
  703. package/dist/material-icons/folder-ngrx-effects.clone.svg +1 -0
  704. package/dist/material-icons/folder-ngrx-entities-open.clone.svg +1 -0
  705. package/dist/material-icons/folder-ngrx-entities.clone.svg +1 -0
  706. package/dist/material-icons/folder-ngrx-reducer-open.clone.svg +1 -0
  707. package/dist/material-icons/folder-ngrx-reducer.clone.svg +1 -0
  708. package/dist/material-icons/folder-ngrx-selectors-open.clone.svg +1 -0
  709. package/dist/material-icons/folder-ngrx-selectors.clone.svg +1 -0
  710. package/dist/material-icons/folder-ngrx-state-open.clone.svg +1 -0
  711. package/dist/material-icons/folder-ngrx-state.clone.svg +1 -0
  712. package/dist/material-icons/folder-ngrx-store-open.svg +1 -0
  713. package/dist/material-icons/folder-ngrx-store.svg +1 -0
  714. package/dist/material-icons/folder-node-open.svg +1 -0
  715. package/dist/material-icons/folder-node.svg +1 -0
  716. package/dist/material-icons/folder-nuxt-open.svg +1 -0
  717. package/dist/material-icons/folder-nuxt.svg +1 -0
  718. package/dist/material-icons/folder-obsidian-open.svg +1 -0
  719. package/dist/material-icons/folder-obsidian.svg +1 -0
  720. package/dist/material-icons/folder-open.svg +1 -0
  721. package/dist/material-icons/folder-opencode-open.svg +1 -0
  722. package/dist/material-icons/folder-opencode.svg +1 -0
  723. package/dist/material-icons/folder-organism-open.svg +1 -0
  724. package/dist/material-icons/folder-organism.svg +1 -0
  725. package/dist/material-icons/folder-other-open.svg +1 -0
  726. package/dist/material-icons/folder-other.svg +1 -0
  727. package/dist/material-icons/folder-packages-open.svg +1 -0
  728. package/dist/material-icons/folder-packages.svg +1 -0
  729. package/dist/material-icons/folder-pdf-open.svg +1 -0
  730. package/dist/material-icons/folder-pdf.svg +1 -0
  731. package/dist/material-icons/folder-pdm-open.svg +1 -0
  732. package/dist/material-icons/folder-pdm.svg +1 -0
  733. package/dist/material-icons/folder-php-open.svg +1 -0
  734. package/dist/material-icons/folder-php.svg +1 -0
  735. package/dist/material-icons/folder-phpmailer-open.svg +1 -0
  736. package/dist/material-icons/folder-phpmailer.svg +1 -0
  737. package/dist/material-icons/folder-pipe-open.svg +1 -0
  738. package/dist/material-icons/folder-pipe.svg +1 -0
  739. package/dist/material-icons/folder-plastic-open.svg +1 -0
  740. package/dist/material-icons/folder-plastic.svg +1 -0
  741. package/dist/material-icons/folder-plugin-open.svg +1 -0
  742. package/dist/material-icons/folder-plugin.svg +1 -0
  743. package/dist/material-icons/folder-policy-open.svg +1 -0
  744. package/dist/material-icons/folder-policy.svg +1 -0
  745. package/dist/material-icons/folder-postman-open.svg +1 -0
  746. package/dist/material-icons/folder-postman.svg +1 -0
  747. package/dist/material-icons/folder-powershell-open.svg +1 -0
  748. package/dist/material-icons/folder-powershell.svg +1 -0
  749. package/dist/material-icons/folder-prisma-open.svg +1 -0
  750. package/dist/material-icons/folder-prisma.svg +1 -0
  751. package/dist/material-icons/folder-private-open.svg +1 -0
  752. package/dist/material-icons/folder-private.svg +1 -0
  753. package/dist/material-icons/folder-project-open.svg +1 -0
  754. package/dist/material-icons/folder-project.svg +1 -0
  755. package/dist/material-icons/folder-prompts-open.svg +1 -0
  756. package/dist/material-icons/folder-prompts.svg +1 -0
  757. package/dist/material-icons/folder-proto-open.svg +1 -0
  758. package/dist/material-icons/folder-proto.svg +1 -0
  759. package/dist/material-icons/folder-public-open.svg +1 -0
  760. package/dist/material-icons/folder-public.svg +1 -0
  761. package/dist/material-icons/folder-python-open.svg +1 -0
  762. package/dist/material-icons/folder-python.svg +1 -0
  763. package/dist/material-icons/folder-pytorch-open.svg +1 -0
  764. package/dist/material-icons/folder-pytorch.svg +1 -0
  765. package/dist/material-icons/folder-quasar-open.svg +1 -0
  766. package/dist/material-icons/folder-quasar.svg +1 -0
  767. package/dist/material-icons/folder-queue-open.svg +1 -0
  768. package/dist/material-icons/folder-queue.svg +1 -0
  769. package/dist/material-icons/folder-r-open.svg +1 -0
  770. package/dist/material-icons/folder-r.svg +1 -0
  771. package/dist/material-icons/folder-react-components-open.svg +1 -0
  772. package/dist/material-icons/folder-react-components.svg +1 -0
  773. package/dist/material-icons/folder-redis-open.clone.svg +1 -0
  774. package/dist/material-icons/folder-redis.clone.svg +1 -0
  775. package/dist/material-icons/folder-redux-actions-open.clone.svg +1 -0
  776. package/dist/material-icons/folder-redux-actions.clone.svg +1 -0
  777. package/dist/material-icons/folder-redux-reducer-open.svg +1 -0
  778. package/dist/material-icons/folder-redux-reducer.svg +1 -0
  779. package/dist/material-icons/folder-redux-selector-open.clone.svg +1 -0
  780. package/dist/material-icons/folder-redux-selector.clone.svg +1 -0
  781. package/dist/material-icons/folder-redux-store-open.clone.svg +1 -0
  782. package/dist/material-icons/folder-redux-store.clone.svg +1 -0
  783. package/dist/material-icons/folder-redux-toolkit-open.clone.svg +1 -0
  784. package/dist/material-icons/folder-redux-toolkit.clone.svg +1 -0
  785. package/dist/material-icons/folder-repository-open.svg +1 -0
  786. package/dist/material-icons/folder-repository.svg +1 -0
  787. package/dist/material-icons/folder-resolver-open.svg +1 -0
  788. package/dist/material-icons/folder-resolver.svg +1 -0
  789. package/dist/material-icons/folder-resource-open.svg +1 -0
  790. package/dist/material-icons/folder-resource.svg +1 -0
  791. package/dist/material-icons/folder-review-open.svg +1 -0
  792. package/dist/material-icons/folder-review.svg +1 -0
  793. package/dist/material-icons/folder-robot-open.svg +1 -0
  794. package/dist/material-icons/folder-robot.svg +1 -0
  795. package/dist/material-icons/folder-root-open.svg +1 -0
  796. package/dist/material-icons/folder-root.svg +1 -0
  797. package/dist/material-icons/folder-routes-open.svg +1 -0
  798. package/dist/material-icons/folder-routes.svg +1 -0
  799. package/dist/material-icons/folder-rules-open.svg +1 -0
  800. package/dist/material-icons/folder-rules.svg +1 -0
  801. package/dist/material-icons/folder-rust-open.svg +1 -0
  802. package/dist/material-icons/folder-rust.svg +1 -0
  803. package/dist/material-icons/folder-salt-open.svg +1 -0
  804. package/dist/material-icons/folder-salt.svg +1 -0
  805. package/dist/material-icons/folder-sandbox-open.svg +1 -0
  806. package/dist/material-icons/folder-sandbox.svg +1 -0
  807. package/dist/material-icons/folder-sass-open.svg +1 -0
  808. package/dist/material-icons/folder-sass.svg +1 -0
  809. package/dist/material-icons/folder-scala-open.svg +1 -0
  810. package/dist/material-icons/folder-scala.svg +1 -0
  811. package/dist/material-icons/folder-scons-open.svg +1 -0
  812. package/dist/material-icons/folder-scons.svg +1 -0
  813. package/dist/material-icons/folder-scrap-open.clone.svg +1 -0
  814. package/dist/material-icons/folder-scrap.clone.svg +1 -0
  815. package/dist/material-icons/folder-scripts-open.svg +1 -0
  816. package/dist/material-icons/folder-scripts.svg +1 -0
  817. package/dist/material-icons/folder-secure-open.svg +1 -0
  818. package/dist/material-icons/folder-secure.svg +1 -0
  819. package/dist/material-icons/folder-seeders-open.svg +1 -0
  820. package/dist/material-icons/folder-seeders.svg +1 -0
  821. package/dist/material-icons/folder-server-open.svg +1 -0
  822. package/dist/material-icons/folder-server.svg +1 -0
  823. package/dist/material-icons/folder-serverless-open.svg +1 -0
  824. package/dist/material-icons/folder-serverless.svg +1 -0
  825. package/dist/material-icons/folder-shader-open.svg +1 -0
  826. package/dist/material-icons/folder-shader.svg +1 -0
  827. package/dist/material-icons/folder-shared-open.svg +1 -0
  828. package/dist/material-icons/folder-shared.svg +1 -0
  829. package/dist/material-icons/folder-simulations-open.svg +1 -0
  830. package/dist/material-icons/folder-simulations.svg +1 -0
  831. package/dist/material-icons/folder-skills-open.svg +1 -0
  832. package/dist/material-icons/folder-skills.svg +1 -0
  833. package/dist/material-icons/folder-snapcraft-open.svg +1 -0
  834. package/dist/material-icons/folder-snapcraft.svg +1 -0
  835. package/dist/material-icons/folder-snippet-open.svg +1 -0
  836. package/dist/material-icons/folder-snippet.svg +1 -0
  837. package/dist/material-icons/folder-src-open.svg +1 -0
  838. package/dist/material-icons/folder-src-tauri-open.svg +1 -0
  839. package/dist/material-icons/folder-src-tauri.svg +1 -0
  840. package/dist/material-icons/folder-src.svg +1 -0
  841. package/dist/material-icons/folder-stack-open.svg +1 -0
  842. package/dist/material-icons/folder-stack.svg +1 -0
  843. package/dist/material-icons/folder-stencil-open.svg +1 -0
  844. package/dist/material-icons/folder-stencil.svg +1 -0
  845. package/dist/material-icons/folder-store-open.svg +1 -0
  846. package/dist/material-icons/folder-store.svg +1 -0
  847. package/dist/material-icons/folder-storybook-open.svg +1 -0
  848. package/dist/material-icons/folder-storybook.svg +1 -0
  849. package/dist/material-icons/folder-stylus-open.svg +1 -0
  850. package/dist/material-icons/folder-stylus.svg +1 -0
  851. package/dist/material-icons/folder-sublime-open.svg +1 -0
  852. package/dist/material-icons/folder-sublime.svg +1 -0
  853. package/dist/material-icons/folder-supabase-open.svg +1 -0
  854. package/dist/material-icons/folder-supabase.svg +1 -0
  855. package/dist/material-icons/folder-svelte-open.svg +1 -0
  856. package/dist/material-icons/folder-svelte.svg +1 -0
  857. package/dist/material-icons/folder-svg-open.svg +1 -0
  858. package/dist/material-icons/folder-svg.svg +1 -0
  859. package/dist/material-icons/folder-syntax-open.svg +1 -0
  860. package/dist/material-icons/folder-syntax.svg +1 -0
  861. package/dist/material-icons/folder-target-open.svg +1 -0
  862. package/dist/material-icons/folder-target.svg +1 -0
  863. package/dist/material-icons/folder-taskfile-open.svg +1 -0
  864. package/dist/material-icons/folder-taskfile.svg +1 -0
  865. package/dist/material-icons/folder-tasks-open.svg +1 -0
  866. package/dist/material-icons/folder-tasks.svg +1 -0
  867. package/dist/material-icons/folder-television-open.svg +1 -0
  868. package/dist/material-icons/folder-television.svg +1 -0
  869. package/dist/material-icons/folder-temp-open.svg +1 -0
  870. package/dist/material-icons/folder-temp.svg +1 -0
  871. package/dist/material-icons/folder-template-open.svg +1 -0
  872. package/dist/material-icons/folder-template.svg +1 -0
  873. package/dist/material-icons/folder-terraform-open.svg +1 -0
  874. package/dist/material-icons/folder-terraform.svg +1 -0
  875. package/dist/material-icons/folder-test-open.svg +1 -0
  876. package/dist/material-icons/folder-test.svg +1 -0
  877. package/dist/material-icons/folder-theme-open.svg +1 -0
  878. package/dist/material-icons/folder-theme.svg +1 -0
  879. package/dist/material-icons/folder-toc-open.svg +1 -0
  880. package/dist/material-icons/folder-toc.svg +1 -0
  881. package/dist/material-icons/folder-tools-open.svg +1 -0
  882. package/dist/material-icons/folder-tools.svg +1 -0
  883. package/dist/material-icons/folder-trash-open.svg +1 -0
  884. package/dist/material-icons/folder-trash.svg +1 -0
  885. package/dist/material-icons/folder-trigger-open.svg +1 -0
  886. package/dist/material-icons/folder-trigger.svg +1 -0
  887. package/dist/material-icons/folder-turborepo-open.svg +1 -0
  888. package/dist/material-icons/folder-turborepo.svg +1 -0
  889. package/dist/material-icons/folder-typescript-open.svg +1 -0
  890. package/dist/material-icons/folder-typescript.svg +1 -0
  891. package/dist/material-icons/folder-ui-open.svg +1 -0
  892. package/dist/material-icons/folder-ui.svg +1 -0
  893. package/dist/material-icons/folder-unity-open.svg +1 -0
  894. package/dist/material-icons/folder-unity.svg +1 -0
  895. package/dist/material-icons/folder-update-open.svg +1 -0
  896. package/dist/material-icons/folder-update.svg +1 -0
  897. package/dist/material-icons/folder-upload-open.svg +1 -0
  898. package/dist/material-icons/folder-upload.svg +1 -0
  899. package/dist/material-icons/folder-utils-open.svg +1 -0
  900. package/dist/material-icons/folder-utils.svg +1 -0
  901. package/dist/material-icons/folder-vercel-open.svg +1 -0
  902. package/dist/material-icons/folder-vercel.svg +1 -0
  903. package/dist/material-icons/folder-verdaccio-open.svg +1 -0
  904. package/dist/material-icons/folder-verdaccio.svg +1 -0
  905. package/dist/material-icons/folder-video-open.svg +1 -0
  906. package/dist/material-icons/folder-video.svg +1 -0
  907. package/dist/material-icons/folder-views-open.svg +1 -0
  908. package/dist/material-icons/folder-views.svg +1 -0
  909. package/dist/material-icons/folder-vm-open.svg +1 -0
  910. package/dist/material-icons/folder-vm.svg +1 -0
  911. package/dist/material-icons/folder-vscode-open.svg +1 -0
  912. package/dist/material-icons/folder-vscode.svg +1 -0
  913. package/dist/material-icons/folder-vue-directives-open.svg +1 -0
  914. package/dist/material-icons/folder-vue-directives.svg +1 -0
  915. package/dist/material-icons/folder-vue-open.svg +1 -0
  916. package/dist/material-icons/folder-vue.svg +1 -0
  917. package/dist/material-icons/folder-vuepress-open.svg +1 -0
  918. package/dist/material-icons/folder-vuepress.svg +1 -0
  919. package/dist/material-icons/folder-vuex-store-open.svg +1 -0
  920. package/dist/material-icons/folder-vuex-store.svg +1 -0
  921. package/dist/material-icons/folder-wakatime-open.svg +1 -0
  922. package/dist/material-icons/folder-wakatime.svg +1 -0
  923. package/dist/material-icons/folder-webpack-open.svg +1 -0
  924. package/dist/material-icons/folder-webpack.svg +1 -0
  925. package/dist/material-icons/folder-windows-open.svg +1 -0
  926. package/dist/material-icons/folder-windows.svg +1 -0
  927. package/dist/material-icons/folder-wordpress-open.svg +1 -0
  928. package/dist/material-icons/folder-wordpress.svg +1 -0
  929. package/dist/material-icons/folder-yarn-open.svg +1 -0
  930. package/dist/material-icons/folder-yarn.svg +1 -0
  931. package/dist/material-icons/folder-zeabur-open.svg +1 -0
  932. package/dist/material-icons/folder-zeabur.svg +1 -0
  933. package/dist/material-icons/folder-zed-open.svg +1 -0
  934. package/dist/material-icons/folder-zed.svg +1 -0
  935. package/dist/material-icons/folder.svg +1 -0
  936. package/dist/material-icons/font.svg +1 -0
  937. package/dist/material-icons/forth.svg +1 -0
  938. package/dist/material-icons/fortran.svg +1 -0
  939. package/dist/material-icons/foxpro.svg +1 -0
  940. package/dist/material-icons/freemarker.svg +1 -0
  941. package/dist/material-icons/fsharp.svg +1 -0
  942. package/dist/material-icons/fusebox.svg +1 -0
  943. package/dist/material-icons/gamemaker.svg +1 -0
  944. package/dist/material-icons/garden.svg +1 -0
  945. package/dist/material-icons/gatsby.svg +1 -0
  946. package/dist/material-icons/gcp.svg +1 -0
  947. package/dist/material-icons/gemfile.svg +1 -0
  948. package/dist/material-icons/gemini-ai.svg +1 -0
  949. package/dist/material-icons/gemini.svg +1 -0
  950. package/dist/material-icons/git.svg +1 -0
  951. package/dist/material-icons/github-actions-workflow.svg +1 -0
  952. package/dist/material-icons/github-sponsors.svg +1 -0
  953. package/dist/material-icons/gitlab.svg +1 -0
  954. package/dist/material-icons/gitpod.svg +1 -0
  955. package/dist/material-icons/gleam.svg +1 -0
  956. package/dist/material-icons/gnuplot.svg +1 -0
  957. package/dist/material-icons/go-mod.svg +1 -0
  958. package/dist/material-icons/go.svg +1 -0
  959. package/dist/material-icons/go_gopher.svg +1 -0
  960. package/dist/material-icons/godot-assets.svg +1 -0
  961. package/dist/material-icons/godot.svg +1 -0
  962. package/dist/material-icons/google.svg +1 -0
  963. package/dist/material-icons/gradle.svg +1 -0
  964. package/dist/material-icons/grafana-alloy.svg +1 -0
  965. package/dist/material-icons/grain.svg +1 -0
  966. package/dist/material-icons/graphcool.svg +1 -0
  967. package/dist/material-icons/graphql.svg +1 -0
  968. package/dist/material-icons/gridsome.svg +1 -0
  969. package/dist/material-icons/groovy.svg +1 -0
  970. package/dist/material-icons/grunt.svg +1 -0
  971. package/dist/material-icons/gulp.svg +1 -0
  972. package/dist/material-icons/h.svg +1 -0
  973. package/dist/material-icons/hack.svg +1 -0
  974. package/dist/material-icons/hadolint.svg +1 -0
  975. package/dist/material-icons/haml.svg +1 -0
  976. package/dist/material-icons/handlebars.svg +1 -0
  977. package/dist/material-icons/happo.svg +1 -0
  978. package/dist/material-icons/hardhat.svg +1 -0
  979. package/dist/material-icons/harmonix.svg +1 -0
  980. package/dist/material-icons/haskell.svg +1 -0
  981. package/dist/material-icons/haxe.svg +1 -0
  982. package/dist/material-icons/hcl.svg +1 -0
  983. package/dist/material-icons/hcl_light.svg +1 -0
  984. package/dist/material-icons/helm.svg +1 -0
  985. package/dist/material-icons/heroku.svg +1 -0
  986. package/dist/material-icons/hex.svg +1 -0
  987. package/dist/material-icons/hip.svg +1 -0
  988. package/dist/material-icons/histoire.svg +1 -0
  989. package/dist/material-icons/hjson.svg +1 -0
  990. package/dist/material-icons/horusec.svg +1 -0
  991. package/dist/material-icons/hosts.svg +1 -0
  992. package/dist/material-icons/hosts_light.svg +1 -0
  993. package/dist/material-icons/hpp.svg +1 -0
  994. package/dist/material-icons/html.svg +1 -0
  995. package/dist/material-icons/http.svg +1 -0
  996. package/dist/material-icons/huff.svg +1 -0
  997. package/dist/material-icons/huff_light.svg +1 -0
  998. package/dist/material-icons/hurl.svg +1 -0
  999. package/dist/material-icons/husky.svg +1 -0
  1000. package/dist/material-icons/i18n.svg +1 -0
  1001. package/dist/material-icons/idris.svg +1 -0
  1002. package/dist/material-icons/ifanr-cloud.svg +1 -0
  1003. package/dist/material-icons/image.svg +1 -0
  1004. package/dist/material-icons/imba.svg +1 -0
  1005. package/dist/material-icons/installation.svg +1 -0
  1006. package/dist/material-icons/instructions.clone.svg +1 -0
  1007. package/dist/material-icons/ionic.svg +1 -0
  1008. package/dist/material-icons/istanbul.svg +1 -0
  1009. package/dist/material-icons/jar.svg +1 -0
  1010. package/dist/material-icons/java.svg +1 -0
  1011. package/dist/material-icons/javaclass.svg +1 -0
  1012. package/dist/material-icons/javascript-map.svg +1 -0
  1013. package/dist/material-icons/javascript.svg +1 -0
  1014. package/dist/material-icons/jenkins.svg +1 -0
  1015. package/dist/material-icons/jest.svg +1 -0
  1016. package/dist/material-icons/jinja.svg +1 -0
  1017. package/dist/material-icons/jinja_light.svg +1 -0
  1018. package/dist/material-icons/jsconfig.svg +1 -0
  1019. package/dist/material-icons/json.svg +1 -0
  1020. package/dist/material-icons/json_schema.svg +1 -0
  1021. package/dist/material-icons/jsr.svg +1 -0
  1022. package/dist/material-icons/jsr_light.svg +1 -0
  1023. package/dist/material-icons/julia.svg +1 -0
  1024. package/dist/material-icons/jupyter.svg +1 -0
  1025. package/dist/material-icons/just.svg +1 -0
  1026. package/dist/material-icons/karma.svg +1 -0
  1027. package/dist/material-icons/kcl.svg +1 -0
  1028. package/dist/material-icons/key.svg +1 -0
  1029. package/dist/material-icons/keystatic.svg +1 -0
  1030. package/dist/material-icons/kivy.svg +1 -0
  1031. package/dist/material-icons/kl.svg +1 -0
  1032. package/dist/material-icons/knip.svg +1 -0
  1033. package/dist/material-icons/kotlin.svg +1 -0
  1034. package/dist/material-icons/kubernetes.svg +1 -0
  1035. package/dist/material-icons/kusto.svg +1 -0
  1036. package/dist/material-icons/label.svg +1 -0
  1037. package/dist/material-icons/laravel.svg +1 -0
  1038. package/dist/material-icons/latex-class.clone.svg +1 -0
  1039. package/dist/material-icons/latex-package.clone.svg +1 -0
  1040. package/dist/material-icons/latex.clone.svg +1 -0
  1041. package/dist/material-icons/latexmk.svg +1 -0
  1042. package/dist/material-icons/lbx.svg +1 -0
  1043. package/dist/material-icons/lean.svg +1 -0
  1044. package/dist/material-icons/lefthook.svg +1 -0
  1045. package/dist/material-icons/lerna.svg +1 -0
  1046. package/dist/material-icons/less.svg +1 -0
  1047. package/dist/material-icons/liara.svg +1 -0
  1048. package/dist/material-icons/lib.svg +1 -0
  1049. package/dist/material-icons/license.svg +1 -0
  1050. package/dist/material-icons/lighthouse.svg +1 -0
  1051. package/dist/material-icons/lilypond.svg +1 -0
  1052. package/dist/material-icons/lintstaged.svg +1 -0
  1053. package/dist/material-icons/liquid.svg +1 -0
  1054. package/dist/material-icons/lisp.svg +1 -0
  1055. package/dist/material-icons/livescript.svg +1 -0
  1056. package/dist/material-icons/lock.svg +1 -0
  1057. package/dist/material-icons/log.svg +1 -0
  1058. package/dist/material-icons/lolcode.svg +1 -0
  1059. package/dist/material-icons/lottie.svg +1 -0
  1060. package/dist/material-icons/lua.svg +1 -0
  1061. package/dist/material-icons/luau.svg +1 -0
  1062. package/dist/material-icons/lynx.svg +1 -0
  1063. package/dist/material-icons/lyric.svg +1 -0
  1064. package/dist/material-icons/macaulay2.svg +1 -0
  1065. package/dist/material-icons/makefile.svg +1 -0
  1066. package/dist/material-icons/markdoc-config.svg +1 -0
  1067. package/dist/material-icons/markdoc.svg +1 -0
  1068. package/dist/material-icons/markdown.svg +1 -0
  1069. package/dist/material-icons/markdownlint.svg +1 -0
  1070. package/dist/material-icons/markojs.svg +1 -0
  1071. package/dist/material-icons/mathematica.svg +1 -0
  1072. package/dist/material-icons/matlab.svg +1 -0
  1073. package/dist/material-icons/maven.svg +1 -0
  1074. package/dist/material-icons/mdsvex.svg +1 -0
  1075. package/dist/material-icons/mdx.svg +1 -0
  1076. package/dist/material-icons/mercurial.svg +1 -0
  1077. package/dist/material-icons/merlin.svg +1 -0
  1078. package/dist/material-icons/mermaid.svg +1 -0
  1079. package/dist/material-icons/meson.svg +1 -0
  1080. package/dist/material-icons/metro.svg +1 -0
  1081. package/dist/material-icons/minecraft-fabric.svg +1 -0
  1082. package/dist/material-icons/minecraft.svg +1 -0
  1083. package/dist/material-icons/mint.svg +1 -0
  1084. package/dist/material-icons/mist.clone.svg +1 -0
  1085. package/dist/material-icons/mjml.svg +1 -0
  1086. package/dist/material-icons/mocha.svg +1 -0
  1087. package/dist/material-icons/modernizr.svg +1 -0
  1088. package/dist/material-icons/mojo.svg +1 -0
  1089. package/dist/material-icons/moon.svg +1 -0
  1090. package/dist/material-icons/moonscript.svg +1 -0
  1091. package/dist/material-icons/mrpack.svg +1 -0
  1092. package/dist/material-icons/mxml.svg +1 -0
  1093. package/dist/material-icons/nano-staged.svg +1 -0
  1094. package/dist/material-icons/nano-staged_light.svg +1 -0
  1095. package/dist/material-icons/ndst.svg +1 -0
  1096. package/dist/material-icons/nest-controller.clone.svg +1 -0
  1097. package/dist/material-icons/nest-decorator.clone.svg +1 -0
  1098. package/dist/material-icons/nest-filter.clone.svg +1 -0
  1099. package/dist/material-icons/nest-gateway.clone.svg +1 -0
  1100. package/dist/material-icons/nest-guard.clone.svg +1 -0
  1101. package/dist/material-icons/nest-interceptor.clone.svg +1 -0
  1102. package/dist/material-icons/nest-middleware.clone.svg +1 -0
  1103. package/dist/material-icons/nest-module.clone.svg +1 -0
  1104. package/dist/material-icons/nest-pipe.clone.svg +1 -0
  1105. package/dist/material-icons/nest-resolver.clone.svg +1 -0
  1106. package/dist/material-icons/nest-service.clone.svg +1 -0
  1107. package/dist/material-icons/nest.svg +1 -0
  1108. package/dist/material-icons/netlify.svg +1 -0
  1109. package/dist/material-icons/netlify_light.svg +1 -0
  1110. package/dist/material-icons/next.svg +1 -0
  1111. package/dist/material-icons/next_light.svg +1 -0
  1112. package/dist/material-icons/nginx.svg +1 -0
  1113. package/dist/material-icons/ngrx-actions.svg +1 -0
  1114. package/dist/material-icons/ngrx-effects.svg +1 -0
  1115. package/dist/material-icons/ngrx-entity.svg +1 -0
  1116. package/dist/material-icons/ngrx-reducer.svg +1 -0
  1117. package/dist/material-icons/ngrx-selectors.svg +1 -0
  1118. package/dist/material-icons/ngrx-state.svg +1 -0
  1119. package/dist/material-icons/nim.svg +1 -0
  1120. package/dist/material-icons/nix.svg +1 -0
  1121. package/dist/material-icons/nodejs.svg +1 -0
  1122. package/dist/material-icons/nodejs_alt.svg +1 -0
  1123. package/dist/material-icons/nodemon.svg +1 -0
  1124. package/dist/material-icons/npm.svg +1 -0
  1125. package/dist/material-icons/nuget.svg +1 -0
  1126. package/dist/material-icons/nunjucks.svg +1 -0
  1127. package/dist/material-icons/nuxt.svg +1 -0
  1128. package/dist/material-icons/nx.svg +1 -0
  1129. package/dist/material-icons/objective-c.svg +1 -0
  1130. package/dist/material-icons/objective-cpp.svg +1 -0
  1131. package/dist/material-icons/ocaml.svg +1 -0
  1132. package/dist/material-icons/odin.svg +1 -0
  1133. package/dist/material-icons/onnx.svg +1 -0
  1134. package/dist/material-icons/opa.svg +1 -0
  1135. package/dist/material-icons/opam.svg +1 -0
  1136. package/dist/material-icons/openapi.svg +1 -0
  1137. package/dist/material-icons/openapi_light.svg +1 -0
  1138. package/dist/material-icons/opencode.svg +1 -0
  1139. package/dist/material-icons/opencode_light.svg +1 -0
  1140. package/dist/material-icons/opentofu.svg +1 -0
  1141. package/dist/material-icons/opentofu_light.svg +1 -0
  1142. package/dist/material-icons/otne.svg +1 -0
  1143. package/dist/material-icons/oxc.svg +1 -0
  1144. package/dist/material-icons/packship.svg +1 -0
  1145. package/dist/material-icons/palette.svg +1 -0
  1146. package/dist/material-icons/panda.svg +1 -0
  1147. package/dist/material-icons/parcel.svg +1 -0
  1148. package/dist/material-icons/pascal.svg +1 -0
  1149. package/dist/material-icons/pawn.svg +1 -0
  1150. package/dist/material-icons/payload.svg +1 -0
  1151. package/dist/material-icons/payload_light.svg +1 -0
  1152. package/dist/material-icons/pdf.svg +1 -0
  1153. package/dist/material-icons/pdm.svg +1 -0
  1154. package/dist/material-icons/percy.svg +1 -0
  1155. package/dist/material-icons/perl.svg +1 -0
  1156. package/dist/material-icons/php-cs-fixer.svg +1 -0
  1157. package/dist/material-icons/php.svg +1 -0
  1158. package/dist/material-icons/php_elephant.svg +1 -0
  1159. package/dist/material-icons/php_elephant_pink.svg +1 -0
  1160. package/dist/material-icons/phpstan.svg +1 -0
  1161. package/dist/material-icons/phpunit.svg +1 -0
  1162. package/dist/material-icons/pinejs.svg +1 -0
  1163. package/dist/material-icons/pipeline.svg +1 -0
  1164. package/dist/material-icons/pkl.svg +1 -0
  1165. package/dist/material-icons/plastic.svg +1 -0
  1166. package/dist/material-icons/playwright.svg +1 -0
  1167. package/dist/material-icons/plop.svg +1 -0
  1168. package/dist/material-icons/pm2-ecosystem.svg +1 -0
  1169. package/dist/material-icons/pnpm.svg +1 -0
  1170. package/dist/material-icons/pnpm_light.svg +1 -0
  1171. package/dist/material-icons/poetry.svg +1 -0
  1172. package/dist/material-icons/postcss.svg +1 -0
  1173. package/dist/material-icons/posthtml.svg +1 -0
  1174. package/dist/material-icons/powerpoint.svg +1 -0
  1175. package/dist/material-icons/powershell.svg +1 -0
  1176. package/dist/material-icons/pre-commit.svg +1 -0
  1177. package/dist/material-icons/prettier.svg +1 -0
  1178. package/dist/material-icons/prisma.svg +1 -0
  1179. package/dist/material-icons/processing.svg +1 -0
  1180. package/dist/material-icons/prolog.svg +1 -0
  1181. package/dist/material-icons/prompt.svg +1 -0
  1182. package/dist/material-icons/proto.svg +1 -0
  1183. package/dist/material-icons/protractor.svg +1 -0
  1184. package/dist/material-icons/pug.svg +1 -0
  1185. package/dist/material-icons/puppet.svg +1 -0
  1186. package/dist/material-icons/puppeteer.svg +1 -0
  1187. package/dist/material-icons/purescript.svg +1 -0
  1188. package/dist/material-icons/python-misc.svg +1 -0
  1189. package/dist/material-icons/python.svg +1 -0
  1190. package/dist/material-icons/pytorch.svg +1 -0
  1191. package/dist/material-icons/qsharp.svg +1 -0
  1192. package/dist/material-icons/quarto.svg +1 -0
  1193. package/dist/material-icons/quasar.svg +1 -0
  1194. package/dist/material-icons/quokka.svg +1 -0
  1195. package/dist/material-icons/qwik.svg +1 -0
  1196. package/dist/material-icons/r.svg +1 -0
  1197. package/dist/material-icons/racket.svg +1 -0
  1198. package/dist/material-icons/raml.svg +1 -0
  1199. package/dist/material-icons/razor.svg +1 -0
  1200. package/dist/material-icons/rbxmk.svg +1 -0
  1201. package/dist/material-icons/rc.svg +1 -0
  1202. package/dist/material-icons/react.svg +1 -0
  1203. package/dist/material-icons/react_ts.svg +1 -0
  1204. package/dist/material-icons/readme.svg +1 -0
  1205. package/dist/material-icons/reason.svg +1 -0
  1206. package/dist/material-icons/red.svg +1 -0
  1207. package/dist/material-icons/redux-action.svg +1 -0
  1208. package/dist/material-icons/redux-reducer.svg +1 -0
  1209. package/dist/material-icons/redux-selector.svg +1 -0
  1210. package/dist/material-icons/redux-store.svg +1 -0
  1211. package/dist/material-icons/regedit.svg +1 -0
  1212. package/dist/material-icons/remark.svg +1 -0
  1213. package/dist/material-icons/remix.svg +1 -0
  1214. package/dist/material-icons/remix_light.svg +1 -0
  1215. package/dist/material-icons/renovate.svg +1 -0
  1216. package/dist/material-icons/replit.svg +1 -0
  1217. package/dist/material-icons/rescript-interface.svg +1 -0
  1218. package/dist/material-icons/rescript.svg +1 -0
  1219. package/dist/material-icons/restql.svg +1 -0
  1220. package/dist/material-icons/riot.svg +1 -0
  1221. package/dist/material-icons/roadmap.svg +1 -0
  1222. package/dist/material-icons/roblox.svg +1 -0
  1223. package/dist/material-icons/robot.svg +1 -0
  1224. package/dist/material-icons/robots.svg +1 -0
  1225. package/dist/material-icons/rocket.svg +1 -0
  1226. package/dist/material-icons/rojo.svg +1 -0
  1227. package/dist/material-icons/rolldown.svg +1 -0
  1228. package/dist/material-icons/rollup.svg +1 -0
  1229. package/dist/material-icons/rome.svg +1 -0
  1230. package/dist/material-icons/routing.svg +1 -0
  1231. package/dist/material-icons/rspec.svg +1 -0
  1232. package/dist/material-icons/rstack.svg +1 -0
  1233. package/dist/material-icons/rubocop.svg +1 -0
  1234. package/dist/material-icons/rubocop_light.svg +1 -0
  1235. package/dist/material-icons/ruby.svg +1 -0
  1236. package/dist/material-icons/ruff.svg +1 -0
  1237. package/dist/material-icons/rust.svg +1 -0
  1238. package/dist/material-icons/salesforce.svg +1 -0
  1239. package/dist/material-icons/salt.svg +1 -0
  1240. package/dist/material-icons/san.svg +1 -0
  1241. package/dist/material-icons/sas.svg +1 -0
  1242. package/dist/material-icons/sass.svg +1 -0
  1243. package/dist/material-icons/sbt.svg +1 -0
  1244. package/dist/material-icons/scala.svg +1 -0
  1245. package/dist/material-icons/scheme.svg +1 -0
  1246. package/dist/material-icons/scons.svg +1 -0
  1247. package/dist/material-icons/scons_light.svg +1 -0
  1248. package/dist/material-icons/screwdriver.svg +1 -0
  1249. package/dist/material-icons/search.svg +1 -0
  1250. package/dist/material-icons/semantic-release.svg +1 -0
  1251. package/dist/material-icons/semantic-release_light.svg +1 -0
  1252. package/dist/material-icons/semgrep.svg +1 -0
  1253. package/dist/material-icons/sentry.svg +1 -0
  1254. package/dist/material-icons/sequelize.svg +1 -0
  1255. package/dist/material-icons/serverless.svg +1 -0
  1256. package/dist/material-icons/settings.svg +1 -0
  1257. package/dist/material-icons/shader.svg +1 -0
  1258. package/dist/material-icons/shellcheck.svg +1 -0
  1259. package/dist/material-icons/shellcheck_light.svg +1 -0
  1260. package/dist/material-icons/silverstripe.svg +1 -0
  1261. package/dist/material-icons/simulink.svg +1 -0
  1262. package/dist/material-icons/siyuan.svg +1 -0
  1263. package/dist/material-icons/sketch.svg +1 -0
  1264. package/dist/material-icons/skill.svg +1 -0
  1265. package/dist/material-icons/slim.svg +1 -0
  1266. package/dist/material-icons/slint.svg +1 -0
  1267. package/dist/material-icons/slug.svg +1 -0
  1268. package/dist/material-icons/smarty.svg +1 -0
  1269. package/dist/material-icons/sml.svg +1 -0
  1270. package/dist/material-icons/snakemake.svg +1 -0
  1271. package/dist/material-icons/snapcraft.svg +1 -0
  1272. package/dist/material-icons/snowpack.svg +1 -0
  1273. package/dist/material-icons/snowpack_light.svg +1 -0
  1274. package/dist/material-icons/snyk.svg +1 -0
  1275. package/dist/material-icons/solidity.svg +1 -0
  1276. package/dist/material-icons/sonarcloud.svg +1 -0
  1277. package/dist/material-icons/spwn.svg +1 -0
  1278. package/dist/material-icons/stackblitz.svg +1 -0
  1279. package/dist/material-icons/stan.svg +1 -0
  1280. package/dist/material-icons/steadybit.svg +1 -0
  1281. package/dist/material-icons/stencil.svg +1 -0
  1282. package/dist/material-icons/stitches.svg +1 -0
  1283. package/dist/material-icons/stitches_light.svg +1 -0
  1284. package/dist/material-icons/storybook.svg +1 -0
  1285. package/dist/material-icons/stryker.svg +1 -0
  1286. package/dist/material-icons/sty.clone.svg +1 -0
  1287. package/dist/material-icons/stylable.svg +1 -0
  1288. package/dist/material-icons/stylelint.svg +1 -0
  1289. package/dist/material-icons/stylelint_light.svg +1 -0
  1290. package/dist/material-icons/stylus.svg +1 -0
  1291. package/dist/material-icons/sublime.svg +1 -0
  1292. package/dist/material-icons/subtitles.svg +1 -0
  1293. package/dist/material-icons/supabase.svg +1 -0
  1294. package/dist/material-icons/svelte.svg +1 -0
  1295. package/dist/material-icons/svelte_js.clone.svg +1 -0
  1296. package/dist/material-icons/svelte_ts.clone.svg +1 -0
  1297. package/dist/material-icons/svg.svg +1 -0
  1298. package/dist/material-icons/svgo.svg +1 -0
  1299. package/dist/material-icons/svgr.svg +1 -0
  1300. package/dist/material-icons/swagger.svg +1 -0
  1301. package/dist/material-icons/sway.svg +1 -0
  1302. package/dist/material-icons/swc.svg +1 -0
  1303. package/dist/material-icons/swift.svg +1 -0
  1304. package/dist/material-icons/syncpack.svg +1 -0
  1305. package/dist/material-icons/systemd.svg +1 -0
  1306. package/dist/material-icons/systemd_light.svg +1 -0
  1307. package/dist/material-icons/table.svg +1 -0
  1308. package/dist/material-icons/tailwindcss.svg +1 -0
  1309. package/dist/material-icons/tape.clone.svg +1 -0
  1310. package/dist/material-icons/taskfile.svg +1 -0
  1311. package/dist/material-icons/tauri.svg +1 -0
  1312. package/dist/material-icons/taze.svg +1 -0
  1313. package/dist/material-icons/tcl.svg +1 -0
  1314. package/dist/material-icons/teal.svg +1 -0
  1315. package/dist/material-icons/templ.svg +1 -0
  1316. package/dist/material-icons/template.svg +1 -0
  1317. package/dist/material-icons/terraform.svg +1 -0
  1318. package/dist/material-icons/test-js.svg +1 -0
  1319. package/dist/material-icons/test-jsx.svg +1 -0
  1320. package/dist/material-icons/test-ts.svg +1 -0
  1321. package/dist/material-icons/tex.svg +1 -0
  1322. package/dist/material-icons/textlint.svg +1 -0
  1323. package/dist/material-icons/tilt.svg +1 -0
  1324. package/dist/material-icons/tldraw.svg +1 -0
  1325. package/dist/material-icons/tldraw_light.svg +1 -0
  1326. package/dist/material-icons/tobi.svg +1 -0
  1327. package/dist/material-icons/tobimake.svg +1 -0
  1328. package/dist/material-icons/toc.svg +1 -0
  1329. package/dist/material-icons/todo.svg +1 -0
  1330. package/dist/material-icons/toml.svg +1 -0
  1331. package/dist/material-icons/toml_light.svg +1 -0
  1332. package/dist/material-icons/toon.svg +1 -0
  1333. package/dist/material-icons/travis.svg +1 -0
  1334. package/dist/material-icons/tree.svg +1 -0
  1335. package/dist/material-icons/trigger.svg +1 -0
  1336. package/dist/material-icons/tsconfig.svg +1 -0
  1337. package/dist/material-icons/tsdoc.svg +1 -0
  1338. package/dist/material-icons/tsdown.svg +1 -0
  1339. package/dist/material-icons/tsil.svg +1 -0
  1340. package/dist/material-icons/tune.svg +1 -0
  1341. package/dist/material-icons/turborepo.svg +1 -0
  1342. package/dist/material-icons/turborepo_light.svg +1 -0
  1343. package/dist/material-icons/twig.svg +1 -0
  1344. package/dist/material-icons/twine.svg +1 -0
  1345. package/dist/material-icons/typedoc.svg +1 -0
  1346. package/dist/material-icons/typescript-def.svg +1 -0
  1347. package/dist/material-icons/typescript.svg +1 -0
  1348. package/dist/material-icons/typst.svg +1 -0
  1349. package/dist/material-icons/uiua.svg +1 -0
  1350. package/dist/material-icons/umi.svg +1 -0
  1351. package/dist/material-icons/uml.svg +1 -0
  1352. package/dist/material-icons/uml_light.svg +1 -0
  1353. package/dist/material-icons/unity.svg +1 -0
  1354. package/dist/material-icons/unlicense.svg +1 -0
  1355. package/dist/material-icons/unocss.svg +1 -0
  1356. package/dist/material-icons/url.svg +1 -0
  1357. package/dist/material-icons/uv.svg +1 -0
  1358. package/dist/material-icons/vagrant.svg +1 -0
  1359. package/dist/material-icons/vala.svg +1 -0
  1360. package/dist/material-icons/vanilla-extract.svg +1 -0
  1361. package/dist/material-icons/varnish.svg +1 -0
  1362. package/dist/material-icons/vedic.svg +1 -0
  1363. package/dist/material-icons/velite.svg +1 -0
  1364. package/dist/material-icons/velocity.svg +1 -0
  1365. package/dist/material-icons/vercel.svg +1 -0
  1366. package/dist/material-icons/vercel_light.svg +1 -0
  1367. package/dist/material-icons/verdaccio.svg +1 -0
  1368. package/dist/material-icons/verified.svg +1 -0
  1369. package/dist/material-icons/verilog.svg +1 -0
  1370. package/dist/material-icons/verse.svg +1 -0
  1371. package/dist/material-icons/verse_light.svg +1 -0
  1372. package/dist/material-icons/vfl.svg +1 -0
  1373. package/dist/material-icons/video.svg +1 -0
  1374. package/dist/material-icons/vim.svg +1 -0
  1375. package/dist/material-icons/virtual.svg +1 -0
  1376. package/dist/material-icons/visualstudio.svg +1 -0
  1377. package/dist/material-icons/vite.svg +1 -0
  1378. package/dist/material-icons/vitest.svg +1 -0
  1379. package/dist/material-icons/vlang.svg +1 -0
  1380. package/dist/material-icons/vscode.svg +1 -0
  1381. package/dist/material-icons/vue-config.svg +1 -0
  1382. package/dist/material-icons/vue.svg +1 -0
  1383. package/dist/material-icons/vuex-store.svg +1 -0
  1384. package/dist/material-icons/wakatime.svg +1 -0
  1385. package/dist/material-icons/wakatime_light.svg +1 -0
  1386. package/dist/material-icons/wallaby.svg +1 -0
  1387. package/dist/material-icons/wally.svg +1 -0
  1388. package/dist/material-icons/warp.svg +1 -0
  1389. package/dist/material-icons/warp_light.svg +1 -0
  1390. package/dist/material-icons/watchman.svg +1 -0
  1391. package/dist/material-icons/webassembly.svg +1 -0
  1392. package/dist/material-icons/webhint.svg +1 -0
  1393. package/dist/material-icons/webpack.svg +1 -0
  1394. package/dist/material-icons/wepy.svg +1 -0
  1395. package/dist/material-icons/werf.svg +1 -0
  1396. package/dist/material-icons/windicss.svg +1 -0
  1397. package/dist/material-icons/wolframlanguage.svg +1 -0
  1398. package/dist/material-icons/word.svg +1 -0
  1399. package/dist/material-icons/wrangler.svg +1 -0
  1400. package/dist/material-icons/wxt.svg +1 -0
  1401. package/dist/material-icons/xaml.svg +1 -0
  1402. package/dist/material-icons/xmake.svg +1 -0
  1403. package/dist/material-icons/xml.svg +1 -0
  1404. package/dist/material-icons/yaml.svg +1 -0
  1405. package/dist/material-icons/yang.svg +1 -0
  1406. package/dist/material-icons/yarn.svg +1 -0
  1407. package/dist/material-icons/zeabur.svg +1 -0
  1408. package/dist/material-icons/zeabur_light.svg +1 -0
  1409. package/dist/material-icons/zig.svg +1 -0
  1410. package/dist/material-icons/zip.svg +1 -0
  1411. package/dist/theme-init.js +10 -0
  1412. package/docs/architecture.md +311 -0
  1413. package/docs/configuration.md +141 -0
  1414. package/docs/deployment.md +117 -0
  1415. package/docs/security-upgrade.md +35 -0
  1416. package/package.json +81 -4
  1417. package/runtime/server/src/app.js +71 -0
  1418. package/runtime/server/src/config/config.js +173 -0
  1419. package/runtime/server/src/lib/concurrency.js +44 -0
  1420. package/runtime/server/src/lib/errors.js +39 -0
  1421. package/runtime/server/src/lib/http-range.js +27 -0
  1422. package/runtime/server/src/lib/shell-quote.js +14 -0
  1423. package/runtime/server/src/lib/validation.js +11 -0
  1424. package/runtime/server/src/main.js +70 -0
  1425. package/runtime/server/src/modules/auth/auth-security.js +104 -0
  1426. package/runtime/server/src/modules/auth/auth-service.js +96 -0
  1427. package/runtime/server/src/modules/auth/auth.routes.js +108 -0
  1428. package/runtime/server/src/modules/auth/login-limiter.js +40 -0
  1429. package/runtime/server/src/modules/auth/password.js +29 -0
  1430. package/runtime/server/src/modules/auth/session-tokens.js +90 -0
  1431. package/runtime/server/src/modules/commit-message/commit-message-generator.js +203 -0
  1432. package/runtime/server/src/modules/commit-message/occ-config.js +53 -0
  1433. package/runtime/server/src/modules/exec/command-runner.js +91 -0
  1434. package/runtime/server/src/modules/filesystem/file-system-driver.js +1 -0
  1435. package/runtime/server/src/modules/filesystem/local-driver.js +95 -0
  1436. package/runtime/server/src/modules/filesystem/restricted-driver.js +114 -0
  1437. package/runtime/server/src/modules/filesystem/sftp-driver.js +105 -0
  1438. package/runtime/server/src/modules/filesystem/workspace-file-service.js +328 -0
  1439. package/runtime/server/src/modules/filesystem/workspace-path.js +31 -0
  1440. package/runtime/server/src/modules/git/git-parsers.js +229 -0
  1441. package/runtime/server/src/modules/git/git-service.js +597 -0
  1442. package/runtime/server/src/modules/git/git.routes.js +68 -0
  1443. package/runtime/server/src/modules/hosts/directory-browser.js +36 -0
  1444. package/runtime/server/src/modules/hosts/host-service.js +260 -0
  1445. package/runtime/server/src/modules/hosts/host.routes.js +31 -0
  1446. package/runtime/server/src/modules/hosts/key-installer.js +58 -0
  1447. package/runtime/server/src/modules/ssh/host-key-probe.js +64 -0
  1448. package/runtime/server/src/modules/ssh/host-key-verifier.js +153 -0
  1449. package/runtime/server/src/modules/ssh/ssh-config.js +1 -0
  1450. package/runtime/server/src/modules/ssh/ssh-connection-manager.js +190 -0
  1451. package/runtime/server/src/modules/ssh/ssh-connection.js +93 -0
  1452. package/runtime/server/src/modules/store/app-store.js +138 -0
  1453. package/runtime/server/src/modules/terminal/output-buffer.js +54 -0
  1454. package/runtime/server/src/modules/terminal/pty.js +1 -0
  1455. package/runtime/server/src/modules/terminal/ssh-pty-provider.js +91 -0
  1456. package/runtime/server/src/modules/terminal/terminal-manager.js +70 -0
  1457. package/runtime/server/src/modules/terminal/terminal-session.js +124 -0
  1458. package/runtime/server/src/modules/terminal/terminal-socket.js +170 -0
  1459. package/runtime/server/src/modules/terminal/terminal.routes.js +19 -0
  1460. package/runtime/server/src/modules/workspace/workspace-registry.js +231 -0
  1461. package/runtime/server/src/modules/workspace/workspace.routes.js +97 -0
  1462. package/runtime/server/src/scripts/reset-password.js +21 -0
  1463. package/runtime/server/src/services.js +35 -0
  1464. package/runtime/src/schema/api.js +30 -0
  1465. package/runtime/src/schema/auth.js +20 -0
  1466. package/runtime/src/schema/git.js +233 -0
  1467. package/runtime/src/schema/hosts.js +115 -0
  1468. package/runtime/src/schema/terminal.js +48 -0
  1469. package/runtime/src/schema/workspace.js +151 -0
@@ -0,0 +1,8 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-DdeR5kYT.js","assets/codemirror-DRp8cs-R.js","assets/dist-BN1wE2xy.js","assets/dist-CYNLiE2B.js","assets/dist-DOcORAD_.js","assets/client-BaUFYZ28.js","assets/dist-BGyMVrYk.js","assets/dist-CL_zGtiO.js","assets/dist-aVl135DR.js","assets/dist-D7xXmJTH.js","assets/dist-FOmLcFeD.js","assets/dist-JuM3aKGD.js","assets/dist-CyOGylYO.js","assets/dist-3tAAASIu.js","assets/dist-DGmHtnYo.js","assets/dist-y7gdVNBt.js","assets/dist-AXYnLL_F.js","assets/dist-CM8yt5f_.js","assets/dist-S0tn--lj.js","assets/dist-CDAjPDtI.js","assets/dist-D-bo6lHS.js","assets/dist-DyYo49jM.js","assets/dockerfile-DJkHQgkl.js","assets/simple-mode-DXiLM1-G.js","assets/factor-LKH5gN8L.js","assets/nsis-viPvXFiq.js","assets/pug-Dwd_FmgJ.js","assets/javascript-Bu8mWwtz.js","assets/dist-FUrprsRT.js","assets/dist-CJBq646Z.js","assets/markdown-view-BQbaAkAk.js","assets/index-Cz0KzQeb.js","assets/spinner-Dhw2p8cg.js","assets/query-D1fTvh27.js","assets/middleware-C1xnEbcF.js","assets/index-B5KQ4hDp.css","assets/markdown-view-aK-tdIwk.css"])))=>i.map(i=>d[i]);
2
+ import{C as e,b as t,n,r,w as i,x as a}from"./client-BaUFYZ28.js";import{B as o,J as s,P as c,S as l,f as u,i as d,n as f,r as p,t as m}from"./spinner-Dhw2p8cg.js";import{t as h}from"./useQuery-CTJ-5_ol.js";import{i as g,n as _,r as v,t as y}from"./use-visual-viewport-CHPXxqd5.js";import{t as b}from"./arrow-left-B5CLiIbq.js";import{n as x,t as S}from"./corner-down-left-B7l-mMrb.js";import{n as C,r as w,t as T}from"./copy-button-DlOU9KRy.js";import{n as ee,r as E,t as D}from"./material-icon-RrSZDDw2.js";import{n as te,t as O}from"./triangle-alert-CKXjnNZK.js";import{a as k,c as ne,i as re,l as ie,n as ae,o as oe,s as se,t as ce,u as A}from"./port-links-8g2kBRfp.js";import{n as le,t as ue}from"./eye-2RNiMHO-.js";import{t as de}from"./sparkles-rMOjCpPO.js";import{t as fe}from"./square-terminal-DL7ubCPR.js";import{n as pe,t as j}from"./empty-state-CkET1cGs.js";import{n as me,r as he,t as ge}from"./middleware-C1xnEbcF.js";import{B as _e,C as ve,D as ye,E as be,F as xe,H as Se,I as Ce,K as we,L as Te,R as Ee,S as De,T as Oe,U as ke,V as Ae,W as je,_ as Me,a as Ne,b as Pe,c as M,d as Fe,f as Ie,g as N,h as P,i as Le,l as F,m as I,o as Re,p as ze,u as L,v as Be,w as Ve,z as He}from"./index-Cz0KzQeb.js";import{$ as Ue,C as We,G as Ge,H as R,J as Ke,K as qe,Q as Je,R as Ye,S as Xe,U as Ze,W as z,X as Qe,Y as $e,Z as et,a as tt,b as nt,c as rt,d as it,ft as at,g as ot,i as st,j as ct,k as lt,l as ut,n as dt,o as ft,ot as pt,q as mt,r as ht,rt as gt,s as _t,st as vt,t as yt,tt as bt,u as xt,y as B}from"./codemirror-DRp8cs-R.js";import"./xterm-OPnvFLvt.js";import{t as V}from"./layout.store-b9Rb2T9G.js";var H=i(a(),1);function St(e,t){let n=s(t),r=n.getQueryCache();return H.useSyncExternalStore(H.useCallback(e=>r.subscribe(l.batchCalls(e)),[r]),()=>n.isFetching(e),()=>n.isFetching(e))}function Ct(e,t){return e.findAll(t.filters).map(e=>t.select?t.select(e):e.state)}function wt(e={},t){let n=s(t).getMutationCache(),r=H.useRef(e),i=H.useRef(null);return i.current===null&&(i.current=Ct(n,e)),H.useEffect(()=>{r.current=e}),H.useSyncExternalStore(H.useCallback(e=>n.subscribe(()=>{let t=o(i.current,Ct(n,r.current));i.current!==t&&(i.current=t,l.schedule(e))}),[n]),()=>i.current,()=>i.current)}var Tt={name:`arrow-big-up-dash`,size:24,node:[[`path`,{d:`M14 16a1 1 0 0 0 1-1v-2a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-6.939-6.939a1.207 1.207 0 0 0-1.708 0l-6.94 6.94a.707.707 0 0 0 .5 1.206H8a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1z`,key:`q57loy`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]};Tt.node;var Et=d(Tt),Dt={name:`arrow-big-up`,size:24,node:[[`path`,{d:`M9 19a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-7.086-7.086a1 1 0 0 0-1.414 0l-7.086 7.086a.707.707 0 0 0 .5 1.207H8a1 1 0 0 1 1 1z`,key:`106j91`}]]};Dt.node;var Ot=d(Dt),kt={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};kt.node;var At=d(kt),jt={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};jt.node;var Mt=d(jt),Nt={name:`arrow-right-to-line`,size:24,node:[[`path`,{d:`M17 12H3`,key:`8awo09`}],[`path`,{d:`m11 18 6-6-6-6`,key:`8c2y43`}],[`path`,{d:`M21 5v14`,key:`nzette`}]]};Nt.node;var Pt=d(Nt),Ft={name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]};Ft.node;var It=d(Ft),Lt={name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]};Lt.node;var Rt=d(Lt),zt={name:`clipboard-paste`,size:24,node:[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]};zt.node;var Bt=d(zt),Vt={name:`cloud-upload`,size:24,node:[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]],aliases:[`upload-cloud`]};Vt.node;var Ht=d(Vt),Ut={name:`cloud`,size:24,node:[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]};Ut.node;var Wt=d(Ut),Gt={name:`corner-down-right`,size:24,node:[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]};Gt.node;var Kt=d(Gt),qt={name:`delete`,size:24,node:[[`path`,{d:`M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z`,key:`1yo7s0`}],[`path`,{d:`m12 9 6 6`,key:`anjzzh`}],[`path`,{d:`m18 9-6 6`,key:`1fp51s`}]]};qt.node;var Jt=d(qt),Yt={name:`download`,size:24,node:[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]};Yt.node;var Xt=d(Yt),Zt={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};Zt.node;var Qt=d(Zt),$t={name:`file-diff`,size:24,node:[[`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:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]};$t.node;var en=d($t),tn={name:`file-exclamation-point`,size:24,node:[[`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:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`file-warning`]};tn.node;var nn=d(tn),rn={name:`file-plus`,size:24,node:[[`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:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]};rn.node;var an=d(rn),on={name:`file-text`,size:24,node:[[`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`}]]};on.node;var sn=d(on),cn={name:`file-x-corner`,size:24,node:[[`path`,{d:`M11 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5`,key:`1jo35a`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m15 17 5 5`,key:`36xl1x`}],[`path`,{d:`m20 17-5 5`,key:`vdz27y`}]],aliases:[`file-x-2`]};cn.node;var ln=d(cn),un={name:`fold-vertical`,size:24,node:[[`path`,{d:`M12 22v-6`,key:`6o8u61`}],[`path`,{d:`M12 8V2`,key:`1wkif3`}],[`path`,{d:`M4 12H2`,key:`rhcxmi`}],[`path`,{d:`M10 12H8`,key:`s88cx1`}],[`path`,{d:`M16 12h-2`,key:`10asgb`}],[`path`,{d:`M22 12h-2`,key:`14jgyd`}],[`path`,{d:`m15 19-3-3-3 3`,key:`e37ymu`}],[`path`,{d:`m15 5-3 3-3-3`,key:`19d6lf`}]]};un.node;var dn=d(un),fn={name:`folder-git-2`,size:24,node:[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]};fn.node;var pn=d(fn),mn={name:`folder-tree`,size:24,node:[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]};mn.node;var hn=d(mn),gn={name:`git-branch`,size:24,node:[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]};gn.node;var _n=d(gn),vn={name:`git-commit-horizontal`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]],aliases:[`git-commit`]};vn.node;var yn=d(vn),bn={name:`git-compare-arrows`,size:24,node:[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`,key:`16sdep`}],[`path`,{d:`m9 15 3 3-3 3`,key:`1m3kbl`}]]};bn.node;var xn=d(bn),Sn={name:`git-fork`,size:24,node:[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]};Sn.node;var Cn=d(Sn),wn={name:`globe`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]};wn.node;var Tn=d(wn),En={name:`image-off`,size:24,node:[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]};En.node;var Dn=d(En),On={name:`keyboard`,size:24,node:[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]};On.node;var kn=d(On),An={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};An.node;var jn=d(An),Mn={name:`link`,size:24,node:[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]};Mn.node;var Nn=d(Mn),Pn={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};Pn.node;var Fn=d(Pn),In={name:`panel-left`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]],aliases:[`sidebar`]};In.node;var Ln=d(In),Rn={name:`panel-right`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]};Rn.node;var zn=d(Rn),Bn={name:`redo`,size:24,node:[[`path`,{d:`M21 7v6h-6`,key:`3ptur4`}],[`path`,{d:`M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7`,key:`1kgawr`}]]};Bn.node;var Vn=d(Bn),Hn={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};Hn.node;var Un=d(Hn),Wn={name:`rotate-ccw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]};Wn.node;var Gn=d(Wn),Kn={name:`save`,size:24,node:[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]};Kn.node;var qn=d(Kn),Jn={name:`scan`,size:24,node:[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]};Jn.node;var Yn=d(Jn),Xn={name:`scissors`,size:24,node:[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]};Xn.node;var Zn=d(Xn),Qn={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};Qn.node;var $n=d(Qn),er={name:`server`,size:24,node:[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]};er.node;var tr=d(er),nr={name:`smartphone`,size:24,node:[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]};nr.node;var rr=d(nr),ir={name:`tag`,size:24,node:[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]};ir.node;var ar=d(ir),or={name:`target`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]};or.node;var sr=d(or),cr={name:`text-wrap`,size:24,node:[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]],aliases:[`wrap-text`]};cr.node;var lr=d(cr),ur={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};ur.node;var dr=d(ur),fr={name:`undo`,size:24,node:[[`path`,{d:`M3 7v6h6`,key:`1v2h90`}],[`path`,{d:`M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13`,key:`1r6uu6`}]]};fr.node;var pr=d(fr),mr={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};mr.node;var hr=d(mr),gr=we(),U=t();function _r(e){return/\.(md|markdown|mdown|mkd|mkdn)$/i.test(e)}function vr(e,t){if(!t||/^[#?]/.test(t)||t.startsWith(`//`)||/^[a-z][a-z\d+.-]*:/i.test(t))return null;let n;try{n=decodeURIComponent(t.split(/[?#]/,1)[0])}catch{return null}if(!n||/[\0\\]/.test(n))return null;let r=n.startsWith(`/`)?[]:e.split(`/`).slice(0,-1);for(let e of n.split(`/`))if(e&&e!==`.`){if(e===`..`){if(!r.length)return null;r.pop()}else r.push(e)}return r.join(`/`)||null}var yr=class extends H.Component{state={error:null,resetKey:this.props.resetKey};static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{error:null,resetKey:e.resetKey}}componentDidCatch(e,t){console.error(`[${this.props.label??`panel`}] render error`,e,t.componentStack)}render(){return this.state.error?(0,U.jsx)(j,{icon:O,tone:`error`,title:`${this.props.label??`This panel`} crashed`,description:this.state.error.message,children:(0,U.jsx)(_,{size:`sm`,onClick:()=>this.setState({error:null}),children:`Try again`})}):this.props.children}},br=(e,t)=>`${e}\u0000${t}`,W=he()(e=>({drafts:{},setDraft:(t,n)=>e(e=>({drafts:{...e.drafts,[t]:n}})),clearDraft:t=>e(e=>{if(!(t in e.drafts))return e;let n={...e.drafts};return delete n[t],{drafts:n}}),movePath:(t,n,r)=>e(e=>{let i=br(t,``),a=!1,o={};for(let[s,c]of Object.entries(e.drafts)){let e=s.startsWith(i)?Ne(s.slice(i.length),n,r??n):null;e===null?o[s]=c:(a=!0,r!==null&&(o[br(t,e)]=c))}return a?{drafts:o}:e})})),xr=e=>Object.keys(e.drafts).length>0;function Sr(){let e=W(xr);(0,H.useEffect)(()=>{if(!e)return;let t=e=>e.preventDefault();return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e])}function Cr(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,n.click()}var wr=e=>e.split(`/`).map((e,t,n)=>n.slice(0,t+1).join(`/`)),G=he()(me(e=>({expanded:{},showHidden:!0,selected:{},clipboard:null,pending:null,toggle:(t,n)=>e(e=>{let r={...e.expanded[t]};return r[n]?delete r[n]:r[n]=!0,{expanded:{...e.expanded,[t]:r}}}),expand:(t,n)=>e(e=>{if(n===``)return e;let r=e.expanded[t]??{},i=wr(n).filter(e=>!r[e]);return i.length===0?e:{expanded:{...e.expanded,[t]:{...r,...Object.fromEntries(i.map(e=>[e,!0]))}}}}),collapseAll:t=>e(e=>({expanded:{...e.expanded,[t]:{}}})),toggleHidden:()=>e(e=>({showHidden:!e.showHidden})),select:(t,n,r)=>e(e=>({selected:{...e.selected,[t]:{path:n,type:r}}})),setClipboard:t=>e({clipboard:t}),setPending:t=>e({pending:t})}),{name:`remote-workspace:explorer`,version:2,storage:ge(()=>localStorage),partialize:({expanded:e,showHidden:t})=>({expanded:e,showHidden:t}),migrate:e=>({expanded:{},showHidden:e?.showHidden??!0})})),Tr=e=>e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``,Er=e=>e?e.type===`directory`?e.path:Tr(e.path):``,Dr=(e,t)=>e?`${e}/${t}`:t;function Or(e){let t=F(),n=s(),i=g({mutationFn:e=>e(),onSettled:()=>{n.invalidateQueries({queryKey:N.tree(t)}),n.invalidateQueries({queryKey:N.git(t)})}}),a=()=>G.getState(),o=(e,n)=>a().select(t,e,n),c=(e,n)=>{M.getState().movePath(e,n),W.getState().movePath(t,e,n);let{clipboard:r,expanded:i}=a();if(r?.workspaceId===t){let t=Ne(r.path,e,n);t!==null&&a().setClipboard({...r,path:t})}i[t]?.[e]&&a().toggle(t,n)},l=(e,n=Er(a().selected[t]))=>{a().expand(t,n),a().setPending({workspaceId:t,kind:`create`,parent:n,type:e})},u=(e,n)=>{o(e,n),a().setPending({workspaceId:t,kind:`rename`,path:e,type:n})},d=async(n,s)=>{try{return await i.mutateAsync(async()=>{if(n.kind===`create`){let{path:r}=await Be(t,{path:Dr(n.parent,s),type:n.type});a().expand(t,n.type===`directory`?r:Tr(r)),o(r,n.type),n.type===`file`&&e(r)}else{let{path:e}=await Oe(t,{path:n.path,name:s});c(n.path,e),o(e,n.type)}}),a().setPending(null),null}catch(e){return i.reset(),r(e)}},f=(e,n,r)=>a().setClipboard({workspaceId:t,path:e,type:n,mode:r});return{startCreate:l,startRename:u,submitName:d,cancelName:()=>a().setPending(null),cut:(e,t)=>f(e,t,`cut`),copy:(e,t)=>f(e,t,`copy`),paste:e=>{let n=a().clipboard;n?.workspaceId===t&&i.mutate(async()=>{if(n.mode===`copy`){let{path:r}=await Me(t,{path:n.path,destination:e});o(r,n.type)}else{let{path:r}=await ve(t,{path:n.path,destination:e});c(n.path,r),a().setClipboard(null),o(r,n.type)}a().expand(t,e)})},remove:(e,n)=>{let r=n===`directory`?`the folder "${L(e)}" and everything in it`:`"${L(e)}"`;window.confirm(`Delete ${r}? This cannot be undone.`)&&i.mutate(async()=>{await Pe(t,{path:e}),M.getState().closePath(e),W.getState().movePath(t,e,null);let n=a().clipboard;n?.workspaceId===t&&Ne(n.path,e,e)!==null&&a().setClipboard(null)})},download:e=>Cr(De(t,e,{download:!0}),L(e)),pending:i.isPending,error:i.error?r(i.error):null,clearError:i.reset}}var kr=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform),Ar=kr?`⌘`:`Ctrl+`;function K({icon:e,label:t,shortcut:n,danger:r,disabled:i,onSelect:a}){return(0,U.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:i,onClick:a,className:f(`flex w-full cursor-pointer items-center gap-2.5 px-3 py-1.5 text-left hover:bg-hover disabled:cursor-default disabled:opacity-40 disabled:hover:bg-transparent pointer-coarse:py-2.5`,r?`text-danger`:`text-fg`),children:[(0,U.jsx)(`span`,{"aria-hidden":!0,className:f(`flex size-4 shrink-0 items-center justify-center`,r?`text-danger`:`text-fg-muted`),children:e}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t}),n&&(0,U.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle pointer-coarse:hidden`,children:n})]})}var jr=()=>(0,U.jsx)(`div`,{role:`separator`,className:`my-1 border-t border-line`});function Mr({target:e,workspaceId:t,actions:n,onClose:r}){let i=(0,H.useRef)(null),[a,o]=(0,H.useState)({left:e.x,top:e.y}),s=G(e=>e.clipboard?.workspaceId===t?e.clipboard:null),{entry:c}=e,l=c?c.type===`directory`?c.path:Tr(c.path):``;(0,H.useLayoutEffect)(()=>{let t=i.current;if(!t)return;let{width:n,height:r}=t.getBoundingClientRect();o({left:Math.max(8,Math.min(e.x,window.innerWidth-n-8)),top:e.y+r+8>window.innerHeight?Math.max(8,e.y-r):e.y})},[e]),(0,H.useEffect)(()=>{i.current?.querySelector(`[role=menuitem]:not(:disabled)`)?.focus({preventScroll:!0});let e=e=>{i.current?.contains(e.target)||r()},t=e=>{if(e.key===`Escape`&&r(),e.key!==`ArrowDown`&&e.key!==`ArrowUp`)return;e.preventDefault();let t=[...i.current?.querySelectorAll(`[role=menuitem]:not(:disabled)`)??[]],n=t.indexOf(document.activeElement);t.at((n+(e.key===`ArrowDown`?1:-1))%t.length)?.focus()};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`keydown`,t),window.addEventListener(`resize`,r),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,t),window.removeEventListener(`resize`,r)}},[r]);let u=e=>()=>{r(),e()};return(0,U.jsxs)(`div`,{ref:i,role:`menu`,"aria-label":c?`Actions for ${c.path}`:`Explorer actions`,style:a,className:`fixed z-50 w-56 max-w-[calc(100vw-1rem)] origin-top-left animate-pop-in rounded-md border border-line-strong bg-elevated py-1 text-[13px] shadow-xl shadow-black/40`,children:[(0,U.jsx)(K,{icon:(0,U.jsx)(an,{className:`size-4`}),label:`New File…`,onSelect:u(()=>n.startCreate(`file`,l))}),(0,U.jsx)(K,{icon:(0,U.jsx)(ie,{className:`size-4`}),label:`New Folder…`,onSelect:u(()=>n.startCreate(`directory`,l))}),(0,U.jsx)(jr,{}),c&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(K,{icon:(0,U.jsx)(Zn,{className:`size-4`}),label:`Cut`,shortcut:`${Ar}X`,onSelect:u(()=>n.cut(c.path,c.type))}),(0,U.jsx)(K,{icon:(0,U.jsx)(C,{className:`size-4`}),label:`Copy`,shortcut:`${Ar}C`,onSelect:u(()=>n.copy(c.path,c.type))})]}),(0,U.jsx)(K,{icon:(0,U.jsx)(Bt,{className:`size-4`}),label:s?`Paste ${s.path.split(`/`).at(-1)}`:`Paste`,shortcut:`${Ar}V`,disabled:!s,onSelect:u(()=>n.paste(l))}),c&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(jr,{}),(0,U.jsx)(K,{icon:(0,U.jsx)(Nn,{className:`size-4`}),label:`Copy Path`,onSelect:u(()=>void navigator.clipboard?.writeText(c.path).catch(()=>{}))}),c.type===`file`&&(0,U.jsx)(K,{icon:(0,U.jsx)(Xt,{className:`size-4`}),label:`Download`,onSelect:u(()=>n.download(c.path))}),(0,U.jsx)(jr,{}),(0,U.jsx)(K,{icon:(0,U.jsx)(ne,{className:`size-4`}),label:`Rename…`,shortcut:`F2`,onSelect:u(()=>n.startRename(c.path,c.type))}),(0,U.jsx)(K,{icon:(0,U.jsx)(pe,{className:`size-4`}),label:`Delete`,shortcut:kr?`⌘⌫`:`Del`,danger:!0,onSelect:u(()=>n.remove(c.path,c.type))})]})]})}function Nr({depth:e,type:t,initial:n=``,onSubmit:r,onCancel:i}){let[a,o]=(0,H.useState)(n),[s,c]=(0,H.useState)(null),[l,u]=(0,H.useState)(!1),d=(0,H.useRef)(!1),f=(0,H.useRef)(null),p=async()=>{if(d.current||l)return;let e=a.trim();if(e===``||e===n){d.current=!0,i();return}if(n&&e.includes(`/`)){c(`A name cannot contain "/".`);return}u(!0);let t=await r(e);u(!1),t?(c(t),requestAnimationFrame(()=>f.current?.focus({preventScroll:!0}))):d.current=!0},h=a.split(`/`).at(-1)??``;return(0,U.jsxs)(`div`,{style:{paddingLeft:`${8+e*12+(t===`file`?20:0)}px`},className:`py-0.5 pr-2`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[t===`directory`&&(0,U.jsx)(`span`,{"aria-hidden":!0,className:`w-3.5 shrink-0`}),t===`directory`?(0,U.jsx)(ee,{name:h}):(0,U.jsx)(D,{name:h||`file`}),(0,U.jsx)(`input`,{ref:e=>{if(f.current=e,!e||e.dataset.ready)return;e.dataset.ready=`true`,e.focus({preventScroll:!0});let r=t===`file`?n.lastIndexOf(`.`):-1;e.setSelectionRange(0,r>0?r:n.length),e.scrollIntoView({block:`nearest`})},"aria-label":n?`Rename ${n}`:t===`directory`?`New folder name`:`New file name`,"aria-invalid":s!==null,value:a,readOnly:l,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,enterKeyHint:`done`,placeholder:n?void 0:t===`directory`?`Folder name`:`File name (a/b.ts creates folders)`,onChange:e=>{o(e.target.value),c(null)},onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),p()):e.key===`Escape`&&(d.current=!0,i())},onBlur:()=>{l||(s?(d.current=!0,i()):p())},className:`h-[22px] min-w-0 flex-1 rounded-sm border border-accent bg-canvas px-1 text-base text-fg-strong outline-none placeholder:text-fg-subtle aria-invalid:border-danger sm:text-[13px] pointer-coarse:h-8`}),l&&(0,U.jsx)(m,{className:`size-3`})]}),s&&(0,U.jsx)(`p`,{role:`alert`,className:`mt-0.5 ml-5 rounded-sm border border-danger bg-danger/10 px-1.5 py-0.5 text-xs text-fg`,children:s})]})}function Pr({entryPath:e,entryType:t,depth:n,icon:r,label:i,title:a,active:o,selected:s,cut:c,muted:l,expanded:u,suffix:d,disabled:p,onClick:m,ref:h}){return(0,U.jsxs)(`button`,{ref:h,type:`button`,role:`treeitem`,"data-path":e,"data-type":t,"aria-level":n+1,"aria-expanded":u,"aria-selected":o??!1,title:a??i,disabled:p,onClick:m,style:{paddingLeft:`${8+n*12}px`},className:f(`flex h-[22px] w-full cursor-pointer items-center gap-1.5 pr-2 text-left select-none [-webkit-touch-callout:none] pointer-coarse:h-9`,o?`bg-selected text-fg-strong`:s?`bg-hover`:`hover:bg-hover`,(l||c)&&`text-fg-muted`,c&&`opacity-60`,p&&`cursor-default opacity-60`),children:[r,(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:i}),d]})}var Fr=e=>({paddingLeft:`${8+e*12+18}px`}),Ir=(0,U.jsx)(Kt,{"aria-label":`Symbolic link`,className:`size-3 shrink-0 text-fg-subtle`});function Lr(e){let t=F(),n=G(n=>n.selected[t]?.path===e),r=G(n=>n.clipboard?.mode===`cut`&&n.clipboard.workspaceId===t&&n.clipboard.path===e),i=G(n=>n.pending?.kind===`rename`&&n.pending.workspaceId===t&&n.pending.path===e),a=G(e=>e.select);return{workspaceId:t,selected:n,cut:r,renaming:i,select:n=>a(t,e,n)}}function Rr({entry:e,depth:t,actions:n}){let r=G(e=>e.pending);return r?.kind===`rename`?(0,U.jsx)(Nr,{depth:t,type:r.type,initial:e.name,onSubmit:e=>n.submitName(r,e),onCancel:n.cancelName}):null}function zr({entry:e,depth:t,onOpenFile:n,actions:r}){let{workspaceId:i,selected:a,cut:o,renaming:s,select:c}=Lr(e.path),l=G(t=>t.expanded[i]?.[e.path]===!0),u=G(e=>e.toggle);return(0,U.jsxs)(`li`,{role:`none`,children:[s?(0,U.jsx)(Rr,{entry:e,depth:t,actions:r}):(0,U.jsx)(Pr,{entryPath:e.path,entryType:`directory`,depth:t,selected:a,cut:o,expanded:l,label:e.name,icon:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(E,{"aria-hidden":!0,className:f(`size-3.5 shrink-0 text-fg-muted transition-transform duration-150`,l&&`rotate-90`)}),(0,U.jsx)(ee,{name:e.name,expanded:l})]}),suffix:e.isSymlink?Ir:null,onClick:()=>{c(`directory`),u(i,e.path)}}),l&&(0,U.jsx)(Vr,{path:e.path,depth:t+1,onOpenFile:n,actions:r})]})}function Br({entry:e,depth:t,onOpenFile:n,actions:r}){let{selected:i,cut:a,renaming:o,select:s}=Lr(e.path),c=M(t=>t.activeTabId===Le(e.path)),l=e.type===`other`,u=(0,H.useRef)(null);return(0,H.useEffect)(()=>{c&&u.current?.scrollIntoView({block:`nearest`})},[c]),o?(0,U.jsx)(`li`,{role:`none`,children:(0,U.jsx)(Rr,{entry:e,depth:t,actions:r})}):(0,U.jsx)(`li`,{role:`none`,children:(0,U.jsx)(Pr,{ref:u,entryPath:e.path,entryType:`file`,depth:t,active:c,selected:i,cut:a,muted:l,disabled:l,label:e.name,title:l?`${e.name} (special file or broken link)`:e.path,icon:(0,U.jsx)(D,{name:e.name,className:f(`ml-5`,l&&`opacity-50 grayscale`)}),suffix:e.isSymlink?Ir:null,onClick:()=>{s(`file`),n(e.path)}})})}function Vr({path:e,depth:t,onOpenFile:n,actions:i}){let a=F(),o=h(P.directory(a,e)),s=G(e=>e.showHidden),c=G(t=>t.pending?.kind===`create`&&t.pending.workspaceId===a&&t.pending.parent===e?t.pending:null),l=c&&(0,U.jsx)(Nr,{depth:t,type:c.type,onSubmit:e=>i.submitName(c,e),onCancel:i.cancelName});if(o.isPending)return(0,U.jsxs)(`div`,{className:`flex h-[22px] items-center gap-2 text-xs text-fg-muted`,style:Fr(t),children:[(0,U.jsx)(m,{className:`size-3`}),` Loading…`]});if(o.isError)return(0,U.jsxs)(`div`,{className:`flex items-start gap-1.5 py-1 pr-2 text-xs text-fg-muted`,style:Fr(t),children:[(0,U.jsx)(O,{"aria-hidden":!0,className:`mt-0.5 size-3 shrink-0 text-warning`}),(0,U.jsxs)(`span`,{className:`min-w-0`,children:[r(o.error),` `,(0,U.jsx)(`button`,{type:`button`,className:`cursor-pointer text-accent-fg hover:underline`,onClick:()=>void o.refetch(),children:`Retry`})]})]});let u=s?o.data.entries:o.data.entries.filter(e=>!e.name.startsWith(`.`));return u.length===0?l||(0,U.jsx)(`div`,{className:`flex h-[22px] items-center text-xs text-fg-subtle italic`,style:Fr(t),children:o.data.entries.length===0?`Empty folder`:`Only hidden files`}):(0,U.jsxs)(`ul`,{role:`group`,className:`animate-expand`,children:[l&&(0,U.jsx)(`li`,{role:`none`,children:l}),u.map(e=>e.type===`directory`?(0,U.jsx)(zr,{entry:e,depth:t,onOpenFile:n,actions:i},e.name):(0,U.jsx)(Br,{entry:e,depth:t,onOpenFile:n,actions:i},e.name)),o.data.truncated&&(0,U.jsxs)(`li`,{role:`none`,className:`py-1 text-xs text-warning`,style:Fr(t),children:[`Too many entries; showing the first `,o.data.entries.length,`.`]})]})}var Hr=500;function Ur(e){let t=e instanceof Element?e.closest(`[data-path]`):null;return t?.dataset.path?{path:t.dataset.path,type:t.dataset.type===`directory`?`directory`:`file`}:null}function Wr({onNavigate:e}){let t=s(),n=F(),r=h(P.workspaceInfo(n)),i=G(e=>e.showHidden),a=G(e=>e.toggleHidden),o=G(e=>e.collapseAll),c=M(e=>e.openFile),l=M(e=>{let t=Re(e);return t?.kind===`file`?t.path:null}),u=St({queryKey:N.tree(n)})>0,[d,p]=(0,H.useState)(null),m=(0,H.useCallback)(()=>p(null),[]),g=(0,H.useRef)(null);(0,H.useEffect)(()=>{if(!l)return;let{expand:e,select:t}=G.getState(),r=l.includes(`/`)?l.slice(0,l.lastIndexOf(`/`)):``;e(n,r),t(n,l,`file`)},[l,n]);let v=t=>{c(t),e?.()},y=Or(v),b=(e,t,r)=>{let i=Ur(e);i&&G.getState().select(n,i.path,i.type),p({entry:i,x:t,y:r})},x=()=>{g.current&&window.clearTimeout(g.current.timer)};return(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-panel`,children:[(0,U.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-0.5 pr-1 pl-3 pointer-coarse:h-11`,children:[(0,U.jsx)(`h2`,{className:`min-w-0 flex-1 truncate text-[11px] font-semibold tracking-wide text-fg-muted uppercase`,title:r.data?.root,children:r.data?.name??`Explorer`}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`New file`,title:`New File…`,onClick:()=>y.startCreate(`file`),children:(0,U.jsx)(an,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`New folder`,title:`New Folder…`,onClick:()=>y.startCreate(`directory`),children:(0,U.jsx)(ie,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":i?`Hide hidden files`:`Show hidden files`,"aria-pressed":i,title:i?`Hide hidden files`:`Show hidden files`,onClick:a,children:i?(0,U.jsx)(ue,{className:`size-4`}):(0,U.jsx)(le,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Collapse all folders`,title:`Collapse all`,onClick:()=>o(n),children:(0,U.jsx)(dn,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Refresh explorer`,title:`Refresh`,onClick:()=>void t.invalidateQueries({queryKey:N.tree(n)}),children:(0,U.jsx)(Un,{className:f(`size-4`,(u||y.pending)&&`animate-spin`)})})]}),y.error&&(0,U.jsxs)(`div`,{role:`alert`,className:`flex shrink-0 animate-slide-down items-start gap-2 border-y border-line bg-warning-bg px-3 py-1.5 text-xs text-fg`,children:[(0,U.jsx)(O,{"aria-hidden":!0,className:`mt-0.5 size-3.5 shrink-0 text-warning`}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1 break-words`,children:y.error}),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`cursor-pointer text-fg-muted hover:text-fg`,onClick:y.clearError,children:(0,U.jsx)(hr,{className:`size-3.5`})})]}),(0,U.jsx)(`div`,{role:`tree`,"aria-label":`Workspace files`,className:`scrollbar-thin min-h-0 flex-1 overflow-y-auto pb-4`,onContextMenu:e=>{e.preventDefault(),g.current?.fired||b(e.target,e.clientX,e.clientY)},onPointerDown:e=>{if(x(),g.current=null,e.pointerType!==`touch`)return;let{target:t,clientX:n,clientY:r}=e,i=window.setTimeout(()=>{g.current&&(g.current.fired=!0),navigator.vibrate?.(10),b(t,n,r)},Hr);g.current={timer:i,x:n,y:r,fired:!1}},onPointerMove:e=>{let t=g.current;t&&!t.fired&&Math.hypot(e.clientX-t.x,e.clientY-t.y)>10&&x()},onPointerUp:x,onPointerCancel:x,onScroll:()=>{x(),m()},onClickCapture:e=>{g.current?.fired&&(e.preventDefault(),e.stopPropagation(),g.current=null)},onKeyDown:e=>{if(e.target instanceof HTMLInputElement)return;let t=Ur(e.target)??G.getState().selected[n]??null,r=e.metaKey||e.ctrlKey,i=e.key.toLowerCase(),a=!0;r&&i===`v`?y.paste(Er(t??void 0)):t?r&&i===`c`?y.copy(t.path,t.type):r&&i===`x`?y.cut(t.path,t.type):e.key===`F2`?y.startRename(t.path,t.type):e.key===`Delete`||e.metaKey&&e.key===`Backspace`?y.remove(t.path,t.type):a=!1:a=!1,a&&e.preventDefault()},children:(0,U.jsx)(Vr,{path:``,depth:0,onOpenFile:v,actions:y})}),d&&(0,U.jsx)(Mr,{target:d,workspaceId:n,actions:y,onClose:m})]})}var Gr=he()(e=>({commitMessages:{},setCommitMessage:(t,n)=>e(e=>({commitMessages:{...e.commitMessages,[t]:n}}))})),Kr=(e,t)=>`${e}\u0000${t}`,qr=e=>`${e.repo}\u0000${e.area}:${e.path}`;function Jr({repository:e}){return(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-xs`,children:[e.detached?(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-fg`,title:`Detached HEAD`,children:[(0,U.jsx)(yn,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-fg-muted`}),(0,U.jsx)(`span`,{className:`truncate font-mono`,children:e.commit??`detached`})]}):(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-fg`,title:e.upstream?`Tracking ${e.upstream}`:`No upstream`,children:[(0,U.jsx)(_n,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-fg-muted`}),(0,U.jsx)(`span`,{className:`truncate font-medium`,children:e.branch??`(no branch)`})]}),(e.ahead>0||e.behind>0)&&(0,U.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-fg-muted`,"aria-label":`${e.ahead} ahead, ${e.behind} behind`,children:[e.ahead>0&&(0,U.jsxs)(`span`,{className:`flex items-center`,children:[(0,U.jsx)(x,{"aria-hidden":!0,className:`size-3`}),e.ahead]}),e.behind>0&&(0,U.jsxs)(`span`,{className:`flex items-center`,children:[(0,U.jsx)(At,{"aria-hidden":!0,className:`size-3`}),e.behind]})]})]})}var Yr=0,Xr=he()((e,t)=>({request:null,close:n=>{let r=t().request;e({request:null}),r?.resolve(n)}}));function q(e){return new Promise(t=>{Xr.getState().request?.resolve(null),Yr+=1,Xr.setState({request:{...e,id:Yr,resolve:t}})})}function Zr(e,t){return e.toLowerCase().includes(t.trim().toLowerCase())}function Qr({request:e,onClose:t}){let[n,r]=(0,H.useState)(e.initialValue??``),[i,a]=(0,H.useState)(0),[o,s]=(0,H.useState)(null),c=(0,H.useRef)(null),l=(0,H.useId)(),u=e.items,d=u?.filter(e=>Zr(e.label,n)||Zr(e.description??``,n))??[],p=Math.min(i,d.length-1),m=d[p];(0,H.useEffect)(()=>{c.current?.querySelector(`[aria-selected=true]`)?.scrollIntoView({block:`nearest`})},[i]);let h=()=>{let r=n.trim();if(!r&&!e.optional)return s(`Enter a value, or press Escape to cancel.`);let i=r?e.validate?.(r)??null:null;if(i)return s(i);t(r)},g=n=>{n.key===`Escape`?(n.preventDefault(),n.stopPropagation(),t(null)):n.key===`Enter`?(n.preventDefault(),m?t(m.value):(!u||e.allowCustom)&&h()):(n.key===`ArrowDown`||n.key===`ArrowUp`)&&d.length>0&&(n.preventDefault(),a((p+(n.key===`ArrowDown`?1:d.length-1))%d.length))},_=u?d.length===0&&(e.allowCustom?`Press Enter to use "${n.trim()}"`:`No matches`):`Press Enter to confirm or Escape to cancel`;return(0,U.jsx)(`div`,{className:`fixed inset-0 z-50`,onPointerDown:e=>e.target===e.currentTarget&&t(null),children:(0,U.jsxs)(`div`,{role:`dialog`,"aria-label":e.title,className:`absolute top-[12dvh] left-1/2 w-[min(36rem,calc(100vw-2rem))] -translate-x-1/2 animate-pop-in overflow-hidden rounded-md border border-line-strong bg-elevated text-[13px] shadow-xl shadow-black/40`,children:[(0,U.jsx)(`p`,{className:`px-3 pt-2 text-xs font-medium text-fg-muted`,children:e.title}),(0,U.jsxs)(`div`,{className:`p-2`,children:[(0,U.jsx)(`input`,{autoFocus:!0,role:u?`combobox`:void 0,"aria-expanded":u?!0:void 0,"aria-controls":u?l:void 0,"aria-activedescendant":m?`${l}-${p}`:void 0,"aria-invalid":o!==null,value:n,placeholder:e.placeholder,onChange:e=>{r(e.target.value),a(0),s(null)},onKeyDown:g,className:`h-8 w-full rounded border border-accent bg-canvas px-2 text-fg-strong outline-none pointer-coarse:h-10`}),o&&(0,U.jsx)(`p`,{role:`alert`,className:`mt-1.5 text-xs text-danger`,children:o})]}),u&&d.length>0&&(0,U.jsx)(`ul`,{ref:c,id:l,role:`listbox`,className:`scrollbar-thin max-h-[45dvh] overflow-y-auto pb-1`,children:d.map((e,n)=>(0,U.jsxs)(`li`,{id:`${l}-${n}`,role:`option`,"aria-selected":e===m,onPointerMove:()=>a(n),onClick:()=>t(e.value),className:f(`flex cursor-pointer items-baseline gap-2 px-3 py-1 pointer-coarse:py-2.5`,e===m&&`bg-hover`),children:[(0,U.jsx)(`span`,{className:`truncate text-fg-strong`,children:e.label}),e.description&&(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-fg-subtle`,children:e.description})]},e.value))}),_&&(0,U.jsx)(`p`,{className:`px-3 pb-2 text-xs text-fg-subtle`,children:_})]})})}function $r(){let e=Xr(e=>e.request),t=Xr(e=>e.close);return e?(0,gr.createPortal)((0,U.jsx)(Qr,{request:e,onClose:t},e.id),document.body):null}function ei(){let e=F(),t=s();return g({mutationFn:({repo:t,paths:n,stage:r})=>(r?_e:Ae)(e,{repo:t,paths:n}),onSettled:()=>t.invalidateQueries({queryKey:N.git(e)})})}function ti(){let e=F(),t=s();return g({mutationFn:t=>`hunk`in t?Ce(e,t):Te(e,t),onSettled:()=>t.invalidateQueries({queryKey:N.workspace(e)})})}function ni(e){let[t]=e;if(e.length===1&&t){let e=t.path.split(`/`).pop();return window.confirm(t.area===`untracked`?`Are you sure you want to DELETE "${e}"?\n\nThis file is untracked and will be deleted. This can't be undone.`:`Are you sure you want to discard changes in "${e}"?\n\nThis can't be undone.`)}let n=e.filter(e=>e.area===`untracked`).length,r=n?`\n\n${n} untracked file${n===1?` is`:`s are`} deleted.`:``;return window.confirm(`Are you sure you want to discard ALL changes in ${e.length} files?${r}\n\nThis can't be undone.`)}function ri(){let e=F(),t=s();return g({mutationFn:t=>xe(e,t),onSettled:()=>t.invalidateQueries({queryKey:N.git(e)})})}function ii(){let e=F();return g({mutationFn:t=>Ee(e,{repo:t})})}var ai=(e,t)=>[`git-task`,e,t],oi=e=>t=>{let n=e.safeParse(t);return n.success?null:n.error?.issues[0]?.message??`Not valid`},si=oi(Se),ci=oi(ke),li=oi(je);function ui(e,{local:t=!0,remote:n=!0}={}){return e.branches.filter(e=>!e.current&&(e.remote?n:t)).map(e=>({value:`${e.remote?`remote`:`local`}:${e.name}`,label:e.name,description:e.remote?`Remote branch`:e.upstream?`Tracks ${e.upstream}`:void 0}))}function di(e){let t=e.indexOf(`:`);return{remote:e.slice(0,t)===`remote`,name:e.slice(t+1)}}function fi(e){let t=e.indexOf(`/`);return{remote:e.slice(0,t),name:e.slice(t+1)}}var pi=e=>e.stashes.map(e=>({value:String(e.index),label:`#${e.index}: ${e.message}`,description:e.hash.slice(0,7)}));function mi(e){let t=F(),n=s();return g({mutationKey:ai(t,e),mutationFn:e=>e.run(),onSettled:()=>n.invalidateQueries({queryKey:N.git(t)})})}function hi(e){let t=F(),n=s();return{task:wt({filters:{mutationKey:ai(t,e)},select:e=>({id:e.mutationId,label:e.state.variables?.label??``,status:e.state.status,error:e.state.error})}).at(-1)??null,dismiss:()=>{let r=n.getMutationCache();for(let n of r.findAll({mutationKey:ai(t,e)}))n.state.status!==`pending`&&r.remove(n)}}}function gi(e){let t=e.path,n=F(),i=s(),a=M(e=>e.openCommit),o=Gr(e=>e.setCommitMessage),c=mi(t),l=Kr(n,t),u=(e,r)=>c.mutate({label:e,run:()=>He(n,{...r,repo:t})}),d=()=>i.fetchQuery(P.gitRefs(n,t)),f=e=>()=>{(async()=>e())().catch(e=>c.mutate({label:``,run:()=>Promise.reject(e)}))},p=async(e,t)=>{if(t.remotes.length===0)throw Error(`This repository has no remotes. Add one with Remote › Add Remote….`);return q({title:e,placeholder:`Pick a remote`,items:t.remotes.map(e=>({value:e.name,label:e.name,description:e.url??void 0}))})},m=async e=>{let t=await d();if(t.stashes.length===0)throw Error(`There are no stashes.`);let n=await q({title:e,placeholder:`Pick a stash`,items:pi(t)});return n===null?null:Number(n)},h=e.upstream!==null&&e.ahead===0,g=e.changes.some(e=>e.area===`staged`),_=e.changes.some(e=>e.area!==`staged`),v=!e.detached&&e.branch!==null,y=(e,{amend:r=!1,signoff:i=!1}={})=>f(()=>{let a=(Gr.getState().commitMessages[l]??``).trim();if(!a&&!r)throw Error(`Type a commit message first.`);let s=!1;if(e===`smart`&&!g&&!r){if(!window.confirm(`There are no staged changes. Stage all changes and commit them directly?`))return;s=!0}r&&h&&!window.confirm(`The last commit has already been pushed. Amending it rewrites published history. Amend anyway?`)||c.mutate({label:r?`Amending the last commit…`:`Committing…`,run:async()=>{await xe(n,{repo:t,message:a,stageAll:s,all:e===`all`,amend:r,signoff:i}),o(l,``)}})}),b=f(async()=>{let t=await d(),n=t.remotes.length===1?t.remotes[0]?.name:await p(`Publish branch "${e.branch}" to`,t);n&&u(`Publishing branch…`,{op:`publish`,remote:n})}),x=()=>u(`Syncing changes…`,{op:`sync`}),S=e.upstream===null&&v?b:()=>u(`Pushing…`,{op:`push`}),C=async(e,t)=>{let n=ui(await d(),t);if(n.length===0)throw Error(`There are no other branches.`);let r=await q({title:e,placeholder:`Pick a branch`,items:n});return r===null?null:di(r)},w=(e,t,n=!1)=>({kind:`action`,label:e,run:t,disabled:n}),T={kind:`separator`};return{items:[w(`Pull`,()=>u(`Pulling…`,{op:`pull`})),w(`Push`,S),w(`Checkout to…`,f(async()=>{let e=await C(`Checkout to`);e&&u(`Checking out ${e.name}…`,{op:`checkout`,ref:e.name,remote:e.remote})})),w(`Fetch`,()=>u(`Fetching…`,{op:`fetch`})),T,{kind:`submenu`,label:`Commit`,items:[w(`Commit`,y(`smart`)),w(`Commit Staged`,y(`staged`),!g),w(`Commit All`,y(`all`),!g&&!_),w(`Undo Last Commit`,f(()=>{(!h||window.confirm(`The last commit has already been pushed. Undoing it rewrites published history. Undo anyway?`))&&c.mutate({label:`Undoing the last commit…`,run:async()=>{let e=await He(n,{repo:t,op:`undoCommit`});e.commitMessage&&o(l,e.commitMessage.trim())}})}),e.commit===null),w(`Abort Rebase`,()=>u(`Aborting the rebase…`,{op:`abortRebase`})),T,w(`Commit (Amend)`,y(`smart`,{amend:!0}),e.commit===null),w(`Commit Staged (Amend)`,y(`staged`,{amend:!0}),e.commit===null),w(`Commit All (Amend)`,y(`all`,{amend:!0}),e.commit===null),T,w(`Commit (Signed Off)`,y(`smart`,{signoff:!0})),w(`Commit Staged (Signed Off)`,y(`staged`,{signoff:!0}),!g),w(`Commit All (Signed Off)`,y(`all`,{signoff:!0}),!g&&!_)]},{kind:`submenu`,label:`Changes`,items:[w(`Stage All Changes`,()=>u(`Staging all changes…`,{op:`stageAll`}),!_),w(`Unstage All Changes`,()=>u(`Unstaging all changes…`,{op:`unstageAll`}),!g),w(`Discard All Changes`,f(()=>{let t=new Set(e.changes.filter(e=>e.area!==`staged`).map(e=>e.path)).size,n=`Discard all changes in ${t} file${t===1?``:`s`}? Untracked files are deleted and staged changes are kept. This can't be undone.`;window.confirm(n)&&u(`Discarding all changes…`,{op:`discardAll`})}),!_)]},{kind:`submenu`,label:`Pull, Push`,items:[w(`Sync`,x,!v),T,w(`Pull`,()=>u(`Pulling…`,{op:`pull`})),w(`Pull (Rebase)`,()=>u(`Pulling (rebase)…`,{op:`pull`,rebase:!0})),w(`Pull from…`,f(async()=>{let e=await d(),t=await p(`Pull from`,e);if(!t)return;let n=e.branches.filter(e=>e.remote&&e.name.startsWith(`${t}/`)),r=await q({title:`Pull from ${t}`,placeholder:`Pick or type a branch`,items:n.map(e=>({value:fi(e.name).name,label:e.name})),allowCustom:!0,validate:si});r&&u(`Pulling ${t}/${r}…`,{op:`pull`,remote:t,branch:r})})),T,w(`Push`,S),w(`Push to…`,f(async()=>{let e=await p(`Push to`,await d());e&&u(`Pushing to ${e}…`,{op:`push`,remote:e})}),!v),T,w(`Fetch`,()=>u(`Fetching…`,{op:`fetch`})),w(`Fetch (Prune)`,()=>u(`Fetching (prune)…`,{op:`fetch`,mode:`prune`})),w(`Fetch From All Remotes`,()=>u(`Fetching from all remotes…`,{op:`fetch`,mode:`all`}))]},{kind:`submenu`,label:`Branch`,items:[w(`Merge…`,f(async()=>{let e=await C(`Merge into the current branch`);e&&u(`Merging ${e.name}…`,{op:`merge`,ref:e.name})})),w(`Rebase Branch…`,f(async()=>{let t=await C(`Rebase ${e.branch??`HEAD`} onto`);t&&u(`Rebasing onto ${t.name}…`,{op:`rebase`,ref:t.name})})),T,w(`Create Branch…`,f(async()=>{let e=await q({title:`Create Branch`,placeholder:`Branch name`,validate:si});e&&u(`Creating ${e}…`,{op:`createBranch`,name:e})})),w(`Create Branch From…`,f(async()=>{let e=await d(),t=await q({title:`Create Branch From`,placeholder:`Pick a branch or tag to start from`,items:[...e.branches.map(e=>({value:e.name,label:e.name,description:e.current?`Current branch`:e.remote?`Remote branch`:void 0})),...e.tags.map(e=>({value:e,label:e,description:`Tag`}))]});if(!t)return;let n=await q({title:`Create Branch From ${t}`,placeholder:`Branch name`,validate:si});n&&u(`Creating ${n}…`,{op:`createBranch`,name:n,from:t})})),T,w(`Rename Branch…`,f(async()=>{let t=await q({title:`Rename Branch`,placeholder:`New branch name`,initialValue:e.branch??``,validate:si});t&&t!==e.branch&&u(`Renaming to ${t}…`,{op:`renameBranch`,name:t})}),!v),w(`Delete Branch…`,f(async()=>{let e=await C(`Delete Branch`,{remote:!1});e&&c.mutate({label:`Deleting ${e.name}…`,run:async()=>{try{await He(n,{repo:t,op:`deleteBranch`,name:e.name})}catch(i){if(!/not fully merged/i.test(r(i)))throw i;if(!window.confirm(`The branch "${e.name}" is not fully merged. Delete it anyway?`))return;await He(n,{repo:t,op:`deleteBranch`,name:e.name,force:!0})}}})})),w(`Delete Remote Branch…`,f(async()=>{let e=await C(`Delete Remote Branch`,{local:!1});if(!e)return;let t=fi(e.name);window.confirm(`Delete the branch "${t.name}" on ${t.remote}? This affects everyone using that remote.`)&&u(`Deleting ${e.name}…`,{op:`deleteRemoteBranch`,remote:t.remote,name:t.name})})),T,w(`Publish Branch…`,b,!v||e.upstream!==null)]},{kind:`submenu`,label:`Remote`,items:[w(`Add Remote…`,f(async()=>{let e=await q({title:`Add Remote`,placeholder:`Repository URL (https://… or git@host:path)`,validate:li});if(!e)return;let t=await q({title:`Add Remote`,placeholder:`Remote name`,initialValue:(await d()).remotes.length===0?`origin`:``,validate:ci});t&&u(`Adding remote ${t}…`,{op:`addRemote`,name:t,url:e})})),w(`Remove Remote…`,f(async()=>{let e=await p(`Remove Remote`,await d());e&&window.confirm(`Remove the remote "${e}"? Its remote-tracking branches are deleted too.`)&&u(`Removing remote ${e}…`,{op:`removeRemote`,name:e})}))]},{kind:`submenu`,label:`Stash`,items:[...[[`Stash`,`default`],[`Stash (Include Untracked)`,`untracked`],[`Stash Staged`,`staged`]].map(([e,t])=>w(e,f(async()=>{let n=await q({title:e,placeholder:`Stash message (optional)`,optional:!0});n!==null&&u(`Stashing…`,{op:`stash`,mode:t,message:n})}),t===`staged`?!g:!g&&!_)),T,w(`Apply Latest Stash`,()=>u(`Applying the latest stash…`,{op:`stashApply`})),w(`Apply Stash…`,f(async()=>{let e=await m(`Apply Stash`);e!==null&&u(`Applying stash…`,{op:`stashApply`,index:e})})),w(`Pop Latest Stash`,()=>u(`Popping the latest stash…`,{op:`stashApply`,pop:!0})),w(`Pop Stash…`,f(async()=>{let e=await m(`Pop Stash`);e!==null&&u(`Popping stash…`,{op:`stashApply`,index:e,pop:!0})})),T,w(`Drop Stash…`,f(async()=>{let e=await m(`Drop Stash`);e!==null&&window.confirm(`Drop stash #${e}? This can't be undone.`)&&u(`Dropping stash…`,{op:`stashDrop`,index:e})})),w(`Drop All Stashes…`,f(async()=>{let e=(await d()).stashes.length;if(e===0)throw Error(`There are no stashes.`);window.confirm(`Drop all ${e} stash${e===1?``:`es`}? This can't be undone.`)&&u(`Dropping all stashes…`,{op:`stashClear`})})),T,w(`View Stash…`,f(async()=>{let e=await d(),n=await m(`View Stash`),r=e.stashes.find(e=>e.index===n);r&&a({repo:t,hash:r.hash,subject:r.message})}))]},{kind:`submenu`,label:`Tags`,items:[w(`Create Tag…`,f(async()=>{let e=await q({title:`Create Tag`,placeholder:`Tag name`,validate:si});if(!e)return;let t=await q({title:`Create Tag ${e}`,placeholder:`Message (optional; makes an annotated tag)`,optional:!0});t!==null&&u(`Creating tag ${e}…`,{op:`createTag`,name:e,message:t})}),e.commit===null),w(`Delete Tag…`,f(async()=>{let e=(await d()).tags;if(e.length===0)throw Error(`There are no tags.`);let t=await q({title:`Delete Tag`,placeholder:`Pick a tag`,items:e.map(e=>({value:e,label:e}))});t&&u(`Deleting tag ${t}…`,{op:`deleteTag`,name:t})})),w(`Delete Remote Tag…`,f(async()=>{let e=await d(),t=await p(`Delete Remote Tag`,e);if(!t)return;let n=await q({title:`Delete Tag on ${t}`,placeholder:`Pick or type a tag`,items:e.tags.map(e=>({value:e,label:e})),allowCustom:!0,validate:si});n&&window.confirm(`Delete the tag "${n}" on ${t}? This affects everyone using that remote.`)&&u(`Deleting tag ${n} on ${t}…`,{op:`deleteRemoteTag`,remote:t,name:n})}))]}],sync:x,publish:b}}var _i=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform);function vi({ahead:e,behind:t}){return[t>0&&`${t}↓`,e>0&&`${e}↑`].filter(Boolean).join(` `)}function yi({repository:e}){let t=Kr(F(),e.path),n=Gr(e=>e.commitMessages[t]??``),i=Gr(e=>e.setCommitMessage),a=ii(),o=ri(),s=gi(e),{task:c,dismiss:l}=hi(e.path),u=(0,H.useRef)(null);(0,H.useLayoutEffect)(()=>{let e=u.current;e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight+2}px`)},[n]);let d=e.changes.some(e=>e.area===`staged`),p=e.changes.length>0,h=e.detached?`detached HEAD`:e.branch??`HEAD`,g=c?.status===`pending`,v=o.isPending||a.isPending||g,y=p&&n.trim()!==``&&!v,b=!e.detached&&e.branch!==null&&e.commit!==null,x=vi(e),S=p||n.trim()!==``||!b?`commit`:e.upstream===null?`publish`:x?`sync`:`commit`,C=()=>{o.reset(),a.mutate(e.path,{onSuccess:e=>i(t,e.message)})},T=()=>{y&&(d||window.confirm(`There are no staged changes. Stage all changes and commit them directly?`))&&(a.reset(),o.mutate({repo:e.path,message:n.trim(),stageAll:!d},{onSuccess:()=>i(t,``)}))},ee=o.error??a.error;return(0,U.jsxs)(`div`,{className:`space-y-1.5 px-3 pt-1 pb-2`,children:[(0,U.jsxs)(`div`,{className:`relative`,children:[(0,U.jsx)(`textarea`,{ref:u,"aria-label":`Commit message`,rows:1,value:n,disabled:o.isPending,onChange:e=>i(t,e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),T())},className:f(`block max-h-40 w-full resize-none overflow-y-auto rounded border border-line-strong bg-canvas py-1.5 pr-8 pl-2 text-[13px] leading-[18px] text-fg-strong outline-none pointer-coarse:py-2.5 pointer-coarse:pr-10`,`transition-colors focus:border-accent disabled:opacity-60`)}),n===``&&(0,U.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-y-0 right-8 left-2 flex items-center truncate text-[13px] text-fg-subtle pointer-coarse:right-10`,children:(0,U.jsxs)(`span`,{className:`truncate`,children:[`Message (`,_i?`⌘`:`Ctrl`,`+Enter to commit on "`,h,`")`]})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Generate commit message`,title:`Generate a commit message with AI (first choice in your OpenCodeCommit backend order)`,disabled:!p||v,onClick:C,className:`absolute top-1 right-1 text-accent-fg hover:text-accent-fg pointer-coarse:top-0.5 pointer-coarse:right-0.5`,children:a.isPending?(0,U.jsx)(m,{className:`size-3.5`,label:`Generating`}):(0,U.jsx)(de,{className:`size-3.5`})})]}),S===`commit`?(0,U.jsxs)(_,{variant:`primary`,size:`sm`,className:`w-full`,disabled:!y,onClick:T,children:[o.isPending||g?(0,U.jsx)(m,{className:`size-3.5 text-on-accent`,label:g?c.label:`Committing`}):(0,U.jsx)(w,{className:`size-3.5`}),d||!p?`Commit`:`Commit all`]}):(0,U.jsxs)(_,{size:`sm`,className:`w-full`,disabled:v,title:S===`sync`?`Pull ${e.behind} and push ${e.ahead} commits with ${e.upstream}`:`Publish ${e.branch} to a remote`,onClick:S===`sync`?s.sync:s.publish,children:[S===`sync`?(0,U.jsx)(Un,{className:f(`size-3.5`,g&&`animate-spin`)}):g?(0,U.jsx)(m,{className:`size-3.5`,label:c.label}):(0,U.jsx)(Ht,{className:`size-3.5`}),S===`sync`?`Sync Changes ${x}`:`Publish Branch`]}),c?.status===`error`&&(0,U.jsxs)(`p`,{role:`alert`,className:`flex animate-slide-down items-start gap-1 text-xs text-danger`,children:[(0,U.jsx)(`span`,{className:`min-w-0 flex-1 break-words`,children:r(c.error)}),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:l,className:`shrink-0 cursor-pointer rounded p-0.5 text-fg-muted hover:bg-hover hover:text-fg`,children:(0,U.jsx)(hr,{"aria-hidden":!0,className:`size-3`})})]}),ee&&(0,U.jsx)(`p`,{role:`alert`,className:`animate-slide-down text-xs break-words text-danger`,children:r(ee)})]})}var bi=232,xi=248,Si=8,Ci=`flex w-full cursor-pointer items-center gap-2 px-3 py-1 text-left text-[13px] text-fg outline-none hover:bg-hover focus-visible:bg-hover disabled:cursor-default disabled:opacity-40 disabled:hover:bg-transparent pointer-coarse:py-2.5`,wi=`fixed z-50 overflow-y-auto overscroll-contain rounded-md border border-line-strong bg-elevated py-1 shadow-xl shadow-black/40 scrollbar-thin`;function Ti(e){e?.querySelector(`[role^=menuitem]:not(:disabled)`)?.focus({preventScroll:!0})}function Ei(e,t){let n=[...e.querySelectorAll(`[role^=menuitem]:not(:disabled)`)],r=n.indexOf(document.activeElement);n.at((r+t)%n.length)?.focus()}function Di({items:e,openIndex:t,onAction:n,onOpenSubmenu:r,onHoverAction:i}){return e.map((e,a)=>e.kind===`separator`?(0,U.jsx)(`div`,{role:`separator`,className:`my-1 border-t border-line`},`separator-${a}`):e.kind===`submenu`?(0,U.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":t===a,className:f(Ci,t===a&&`bg-hover`),onPointerEnter:e=>e.pointerType===`mouse`&&r?.(a,e.currentTarget,!1),onClick:e=>r?.(a,e.currentTarget,!0),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),r?.(a,e.currentTarget,!0))},children:[(0,U.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,U.jsx)(E,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-fg-muted`})]},e.label):(0,U.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,className:Ci,onPointerEnter:e=>e.pointerType===`mouse`&&i?.(),onClick:()=>n(e.run),children:(0,U.jsx)(`span`,{className:`truncate`,children:e.label})},e.label))}function Oi({items:e,anchor:t,onClose:n}){let r=(0,H.useRef)(null),i=(0,H.useRef)(null),a=(0,H.useRef)(null),[o,s]=(0,H.useState)(()=>{let e=t.getBoundingClientRect();return{left:Math.max(Si,Math.min(e.right-bi,window.innerWidth-bi-Si)),top:e.bottom+4}}),[c,l]=(0,H.useState)(null),[u,d]=(0,H.useState)(null),p=o.left>=256?`left`:window.innerWidth-(o.left+bi)>=256?`right`:`inline`,m=c?e[c.index]:void 0;(0,H.useLayoutEffect)(()=>{let e=i.current;if(!e)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect().height;n.bottom+4+r>window.innerHeight-Si&&n.top-4-r>=Si&&s(e=>({...e,top:n.top-4-r}))},[t]),(0,H.useLayoutEffect)(()=>{if(!c||p===`inline`){d(null);return}let e=a.current?.getBoundingClientRect().height??0,t=Math.max(Si,Math.min(c.rowTop-5,window.innerHeight-e-Si));d({left:p===`left`?o.left-xi+2:o.left+bi-2,top:t})},[c,p,o.left]),(0,H.useEffect)(()=>{c?.focus&&Ti(p===`inline`?i.current:a.current)},[c,p]),(0,H.useEffect)(()=>Ti(i.current),[]),(0,H.useEffect)(()=>{let e=e=>{let i=e.target;!r.current?.contains(i)&&!t.contains(i)&&n(!1)},i=e=>{r.current?.contains(e.target)||n(!1)},a=()=>n(!1);return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`scroll`,i,!0),window.addEventListener(`resize`,a),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`scroll`,i,!0),window.removeEventListener(`resize`,a)}},[t,n]);let h=()=>{let t=c?.index;l(null),t!==void 0&&i.current?.querySelectorAll(`[role=menuitem]`)[ki(e,t)]?.focus()},g=e=>{let t=e.target.closest(`[role=menu]`);e.key===`Escape`||e.key===`ArrowLeft`&&c?(e.preventDefault(),e.stopPropagation(),c?h():n(!0)):(e.key===`ArrowDown`||e.key===`ArrowUp`)&&t?(e.preventDefault(),Ei(t,e.key===`ArrowDown`?1:-1)):e.key===`Tab`&&e.preventDefault()},_=e=>{n(!0),e()},v=(e,t,n)=>l({index:e,rowTop:t.getBoundingClientRect().top,focus:n}),y=e=>`calc(100dvh - ${e+Si}px)`;return(0,gr.createPortal)((0,U.jsxs)(`div`,{ref:r,onKeyDown:g,children:[(0,U.jsx)(`div`,{ref:i,role:`menu`,"aria-label":m&&p===`inline`?m.label:`More Git actions`,style:{...o,width:bi,maxHeight:y(o.top)},className:f(wi,`origin-top-right animate-pop-in`),children:m&&p===`inline`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`button`,{type:`button`,role:`menuitem`,className:f(Ci,`font-medium`),onClick:h,children:[(0,U.jsx)(Rt,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-fg-muted`}),(0,U.jsx)(`span`,{className:`truncate`,children:m.label})]}),(0,U.jsx)(`div`,{role:`separator`,className:`my-1 border-t border-line`}),(0,U.jsx)(Di,{items:m.items,openIndex:null,onAction:_})]}):(0,U.jsx)(Di,{items:e,openIndex:c?.index??null,onAction:_,onOpenSubmenu:v,onHoverAction:()=>l(null)})}),m&&p!==`inline`&&(0,U.jsx)(`div`,{ref:a,role:`menu`,"aria-label":m.label,style:{left:u?.left??o.left,top:u?.top??o.top,width:xi,maxHeight:y(u?.top??0)},className:f(wi,!u&&`invisible`),children:(0,U.jsx)(Di,{items:m.items,openIndex:null,onAction:_})})]}),document.body)}function ki(e,t){return e.slice(0,t).filter(e=>e.kind!==`separator`).length}function Ai({repository:e,size:t=`icon`}){let{items:n}=gi(e),[r,i]=(0,H.useState)(!1),a=(0,H.useRef)(null),o=(0,H.useCallback)(e=>{i(!1),e&&a.current?.focus({preventScroll:!0})},[]);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_,{ref:a,variant:`ghost`,size:t,"aria-label":`More Git actions`,"aria-haspopup":`menu`,"aria-expanded":r,title:`More Actions…`,className:f(r&&`bg-hover text-fg`),onClick:e=>{e.stopPropagation(),i(e=>!e)},children:(0,U.jsx)(Qt,{className:t===`icon`?`size-4`:`size-3.5`})}),r&&a.current&&(0,U.jsx)(Oi,{items:n,anchor:a.current,onClose:o})]})}function ji(e){return(0,H.useSyncExternalStore)(t=>{let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},()=>window.matchMedia(e).matches,()=>!1)}var Mi=`(min-width: 1024px)`,Ni=`(pointer: coarse)`,Pi=5,Fi=4,Ii=2,Li=`#3794ff`,Ri=`#b180d7`,zi=[`#ffb000`,`#dc267f`,`#994f00`,`#40b0a6`,`#b66dff`];function Bi(e){let t=new Map;t.set(e.headRef??`HEAD`,Li),e.upstreamRef&&t.set(e.upstreamRef,Ri);for(let n of e.items)for(let e of n.refs)t.has(e.id)||t.set(e.id,void 0);return t}function Vi(e,t){for(let n of e.refs){let e=t.get(n.id);if(e!==void 0)return e}}var Hi={head:0,branch:1,remote:2,tag:3};function Ui(e,t,n){let r=e=>{let t=n.get(e.id);return t===`#3794ff`?0:t===`#b180d7`?1:2};return r(e)-r(t)||Hi[e.kind]-Hi[t.kind]||e.name.localeCompare(t.name)}function Wi(e,t,n){let r=-1,i=new Map(e.map(e=>[e.id,e])),a=[];for(let o of e){let e=(a.at(-1)?.outputSwimlanes??[]).map(e=>({...e})),s=[],c=!1;if(o.parentIds.length>0)for(let n of e)n.id===o.id?c||=(s.push({id:o.parentIds[0]??``,color:Vi(o,t)??n.color}),!0):s.push({...n});for(let e=+!!c;e<o.parentIds.length;e+=1){let n=o.parentIds[e]??``,a;if(e===0)a=Vi(o,t);else{let e=i.get(n);a=e?Vi(e,t):void 0}a||=(r=(r+1)%zi.length,zi[r]),s.push({id:n,color:a??zi[0]})}let l=e.findIndex(e=>e.id===o.id),u=l===-1?e.length:l,d=u<s.length?s[u]?.color:u<e.length?e[u]?.color:Li,f=o.refs.map(e=>({...e,color:t.get(e.id)??(t.has(e.id)?d:void 0)})).sort((e,n)=>Ui(e,n,t));a.push({item:o,refs:f,isCurrent:o.id===n,inputSwimlanes:e,outputSwimlanes:s})}return a}function Gi(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.id===t)return n;return-1}function Ki(e,t=22){let n=Pi,r=t/2,i=[],{item:a,inputSwimlanes:o,outputSwimlanes:s}=e,c=(e,t)=>i.push({type:`path`,d:e.join(` `),color:t}),l=o.findIndex(e=>e.id===a.id),u=l===-1?o.length:l,d=(u<s.length?s[u]?.color:u<o.length?o[u]?.color:void 0)??`#3794ff`,f=0;for(let e=0;e<o.length;e+=1){let i=o[e]?.color??`#3794ff`;o[e]?.id===a.id?e===u?f+=1:c([`M ${11*(e+1)} 0`,`A 11 11 0 0 1 ${11*e} ${r}`,`H ${11*(u+1)}`],i):f<s.length&&o[e]?.id===s[f]?.id&&(c(e===f?[`M ${11*(e+1)} 0`,`V ${t}`]:[`M ${11*(e+1)} 0`,`V ${r-n}`,`A ${n} ${n} 0 0 1 ${11*(e+1)-n} ${r}`,`H ${11*(f+1)+n}`,`A ${n} ${n} 0 0 0 ${11*(f+1)} ${r+n}`,`V ${t}`],i),f+=1)}for(let e=1;e<a.parentIds.length;e+=1){let n=Gi(s,a.parentIds[e]??``);n!==-1&&c([`M ${11*n} ${r}`,`A 11 11 0 0 1 ${11*(n+1)} ${t}`,`M ${11*n} ${r}`,`H ${11*(u+1)}`],s[n]?.color??d)}l!==-1&&c([`M ${11*(u+1)} 0`,`V ${r}`],o[l]?.color??d),a.parentIds.length>0&&c([`M ${11*(u+1)} ${r}`,`V ${t}`],d);let p=(e,t,n)=>i.push({type:`circle`,cx:11*(u+1),cy:r,r:e,strokeWidth:t,color:n});return e.isCurrent?(p(7,Ii,d),p(Ii,Fi)):a.parentIds.length>1?(p(6,Ii,d),p(3,Ii,d)):p(5,Ii,d),{width:11*(Math.max(o.length,s.length,1)+1),height:t,elements:i}}function qi({viewModel:e,height:t}){let{width:n,elements:r}=Ki(e,t);return(0,U.jsx)(`svg`,{"aria-hidden":!0,className:`shrink-0 overflow-visible`,width:n,height:t,viewBox:`0 0 ${n} ${t}`,children:r.map((e,t)=>e.type===`path`?(0,U.jsx)(`path`,{d:e.d,fill:`none`,strokeWidth:1,strokeLinecap:`round`,stroke:e.color},t):(0,U.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:e.r,strokeWidth:e.strokeWidth,stroke:`var(--color-panel)`,fill:e.color??`var(--color-panel)`},t))})}var Ji={head:sr,branch:_n,remote:Wt,tag:ar};function Yi({refs:e,showName:t}){let[n]=e;if(!n)return null;let r=Ji[n.kind];return(0,U.jsxs)(`span`,{title:e.map(e=>e.name).join(`, `),className:`flex h-[18px] shrink-0 items-center gap-1 rounded-full px-1.5 text-[11px] leading-none font-medium text-white`,style:{backgroundColor:n.color??`#616161`},children:[e.length>1&&(0,U.jsx)(`span`,{children:e.length}),(0,U.jsx)(r,{"aria-hidden":!0,className:`size-3`,strokeWidth:2.25}),t&&(0,U.jsx)(`span`,{className:`max-w-32 truncate`,children:n.name})]})}function Xi({refs:e}){if(e.length===0)return null;let t=[...e],n=t[0]?.color?t.splice(0,1):[],r=new Map;for(let e of t){if(!e.color)continue;let t=`${e.color}|${e.kind}`;r.set(t,[...r.get(t)??[],e])}return(0,U.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[n.length>0&&(0,U.jsx)(Yi,{refs:n,showName:!0}),[...r.values()].map(e=>(0,U.jsx)(Yi,{refs:e,showName:!1},`${e[0]?.color}|${e[0]?.kind}`))]})}var Zi=500;function Qi({viewModel:e,top:t,left:n}){let{item:r}=e,i=new Date(r.timestamp*1e3);return(0,U.jsxs)(`div`,{role:`tooltip`,style:{top:t,left:n},className:`pointer-events-none fixed z-50 w-80 max-w-[calc(100vw-1rem)] space-y-2 rounded-md border border-line-strong bg-elevated p-3 text-xs shadow-xl shadow-black/40`,children:[(0,U.jsxs)(`p`,{className:`text-fg`,children:[(0,U.jsx)(`span`,{className:`font-semibold text-fg-strong`,children:r.author}),(0,U.jsxs)(`span`,{className:`text-fg-muted`,children:[`, `,ze(r.timestamp),` (`,i.toLocaleString(),`)`]})]}),(0,U.jsx)(`p`,{className:`max-h-48 overflow-hidden leading-relaxed break-words whitespace-pre-wrap text-fg-strong`,children:r.message}),e.refs.length>0&&(0,U.jsx)(Xi,{refs:e.refs}),(0,U.jsx)(`p`,{className:`font-mono text-fg-muted`,children:r.id.slice(0,8)})]})}function $i({viewModel:e,height:t,onOpen:n}){let{item:r}=e,i=(0,H.useRef)(null),a=(0,H.useRef)(null),[o,s]=(0,H.useState)(null),c=e=>{e.pointerType===`mouse`&&(a.current=setTimeout(()=>{let e=i.current?.getBoundingClientRect();if(!e)return;let t=Math.max(8,Math.min(e.left+24,window.innerWidth-336)),n=e.bottom+4;s({top:n+220>window.innerHeight?Math.max(8,e.top-224):n,left:t})},Zi))},l=()=>{a.current&&clearTimeout(a.current),s(null)};return(0,U.jsxs)(`li`,{ref:i,className:`group relative`,onPointerEnter:c,onPointerLeave:l,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>{l(),n()},"aria-label":`${r.subject}, ${r.author}, ${r.id.slice(0,7)}`,style:{height:t},className:`flex w-full cursor-pointer items-center gap-1.5 pr-2 pl-1 text-left hover:bg-hover`,children:[(0,U.jsx)(qi,{viewModel:e,height:t}),(0,U.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,U.jsx)(`span`,{className:f(`truncate text-fg`,e.isCurrent&&`text-fg-strong`),children:r.subject}),(0,U.jsx)(`span`,{className:`truncate text-xs text-fg-subtle`,children:r.author})]}),(0,U.jsx)(Xi,{refs:e.refs})]}),o&&(0,U.jsx)(Qi,{viewModel:e,top:o.top,left:o.left})]})}var ea=50,ta=34;function na({repositories:e,rootLabel:t,onNavigate:n}){let i=F(),a=s(),o=V(e=>e.graphOpen),l=V(e=>e.toggleGraph),u=M(e=>e.openCommit),d=ji(Ni),[p,g]=(0,H.useState)(null),[v,y]=(0,H.useState)(!1),[b,x]=(0,H.useState)(ea),S=e.some(e=>e.path===p)?p??``:e[0]?.path??``,C=h({...P.gitLog(i,{repo:S,all:v,limit:b}),enabled:o&&e.length>0,placeholderData:c}),w=(0,H.useMemo)(()=>C.data?Wi(C.data.items,Bi(C.data),C.data.head):[],[C.data]),T=d?ta:22,ee=()=>void a.invalidateQueries({queryKey:[...N.git(i),`log`]}),D=e=>{g(e),x(ea)};return(0,U.jsxs)(`section`,{"aria-label":`Graph`,className:f(`flex min-h-0 flex-col border-t border-line`,o&&`flex-1`),children:[(0,U.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center gap-1 pr-1 pointer-coarse:h-11`,children:[(0,U.jsxs)(`button`,{type:`button`,"aria-expanded":o,onClick:l,className:`flex h-full min-w-0 flex-1 cursor-pointer items-center gap-1 px-1 text-[11px] font-semibold tracking-wide text-fg-muted uppercase hover:text-fg`,children:[(0,U.jsx)(E,{"aria-hidden":!0,className:f(`size-3.5 transition-transform duration-150`,o&&`rotate-90`)}),`Graph`]}),o&&e.length>1&&(0,U.jsx)(`select`,{"aria-label":`Repository`,value:S,onChange:e=>D(e.target.value),className:`h-6 max-w-36 min-w-0 cursor-pointer truncate rounded border border-line-strong bg-panel px-1 text-xs text-fg outline-none focus:border-accent`,children:e.map(e=>(0,U.jsx)(`option`,{value:e.path,children:e.path||t},e.path))}),o&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":v?`Show the current branch only`:`Show all branches`,"aria-pressed":v,title:v?`Showing all branches (click for current branch only)`:`Showing the current branch and its upstream (click for all branches)`,className:f(v&&`bg-hover text-fg-strong`),onClick:()=>{y(!v),x(ea)},children:(0,U.jsx)(Cn,{className:`size-3.5`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Refresh graph`,title:`Refresh`,onClick:ee,children:(0,U.jsx)(Un,{className:f(`size-3.5`,C.isFetching&&`animate-spin`)})})]})]}),o&&(0,U.jsxs)(`div`,{className:`scrollbar-thin min-h-0 flex-1 animate-expand overflow-y-auto pb-2`,children:[C.isPending&&e.length>0&&(0,U.jsx)(`div`,{className:`flex justify-center p-4`,children:(0,U.jsx)(m,{})}),C.isError&&(0,U.jsx)(`p`,{className:`px-3 py-2 text-xs text-fg-muted`,children:r(C.error)}),C.data&&C.data.items.length===0&&(0,U.jsx)(`p`,{className:`px-3 py-2 text-xs text-fg-subtle`,children:`No commits yet.`}),w.length>0&&(0,U.jsx)(`ul`,{"aria-label":`Commits`,children:w.map(e=>(0,U.jsx)($i,{viewModel:e,height:T,onOpen:()=>{u({repo:S,hash:e.item.id,subject:e.item.subject}),n?.()}},e.item.id))}),C.data?.hasMore&&(0,U.jsxs)(`button`,{type:`button`,disabled:C.isFetching,onClick:()=>x(b+ea),className:`ml-6 flex cursor-pointer items-center gap-2 py-1 text-xs text-accent-fg hover:underline disabled:opacity-60`,children:[C.isFetching&&(0,U.jsx)(m,{className:`size-3`}),` Load more…`]})]})]})}var ra={modified:{letter:`M`,className:`text-modified-fg`,label:`Modified`},added:{letter:`A`,className:`text-added-fg`,label:`Added`},deleted:{letter:`D`,className:`text-deleted-fg`,label:`Deleted`},renamed:{letter:`R`,className:`text-renamed-fg`,label:`Renamed`},copied:{letter:`C`,className:`text-renamed-fg`,label:`Copied`},"type-changed":{letter:`T`,className:`text-modified-fg`,label:`Type changed`},untracked:{letter:`U`,className:`text-untracked-fg`,label:`Untracked`},conflicted:{letter:`!`,className:`text-conflict-fg`,label:`Conflict`}};function ia({change:e,selected:t,onSelect:n,onOpenFile:r,stageAction:i,discardAction:a}){let{letter:o,className:s,label:c}=ra[e.kind],l=Fe(e.path);return(0,U.jsxs)(`li`,{className:f(`group flex h-7 animate-fade-in items-center pr-1 pointer-coarse:h-10`,t?`bg-selected text-fg-strong`:`hover:bg-hover`),children:[(0,U.jsxs)(`button`,{type:`button`,onClick:n,title:e.origPath?`${e.origPath} → ${e.path}`:e.path,"aria-current":t||void 0,className:f(`flex h-full min-w-0 flex-1 cursor-pointer items-center gap-2 pl-4 text-left`,e.kind===`deleted`&&`line-through decoration-fg-subtle`),children:[(0,U.jsx)(D,{name:L(e.path)}),(0,U.jsx)(`span`,{className:`min-w-0 truncate`,children:L(e.path)}),l&&(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-fg-subtle`,children:l})]}),(0,U.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 pl-1`,children:[(e.additions!==null||e.deletions!==null)&&(0,U.jsxs)(`span`,{className:`hidden font-mono text-[11px] sm:inline group-hover:hidden`,children:[e.additions?(0,U.jsxs)(`span`,{className:`text-added-fg`,children:[`+`,e.additions]}):null,e.deletions?(0,U.jsxs)(`span`,{className:`ml-1 text-deleted-fg`,children:[`−`,e.deletions]}):null]}),(0,U.jsxs)(`span`,{className:`hidden items-center group-hover:flex group-focus-within:flex pointer-coarse:flex`,children:[r&&(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Open ${L(e.path)}`,title:`Open file`,onClick:r,children:(0,U.jsx)(sn,{className:`size-3.5`})}),a&&(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Discard changes in ${L(e.path)}`,title:`Discard changes`,disabled:a.pending,onClick:a.run,children:(0,U.jsx)(dr,{className:`size-3.5`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`${i.stage?`Stage`:`Unstage`} ${L(e.path)}`,title:i.stage?`Stage changes`:`Unstage changes`,disabled:i.pending,onClick:i.run,children:i.stage?(0,U.jsx)(se,{className:`size-3.5`}):(0,U.jsx)(Fn,{className:`size-3.5`})})]}),(0,U.jsx)(`span`,{"aria-label":c,title:c,className:f(`w-4 text-center font-mono text-xs font-semibold`,s),children:o})]})]})}var aa=e=>e.origPath?[e.origPath,e.path]:[e.path];function oa({repo:e,title:t,changes:n,selectedKey:i,onSelect:a,onOpenFile:o}){let[s,c]=(0,H.useState)(!0),l=ei(),u=ti();if(n.length===0)return null;let d=n[0]?.area!==`staged`,p=t=>l.mutate({repo:e,paths:t,stage:d}),m=d?`Stage`:`Unstage`,h=d?se:Fn,g=n.every(e=>e.area===`unstaged`||e.area===`untracked`),v=t=>{ni(t)&&u.mutate({repo:e,paths:t.map(e=>e.path)})},y=l.error??u.error;return(0,U.jsxs)(`section`,{children:[(0,U.jsxs)(`div`,{className:`group/section flex h-6 items-center pr-1 pointer-coarse:h-9`,children:[(0,U.jsxs)(`button`,{type:`button`,"aria-expanded":s,onClick:()=>c(!s),className:`flex h-full min-w-0 flex-1 cursor-pointer items-center gap-1 px-1 text-[11px] font-semibold tracking-wide text-fg-muted uppercase hover:text-fg`,children:[(0,U.jsx)(E,{"aria-hidden":!0,className:f(`size-3.5 transition-transform duration-150`,s&&`rotate-90`)}),(0,U.jsx)(`span`,{className:`flex-1 truncate text-left`,children:t})]}),g&&(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Discard all ${t.toLowerCase()}`,title:`Discard all changes`,disabled:u.isPending,onClick:()=>v(n),className:`hidden group-hover/section:inline-flex group-focus-within/section:inline-flex pointer-coarse:inline-flex`,children:(0,U.jsx)(dr,{className:`size-3.5`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`${m} all ${t.toLowerCase()}`,title:`${m} all`,disabled:l.isPending,onClick:()=>p(n.flatMap(aa)),className:`hidden group-hover/section:inline-flex group-focus-within/section:inline-flex pointer-coarse:inline-flex`,children:(0,U.jsx)(h,{className:`size-3.5`})}),(0,U.jsx)(`span`,{className:`ml-1 rounded-full bg-elevated px-1.5 text-[10px] font-medium text-fg`,children:n.length})]}),y&&(0,U.jsx)(`p`,{className:`px-4 py-0.5 text-xs text-danger`,children:r(y)}),s&&(0,U.jsx)(`ul`,{className:`animate-expand`,children:n.map(t=>{let n={repo:e,path:t.path,area:t.area,origPath:t.origPath},r=t.workspacePath;return(0,U.jsx)(ia,{change:t,selected:i===qr(n),onSelect:()=>a(n),onOpenFile:r!==null&&t.kind!==`deleted`?()=>o(r):null,stageAction:{stage:d,pending:l.isPending,run:()=>p(aa(t))},discardAction:g?{pending:u.isPending,run:()=>v([t])}:null},qr(n))})})]})}function sa(e){return{conflicted:e.filter(e=>e.area===`conflicted`),staged:e.filter(e=>e.area===`staged`),unstaged:e.filter(e=>e.area===`unstaged`||e.area===`untracked`)}}function ca({repository:e,showHeader:t,rootLabel:n,...r}){let[i,a]=(0,H.useState)(e.changes.length>0||e.error!==null),o=(0,H.useMemo)(()=>sa(e.changes),[e.changes]),s=new Set(e.changes.map(e=>e.path)).size,c=e.path===``?n:e.path,l={repo:e.path,...r},u=(0,U.jsxs)(U.Fragment,{children:[e.error&&(0,U.jsxs)(`p`,{className:`flex items-start gap-1.5 px-3 py-1 text-xs text-fg-muted`,children:[(0,U.jsx)(O,{"aria-hidden":!0,className:`mt-0.5 size-3 shrink-0 text-warning`}),e.error]}),e.truncated&&(0,U.jsxs)(`p`,{className:`px-3 py-1 text-xs text-warning`,children:[`Showing the first `,e.changes.length,` changes.`]}),t&&!e.error&&(0,U.jsx)(yi,{repository:e}),t&&!e.error&&e.changes.length===0&&(0,U.jsx)(`p`,{className:`py-1 pl-9 text-xs text-fg-subtle`,children:`No changes`}),(0,U.jsx)(oa,{title:`Merge conflicts`,changes:o.conflicted,...l}),(0,U.jsx)(oa,{title:`Staged changes`,changes:o.staged,...l}),(0,U.jsx)(oa,{title:`Changes`,changes:o.unstaged,...l})]});return t?(0,U.jsxs)(`section`,{"aria-label":`Repository ${c}`,className:`border-b border-line last:border-b-0`,children:[(0,U.jsxs)(`div`,{className:`group/repo flex items-center pr-1 hover:bg-hover`,children:[(0,U.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>a(!i),className:`flex min-w-0 flex-1 cursor-pointer items-center gap-1.5 px-1 py-1.5 text-left pointer-coarse:py-2.5`,children:[(0,U.jsx)(E,{"aria-hidden":!0,className:f(`size-3.5 shrink-0 text-fg-muted transition-transform duration-150`,i&&`rotate-90`)}),(0,U.jsx)(pn,{"aria-hidden":!0,className:`size-4 shrink-0 text-accent-fg`}),(0,U.jsx)(`span`,{className:`min-w-0 shrink truncate font-medium text-fg-strong`,title:e.path||n,children:c}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,U.jsx)(Jr,{repository:e})}),s>0&&(0,U.jsx)(`span`,{className:`shrink-0 rounded-full bg-elevated px-1.5 text-[10px] font-medium text-fg`,children:s})]}),!e.error&&(0,U.jsx)(`span`,{className:`opacity-0 group-focus-within/repo:opacity-100 group-hover/repo:opacity-100 has-[[aria-expanded=true]]:opacity-100 pointer-coarse:opacity-100`,children:(0,U.jsx)(Ai,{repository:e,size:`icon-sm`})})]}),i&&(0,U.jsx)(`div`,{className:`animate-expand pb-1`,children:u})]}):(0,U.jsx)(`div`,{className:`py-1`,children:u})}function la({onNavigate:e}){let t=s(),n=F(),i=h(P.workspaceInfo(n)),a=h({...P.gitStatus(n),enabled:i.data?.backend===`ssh`}),o=M(e=>e.openDiff),c=M(e=>e.openFile),l=M(e=>{let t=e.tabs.find(t=>t.id===e.activeTabId);return t?.kind===`diff`?qr(t):null}),u=a.data?.repositories??[],d=()=>void t.invalidateQueries({queryKey:N.git(n)}),p=t=>{o(t),e?.()},g=t=>{c(t),e?.()},v=u.length===1&&u[0]?.path===``?u[0]:null,y=u.reduce((e,t)=>e+t.changes.length,0),b;return b=i.data?.backend===`local`?(0,U.jsx)(j,{icon:_n,title:`Git requires an SSH host`,description:`This server’s folders support file editing only. Connect through SSH using a separate account to use Git.`}):a.isPending?(0,U.jsx)(`div`,{className:`flex justify-center p-6`,children:(0,U.jsx)(m,{})}):a.isError?(0,U.jsx)(j,{title:`Cannot read Git status`,tone:`error`,description:r(a.error),children:(0,U.jsx)(_,{size:`sm`,onClick:d,children:`Retry`})}):u.length===0?(0,U.jsx)(j,{icon:_n,title:`No Git repository`,description:`Neither the project folder nor its subfolders contain a Git repository.`}):v&&y===0?(0,U.jsx)(j,{icon:te,title:`No changes`,description:`The working tree is clean.`}):(0,U.jsxs)(`div`,{children:[u.map(e=>(0,U.jsx)(ca,{repository:e,showHeader:!v,rootLabel:i.data?.name??`Project`,selectedKey:l,onSelect:p,onOpenFile:g},e.path)),a.data?.repositoriesTruncated&&(0,U.jsxs)(`p`,{className:`px-3 py-1 text-xs text-warning`,children:[`Only the first `,u.length,` repositories are shown.`]})]}),(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-panel`,children:[(0,U.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-1 pr-1 pl-3 pointer-coarse:h-11`,children:[(0,U.jsx)(`h2`,{className:`flex-1 text-[11px] font-semibold tracking-wide text-fg-muted uppercase`,children:`Source Control`}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Refresh Git status`,title:`Refresh`,onClick:d,children:(0,U.jsx)(Un,{className:f(`size-4`,a.isFetching&&`animate-spin`)})}),v&&(0,U.jsx)(Ai,{repository:v})]}),v&&(0,U.jsxs)(`div`,{className:`shrink-0 border-b border-line`,children:[(0,U.jsx)(`div`,{className:`flex items-center gap-2 px-3 pb-1`,children:(0,U.jsx)(Jr,{repository:v})}),(0,U.jsx)(yi,{repository:v})]}),(0,U.jsx)(`div`,{className:`scrollbar-thin min-h-0 flex-1 overflow-y-auto`,children:b}),u.length>0&&(0,U.jsx)(na,{repositories:u,rootLabel:i.data?.name??`Project`,onNavigate:e}),(0,U.jsx)($r,{})]})}var ua=60;function da({side:e,open:t,label:n,onClose:r,children:i}){let a=(0,H.useRef)(null);return(0,H.useEffect)(()=>{if(!t)return;let e=e=>{e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,r]),(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{"aria-hidden":!0,onClick:r,className:f(`absolute inset-0 z-30 bg-black/50 transition-opacity duration-200`,t?`opacity-100`:`pointer-events-none opacity-0`)}),(0,U.jsx)(`aside`,{"aria-label":n,"aria-hidden":!t,inert:!t,onTouchStart:e=>{let t=e.touches[0];a.current=t?{x:t.clientX,y:t.clientY}:null},onTouchEnd:t=>{let n=a.current,i=t.changedTouches[0];if(a.current=null,!n||!i)return;let o=i.clientX-n.x,s=i.clientY-n.y;Math.abs(o)>ua&&Math.abs(o)>Math.abs(s)*1.5&&(e===`left`?o<0:o>0)&&r()},className:f(`absolute inset-y-0 z-40 w-[min(85vw,360px)] border-line shadow-2xl shadow-black/50 transition-transform duration-200 ease-out motion-reduce:transition-none`,e===`left`?`left-0 border-r`:`right-0 border-l`,t?`translate-x-0`:e===`left`?`-translate-x-full`:`translate-x-full`),children:(0,U.jsx)(`div`,{className:`safe-bottom h-full`,children:i})})]})}var fa=320,pa=16;function ma({side:e}){let t=V(t=>e===`left`?t.leftWidth:t.rightWidth),n=V(e=>e.setWidth),r=(0,H.useRef)(null),i=t=>{let r=V.getState(),i=e===`left`?r.rightOpen?r.rightWidth:0:r.leftOpen?r.leftWidth:0;n(e,Math.min(t,window.innerWidth-i-fa))},a=e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),r.current={startX:e.clientX,startWidth:t,frame:0}},o=t=>{let n=r.current;if(!n)return;let a=t.clientX-n.startX;cancelAnimationFrame(n.frame),n.frame=requestAnimationFrame(()=>i(e===`left`?n.startWidth+a:n.startWidth-a))},s=e=>{r.current=null,e.currentTarget.releasePointerCapture(e.pointerId)};return(0,U.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":e===`left`?`Resize explorer`:`Resize source control`,"aria-valuenow":t,tabIndex:0,onPointerDown:a,onPointerMove:o,onPointerUp:s,onPointerCancel:s,onKeyDown:n=>{if(n.key!==`ArrowLeft`&&n.key!==`ArrowRight`)return;n.preventDefault();let r=n.key===`ArrowRight`==(e===`left`);i(t+(r?pa:-16))},onDoubleClick:()=>n(e,e===`left`?260:360),className:`group relative z-10 w-px shrink-0 cursor-col-resize touch-none bg-line outline-none`,children:(0,U.jsx)(`span`,{className:`absolute inset-y-0 -left-1 w-[9px] transition-colors group-hover:bg-accent/50 group-focus-visible:bg-accent group-active:bg-accent`})})}function ha({tab:e}){return e.kind===`terminal`?(0,U.jsx)(fe,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-fg-muted`}):e.kind===`diff`?(0,U.jsx)(xn,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-modified-fg`}):e.kind===`commit`?(0,U.jsx)(yn,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-accent-fg`}):(0,U.jsx)(D,{name:e.title,className:`size-3.5`})}function ga({initial:e,onDone:t}){let[n,r]=(0,H.useState)(e);return(0,U.jsx)(`input`,{autoFocus:!0,"aria-label":`Terminal name`,value:n,maxLength:60,onChange:e=>r(e.target.value),onFocus:e=>e.currentTarget.select(),onBlur:()=>t(n),onClick:e=>e.stopPropagation(),onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&t(n),e.key===`Escape`&&t(null)},className:`h-6 w-28 rounded border border-accent bg-panel px-1 text-xs text-fg-strong outline-none`})}function _a({tab:e,active:t}){let n=M(e=>e.activate),r=M(e=>e.close),i=M(e=>e.rename),a=M(e=>e.workspaceId),o=e.kind===`file`&&a?br(a,e.path):null,s=W(e=>o!==null&&e.drafts[o]!==void 0),c=W(e=>e.clearDraft),[l,u]=(0,H.useState)(!1),d=t=>{if(e.kind!==`terminal`||!k(e)||window.confirm(`Close ${e.title}? Its shell and any programs running in it will be terminated.`)){if(s&&o){if(!window.confirm(`Discard unsaved changes to ${e.title}?`))return;c(o)}r(t)}},p=e.kind===`file`||e.kind===`diff`?e.path:e.title;return(0,U.jsxs)(`div`,{id:`tab-${e.id}`,role:`tab`,tabIndex:t?0:-1,"aria-selected":t,title:p,onClick:()=>n(e.id),onAuxClick:t=>{t.button===1&&(t.preventDefault(),d(e.id))},onKeyDown:t=>{t.key===`Enter`||t.key===` `?(t.preventDefault(),n(e.id)):t.key===`Delete`&&d(e.id)},onDoubleClick:()=>e.kind===`terminal`&&u(!0),className:f(`group relative flex h-full max-w-56 shrink-0 animate-tab-in cursor-pointer items-center gap-1.5 overflow-hidden border-r border-line pr-1 pl-3 transition-colors select-none`,t?`bg-canvas text-fg-strong`:`bg-panel text-fg-muted hover:bg-elevated`),children:[t&&(0,U.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-x-0 top-0 h-px bg-accent`}),(0,U.jsx)(ha,{tab:e}),l?(0,U.jsx)(ga,{initial:e.title,onDone:t=>{t!==null&&i(e.id,t),u(!1)}}):(0,U.jsx)(`span`,{className:`truncate`,children:e.title}),(0,U.jsxs)(`button`,{type:`button`,"aria-label":s?`Close ${e.title} (unsaved changes)`:`Close ${e.title}`,title:e.kind===`terminal`?`Close and terminate shell`:s?`Unsaved changes — close`:`Close`,onClick:t=>{t.stopPropagation(),d(e.id)},className:f(`flex size-5 shrink-0 cursor-pointer items-center justify-center rounded hover:bg-hover pointer-coarse:size-8`,t||s?`opacity-100`:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 pointer-coarse:opacity-100`),children:[s&&(0,U.jsx)(`span`,{"aria-hidden":!0,className:`size-2 rounded-full bg-fg group-hover:hidden`}),(0,U.jsx)(hr,{className:f(`size-3.5`,s&&`hidden group-hover:block`)})]})]})}function va({terminalsAvailable:e,onNewTerminal:t}){let n=M(e=>e.tabs),r=M(e=>e.activeTabId),i=(0,H.useRef)(null);return(0,H.useEffect)(()=>{let e=i.current;if(!r||!e)return;let t=()=>document.getElementById(`tab-${r}`)?.scrollIntoView({block:`nearest`,inline:`nearest`});t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[r]),n.length===0?null:(0,U.jsxs)(`div`,{className:`flex h-9 shrink-0 border-b border-line bg-panel pointer-coarse:h-10`,children:[(0,U.jsx)(`div`,{ref:i,role:`tablist`,"aria-label":`Open tabs`,onWheel:e=>{let t=i.current;t&&Math.abs(e.deltaY)>Math.abs(e.deltaX)&&(t.scrollLeft+=e.deltaY)},className:`scrollbar-none flex min-w-0 flex-1 overflow-x-auto overscroll-x-contain`,children:n.map(e=>(0,U.jsx)(_a,{tab:e,active:e.id===r},e.id))}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`New terminal`,title:e?`New terminal`:`Terminals are only available for projects on SSH hosts`,disabled:!e,onClick:t,className:`h-full rounded-none border-l border-line`,children:(0,U.jsx)(se,{className:`size-4`})})]})}function J(e){return new nt(Xe.define(e))}function Y(e){return I(()=>import(`./dist-DdeR5kYT.js`).then(t=>t.sql({dialect:t[e]})),__vite__mapDeps([0,1,2]))}var ya=[B.of({name:`C`,extensions:[`c`,`h`,`ino`],load(){return I(()=>import(`./dist-CYNLiE2B.js`).then(e=>e.cpp()),__vite__mapDeps([3,1]))}}),B.of({name:`C++`,alias:[`cpp`],extensions:[`cpp`,`c++`,`cc`,`cxx`,`hpp`,`h++`,`hh`,`hxx`],load(){return I(()=>import(`./dist-CYNLiE2B.js`).then(e=>e.cpp()),__vite__mapDeps([3,1]))}}),B.of({name:`CQL`,alias:[`cassandra`],extensions:[`cql`],load(){return Y(`Cassandra`)}}),B.of({name:`CSS`,extensions:[`css`],load(){return I(()=>import(`./dist-DOcORAD_.js`).then(e=>e.i).then(e=>e.css()),__vite__mapDeps([4,5,1]))}}),B.of({name:`Go`,extensions:[`go`],load(){return I(()=>import(`./dist-BGyMVrYk.js`).then(e=>e.go()),__vite__mapDeps([6,1,2]))}}),B.of({name:`HTML`,alias:[`xhtml`],extensions:[`html`,`htm`,`handlebars`,`hbs`],load(){return I(()=>import(`./dist-CL_zGtiO.js`).then(e=>e.html()),__vite__mapDeps([7,1,4,5,8,2]))}}),B.of({name:`Java`,extensions:[`java`],load(){return I(()=>import(`./dist-D7xXmJTH.js`).then(e=>e.java()),__vite__mapDeps([9,1]))}}),B.of({name:`JavaScript`,alias:[`ecmascript`,`js`,`node`],extensions:[`js`,`mjs`,`cjs`],load(){return I(()=>import(`./dist-aVl135DR.js`).then(e=>e.t).then(e=>e.javascript()),__vite__mapDeps([8,5,1,2]))}}),B.of({name:`Jinja`,extensions:[`j2`,`jinja`,`jinja2`],load(){return I(()=>import(`./dist-FOmLcFeD.js`).then(e=>e.jinja()),__vite__mapDeps([10,1,7,4,5,8,2]))}}),B.of({name:`JSON`,alias:[`json5`],extensions:[`json`,`map`],load(){return I(()=>import(`./dist-JuM3aKGD.js`).then(e=>e.json()),__vite__mapDeps([11,1]))}}),B.of({name:`JSX`,extensions:[`jsx`],load(){return I(()=>import(`./dist-aVl135DR.js`).then(e=>e.t).then(e=>e.javascript({jsx:!0})),__vite__mapDeps([8,5,1,2]))}}),B.of({name:`LESS`,extensions:[`less`],load(){return I(()=>import(`./dist-CyOGylYO.js`).then(e=>e.less()),__vite__mapDeps([12,1,4,5]))}}),B.of({name:`Liquid`,extensions:[`liquid`],load(){return I(()=>import(`./dist-3tAAASIu.js`).then(e=>e.liquid()),__vite__mapDeps([13,1,7,4,5,8,2]))}}),B.of({name:`MariaDB SQL`,load(){return Y(`MariaSQL`)}}),B.of({name:`Markdown`,extensions:[`md`,`markdown`,`mkd`],load(){return I(()=>import(`./dist-DGmHtnYo.js`).then(e=>e.markdown()),__vite__mapDeps([14,1,2,7,4,5,8]))}}),B.of({name:`MS SQL`,load(){return Y(`MSSQL`)}}),B.of({name:`MySQL`,load(){return Y(`MySQL`)}}),B.of({name:`PHP`,extensions:[`php`,`php3`,`php4`,`php5`,`php7`,`phtml`],load(){return I(()=>import(`./dist-y7gdVNBt.js`).then(e=>e.php()),__vite__mapDeps([15,1,7,4,5,8,2]))}}),B.of({name:`PLSQL`,extensions:[`pls`],load(){return Y(`PLSQL`)}}),B.of({name:`PostgreSQL`,load(){return Y(`PostgreSQL`)}}),B.of({name:`Python`,extensions:[`BUILD`,`bzl`,`py`,`pyw`],filename:/^(BUCK|BUILD)$/,load(){return I(()=>import(`./dist-AXYnLL_F.js`).then(e=>e.python()),__vite__mapDeps([16,1,2]))}}),B.of({name:`Rust`,extensions:[`rs`],load(){return I(()=>import(`./dist-CM8yt5f_.js`).then(e=>e.rust()),__vite__mapDeps([17,1]))}}),B.of({name:`Sass`,extensions:[`sass`],load(){return I(()=>import(`./dist-S0tn--lj.js`).then(e=>e.sass({indented:!0})),__vite__mapDeps([18,1,4,5]))}}),B.of({name:`SCSS`,extensions:[`scss`],load(){return I(()=>import(`./dist-S0tn--lj.js`).then(e=>e.sass()),__vite__mapDeps([18,1,4,5]))}}),B.of({name:`SQL`,extensions:[`sql`],load(){return Y(`StandardSQL`)}}),B.of({name:`SQLite`,load(){return Y(`SQLite`)}}),B.of({name:`TSX`,extensions:[`tsx`],load(){return I(()=>import(`./dist-aVl135DR.js`).then(e=>e.t).then(e=>e.javascript({jsx:!0,typescript:!0})),__vite__mapDeps([8,5,1,2]))}}),B.of({name:`TypeScript`,alias:[`ts`],extensions:[`ts`,`mts`,`cts`],load(){return I(()=>import(`./dist-aVl135DR.js`).then(e=>e.t).then(e=>e.javascript({typescript:!0})),__vite__mapDeps([8,5,1,2]))}}),B.of({name:`WebAssembly`,extensions:[`wat`,`wast`],load(){return I(()=>import(`./dist-CDAjPDtI.js`).then(e=>e.wast()),__vite__mapDeps([19,1]))}}),B.of({name:`XML`,alias:[`rss`,`wsdl`,`xsd`],extensions:[`xml`,`xsl`,`xsd`,`svg`],load(){return I(()=>import(`./dist-D-bo6lHS.js`).then(e=>e.xml()),__vite__mapDeps([20,1]))}}),B.of({name:`YAML`,alias:[`yml`],extensions:[`yaml`,`yml`],load(){return I(()=>import(`./dist-DyYo49jM.js`).then(e=>e.yaml()),__vite__mapDeps([21,1]))}}),B.of({name:`APL`,extensions:[`dyalog`,`apl`],load(){return I(()=>import(`./apl-gfMMiTNf.js`).then(e=>J(e.apl)),[])}}),B.of({name:`PGP`,alias:[`asciiarmor`],extensions:[`asc`,`pgp`,`sig`],load(){return I(()=>import(`./asciiarmor-C_eisQCp.js`).then(e=>J(e.asciiArmor)),[])}}),B.of({name:`ASN.1`,extensions:[`asn`,`asn1`],load(){return I(()=>import(`./asn1-DCl_8MCW.js`).then(e=>J(e.asn1({}))),[])}}),B.of({name:`Asterisk`,filename:/^extensions\.conf$/i,load(){return I(()=>import(`./asterisk-BEn0Cwpx.js`).then(e=>J(e.asterisk)),[])}}),B.of({name:`Brainfuck`,extensions:[`b`,`bf`],load(){return I(()=>import(`./brainfuck-D5EjA2JK.js`).then(e=>J(e.brainfuck)),[])}}),B.of({name:`Cobol`,extensions:[`cob`,`cpy`],load(){return I(()=>import(`./cobol-DHLQUbN7.js`).then(e=>J(e.cobol)),[])}}),B.of({name:`C#`,alias:[`csharp`,`cs`],extensions:[`cs`],load(){return I(()=>import(`./clike-xvONpD0Z.js`).then(e=>J(e.csharp)),[])}}),B.of({name:`Clojure`,extensions:[`clj`,`cljc`,`cljx`],load(){return I(()=>import(`./clojure-BflJGmDX.js`).then(e=>J(e.clojure)),[])}}),B.of({name:`ClojureScript`,extensions:[`cljs`],load(){return I(()=>import(`./clojure-BflJGmDX.js`).then(e=>J(e.clojure)),[])}}),B.of({name:`Closure Stylesheets (GSS)`,extensions:[`gss`],load(){return I(()=>import(`./css-CnaYoQib.js`).then(e=>J(e.gss)),[])}}),B.of({name:`CMake`,extensions:[`cmake`,`cmake.in`],filename:/^CMakeLists\.txt$/,load(){return I(()=>import(`./cmake-84nbDH0I.js`).then(e=>J(e.cmake)),[])}}),B.of({name:`CoffeeScript`,alias:[`coffee`,`coffee-script`],extensions:[`coffee`],load(){return I(()=>import(`./coffeescript-De_zI4J0.js`).then(e=>J(e.coffeeScript)),[])}}),B.of({name:`Common Lisp`,alias:[`lisp`],extensions:[`cl`,`lisp`,`el`],load(){return I(()=>import(`./commonlisp-DgAKBe0r.js`).then(e=>J(e.commonLisp)),[])}}),B.of({name:`Cypher`,extensions:[`cyp`,`cypher`],load(){return I(()=>import(`./cypher-p9eYesGn.js`).then(e=>J(e.cypher)),[])}}),B.of({name:`Cython`,extensions:[`pyx`,`pxd`,`pxi`],load(){return I(()=>import(`./python-B_1Jd8HM.js`).then(e=>J(e.cython)),[])}}),B.of({name:`Crystal`,extensions:[`cr`],load(){return I(()=>import(`./crystal-Bsdphhtm.js`).then(e=>J(e.crystal)),[])}}),B.of({name:`D`,extensions:[`d`],load(){return I(()=>import(`./d-DWkQyNnU.js`).then(e=>J(e.d)),[])}}),B.of({name:`Dart`,extensions:[`dart`],load(){return I(()=>import(`./clike-xvONpD0Z.js`).then(e=>J(e.dart)),[])}}),B.of({name:`diff`,extensions:[`diff`,`patch`],load(){return I(()=>import(`./diff-ChtP43wD.js`).then(e=>J(e.diff)),[])}}),B.of({name:`Dockerfile`,filename:/^Dockerfile$/,load(){return I(()=>import(`./dockerfile-DJkHQgkl.js`).then(e=>J(e.dockerFile)),__vite__mapDeps([22,23]))}}),B.of({name:`DTD`,extensions:[`dtd`],load(){return I(()=>import(`./dtd-DTF72YNO.js`).then(e=>J(e.dtd)),[])}}),B.of({name:`Dylan`,extensions:[`dylan`,`dyl`,`intr`],load(){return I(()=>import(`./dylan-S7ucR4pR.js`).then(e=>J(e.dylan)),[])}}),B.of({name:`EBNF`,load(){return I(()=>import(`./ebnf-D4c0_ac3.js`).then(e=>J(e.ebnf)),[])}}),B.of({name:`ECL`,extensions:[`ecl`],load(){return I(()=>import(`./ecl-BVIeWmwY.js`).then(e=>J(e.ecl)),[])}}),B.of({name:`edn`,extensions:[`edn`],load(){return I(()=>import(`./clojure-BflJGmDX.js`).then(e=>J(e.clojure)),[])}}),B.of({name:`Eiffel`,extensions:[`e`],load(){return I(()=>import(`./eiffel-BEjRio4Q.js`).then(e=>J(e.eiffel)),[])}}),B.of({name:`Elm`,extensions:[`elm`],load(){return I(()=>import(`./elm-Cshzl8qu.js`).then(e=>J(e.elm)),[])}}),B.of({name:`Erlang`,extensions:[`erl`],load(){return I(()=>import(`./erlang-BV0c4Hdn.js`).then(e=>J(e.erlang)),[])}}),B.of({name:`Esper`,load(){return I(()=>import(`./sql-DuQMFDvy.js`).then(e=>J(e.esper)),[])}}),B.of({name:`Factor`,extensions:[`factor`],load(){return I(()=>import(`./factor-LKH5gN8L.js`).then(e=>J(e.factor)),__vite__mapDeps([24,23]))}}),B.of({name:`FCL`,load(){return I(()=>import(`./fcl-ClOhbFR7.js`).then(e=>J(e.fcl)),[])}}),B.of({name:`Forth`,extensions:[`forth`,`fth`,`4th`],load(){return I(()=>import(`./forth-D6RzAl64.js`).then(e=>J(e.forth)),[])}}),B.of({name:`Fortran`,extensions:[`f`,`for`,`f77`,`f90`,`f95`],load(){return I(()=>import(`./fortran-Bt6PBEDR.js`).then(e=>J(e.fortran)),[])}}),B.of({name:`F#`,alias:[`fsharp`],extensions:[`fs`],load(){return I(()=>import(`./mllike-B45xgp2S.js`).then(e=>J(e.fSharp)),[])}}),B.of({name:`Gas`,extensions:[`s`],load(){return I(()=>import(`./gas-BHEdbvp9.js`).then(e=>J(e.gas)),[])}}),B.of({name:`Gherkin`,extensions:[`feature`],load(){return I(()=>import(`./gherkin-oBAE_ms0.js`).then(e=>J(e.gherkin)),[])}}),B.of({name:`Groovy`,extensions:[`groovy`,`gradle`],filename:/^Jenkinsfile$/,load(){return I(()=>import(`./groovy-CUpZ7dEl.js`).then(e=>J(e.groovy)),[])}}),B.of({name:`Haskell`,extensions:[`hs`],load(){return I(()=>import(`./haskell-BRsoo5mP.js`).then(e=>J(e.haskell)),[])}}),B.of({name:`Haxe`,extensions:[`hx`],load(){return I(()=>import(`./haxe-DjVOVvNP.js`).then(e=>J(e.haxe)),[])}}),B.of({name:`HXML`,extensions:[`hxml`],load(){return I(()=>import(`./haxe-DjVOVvNP.js`).then(e=>J(e.hxml)),[])}}),B.of({name:`HTTP`,load(){return I(()=>import(`./http-CLVgA2GD.js`).then(e=>J(e.http)),[])}}),B.of({name:`IDL`,extensions:[`pro`],load(){return I(()=>import(`./idl-BUZw3wgd.js`).then(e=>J(e.idl)),[])}}),B.of({name:`JSON-LD`,alias:[`jsonld`],extensions:[`jsonld`],load(){return I(()=>import(`./javascript-Bu8mWwtz.js`).then(e=>J(e.jsonld)),[])}}),B.of({name:`Julia`,extensions:[`jl`],load(){return I(()=>import(`./julia-CQfgDRfP.js`).then(e=>J(e.julia)),[])}}),B.of({name:`Kotlin`,extensions:[`kt`,`kts`],load(){return I(()=>import(`./clike-xvONpD0Z.js`).then(e=>J(e.kotlin)),[])}}),B.of({name:`LiveScript`,alias:[`ls`],extensions:[`ls`],load(){return I(()=>import(`./livescript-BXxG0Yva.js`).then(e=>J(e.liveScript)),[])}}),B.of({name:`Lua`,extensions:[`lua`],load(){return I(()=>import(`./lua-DPCEkfD_.js`).then(e=>J(e.lua)),[])}}),B.of({name:`mIRC`,extensions:[`mrc`],load(){return I(()=>import(`./mirc-C9zpzAZU.js`).then(e=>J(e.mirc)),[])}}),B.of({name:`Mathematica`,extensions:[`m`,`nb`,`wl`,`wls`],load(){return I(()=>import(`./mathematica-u8YMmbU0.js`).then(e=>J(e.mathematica)),[])}}),B.of({name:`Modelica`,extensions:[`mo`],load(){return I(()=>import(`./modelica-CqHI_q-D.js`).then(e=>J(e.modelica)),[])}}),B.of({name:`MUMPS`,extensions:[`mps`],load(){return I(()=>import(`./mumps-BSzj6Xyz.js`).then(e=>J(e.mumps)),[])}}),B.of({name:`Mbox`,extensions:[`mbox`],load(){return I(()=>import(`./mbox-BEMVcqjs.js`).then(e=>J(e.mbox)),[])}}),B.of({name:`Nginx`,filename:/nginx.*\.conf$/i,load(){return I(()=>import(`./nginx-8H7HVH4w.js`).then(e=>J(e.nginx)),[])}}),B.of({name:`NSIS`,extensions:[`nsh`,`nsi`],load(){return I(()=>import(`./nsis-viPvXFiq.js`).then(e=>J(e.nsis)),__vite__mapDeps([25,23]))}}),B.of({name:`NTriples`,extensions:[`nt`,`nq`],load(){return I(()=>import(`./ntriples-CzMBulkp.js`).then(e=>J(e.ntriples)),[])}}),B.of({name:`Objective-C`,alias:[`objective-c`,`objc`],extensions:[`m`],load(){return I(()=>import(`./clike-xvONpD0Z.js`).then(e=>J(e.objectiveC)),[])}}),B.of({name:`Objective-C++`,alias:[`objective-c++`,`objc++`],extensions:[`mm`],load(){return I(()=>import(`./clike-xvONpD0Z.js`).then(e=>J(e.objectiveCpp)),[])}}),B.of({name:`OCaml`,extensions:[`ml`,`mli`,`mll`,`mly`],load(){return I(()=>import(`./mllike-B45xgp2S.js`).then(e=>J(e.oCaml)),[])}}),B.of({name:`Octave`,extensions:[`m`],load(){return I(()=>import(`./octave-D2Q8cUp1.js`).then(e=>J(e.octave)),[])}}),B.of({name:`Oz`,extensions:[`oz`],load(){return I(()=>import(`./oz-BwTct_5T.js`).then(e=>J(e.oz)),[])}}),B.of({name:`Pascal`,extensions:[`p`,`pas`],load(){return I(()=>import(`./pascal-Dp_KdFgX.js`).then(e=>J(e.pascal)),[])}}),B.of({name:`Perl`,extensions:[`pl`,`pm`],load(){return I(()=>import(`./perl-BkSkiI9m.js`).then(e=>J(e.perl)),[])}}),B.of({name:`Pig`,extensions:[`pig`],load(){return I(()=>import(`./pig-AF4Hwhju.js`).then(e=>J(e.pig)),[])}}),B.of({name:`PowerShell`,extensions:[`ps1`,`psd1`,`psm1`],load(){return I(()=>import(`./powershell-D8WpQPaX.js`).then(e=>J(e.powerShell)),[])}}),B.of({name:`Properties files`,alias:[`ini`,`properties`],extensions:[`properties`,`ini`,`in`],load(){return I(()=>import(`./properties-C357ku5U.js`).then(e=>J(e.properties)),[])}}),B.of({name:`ProtoBuf`,extensions:[`proto`],load(){return I(()=>import(`./protobuf-D1ij_kNL.js`).then(e=>J(e.protobuf)),[])}}),B.of({name:`Pug`,alias:[`jade`],extensions:[`pug`,`jade`],load(){return I(()=>import(`./pug-Dwd_FmgJ.js`).then(e=>J(e.pug)),__vite__mapDeps([26,27]))}}),B.of({name:`Puppet`,extensions:[`pp`],load(){return I(()=>import(`./puppet-BZyAS7I4.js`).then(e=>J(e.puppet)),[])}}),B.of({name:`Q`,extensions:[`q`],load(){return I(()=>import(`./q-B9NhS7L_.js`).then(e=>J(e.q)),[])}}),B.of({name:`R`,alias:[`rscript`],extensions:[`r`,`R`],load(){return I(()=>import(`./r-CxDmU1I4.js`).then(e=>J(e.r)),[])}}),B.of({name:`RPM Changes`,load(){return I(()=>import(`./rpm-gpDK5sbt.js`).then(e=>J(e.rpmChanges)),[])}}),B.of({name:`RPM Spec`,extensions:[`spec`],load(){return I(()=>import(`./rpm-gpDK5sbt.js`).then(e=>J(e.rpmSpec)),[])}}),B.of({name:`Ruby`,alias:[`jruby`,`macruby`,`rake`,`rb`,`rbx`],extensions:[`rb`],filename:/^(Gemfile|Rakefile)$/,load(){return I(()=>import(`./ruby-ChfNwlCY.js`).then(e=>J(e.ruby)),[])}}),B.of({name:`SAS`,extensions:[`sas`],load(){return I(()=>import(`./sas-C2OyD2Y6.js`).then(e=>J(e.sas)),[])}}),B.of({name:`Scala`,extensions:[`scala`],load(){return I(()=>import(`./clike-xvONpD0Z.js`).then(e=>J(e.scala)),[])}}),B.of({name:`Scheme`,extensions:[`scm`,`ss`],load(){return I(()=>import(`./scheme-D9qYN0V5.js`).then(e=>J(e.scheme)),[])}}),B.of({name:`Shell`,alias:[`bash`,`sh`,`zsh`],extensions:[`sh`,`ksh`,`bash`],filename:/^PKGBUILD$/,load(){return I(()=>import(`./shell-DwuoZtxw.js`).then(e=>J(e.shell)),[])}}),B.of({name:`Sieve`,extensions:[`siv`,`sieve`],load(){return I(()=>import(`./sieve-tLWDfEkZ.js`).then(e=>J(e.sieve)),[])}}),B.of({name:`Smalltalk`,extensions:[`st`],load(){return I(()=>import(`./smalltalk-BLp5-jwC.js`).then(e=>J(e.smalltalk)),[])}}),B.of({name:`Solr`,load(){return I(()=>import(`./solr-B78wSQJQ.js`).then(e=>J(e.solr)),[])}}),B.of({name:`SML`,extensions:[`sml`,`sig`,`fun`,`smackspec`],load(){return I(()=>import(`./mllike-B45xgp2S.js`).then(e=>J(e.sml)),[])}}),B.of({name:`SPARQL`,alias:[`sparul`],extensions:[`rq`,`sparql`],load(){return I(()=>import(`./sparql-Dz-mlCAC.js`).then(e=>J(e.sparql)),[])}}),B.of({name:`Spreadsheet`,alias:[`excel`,`formula`],load(){return I(()=>import(`./spreadsheet-CTIncYxj.js`).then(e=>J(e.spreadsheet)),[])}}),B.of({name:`Squirrel`,extensions:[`nut`],load(){return I(()=>import(`./clike-xvONpD0Z.js`).then(e=>J(e.squirrel)),[])}}),B.of({name:`Stylus`,extensions:[`styl`],load(){return I(()=>import(`./stylus-BOVgKnng.js`).then(e=>J(e.stylus)),[])}}),B.of({name:`Swift`,extensions:[`swift`],load(){return I(()=>import(`./swift-DKB6_1j6.js`).then(e=>J(e.swift)),[])}}),B.of({name:`sTeX`,load(){return I(()=>import(`./stex-DNzd62Q_.js`).then(e=>J(e.stex)),[])}}),B.of({name:`LaTeX`,alias:[`tex`],extensions:[`text`,`ltx`,`tex`],load(){return I(()=>import(`./stex-DNzd62Q_.js`).then(e=>J(e.stex)),[])}}),B.of({name:`SystemVerilog`,extensions:[`v`,`sv`,`svh`],load(){return I(()=>import(`./verilog-CjI9Y6RI.js`).then(e=>J(e.verilog)),[])}}),B.of({name:`Tcl`,extensions:[`tcl`],load(){return I(()=>import(`./tcl-BGfruO1u.js`).then(e=>J(e.tcl)),[])}}),B.of({name:`Textile`,extensions:[`textile`],load(){return I(()=>import(`./textile-C4jVoHG1.js`).then(e=>J(e.textile)),[])}}),B.of({name:`TiddlyWiki`,load(){return I(()=>import(`./tiddlywiki-VlUiK86J.js`).then(e=>J(e.tiddlyWiki)),[])}}),B.of({name:`Tiki wiki`,load(){return I(()=>import(`./tiki-DTszW0OQ.js`).then(e=>J(e.tiki)),[])}}),B.of({name:`TOML`,extensions:[`toml`],load(){return I(()=>import(`./toml-BPTmHmyx.js`).then(e=>J(e.toml)),[])}}),B.of({name:`Troff`,extensions:[`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`],load(){return I(()=>import(`./troff-C2dAgh7P.js`).then(e=>J(e.troff)),[])}}),B.of({name:`TTCN`,extensions:[`ttcn`,`ttcn3`,`ttcnpp`],load(){return I(()=>import(`./ttcn-PPSTk1ow.js`).then(e=>J(e.ttcn)),[])}}),B.of({name:`TTCN_CFG`,extensions:[`cfg`],load(){return I(()=>import(`./ttcn-cfg-2b4Gb5sE.js`).then(e=>J(e.ttcnCfg)),[])}}),B.of({name:`Turtle`,extensions:[`ttl`],load(){return I(()=>import(`./turtle-Cx3rYX2g.js`).then(e=>J(e.turtle)),[])}}),B.of({name:`Web IDL`,extensions:[`webidl`],load(){return I(()=>import(`./webidl-D5jiJvOU.js`).then(e=>J(e.webIDL)),[])}}),B.of({name:`VB.NET`,extensions:[`vb`],load(){return I(()=>import(`./vb-BthdM_4N.js`).then(e=>J(e.vb)),[])}}),B.of({name:`VBScript`,extensions:[`vbs`],load(){return I(()=>import(`./vbscript-D9f6rSsU.js`).then(e=>J(e.vbScript)),[])}}),B.of({name:`Velocity`,extensions:[`vtl`],load(){return I(()=>import(`./velocity-CqftRsjg.js`).then(e=>J(e.velocity)),[])}}),B.of({name:`Verilog`,extensions:[`v`],load(){return I(()=>import(`./verilog-CjI9Y6RI.js`).then(e=>J(e.verilog)),[])}}),B.of({name:`VHDL`,extensions:[`vhd`,`vhdl`],load(){return I(()=>import(`./vhdl-kS471soi.js`).then(e=>J(e.vhdl)),[])}}),B.of({name:`XQuery`,extensions:[`xy`,`xquery`,`xq`,`xqm`,`xqy`],load(){return I(()=>import(`./xquery-BKJx4mf9.js`).then(e=>J(e.xQuery)),[])}}),B.of({name:`Yacas`,extensions:[`ys`],load(){return I(()=>import(`./yacas-CXXgtw0p.js`).then(e=>J(e.yacas)),[])}}),B.of({name:`Z80`,extensions:[`z80`],load(){return I(()=>import(`./z80-Co3PbHdE.js`).then(e=>J(e.z80)),[])}}),B.of({name:`MscGen`,extensions:[`mscgen`,`mscin`,`msc`],load(){return I(()=>import(`./mscgen-qgSLujhx.js`).then(e=>J(e.mscgen)),[])}}),B.of({name:`Xù`,extensions:[`xu`],load(){return I(()=>import(`./mscgen-qgSLujhx.js`).then(e=>J(e.xu)),[])}}),B.of({name:`MsGenny`,extensions:[`msgenny`],load(){return I(()=>import(`./mscgen-qgSLujhx.js`).then(e=>J(e.msgenny)),[])}}),B.of({name:`Vue`,extensions:[`vue`],load(){return I(()=>import(`./dist-FUrprsRT.js`).then(e=>e.vue()),__vite__mapDeps([28,1,8,5,2,7,4]))}}),B.of({name:`Angular Template`,load(){return I(()=>import(`./dist-CJBq646Z.js`).then(e=>e.angular()),__vite__mapDeps([29,1,8,5,2,7,4]))}})];function ba(e){return B.matchFilename(ya,L(e))}function xa(e){return ba(e)?.name??null}async function Sa(e){let t=ba(e);if(!t)return null;try{return await t.load()}catch{return null}}var Ca=z.theme({"&":{height:`100%`,color:`var(--color-fg)`,backgroundColor:`var(--color-canvas)`,fontSize:`13px`},"@media (pointer: coarse)":{"&":{fontSize:`12.5px`}},".cm-scroller":{fontFamily:`var(--font-mono)`,lineHeight:`1.55`,overscrollBehavior:`contain`},".cm-content":{caretColor:`var(--editor-caret)`,paddingBlock:`6px`},".cm-cursor, .cm-dropCursor":{borderLeftColor:`var(--editor-caret)`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:`var(--editor-selection) !important`},".cm-activeLine":{backgroundColor:`var(--editor-active-line)`},".cm-gutters":{backgroundColor:`var(--color-canvas)`,color:`var(--editor-gutter-fg)`,border:`none`},".cm-activeLineGutter":{backgroundColor:`transparent`,color:`var(--color-fg)`},".cm-lineNumbers .cm-gutterElement":{paddingInline:`12px 8px`,minWidth:`40px`},".cm-foldGutter .cm-gutterElement":{color:`var(--color-fg-subtle)`,paddingInline:`2px`},".cm-foldPlaceholder":{backgroundColor:`var(--editor-fold-bg)`,border:`none`,color:`var(--color-fg)`,paddingInline:`4px`},".cm-matchingBracket, &.cm-focused .cm-matchingBracket":{backgroundColor:`var(--editor-bracket-bg)`,outline:`1px solid var(--editor-bracket-outline)`},".cm-selectionMatch":{backgroundColor:`var(--editor-selection-match)`},".cm-searchMatch":{backgroundColor:`rgb(234 92 0 / 0.33)`,outline:`1px solid rgb(234 92 0 / 0.6)`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`var(--editor-search-selected)`},".cm-panels":{backgroundColor:`var(--color-elevated)`,color:`var(--color-fg)`},".cm-panels.cm-panels-top":{borderBottom:`1px solid var(--color-line-strong)`},".cm-panel.cm-search":{padding:`6px 8px`,display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`4px 6px`,fontFamily:`var(--font-sans)`,fontSize:`12px`},".cm-panel.cm-search input, .cm-panel.cm-search button, .cm-panel.cm-search label":{margin:`0`,fontSize:`12px`},".cm-textfield":{backgroundColor:`var(--editor-input-bg)`,border:`1px solid var(--color-line-strong)`,borderRadius:`3px`,color:`var(--color-fg)`,padding:`3px 6px`,minHeight:`26px`},".cm-textfield:focus":{borderColor:`var(--color-focus)`,outline:`none`},".cm-button":{backgroundImage:`none`,backgroundColor:`var(--editor-input-bg)`,border:`1px solid var(--color-line-strong)`,borderRadius:`3px`,color:`var(--color-fg)`,padding:`3px 8px`,minHeight:`26px`},".cm-button:hover":{backgroundColor:`var(--color-hover)`},".cm-panel.cm-search [name=close]":{color:`var(--color-fg)`,fontSize:`16px`,position:`static`,marginLeft:`auto`,padding:`0 6px`},".cm-tooltip":{backgroundColor:`var(--color-elevated)`,border:`1px solid var(--editor-tooltip-border)`,color:`var(--color-fg)`},".cm-specialChar":{color:`var(--color-danger)`}}),wa=ot.define([{tag:[R.keyword,R.modifier,R.operatorKeyword],color:`var(--syn-keyword)`},{tag:[R.controlKeyword,R.moduleKeyword],color:`var(--syn-control)`},{tag:[R.definitionKeyword,R.self,R.null,R.bool,R.atom],color:`var(--syn-keyword)`},{tag:[R.string,R.special(R.string),R.character],color:`var(--syn-string)`},{tag:[R.regexp,R.escape],color:`var(--syn-regexp)`},{tag:[R.number,R.integer,R.float,R.unit],color:`var(--syn-number)`},{tag:[R.comment,R.lineComment,R.blockComment,R.docComment],color:`var(--syn-comment)`},{tag:[R.function(R.variableName),R.function(R.propertyName),R.macroName],color:`var(--syn-function)`},{tag:[R.variableName,R.propertyName,R.attributeName],color:`var(--syn-variable)`},{tag:[R.typeName,R.className,R.namespace,R.definition(R.typeName)],color:`var(--syn-type)`},{tag:[R.constant(R.variableName),R.standard(R.variableName)],color:`var(--syn-constant)`},{tag:[R.tagName,R.angleBracket],color:`var(--syn-tag)`},{tag:[R.operator,R.punctuation,R.separator],color:`var(--syn-operator)`},{tag:[R.meta,R.annotation,R.processingInstruction],color:`var(--syn-control)`},{tag:R.heading,color:`var(--syn-heading)`,fontWeight:`bold`},{tag:R.strong,fontWeight:`bold`},{tag:R.emphasis,fontStyle:`italic`},{tag:R.strikethrough,textDecoration:`line-through`},{tag:[R.link,R.url],color:`var(--color-accent-fg)`,textDecoration:`underline`},{tag:[R.inserted],color:`var(--color-added-fg)`},{tag:[R.deleted],color:`var(--color-deleted-fg)`},{tag:[R.changed],color:`var(--color-modified-fg)`},{tag:R.invalid,color:`var(--syn-invalid)`}]);function Ta({touch:e,lineNumbers:t=!0}){return[t?[Ue(),lt(),Qe()]:[],et(),mt(),e?[]:$e(),We(),yt(),ft(),ht({top:!0}),Je.of([...st,...ct,...tt]),Ca,Ye(wa,{fallback:!0})]}function Ea({editable:e,touch:t}){return e?Je.of([...rt,ut]):[gt.readOnly.of(!0),z.editable.of(!t)]}var Da=new Map,Oa=new Map,ka=30,Aa={history:_t};function ja(e,t){Oa.delete(e),Oa.set(e,{doc:t.doc.toString(),json:t.toJSON(Aa)}),Oa.size>ka&&Oa.delete(Oa.keys().next().value)}function Ma({viewStateKey:e,languagePath:t,content:n,wrap:r,extensions:i,lineNumbers:a=!0,editable:o=!1,onDocChange:s,onViewChange:c}){let l=(0,H.useRef)(null),u=(0,H.useRef)(null),[d]=(0,H.useState)(()=>({language:new bt,wrap:new bt,extra:new bt,editing:new bt})),f=ji(Ni),p=(0,H.useRef)({content:n,wrap:r,extensions:i,editable:o,onDocChange:s,onViewChange:c});return(0,H.useLayoutEffect)(()=>{p.current={content:n,wrap:r,extensions:i,editable:o,onDocChange:s,onViewChange:c}}),(0,H.useEffect)(()=>{let t=l.current;if(!t)return;let n=p.current,r={doc:n.content,extensions:[Ta({touch:f,lineNumbers:a}),d.language.of([]),d.wrap.of(n.wrap?z.lineWrapping:[]),d.extra.of(n.extensions??[]),d.editing.of(Ea({editable:n.editable,touch:f})),z.updateListener.of(e=>{e.docChanged&&e.transactions.some(e=>!e.annotation(at.remote))&&p.current.onDocChange?.(e.state.doc.toString())})]},i=Oa.get(e),o=i?.doc===n.content?gt.fromJSON(i.json,r,Aa):gt.create(r),s=new z({parent:t,state:o}),c=Da.get(e);return c&&s.dispatch({effects:c}),u.current=s,n.onViewChange?.(s),()=>{Da.set(e,s.scrollSnapshot()),p.current.onDocChange&&ja(e,s.state),u.current=null,p.current.onViewChange?.(null),s.destroy()}},[e,f,a,d]),(0,H.useEffect)(()=>{let e=u.current;if(!e||e.state.doc.toString()===n)return;let t=e.scrollSnapshot();e.dispatch({changes:{from:0,to:e.state.doc.length,insert:n},annotations:[at.remote.of(!0),at.addToHistory.of(!1)]}),e.dispatch({effects:t})},[n]),(0,H.useEffect)(()=>{u.current?.dispatch({effects:d.editing.reconfigure(Ea({editable:o,touch:f}))})},[o,f,d]),(0,H.useEffect)(()=>{u.current?.dispatch({effects:d.wrap.reconfigure(r?z.lineWrapping:[])})},[r,d]),(0,H.useEffect)(()=>{u.current?.dispatch({effects:d.extra.reconfigure(i??[])})},[i,d]),(0,H.useEffect)(()=>{let e=!1;return Sa(t).then(t=>{e||u.current?.dispatch({effects:d.language.reconfigure(t??[])})}),()=>{e=!0}},[t,f,a,d]),(0,U.jsx)(`div`,{ref:l,className:`h-full min-h-0 overflow-hidden`})}function Na({title:e,meta:t,actions:n}){return(0,U.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-2 border-b border-line bg-canvas pr-1 pl-3 pointer-coarse:h-11`,children:[e?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:e}),t&&(0,U.jsx)(`div`,{className:`hidden shrink-0 text-xs text-fg-subtle sm:block`,children:t})]}):(0,U.jsx)(`div`,{className:`min-w-0 flex-1 truncate text-xs text-fg-subtle`,children:t}),n&&(0,U.jsx)(`div`,{className:`flex shrink-0 items-center`,children:n})]})}var Pa={png:`image`,jpg:`image`,jpeg:`image`,gif:`image`,webp:`image`,avif:`image`,bmp:`image`,ico:`image`,heic:`image`,heif:`image`,tif:`image`,tiff:`image`,jxl:`image`,mp4:`video`,m4v:`video`,mov:`video`,webm:`video`,ogv:`video`,mp3:`audio`,m4a:`audio`,aac:`audio`,wav:`audio`,flac:`audio`,oga:`audio`,ogg:`audio`,opus:`audio`},Fa=e=>e.includes(`.`)?e.slice(e.lastIndexOf(`.`)+1).toLowerCase():``,Ia=e=>Pa[Fa(e)]??null,La=e=>Fa(e)===`svg`,Ra=e=>`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`,za=[.1,.25,.5,.75,1,1.5,2,3,4,6,8];function Ba(e,t){return(t===1?za.find(t=>t>e+1e-6):[...za].reverse().find(t=>t<e-1e-6))??e}function Va({src:e,alt:t,onSize:n,errorHint:r}){let[i,a]=(0,H.useState)(`fit`),[o,s]=(0,H.useState)({src:e,status:`loading`,size:null});o.src!==e&&s({src:e,status:`loading`,size:null});let c=i===`fit`?1:i,l=i===`fit`?`Fit`:`${Math.round(i*100)}%`;return(0,U.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[(0,U.jsxs)(`div`,{className:f(`checkerboard min-h-0 flex-1 overflow-auto overscroll-contain`,i===`fit`&&`flex items-center justify-center p-4`),onDoubleClick:()=>a(i===`fit`?1:`fit`),children:[o.status===`error`?(0,U.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 p-6 text-center text-xs text-fg-muted`,children:[(0,U.jsx)(Dn,{"aria-hidden":!0,className:`size-6`}),(0,U.jsx)(`p`,{children:`This image cannot be displayed.`}),r&&(0,U.jsx)(`p`,{className:`text-fg-subtle`,children:r})]}):(0,U.jsx)(`img`,{src:e,alt:t,draggable:!1,onLoad:t=>{let r={width:t.currentTarget.naturalWidth,height:t.currentTarget.naturalHeight};s({src:e,status:`ready`,size:r}),n?.(r)},onError:()=>{s({src:e,status:`error`,size:null}),n?.(null)},style:i===`fit`||!o.size?void 0:{width:o.size.width*c,height:o.size.height*c,maxWidth:`none`},className:f(`animate-fade-in [image-rendering:auto] select-none`,i===`fit`&&`max-h-full max-w-full object-contain`,typeof i==`number`&&i>=3&&`[image-rendering:pixelated]`,o.status!==`ready`&&`opacity-0`)},e),o.status===`loading`&&(0,U.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,U.jsx)(m,{className:`size-5`})})]}),o.status===`ready`&&(0,U.jsxs)(`div`,{className:`animate-fade-in absolute right-3 bottom-3 flex items-center gap-0.5 rounded-md border border-line-strong bg-elevated/95 p-0.5 shadow-lg shadow-black/20`,children:[(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Zoom out`,title:`Zoom out`,onClick:()=>a(Ba(c,-1)),children:(0,U.jsx)(Fn,{className:`size-3.5`})}),(0,U.jsx)(`span`,{className:`w-11 text-center font-mono text-[11px] text-fg-muted tabular-nums`,children:l}),(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Zoom in`,title:`Zoom in`,onClick:()=>a(Ba(c,1)),children:(0,U.jsx)(se,{className:`size-3.5`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":i===`fit`?`Actual size`:`Fit to window`,title:i===`fit`?`Actual size (double-click)`:`Fit to window (double-click)`,onClick:()=>a(i===`fit`?1:`fit`),children:(0,U.jsx)(Yn,{className:`size-3.5`})})]})]})}function Ha({path:e,label:t=`Download`}){let n=F();return(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":t,title:t,onClick:()=>Cr(De(n,e,{download:!0}),L(e)),children:(0,U.jsx)(Xt,{className:`size-4`})})}function Ua({tab:e,kind:t}){let n=F(),[r,i]=(0,H.useState)(0),[a,o]=(0,H.useState)(null),[s,c]=(0,H.useState)(!1),l=e.path.slice(e.path.lastIndexOf(`.`)+1).toUpperCase(),u=De(n,e.path,{version:r}),d;return d=t===`image`?(0,U.jsx)(Va,{src:u,alt:e.title,onSize:o,errorHint:`It may be corrupt, in a format this browser cannot decode (HEIC and TIFF open only in Safari), or larger than MAX_IMAGE_BYTES.`}):s?(0,U.jsx)(j,{icon:nn,title:`This file cannot be played`,description:`This browser may not support its format or codec. Download it to open it in another app.`}):t===`video`?(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center bg-black p-2`,children:(0,U.jsx)(`video`,{src:u,controls:!0,playsInline:!0,preload:`metadata`,className:`max-h-full max-w-full animate-fade-in`,onError:()=>c(!0)},u)}):(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,U.jsx)(`audio`,{src:u,controls:!0,preload:`metadata`,className:`w-full max-w-md animate-fade-in`,onError:()=>c(!0)},u)}),(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,U.jsx)(Na,{meta:[l,a&&`${a.width} × ${a.height}`].filter(Boolean).join(` · `),actions:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Ha,{path:e.path}),(0,U.jsx)(T,{text:e.path,label:`Copy path`}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Reload from disk`,title:`Reload from disk`,onClick:()=>{c(!1),i(r+1)},children:(0,U.jsx)(Un,{className:`size-4`})})]})}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1`,children:d})]})}var Wa=(0,H.lazy)(()=>I(()=>import(`./markdown-view-BQbaAkAk.js`).then(e=>({default:e.MarkdownView})),__vite__mapDeps([30,5,31,32,33,34,35,36]))),Ga=`workspace:save-file`,Ka=pt.highest(Je.of([{key:`Mod-s`,preventDefault:!0,run:e=>(e.dom.dispatchEvent(new Event(Ga,{bubbles:!0})),!0)}]));function qa({children:e,actions:t}){return(0,U.jsxs)(`div`,{className:`flex shrink-0 animate-slide-down flex-wrap items-center gap-x-3 gap-y-1 border-b border-line bg-warning-bg px-3 py-1.5 text-xs text-fg`,children:[(0,U.jsx)(O,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-warning`}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1`,children:e}),t&&(0,U.jsx)(`span`,{className:`flex shrink-0 gap-1.5`,children:t})]})}function Ja({tab:e}){let t=F(),i=s(),a=P.file(t,e.path),o=h(a),c=V(e=>e.wordWrap),l=V(e=>e.toggleWordWrap),u=ji(Ni),[d,p]=(0,H.useState)(!1),[v,y]=(0,H.useState)(()=>_r(e.path)),b=La(e.path),x=_r(e.path),S=(b||x)&&v,C=br(t,e.path),w=W(e=>e.drafts[C]),ee=W(e=>e.setDraft),E=W(e=>e.clearDraft),D=(0,H.useRef)(null),te=(0,H.useRef)(null),O=(0,H.useCallback)(e=>{D.current=e},[]),k=o.data,re=k?.kind===`text`,ie=k?.kind===`text`&&!k.hasDecodingErrors,ae=ie&&(!u||d),oe=w!==void 0,se=oe&&k?.kind===`text`&&w.baseMtimeMs!==k.mtimeMs,ce=k?[xa(e.path),Ie(k.size)].filter(Boolean).join(` · `):null,A=g({mutationFn:({content:n,force:r})=>ye(t,{path:e.path,content:n,expectedMtimeMs:r?null:w?.baseMtimeMs??null}),onSuccess:(e,{content:n})=>{i.setQueryData(a.queryKey,e);let r=W.getState().drafts[C];r?.content===n?E(C):r&&ee(C,{...r,baseMtimeMs:e.mtimeMs}),i.invalidateQueries({queryKey:N.git(t)})}}),le=A.isError&&n(A.error)===`CONFLICT`,de=(0,H.useCallback)(e=>{let t=i.getQueryData(a.queryKey);if(t?.kind!==`text`)return;let n=W.getState().drafts[C];(n||e!==t.content)&&(n&&e===t.content&&n.baseMtimeMs===t.mtimeMs?E(C):ee(C,{content:e,baseMtimeMs:n?.baseMtimeMs??t.mtimeMs}))},[i,a.queryKey,C,ee,E]),{mutate:fe,isPending:pe}=A,me=(0,H.useCallback)(()=>{let e=W.getState().drafts[C];e&&!pe&&fe({content:e.content,force:!1})},[C,pe,fe]);(0,H.useEffect)(()=>{let e=te.current;if(e)return e.addEventListener(Ga,me),()=>e.removeEventListener(Ga,me)},[me]);let he=e=>{let t=D.current;t&&e(t)},ge=()=>Cr(De(t,e.path,{download:!0}),e.title),_e=()=>{E(C),A.reset(),o.refetch()},ve;return o.isPending?ve=(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,U.jsx)(m,{className:`size-5`})}):o.isError?ve=(0,U.jsx)(j,{icon:ln,tone:`error`,title:`Cannot open file`,description:r(o.error),children:(0,U.jsx)(_,{size:`sm`,onClick:()=>void o.refetch(),children:`Retry`})}):k?.kind===`binary`?ve=(0,U.jsx)(j,{icon:nn,title:`Binary file`,description:`This file (${Ie(k.size)}) contains binary data and cannot be shown as text.`,children:(0,U.jsxs)(_,{size:`sm`,onClick:ge,children:[(0,U.jsx)(Xt,{className:`size-3.5`}),` Download`]})}):k?.kind===`too-large`?ve=(0,U.jsx)(j,{icon:nn,title:`File too large to display`,description:`${Ie(k.size)} exceeds the ${Ie(k.limit)} viewer limit (MAX_FILE_BYTES). Download it, or inspect it in the terminal with less or head.`,children:(0,U.jsxs)(_,{size:`sm`,onClick:ge,children:[(0,U.jsx)(Xt,{className:`size-3.5`}),` Download`]})}):k?.kind===`text`&&(ve=(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[k.hasDecodingErrors&&(0,U.jsx)(qa,{children:`This file is not valid UTF-8; invalid bytes are shown as � and it opens read-only.`}),le?(0,U.jsx)(qa,{actions:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_,{size:`sm`,variant:`primary`,onClick:()=>w&&A.mutate({content:w.content,force:!0}),children:`Overwrite`}),(0,U.jsx)(_,{size:`sm`,onClick:_e,children:`Discard my changes`})]}),children:`The file changed on disk since you started editing.`}):se&&(0,U.jsx)(qa,{children:`The file changed on disk since you started editing. Saving will ask before overwriting it.`}),A.isError&&!le&&(0,U.jsxs)(qa,{children:[`Could not save: `,r(A.error)]}),k.size===0&&!oe&&(0,U.jsx)(`p`,{className:`shrink-0 border-b border-line px-3 py-1.5 text-xs text-fg-subtle`,children:`Empty file`}),b&&v?(0,U.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,U.jsx)(Va,{src:Ra(w?.content??k.content),alt:e.title,errorHint:`The SVG may be invalid.`})}):null,x&&v&&(0,U.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,U.jsx)(H.Suspense,{fallback:(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,U.jsx)(m,{className:`size-5`})}),children:(0,U.jsx)(Wa,{workspaceId:t,path:e.path,content:w?.content??k.content})})}),(0,U.jsx)(`div`,{className:f(`min-h-0 flex-1`,S&&`hidden`),children:(0,U.jsx)(Ma,{viewStateKey:`${t}:${e.id}`,languagePath:e.path,content:w?.content??k.content,wrap:c,editable:ae,extensions:Ka,onDocChange:de,onViewChange:O})})]})),(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,onKeyDown:e=>{S&&(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),me())},children:[(0,U.jsx)(Na,{meta:ce,actions:(0,U.jsxs)(U.Fragment,{children:[u&&ie&&(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Edit file`,"aria-pressed":d,title:`Edit`,className:f(d&&`bg-hover text-fg-strong`),onClick:()=>{p(!d),y(!1)},children:(0,U.jsx)(ne,{className:`size-4`})}),ae&&u&&!S&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Undo`,title:`Undo (Ctrl/Cmd+Z)`,onPointerDown:e=>e.preventDefault(),onClick:()=>he(it),children:(0,U.jsx)(pr,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Redo`,title:`Redo (Ctrl/Cmd+Shift+Z)`,onPointerDown:e=>e.preventDefault(),onClick:()=>he(xt),children:(0,U.jsx)(Vn,{className:`size-4`})})]}),(b||x)&&re&&(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":x?`Preview Markdown`:`Preview SVG`,"aria-pressed":v,title:v?`Show source`:x?`Preview Markdown`:`Preview image`,className:f(v&&`bg-hover text-fg-strong`),onClick:()=>y(!v),children:(0,U.jsx)(ue,{className:`size-4`})}),oe&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Revert unsaved changes`,title:`Revert (discard unsaved changes)`,onClick:_e,children:(0,U.jsx)(Gn,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Save file`,title:`Save (Ctrl/Cmd+S)`,disabled:A.isPending,className:`text-accent-fg`,onClick:me,children:A.isPending?(0,U.jsx)(m,{className:`size-4`,label:`Saving`}):(0,U.jsx)(qn,{className:`size-4`})})]}),re&&!S&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Search in file`,title:`Search (Ctrl/Cmd+F)`,onClick:()=>D.current&&dt(D.current),children:(0,U.jsx)($n,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Toggle word wrap`,"aria-pressed":c,title:`Word wrap`,className:f(c&&`bg-hover text-fg-strong`),onClick:l,children:(0,U.jsx)(lr,{className:`size-4`})})]}),k&&k.kind!==`text`&&(0,U.jsx)(Ha,{path:e.path}),(0,U.jsx)(T,{text:e.path,label:`Copy path`}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Reload file`,title:`Reload from disk`,onClick:()=>void o.refetch(),children:(0,U.jsx)(Un,{className:f(`size-4`,o.isFetching&&`animate-spin`)})})]})}),(0,U.jsx)(`div`,{ref:te,className:`min-h-0 flex-1`,children:ve})]})}var Ya=/^(index |--- |\+\+\+ )/,Xa=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,Za=/^(@{3,}) (?:-\d+(?:,\d+)? )+\+(\d+)(?:,\d+)? @{3,}/;function Qa(e){let t=[],n=e.split(`
3
+ `);n.at(-1)===``&&n.pop();let r=!1,i=1,a=0,o=0;for(let e of n){if(e.startsWith(`diff `)){r=!1;continue}let n=Xa.exec(e);if(n){r=!0,i=1,a=Number(n[1]),o=Number(n[2]),t.push({kind:`hunk`,text:e,oldLine:null,newLine:null});continue}let s=Za.exec(e);if(s){r=!0,i=(s[1]?.length??3)-1,a=0,o=Number(s[2]),t.push({kind:`hunk`,text:e,oldLine:null,newLine:null});continue}if(!r){Ya.test(e)||t.push({kind:`meta`,text:e,oldLine:null,newLine:null});continue}if(e.startsWith(`\\`)){t.push({kind:`note`,text:e,oldLine:null,newLine:null});continue}let c=e.slice(0,i),l=e.slice(i);i===1?c===`+`?t.push({kind:`add`,text:l,oldLine:null,newLine:o++}):c===`-`?t.push({kind:`del`,text:l,oldLine:a++,newLine:null}):t.push({kind:`context`,text:l,oldLine:a++,newLine:o++}):c.includes(`-`)?t.push({kind:`del`,text:l,oldLine:null,newLine:null}):c.includes(`+`)?t.push({kind:`add`,text:l,oldLine:null,newLine:o++}):t.push({kind:`context`,text:l,oldLine:null,newLine:o++})}return t}function $a(e){let t=[],n=e.split(`
4
+ `);n.at(-1)===``&&n.pop();for(let e of n)if(e.startsWith(`@@ `))t.push([e]);else if(e.startsWith(`diff `)&&t.length>0)break;else t.at(-1)?.push(e);return t.map(e=>e.join(`
5
+ `))}function eo(e){let t=5381;for(let n=0;n<e.length;n+=1)t=(t<<5)+t+e.charCodeAt(n)|0;return`${e.length}:${t>>>0}`}function to({path:e,className:t}){let n=Fe(e);return(0,U.jsxs)(`span`,{className:f(`flex min-w-0 items-baseline gap-1.5`,t),title:e,children:[(0,U.jsx)(`span`,{className:`shrink-0 truncate text-fg-strong`,children:L(e)}),n&&(0,U.jsx)(`span`,{className:`min-w-0 truncate text-xs text-fg-subtle`,children:n})]})}var no={add:`cm-diff-add`,del:`cm-diff-del`,hunk:`cm-diff-hunk`,meta:`cm-diff-meta`,note:`cm-diff-meta`},ro={add:`+`,del:`-`},io=class extends Ge{line;width;elementClass;constructor(e,t){super(),this.line=e,this.width=t;let n=no[e.kind];this.elementClass=n?`${n}-gutter`:``}eq(e){return e.line===this.line&&e.width===this.width}toDOM(){let e=e=>{let t=document.createElement(`span`);return t.className=`cm-diff-num`,t.style.width=`${this.width}ch`,t.textContent=e,t},t=document.createElement(`span`);return t.className=`cm-diff-nums`,t.append(e(this.line.oldLine?.toString()??``),e(this.line.newLine?.toString()??``),Object.assign(document.createElement(`span`),{className:`cm-diff-sign`,textContent:ro[this.line.kind]??``})),t}},ao=`http://www.w3.org/2000/svg`,oo=class extends qe{hunk;onDiscard;constructor(e,t){super(),this.hunk=e,this.onDiscard=t}eq(e){return e.hunk===this.hunk&&e.onDiscard===this.onDiscard}toDOM(){let e=document.createElement(`button`);e.type=`button`,e.className=`cm-diff-action`,e.title=`Discard Block`,e.setAttribute(`aria-label`,`Discard this block`);let t=document.createElementNS(ao,`svg`);for(let[e,n]of Object.entries({viewBox:`0 0 24 24`,width:`12`,height:`12`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`}))t.setAttribute(e,n);for(let e of[`M9 14 4 9l5-5`,`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`]){let n=document.createElementNS(ao,`path`);n.setAttribute(`d`,e),t.append(n)}return e.append(t,`Discard`),e.addEventListener(`mousedown`,e=>e.preventDefault()),e.addEventListener(`click`,()=>this.onDiscard(this.hunk)),e}},so=z.theme({".cm-diff-add":{backgroundColor:`var(--color-added-bg)`},".cm-diff-del":{backgroundColor:`var(--color-deleted-bg)`},".cm-diff-hunk":{backgroundColor:`rgb(56 139 253 / 0.10)`,color:`var(--color-fg-subtle)`},".cm-diff-meta":{color:`var(--color-fg-subtle)`,fontStyle:`italic`},".cm-diff-hunk span, .cm-diff-meta span":{color:`inherit !important`},".cm-diff-gutter":{backgroundColor:`var(--color-canvas)`},".cm-diff-gutter .cm-gutterElement":{paddingRight:`4px`,userSelect:`none`},".cm-diff-add-gutter":{backgroundColor:`color-mix(in srgb, var(--color-added) 25%, transparent)`},".cm-diff-del-gutter":{backgroundColor:`color-mix(in srgb, var(--color-deleted) 25%, transparent)`},".cm-diff-hunk-gutter":{backgroundColor:`rgb(56 139 253 / 0.10)`},".cm-diff-nums":{display:`inline-flex`,gap:`6px`,paddingLeft:`8px`},".cm-diff-num":{display:`inline-block`,textAlign:`right`,color:`var(--editor-gutter-fg)`},".cm-diff-sign":{display:`inline-block`,width:`1ch`,textAlign:`center`},".cm-diff-add-gutter .cm-diff-sign":{color:`var(--color-added)`},".cm-diff-del-gutter .cm-diff-sign":{color:`var(--color-deleted)`},".cm-diff-action":{display:`inline-flex`,alignItems:`center`,gap:`4px`,marginLeft:`12px`,padding:`0 6px`,border:`1px solid var(--color-line-strong)`,borderRadius:`3px`,backgroundColor:`var(--color-elevated)`,color:`var(--color-fg-muted)`,fontFamily:`var(--font-sans)`,fontSize:`11px`,fontStyle:`normal`,lineHeight:`16px`,verticalAlign:`middle`,cursor:`pointer`},".cm-diff-action:hover":{color:`var(--color-fg-strong)`,borderColor:`var(--color-accent)`},"@media (pointer: coarse)":{".cm-diff-action":{lineHeight:`22px`,padding:`0 10px`}}});function co(e,t){let n=new vt,r=0,i=1,a=0;for(let o of e){let e=no[o.kind];if(e&&n.add(r,r,Ze.line({class:e})),o.kind===`hunk`&&t){let e=r+o.text.length;n.add(e,e,Ze.widget({widget:new oo(a,t),side:1}))}o.kind===`hunk`&&(a+=1),r+=o.text.length+1,i=Math.max(i,o.oldLine??0,o.newLine??0)}let o=String(i).length,s=new io({kind:`context`,text:``,oldLine:i,newLine:i},o);return[z.decorations.of(n.finish()),Ke({class:`cm-diff-gutter`,lineMarker(t,n){let r=e[t.state.doc.lineAt(n.from).number-1];return r?new io(r,o):null},initialSpacer:()=>s}),so]}var lo={staged:`Staged`,unstaged:`Working tree`,untracked:`Untracked`,conflicted:`Conflict`};function uo({diff:e,path:t,viewStateKey:n,wrap:r,onDiscardHunk:i}){let a=(0,H.useMemo)(()=>Qa(e),[e]),o=(0,H.useMemo)(()=>a.map(e=>e.text).join(`
6
+ `),[a]),s=(0,H.useRef)(i);(0,H.useEffect)(()=>{s.current=i});let c=i!==void 0,l=(0,H.useMemo)(()=>{if(!c)return co(a);let t=$a(e);return co(a,e=>{let n=t[e];n&&s.current?.(n)})},[a,e,c]),u=(0,H.useMemo)(()=>eo(e),[e]);return(0,U.jsx)(Ma,{viewStateKey:n,languagePath:t,content:o,wrap:r,extensions:l,lineNumbers:!1},u)}function fo({repo:e,path:t,area:n,origPath:i,viewStateKey:a,actions:o}){let s=F(),c=h(P.gitDiff(s,{repo:e,path:t,area:n,origPath:i??void 0})),l=V(e=>e.wordWrap),u=V(e=>e.toggleWordWrap),d=ti(),p=c.data,g=e?`${e}/${t}`:t,v=n===`unstaged`||n===`untracked`,y=()=>{ni([{path:t,area:n}])&&d.mutate({repo:e,paths:[t]})},b=n=>{d.isPending||d.mutate({repo:e,path:t,hunk:n})},x;return c.isPending?x=(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,U.jsx)(m,{className:`size-5`})}):c.isError?x=(0,U.jsx)(j,{icon:xn,tone:`error`,title:`Cannot load diff`,description:r(c.error),children:(0,U.jsx)(_,{size:`sm`,onClick:()=>void c.refetch(),children:`Retry`})}):p?.binary&&Ia(t)===`image`?x=(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,U.jsxs)(`p`,{className:`flex shrink-0 items-center gap-2 border-b border-line px-3 py-1.5 text-xs text-fg-muted`,children:[(0,U.jsx)(nn,{"aria-hidden":!0,className:`size-3.5 shrink-0`}),` Binary file changed. Showing the current file on disk.`]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,U.jsx)(Va,{src:De(s,g),alt:t,errorHint:`The file may have been deleted, or the image cannot be decoded.`})})]}):p?.binary?x=(0,U.jsx)(j,{icon:nn,title:`Binary file changed`,description:`Binary changes cannot be shown as text.`}):p&&p.diff.trim()===``?x=(0,U.jsx)(j,{icon:en,title:`No differences`,description:`The change may have been reverted or staged. Refresh to update.`}):p&&(x=(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[d.isError&&(0,U.jsxs)(`p`,{role:`alert`,className:`flex shrink-0 items-center gap-2 border-b border-line bg-deleted-bg px-3 py-1.5 text-xs`,children:[(0,U.jsx)(O,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-danger`}),r(d.error)]}),p.truncated&&(0,U.jsxs)(`p`,{className:`flex shrink-0 items-center gap-2 border-b border-line bg-warning-bg px-3 py-1.5 text-xs`,children:[(0,U.jsx)(O,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-warning`}),`Diff truncated at `,Ie(new Blob([p.diff]).size),` (MAX_DIFF_BYTES). Use the terminal for the full diff.`]}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,U.jsx)(uo,{diff:p.diff,path:t,viewStateKey:`${s}:${a}`,wrap:l,onDiscardHunk:n===`unstaged`&&!p.truncated?b:void 0})})]})),(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,U.jsx)(Na,{title:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(to,{path:g}),(0,U.jsx)(`span`,{className:`shrink-0 rounded bg-elevated px-1.5 py-0.5 text-[11px] text-fg-muted`,children:lo[n]})]}),meta:i?`renamed from ${i}`:null,actions:(0,U.jsxs)(U.Fragment,{children:[v&&(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Discard changes`,title:`Discard Changes`,disabled:d.isPending,onClick:y,children:(0,U.jsx)(dr,{className:`size-4`})}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Toggle word wrap`,"aria-pressed":l,title:`Word wrap`,className:f(l&&`bg-hover text-fg-strong`),onClick:u,children:(0,U.jsx)(lr,{className:`size-4`})}),o]})}),(0,U.jsx)(`div`,{className:`min-h-0 flex-1`,children:x})]})}var po={modified:{letter:`M`,className:`text-modified-fg`},added:{letter:`A`,className:`text-added-fg`},deleted:{letter:`D`,className:`text-deleted-fg`},renamed:{letter:`R`,className:`text-renamed-fg`},copied:{letter:`C`,className:`text-renamed-fg`},"type-changed":{letter:`T`,className:`text-modified-fg`},untracked:{letter:`U`,className:`text-untracked-fg`},conflicted:{letter:`!`,className:`text-conflict-fg`}},mo=8,ho=20,go=560;function _o({tab:e,file:t,wrap:n}){let i=F(),a=h(P.gitCommitDiff(i,{repo:e.repo,commit:e.hash,path:t.path,origPath:t.origPath??void 0})),o=(0,H.useMemo)(()=>a.data?Qa(a.data.diff).length:0,[a.data]);return a.isPending?(0,U.jsx)(`div`,{className:`flex justify-center p-3`,children:(0,U.jsx)(m,{})}):a.isError?(0,U.jsx)(`p`,{className:`px-3 py-2 text-xs text-fg-muted`,children:r(a.error)}):a.data.binary?(0,U.jsxs)(`p`,{className:`flex items-center gap-2 px-3 py-2 text-xs text-fg-muted`,children:[(0,U.jsx)(nn,{className:`size-3.5`}),` Binary file changed.`]}):o===0?(0,U.jsx)(`p`,{className:`px-3 py-2 text-xs text-fg-subtle`,children:`No textual changes (mode or rename only).`}):(0,U.jsx)(`div`,{style:{height:Math.min(o*ho+8,go)},children:(0,U.jsx)(uo,{diff:a.data.diff,path:t.path,viewStateKey:`${i}:${e.id}:${t.path}`,wrap:n})})}function vo({tab:e,file:t,defaultOpen:n,wrap:r}){let[i,a]=(0,H.useState)(n),{letter:o,className:s}=po[t.kind],c=Fe(t.path);return(0,U.jsxs)(`section`,{className:`border-b border-line`,children:[(0,U.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>a(!i),title:t.origPath?`${t.origPath} → ${t.path}`:t.path,className:`sticky top-0 z-10 flex h-8 w-full cursor-pointer items-center gap-2 bg-panel px-2 text-left hover:bg-hover pointer-coarse:h-10`,children:[(0,U.jsx)(E,{"aria-hidden":!0,className:f(`size-3.5 shrink-0 text-fg-muted transition-transform duration-150`,i&&`rotate-90`)}),(0,U.jsx)(`span`,{className:f(`min-w-0 truncate`,t.kind===`deleted`&&`line-through decoration-fg-subtle`),children:L(t.path)}),c&&(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-fg-subtle`,children:c}),!c&&(0,U.jsx)(`span`,{className:`flex-1`}),(0,U.jsxs)(`span`,{className:`shrink-0 font-mono text-[11px]`,children:[t.additions?(0,U.jsxs)(`span`,{className:`text-added-fg`,children:[`+`,t.additions]}):null,t.deletions?(0,U.jsxs)(`span`,{className:`ml-1 text-deleted-fg`,children:[`−`,t.deletions]}):null]}),(0,U.jsx)(`span`,{className:f(`w-4 shrink-0 text-center font-mono text-xs font-semibold`,s),children:o})]}),i&&(0,U.jsx)(_o,{tab:e,file:t,wrap:r})]})}function yo({tab:e}){let t=F(),n=h(P.gitCommit(t,e.repo,e.hash)),i=V(e=>e.wordWrap),a=V(e=>e.toggleWordWrap);if(n.isPending)return(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,U.jsx)(m,{className:`size-5`})});if(n.isError)return(0,U.jsx)(j,{icon:yn,tone:`error`,title:`Cannot load commit`,description:r(n.error)});let o=n.data,s=o.message.split(`
7
+ `).slice(1).join(`
8
+ `).trim(),c=o.files.reduce((e,t)=>({add:e.add+(t.additions??0),del:e.del+(t.deletions??0)}),{add:0,del:0});return(0,U.jsxs)(`div`,{className:`scrollbar-thin h-full overflow-y-auto bg-canvas`,children:[(0,U.jsxs)(`header`,{className:`space-y-2 border-b border-line px-4 py-3`,children:[(0,U.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,U.jsx)(`h2`,{className:`min-w-0 flex-1 text-sm font-semibold break-words text-fg-strong`,children:o.subject}),(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Toggle word wrap`,"aria-pressed":i,title:`Word wrap`,className:f(i&&`bg-hover text-fg-strong`),onClick:a,children:(0,U.jsx)(lr,{className:`size-4`})})]}),(0,U.jsxs)(`p`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-fg-muted`,children:[(0,U.jsx)(`span`,{className:`font-medium text-fg`,children:o.author}),(0,U.jsx)(`span`,{title:new Date(o.timestamp*1e3).toLocaleString(),children:ze(o.timestamp)}),(0,U.jsxs)(`span`,{className:`flex items-center font-mono`,children:[o.id.slice(0,8),(0,U.jsx)(T,{text:o.id,label:`Copy commit hash`,size:`icon-sm`})]}),(0,U.jsxs)(`span`,{children:[o.files.length,` `,o.files.length===1?`file`:`files`,` changed,`,` `,(0,U.jsxs)(`span`,{className:`text-added-fg`,children:[`+`,c.add]}),` `,(0,U.jsxs)(`span`,{className:`text-deleted-fg`,children:[`−`,c.del]})]})]}),s&&(0,U.jsx)(`pre`,{className:`font-sans text-xs leading-relaxed whitespace-pre-wrap text-fg`,children:s})]}),o.files.length===0&&(0,U.jsx)(`p`,{className:`px-4 py-3 text-xs text-fg-subtle`,children:`This commit changes no files (compared with its first parent).`}),o.files.map((t,n)=>(0,U.jsx)(vo,{tab:e,file:t,defaultOpen:n<mo,wrap:i},`${t.origPath??``}>${t.path}`)),o.truncated&&(0,U.jsxs)(`p`,{className:`px-4 py-2 text-xs text-warning`,children:[`Showing the first `,o.files.length,` files.`]})]})}var bo=`flex h-9 min-w-11 shrink-0 cursor-pointer items-center justify-center rounded border border-line-strong bg-elevated px-2.5 text-xs font-medium text-fg select-none transition-[transform,background-color] duration-75 active:scale-95 active:bg-hover`,xo=[{key:`up`,label:`Up`,icon:x},{key:`down`,label:`Down`,icon:At},{key:`left`,label:`Left`,icon:b},{key:`right`,label:`Right`,icon:Mt}],So=e=>e.preventDefault();function Co({controller:e,ctrlArmed:t,keyboard:n,keyboardOpen:r,onKeyboardButton:i}){let[a,o]=(0,H.useState)(!1),s=n===`onscreen`&&r;return(0,U.jsxs)(`div`,{role:`toolbar`,"aria-label":`Terminal keys`,className:f(`scrollbar-none flex shrink-0 items-center gap-1.5 overflow-x-auto border-t border-line bg-panel px-2 py-1.5`,!s&&`safe-bottom`),children:[(0,U.jsx)(`button`,{type:`button`,"aria-label":n===`onscreen`?r?`Hide on-screen keyboard`:`Show on-screen keyboard`:`Use on-screen keyboard`,"aria-pressed":s,title:n===`onscreen`?`On-screen keyboard`:`Switch to the on-screen keyboard`,className:f(bo,s&&`border-accent text-accent-fg`),onPointerDown:So,onClick:i,children:(0,U.jsx)(kn,{"aria-hidden":!0,className:`size-4`})}),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Enter`,className:bo,onPointerDown:So,onClick:()=>e.pressKey(`enter`),children:(0,U.jsx)(S,{"aria-hidden":!0,className:`size-4`})}),(0,U.jsx)(`button`,{type:`button`,className:bo,onPointerDown:So,onClick:()=>e.pressKey(`escape`),children:`Esc`}),(0,U.jsx)(`button`,{type:`button`,className:bo,onPointerDown:So,onClick:()=>e.pressKey(`tab`),children:`Tab`}),(0,U.jsx)(`button`,{type:`button`,"aria-pressed":t,title:`Ctrl: applies to the next key you type`,className:f(bo,t&&`border-accent bg-accent text-on-accent`),onPointerDown:So,onClick:()=>e.toggleCtrl(),children:`Ctrl`}),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Ctrl+Z`,title:`Ctrl+Z (suspend)`,className:bo,onPointerDown:So,onClick:()=>e.sendControl(`z`),children:`^Z`}),xo.map(({key:t,label:n,icon:r})=>(0,U.jsx)(`button`,{type:`button`,"aria-label":n,className:bo,onPointerDown:So,onClick:()=>e.pressKey(t),children:(0,U.jsx)(r,{"aria-hidden":!0,className:`size-4`})},t)),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Paste`,title:a?`Clipboard access was denied`:`Paste`,className:f(bo,a&&`border-danger/60`),onPointerDown:So,onClick:async()=>o(!await e.paste()),children:(0,U.jsx)(Bt,{"aria-hidden":!0,className:`size-4`})})]})}var wo={shift:`off`,ctrl:`off`,alt:`off`},To=[`shift`,`ctrl`,`alt`],Eo=e=>To.includes(e),Do=(e,t,n)=>({action:{type:`char`,char:e,shifted:t},grow:n,repeat:e===` `}),X=(e,t,n,r={})=>({action:{type:`key`,key:e},label:t,name:n,...r}),Z=(e,t={})=>({action:{type:e},...t}),Oo=(e,t)=>[...e].map((e,n)=>Do(e,t[n])),Q=e=>(0,U.jsx)(e,{"aria-hidden":!0,className:`size-[18px]`}),ko=[[...Oo("`1234567890-=",`~!@#$%^&*()_+`),X(`backspace`,Q(Jt),`Backspace`,{grow:1.5,repeat:!0})],[X(`tab`,Q(Pt),`Tab`,{grow:1.5}),...Oo(`qwertyuiop[]\\`,`QWERTYUIOP{}|`)],[X(`escape`,`Esc`,`Escape`,{grow:1.75,small:!0}),...Oo(`asdfghjkl;'`,`ASDFGHJKL:"`),X(`enter`,Q(S),`Enter`,{grow:1.75})],[Z(`shift`,{grow:2.25}),...Oo(`zxcvbnm,./`,`ZXCVBNM<>?`),Z(`shift`,{grow:2.25})],[Z(`fn`,{grow:1.5}),Z(`ctrl`,{grow:1.5}),Z(`alt`,{grow:1.5}),{...Do(` `,` `,7),name:`Space`,label:``},Z(`alt`,{grow:1.5}),Z(`device`,{grow:1.5})]],Ao=Array.from({length:12},(e,t)=>{let n=t+1;return X(`f${n}`,`F${n}`,`F${n}`,{area:`${Math.floor(t/4)+1} / ${t%4+2}`,small:n>=10})}),$=(e,t)=>({...Do(e),area:t}),jo=[X(`escape`,`Esc`,`Escape`,{area:`1 / 1`,small:!0}),X(`tab`,Q(Pt),`Tab`,{area:`2 / 1`}),Z(`shift`,{area:`4 / 1`}),Z(`fn`,{area:`5 / 1`}),Z(`ctrl`,{area:`5 / 2`}),Z(`alt`,{area:`5 / 3`}),{...Do(` `),name:`Space`,label:``,area:`5 / 4 / span 1 / span 2`},...Ao,$(`/`,`1 / 8`),$(`*`,`1 / 9`),$(`-`,`1 / 10`),$(`7`,`2 / 7`),$(`8`,`2 / 8`),$(`9`,`2 / 9`),$(`+`,`2 / 10 / span 2 / span 1`),$(`4`,`3 / 7`),$(`5`,`3 / 8`),$(`6`,`3 / 9`),$(`1`,`4 / 7`),$(`2`,`4 / 8`),$(`3`,`4 / 9`),X(`enter`,Q(S),`Enter`,{area:`4 / 10 / span 2 / span 1`}),$(`0`,`5 / 7 / span 1 / span 2`),$(`.`,`5 / 9`),X(`insert`,`Ins`,`Insert`,{area:`1 / 12`,small:!0}),X(`home`,`Home`,`Home`,{area:`1 / 13`,small:!0}),X(`pageUp`,`PgUp`,`Page up`,{area:`1 / 14`,small:!0,repeat:!0}),X(`backspace`,Q(Jt),`Backspace`,{area:`1 / 15`,repeat:!0}),X(`delete`,`Del`,`Delete`,{area:`2 / 12`,small:!0,repeat:!0}),X(`end`,`End`,`End`,{area:`2 / 13`,small:!0}),X(`pageDown`,`PgDn`,`Page down`,{area:`2 / 14`,small:!0,repeat:!0}),X(`up`,Q(x),`Up`,{area:`3 / 13`,repeat:!0}),X(`left`,Q(b),`Left`,{area:`4 / 12`,repeat:!0}),X(`down`,Q(At),`Down`,{area:`4 / 13`,repeat:!0}),X(`right`,Q(Mt),`Right`,{area:`4 / 14`,repeat:!0}),Z(`shift`,{area:`4 / 15`}),Z(`alt`,{area:`5 / 12`}),Z(`device`,{area:`5 / 15`})],Mo=400,No=50;function Po({controller:e,ctrlArmed:t,onUseDeviceKeyboard:n}){let[r,i]=(0,H.useState)(`main`),[a,o]=(0,H.useState)(wo),s=(0,H.useRef)(wo),c=(0,H.useRef)({shift:!1,ctrl:!1,alt:!1}),l=(0,H.useRef)({shift:!1,ctrl:!1,alt:!1}),u=(0,H.useRef)(null),d=e=>{s.current=e,o(e)},p=e=>c.current[e]||s.current[e]!==`off`,m=e=>{let t=s.current[e];c.current[e]=!0,l.current[e]=!1,d({...s.current,[e]:t===`off`?`once`:t===`once`?`lock`:`off`})},h=e=>{c.current[e]&&(c.current[e]=!1,l.current[e]&&d({...s.current,[e]:`off`}))},g=()=>{let e={...s.current};for(let t of To)c.current[t]?l.current[t]=!0:e[t]===`once`&&(e[t]=`off`);d(e)},_=()=>{u.current!==null&&clearTimeout(u.current),u.current=null};(0,H.useEffect)(()=>_,[]);let v=a.shift!==`off`,y=t=>{switch(t.type){case`char`:{let n=p(`shift`)?t.shifted??t.char:t.char;e.pressVirtualKey({char:n},{shift:!1,alt:p(`alt`),ctrl:p(`ctrl`)}),g();return}case`key`:e.pressVirtualKey(t.key,{shift:p(`shift`),alt:p(`alt`),ctrl:p(`ctrl`)}),g();return;case`fn`:i(r===`main`?`fn`:`main`);return;case`device`:n();return;default:m(t.type),h(t.type)}},b=(e,t)=>{if(e.preventDefault(),Eo(t.action.type)){m(t.action.type);return}if(_(),y(t.action),!t.repeat)return;let n=()=>{y(t.action),u.current=setTimeout(n,No)};u.current=setTimeout(n,Mo)},x=(e,t)=>{e.detail===0&&y(t.action)},S=e=>{Eo(e.action.type)?h(e.action.type):_()},C=(e,n)=>{let{action:i}=e,o=e.label,s=e.name,c=!1;i.type===`char`&&o===void 0?(o=v?i.shifted??i.char:i.char,s??=String(o)):i.type===`shift`?(o=Q(a.shift===`lock`?Et:Ot),s=a.shift===`lock`?`Shift (locked)`:`Shift`,c=v):i.type===`ctrl`?(o=`Ctrl`,s=a.ctrl===`lock`?`Ctrl (locked)`:`Ctrl`,c=a.ctrl!==`off`||t):i.type===`alt`?(o=`Alt`,s=a.alt===`lock`?`Alt (locked)`:`Alt`,c=a.alt!==`off`):i.type===`fn`?(o=`Fn`,c=r===`fn`):i.type===`device`&&(o=Q(rr),s=`Use the device's keyboard`);let l=i.type===`shift`||i.type===`ctrl`||i.type===`alt`||i.type===`fn`,u=e.area?{gridArea:e.area}:{flexGrow:e.grow??1,flexBasis:0};return(0,U.jsx)(`button`,{type:`button`,"aria-label":s,"aria-pressed":l?c:void 0,title:i.type===`device`?`Switch to the device's keyboard`:void 0,style:u,onPointerDown:t=>b(t,e),onPointerUp:()=>S(e),onPointerCancel:()=>S(e),onPointerLeave:()=>!Eo(i.type)&&_(),onClick:t=>x(t,e),onContextMenu:e=>e.preventDefault(),className:f(`flex min-w-0 cursor-pointer touch-none items-center justify-center rounded-[5px] border border-line bg-canvas text-fg-strong select-none`,`transition-[transform,background-color] duration-75 active:scale-[0.93] active:bg-hover`,e.small?`text-[11px]`:l?`text-[12px]`:`text-[15px]`,i.type!==`char`&&`bg-elevated`,c&&`border-accent bg-accent text-on-accent active:bg-accent-hover`,Eo(i.type)&&a[i.type]===`lock`&&`underline decoration-2 underline-offset-4`),children:o},n)};return(0,U.jsx)(`div`,{role:`group`,"aria-label":`On-screen keyboard`,className:`safe-bottom animate-slide-up shrink-0 border-t border-line bg-panel px-1 pt-1`,children:r===`main`?(0,U.jsx)(`div`,{className:`flex flex-col gap-1 pb-1`,children:ko.map((e,t)=>(0,U.jsx)(`div`,{className:`flex h-[clamp(34px,6vh,44px)] gap-1`,children:e.map(C)},t))}):(0,U.jsx)(`div`,{className:`grid gap-1 pb-1`,style:{gridTemplateColumns:`repeat(5, 1fr) 0.35fr repeat(4, 1fr) 0.35fr repeat(4, 1fr)`,gridTemplateRows:`repeat(5, clamp(34px, 6vh, 44px))`},children:jo.map(C)})})}function Fo({snapshot:e,controller:t,onClose:n}){let{phase:r,message:i}=e;return r===`connected`||r===`idle`?null:r===`connecting`?(0,U.jsxs)(`div`,{role:`status`,className:`pointer-events-none absolute top-2 right-3 flex items-center gap-1.5 rounded bg-elevated/90 px-2 py-1 text-xs text-fg-muted`,children:[(0,U.jsx)(p,{"aria-hidden":!0,className:`size-3.5 animate-spin`}),` Connecting…`]}):(0,U.jsxs)(`div`,{role:`status`,className:`absolute inset-x-2 top-2 z-10 flex flex-wrap items-center gap-2 rounded border border-line-strong bg-elevated/95 px-3 py-2 text-xs text-fg shadow-lg shadow-black/30`,children:[r===`reconnecting`?(0,U.jsx)(p,{"aria-hidden":!0,className:`size-4 animate-spin text-warning`}):(0,U.jsx)(fe,{"aria-hidden":!0,className:`size-4 text-fg-muted`}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1`,children:i}),r===`exited`||r===`ended`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(_,{size:`sm`,variant:`primary`,onClick:()=>t.restart(),children:[(0,U.jsx)(Gn,{className:`size-3.5`}),` New session`]}),(0,U.jsxs)(_,{size:`sm`,onClick:n,children:[(0,U.jsx)(hr,{className:`size-3.5`}),` Close tab`]})]}):r===`reconnecting`?null:(0,U.jsxs)(_,{size:`sm`,variant:`primary`,onClick:()=>t.retry(),children:[(0,U.jsx)(Gn,{className:`size-3.5`}),` `,r===`detached`?`Use here`:`Retry`]})]})}function Io({tab:e}){let t=re(e),n=(0,H.useSyncExternalStore)(t.subscribe,t.getSnapshot),r=(0,H.useRef)(null),i=ji(Ni),a=ji(Mi),o=M(e=>e.close),s=V(e=>e.terminalKeyboard),c=V(e=>e.setTerminalKeyboard),[l,u]=(0,H.useState)(!0),d=i||!a,f=d&&s===`onscreen`;return(0,H.useEffect)(()=>{let e=r.current;if(e)return t.mount(e),i||t.focus(),()=>t.unmount()},[t,i]),(0,H.useEffect)(()=>t.setOnscreenKeyboard(f),[t,f]),(0,U.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-canvas`,children:[(0,U.jsxs)(`div`,{className:`relative min-h-0 flex-1 py-1 pl-2`,children:[(0,U.jsx)(`div`,{ref:r,className:`h-full w-full`,onClick:()=>{t.focus(),f&&u(!0)}}),(0,U.jsx)(Fo,{snapshot:n,controller:t,onClose:()=>o(e.id)})]}),d&&(0,U.jsx)(Co,{controller:t,ctrlArmed:n.ctrlArmed,keyboard:s,keyboardOpen:l,onKeyboardButton:()=>{s===`device`?(c(`onscreen`),u(!0)):u(!l)}}),f&&l&&(0,U.jsx)(Po,{controller:t,ctrlArmed:n.ctrlArmed,onUseDeviceKeyboard:()=>{c(`device`),t.setOnscreenKeyboard(!1),t.focus()}})]})}function Lo({tab:e}){switch(e.kind){case`file`:{let t=Ia(e.path);return t?(0,U.jsx)(Ua,{tab:e,kind:t},e.id):(0,U.jsx)(Ja,{tab:e},e.id)}case`terminal`:return(0,U.jsx)(Io,{tab:e},e.id);case`commit`:return(0,U.jsx)(yo,{tab:e},e.id);case`diff`:return(0,U.jsx)(fo,{repo:e.repo,path:e.path,area:e.area,origPath:e.origPath,viewStateKey:e.id},e.id)}}var Ro={connected:`bg-added`,connecting:`bg-warning animate-pulse`,idle:`bg-fg-subtle`,error:`bg-danger`},zo={connected:`Connected`,connecting:`Connecting…`,idle:`Not connected yet`,error:`Disconnected`};function Bo({compact:e=!1}){let t=s(),n=F(),i=h(P.workspaceInfo(n)),a=g({mutationFn:()=>Ve(n),onSettled:()=>t.invalidateQueries({queryKey:N.workspace(n)})}),o=i.isError,c=o?`error`:i.data?.connection.status??`connecting`,l=o?r(i.error):i.data?.connection.error??null,u=[i.data?.host??i.data?.backend,zo[c],l].filter(Boolean).join(` — `);return(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-xs text-fg-muted`,title:u,children:[(0,U.jsx)(`span`,{"aria-hidden":!0,className:f(`size-2 shrink-0 rounded-full`,Ro[c])}),(0,U.jsx)(`span`,{className:`sr-only`,children:zo[c]}),!e&&i.data?.host&&(0,U.jsx)(`span`,{className:`hidden truncate md:inline`,children:i.data.host}),c===`error`&&!o&&(0,U.jsxs)(`button`,{type:`button`,onClick:()=>a.mutate(),disabled:a.isPending,className:`flex shrink-0 cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 text-danger hover:bg-hover disabled:opacity-60`,children:[(0,U.jsx)(Gn,{"aria-hidden":!0,className:f(`size-3`,a.isPending&&`animate-spin`)}),!e&&`Reconnect`]})]})}function Vo(e,t,n){(0,H.useEffect)(()=>{if(!e)return;let r=e=>{t.current?.contains(e.target)||n()},i=e=>{e.key===`Escape`&&n()};return document.addEventListener(`pointerdown`,r),document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`pointerdown`,r),document.removeEventListener(`keydown`,i)}},[e,t,n])}function Ho({https:e,onChange:t}){return(0,U.jsx)(`div`,{role:`radiogroup`,"aria-label":`Protocol`,className:`flex h-8 shrink-0 rounded border border-line-strong p-0.5`,children:[!1,!0].map(n=>(0,U.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":e===n,onClick:()=>t(n),className:f(`cursor-pointer rounded-sm px-1.5 font-mono text-[11px]`,e===n?`bg-accent text-on-accent`:`text-fg-muted hover:bg-hover hover:text-fg`),children:n?`https`:`http`},String(n)))})}function Uo(e){let t=Number(e);return e!==``&&Number.isInteger(t)&&t>=1&&t<=65535?t:null}function Wo({workspaceId:e}){let[t,n]=(0,H.useState)(!1),[i,a]=(0,H.useState)(``),[o,c]=(0,H.useState)(``),[l,u]=(0,H.useState)(!1),d=(0,H.useId)(),f=(0,H.useRef)(null),p=s(),m=P.workspaceInfo(e),y=h(m),b=y.data?.address??null,x=y.data?.ports??[],S=g({mutationFn:t=>be(e,{ports:t}),onSuccess:e=>{p.setQueryData(m.queryKey,t=>t&&{...t,ports:e.ports}),p.invalidateQueries({queryKey:N.workspaces})}});Vo(t,f,(0,H.useCallback)(()=>n(!1),[]));let C=Uo(i),w=C!==null&&!x.some(e=>e.port===C)&&x.length<20&&!S.isPending;return(0,U.jsxs)(`div`,{ref:f,className:`relative`,children:[(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":`Ports`,"aria-haspopup":`dialog`,"aria-expanded":t,"aria-controls":t?d:void 0,title:`Open a port`,onClick:()=>n(e=>!e),children:(0,U.jsx)(Tn,{className:`size-4`})}),t&&(0,U.jsxs)(`div`,{id:d,role:`dialog`,"aria-label":`Ports`,className:`absolute top-full right-0 z-40 mt-1 w-72 max-w-[calc(100vw-1rem)] origin-top-right animate-pop-in rounded-md border border-line-strong bg-elevated shadow-xl shadow-black/40`,children:[(0,U.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),C!==null&&ce(b,C,l)},className:`space-y-2 p-2`,children:[(0,U.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,U.jsx)(Ho,{https:l,onChange:u}),(0,U.jsx)(v,{autoFocus:!0,"aria-label":`Port`,inputMode:`numeric`,placeholder:`Port`,value:i,onChange:e=>a(e.target.value.replace(/\D/g,``).slice(0,5)),className:`h-8 w-16 px-2 font-mono`}),(0,U.jsx)(v,{"aria-label":`Label`,placeholder:`Label`,maxLength:40,value:o,onChange:e=>c(e.target.value),className:`h-8 px-2`})]}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px] text-fg-subtle`,children:C===null?b??window.location.hostname:ae(b,C,l)}),(0,U.jsx)(_,{size:`sm`,onClick:()=>{w&&S.mutate([...x,{port:C,label:o.trim(),https:l}],{onSuccess:()=>{a(``),c(``)}})},disabled:!w,children:`Save`}),(0,U.jsx)(_,{type:`submit`,size:`sm`,variant:`primary`,disabled:C===null,children:`Open`})]}),S.isError&&(0,U.jsx)(`p`,{className:`text-xs text-danger`,children:r(S.error)})]}),x.length>0&&(0,U.jsx)(`ul`,{className:`border-t border-line py-1`,children:x.map(e=>(0,U.jsxs)(`li`,{className:`flex items-center pr-1`,children:[(0,U.jsxs)(`a`,{href:ae(b,e.port,e.https),target:`_blank`,rel:`noopener noreferrer`,className:`flex min-w-0 flex-1 items-center gap-2 px-3 py-1.5 hover:bg-hover pointer-coarse:py-2.5`,children:[e.https&&(0,U.jsx)(`span`,{className:`font-mono text-[11px] text-fg-subtle`,children:`https`}),(0,U.jsx)(`span`,{className:`font-mono text-fg-strong`,children:e.port}),(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-fg-muted`,children:e.label}),(0,U.jsx)(A,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-fg-subtle`})]}),(0,U.jsx)(_,{variant:`ghost`,size:`icon-sm`,"aria-label":`Remove port ${e.port}`,title:`Remove`,disabled:S.isPending,onClick:()=>S.mutate(x.filter(t=>t.port!==e.port)),children:(0,U.jsx)(hr,{className:`size-3.5`})})]},e.port))})]})]})}function Go(e,t){let n=new Map;for(let r of e){let e=r.hostId??`local`,i=r.hostId?t.get(r.hostId)??`Unknown host`:`This server`,a=n.get(e)??{key:e,label:i,projects:[]};a.projects.push(r),n.set(e,a)}return[...n.values()]}function Ko({workspaceId:e,name:t,root:n}){let[r,i]=(0,H.useState)(!1),a=(0,H.useId)(),o=(0,H.useRef)(null),s=u(),c=h({...P.workspaces(),enabled:r}),l=h({...P.hosts(),enabled:r});Vo(r,o,(0,H.useCallback)(()=>i(!1),[]));let d=e=>{i(!1),e()},p=new Map((l.data?.hosts??[]).map(e=>[e.id,e.name])),m=Go(c.data??[],p);return(0,U.jsxs)(`div`,{ref:o,className:`relative min-w-0`,children:[(0,U.jsx)(`h1`,{className:`min-w-0`,children:(0,U.jsxs)(`button`,{type:`button`,"aria-haspopup":`menu`,"aria-expanded":r,"aria-controls":r?a:void 0,title:n,onClick:()=>i(e=>!e),className:`flex max-w-full min-w-0 cursor-pointer items-center gap-1 rounded px-1.5 py-1 font-medium text-fg-strong hover:bg-hover`,children:[(0,U.jsx)(`span`,{className:`truncate`,children:t}),(0,U.jsx)(It,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-fg-muted`})]})}),r&&(0,U.jsxs)(`div`,{id:a,role:`menu`,"aria-label":`Switch project`,className:`absolute top-full left-0 z-40 mt-1 max-h-[70dvh] origin-top-left animate-pop-in w-72 max-w-[calc(100vw-1rem)] overflow-y-auto rounded-md border border-line-strong bg-elevated py-1 shadow-xl shadow-black/40`,children:[c.isPending&&(0,U.jsx)(`p`,{className:`px-3 py-2 text-xs text-fg-muted`,children:`Loading projects…`}),m.map(t=>(0,U.jsxs)(`div`,{role:`group`,"aria-label":t.label,className:`py-1`,children:[(0,U.jsxs)(`p`,{className:`flex items-center gap-1.5 px-3 pt-1 pb-0.5 text-[11px] font-semibold tracking-wide text-fg-muted uppercase`,children:[(0,U.jsx)(tr,{"aria-hidden":!0,className:`size-3`}),` `,t.label]}),t.projects.map(t=>(0,U.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":t.id===e,onClick:()=>d(()=>s({to:`/w/$workspaceId`,params:{workspaceId:t.id}})),className:`flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left hover:bg-hover pointer-coarse:py-2.5`,children:[(0,U.jsx)(w,{"aria-hidden":!0,className:f(`size-3.5 shrink-0`,t.id===e?`text-accent-fg`:`invisible`)}),(0,U.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`block truncate text-fg-strong`,children:t.name}),(0,U.jsx)(`span`,{className:`block truncate font-mono text-[11px] text-fg-subtle`,children:t.root})]})]},t.id))]},t.key)),(0,U.jsxs)(`div`,{className:`mt-1 border-t border-line pt-1`,children:[(0,U.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>d(()=>s({to:`/projects`})),className:`flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-fg hover:bg-hover pointer-coarse:py-2.5`,children:[(0,U.jsx)(jn,{"aria-hidden":!0,className:`size-3.5 text-fg-muted`}),` All projects and hosts`]}),(0,U.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>d(()=>s({to:`/hosts/new`})),className:`flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-fg hover:bg-hover pointer-coarse:py-2.5`,children:[(0,U.jsx)(ie,{"aria-hidden":!0,className:`size-3.5 text-fg-muted`}),` Connect another machine`]})]})]})]})}function qo(){let e=F(),t=(h(P.gitStatus(e)).data?.repositories??[]).reduce((e,t)=>e+new Set(t.changes.map(e=>e.path)).size,0);return t===0?null:(0,U.jsx)(`span`,{className:`absolute -top-0.5 -right-0.5 min-w-4 animate-pop-in rounded-full bg-accent px-1 text-center text-[10px] leading-4 font-semibold text-on-accent`,children:t>99?`99+`:t},t)}function Jo({desktop:e}){let t=F(),n=h(P.workspaceInfo(t)),r=V(e=>e.leftOpen),i=V(e=>e.rightOpen),a=V(e=>e.drawer),o=V(e=>e.toggleLeft),s=V(e=>e.toggleRight),c=V(e=>e.toggleDrawer),l=e?r:a===`files`,u=e?i:a===`git`,d=n.data?.name??`Remote Workspace`;return(0,U.jsx)(`header`,{className:`safe-top shrink-0 border-b border-line bg-panel`,children:(0,U.jsxs)(`div`,{className:`flex h-10 items-center gap-1 px-1.5 pointer-coarse:h-12`,children:[(0,U.jsx)(_,{variant:`ghost`,size:`icon`,"aria-label":e?`Toggle explorer`:`Files`,"aria-pressed":l,title:`Explorer`,className:f(l&&`text-fg-strong`),onClick:e?o:()=>c(`files`),children:e?(0,U.jsx)(Ln,{className:`size-4`}):(0,U.jsx)(hn,{className:`size-5`})}),(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,U.jsx)(Ko,{workspaceId:t,name:d,root:n.data?.root}),(0,U.jsx)(Bo,{compact:!e})]}),(0,U.jsx)(Wo,{workspaceId:t}),(0,U.jsxs)(_,{variant:`ghost`,size:`icon`,"aria-label":e?`Toggle source control`:`Git changes`,"aria-pressed":u,title:`Source control`,className:f(`relative`,u&&`text-fg-strong`),onClick:e?s:()=>c(`git`),children:[e?(0,U.jsx)(zn,{className:`size-4`}):(0,U.jsx)(_n,{className:`size-5`}),(0,U.jsx)(qo,{})]})]})})}function Yo({desktop:e,terminalsAvailable:t,onNewTerminal:n,onOpenFiles:r,onOpenGit:i}){return(0,U.jsxs)(j,{icon:fe,title:`No open tabs`,description:t?`Open a file from the explorer, review changes in source control, or start a terminal to run Codex or Claude Code.`:`Open a file from the explorer or review changes in source control. Terminals are only available for projects on SSH hosts.`,children:[(0,U.jsxs)(_,{variant:`primary`,onClick:n,disabled:!t,children:[(0,U.jsx)(fe,{className:`size-4`}),` New terminal`]}),!e&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(_,{onClick:r,children:[(0,U.jsx)(hn,{className:`size-4`}),` Files`]}),(0,U.jsxs)(_,{onClick:i,children:[(0,U.jsx)(_n,{className:`size-4`}),` Changes`]})]})]})}var Xo=e({default:()=>Zo});function Zo(){y(),Sr();let e=ji(Mi),t=F(),n=h(P.workspaceInfo(t)).data?.terminalsAvailable??!1,r=V(e=>e.leftOpen),i=V(e=>e.rightOpen),a=V(e=>e.leftWidth),o=V(e=>e.rightWidth),s=V(e=>e.drawer),c=V(e=>e.setDrawer),l=M(Re),u=M(e=>e.openTerminal);(0,H.useEffect)(()=>oe(),[]);let d=(0,H.useCallback)(()=>c(null),[c]),f=(0,H.useCallback)(()=>{u(),c(null)},[u,c]),p=e?void 0:d,m=(0,U.jsx)(yr,{label:`Explorer`,children:(0,U.jsx)(Wr,{onNavigate:p})}),g=(0,U.jsx)(yr,{label:`Source control`,children:(0,U.jsx)(la,{onNavigate:p})});return(0,U.jsxs)(`div`,{className:`app-frame safe-x flex flex-col overflow-hidden bg-canvas`,children:[(0,U.jsx)(Jo,{desktop:e}),(0,U.jsxs)(`div`,{className:`relative flex min-h-0 flex-1`,children:[e?r&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`aside`,{"aria-label":`Explorer`,className:`shrink-0`,style:{width:a},children:m}),(0,U.jsx)(ma,{side:`left`})]}):(0,U.jsx)(da,{side:`left`,label:`Files`,open:s===`files`,onClose:d,children:m}),(0,U.jsxs)(`main`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,U.jsx)(va,{terminalsAvailable:n,onNewTerminal:f}),(0,U.jsx)(`div`,{role:`tabpanel`,"aria-label":l?.title,className:`min-h-0 flex-1`,children:l?(0,U.jsx)(yr,{resetKey:l.id,label:l.title,children:(0,U.jsx)(`div`,{className:`h-full animate-fade-in`,children:(0,U.jsx)(Lo,{tab:l})},l.id)}):(0,U.jsx)(Yo,{desktop:e,terminalsAvailable:n,onNewTerminal:f,onOpenFiles:()=>c(`files`),onOpenGit:()=>c(`git`)})})]}),e?i&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ma,{side:`right`}),(0,U.jsx)(`aside`,{"aria-label":`Source control`,className:`shrink-0`,style:{width:o},children:g})]}):(0,U.jsx)(da,{side:`right`,label:`Git changes`,open:s===`git`,onClose:d,children:g})]})]})}export{Zo as default,vr as n,Xo as t};
@@ -0,0 +1 @@
1
+ var e=function(){function e(e){return{type:e,style:`keyword`}}for(var t=e(`operator`),n={type:`atom`,style:`atom`},r={type:`punctuation`,style:null},i={type:`axis_specifier`,style:`qualifier`},a={",":r},o=`after.all.allowing.ancestor.ancestor-or-self.any.array.as.ascending.at.attribute.base-uri.before.boundary-space.by.case.cast.castable.catch.child.collation.comment.construction.contains.content.context.copy.copy-namespaces.count.decimal-format.declare.default.delete.descendant.descendant-or-self.descending.diacritics.different.distance.document.document-node.element.else.empty.empty-sequence.encoding.end.entire.every.exactly.except.external.first.following.following-sibling.for.from.ftand.ftnot.ft-option.ftor.function.fuzzy.greatest.group.if.import.in.inherit.insensitive.insert.instance.intersect.into.invoke.is.item.language.last.lax.least.let.levels.lowercase.map.modify.module.most.namespace.next.no.node.nodes.no-inherit.no-preserve.not.occurs.of.only.option.order.ordered.ordering.paragraph.paragraphs.parent.phrase.preceding.preceding-sibling.preserve.previous.processing-instruction.relationship.rename.replace.return.revalidation.same.satisfies.schema.schema-attribute.schema-element.score.self.sensitive.sentence.sentences.sequence.skip.sliding.some.stable.start.stemming.stop.strict.strip.switch.text.then.thesaurus.times.to.transform.treat.try.tumbling.type.typeswitch.union.unordered.update.updating.uppercase.using.validate.value.variable.version.weight.when.where.wildcards.window.with.without.word.words.xquery`.split(`.`),s=0,c=o.length;s<c;s++)a[o[s]]=e(o[s]);for(var l=`xs:anyAtomicType.xs:anySimpleType.xs:anyType.xs:anyURI.xs:base64Binary.xs:boolean.xs:byte.xs:date.xs:dateTime.xs:dateTimeStamp.xs:dayTimeDuration.xs:decimal.xs:double.xs:duration.xs:ENTITIES.xs:ENTITY.xs:float.xs:gDay.xs:gMonth.xs:gMonthDay.xs:gYear.xs:gYearMonth.xs:hexBinary.xs:ID.xs:IDREF.xs:IDREFS.xs:int.xs:integer.xs:item.xs:java.xs:language.xs:long.xs:Name.xs:NCName.xs:negativeInteger.xs:NMTOKEN.xs:NMTOKENS.xs:nonNegativeInteger.xs:nonPositiveInteger.xs:normalizedString.xs:NOTATION.xs:numeric.xs:positiveInteger.xs:precisionDecimal.xs:QName.xs:short.xs:string.xs:time.xs:token.xs:unsignedByte.xs:unsignedInt.xs:unsignedLong.xs:unsignedShort.xs:untyped.xs:untypedAtomic.xs:yearMonthDuration`.split(`.`),s=0,c=l.length;s<c;s++)a[l[s]]=n;for(var u=[`eq`,`ne`,`lt`,`le`,`gt`,`ge`,`:=`,`=`,`>`,`>=`,`<`,`<=`,`.`,`|`,`?`,`and`,`or`,`div`,`idiv`,`mod`,`*`,`/`,`+`,`-`],s=0,c=u.length;s<c;s++)a[u[s]]=t;for(var d=[`self::`,`attribute::`,`child::`,`descendant::`,`descendant-or-self::`,`parent::`,`ancestor::`,`ancestor-or-self::`,`following::`,`preceding::`,`following-sibling::`,`preceding-sibling::`],s=0,c=d.length;s<c;s++)a[d[s]]=i;return a}();function t(e,t,n){return t.tokenize=n,n(e,t)}function n(n,i){var c=n.next(),p=!1,g=h(n);if(c==`<`){if(n.match(`!--`,!0))return t(n,i,l);if(n.match(`![CDATA`,!1))return i.tokenize=u,`tag`;if(n.match(`?`,!1))return t(n,i,d);var y=n.eat(`/`);n.eatSpace();for(var b=``,x;x=n.eat(/[^\s\u00a0=<>\"\'\/?]/);)b+=x;return t(n,i,s(b,y))}if(c==`{`)return _(i,{type:`codeblock`}),null;if(c==`}`)return v(i),null;if(f(i))return c==`>`?`tag`:c==`/`&&n.eat(`>`)?(v(i),`tag`):`variable`;if(/\d/.test(c))return n.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),`atom`;if(c===`(`&&n.eat(`:`))return _(i,{type:`comment`}),t(n,i,r);if(!g&&(c===`"`||c===`'`))return a(n,i,c);if(c===`$`)return t(n,i,o);if(c===`:`&&n.eat(`=`))return`keyword`;if(c===`(`)return _(i,{type:`paren`}),null;if(c===`)`)return v(i),null;if(c===`[`)return _(i,{type:`bracket`}),null;if(c===`]`)return v(i),null;var S=e.propertyIsEnumerable(c)&&e[c];if(g&&c===`"`)for(;n.next()!==`"`;);if(g&&c===`'`)for(;n.next()!==`'`;);S||n.eatWhile(/[\w\$_-]/);var C=n.eat(`:`);!n.eat(`:`)&&C&&n.eatWhile(/[\w\$_-]/),n.match(/^[ \t]*\(/,!1)&&(p=!0);var w=n.current();return S=e.propertyIsEnumerable(w)&&e[w],p&&!S&&(S={type:`function_call`,style:`def`}),m(i)?(v(i),`variable`):((w==`element`||w==`attribute`||S.type==`axis_specifier`)&&_(i,{type:`xmlconstructor`}),S?S.style:`variable`)}function r(e,t){for(var n=!1,r=!1,i=0,a;a=e.next();){if(a==`)`&&n){if(i>0)i--;else{v(t);break}}else a==`:`&&r&&i++;n=a==`:`,r=a==`(`}return`comment`}function i(e,t){return function(r,i){for(var a;a=r.next();)if(a==e){v(i),t&&(i.tokenize=t);break}else if(r.match(`{`,!1)&&p(i))return _(i,{type:`codeblock`}),i.tokenize=n,`string`;return`string`}}function a(e,n,r,a){let o=i(r,a);return _(n,{type:`string`,name:r,tokenize:o}),t(e,n,o)}function o(e,t){var r=/[\w\$_-]/;if(e.eat(`"`)){for(;e.next()!==`"`;);e.eat(`:`)}else e.eatWhile(r),e.match(`:=`,!1)||e.eat(`:`);return e.eatWhile(r),t.tokenize=n,`variable`}function s(e,t){return function(r,i){if(r.eatSpace(),t&&r.eat(`>`))return v(i),i.tokenize=n,`tag`;if(r.eat(`/`)||_(i,{type:`tag`,name:e,tokenize:n}),r.eat(`>`))i.tokenize=n;else return i.tokenize=c,`tag`;return`tag`}}function c(e,t){var r=e.next();return r==`/`&&e.eat(`>`)?(p(t)&&v(t),f(t)&&v(t),`tag`):r==`>`?(p(t)&&v(t),`tag`):r==`=`?null:r==`"`||r==`'`?a(e,t,r,c):(p(t)||_(t,{type:`attribute`,tokenize:c}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(`>`,!1)||e.match(`/`,!1))&&(v(t),t.tokenize=n),`attribute`)}function l(e,t){for(var r;r=e.next();)if(r==`-`&&e.match(`->`,!0))return t.tokenize=n,`comment`}function u(e,t){for(var r;r=e.next();)if(r==`]`&&e.match(`]`,!0))return t.tokenize=n,`comment`}function d(e,t){for(var r;r=e.next();)if(r==`?`&&e.match(`>`,!0))return t.tokenize=n,`processingInstruction`}function f(e){return g(e,`tag`)}function p(e){return g(e,`attribute`)}function m(e){return g(e,`xmlconstructor`)}function h(e){return e.current()===`"`?e.match(/^[^\"]+\"\:/,!1):e.current()===`'`&&e.match(/^[^\"]+\'\:/,!1)}function g(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function _(e,t){e.stack.push(t)}function v(e){e.stack.pop(),e.tokenize=e.stack.length&&e.stack[e.stack.length-1].tokenize||n}var y={name:`xquery`,startState:function(){return{tokenize:n,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:`(:`,close:`:)`}}}};export{y as xQuery};
@@ -0,0 +1 @@
1
+ .xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}