@fde-desktop/fde-core 0.4.7 → 0.4.8

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 (311) hide show
  1. package/dist/AccordionChevron-CJXAq5o5.js +26 -0
  2. package/dist/AccordionChevron-DBXp38Lm.cjs +1 -0
  3. package/dist/ActionIcon-C_SfdBfx.cjs +1 -0
  4. package/dist/ActionIcon-CtVbYlGY.js +145 -0
  5. package/dist/AppEmptyState-BTujnL_b.js +4962 -0
  6. package/dist/AppEmptyState-Dc4GaDfu.cjs +1 -0
  7. package/dist/AppIcon--qzR4sgf.cjs +1 -0
  8. package/dist/AppIcon-DCDuaU-t.js +80 -0
  9. package/dist/AppMenuBar-BiHbNg9V.cjs +9 -0
  10. package/dist/AppMenuBar-CHJy8OF0.js +2639 -0
  11. package/dist/Box-DRm8EabO.js +1593 -0
  12. package/dist/Box-D_64wv6n.cjs +1 -0
  13. package/dist/Button-D0FXpkur.cjs +1 -0
  14. package/dist/Button-k7SxX1Xl.js +178 -0
  15. package/dist/CalendarApp-C1HvuJoa.cjs +1 -0
  16. package/dist/CalendarApp-DBEQqsS_.js +1721 -0
  17. package/dist/Center-CyryG5zn.js +25 -0
  18. package/dist/Center-T4No_FAa.cjs +1 -0
  19. package/dist/CheckIcon-C3WjIR2i.js +25 -0
  20. package/dist/CheckIcon-CBMLR6Gc.cjs +1 -0
  21. package/dist/CodeServerApp-B3l5QPuG.cjs +1 -0
  22. package/dist/CodeServerApp-BpeALSaX.js +2 -0
  23. package/dist/CodeServerApp-CRjCngFv.cjs +1 -0
  24. package/dist/CodeServerApp-DY94cy1a.js +149 -0
  25. package/dist/ColorPicker-BL4UbKCV.cjs +1 -0
  26. package/dist/ColorPicker-DvRR-wlQ.js +997 -0
  27. package/dist/Colors-BxX4G8kX.cjs +1 -0
  28. package/dist/Colors-hca6raEG.js +15 -0
  29. package/dist/CreateItemApp-BU9wmjKM.cjs +1 -0
  30. package/dist/CreateItemApp-CtdH1K1g.js +400 -0
  31. package/dist/CreateItemApp-t9F-a6wD.cjs +1 -0
  32. package/dist/DeviceInfoApp-C306YvtZ.js +223 -0
  33. package/dist/DeviceInfoApp-Cdju_LIB.cjs +1 -0
  34. package/dist/DeviceInfoApp-CyB01v4D.cjs +1 -0
  35. package/dist/DownloadProgress-IRw1dzLX.cjs +1 -0
  36. package/dist/DownloadProgress-hdupSUBT.js +174 -0
  37. package/dist/FileIcon-BCpGMI5U.js +88 -0
  38. package/dist/FileIcon-BCrsxmtt.cjs +1 -0
  39. package/dist/FilePickerApp-DMGuvahM.js +409 -0
  40. package/dist/FilePickerApp-Eu0cr2Cm.cjs +1 -0
  41. package/dist/FilesApp-30OjnOuP.cjs +1 -0
  42. package/dist/FilesApp-BvlzPNuO.cjs +1 -0
  43. package/dist/FilesApp-VXrmtt63.js +225 -0
  44. package/dist/Group-BzwlMeob.js +48 -0
  45. package/dist/Group-DhwePB84.cjs +1 -0
  46. package/dist/ImageViewerApp-BOz59TGc.cjs +1 -0
  47. package/dist/ImageViewerApp-BeqY6voE.cjs +1 -0
  48. package/dist/ImageViewerApp-CWiP6zx-.js +68 -0
  49. package/dist/ImageViewerApp-DBAfJPSo.js +2 -0
  50. package/dist/ImageViewerMenuBar-BULkh_Ku.js +86 -0
  51. package/dist/ImageViewerMenuBar-Cb0Nr5-M.js +2 -0
  52. package/dist/ImageViewerMenuBar-CoEp0RxK.cjs +1 -0
  53. package/dist/ImageViewerMenuBar-zOkJtqKo.cjs +1 -0
  54. package/dist/MenuEditApp-BoKtj2GH.js +2 -0
  55. package/dist/MenuEditApp-D21sEp86.js +2615 -0
  56. package/dist/MenuEditApp-k3cPfTG9.cjs +1 -0
  57. package/dist/MenuEditApp-sz9GlLVH.cjs +5 -0
  58. package/dist/MenuEditMenuBar-6QxlIDpl.cjs +1 -0
  59. package/dist/MenuEditMenuBar-B94z4Umw.js +59 -0
  60. package/dist/MenuEditMenuBar-Bv6R42lf.js +2 -0
  61. package/dist/MenuEditMenuBar-CBsmH_-T.cjs +1 -0
  62. package/dist/NotesApp-BtR55Hva.cjs +207 -0
  63. package/dist/NotesApp-C59exz_9.js +16154 -0
  64. package/dist/NotesApp-D47I5LS_.js +2 -0
  65. package/dist/NotesApp-lOwsi2sg.cjs +1 -0
  66. package/dist/NotesMenuBar-BB4NkKGf.js +61 -0
  67. package/dist/NotesMenuBar-BZITC74y.cjs +1 -0
  68. package/dist/NotesMenuBar-Bp0sPqyR.cjs +1 -0
  69. package/dist/NotesMenuBar-xlfODmMA.js +2 -0
  70. package/dist/Paper-DtUYKmYn.js +30 -0
  71. package/dist/Paper-DwCpwWwH.cjs +1 -0
  72. package/dist/PdfApp-1XbFGfoY.cjs +1 -0
  73. package/dist/PdfApp-BhIoJWeK.cjs +1 -0
  74. package/dist/PdfApp-C5Rt1Zaw.js +2 -0
  75. package/dist/PdfApp-C8Hwxxqh.js +38 -0
  76. package/dist/PdfMenuBar-BA9rKuMP.cjs +1 -0
  77. package/dist/PdfMenuBar-JXHqwxhZ.cjs +1 -0
  78. package/dist/PdfMenuBar-R0fu7oYF.js +2 -0
  79. package/dist/PdfMenuBar-sd-9Vk3h.js +38 -0
  80. package/dist/SettingsApp-BA-5B4RA.cjs +1 -0
  81. package/dist/SettingsApp-B_rev1xh.cjs +1 -0
  82. package/dist/SettingsApp-Ck4aUXs5.js +2 -0
  83. package/dist/SettingsApp-DUMKSA3K.js +2425 -0
  84. package/dist/SettingsMenuBar-BPwv8JQK.js +41 -0
  85. package/dist/SettingsMenuBar-D8R7hOik.js +2 -0
  86. package/dist/SettingsMenuBar-DDrjZLmg.cjs +1 -0
  87. package/dist/SettingsMenuBar-DQjUa8g1.cjs +1 -0
  88. package/dist/Slider-BNO-vDFn.js +1175 -0
  89. package/dist/Slider-Bg_EIBg6.cjs +1 -0
  90. package/dist/Stack-BOaJgV3N.cjs +1 -0
  91. package/dist/Stack-CuDEaP7e.js +34 -0
  92. package/dist/StorybookApp-Bkr-7mXp.cjs +1 -0
  93. package/dist/StorybookApp-WYninkJo.js +10 -0
  94. package/dist/TerminalApp-8XbsKAWa.js +10041 -0
  95. package/dist/TerminalApp-Bq2e7QQu.cjs +1 -0
  96. package/dist/TerminalApp-CVu3Axc9.js +2 -0
  97. package/dist/TerminalApp-b7_d0jRO.cjs +36 -0
  98. package/dist/TerminalMenuBar-Cb8x9laS.js +2 -0
  99. package/dist/TerminalMenuBar-De-FH5AE.cjs +1 -0
  100. package/dist/TerminalMenuBar-iKLydNda.js +112 -0
  101. package/dist/TerminalMenuBar-yOaWd-hn.cjs +1 -0
  102. package/dist/TextInput-C3qfxxWI.js +980 -0
  103. package/dist/TextInput-DcYns3hz.cjs +1 -0
  104. package/dist/Tooltip-CAOO-qdx.js +3185 -0
  105. package/dist/Tooltip-DDh_x-CB.cjs +1 -0
  106. package/dist/UnstyledButton-CI3kyRck.js +25 -0
  107. package/dist/UnstyledButton-Cl5RuIid.cjs +1 -0
  108. package/dist/UploaderApp-BZXW75A0.cjs +1 -0
  109. package/dist/UploaderApp-C9W_yCT-.js +487 -0
  110. package/dist/UploaderApp-CPpStgP5.cjs +1 -0
  111. package/dist/UploaderApp-DHsMQN-f.js +2 -0
  112. package/dist/VscIcon-CxEmqD80.cjs +1 -0
  113. package/dist/VscIcon-DueRJVTe.js +8 -0
  114. package/dist/chunk-BQCxAhux.js +23 -0
  115. package/dist/chunk-CiTBaPhY.cjs +1 -0
  116. package/dist/create-safe-context-95P-Bfg3.cjs +1 -0
  117. package/dist/create-safe-context-XT2cxc14.js +12 -0
  118. package/dist/desktopStore-B0R1-BeA.js +1905 -0
  119. package/dist/desktopStore-Cox-Og1z.cjs +1 -0
  120. package/dist/fc-DejOsQyD.cjs +1 -0
  121. package/dist/fc-kd8WzIER.js +20536 -0
  122. package/dist/fc-xJ_v2ayq.cjs +184 -0
  123. package/dist/fi-BahYsbim.js +9993 -0
  124. package/dist/fi-BkhyTcZo.cjs +1 -0
  125. package/dist/getRuntime-BLXyQZBB.cjs +1 -0
  126. package/dist/getRuntime-CCRXVzJH.js +63 -0
  127. package/dist/iconBase-B4UCuSvv.cjs +1 -0
  128. package/dist/iconBase-D7iPes7B.js +108 -0
  129. package/dist/imageViewerStore-CH1qW6md.cjs +1 -0
  130. package/dist/imageViewerStore-CJMRXaQh.js +50 -0
  131. package/dist/index.cjs +53 -5642
  132. package/dist/index.css +2 -9192
  133. package/dist/index.d.ts +2258 -2019
  134. package/dist/index.js +8983 -4780
  135. package/dist/is-element-BocgicRg.cjs +1 -0
  136. package/dist/is-element-Bu_JY8Qy.js +7 -0
  137. package/dist/menuEditStore-C8S_EedM.js +38 -0
  138. package/dist/menuEditStore-CU7IAg3L.cjs +1 -0
  139. package/dist/notesStore-DKRgTTFn.js +36 -0
  140. package/dist/notesStore-zKmChTfF.cjs +1 -0
  141. package/dist/react-DYmzHD0X.js +27 -0
  142. package/dist/react-Dldg32sN.cjs +1 -0
  143. package/dist/settingsAppStore-BrlImdAH.cjs +1 -0
  144. package/dist/settingsAppStore-KOeWRO6h.js +29 -0
  145. package/dist/terminalStore-LWWjCvCe.js +30 -0
  146. package/dist/terminalStore-fZe5t7Ty.cjs +1 -0
  147. package/dist/use-merged-ref-BI9n1hUK.cjs +1 -0
  148. package/dist/use-merged-ref-BT8_u6vW.js +25 -0
  149. package/dist/use-resolved-styles-api-AVDygMKo.cjs +1 -0
  150. package/dist/use-resolved-styles-api-pEOi2wiK.js +21 -0
  151. package/dist/use-uncontrolled-A4hm9ATM.js +23 -0
  152. package/dist/use-uncontrolled-BPrfGv0W.cjs +1 -0
  153. package/dist/useAdaptiveDimensions-Btp0m5Pm.cjs +1 -0
  154. package/dist/useAdaptiveDimensions-CunsU0mn.js +40 -0
  155. package/dist/useCloseInterceptor-CuKAAFnj.js +51 -0
  156. package/dist/useCloseInterceptor-a_6Lcuqj.cjs +1 -0
  157. package/dist/useDynamicIcon-GJg3vWsJ.js +22 -0
  158. package/dist/useDynamicIcon-SytdL1Tu.cjs +1 -0
  159. package/dist/useMenuBarUtils-Bp5PiztD.cjs +1 -0
  160. package/dist/useMenuBarUtils-ChmpZjwu.js +6 -0
  161. package/dist/useOpenApp-BdarhIgl.cjs +1 -0
  162. package/dist/useOpenApp-JHCPTBWa.js +279 -0
  163. package/dist/useResolvedUrl-Be5ZlCX7.cjs +1 -0
  164. package/dist/useResolvedUrl-DFKXq598.js +30 -0
  165. package/dist/useTranslation-DMRGdqZi.js +279 -0
  166. package/dist/useTranslation-D_O7S4RJ.cjs +1 -0
  167. package/dist/vsc-Ciibqbxo.cjs +1 -0
  168. package/dist/vsc-DGKSpOAR.js +9574 -0
  169. package/package.json +7 -3
  170. package/dist/CalendarApp-CHLUCAI7.css +0 -744
  171. package/dist/CalendarApp-K7ZOUZ6C.js +0 -2
  172. package/dist/CalendarApp-OTGEERSS.cjs +0 -8
  173. package/dist/CodeServerApp-5KZGO7HL.css +0 -75
  174. package/dist/CodeServerApp-LUZFCQBI.js +0 -3
  175. package/dist/CodeServerApp-P3TMJPLY.cjs +0 -9
  176. package/dist/CreateItemApp-ESQ42VHH.js +0 -8
  177. package/dist/CreateItemApp-PQB5GTFG.css +0 -107
  178. package/dist/CreateItemApp-RFE3REWZ.cjs +0 -14
  179. package/dist/DeviceInfoApp-XNIS6ZY6.js +0 -5
  180. package/dist/DeviceInfoApp-ZNLQNOKI.cjs +0 -11
  181. package/dist/DeviceInfoApp-ZSMRSITP.css +0 -7
  182. package/dist/FilesApp-4GEU64QN.js +0 -8
  183. package/dist/FilesApp-E6L5W3T2.css +0 -1817
  184. package/dist/FilesApp-QSLB5IWR.cjs +0 -14
  185. package/dist/ImageViewerApp-N2Q7E7WZ.css +0 -215
  186. package/dist/ImageViewerApp-NCVDKLB3.js +0 -11
  187. package/dist/ImageViewerApp-QB373H5Z.cjs +0 -17
  188. package/dist/ImageViewerMenuBar-I3TFKQPS.cjs +0 -14
  189. package/dist/ImageViewerMenuBar-TV5C6TM2.js +0 -5
  190. package/dist/ImageViewerMenuBar-XLK4LIHW.css +0 -56
  191. package/dist/MenuEditApp-5EFYAPFC.cjs +0 -15
  192. package/dist/MenuEditApp-V5XOPIHX.js +0 -9
  193. package/dist/MenuEditApp-YA6HSAMJ.css +0 -94
  194. package/dist/MenuEditMenuBar-7VHMZNRM.css +0 -56
  195. package/dist/MenuEditMenuBar-GF6L4PGZ.cjs +0 -15
  196. package/dist/MenuEditMenuBar-IUXFPZE5.js +0 -6
  197. package/dist/NotesApp-2YNT7Y3D.js +0 -10
  198. package/dist/NotesApp-IAEE7YHU.cjs +0 -16
  199. package/dist/NotesApp-TQ6IHDNX.css +0 -302
  200. package/dist/NotesMenuBar-25LKN3SE.cjs +0 -15
  201. package/dist/NotesMenuBar-MXLOX7OT.css +0 -56
  202. package/dist/NotesMenuBar-SRV3AIAL.js +0 -6
  203. package/dist/PdfApp-67XIX6AM.js +0 -10
  204. package/dist/PdfApp-BUIC5U5H.css +0 -206
  205. package/dist/PdfApp-GZ6RHTBR.cjs +0 -16
  206. package/dist/PdfMenuBar-NLZC6JHS.js +0 -4
  207. package/dist/PdfMenuBar-QUM72EE4.css +0 -56
  208. package/dist/PdfMenuBar-WBRTKMLN.cjs +0 -13
  209. package/dist/SettingsApp-BPLMGPNK.cjs +0 -20
  210. package/dist/SettingsApp-JVOSEFH3.css +0 -283
  211. package/dist/SettingsApp-LUDIXCYY.js +0 -14
  212. package/dist/SettingsMenuBar-5CBSSMVM.css +0 -56
  213. package/dist/SettingsMenuBar-VLT6TTCM.js +0 -6
  214. package/dist/SettingsMenuBar-Y5QEXDEO.cjs +0 -15
  215. package/dist/StorybookApp-NQ244BER.css +0 -7
  216. package/dist/StorybookApp-NZDV4X3Y.js +0 -1
  217. package/dist/StorybookApp-VF3KIMU3.cjs +0 -7
  218. package/dist/TerminalApp-CDGWRBFJ.cjs +0 -10
  219. package/dist/TerminalApp-EAATMIMX.css +0 -77
  220. package/dist/TerminalApp-GCKJCM55.js +0 -4
  221. package/dist/TerminalMenuBar-3J26O26Q.css +0 -56
  222. package/dist/TerminalMenuBar-7BH7MGNJ.cjs +0 -14
  223. package/dist/TerminalMenuBar-7JAEQUZ4.js +0 -5
  224. package/dist/UploaderApp-6KV3TGCT.css +0 -1817
  225. package/dist/UploaderApp-FJC2J4I5.js +0 -10
  226. package/dist/UploaderApp-HLXJYJZQ.cjs +0 -16
  227. package/dist/chunk-2PSTHGTD.cjs +0 -42
  228. package/dist/chunk-2RQX7QBP.cjs +0 -148
  229. package/dist/chunk-43W6UDUZ.cjs +0 -19
  230. package/dist/chunk-4E45FBAH.js +0 -223
  231. package/dist/chunk-4E4U2A25.cjs +0 -237
  232. package/dist/chunk-4QHX7CMN.cjs +0 -38
  233. package/dist/chunk-4XURSNM4.js +0 -43
  234. package/dist/chunk-4ZCRYHL6.js +0 -407
  235. package/dist/chunk-5C6IQE42.cjs +0 -35
  236. package/dist/chunk-5HUYQDQF.js +0 -36
  237. package/dist/chunk-5NOHYJNH.js +0 -84
  238. package/dist/chunk-5QFZW6HW.js +0 -2241
  239. package/dist/chunk-5YH6AKEO.js +0 -146
  240. package/dist/chunk-756GPSPM.js +0 -283
  241. package/dist/chunk-7WUYUTPN.js +0 -2293
  242. package/dist/chunk-7XCMBW64.js +0 -162
  243. package/dist/chunk-7Y7HB7FB.cjs +0 -53
  244. package/dist/chunk-ABIAPZ6S.cjs +0 -45
  245. package/dist/chunk-ACHGJKCI.cjs +0 -286
  246. package/dist/chunk-BQCD5RAF.cjs +0 -48
  247. package/dist/chunk-BQL3YXMV.js +0 -17429
  248. package/dist/chunk-C3XER4N3.js +0 -442
  249. package/dist/chunk-C6BEZNAM.cjs +0 -45
  250. package/dist/chunk-CILU6BWC.cjs +0 -548
  251. package/dist/chunk-CV5PUHAE.cjs +0 -86
  252. package/dist/chunk-D5MVFFID.js +0 -42
  253. package/dist/chunk-D7R55WWT.js +0 -1601
  254. package/dist/chunk-DFYDUXWP.cjs +0 -34
  255. package/dist/chunk-DWP2SYF7.js +0 -55
  256. package/dist/chunk-E55VXNLK.cjs +0 -17498
  257. package/dist/chunk-E5FW77FG.js +0 -77
  258. package/dist/chunk-EAELL43F.js +0 -42
  259. package/dist/chunk-EX5V2ZTU.js +0 -40
  260. package/dist/chunk-FD7QZCTN.cjs +0 -2329
  261. package/dist/chunk-FH4ILMKF.js +0 -38
  262. package/dist/chunk-FRHBM2U7.js +0 -33
  263. package/dist/chunk-FX2TPX3L.cjs +0 -45
  264. package/dist/chunk-GPXNLTPI.cjs +0 -451
  265. package/dist/chunk-GRYCUBJZ.js +0 -9
  266. package/dist/chunk-HPHHS7FJ.cjs +0 -49
  267. package/dist/chunk-HWHBSAUC.js +0 -40
  268. package/dist/chunk-IDHP3R4I.js +0 -31
  269. package/dist/chunk-IHWGT3DL.js +0 -86
  270. package/dist/chunk-JEBKLIMU.cjs +0 -123
  271. package/dist/chunk-KDZLBI6F.cjs +0 -324
  272. package/dist/chunk-KQHICFX3.js +0 -121
  273. package/dist/chunk-LMJE6V4N.cjs +0 -42
  274. package/dist/chunk-MCHPDWVH.js +0 -444
  275. package/dist/chunk-MVDGM5Y4.js +0 -68
  276. package/dist/chunk-N36HBL53.cjs +0 -165
  277. package/dist/chunk-NV5GNFA3.js +0 -541
  278. package/dist/chunk-NVEGEK3N.js +0 -31
  279. package/dist/chunk-OJIDKDKF.js +0 -68
  280. package/dist/chunk-PGGNSLM7.js +0 -215
  281. package/dist/chunk-PKPQA5NR.js +0 -15
  282. package/dist/chunk-PNDBLFJW.cjs +0 -50
  283. package/dist/chunk-Q3WA72BF.cjs +0 -70
  284. package/dist/chunk-RDIDAZ3S.cjs +0 -9
  285. package/dist/chunk-RGJPRXYY.js +0 -48
  286. package/dist/chunk-RPSYXORB.cjs +0 -219
  287. package/dist/chunk-RQ6OZRUW.cjs +0 -41
  288. package/dist/chunk-SBE4SZAN.cjs +0 -226
  289. package/dist/chunk-TAFNCDUI.js +0 -234
  290. package/dist/chunk-TFIDSENE.cjs +0 -88
  291. package/dist/chunk-TGWMOHAO.js +0 -17
  292. package/dist/chunk-UA6XSTW6.js +0 -48
  293. package/dist/chunk-UIQCTAVM.cjs +0 -59
  294. package/dist/chunk-UKYESVDS.cjs +0 -50
  295. package/dist/chunk-V4N255NL.cjs +0 -2309
  296. package/dist/chunk-VO6KXO2I.js +0 -32
  297. package/dist/chunk-WXSTSC3D.cjs +0 -83
  298. package/dist/chunk-XSK7BWYO.js +0 -47
  299. package/dist/chunk-XVAPJ4PP.cjs +0 -449
  300. package/dist/chunk-XVASHRCE.cjs +0 -70
  301. package/dist/chunk-XYSMVQQD.cjs +0 -1608
  302. package/dist/chunk-YAIWI4Z5.js +0 -7
  303. package/dist/chunk-YGYOLDKR.js +0 -280
  304. package/dist/chunk-YP2PLNOF.cjs +0 -34
  305. package/dist/chunk-YSOLW4FS.cjs +0 -11
  306. package/dist/chunk-YY6OUR2U.js +0 -44
  307. package/dist/chunk-YZWS7FDT.cjs +0 -409
  308. package/dist/chunk-Z5YGWL65.cjs +0 -39
  309. package/dist/chunk-ZHNDXNL4.js +0 -45
  310. package/dist/chunk-ZX3EDZ5C.cjs +0 -17
  311. package/dist/index.d.cts +0 -2019
@@ -1,146 +0,0 @@
1
- import { useScrollback, useShell, useTerminalStore } from './chunk-NVEGEK3N.js';
2
- import { AppMenuBar_default } from './chunk-4E45FBAH.js';
3
- import { memo, useCallback, useMemo } from 'react';
4
- import { useTranslation } from 'react-i18next';
5
- import { jsx } from 'react/jsx-runtime';
6
-
7
- var SHELL_OPTIONS = [
8
- { value: "/bin/sh", label: "sh" },
9
- { value: "/bin/zsh", label: "zsh" }
10
- ];
11
- function useTerminalMenuBarElements(options) {
12
- const {
13
- windowId,
14
- onExit,
15
- clear,
16
- reset,
17
- copy,
18
- paste,
19
- reconnect,
20
- connectionStatus = "idle"
21
- } = options;
22
- const { t } = useTranslation("common");
23
- const { t: tApps } = useTranslation("apps");
24
- const scrollback = useScrollback(windowId);
25
- const shell = useShell(windowId);
26
- const setScrollback = useTerminalStore((s) => s.setScrollback);
27
- const setShell = useTerminalStore((s) => s.setShell);
28
- const handleScrollbackChange = useCallback(
29
- (value) => setScrollback(windowId, value),
30
- [windowId, setScrollback]
31
- );
32
- const handleShellChange = useCallback(
33
- (value) => setShell(windowId, value),
34
- [windowId, setShell]
35
- );
36
- const isConnected = connectionStatus === "connected";
37
- return useMemo(() => {
38
- const menuItems = [
39
- {
40
- type: "item",
41
- label: tApps("terminal.menu.copy"),
42
- icon: "FcCopy",
43
- onClick: copy ?? (() => {
44
- }),
45
- disabled: !isConnected
46
- },
47
- {
48
- type: "item",
49
- label: tApps("terminal.menu.paste"),
50
- icon: "FcPaste",
51
- onClick: paste ?? (() => {
52
- }),
53
- disabled: !isConnected
54
- },
55
- { type: "divider" },
56
- {
57
- type: "item",
58
- label: tApps("terminal.menu.clear"),
59
- icon: "FcClear",
60
- onClick: clear ?? (() => {
61
- }),
62
- disabled: !isConnected
63
- },
64
- {
65
- type: "item",
66
- label: tApps("terminal.menu.reset"),
67
- icon: "FcSynchronize",
68
- onClick: reset ?? (() => {
69
- }),
70
- disabled: !isConnected
71
- }
72
- ];
73
- if (!isConnected && reconnect) {
74
- menuItems.push({ type: "divider" });
75
- menuItems.push({
76
- type: "item",
77
- label: tApps("terminal.menu.reconnect"),
78
- icon: "FcSynchronize",
79
- onClick: reconnect
80
- });
81
- }
82
- menuItems.push({ type: "divider" });
83
- menuItems.push({
84
- type: "item",
85
- label: t("actions.exit"),
86
- icon: "FcLeave",
87
- onClick: onExit
88
- });
89
- return [
90
- {
91
- type: "menu",
92
- label: t("menu.edit"),
93
- items: menuItems
94
- },
95
- {
96
- type: "number-input",
97
- label: tApps("terminal.scrollback"),
98
- value: scrollback,
99
- onChange: handleScrollbackChange,
100
- min: 100,
101
- max: 5e4,
102
- step: 100,
103
- placeholder: "5000"
104
- },
105
- {
106
- type: "select",
107
- label: tApps("terminal.shell"),
108
- options: SHELL_OPTIONS,
109
- value: shell,
110
- onChange: handleShellChange
111
- }
112
- ];
113
- }, [
114
- t,
115
- tApps,
116
- onExit,
117
- clear,
118
- reset,
119
- copy,
120
- paste,
121
- reconnect,
122
- isConnected,
123
- scrollback,
124
- shell,
125
- handleScrollbackChange,
126
- handleShellChange
127
- ]);
128
- }
129
- var TerminalMenuBar = memo(
130
- ({ windowId, contentData, onExit }) => {
131
- const elements = useTerminalMenuBarElements({
132
- windowId,
133
- onExit,
134
- clear: contentData?.clear,
135
- reset: contentData?.reset,
136
- copy: contentData?.copy,
137
- paste: contentData?.paste,
138
- reconnect: contentData?.reconnect,
139
- connectionStatus: contentData?.connectionStatus
140
- });
141
- return /* @__PURE__ */ jsx(AppMenuBar_default, { elements });
142
- }
143
- );
144
- TerminalMenuBar.displayName = "TerminalMenuBar";
145
-
146
- export { TerminalMenuBar };
@@ -1,283 +0,0 @@
1
- import { useOpenApp } from './chunk-YGYOLDKR.js';
2
- import { FileIcon_default } from './chunk-EAELL43F.js';
3
- import { useDesktopStore, generateUUID, getAppIdForMime, sortNodesByMode } from './chunk-5QFZW6HW.js';
4
- import { Breadcrumbs, Text, Anchor, UnstyledButton } from './chunk-BQL3YXMV.js';
5
- import { useCallback, useState, useEffect } from 'react';
6
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
-
8
- var useNotifications = () => {
9
- const notifications = useDesktopStore((state) => state.notifications);
10
- const addNotification = useDesktopStore((state) => state.addNotification);
11
- const removeNotification = useDesktopStore((state) => state.removeNotification);
12
- const notify = useCallback(
13
- (title, message, options) => {
14
- const item = {
15
- id: generateUUID(),
16
- title,
17
- message,
18
- fcIcon: options?.fcIcon,
19
- onClose: options?.onClose
20
- };
21
- addNotification(item);
22
- return item.id;
23
- },
24
- [addNotification]
25
- );
26
- const dismiss = useCallback(
27
- (id) => {
28
- removeNotification(id);
29
- },
30
- [removeNotification]
31
- );
32
- return {
33
- notifications,
34
- notify,
35
- dismiss,
36
- addNotification,
37
- removeNotification
38
- };
39
- };
40
-
41
- // src/components/Apps/FilesApp/components/FolderTree.module.css
42
- var FolderTree_default = {};
43
- var FolderTreeItem = ({
44
- node,
45
- allNodes,
46
- currentFolderId,
47
- depth,
48
- onNavigate
49
- }) => {
50
- const children = allNodes.filter(
51
- (n) => n.parentId === node.id && n.type === "folder"
52
- );
53
- return /* @__PURE__ */ jsxs(Fragment, { children: [
54
- /* @__PURE__ */ jsxs(
55
- UnstyledButton,
56
- {
57
- className: FolderTree_default.item,
58
- "data-active": currentFolderId === node.id || void 0,
59
- style: { paddingLeft: 8 + depth * 14 },
60
- onClick: () => onNavigate(node.id),
61
- "aria-label": node.name,
62
- "aria-current": currentFolderId === node.id ? "page" : void 0,
63
- children: [
64
- /* @__PURE__ */ jsx(FileIcon_default, { type: "folder", folderNode: node, size: 14 }),
65
- /* @__PURE__ */ jsx(Text, { size: "xs", ml: 6, truncate: true, children: node.name })
66
- ]
67
- }
68
- ),
69
- children.map((child) => /* @__PURE__ */ jsx(
70
- FolderTreeItem,
71
- {
72
- node: child,
73
- allNodes,
74
- currentFolderId,
75
- depth: depth + 1,
76
- onNavigate
77
- },
78
- child.id
79
- ))
80
- ] });
81
- };
82
- var FolderTree = ({ allNodes, currentFolderId, onNavigate }) => {
83
- const rootFolders = allNodes.filter(
84
- (n) => n.parentId === null && n.type === "folder"
85
- );
86
- return /* @__PURE__ */ jsxs("nav", { className: FolderTree_default.root, "aria-label": "Folder tree", children: [
87
- /* @__PURE__ */ jsxs(
88
- UnstyledButton,
89
- {
90
- className: FolderTree_default.item,
91
- "data-active": currentFolderId === null || void 0,
92
- style: { paddingLeft: 8 },
93
- onClick: () => onNavigate(null),
94
- "aria-label": "Home",
95
- "aria-current": currentFolderId === null ? "page" : void 0,
96
- children: [
97
- /* @__PURE__ */ jsx(FileIcon_default, { type: "folder", size: 14 }),
98
- /* @__PURE__ */ jsx(Text, { size: "xs", ml: 6, fw: 500, children: "Home" })
99
- ]
100
- }
101
- ),
102
- rootFolders.map((folder) => /* @__PURE__ */ jsx(
103
- FolderTreeItem,
104
- {
105
- node: folder,
106
- allNodes,
107
- currentFolderId,
108
- depth: 1,
109
- onNavigate
110
- },
111
- folder.id
112
- ))
113
- ] });
114
- };
115
- var FolderTree_default2 = FolderTree;
116
-
117
- // src/components/Apps/FilesApp/components/FileList.module.css
118
- var FileList_default = {};
119
- var FileListItem = ({ node, onNavigate, onOpenFile, onContextMenu }) => {
120
- const handleDoubleClick = () => {
121
- if (node.type === "folder") {
122
- onNavigate(node.id);
123
- } else {
124
- onOpenFile(node);
125
- }
126
- };
127
- const label = node.type === "folder" ? `Open folder ${node.name}` : `Open file ${node.name}`;
128
- return /* @__PURE__ */ jsxs(
129
- UnstyledButton,
130
- {
131
- className: FileList_default.item,
132
- onDoubleClick: handleDoubleClick,
133
- onContextMenu: (e) => onContextMenu(e, node.id),
134
- "aria-label": label,
135
- role: "option",
136
- children: [
137
- /* @__PURE__ */ jsx("div", { className: FileList_default.icon, children: /* @__PURE__ */ jsx(
138
- FileIcon_default,
139
- {
140
- type: node.type,
141
- name: node.name,
142
- folderNode: node.type === "folder" ? node : void 0,
143
- size: 32
144
- }
145
- ) }),
146
- /* @__PURE__ */ jsx(Text, { size: "xs", className: FileList_default.name, truncate: true, children: node.name })
147
- ]
148
- }
149
- );
150
- };
151
- var FileList = ({ nodes, onNavigate, onOpenFile, onNodeContextMenu }) => {
152
- const filesSortMode = useDesktopStore((state) => state.filesSortMode);
153
- if (nodes.length === 0) {
154
- return /* @__PURE__ */ jsx("div", { className: FileList_default.empty, children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "This folder is empty" }) });
155
- }
156
- const sorted = sortNodesByMode(nodes, filesSortMode);
157
- return /* @__PURE__ */ jsx("div", { className: FileList_default.grid, role: "listbox", "aria-label": "Files", children: sorted.map((node) => /* @__PURE__ */ jsx(
158
- FileListItem,
159
- {
160
- node,
161
- onNavigate,
162
- onOpenFile,
163
- onContextMenu: onNodeContextMenu
164
- },
165
- node.id
166
- )) });
167
- };
168
- var FileList_default2 = FileList;
169
-
170
- // src/components/Apps/FilesApp/FilesApp.module.css
171
- var FilesApp_default = {};
172
- var FilesApp = ({ window }) => {
173
- const win = window;
174
- const initialFolderId = win?.contentData?.initialFolderId;
175
- const fsNodes = useDesktopStore((state) => state.fsNodes);
176
- const openContextMenu = useDesktopStore((state) => state.openContextMenu);
177
- const setFilesCurrentFolderId = useDesktopStore((state) => state.setFilesCurrentFolderId);
178
- const openApp = useOpenApp();
179
- const { notify } = useNotifications();
180
- const [currentFolderId, setCurrentFolderIdLocal] = useState(
181
- initialFolderId ?? null
182
- );
183
- const setCurrentFolderId = useCallback(
184
- (id) => {
185
- setCurrentFolderIdLocal(id);
186
- setFilesCurrentFolderId(id);
187
- },
188
- [setFilesCurrentFolderId]
189
- );
190
- useEffect(() => {
191
- setFilesCurrentFolderId(initialFolderId ?? null);
192
- }, [initialFolderId, setFilesCurrentFolderId]);
193
- const currentNodes = currentFolderId === null ? fsNodes.filter((n) => n.parentId === null) : fsNodes.filter((n) => n.parentId === currentFolderId);
194
- const buildBreadcrumbs = () => {
195
- const crumbs2 = [{ id: null, name: "Home" }];
196
- let id = currentFolderId;
197
- const trail = [];
198
- while (id !== null) {
199
- const node = fsNodes.find((n) => n.id === id);
200
- if (!node) break;
201
- trail.unshift({ id: node.id, name: node.name });
202
- id = node.parentId;
203
- }
204
- return [...crumbs2, ...trail];
205
- };
206
- const handleContextMenu = useCallback(
207
- (e) => {
208
- e.preventDefault();
209
- e.stopPropagation();
210
- openContextMenu(e.clientX, e.clientY, "files");
211
- },
212
- [openContextMenu]
213
- );
214
- const handleNodeContextMenu = useCallback(
215
- (e, nodeId) => {
216
- e.preventDefault();
217
- e.stopPropagation();
218
- openContextMenu(e.clientX, e.clientY, "files", nodeId);
219
- },
220
- [openContextMenu]
221
- );
222
- const handleOpenFile = useCallback(
223
- (node) => {
224
- try {
225
- const result = getAppIdForMime(node);
226
- if (result) {
227
- openApp(result.appId, { contentData: result.contentData });
228
- } else {
229
- const mimeType = node.mimeType || "unknown";
230
- console.warn(`[FilesApp] Unsupported file type: ${node.name} (${mimeType})`);
231
- notify(
232
- "Unsupported file type",
233
- `Cannot open "${node.name}". File type "${mimeType}" is not supported.`,
234
- { fcIcon: "FcDeleteRow" }
235
- );
236
- }
237
- } catch (error) {
238
- console.error("[FilesApp] Error opening file:", error);
239
- notify("Error opening file", `An unexpected error occurred while opening "${node.name}".`, {
240
- fcIcon: "FcHighPriority"
241
- });
242
- }
243
- },
244
- [openApp, notify]
245
- );
246
- const crumbs = buildBreadcrumbs();
247
- return /* @__PURE__ */ jsxs("div", { className: FilesApp_default.root, onContextMenu: handleContextMenu, children: [
248
- /* @__PURE__ */ jsx("div", { className: FilesApp_default.breadcrumbBar, children: /* @__PURE__ */ jsx(Breadcrumbs, { separator: "\u203A", classNames: { separator: FilesApp_default.breadcrumbSep }, children: crumbs.map((crumb, i) => {
249
- const isLast = i === crumbs.length - 1;
250
- return isLast ? /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, children: crumb.name }, crumb.id ?? "root") : /* @__PURE__ */ jsx(
251
- Anchor,
252
- {
253
- size: "xs",
254
- onClick: () => setCurrentFolderId(crumb.id),
255
- children: crumb.name
256
- },
257
- crumb.id ?? "root"
258
- );
259
- }) }) }),
260
- /* @__PURE__ */ jsxs("div", { className: FilesApp_default.body, children: [
261
- /* @__PURE__ */ jsx("aside", { className: FilesApp_default.sidebar, children: /* @__PURE__ */ jsx(
262
- FolderTree_default2,
263
- {
264
- allNodes: fsNodes,
265
- currentFolderId,
266
- onNavigate: setCurrentFolderId
267
- }
268
- ) }),
269
- /* @__PURE__ */ jsx("main", { className: FilesApp_default.content, children: /* @__PURE__ */ jsx(
270
- FileList_default2,
271
- {
272
- nodes: currentNodes,
273
- onNavigate: setCurrentFolderId,
274
- onOpenFile: handleOpenFile,
275
- onNodeContextMenu: handleNodeContextMenu
276
- }
277
- ) })
278
- ] })
279
- ] });
280
- };
281
- var FilesApp_default2 = FilesApp;
282
-
283
- export { FilesApp_default2 as FilesApp_default, useNotifications };