@fde-desktop/fde-core 0.4.6 → 0.4.7

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-2EME6FYH.js → CreateItemApp-ESQ42VHH.js} +2 -2
  2. package/dist/{CreateItemApp-BSEISPUS.cjs → CreateItemApp-RFE3REWZ.cjs} +3 -3
  3. package/dist/DeviceInfoApp-XNIS6ZY6.js +5 -0
  4. package/dist/DeviceInfoApp-ZNLQNOKI.cjs +11 -0
  5. package/dist/FilesApp-4GEU64QN.js +8 -0
  6. package/dist/FilesApp-QSLB5IWR.cjs +14 -0
  7. package/dist/{ImageViewerApp-PLHNQFZ3.js → ImageViewerApp-NCVDKLB3.js} +4 -4
  8. package/dist/{ImageViewerApp-UIXSGW2X.cjs → ImageViewerApp-QB373H5Z.cjs} +5 -5
  9. package/dist/MenuEditApp-5EFYAPFC.cjs +15 -0
  10. package/dist/{MenuEditApp-4DB5UEWH.js → MenuEditApp-V5XOPIHX.js} +4 -4
  11. package/dist/{NotesApp-MW37NRSN.js → NotesApp-2YNT7Y3D.js} +4 -4
  12. package/dist/{NotesApp-BZYASRVJ.cjs → NotesApp-IAEE7YHU.cjs} +5 -5
  13. package/dist/{PdfApp-ZSYAQP7L.js → PdfApp-67XIX6AM.js} +4 -4
  14. package/dist/{PdfApp-3ZINDODQ.cjs → PdfApp-GZ6RHTBR.cjs} +5 -5
  15. package/dist/{SettingsApp-2ZNO7AVY.cjs → SettingsApp-BPLMGPNK.cjs} +7 -7
  16. package/dist/{SettingsApp-ODZINK6T.js → SettingsApp-LUDIXCYY.js} +6 -6
  17. package/dist/UploaderApp-FJC2J4I5.js +10 -0
  18. package/dist/UploaderApp-HLXJYJZQ.cjs +16 -0
  19. package/dist/{chunk-QFGHYAD7.cjs → chunk-4E4U2A25.cjs} +10 -10
  20. package/dist/{chunk-DEVJOHGE.cjs → chunk-4QHX7CMN.cjs} +3 -3
  21. package/dist/{chunk-WHZGUG7Q.js → chunk-5HUYQDQF.js} +1 -1
  22. package/dist/{chunk-W2Y22XR6.js → chunk-5QFZW6HW.js} +2 -1
  23. package/dist/{chunk-WSA5WSHN.js → chunk-756GPSPM.js} +2 -2
  24. package/dist/{chunk-HIGKZ7UP.js → chunk-7WUYUTPN.js} +5 -5
  25. package/dist/{chunk-VLWKVIYD.js → chunk-7XCMBW64.js} +2 -2
  26. package/dist/{chunk-KI5FXBOM.cjs → chunk-ACHGJKCI.cjs} +13 -13
  27. package/dist/{chunk-HYJJVB7G.js → chunk-C3XER4N3.js} +3 -3
  28. package/dist/{chunk-YSWU4OKP.cjs → chunk-CILU6BWC.cjs} +20 -20
  29. package/dist/{chunk-I5MJXFYW.cjs → chunk-DFYDUXWP.cjs} +2 -2
  30. package/dist/{chunk-PVBI2WRF.js → chunk-E5FW77FG.js} +1 -1
  31. package/dist/{chunk-57ZTJB2W.cjs → chunk-FD7QZCTN.cjs} +13 -13
  32. package/dist/{chunk-YOHBUOZJ.cjs → chunk-GPXNLTPI.cjs} +6 -6
  33. package/dist/{chunk-2O3W6TLG.cjs → chunk-HPHHS7FJ.cjs} +4 -4
  34. package/dist/{chunk-Y2WL2M7M.js → chunk-IHWGT3DL.js} +3 -3
  35. package/dist/{chunk-JX65IKJZ.cjs → chunk-KDZLBI6F.cjs} +17 -17
  36. package/dist/{chunk-2MYZWMDC.js → chunk-MCHPDWVH.js} +1 -1
  37. package/dist/{chunk-BFMSPWLP.cjs → chunk-N36HBL53.cjs} +9 -9
  38. package/dist/{chunk-PDEZ7BIN.js → chunk-NV5GNFA3.js} +3 -3
  39. package/dist/{chunk-25GVAXBU.js → chunk-PGGNSLM7.js} +1 -1
  40. package/dist/{chunk-2NGIGLVP.cjs → chunk-RPSYXORB.cjs} +8 -8
  41. package/dist/{chunk-U5JKHQBS.js → chunk-TAFNCDUI.js} +3 -3
  42. package/dist/{chunk-4KIMZJ3L.cjs → chunk-TFIDSENE.cjs} +6 -6
  43. package/dist/{chunk-FNWS4ZKT.js → chunk-UA6XSTW6.js} +1 -1
  44. package/dist/{chunk-7HQ6KUIO.cjs → chunk-UKYESVDS.cjs} +3 -3
  45. package/dist/{chunk-2UW42GAP.cjs → chunk-V4N255NL.cjs} +2 -1
  46. package/dist/{chunk-NULEEBCG.js → chunk-VO6KXO2I.js} +1 -1
  47. package/dist/{chunk-7FGL7HGS.cjs → chunk-WXSTSC3D.cjs} +3 -3
  48. package/dist/{chunk-VFPEMNSX.js → chunk-XSK7BWYO.js} +2 -2
  49. package/dist/{chunk-AU4IENXY.cjs → chunk-XVAPJ4PP.cjs} +12 -12
  50. package/dist/{chunk-KGMXUBWQ.js → chunk-YGYOLDKR.js} +11 -11
  51. package/dist/index.cjs +380 -380
  52. package/dist/index.js +26 -26
  53. package/package.json +1 -1
  54. package/dist/DeviceInfoApp-2MJFK32B.cjs +0 -11
  55. package/dist/DeviceInfoApp-KFYU3E43.js +0 -5
  56. package/dist/FilesApp-B7JR4PEP.cjs +0 -14
  57. package/dist/FilesApp-HYTIWN3O.js +0 -8
  58. package/dist/MenuEditApp-B2ZMG4ZY.cjs +0 -15
  59. package/dist/UploaderApp-MTRIYWV4.cjs +0 -16
  60. package/dist/UploaderApp-V3WUDCG2.js +0 -10
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 chunkBFMSPWLP_cjs = require('./chunk-BFMSPWLP.cjs');
8
+ var chunkN36HBL53_cjs = require('./chunk-N36HBL53.cjs');
9
9
  var chunkXYSMVQQD_cjs = require('./chunk-XYSMVQQD.cjs');
10
- var chunk2NGIGLVP_cjs = require('./chunk-2NGIGLVP.cjs');
10
+ var chunkRPSYXORB_cjs = require('./chunk-RPSYXORB.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 chunkKI5FXBOM_cjs = require('./chunk-KI5FXBOM.cjs');
19
- var chunkAU4IENXY_cjs = require('./chunk-AU4IENXY.cjs');
18
+ var chunkACHGJKCI_cjs = require('./chunk-ACHGJKCI.cjs');
19
+ var chunkXVAPJ4PP_cjs = require('./chunk-XVAPJ4PP.cjs');
20
20
  require('./chunk-RQ6OZRUW.cjs');
21
- var chunk4KIMZJ3L_cjs = require('./chunk-4KIMZJ3L.cjs');
21
+ var chunkTFIDSENE_cjs = require('./chunk-TFIDSENE.cjs');
22
22
  require('./chunk-UIQCTAVM.cjs');
23
- var chunk2O3W6TLG_cjs = require('./chunk-2O3W6TLG.cjs');
23
+ var chunkHPHHS7FJ_cjs = require('./chunk-HPHHS7FJ.cjs');
24
24
  var chunkBQCD5RAF_cjs = require('./chunk-BQCD5RAF.cjs');
25
- var chunkYSWU4OKP_cjs = require('./chunk-YSWU4OKP.cjs');
25
+ var chunkCILU6BWC_cjs = require('./chunk-CILU6BWC.cjs');
26
26
  require('./chunk-FX2TPX3L.cjs');
27
27
  var chunkYSOLW4FS_cjs = require('./chunk-YSOLW4FS.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');
28
+ var chunk4E4U2A25_cjs = require('./chunk-4E4U2A25.cjs');
29
+ var chunkKDZLBI6F_cjs = require('./chunk-KDZLBI6F.cjs');
30
+ var chunk4QHX7CMN_cjs = require('./chunk-4QHX7CMN.cjs');
31
+ var chunkFD7QZCTN_cjs = require('./chunk-FD7QZCTN.cjs');
32
32
  var chunkLMJE6V4N_cjs = require('./chunk-LMJE6V4N.cjs');
33
33
  require('./chunk-YP2PLNOF.cjs');
34
- var chunk7HQ6KUIO_cjs = require('./chunk-7HQ6KUIO.cjs');
34
+ var chunkUKYESVDS_cjs = require('./chunk-UKYESVDS.cjs');
35
35
  var chunkZX3EDZ5C_cjs = require('./chunk-ZX3EDZ5C.cjs');
36
- var chunkI5MJXFYW_cjs = require('./chunk-I5MJXFYW.cjs');
37
- var chunk7FGL7HGS_cjs = require('./chunk-7FGL7HGS.cjs');
36
+ var chunkDFYDUXWP_cjs = require('./chunk-DFYDUXWP.cjs');
37
+ var chunkWXSTSC3D_cjs = require('./chunk-WXSTSC3D.cjs');
38
38
  var chunk2PSTHGTD_cjs = require('./chunk-2PSTHGTD.cjs');
39
- var chunkYOHBUOZJ_cjs = require('./chunk-YOHBUOZJ.cjs');
39
+ var chunkGPXNLTPI_cjs = require('./chunk-GPXNLTPI.cjs');
40
40
  var chunkABIAPZ6S_cjs = require('./chunk-ABIAPZ6S.cjs');
41
- var chunk2UW42GAP_cjs = require('./chunk-2UW42GAP.cjs');
41
+ var chunkV4N255NL_cjs = require('./chunk-V4N255NL.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 = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setThemeMode);
242
- const toggleTheme = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.toggleTheme);
241
+ const setThemeMode = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.setThemeMode);
242
+ const toggleTheme = chunkFD7QZCTN_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 = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.mode);
268
- const setThemeModeStore = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setThemeMode);
267
+ const mode = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.theme.mode);
268
+ const setThemeModeStore = chunkFD7QZCTN_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 = chunk2UW42GAP_cjs.useDesktopStore((state) => state.setViewportSize);
349
+ const setViewportSize = chunkV4N255NL_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": `${chunk2UW42GAP_cjs.TASKBAR_HEIGHT}px`,
371
+ "--taskbar-height": `${chunkV4N255NL_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 = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.animationDuration);
445
+ const animationDuration = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.animationDuration);
446
446
  return {
447
447
  duration: 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)
448
+ windowVariants: chunkKDZLBI6F_cjs.createWindowVariants(animationDuration),
449
+ panelVariants: chunkKDZLBI6F_cjs.createPanelVariants(animationDuration),
450
+ minimizeVariant: chunkKDZLBI6F_cjs.createMinimizeVariant(0.3),
451
+ restoreVariant: chunkKDZLBI6F_cjs.createRestoreVariant(0.3),
452
+ maximizeTransition: chunkKDZLBI6F_cjs.createMaximizeTransition(0.25),
453
+ easeIn: chunkKDZLBI6F_cjs.createEaseIn(animationDuration),
454
+ easeOut: chunkKDZLBI6F_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(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon, size: 16 }) }),
598
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: CollapsibleSection_default.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunkDFYDUXWP_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
- chunkI5MJXFYW_cjs.AppIcon_default,
634
+ chunkDFYDUXWP_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 = chunkYSWU4OKP_cjs.useFolderName(folder);
649
+ const folderName = chunkCILU6BWC_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 = 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);
666
+ const openApp = chunkKDZLBI6F_cjs.useOpenApp();
667
+ const taskbarTheme = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.theme.taskbar);
668
+ const launcherFolders = chunkV4N255NL_cjs.useDesktopStore((state) => state.launcherFolders);
669
+ const customApps = chunkV4N255NL_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(() => [...chunk2UW42GAP_cjs.APPS].sort((a, b) => a.name.localeCompare(b.name)), []);
674
+ const allApps = react.useMemo(() => [...chunkV4N255NL_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(chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID)) {
724
- toggle(chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID);
723
+ if (filteredCustomApps.length > 0 && !expanded.has(chunkV4N255NL_cjs.CUSTOM_APPS_FOLDER_ID)) {
724
+ toggle(chunkV4N255NL_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 === chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID) {
831
+ if (folder.id === chunkV4N255NL_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 = chunkJX65IKJZ_cjs.useOpenApp();
921
+ const openApp = chunkKDZLBI6F_cjs.useOpenApp();
922
922
  const appName = useAppName("menuedit");
923
- const openWindow = chunk2UW42GAP_cjs.useDesktopStore((state) => state.openWindow);
923
+ const openWindow = chunkV4N255NL_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 - chunk2UW42GAP_cjs.TASKBAR_HEIGHT - height - MENU_MARGIN;
965
+ const nearBottom = y > window.innerHeight - chunkV4N255NL_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 = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.language);
2103
- const setLanguage = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setLanguage);
2102
+ const language = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.language);
2103
+ const setLanguage = chunkFD7QZCTN_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(chunk57ZTJB2W_cjs.LanguageFlag_default, { lang: language, size: 16 })
2122
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkFD7QZCTN_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(chunk57ZTJB2W_cjs.LanguageFlag_default, { lang, size: 20 }),
2139
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFD7QZCTN_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
- chunkI5MJXFYW_cjs.AppIcon_default,
2168
+ chunkDFYDUXWP_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 = 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);
2184
+ const taskbarBackground = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.theme.colors.taskbar);
2185
+ const themeMode = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.theme.mode);
2186
+ const toggleTheme = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.toggleTheme);
2187
+ const launcherIcon = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.launcherIcon);
2188
+ const notifications = chunkV4N255NL_cjs.useDesktopStore((state) => state.notifications);
2189
+ const removeNotification = chunkV4N255NL_cjs.useDesktopStore((state) => state.removeNotification);
2190
+ const windows = chunkV4N255NL_cjs.useDesktopStore((state) => state.windows);
2191
+ const restoreWindow = chunkV4N255NL_cjs.useDesktopStore((state) => state.restoreWindow);
2192
+ const minimizeWindow = chunkV4N255NL_cjs.useDesktopStore((state) => state.minimizeWindow);
2193
+ const focusWindow = chunkV4N255NL_cjs.useDesktopStore((state) => state.focusWindow);
2194
+ const closeWindow = chunkV4N255NL_cjs.useDesktopStore((state) => state.closeWindow);
2195
+ const maximizeWindow = chunkV4N255NL_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(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon: notifOpen ? "FcCollapse" : "FcExpand", size: 18 })
2264
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkDFYDUXWP_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(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon: n.fcIcon, size: 18 }) : void 0,
2271
+ icon: n.fcIcon ? /* @__PURE__ */ jsxRuntime.jsx(chunkDFYDUXWP_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 (!chunk2UW42GAP_cjs.useDesktopStore.getState().isFsReady) {
2493
+ if (!chunkV4N255NL_cjs.useDesktopStore.getState().isFsReady) {
2494
2494
  await new Promise((resolve) => {
2495
- const unsub = chunk2UW42GAP_cjs.useDesktopStore.subscribe((state) => {
2495
+ const unsub = chunkV4N255NL_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 = chunk2UW42GAP_cjs.useCustomAppStore.getState().registeredApps;
2505
- const { added, removed } = await chunk2UW42GAP_cjs.syncWithServer(currentApps);
2504
+ const currentApps = chunkV4N255NL_cjs.useCustomAppStore.getState().registeredApps;
2505
+ const { added, removed } = await chunkV4N255NL_cjs.syncWithServer(currentApps);
2506
2506
  for (const app of added) {
2507
- chunk2UW42GAP_cjs.useCustomAppStore.getState().registerApp(app);
2508
- chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(app);
2507
+ chunkV4N255NL_cjs.useCustomAppStore.getState().registerApp(app);
2508
+ chunkV4N255NL_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(app);
2509
2509
  }
2510
2510
  for (const appId of removed) {
2511
- chunk2UW42GAP_cjs.useCustomAppStore.getState().unregisterApp(appId);
2512
- chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2511
+ chunkV4N255NL_cjs.useCustomAppStore.getState().unregisterApp(appId);
2512
+ chunkV4N255NL_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
- 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;
2549
+ chunkV4N255NL_cjs.useCustomAppStore.getState().resetHmrRetry();
2550
+ chunkV4N255NL_cjs.useCustomAppStore.getState().setHmrConnected(true);
2551
+ chunkV4N255NL_cjs.useCustomAppStore.getState().setHmrError(null);
2552
+ const wasOffline = chunkV4N255NL_cjs.useCustomAppStore.getState().devServerOffline;
2553
2553
  if (wasOffline) {
2554
2554
  onOnline();
2555
2555
  }
2556
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setDevServerOffline(false);
2556
+ chunkV4N255NL_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
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setHmrConnected(false);
2576
+ chunkV4N255NL_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
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setHmrError("Connection failed");
2585
+ chunkV4N255NL_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 } = chunkKI5FXBOM_cjs.useNotifications();
2602
+ const { notify } = chunkACHGJKCI_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 = chunk2UW42GAP_cjs.useCustomAppStore.getState().mountedApps[appId];
2611
+ const appState = chunkV4N255NL_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
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppLoading(appId);
2623
+ chunkV4N255NL_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 = !!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);
2636
+ const alreadyRegistered = !!chunkV4N255NL_cjs.useCustomAppStore.getState().registeredApps[message.manifest.id];
2637
+ chunkV4N255NL_cjs.clearManifestCache();
2638
+ chunkV4N255NL_cjs.updateManifestCache(message.manifest);
2639
+ chunkV4N255NL_cjs.useCustomAppStore.getState().registerApp(message.manifest);
2640
+ chunkV4N255NL_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
- chunk2UW42GAP_cjs.clearManifestCache();
2656
- chunk2UW42GAP_cjs.removeFromManifestCache(appId);
2657
- chunk2UW42GAP_cjs.useCustomAppStore.getState().unregisterApp(appId);
2658
- chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2655
+ chunkV4N255NL_cjs.clearManifestCache();
2656
+ chunkV4N255NL_cjs.removeFromManifestCache(appId);
2657
+ chunkV4N255NL_cjs.useCustomAppStore.getState().unregisterApp(appId);
2658
+ chunkV4N255NL_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
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setDevServerOffline(true);
2674
+ chunkV4N255NL_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 } = chunkKI5FXBOM_cjs.useNotifications();
2722
+ const { notify } = chunkACHGJKCI_cjs.useNotifications();
2723
2723
  const handleAppRegistered = react.useCallback(
2724
2724
  (manifest) => {
2725
- chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppRegistered?.(manifest);
2725
+ chunkV4N255NL_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
- chunk2UW42GAP_cjs.useDesktopStore.getState().handleCustomAppUnregistered?.(appId);
2731
+ chunkV4N255NL_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 = 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();
2799
+ const devServerOffline = chunkV4N255NL_cjs.useCustomAppStore((state) => state.devServerOffline);
2800
+ const appState = chunkV4N255NL_cjs.useCustomAppStore((state) => state.mountedApps[appId]);
2801
+ const setAppLoading = chunkV4N255NL_cjs.useCustomAppStore((state) => state.setAppLoading);
2802
+ const setAppLoaded = chunkV4N255NL_cjs.useCustomAppStore((state) => state.setAppLoaded);
2803
+ const setAppError = chunkV4N255NL_cjs.useCustomAppStore((state) => state.setAppError);
2804
+ const clearApp = chunkV4N255NL_cjs.useCustomAppStore((state) => state.clearApp);
2805
+ const { notify } = chunkACHGJKCI_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
- chunk2UW42GAP_cjs.clearManifestCache();
2839
- const manifest = await chunk2UW42GAP_cjs.fetchAppManifest(true);
2838
+ chunkV4N255NL_cjs.clearManifestCache();
2839
+ const manifest = await chunkV4N255NL_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 = chunk2UW42GAP_cjs.useCustomAppStore.getState().mountedApps[appId];
2874
+ const currentState2 = chunkV4N255NL_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 = chunk2UW42GAP_cjs.useCustomAppStore.getState().mountedApps[appId];
2881
+ const currentState = chunkV4N255NL_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
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppReady(appId);
2890
+ chunkV4N255NL_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 = 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);
3026
+ const isCustomApp2 = chunkV4N255NL_cjs.useCustomAppStore((state) => win.content in state.registeredApps);
3027
+ const appComponent = react.useMemo(() => chunkKDZLBI6F_cjs.getAppComponent(win.content), [win.content]);
3028
+ const buildMenuBar = react.useMemo(() => chunkKDZLBI6F_cjs.getMenuBarBuilder(win.content), [win.content]);
3029
+ const MenuBarComp = react.useMemo(() => chunkKDZLBI6F_cjs.getMenuBarComponent(win.content), [win.content]);
3030
+ const lazy = react.useMemo(() => chunkKDZLBI6F_cjs.isLazyApp(win.content), [win.content]);
3031
+ const appName = react.useMemo(() => chunkKDZLBI6F_cjs.getAppName(win.content), [win.content]);
3032
+ const closeWindow = chunkV4N255NL_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 = chunk2UW42GAP_cjs.useDesktopStore((state) => state.windows.find((w) => w.id === winProp.id));
3064
+ const winFromStore = chunkV4N255NL_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
- } = chunk2UW42GAP_cjs.useDesktopStore(
3075
+ } = chunkV4N255NL_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 = 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);
3086
+ const windowColor = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.theme.colors.window);
3087
+ const isOpen = chunkWXSTSC3D_cjs.useCloseModalStore((state) => state.isOpen);
3088
+ const modalWindowId = chunkWXSTSC3D_cjs.useCloseModalStore((state) => state.windowId);
3089
+ const onSave = chunkWXSTSC3D_cjs.useCloseModalStore((state) => state.onSave);
3090
+ const onDiscard = chunkWXSTSC3D_cjs.useCloseModalStore((state) => state.onDiscard);
3091
+ const closeModal = chunkWXSTSC3D_cjs.useCloseModalStore((state) => state.closeModal);
3092
3092
  const { windowVariants: animVariants, easeIn } = useAnimationDuration();
3093
- const isFocused = chunk2UW42GAP_cjs.useDesktopStore((state) => {
3093
+ const isFocused = chunkV4N255NL_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(chunkJX65IKJZ_cjs.restoreVariant(btnCenterX - winCenterX, btnCenterY - winCenterY));
3117
+ controls.start(chunkKDZLBI6F_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 = chunk2UW42GAP_cjs.APPS.find((a) => a.id === win.content);
3128
+ const app = chunkV4N255NL_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(chunkJX65IKJZ_cjs.minimizeVariant(btnCenterX - winCenterX, btnCenterY - winCenterY));
3147
+ await controls.start(chunkKDZLBI6F_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 = chunk7FGL7HGS_cjs.getCloseInterceptor(win.id);
3154
+ const closeInterceptor = chunkWXSTSC3D_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: chunkJX65IKJZ_cjs.maximizeTransition,
3209
+ transition: chunkKDZLBI6F_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
- chunkI5MJXFYW_cjs.AppIcon_default,
3214
+ chunkDFYDUXWP_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 = chunk2UW42GAP_cjs.APPS.find((a) => a.id === icon.appId);
3286
+ const app = chunkV4N255NL_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
- chunkI5MJXFYW_cjs.AppIcon_default,
3338
+ chunkDFYDUXWP_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 = 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);
3397
+ const contextMenu = chunkV4N255NL_cjs.useDesktopStore((state) => state.contextMenu);
3398
+ const closeContextMenu = chunkV4N255NL_cjs.useDesktopStore((state) => state.closeContextMenu);
3399
+ const copyToClipboard = chunkV4N255NL_cjs.useDesktopStore((state) => state.copyToClipboard);
3400
+ const cutToClipboard = chunkV4N255NL_cjs.useDesktopStore((state) => state.cutToClipboard);
3401
+ const clipboard = chunkV4N255NL_cjs.useDesktopStore((state) => state.clipboard);
3402
+ const clearClipboard = chunkV4N255NL_cjs.useDesktopStore((state) => state.clearClipboard);
3403
+ const fsNodes = chunkV4N255NL_cjs.useDesktopStore((state) => state.fsNodes);
3404
+ const addNotification = chunkV4N255NL_cjs.useDesktopStore((state) => state.addNotification);
3405
+ const openWindow = chunkV4N255NL_cjs.useDesktopStore((state) => state.openWindow);
3406
+ const desktopSortMode = chunkV4N255NL_cjs.useDesktopStore((state) => state.desktopSortMode);
3407
+ const filesSortMode = chunkV4N255NL_cjs.useDesktopStore((state) => state.filesSortMode);
3408
+ const setDesktopSortMode = chunkV4N255NL_cjs.useDesktopStore((state) => state.setDesktopSortMode);
3409
+ const setFilesSortMode = chunkV4N255NL_cjs.useDesktopStore((state) => state.setFilesSortMode);
3410
+ const setFsNodes = chunkV4N255NL_cjs.useDesktopStore((state) => state.setFsNodes);
3411
+ const syncIcons = chunkV4N255NL_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 } = chunkJX65IKJZ_cjs.randomWindowPosition();
3424
+ const { x, y } = chunkKDZLBI6F_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 chunk2UW42GAP_cjs.fileSystem.delete(deleteConfirm.nodeId);
3451
- setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3450
+ await chunkV4N255NL_cjs.fileSystem.delete(deleteConfirm.nodeId);
3451
+ setFsNodes(chunkV4N255NL_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 chunk2UW42GAP_cjs.fileSystem.createFolder(
3474
+ const newFolder = await chunkV4N255NL_cjs.fileSystem.createFolder(
3475
3475
  sourceFolder.name,
3476
3476
  targetParentId,
3477
3477
  sourceFolder.iconName,
3478
3478
  sourceFolder.iconColor
3479
3479
  );
3480
- const children = chunk2UW42GAP_cjs.fileSystem.getChildren(sourceFolder.id);
3480
+ const children = chunkV4N255NL_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 chunk2UW42GAP_cjs.fileSystem.createFile(child.name, child.content || "", newFolder.id);
3485
+ await chunkV4N255NL_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 chunk2UW42GAP_cjs.fileSystem.move(node.id, parentId);
3494
- setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3493
+ await chunkV4N255NL_cjs.fileSystem.move(node.id, parentId);
3494
+ setFsNodes(chunkV4N255NL_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 chunk2UW42GAP_cjs.fileSystem.delete(existingFolder.id);
3509
+ await chunkV4N255NL_cjs.fileSystem.delete(existingFolder.id);
3510
3510
  }
3511
3511
  if (!existingFolder || replaceExisting) {
3512
3512
  await copyFolderRecursive(node, parentId);
3513
- setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3513
+ setFsNodes(chunkV4N255NL_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 chunk2UW42GAP_cjs.fileSystem.delete(existingFile.id);
3519
+ await chunkV4N255NL_cjs.fileSystem.delete(existingFile.id);
3520
3520
  }
3521
3521
  if (!existingFile || replaceExisting) {
3522
3522
  try {
3523
- await chunk2UW42GAP_cjs.fileSystem.createFile(node.name, node.content || "", parentId);
3524
- setFsNodes(chunk2UW42GAP_cjs.fileSystem.getAllNodes());
3523
+ await chunkV4N255NL_cjs.fileSystem.createFile(node.name, node.content || "", parentId);
3524
+ setFsNodes(chunkV4N255NL_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(chunkI5MJXFYW_cjs.AppIcon_default, { fcIcon: opt.icon, size: 14 }),
3644
+ leftSection: /* @__PURE__ */ jsxRuntime.jsx(chunkDFYDUXWP_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 } = chunkBFMSPWLP_cjs.useDeviceDetection();
3733
+ const { isPortrait, shouldShowWarning } = chunkN36HBL53_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 = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.applySystemTheme);
3762
- const themeSetManually = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.themeSetManually);
3761
+ const applySystemTheme = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.applySystemTheme);
3762
+ const themeSetManually = chunkFD7QZCTN_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 (!chunk57ZTJB2W_cjs.useSettingsStore.getState().themeSetManually) {
3770
+ if (!chunkFD7QZCTN_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 = 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();
3809
+ const mergeSeed = chunkV4N255NL_cjs.useDesktopStore((state) => state.mergeSeed);
3810
+ const mergeDesktopApps = chunkV4N255NL_cjs.useDesktopStore((state) => state.mergeDesktopApps);
3811
+ const reorderDesktopApps = chunkV4N255NL_cjs.useDesktopStore((state) => state.reorderDesktopApps);
3812
+ const { notify } = chunkACHGJKCI_cjs.useNotifications();
3813
3813
  react.useEffect(() => {
3814
3814
  if (typeof window === "undefined") return;
3815
3815
  if (appUpdateCheckStarted) return;
@@ -3838,13 +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(chunk2UW42GAP_cjs.resolveUrl("version.json")).then((r) => r.json());
3841
+ const fetched = await fetch(chunkV4N255NL_cjs.resolveUrl("version.json")).then((r) => r.json());
3842
3842
  if (storedVersion?.sha === fetched.sha) return;
3843
- const manifest = await chunk2UW42GAP_cjs.fetchFsManifest();
3843
+ const manifest = await chunkV4N255NL_cjs.fetchFsManifest();
3844
3844
  if (!manifest) return;
3845
3845
  mergeSeed(manifest);
3846
- mergeDesktopApps(chunk2UW42GAP_cjs.DESKTOP_APPS_ORDER);
3847
- reorderDesktopApps(chunk2UW42GAP_cjs.DESKTOP_APPS_ORDER);
3846
+ mergeDesktopApps(chunkV4N255NL_cjs.DESKTOP_APPS_ORDER);
3847
+ reorderDesktopApps(chunkV4N255NL_cjs.DESKTOP_APPS_ORDER);
3848
3848
  localStorage.setItem(VERSION_STORAGE_KEY, JSON.stringify(fetched));
3849
3849
  notify("New version available!", "Close this notification to install it.", {
3850
3850
  fcIcon: "FcEngineering",
@@ -3859,7 +3859,7 @@ var buildGoogleFontsUrl = (fontName) => {
3859
3859
  return `https://fonts.googleapis.com/css2?family=${familyParam}&display=swap`;
3860
3860
  };
3861
3861
  var injectFontLink2 = (font) => {
3862
- const href = chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[font];
3862
+ const href = chunkFD7QZCTN_cjs.GOOGLE_FONTS_HREF[font];
3863
3863
  if (!href) return;
3864
3864
  const existing = document.head.querySelector(`link[data-font="${font}"]`);
3865
3865
  if (existing) return;
@@ -3870,33 +3870,33 @@ var injectFontLink2 = (font) => {
3870
3870
  document.head.appendChild(link);
3871
3871
  };
3872
3872
  var useApplyFont = () => {
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);
3873
+ const font = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.font);
3874
+ const fontSize = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.fontSize);
3875
+ const downloadedFonts = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.downloadedFonts);
3876
3876
  react.useEffect(() => {
3877
3877
  downloadedFonts.forEach((fontName) => {
3878
- if (!chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[fontName]) {
3879
- chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[fontName] = buildGoogleFontsUrl(fontName);
3878
+ if (!chunkFD7QZCTN_cjs.GOOGLE_FONTS_HREF[fontName]) {
3879
+ chunkFD7QZCTN_cjs.GOOGLE_FONTS_HREF[fontName] = buildGoogleFontsUrl(fontName);
3880
3880
  }
3881
3881
  injectFontLink2(fontName);
3882
3882
  });
3883
3883
  }, [downloadedFonts]);
3884
3884
  react.useEffect(() => {
3885
- const presetFonts = chunk57ZTJB2W_cjs.AVAILABLE_FONTS.map((f) => f.value);
3885
+ const presetFonts = chunkFD7QZCTN_cjs.AVAILABLE_FONTS.map((f) => f.value);
3886
3886
  const isPresetFont = presetFonts.includes(font);
3887
3887
  if (!isPresetFont && downloadedFonts.includes(font)) {
3888
- if (!chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[font]) {
3889
- chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF[font] = buildGoogleFontsUrl(font);
3888
+ if (!chunkFD7QZCTN_cjs.GOOGLE_FONTS_HREF[font]) {
3889
+ chunkFD7QZCTN_cjs.GOOGLE_FONTS_HREF[font] = buildGoogleFontsUrl(font);
3890
3890
  }
3891
3891
  injectFontLink2(font);
3892
3892
  }
3893
3893
  let stack;
3894
3894
  if (isPresetFont) {
3895
- stack = chunk57ZTJB2W_cjs.FONT_STACKS[font] ?? chunk57ZTJB2W_cjs.FONT_STACKS["system-ui"];
3895
+ stack = chunkFD7QZCTN_cjs.FONT_STACKS[font] ?? chunkFD7QZCTN_cjs.FONT_STACKS["system-ui"];
3896
3896
  } else if (downloadedFonts.includes(font)) {
3897
3897
  stack = `"${font}", sans-serif`;
3898
3898
  } else {
3899
- stack = chunk57ZTJB2W_cjs.FONT_STACKS["system-ui"];
3899
+ stack = chunkFD7QZCTN_cjs.FONT_STACKS["system-ui"];
3900
3900
  }
3901
3901
  document.documentElement.style.setProperty("font-family", stack);
3902
3902
  document.documentElement.style.setProperty("--mantine-font-family", stack);
@@ -3905,7 +3905,7 @@ var useApplyFont = () => {
3905
3905
  };
3906
3906
  function useLanguageSync() {
3907
3907
  const { i18n: i18n2 } = reactI18next.useTranslation();
3908
- const language = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.language);
3908
+ const language = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.language);
3909
3909
  react.useEffect(() => {
3910
3910
  if (language && i18n2.language !== language) {
3911
3911
  i18n2.changeLanguage(language);
@@ -4117,7 +4117,7 @@ function prefetchApps(apps) {
4117
4117
  var apiInstance = null;
4118
4118
  var subscribers = /* @__PURE__ */ new Map();
4119
4119
  function getActiveWindowId() {
4120
- const { windows } = chunk2UW42GAP_cjs.useDesktopStore.getState();
4120
+ const { windows } = chunkV4N255NL_cjs.useDesktopStore.getState();
4121
4121
  const visibleWindows = windows.filter(
4122
4122
  (w) => w.isOpen && w.state !== "minimized"
4123
4123
  );
@@ -4149,8 +4149,8 @@ function initializeFdeApi() {
4149
4149
  }
4150
4150
  apiInstance = {
4151
4151
  openApp: (appId, options) => {
4152
- const openWindow = chunk2UW42GAP_cjs.useDesktopStore.getState().openWindow;
4153
- const app = chunk2UW42GAP_cjs.APPS.find((a) => a.id === appId);
4152
+ const openWindow = chunkV4N255NL_cjs.useDesktopStore.getState().openWindow;
4153
+ const app = chunkV4N255NL_cjs.APPS.find((a) => a.id === appId);
4154
4154
  const windowOptions = {
4155
4155
  content: appId,
4156
4156
  title: options?.title ?? app?.name ?? appId,
@@ -4169,45 +4169,45 @@ function initializeFdeApi() {
4169
4169
  contentData: options?.contentData
4170
4170
  };
4171
4171
  openWindow(windowOptions);
4172
- const windowId = chunk2UW42GAP_cjs.useDesktopStore.getState().windows[chunk2UW42GAP_cjs.useDesktopStore.getState().windows.length - 1]?.id ?? "";
4172
+ const windowId = chunkV4N255NL_cjs.useDesktopStore.getState().windows[chunkV4N255NL_cjs.useDesktopStore.getState().windows.length - 1]?.id ?? "";
4173
4173
  emitEvent("window-opened", { windowId, content: appId });
4174
4174
  },
4175
4175
  closeWindow: (windowId) => {
4176
4176
  const id = windowId ?? getActiveWindowId();
4177
4177
  if (id) {
4178
- chunk2UW42GAP_cjs.useDesktopStore.getState().closeWindow(id);
4178
+ chunkV4N255NL_cjs.useDesktopStore.getState().closeWindow(id);
4179
4179
  emitEvent("window-closed", { windowId: id });
4180
4180
  }
4181
4181
  },
4182
4182
  minimizeWindow: (windowId) => {
4183
4183
  const id = windowId ?? getActiveWindowId();
4184
4184
  if (id) {
4185
- chunk2UW42GAP_cjs.useDesktopStore.getState().minimizeWindow(id);
4185
+ chunkV4N255NL_cjs.useDesktopStore.getState().minimizeWindow(id);
4186
4186
  emitEvent("window-minimized", { windowId: id });
4187
4187
  }
4188
4188
  },
4189
4189
  maximizeWindow: (windowId) => {
4190
4190
  const id = windowId ?? getActiveWindowId();
4191
4191
  if (id) {
4192
- chunk2UW42GAP_cjs.useDesktopStore.getState().maximizeWindow(id);
4192
+ chunkV4N255NL_cjs.useDesktopStore.getState().maximizeWindow(id);
4193
4193
  emitEvent("window-maximized", { windowId: id });
4194
4194
  }
4195
4195
  },
4196
4196
  restoreWindow: (windowId) => {
4197
4197
  const id = windowId ?? getActiveWindowId();
4198
4198
  if (id) {
4199
- chunk2UW42GAP_cjs.useDesktopStore.getState().restoreWindow(id);
4199
+ chunkV4N255NL_cjs.useDesktopStore.getState().restoreWindow(id);
4200
4200
  }
4201
4201
  },
4202
4202
  focusWindow: (windowId) => {
4203
4203
  const id = windowId ?? getActiveWindowId();
4204
4204
  if (id) {
4205
- chunk2UW42GAP_cjs.useDesktopStore.getState().focusWindow(id);
4205
+ chunkV4N255NL_cjs.useDesktopStore.getState().focusWindow(id);
4206
4206
  emitEvent("window-focused", { windowId: id });
4207
4207
  }
4208
4208
  },
4209
4209
  openFile: (path, _appId) => {
4210
- chunk2UW42GAP_cjs.useDesktopStore.getState().openWindow({
4210
+ chunkV4N255NL_cjs.useDesktopStore.getState().openWindow({
4211
4211
  content: "files",
4212
4212
  contentData: { initialPath: path },
4213
4213
  title: "Files",
@@ -4233,18 +4233,18 @@ function initializeFdeApi() {
4233
4233
  return null;
4234
4234
  },
4235
4235
  getTheme: () => {
4236
- return chunk57ZTJB2W_cjs.useSettingsStore.getState().theme;
4236
+ return chunkFD7QZCTN_cjs.useSettingsStore.getState().theme;
4237
4237
  },
4238
4238
  setTheme: (theme) => {
4239
4239
  const customColors = theme;
4240
4240
  if (customColors.taskbar && customColors.window && customColors.accent) {
4241
- chunk57ZTJB2W_cjs.useSettingsStore.getState().setCustomThemeColors(customColors);
4241
+ chunkFD7QZCTN_cjs.useSettingsStore.getState().setCustomThemeColors(customColors);
4242
4242
  emitEvent("theme-changed", { theme: JSON.stringify(theme) });
4243
4243
  }
4244
4244
  },
4245
4245
  showNotification: (options) => {
4246
- const id = chunk2UW42GAP_cjs.generateUUID();
4247
- chunk2UW42GAP_cjs.useDesktopStore.getState().addNotification({
4246
+ const id = chunkV4N255NL_cjs.generateUUID();
4247
+ chunkV4N255NL_cjs.useDesktopStore.getState().addNotification({
4248
4248
  id,
4249
4249
  title: options.title,
4250
4250
  message: options.message,
@@ -4254,18 +4254,18 @@ function initializeFdeApi() {
4254
4254
  return id;
4255
4255
  },
4256
4256
  hideNotification: (notificationId) => {
4257
- chunk2UW42GAP_cjs.useDesktopStore.getState().removeNotification(notificationId);
4257
+ chunkV4N255NL_cjs.useDesktopStore.getState().removeNotification(notificationId);
4258
4258
  },
4259
4259
  getWindows: () => {
4260
- return chunk2UW42GAP_cjs.useDesktopStore.getState().windows;
4260
+ return chunkV4N255NL_cjs.useDesktopStore.getState().windows;
4261
4261
  },
4262
4262
  getActiveWindow: () => {
4263
- const windows = chunk2UW42GAP_cjs.useDesktopStore.getState().windows;
4263
+ const windows = chunkV4N255NL_cjs.useDesktopStore.getState().windows;
4264
4264
  const activeId = getActiveWindowId();
4265
4265
  return activeId ? windows.find((w) => w.id === activeId) ?? null : null;
4266
4266
  },
4267
4267
  getWindowById: (windowId) => {
4268
- return chunk2UW42GAP_cjs.useDesktopStore.getState().windows.find((w) => w.id === windowId) ?? null;
4268
+ return chunkV4N255NL_cjs.useDesktopStore.getState().windows.find((w) => w.id === windowId) ?? null;
4269
4269
  },
4270
4270
  on: (event, callback) => {
4271
4271
  if (!subscribers.has(event)) {
@@ -4279,12 +4279,12 @@ function initializeFdeApi() {
4279
4279
  off: (event, callback) => {
4280
4280
  subscribers.get(event)?.delete(callback);
4281
4281
  },
4282
- fs: chunk2UW42GAP_cjs.fileSystem,
4282
+ fs: chunkV4N255NL_cjs.fileSystem,
4283
4283
  appReady: (appId) => {
4284
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppReady(appId);
4284
+ chunkV4N255NL_cjs.useCustomAppStore.getState().setAppReady(appId);
4285
4285
  },
4286
4286
  registerAppInstance: (appId, instance) => {
4287
- chunk2UW42GAP_cjs.useCustomAppStore.getState().setAppReady(appId, instance);
4287
+ chunkV4N255NL_cjs.useCustomAppStore.getState().setAppReady(appId, instance);
4288
4288
  }
4289
4289
  };
4290
4290
  window.__FDE_API__ = apiInstance;
@@ -4305,19 +4305,19 @@ function FdeDesktopContent({
4305
4305
  initialApp,
4306
4306
  prefetchLoaders
4307
4307
  }) {
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();
4308
+ const wallpaper = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.wallpaper);
4309
+ const resolvedWallpaper = chunkUKYESVDS_cjs.useResolvedUrl(wallpaper ?? void 0);
4310
+ const windows = chunkV4N255NL_cjs.useDesktopStore((state) => state.windows);
4311
+ const icons = chunkV4N255NL_cjs.useDesktopStore((state) => state.icons);
4312
+ const initFs = chunkV4N255NL_cjs.useDesktopStore((state) => state.initFs);
4313
+ const isFsReady = chunkV4N255NL_cjs.useDesktopStore((state) => state.isFsReady);
4314
+ const fsNodes = chunkV4N255NL_cjs.useDesktopStore((state) => state.fsNodes);
4315
+ const openContextMenu = chunkV4N255NL_cjs.useDesktopStore((state) => state.openContextMenu);
4316
+ const filesCurrentFolderId = chunkV4N255NL_cjs.useDesktopStore((state) => state.filesCurrentFolderId);
4317
+ const desktopFolderId = chunkV4N255NL_cjs.useDesktopStore((state) => state.desktopFolderId);
4318
+ const openApp = chunkKDZLBI6F_cjs.useOpenApp();
4319
+ const { shouldShowWarning } = chunkN36HBL53_cjs.useDeviceDetection();
4320
+ const { notify } = chunkACHGJKCI_cjs.useNotifications();
4321
4321
  const [userDismissed, setUserDismissed] = react.useState(false);
4322
4322
  useSystemTheme();
4323
4323
  useAppUpdate();
@@ -4377,7 +4377,7 @@ function FdeDesktopContent({
4377
4377
  if (node?.type === "folder") {
4378
4378
  contentData = { initialFolderId: nodeId };
4379
4379
  } else if (node?.type === "file") {
4380
- const result = chunk2UW42GAP_cjs.getAppIdForMime(node);
4380
+ const result = chunkV4N255NL_cjs.getAppIdForMime(node);
4381
4381
  if (!result) {
4382
4382
  notify(
4383
4383
  "Unsupported file type",
@@ -4460,8 +4460,8 @@ function FdeDesktopInner({
4460
4460
  prefetchLoaders
4461
4461
  }) {
4462
4462
  const themeValue = useTheme();
4463
- const setThemeMode = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.setThemeMode);
4464
- const toggleTheme = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.toggleTheme);
4463
+ const setThemeMode = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.setThemeMode);
4464
+ const toggleTheme = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.toggleTheme);
4465
4465
  const contextValue = react.useMemo(
4466
4466
  () => ({
4467
4467
  fs: isReady ? null : null,
@@ -4500,16 +4500,16 @@ function FdeDesktop({
4500
4500
  }) {
4501
4501
  const [isReady, setIsReady] = react.useState(false);
4502
4502
  const [error, setError] = react.useState(null);
4503
- const storeMode = chunk57ZTJB2W_cjs.useSettingsStore((state) => state.theme.mode);
4503
+ const storeMode = chunkFD7QZCTN_cjs.useSettingsStore((state) => state.theme.mode);
4504
4504
  const [modeOverride] = react.useState(initialMode);
4505
4505
  const mode = modeOverride ?? storeMode;
4506
4506
  react.useEffect(() => {
4507
4507
  let mounted = true;
4508
4508
  const init = async () => {
4509
4509
  try {
4510
- chunkJX65IKJZ_cjs.initCoreRegistry();
4510
+ chunkKDZLBI6F_cjs.initCoreRegistry();
4511
4511
  if (customApps) {
4512
- chunkJX65IKJZ_cjs.registerComponents(customApps);
4512
+ chunkKDZLBI6F_cjs.registerComponents(customApps);
4513
4513
  }
4514
4514
  } catch (err) {
4515
4515
  console.error("[FdeDesktop] Failed to initialize core registry:", err);
@@ -4570,7 +4570,7 @@ var DynamicMenuBarRenderer = ({
4570
4570
  return /* @__PURE__ */ jsxRuntime.jsx(Component, { windowId, contentData, onExit });
4571
4571
  };
4572
4572
  var DynamicMenuBarRenderer_default = DynamicMenuBarRenderer;
4573
- var CONTEXT_MENU_APPS = chunk2UW42GAP_cjs.APPS.filter((a) => a.id !== "settings");
4573
+ var CONTEXT_MENU_APPS = chunkV4N255NL_cjs.APPS.filter((a) => a.id !== "settings");
4574
4574
  var ContextMenu = ({
4575
4575
  opened,
4576
4576
  position,
@@ -4648,7 +4648,7 @@ var useContextMenu = (offsetY = 0, appId) => {
4648
4648
  (e, customOffsetY) => {
4649
4649
  e.preventDefault();
4650
4650
  if (appId) {
4651
- const app = chunk2UW42GAP_cjs.APPS.find((a) => a.id === appId);
4651
+ const app = chunkV4N255NL_cjs.APPS.find((a) => a.id === appId);
4652
4652
  if (!app?.hasContextMenu) {
4653
4653
  e.stopPropagation();
4654
4654
  return;
@@ -4677,7 +4677,7 @@ function useIsDirty({
4677
4677
  react.useEffect(() => {
4678
4678
  if (snapshotRef.current === null) {
4679
4679
  if (appId) {
4680
- const stored = chunkAU4IENXY_cjs.useAppTempMemoryStore.getState().getSnapshot(appId);
4680
+ const stored = chunkXVAPJ4PP_cjs.useAppTempMemoryStore.getState().getSnapshot(appId);
4681
4681
  if (stored !== null) {
4682
4682
  snapshotRef.current = stored;
4683
4683
  return;
@@ -4702,7 +4702,7 @@ function useIsDirty({
4702
4702
  snapshotRef.current = current;
4703
4703
  setIsDirty(false);
4704
4704
  if (appId) {
4705
- chunkAU4IENXY_cjs.useAppTempMemoryStore.getState().setSnapshot(appId, current);
4705
+ chunkXVAPJ4PP_cjs.useAppTempMemoryStore.getState().setSnapshot(appId, current);
4706
4706
  }
4707
4707
  if (onChangeRef.current) {
4708
4708
  onChangeRef.current(false);
@@ -4843,11 +4843,11 @@ Object.defineProperty(exports, "StorybookApp", {
4843
4843
  });
4844
4844
  Object.defineProperty(exports, "DeviceInfoApp", {
4845
4845
  enumerable: true,
4846
- get: function () { return chunkBFMSPWLP_cjs.DeviceInfoApp_default; }
4846
+ get: function () { return chunkN36HBL53_cjs.DeviceInfoApp_default; }
4847
4847
  });
4848
4848
  Object.defineProperty(exports, "useDeviceDetection", {
4849
4849
  enumerable: true,
4850
- get: function () { return chunkBFMSPWLP_cjs.useDeviceDetection; }
4850
+ get: function () { return chunkN36HBL53_cjs.useDeviceDetection; }
4851
4851
  });
4852
4852
  Object.defineProperty(exports, "CalendarApp", {
4853
4853
  enumerable: true,
@@ -4855,15 +4855,15 @@ Object.defineProperty(exports, "CalendarApp", {
4855
4855
  });
4856
4856
  Object.defineProperty(exports, "CreateItemApp", {
4857
4857
  enumerable: true,
4858
- get: function () { return chunk2NGIGLVP_cjs.CreateItemApp_default; }
4858
+ get: function () { return chunkRPSYXORB_cjs.CreateItemApp_default; }
4859
4859
  });
4860
4860
  Object.defineProperty(exports, "IconColorPicker", {
4861
4861
  enumerable: true,
4862
- get: function () { return chunk2NGIGLVP_cjs.IconColorPicker_default; }
4862
+ get: function () { return chunkRPSYXORB_cjs.IconColorPicker_default; }
4863
4863
  });
4864
4864
  Object.defineProperty(exports, "PRESET_ICONS", {
4865
4865
  enumerable: true,
4866
- get: function () { return chunk2NGIGLVP_cjs.PRESET_ICONS; }
4866
+ get: function () { return chunkRPSYXORB_cjs.PRESET_ICONS; }
4867
4867
  });
4868
4868
  Object.defineProperty(exports, "NotesMenuBar", {
4869
4869
  enumerable: true,
@@ -4899,27 +4899,27 @@ Object.defineProperty(exports, "DirtyIndicator", {
4899
4899
  });
4900
4900
  Object.defineProperty(exports, "FilesApp", {
4901
4901
  enumerable: true,
4902
- get: function () { return chunkKI5FXBOM_cjs.FilesApp_default; }
4902
+ get: function () { return chunkACHGJKCI_cjs.FilesApp_default; }
4903
4903
  });
4904
4904
  Object.defineProperty(exports, "useNotifications", {
4905
4905
  enumerable: true,
4906
- get: function () { return chunkKI5FXBOM_cjs.useNotifications; }
4906
+ get: function () { return chunkACHGJKCI_cjs.useNotifications; }
4907
4907
  });
4908
4908
  Object.defineProperty(exports, "NotesApp", {
4909
4909
  enumerable: true,
4910
- get: function () { return chunkAU4IENXY_cjs.NotesApp_default; }
4910
+ get: function () { return chunkXVAPJ4PP_cjs.NotesApp_default; }
4911
4911
  });
4912
4912
  Object.defineProperty(exports, "useAppTempMemoryStore", {
4913
4913
  enumerable: true,
4914
- get: function () { return chunkAU4IENXY_cjs.useAppTempMemoryStore; }
4914
+ get: function () { return chunkXVAPJ4PP_cjs.useAppTempMemoryStore; }
4915
4915
  });
4916
4916
  Object.defineProperty(exports, "ImageViewerApp", {
4917
4917
  enumerable: true,
4918
- get: function () { return chunk4KIMZJ3L_cjs.ImageViewerApp_default; }
4918
+ get: function () { return chunkTFIDSENE_cjs.ImageViewerApp_default; }
4919
4919
  });
4920
4920
  Object.defineProperty(exports, "PdfApp", {
4921
4921
  enumerable: true,
4922
- get: function () { return chunk2O3W6TLG_cjs.PdfApp_default; }
4922
+ get: function () { return chunkHPHHS7FJ_cjs.PdfApp_default; }
4923
4923
  });
4924
4924
  Object.defineProperty(exports, "AppEmptyState", {
4925
4925
  enumerable: true,
@@ -4931,27 +4931,27 @@ Object.defineProperty(exports, "getFourRandomColors", {
4931
4931
  });
4932
4932
  Object.defineProperty(exports, "DragDropProvider", {
4933
4933
  enumerable: true,
4934
- get: function () { return chunkYSWU4OKP_cjs.DragDropProvider; }
4934
+ get: function () { return chunkCILU6BWC_cjs.DragDropProvider; }
4935
4935
  });
4936
4936
  Object.defineProperty(exports, "MenuEditApp", {
4937
4937
  enumerable: true,
4938
- get: function () { return chunkYSWU4OKP_cjs.MenuEditApp_default; }
4938
+ get: function () { return chunkCILU6BWC_cjs.MenuEditApp_default; }
4939
4939
  });
4940
4940
  Object.defineProperty(exports, "useDragDropState", {
4941
4941
  enumerable: true,
4942
- get: function () { return chunkYSWU4OKP_cjs.useDragDropState; }
4942
+ get: function () { return chunkCILU6BWC_cjs.useDragDropState; }
4943
4943
  });
4944
4944
  Object.defineProperty(exports, "useDraggableItem", {
4945
4945
  enumerable: true,
4946
- get: function () { return chunkYSWU4OKP_cjs.useDraggableItem; }
4946
+ get: function () { return chunkCILU6BWC_cjs.useDraggableItem; }
4947
4947
  });
4948
4948
  Object.defineProperty(exports, "useDroppableArea", {
4949
4949
  enumerable: true,
4950
- get: function () { return chunkYSWU4OKP_cjs.useDroppableArea; }
4950
+ get: function () { return chunkCILU6BWC_cjs.useDroppableArea; }
4951
4951
  });
4952
4952
  Object.defineProperty(exports, "useFolderName", {
4953
4953
  enumerable: true,
4954
- get: function () { return chunkYSWU4OKP_cjs.useFolderName; }
4954
+ get: function () { return chunkCILU6BWC_cjs.useFolderName; }
4955
4955
  });
4956
4956
  Object.defineProperty(exports, "VscIcon", {
4957
4957
  enumerable: true,
@@ -4959,247 +4959,247 @@ Object.defineProperty(exports, "VscIcon", {
4959
4959
  });
4960
4960
  Object.defineProperty(exports, "UploaderApp", {
4961
4961
  enumerable: true,
4962
- get: function () { return chunkQFGHYAD7_cjs.UploaderApp_default; }
4962
+ get: function () { return chunk4E4U2A25_cjs.UploaderApp_default; }
4963
4963
  });
4964
4964
  Object.defineProperty(exports, "formatBytes", {
4965
4965
  enumerable: true,
4966
- get: function () { return chunkQFGHYAD7_cjs.formatBytes; }
4966
+ get: function () { return chunk4E4U2A25_cjs.formatBytes; }
4967
4967
  });
4968
4968
  Object.defineProperty(exports, "ANIMATION_DURATION", {
4969
4969
  enumerable: true,
4970
- get: function () { return chunkJX65IKJZ_cjs.ANIMATION_DURATION; }
4970
+ get: function () { return chunkKDZLBI6F_cjs.ANIMATION_DURATION; }
4971
4971
  });
4972
4972
  Object.defineProperty(exports, "CORE_REGISTRY", {
4973
4973
  enumerable: true,
4974
- get: function () { return chunkJX65IKJZ_cjs.CORE_REGISTRY; }
4974
+ get: function () { return chunkKDZLBI6F_cjs.CORE_REGISTRY; }
4975
4975
  });
4976
4976
  Object.defineProperty(exports, "CalendarAppLazy", {
4977
4977
  enumerable: true,
4978
- get: function () { return chunkJX65IKJZ_cjs.CalendarAppLazy; }
4978
+ get: function () { return chunkKDZLBI6F_cjs.CalendarAppLazy; }
4979
4979
  });
4980
4980
  Object.defineProperty(exports, "CreateItemAppLazy", {
4981
4981
  enumerable: true,
4982
- get: function () { return chunkJX65IKJZ_cjs.CreateItemAppLazy; }
4982
+ get: function () { return chunkKDZLBI6F_cjs.CreateItemAppLazy; }
4983
4983
  });
4984
4984
  Object.defineProperty(exports, "DeviceInfoAppLazy", {
4985
4985
  enumerable: true,
4986
- get: function () { return chunkJX65IKJZ_cjs.DeviceInfoAppLazy; }
4986
+ get: function () { return chunkKDZLBI6F_cjs.DeviceInfoAppLazy; }
4987
4987
  });
4988
4988
  Object.defineProperty(exports, "EASE_IN", {
4989
4989
  enumerable: true,
4990
- get: function () { return chunkJX65IKJZ_cjs.EASE_IN; }
4990
+ get: function () { return chunkKDZLBI6F_cjs.EASE_IN; }
4991
4991
  });
4992
4992
  Object.defineProperty(exports, "EASE_OUT", {
4993
4993
  enumerable: true,
4994
- get: function () { return chunkJX65IKJZ_cjs.EASE_OUT; }
4994
+ get: function () { return chunkKDZLBI6F_cjs.EASE_OUT; }
4995
4995
  });
4996
4996
  Object.defineProperty(exports, "FilesAppLazy", {
4997
4997
  enumerable: true,
4998
- get: function () { return chunkJX65IKJZ_cjs.FilesAppLazy; }
4998
+ get: function () { return chunkKDZLBI6F_cjs.FilesAppLazy; }
4999
4999
  });
5000
5000
  Object.defineProperty(exports, "ImageViewerAppLazy", {
5001
5001
  enumerable: true,
5002
- get: function () { return chunkJX65IKJZ_cjs.ImageViewerAppLazy; }
5002
+ get: function () { return chunkKDZLBI6F_cjs.ImageViewerAppLazy; }
5003
5003
  });
5004
5004
  Object.defineProperty(exports, "ImageViewerMenuBarLazy", {
5005
5005
  enumerable: true,
5006
- get: function () { return chunkJX65IKJZ_cjs.ImageViewerMenuBarLazy; }
5006
+ get: function () { return chunkKDZLBI6F_cjs.ImageViewerMenuBarLazy; }
5007
5007
  });
5008
5008
  Object.defineProperty(exports, "MenuEditAppLazy", {
5009
5009
  enumerable: true,
5010
- get: function () { return chunkJX65IKJZ_cjs.MenuEditAppLazy; }
5010
+ get: function () { return chunkKDZLBI6F_cjs.MenuEditAppLazy; }
5011
5011
  });
5012
5012
  Object.defineProperty(exports, "MenuEditMenuBarLazy", {
5013
5013
  enumerable: true,
5014
- get: function () { return chunkJX65IKJZ_cjs.MenuEditMenuBarLazy; }
5014
+ get: function () { return chunkKDZLBI6F_cjs.MenuEditMenuBarLazy; }
5015
5015
  });
5016
5016
  Object.defineProperty(exports, "NotesAppLazy", {
5017
5017
  enumerable: true,
5018
- get: function () { return chunkJX65IKJZ_cjs.NotesAppLazy; }
5018
+ get: function () { return chunkKDZLBI6F_cjs.NotesAppLazy; }
5019
5019
  });
5020
5020
  Object.defineProperty(exports, "NotesMenuBarLazy", {
5021
5021
  enumerable: true,
5022
- get: function () { return chunkJX65IKJZ_cjs.NotesMenuBarLazy; }
5022
+ get: function () { return chunkKDZLBI6F_cjs.NotesMenuBarLazy; }
5023
5023
  });
5024
5024
  Object.defineProperty(exports, "PdfAppLazy", {
5025
5025
  enumerable: true,
5026
- get: function () { return chunkJX65IKJZ_cjs.PdfAppLazy; }
5026
+ get: function () { return chunkKDZLBI6F_cjs.PdfAppLazy; }
5027
5027
  });
5028
5028
  Object.defineProperty(exports, "PdfMenuBarLazy", {
5029
5029
  enumerable: true,
5030
- get: function () { return chunkJX65IKJZ_cjs.PdfMenuBarLazy; }
5030
+ get: function () { return chunkKDZLBI6F_cjs.PdfMenuBarLazy; }
5031
5031
  });
5032
5032
  Object.defineProperty(exports, "SettingsAppLazy", {
5033
5033
  enumerable: true,
5034
- get: function () { return chunkJX65IKJZ_cjs.SettingsAppLazy; }
5034
+ get: function () { return chunkKDZLBI6F_cjs.SettingsAppLazy; }
5035
5035
  });
5036
5036
  Object.defineProperty(exports, "SettingsMenuBarLazy", {
5037
5037
  enumerable: true,
5038
- get: function () { return chunkJX65IKJZ_cjs.SettingsMenuBarLazy; }
5038
+ get: function () { return chunkKDZLBI6F_cjs.SettingsMenuBarLazy; }
5039
5039
  });
5040
5040
  Object.defineProperty(exports, "UploaderAppLazy", {
5041
5041
  enumerable: true,
5042
- get: function () { return chunkJX65IKJZ_cjs.UploaderAppLazy; }
5042
+ get: function () { return chunkKDZLBI6F_cjs.UploaderAppLazy; }
5043
5043
  });
5044
5044
  Object.defineProperty(exports, "centerWindowPosition", {
5045
5045
  enumerable: true,
5046
- get: function () { return chunkJX65IKJZ_cjs.centerWindowPosition; }
5046
+ get: function () { return chunkKDZLBI6F_cjs.centerWindowPosition; }
5047
5047
  });
5048
5048
  Object.defineProperty(exports, "createEaseIn", {
5049
5049
  enumerable: true,
5050
- get: function () { return chunkJX65IKJZ_cjs.createEaseIn; }
5050
+ get: function () { return chunkKDZLBI6F_cjs.createEaseIn; }
5051
5051
  });
5052
5052
  Object.defineProperty(exports, "createEaseOut", {
5053
5053
  enumerable: true,
5054
- get: function () { return chunkJX65IKJZ_cjs.createEaseOut; }
5054
+ get: function () { return chunkKDZLBI6F_cjs.createEaseOut; }
5055
5055
  });
5056
5056
  Object.defineProperty(exports, "createMaximizeTransition", {
5057
5057
  enumerable: true,
5058
- get: function () { return chunkJX65IKJZ_cjs.createMaximizeTransition; }
5058
+ get: function () { return chunkKDZLBI6F_cjs.createMaximizeTransition; }
5059
5059
  });
5060
5060
  Object.defineProperty(exports, "createMinimizeVariant", {
5061
5061
  enumerable: true,
5062
- get: function () { return chunkJX65IKJZ_cjs.createMinimizeVariant; }
5062
+ get: function () { return chunkKDZLBI6F_cjs.createMinimizeVariant; }
5063
5063
  });
5064
5064
  Object.defineProperty(exports, "createPanelVariants", {
5065
5065
  enumerable: true,
5066
- get: function () { return chunkJX65IKJZ_cjs.createPanelVariants; }
5066
+ get: function () { return chunkKDZLBI6F_cjs.createPanelVariants; }
5067
5067
  });
5068
5068
  Object.defineProperty(exports, "createRestoreVariant", {
5069
5069
  enumerable: true,
5070
- get: function () { return chunkJX65IKJZ_cjs.createRestoreVariant; }
5070
+ get: function () { return chunkKDZLBI6F_cjs.createRestoreVariant; }
5071
5071
  });
5072
5072
  Object.defineProperty(exports, "createWindowVariants", {
5073
5073
  enumerable: true,
5074
- get: function () { return chunkJX65IKJZ_cjs.createWindowVariants; }
5074
+ get: function () { return chunkKDZLBI6F_cjs.createWindowVariants; }
5075
5075
  });
5076
5076
  Object.defineProperty(exports, "getAppComponent", {
5077
5077
  enumerable: true,
5078
- get: function () { return chunkJX65IKJZ_cjs.getAppComponent; }
5078
+ get: function () { return chunkKDZLBI6F_cjs.getAppComponent; }
5079
5079
  });
5080
5080
  Object.defineProperty(exports, "getAppName", {
5081
5081
  enumerable: true,
5082
- get: function () { return chunkJX65IKJZ_cjs.getAppName; }
5082
+ get: function () { return chunkKDZLBI6F_cjs.getAppName; }
5083
5083
  });
5084
5084
  Object.defineProperty(exports, "getMenuBarBuilder", {
5085
5085
  enumerable: true,
5086
- get: function () { return chunkJX65IKJZ_cjs.getMenuBarBuilder; }
5086
+ get: function () { return chunkKDZLBI6F_cjs.getMenuBarBuilder; }
5087
5087
  });
5088
5088
  Object.defineProperty(exports, "getMenuBarComponent", {
5089
5089
  enumerable: true,
5090
- get: function () { return chunkJX65IKJZ_cjs.getMenuBarComponent; }
5090
+ get: function () { return chunkKDZLBI6F_cjs.getMenuBarComponent; }
5091
5091
  });
5092
5092
  Object.defineProperty(exports, "initRegistry", {
5093
5093
  enumerable: true,
5094
- get: function () { return chunkJX65IKJZ_cjs.initRegistry; }
5094
+ get: function () { return chunkKDZLBI6F_cjs.initRegistry; }
5095
5095
  });
5096
5096
  Object.defineProperty(exports, "isLazyApp", {
5097
5097
  enumerable: true,
5098
- get: function () { return chunkJX65IKJZ_cjs.isLazyApp; }
5098
+ get: function () { return chunkKDZLBI6F_cjs.isLazyApp; }
5099
5099
  });
5100
5100
  Object.defineProperty(exports, "maximizeTransition", {
5101
5101
  enumerable: true,
5102
- get: function () { return chunkJX65IKJZ_cjs.maximizeTransition; }
5102
+ get: function () { return chunkKDZLBI6F_cjs.maximizeTransition; }
5103
5103
  });
5104
5104
  Object.defineProperty(exports, "minimizeVariant", {
5105
5105
  enumerable: true,
5106
- get: function () { return chunkJX65IKJZ_cjs.minimizeVariant; }
5106
+ get: function () { return chunkKDZLBI6F_cjs.minimizeVariant; }
5107
5107
  });
5108
5108
  Object.defineProperty(exports, "openVariants", {
5109
5109
  enumerable: true,
5110
- get: function () { return chunkJX65IKJZ_cjs.openVariants; }
5110
+ get: function () { return chunkKDZLBI6F_cjs.openVariants; }
5111
5111
  });
5112
5112
  Object.defineProperty(exports, "panelVariants", {
5113
5113
  enumerable: true,
5114
- get: function () { return chunkJX65IKJZ_cjs.panelVariants; }
5114
+ get: function () { return chunkKDZLBI6F_cjs.panelVariants; }
5115
5115
  });
5116
5116
  Object.defineProperty(exports, "randomWindowPosition", {
5117
5117
  enumerable: true,
5118
- get: function () { return chunkJX65IKJZ_cjs.randomWindowPosition; }
5118
+ get: function () { return chunkKDZLBI6F_cjs.randomWindowPosition; }
5119
5119
  });
5120
5120
  Object.defineProperty(exports, "registerComponents", {
5121
5121
  enumerable: true,
5122
- get: function () { return chunkJX65IKJZ_cjs.registerComponents; }
5122
+ get: function () { return chunkKDZLBI6F_cjs.registerComponents; }
5123
5123
  });
5124
5124
  Object.defineProperty(exports, "restoreVariant", {
5125
5125
  enumerable: true,
5126
- get: function () { return chunkJX65IKJZ_cjs.restoreVariant; }
5126
+ get: function () { return chunkKDZLBI6F_cjs.restoreVariant; }
5127
5127
  });
5128
5128
  Object.defineProperty(exports, "useOpenApp", {
5129
5129
  enumerable: true,
5130
- get: function () { return chunkJX65IKJZ_cjs.useOpenApp; }
5130
+ get: function () { return chunkKDZLBI6F_cjs.useOpenApp; }
5131
5131
  });
5132
5132
  Object.defineProperty(exports, "windowVariants", {
5133
5133
  enumerable: true,
5134
- get: function () { return chunkJX65IKJZ_cjs.windowVariants; }
5134
+ get: function () { return chunkKDZLBI6F_cjs.windowVariants; }
5135
5135
  });
5136
5136
  Object.defineProperty(exports, "useAdaptiveDimensions", {
5137
5137
  enumerable: true,
5138
- get: function () { return chunkDEVJOHGE_cjs.useAdaptiveDimensions; }
5138
+ get: function () { return chunk4QHX7CMN_cjs.useAdaptiveDimensions; }
5139
5139
  });
5140
5140
  Object.defineProperty(exports, "AVAILABLE_FONTS", {
5141
5141
  enumerable: true,
5142
- get: function () { return chunk57ZTJB2W_cjs.AVAILABLE_FONTS; }
5142
+ get: function () { return chunkFD7QZCTN_cjs.AVAILABLE_FONTS; }
5143
5143
  });
5144
5144
  Object.defineProperty(exports, "DEFAULT_LANGUAGE", {
5145
5145
  enumerable: true,
5146
- get: function () { return chunk57ZTJB2W_cjs.DEFAULT_LANGUAGE; }
5146
+ get: function () { return chunkFD7QZCTN_cjs.DEFAULT_LANGUAGE; }
5147
5147
  });
5148
5148
  Object.defineProperty(exports, "DefaultThemeProvider", {
5149
5149
  enumerable: true,
5150
- get: function () { return chunk57ZTJB2W_cjs.DefaultThemeProvider; }
5150
+ get: function () { return chunkFD7QZCTN_cjs.DefaultThemeProvider; }
5151
5151
  });
5152
5152
  Object.defineProperty(exports, "FONT_STACKS", {
5153
5153
  enumerable: true,
5154
- get: function () { return chunk57ZTJB2W_cjs.FONT_STACKS; }
5154
+ get: function () { return chunkFD7QZCTN_cjs.FONT_STACKS; }
5155
5155
  });
5156
5156
  Object.defineProperty(exports, "GOOGLE_FONTS_HREF", {
5157
5157
  enumerable: true,
5158
- get: function () { return chunk57ZTJB2W_cjs.GOOGLE_FONTS_HREF; }
5158
+ get: function () { return chunkFD7QZCTN_cjs.GOOGLE_FONTS_HREF; }
5159
5159
  });
5160
5160
  Object.defineProperty(exports, "LanguageFlag", {
5161
5161
  enumerable: true,
5162
- get: function () { return chunk57ZTJB2W_cjs.LanguageFlag_default; }
5162
+ get: function () { return chunkFD7QZCTN_cjs.LanguageFlag_default; }
5163
5163
  });
5164
5164
  Object.defineProperty(exports, "PROFILE", {
5165
5165
  enumerable: true,
5166
- get: function () { return chunk57ZTJB2W_cjs.PROFILE; }
5166
+ get: function () { return chunkFD7QZCTN_cjs.PROFILE; }
5167
5167
  });
5168
5168
  Object.defineProperty(exports, "SETTINGS_SECTIONS", {
5169
5169
  enumerable: true,
5170
- get: function () { return chunk57ZTJB2W_cjs.SETTINGS_SECTIONS; }
5170
+ get: function () { return chunkFD7QZCTN_cjs.SETTINGS_SECTIONS; }
5171
5171
  });
5172
5172
  Object.defineProperty(exports, "SUPPORTED_LANGUAGES", {
5173
5173
  enumerable: true,
5174
- get: function () { return chunk57ZTJB2W_cjs.SUPPORTED_LANGUAGES; }
5174
+ get: function () { return chunkFD7QZCTN_cjs.SUPPORTED_LANGUAGES; }
5175
5175
  });
5176
5176
  Object.defineProperty(exports, "SettingsApp", {
5177
5177
  enumerable: true,
5178
- get: function () { return chunk57ZTJB2W_cjs.SettingsApp_default; }
5178
+ get: function () { return chunkFD7QZCTN_cjs.SettingsApp_default; }
5179
5179
  });
5180
5180
  Object.defineProperty(exports, "SettingsSectionComponent", {
5181
5181
  enumerable: true,
5182
- get: function () { return chunk57ZTJB2W_cjs.SettingsSection_default; }
5182
+ get: function () { return chunkFD7QZCTN_cjs.SettingsSection_default; }
5183
5183
  });
5184
5184
  Object.defineProperty(exports, "clearBrowserData", {
5185
5185
  enumerable: true,
5186
- get: function () { return chunk57ZTJB2W_cjs.clearBrowserData; }
5186
+ get: function () { return chunkFD7QZCTN_cjs.clearBrowserData; }
5187
5187
  });
5188
5188
  Object.defineProperty(exports, "getPersistedThemeMode", {
5189
5189
  enumerable: true,
5190
- get: function () { return chunk57ZTJB2W_cjs.getPersistedThemeMode; }
5190
+ get: function () { return chunkFD7QZCTN_cjs.getPersistedThemeMode; }
5191
5191
  });
5192
5192
  Object.defineProperty(exports, "injectFontLink", {
5193
5193
  enumerable: true,
5194
- get: function () { return chunk57ZTJB2W_cjs.injectFontLink; }
5194
+ get: function () { return chunkFD7QZCTN_cjs.injectFontLink; }
5195
5195
  });
5196
5196
  Object.defineProperty(exports, "useFontDownload", {
5197
5197
  enumerable: true,
5198
- get: function () { return chunk57ZTJB2W_cjs.useFontDownload; }
5198
+ get: function () { return chunkFD7QZCTN_cjs.useFontDownload; }
5199
5199
  });
5200
5200
  Object.defineProperty(exports, "useSettingsStore", {
5201
5201
  enumerable: true,
5202
- get: function () { return chunk57ZTJB2W_cjs.useSettingsStore; }
5202
+ get: function () { return chunkFD7QZCTN_cjs.useSettingsStore; }
5203
5203
  });
5204
5204
  Object.defineProperty(exports, "ColorPicker", {
5205
5205
  enumerable: true,
@@ -5207,7 +5207,7 @@ Object.defineProperty(exports, "ColorPicker", {
5207
5207
  });
5208
5208
  Object.defineProperty(exports, "useResolvedUrl", {
5209
5209
  enumerable: true,
5210
- get: function () { return chunk7HQ6KUIO_cjs.useResolvedUrl; }
5210
+ get: function () { return chunkUKYESVDS_cjs.useResolvedUrl; }
5211
5211
  });
5212
5212
  Object.defineProperty(exports, "PRESET_COLORS", {
5213
5213
  enumerable: true,
@@ -5215,27 +5215,27 @@ Object.defineProperty(exports, "PRESET_COLORS", {
5215
5215
  });
5216
5216
  Object.defineProperty(exports, "AppIcon", {
5217
5217
  enumerable: true,
5218
- get: function () { return chunkI5MJXFYW_cjs.AppIcon_default; }
5218
+ get: function () { return chunkDFYDUXWP_cjs.AppIcon_default; }
5219
5219
  });
5220
5220
  Object.defineProperty(exports, "getCloseInterceptor", {
5221
5221
  enumerable: true,
5222
- get: function () { return chunk7FGL7HGS_cjs.getCloseInterceptor; }
5222
+ get: function () { return chunkWXSTSC3D_cjs.getCloseInterceptor; }
5223
5223
  });
5224
5224
  Object.defineProperty(exports, "registerCloseInterceptor", {
5225
5225
  enumerable: true,
5226
- get: function () { return chunk7FGL7HGS_cjs.registerCloseInterceptor; }
5226
+ get: function () { return chunkWXSTSC3D_cjs.registerCloseInterceptor; }
5227
5227
  });
5228
5228
  Object.defineProperty(exports, "unregisterCloseInterceptor", {
5229
5229
  enumerable: true,
5230
- get: function () { return chunk7FGL7HGS_cjs.unregisterCloseInterceptor; }
5230
+ get: function () { return chunkWXSTSC3D_cjs.unregisterCloseInterceptor; }
5231
5231
  });
5232
5232
  Object.defineProperty(exports, "useCloseInterceptor", {
5233
5233
  enumerable: true,
5234
- get: function () { return chunk7FGL7HGS_cjs.useCloseInterceptor; }
5234
+ get: function () { return chunkWXSTSC3D_cjs.useCloseInterceptor; }
5235
5235
  });
5236
5236
  Object.defineProperty(exports, "useCloseModalStore", {
5237
5237
  enumerable: true,
5238
- get: function () { return chunk7FGL7HGS_cjs.useCloseModalStore; }
5238
+ get: function () { return chunkWXSTSC3D_cjs.useCloseModalStore; }
5239
5239
  });
5240
5240
  Object.defineProperty(exports, "DownloadProgress", {
5241
5241
  enumerable: true,
@@ -5243,19 +5243,19 @@ Object.defineProperty(exports, "DownloadProgress", {
5243
5243
  });
5244
5244
  Object.defineProperty(exports, "FilePickerApp", {
5245
5245
  enumerable: true,
5246
- get: function () { return chunkYOHBUOZJ_cjs.FilePickerApp_default; }
5246
+ get: function () { return chunkGPXNLTPI_cjs.FilePickerApp_default; }
5247
5247
  });
5248
5248
  Object.defineProperty(exports, "FilePickerModal", {
5249
5249
  enumerable: true,
5250
- get: function () { return chunkYOHBUOZJ_cjs.FilePickerModal; }
5250
+ get: function () { return chunkGPXNLTPI_cjs.FilePickerModal; }
5251
5251
  });
5252
5252
  Object.defineProperty(exports, "FolderPicker", {
5253
5253
  enumerable: true,
5254
- get: function () { return chunkYOHBUOZJ_cjs.PickerModal; }
5254
+ get: function () { return chunkGPXNLTPI_cjs.PickerModal; }
5255
5255
  });
5256
5256
  Object.defineProperty(exports, "buildBreadcrumbs", {
5257
5257
  enumerable: true,
5258
- get: function () { return chunkYOHBUOZJ_cjs.buildBreadcrumbs; }
5258
+ get: function () { return chunkGPXNLTPI_cjs.buildBreadcrumbs; }
5259
5259
  });
5260
5260
  Object.defineProperty(exports, "FileIcon", {
5261
5261
  enumerable: true,
@@ -5267,259 +5267,259 @@ Object.defineProperty(exports, "getFileExtension", {
5267
5267
  });
5268
5268
  Object.defineProperty(exports, "APPS", {
5269
5269
  enumerable: true,
5270
- get: function () { return chunk2UW42GAP_cjs.APPS; }
5270
+ get: function () { return chunkV4N255NL_cjs.APPS; }
5271
5271
  });
5272
5272
  Object.defineProperty(exports, "BREAKPOINTS", {
5273
5273
  enumerable: true,
5274
- get: function () { return chunk2UW42GAP_cjs.BREAKPOINTS; }
5274
+ get: function () { return chunkV4N255NL_cjs.BREAKPOINTS; }
5275
5275
  });
5276
5276
  Object.defineProperty(exports, "CORE_APPS", {
5277
5277
  enumerable: true,
5278
- get: function () { return chunk2UW42GAP_cjs.CORE_APPS; }
5278
+ get: function () { return chunkV4N255NL_cjs.CORE_APPS; }
5279
5279
  });
5280
5280
  Object.defineProperty(exports, "CORE_APP_IDS", {
5281
5281
  enumerable: true,
5282
- get: function () { return chunk2UW42GAP_cjs.CORE_APP_IDS; }
5282
+ get: function () { return chunkV4N255NL_cjs.CORE_APP_IDS; }
5283
5283
  });
5284
5284
  Object.defineProperty(exports, "CUSTOM_APPS_FOLDER_ID", {
5285
5285
  enumerable: true,
5286
- get: function () { return chunk2UW42GAP_cjs.CUSTOM_APPS_FOLDER_ID; }
5286
+ get: function () { return chunkV4N255NL_cjs.CUSTOM_APPS_FOLDER_ID; }
5287
5287
  });
5288
5288
  Object.defineProperty(exports, "DEFAULT_LAUNCHER_FOLDERS", {
5289
5289
  enumerable: true,
5290
- get: function () { return chunk2UW42GAP_cjs.DEFAULT_LAUNCHER_FOLDERS; }
5290
+ get: function () { return chunkV4N255NL_cjs.DEFAULT_LAUNCHER_FOLDERS; }
5291
5291
  });
5292
5292
  Object.defineProperty(exports, "DEFAULT_VIEWPORT_HEIGHT", {
5293
5293
  enumerable: true,
5294
- get: function () { return chunk2UW42GAP_cjs.DEFAULT_VIEWPORT_HEIGHT; }
5294
+ get: function () { return chunkV4N255NL_cjs.DEFAULT_VIEWPORT_HEIGHT; }
5295
5295
  });
5296
5296
  Object.defineProperty(exports, "DEFAULT_VIEWPORT_WIDTH", {
5297
5297
  enumerable: true,
5298
- get: function () { return chunk2UW42GAP_cjs.DEFAULT_VIEWPORT_WIDTH; }
5298
+ get: function () { return chunkV4N255NL_cjs.DEFAULT_VIEWPORT_WIDTH; }
5299
5299
  });
5300
5300
  Object.defineProperty(exports, "DEFAULT_WINDOW_DIMENSIONS", {
5301
5301
  enumerable: true,
5302
- get: function () { return chunk2UW42GAP_cjs.DEFAULT_WINDOW_DIMENSIONS; }
5302
+ get: function () { return chunkV4N255NL_cjs.DEFAULT_WINDOW_DIMENSIONS; }
5303
5303
  });
5304
5304
  Object.defineProperty(exports, "DESKTOP_APPS_ORDER", {
5305
5305
  enumerable: true,
5306
- get: function () { return chunk2UW42GAP_cjs.DESKTOP_APPS_ORDER; }
5306
+ get: function () { return chunkV4N255NL_cjs.DESKTOP_APPS_ORDER; }
5307
5307
  });
5308
5308
  Object.defineProperty(exports, "DockerFileSystemAdapter", {
5309
5309
  enumerable: true,
5310
- get: function () { return chunk2UW42GAP_cjs.DockerFileSystemAdapter; }
5310
+ get: function () { return chunkV4N255NL_cjs.DockerFileSystemAdapter; }
5311
5311
  });
5312
5312
  Object.defineProperty(exports, "EXTRA_APPS", {
5313
5313
  enumerable: true,
5314
- get: function () { return chunk2UW42GAP_cjs.EXTRA_APPS; }
5314
+ get: function () { return chunkV4N255NL_cjs.EXTRA_APPS; }
5315
5315
  });
5316
5316
  Object.defineProperty(exports, "EXTRA_APP_IDS", {
5317
5317
  enumerable: true,
5318
- get: function () { return chunk2UW42GAP_cjs.EXTRA_APP_IDS; }
5318
+ get: function () { return chunkV4N255NL_cjs.EXTRA_APP_IDS; }
5319
5319
  });
5320
5320
  Object.defineProperty(exports, "ICON_COLUMN_WIDTH", {
5321
5321
  enumerable: true,
5322
- get: function () { return chunk2UW42GAP_cjs.ICON_COLUMN_WIDTH; }
5322
+ get: function () { return chunkV4N255NL_cjs.ICON_COLUMN_WIDTH; }
5323
5323
  });
5324
5324
  Object.defineProperty(exports, "ICON_MARGIN", {
5325
5325
  enumerable: true,
5326
- get: function () { return chunk2UW42GAP_cjs.ICON_MARGIN; }
5326
+ get: function () { return chunkV4N255NL_cjs.ICON_MARGIN; }
5327
5327
  });
5328
5328
  Object.defineProperty(exports, "ICON_ROW_HEIGHT", {
5329
5329
  enumerable: true,
5330
- get: function () { return chunk2UW42GAP_cjs.ICON_ROW_HEIGHT; }
5330
+ get: function () { return chunkV4N255NL_cjs.ICON_ROW_HEIGHT; }
5331
5331
  });
5332
5332
  Object.defineProperty(exports, "IMAGE_MIME_TYPES", {
5333
5333
  enumerable: true,
5334
- get: function () { return chunk2UW42GAP_cjs.IMAGE_MIME_TYPES; }
5334
+ get: function () { return chunkV4N255NL_cjs.IMAGE_MIME_TYPES; }
5335
5335
  });
5336
5336
  Object.defineProperty(exports, "IndexedDBFileSystem", {
5337
5337
  enumerable: true,
5338
- get: function () { return chunk2UW42GAP_cjs.IndexedDBFileSystem; }
5338
+ get: function () { return chunkV4N255NL_cjs.IndexedDBFileSystem; }
5339
5339
  });
5340
5340
  Object.defineProperty(exports, "PREDEFINED_LAUNCHER_FOLDERS", {
5341
5341
  enumerable: true,
5342
- get: function () { return chunk2UW42GAP_cjs.PREDEFINED_LAUNCHER_FOLDERS; }
5342
+ get: function () { return chunkV4N255NL_cjs.PREDEFINED_LAUNCHER_FOLDERS; }
5343
5343
  });
5344
5344
  Object.defineProperty(exports, "SortOptions", {
5345
5345
  enumerable: true,
5346
- get: function () { return chunk2UW42GAP_cjs.SortOptions; }
5346
+ get: function () { return chunkV4N255NL_cjs.SortOptions; }
5347
5347
  });
5348
5348
  Object.defineProperty(exports, "TASKBAR_HEIGHT", {
5349
5349
  enumerable: true,
5350
- get: function () { return chunk2UW42GAP_cjs.TASKBAR_HEIGHT; }
5350
+ get: function () { return chunkV4N255NL_cjs.TASKBAR_HEIGHT; }
5351
5351
  });
5352
5352
  Object.defineProperty(exports, "TEXT_MIME_TYPES", {
5353
5353
  enumerable: true,
5354
- get: function () { return chunk2UW42GAP_cjs.TEXT_MIME_TYPES; }
5354
+ get: function () { return chunkV4N255NL_cjs.TEXT_MIME_TYPES; }
5355
5355
  });
5356
5356
  Object.defineProperty(exports, "WindowManagerAdapter", {
5357
5357
  enumerable: true,
5358
- get: function () { return chunk2UW42GAP_cjs.WindowManagerAdapter; }
5358
+ get: function () { return chunkV4N255NL_cjs.WindowManagerAdapter; }
5359
5359
  });
5360
5360
  Object.defineProperty(exports, "clearManifestCache", {
5361
5361
  enumerable: true,
5362
- get: function () { return chunk2UW42GAP_cjs.clearManifestCache; }
5362
+ get: function () { return chunkV4N255NL_cjs.clearManifestCache; }
5363
5363
  });
5364
5364
  Object.defineProperty(exports, "convertToAppEntry", {
5365
5365
  enumerable: true,
5366
- get: function () { return chunk2UW42GAP_cjs.convertToAppEntry; }
5366
+ get: function () { return chunkV4N255NL_cjs.convertToAppEntry; }
5367
5367
  });
5368
5368
  Object.defineProperty(exports, "createDesktopIcon", {
5369
5369
  enumerable: true,
5370
- get: function () { return chunk2UW42GAP_cjs.createDesktopIcon; }
5370
+ get: function () { return chunkV4N255NL_cjs.createDesktopIcon; }
5371
5371
  });
5372
5372
  Object.defineProperty(exports, "createFile", {
5373
5373
  enumerable: true,
5374
- get: function () { return chunk2UW42GAP_cjs.createFile; }
5374
+ get: function () { return chunkV4N255NL_cjs.createFile; }
5375
5375
  });
5376
5376
  Object.defineProperty(exports, "createFolder", {
5377
5377
  enumerable: true,
5378
- get: function () { return chunk2UW42GAP_cjs.createFolder; }
5378
+ get: function () { return chunkV4N255NL_cjs.createFolder; }
5379
5379
  });
5380
5380
  Object.defineProperty(exports, "createLauncherFolder", {
5381
5381
  enumerable: true,
5382
- get: function () { return chunk2UW42GAP_cjs.createLauncherFolder; }
5382
+ get: function () { return chunkV4N255NL_cjs.createLauncherFolder; }
5383
5383
  });
5384
5384
  Object.defineProperty(exports, "createPredefinedLauncherFolder", {
5385
5385
  enumerable: true,
5386
- get: function () { return chunk2UW42GAP_cjs.createPredefinedLauncherFolder; }
5386
+ get: function () { return chunkV4N255NL_cjs.createPredefinedLauncherFolder; }
5387
5387
  });
5388
5388
  Object.defineProperty(exports, "createWindow", {
5389
5389
  enumerable: true,
5390
- get: function () { return chunk2UW42GAP_cjs.createWindow; }
5390
+ get: function () { return chunkV4N255NL_cjs.createWindow; }
5391
5391
  });
5392
5392
  Object.defineProperty(exports, "fetchAppManifest", {
5393
5393
  enumerable: true,
5394
- get: function () { return chunk2UW42GAP_cjs.fetchAppManifest; }
5394
+ get: function () { return chunkV4N255NL_cjs.fetchAppManifest; }
5395
5395
  });
5396
5396
  Object.defineProperty(exports, "fileSystem", {
5397
5397
  enumerable: true,
5398
- get: function () { return chunk2UW42GAP_cjs.fileSystem; }
5398
+ get: function () { return chunkV4N255NL_cjs.fileSystem; }
5399
5399
  });
5400
5400
  Object.defineProperty(exports, "generateUUID", {
5401
5401
  enumerable: true,
5402
- get: function () { return chunk2UW42GAP_cjs.generateUUID; }
5402
+ get: function () { return chunkV4N255NL_cjs.generateUUID; }
5403
5403
  });
5404
5404
  Object.defineProperty(exports, "getAppIdForMime", {
5405
5405
  enumerable: true,
5406
- get: function () { return chunk2UW42GAP_cjs.getAppIdForMime; }
5406
+ get: function () { return chunkV4N255NL_cjs.getAppIdForMime; }
5407
5407
  });
5408
5408
  Object.defineProperty(exports, "getBaseUrl", {
5409
5409
  enumerable: true,
5410
- get: function () { return chunk2UW42GAP_cjs.getBaseUrl; }
5410
+ get: function () { return chunkV4N255NL_cjs.getBaseUrl; }
5411
5411
  });
5412
5412
  Object.defineProperty(exports, "getCachedManifest", {
5413
5413
  enumerable: true,
5414
- get: function () { return chunk2UW42GAP_cjs.getCachedManifest; }
5414
+ get: function () { return chunkV4N255NL_cjs.getCachedManifest; }
5415
5415
  });
5416
5416
  Object.defineProperty(exports, "getCustomAppById", {
5417
5417
  enumerable: true,
5418
- get: function () { return chunk2UW42GAP_cjs.getCustomAppById; }
5418
+ get: function () { return chunkV4N255NL_cjs.getCustomAppById; }
5419
5419
  });
5420
5420
  Object.defineProperty(exports, "getCustomApps", {
5421
5421
  enumerable: true,
5422
- get: function () { return chunk2UW42GAP_cjs.getCustomApps; }
5422
+ get: function () { return chunkV4N255NL_cjs.getCustomApps; }
5423
5423
  });
5424
5424
  Object.defineProperty(exports, "getMimeTypeFromExtension", {
5425
5425
  enumerable: true,
5426
- get: function () { return chunk2UW42GAP_cjs.getMimeTypeFromExtension; }
5426
+ get: function () { return chunkV4N255NL_cjs.getMimeTypeFromExtension; }
5427
5427
  });
5428
5428
  Object.defineProperty(exports, "hashBlob", {
5429
5429
  enumerable: true,
5430
- get: function () { return chunk2UW42GAP_cjs.hashBlob; }
5430
+ get: function () { return chunkV4N255NL_cjs.hashBlob; }
5431
5431
  });
5432
5432
  Object.defineProperty(exports, "isCustomApp", {
5433
5433
  enumerable: true,
5434
- get: function () { return chunk2UW42GAP_cjs.isCustomApp; }
5434
+ get: function () { return chunkV4N255NL_cjs.isCustomApp; }
5435
5435
  });
5436
5436
  Object.defineProperty(exports, "mergeAppsWithCustomApps", {
5437
5437
  enumerable: true,
5438
- get: function () { return chunk2UW42GAP_cjs.mergeAppsWithCustomApps; }
5438
+ get: function () { return chunkV4N255NL_cjs.mergeAppsWithCustomApps; }
5439
5439
  });
5440
5440
  Object.defineProperty(exports, "registerAppFileHandler", {
5441
5441
  enumerable: true,
5442
- get: function () { return chunk2UW42GAP_cjs.registerAppFileHandler; }
5442
+ get: function () { return chunkV4N255NL_cjs.registerAppFileHandler; }
5443
5443
  });
5444
5444
  Object.defineProperty(exports, "registerCustomApps", {
5445
5445
  enumerable: true,
5446
- get: function () { return chunk2UW42GAP_cjs.registerCustomApps; }
5446
+ get: function () { return chunkV4N255NL_cjs.registerCustomApps; }
5447
5447
  });
5448
5448
  Object.defineProperty(exports, "registerDesktopApps", {
5449
5449
  enumerable: true,
5450
- get: function () { return chunk2UW42GAP_cjs.registerDesktopApps; }
5450
+ get: function () { return chunkV4N255NL_cjs.registerDesktopApps; }
5451
5451
  });
5452
5452
  Object.defineProperty(exports, "removeFromManifestCache", {
5453
5453
  enumerable: true,
5454
- get: function () { return chunk2UW42GAP_cjs.removeFromManifestCache; }
5454
+ get: function () { return chunkV4N255NL_cjs.removeFromManifestCache; }
5455
5455
  });
5456
5456
  Object.defineProperty(exports, "resetBaseUrlCache", {
5457
5457
  enumerable: true,
5458
- get: function () { return chunk2UW42GAP_cjs.resetBaseUrlCache; }
5458
+ get: function () { return chunkV4N255NL_cjs.resetBaseUrlCache; }
5459
5459
  });
5460
5460
  Object.defineProperty(exports, "resetFileSystem", {
5461
5461
  enumerable: true,
5462
- get: function () { return chunk2UW42GAP_cjs.resetFileSystem; }
5462
+ get: function () { return chunkV4N255NL_cjs.resetFileSystem; }
5463
5463
  });
5464
5464
  Object.defineProperty(exports, "resetWindowManager", {
5465
5465
  enumerable: true,
5466
- get: function () { return chunk2UW42GAP_cjs.resetWindowManager; }
5466
+ get: function () { return chunkV4N255NL_cjs.resetWindowManager; }
5467
5467
  });
5468
5468
  Object.defineProperty(exports, "resolveFileUrl", {
5469
5469
  enumerable: true,
5470
- get: function () { return chunk2UW42GAP_cjs.resolveFileUrl; }
5470
+ get: function () { return chunkV4N255NL_cjs.resolveFileUrl; }
5471
5471
  });
5472
5472
  Object.defineProperty(exports, "resolveUrl", {
5473
5473
  enumerable: true,
5474
- get: function () { return chunk2UW42GAP_cjs.resolveUrl; }
5474
+ get: function () { return chunkV4N255NL_cjs.resolveUrl; }
5475
5475
  });
5476
5476
  Object.defineProperty(exports, "setApiBaseUrl", {
5477
5477
  enumerable: true,
5478
- get: function () { return chunk2UW42GAP_cjs.setApiBaseUrl; }
5478
+ get: function () { return chunkV4N255NL_cjs.setApiBaseUrl; }
5479
5479
  });
5480
5480
  Object.defineProperty(exports, "setTestBaseUrl", {
5481
5481
  enumerable: true,
5482
- get: function () { return chunk2UW42GAP_cjs.setTestBaseUrl; }
5482
+ get: function () { return chunkV4N255NL_cjs.setTestBaseUrl; }
5483
5483
  });
5484
5484
  Object.defineProperty(exports, "sortDesktopIcons", {
5485
5485
  enumerable: true,
5486
- get: function () { return chunk2UW42GAP_cjs.sortDesktopIcons; }
5486
+ get: function () { return chunkV4N255NL_cjs.sortDesktopIcons; }
5487
5487
  });
5488
5488
  Object.defineProperty(exports, "sortDesktopIconsByMode", {
5489
5489
  enumerable: true,
5490
- get: function () { return chunk2UW42GAP_cjs.sortDesktopIconsByMode; }
5490
+ get: function () { return chunkV4N255NL_cjs.sortDesktopIconsByMode; }
5491
5491
  });
5492
5492
  Object.defineProperty(exports, "sortNodes", {
5493
5493
  enumerable: true,
5494
- get: function () { return chunk2UW42GAP_cjs.sortNodes; }
5494
+ get: function () { return chunkV4N255NL_cjs.sortNodes; }
5495
5495
  });
5496
5496
  Object.defineProperty(exports, "sortNodesByMode", {
5497
5497
  enumerable: true,
5498
- get: function () { return chunk2UW42GAP_cjs.sortNodesByMode; }
5498
+ get: function () { return chunkV4N255NL_cjs.sortNodesByMode; }
5499
5499
  });
5500
5500
  Object.defineProperty(exports, "syncWithServer", {
5501
5501
  enumerable: true,
5502
- get: function () { return chunk2UW42GAP_cjs.syncWithServer; }
5502
+ get: function () { return chunkV4N255NL_cjs.syncWithServer; }
5503
5503
  });
5504
5504
  Object.defineProperty(exports, "updateLauncherFolder", {
5505
5505
  enumerable: true,
5506
- get: function () { return chunk2UW42GAP_cjs.updateLauncherFolder; }
5506
+ get: function () { return chunkV4N255NL_cjs.updateLauncherFolder; }
5507
5507
  });
5508
5508
  Object.defineProperty(exports, "updateManifestCache", {
5509
5509
  enumerable: true,
5510
- get: function () { return chunk2UW42GAP_cjs.updateManifestCache; }
5510
+ get: function () { return chunkV4N255NL_cjs.updateManifestCache; }
5511
5511
  });
5512
5512
  Object.defineProperty(exports, "useCustomAppStore", {
5513
5513
  enumerable: true,
5514
- get: function () { return chunk2UW42GAP_cjs.useCustomAppStore; }
5514
+ get: function () { return chunkV4N255NL_cjs.useCustomAppStore; }
5515
5515
  });
5516
5516
  Object.defineProperty(exports, "useDesktopStore", {
5517
5517
  enumerable: true,
5518
- get: function () { return chunk2UW42GAP_cjs.useDesktopStore; }
5518
+ get: function () { return chunkV4N255NL_cjs.useDesktopStore; }
5519
5519
  });
5520
5520
  Object.defineProperty(exports, "uuidv4", {
5521
5521
  enumerable: true,
5522
- get: function () { return chunk2UW42GAP_cjs.v4; }
5522
+ get: function () { return chunkV4N255NL_cjs.v4; }
5523
5523
  });
5524
5524
  Object.defineProperty(exports, "getRuntime", {
5525
5525
  enumerable: true,