@fde-desktop/fde-core 0.4.5 → 0.4.6

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 (60) hide show
  1. package/dist/{CreateItemApp-ZHCTSPQE.js → CreateItemApp-2EME6FYH.js} +2 -2
  2. package/dist/{CreateItemApp-NAZMXOPK.cjs → CreateItemApp-BSEISPUS.cjs} +3 -3
  3. package/dist/DeviceInfoApp-2MJFK32B.cjs +11 -0
  4. package/dist/DeviceInfoApp-KFYU3E43.js +5 -0
  5. package/dist/FilesApp-B7JR4PEP.cjs +14 -0
  6. package/dist/FilesApp-HYTIWN3O.js +8 -0
  7. package/dist/{ImageViewerApp-5UXNSW2O.js → ImageViewerApp-PLHNQFZ3.js} +4 -4
  8. package/dist/{ImageViewerApp-RRRRKSFN.cjs → ImageViewerApp-UIXSGW2X.cjs} +5 -5
  9. package/dist/{MenuEditApp-HUZRFEHE.js → MenuEditApp-4DB5UEWH.js} +4 -4
  10. package/dist/MenuEditApp-B2ZMG4ZY.cjs +15 -0
  11. package/dist/{NotesApp-4EVUQEFZ.cjs → NotesApp-BZYASRVJ.cjs} +5 -5
  12. package/dist/{NotesApp-37BV33C6.js → NotesApp-MW37NRSN.js} +4 -4
  13. package/dist/{PdfApp-5VBDNRMC.cjs → PdfApp-3ZINDODQ.cjs} +5 -5
  14. package/dist/{PdfApp-RH6MZZX5.js → PdfApp-ZSYAQP7L.js} +4 -4
  15. package/dist/{SettingsApp-5LDHEHYV.cjs → SettingsApp-2ZNO7AVY.cjs} +7 -7
  16. package/dist/{SettingsApp-X6764D7T.js → SettingsApp-ODZINK6T.js} +6 -6
  17. package/dist/UploaderApp-MTRIYWV4.cjs +16 -0
  18. package/dist/UploaderApp-V3WUDCG2.js +10 -0
  19. package/dist/{chunk-7SAFECOJ.js → chunk-25GVAXBU.js} +1 -1
  20. package/dist/{chunk-4MCFQPKY.js → chunk-2MYZWMDC.js} +1 -1
  21. package/dist/{chunk-AQL372JF.cjs → chunk-2NGIGLVP.cjs} +8 -8
  22. package/dist/{chunk-DMNF4CNN.cjs → chunk-2O3W6TLG.cjs} +4 -4
  23. package/dist/{chunk-6QOUYSEE.cjs → chunk-2UW42GAP.cjs} +16 -11
  24. package/dist/{chunk-AXDUVZVP.cjs → chunk-4KIMZJ3L.cjs} +6 -6
  25. package/dist/{chunk-SYGUWGWK.cjs → chunk-57ZTJB2W.cjs} +13 -13
  26. package/dist/{chunk-ZBGWYTCU.cjs → chunk-7FGL7HGS.cjs} +3 -3
  27. package/dist/{chunk-ICUE6T7J.cjs → chunk-7HQ6KUIO.cjs} +3 -3
  28. package/dist/{chunk-2FO445RM.cjs → chunk-AU4IENXY.cjs} +12 -12
  29. package/dist/{chunk-TDZ43MUX.cjs → chunk-BFMSPWLP.cjs} +9 -9
  30. package/dist/{chunk-4OH5RPSQ.cjs → chunk-DEVJOHGE.cjs} +3 -3
  31. package/dist/{chunk-EUQLZW6P.js → chunk-FNWS4ZKT.js} +1 -1
  32. package/dist/{chunk-IUOQPOEN.js → chunk-HIGKZ7UP.js} +5 -5
  33. package/dist/{chunk-3IICBLEA.js → chunk-HYJJVB7G.js} +3 -3
  34. package/dist/{chunk-J7L2S2GT.cjs → chunk-I5MJXFYW.cjs} +2 -2
  35. package/dist/{chunk-657BJOY5.cjs → chunk-JX65IKJZ.cjs} +17 -17
  36. package/dist/{chunk-PYTKNRGM.js → chunk-KGMXUBWQ.js} +11 -11
  37. package/dist/{chunk-BKXEA2BK.cjs → chunk-KI5FXBOM.cjs} +13 -13
  38. package/dist/{chunk-GCYD6T52.js → chunk-NULEEBCG.js} +1 -1
  39. package/dist/{chunk-AYFNYHMP.js → chunk-PDEZ7BIN.js} +3 -3
  40. package/dist/{chunk-ODXL6BR3.js → chunk-PVBI2WRF.js} +1 -1
  41. package/dist/{chunk-QB72BLCJ.cjs → chunk-QFGHYAD7.cjs} +10 -10
  42. package/dist/{chunk-CFWV2JMR.js → chunk-U5JKHQBS.js} +3 -3
  43. package/dist/{chunk-BLV47DX2.js → chunk-VFPEMNSX.js} +2 -2
  44. package/dist/{chunk-5PYK5ASL.js → chunk-VLWKVIYD.js} +2 -2
  45. package/dist/{chunk-NWMSWRUD.js → chunk-W2Y22XR6.js} +16 -12
  46. package/dist/{chunk-ZHB5Q2M6.js → chunk-WHZGUG7Q.js} +1 -1
  47. package/dist/{chunk-54PYEQLK.js → chunk-WSA5WSHN.js} +2 -2
  48. package/dist/{chunk-QHBBLML3.js → chunk-Y2WL2M7M.js} +3 -3
  49. package/dist/{chunk-BDO6B7MZ.cjs → chunk-YOHBUOZJ.cjs} +6 -6
  50. package/dist/{chunk-U4RYIS6Z.cjs → chunk-YSWU4OKP.cjs} +20 -20
  51. package/dist/index.cjs +381 -380
  52. package/dist/index.js +28 -27
  53. package/package.json +1 -1
  54. package/dist/DeviceInfoApp-R6YNVIGX.cjs +0 -11
  55. package/dist/DeviceInfoApp-YHCYAO6N.js +0 -5
  56. package/dist/FilesApp-AKCVRTXR.js +0 -8
  57. package/dist/FilesApp-RW3Y6ILO.cjs +0 -14
  58. package/dist/MenuEditApp-MCUHGTKQ.cjs +0 -15
  59. package/dist/UploaderApp-2WYRCUQV.js +0 -10
  60. package/dist/UploaderApp-EYFC36PM.cjs +0 -16
package/dist/index.cjs CHANGED
@@ -5,9 +5,9 @@ require('./chunk-2RQX7QBP.cjs');
5
5
  require('./chunk-5C6IQE42.cjs');
6
6
  require('./chunk-JEBKLIMU.cjs');
7
7
  var chunk43W6UDUZ_cjs = require('./chunk-43W6UDUZ.cjs');
8
- var chunkTDZ43MUX_cjs = require('./chunk-TDZ43MUX.cjs');
8
+ var chunkBFMSPWLP_cjs = require('./chunk-BFMSPWLP.cjs');
9
9
  var chunkXYSMVQQD_cjs = require('./chunk-XYSMVQQD.cjs');
10
- var chunkAQL372JF_cjs = require('./chunk-AQL372JF.cjs');
10
+ var chunk2NGIGLVP_cjs = require('./chunk-2NGIGLVP.cjs');
11
11
  var chunkQ3WA72BF_cjs = require('./chunk-Q3WA72BF.cjs');
12
12
  var chunkXVASHRCE_cjs = require('./chunk-XVASHRCE.cjs');
13
13
  var chunkPNDBLFJW_cjs = require('./chunk-PNDBLFJW.cjs');
@@ -15,30 +15,30 @@ var chunkRDIDAZ3S_cjs = require('./chunk-RDIDAZ3S.cjs');
15
15
  var chunkC6BEZNAM_cjs = require('./chunk-C6BEZNAM.cjs');
16
16
  var chunkCV5PUHAE_cjs = require('./chunk-CV5PUHAE.cjs');
17
17
  var chunkSBE4SZAN_cjs = require('./chunk-SBE4SZAN.cjs');
18
- var chunkBKXEA2BK_cjs = require('./chunk-BKXEA2BK.cjs');
19
- var chunk2FO445RM_cjs = require('./chunk-2FO445RM.cjs');
18
+ var chunkKI5FXBOM_cjs = require('./chunk-KI5FXBOM.cjs');
19
+ var chunkAU4IENXY_cjs = require('./chunk-AU4IENXY.cjs');
20
20
  require('./chunk-RQ6OZRUW.cjs');
21
- var chunkAXDUVZVP_cjs = require('./chunk-AXDUVZVP.cjs');
21
+ var chunk4KIMZJ3L_cjs = require('./chunk-4KIMZJ3L.cjs');
22
22
  require('./chunk-UIQCTAVM.cjs');
23
- var chunkDMNF4CNN_cjs = require('./chunk-DMNF4CNN.cjs');
23
+ var chunk2O3W6TLG_cjs = require('./chunk-2O3W6TLG.cjs');
24
24
  var chunkBQCD5RAF_cjs = require('./chunk-BQCD5RAF.cjs');
25
- var chunkU4RYIS6Z_cjs = require('./chunk-U4RYIS6Z.cjs');
25
+ var chunkYSWU4OKP_cjs = require('./chunk-YSWU4OKP.cjs');
26
26
  require('./chunk-FX2TPX3L.cjs');
27
27
  var chunkYSOLW4FS_cjs = require('./chunk-YSOLW4FS.cjs');
28
- var chunkQB72BLCJ_cjs = require('./chunk-QB72BLCJ.cjs');
29
- var chunk657BJOY5_cjs = require('./chunk-657BJOY5.cjs');
30
- var chunk4OH5RPSQ_cjs = require('./chunk-4OH5RPSQ.cjs');
31
- var chunkSYGUWGWK_cjs = require('./chunk-SYGUWGWK.cjs');
28
+ var chunkQFGHYAD7_cjs = require('./chunk-QFGHYAD7.cjs');
29
+ var chunkJX65IKJZ_cjs = require('./chunk-JX65IKJZ.cjs');
30
+ var chunkDEVJOHGE_cjs = require('./chunk-DEVJOHGE.cjs');
31
+ var chunk57ZTJB2W_cjs = require('./chunk-57ZTJB2W.cjs');
32
32
  var chunkLMJE6V4N_cjs = require('./chunk-LMJE6V4N.cjs');
33
33
  require('./chunk-YP2PLNOF.cjs');
34
- var chunkICUE6T7J_cjs = require('./chunk-ICUE6T7J.cjs');
34
+ var chunk7HQ6KUIO_cjs = require('./chunk-7HQ6KUIO.cjs');
35
35
  var chunkZX3EDZ5C_cjs = require('./chunk-ZX3EDZ5C.cjs');
36
- var chunkJ7L2S2GT_cjs = require('./chunk-J7L2S2GT.cjs');
37
- var chunkZBGWYTCU_cjs = require('./chunk-ZBGWYTCU.cjs');
36
+ var chunkI5MJXFYW_cjs = require('./chunk-I5MJXFYW.cjs');
37
+ var chunk7FGL7HGS_cjs = require('./chunk-7FGL7HGS.cjs');
38
38
  var chunk2PSTHGTD_cjs = require('./chunk-2PSTHGTD.cjs');
39
- var chunkBDO6B7MZ_cjs = require('./chunk-BDO6B7MZ.cjs');
39
+ var chunkYOHBUOZJ_cjs = require('./chunk-YOHBUOZJ.cjs');
40
40
  var chunkABIAPZ6S_cjs = require('./chunk-ABIAPZ6S.cjs');
41
- var chunk6QOUYSEE_cjs = require('./chunk-6QOUYSEE.cjs');
41
+ var chunk2UW42GAP_cjs = require('./chunk-2UW42GAP.cjs');
42
42
  var chunkZ5YGWL65_cjs = require('./chunk-Z5YGWL65.cjs');
43
43
  var chunk7Y7HB7FB_cjs = require('./chunk-7Y7HB7FB.cjs');
44
44
  var chunkE55VXNLK_cjs = require('./chunk-E55VXNLK.cjs');
@@ -238,8 +238,8 @@ function FdeProviderInner({
238
238
  error
239
239
  }) {
240
240
  const themeValue = useTheme();
241
- const setThemeMode = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.setThemeMode);
242
- const toggleTheme = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.toggleTheme);
241
+ const setThemeMode = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setThemeMode);
242
+ const toggleTheme = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.toggleTheme);
243
243
  const contextValue = react.useMemo(
244
244
  () => ({
245
245
  fs: isReady ? fileSystem2 : null,
@@ -264,8 +264,8 @@ function FdeProvider({
264
264
  }) {
265
265
  const [isReady, setIsReady] = react.useState(false);
266
266
  const [error, setError] = react.useState(null);
267
- const mode = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.theme.mode);
268
- const setThemeModeStore = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.setThemeMode);
267
+ const mode = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.mode);
268
+ const setThemeModeStore = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setThemeMode);
269
269
  react.useEffect(() => {
270
270
  if (initialMode) {
271
271
  setThemeModeStore(initialMode);
@@ -346,7 +346,7 @@ var useWindowButtonRegistry = () => {
346
346
  var Desktop_default = {};
347
347
  var DEFAULT_BACKGROUND = "linear-gradient(90deg, rgba(42, 123, 155, 1) 0%, rgba(87, 199, 133, 1) 50%, rgba(237, 221, 83, 1) 100%)";
348
348
  var Desktop = ({ children, onContextMenu, wallpaper, backgroundColor }) => {
349
- const setViewportSize = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.setViewportSize);
349
+ const setViewportSize = chunk2UW42GAP_cjs.useDesktopStore((state) => state.setViewportSize);
350
350
  const rootRef = react.useRef(null);
351
351
  react.useEffect(() => {
352
352
  const root = rootRef.current;
@@ -368,7 +368,7 @@ var Desktop = ({ children, onContextMenu, wallpaper, backgroundColor }) => {
368
368
  className: Desktop_default.root,
369
369
  "data-testid": "desktop-area",
370
370
  style: {
371
- "--taskbar-height": `${chunk6QOUYSEE_cjs.TASKBAR_HEIGHT}px`,
371
+ "--taskbar-height": `${chunk2UW42GAP_cjs.TASKBAR_HEIGHT}px`,
372
372
  backgroundColor: backgroundColor ?? "transparent",
373
373
  backgroundImage: backgroundStyle,
374
374
  backgroundSize: "cover",
@@ -442,16 +442,16 @@ var useTaskbarContextMenu = () => {
442
442
 
443
443
  // src/hooks/useAnimationDuration.ts
444
444
  var useAnimationDuration = () => {
445
- const animationDuration = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.animationDuration);
445
+ const animationDuration = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.animationDuration);
446
446
  return {
447
447
  duration: animationDuration,
448
- windowVariants: chunk657BJOY5_cjs.createWindowVariants(animationDuration),
449
- panelVariants: chunk657BJOY5_cjs.createPanelVariants(animationDuration),
450
- minimizeVariant: chunk657BJOY5_cjs.createMinimizeVariant(0.3),
451
- restoreVariant: chunk657BJOY5_cjs.createRestoreVariant(0.3),
452
- maximizeTransition: chunk657BJOY5_cjs.createMaximizeTransition(0.25),
453
- easeIn: chunk657BJOY5_cjs.createEaseIn(animationDuration),
454
- easeOut: chunk657BJOY5_cjs.createEaseOut(animationDuration)
448
+ windowVariants: chunkJX65IKJZ_cjs.createWindowVariants(animationDuration),
449
+ panelVariants: chunkJX65IKJZ_cjs.createPanelVariants(animationDuration),
450
+ minimizeVariant: chunkJX65IKJZ_cjs.createMinimizeVariant(0.3),
451
+ restoreVariant: chunkJX65IKJZ_cjs.createRestoreVariant(0.3),
452
+ maximizeTransition: chunkJX65IKJZ_cjs.createMaximizeTransition(0.25),
453
+ easeIn: chunkJX65IKJZ_cjs.createEaseIn(animationDuration),
454
+ easeOut: chunkJX65IKJZ_cjs.createEaseOut(animationDuration)
455
455
  };
456
456
  };
457
457
 
@@ -595,7 +595,7 @@ var CollapsibleSection = ({
595
595
  "aria-label": ariaLabel ?? title,
596
596
  children: [
597
597
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: CollapsibleSection_default.iconContainer, children: expandIcon }),
598
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: CollapsibleSection_default.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ7L2S2GT_cjs.AppIcon_default, { fcIcon, size: 16 }) }),
598
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: CollapsibleSection_default.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon, size: 16 }) }),
599
599
  /* @__PURE__ */ jsxRuntime.jsx(chunkE55VXNLK_cjs.Text, { size: "sm", fw: 500, className: CollapsibleSection_default.title, children: title })
600
600
  ]
601
601
  }
@@ -631,7 +631,7 @@ var AppButton = ({ app, onOpen }) => {
631
631
  "aria-label": translatedName,
632
632
  children: [
633
633
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: Launcher_default.appIcon, children: /* @__PURE__ */ jsxRuntime.jsx(
634
- chunkJ7L2S2GT_cjs.AppIcon_default,
634
+ chunkI5MJXFYW_cjs.AppIcon_default,
635
635
  {
636
636
  fcIcon: app.fcIcon,
637
637
  iconUrl: app.iconUrl,
@@ -646,7 +646,7 @@ var AppButton = ({ app, onOpen }) => {
646
646
  );
647
647
  };
648
648
  var FolderSection = ({ folder, isExpanded, apps, onToggle, onOpen }) => {
649
- const folderName = chunkU4RYIS6Z_cjs.useFolderName(folder);
649
+ const folderName = chunkYSWU4OKP_cjs.useFolderName(folder);
650
650
  return /* @__PURE__ */ jsxRuntime.jsx(
651
651
  CollapsibleSection_default2,
652
652
  {
@@ -663,15 +663,15 @@ var Launcher = ({ fcIcon = "FcDebian", onContextMenu }) => {
663
663
  const icon = chunk7Y7HB7FB_cjs.useFcIconElement(fcIcon, { size: 22, style: { display: "block" } });
664
664
  const [open, setOpen] = react.useState(false);
665
665
  const [searchQuery, setSearchQuery] = react.useState("");
666
- const openApp = chunk657BJOY5_cjs.useOpenApp();
667
- const taskbarTheme = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.theme.taskbar);
668
- const launcherFolders = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.launcherFolders);
669
- const customApps = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.customApps);
666
+ const openApp = chunkJX65IKJZ_cjs.useOpenApp();
667
+ const taskbarTheme = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.taskbar);
668
+ const launcherFolders = chunk2UW42GAP_cjs.useDesktopStore((state) => state.launcherFolders);
669
+ const customApps = chunk2UW42GAP_cjs.useDesktopStore((state) => state.customApps);
670
670
  const { panelVariants: panelVariants2 } = useAnimationDuration();
671
671
  const rootRef = react.useRef(null);
672
672
  const searchInputRef = react.useRef(null);
673
673
  const { expanded, toggle, reset } = useCollapsible(/* @__PURE__ */ new Set());
674
- const allApps = react.useMemo(() => [...chunk6QOUYSEE_cjs.APPS].sort((a, b) => a.name.localeCompare(b.name)), []);
674
+ const allApps = react.useMemo(() => [...chunk2UW42GAP_cjs.APPS].sort((a, b) => a.name.localeCompare(b.name)), []);
675
675
  const appsInFolders = react.useMemo(() => {
676
676
  return new Set(launcherFolders.flatMap((f) => f.appIds));
677
677
  }, [launcherFolders]);
@@ -720,8 +720,8 @@ var Launcher = ({ fcIcon = "FcDebian", onContextMenu }) => {
720
720
  toggle(id);
721
721
  }
722
722
  });
723
- if (filteredCustomApps.length > 0 && !expanded.has(chunk6QOUYSEE_cjs.CUSTOM_APPS_FOLDER_ID)) {
724
- toggle(chunk6QOUYSEE_cjs.CUSTOM_APPS_FOLDER_ID);
723
+ if (filteredCustomApps.length > 0 && !expanded.has(chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID)) {
724
+ toggle(chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID);
725
725
  }
726
726
  }
727
727
  }, [searchQuery, filteredFolders, filteredCustomApps, open, expanded, toggle]);
@@ -828,7 +828,7 @@ var Launcher = ({ fcIcon = "FcDebian", onContextMenu }) => {
828
828
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Launcher_default.scrollContainer, children: [
829
829
  filteredFolders.map((folder) => {
830
830
  const isExpanded = expanded.has(folder.id);
831
- if (folder.id === chunk6QOUYSEE_cjs.CUSTOM_APPS_FOLDER_ID) {
831
+ if (folder.id === chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID) {
832
832
  if (filteredCustomApps.length === 0) {
833
833
  return null;
834
834
  }
@@ -918,9 +918,9 @@ var TaskbarContextMenu = ({
918
918
  const RestoreRow = () => chunk7Y7HB7FB_cjs.useFcIconElement("FcUndo", ICON_PROPS);
919
919
  const SettingsRow = () => chunk7Y7HB7FB_cjs.useFcIconElement("FcSettings", ICON_PROPS);
920
920
  const FolderRow = () => chunk7Y7HB7FB_cjs.useFcIconElement("FcFolder", ICON_PROPS);
921
- const openApp = chunk657BJOY5_cjs.useOpenApp();
921
+ const openApp = chunkJX65IKJZ_cjs.useOpenApp();
922
922
  const appName = useAppName("menuedit");
923
- const openWindow = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.openWindow);
923
+ const openWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.openWindow);
924
924
  const isMinimized = targetWindowState === "minimized";
925
925
  const isMaximized = targetWindowState === "maximized";
926
926
  const { menuRef: windowMenuRef, menuHeight: windowMenuHeight } = useTaskbarHeight(windowMenuOpened);
@@ -962,7 +962,7 @@ var TaskbarContextMenu = ({
962
962
  const { height, ready } = activeMenuInfo;
963
963
  let adjustedY = y - MENU_MARGIN;
964
964
  if (ready && height > 0) {
965
- const nearBottom = y > window.innerHeight - chunk6QOUYSEE_cjs.TASKBAR_HEIGHT - height - MENU_MARGIN;
965
+ const nearBottom = y > window.innerHeight - chunk2UW42GAP_cjs.TASKBAR_HEIGHT - height - MENU_MARGIN;
966
966
  if (nearBottom) {
967
967
  adjustedY = y - height + MENU_MARGIN;
968
968
  }
@@ -2099,8 +2099,8 @@ var LANGUAGE_NAMES = {
2099
2099
  };
2100
2100
  var LanguageSelector = () => {
2101
2101
  const { t, i18n: i18n2 } = reactI18next.useTranslation("settings");
2102
- const language = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.language);
2103
- const setLanguage = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.setLanguage);
2102
+ const language = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.language);
2103
+ const setLanguage = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setLanguage);
2104
2104
  const [opened, setOpened] = react.useState(false);
2105
2105
  const handleSelect = react.useCallback(
2106
2106
  (lang) => {
@@ -2119,7 +2119,7 @@ var LanguageSelector = () => {
2119
2119
  onClick: () => setOpened((o) => !o),
2120
2120
  "aria-label": t("language.selectPlaceholder"),
2121
2121
  "aria-expanded": opened,
2122
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkSYGUWGWK_cjs.LanguageFlag_default, { lang: language, size: 16 })
2122
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunk57ZTJB2W_cjs.LanguageFlag_default, { lang: language, size: 16 })
2123
2123
  }
2124
2124
  ) }),
2125
2125
  /* @__PURE__ */ jsxRuntime.jsx(chunkE55VXNLK_cjs.Popover.Dropdown, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkE55VXNLK_cjs.Stack, { gap: "xs", children: SUPPORTED_LANGUAGES2.map((lang) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -2136,7 +2136,7 @@ var LanguageSelector = () => {
2136
2136
  cursor: "pointer"
2137
2137
  },
2138
2138
  children: /* @__PURE__ */ jsxRuntime.jsxs(chunkE55VXNLK_cjs.Group, { gap: "sm", children: [
2139
- /* @__PURE__ */ jsxRuntime.jsx(chunkSYGUWGWK_cjs.LanguageFlag_default, { lang, size: 20 }),
2139
+ /* @__PURE__ */ jsxRuntime.jsx(chunk57ZTJB2W_cjs.LanguageFlag_default, { lang, size: 20 }),
2140
2140
  /* @__PURE__ */ jsxRuntime.jsx(chunkE55VXNLK_cjs.Text, { size: "sm", fw: lang === language ? 600 : 400, children: LANGUAGE_NAMES[lang] })
2141
2141
  ] })
2142
2142
  },
@@ -2165,7 +2165,7 @@ var WindowButton = ({ win, onClick, onContextMenu }) => {
2165
2165
  "aria-label": win.title,
2166
2166
  children: [
2167
2167
  /* @__PURE__ */ jsxRuntime.jsx(
2168
- chunkJ7L2S2GT_cjs.AppIcon_default,
2168
+ chunkI5MJXFYW_cjs.AppIcon_default,
2169
2169
  {
2170
2170
  fcIcon: win.fcIcon,
2171
2171
  iconUrl: win.iconUrl,
@@ -2181,18 +2181,18 @@ var WindowButton = ({ win, onClick, onContextMenu }) => {
2181
2181
  };
2182
2182
  var Taskbar = ({ calendarSlot }) => {
2183
2183
  const { t } = reactI18next.useTranslation("notifications");
2184
- const taskbarBackground = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.theme.colors.taskbar);
2185
- const themeMode = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.theme.mode);
2186
- const toggleTheme = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.toggleTheme);
2187
- const launcherIcon = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.launcherIcon);
2188
- const notifications = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.notifications);
2189
- const removeNotification = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.removeNotification);
2190
- const windows = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.windows);
2191
- const restoreWindow = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.restoreWindow);
2192
- const minimizeWindow = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.minimizeWindow);
2193
- const focusWindow = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.focusWindow);
2194
- const closeWindow = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.closeWindow);
2195
- const maximizeWindow = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.maximizeWindow);
2184
+ const taskbarBackground = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.colors.taskbar);
2185
+ const themeMode = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.mode);
2186
+ const toggleTheme = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.toggleTheme);
2187
+ const launcherIcon = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.launcherIcon);
2188
+ const notifications = chunk2UW42GAP_cjs.useDesktopStore((state) => state.notifications);
2189
+ const removeNotification = chunk2UW42GAP_cjs.useDesktopStore((state) => state.removeNotification);
2190
+ const windows = chunk2UW42GAP_cjs.useDesktopStore((state) => state.windows);
2191
+ const restoreWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.restoreWindow);
2192
+ const minimizeWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.minimizeWindow);
2193
+ const focusWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.focusWindow);
2194
+ const closeWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.closeWindow);
2195
+ const maximizeWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.maximizeWindow);
2196
2196
  const time = useClock();
2197
2197
  const [calendarOpen, setCalendarOpen] = react.useState(false);
2198
2198
  const [notifOpen, setNotifOpen] = react.useState(false);
@@ -2261,14 +2261,14 @@ var Taskbar = ({ calendarSlot }) => {
2261
2261
  className: Taskbar_default.notifButton,
2262
2262
  onClick: () => setNotifOpen((o) => !o),
2263
2263
  "aria-label": notifOpen ? t("taskbar.hideNotifications") : t("taskbar.showNotifications"),
2264
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ7L2S2GT_cjs.AppIcon_default, { fcIcon: notifOpen ? "FcCollapse" : "FcExpand", size: 18 })
2264
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon: notifOpen ? "FcCollapse" : "FcExpand", size: 18 })
2265
2265
  }
2266
2266
  ) }),
2267
2267
  /* @__PURE__ */ jsxRuntime.jsx(chunkE55VXNLK_cjs.Popover.Dropdown, { style: { background: "transparent", border: "none", padding: 0 }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", flexDirection: "column", gap: 8, minWidth: 300 }, children: notifications.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkE55VXNLK_cjs.Notification, { title: t("empty.title"), onClose: () => setNotifOpen(false), children: t("empty.message") }) : notifications.map((n) => /* @__PURE__ */ jsxRuntime.jsx(
2268
2268
  chunkE55VXNLK_cjs.Notification,
2269
2269
  {
2270
2270
  withBorder: true,
2271
- icon: n.fcIcon ? /* @__PURE__ */ jsxRuntime.jsx(chunkJ7L2S2GT_cjs.AppIcon_default, { fcIcon: n.fcIcon, size: 18 }) : void 0,
2271
+ icon: n.fcIcon ? /* @__PURE__ */ jsxRuntime.jsx(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon: n.fcIcon, size: 18 }) : void 0,
2272
2272
  title: n.title,
2273
2273
  onClose: () => {
2274
2274
  removeNotification(n.id);
@@ -2490,9 +2490,9 @@ function broadcastToTabs(message) {
2490
2490
  bc?.postMessage(message);
2491
2491
  }
2492
2492
  async function syncAppsOnConnect() {
2493
- if (!chunk6QOUYSEE_cjs.useDesktopStore.getState().isFsReady) {
2493
+ if (!chunk2UW42GAP_cjs.useDesktopStore.getState().isFsReady) {
2494
2494
  await new Promise((resolve) => {
2495
- const unsub = chunk6QOUYSEE_cjs.useDesktopStore.subscribe((state) => {
2495
+ const unsub = chunk2UW42GAP_cjs.useDesktopStore.subscribe((state) => {
2496
2496
  if (state.isFsReady) {
2497
2497
  unsub();
2498
2498
  resolve();
@@ -2501,15 +2501,15 @@ async function syncAppsOnConnect() {
2501
2501
  });
2502
2502
  }
2503
2503
  try {
2504
- const currentApps = chunk6QOUYSEE_cjs.useCustomAppStore.getState().registeredApps;
2505
- const { added, removed } = await chunk6QOUYSEE_cjs.syncWithServer(currentApps);
2504
+ const currentApps = chunk2UW42GAP_cjs.useCustomAppStore.getState().registeredApps;
2505
+ const { added, removed } = await chunk2UW42GAP_cjs.syncWithServer(currentApps);
2506
2506
  for (const app of added) {
2507
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().registerApp(app);
2508
- chunk6QOUYSEE_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(app);
2507
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().registerApp(app);
2508
+ chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(app);
2509
2509
  }
2510
2510
  for (const appId of removed) {
2511
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().unregisterApp(appId);
2512
- chunk6QOUYSEE_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2511
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().unregisterApp(appId);
2512
+ chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2513
2513
  }
2514
2514
  } catch (err) {
2515
2515
  console.warn("[HMR] Failed to sync apps on connect:", err);
@@ -2546,14 +2546,14 @@ function connect(onMessage, onOffline, onOnline) {
2546
2546
  console.log("[HMR] Connected to server");
2547
2547
  initialRetryCount = 0;
2548
2548
  isConnecting = false;
2549
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().resetHmrRetry();
2550
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setHmrConnected(true);
2551
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setHmrError(null);
2552
- const wasOffline = chunk6QOUYSEE_cjs.useCustomAppStore.getState().devServerOffline;
2549
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().resetHmrRetry();
2550
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setHmrConnected(true);
2551
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setHmrError(null);
2552
+ const wasOffline = chunk2UW42GAP_cjs.useCustomAppStore.getState().devServerOffline;
2553
2553
  if (wasOffline) {
2554
2554
  onOnline();
2555
2555
  }
2556
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setDevServerOffline(false);
2556
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setDevServerOffline(false);
2557
2557
  cleanup();
2558
2558
  syncAppsOnConnect().catch((err) => {
2559
2559
  console.warn("[HMR] Failed to sync apps:", err);
@@ -2573,7 +2573,7 @@ function connect(onMessage, onOffline, onOnline) {
2573
2573
  console.log(`[HMR] Disconnected from server (code: ${event.code})`);
2574
2574
  ws = null;
2575
2575
  isConnecting = false;
2576
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setHmrConnected(false);
2576
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setHmrConnected(false);
2577
2577
  cleanup();
2578
2578
  reconnectTimeout = setTimeout(() => {
2579
2579
  connect(onMessage, onOffline, onOnline);
@@ -2582,7 +2582,7 @@ function connect(onMessage, onOffline, onOnline) {
2582
2582
  ws.onerror = (err) => {
2583
2583
  if (currentConnectionId !== connectionId) return;
2584
2584
  console.error("[HMR] WebSocket error:", err);
2585
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setHmrError("Connection failed");
2585
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setHmrError("Connection failed");
2586
2586
  };
2587
2587
  return ws;
2588
2588
  }
@@ -2599,7 +2599,7 @@ function disconnect() {
2599
2599
  }
2600
2600
  function useCustomAppHMR(callbacksArg) {
2601
2601
  const callbackRef = react.useRef(callbacksArg);
2602
- const { notify } = chunkBKXEA2BK_cjs.useNotifications();
2602
+ const { notify } = chunkKI5FXBOM_cjs.useNotifications();
2603
2603
  react.useEffect(() => {
2604
2604
  callbackRef.current = callbacksArg;
2605
2605
  }, [callbacksArg]);
@@ -2608,7 +2608,7 @@ function useCustomAppHMR(callbacksArg) {
2608
2608
  switch (message.type) {
2609
2609
  case "reload": {
2610
2610
  const appId = message.appId;
2611
- const appState = chunk6QOUYSEE_cjs.useCustomAppStore.getState().mountedApps[appId];
2611
+ const appState = chunk2UW42GAP_cjs.useCustomAppStore.getState().mountedApps[appId];
2612
2612
  if (appState?.instance && typeof appState.instance.unmount === "function") {
2613
2613
  try {
2614
2614
  appState.instance.unmount();
@@ -2620,7 +2620,7 @@ function useCustomAppHMR(callbacksArg) {
2620
2620
  if (container) {
2621
2621
  container.innerHTML = "";
2622
2622
  }
2623
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setAppLoading(appId);
2623
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppLoading(appId);
2624
2624
  callbacks.forEach((cb) => {
2625
2625
  try {
2626
2626
  cb.onReload(appId);
@@ -2633,11 +2633,11 @@ function useCustomAppHMR(callbacksArg) {
2633
2633
  case "app-registered": {
2634
2634
  if (message.manifest) {
2635
2635
  console.log(`[HMR] App registered: ${message.manifest.id}`);
2636
- const alreadyRegistered = !!chunk6QOUYSEE_cjs.useCustomAppStore.getState().registeredApps[message.manifest.id];
2637
- chunk6QOUYSEE_cjs.clearManifestCache();
2638
- chunk6QOUYSEE_cjs.updateManifestCache(message.manifest);
2639
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().registerApp(message.manifest);
2640
- chunk6QOUYSEE_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(message.manifest);
2636
+ const alreadyRegistered = !!chunk2UW42GAP_cjs.useCustomAppStore.getState().registeredApps[message.manifest.id];
2637
+ chunk2UW42GAP_cjs.clearManifestCache();
2638
+ chunk2UW42GAP_cjs.updateManifestCache(message.manifest);
2639
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().registerApp(message.manifest);
2640
+ chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(message.manifest);
2641
2641
  if (!alreadyRegistered) {
2642
2642
  notify("New App Available", `${message.manifest.name} is now available`, {
2643
2643
  fcIcon: "FcApproval"
@@ -2652,10 +2652,10 @@ function useCustomAppHMR(callbacksArg) {
2652
2652
  case "app-unregistered": {
2653
2653
  const appId = message.appId;
2654
2654
  console.log(`[HMR] App unregistered: ${appId}`);
2655
- chunk6QOUYSEE_cjs.clearManifestCache();
2656
- chunk6QOUYSEE_cjs.removeFromManifestCache(appId);
2657
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().unregisterApp(appId);
2658
- chunk6QOUYSEE_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2655
+ chunk2UW42GAP_cjs.clearManifestCache();
2656
+ chunk2UW42GAP_cjs.removeFromManifestCache(appId);
2657
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().unregisterApp(appId);
2658
+ chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2659
2659
  if (!message._fromBroadcast) {
2660
2660
  broadcastToTabs(message);
2661
2661
  }
@@ -2671,7 +2671,7 @@ function useCustomAppHMR(callbacksArg) {
2671
2671
  [notify]
2672
2672
  );
2673
2673
  const handleOffline = react.useCallback(() => {
2674
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setDevServerOffline(true);
2674
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setDevServerOffline(true);
2675
2675
  notify(
2676
2676
  "Development Server Offline",
2677
2677
  "HMR is disabled. Changes will not be applied until the server reconnects.",
@@ -2719,16 +2719,16 @@ function useCustomAppHMR(callbacksArg) {
2719
2719
  }, [handleMessage, handleOffline, handleOnline]);
2720
2720
  }
2721
2721
  function useCustomAppLifecycle() {
2722
- const { notify } = chunkBKXEA2BK_cjs.useNotifications();
2722
+ const { notify } = chunkKI5FXBOM_cjs.useNotifications();
2723
2723
  const handleAppRegistered = react.useCallback(
2724
2724
  (manifest) => {
2725
- chunk6QOUYSEE_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(manifest);
2725
+ chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(manifest);
2726
2726
  notify("New App Available", `${manifest.name} is now available`, { fcIcon: "FcApproval" });
2727
2727
  },
2728
2728
  [notify]
2729
2729
  );
2730
2730
  const handleAppUnregistered = react.useCallback((appId) => {
2731
- chunk6QOUYSEE_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2731
+ chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2732
2732
  }, []);
2733
2733
  useCustomAppHMR({
2734
2734
  onReload: () => {
@@ -2796,13 +2796,13 @@ var CustomAppLoader = ({ appId, windowIcon, notifyReady }) => {
2796
2796
  const loadAttemptRef = react.useRef(false);
2797
2797
  const progressIntervalRef = react.useRef(null);
2798
2798
  const readyTimeoutRef = react.useRef(null);
2799
- const devServerOffline = chunk6QOUYSEE_cjs.useCustomAppStore((state) => state.devServerOffline);
2800
- const appState = chunk6QOUYSEE_cjs.useCustomAppStore((state) => state.mountedApps[appId]);
2801
- const setAppLoading = chunk6QOUYSEE_cjs.useCustomAppStore((state) => state.setAppLoading);
2802
- const setAppLoaded = chunk6QOUYSEE_cjs.useCustomAppStore((state) => state.setAppLoaded);
2803
- const setAppError = chunk6QOUYSEE_cjs.useCustomAppStore((state) => state.setAppError);
2804
- const clearApp = chunk6QOUYSEE_cjs.useCustomAppStore((state) => state.clearApp);
2805
- const { notify } = chunkBKXEA2BK_cjs.useNotifications();
2799
+ const devServerOffline = chunk2UW42GAP_cjs.useCustomAppStore((state) => state.devServerOffline);
2800
+ const appState = chunk2UW42GAP_cjs.useCustomAppStore((state) => state.mountedApps[appId]);
2801
+ const setAppLoading = chunk2UW42GAP_cjs.useCustomAppStore((state) => state.setAppLoading);
2802
+ const setAppLoaded = chunk2UW42GAP_cjs.useCustomAppStore((state) => state.setAppLoaded);
2803
+ const setAppError = chunk2UW42GAP_cjs.useCustomAppStore((state) => state.setAppError);
2804
+ const clearApp = chunk2UW42GAP_cjs.useCustomAppStore((state) => state.clearApp);
2805
+ const { notify } = chunkKI5FXBOM_cjs.useNotifications();
2806
2806
  const runtimeIsDocker = chunkZ5YGWL65_cjs.isDocker();
2807
2807
  const clearReadyTimeout = react.useCallback(() => {
2808
2808
  if (readyTimeoutRef.current) {
@@ -2835,8 +2835,8 @@ var CustomAppLoader = ({ appId, windowIcon, notifyReady }) => {
2835
2835
  setProgress((p) => ({ ...p, state: "fetching", progress: 10 }));
2836
2836
  setAppLoading(appId);
2837
2837
  setLoadError(null);
2838
- chunk6QOUYSEE_cjs.clearManifestCache();
2839
- const manifest = await chunk6QOUYSEE_cjs.fetchAppManifest(true);
2838
+ chunk2UW42GAP_cjs.clearManifestCache();
2839
+ const manifest = await chunk2UW42GAP_cjs.fetchAppManifest(true);
2840
2840
  if (!manifest) {
2841
2841
  throw new Error("Apps manifest not found. Make sure apps are built.");
2842
2842
  }
@@ -2871,14 +2871,14 @@ var CustomAppLoader = ({ appId, windowIcon, notifyReady }) => {
2871
2871
  await new Promise((resolve) => {
2872
2872
  clearReadyTimeout();
2873
2873
  const checkReady = () => {
2874
- const currentState2 = chunk6QOUYSEE_cjs.useCustomAppStore.getState().mountedApps[appId];
2874
+ const currentState2 = chunk2UW42GAP_cjs.useCustomAppStore.getState().mountedApps[appId];
2875
2875
  if (currentState2?.isReady) {
2876
2876
  resolve();
2877
2877
  return;
2878
2878
  }
2879
2879
  readyTimeoutRef.current = setTimeout(checkReady, 500);
2880
2880
  };
2881
- const currentState = chunk6QOUYSEE_cjs.useCustomAppStore.getState().mountedApps[appId];
2881
+ const currentState = chunk2UW42GAP_cjs.useCustomAppStore.getState().mountedApps[appId];
2882
2882
  if (currentState?.isReady) {
2883
2883
  resolve();
2884
2884
  return;
@@ -2887,7 +2887,7 @@ var CustomAppLoader = ({ appId, windowIcon, notifyReady }) => {
2887
2887
  console.warn(`[${appId}] App did not call appReady() within ${READY_TIMEOUT}ms`);
2888
2888
  notify("Warning", `App ${appId} took too long to initialize`, { fcIcon: "FcInfo" });
2889
2889
  setTimedOut(true);
2890
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setAppReady(appId);
2890
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppReady(appId);
2891
2891
  resolve();
2892
2892
  }, READY_TIMEOUT);
2893
2893
  checkReady();
@@ -3023,13 +3023,13 @@ var AppReadyProvider = ({ children }) => {
3023
3023
  var Window_default = {};
3024
3024
  var WindowContentArea = ({ win, isFocused, focusWindow }) => {
3025
3025
  const { notifyReady, getContentData } = useAppReady();
3026
- const isCustomApp2 = chunk6QOUYSEE_cjs.useCustomAppStore((state) => win.content in state.registeredApps);
3027
- const appComponent = react.useMemo(() => chunk657BJOY5_cjs.getAppComponent(win.content), [win.content]);
3028
- const buildMenuBar = react.useMemo(() => chunk657BJOY5_cjs.getMenuBarBuilder(win.content), [win.content]);
3029
- const MenuBarComp = react.useMemo(() => chunk657BJOY5_cjs.getMenuBarComponent(win.content), [win.content]);
3030
- const lazy = react.useMemo(() => chunk657BJOY5_cjs.isLazyApp(win.content), [win.content]);
3031
- const appName = react.useMemo(() => chunk657BJOY5_cjs.getAppName(win.content), [win.content]);
3032
- const closeWindow = chunk6QOUYSEE_cjs.useDesktopStore((s) => s.closeWindow);
3026
+ const isCustomApp2 = chunk2UW42GAP_cjs.useCustomAppStore((state) => win.content in state.registeredApps);
3027
+ const appComponent = react.useMemo(() => chunkJX65IKJZ_cjs.getAppComponent(win.content), [win.content]);
3028
+ const buildMenuBar = react.useMemo(() => chunkJX65IKJZ_cjs.getMenuBarBuilder(win.content), [win.content]);
3029
+ const MenuBarComp = react.useMemo(() => chunkJX65IKJZ_cjs.getMenuBarComponent(win.content), [win.content]);
3030
+ const lazy = react.useMemo(() => chunkJX65IKJZ_cjs.isLazyApp(win.content), [win.content]);
3031
+ const appName = react.useMemo(() => chunkJX65IKJZ_cjs.getAppName(win.content), [win.content]);
3032
+ const closeWindow = chunk2UW42GAP_cjs.useDesktopStore((s) => s.closeWindow);
3033
3033
  const appContentData = getContentData() ?? win.contentData;
3034
3034
  const winWithContentData = { ...win, contentData: appContentData };
3035
3035
  const computedMenuBar = buildMenuBar ? buildMenuBar(winWithContentData) : void 0;
@@ -3061,7 +3061,7 @@ var WindowContentArea = ({ win, isFocused, focusWindow }) => {
3061
3061
  };
3062
3062
  var Window = ({ window: winProp }) => {
3063
3063
  const { t } = reactI18next.useTranslation("window");
3064
- const winFromStore = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.windows.find((w) => w.id === winProp.id));
3064
+ const winFromStore = chunk2UW42GAP_cjs.useDesktopStore((state) => state.windows.find((w) => w.id === winProp.id));
3065
3065
  const win = winFromStore ?? winProp;
3066
3066
  const translatedTitle = useAppName(win.content);
3067
3067
  const {
@@ -3072,7 +3072,7 @@ var Window = ({ window: winProp }) => {
3072
3072
  restoreWindow,
3073
3073
  moveWindow,
3074
3074
  resizeWindow
3075
- } = chunk6QOUYSEE_cjs.useDesktopStore(
3075
+ } = chunk2UW42GAP_cjs.useDesktopStore(
3076
3076
  shallow.useShallow((state) => ({
3077
3077
  focusWindow: state.focusWindow,
3078
3078
  closeWindow: state.closeWindow,
@@ -3083,14 +3083,14 @@ var Window = ({ window: winProp }) => {
3083
3083
  resizeWindow: state.resizeWindow
3084
3084
  }))
3085
3085
  );
3086
- const windowColor = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.theme.colors.window);
3087
- const isOpen = chunkZBGWYTCU_cjs.useCloseModalStore((state) => state.isOpen);
3088
- const modalWindowId = chunkZBGWYTCU_cjs.useCloseModalStore((state) => state.windowId);
3089
- const onSave = chunkZBGWYTCU_cjs.useCloseModalStore((state) => state.onSave);
3090
- const onDiscard = chunkZBGWYTCU_cjs.useCloseModalStore((state) => state.onDiscard);
3091
- const closeModal = chunkZBGWYTCU_cjs.useCloseModalStore((state) => state.closeModal);
3086
+ const windowColor = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.colors.window);
3087
+ const isOpen = chunk7FGL7HGS_cjs.useCloseModalStore((state) => state.isOpen);
3088
+ const modalWindowId = chunk7FGL7HGS_cjs.useCloseModalStore((state) => state.windowId);
3089
+ const onSave = chunk7FGL7HGS_cjs.useCloseModalStore((state) => state.onSave);
3090
+ const onDiscard = chunk7FGL7HGS_cjs.useCloseModalStore((state) => state.onDiscard);
3091
+ const closeModal = chunk7FGL7HGS_cjs.useCloseModalStore((state) => state.closeModal);
3092
3092
  const { windowVariants: animVariants, easeIn } = useAnimationDuration();
3093
- const isFocused = chunk6QOUYSEE_cjs.useDesktopStore((state) => {
3093
+ const isFocused = chunk2UW42GAP_cjs.useDesktopStore((state) => {
3094
3094
  const thisWindow = state.windows.find((w) => w.id === win.id);
3095
3095
  if (!thisWindow) return true;
3096
3096
  const isAlwaysOnTop = thisWindow.alwaysOnTop ?? false;
@@ -3114,7 +3114,7 @@ var Window = ({ window: winProp }) => {
3114
3114
  const winCenterY = win.y + win.height / 2;
3115
3115
  const btnCenterX = rect.left + rect.width / 2;
3116
3116
  const btnCenterY = rect.top + rect.height / 2;
3117
- controls.start(chunk657BJOY5_cjs.restoreVariant(btnCenterX - winCenterX, btnCenterY - winCenterY));
3117
+ controls.start(chunkJX65IKJZ_cjs.restoreVariant(btnCenterX - winCenterX, btnCenterY - winCenterY));
3118
3118
  } else {
3119
3119
  controls.set({ x: 0, y: 0, scale: 1, opacity: 1 });
3120
3120
  controls.start("visible");
@@ -3125,7 +3125,7 @@ var Window = ({ window: winProp }) => {
3125
3125
  const handleContextMenu = react.useCallback(
3126
3126
  (e) => {
3127
3127
  e.preventDefault();
3128
- const app = chunk6QOUYSEE_cjs.APPS.find((a) => a.id === win.content);
3128
+ const app = chunk2UW42GAP_cjs.APPS.find((a) => a.id === win.content);
3129
3129
  if (!app?.hasContextMenu) {
3130
3130
  e.stopPropagation();
3131
3131
  }
@@ -3144,14 +3144,14 @@ var Window = ({ window: winProp }) => {
3144
3144
  const winCenterY = win.y + win.height / 2;
3145
3145
  const btnCenterX = rect.left + rect.width / 2;
3146
3146
  const btnCenterY = rect.top + rect.height / 2;
3147
- await controls.start(chunk657BJOY5_cjs.minimizeVariant(btnCenterX - winCenterX, btnCenterY - winCenterY));
3147
+ await controls.start(chunkJX65IKJZ_cjs.minimizeVariant(btnCenterX - winCenterX, btnCenterY - winCenterY));
3148
3148
  } else {
3149
3149
  await controls.start({ ...animVariants.exit, transition: easeIn });
3150
3150
  }
3151
3151
  minimizeWindow(win.id);
3152
3152
  };
3153
3153
  const handleClose = async () => {
3154
- const closeInterceptor = chunkZBGWYTCU_cjs.getCloseInterceptor(win.id);
3154
+ const closeInterceptor = chunk7FGL7HGS_cjs.getCloseInterceptor(win.id);
3155
3155
  if (closeInterceptor && !closeInterceptor()) {
3156
3156
  return;
3157
3157
  }
@@ -3206,12 +3206,12 @@ var Window = ({ window: winProp }) => {
3206
3206
  animate: controls,
3207
3207
  exit: "exit",
3208
3208
  layout: true,
3209
- transition: chunk657BJOY5_cjs.maximizeTransition,
3209
+ transition: chunkJX65IKJZ_cjs.maximizeTransition,
3210
3210
  onContextMenu: handleContextMenu,
3211
3211
  children: [
3212
3212
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Window_default.titleBar, children: [
3213
3213
  /* @__PURE__ */ jsxRuntime.jsx(
3214
- chunkJ7L2S2GT_cjs.AppIcon_default,
3214
+ chunkI5MJXFYW_cjs.AppIcon_default,
3215
3215
  {
3216
3216
  fcIcon: win.fcIcon,
3217
3217
  iconUrl: win.iconUrl,
@@ -3283,7 +3283,7 @@ var Window_default2 = Window;
3283
3283
  // src/components/DesktopIcon/DesktopIcon.module.css
3284
3284
  var DesktopIcon_default = {};
3285
3285
  var DesktopIcon = ({ icon, onDoubleClick, onContextMenu }) => {
3286
- const app = chunk6QOUYSEE_cjs.APPS.find((a) => a.id === icon.appId);
3286
+ const app = chunk2UW42GAP_cjs.APPS.find((a) => a.id === icon.appId);
3287
3287
  const hasCustomIcon = icon.iconName !== void 0;
3288
3288
  const isFileIcon = icon.nodeId !== void 0;
3289
3289
  const isFolderIcon = icon.icon === "\u{1F4C1}";
@@ -3335,7 +3335,7 @@ var DesktopIcon = ({ icon, onDoubleClick, onContextMenu }) => {
3335
3335
  return /* @__PURE__ */ jsxRuntime.jsx(chunkABIAPZ6S_cjs.FileIcon_default, { type: "file", name: icon.name, size: 32 });
3336
3336
  }
3337
3337
  return /* @__PURE__ */ jsxRuntime.jsx(
3338
- chunkJ7L2S2GT_cjs.AppIcon_default,
3338
+ chunkI5MJXFYW_cjs.AppIcon_default,
3339
3339
  {
3340
3340
  fcIcon: app?.fcIcon,
3341
3341
  iconUrl: app?.iconUrl,
@@ -3394,21 +3394,21 @@ var CreateItemContextMenu = ({
3394
3394
  currentPath
3395
3395
  }) => {
3396
3396
  const { t } = reactI18next.useTranslation("contextMenu");
3397
- const contextMenu = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.contextMenu);
3398
- const closeContextMenu = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.closeContextMenu);
3399
- const copyToClipboard = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.copyToClipboard);
3400
- const cutToClipboard = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.cutToClipboard);
3401
- const clipboard = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.clipboard);
3402
- const clearClipboard = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.clearClipboard);
3403
- const fsNodes = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.fsNodes);
3404
- const addNotification = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.addNotification);
3405
- const openWindow = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.openWindow);
3406
- const desktopSortMode = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.desktopSortMode);
3407
- const filesSortMode = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.filesSortMode);
3408
- const setDesktopSortMode = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.setDesktopSortMode);
3409
- const setFilesSortMode = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.setFilesSortMode);
3410
- const setFsNodes = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.setFsNodes);
3411
- const syncIcons = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.syncIcons);
3397
+ const contextMenu = chunk2UW42GAP_cjs.useDesktopStore((state) => state.contextMenu);
3398
+ const closeContextMenu = chunk2UW42GAP_cjs.useDesktopStore((state) => state.closeContextMenu);
3399
+ const copyToClipboard = chunk2UW42GAP_cjs.useDesktopStore((state) => state.copyToClipboard);
3400
+ const cutToClipboard = chunk2UW42GAP_cjs.useDesktopStore((state) => state.cutToClipboard);
3401
+ const clipboard = chunk2UW42GAP_cjs.useDesktopStore((state) => state.clipboard);
3402
+ const clearClipboard = chunk2UW42GAP_cjs.useDesktopStore((state) => state.clearClipboard);
3403
+ const fsNodes = chunk2UW42GAP_cjs.useDesktopStore((state) => state.fsNodes);
3404
+ const addNotification = chunk2UW42GAP_cjs.useDesktopStore((state) => state.addNotification);
3405
+ const openWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.openWindow);
3406
+ const desktopSortMode = chunk2UW42GAP_cjs.useDesktopStore((state) => state.desktopSortMode);
3407
+ const filesSortMode = chunk2UW42GAP_cjs.useDesktopStore((state) => state.filesSortMode);
3408
+ const setDesktopSortMode = chunk2UW42GAP_cjs.useDesktopStore((state) => state.setDesktopSortMode);
3409
+ const setFilesSortMode = chunk2UW42GAP_cjs.useDesktopStore((state) => state.setFilesSortMode);
3410
+ const setFsNodes = chunk2UW42GAP_cjs.useDesktopStore((state) => state.setFsNodes);
3411
+ const syncIcons = chunk2UW42GAP_cjs.useDesktopStore((state) => state.syncIcons);
3412
3412
  const currentSortMode = owner === "files" ? filesSortMode : desktopSortMode;
3413
3413
  const handleSortMode = owner === "files" ? setFilesSortMode : setDesktopSortMode;
3414
3414
  const [replaceConfirm, setReplaceConfirm] = react.useState({
@@ -3421,7 +3421,7 @@ var CreateItemContextMenu = ({
3421
3421
  const targetNode = targetNodeId ? fsNodes.find((n) => n.id === targetNodeId) : void 0;
3422
3422
  const openCreateWindow = (mode) => {
3423
3423
  closeContextMenu();
3424
- const { x, y } = chunk657BJOY5_cjs.randomWindowPosition();
3424
+ const { x, y } = chunkJX65IKJZ_cjs.randomWindowPosition();
3425
3425
  openWindow({
3426
3426
  title: mode === "folder" ? t("createItem.folderTitle") : t("createItem.fileTitle"),
3427
3427
  content: "createItem",
@@ -3447,8 +3447,8 @@ var CreateItemContextMenu = ({
3447
3447
  const handleDeleteConfirm = async (confirm) => {
3448
3448
  if (confirm && deleteConfirm.nodeId) {
3449
3449
  try {
3450
- await chunk6QOUYSEE_cjs.fileSystem.delete(deleteConfirm.nodeId);
3451
- setFsNodes(chunk6QOUYSEE_cjs.fileSystem.getAllNodes());
3450
+ await chunk2UW42GAP_cjs.fileSystem.delete(deleteConfirm.nodeId);
3451
+ setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3452
3452
  syncIcons();
3453
3453
  } catch (error) {
3454
3454
  addNotification({
@@ -3471,18 +3471,18 @@ var CreateItemContextMenu = ({
3471
3471
  };
3472
3472
  const findExistingNode = (name, parentFolderId) => fsNodes.find((n) => n.name === name && n.parentId === parentFolderId);
3473
3473
  const copyFolderRecursive = async (sourceFolder, targetParentId) => {
3474
- const newFolder = await chunk6QOUYSEE_cjs.fileSystem.createFolder(
3474
+ const newFolder = await chunk2UW42GAP_cjs.fileSystem.createFolder(
3475
3475
  sourceFolder.name,
3476
3476
  targetParentId,
3477
3477
  sourceFolder.iconName,
3478
3478
  sourceFolder.iconColor
3479
3479
  );
3480
- const children = chunk6QOUYSEE_cjs.fileSystem.getChildren(sourceFolder.id);
3480
+ const children = chunk2UW42GAP_cjs.fileSystem.getChildren(sourceFolder.id);
3481
3481
  for (const child of children) {
3482
3482
  if (child.type === "folder") {
3483
3483
  await copyFolderRecursive(child, newFolder.id);
3484
3484
  } else {
3485
- await chunk6QOUYSEE_cjs.fileSystem.createFile(child.name, child.content || "", newFolder.id);
3485
+ await chunk2UW42GAP_cjs.fileSystem.createFile(child.name, child.content || "", newFolder.id);
3486
3486
  }
3487
3487
  }
3488
3488
  };
@@ -3490,8 +3490,8 @@ var CreateItemContextMenu = ({
3490
3490
  if (!parentId) return;
3491
3491
  if (clipboard.action === "cut") {
3492
3492
  try {
3493
- await chunk6QOUYSEE_cjs.fileSystem.move(node.id, parentId);
3494
- setFsNodes(chunk6QOUYSEE_cjs.fileSystem.getAllNodes());
3493
+ await chunk2UW42GAP_cjs.fileSystem.move(node.id, parentId);
3494
+ setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3495
3495
  syncIcons();
3496
3496
  } catch (error) {
3497
3497
  addNotification({
@@ -3506,22 +3506,22 @@ var CreateItemContextMenu = ({
3506
3506
  if (node.type === "folder") {
3507
3507
  const existingFolder = findExistingNode(node.name, parentId);
3508
3508
  if (existingFolder && replaceExisting) {
3509
- await chunk6QOUYSEE_cjs.fileSystem.delete(existingFolder.id);
3509
+ await chunk2UW42GAP_cjs.fileSystem.delete(existingFolder.id);
3510
3510
  }
3511
3511
  if (!existingFolder || replaceExisting) {
3512
3512
  await copyFolderRecursive(node, parentId);
3513
- setFsNodes(chunk6QOUYSEE_cjs.fileSystem.getAllNodes());
3513
+ setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3514
3514
  syncIcons();
3515
3515
  }
3516
3516
  } else if (node.type === "file") {
3517
3517
  const existingFile = findExistingNode(node.name, parentId);
3518
3518
  if (existingFile && replaceExisting) {
3519
- await chunk6QOUYSEE_cjs.fileSystem.delete(existingFile.id);
3519
+ await chunk2UW42GAP_cjs.fileSystem.delete(existingFile.id);
3520
3520
  }
3521
3521
  if (!existingFile || replaceExisting) {
3522
3522
  try {
3523
- await chunk6QOUYSEE_cjs.fileSystem.createFile(node.name, node.content || "", parentId);
3524
- setFsNodes(chunk6QOUYSEE_cjs.fileSystem.getAllNodes());
3523
+ await chunk2UW42GAP_cjs.fileSystem.createFile(node.name, node.content || "", parentId);
3524
+ setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3525
3525
  syncIcons();
3526
3526
  } catch (error) {
3527
3527
  addNotification({
@@ -3641,7 +3641,7 @@ var CreateItemContextMenu = ({
3641
3641
  sortOptions.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(
3642
3642
  chunkE55VXNLK_cjs.Menu.Item,
3643
3643
  {
3644
- leftSection: /* @__PURE__ */ jsxRuntime.jsx(chunkJ7L2S2GT_cjs.AppIcon_default, { fcIcon: opt.icon, size: 14 }),
3644
+ leftSection: /* @__PURE__ */ jsxRuntime.jsx(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon: opt.icon, size: 14 }),
3645
3645
  onClick: () => handleSort(opt.mode),
3646
3646
  style: currentSortMode === opt.mode ? { fontWeight: 600 } : void 0,
3647
3647
  "data-testid": currentSortMode === opt.mode ? "sort-option-selected" : void 0,
@@ -3730,7 +3730,7 @@ var CreateItemContextMenu_default = CreateItemContextMenu;
3730
3730
  // src/components/Shared/PortraitWarning/PortraitWarning.module.css
3731
3731
  var PortraitWarning_default = {};
3732
3732
  var PortraitWarning = ({ onDismiss }) => {
3733
- const { isPortrait, shouldShowWarning } = chunkTDZ43MUX_cjs.useDeviceDetection();
3733
+ const { isPortrait, shouldShowWarning } = chunkBFMSPWLP_cjs.useDeviceDetection();
3734
3734
  if (!shouldShowWarning || !isPortrait) {
3735
3735
  return null;
3736
3736
  }
@@ -3758,8 +3758,8 @@ var PortraitWarning = ({ onDismiss }) => {
3758
3758
  var PortraitWarning_default2 = PortraitWarning;
3759
3759
  var getSystemMode = () => typeof window !== "undefined" && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
3760
3760
  var useSystemTheme = () => {
3761
- const applySystemTheme = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.applySystemTheme);
3762
- const themeSetManually = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.themeSetManually);
3761
+ const applySystemTheme = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.applySystemTheme);
3762
+ const themeSetManually = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.themeSetManually);
3763
3763
  react.useEffect(() => {
3764
3764
  if (typeof window === "undefined") return;
3765
3765
  if (!themeSetManually) {
@@ -3767,7 +3767,7 @@ var useSystemTheme = () => {
3767
3767
  }
3768
3768
  const mq = window.matchMedia("(prefers-color-scheme: dark)");
3769
3769
  const handler = (e) => {
3770
- if (!chunkSYGUWGWK_cjs.useSettingsStore.getState().themeSetManually) {
3770
+ if (!chunk57ZTJB2W_cjs.useSettingsStore.getState().themeSetManually) {
3771
3771
  applySystemTheme(e.matches ? "dark" : "light");
3772
3772
  }
3773
3773
  };
@@ -3806,10 +3806,10 @@ var fetchLatestRelease = async () => {
3806
3806
  var VERSION_STORAGE_KEY = "fde-desktop:version";
3807
3807
  var appUpdateCheckStarted = false;
3808
3808
  var useAppUpdate = () => {
3809
- const mergeSeed = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.mergeSeed);
3810
- const mergeDesktopApps = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.mergeDesktopApps);
3811
- const reorderDesktopApps = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.reorderDesktopApps);
3812
- const { notify } = chunkBKXEA2BK_cjs.useNotifications();
3809
+ const mergeSeed = chunk2UW42GAP_cjs.useDesktopStore((state) => state.mergeSeed);
3810
+ const mergeDesktopApps = chunk2UW42GAP_cjs.useDesktopStore((state) => state.mergeDesktopApps);
3811
+ const reorderDesktopApps = chunk2UW42GAP_cjs.useDesktopStore((state) => state.reorderDesktopApps);
3812
+ const { notify } = chunkKI5FXBOM_cjs.useNotifications();
3813
3813
  react.useEffect(() => {
3814
3814
  if (typeof window === "undefined") return;
3815
3815
  if (appUpdateCheckStarted) return;
@@ -3838,12 +3838,13 @@ var checkWebUpdate = async (mergeSeed, mergeDesktopApps, reorderDesktopApps, not
3838
3838
  try {
3839
3839
  const stored = localStorage.getItem(VERSION_STORAGE_KEY);
3840
3840
  const storedVersion = stored ? JSON.parse(stored) : null;
3841
- const fetched = await fetch(chunk6QOUYSEE_cjs.resolveUrl("version.json")).then((r) => r.json());
3841
+ const fetched = await fetch(chunk2UW42GAP_cjs.resolveUrl("version.json")).then((r) => r.json());
3842
3842
  if (storedVersion?.sha === fetched.sha) return;
3843
- const manifest = await fetch(chunk6QOUYSEE_cjs.resolveUrl("fs-manifest.json")).then((r) => r.json());
3843
+ const manifest = await chunk2UW42GAP_cjs.fetchFsManifest();
3844
+ if (!manifest) return;
3844
3845
  mergeSeed(manifest);
3845
- mergeDesktopApps(chunk6QOUYSEE_cjs.DESKTOP_APPS_ORDER);
3846
- reorderDesktopApps(chunk6QOUYSEE_cjs.DESKTOP_APPS_ORDER);
3846
+ mergeDesktopApps(chunk2UW42GAP_cjs.DESKTOP_APPS_ORDER);
3847
+ reorderDesktopApps(chunk2UW42GAP_cjs.DESKTOP_APPS_ORDER);
3847
3848
  localStorage.setItem(VERSION_STORAGE_KEY, JSON.stringify(fetched));
3848
3849
  notify("New version available!", "Close this notification to install it.", {
3849
3850
  fcIcon: "FcEngineering",
@@ -3858,7 +3859,7 @@ var buildGoogleFontsUrl = (fontName) => {
3858
3859
  return `https://fonts.googleapis.com/css2?family=${familyParam}&display=swap`;
3859
3860
  };
3860
3861
  var injectFontLink2 = (font) => {
3861
- const href = chunkSYGUWGWK_cjs.GOOGLE_FONTS_HREF[font];
3862
+ const href = chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[font];
3862
3863
  if (!href) return;
3863
3864
  const existing = document.head.querySelector(`link[data-font="${font}"]`);
3864
3865
  if (existing) return;
@@ -3869,33 +3870,33 @@ var injectFontLink2 = (font) => {
3869
3870
  document.head.appendChild(link);
3870
3871
  };
3871
3872
  var useApplyFont = () => {
3872
- const font = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.font);
3873
- const fontSize = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.fontSize);
3874
- const downloadedFonts = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.downloadedFonts);
3873
+ const font = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.font);
3874
+ const fontSize = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.fontSize);
3875
+ const downloadedFonts = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.downloadedFonts);
3875
3876
  react.useEffect(() => {
3876
3877
  downloadedFonts.forEach((fontName) => {
3877
- if (!chunkSYGUWGWK_cjs.GOOGLE_FONTS_HREF[fontName]) {
3878
- chunkSYGUWGWK_cjs.GOOGLE_FONTS_HREF[fontName] = buildGoogleFontsUrl(fontName);
3878
+ if (!chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[fontName]) {
3879
+ chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[fontName] = buildGoogleFontsUrl(fontName);
3879
3880
  }
3880
3881
  injectFontLink2(fontName);
3881
3882
  });
3882
3883
  }, [downloadedFonts]);
3883
3884
  react.useEffect(() => {
3884
- const presetFonts = chunkSYGUWGWK_cjs.AVAILABLE_FONTS.map((f) => f.value);
3885
+ const presetFonts = chunk57ZTJB2W_cjs.AVAILABLE_FONTS.map((f) => f.value);
3885
3886
  const isPresetFont = presetFonts.includes(font);
3886
3887
  if (!isPresetFont && downloadedFonts.includes(font)) {
3887
- if (!chunkSYGUWGWK_cjs.GOOGLE_FONTS_HREF[font]) {
3888
- chunkSYGUWGWK_cjs.GOOGLE_FONTS_HREF[font] = buildGoogleFontsUrl(font);
3888
+ if (!chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[font]) {
3889
+ chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[font] = buildGoogleFontsUrl(font);
3889
3890
  }
3890
3891
  injectFontLink2(font);
3891
3892
  }
3892
3893
  let stack;
3893
3894
  if (isPresetFont) {
3894
- stack = chunkSYGUWGWK_cjs.FONT_STACKS[font] ?? chunkSYGUWGWK_cjs.FONT_STACKS["system-ui"];
3895
+ stack = chunk57ZTJB2W_cjs.FONT_STACKS[font] ?? chunk57ZTJB2W_cjs.FONT_STACKS["system-ui"];
3895
3896
  } else if (downloadedFonts.includes(font)) {
3896
3897
  stack = `"${font}", sans-serif`;
3897
3898
  } else {
3898
- stack = chunkSYGUWGWK_cjs.FONT_STACKS["system-ui"];
3899
+ stack = chunk57ZTJB2W_cjs.FONT_STACKS["system-ui"];
3899
3900
  }
3900
3901
  document.documentElement.style.setProperty("font-family", stack);
3901
3902
  document.documentElement.style.setProperty("--mantine-font-family", stack);
@@ -3904,7 +3905,7 @@ var useApplyFont = () => {
3904
3905
  };
3905
3906
  function useLanguageSync() {
3906
3907
  const { i18n: i18n2 } = reactI18next.useTranslation();
3907
- const language = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.language);
3908
+ const language = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.language);
3908
3909
  react.useEffect(() => {
3909
3910
  if (language && i18n2.language !== language) {
3910
3911
  i18n2.changeLanguage(language);
@@ -4116,7 +4117,7 @@ function prefetchApps(apps) {
4116
4117
  var apiInstance = null;
4117
4118
  var subscribers = /* @__PURE__ */ new Map();
4118
4119
  function getActiveWindowId() {
4119
- const { windows } = chunk6QOUYSEE_cjs.useDesktopStore.getState();
4120
+ const { windows } = chunk2UW42GAP_cjs.useDesktopStore.getState();
4120
4121
  const visibleWindows = windows.filter(
4121
4122
  (w) => w.isOpen && w.state !== "minimized"
4122
4123
  );
@@ -4148,8 +4149,8 @@ function initializeFdeApi() {
4148
4149
  }
4149
4150
  apiInstance = {
4150
4151
  openApp: (appId, options) => {
4151
- const openWindow = chunk6QOUYSEE_cjs.useDesktopStore.getState().openWindow;
4152
- const app = chunk6QOUYSEE_cjs.APPS.find((a) => a.id === appId);
4152
+ const openWindow = chunk2UW42GAP_cjs.useDesktopStore.getState().openWindow;
4153
+ const app = chunk2UW42GAP_cjs.APPS.find((a) => a.id === appId);
4153
4154
  const windowOptions = {
4154
4155
  content: appId,
4155
4156
  title: options?.title ?? app?.name ?? appId,
@@ -4168,45 +4169,45 @@ function initializeFdeApi() {
4168
4169
  contentData: options?.contentData
4169
4170
  };
4170
4171
  openWindow(windowOptions);
4171
- const windowId = chunk6QOUYSEE_cjs.useDesktopStore.getState().windows[chunk6QOUYSEE_cjs.useDesktopStore.getState().windows.length - 1]?.id ?? "";
4172
+ const windowId = chunk2UW42GAP_cjs.useDesktopStore.getState().windows[chunk2UW42GAP_cjs.useDesktopStore.getState().windows.length - 1]?.id ?? "";
4172
4173
  emitEvent("window-opened", { windowId, content: appId });
4173
4174
  },
4174
4175
  closeWindow: (windowId) => {
4175
4176
  const id = windowId ?? getActiveWindowId();
4176
4177
  if (id) {
4177
- chunk6QOUYSEE_cjs.useDesktopStore.getState().closeWindow(id);
4178
+ chunk2UW42GAP_cjs.useDesktopStore.getState().closeWindow(id);
4178
4179
  emitEvent("window-closed", { windowId: id });
4179
4180
  }
4180
4181
  },
4181
4182
  minimizeWindow: (windowId) => {
4182
4183
  const id = windowId ?? getActiveWindowId();
4183
4184
  if (id) {
4184
- chunk6QOUYSEE_cjs.useDesktopStore.getState().minimizeWindow(id);
4185
+ chunk2UW42GAP_cjs.useDesktopStore.getState().minimizeWindow(id);
4185
4186
  emitEvent("window-minimized", { windowId: id });
4186
4187
  }
4187
4188
  },
4188
4189
  maximizeWindow: (windowId) => {
4189
4190
  const id = windowId ?? getActiveWindowId();
4190
4191
  if (id) {
4191
- chunk6QOUYSEE_cjs.useDesktopStore.getState().maximizeWindow(id);
4192
+ chunk2UW42GAP_cjs.useDesktopStore.getState().maximizeWindow(id);
4192
4193
  emitEvent("window-maximized", { windowId: id });
4193
4194
  }
4194
4195
  },
4195
4196
  restoreWindow: (windowId) => {
4196
4197
  const id = windowId ?? getActiveWindowId();
4197
4198
  if (id) {
4198
- chunk6QOUYSEE_cjs.useDesktopStore.getState().restoreWindow(id);
4199
+ chunk2UW42GAP_cjs.useDesktopStore.getState().restoreWindow(id);
4199
4200
  }
4200
4201
  },
4201
4202
  focusWindow: (windowId) => {
4202
4203
  const id = windowId ?? getActiveWindowId();
4203
4204
  if (id) {
4204
- chunk6QOUYSEE_cjs.useDesktopStore.getState().focusWindow(id);
4205
+ chunk2UW42GAP_cjs.useDesktopStore.getState().focusWindow(id);
4205
4206
  emitEvent("window-focused", { windowId: id });
4206
4207
  }
4207
4208
  },
4208
4209
  openFile: (path, _appId) => {
4209
- chunk6QOUYSEE_cjs.useDesktopStore.getState().openWindow({
4210
+ chunk2UW42GAP_cjs.useDesktopStore.getState().openWindow({
4210
4211
  content: "files",
4211
4212
  contentData: { initialPath: path },
4212
4213
  title: "Files",
@@ -4232,18 +4233,18 @@ function initializeFdeApi() {
4232
4233
  return null;
4233
4234
  },
4234
4235
  getTheme: () => {
4235
- return chunkSYGUWGWK_cjs.useSettingsStore.getState().theme;
4236
+ return chunk57ZTJB2W_cjs.useSettingsStore.getState().theme;
4236
4237
  },
4237
4238
  setTheme: (theme) => {
4238
4239
  const customColors = theme;
4239
4240
  if (customColors.taskbar && customColors.window && customColors.accent) {
4240
- chunkSYGUWGWK_cjs.useSettingsStore.getState().setCustomThemeColors(customColors);
4241
+ chunk57ZTJB2W_cjs.useSettingsStore.getState().setCustomThemeColors(customColors);
4241
4242
  emitEvent("theme-changed", { theme: JSON.stringify(theme) });
4242
4243
  }
4243
4244
  },
4244
4245
  showNotification: (options) => {
4245
- const id = chunk6QOUYSEE_cjs.generateUUID();
4246
- chunk6QOUYSEE_cjs.useDesktopStore.getState().addNotification({
4246
+ const id = chunk2UW42GAP_cjs.generateUUID();
4247
+ chunk2UW42GAP_cjs.useDesktopStore.getState().addNotification({
4247
4248
  id,
4248
4249
  title: options.title,
4249
4250
  message: options.message,
@@ -4253,18 +4254,18 @@ function initializeFdeApi() {
4253
4254
  return id;
4254
4255
  },
4255
4256
  hideNotification: (notificationId) => {
4256
- chunk6QOUYSEE_cjs.useDesktopStore.getState().removeNotification(notificationId);
4257
+ chunk2UW42GAP_cjs.useDesktopStore.getState().removeNotification(notificationId);
4257
4258
  },
4258
4259
  getWindows: () => {
4259
- return chunk6QOUYSEE_cjs.useDesktopStore.getState().windows;
4260
+ return chunk2UW42GAP_cjs.useDesktopStore.getState().windows;
4260
4261
  },
4261
4262
  getActiveWindow: () => {
4262
- const windows = chunk6QOUYSEE_cjs.useDesktopStore.getState().windows;
4263
+ const windows = chunk2UW42GAP_cjs.useDesktopStore.getState().windows;
4263
4264
  const activeId = getActiveWindowId();
4264
4265
  return activeId ? windows.find((w) => w.id === activeId) ?? null : null;
4265
4266
  },
4266
4267
  getWindowById: (windowId) => {
4267
- return chunk6QOUYSEE_cjs.useDesktopStore.getState().windows.find((w) => w.id === windowId) ?? null;
4268
+ return chunk2UW42GAP_cjs.useDesktopStore.getState().windows.find((w) => w.id === windowId) ?? null;
4268
4269
  },
4269
4270
  on: (event, callback) => {
4270
4271
  if (!subscribers.has(event)) {
@@ -4278,12 +4279,12 @@ function initializeFdeApi() {
4278
4279
  off: (event, callback) => {
4279
4280
  subscribers.get(event)?.delete(callback);
4280
4281
  },
4281
- fs: chunk6QOUYSEE_cjs.fileSystem,
4282
+ fs: chunk2UW42GAP_cjs.fileSystem,
4282
4283
  appReady: (appId) => {
4283
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setAppReady(appId);
4284
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppReady(appId);
4284
4285
  },
4285
4286
  registerAppInstance: (appId, instance) => {
4286
- chunk6QOUYSEE_cjs.useCustomAppStore.getState().setAppReady(appId, instance);
4287
+ chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppReady(appId, instance);
4287
4288
  }
4288
4289
  };
4289
4290
  window.__FDE_API__ = apiInstance;
@@ -4304,19 +4305,19 @@ function FdeDesktopContent({
4304
4305
  initialApp,
4305
4306
  prefetchLoaders
4306
4307
  }) {
4307
- const wallpaper = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.wallpaper);
4308
- const resolvedWallpaper = chunkICUE6T7J_cjs.useResolvedUrl(wallpaper ?? void 0);
4309
- const windows = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.windows);
4310
- const icons = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.icons);
4311
- const initFs = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.initFs);
4312
- const isFsReady = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.isFsReady);
4313
- const fsNodes = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.fsNodes);
4314
- const openContextMenu = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.openContextMenu);
4315
- const filesCurrentFolderId = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.filesCurrentFolderId);
4316
- const desktopFolderId = chunk6QOUYSEE_cjs.useDesktopStore((state) => state.desktopFolderId);
4317
- const openApp = chunk657BJOY5_cjs.useOpenApp();
4318
- const { shouldShowWarning } = chunkTDZ43MUX_cjs.useDeviceDetection();
4319
- const { notify } = chunkBKXEA2BK_cjs.useNotifications();
4308
+ const wallpaper = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.wallpaper);
4309
+ const resolvedWallpaper = chunk7HQ6KUIO_cjs.useResolvedUrl(wallpaper ?? void 0);
4310
+ const windows = chunk2UW42GAP_cjs.useDesktopStore((state) => state.windows);
4311
+ const icons = chunk2UW42GAP_cjs.useDesktopStore((state) => state.icons);
4312
+ const initFs = chunk2UW42GAP_cjs.useDesktopStore((state) => state.initFs);
4313
+ const isFsReady = chunk2UW42GAP_cjs.useDesktopStore((state) => state.isFsReady);
4314
+ const fsNodes = chunk2UW42GAP_cjs.useDesktopStore((state) => state.fsNodes);
4315
+ const openContextMenu = chunk2UW42GAP_cjs.useDesktopStore((state) => state.openContextMenu);
4316
+ const filesCurrentFolderId = chunk2UW42GAP_cjs.useDesktopStore((state) => state.filesCurrentFolderId);
4317
+ const desktopFolderId = chunk2UW42GAP_cjs.useDesktopStore((state) => state.desktopFolderId);
4318
+ const openApp = chunkJX65IKJZ_cjs.useOpenApp();
4319
+ const { shouldShowWarning } = chunkBFMSPWLP_cjs.useDeviceDetection();
4320
+ const { notify } = chunkKI5FXBOM_cjs.useNotifications();
4320
4321
  const [userDismissed, setUserDismissed] = react.useState(false);
4321
4322
  useSystemTheme();
4322
4323
  useAppUpdate();
@@ -4376,7 +4377,7 @@ function FdeDesktopContent({
4376
4377
  if (node?.type === "folder") {
4377
4378
  contentData = { initialFolderId: nodeId };
4378
4379
  } else if (node?.type === "file") {
4379
- const result = chunk6QOUYSEE_cjs.getAppIdForMime(node);
4380
+ const result = chunk2UW42GAP_cjs.getAppIdForMime(node);
4380
4381
  if (!result) {
4381
4382
  notify(
4382
4383
  "Unsupported file type",
@@ -4459,8 +4460,8 @@ function FdeDesktopInner({
4459
4460
  prefetchLoaders
4460
4461
  }) {
4461
4462
  const themeValue = useTheme();
4462
- const setThemeMode = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.setThemeMode);
4463
- const toggleTheme = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.toggleTheme);
4463
+ const setThemeMode = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setThemeMode);
4464
+ const toggleTheme = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.toggleTheme);
4464
4465
  const contextValue = react.useMemo(
4465
4466
  () => ({
4466
4467
  fs: isReady ? null : null,
@@ -4499,16 +4500,16 @@ function FdeDesktop({
4499
4500
  }) {
4500
4501
  const [isReady, setIsReady] = react.useState(false);
4501
4502
  const [error, setError] = react.useState(null);
4502
- const storeMode = chunkSYGUWGWK_cjs.useSettingsStore((state) => state.theme.mode);
4503
+ const storeMode = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.mode);
4503
4504
  const [modeOverride] = react.useState(initialMode);
4504
4505
  const mode = modeOverride ?? storeMode;
4505
4506
  react.useEffect(() => {
4506
4507
  let mounted = true;
4507
4508
  const init = async () => {
4508
4509
  try {
4509
- chunk657BJOY5_cjs.initCoreRegistry();
4510
+ chunkJX65IKJZ_cjs.initCoreRegistry();
4510
4511
  if (customApps) {
4511
- chunk657BJOY5_cjs.registerComponents(customApps);
4512
+ chunkJX65IKJZ_cjs.registerComponents(customApps);
4512
4513
  }
4513
4514
  } catch (err) {
4514
4515
  console.error("[FdeDesktop] Failed to initialize core registry:", err);
@@ -4569,7 +4570,7 @@ var DynamicMenuBarRenderer = ({
4569
4570
  return /* @__PURE__ */ jsxRuntime.jsx(Component, { windowId, contentData, onExit });
4570
4571
  };
4571
4572
  var DynamicMenuBarRenderer_default = DynamicMenuBarRenderer;
4572
- var CONTEXT_MENU_APPS = chunk6QOUYSEE_cjs.APPS.filter((a) => a.id !== "settings");
4573
+ var CONTEXT_MENU_APPS = chunk2UW42GAP_cjs.APPS.filter((a) => a.id !== "settings");
4573
4574
  var ContextMenu = ({
4574
4575
  opened,
4575
4576
  position,
@@ -4647,7 +4648,7 @@ var useContextMenu = (offsetY = 0, appId) => {
4647
4648
  (e, customOffsetY) => {
4648
4649
  e.preventDefault();
4649
4650
  if (appId) {
4650
- const app = chunk6QOUYSEE_cjs.APPS.find((a) => a.id === appId);
4651
+ const app = chunk2UW42GAP_cjs.APPS.find((a) => a.id === appId);
4651
4652
  if (!app?.hasContextMenu) {
4652
4653
  e.stopPropagation();
4653
4654
  return;
@@ -4676,7 +4677,7 @@ function useIsDirty({
4676
4677
  react.useEffect(() => {
4677
4678
  if (snapshotRef.current === null) {
4678
4679
  if (appId) {
4679
- const stored = chunk2FO445RM_cjs.useAppTempMemoryStore.getState().getSnapshot(appId);
4680
+ const stored = chunkAU4IENXY_cjs.useAppTempMemoryStore.getState().getSnapshot(appId);
4680
4681
  if (stored !== null) {
4681
4682
  snapshotRef.current = stored;
4682
4683
  return;
@@ -4701,7 +4702,7 @@ function useIsDirty({
4701
4702
  snapshotRef.current = current;
4702
4703
  setIsDirty(false);
4703
4704
  if (appId) {
4704
- chunk2FO445RM_cjs.useAppTempMemoryStore.getState().setSnapshot(appId, current);
4705
+ chunkAU4IENXY_cjs.useAppTempMemoryStore.getState().setSnapshot(appId, current);
4705
4706
  }
4706
4707
  if (onChangeRef.current) {
4707
4708
  onChangeRef.current(false);
@@ -4842,11 +4843,11 @@ Object.defineProperty(exports, "StorybookApp", {
4842
4843
  });
4843
4844
  Object.defineProperty(exports, "DeviceInfoApp", {
4844
4845
  enumerable: true,
4845
- get: function () { return chunkTDZ43MUX_cjs.DeviceInfoApp_default; }
4846
+ get: function () { return chunkBFMSPWLP_cjs.DeviceInfoApp_default; }
4846
4847
  });
4847
4848
  Object.defineProperty(exports, "useDeviceDetection", {
4848
4849
  enumerable: true,
4849
- get: function () { return chunkTDZ43MUX_cjs.useDeviceDetection; }
4850
+ get: function () { return chunkBFMSPWLP_cjs.useDeviceDetection; }
4850
4851
  });
4851
4852
  Object.defineProperty(exports, "CalendarApp", {
4852
4853
  enumerable: true,
@@ -4854,15 +4855,15 @@ Object.defineProperty(exports, "CalendarApp", {
4854
4855
  });
4855
4856
  Object.defineProperty(exports, "CreateItemApp", {
4856
4857
  enumerable: true,
4857
- get: function () { return chunkAQL372JF_cjs.CreateItemApp_default; }
4858
+ get: function () { return chunk2NGIGLVP_cjs.CreateItemApp_default; }
4858
4859
  });
4859
4860
  Object.defineProperty(exports, "IconColorPicker", {
4860
4861
  enumerable: true,
4861
- get: function () { return chunkAQL372JF_cjs.IconColorPicker_default; }
4862
+ get: function () { return chunk2NGIGLVP_cjs.IconColorPicker_default; }
4862
4863
  });
4863
4864
  Object.defineProperty(exports, "PRESET_ICONS", {
4864
4865
  enumerable: true,
4865
- get: function () { return chunkAQL372JF_cjs.PRESET_ICONS; }
4866
+ get: function () { return chunk2NGIGLVP_cjs.PRESET_ICONS; }
4866
4867
  });
4867
4868
  Object.defineProperty(exports, "NotesMenuBar", {
4868
4869
  enumerable: true,
@@ -4898,27 +4899,27 @@ Object.defineProperty(exports, "DirtyIndicator", {
4898
4899
  });
4899
4900
  Object.defineProperty(exports, "FilesApp", {
4900
4901
  enumerable: true,
4901
- get: function () { return chunkBKXEA2BK_cjs.FilesApp_default; }
4902
+ get: function () { return chunkKI5FXBOM_cjs.FilesApp_default; }
4902
4903
  });
4903
4904
  Object.defineProperty(exports, "useNotifications", {
4904
4905
  enumerable: true,
4905
- get: function () { return chunkBKXEA2BK_cjs.useNotifications; }
4906
+ get: function () { return chunkKI5FXBOM_cjs.useNotifications; }
4906
4907
  });
4907
4908
  Object.defineProperty(exports, "NotesApp", {
4908
4909
  enumerable: true,
4909
- get: function () { return chunk2FO445RM_cjs.NotesApp_default; }
4910
+ get: function () { return chunkAU4IENXY_cjs.NotesApp_default; }
4910
4911
  });
4911
4912
  Object.defineProperty(exports, "useAppTempMemoryStore", {
4912
4913
  enumerable: true,
4913
- get: function () { return chunk2FO445RM_cjs.useAppTempMemoryStore; }
4914
+ get: function () { return chunkAU4IENXY_cjs.useAppTempMemoryStore; }
4914
4915
  });
4915
4916
  Object.defineProperty(exports, "ImageViewerApp", {
4916
4917
  enumerable: true,
4917
- get: function () { return chunkAXDUVZVP_cjs.ImageViewerApp_default; }
4918
+ get: function () { return chunk4KIMZJ3L_cjs.ImageViewerApp_default; }
4918
4919
  });
4919
4920
  Object.defineProperty(exports, "PdfApp", {
4920
4921
  enumerable: true,
4921
- get: function () { return chunkDMNF4CNN_cjs.PdfApp_default; }
4922
+ get: function () { return chunk2O3W6TLG_cjs.PdfApp_default; }
4922
4923
  });
4923
4924
  Object.defineProperty(exports, "AppEmptyState", {
4924
4925
  enumerable: true,
@@ -4930,27 +4931,27 @@ Object.defineProperty(exports, "getFourRandomColors", {
4930
4931
  });
4931
4932
  Object.defineProperty(exports, "DragDropProvider", {
4932
4933
  enumerable: true,
4933
- get: function () { return chunkU4RYIS6Z_cjs.DragDropProvider; }
4934
+ get: function () { return chunkYSWU4OKP_cjs.DragDropProvider; }
4934
4935
  });
4935
4936
  Object.defineProperty(exports, "MenuEditApp", {
4936
4937
  enumerable: true,
4937
- get: function () { return chunkU4RYIS6Z_cjs.MenuEditApp_default; }
4938
+ get: function () { return chunkYSWU4OKP_cjs.MenuEditApp_default; }
4938
4939
  });
4939
4940
  Object.defineProperty(exports, "useDragDropState", {
4940
4941
  enumerable: true,
4941
- get: function () { return chunkU4RYIS6Z_cjs.useDragDropState; }
4942
+ get: function () { return chunkYSWU4OKP_cjs.useDragDropState; }
4942
4943
  });
4943
4944
  Object.defineProperty(exports, "useDraggableItem", {
4944
4945
  enumerable: true,
4945
- get: function () { return chunkU4RYIS6Z_cjs.useDraggableItem; }
4946
+ get: function () { return chunkYSWU4OKP_cjs.useDraggableItem; }
4946
4947
  });
4947
4948
  Object.defineProperty(exports, "useDroppableArea", {
4948
4949
  enumerable: true,
4949
- get: function () { return chunkU4RYIS6Z_cjs.useDroppableArea; }
4950
+ get: function () { return chunkYSWU4OKP_cjs.useDroppableArea; }
4950
4951
  });
4951
4952
  Object.defineProperty(exports, "useFolderName", {
4952
4953
  enumerable: true,
4953
- get: function () { return chunkU4RYIS6Z_cjs.useFolderName; }
4954
+ get: function () { return chunkYSWU4OKP_cjs.useFolderName; }
4954
4955
  });
4955
4956
  Object.defineProperty(exports, "VscIcon", {
4956
4957
  enumerable: true,
@@ -4958,247 +4959,247 @@ Object.defineProperty(exports, "VscIcon", {
4958
4959
  });
4959
4960
  Object.defineProperty(exports, "UploaderApp", {
4960
4961
  enumerable: true,
4961
- get: function () { return chunkQB72BLCJ_cjs.UploaderApp_default; }
4962
+ get: function () { return chunkQFGHYAD7_cjs.UploaderApp_default; }
4962
4963
  });
4963
4964
  Object.defineProperty(exports, "formatBytes", {
4964
4965
  enumerable: true,
4965
- get: function () { return chunkQB72BLCJ_cjs.formatBytes; }
4966
+ get: function () { return chunkQFGHYAD7_cjs.formatBytes; }
4966
4967
  });
4967
4968
  Object.defineProperty(exports, "ANIMATION_DURATION", {
4968
4969
  enumerable: true,
4969
- get: function () { return chunk657BJOY5_cjs.ANIMATION_DURATION; }
4970
+ get: function () { return chunkJX65IKJZ_cjs.ANIMATION_DURATION; }
4970
4971
  });
4971
4972
  Object.defineProperty(exports, "CORE_REGISTRY", {
4972
4973
  enumerable: true,
4973
- get: function () { return chunk657BJOY5_cjs.CORE_REGISTRY; }
4974
+ get: function () { return chunkJX65IKJZ_cjs.CORE_REGISTRY; }
4974
4975
  });
4975
4976
  Object.defineProperty(exports, "CalendarAppLazy", {
4976
4977
  enumerable: true,
4977
- get: function () { return chunk657BJOY5_cjs.CalendarAppLazy; }
4978
+ get: function () { return chunkJX65IKJZ_cjs.CalendarAppLazy; }
4978
4979
  });
4979
4980
  Object.defineProperty(exports, "CreateItemAppLazy", {
4980
4981
  enumerable: true,
4981
- get: function () { return chunk657BJOY5_cjs.CreateItemAppLazy; }
4982
+ get: function () { return chunkJX65IKJZ_cjs.CreateItemAppLazy; }
4982
4983
  });
4983
4984
  Object.defineProperty(exports, "DeviceInfoAppLazy", {
4984
4985
  enumerable: true,
4985
- get: function () { return chunk657BJOY5_cjs.DeviceInfoAppLazy; }
4986
+ get: function () { return chunkJX65IKJZ_cjs.DeviceInfoAppLazy; }
4986
4987
  });
4987
4988
  Object.defineProperty(exports, "EASE_IN", {
4988
4989
  enumerable: true,
4989
- get: function () { return chunk657BJOY5_cjs.EASE_IN; }
4990
+ get: function () { return chunkJX65IKJZ_cjs.EASE_IN; }
4990
4991
  });
4991
4992
  Object.defineProperty(exports, "EASE_OUT", {
4992
4993
  enumerable: true,
4993
- get: function () { return chunk657BJOY5_cjs.EASE_OUT; }
4994
+ get: function () { return chunkJX65IKJZ_cjs.EASE_OUT; }
4994
4995
  });
4995
4996
  Object.defineProperty(exports, "FilesAppLazy", {
4996
4997
  enumerable: true,
4997
- get: function () { return chunk657BJOY5_cjs.FilesAppLazy; }
4998
+ get: function () { return chunkJX65IKJZ_cjs.FilesAppLazy; }
4998
4999
  });
4999
5000
  Object.defineProperty(exports, "ImageViewerAppLazy", {
5000
5001
  enumerable: true,
5001
- get: function () { return chunk657BJOY5_cjs.ImageViewerAppLazy; }
5002
+ get: function () { return chunkJX65IKJZ_cjs.ImageViewerAppLazy; }
5002
5003
  });
5003
5004
  Object.defineProperty(exports, "ImageViewerMenuBarLazy", {
5004
5005
  enumerable: true,
5005
- get: function () { return chunk657BJOY5_cjs.ImageViewerMenuBarLazy; }
5006
+ get: function () { return chunkJX65IKJZ_cjs.ImageViewerMenuBarLazy; }
5006
5007
  });
5007
5008
  Object.defineProperty(exports, "MenuEditAppLazy", {
5008
5009
  enumerable: true,
5009
- get: function () { return chunk657BJOY5_cjs.MenuEditAppLazy; }
5010
+ get: function () { return chunkJX65IKJZ_cjs.MenuEditAppLazy; }
5010
5011
  });
5011
5012
  Object.defineProperty(exports, "MenuEditMenuBarLazy", {
5012
5013
  enumerable: true,
5013
- get: function () { return chunk657BJOY5_cjs.MenuEditMenuBarLazy; }
5014
+ get: function () { return chunkJX65IKJZ_cjs.MenuEditMenuBarLazy; }
5014
5015
  });
5015
5016
  Object.defineProperty(exports, "NotesAppLazy", {
5016
5017
  enumerable: true,
5017
- get: function () { return chunk657BJOY5_cjs.NotesAppLazy; }
5018
+ get: function () { return chunkJX65IKJZ_cjs.NotesAppLazy; }
5018
5019
  });
5019
5020
  Object.defineProperty(exports, "NotesMenuBarLazy", {
5020
5021
  enumerable: true,
5021
- get: function () { return chunk657BJOY5_cjs.NotesMenuBarLazy; }
5022
+ get: function () { return chunkJX65IKJZ_cjs.NotesMenuBarLazy; }
5022
5023
  });
5023
5024
  Object.defineProperty(exports, "PdfAppLazy", {
5024
5025
  enumerable: true,
5025
- get: function () { return chunk657BJOY5_cjs.PdfAppLazy; }
5026
+ get: function () { return chunkJX65IKJZ_cjs.PdfAppLazy; }
5026
5027
  });
5027
5028
  Object.defineProperty(exports, "PdfMenuBarLazy", {
5028
5029
  enumerable: true,
5029
- get: function () { return chunk657BJOY5_cjs.PdfMenuBarLazy; }
5030
+ get: function () { return chunkJX65IKJZ_cjs.PdfMenuBarLazy; }
5030
5031
  });
5031
5032
  Object.defineProperty(exports, "SettingsAppLazy", {
5032
5033
  enumerable: true,
5033
- get: function () { return chunk657BJOY5_cjs.SettingsAppLazy; }
5034
+ get: function () { return chunkJX65IKJZ_cjs.SettingsAppLazy; }
5034
5035
  });
5035
5036
  Object.defineProperty(exports, "SettingsMenuBarLazy", {
5036
5037
  enumerable: true,
5037
- get: function () { return chunk657BJOY5_cjs.SettingsMenuBarLazy; }
5038
+ get: function () { return chunkJX65IKJZ_cjs.SettingsMenuBarLazy; }
5038
5039
  });
5039
5040
  Object.defineProperty(exports, "UploaderAppLazy", {
5040
5041
  enumerable: true,
5041
- get: function () { return chunk657BJOY5_cjs.UploaderAppLazy; }
5042
+ get: function () { return chunkJX65IKJZ_cjs.UploaderAppLazy; }
5042
5043
  });
5043
5044
  Object.defineProperty(exports, "centerWindowPosition", {
5044
5045
  enumerable: true,
5045
- get: function () { return chunk657BJOY5_cjs.centerWindowPosition; }
5046
+ get: function () { return chunkJX65IKJZ_cjs.centerWindowPosition; }
5046
5047
  });
5047
5048
  Object.defineProperty(exports, "createEaseIn", {
5048
5049
  enumerable: true,
5049
- get: function () { return chunk657BJOY5_cjs.createEaseIn; }
5050
+ get: function () { return chunkJX65IKJZ_cjs.createEaseIn; }
5050
5051
  });
5051
5052
  Object.defineProperty(exports, "createEaseOut", {
5052
5053
  enumerable: true,
5053
- get: function () { return chunk657BJOY5_cjs.createEaseOut; }
5054
+ get: function () { return chunkJX65IKJZ_cjs.createEaseOut; }
5054
5055
  });
5055
5056
  Object.defineProperty(exports, "createMaximizeTransition", {
5056
5057
  enumerable: true,
5057
- get: function () { return chunk657BJOY5_cjs.createMaximizeTransition; }
5058
+ get: function () { return chunkJX65IKJZ_cjs.createMaximizeTransition; }
5058
5059
  });
5059
5060
  Object.defineProperty(exports, "createMinimizeVariant", {
5060
5061
  enumerable: true,
5061
- get: function () { return chunk657BJOY5_cjs.createMinimizeVariant; }
5062
+ get: function () { return chunkJX65IKJZ_cjs.createMinimizeVariant; }
5062
5063
  });
5063
5064
  Object.defineProperty(exports, "createPanelVariants", {
5064
5065
  enumerable: true,
5065
- get: function () { return chunk657BJOY5_cjs.createPanelVariants; }
5066
+ get: function () { return chunkJX65IKJZ_cjs.createPanelVariants; }
5066
5067
  });
5067
5068
  Object.defineProperty(exports, "createRestoreVariant", {
5068
5069
  enumerable: true,
5069
- get: function () { return chunk657BJOY5_cjs.createRestoreVariant; }
5070
+ get: function () { return chunkJX65IKJZ_cjs.createRestoreVariant; }
5070
5071
  });
5071
5072
  Object.defineProperty(exports, "createWindowVariants", {
5072
5073
  enumerable: true,
5073
- get: function () { return chunk657BJOY5_cjs.createWindowVariants; }
5074
+ get: function () { return chunkJX65IKJZ_cjs.createWindowVariants; }
5074
5075
  });
5075
5076
  Object.defineProperty(exports, "getAppComponent", {
5076
5077
  enumerable: true,
5077
- get: function () { return chunk657BJOY5_cjs.getAppComponent; }
5078
+ get: function () { return chunkJX65IKJZ_cjs.getAppComponent; }
5078
5079
  });
5079
5080
  Object.defineProperty(exports, "getAppName", {
5080
5081
  enumerable: true,
5081
- get: function () { return chunk657BJOY5_cjs.getAppName; }
5082
+ get: function () { return chunkJX65IKJZ_cjs.getAppName; }
5082
5083
  });
5083
5084
  Object.defineProperty(exports, "getMenuBarBuilder", {
5084
5085
  enumerable: true,
5085
- get: function () { return chunk657BJOY5_cjs.getMenuBarBuilder; }
5086
+ get: function () { return chunkJX65IKJZ_cjs.getMenuBarBuilder; }
5086
5087
  });
5087
5088
  Object.defineProperty(exports, "getMenuBarComponent", {
5088
5089
  enumerable: true,
5089
- get: function () { return chunk657BJOY5_cjs.getMenuBarComponent; }
5090
+ get: function () { return chunkJX65IKJZ_cjs.getMenuBarComponent; }
5090
5091
  });
5091
5092
  Object.defineProperty(exports, "initRegistry", {
5092
5093
  enumerable: true,
5093
- get: function () { return chunk657BJOY5_cjs.initRegistry; }
5094
+ get: function () { return chunkJX65IKJZ_cjs.initRegistry; }
5094
5095
  });
5095
5096
  Object.defineProperty(exports, "isLazyApp", {
5096
5097
  enumerable: true,
5097
- get: function () { return chunk657BJOY5_cjs.isLazyApp; }
5098
+ get: function () { return chunkJX65IKJZ_cjs.isLazyApp; }
5098
5099
  });
5099
5100
  Object.defineProperty(exports, "maximizeTransition", {
5100
5101
  enumerable: true,
5101
- get: function () { return chunk657BJOY5_cjs.maximizeTransition; }
5102
+ get: function () { return chunkJX65IKJZ_cjs.maximizeTransition; }
5102
5103
  });
5103
5104
  Object.defineProperty(exports, "minimizeVariant", {
5104
5105
  enumerable: true,
5105
- get: function () { return chunk657BJOY5_cjs.minimizeVariant; }
5106
+ get: function () { return chunkJX65IKJZ_cjs.minimizeVariant; }
5106
5107
  });
5107
5108
  Object.defineProperty(exports, "openVariants", {
5108
5109
  enumerable: true,
5109
- get: function () { return chunk657BJOY5_cjs.openVariants; }
5110
+ get: function () { return chunkJX65IKJZ_cjs.openVariants; }
5110
5111
  });
5111
5112
  Object.defineProperty(exports, "panelVariants", {
5112
5113
  enumerable: true,
5113
- get: function () { return chunk657BJOY5_cjs.panelVariants; }
5114
+ get: function () { return chunkJX65IKJZ_cjs.panelVariants; }
5114
5115
  });
5115
5116
  Object.defineProperty(exports, "randomWindowPosition", {
5116
5117
  enumerable: true,
5117
- get: function () { return chunk657BJOY5_cjs.randomWindowPosition; }
5118
+ get: function () { return chunkJX65IKJZ_cjs.randomWindowPosition; }
5118
5119
  });
5119
5120
  Object.defineProperty(exports, "registerComponents", {
5120
5121
  enumerable: true,
5121
- get: function () { return chunk657BJOY5_cjs.registerComponents; }
5122
+ get: function () { return chunkJX65IKJZ_cjs.registerComponents; }
5122
5123
  });
5123
5124
  Object.defineProperty(exports, "restoreVariant", {
5124
5125
  enumerable: true,
5125
- get: function () { return chunk657BJOY5_cjs.restoreVariant; }
5126
+ get: function () { return chunkJX65IKJZ_cjs.restoreVariant; }
5126
5127
  });
5127
5128
  Object.defineProperty(exports, "useOpenApp", {
5128
5129
  enumerable: true,
5129
- get: function () { return chunk657BJOY5_cjs.useOpenApp; }
5130
+ get: function () { return chunkJX65IKJZ_cjs.useOpenApp; }
5130
5131
  });
5131
5132
  Object.defineProperty(exports, "windowVariants", {
5132
5133
  enumerable: true,
5133
- get: function () { return chunk657BJOY5_cjs.windowVariants; }
5134
+ get: function () { return chunkJX65IKJZ_cjs.windowVariants; }
5134
5135
  });
5135
5136
  Object.defineProperty(exports, "useAdaptiveDimensions", {
5136
5137
  enumerable: true,
5137
- get: function () { return chunk4OH5RPSQ_cjs.useAdaptiveDimensions; }
5138
+ get: function () { return chunkDEVJOHGE_cjs.useAdaptiveDimensions; }
5138
5139
  });
5139
5140
  Object.defineProperty(exports, "AVAILABLE_FONTS", {
5140
5141
  enumerable: true,
5141
- get: function () { return chunkSYGUWGWK_cjs.AVAILABLE_FONTS; }
5142
+ get: function () { return chunk57ZTJB2W_cjs.AVAILABLE_FONTS; }
5142
5143
  });
5143
5144
  Object.defineProperty(exports, "DEFAULT_LANGUAGE", {
5144
5145
  enumerable: true,
5145
- get: function () { return chunkSYGUWGWK_cjs.DEFAULT_LANGUAGE; }
5146
+ get: function () { return chunk57ZTJB2W_cjs.DEFAULT_LANGUAGE; }
5146
5147
  });
5147
5148
  Object.defineProperty(exports, "DefaultThemeProvider", {
5148
5149
  enumerable: true,
5149
- get: function () { return chunkSYGUWGWK_cjs.DefaultThemeProvider; }
5150
+ get: function () { return chunk57ZTJB2W_cjs.DefaultThemeProvider; }
5150
5151
  });
5151
5152
  Object.defineProperty(exports, "FONT_STACKS", {
5152
5153
  enumerable: true,
5153
- get: function () { return chunkSYGUWGWK_cjs.FONT_STACKS; }
5154
+ get: function () { return chunk57ZTJB2W_cjs.FONT_STACKS; }
5154
5155
  });
5155
5156
  Object.defineProperty(exports, "GOOGLE_FONTS_HREF", {
5156
5157
  enumerable: true,
5157
- get: function () { return chunkSYGUWGWK_cjs.GOOGLE_FONTS_HREF; }
5158
+ get: function () { return chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF; }
5158
5159
  });
5159
5160
  Object.defineProperty(exports, "LanguageFlag", {
5160
5161
  enumerable: true,
5161
- get: function () { return chunkSYGUWGWK_cjs.LanguageFlag_default; }
5162
+ get: function () { return chunk57ZTJB2W_cjs.LanguageFlag_default; }
5162
5163
  });
5163
5164
  Object.defineProperty(exports, "PROFILE", {
5164
5165
  enumerable: true,
5165
- get: function () { return chunkSYGUWGWK_cjs.PROFILE; }
5166
+ get: function () { return chunk57ZTJB2W_cjs.PROFILE; }
5166
5167
  });
5167
5168
  Object.defineProperty(exports, "SETTINGS_SECTIONS", {
5168
5169
  enumerable: true,
5169
- get: function () { return chunkSYGUWGWK_cjs.SETTINGS_SECTIONS; }
5170
+ get: function () { return chunk57ZTJB2W_cjs.SETTINGS_SECTIONS; }
5170
5171
  });
5171
5172
  Object.defineProperty(exports, "SUPPORTED_LANGUAGES", {
5172
5173
  enumerable: true,
5173
- get: function () { return chunkSYGUWGWK_cjs.SUPPORTED_LANGUAGES; }
5174
+ get: function () { return chunk57ZTJB2W_cjs.SUPPORTED_LANGUAGES; }
5174
5175
  });
5175
5176
  Object.defineProperty(exports, "SettingsApp", {
5176
5177
  enumerable: true,
5177
- get: function () { return chunkSYGUWGWK_cjs.SettingsApp_default; }
5178
+ get: function () { return chunk57ZTJB2W_cjs.SettingsApp_default; }
5178
5179
  });
5179
5180
  Object.defineProperty(exports, "SettingsSectionComponent", {
5180
5181
  enumerable: true,
5181
- get: function () { return chunkSYGUWGWK_cjs.SettingsSection_default; }
5182
+ get: function () { return chunk57ZTJB2W_cjs.SettingsSection_default; }
5182
5183
  });
5183
5184
  Object.defineProperty(exports, "clearBrowserData", {
5184
5185
  enumerable: true,
5185
- get: function () { return chunkSYGUWGWK_cjs.clearBrowserData; }
5186
+ get: function () { return chunk57ZTJB2W_cjs.clearBrowserData; }
5186
5187
  });
5187
5188
  Object.defineProperty(exports, "getPersistedThemeMode", {
5188
5189
  enumerable: true,
5189
- get: function () { return chunkSYGUWGWK_cjs.getPersistedThemeMode; }
5190
+ get: function () { return chunk57ZTJB2W_cjs.getPersistedThemeMode; }
5190
5191
  });
5191
5192
  Object.defineProperty(exports, "injectFontLink", {
5192
5193
  enumerable: true,
5193
- get: function () { return chunkSYGUWGWK_cjs.injectFontLink; }
5194
+ get: function () { return chunk57ZTJB2W_cjs.injectFontLink; }
5194
5195
  });
5195
5196
  Object.defineProperty(exports, "useFontDownload", {
5196
5197
  enumerable: true,
5197
- get: function () { return chunkSYGUWGWK_cjs.useFontDownload; }
5198
+ get: function () { return chunk57ZTJB2W_cjs.useFontDownload; }
5198
5199
  });
5199
5200
  Object.defineProperty(exports, "useSettingsStore", {
5200
5201
  enumerable: true,
5201
- get: function () { return chunkSYGUWGWK_cjs.useSettingsStore; }
5202
+ get: function () { return chunk57ZTJB2W_cjs.useSettingsStore; }
5202
5203
  });
5203
5204
  Object.defineProperty(exports, "ColorPicker", {
5204
5205
  enumerable: true,
@@ -5206,7 +5207,7 @@ Object.defineProperty(exports, "ColorPicker", {
5206
5207
  });
5207
5208
  Object.defineProperty(exports, "useResolvedUrl", {
5208
5209
  enumerable: true,
5209
- get: function () { return chunkICUE6T7J_cjs.useResolvedUrl; }
5210
+ get: function () { return chunk7HQ6KUIO_cjs.useResolvedUrl; }
5210
5211
  });
5211
5212
  Object.defineProperty(exports, "PRESET_COLORS", {
5212
5213
  enumerable: true,
@@ -5214,27 +5215,27 @@ Object.defineProperty(exports, "PRESET_COLORS", {
5214
5215
  });
5215
5216
  Object.defineProperty(exports, "AppIcon", {
5216
5217
  enumerable: true,
5217
- get: function () { return chunkJ7L2S2GT_cjs.AppIcon_default; }
5218
+ get: function () { return chunkI5MJXFYW_cjs.AppIcon_default; }
5218
5219
  });
5219
5220
  Object.defineProperty(exports, "getCloseInterceptor", {
5220
5221
  enumerable: true,
5221
- get: function () { return chunkZBGWYTCU_cjs.getCloseInterceptor; }
5222
+ get: function () { return chunk7FGL7HGS_cjs.getCloseInterceptor; }
5222
5223
  });
5223
5224
  Object.defineProperty(exports, "registerCloseInterceptor", {
5224
5225
  enumerable: true,
5225
- get: function () { return chunkZBGWYTCU_cjs.registerCloseInterceptor; }
5226
+ get: function () { return chunk7FGL7HGS_cjs.registerCloseInterceptor; }
5226
5227
  });
5227
5228
  Object.defineProperty(exports, "unregisterCloseInterceptor", {
5228
5229
  enumerable: true,
5229
- get: function () { return chunkZBGWYTCU_cjs.unregisterCloseInterceptor; }
5230
+ get: function () { return chunk7FGL7HGS_cjs.unregisterCloseInterceptor; }
5230
5231
  });
5231
5232
  Object.defineProperty(exports, "useCloseInterceptor", {
5232
5233
  enumerable: true,
5233
- get: function () { return chunkZBGWYTCU_cjs.useCloseInterceptor; }
5234
+ get: function () { return chunk7FGL7HGS_cjs.useCloseInterceptor; }
5234
5235
  });
5235
5236
  Object.defineProperty(exports, "useCloseModalStore", {
5236
5237
  enumerable: true,
5237
- get: function () { return chunkZBGWYTCU_cjs.useCloseModalStore; }
5238
+ get: function () { return chunk7FGL7HGS_cjs.useCloseModalStore; }
5238
5239
  });
5239
5240
  Object.defineProperty(exports, "DownloadProgress", {
5240
5241
  enumerable: true,
@@ -5242,19 +5243,19 @@ Object.defineProperty(exports, "DownloadProgress", {
5242
5243
  });
5243
5244
  Object.defineProperty(exports, "FilePickerApp", {
5244
5245
  enumerable: true,
5245
- get: function () { return chunkBDO6B7MZ_cjs.FilePickerApp_default; }
5246
+ get: function () { return chunkYOHBUOZJ_cjs.FilePickerApp_default; }
5246
5247
  });
5247
5248
  Object.defineProperty(exports, "FilePickerModal", {
5248
5249
  enumerable: true,
5249
- get: function () { return chunkBDO6B7MZ_cjs.FilePickerModal; }
5250
+ get: function () { return chunkYOHBUOZJ_cjs.FilePickerModal; }
5250
5251
  });
5251
5252
  Object.defineProperty(exports, "FolderPicker", {
5252
5253
  enumerable: true,
5253
- get: function () { return chunkBDO6B7MZ_cjs.PickerModal; }
5254
+ get: function () { return chunkYOHBUOZJ_cjs.PickerModal; }
5254
5255
  });
5255
5256
  Object.defineProperty(exports, "buildBreadcrumbs", {
5256
5257
  enumerable: true,
5257
- get: function () { return chunkBDO6B7MZ_cjs.buildBreadcrumbs; }
5258
+ get: function () { return chunkYOHBUOZJ_cjs.buildBreadcrumbs; }
5258
5259
  });
5259
5260
  Object.defineProperty(exports, "FileIcon", {
5260
5261
  enumerable: true,
@@ -5266,259 +5267,259 @@ Object.defineProperty(exports, "getFileExtension", {
5266
5267
  });
5267
5268
  Object.defineProperty(exports, "APPS", {
5268
5269
  enumerable: true,
5269
- get: function () { return chunk6QOUYSEE_cjs.APPS; }
5270
+ get: function () { return chunk2UW42GAP_cjs.APPS; }
5270
5271
  });
5271
5272
  Object.defineProperty(exports, "BREAKPOINTS", {
5272
5273
  enumerable: true,
5273
- get: function () { return chunk6QOUYSEE_cjs.BREAKPOINTS; }
5274
+ get: function () { return chunk2UW42GAP_cjs.BREAKPOINTS; }
5274
5275
  });
5275
5276
  Object.defineProperty(exports, "CORE_APPS", {
5276
5277
  enumerable: true,
5277
- get: function () { return chunk6QOUYSEE_cjs.CORE_APPS; }
5278
+ get: function () { return chunk2UW42GAP_cjs.CORE_APPS; }
5278
5279
  });
5279
5280
  Object.defineProperty(exports, "CORE_APP_IDS", {
5280
5281
  enumerable: true,
5281
- get: function () { return chunk6QOUYSEE_cjs.CORE_APP_IDS; }
5282
+ get: function () { return chunk2UW42GAP_cjs.CORE_APP_IDS; }
5282
5283
  });
5283
5284
  Object.defineProperty(exports, "CUSTOM_APPS_FOLDER_ID", {
5284
5285
  enumerable: true,
5285
- get: function () { return chunk6QOUYSEE_cjs.CUSTOM_APPS_FOLDER_ID; }
5286
+ get: function () { return chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID; }
5286
5287
  });
5287
5288
  Object.defineProperty(exports, "DEFAULT_LAUNCHER_FOLDERS", {
5288
5289
  enumerable: true,
5289
- get: function () { return chunk6QOUYSEE_cjs.DEFAULT_LAUNCHER_FOLDERS; }
5290
+ get: function () { return chunk2UW42GAP_cjs.DEFAULT_LAUNCHER_FOLDERS; }
5290
5291
  });
5291
5292
  Object.defineProperty(exports, "DEFAULT_VIEWPORT_HEIGHT", {
5292
5293
  enumerable: true,
5293
- get: function () { return chunk6QOUYSEE_cjs.DEFAULT_VIEWPORT_HEIGHT; }
5294
+ get: function () { return chunk2UW42GAP_cjs.DEFAULT_VIEWPORT_HEIGHT; }
5294
5295
  });
5295
5296
  Object.defineProperty(exports, "DEFAULT_VIEWPORT_WIDTH", {
5296
5297
  enumerable: true,
5297
- get: function () { return chunk6QOUYSEE_cjs.DEFAULT_VIEWPORT_WIDTH; }
5298
+ get: function () { return chunk2UW42GAP_cjs.DEFAULT_VIEWPORT_WIDTH; }
5298
5299
  });
5299
5300
  Object.defineProperty(exports, "DEFAULT_WINDOW_DIMENSIONS", {
5300
5301
  enumerable: true,
5301
- get: function () { return chunk6QOUYSEE_cjs.DEFAULT_WINDOW_DIMENSIONS; }
5302
+ get: function () { return chunk2UW42GAP_cjs.DEFAULT_WINDOW_DIMENSIONS; }
5302
5303
  });
5303
5304
  Object.defineProperty(exports, "DESKTOP_APPS_ORDER", {
5304
5305
  enumerable: true,
5305
- get: function () { return chunk6QOUYSEE_cjs.DESKTOP_APPS_ORDER; }
5306
+ get: function () { return chunk2UW42GAP_cjs.DESKTOP_APPS_ORDER; }
5306
5307
  });
5307
5308
  Object.defineProperty(exports, "DockerFileSystemAdapter", {
5308
5309
  enumerable: true,
5309
- get: function () { return chunk6QOUYSEE_cjs.DockerFileSystemAdapter; }
5310
+ get: function () { return chunk2UW42GAP_cjs.DockerFileSystemAdapter; }
5310
5311
  });
5311
5312
  Object.defineProperty(exports, "EXTRA_APPS", {
5312
5313
  enumerable: true,
5313
- get: function () { return chunk6QOUYSEE_cjs.EXTRA_APPS; }
5314
+ get: function () { return chunk2UW42GAP_cjs.EXTRA_APPS; }
5314
5315
  });
5315
5316
  Object.defineProperty(exports, "EXTRA_APP_IDS", {
5316
5317
  enumerable: true,
5317
- get: function () { return chunk6QOUYSEE_cjs.EXTRA_APP_IDS; }
5318
+ get: function () { return chunk2UW42GAP_cjs.EXTRA_APP_IDS; }
5318
5319
  });
5319
5320
  Object.defineProperty(exports, "ICON_COLUMN_WIDTH", {
5320
5321
  enumerable: true,
5321
- get: function () { return chunk6QOUYSEE_cjs.ICON_COLUMN_WIDTH; }
5322
+ get: function () { return chunk2UW42GAP_cjs.ICON_COLUMN_WIDTH; }
5322
5323
  });
5323
5324
  Object.defineProperty(exports, "ICON_MARGIN", {
5324
5325
  enumerable: true,
5325
- get: function () { return chunk6QOUYSEE_cjs.ICON_MARGIN; }
5326
+ get: function () { return chunk2UW42GAP_cjs.ICON_MARGIN; }
5326
5327
  });
5327
5328
  Object.defineProperty(exports, "ICON_ROW_HEIGHT", {
5328
5329
  enumerable: true,
5329
- get: function () { return chunk6QOUYSEE_cjs.ICON_ROW_HEIGHT; }
5330
+ get: function () { return chunk2UW42GAP_cjs.ICON_ROW_HEIGHT; }
5330
5331
  });
5331
5332
  Object.defineProperty(exports, "IMAGE_MIME_TYPES", {
5332
5333
  enumerable: true,
5333
- get: function () { return chunk6QOUYSEE_cjs.IMAGE_MIME_TYPES; }
5334
+ get: function () { return chunk2UW42GAP_cjs.IMAGE_MIME_TYPES; }
5334
5335
  });
5335
5336
  Object.defineProperty(exports, "IndexedDBFileSystem", {
5336
5337
  enumerable: true,
5337
- get: function () { return chunk6QOUYSEE_cjs.IndexedDBFileSystem; }
5338
+ get: function () { return chunk2UW42GAP_cjs.IndexedDBFileSystem; }
5338
5339
  });
5339
5340
  Object.defineProperty(exports, "PREDEFINED_LAUNCHER_FOLDERS", {
5340
5341
  enumerable: true,
5341
- get: function () { return chunk6QOUYSEE_cjs.PREDEFINED_LAUNCHER_FOLDERS; }
5342
+ get: function () { return chunk2UW42GAP_cjs.PREDEFINED_LAUNCHER_FOLDERS; }
5342
5343
  });
5343
5344
  Object.defineProperty(exports, "SortOptions", {
5344
5345
  enumerable: true,
5345
- get: function () { return chunk6QOUYSEE_cjs.SortOptions; }
5346
+ get: function () { return chunk2UW42GAP_cjs.SortOptions; }
5346
5347
  });
5347
5348
  Object.defineProperty(exports, "TASKBAR_HEIGHT", {
5348
5349
  enumerable: true,
5349
- get: function () { return chunk6QOUYSEE_cjs.TASKBAR_HEIGHT; }
5350
+ get: function () { return chunk2UW42GAP_cjs.TASKBAR_HEIGHT; }
5350
5351
  });
5351
5352
  Object.defineProperty(exports, "TEXT_MIME_TYPES", {
5352
5353
  enumerable: true,
5353
- get: function () { return chunk6QOUYSEE_cjs.TEXT_MIME_TYPES; }
5354
+ get: function () { return chunk2UW42GAP_cjs.TEXT_MIME_TYPES; }
5354
5355
  });
5355
5356
  Object.defineProperty(exports, "WindowManagerAdapter", {
5356
5357
  enumerable: true,
5357
- get: function () { return chunk6QOUYSEE_cjs.WindowManagerAdapter; }
5358
+ get: function () { return chunk2UW42GAP_cjs.WindowManagerAdapter; }
5358
5359
  });
5359
5360
  Object.defineProperty(exports, "clearManifestCache", {
5360
5361
  enumerable: true,
5361
- get: function () { return chunk6QOUYSEE_cjs.clearManifestCache; }
5362
+ get: function () { return chunk2UW42GAP_cjs.clearManifestCache; }
5362
5363
  });
5363
5364
  Object.defineProperty(exports, "convertToAppEntry", {
5364
5365
  enumerable: true,
5365
- get: function () { return chunk6QOUYSEE_cjs.convertToAppEntry; }
5366
+ get: function () { return chunk2UW42GAP_cjs.convertToAppEntry; }
5366
5367
  });
5367
5368
  Object.defineProperty(exports, "createDesktopIcon", {
5368
5369
  enumerable: true,
5369
- get: function () { return chunk6QOUYSEE_cjs.createDesktopIcon; }
5370
+ get: function () { return chunk2UW42GAP_cjs.createDesktopIcon; }
5370
5371
  });
5371
5372
  Object.defineProperty(exports, "createFile", {
5372
5373
  enumerable: true,
5373
- get: function () { return chunk6QOUYSEE_cjs.createFile; }
5374
+ get: function () { return chunk2UW42GAP_cjs.createFile; }
5374
5375
  });
5375
5376
  Object.defineProperty(exports, "createFolder", {
5376
5377
  enumerable: true,
5377
- get: function () { return chunk6QOUYSEE_cjs.createFolder; }
5378
+ get: function () { return chunk2UW42GAP_cjs.createFolder; }
5378
5379
  });
5379
5380
  Object.defineProperty(exports, "createLauncherFolder", {
5380
5381
  enumerable: true,
5381
- get: function () { return chunk6QOUYSEE_cjs.createLauncherFolder; }
5382
+ get: function () { return chunk2UW42GAP_cjs.createLauncherFolder; }
5382
5383
  });
5383
5384
  Object.defineProperty(exports, "createPredefinedLauncherFolder", {
5384
5385
  enumerable: true,
5385
- get: function () { return chunk6QOUYSEE_cjs.createPredefinedLauncherFolder; }
5386
+ get: function () { return chunk2UW42GAP_cjs.createPredefinedLauncherFolder; }
5386
5387
  });
5387
5388
  Object.defineProperty(exports, "createWindow", {
5388
5389
  enumerable: true,
5389
- get: function () { return chunk6QOUYSEE_cjs.createWindow; }
5390
+ get: function () { return chunk2UW42GAP_cjs.createWindow; }
5390
5391
  });
5391
5392
  Object.defineProperty(exports, "fetchAppManifest", {
5392
5393
  enumerable: true,
5393
- get: function () { return chunk6QOUYSEE_cjs.fetchAppManifest; }
5394
+ get: function () { return chunk2UW42GAP_cjs.fetchAppManifest; }
5394
5395
  });
5395
5396
  Object.defineProperty(exports, "fileSystem", {
5396
5397
  enumerable: true,
5397
- get: function () { return chunk6QOUYSEE_cjs.fileSystem; }
5398
+ get: function () { return chunk2UW42GAP_cjs.fileSystem; }
5398
5399
  });
5399
5400
  Object.defineProperty(exports, "generateUUID", {
5400
5401
  enumerable: true,
5401
- get: function () { return chunk6QOUYSEE_cjs.generateUUID; }
5402
+ get: function () { return chunk2UW42GAP_cjs.generateUUID; }
5402
5403
  });
5403
5404
  Object.defineProperty(exports, "getAppIdForMime", {
5404
5405
  enumerable: true,
5405
- get: function () { return chunk6QOUYSEE_cjs.getAppIdForMime; }
5406
+ get: function () { return chunk2UW42GAP_cjs.getAppIdForMime; }
5406
5407
  });
5407
5408
  Object.defineProperty(exports, "getBaseUrl", {
5408
5409
  enumerable: true,
5409
- get: function () { return chunk6QOUYSEE_cjs.getBaseUrl; }
5410
+ get: function () { return chunk2UW42GAP_cjs.getBaseUrl; }
5410
5411
  });
5411
5412
  Object.defineProperty(exports, "getCachedManifest", {
5412
5413
  enumerable: true,
5413
- get: function () { return chunk6QOUYSEE_cjs.getCachedManifest; }
5414
+ get: function () { return chunk2UW42GAP_cjs.getCachedManifest; }
5414
5415
  });
5415
5416
  Object.defineProperty(exports, "getCustomAppById", {
5416
5417
  enumerable: true,
5417
- get: function () { return chunk6QOUYSEE_cjs.getCustomAppById; }
5418
+ get: function () { return chunk2UW42GAP_cjs.getCustomAppById; }
5418
5419
  });
5419
5420
  Object.defineProperty(exports, "getCustomApps", {
5420
5421
  enumerable: true,
5421
- get: function () { return chunk6QOUYSEE_cjs.getCustomApps; }
5422
+ get: function () { return chunk2UW42GAP_cjs.getCustomApps; }
5422
5423
  });
5423
5424
  Object.defineProperty(exports, "getMimeTypeFromExtension", {
5424
5425
  enumerable: true,
5425
- get: function () { return chunk6QOUYSEE_cjs.getMimeTypeFromExtension; }
5426
+ get: function () { return chunk2UW42GAP_cjs.getMimeTypeFromExtension; }
5426
5427
  });
5427
5428
  Object.defineProperty(exports, "hashBlob", {
5428
5429
  enumerable: true,
5429
- get: function () { return chunk6QOUYSEE_cjs.hashBlob; }
5430
+ get: function () { return chunk2UW42GAP_cjs.hashBlob; }
5430
5431
  });
5431
5432
  Object.defineProperty(exports, "isCustomApp", {
5432
5433
  enumerable: true,
5433
- get: function () { return chunk6QOUYSEE_cjs.isCustomApp; }
5434
+ get: function () { return chunk2UW42GAP_cjs.isCustomApp; }
5434
5435
  });
5435
5436
  Object.defineProperty(exports, "mergeAppsWithCustomApps", {
5436
5437
  enumerable: true,
5437
- get: function () { return chunk6QOUYSEE_cjs.mergeAppsWithCustomApps; }
5438
+ get: function () { return chunk2UW42GAP_cjs.mergeAppsWithCustomApps; }
5438
5439
  });
5439
5440
  Object.defineProperty(exports, "registerAppFileHandler", {
5440
5441
  enumerable: true,
5441
- get: function () { return chunk6QOUYSEE_cjs.registerAppFileHandler; }
5442
+ get: function () { return chunk2UW42GAP_cjs.registerAppFileHandler; }
5442
5443
  });
5443
5444
  Object.defineProperty(exports, "registerCustomApps", {
5444
5445
  enumerable: true,
5445
- get: function () { return chunk6QOUYSEE_cjs.registerCustomApps; }
5446
+ get: function () { return chunk2UW42GAP_cjs.registerCustomApps; }
5446
5447
  });
5447
5448
  Object.defineProperty(exports, "registerDesktopApps", {
5448
5449
  enumerable: true,
5449
- get: function () { return chunk6QOUYSEE_cjs.registerDesktopApps; }
5450
+ get: function () { return chunk2UW42GAP_cjs.registerDesktopApps; }
5450
5451
  });
5451
5452
  Object.defineProperty(exports, "removeFromManifestCache", {
5452
5453
  enumerable: true,
5453
- get: function () { return chunk6QOUYSEE_cjs.removeFromManifestCache; }
5454
+ get: function () { return chunk2UW42GAP_cjs.removeFromManifestCache; }
5454
5455
  });
5455
5456
  Object.defineProperty(exports, "resetBaseUrlCache", {
5456
5457
  enumerable: true,
5457
- get: function () { return chunk6QOUYSEE_cjs.resetBaseUrlCache; }
5458
+ get: function () { return chunk2UW42GAP_cjs.resetBaseUrlCache; }
5458
5459
  });
5459
5460
  Object.defineProperty(exports, "resetFileSystem", {
5460
5461
  enumerable: true,
5461
- get: function () { return chunk6QOUYSEE_cjs.resetFileSystem; }
5462
+ get: function () { return chunk2UW42GAP_cjs.resetFileSystem; }
5462
5463
  });
5463
5464
  Object.defineProperty(exports, "resetWindowManager", {
5464
5465
  enumerable: true,
5465
- get: function () { return chunk6QOUYSEE_cjs.resetWindowManager; }
5466
+ get: function () { return chunk2UW42GAP_cjs.resetWindowManager; }
5466
5467
  });
5467
5468
  Object.defineProperty(exports, "resolveFileUrl", {
5468
5469
  enumerable: true,
5469
- get: function () { return chunk6QOUYSEE_cjs.resolveFileUrl; }
5470
+ get: function () { return chunk2UW42GAP_cjs.resolveFileUrl; }
5470
5471
  });
5471
5472
  Object.defineProperty(exports, "resolveUrl", {
5472
5473
  enumerable: true,
5473
- get: function () { return chunk6QOUYSEE_cjs.resolveUrl; }
5474
+ get: function () { return chunk2UW42GAP_cjs.resolveUrl; }
5474
5475
  });
5475
5476
  Object.defineProperty(exports, "setApiBaseUrl", {
5476
5477
  enumerable: true,
5477
- get: function () { return chunk6QOUYSEE_cjs.setApiBaseUrl; }
5478
+ get: function () { return chunk2UW42GAP_cjs.setApiBaseUrl; }
5478
5479
  });
5479
5480
  Object.defineProperty(exports, "setTestBaseUrl", {
5480
5481
  enumerable: true,
5481
- get: function () { return chunk6QOUYSEE_cjs.setTestBaseUrl; }
5482
+ get: function () { return chunk2UW42GAP_cjs.setTestBaseUrl; }
5482
5483
  });
5483
5484
  Object.defineProperty(exports, "sortDesktopIcons", {
5484
5485
  enumerable: true,
5485
- get: function () { return chunk6QOUYSEE_cjs.sortDesktopIcons; }
5486
+ get: function () { return chunk2UW42GAP_cjs.sortDesktopIcons; }
5486
5487
  });
5487
5488
  Object.defineProperty(exports, "sortDesktopIconsByMode", {
5488
5489
  enumerable: true,
5489
- get: function () { return chunk6QOUYSEE_cjs.sortDesktopIconsByMode; }
5490
+ get: function () { return chunk2UW42GAP_cjs.sortDesktopIconsByMode; }
5490
5491
  });
5491
5492
  Object.defineProperty(exports, "sortNodes", {
5492
5493
  enumerable: true,
5493
- get: function () { return chunk6QOUYSEE_cjs.sortNodes; }
5494
+ get: function () { return chunk2UW42GAP_cjs.sortNodes; }
5494
5495
  });
5495
5496
  Object.defineProperty(exports, "sortNodesByMode", {
5496
5497
  enumerable: true,
5497
- get: function () { return chunk6QOUYSEE_cjs.sortNodesByMode; }
5498
+ get: function () { return chunk2UW42GAP_cjs.sortNodesByMode; }
5498
5499
  });
5499
5500
  Object.defineProperty(exports, "syncWithServer", {
5500
5501
  enumerable: true,
5501
- get: function () { return chunk6QOUYSEE_cjs.syncWithServer; }
5502
+ get: function () { return chunk2UW42GAP_cjs.syncWithServer; }
5502
5503
  });
5503
5504
  Object.defineProperty(exports, "updateLauncherFolder", {
5504
5505
  enumerable: true,
5505
- get: function () { return chunk6QOUYSEE_cjs.updateLauncherFolder; }
5506
+ get: function () { return chunk2UW42GAP_cjs.updateLauncherFolder; }
5506
5507
  });
5507
5508
  Object.defineProperty(exports, "updateManifestCache", {
5508
5509
  enumerable: true,
5509
- get: function () { return chunk6QOUYSEE_cjs.updateManifestCache; }
5510
+ get: function () { return chunk2UW42GAP_cjs.updateManifestCache; }
5510
5511
  });
5511
5512
  Object.defineProperty(exports, "useCustomAppStore", {
5512
5513
  enumerable: true,
5513
- get: function () { return chunk6QOUYSEE_cjs.useCustomAppStore; }
5514
+ get: function () { return chunk2UW42GAP_cjs.useCustomAppStore; }
5514
5515
  });
5515
5516
  Object.defineProperty(exports, "useDesktopStore", {
5516
5517
  enumerable: true,
5517
- get: function () { return chunk6QOUYSEE_cjs.useDesktopStore; }
5518
+ get: function () { return chunk2UW42GAP_cjs.useDesktopStore; }
5518
5519
  });
5519
5520
  Object.defineProperty(exports, "uuidv4", {
5520
5521
  enumerable: true,
5521
- get: function () { return chunk6QOUYSEE_cjs.v4; }
5522
+ get: function () { return chunk2UW42GAP_cjs.v4; }
5522
5523
  });
5523
5524
  Object.defineProperty(exports, "getRuntime", {
5524
5525
  enumerable: true,