@fde-desktop/fde-core 0.4.11 → 0.4.19

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 (132) hide show
  1. package/dist/{AppEmptyState-Boej96TB.js → AppEmptyState-BVfKZU-h.js} +1 -1
  2. package/dist/AppEmptyState-Z8_Cviti.cjs +1 -0
  3. package/dist/AppIcon-Czrtau6A.cjs +1 -0
  4. package/dist/{AppIcon-mtEoyzOb.js → AppIcon-aFNw89J2.js} +1 -1
  5. package/dist/AppMenuBar-38QtFTPk.cjs +1 -0
  6. package/dist/AppTempMemory-DAC62jiS.cjs +1 -0
  7. package/dist/AppTempMemory-DgUW6GaF.js +23 -0
  8. package/dist/CalendarApp-BYTyu089.js +9 -0
  9. package/dist/CalendarApp-DPOK4mqg.cjs +1 -0
  10. package/dist/{ColorPicker-WCeD3Wjf.js → ColorPicker-B76rCS2H.js} +1 -1
  11. package/dist/ColorPicker-BZqsPh3X.cjs +1 -0
  12. package/dist/CreateItemApp-B0IHL16b.cjs +1 -0
  13. package/dist/CreateItemApp-UUP2HAu2.js +149 -0
  14. package/dist/DeviceInfoApp-BPQyeVSd.js +162 -0
  15. package/dist/DeviceInfoApp-D2mS2OT-.cjs +1 -0
  16. package/dist/DownloadProgress-CpJguS8g.cjs +1 -0
  17. package/dist/FilePickerApp-ClmPw6lk.cjs +1 -0
  18. package/dist/{FilePickerApp-ClHuhm6Z.js → FilePickerApp-D7fERKbp.js} +1 -1
  19. package/dist/FilesApp-DhJbO8wg.js +191 -0
  20. package/dist/FilesApp-LbwRRR1i.cjs +1 -0
  21. package/dist/IconColorPicker-7rWNAiNQ.cjs +1 -0
  22. package/dist/IconColorPicker-DUIXSb5E.js +58 -0
  23. package/dist/ImageViewerApp-9T-V8uP5.cjs +1 -0
  24. package/dist/ImageViewerApp-ihqIwJ-L.js +68 -0
  25. package/dist/ImageViewerMenuBar-DmvZoZ03.cjs +1 -0
  26. package/dist/{ImageViewerMenuBar-BIsUokxV.js → ImageViewerMenuBar-ZeIKHdA-.js} +18 -19
  27. package/dist/MenuEditApp-DRKfmSIZ.js +361 -0
  28. package/dist/MenuEditApp-U7EqB5Rl.cjs +1 -0
  29. package/dist/MenuEditMenuBar-BE_cXaoG.cjs +1 -0
  30. package/dist/MenuEditMenuBar-Df1je7F6.js +59 -0
  31. package/dist/NotesApp-DZfNQ8mN.cjs +1 -0
  32. package/dist/NotesApp-rwAeXyJy.js +344 -0
  33. package/dist/{NotesMenuBar-DILZTjnT.js → NotesMenuBar-C503t5pu.js} +12 -13
  34. package/dist/NotesMenuBar-CwgZ9dHy.cjs +1 -0
  35. package/dist/PdfApp-DNZaSXbF.cjs +1 -0
  36. package/dist/PdfApp-K1Z612o3.js +38 -0
  37. package/dist/PdfMenuBar-BPzP_JUO.cjs +1 -0
  38. package/dist/PdfMenuBar-DEUKgKTE.js +38 -0
  39. package/dist/SettingsApp-DdWqiYFE.cjs +1 -0
  40. package/dist/SettingsApp-ghc3RaMv.js +875 -0
  41. package/dist/SettingsMenuBar-C4KAPoBs.js +41 -0
  42. package/dist/SettingsMenuBar-CgmaF9_B.cjs +1 -0
  43. package/dist/{UploaderApp-CbypD538.js → UploaderApp-D9vfOR0S.js} +28 -40
  44. package/dist/UploaderApp-omSY-NSn.cjs +1 -0
  45. package/dist/VscIcon-CeELixwP.cjs +1 -0
  46. package/dist/buildBreadcrumbs-C2c2a4R3.cjs +1 -0
  47. package/dist/desktopStore-LSQweOqZ.cjs +1 -0
  48. package/dist/{desktopStore-8cSZlj7s.js → desktopStore-xnNbYaYm.js} +263 -263
  49. package/dist/formatBytes-Bv1bQPKQ.cjs +1 -0
  50. package/dist/formatBytes-CaP80WnM.js +14 -0
  51. package/dist/i18nConstants-DgbKSBIK.cjs +1 -0
  52. package/dist/i18nConstants-Nzpf2IFp.js +611 -0
  53. package/dist/imageViewerStore-CYt4R4e4.cjs +1 -0
  54. package/dist/index.cjs +1 -1
  55. package/dist/index.css +1 -1
  56. package/dist/index.d.ts +50 -29
  57. package/dist/index.js +715 -658
  58. package/dist/menuEditStore-sU6qaF2j.cjs +1 -0
  59. package/dist/notesStore-BnMXBRaV.cjs +1 -0
  60. package/dist/settingsAppStore-CQ4JHd7Q.cjs +1 -0
  61. package/dist/useAdaptiveDimensions-BDZxP4E3.cjs +1 -0
  62. package/dist/{useAdaptiveDimensions-DxNLJ7R5.js → useAdaptiveDimensions-sv9lwqF_.js} +1 -1
  63. package/dist/useCloseInterceptor-AzfjUZgz.cjs +1 -0
  64. package/dist/{useCloseInterceptor-CIxhOZx1.js → useCloseInterceptor-Bwm4I0O8.js} +1 -1
  65. package/dist/useDeviceDetection-B9jjlate.js +37 -0
  66. package/dist/useDeviceDetection-CnxnQWIq.cjs +1 -0
  67. package/dist/useDragDrop-Bdwzk6VO.cjs +1 -0
  68. package/dist/useDragDrop-D2LtOEYC.js +139 -0
  69. package/dist/useDynamicIcon-Cg3B_Aeq.cjs +1 -0
  70. package/dist/useNotifications-CR9JLjtC.js +26 -0
  71. package/dist/useNotifications-rwLmJ7fI.cjs +1 -0
  72. package/dist/useOpenApp-BBZ_B7Pr.cjs +1 -0
  73. package/dist/{useOpenApp-DkZLFFCH.js → useOpenApp-DdEbOVby.js} +3 -3
  74. package/dist/useResolvedUrl-CgqjNxzw.js +389 -0
  75. package/dist/useResolvedUrl-Dz2AhrDV.cjs +1 -0
  76. package/package.json +1 -1
  77. package/dist/AppEmptyState-CLc00OOG.cjs +0 -1
  78. package/dist/AppIcon-C8vHUVcb.cjs +0 -1
  79. package/dist/AppMenuBar-CAlkNHjj.cjs +0 -1
  80. package/dist/CalendarApp-DOmjWbpl.js +0 -10
  81. package/dist/CalendarApp-Z0bCCYsK.cjs +0 -1
  82. package/dist/ColorPicker-CQRRwY-y.cjs +0 -1
  83. package/dist/CreateItemApp-BkFFFdX1.cjs +0 -1
  84. package/dist/CreateItemApp-DR8Y4bwo.js +0 -202
  85. package/dist/DeviceInfoApp-BXQ9uOwF.cjs +0 -1
  86. package/dist/DeviceInfoApp-I63mJRWy.js +0 -195
  87. package/dist/DownloadProgress-CkTGTf0z.cjs +0 -1
  88. package/dist/FilePickerApp-By6-vbag.cjs +0 -1
  89. package/dist/FilesApp-BC4UPNuw.cjs +0 -1
  90. package/dist/FilesApp-D8MqvC5X.js +0 -210
  91. package/dist/ImageViewerApp-B1niWF75.cjs +0 -1
  92. package/dist/ImageViewerApp-iojtyFEf.js +0 -69
  93. package/dist/ImageViewerMenuBar-BgzgSF3v.cjs +0 -1
  94. package/dist/MenuEditApp-BHptoJbz.cjs +0 -1
  95. package/dist/MenuEditApp-CJUbJaqh.js +0 -492
  96. package/dist/MenuEditMenuBar-CCOSPAUe.cjs +0 -1
  97. package/dist/MenuEditMenuBar-DnCL-kaZ.js +0 -60
  98. package/dist/NotesApp-BmQIBtJ2.cjs +0 -1
  99. package/dist/NotesApp-DJ2dGt4-.js +0 -364
  100. package/dist/NotesMenuBar-BzojwMtH.cjs +0 -1
  101. package/dist/PdfApp-IjY_GtnW.js +0 -39
  102. package/dist/PdfApp-krW8UI97.cjs +0 -1
  103. package/dist/PdfMenuBar-Bd5MTZcZ.js +0 -39
  104. package/dist/PdfMenuBar-DWD0Qa3F.cjs +0 -1
  105. package/dist/SettingsApp-BE22l5UP.cjs +0 -1
  106. package/dist/SettingsApp-BTFtTFY_.js +0 -1228
  107. package/dist/SettingsMenuBar-CZE2evG2.cjs +0 -1
  108. package/dist/SettingsMenuBar-ktC0viTd.js +0 -42
  109. package/dist/UploaderApp-D_qD3O70.cjs +0 -1
  110. package/dist/VscIcon-BYb_Soyy.cjs +0 -1
  111. package/dist/buildBreadcrumbs-Ccd8i11b.cjs +0 -1
  112. package/dist/desktopStore-C1jR6Fdb.cjs +0 -1
  113. package/dist/imageViewerStore-Dfylg59V.cjs +0 -1
  114. package/dist/menuEditStore-CYwtfD6H.cjs +0 -1
  115. package/dist/notesStore-CrWTO6oB.cjs +0 -1
  116. package/dist/rolldown-runtime-CAFD8bLK.js +0 -11
  117. package/dist/settingsAppStore-DuYZNeFf.cjs +0 -1
  118. package/dist/useAdaptiveDimensions-3Lz4X0Tc.cjs +0 -1
  119. package/dist/useCloseInterceptor-CdX-09Ib.cjs +0 -1
  120. package/dist/useDynamicIcon-CK6SjEv5.cjs +0 -1
  121. package/dist/useOpenApp-D-FOY88T.cjs +0 -1
  122. package/dist/useResolvedUrl-B6x4xy0x.js +0 -29
  123. package/dist/useResolvedUrl-Bb39DpVy.cjs +0 -1
  124. /package/dist/{Colors-CuABn2W4.js → Colors-BIj4g0eH.js} +0 -0
  125. /package/dist/{Colors-CNJbU7oq.cjs → Colors-PNt4eyR6.cjs} +0 -0
  126. /package/dist/{DownloadProgress-DnVASsv5.js → DownloadProgress-DBFA58C5.js} +0 -0
  127. /package/dist/{imageViewerStore-COrD02Zu.js → imageViewerStore-C6UgceP-.js} +0 -0
  128. /package/dist/{menuEditStore-CxsgLiQu.js → menuEditStore-DPqViGva.js} +0 -0
  129. /package/dist/{notesStore-Dgah46U5.js → notesStore-KZDXN6zx.js} +0 -0
  130. /package/dist/{settingsAppStore-DHZhi6Rl.js → settingsAppStore-Y7x3r6pV.js} +0 -0
  131. /package/dist/{useMenuBarUtils-DAap0ukp.cjs → useMenuBarUtils-BOnQYtKU.cjs} +0 -0
  132. /package/dist/{useMenuBarUtils-ChAfI7OA.js → useMenuBarUtils-DTPFK0IN.js} +0 -0
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- ._root_b2ks8_1{flex-direction:column;height:100%;display:flex;overflow:hidden}._breadcrumbBar_b2ks8_8{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;padding:6px 10px}._breadcrumbSep_b2ks8_15{color:var(--mantine-color-dimmed);font-size:12px}._body_b2ks8_20{flex:1;min-height:0;display:flex;overflow:hidden}._sidebar_b2ks8_27{border-right:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;width:140px;overflow-y:auto}._folderTree_b2ks8_34{flex-direction:column;gap:1px;padding:4px 0;display:flex}._treeItem_b2ks8_41{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;width:100%;padding:5px 8px;transition:background .1s;display:flex}._treeItem_b2ks8_41:hover{background:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff12)}._treeItem_b2ks8_41[data-active]{background:var(--mantine-primary-color-light);color:var(--mantine-primary-color-filled)}._content_b2ks8_61{flex:1;min-width:0;overflow-y:auto}._grid_b2ks8_67{flex-wrap:wrap;align-content:flex-start;gap:4px;padding:8px;display:flex}._item_b2ks8_75{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;align-items:center;gap:4px;width:80px;padding:8px 6px;transition:background .1s;display:flex}._item_b2ks8_75:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff14)}._item_b2ks8_75[data-selected]{background:var(--mantine-primary-color-light);outline:1px solid var(--mantine-primary-color-filled)}._icon_b2ks8_97{justify-content:center;align-items:center;width:40px;height:40px;display:flex}._name_b2ks8_105{text-align:center;word-break:break-word;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;max-width:72px;display:-webkit-box;overflow:hidden}._empty_b2ks8_117{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}._actionBar_b2ks8_125{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-top:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}._selectedLabel_b2ks8_136{flex:1;min-width:0}._saveActionBar_b2ks8_142{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-top:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}._fileNameInput_b2ks8_152{flex:1;min-width:0}._overlay_b2ks8_158{z-index:10;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._panel_b2ks8_168{background:var(--mantine-color-body);border-radius:8px;width:580px;height:400px;overflow:hidden;box-shadow:0 8px 32px #0006}._container_3xue5_1{background-color:var(--mantine-color-body);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}._toolbar_3xue5_11{border-bottom:1px solid var(--mantine-color-default-border);background-color:var(--mantine-color-default);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:4px 8px;display:flex}._toolbarBtn_3xue5_22{border-radius:var(--mantine-radius-sm);width:28px;height:28px;color:var(--mantine-color-text);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background-color 80ms,border-color 80ms;display:flex}._toolbarBtn_3xue5_22 svg{flex-shrink:0;width:1em;height:1em}._toolbarBtn_3xue5_22:hover:not(:disabled){background-color:var(--mantine-color-default-hover);border-color:var(--mantine-color-default-border)}._toolbarBtn_3xue5_22:disabled{opacity:.4;cursor:not-allowed}._toolbarBtn_3xue5_22._active_3xue5_57{background-color:var(--mantine-color-blue-light);border-color:var(--mantine-color-blue-light-hover);color:var(--mantine-color-blue-light-color)}._separator_3xue5_63{background-color:var(--mantine-color-default-border);flex-shrink:0;width:1px;height:18px;margin:0 4px}._editorContent_3xue5_71{flex:1;padding:16px 20px;overflow-y:auto}._editorContent_3xue5_71 .ProseMirror{min-height:100%;color:var(--mantine-color-text);outline:none;font-size:14px;line-height:1.6}._editorContent_3xue5_71 .ProseMirror p{margin:0 0 8px}._editorContent_3xue5_71 .ProseMirror h1{margin:0 0 12px;font-size:1.8em;font-weight:700;line-height:1.2}._editorContent_3xue5_71 .ProseMirror h2{margin:0 0 10px;font-size:1.4em;font-weight:600;line-height:1.3}._editorContent_3xue5_71 .ProseMirror h3{margin:0 0 8px;font-size:1.2em;font-weight:600}._editorContent_3xue5_71 .ProseMirror ul,._editorContent_3xue5_71 .ProseMirror ol{margin:0 0 8px;padding-left:24px}._editorContent_3xue5_71 .ProseMirror li{margin-bottom:2px}._editorContent_3xue5_71 .ProseMirror blockquote{border-left:3px solid var(--mantine-color-blue-4);color:var(--mantine-color-dimmed);margin:0 0 8px;padding-left:12px;font-style:italic}._editorContent_3xue5_71 .ProseMirror code{background-color:var(--mantine-color-default-hover);border-radius:3px;padding:1px 4px;font-family:Courier New,monospace;font-size:.9em}._editorContent_3xue5_71 .ProseMirror pre{background-color:var(--mantine-color-dark-7,#1a1a2e);color:var(--mantine-color-gray-1,#f0f0f0);border-radius:var(--mantine-radius-sm);margin:0 0 12px;padding:12px 16px;overflow-x:auto}._editorContent_3xue5_71 .ProseMirror pre code{background:0 0;padding:0;font-size:.875em}._editorContent_3xue5_71 .ProseMirror hr{border:none;border-top:2px solid var(--mantine-color-default-border);margin:16px 0}._editorContent_3xue5_71 .ProseMirror strong{font-weight:700}._editorContent_3xue5_71 .ProseMirror em{font-style:italic}._editorContent_3xue5_71 .ProseMirror s{text-decoration:line-through}._editorContent_3xue5_71 .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--mantine-color-dimmed);pointer-events:none;float:left;height:0}._root_1aqog_1{background:var(--color-surface-subtle);border-bottom:1px solid var(--color-surface-border);flex-direction:row;flex-shrink:0;align-items:center;gap:4px;height:50px;padding:0 6px;display:flex;overflow:auto hidden}._root_1aqog_1::-webkit-scrollbar{display:none}._menuTrigger_1aqog_19{all:unset;border-radius:var(--radius-sm);font-size:var(--mantine-font-size-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;min-height:36px;padding:8px 12px;line-height:1;display:flex}._menuTrigger_1aqog_19:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff0f)}._element_1aqog_37{align-items:center;gap:6px;padding:0 4px;display:flex}._sliderLabel_1aqog_44{font-size:var(--mantine-font-size-sm);color:var(--mantine-color-dimmed);white-space:nowrap}._select_1aqog_50,._textInput_1aqog_51,._numberInput_1aqog_52{min-width:100px;max-width:200px}._numberInput_1aqog_52{width:120px}._slider_1aqog_44{width:300px}._root_43uio_1{justify-content:center;align-items:flex-start;height:100%;padding:12px;display:flex}._container_1o4i3_1{background:var(--mantine-color-body);height:100%;padding:16px;overflow:auto}._root_113j7_1{flex-direction:column;gap:1px;padding:4px 0;display:flex;overflow-y:auto}._item_113j7_9{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;width:100%;padding:5px 8px;transition:background .1s;display:flex}._item_113j7_9:hover{background:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff12)}._item_113j7_9[data-active]{background:var(--mantine-primary-color-light);color:var(--mantine-primary-color-filled)}._grid_1cag6_1{flex-wrap:wrap;align-content:flex-start;gap:4px;padding:8px;display:flex}._item_1cag6_9{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;align-items:center;gap:4px;width:80px;padding:8px 6px;transition:background .1s;display:flex}._item_1cag6_9:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff14)}._icon_1cag6_26{justify-content:center;align-items:center;width:40px;height:40px;display:flex}._name_1cag6_34{text-align:center;word-break:break-word;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;max-width:72px;display:-webkit-box;overflow:hidden}._empty_1cag6_46{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}._root_13mxj_1{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}._breadcrumbBar_13mxj_9{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;padding:6px 10px}._breadcrumbSep_13mxj_16{color:var(--mantine-color-dimmed);font-size:12px}._body_13mxj_21{flex:1;min-height:0;display:flex;overflow:hidden}._sidebar_13mxj_28{border-right:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;width:160px;overflow-y:auto}._content_13mxj_35{flex:1;min-width:0;overflow-y:auto}._root_19u7b_1{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}._container_19u7b_10{flex-flow:wrap;justify-content:center;align-items:center;gap:10px;width:300px;margin:0;padding:0;list-style:none;display:flex}._item_19u7b_23{border-radius:10px;width:100px;height:100px}._label_19u7b_29{color:#fff;text-shadow:0 1px 8px #00000080;letter-spacing:.04em;pointer-events:none;justify-content:center;align-items:center;margin:0;font-size:.9rem;font-weight:600;display:flex;position:absolute;inset:0}._container_1btg4_1{background-color:var(--mantine-color-dark-9,#1a1a1a);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}._image_1btg4_12{object-fit:contain;max-width:100%;max-height:100%;display:block}._placeholder_1btg4_19{color:var(--mantine-color-dimmed);text-align:center}._dragOverlay_myknw_1{background:var(--mantine-color-gray-1);box-shadow:var(--mantine-shadow-md);pointer-events:none;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;display:flex}[data-mantine-color-scheme=dark] ._dragOverlay_myknw_1{background:var(--mantine-color-dark-5)}._container_y9c6e_1{height:100%;padding:16px;overflow-y:auto}._content_y9c6e_7{flex-direction:column;gap:8px;display:flex}._folderList_y9c6e_13{flex-direction:column;gap:12px;display:flex}._folderCard_y9c6e_19{transition:box-shadow .15s}._folderCard_y9c6e_19[data-is-over=true]{box-shadow:var(--mantine-shadow-md);outline:2px solid var(--mantine-color-blue-5)}._folderHeader_y9c6e_28{border-bottom:1px solid var(--mantine-color-gray-2);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}[data-mantine-color-scheme=dark] ._folderHeader_y9c6e_28{border-bottom-color:var(--mantine-color-dark-4)}._appList_y9c6e_40{flex-flow:wrap;gap:4px;min-height:40px;padding:8px 12px;display:flex}._availableApps_y9c6e_49{margin-top:16px}._availableApps_y9c6e_49[data-is-over=true]{box-shadow:var(--mantine-shadow-md);outline:2px solid var(--mantine-color-blue-5)}._appGrid_y9c6e_58{flex-wrap:wrap;gap:8px;display:flex}._appItem_y9c6e_64{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:8px;transition:background-color .15s,opacity .15s;display:flex}._appItem_y9c6e_64:hover{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] ._appItem_y9c6e_64:hover{background-color:var(--mantine-color-dark-5)}._appItem_y9c6e_64:active{cursor:grabbing;opacity:.7}._appItem_y9c6e_64[data-dragging=true]{opacity:.5}._container_1hj4w_1{width:100%;height:100%;position:relative}._frame_1hj4w_7{border:none;width:100%;height:100%;display:block}._root_18r9b_1{flex-direction:column;gap:8px;display:flex}._colorRow_18r9b_7{flex-wrap:wrap;gap:6px;display:flex}._colorSwatch_18r9b_13{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:transform .1s,border-color .1s}._colorSwatch_18r9b_13:hover:not([data-disabled]){transform:scale(1.15)}._colorSwatch_18r9b_13[data-selected]{border-color:var(--mantine-color-text);transform:scale(1.15)}._colorSwatch_18r9b_13[data-disabled]{cursor:not-allowed;opacity:.5}._colorInput_18r9b_38{margin-top:2px}._spinner_yguq4_1{animation:1s linear infinite _spin_yguq4_1}@keyframes _spin_yguq4_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._container_a0fjd_1{border-radius:2px;flex-shrink:0;display:inline-flex;overflow:hidden}._flag_a0fjd_8{width:100%;height:100%;display:block}._root_77epl_1{height:100%;display:flex;position:relative;overflow:hidden}._sidebar_77epl_8{border-right:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;width:160px;padding:4px 0;overflow-y:auto}._navItem_77epl_16{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;padding:5px 8px;transition:background .1s;display:flex}._navItem_77epl_16:hover{background:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff12)}._navItem_77epl_16[data-active]{background:var(--mantine-primary-color-light);color:var(--mantine-primary-color-filled)}._content_77epl_41{flex:1;min-width:0;overflow-y:auto}._overviewPadding_77epl_47{padding:16px}._sectionCard_77epl_51{cursor:pointer;transition:background .15s}._sectionCard_77epl_51:hover{background:var(--lightningcss-light,#00000008)var(--lightningcss-dark,#ffffff0a)}._toolbar_77epl_60{background-color:var(--lightningcss-light,#f8f9fa)var(--lightningcss-dark,#1a1b1e);border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;justify-content:flex-end;align-items:center;padding:6px 12px;display:flex}._dirtyIndicator_77epl_70{color:var(--mantine-color-orange-6);margin-left:auto;font-size:10px;line-height:1}._versionFooter_77epl_77{opacity:.6;padding-top:12px}._container_1xc3a_1{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex;position:relative;overflow:hidden}._backgroundIcon_1xc3a_13{opacity:.1;filter:blur(1px);pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._stepper_1xc3a_23{z-index:1;width:100%;max-width:500px;position:relative}._fileInfo_1xc3a_30{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-radius:4px;margin-top:8px;padding:8px 12px}._resultPaper_1xc3a_37{text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}._resultIcon_1xc3a_49{margin-bottom:16px}._readyContainer_1xc3a_53{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px 0;display:flex}._root_1jzye_1{flex-direction:column;gap:8px;display:flex}._iconGrid_1jzye_7{padding:4px}._iconButton_1jzye_11{cursor:pointer;border:2px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .1s,border-color .1s;display:flex}._iconButton_1jzye_11:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff14)}._iconButton_1jzye_11[data-selected]{border-color:var(--mantine-primary-color-filled);background:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff1f)}._content_ej839_1{flex-direction:column;gap:12px;padding:16px;display:flex}._header_ej839_8{border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);padding:12px 16px}._nameRow_ej839_13{align-items:center;gap:12px;display:flex}._iconPreview_ej839_19{background:var(--lightningcss-light,#0000000a)var(--lightningcss-dark,#ffffff0f);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._nameInput_ej839_30{flex:1}._collapseToggle_ej839_34{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:4px 0;display:flex}._collapseToggle_ej839_34:hover{opacity:.8}._pickerWrapper_ej839_46{background:var(--lightningcss-light,#00000008)var(--lightningcss-dark,#ffffff0a);border:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);border-radius:8px;padding:8px}:root{--color-surface-hover:#ffffff26;--color-surface-active:#ffffff47;--color-surface-subtle:#80808014;--color-surface-border:#80808026;--color-surface-border-strong:#80808033;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition-bg:background .15s}._root_1z0nr_1{top:0;left:0;right:0;bottom:var(--taskbar-height,48px);position:fixed;overflow:hidden}._header_2d0oy_1{cursor:pointer;border-radius:4px;align-items:center;gap:6px;width:100%;padding:6px 8px;transition:background-color .15s;display:flex}._header_2d0oy_1:hover{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] ._header_2d0oy_1:hover{background-color:var(--mantine-color-dark-5)}._iconContainer_2d0oy_20{justify-content:center;align-items:center;width:16px;height:16px;display:flex}._expandIcon_2d0oy_28{color:var(--mantine-color-gray-6)}[data-mantine-color-scheme=dark] ._expandIcon_2d0oy_28{color:var(--mantine-color-gray-5)}._icon_2d0oy_20{justify-content:center;align-items:center;display:flex}._title_2d0oy_42{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}._content_2d0oy_48{flex-direction:column;padding-left:24px;display:flex}._trigger_4gumo_1{border-radius:var(--radius-md);background:var(--color-surface-hover);cursor:pointer;width:36px;height:36px;transition:var(--transition-bg);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:0;display:flex;overflow:visible}._trigger_4gumo_1:hover{background:var(--color-surface-active)}._panel_4gumo_23{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(64px);backdrop-filter:blur(64px);z-index:9998;flex-direction:column;gap:8px;width:260px;max-height:calc(100vh - 100px);padding:12px;display:flex;position:fixed;bottom:56px;left:8px;box-shadow:0 8px 32px #0000004d}._searchContainer_4gumo_39{flex-shrink:0}._searchInput_4gumo_43{font-size:12px!important}._scrollContainer_4gumo_47{flex-direction:column;flex:1;gap:4px;display:flex;overflow:hidden auto}._appsSection_4gumo_56{flex-direction:column;gap:4px;display:flex}._appButton_4gumo_62{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:var(--transition-bg);color:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}._appButton_4gumo_62:hover{background:var(--color-surface-hover)}._appIcon_4gumo_82{text-align:center;width:28px;font-size:20px}._menuItem_18vno_1{align-items:center;gap:8px;display:flex}._root_17um1_1{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:4px;height:48px;padding:0 8px;display:flex;position:fixed;bottom:0;left:0;right:0}._windowButton_17um1_15{border-radius:var(--radius-sm);cursor:pointer;min-width:120px;max-width:200px;height:36px;color:inherit;white-space:nowrap;text-overflow:ellipsis;transition:var(--transition-bg);background:#ffffff1f;border:none;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex;overflow:hidden}._windowButton_17um1_15:hover{background:#ffffff38}._windowButton_17um1_15[data-active=true]{background:var(--color-surface-active);box-shadow:inset 0 -2px 0 var(--mantine-color-blue-4)}._systemTray_17um1_44{align-items:center;gap:4px;margin-left:auto;display:flex}._themeToggle_17um1_51{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:var(--transition-bg);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;display:flex}._themeToggle_17um1_51:hover{background:var(--color-surface-hover)}._clock_17um1_70{white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);height:36px;color:inherit;transition:var(--transition-bg);background:0 0;border:none;align-items:center;padding:0 8px;display:flex}._clock_17um1_70:hover{background:var(--color-surface-hover)}._notifButton_17um1_88{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:var(--transition-bg);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:flex;overflow:visible}._notifButton_17um1_88:hover{background:var(--color-surface-hover)}._langButton_17um1_109{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:var(--transition-bg);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:flex;overflow:visible}._langButton_17um1_109:hover{background:var(--color-surface-hover)}._root_1vtes_1{border-radius:var(--radius-md);border:1px solid var(--color-surface-border-strong);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000003d}._titleBar_1vtes_12{cursor:grab;-webkit-user-select:none;user-select:none;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-surface-border);touch-action:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;height:48px;padding:0 8px;display:flex}._titleBar_1vtes_12:active{cursor:grabbing}._windowButtons_1vtes_31{touch-action:auto}._title_1vtes_12{flex:1;min-width:0;margin-right:8px}._content_1vtes_41{flex:1;min-height:0;position:relative;overflow:auto}._focusOverlay_1vtes_48{z-index:1;cursor:default;position:absolute;inset:0}@media (width<=768px){._titleBar_1vtes_12{height:44px}}._root_1f7p3_1{cursor:pointer;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none;flex-direction:column;align-items:center;gap:4px;width:80px;padding:8px;display:flex;position:absolute}._root_1f7p3_1:hover,._root_1f7p3_1:focus-visible{background:var(--color-surface-hover)}._iconImage_1f7p3_21{font-size:36px;line-height:1}._label_1f7p3_26{text-align:center;color:#fff;text-shadow:0 1px 3px #0009;word-break:break-word;max-width:100%}._overlay_34o9z_1{z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._content_34o9z_12{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:320px;padding:32px;display:flex}._phoneIcon_34o9z_22{color:#fff;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;animation:2s ease-in-out infinite _rotatePhone_34o9z_1;display:flex}@keyframes _rotatePhone_34o9z_1{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){._phoneIcon_34o9z_22{animation:none}}._title_34o9z_50{color:#fff}._message_34o9z_54{color:#ffffffb3}._button_34o9z_58{color:#fffc}._button_34o9z_58:hover{color:#fff;background:#ffffff1a}._frame_13ufi_1{border:none;width:100%;height:100%;display:block}._terminalContainer_15s96_1{background-color:#1e1e1e;flex-direction:column;width:100%;height:100%;display:flex}._terminalWrapper_15s96_9{flex:1;min-height:0;padding:8px}._terminal_15s96_1{width:100%;height:100%}._terminal_15s96_1 .xterm{height:100%;padding:4px}._terminal_15s96_1 .xterm-viewport{overflow-y:auto}._terminal_15s96_1 .xterm-screen{background-color:#1e1e1e}._statusBar_15s96_33{color:#888;background-color:#2d2d2d;border-top:1px solid #3d3d3d;align-items:center;gap:8px;height:24px;padding:0 8px;font-size:12px;display:flex}._statusIndicator_15s96_45{align-items:center;display:flex}._statusIndicator_15s96_45[data-status=idle]{color:#888}._statusIndicator_15s96_45[data-status=connecting]{color:#f5a623}._statusIndicator_15s96_45[data-status=connected]{color:#4caf50}._statusIndicator_15s96_45[data-status=disconnected]{color:#888}._statusIndicator_15s96_45[data-status=error]{color:#f44336}._statusText_15s96_70{font-size:11px}._reconnectButton_15s96_74{color:#fff;cursor:pointer;background-color:#0078d4;border:none;border-radius:3px;margin-left:auto;padding:2px 8px;font-size:11px;transition:background-color .2s}._reconnectButton_15s96_74:hover{background-color:#106ebe}._reconnectButton_15s96_74:active{background-color:#005a9e}._container_1ypq1_1{background-color:#1e1e1e;flex-direction:column;width:100%;height:100%;display:flex}._loading_1ypq1_9{color:#d4d4d4;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}._spinner_1ypq1_19{border:3px solid #333;border-top-color:#0078d4;border-radius:50%;width:40px;height:40px;animation:1s linear infinite _spin_1ypq1_19}@keyframes _spin_1ypq1_19{to{transform:rotate(360deg)}}._loading_1ypq1_9 p{margin:0;font-size:14px}._error_1ypq1_39{color:#d4d4d4;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:24px;display:flex}._error_1ypq1_39 h3{color:#f44336;margin:0;font-size:18px}._error_1ypq1_39 p{color:#888;margin:0;font-size:14px}._retryButton_1ypq1_63{color:#fff;cursor:pointer;background-color:#0078d4;border:none;border-radius:4px;margin-top:12px;padding:8px 16px;font-size:14px;transition:background-color .2s}._retryButton_1ypq1_63:hover{background-color:#106ebe}._iframe_1ypq1_79{background-color:#1e1e1e;border:none;width:100%;height:100%}._container_1br66_1{width:100%;height:100%}
1
+ ._root_1aqog_1{background:var(--color-surface-subtle);border-bottom:1px solid var(--color-surface-border);flex-direction:row;flex-shrink:0;align-items:center;gap:4px;height:50px;padding:0 6px;display:flex;overflow:auto hidden}._root_1aqog_1::-webkit-scrollbar{display:none}._menuTrigger_1aqog_19{all:unset;border-radius:var(--radius-sm);font-size:var(--mantine-font-size-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;min-height:36px;padding:8px 12px;line-height:1;display:flex}._menuTrigger_1aqog_19:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff0f)}._element_1aqog_37{align-items:center;gap:6px;padding:0 4px;display:flex}._sliderLabel_1aqog_44{font-size:var(--mantine-font-size-sm);color:var(--mantine-color-dimmed);white-space:nowrap}._select_1aqog_50,._textInput_1aqog_51,._numberInput_1aqog_52{min-width:100px;max-width:200px}._numberInput_1aqog_52{width:120px}._slider_1aqog_44{width:300px}._root_18r9b_1{flex-direction:column;gap:8px;display:flex}._colorRow_18r9b_7{flex-wrap:wrap;gap:6px;display:flex}._colorSwatch_18r9b_13{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:transform .1s,border-color .1s}._colorSwatch_18r9b_13:hover:not([data-disabled]){transform:scale(1.15)}._colorSwatch_18r9b_13[data-selected]{border-color:var(--mantine-color-text);transform:scale(1.15)}._colorSwatch_18r9b_13[data-disabled]{cursor:not-allowed;opacity:.5}._colorInput_18r9b_38{margin-top:2px}._container_a0fjd_1{border-radius:2px;flex-shrink:0;display:inline-flex;overflow:hidden}._flag_a0fjd_8{width:100%;height:100%;display:block}._root_19u7b_1{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}._container_19u7b_10{flex-flow:wrap;justify-content:center;align-items:center;gap:10px;width:300px;margin:0;padding:0;list-style:none;display:flex}._item_19u7b_23{border-radius:10px;width:100px;height:100px}._label_19u7b_29{color:#fff;text-shadow:0 1px 8px #00000080;letter-spacing:.04em;pointer-events:none;justify-content:center;align-items:center;margin:0;font-size:.9rem;font-weight:600;display:flex;position:absolute;inset:0}._spinner_yguq4_1{animation:1s linear infinite _spin_yguq4_1}@keyframes _spin_yguq4_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._root_b2ks8_1{flex-direction:column;height:100%;display:flex;overflow:hidden}._breadcrumbBar_b2ks8_8{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;padding:6px 10px}._breadcrumbSep_b2ks8_15{color:var(--mantine-color-dimmed);font-size:12px}._body_b2ks8_20{flex:1;min-height:0;display:flex;overflow:hidden}._sidebar_b2ks8_27{border-right:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;width:140px;overflow-y:auto}._folderTree_b2ks8_34{flex-direction:column;gap:1px;padding:4px 0;display:flex}._treeItem_b2ks8_41{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;width:100%;padding:5px 8px;transition:background .1s;display:flex}._treeItem_b2ks8_41:hover{background:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff12)}._treeItem_b2ks8_41[data-active]{background:var(--mantine-primary-color-light);color:var(--mantine-primary-color-filled)}._content_b2ks8_61{flex:1;min-width:0;overflow-y:auto}._grid_b2ks8_67{flex-wrap:wrap;align-content:flex-start;gap:4px;padding:8px;display:flex}._item_b2ks8_75{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;align-items:center;gap:4px;width:80px;padding:8px 6px;transition:background .1s;display:flex}._item_b2ks8_75:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff14)}._item_b2ks8_75[data-selected]{background:var(--mantine-primary-color-light);outline:1px solid var(--mantine-primary-color-filled)}._icon_b2ks8_97{justify-content:center;align-items:center;width:40px;height:40px;display:flex}._name_b2ks8_105{text-align:center;word-break:break-word;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;max-width:72px;display:-webkit-box;overflow:hidden}._empty_b2ks8_117{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}._actionBar_b2ks8_125{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-top:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}._selectedLabel_b2ks8_136{flex:1;min-width:0}._saveActionBar_b2ks8_142{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-top:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}._fileNameInput_b2ks8_152{flex:1;min-width:0}._overlay_b2ks8_158{z-index:10;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._panel_b2ks8_168{background:var(--mantine-color-body);border-radius:8px;width:580px;height:400px;overflow:hidden;box-shadow:0 8px 32px #0006}._root_1jzye_1{flex-direction:column;gap:8px;display:flex}._iconGrid_1jzye_7{padding:4px}._iconButton_1jzye_11{cursor:pointer;border:2px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .1s,border-color .1s;display:flex}._iconButton_1jzye_11:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff14)}._iconButton_1jzye_11[data-selected]{border-color:var(--mantine-primary-color-filled);background:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff1f)}._dragOverlay_myknw_1{background:var(--mantine-color-gray-1);box-shadow:var(--mantine-shadow-md);pointer-events:none;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;display:flex}[data-mantine-color-scheme=dark] ._dragOverlay_myknw_1{background:var(--mantine-color-dark-5)}:root{--color-surface-hover:#ffffff26;--color-surface-active:#ffffff47;--color-surface-subtle:#80808014;--color-surface-border:#80808026;--color-surface-border-strong:#80808033;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition-bg:background .15s}._root_hze7e_1{top:0;left:0;right:0;bottom:var(--taskbar-height,48px);position:fixed;overflow:hidden}._background_hze7e_10{z-index:0;position:absolute;inset:0}._noiseOverlay_hze7e_19{z-index:1;pointer-events:none;background-repeat:repeat;background-size:var(--noise-tile-size,32px);mix-blend-mode:overlay;opacity:.3;position:absolute;inset:0}._header_2d0oy_1{cursor:pointer;border-radius:4px;align-items:center;gap:6px;width:100%;padding:6px 8px;transition:background-color .15s;display:flex}._header_2d0oy_1:hover{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] ._header_2d0oy_1:hover{background-color:var(--mantine-color-dark-5)}._iconContainer_2d0oy_20{justify-content:center;align-items:center;width:16px;height:16px;display:flex}._expandIcon_2d0oy_28{color:var(--mantine-color-gray-6)}[data-mantine-color-scheme=dark] ._expandIcon_2d0oy_28{color:var(--mantine-color-gray-5)}._icon_2d0oy_20{justify-content:center;align-items:center;display:flex}._title_2d0oy_42{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}._content_2d0oy_48{flex-direction:column;padding-left:24px;display:flex}._trigger_4gumo_1{border-radius:var(--radius-md);background:var(--color-surface-hover);cursor:pointer;width:36px;height:36px;transition:var(--transition-bg);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:0;display:flex;overflow:visible}._trigger_4gumo_1:hover{background:var(--color-surface-active)}._panel_4gumo_23{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(64px);backdrop-filter:blur(64px);z-index:9998;flex-direction:column;gap:8px;width:260px;max-height:calc(100vh - 100px);padding:12px;display:flex;position:fixed;bottom:56px;left:8px;box-shadow:0 8px 32px #0000004d}._searchContainer_4gumo_39{flex-shrink:0}._searchInput_4gumo_43{font-size:12px!important}._scrollContainer_4gumo_47{flex-direction:column;flex:1;gap:4px;display:flex;overflow:hidden auto}._appsSection_4gumo_56{flex-direction:column;gap:4px;display:flex}._appButton_4gumo_62{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:var(--transition-bg);color:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}._appButton_4gumo_62:hover{background:var(--color-surface-hover)}._appIcon_4gumo_82{text-align:center;width:28px;font-size:20px}._menuItem_18vno_1{align-items:center;gap:8px;display:flex}._root_17um1_1{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:4px;height:48px;padding:0 8px;display:flex;position:fixed;bottom:0;left:0;right:0}._windowButton_17um1_15{border-radius:var(--radius-sm);cursor:pointer;min-width:120px;max-width:200px;height:36px;color:inherit;white-space:nowrap;text-overflow:ellipsis;transition:var(--transition-bg);background:#ffffff1f;border:none;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex;overflow:hidden}._windowButton_17um1_15:hover{background:#ffffff38}._windowButton_17um1_15[data-active=true]{background:var(--color-surface-active);box-shadow:inset 0 -2px 0 var(--mantine-color-blue-4)}._systemTray_17um1_44{align-items:center;gap:4px;margin-left:auto;display:flex}._themeToggle_17um1_51{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:var(--transition-bg);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;display:flex}._themeToggle_17um1_51:hover{background:var(--color-surface-hover)}._clock_17um1_70{white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);height:36px;color:inherit;transition:var(--transition-bg);background:0 0;border:none;align-items:center;padding:0 8px;display:flex}._clock_17um1_70:hover{background:var(--color-surface-hover)}._notifButton_17um1_88{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:var(--transition-bg);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:flex;overflow:visible}._notifButton_17um1_88:hover{background:var(--color-surface-hover)}._langButton_17um1_109{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:var(--transition-bg);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:flex;overflow:visible}._langButton_17um1_109:hover{background:var(--color-surface-hover)}._root_1vtes_1{border-radius:var(--radius-md);border:1px solid var(--color-surface-border-strong);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000003d}._titleBar_1vtes_12{cursor:grab;-webkit-user-select:none;user-select:none;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-surface-border);touch-action:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;height:48px;padding:0 8px;display:flex}._titleBar_1vtes_12:active{cursor:grabbing}._windowButtons_1vtes_31{touch-action:auto}._title_1vtes_12{flex:1;min-width:0;margin-right:8px}._content_1vtes_41{flex:1;min-height:0;position:relative;overflow:auto}._focusOverlay_1vtes_48{z-index:1;cursor:default;position:absolute;inset:0}@media (width<=768px){._titleBar_1vtes_12{height:44px}}._root_1f7p3_1{cursor:pointer;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none;flex-direction:column;align-items:center;gap:4px;width:80px;padding:8px;display:flex;position:absolute}._root_1f7p3_1:hover,._root_1f7p3_1:focus-visible{background:var(--color-surface-hover)}._iconImage_1f7p3_21{font-size:36px;line-height:1}._label_1f7p3_26{text-align:center;color:#fff;text-shadow:0 1px 3px #0009;word-break:break-word;max-width:100%}._overlay_34o9z_1{z-index:99999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._content_34o9z_12{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:320px;padding:32px;display:flex}._phoneIcon_34o9z_22{color:#fff;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;animation:2s ease-in-out infinite _rotatePhone_34o9z_1;display:flex}@keyframes _rotatePhone_34o9z_1{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){._phoneIcon_34o9z_22{animation:none}}._title_34o9z_50{color:#fff}._message_34o9z_54{color:#ffffffb3}._button_34o9z_58{color:#fffc}._button_34o9z_58:hover{color:#fff;background:#ffffff1a}._frame_13ufi_1{border:none;width:100%;height:100%;display:block}._terminalContainer_15s96_1{background-color:#1e1e1e;flex-direction:column;width:100%;height:100%;display:flex}._terminalWrapper_15s96_9{flex:1;min-height:0;padding:8px}._terminal_15s96_1{width:100%;height:100%}._terminal_15s96_1 .xterm{height:100%;padding:4px}._terminal_15s96_1 .xterm-viewport{overflow-y:auto}._terminal_15s96_1 .xterm-screen{background-color:#1e1e1e}._statusBar_15s96_33{color:#888;background-color:#2d2d2d;border-top:1px solid #3d3d3d;align-items:center;gap:8px;height:24px;padding:0 8px;font-size:12px;display:flex}._statusIndicator_15s96_45{align-items:center;display:flex}._statusIndicator_15s96_45[data-status=idle]{color:#888}._statusIndicator_15s96_45[data-status=connecting]{color:#f5a623}._statusIndicator_15s96_45[data-status=connected]{color:#4caf50}._statusIndicator_15s96_45[data-status=disconnected]{color:#888}._statusIndicator_15s96_45[data-status=error]{color:#f44336}._statusText_15s96_70{font-size:11px}._reconnectButton_15s96_74{color:#fff;cursor:pointer;background-color:#0078d4;border:none;border-radius:3px;margin-left:auto;padding:2px 8px;font-size:11px;transition:background-color .2s}._reconnectButton_15s96_74:hover{background-color:#106ebe}._reconnectButton_15s96_74:active{background-color:#005a9e}._container_1ypq1_1{background-color:#1e1e1e;flex-direction:column;width:100%;height:100%;display:flex}._loading_1ypq1_9{color:#d4d4d4;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}._spinner_1ypq1_19{border:3px solid #333;border-top-color:#0078d4;border-radius:50%;width:40px;height:40px;animation:1s linear infinite _spin_1ypq1_19}@keyframes _spin_1ypq1_19{to{transform:rotate(360deg)}}._loading_1ypq1_9 p{margin:0;font-size:14px}._error_1ypq1_39{color:#d4d4d4;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:24px;display:flex}._error_1ypq1_39 h3{color:#f44336;margin:0;font-size:18px}._error_1ypq1_39 p{color:#888;margin:0;font-size:14px}._retryButton_1ypq1_63{color:#fff;cursor:pointer;background-color:#0078d4;border:none;border-radius:4px;margin-top:12px;padding:8px 16px;font-size:14px;transition:background-color .2s}._retryButton_1ypq1_63:hover{background-color:#106ebe}._iframe_1ypq1_79{background-color:#1e1e1e;border:none;width:100%;height:100%}._container_1br66_1{width:100%;height:100%}._root_113j7_1{flex-direction:column;gap:1px;padding:4px 0;display:flex;overflow-y:auto}._item_113j7_9{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;width:100%;padding:5px 8px;transition:background .1s;display:flex}._item_113j7_9:hover{background:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff12)}._item_113j7_9[data-active]{background:var(--mantine-primary-color-light);color:var(--mantine-primary-color-filled)}._grid_1cag6_1{flex-wrap:wrap;align-content:flex-start;gap:4px;padding:8px;display:flex}._item_1cag6_9{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;align-items:center;gap:4px;width:80px;padding:8px 6px;transition:background .1s;display:flex}._item_1cag6_9:hover{background:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff14)}._icon_1cag6_26{justify-content:center;align-items:center;width:40px;height:40px;display:flex}._name_1cag6_34{text-align:center;word-break:break-word;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;max-width:72px;display:-webkit-box;overflow:hidden}._empty_1cag6_46{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}._root_13mxj_1{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}._breadcrumbBar_13mxj_9{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;padding:6px 10px}._breadcrumbSep_13mxj_16{color:var(--mantine-color-dimmed);font-size:12px}._body_13mxj_21{flex:1;min-height:0;display:flex;overflow:hidden}._sidebar_13mxj_28{border-right:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;width:160px;overflow-y:auto}._content_13mxj_35{flex:1;min-width:0;overflow-y:auto}._container_3xue5_1{background-color:var(--mantine-color-body);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}._toolbar_3xue5_11{border-bottom:1px solid var(--mantine-color-default-border);background-color:var(--mantine-color-default);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:4px 8px;display:flex}._toolbarBtn_3xue5_22{border-radius:var(--mantine-radius-sm);width:28px;height:28px;color:var(--mantine-color-text);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background-color 80ms,border-color 80ms;display:flex}._toolbarBtn_3xue5_22 svg{flex-shrink:0;width:1em;height:1em}._toolbarBtn_3xue5_22:hover:not(:disabled){background-color:var(--mantine-color-default-hover);border-color:var(--mantine-color-default-border)}._toolbarBtn_3xue5_22:disabled{opacity:.4;cursor:not-allowed}._toolbarBtn_3xue5_22._active_3xue5_57{background-color:var(--mantine-color-blue-light);border-color:var(--mantine-color-blue-light-hover);color:var(--mantine-color-blue-light-color)}._separator_3xue5_63{background-color:var(--mantine-color-default-border);flex-shrink:0;width:1px;height:18px;margin:0 4px}._editorContent_3xue5_71{flex:1;padding:16px 20px;overflow-y:auto}._editorContent_3xue5_71 .ProseMirror{min-height:100%;color:var(--mantine-color-text);outline:none;font-size:14px;line-height:1.6}._editorContent_3xue5_71 .ProseMirror p{margin:0 0 8px}._editorContent_3xue5_71 .ProseMirror h1{margin:0 0 12px;font-size:1.8em;font-weight:700;line-height:1.2}._editorContent_3xue5_71 .ProseMirror h2{margin:0 0 10px;font-size:1.4em;font-weight:600;line-height:1.3}._editorContent_3xue5_71 .ProseMirror h3{margin:0 0 8px;font-size:1.2em;font-weight:600}._editorContent_3xue5_71 .ProseMirror ul,._editorContent_3xue5_71 .ProseMirror ol{margin:0 0 8px;padding-left:24px}._editorContent_3xue5_71 .ProseMirror li{margin-bottom:2px}._editorContent_3xue5_71 .ProseMirror blockquote{border-left:3px solid var(--mantine-color-blue-4);color:var(--mantine-color-dimmed);margin:0 0 8px;padding-left:12px;font-style:italic}._editorContent_3xue5_71 .ProseMirror code{background-color:var(--mantine-color-default-hover);border-radius:3px;padding:1px 4px;font-family:Courier New,monospace;font-size:.9em}._editorContent_3xue5_71 .ProseMirror pre{background-color:var(--mantine-color-dark-7,#1a1a2e);color:var(--mantine-color-gray-1,#f0f0f0);border-radius:var(--mantine-radius-sm);margin:0 0 12px;padding:12px 16px;overflow-x:auto}._editorContent_3xue5_71 .ProseMirror pre code{background:0 0;padding:0;font-size:.875em}._editorContent_3xue5_71 .ProseMirror hr{border:none;border-top:2px solid var(--mantine-color-default-border);margin:16px 0}._editorContent_3xue5_71 .ProseMirror strong{font-weight:700}._editorContent_3xue5_71 .ProseMirror em{font-style:italic}._editorContent_3xue5_71 .ProseMirror s{text-decoration:line-through}._editorContent_3xue5_71 .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--mantine-color-dimmed);pointer-events:none;float:left;height:0}._container_1btg4_1{background-color:var(--mantine-color-dark-9,#1a1a1a);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}._image_1btg4_12{object-fit:contain;max-width:100%;max-height:100%;display:block}._placeholder_1btg4_19{color:var(--mantine-color-dimmed);text-align:center}._container_1hj4w_1{width:100%;height:100%;position:relative}._frame_1hj4w_7{border:none;width:100%;height:100%;display:block}._container_y9c6e_1{height:100%;padding:16px;overflow-y:auto}._content_y9c6e_7{flex-direction:column;gap:8px;display:flex}._folderList_y9c6e_13{flex-direction:column;gap:12px;display:flex}._folderCard_y9c6e_19{transition:box-shadow .15s}._folderCard_y9c6e_19[data-is-over=true]{box-shadow:var(--mantine-shadow-md);outline:2px solid var(--mantine-color-blue-5)}._folderHeader_y9c6e_28{border-bottom:1px solid var(--mantine-color-gray-2);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}[data-mantine-color-scheme=dark] ._folderHeader_y9c6e_28{border-bottom-color:var(--mantine-color-dark-4)}._appList_y9c6e_40{flex-flow:wrap;gap:4px;min-height:40px;padding:8px 12px;display:flex}._availableApps_y9c6e_49{margin-top:16px}._availableApps_y9c6e_49[data-is-over=true]{box-shadow:var(--mantine-shadow-md);outline:2px solid var(--mantine-color-blue-5)}._appGrid_y9c6e_58{flex-wrap:wrap;gap:8px;display:flex}._appItem_y9c6e_64{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:8px;transition:background-color .15s,opacity .15s;display:flex}._appItem_y9c6e_64:hover{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] ._appItem_y9c6e_64:hover{background-color:var(--mantine-color-dark-5)}._appItem_y9c6e_64:active{cursor:grabbing;opacity:.7}._appItem_y9c6e_64[data-dragging=true]{opacity:.5}._container_1xc3a_1{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex;position:relative;overflow:hidden}._backgroundIcon_1xc3a_13{opacity:.1;filter:blur(1px);pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._stepper_1xc3a_23{z-index:1;width:100%;max-width:500px;position:relative}._fileInfo_1xc3a_30{background:var(--lightningcss-light,#00000005)var(--lightningcss-dark,#ffffff05);border-radius:4px;margin-top:8px;padding:8px 12px}._resultPaper_1xc3a_37{text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}._resultIcon_1xc3a_49{margin-bottom:16px}._readyContainer_1xc3a_53{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px 0;display:flex}._root_77epl_1{height:100%;display:flex;position:relative;overflow:hidden}._sidebar_77epl_8{border-right:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;width:160px;padding:4px 0;overflow-y:auto}._navItem_77epl_16{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;padding:5px 8px;transition:background .1s;display:flex}._navItem_77epl_16:hover{background:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff12)}._navItem_77epl_16[data-active]{background:var(--mantine-primary-color-light);color:var(--mantine-primary-color-filled)}._content_77epl_41{flex:1;min-width:0;overflow-y:auto}._overviewPadding_77epl_47{padding:16px}._sectionCard_77epl_51{cursor:pointer;transition:background .15s}._sectionCard_77epl_51:hover{background:var(--lightningcss-light,#00000008)var(--lightningcss-dark,#ffffff0a)}._toolbar_77epl_60{background-color:var(--lightningcss-light,#f8f9fa)var(--lightningcss-dark,#1a1b1e);border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);flex-shrink:0;justify-content:flex-end;align-items:center;padding:6px 12px;display:flex}._dirtyIndicator_77epl_70{color:var(--mantine-color-orange-6);margin-left:auto;font-size:10px;line-height:1}._versionFooter_77epl_77{opacity:.6;padding-top:12px}._container_1o4i3_1{background:var(--mantine-color-body);height:100%;padding:16px;overflow:auto}._root_43uio_1{justify-content:center;align-items:flex-start;height:100%;padding:12px;display:flex}._content_ej839_1{flex-direction:column;gap:12px;padding:16px;display:flex}._header_ej839_8{border-bottom:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);padding:12px 16px}._nameRow_ej839_13{align-items:center;gap:12px;display:flex}._iconPreview_ej839_19{background:var(--lightningcss-light,#0000000a)var(--lightningcss-dark,#ffffff0f);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._nameInput_ej839_30{flex:1}._collapseToggle_ej839_34{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:4px 0;display:flex}._collapseToggle_ej839_34:hover{opacity:.8}._pickerWrapper_ej839_46{background:var(--lightningcss-light,#00000008)var(--lightningcss-dark,#ffffff0a);border:1px solid var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);border-radius:8px;padding:8px}
2
2
  /*$vite$:1*/
package/dist/index.d.ts CHANGED
@@ -290,7 +290,9 @@ export declare const BREAKPOINTS: {
290
290
 
291
291
  export declare const buildBreadcrumbs: (currentFolderId: string | null, fsNodes: FSNode[]) => Breadcrumb[];
292
292
 
293
- export declare const CalendarApp: FC<WindowContentProps>;
293
+ export declare function buildGradientCSS(config: GradientConfig): string;
294
+
295
+ export declare const CalendarApp: AppEntry;
294
296
 
295
297
  export declare const CalendarAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
296
298
 
@@ -381,8 +383,6 @@ export declare interface CreateFolderOptions {
381
383
  iconColor?: string;
382
384
  }
383
385
 
384
- export declare const CreateItemApp: FC<WindowContentProps>;
385
-
386
386
  export declare const CreateItemAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
387
387
 
388
388
  export declare const CreateItemContextMenu: FC<CreateItemContextMenuProps>;
@@ -399,6 +399,8 @@ export declare const createMaximizeTransition: (duration: number) => Transition;
399
399
 
400
400
  export declare const createMinimizeVariant: (duration: number) => (deltaX: number, deltaY: number) => TargetAndTransition;
401
401
 
402
+ export declare function createNoiseDataUrl(width: number, height: number, intensity?: number): string;
403
+
402
404
  export declare const createPanelVariants: (duration: number) => {
403
405
  initial: {
404
406
  opacity: number;
@@ -503,6 +505,8 @@ export declare interface CustomThemeColors {
503
505
 
504
506
  export declare const DEFAULT_FDE_THEME: Record<ThemeMode, FdeTheme>;
505
507
 
508
+ export declare const DEFAULT_GRADIENT_CSS: string;
509
+
506
510
  export declare const DEFAULT_LANGUAGE: SupportedLanguage_3;
507
511
 
508
512
  export declare const DEFAULT_LAUNCHER_FOLDERS: LauncherFolder[];
@@ -513,6 +517,8 @@ export declare const DEFAULT_VIEWPORT_HEIGHT: 800;
513
517
 
514
518
  export declare const DEFAULT_VIEWPORT_WIDTH: 1280;
515
519
 
520
+ export declare const DEFAULT_WALLPAPER_URL: string;
521
+
516
522
  export declare const DEFAULT_WINDOW_DIMENSIONS: {
517
523
  readonly defaultWidth: 800;
518
524
  readonly defaultHeight: 600;
@@ -573,6 +579,7 @@ export declare interface DesktopIconProps {
573
579
 
574
580
  export declare interface DesktopProps extends DesktopAreaProps {
575
581
  wallpaper?: string;
582
+ wallpaperModule?: string;
576
583
  backgroundColor?: string;
577
584
  }
578
585
 
@@ -662,8 +669,6 @@ export declare interface DeviceInfo {
662
669
  screenHeight: number;
663
670
  }
664
671
 
665
- export declare const DeviceInfoApp: FC<WindowContentProps>;
666
-
667
672
  export declare const DeviceInfoAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
668
673
 
669
674
  export declare const DirtyIndicator: FC<DirtyIndicatorProps>;
@@ -958,8 +963,6 @@ declare interface FilePickerModalProps extends FilePickerAppProps {
958
963
  opened: boolean;
959
964
  }
960
965
 
961
- export declare const FilesApp: FC<WindowContentProps>;
962
-
963
966
  export declare const FilesAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
964
967
 
965
968
  export declare const fileSystem: IndexedDBFileSystem | DockerFileSystemAdapter;
@@ -1054,18 +1057,46 @@ export declare function getMimeTypeFromExtension(filename: string): string | und
1054
1057
 
1055
1058
  export declare const getPersistedThemeMode: () => ThemeMode | null;
1056
1059
 
1060
+ export declare function getPresets(): GradientPreset[];
1061
+
1057
1062
  export declare const getReleaseType: () => string;
1058
1063
 
1059
1064
  export declare function getRuntime(): Runtime;
1060
1065
 
1061
1066
  export declare const getVersionString: () => string;
1062
1067
 
1068
+ export declare function getWallpaperBackgroundStyle(wallpaper: string | undefined, wallpaperModule: string): string;
1069
+
1063
1070
  export declare const GITHUB_LATEST_RELEASE_URL = "https://api.github.com/repos/frannunpal/frannunpal.github.io/releases/latest";
1064
1071
 
1065
1072
  export declare const GITHUB_RELEASES_REPO = "frannunpal/frannunpal.github.io";
1066
1073
 
1067
1074
  export declare const GOOGLE_FONTS_HREF: Record<string, string>;
1068
1075
 
1076
+ export declare const GRADIENT_PRESETS: GradientPreset[];
1077
+
1078
+ export declare interface GradientColor {
1079
+ color: string;
1080
+ position: number;
1081
+ }
1082
+
1083
+ export declare interface GradientConfig {
1084
+ type: GradientType;
1085
+ colors: GradientColor[];
1086
+ angle?: number;
1087
+ radialShape?: 'circle' | 'ellipse';
1088
+ addNoise?: boolean;
1089
+ noiseOpacity?: number;
1090
+ isDefault?: boolean;
1091
+ }
1092
+
1093
+ export declare interface GradientPreset {
1094
+ name: string;
1095
+ config: GradientConfig;
1096
+ }
1097
+
1098
+ export declare type GradientType = 'linear' | 'radial' | 'conic';
1099
+
1069
1100
  export declare function hashBlob(blob: Blob): Promise<string>;
1070
1101
 
1071
1102
  declare interface HMRCallbacks {
@@ -1123,12 +1154,8 @@ export declare interface IFileSystem {
1123
1154
 
1124
1155
  export declare const IMAGE_MIME_TYPES: Set<string>;
1125
1156
 
1126
- export declare const ImageViewerApp: FC<WindowContentProps>;
1127
-
1128
1157
  export declare const ImageViewerAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
1129
1158
 
1130
- export declare const ImageViewerMenuBar: FC<MenuBarComponentProps>;
1131
-
1132
1159
  export declare const ImageViewerMenuBarLazy: MenuBarComponent;
1133
1160
 
1134
1161
  export declare class IndexedDBFileSystem implements IFileSystem {
@@ -1185,6 +1212,8 @@ export declare const injectFontLink: (font: string) => void;
1185
1212
 
1186
1213
  export declare function isBrowser(): boolean;
1187
1214
 
1215
+ export declare function isCSSGradient(value: string): boolean;
1216
+
1188
1217
  export declare function isCustomApp(appId: string): boolean;
1189
1218
 
1190
1219
  export declare function isDev(): boolean;
@@ -1196,6 +1225,8 @@ export declare function isElectron(): boolean;
1196
1225
  export declare interface ISettingsState {
1197
1226
  wallpaper: string | null;
1198
1227
  wallpaperModule: string;
1228
+ wallpaperHasNoise: boolean;
1229
+ wallpaperNoiseOpacity: number;
1199
1230
  launcherIcon: string;
1200
1231
  font: string;
1201
1232
  downloadedFonts: string[];
@@ -1207,6 +1238,8 @@ export declare interface ISettingsState {
1207
1238
  language: SupportedLanguage;
1208
1239
  setWallpaper: (url: string | null) => void;
1209
1240
  setWallpaperModule: (module: string) => void;
1241
+ setWallpaperHasNoise: (hasNoise: boolean) => void;
1242
+ setWallpaperNoiseOpacity: (opacity: number) => void;
1210
1243
  setLauncherIcon: (icon: string) => void;
1211
1244
  setFont: (font: string) => void;
1212
1245
  markFontDownloaded: (fontName: string) => void;
@@ -1304,12 +1337,8 @@ export declare interface MenuBarComponentProps {
1304
1337
  contentData?: Record<string, unknown>;
1305
1338
  }
1306
1339
 
1307
- export declare const MenuEditApp: FC<WindowContentProps>;
1308
-
1309
1340
  export declare const MenuEditAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
1310
1341
 
1311
- export declare const MenuEditMenuBar: FC<MenuBarComponentProps>;
1312
-
1313
1342
  export declare const MenuEditMenuBarLazy: MenuBarComponent;
1314
1343
 
1315
1344
  export declare type MenuItem = MenuItemAction | MenuItemDivider | MenuItemSlider;
@@ -1384,12 +1413,8 @@ export declare interface MountedAppState {
1384
1413
  instance?: unknown;
1385
1414
  }
1386
1415
 
1387
- export declare const NotesApp: FC<WindowContentProps>;
1388
-
1389
1416
  export declare const NotesAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
1390
1417
 
1391
- export declare const NotesMenuBar: FC<MenuBarComponentProps>;
1392
-
1393
1418
  export declare const NotesMenuBarLazy: MenuBarComponent;
1394
1419
 
1395
1420
  export declare interface NotificationItem {
@@ -1486,6 +1511,8 @@ export declare const panelVariants: {
1486
1511
  };
1487
1512
  };
1488
1513
 
1514
+ export declare function parseGradientCSS(css: string): GradientConfig | null;
1515
+
1489
1516
  export declare interface PartialFdeTheme {
1490
1517
  mode?: ThemeMode;
1491
1518
  colors?: Partial<FdeTheme['colors']>;
@@ -1494,12 +1521,8 @@ export declare interface PartialFdeTheme {
1494
1521
  desktop?: Partial<DesktopTheme>;
1495
1522
  }
1496
1523
 
1497
- export declare const PdfApp: FC<WindowContentProps>;
1498
-
1499
1524
  export declare const PdfAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
1500
1525
 
1501
- export declare const PdfMenuBar: FC<MenuBarComponentProps>;
1502
-
1503
1526
  export declare const PdfMenuBarLazy: MenuBarComponent;
1504
1527
 
1505
1528
  declare interface PickerModalProps {
@@ -1587,12 +1610,8 @@ export declare function setTestBaseUrl(url: string | null): void;
1587
1610
 
1588
1611
  export declare const SETTINGS_SECTIONS: SettingsSection[];
1589
1612
 
1590
- export declare const SettingsApp: FC<WindowContentProps>;
1591
-
1592
1613
  export declare const SettingsAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
1593
1614
 
1594
- export declare const SettingsMenuBar: FC<MenuBarComponentProps>;
1595
-
1596
1615
  export declare const SettingsMenuBarLazy: MenuBarComponent;
1597
1616
 
1598
1617
  export declare interface SettingsSection {
@@ -1628,6 +1647,8 @@ export declare const SortOptions: {
1628
1647
 
1629
1648
  export declare const StorybookApp: FC<WindowContentProps>;
1630
1649
 
1650
+ export declare const SUNSET_CONFIG: GradientConfig;
1651
+
1631
1652
  export declare const SUPPORTED_LANGUAGES: readonly ["en", "es"];
1632
1653
 
1633
1654
  declare const SUPPORTED_LANGUAGES_2: readonly ["en", "es"];
@@ -1711,8 +1732,6 @@ export declare const updateLauncherFolder: (folder: LauncherFolder, updates: Par
1711
1732
 
1712
1733
  export declare function updateManifestCache(manifest: CustomAppManifest): void;
1713
1734
 
1714
- export declare const UploaderApp: FC<WindowContentProps>;
1715
-
1716
1735
  export declare const UploaderAppLazy: LazyExoticComponent<FC<WindowContentProps>>;
1717
1736
 
1718
1737
  export declare function useAdaptiveDimensions(): AdaptiveDimensions;
@@ -2158,6 +2177,8 @@ export declare const useWindowButtonRegistry: () => RegistryContextValue;
2158
2177
 
2159
2178
  export { uuidv4 }
2160
2179
 
2180
+ export declare function validateGradientConfig(config: GradientConfig): boolean;
2181
+
2161
2182
  export declare const VscIcon: FC<VscIconProps>;
2162
2183
 
2163
2184
  declare interface VscIconProps {