@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.
- package/dist/AppEmptyState-Boej96TB.js +49 -0
- package/dist/AppEmptyState-CLc00OOG.cjs +1 -0
- package/dist/AppIcon-C8vHUVcb.cjs +1 -0
- package/dist/AppIcon-mtEoyzOb.js +22 -0
- package/dist/AppMenuBar-CAlkNHjj.cjs +1 -0
- package/dist/AppMenuBar-DmSfQRXU.js +197 -0
- package/dist/CalendarApp-DOmjWbpl.js +10 -0
- package/dist/CalendarApp-Z0bCCYsK.cjs +1 -0
- package/dist/ColorPicker-CQRRwY-y.cjs +1 -0
- package/dist/ColorPicker-WCeD3Wjf.js +35 -0
- package/dist/CreateItemApp-BkFFFdX1.cjs +1 -0
- package/dist/CreateItemApp-DR8Y4bwo.js +202 -0
- package/dist/DeviceInfoApp-BXQ9uOwF.cjs +1 -0
- package/dist/DeviceInfoApp-I63mJRWy.js +195 -0
- package/dist/DownloadProgress-CkTGTf0z.cjs +1 -0
- package/dist/DownloadProgress-DnVASsv5.js +39 -0
- package/dist/FilePickerApp-By6-vbag.cjs +1 -0
- package/dist/FilePickerApp-ClHuhm6Z.js +390 -0
- package/dist/FilesApp-BRK2OqkQ.cjs +1 -0
- package/dist/FilesApp-BuoFP_KA.js +212 -0
- package/dist/ImageViewerApp-B1niWF75.cjs +1 -0
- package/dist/{ImageViewerApp-CWiP6zx-.js → ImageViewerApp-iojtyFEf.js} +18 -17
- package/dist/{ImageViewerMenuBar-BULkh_Ku.js → ImageViewerMenuBar-BIsUokxV.js} +15 -14
- package/dist/ImageViewerMenuBar-BgzgSF3v.cjs +1 -0
- package/dist/MenuEditApp-BHptoJbz.cjs +1 -0
- package/dist/MenuEditApp-CJUbJaqh.js +492 -0
- package/dist/MenuEditMenuBar-CCOSPAUe.cjs +1 -0
- package/dist/{MenuEditMenuBar-B94z4Umw.js → MenuEditMenuBar-DnCL-kaZ.js} +13 -12
- package/dist/NotesApp-BmQIBtJ2.cjs +1 -0
- package/dist/NotesApp-DJ2dGt4-.js +364 -0
- package/dist/NotesMenuBar-BzojwMtH.cjs +1 -0
- package/dist/{NotesMenuBar-BB4NkKGf.js → NotesMenuBar-DILZTjnT.js} +10 -9
- package/dist/PdfApp-IjY_GtnW.js +39 -0
- package/dist/PdfApp-krW8UI97.cjs +1 -0
- package/dist/PdfMenuBar-Bd5MTZcZ.js +39 -0
- package/dist/PdfMenuBar-DWD0Qa3F.cjs +1 -0
- package/dist/SettingsApp-BE22l5UP.cjs +1 -0
- package/dist/SettingsApp-BTFtTFY_.js +1228 -0
- package/dist/SettingsMenuBar-CZE2evG2.cjs +1 -0
- package/dist/SettingsMenuBar-ktC0viTd.js +42 -0
- package/dist/UploaderApp-Bboc4KZ1.js +263 -0
- package/dist/UploaderApp-Dr1mF7oj.cjs +1 -0
- package/dist/{VscIcon-DueRJVTe.js → VscIcon-AEENjKOE.js} +1 -1
- package/dist/VscIcon-BYb_Soyy.cjs +1 -0
- package/dist/buildBreadcrumbs-Ccd8i11b.cjs +1 -0
- package/dist/buildBreadcrumbs-noWhu8os.js +45 -0
- package/dist/{desktopStore-B0R1-BeA.js → desktopStore-8cSZlj7s.js} +342 -549
- package/dist/desktopStore-C1jR6Fdb.cjs +1 -0
- package/dist/{imageViewerStore-CJMRXaQh.js → imageViewerStore-COrD02Zu.js} +1 -1
- package/dist/imageViewerStore-Dfylg59V.cjs +1 -0
- package/dist/index.cjs +1 -53
- package/dist/index.css +1 -1
- package/dist/index.d.ts +16 -6
- package/dist/index.js +3033 -7513
- package/dist/menuEditStore-CYwtfD6H.cjs +1 -0
- package/dist/{menuEditStore-C8S_EedM.js → menuEditStore-CxsgLiQu.js} +1 -1
- package/dist/notesStore-CrWTO6oB.cjs +1 -0
- package/dist/{notesStore-DKRgTTFn.js → notesStore-Dgah46U5.js} +1 -1
- package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
- package/dist/{settingsAppStore-KOeWRO6h.js → settingsAppStore-DHZhi6Rl.js} +1 -1
- package/dist/settingsAppStore-DuYZNeFf.cjs +1 -0
- package/dist/useAdaptiveDimensions-3Lz4X0Tc.cjs +1 -0
- package/dist/{useAdaptiveDimensions-CunsU0mn.js → useAdaptiveDimensions-DxNLJ7R5.js} +1 -1
- package/dist/{useCloseInterceptor-CuKAAFnj.js → useCloseInterceptor-CIxhOZx1.js} +12 -12
- package/dist/useCloseInterceptor-CdX-09Ib.cjs +1 -0
- package/dist/useDynamicIcon-CK6SjEv5.cjs +1 -0
- package/dist/{useDynamicIcon-GJg3vWsJ.js → useDynamicIcon-_wGeWu-b.js} +1 -1
- package/dist/useOpenApp-ChDhsL9h.cjs +1 -0
- package/dist/{useOpenApp-BVpSfNrG.js → useOpenApp-uguTLkyl.js} +51 -67
- package/dist/{useResolvedUrl-DFKXq598.js → useResolvedUrl-B6x4xy0x.js} +1 -2
- package/dist/useResolvedUrl-Bb39DpVy.cjs +1 -0
- package/package.json +3 -4
- package/dist/AccordionChevron-CJXAq5o5.js +0 -26
- package/dist/AccordionChevron-DBXp38Lm.cjs +0 -1
- package/dist/ActionIcon-C_SfdBfx.cjs +0 -1
- package/dist/ActionIcon-CtVbYlGY.js +0 -145
- package/dist/AppEmptyState-BTujnL_b.js +0 -4962
- package/dist/AppEmptyState-Dc4GaDfu.cjs +0 -1
- package/dist/AppIcon--qzR4sgf.cjs +0 -1
- package/dist/AppIcon-DCDuaU-t.js +0 -80
- package/dist/AppMenuBar-BiHbNg9V.cjs +0 -9
- package/dist/AppMenuBar-CHJy8OF0.js +0 -2639
- package/dist/Box-DRm8EabO.js +0 -1593
- package/dist/Box-D_64wv6n.cjs +0 -1
- package/dist/Button-D0FXpkur.cjs +0 -1
- package/dist/Button-k7SxX1Xl.js +0 -178
- package/dist/CalendarApp-C1HvuJoa.cjs +0 -1
- package/dist/CalendarApp-DBEQqsS_.js +0 -1721
- package/dist/Center-CyryG5zn.js +0 -25
- package/dist/Center-T4No_FAa.cjs +0 -1
- package/dist/CheckIcon-C3WjIR2i.js +0 -25
- package/dist/CheckIcon-CBMLR6Gc.cjs +0 -1
- package/dist/CodeServerApp-B3l5QPuG.cjs +0 -1
- package/dist/CodeServerApp-BpeALSaX.js +0 -2
- package/dist/CodeServerApp-CRjCngFv.cjs +0 -1
- package/dist/CodeServerApp-DY94cy1a.js +0 -149
- package/dist/ColorPicker-BL4UbKCV.cjs +0 -1
- package/dist/ColorPicker-DvRR-wlQ.js +0 -997
- package/dist/CreateItemApp-BU9wmjKM.cjs +0 -1
- package/dist/CreateItemApp-CtdH1K1g.js +0 -400
- package/dist/CreateItemApp-t9F-a6wD.cjs +0 -1
- package/dist/DeviceInfoApp-C306YvtZ.js +0 -223
- package/dist/DeviceInfoApp-Cdju_LIB.cjs +0 -1
- package/dist/DeviceInfoApp-CyB01v4D.cjs +0 -1
- package/dist/DownloadProgress-IRw1dzLX.cjs +0 -1
- package/dist/DownloadProgress-hdupSUBT.js +0 -174
- package/dist/FileIcon-BCpGMI5U.js +0 -88
- package/dist/FileIcon-BCrsxmtt.cjs +0 -1
- package/dist/FilePickerApp-DMGuvahM.js +0 -409
- package/dist/FilePickerApp-Eu0cr2Cm.cjs +0 -1
- package/dist/FilesApp-BQFVHkEn.js +0 -225
- package/dist/FilesApp-BZ_dzZnF.cjs +0 -1
- package/dist/FilesApp-SIWXFPXt.cjs +0 -1
- package/dist/Group-BzwlMeob.js +0 -48
- package/dist/Group-DhwePB84.cjs +0 -1
- package/dist/ImageViewerApp-BOz59TGc.cjs +0 -1
- package/dist/ImageViewerApp-BeqY6voE.cjs +0 -1
- package/dist/ImageViewerApp-DBAfJPSo.js +0 -2
- package/dist/ImageViewerMenuBar-Cb0Nr5-M.js +0 -2
- package/dist/ImageViewerMenuBar-CoEp0RxK.cjs +0 -1
- package/dist/ImageViewerMenuBar-zOkJtqKo.cjs +0 -1
- package/dist/MenuEditApp-BoKtj2GH.js +0 -2
- package/dist/MenuEditApp-D21sEp86.js +0 -2615
- package/dist/MenuEditApp-k3cPfTG9.cjs +0 -1
- package/dist/MenuEditApp-sz9GlLVH.cjs +0 -5
- package/dist/MenuEditMenuBar-6QxlIDpl.cjs +0 -1
- package/dist/MenuEditMenuBar-Bv6R42lf.js +0 -2
- package/dist/MenuEditMenuBar-CBsmH_-T.cjs +0 -1
- package/dist/NotesApp-BtR55Hva.cjs +0 -207
- package/dist/NotesApp-C59exz_9.js +0 -16154
- package/dist/NotesApp-D47I5LS_.js +0 -2
- package/dist/NotesApp-lOwsi2sg.cjs +0 -1
- package/dist/NotesMenuBar-BZITC74y.cjs +0 -1
- package/dist/NotesMenuBar-Bp0sPqyR.cjs +0 -1
- package/dist/NotesMenuBar-xlfODmMA.js +0 -2
- package/dist/Paper-DtUYKmYn.js +0 -30
- package/dist/Paper-DwCpwWwH.cjs +0 -1
- package/dist/PdfApp-1XbFGfoY.cjs +0 -1
- package/dist/PdfApp-BhIoJWeK.cjs +0 -1
- package/dist/PdfApp-C5Rt1Zaw.js +0 -2
- package/dist/PdfApp-C8Hwxxqh.js +0 -38
- package/dist/PdfMenuBar-BA9rKuMP.cjs +0 -1
- package/dist/PdfMenuBar-JXHqwxhZ.cjs +0 -1
- package/dist/PdfMenuBar-R0fu7oYF.js +0 -2
- package/dist/PdfMenuBar-sd-9Vk3h.js +0 -38
- package/dist/SettingsApp-7EhpjzUE.cjs +0 -1
- package/dist/SettingsApp-ByiPAj1I.cjs +0 -1
- package/dist/SettingsApp-d6fmBHxR.js +0 -1829
- package/dist/SettingsApp-qKJmC0lj.js +0 -2
- package/dist/SettingsMenuBar-BPwv8JQK.js +0 -41
- package/dist/SettingsMenuBar-D8R7hOik.js +0 -2
- package/dist/SettingsMenuBar-DDrjZLmg.cjs +0 -1
- package/dist/SettingsMenuBar-DQjUa8g1.cjs +0 -1
- package/dist/Slider-BNO-vDFn.js +0 -1175
- package/dist/Slider-Bg_EIBg6.cjs +0 -1
- package/dist/Stack-BOaJgV3N.cjs +0 -1
- package/dist/Stack-CuDEaP7e.js +0 -34
- package/dist/StorybookApp-Bkr-7mXp.cjs +0 -1
- package/dist/StorybookApp-WYninkJo.js +0 -10
- package/dist/TerminalApp-8XbsKAWa.js +0 -10041
- package/dist/TerminalApp-Bq2e7QQu.cjs +0 -1
- package/dist/TerminalApp-CVu3Axc9.js +0 -2
- package/dist/TerminalApp-b7_d0jRO.cjs +0 -36
- package/dist/TerminalMenuBar-Cb8x9laS.js +0 -2
- package/dist/TerminalMenuBar-De-FH5AE.cjs +0 -1
- package/dist/TerminalMenuBar-iKLydNda.js +0 -112
- package/dist/TerminalMenuBar-yOaWd-hn.cjs +0 -1
- package/dist/TextInput-C3qfxxWI.js +0 -980
- package/dist/TextInput-DcYns3hz.cjs +0 -1
- package/dist/Tooltip-CAOO-qdx.js +0 -3185
- package/dist/Tooltip-DDh_x-CB.cjs +0 -1
- package/dist/UnstyledButton-CI3kyRck.js +0 -25
- package/dist/UnstyledButton-Cl5RuIid.cjs +0 -1
- package/dist/UploaderApp-C76ydsd8.js +0 -487
- package/dist/UploaderApp-CHACW8Yr.js +0 -2
- package/dist/UploaderApp-Q_a3mBik.cjs +0 -1
- package/dist/UploaderApp-htj59ppo.cjs +0 -1
- package/dist/VscIcon-CxEmqD80.cjs +0 -1
- package/dist/chunk-BQCxAhux.js +0 -23
- package/dist/chunk-CiTBaPhY.cjs +0 -1
- package/dist/create-safe-context-95P-Bfg3.cjs +0 -1
- package/dist/create-safe-context-XT2cxc14.js +0 -12
- package/dist/desktopStore-Cox-Og1z.cjs +0 -1
- package/dist/fc-DejOsQyD.cjs +0 -1
- package/dist/fc-kd8WzIER.js +0 -20536
- package/dist/fc-xJ_v2ayq.cjs +0 -184
- package/dist/fi-BahYsbim.js +0 -9993
- package/dist/fi-BkhyTcZo.cjs +0 -1
- package/dist/getRuntime-BLXyQZBB.cjs +0 -1
- package/dist/getRuntime-CCRXVzJH.js +0 -63
- package/dist/iconBase-B4UCuSvv.cjs +0 -1
- package/dist/iconBase-D7iPes7B.js +0 -108
- package/dist/imageViewerStore-CH1qW6md.cjs +0 -1
- package/dist/is-element-BocgicRg.cjs +0 -1
- package/dist/is-element-Bu_JY8Qy.js +0 -7
- package/dist/menuEditStore-CU7IAg3L.cjs +0 -1
- package/dist/notesStore-zKmChTfF.cjs +0 -1
- package/dist/react-DYmzHD0X.js +0 -27
- package/dist/react-Dldg32sN.cjs +0 -1
- package/dist/settingsAppStore-BrlImdAH.cjs +0 -1
- package/dist/terminalStore-LWWjCvCe.js +0 -30
- package/dist/terminalStore-fZe5t7Ty.cjs +0 -1
- package/dist/use-merged-ref-BI9n1hUK.cjs +0 -1
- package/dist/use-merged-ref-BT8_u6vW.js +0 -25
- package/dist/use-resolved-styles-api-AVDygMKo.cjs +0 -1
- package/dist/use-resolved-styles-api-pEOi2wiK.js +0 -21
- package/dist/use-uncontrolled-A4hm9ATM.js +0 -23
- package/dist/use-uncontrolled-BPrfGv0W.cjs +0 -1
- package/dist/useAdaptiveDimensions-Btp0m5Pm.cjs +0 -1
- package/dist/useCloseInterceptor-a_6Lcuqj.cjs +0 -1
- package/dist/useDynamicIcon-SytdL1Tu.cjs +0 -1
- package/dist/useOpenApp-Br0jo4-y.cjs +0 -1
- package/dist/useResolvedUrl-Be5ZlCX7.cjs +0 -1
- package/dist/useTranslation-DMRGdqZi.js +0 -279
- package/dist/useTranslation-D_O7S4RJ.cjs +0 -1
- package/dist/vsc-Ciibqbxo.cjs +0 -1
- package/dist/vsc-DGKSpOAR.js +0 -9574
- /package/dist/{Colors-BxX4G8kX.cjs → Colors-CNJbU7oq.cjs} +0 -0
- /package/dist/{Colors-hca6raEG.js → Colors-CuABn2W4.js} +0 -0
- /package/dist/{useMenuBarUtils-ChmpZjwu.js → useMenuBarUtils-ChAfI7OA.js} +0 -0
- /package/dist/{useMenuBarUtils-Bp5PiztD.cjs → useMenuBarUtils-DAap0ukp.cjs} +0 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { t } from "./useOpenApp-uguTLkyl.js";
|
|
3
|
+
import { D as n, o as r, ot as i, x as a } from "./desktopStore-8cSZlj7s.js";
|
|
4
|
+
import { n as o, t as s } from "./buildBreadcrumbs-noWhu8os.js";
|
|
5
|
+
import { useCallback as c, useEffect as l, useState as u } from "react";
|
|
6
|
+
import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
|
+
import { Anchor as m, Breadcrumbs as h, Text as g, UnstyledButton as _ } from "@mantine/core";
|
|
8
|
+
//#region src/hooks/useNotifications.ts
|
|
9
|
+
var v = () => {
|
|
10
|
+
let e = r((e) => e.notifications), t = r((e) => e.addNotification), n = r((e) => e.removeNotification);
|
|
11
|
+
return {
|
|
12
|
+
notifications: e,
|
|
13
|
+
notify: c((e, n, r) => {
|
|
14
|
+
let a = {
|
|
15
|
+
id: i(),
|
|
16
|
+
title: e,
|
|
17
|
+
message: n,
|
|
18
|
+
fcIcon: r?.fcIcon,
|
|
19
|
+
onClose: r?.onClose
|
|
20
|
+
};
|
|
21
|
+
return t(a), a.id;
|
|
22
|
+
}, [t]),
|
|
23
|
+
dismiss: c((e) => {
|
|
24
|
+
n(e);
|
|
25
|
+
}, [n]),
|
|
26
|
+
addNotification: t,
|
|
27
|
+
removeNotification: n
|
|
28
|
+
};
|
|
29
|
+
}, y = {
|
|
30
|
+
root: "_root_113j7_1",
|
|
31
|
+
item: "_item_113j7_9"
|
|
32
|
+
}, b = ({ node: e, allNodes: t, currentFolderId: n, depth: r, onNavigate: i }) => {
|
|
33
|
+
let a = t.filter((t) => t.parentId === e.id && t.type === "folder");
|
|
34
|
+
return /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ p(_, {
|
|
35
|
+
className: y.item,
|
|
36
|
+
"data-active": n === e.id || void 0,
|
|
37
|
+
style: { paddingLeft: 8 + r * 14 },
|
|
38
|
+
onClick: () => i(e.id),
|
|
39
|
+
"aria-label": e.name,
|
|
40
|
+
"aria-current": n === e.id ? "page" : void 0,
|
|
41
|
+
children: [/* @__PURE__ */ f(o, {
|
|
42
|
+
type: "folder",
|
|
43
|
+
folderNode: e,
|
|
44
|
+
size: 14
|
|
45
|
+
}), /* @__PURE__ */ f(g, {
|
|
46
|
+
size: "xs",
|
|
47
|
+
ml: 6,
|
|
48
|
+
truncate: !0,
|
|
49
|
+
children: e.name
|
|
50
|
+
})]
|
|
51
|
+
}), a.map((e) => /* @__PURE__ */ f(b, {
|
|
52
|
+
node: e,
|
|
53
|
+
allNodes: t,
|
|
54
|
+
currentFolderId: n,
|
|
55
|
+
depth: r + 1,
|
|
56
|
+
onNavigate: i
|
|
57
|
+
}, e.id))] });
|
|
58
|
+
}, x = ({ allNodes: e, currentFolderId: t, onNavigate: n }) => {
|
|
59
|
+
let r = e.filter((e) => e.parentId === null && e.type === "folder");
|
|
60
|
+
return /* @__PURE__ */ p("nav", {
|
|
61
|
+
className: y.root,
|
|
62
|
+
"aria-label": "Folder tree",
|
|
63
|
+
children: [/* @__PURE__ */ p(_, {
|
|
64
|
+
className: y.item,
|
|
65
|
+
"data-active": t === null || void 0,
|
|
66
|
+
style: { paddingLeft: 8 },
|
|
67
|
+
onClick: () => n(null),
|
|
68
|
+
"aria-label": "Home",
|
|
69
|
+
"aria-current": t === null ? "page" : void 0,
|
|
70
|
+
children: [/* @__PURE__ */ f(o, {
|
|
71
|
+
type: "folder",
|
|
72
|
+
size: 14
|
|
73
|
+
}), /* @__PURE__ */ f(g, {
|
|
74
|
+
size: "xs",
|
|
75
|
+
ml: 6,
|
|
76
|
+
fw: 500,
|
|
77
|
+
children: "Home"
|
|
78
|
+
})]
|
|
79
|
+
}), r.map((r) => /* @__PURE__ */ f(b, {
|
|
80
|
+
node: r,
|
|
81
|
+
allNodes: e,
|
|
82
|
+
currentFolderId: t,
|
|
83
|
+
depth: 1,
|
|
84
|
+
onNavigate: n
|
|
85
|
+
}, r.id))]
|
|
86
|
+
});
|
|
87
|
+
}, S = {
|
|
88
|
+
grid: "_grid_1cag6_1",
|
|
89
|
+
item: "_item_1cag6_9",
|
|
90
|
+
icon: "_icon_1cag6_26",
|
|
91
|
+
name: "_name_1cag6_34",
|
|
92
|
+
empty: "_empty_1cag6_46"
|
|
93
|
+
}, C = ({ node: e, onNavigate: t, onOpenFile: n, onContextMenu: r }) => {
|
|
94
|
+
let i = () => {
|
|
95
|
+
e.type === "folder" ? t(e.id) : n(e);
|
|
96
|
+
}, a = e.type === "folder" ? `Open folder ${e.name}` : `Open file ${e.name}`;
|
|
97
|
+
return /* @__PURE__ */ p(_, {
|
|
98
|
+
className: S.item,
|
|
99
|
+
onDoubleClick: i,
|
|
100
|
+
onContextMenu: (t) => r(t, e.id),
|
|
101
|
+
"aria-label": a,
|
|
102
|
+
role: "option",
|
|
103
|
+
children: [/* @__PURE__ */ f("div", {
|
|
104
|
+
className: S.icon,
|
|
105
|
+
children: /* @__PURE__ */ f(o, {
|
|
106
|
+
type: e.type,
|
|
107
|
+
name: e.name,
|
|
108
|
+
folderNode: e.type === "folder" ? e : void 0,
|
|
109
|
+
size: 32
|
|
110
|
+
})
|
|
111
|
+
}), /* @__PURE__ */ f(g, {
|
|
112
|
+
size: "xs",
|
|
113
|
+
className: S.name,
|
|
114
|
+
truncate: !0,
|
|
115
|
+
children: e.name
|
|
116
|
+
})]
|
|
117
|
+
});
|
|
118
|
+
}, w = ({ nodes: e, onNavigate: t, onOpenFile: i, onNodeContextMenu: a }) => {
|
|
119
|
+
let o = r((e) => e.filesSortMode);
|
|
120
|
+
if (e.length === 0) return /* @__PURE__ */ f("div", {
|
|
121
|
+
className: S.empty,
|
|
122
|
+
children: /* @__PURE__ */ f(g, {
|
|
123
|
+
size: "sm",
|
|
124
|
+
c: "dimmed",
|
|
125
|
+
children: "This folder is empty"
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
let s = n(e, o);
|
|
129
|
+
return /* @__PURE__ */ f("div", {
|
|
130
|
+
className: S.grid,
|
|
131
|
+
role: "listbox",
|
|
132
|
+
"aria-label": "Files",
|
|
133
|
+
children: s.map((e) => /* @__PURE__ */ f(C, {
|
|
134
|
+
node: e,
|
|
135
|
+
onNavigate: t,
|
|
136
|
+
onOpenFile: i,
|
|
137
|
+
onContextMenu: a
|
|
138
|
+
}, e.id))
|
|
139
|
+
});
|
|
140
|
+
}, T = {
|
|
141
|
+
root: "_root_13mxj_1",
|
|
142
|
+
breadcrumbBar: "_breadcrumbBar_13mxj_9",
|
|
143
|
+
breadcrumbSep: "_breadcrumbSep_13mxj_16",
|
|
144
|
+
body: "_body_13mxj_21",
|
|
145
|
+
sidebar: "_sidebar_13mxj_28",
|
|
146
|
+
content: "_content_13mxj_35"
|
|
147
|
+
}, E = /* @__PURE__ */ e({ default: () => D }), D = ({ window: e }) => {
|
|
148
|
+
let n = e?.contentData?.initialFolderId, i = r((e) => e.fsNodes), o = r((e) => e.openContextMenu), d = r((e) => e.setFilesCurrentFolderId), _ = t(), { notify: y } = v(), [b, S] = u(n ?? null), C = c((e) => {
|
|
149
|
+
S(e), d(e);
|
|
150
|
+
}, [d]);
|
|
151
|
+
l(() => {
|
|
152
|
+
d(n ?? null);
|
|
153
|
+
}, [n, d]);
|
|
154
|
+
let E = b === null ? i.filter((e) => e.parentId === null) : i.filter((e) => e.parentId === b), D = c((e) => {
|
|
155
|
+
e.preventDefault(), e.stopPropagation(), o(e.clientX, e.clientY, "files");
|
|
156
|
+
}, [o]), O = c((e, t) => {
|
|
157
|
+
e.preventDefault(), e.stopPropagation(), o(e.clientX, e.clientY, "files", t);
|
|
158
|
+
}, [o]), k = c((e) => {
|
|
159
|
+
try {
|
|
160
|
+
let t = a(e);
|
|
161
|
+
if (t) _(t.appId, { contentData: t.contentData });
|
|
162
|
+
else {
|
|
163
|
+
let t = e.mimeType || "unknown";
|
|
164
|
+
console.warn(`[FilesApp] Unsupported file type: ${e.name} (${t})`), y("Unsupported file type", `Cannot open "${e.name}". File type "${t}" is not supported.`, { fcIcon: "FcDeleteRow" });
|
|
165
|
+
}
|
|
166
|
+
} catch (t) {
|
|
167
|
+
console.error("[FilesApp] Error opening file:", t), y("Error opening file", `An unexpected error occurred while opening "${e.name}".`, { fcIcon: "FcHighPriority" });
|
|
168
|
+
}
|
|
169
|
+
}, [_, y]), A = s(b, i);
|
|
170
|
+
return /* @__PURE__ */ p("div", {
|
|
171
|
+
className: T.root,
|
|
172
|
+
onContextMenu: D,
|
|
173
|
+
children: [/* @__PURE__ */ f("div", {
|
|
174
|
+
className: T.breadcrumbBar,
|
|
175
|
+
children: /* @__PURE__ */ f(h, {
|
|
176
|
+
separator: "›",
|
|
177
|
+
classNames: { separator: T.breadcrumbSep },
|
|
178
|
+
children: A.map((e, t) => t === A.length - 1 ? /* @__PURE__ */ f(g, {
|
|
179
|
+
size: "xs",
|
|
180
|
+
fw: 500,
|
|
181
|
+
"data-testid": `breadcrumb-${e.name}`,
|
|
182
|
+
children: e.name
|
|
183
|
+
}, e.id ?? "root") : /* @__PURE__ */ f(m, {
|
|
184
|
+
size: "xs",
|
|
185
|
+
onClick: () => C(e.id),
|
|
186
|
+
"data-testid": `breadcrumb-${e.name}`,
|
|
187
|
+
children: e.name
|
|
188
|
+
}, e.id ?? "root"))
|
|
189
|
+
})
|
|
190
|
+
}), /* @__PURE__ */ p("div", {
|
|
191
|
+
className: T.body,
|
|
192
|
+
children: [/* @__PURE__ */ f("aside", {
|
|
193
|
+
className: T.sidebar,
|
|
194
|
+
children: /* @__PURE__ */ f(x, {
|
|
195
|
+
allNodes: i,
|
|
196
|
+
currentFolderId: b,
|
|
197
|
+
onNavigate: C
|
|
198
|
+
})
|
|
199
|
+
}), /* @__PURE__ */ f("main", {
|
|
200
|
+
className: T.content,
|
|
201
|
+
children: /* @__PURE__ */ f(w, {
|
|
202
|
+
nodes: E,
|
|
203
|
+
onNavigate: C,
|
|
204
|
+
onOpenFile: k,
|
|
205
|
+
onNodeContextMenu: O
|
|
206
|
+
})
|
|
207
|
+
})]
|
|
208
|
+
})]
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
//#endregion
|
|
212
|
+
export { E as n, v as r, D as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./desktopStore-C1jR6Fdb.cjs`),n=require(`./useResolvedUrl-Bb39DpVy.cjs`),r=require(`./FilePickerApp-By6-vbag.cjs`),i=require(`./AppEmptyState-CLc00OOG.cjs`),a=require(`./imageViewerStore-Dfylg59V.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`),c=require(`react-i18next`);var l={container:`_container_1btg4_1`,image:`_image_1btg4_12`,placeholder:`_placeholder_1btg4_19`},u=e.i({default:()=>f}),d=[...t.y,`image/*`],f=({window:e,notifyReady:t})=>{let{t:u}=(0,c.useTranslation)(`apps`),f=e,p=f?.id??``,m=f?.contentData?.src,[h,g]=(0,o.useState)(m),[_,v]=(0,o.useState)(!1),[y,b]=(0,o.useState)(null),x=(0,o.useRef)(null),S=a.r(e=>e.getDisplayZoom(p)),C=a.r(e=>e.getFitToWindow(p)),w=a.r(e=>e.updateCalculatedZoom),T=a.r(e=>e.reset),E=n.t(h);(0,o.useEffect)(()=>{T(p)},[p,T]),(0,o.useEffect)(()=>{if(!C||!y||!x.current)return;let e=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;w(p,y,{width:e,height:n})}});return e.observe(x.current),()=>e.disconnect()},[C,y,p,w]),(0,o.useEffect)(()=>{t?.({...f?.contentData??{},setPickerOpen:()=>v(!0)})},[f,t]);let D=(0,o.useCallback)(e=>{g(e.url??e.name),v(!1),T(p),b(null)},[p,T]),O=(0,o.useCallback)(e=>{let t=e.currentTarget;b({width:t.naturalWidth,height:t.naturalHeight})},[]),k=C?void 0:{transform:`scale(${S/100})`},A=E?(0,s.jsx)(`img`,{src:E,alt:E.split(`/`).pop()??`image`,className:l.image,style:k,onLoad:O}):(0,s.jsx)(i.t,{label:u(`imageViewer.noImage`)});return(0,s.jsxs)(`div`,{ref:x,className:l.container,"data-windowid":f?.id,children:[A,(0,s.jsx)(r.n,{opened:_,acceptedMimeTypes:d,onConfirm:D,onCancel:()=>v(!1)})]})};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t } from "./
|
|
3
|
-
import { t as n } from "./
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { r as a } from "./imageViewerStore-
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { y as t } from "./desktopStore-8cSZlj7s.js";
|
|
3
|
+
import { t as n } from "./useResolvedUrl-B6x4xy0x.js";
|
|
4
|
+
import { n as r } from "./FilePickerApp-ClHuhm6Z.js";
|
|
5
|
+
import { t as i } from "./AppEmptyState-Boej96TB.js";
|
|
6
|
+
import { r as a } from "./imageViewerStore-COrD02Zu.js";
|
|
7
7
|
import { useCallback as o, useEffect as s, useRef as c, useState as l } from "react";
|
|
8
8
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
9
|
-
|
|
9
|
+
import { useTranslation as f } from "react-i18next";
|
|
10
|
+
var p = {
|
|
10
11
|
container: "_container_1btg4_1",
|
|
11
12
|
image: "_image_1btg4_12",
|
|
12
13
|
placeholder: "_placeholder_1btg4_19"
|
|
13
|
-
},
|
|
14
|
-
let { t:
|
|
14
|
+
}, m = /* @__PURE__ */ e({ default: () => g }), h = [...t, "image/*"], g = ({ window: e, notifyReady: t }) => {
|
|
15
|
+
let { t: m } = f("apps"), g = e, _ = g?.id ?? "", v = g?.contentData?.src, [y, b] = l(v), [x, S] = l(!1), [C, w] = l(null), T = c(null), E = a((e) => e.getDisplayZoom(_)), D = a((e) => e.getFitToWindow(_)), O = a((e) => e.updateCalculatedZoom), k = a((e) => e.reset), A = n(y);
|
|
15
16
|
s(() => {
|
|
16
17
|
k(_);
|
|
17
18
|
}, [_, k]), s(() => {
|
|
@@ -32,11 +33,11 @@ var f = {
|
|
|
32
33
|
_,
|
|
33
34
|
O
|
|
34
35
|
]), s(() => {
|
|
35
|
-
|
|
36
|
+
t?.({
|
|
36
37
|
...g?.contentData ?? {},
|
|
37
38
|
setPickerOpen: () => S(!0)
|
|
38
39
|
});
|
|
39
|
-
}, [g,
|
|
40
|
+
}, [g, t]);
|
|
40
41
|
let j = o((e) => {
|
|
41
42
|
b(e.url ?? e.name), S(!1), k(_), w(null);
|
|
42
43
|
}, [_, k]), M = o((e) => {
|
|
@@ -48,21 +49,21 @@ var f = {
|
|
|
48
49
|
}, []), N = D ? void 0 : { transform: `scale(${E / 100})` }, P = A ? /* @__PURE__ */ u("img", {
|
|
49
50
|
src: A,
|
|
50
51
|
alt: A.split("/").pop() ?? "image",
|
|
51
|
-
className:
|
|
52
|
+
className: p.image,
|
|
52
53
|
style: N,
|
|
53
54
|
onLoad: M
|
|
54
|
-
}) : /* @__PURE__ */ u(
|
|
55
|
+
}) : /* @__PURE__ */ u(i, { label: m("imageViewer.noImage") });
|
|
55
56
|
return /* @__PURE__ */ d("div", {
|
|
56
57
|
ref: T,
|
|
57
|
-
className:
|
|
58
|
+
className: p.container,
|
|
58
59
|
"data-windowid": g?.id,
|
|
59
|
-
children: [P, /* @__PURE__ */ u(
|
|
60
|
+
children: [P, /* @__PURE__ */ u(r, {
|
|
60
61
|
opened: x,
|
|
61
|
-
acceptedMimeTypes:
|
|
62
|
+
acceptedMimeTypes: h,
|
|
62
63
|
onConfirm: j,
|
|
63
64
|
onCancel: () => S(!1)
|
|
64
65
|
})]
|
|
65
66
|
});
|
|
66
67
|
};
|
|
67
68
|
//#endregion
|
|
68
|
-
export { m as t };
|
|
69
|
+
export { m as n, g as t };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { t as e } from "./
|
|
2
|
-
import { t } from "./
|
|
3
|
-
import { n, r, t as i } from "./imageViewerStore-
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { t } from "./AppMenuBar-DmSfQRXU.js";
|
|
3
|
+
import { n, r, t as i } from "./imageViewerStore-COrD02Zu.js";
|
|
4
4
|
import { memo as a, useCallback as o, useMemo as s } from "react";
|
|
5
5
|
import { jsx as c } from "react/jsx-runtime";
|
|
6
|
+
import { useTranslation as l } from "react-i18next";
|
|
6
7
|
//#region src/components/Apps/ImageViewerApp/useImageViewerMenuBar.ts
|
|
7
|
-
var
|
|
8
|
+
var u = [
|
|
8
9
|
{
|
|
9
10
|
value: 25,
|
|
10
11
|
label: "25%"
|
|
@@ -25,8 +26,8 @@ var l = [
|
|
|
25
26
|
value: 200,
|
|
26
27
|
label: "200%"
|
|
27
28
|
}
|
|
28
|
-
],
|
|
29
|
-
let { windowId:
|
|
29
|
+
], d = (e) => {
|
|
30
|
+
let { windowId: t, onOpenPicker: a, onExit: c } = e, { t: d } = l("common"), { t: f } = l("apps"), p = i(t), m = n(t), h = r((e) => e.setUserZoom), g = r((e) => e.setFitToWindow), _ = o((e) => g(t, e), [t, g]), v = o((e) => h(t, e), [t, h]);
|
|
30
31
|
return s(() => {
|
|
31
32
|
let e = `${f("imageViewer.zoom")}: ${p}%`;
|
|
32
33
|
return [
|
|
@@ -38,14 +39,14 @@ var l = [
|
|
|
38
39
|
type: "item",
|
|
39
40
|
label: d("actions.open"),
|
|
40
41
|
icon: "FcOpenedFolder",
|
|
41
|
-
onClick:
|
|
42
|
+
onClick: a ?? (() => {})
|
|
42
43
|
},
|
|
43
44
|
{ type: "divider" },
|
|
44
45
|
{
|
|
45
46
|
type: "item",
|
|
46
47
|
label: d("actions.exit"),
|
|
47
48
|
icon: "FcLeft",
|
|
48
|
-
onClick:
|
|
49
|
+
onClick: c
|
|
49
50
|
}
|
|
50
51
|
]
|
|
51
52
|
},
|
|
@@ -62,25 +63,25 @@ var l = [
|
|
|
62
63
|
max: 200,
|
|
63
64
|
value: p,
|
|
64
65
|
onChange: v,
|
|
65
|
-
marks:
|
|
66
|
+
marks: u,
|
|
66
67
|
labelFormat: (e) => `${e}%`
|
|
67
68
|
}
|
|
68
69
|
];
|
|
69
70
|
}, [
|
|
70
71
|
d,
|
|
71
72
|
f,
|
|
73
|
+
a,
|
|
72
74
|
c,
|
|
73
|
-
u,
|
|
74
75
|
p,
|
|
75
76
|
m,
|
|
76
77
|
_,
|
|
77
78
|
v
|
|
78
79
|
]);
|
|
79
|
-
},
|
|
80
|
-
windowId:
|
|
80
|
+
}, f = /* @__PURE__ */ e({ ImageViewerMenuBar: () => p }), p = a(({ windowId: e, contentData: n, onExit: r }) => /* @__PURE__ */ c(t, { elements: d({
|
|
81
|
+
windowId: e,
|
|
81
82
|
onOpenPicker: n?.setPickerOpen,
|
|
82
83
|
onExit: r
|
|
83
84
|
}) }));
|
|
84
|
-
|
|
85
|
+
p.displayName = "ImageViewerMenuBar";
|
|
85
86
|
//#endregion
|
|
86
|
-
export {
|
|
87
|
+
export { f as n, p as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./AppMenuBar-CAlkNHjj.cjs`),n=require(`./imageViewerStore-Dfylg59V.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`),a=require(`react-i18next`);var o=[{value:25,label:`25%`},{value:50,label:`50%`},{value:75,label:`75%`},{value:100,label:`100%`},{value:200,label:`200%`}],s=e=>{let{windowId:t,onOpenPicker:i,onExit:s}=e,{t:c}=(0,a.useTranslation)(`common`),{t:l}=(0,a.useTranslation)(`apps`),u=n.t(t),d=n.n(t),f=n.r(e=>e.setUserZoom),p=n.r(e=>e.setFitToWindow),m=(0,r.useCallback)(e=>p(t,e),[t,p]),h=(0,r.useCallback)(e=>f(t,e),[t,f]);return(0,r.useMemo)(()=>{let e=`${l(`imageViewer.zoom`)}: ${u}%`;return[{type:`menu`,label:c(`menu.file`),items:[{type:`item`,label:c(`actions.open`),icon:`FcOpenedFolder`,onClick:i??(()=>{})},{type:`divider`},{type:`item`,label:c(`actions.exit`),icon:`FcLeft`,onClick:s}]},{type:`switch`,label:l(`imageViewer.fitToWindow`),checked:d,onChange:m},{type:`slider`,label:e,min:10,max:200,value:u,onChange:h,marks:o,labelFormat:e=>`${e}%`}]},[c,l,i,s,u,d,m,h])},c=e.i({ImageViewerMenuBar:()=>l}),l=(0,r.memo)(({windowId:e,contentData:n,onExit:r})=>(0,i.jsx)(t.t,{elements:s({windowId:e,onOpenPicker:n?.setPickerOpen,onExit:r})}));l.displayName=`ImageViewerMenuBar`,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./desktopStore-C1jR6Fdb.cjs`),n=require(`./AppIcon-C8vHUVcb.cjs`),r=require(`./useCloseInterceptor-CdX-09Ib.cjs`),i=require(`./VscIcon-BYb_Soyy.cjs`),a=require(`./menuEditStore-CYwtfD6H.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`),c=require(`@mantine/core`),l=require(`react-i18next`),u=require(`@dnd-kit/core`);var d={"launcher-folder-social-links":`socialLinks`,"launcher-folder-office":`office`,"launcher-folder-programming":`programming`,"launcher-folder-games":`games`,"launcher-folder-custom-apps":`customApps`};function f(e){let{t}=(0,l.useTranslation)(`apps`);if(!e.isPredefined)return e.name;let n=d[e.id];return n?t(`folders.${n}`,e.name):e.name}var p=(0,o.createContext)(null),m=({children:e,onDrop:t,onCancel:n})=>{let[r,i]=(0,o.useState)(null),[a,c]=(0,o.useState)(null),l=(0,o.useCallback)(e=>{let t=e.active.data.current;t&&i(t)},[]),d=(0,o.useCallback)(e=>{if(e.over){let t=e.over.data.current;t&&c(t)}else c(null)},[]),f=(0,o.useCallback)(e=>{let{active:r,over:a}=e;if(a&&r.data.current){let e=r.data.current,n=a.data.current;n.accepts.includes(e.type)&&t(e,n)}else !a&&n&&n();i(null),c(null)},[t,n]),m=(0,o.useMemo)(()=>({activeItem:r,overTarget:a}),[r,a]);return(0,s.jsx)(p.Provider,{value:m,children:(0,s.jsx)(u.DndContext,{onDragStart:l,onDragOver:d,onDragEnd:f,collisionDetection:u.pointerWithin,children:e})})};function h(e){let{item:t,disabled:n=!1}=e,{attributes:r,listeners:i,setNodeRef:a,transform:o,isDragging:s}=(0,u.useDraggable)({id:`${t.sourceId}-${t.id}`,data:t,disabled:n}),c={opacity:s?0:1,cursor:n?`default`:`grab`};return{attributes:r,listeners:i,setNodeRef:a,isDragging:s,transform:o?{x:o.x,y:o.y}:null,style:c}}function g(e){let{target:t,disabled:n=!1}=e,r=(0,o.useContext)(p),{setNodeRef:i,isOver:a}=(0,u.useDroppable)({id:t.id,data:t,disabled:n});return{setNodeRef:i,isOver:a,active:r?.activeItem??null}}function _(){let e=(0,o.useContext)(p);if(!e)throw Error(`useDragDropState must be used within a DragDropProvider`);return e}var v=({activatorEvent:e,transform:t,draggingNodeRect:n})=>{if(!e||!n)return t;let r=e,i=0,a=0;`touches`in r&&r.touches.length>0?(i=r.touches[0].clientX,a=r.touches[0].clientY):`clientX`in r&&(i=r.clientX,a=r.clientY);let o=i-n.left-n.width/2,s=a-n.top-n.height/2;return{...t,x:t.x+o,y:t.y+s}},y={dragOverlay:`_dragOverlay_myknw_1`},b=()=>{let{activeItem:e}=_();return e?(0,s.jsx)(u.DragOverlay,{dropAnimation:u.defaultDropAnimation,modifiers:[v],children:(0,s.jsxs)(c.Box,{className:y.dragOverlay,children:[(0,s.jsx)(n.t,{fcIcon:e.metadata?.fcIcon,iconUrl:e.metadata?.iconUrl,fallback:e.metadata?.icon,size:20}),(0,s.jsx)(c.Text,{size:`xs`,children:e.name})]})}):null},x={"launcher-folder":[`app`],"filesystem-folder":[`file`,`folder`],desktop:[`file`,`folder`,`app`],"available-apps":[`app`]},S={container:`_container_y9c6e_1`,content:`_content_y9c6e_7`,folderList:`_folderList_y9c6e_13`,folderCard:`_folderCard_y9c6e_19`,folderHeader:`_folderHeader_y9c6e_28`,appList:`_appList_y9c6e_40`,availableApps:`_availableApps_y9c6e_49`,appGrid:`_appGrid_y9c6e_58`,appItem:`_appItem_y9c6e_64`},C=e.i({default:()=>k}),w=({folder:e,isEditing:r,editingName:a,onEdit:o,onDelete:u,onRename:d,onSetEditingName:p,onRemoveApp:m})=>{let{t:h}=(0,l.useTranslation)(`menuedit`),v=f(e),{activeItem:y}=_(),{setNodeRef:b,isOver:C}=g({target:{type:`launcher-folder`,id:e.id,name:v,accepts:x[`launcher-folder`]}});return(0,s.jsxs)(c.Card,{ref:b,className:S.folderCard,shadow:`xs`,padding:`xs`,"data-is-over":C&&y?.type===`app`?`true`:void 0,children:[(0,s.jsxs)(c.Group,{justify:`space-between`,mb:4,children:[r?(0,s.jsx)(c.TextInput,{value:a,onChange:e=>p(e.target.value),onBlur:()=>d(e.id),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),d(e.id))},autoFocus:!0,size:`xs`,style:{flex:1}}):(0,s.jsxs)(c.Group,{gap:`xs`,children:[(0,s.jsx)(n.t,{fcIcon:e.fcIcon,size:16}),(0,s.jsx)(c.Text,{size:`sm`,fw:500,children:v}),e.isPredefined&&(0,s.jsxs)(c.Text,{size:`xs`,c:`dimmed`,children:[`(`,h(`predefined`),`)`]})]}),!e.isPredefined&&!r&&(0,s.jsxs)(c.Group,{gap:4,children:[(0,s.jsx)(c.ActionIcon,{variant:`subtle`,size:`xs`,onClick:()=>o(e.id),"aria-label":h(`rename`),children:(0,s.jsx)(i.t,{name:`VscEdit`,size:14})}),u&&(0,s.jsx)(c.ActionIcon,{variant:`subtle`,size:`xs`,color:`red`,onClick:()=>u(e.id),"aria-label":h(`delete`),children:(0,s.jsx)(i.t,{name:`VscTrash`,size:14})})]})]}),(0,s.jsx)(c.Box,{className:S.appList,children:e.appIds.map(n=>{let r=t.st.find(e=>e.id===n);return r?(0,s.jsx)(T,{app:r,sourceId:e.id,onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),m(n,e.id)}},n):null})})]})},T=({app:e,sourceId:t,onContextMenu:r})=>{let{attributes:i,listeners:a,setNodeRef:o,isDragging:l,style:u}=h({item:{type:`app`,id:e.id,name:e.name,sourceId:t,sourceType:`launcher-folder`,metadata:{fcIcon:e.fcIcon,iconUrl:e.iconUrl,icon:e.icon}}});return(0,s.jsxs)(c.UnstyledButton,{ref:o,className:S.appItem,style:{...u,opacity:l?.5:1},onContextMenu:r,...i,...a,children:[(0,s.jsx)(n.t,{fcIcon:e.fcIcon,iconUrl:e.iconUrl,fallback:e.icon,size:16}),(0,s.jsx)(c.Text,{size:`xs`,children:e.name})]})},E=({customFolderId:e})=>{let{t:n}=(0,l.useTranslation)(`menuedit`),{activeItem:r}=_(),{setNodeRef:i,isOver:a}=g({target:{type:`available-apps`,id:`available-apps`,name:`Available Apps`,accepts:x[`available-apps`]}}),o=new Set(t.o.getState().launcherFolders.flatMap(e=>e.appIds)),u=t.st.filter(e=>e.id!==`settings`&&e.id!==`menuedit`),d=t.o(e=>e.addAppToFolder);return(0,s.jsxs)(c.Box,{ref:i,className:S.availableApps,"data-is-over":a&&r?.type===`app`?`true`:void 0,children:[(0,s.jsx)(c.Text,{size:`xs`,c:`dimmed`,mb:8,children:n(`availableApps`)}),e===null&&(0,s.jsx)(c.Text,{size:`xs`,c:`orange`,mb:4,children:n(`canCreateNewFolder`)}),(0,s.jsx)(c.Box,{className:S.appGrid,children:u.filter(e=>!o.has(e.id)).map(t=>(0,s.jsx)(D,{app:t,targetFolderId:e,onAdd:d},t.id))})]})},D=({app:e,targetFolderId:t,onAdd:r})=>{let{attributes:i,listeners:a,setNodeRef:o,isDragging:l,style:u}=h({item:{type:`app`,id:e.id,name:e.name,sourceId:`available-apps`,sourceType:`available-apps`,metadata:{fcIcon:e.fcIcon,iconUrl:e.iconUrl,icon:e.icon}}}),d=()=>{t&&r(e.id,t)};return(0,s.jsxs)(c.UnstyledButton,{ref:o,className:S.appItem,style:{...u,opacity:l?0:1},onClick:d,disabled:!t,...i,...a,children:[(0,s.jsx)(n.t,{fcIcon:e.fcIcon,iconUrl:e.iconUrl,fallback:e.icon,size:16}),(0,s.jsx)(c.Text,{size:`xs`,children:e.name})]})},O=({window:e,notifyReady:n})=>{let{t:u}=(0,l.useTranslation)(`menuedit`),d=e?.id,f=t.o(e=>e.launcherFolders),p=t.o(e=>e.setLauncherFolders),m=t.o(e=>e.createLauncherFolder),h=t.o(e=>e.updateLauncherFolder),g=t.o(e=>e.deleteLauncherFolder),_=t.o(e=>e.removeAppFromFolder),[v,y]=(0,o.useState)(null),[b,x]=(0,o.useState)(``),C=(0,o.useRef)(!1);(0,o.useEffect)(()=>{d&&(C.current||(C.current=!0,a.n.getState().reset(d)))},[d]),(0,o.useEffect)(()=>{if(!d)return;let e=a.n.getState();if(e.getSnapshot(d)===null)e.takeSnapshot(d,f);else{let t=e.getSnapshot(d);if(t){let n=JSON.stringify(f)!==JSON.stringify(t);e.setIsDirty(d,n)}}},[d,f]);let T=(0,o.useCallback)(()=>{d&&a.n.getState().takeSnapshot(d,f)},[d,f]),D=(0,o.useCallback)(()=>{if(!d)return;let e=a.n.getState().getSnapshot(d);e&&p(e)},[d,p]);r.i({isDirtyGetter:(0,o.useCallback)(()=>{if(!d)return!1;let e=a.n.getState().getSnapshot(d);return JSON.stringify(f)!==JSON.stringify(e??[])},[d,f]),windowId:e?.id,onDiscard:D,onSave:T});let O=(0,o.useCallback)(()=>{let e=m({name:u(`newFolder`),fcIcon:`VscFolder`,order:f.length});y(e.id),x(e.name)},[m,f.length,u]);(0,o.useEffect)(()=>{n?.({createFolder:O,save:T,discard:D})},[O,T,D,n]);let k=(0,o.useCallback)(e=>{let t=f.find(t=>t.id===e);t&&(y(t.id),x(t.name))},[f]),A=(0,o.useCallback)(e=>{b.trim()&&h(e,{name:b.trim()}),y(null)},[b,h]),j=t.G(),M=f.filter(e=>e.isPredefined),N=f.filter(e=>!e.isPredefined),P=N.length>0?N[0].id:null;return(0,s.jsx)(c.Box,{className:S.container,"data-windowid":e?.id,"data-menuedit-container":!0,children:(0,s.jsxs)(c.Box,{className:S.content,children:[M.length>0&&(0,s.jsxs)(c.Box,{mb:`md`,children:[(0,s.jsx)(c.Text,{size:`xs`,c:`dimmed`,mb:8,children:u(`predefinedFolders`)}),(0,s.jsx)(c.Box,{className:S.folderList,children:M.map(e=>(0,s.jsx)(w,{folder:e,isEditing:!1,editingName:``,onEdit:()=>{},onRemoveApp:_,onRename:()=>{},onSetEditingName:()=>{}},e.id))})]}),j&&N.length>0&&(0,s.jsxs)(c.Box,{mb:`md`,children:[(0,s.jsx)(c.Text,{size:`xs`,c:`dimmed`,mb:8,children:u(`customFolders`)}),(0,s.jsx)(c.Box,{className:S.folderList,children:N.map(e=>(0,s.jsx)(w,{folder:e,isEditing:v===e.id,editingName:b,onEdit:k,onDelete:g,onRename:A,onSetEditingName:x,onRemoveApp:_},e.id))})]}),(0,s.jsxs)(c.Group,{justify:`space-between`,mb:`md`,children:[(0,s.jsx)(E,{customFolderId:P}),(0,s.jsx)(c.Text,{size:`xs`,c:`dimmed`,mt:`md`,children:u(`instructions`)}),j&&(0,s.jsx)(c.ActionIcon,{variant:`light`,onClick:O,"aria-label":u(`addFolder`),children:(0,s.jsx)(i.t,{name:`VscAdd`,size:16})})]})]})})},k=e=>{let n=t.o(e=>e.addAppToFolder),r=t.o(e=>e.removeAppFromFolder);return(0,s.jsxs)(m,{onDrop:(0,o.useCallback)((e,t)=>{if(e.type===`app`){if(t.type===`available-apps`){e.sourceType===`launcher-folder`&&r(e.id,e.sourceId);return}t.type===`launcher-folder`&&(e.sourceId!==t.id&&e.sourceType===`launcher-folder`&&r(e.id,e.sourceId),n(e.id,t.id))}},[n,r]),children:[(0,s.jsx)(O,{...e}),(0,s.jsx)(b,{})]})};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return k}});
|