@fde-desktop/fde-core 0.4.10 → 0.4.13

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 (221) hide show
  1. package/dist/AppEmptyState-Boej96TB.js +49 -0
  2. package/dist/AppEmptyState-CLc00OOG.cjs +1 -0
  3. package/dist/AppIcon-C8vHUVcb.cjs +1 -0
  4. package/dist/AppIcon-mtEoyzOb.js +22 -0
  5. package/dist/AppMenuBar-CAlkNHjj.cjs +1 -0
  6. package/dist/AppMenuBar-DmSfQRXU.js +197 -0
  7. package/dist/CalendarApp-DOmjWbpl.js +10 -0
  8. package/dist/CalendarApp-Z0bCCYsK.cjs +1 -0
  9. package/dist/ColorPicker-CQRRwY-y.cjs +1 -0
  10. package/dist/ColorPicker-WCeD3Wjf.js +35 -0
  11. package/dist/CreateItemApp-BkFFFdX1.cjs +1 -0
  12. package/dist/CreateItemApp-DR8Y4bwo.js +202 -0
  13. package/dist/DeviceInfoApp-BXQ9uOwF.cjs +1 -0
  14. package/dist/DeviceInfoApp-I63mJRWy.js +195 -0
  15. package/dist/DownloadProgress-CkTGTf0z.cjs +1 -0
  16. package/dist/DownloadProgress-DnVASsv5.js +39 -0
  17. package/dist/FilePickerApp-By6-vbag.cjs +1 -0
  18. package/dist/FilePickerApp-ClHuhm6Z.js +390 -0
  19. package/dist/FilesApp-BRK2OqkQ.cjs +1 -0
  20. package/dist/FilesApp-BuoFP_KA.js +212 -0
  21. package/dist/ImageViewerApp-B1niWF75.cjs +1 -0
  22. package/dist/{ImageViewerApp-CWiP6zx-.js → ImageViewerApp-iojtyFEf.js} +18 -17
  23. package/dist/{ImageViewerMenuBar-BULkh_Ku.js → ImageViewerMenuBar-BIsUokxV.js} +15 -14
  24. package/dist/ImageViewerMenuBar-BgzgSF3v.cjs +1 -0
  25. package/dist/MenuEditApp-BHptoJbz.cjs +1 -0
  26. package/dist/MenuEditApp-CJUbJaqh.js +492 -0
  27. package/dist/MenuEditMenuBar-CCOSPAUe.cjs +1 -0
  28. package/dist/{MenuEditMenuBar-B94z4Umw.js → MenuEditMenuBar-DnCL-kaZ.js} +13 -12
  29. package/dist/NotesApp-BmQIBtJ2.cjs +1 -0
  30. package/dist/NotesApp-DJ2dGt4-.js +364 -0
  31. package/dist/NotesMenuBar-BzojwMtH.cjs +1 -0
  32. package/dist/{NotesMenuBar-BB4NkKGf.js → NotesMenuBar-DILZTjnT.js} +10 -9
  33. package/dist/PdfApp-IjY_GtnW.js +39 -0
  34. package/dist/PdfApp-krW8UI97.cjs +1 -0
  35. package/dist/PdfMenuBar-Bd5MTZcZ.js +39 -0
  36. package/dist/PdfMenuBar-DWD0Qa3F.cjs +1 -0
  37. package/dist/SettingsApp-BE22l5UP.cjs +1 -0
  38. package/dist/SettingsApp-BTFtTFY_.js +1228 -0
  39. package/dist/SettingsMenuBar-CZE2evG2.cjs +1 -0
  40. package/dist/SettingsMenuBar-ktC0viTd.js +42 -0
  41. package/dist/UploaderApp-Bboc4KZ1.js +263 -0
  42. package/dist/UploaderApp-Dr1mF7oj.cjs +1 -0
  43. package/dist/{VscIcon-DueRJVTe.js → VscIcon-AEENjKOE.js} +1 -1
  44. package/dist/VscIcon-BYb_Soyy.cjs +1 -0
  45. package/dist/buildBreadcrumbs-Ccd8i11b.cjs +1 -0
  46. package/dist/buildBreadcrumbs-noWhu8os.js +45 -0
  47. package/dist/{desktopStore-B0R1-BeA.js → desktopStore-8cSZlj7s.js} +342 -549
  48. package/dist/desktopStore-C1jR6Fdb.cjs +1 -0
  49. package/dist/{imageViewerStore-CJMRXaQh.js → imageViewerStore-COrD02Zu.js} +1 -1
  50. package/dist/imageViewerStore-Dfylg59V.cjs +1 -0
  51. package/dist/index.cjs +1 -53
  52. package/dist/index.css +1 -1
  53. package/dist/index.d.ts +16 -6
  54. package/dist/index.js +3033 -7513
  55. package/dist/menuEditStore-CYwtfD6H.cjs +1 -0
  56. package/dist/{menuEditStore-C8S_EedM.js → menuEditStore-CxsgLiQu.js} +1 -1
  57. package/dist/notesStore-CrWTO6oB.cjs +1 -0
  58. package/dist/{notesStore-DKRgTTFn.js → notesStore-Dgah46U5.js} +1 -1
  59. package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
  60. package/dist/{settingsAppStore-KOeWRO6h.js → settingsAppStore-DHZhi6Rl.js} +1 -1
  61. package/dist/settingsAppStore-DuYZNeFf.cjs +1 -0
  62. package/dist/useAdaptiveDimensions-3Lz4X0Tc.cjs +1 -0
  63. package/dist/{useAdaptiveDimensions-CunsU0mn.js → useAdaptiveDimensions-DxNLJ7R5.js} +1 -1
  64. package/dist/{useCloseInterceptor-CuKAAFnj.js → useCloseInterceptor-CIxhOZx1.js} +12 -12
  65. package/dist/useCloseInterceptor-CdX-09Ib.cjs +1 -0
  66. package/dist/useDynamicIcon-CK6SjEv5.cjs +1 -0
  67. package/dist/{useDynamicIcon-GJg3vWsJ.js → useDynamicIcon-_wGeWu-b.js} +1 -1
  68. package/dist/useOpenApp-ChDhsL9h.cjs +1 -0
  69. package/dist/{useOpenApp-BVpSfNrG.js → useOpenApp-uguTLkyl.js} +51 -67
  70. package/dist/{useResolvedUrl-DFKXq598.js → useResolvedUrl-B6x4xy0x.js} +1 -2
  71. package/dist/useResolvedUrl-Bb39DpVy.cjs +1 -0
  72. package/package.json +3 -4
  73. package/dist/AccordionChevron-CJXAq5o5.js +0 -26
  74. package/dist/AccordionChevron-DBXp38Lm.cjs +0 -1
  75. package/dist/ActionIcon-C_SfdBfx.cjs +0 -1
  76. package/dist/ActionIcon-CtVbYlGY.js +0 -145
  77. package/dist/AppEmptyState-BTujnL_b.js +0 -4962
  78. package/dist/AppEmptyState-Dc4GaDfu.cjs +0 -1
  79. package/dist/AppIcon--qzR4sgf.cjs +0 -1
  80. package/dist/AppIcon-DCDuaU-t.js +0 -80
  81. package/dist/AppMenuBar-BiHbNg9V.cjs +0 -9
  82. package/dist/AppMenuBar-CHJy8OF0.js +0 -2639
  83. package/dist/Box-DRm8EabO.js +0 -1593
  84. package/dist/Box-D_64wv6n.cjs +0 -1
  85. package/dist/Button-D0FXpkur.cjs +0 -1
  86. package/dist/Button-k7SxX1Xl.js +0 -178
  87. package/dist/CalendarApp-C1HvuJoa.cjs +0 -1
  88. package/dist/CalendarApp-DBEQqsS_.js +0 -1721
  89. package/dist/Center-CyryG5zn.js +0 -25
  90. package/dist/Center-T4No_FAa.cjs +0 -1
  91. package/dist/CheckIcon-C3WjIR2i.js +0 -25
  92. package/dist/CheckIcon-CBMLR6Gc.cjs +0 -1
  93. package/dist/CodeServerApp-B3l5QPuG.cjs +0 -1
  94. package/dist/CodeServerApp-BpeALSaX.js +0 -2
  95. package/dist/CodeServerApp-CRjCngFv.cjs +0 -1
  96. package/dist/CodeServerApp-DY94cy1a.js +0 -149
  97. package/dist/ColorPicker-BL4UbKCV.cjs +0 -1
  98. package/dist/ColorPicker-DvRR-wlQ.js +0 -997
  99. package/dist/CreateItemApp-BU9wmjKM.cjs +0 -1
  100. package/dist/CreateItemApp-CtdH1K1g.js +0 -400
  101. package/dist/CreateItemApp-t9F-a6wD.cjs +0 -1
  102. package/dist/DeviceInfoApp-C306YvtZ.js +0 -223
  103. package/dist/DeviceInfoApp-Cdju_LIB.cjs +0 -1
  104. package/dist/DeviceInfoApp-CyB01v4D.cjs +0 -1
  105. package/dist/DownloadProgress-IRw1dzLX.cjs +0 -1
  106. package/dist/DownloadProgress-hdupSUBT.js +0 -174
  107. package/dist/FileIcon-BCpGMI5U.js +0 -88
  108. package/dist/FileIcon-BCrsxmtt.cjs +0 -1
  109. package/dist/FilePickerApp-DMGuvahM.js +0 -409
  110. package/dist/FilePickerApp-Eu0cr2Cm.cjs +0 -1
  111. package/dist/FilesApp-BQFVHkEn.js +0 -225
  112. package/dist/FilesApp-BZ_dzZnF.cjs +0 -1
  113. package/dist/FilesApp-SIWXFPXt.cjs +0 -1
  114. package/dist/Group-BzwlMeob.js +0 -48
  115. package/dist/Group-DhwePB84.cjs +0 -1
  116. package/dist/ImageViewerApp-BOz59TGc.cjs +0 -1
  117. package/dist/ImageViewerApp-BeqY6voE.cjs +0 -1
  118. package/dist/ImageViewerApp-DBAfJPSo.js +0 -2
  119. package/dist/ImageViewerMenuBar-Cb0Nr5-M.js +0 -2
  120. package/dist/ImageViewerMenuBar-CoEp0RxK.cjs +0 -1
  121. package/dist/ImageViewerMenuBar-zOkJtqKo.cjs +0 -1
  122. package/dist/MenuEditApp-BoKtj2GH.js +0 -2
  123. package/dist/MenuEditApp-D21sEp86.js +0 -2615
  124. package/dist/MenuEditApp-k3cPfTG9.cjs +0 -1
  125. package/dist/MenuEditApp-sz9GlLVH.cjs +0 -5
  126. package/dist/MenuEditMenuBar-6QxlIDpl.cjs +0 -1
  127. package/dist/MenuEditMenuBar-Bv6R42lf.js +0 -2
  128. package/dist/MenuEditMenuBar-CBsmH_-T.cjs +0 -1
  129. package/dist/NotesApp-BtR55Hva.cjs +0 -207
  130. package/dist/NotesApp-C59exz_9.js +0 -16154
  131. package/dist/NotesApp-D47I5LS_.js +0 -2
  132. package/dist/NotesApp-lOwsi2sg.cjs +0 -1
  133. package/dist/NotesMenuBar-BZITC74y.cjs +0 -1
  134. package/dist/NotesMenuBar-Bp0sPqyR.cjs +0 -1
  135. package/dist/NotesMenuBar-xlfODmMA.js +0 -2
  136. package/dist/Paper-DtUYKmYn.js +0 -30
  137. package/dist/Paper-DwCpwWwH.cjs +0 -1
  138. package/dist/PdfApp-1XbFGfoY.cjs +0 -1
  139. package/dist/PdfApp-BhIoJWeK.cjs +0 -1
  140. package/dist/PdfApp-C5Rt1Zaw.js +0 -2
  141. package/dist/PdfApp-C8Hwxxqh.js +0 -38
  142. package/dist/PdfMenuBar-BA9rKuMP.cjs +0 -1
  143. package/dist/PdfMenuBar-JXHqwxhZ.cjs +0 -1
  144. package/dist/PdfMenuBar-R0fu7oYF.js +0 -2
  145. package/dist/PdfMenuBar-sd-9Vk3h.js +0 -38
  146. package/dist/SettingsApp-7EhpjzUE.cjs +0 -1
  147. package/dist/SettingsApp-ByiPAj1I.cjs +0 -1
  148. package/dist/SettingsApp-d6fmBHxR.js +0 -1829
  149. package/dist/SettingsApp-qKJmC0lj.js +0 -2
  150. package/dist/SettingsMenuBar-BPwv8JQK.js +0 -41
  151. package/dist/SettingsMenuBar-D8R7hOik.js +0 -2
  152. package/dist/SettingsMenuBar-DDrjZLmg.cjs +0 -1
  153. package/dist/SettingsMenuBar-DQjUa8g1.cjs +0 -1
  154. package/dist/Slider-BNO-vDFn.js +0 -1175
  155. package/dist/Slider-Bg_EIBg6.cjs +0 -1
  156. package/dist/Stack-BOaJgV3N.cjs +0 -1
  157. package/dist/Stack-CuDEaP7e.js +0 -34
  158. package/dist/StorybookApp-Bkr-7mXp.cjs +0 -1
  159. package/dist/StorybookApp-WYninkJo.js +0 -10
  160. package/dist/TerminalApp-8XbsKAWa.js +0 -10041
  161. package/dist/TerminalApp-Bq2e7QQu.cjs +0 -1
  162. package/dist/TerminalApp-CVu3Axc9.js +0 -2
  163. package/dist/TerminalApp-b7_d0jRO.cjs +0 -36
  164. package/dist/TerminalMenuBar-Cb8x9laS.js +0 -2
  165. package/dist/TerminalMenuBar-De-FH5AE.cjs +0 -1
  166. package/dist/TerminalMenuBar-iKLydNda.js +0 -112
  167. package/dist/TerminalMenuBar-yOaWd-hn.cjs +0 -1
  168. package/dist/TextInput-C3qfxxWI.js +0 -980
  169. package/dist/TextInput-DcYns3hz.cjs +0 -1
  170. package/dist/Tooltip-CAOO-qdx.js +0 -3185
  171. package/dist/Tooltip-DDh_x-CB.cjs +0 -1
  172. package/dist/UnstyledButton-CI3kyRck.js +0 -25
  173. package/dist/UnstyledButton-Cl5RuIid.cjs +0 -1
  174. package/dist/UploaderApp-C76ydsd8.js +0 -487
  175. package/dist/UploaderApp-CHACW8Yr.js +0 -2
  176. package/dist/UploaderApp-Q_a3mBik.cjs +0 -1
  177. package/dist/UploaderApp-htj59ppo.cjs +0 -1
  178. package/dist/VscIcon-CxEmqD80.cjs +0 -1
  179. package/dist/chunk-BQCxAhux.js +0 -23
  180. package/dist/chunk-CiTBaPhY.cjs +0 -1
  181. package/dist/create-safe-context-95P-Bfg3.cjs +0 -1
  182. package/dist/create-safe-context-XT2cxc14.js +0 -12
  183. package/dist/desktopStore-Cox-Og1z.cjs +0 -1
  184. package/dist/fc-DejOsQyD.cjs +0 -1
  185. package/dist/fc-kd8WzIER.js +0 -20536
  186. package/dist/fc-xJ_v2ayq.cjs +0 -184
  187. package/dist/fi-BahYsbim.js +0 -9993
  188. package/dist/fi-BkhyTcZo.cjs +0 -1
  189. package/dist/getRuntime-BLXyQZBB.cjs +0 -1
  190. package/dist/getRuntime-CCRXVzJH.js +0 -63
  191. package/dist/iconBase-B4UCuSvv.cjs +0 -1
  192. package/dist/iconBase-D7iPes7B.js +0 -108
  193. package/dist/imageViewerStore-CH1qW6md.cjs +0 -1
  194. package/dist/is-element-BocgicRg.cjs +0 -1
  195. package/dist/is-element-Bu_JY8Qy.js +0 -7
  196. package/dist/menuEditStore-CU7IAg3L.cjs +0 -1
  197. package/dist/notesStore-zKmChTfF.cjs +0 -1
  198. package/dist/react-DYmzHD0X.js +0 -27
  199. package/dist/react-Dldg32sN.cjs +0 -1
  200. package/dist/settingsAppStore-BrlImdAH.cjs +0 -1
  201. package/dist/terminalStore-LWWjCvCe.js +0 -30
  202. package/dist/terminalStore-fZe5t7Ty.cjs +0 -1
  203. package/dist/use-merged-ref-BI9n1hUK.cjs +0 -1
  204. package/dist/use-merged-ref-BT8_u6vW.js +0 -25
  205. package/dist/use-resolved-styles-api-AVDygMKo.cjs +0 -1
  206. package/dist/use-resolved-styles-api-pEOi2wiK.js +0 -21
  207. package/dist/use-uncontrolled-A4hm9ATM.js +0 -23
  208. package/dist/use-uncontrolled-BPrfGv0W.cjs +0 -1
  209. package/dist/useAdaptiveDimensions-Btp0m5Pm.cjs +0 -1
  210. package/dist/useCloseInterceptor-a_6Lcuqj.cjs +0 -1
  211. package/dist/useDynamicIcon-SytdL1Tu.cjs +0 -1
  212. package/dist/useOpenApp-Br0jo4-y.cjs +0 -1
  213. package/dist/useResolvedUrl-Be5ZlCX7.cjs +0 -1
  214. package/dist/useTranslation-DMRGdqZi.js +0 -279
  215. package/dist/useTranslation-D_O7S4RJ.cjs +0 -1
  216. package/dist/vsc-Ciibqbxo.cjs +0 -1
  217. package/dist/vsc-DGKSpOAR.js +0 -9574
  218. /package/dist/{Colors-BxX4G8kX.cjs → Colors-CNJbU7oq.cjs} +0 -0
  219. /package/dist/{Colors-hca6raEG.js → Colors-CuABn2W4.js} +0 -0
  220. /package/dist/{useMenuBarUtils-ChmpZjwu.js → useMenuBarUtils-ChAfI7OA.js} +0 -0
  221. /package/dist/{useMenuBarUtils-Bp5PiztD.cjs → useMenuBarUtils-DAap0ukp.cjs} +0 -0
@@ -0,0 +1 @@
1
+ const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./AppMenuBar-CAlkNHjj.cjs`),n=require(`./settingsAppStore-DuYZNeFf.cjs`),r=require(`./useMenuBarUtils-DAap0ukp.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`),o=require(`react-i18next`);var s=e=>{let{windowId:t,contentData:a,onExit:s}=e,{t:c}=(0,o.useTranslation)(`common`),l=n.t(t),u=a?.discard;return(0,i.useMemo)(()=>r.t([{type:`menu`,label:c(`menu.file`),items:[{type:`item`,label:c(`actions.discard`),icon:`FcCancel`,onClick:()=>u?.(),disabled:!l},{type:`divider`},{type:`item`,label:c(`actions.exit`),icon:`FcLeft`,onClick:s}]}],l),[c,l,u,s])},c=e.i({SettingsMenuBar:()=>l}),l=({windowId:e,contentData:n,onExit:r})=>(0,a.jsx)(t.t,{elements:s({windowId:e,contentData:n,onExit:r})});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
@@ -0,0 +1,42 @@
1
+ import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
2
+ import { t } from "./AppMenuBar-DmSfQRXU.js";
3
+ import { t as n } from "./settingsAppStore-DHZhi6Rl.js";
4
+ import { t as r } from "./useMenuBarUtils-ChAfI7OA.js";
5
+ import { useMemo as i } from "react";
6
+ import { jsx as a } from "react/jsx-runtime";
7
+ import { useTranslation as o } from "react-i18next";
8
+ //#region src/components/Apps/SettingsApp/useSettingsMenuBar.ts
9
+ var s = (e) => {
10
+ let { windowId: t, contentData: a, onExit: s } = e, { t: c } = o("common"), l = n(t), u = a?.discard;
11
+ return i(() => r([{
12
+ type: "menu",
13
+ label: c("menu.file"),
14
+ items: [
15
+ {
16
+ type: "item",
17
+ label: c("actions.discard"),
18
+ icon: "FcCancel",
19
+ onClick: () => u?.(),
20
+ disabled: !l
21
+ },
22
+ { type: "divider" },
23
+ {
24
+ type: "item",
25
+ label: c("actions.exit"),
26
+ icon: "FcLeft",
27
+ onClick: s
28
+ }
29
+ ]
30
+ }], l), [
31
+ c,
32
+ l,
33
+ u,
34
+ s
35
+ ]);
36
+ }, c = /* @__PURE__ */ e({ SettingsMenuBar: () => l }), l = ({ windowId: e, contentData: n, onExit: r }) => /* @__PURE__ */ a(t, { elements: s({
37
+ windowId: e,
38
+ contentData: n,
39
+ onExit: r
40
+ }) });
41
+ //#endregion
42
+ export { c as n, l as t };
@@ -0,0 +1,263 @@
1
+ import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
2
+ import { t } from "./useOpenApp-uguTLkyl.js";
3
+ import { n, o as r, x as i } from "./desktopStore-8cSZlj7s.js";
4
+ import { i as a } from "./useDynamicIcon-_wGeWu-b.js";
5
+ import { i as o } from "./FilePickerApp-ClHuhm6Z.js";
6
+ import { t as s } from "./DownloadProgress-DnVASsv5.js";
7
+ import { useCallback as c, useState as l } from "react";
8
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
+ import { Box as f, Button as p, FileButton as m, Group as h, Paper as g, Stepper as _, Text as v } from "@mantine/core";
10
+ import { useTranslation as y } from "react-i18next";
11
+ //#region src/utils/formatBytes.ts
12
+ function b(e) {
13
+ if (e === 0) return "0 B";
14
+ let t = 1024, n = [
15
+ "B",
16
+ "KB",
17
+ "MB",
18
+ "GB",
19
+ "TB"
20
+ ], r = Math.floor(Math.log(e) / Math.log(t)), i = Math.min(r, n.length - 1);
21
+ return `${parseFloat((e / t ** +i).toFixed(1))} ${n[i]}`;
22
+ }
23
+ var x = {
24
+ container: "_container_1xc3a_1",
25
+ backgroundIcon: "_backgroundIcon_1xc3a_13",
26
+ stepper: "_stepper_1xc3a_23",
27
+ fileInfo: "_fileInfo_1xc3a_30",
28
+ resultPaper: "_resultPaper_1xc3a_37",
29
+ resultIcon: "_resultIcon_1xc3a_49",
30
+ readyContainer: "_readyContainer_1xc3a_53"
31
+ }, S = /* @__PURE__ */ e({ default: () => C }), C = ({ window: e }) => {
32
+ let { t: S } = y("apps"), C = r((e) => e.createFile), w = t(), [T, E] = l(0), [D, O] = l(null), [k, A] = l(null), [j, M] = l(!1), [N, P] = l(!1), [F, I] = l(!1), [L, R] = l({
33
+ status: "idle",
34
+ progress: {
35
+ status: "idle",
36
+ loaded: 0,
37
+ total: null,
38
+ percent: null,
39
+ error: null
40
+ }
41
+ }), [z, B] = l(null), V = a("FcUpload", { size: 120 }), H = a("FcCheckmark", { size: 64 }), U = a("FcCheckmark", { size: 14 }), W = a("FcInfo", { size: 64 }), G = c((e) => {
42
+ e && (O(e), E(1));
43
+ }, []), K = c((e) => {
44
+ A(e), M(!0), P(!1), E(2);
45
+ }, []), q = c(async () => {
46
+ if (D) {
47
+ console.log("[UploaderApp] Starting upload for file:", D.name, "size:", D.size), I(!0), R({
48
+ status: "reading",
49
+ progress: {
50
+ status: "downloading",
51
+ loaded: 0,
52
+ total: D.size,
53
+ percent: 0,
54
+ error: null
55
+ }
56
+ });
57
+ try {
58
+ R((e) => ({
59
+ ...e,
60
+ progress: {
61
+ status: "downloading",
62
+ loaded: 0,
63
+ total: D.size,
64
+ percent: 0,
65
+ error: null
66
+ }
67
+ }));
68
+ for (let e = 0; e <= 50; e += 10) await new Promise((e) => setTimeout(e, 50)), R((t) => ({
69
+ ...t,
70
+ progress: {
71
+ status: "downloading",
72
+ loaded: Math.floor(D.size * e / 100),
73
+ total: D.size,
74
+ percent: e,
75
+ error: null
76
+ }
77
+ }));
78
+ console.log("[UploaderApp] Calling saveBlob...");
79
+ let e = Date.now(), t = await n.saveBlob(D);
80
+ console.log("[UploaderApp] saveBlob completed in", Date.now() - e, "ms, url:", t), R((e) => ({
81
+ ...e,
82
+ progress: {
83
+ status: "downloading",
84
+ loaded: Math.floor(D.size * 80 / 100),
85
+ total: D.size,
86
+ percent: 80,
87
+ error: null
88
+ }
89
+ })), console.log("[UploaderApp] Calling createFile with folderId:", k);
90
+ let r = Date.now(), i = await C(D.name, "", k, t);
91
+ console.log("[UploaderApp] createFile completed in", Date.now() - r, "ms, id:", i.id), B(i.id), R({
92
+ status: "done",
93
+ progress: {
94
+ status: "done",
95
+ loaded: D.size,
96
+ total: D.size,
97
+ percent: 100,
98
+ error: null
99
+ }
100
+ }), await new Promise((e) => setTimeout(e, 1e3)), E(3);
101
+ } catch (e) {
102
+ console.error("[UploaderApp] Upload FAILED:", e), R((t) => ({
103
+ ...t,
104
+ status: "error",
105
+ error: e instanceof Error ? e.message : "Upload failed"
106
+ })), await new Promise((e) => setTimeout(e, 1e3)), E(3);
107
+ }
108
+ }
109
+ }, [
110
+ D,
111
+ k,
112
+ C
113
+ ]), J = c(() => {
114
+ k ? w("files", { contentData: { initialFolderId: k } }) : w("files");
115
+ }, [k, w]), Y = c(() => {
116
+ if (!z) return;
117
+ let e = r.getState().fsNodes.find((e) => e.id === z);
118
+ if (!e || e.type !== "file") return;
119
+ let t = i(e);
120
+ t && w(t.appId, { contentData: t.contentData });
121
+ }, [z, w]);
122
+ if (!e) return null;
123
+ let X = L.status === "done", Z = L.error;
124
+ return T === 3 ? /* @__PURE__ */ u("div", {
125
+ className: x.container,
126
+ children: /* @__PURE__ */ d(g, {
127
+ shadow: "sm",
128
+ className: x.resultPaper,
129
+ children: [
130
+ /* @__PURE__ */ u(f, {
131
+ className: x.resultIcon,
132
+ children: X ? H : W
133
+ }),
134
+ /* @__PURE__ */ u(v, {
135
+ size: "lg",
136
+ fw: 500,
137
+ ta: "center",
138
+ children: X ? S("uploader.uploadComplete") : `${S("uploader.uploadFailed")}: ${Z}`
139
+ }),
140
+ X && /* @__PURE__ */ d(h, {
141
+ mt: "md",
142
+ justify: "center",
143
+ children: [/* @__PURE__ */ u(p, {
144
+ variant: "default",
145
+ size: "sm",
146
+ onClick: J,
147
+ "data-testid": "uploader-show-file",
148
+ children: S("uploader.showFile")
149
+ }), /* @__PURE__ */ u(p, {
150
+ size: "sm",
151
+ onClick: Y,
152
+ "data-testid": "uploader-open-file",
153
+ children: S("uploader.openFile")
154
+ })]
155
+ })
156
+ ]
157
+ })
158
+ }) : /* @__PURE__ */ d("div", {
159
+ className: x.container,
160
+ children: [
161
+ V && /* @__PURE__ */ u("div", {
162
+ className: x.backgroundIcon,
163
+ children: V
164
+ }),
165
+ /* @__PURE__ */ d(_, {
166
+ active: T,
167
+ orientation: "horizontal",
168
+ size: "sm",
169
+ className: x.stepper,
170
+ children: [
171
+ /* @__PURE__ */ u(_.Step, {
172
+ label: S("uploader.stepSelect"),
173
+ description: S("uploader.clickToUpload"),
174
+ children: /* @__PURE__ */ u(m, {
175
+ accept: "*",
176
+ onChange: G,
177
+ children: (e) => /* @__PURE__ */ u(p, {
178
+ ...e,
179
+ size: "sm",
180
+ "data-testid": "uploader-select-file",
181
+ children: S("uploader.clickToUpload")
182
+ })
183
+ })
184
+ }),
185
+ /* @__PURE__ */ d(_.Step, {
186
+ label: S("uploader.stepDestination"),
187
+ description: j ? /* @__PURE__ */ d(h, {
188
+ gap: 4,
189
+ align: "center",
190
+ style: { display: "inline-flex" },
191
+ children: [U, /* @__PURE__ */ u("span", { children: S("uploader.folderSelected") })]
192
+ }) : S("uploader.selectDestination"),
193
+ children: [
194
+ D && /* @__PURE__ */ d(f, {
195
+ className: x.fileInfo,
196
+ children: [/* @__PURE__ */ u(v, {
197
+ size: "sm",
198
+ fw: 500,
199
+ children: D.name
200
+ }), /* @__PURE__ */ u(v, {
201
+ size: "xs",
202
+ c: "dimmed",
203
+ children: b(D.size)
204
+ })]
205
+ }),
206
+ /* @__PURE__ */ d(h, {
207
+ mt: "md",
208
+ children: [/* @__PURE__ */ u(p, {
209
+ variant: "default",
210
+ size: "xs",
211
+ onClick: () => P(!0),
212
+ "data-testid": "uploader-select-folder",
213
+ children: S("uploader.selectDestination")
214
+ }), /* @__PURE__ */ u(p, {
215
+ size: "xs",
216
+ onClick: () => E(2),
217
+ "data-testid": "uploader-skip-folder",
218
+ children: S("uploader.next", { defaultValue: "Next" })
219
+ })]
220
+ }),
221
+ /* @__PURE__ */ u(v, {
222
+ size: "xs",
223
+ c: "dimmed",
224
+ mt: "xs",
225
+ children: k ? `${S("uploader.uploadTo")}: ${r.getState().fsNodes.find((e) => e.id === k)?.name || ""}` : S("uploader.uploadToRoot")
226
+ })
227
+ ]
228
+ }),
229
+ /* @__PURE__ */ u(_.Step, {
230
+ label: S("uploader.stepUpload"),
231
+ description: S("uploader.uploading"),
232
+ children: F ? /* @__PURE__ */ u(s, {
233
+ state: L.progress,
234
+ ariaLabel: S("uploader.uploadProgress")
235
+ }) : /* @__PURE__ */ d(f, {
236
+ className: x.readyContainer,
237
+ children: [/* @__PURE__ */ u(v, {
238
+ size: "sm",
239
+ ta: "center",
240
+ children: S("uploader.readyToUpload")
241
+ }), /* @__PURE__ */ u(h, {
242
+ justify: "center",
243
+ children: /* @__PURE__ */ u(p, {
244
+ size: "sm",
245
+ onClick: q,
246
+ "data-testid": "uploader-upload",
247
+ children: S("uploader.upload")
248
+ })
249
+ })]
250
+ })
251
+ })
252
+ ]
253
+ }),
254
+ /* @__PURE__ */ u(o, {
255
+ opened: N,
256
+ onConfirm: K,
257
+ onCancel: () => P(!1)
258
+ })
259
+ ]
260
+ });
261
+ };
262
+ //#endregion
263
+ export { S as n, b as r, C as t };
@@ -0,0 +1 @@
1
+ const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./useOpenApp-ChDhsL9h.cjs`),n=require(`./desktopStore-C1jR6Fdb.cjs`),r=require(`./useDynamicIcon-CK6SjEv5.cjs`),i=require(`./FilePickerApp-By6-vbag.cjs`),a=require(`./DownloadProgress-CkTGTf0z.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`),c=require(`@mantine/core`),l=require(`react-i18next`);function u(e){if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t)),i=Math.min(r,n.length-1);return`${parseFloat((e/t**+i).toFixed(1))} ${n[i]}`}var d={container:`_container_1xc3a_1`,backgroundIcon:`_backgroundIcon_1xc3a_13`,stepper:`_stepper_1xc3a_23`,fileInfo:`_fileInfo_1xc3a_30`,resultPaper:`_resultPaper_1xc3a_37`,resultIcon:`_resultIcon_1xc3a_49`,readyContainer:`_readyContainer_1xc3a_53`},f=e.i({default:()=>p}),p=({window:e})=>{let{t:f}=(0,l.useTranslation)(`apps`),p=n.o(e=>e.createFile),m=t.t(),[h,g]=(0,o.useState)(0),[_,v]=(0,o.useState)(null),[y,b]=(0,o.useState)(null),[x,S]=(0,o.useState)(!1),[C,w]=(0,o.useState)(!1),[T,E]=(0,o.useState)(!1),[D,O]=(0,o.useState)({status:`idle`,progress:{status:`idle`,loaded:0,total:null,percent:null,error:null}}),[k,A]=(0,o.useState)(null),j=r.i(`FcUpload`,{size:120}),M=r.i(`FcCheckmark`,{size:64}),N=r.i(`FcCheckmark`,{size:14}),P=r.i(`FcInfo`,{size:64}),F=(0,o.useCallback)(e=>{e&&(v(e),g(1))},[]),I=(0,o.useCallback)(e=>{b(e),S(!0),w(!1),g(2)},[]),L=(0,o.useCallback)(async()=>{if(_){console.log(`[UploaderApp] Starting upload for file:`,_.name,`size:`,_.size),E(!0),O({status:`reading`,progress:{status:`downloading`,loaded:0,total:_.size,percent:0,error:null}});try{O(e=>({...e,progress:{status:`downloading`,loaded:0,total:_.size,percent:0,error:null}}));for(let e=0;e<=50;e+=10)await new Promise(e=>setTimeout(e,50)),O(t=>({...t,progress:{status:`downloading`,loaded:Math.floor(_.size*e/100),total:_.size,percent:e,error:null}}));console.log(`[UploaderApp] Calling saveBlob...`);let e=Date.now(),t=await n.n.saveBlob(_);console.log(`[UploaderApp] saveBlob completed in`,Date.now()-e,`ms, url:`,t),O(e=>({...e,progress:{status:`downloading`,loaded:Math.floor(_.size*80/100),total:_.size,percent:80,error:null}})),console.log(`[UploaderApp] Calling createFile with folderId:`,y);let r=Date.now(),i=await p(_.name,``,y,t);console.log(`[UploaderApp] createFile completed in`,Date.now()-r,`ms, id:`,i.id),A(i.id),O({status:`done`,progress:{status:`done`,loaded:_.size,total:_.size,percent:100,error:null}}),await new Promise(e=>setTimeout(e,1e3)),g(3)}catch(e){console.error(`[UploaderApp] Upload FAILED:`,e),O(t=>({...t,status:`error`,error:e instanceof Error?e.message:`Upload failed`})),await new Promise(e=>setTimeout(e,1e3)),g(3)}}},[_,y,p]),R=(0,o.useCallback)(()=>{y?m(`files`,{contentData:{initialFolderId:y}}):m(`files`)},[y,m]),z=(0,o.useCallback)(()=>{if(!k)return;let e=n.o.getState().fsNodes.find(e=>e.id===k);if(!e||e.type!==`file`)return;let t=n.x(e);t&&m(t.appId,{contentData:t.contentData})},[k,m]);if(!e)return null;let B=D.status===`done`,V=D.error;return h===3?(0,s.jsx)(`div`,{className:d.container,children:(0,s.jsxs)(c.Paper,{shadow:`sm`,className:d.resultPaper,children:[(0,s.jsx)(c.Box,{className:d.resultIcon,children:B?M:P}),(0,s.jsx)(c.Text,{size:`lg`,fw:500,ta:`center`,children:B?f(`uploader.uploadComplete`):`${f(`uploader.uploadFailed`)}: ${V}`}),B&&(0,s.jsxs)(c.Group,{mt:`md`,justify:`center`,children:[(0,s.jsx)(c.Button,{variant:`default`,size:`sm`,onClick:R,"data-testid":`uploader-show-file`,children:f(`uploader.showFile`)}),(0,s.jsx)(c.Button,{size:`sm`,onClick:z,"data-testid":`uploader-open-file`,children:f(`uploader.openFile`)})]})]})}):(0,s.jsxs)(`div`,{className:d.container,children:[j&&(0,s.jsx)(`div`,{className:d.backgroundIcon,children:j}),(0,s.jsxs)(c.Stepper,{active:h,orientation:`horizontal`,size:`sm`,className:d.stepper,children:[(0,s.jsx)(c.Stepper.Step,{label:f(`uploader.stepSelect`),description:f(`uploader.clickToUpload`),children:(0,s.jsx)(c.FileButton,{accept:`*`,onChange:F,children:e=>(0,s.jsx)(c.Button,{...e,size:`sm`,"data-testid":`uploader-select-file`,children:f(`uploader.clickToUpload`)})})}),(0,s.jsxs)(c.Stepper.Step,{label:f(`uploader.stepDestination`),description:x?(0,s.jsxs)(c.Group,{gap:4,align:`center`,style:{display:`inline-flex`},children:[N,(0,s.jsx)(`span`,{children:f(`uploader.folderSelected`)})]}):f(`uploader.selectDestination`),children:[_&&(0,s.jsxs)(c.Box,{className:d.fileInfo,children:[(0,s.jsx)(c.Text,{size:`sm`,fw:500,children:_.name}),(0,s.jsx)(c.Text,{size:`xs`,c:`dimmed`,children:u(_.size)})]}),(0,s.jsxs)(c.Group,{mt:`md`,children:[(0,s.jsx)(c.Button,{variant:`default`,size:`xs`,onClick:()=>w(!0),"data-testid":`uploader-select-folder`,children:f(`uploader.selectDestination`)}),(0,s.jsx)(c.Button,{size:`xs`,onClick:()=>g(2),"data-testid":`uploader-skip-folder`,children:f(`uploader.next`,{defaultValue:`Next`})})]}),(0,s.jsx)(c.Text,{size:`xs`,c:`dimmed`,mt:`xs`,children:y?`${f(`uploader.uploadTo`)}: ${n.o.getState().fsNodes.find(e=>e.id===y)?.name||``}`:f(`uploader.uploadToRoot`)})]}),(0,s.jsx)(c.Stepper.Step,{label:f(`uploader.stepUpload`),description:f(`uploader.uploading`),children:T?(0,s.jsx)(a.t,{state:D.progress,ariaLabel:f(`uploader.uploadProgress`)}):(0,s.jsxs)(c.Box,{className:d.readyContainer,children:[(0,s.jsx)(c.Text,{size:`sm`,ta:`center`,children:f(`uploader.readyToUpload`)}),(0,s.jsx)(c.Group,{justify:`center`,children:(0,s.jsx)(c.Button,{size:`sm`,onClick:L,"data-testid":`uploader-upload`,children:f(`uploader.upload`)})})]})})]}),(0,s.jsx)(i.i,{opened:C,onConfirm:I,onCancel:()=>w(!1)})]})};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
@@ -1,4 +1,4 @@
1
- import { c as e } from "./useDynamicIcon-GJg3vWsJ.js";
1
+ import { c as e } from "./useDynamicIcon-_wGeWu-b.js";
2
2
  //#region src/components/Shared/VscIcon.tsx
3
3
  var t = ({ name: t, size: n = 20, color: r }) => e(t, {
4
4
  size: n,
@@ -0,0 +1 @@
1
+ const e=require(`./useDynamicIcon-CK6SjEv5.cjs`);var t=({name:t,size:n=20,color:r})=>e.c(t,{size:n,color:r})??null;Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -0,0 +1 @@
1
+ require(`./NotesApp-BmQIBtJ2.cjs`);const e=require(`./useDynamicIcon-CK6SjEv5.cjs`);let t=require(`react`);var n=e=>e.split(`.`).pop()?.toLowerCase()??``,r={pdf:`VscFilePdf`,md:`VscMarkdown`,txt:`VscFile`,jpg:`VscFileMedia`,jpeg:`VscFileMedia`,png:`VscFileMedia`,gif:`VscFileMedia`,svg:`VscFileCode`,ts:`VscFileCode`,tsx:`VscFileCode`,js:`VscFileCode`,jsx:`VscFileCode`,json:`VscJson`,html:`VscFileCode`,css:`VscFileCode`},i=({type:i,name:a=``,folderNode:o,fileNode:s,size:c=20})=>{let l,u;i===`folder`?(l=o?.iconName??`VscFolder`,u=o?.iconColor??void 0):i===`file`&&s?.iconName?(l=s.iconName,u=s.iconColor??void 0):l=r[n(a)]??`VscFile`;let d=e.s(l);return d?(0,t.createElement)(d,{size:c,color:u,"aria-hidden":`true`}):null},a=(e,t)=>{let n=[{id:null,name:`Home`}],r=e,i=[];for(;r!==null;){let e=t.find(e=>e.id===r);if(!e)break;i.unshift({id:e.id,name:e.name}),r=e.parentId}return[...n,...i]};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
@@ -0,0 +1,45 @@
1
+ import { s as e } from "./useDynamicIcon-_wGeWu-b.js";
2
+ import { createElement as t } from "react";
3
+ //#region src/utils/getFileExtension.ts
4
+ var n = (e) => e.split(".").pop()?.toLowerCase() ?? "", r = {
5
+ pdf: "VscFilePdf",
6
+ md: "VscMarkdown",
7
+ txt: "VscFile",
8
+ jpg: "VscFileMedia",
9
+ jpeg: "VscFileMedia",
10
+ png: "VscFileMedia",
11
+ gif: "VscFileMedia",
12
+ svg: "VscFileCode",
13
+ ts: "VscFileCode",
14
+ tsx: "VscFileCode",
15
+ js: "VscFileCode",
16
+ jsx: "VscFileCode",
17
+ json: "VscJson",
18
+ html: "VscFileCode",
19
+ css: "VscFileCode"
20
+ }, i = ({ type: i, name: a = "", folderNode: o, fileNode: s, size: c = 20 }) => {
21
+ let l, u;
22
+ i === "folder" ? (l = o?.iconName ?? "VscFolder", u = o?.iconColor ?? void 0) : i === "file" && s?.iconName ? (l = s.iconName, u = s.iconColor ?? void 0) : l = r[n(a)] ?? "VscFile";
23
+ let d = e(l);
24
+ return d ? t(d, {
25
+ size: c,
26
+ color: u,
27
+ "aria-hidden": "true"
28
+ }) : null;
29
+ }, a = (e, t) => {
30
+ let n = [{
31
+ id: null,
32
+ name: "Home"
33
+ }], r = e, i = [];
34
+ for (; r !== null;) {
35
+ let e = t.find((e) => e.id === r);
36
+ if (!e) break;
37
+ i.unshift({
38
+ id: e.id,
39
+ name: e.name
40
+ }), r = e.parentId;
41
+ }
42
+ return [...n, ...i];
43
+ };
44
+ //#endregion
45
+ export { i as n, n as r, a as t };