@fde-desktop/fde-core 0.4.7 → 0.4.9

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 (284) hide show
  1. package/dist/AccordionChevron-DxpOyInK.js +26 -0
  2. package/dist/AccordionChevron-kn5kSrEc.cjs +1 -0
  3. package/dist/ActionIcon-Drh4p6Fv.js +145 -0
  4. package/dist/ActionIcon-alk2zZD6.cjs +1 -0
  5. package/dist/AppEmptyState-BWCUbf-B.cjs +1 -0
  6. package/dist/AppEmptyState-Bxpit0JV.js +49 -0
  7. package/dist/AppIcon-BU7a3ZNH.cjs +1 -0
  8. package/dist/AppIcon-XumS3bIG.js +80 -0
  9. package/dist/AppMenuBar-B9U0n1Vv.cjs +1 -0
  10. package/dist/AppMenuBar-CnIEVjr8.js +2049 -0
  11. package/dist/Box-DSKR_qaa.js +1579 -0
  12. package/dist/Box-zW6Twge8.cjs +1 -0
  13. package/dist/Button-DMlnrqyx.cjs +1 -0
  14. package/dist/Button-wTOTQKxF.js +178 -0
  15. package/dist/CalendarApp-B_e1B1Yn.cjs +1 -0
  16. package/dist/CalendarApp-C-l9D6nd.cjs +1 -0
  17. package/dist/CalendarApp-D0ftTCTG.js +1399 -0
  18. package/dist/Center-CmxXB9ql.js +25 -0
  19. package/dist/Center-DKUE2pER.cjs +1 -0
  20. package/dist/CheckIcon-CZhtJD1O.cjs +1 -0
  21. package/dist/CheckIcon-N5qBqXQJ.js +25 -0
  22. package/dist/CodeServerApp-BOoGwZ7r.cjs +1 -0
  23. package/dist/CodeServerApp-Be3I5EGg.cjs +1 -0
  24. package/dist/CodeServerApp-DW18EZxa.js +150 -0
  25. package/dist/ColorPicker-BCNqi02x.js +997 -0
  26. package/dist/ColorPicker-BrDE7tMO.cjs +1 -0
  27. package/dist/Colors-ClnDxnyA.js +15 -0
  28. package/dist/Colors-zP2AFgU3.cjs +1 -0
  29. package/dist/CreateItemApp-B12M1E_1.cjs +1 -0
  30. package/dist/CreateItemApp-TAAprby3.js +400 -0
  31. package/dist/CreateItemApp-ePB6ujNl.cjs +1 -0
  32. package/dist/DeviceInfoApp-BMF18BGo.cjs +1 -0
  33. package/dist/DeviceInfoApp-DRy0H3aT.cjs +1 -0
  34. package/dist/DeviceInfoApp-lgpwkeRR.js +223 -0
  35. package/dist/DownloadProgress-EoyCaD5O.js +174 -0
  36. package/dist/DownloadProgress-VNdj22U8.cjs +1 -0
  37. package/dist/FileIcon-7JaSR3Gn.js +89 -0
  38. package/dist/FileIcon-CIXopWLv.cjs +1 -0
  39. package/dist/FilePickerApp-DaMgEqKh.js +409 -0
  40. package/dist/FilePickerApp-DjmuSFqa.cjs +1 -0
  41. package/dist/FilesApp-Bp7wfrBZ.cjs +1 -0
  42. package/dist/FilesApp-BpJJRKhi.cjs +1 -0
  43. package/dist/FilesApp-Cj94QG5o.js +225 -0
  44. package/dist/Group-CtBJSfCo.js +48 -0
  45. package/dist/Group-Dsrf6lEK.cjs +1 -0
  46. package/dist/ImageViewerApp-BaLP3gkO.js +69 -0
  47. package/dist/ImageViewerApp-DlHGeB3S.cjs +1 -0
  48. package/dist/ImageViewerApp-DoXd_Swu.cjs +1 -0
  49. package/dist/ImageViewerMenuBar-CabGSi9r.js +87 -0
  50. package/dist/ImageViewerMenuBar-SAI7UNz7.cjs +1 -0
  51. package/dist/ImageViewerMenuBar-_Jr29gii.cjs +1 -0
  52. package/dist/MenuEditApp-BJjlPTOa.cjs +1 -0
  53. package/dist/MenuEditApp-BTRppYnD.js +497 -0
  54. package/dist/MenuEditApp-JPsGT-S3.cjs +1 -0
  55. package/dist/MenuEditMenuBar-BydGkqMw.cjs +1 -0
  56. package/dist/MenuEditMenuBar-DptlwVPQ.cjs +1 -0
  57. package/dist/MenuEditMenuBar-x1IQrHP2.js +60 -0
  58. package/dist/NotesApp-BOcRGO7w.cjs +1 -0
  59. package/dist/NotesApp-CQe7UfBC.js +364 -0
  60. package/dist/NotesApp-OL07JXRE.cjs +1 -0
  61. package/dist/NotesMenuBar-BSI_2Y7p.cjs +1 -0
  62. package/dist/NotesMenuBar-Df6aW85J.cjs +1 -0
  63. package/dist/NotesMenuBar-VhpIe68v.js +62 -0
  64. package/dist/Paper-BX_9odR6.js +30 -0
  65. package/dist/Paper-D8-BaBx2.cjs +1 -0
  66. package/dist/PdfApp-CNEbty5v.cjs +1 -0
  67. package/dist/PdfApp-CVv3ZCaM.cjs +1 -0
  68. package/dist/PdfApp-DL_R9-Nc.js +39 -0
  69. package/dist/PdfMenuBar--E6kDyrT.cjs +1 -0
  70. package/dist/PdfMenuBar-DZCLSOpR.js +39 -0
  71. package/dist/PdfMenuBar-Dj5cJUkg.cjs +1 -0
  72. package/dist/SettingsApp-BlmHuAjT.js +1831 -0
  73. package/dist/SettingsApp-CNvIgf5B.cjs +1 -0
  74. package/dist/SettingsApp-DWxanNE4.cjs +1 -0
  75. package/dist/SettingsMenuBar-CBoOBCfx.cjs +1 -0
  76. package/dist/SettingsMenuBar-DQooFkZN.cjs +1 -0
  77. package/dist/SettingsMenuBar-YWiJHaxq.js +42 -0
  78. package/dist/Slider-BUiHxjKO.cjs +1 -0
  79. package/dist/Slider-t-NcD60t.js +1176 -0
  80. package/dist/Stack-Bp1Ek2Gp.js +34 -0
  81. package/dist/Stack-D4jAiRfc.cjs +1 -0
  82. package/dist/StorybookApp-CDLV_kja.cjs +1 -0
  83. package/dist/StorybookApp-DKwlPCmo.js +10 -0
  84. package/dist/TerminalApp-BCB7i1lR.cjs +1 -0
  85. package/dist/TerminalApp-BYc_gHLe.js +326 -0
  86. package/dist/TerminalApp-Dviz6aP2.cjs +1 -0
  87. package/dist/TerminalMenuBar-D5tPmgR_.js +113 -0
  88. package/dist/TerminalMenuBar-DNshPmCa.cjs +1 -0
  89. package/dist/TerminalMenuBar-HzMSR7XP.cjs +1 -0
  90. package/dist/TextInput-C-JtGWn1.js +981 -0
  91. package/dist/TextInput-CrsmcOip.cjs +1 -0
  92. package/dist/Tooltip-D5Cd9wtz.cjs +1 -0
  93. package/dist/Tooltip-DOeIvhrO.js +1142 -0
  94. package/dist/UnstyledButton-DGaG-e_G.js +25 -0
  95. package/dist/UnstyledButton-DX2pTahr.cjs +1 -0
  96. package/dist/UploaderApp-C6xA5Rrf2.cjs +1 -0
  97. package/dist/UploaderApp-DnHIRxB_.cjs +1 -0
  98. package/dist/UploaderApp-qBfpukR_.js +488 -0
  99. package/dist/VscIcon-CcMdrFoJ.cjs +1 -0
  100. package/dist/VscIcon-DBfVnArE.js +8 -0
  101. package/dist/create-safe-context-Bboj0GWC.cjs +1 -0
  102. package/dist/create-safe-context-XT2cxc14.js +12 -0
  103. package/dist/desktopStore-CZoA9VHO.cjs +1 -0
  104. package/dist/desktopStore-F8bgLqFl.js +1768 -0
  105. package/dist/getRuntime-BFK0-8R1.cjs +1 -0
  106. package/dist/getRuntime-DAPqFH2W.js +63 -0
  107. package/dist/imageViewerStore-BB_tssZR.cjs +1 -0
  108. package/dist/imageViewerStore-C5kWz0o7.js +50 -0
  109. package/dist/index.cjs +1 -5642
  110. package/dist/index.css +2 -9192
  111. package/dist/index.d.ts +2258 -2019
  112. package/dist/index.js +4826 -4798
  113. package/dist/is-element-Bu_JY8Qy.js +7 -0
  114. package/dist/is-element-CdV0xajp.cjs +1 -0
  115. package/dist/menuEditStore-CTeM_dns.cjs +1 -0
  116. package/dist/menuEditStore-Cj1zAwxQ.js +38 -0
  117. package/dist/notesStore-BCEl1D_v.cjs +1 -0
  118. package/dist/notesStore-BPyRTHEc.js +36 -0
  119. package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
  120. package/dist/settingsAppStore-BDQ3ts1y.js +29 -0
  121. package/dist/settingsAppStore-CMBc13VU.cjs +1 -0
  122. package/dist/terminalStore-IWdf4Mm6.js +30 -0
  123. package/dist/terminalStore-iIuyodfK.cjs +1 -0
  124. package/dist/use-merged-ref-BT8_u6vW.js +25 -0
  125. package/dist/use-merged-ref-n9Gw9LNn.cjs +1 -0
  126. package/dist/use-resolved-styles-api-8OXE2oRq.cjs +1 -0
  127. package/dist/use-resolved-styles-api-DNUlJJZf.js +21 -0
  128. package/dist/use-uncontrolled-A4hm9ATM.js +23 -0
  129. package/dist/use-uncontrolled-DDJVQiM_.cjs +1 -0
  130. package/dist/useAdaptiveDimensions-AVDc_qPa.js +40 -0
  131. package/dist/useAdaptiveDimensions-CfITBJ_m.cjs +1 -0
  132. package/dist/useCloseInterceptor-BZd3VILp.js +51 -0
  133. package/dist/useCloseInterceptor-yntBEzNc.cjs +1 -0
  134. package/dist/useDynamicIcon-Bf0t2foA.js +22 -0
  135. package/dist/useDynamicIcon-DJ_il30E.cjs +1 -0
  136. package/dist/useMenuBarUtils-nJIPJGIQ.cjs +1 -0
  137. package/dist/useMenuBarUtils-nmu9yehT.js +6 -0
  138. package/dist/useOpenApp-CBIm7Gzl.js +279 -0
  139. package/dist/useOpenApp-DW4x79Zg.cjs +1 -0
  140. package/dist/useResolvedUrl-BkMPM1fM.cjs +1 -0
  141. package/dist/useResolvedUrl-DQpLqOoL.js +30 -0
  142. package/package.json +7 -3
  143. package/dist/CalendarApp-CHLUCAI7.css +0 -744
  144. package/dist/CalendarApp-K7ZOUZ6C.js +0 -2
  145. package/dist/CalendarApp-OTGEERSS.cjs +0 -8
  146. package/dist/CodeServerApp-5KZGO7HL.css +0 -75
  147. package/dist/CodeServerApp-LUZFCQBI.js +0 -3
  148. package/dist/CodeServerApp-P3TMJPLY.cjs +0 -9
  149. package/dist/CreateItemApp-ESQ42VHH.js +0 -8
  150. package/dist/CreateItemApp-PQB5GTFG.css +0 -107
  151. package/dist/CreateItemApp-RFE3REWZ.cjs +0 -14
  152. package/dist/DeviceInfoApp-XNIS6ZY6.js +0 -5
  153. package/dist/DeviceInfoApp-ZNLQNOKI.cjs +0 -11
  154. package/dist/DeviceInfoApp-ZSMRSITP.css +0 -7
  155. package/dist/FilesApp-4GEU64QN.js +0 -8
  156. package/dist/FilesApp-E6L5W3T2.css +0 -1817
  157. package/dist/FilesApp-QSLB5IWR.cjs +0 -14
  158. package/dist/ImageViewerApp-N2Q7E7WZ.css +0 -215
  159. package/dist/ImageViewerApp-NCVDKLB3.js +0 -11
  160. package/dist/ImageViewerApp-QB373H5Z.cjs +0 -17
  161. package/dist/ImageViewerMenuBar-I3TFKQPS.cjs +0 -14
  162. package/dist/ImageViewerMenuBar-TV5C6TM2.js +0 -5
  163. package/dist/ImageViewerMenuBar-XLK4LIHW.css +0 -56
  164. package/dist/MenuEditApp-5EFYAPFC.cjs +0 -15
  165. package/dist/MenuEditApp-V5XOPIHX.js +0 -9
  166. package/dist/MenuEditApp-YA6HSAMJ.css +0 -94
  167. package/dist/MenuEditMenuBar-7VHMZNRM.css +0 -56
  168. package/dist/MenuEditMenuBar-GF6L4PGZ.cjs +0 -15
  169. package/dist/MenuEditMenuBar-IUXFPZE5.js +0 -6
  170. package/dist/NotesApp-2YNT7Y3D.js +0 -10
  171. package/dist/NotesApp-IAEE7YHU.cjs +0 -16
  172. package/dist/NotesApp-TQ6IHDNX.css +0 -302
  173. package/dist/NotesMenuBar-25LKN3SE.cjs +0 -15
  174. package/dist/NotesMenuBar-MXLOX7OT.css +0 -56
  175. package/dist/NotesMenuBar-SRV3AIAL.js +0 -6
  176. package/dist/PdfApp-67XIX6AM.js +0 -10
  177. package/dist/PdfApp-BUIC5U5H.css +0 -206
  178. package/dist/PdfApp-GZ6RHTBR.cjs +0 -16
  179. package/dist/PdfMenuBar-NLZC6JHS.js +0 -4
  180. package/dist/PdfMenuBar-QUM72EE4.css +0 -56
  181. package/dist/PdfMenuBar-WBRTKMLN.cjs +0 -13
  182. package/dist/SettingsApp-BPLMGPNK.cjs +0 -20
  183. package/dist/SettingsApp-JVOSEFH3.css +0 -283
  184. package/dist/SettingsApp-LUDIXCYY.js +0 -14
  185. package/dist/SettingsMenuBar-5CBSSMVM.css +0 -56
  186. package/dist/SettingsMenuBar-VLT6TTCM.js +0 -6
  187. package/dist/SettingsMenuBar-Y5QEXDEO.cjs +0 -15
  188. package/dist/StorybookApp-NQ244BER.css +0 -7
  189. package/dist/StorybookApp-NZDV4X3Y.js +0 -1
  190. package/dist/StorybookApp-VF3KIMU3.cjs +0 -7
  191. package/dist/TerminalApp-CDGWRBFJ.cjs +0 -10
  192. package/dist/TerminalApp-EAATMIMX.css +0 -77
  193. package/dist/TerminalApp-GCKJCM55.js +0 -4
  194. package/dist/TerminalMenuBar-3J26O26Q.css +0 -56
  195. package/dist/TerminalMenuBar-7BH7MGNJ.cjs +0 -14
  196. package/dist/TerminalMenuBar-7JAEQUZ4.js +0 -5
  197. package/dist/UploaderApp-6KV3TGCT.css +0 -1817
  198. package/dist/UploaderApp-FJC2J4I5.js +0 -10
  199. package/dist/UploaderApp-HLXJYJZQ.cjs +0 -16
  200. package/dist/chunk-2PSTHGTD.cjs +0 -42
  201. package/dist/chunk-2RQX7QBP.cjs +0 -148
  202. package/dist/chunk-43W6UDUZ.cjs +0 -19
  203. package/dist/chunk-4E45FBAH.js +0 -223
  204. package/dist/chunk-4E4U2A25.cjs +0 -237
  205. package/dist/chunk-4QHX7CMN.cjs +0 -38
  206. package/dist/chunk-4XURSNM4.js +0 -43
  207. package/dist/chunk-4ZCRYHL6.js +0 -407
  208. package/dist/chunk-5C6IQE42.cjs +0 -35
  209. package/dist/chunk-5HUYQDQF.js +0 -36
  210. package/dist/chunk-5NOHYJNH.js +0 -84
  211. package/dist/chunk-5QFZW6HW.js +0 -2241
  212. package/dist/chunk-5YH6AKEO.js +0 -146
  213. package/dist/chunk-756GPSPM.js +0 -283
  214. package/dist/chunk-7WUYUTPN.js +0 -2293
  215. package/dist/chunk-7XCMBW64.js +0 -162
  216. package/dist/chunk-7Y7HB7FB.cjs +0 -53
  217. package/dist/chunk-ABIAPZ6S.cjs +0 -45
  218. package/dist/chunk-ACHGJKCI.cjs +0 -286
  219. package/dist/chunk-BQCD5RAF.cjs +0 -48
  220. package/dist/chunk-BQL3YXMV.js +0 -17429
  221. package/dist/chunk-C3XER4N3.js +0 -442
  222. package/dist/chunk-C6BEZNAM.cjs +0 -45
  223. package/dist/chunk-CILU6BWC.cjs +0 -548
  224. package/dist/chunk-CV5PUHAE.cjs +0 -86
  225. package/dist/chunk-D5MVFFID.js +0 -42
  226. package/dist/chunk-D7R55WWT.js +0 -1601
  227. package/dist/chunk-DFYDUXWP.cjs +0 -34
  228. package/dist/chunk-DWP2SYF7.js +0 -55
  229. package/dist/chunk-E55VXNLK.cjs +0 -17498
  230. package/dist/chunk-E5FW77FG.js +0 -77
  231. package/dist/chunk-EAELL43F.js +0 -42
  232. package/dist/chunk-EX5V2ZTU.js +0 -40
  233. package/dist/chunk-FD7QZCTN.cjs +0 -2329
  234. package/dist/chunk-FH4ILMKF.js +0 -38
  235. package/dist/chunk-FRHBM2U7.js +0 -33
  236. package/dist/chunk-FX2TPX3L.cjs +0 -45
  237. package/dist/chunk-GPXNLTPI.cjs +0 -451
  238. package/dist/chunk-GRYCUBJZ.js +0 -9
  239. package/dist/chunk-HPHHS7FJ.cjs +0 -49
  240. package/dist/chunk-HWHBSAUC.js +0 -40
  241. package/dist/chunk-IDHP3R4I.js +0 -31
  242. package/dist/chunk-IHWGT3DL.js +0 -86
  243. package/dist/chunk-JEBKLIMU.cjs +0 -123
  244. package/dist/chunk-KDZLBI6F.cjs +0 -324
  245. package/dist/chunk-KQHICFX3.js +0 -121
  246. package/dist/chunk-LMJE6V4N.cjs +0 -42
  247. package/dist/chunk-MCHPDWVH.js +0 -444
  248. package/dist/chunk-MVDGM5Y4.js +0 -68
  249. package/dist/chunk-N36HBL53.cjs +0 -165
  250. package/dist/chunk-NV5GNFA3.js +0 -541
  251. package/dist/chunk-NVEGEK3N.js +0 -31
  252. package/dist/chunk-OJIDKDKF.js +0 -68
  253. package/dist/chunk-PGGNSLM7.js +0 -215
  254. package/dist/chunk-PKPQA5NR.js +0 -15
  255. package/dist/chunk-PNDBLFJW.cjs +0 -50
  256. package/dist/chunk-Q3WA72BF.cjs +0 -70
  257. package/dist/chunk-RDIDAZ3S.cjs +0 -9
  258. package/dist/chunk-RGJPRXYY.js +0 -48
  259. package/dist/chunk-RPSYXORB.cjs +0 -219
  260. package/dist/chunk-RQ6OZRUW.cjs +0 -41
  261. package/dist/chunk-SBE4SZAN.cjs +0 -226
  262. package/dist/chunk-TAFNCDUI.js +0 -234
  263. package/dist/chunk-TFIDSENE.cjs +0 -88
  264. package/dist/chunk-TGWMOHAO.js +0 -17
  265. package/dist/chunk-UA6XSTW6.js +0 -48
  266. package/dist/chunk-UIQCTAVM.cjs +0 -59
  267. package/dist/chunk-UKYESVDS.cjs +0 -50
  268. package/dist/chunk-V4N255NL.cjs +0 -2309
  269. package/dist/chunk-VO6KXO2I.js +0 -32
  270. package/dist/chunk-WXSTSC3D.cjs +0 -83
  271. package/dist/chunk-XSK7BWYO.js +0 -47
  272. package/dist/chunk-XVAPJ4PP.cjs +0 -449
  273. package/dist/chunk-XVASHRCE.cjs +0 -70
  274. package/dist/chunk-XYSMVQQD.cjs +0 -1608
  275. package/dist/chunk-YAIWI4Z5.js +0 -7
  276. package/dist/chunk-YGYOLDKR.js +0 -280
  277. package/dist/chunk-YP2PLNOF.cjs +0 -34
  278. package/dist/chunk-YSOLW4FS.cjs +0 -11
  279. package/dist/chunk-YY6OUR2U.js +0 -44
  280. package/dist/chunk-YZWS7FDT.cjs +0 -409
  281. package/dist/chunk-Z5YGWL65.cjs +0 -39
  282. package/dist/chunk-ZHNDXNL4.js +0 -45
  283. package/dist/chunk-ZX3EDZ5C.cjs +0 -17
  284. package/dist/index.d.cts +0 -2019
@@ -0,0 +1,1831 @@
1
+ import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
2
+ import { A as t, D as n, I as r, M as i, O as a, S as o, c as s, d as c, i as l, l as u, n as d, o as f, r as p, t as m, x as h } from "./Box-DSKR_qaa.js";
3
+ import { n as g, t as _ } from "./ColorPicker-BCNqi02x.js";
4
+ import { o as v, t as y } from "./Tooltip-DOeIvhrO.js";
5
+ import { t as b } from "./use-uncontrolled-A4hm9ATM.js";
6
+ import { i as x, l as S, p as C, t as w, u as T } from "./TextInput-C-JtGWn1.js";
7
+ import { a as E, i as D, n as ee, o as O, t as k } from "./Slider-t-NcD60t.js";
8
+ import { r as te } from "./use-merged-ref-BT8_u6vW.js";
9
+ import { i as A, r as ne, t as j } from "./DownloadProgress-EoyCaD5O.js";
10
+ import { t as M } from "./UnstyledButton-DGaG-e_G.js";
11
+ import { t as N } from "./Paper-BX_9odR6.js";
12
+ import { t as P } from "./Group-CtBJSfCo.js";
13
+ import { i as F, o as I } from "./getRuntime-DAPqFH2W.js";
14
+ import { t as L } from "./Button-wTOTQKxF.js";
15
+ import { n as re, t as R } from "./AppIcon-XumS3bIG.js";
16
+ import { t as z } from "./Stack-Bp1Ek2Gp.js";
17
+ import { o as ie } from "./desktopStore-F8bgLqFl.js";
18
+ import { i as ae } from "./useCloseInterceptor-BZd3VILp.js";
19
+ import { t as oe } from "./useResolvedUrl-DQpLqOoL.js";
20
+ import { n as se } from "./FilePickerApp-DaMgEqKh.js";
21
+ import { t as ce } from "./Colors-ClnDxnyA.js";
22
+ import { n as B } from "./settingsAppStore-BDQ3ts1y.js";
23
+ import { createContext as le, createElement as ue, use as V, useCallback as H, useDeferredValue as de, useEffect as U, useRef as W, useState as G } from "react";
24
+ import { jsx as K, jsxs as q } from "react/jsx-runtime";
25
+ import { create as fe } from "zustand";
26
+ import { createJSONStorage as pe, persist as me } from "zustand/middleware";
27
+ import { useTranslation as J } from "react-i18next";
28
+ import { useQuery as he, useQueryClient as ge } from "@tanstack/react-query";
29
+ //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/utils/shallow-equal/shallow-equal.mjs
30
+ function _e(e, t) {
31
+ if (e === t || Number.isNaN(e) && Number.isNaN(t)) return !0;
32
+ if (!(e instanceof Object) || !(t instanceof Object)) return !1;
33
+ let n = Object.keys(e), { length: r } = n;
34
+ if (r !== Object.keys(t).length) return !1;
35
+ for (let i = 0; i < r; i += 1) {
36
+ let r = n[i];
37
+ if (!(r in t) || e[r] !== t[r] && !(Number.isNaN(e[r]) && Number.isNaN(t[r]))) return !1;
38
+ }
39
+ return !0;
40
+ }
41
+ //#endregion
42
+ //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-shallow-effect/use-shallow-effect.mjs
43
+ function ve(e, t) {
44
+ if (!e || !t) return !1;
45
+ if (e === t) return !0;
46
+ if (e.length !== t.length) return !1;
47
+ for (let n = 0; n < e.length; n += 1) if (!_e(e[n], t[n])) return !1;
48
+ return !0;
49
+ }
50
+ function ye(e) {
51
+ let t = W([]), n = W(0);
52
+ return ve(t.current, e) || (t.current = e, n.current += 1), [n.current];
53
+ }
54
+ function be(e, t) {
55
+ U(e, ye(t));
56
+ }
57
+ //#endregion
58
+ //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-timeout/use-timeout.mjs
59
+ function xe(e, t, n = { autoInvoke: !1 }) {
60
+ let r = W(null), i = H((...n) => {
61
+ r.current ||= window.setTimeout(() => {
62
+ e(n), r.current = null;
63
+ }, t);
64
+ }, [t]), a = H(() => {
65
+ r.current &&= (window.clearTimeout(r.current), null);
66
+ }, []);
67
+ return U(() => (n.autoInvoke && i(), a), [a, i]), {
68
+ start: i,
69
+ clear: a
70
+ };
71
+ }
72
+ //#endregion
73
+ //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-mutation-observer/use-mutation-observer.mjs
74
+ function Se(e, t, n) {
75
+ let r = W(null);
76
+ U(() => {
77
+ r.current &&= (r.current.disconnect(), null);
78
+ let i = typeof n == "function" ? n() : n;
79
+ return i && (r.current = new MutationObserver(e), r.current.observe(i, t)), () => {
80
+ r.current &&= (r.current.disconnect(), null);
81
+ };
82
+ }, [
83
+ e,
84
+ t,
85
+ n
86
+ ]);
87
+ }
88
+ //#endregion
89
+ //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-mounted/use-mounted.mjs
90
+ function Ce() {
91
+ let [e, t] = G(!1);
92
+ return U(() => t(!0), []), e;
93
+ }
94
+ //#endregion
95
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/core/utils/get-env/get-env.mjs
96
+ function we() {
97
+ return typeof process < "u" && process.env, "development";
98
+ }
99
+ //#endregion
100
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/core/utils/primitive/primitive.mjs
101
+ function Te(e) {
102
+ return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint";
103
+ }
104
+ //#endregion
105
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/FloatingIndicator/use-floating-indicator.mjs
106
+ function Ee(e, t) {
107
+ if (!t || !e) return !1;
108
+ let n = t.parentNode;
109
+ for (; n != null;) {
110
+ if (n === e) return !0;
111
+ n = n.parentNode;
112
+ }
113
+ return !1;
114
+ }
115
+ function De({ target: e, parent: t, ref: n, displayAfterTransitionEnd: r, onTransitionStart: i, onTransitionEnd: a }) {
116
+ let o = W(-1), s = W(e), [c, l] = G(!1), [u, d] = G(typeof r == "boolean" ? r : !1), f = () => {
117
+ if (!e || !t || !n.current) return;
118
+ let r = e.getBoundingClientRect(), i = t.getBoundingClientRect(), a = window.getComputedStyle(e), o = window.getComputedStyle(t), s = O(a.borderTopWidth) + O(o.borderTopWidth), c = O(a.borderLeftWidth) + O(o.borderLeftWidth), l = {
119
+ top: r.top - i.top - s,
120
+ left: r.left - i.left - c,
121
+ width: r.width,
122
+ height: r.height
123
+ };
124
+ n.current.style.transform = `translateY(${l.top}px) translateX(${l.left}px)`, n.current.style.width = `${l.width}px`, n.current.style.height = `${l.height}px`;
125
+ }, p = () => {
126
+ window.clearTimeout(o.current), n.current && (n.current.style.transitionDuration = "0ms"), f(), o.current = window.setTimeout(() => {
127
+ n.current && (n.current.style.transitionDuration = "");
128
+ }, 30);
129
+ }, m = W(null), h = W(null);
130
+ return U(() => {
131
+ if (c && s.current !== e && i && i(), s.current = e, f(), e) return m.current = new ResizeObserver(p), m.current.observe(e), t && (h.current = new ResizeObserver(p), h.current.observe(t)), () => {
132
+ m.current?.disconnect(), h.current?.disconnect();
133
+ };
134
+ }, [t, e]), U(() => {
135
+ if (t) {
136
+ let e = (e) => {
137
+ Ee(e.target, t) && (p(), d(!1));
138
+ };
139
+ return t.addEventListener("transitionend", e), () => {
140
+ t.removeEventListener("transitionend", e);
141
+ };
142
+ }
143
+ }, [t]), U(() => {
144
+ if (n.current && a) {
145
+ let e = (e) => {
146
+ e.propertyName === "transform" && a();
147
+ };
148
+ return n.current.addEventListener("transitionend", e), () => {
149
+ n.current?.removeEventListener("transitionend", e);
150
+ };
151
+ }
152
+ }, [a]), xe(() => {
153
+ we() !== "test" && l(!0);
154
+ }, 20, { autoInvoke: !0 }), Se((e) => {
155
+ e.forEach((e) => {
156
+ e.type === "attributes" && e.attributeName === "dir" && p();
157
+ });
158
+ }, {
159
+ attributes: !0,
160
+ attributeFilter: ["dir"]
161
+ }, () => document.documentElement), {
162
+ initialized: c,
163
+ hidden: u
164
+ };
165
+ }
166
+ //#endregion
167
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.module.mjs
168
+ var Oe = { root: "m_96b553a6" }, ke = n((e, { transitionDuration: t }, { shouldReduceMotion: n }) => {
169
+ let r = e.respectReducedMotion && n ? "0ms" : typeof t == "number" ? `${t}ms` : t || "150ms";
170
+ return { root: { "--transition-duration": r } };
171
+ }), Ae = p((e) => {
172
+ let t = u("FloatingIndicator", null, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: c, target: l, parent: d, transitionDuration: f, mod: p, displayAfterTransitionEnd: h, onTransitionStart: g, onTransitionEnd: _, attributes: v, ref: y, ...b } = t, x = s({
173
+ name: "FloatingIndicator",
174
+ classes: Oe,
175
+ props: t,
176
+ className: r,
177
+ style: i,
178
+ classNames: n,
179
+ styles: a,
180
+ unstyled: o,
181
+ attributes: v,
182
+ vars: c,
183
+ varsResolver: ke,
184
+ stylesCtx: { shouldReduceMotion: S() }
185
+ }), C = W(null), { initialized: w, hidden: T } = De({
186
+ target: l,
187
+ parent: d,
188
+ ref: C,
189
+ displayAfterTransitionEnd: h,
190
+ onTransitionStart: g,
191
+ onTransitionEnd: _
192
+ }), E = te(y, C);
193
+ return !l || !d ? null : /* @__PURE__ */ K(m, {
194
+ ref: E,
195
+ mod: [{
196
+ initialized: w,
197
+ hidden: T
198
+ }, p],
199
+ ...x("root"),
200
+ ...b
201
+ });
202
+ });
203
+ Ae.displayName = "@mantine/core/FloatingIndicator", Ae.classes = Oe, Ae.varsResolver = ke;
204
+ //#endregion
205
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Badge/Badge.module.mjs
206
+ var je = {
207
+ root: "m_347db0ec",
208
+ "root--dot": "m_fbd81e3d",
209
+ label: "m_5add502a",
210
+ section: "m_91fdda9b"
211
+ }, Me = n((e, { radius: n, color: r, gradient: a, variant: o, size: s, autoContrast: c, circle: l }) => {
212
+ let u = e.variantColorResolver({
213
+ color: r || e.primaryColor,
214
+ theme: e,
215
+ gradient: a,
216
+ variant: o || "filled",
217
+ autoContrast: c
218
+ });
219
+ return { root: {
220
+ "--badge-height": i(s, "badge-height"),
221
+ "--badge-padding-x": i(s, "badge-padding-x"),
222
+ "--badge-fz": i(s, "badge-fz"),
223
+ "--badge-radius": l || n === void 0 ? void 0 : t(n),
224
+ "--badge-bg": r || o ? u.background : void 0,
225
+ "--badge-color": r || o ? u.color : void 0,
226
+ "--badge-bd": r || o ? u.border : void 0,
227
+ "--badge-dot-color": o === "dot" ? h(r, e) : void 0
228
+ } };
229
+ }), Ne = d((e) => {
230
+ let t = u("Badge", null, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: c, radius: l, color: d, gradient: f, leftSection: p, rightSection: h, children: g, variant: _, fullWidth: v, autoContrast: y, circle: b, mod: x, attributes: S, ...C } = t, w = s({
231
+ name: "Badge",
232
+ props: t,
233
+ classes: je,
234
+ className: r,
235
+ style: i,
236
+ classNames: n,
237
+ styles: a,
238
+ unstyled: o,
239
+ attributes: S,
240
+ vars: c,
241
+ varsResolver: Me
242
+ });
243
+ return /* @__PURE__ */ q(m, {
244
+ variant: _,
245
+ mod: [{
246
+ block: v,
247
+ circle: b,
248
+ "with-right-section": !!h,
249
+ "with-left-section": !!p
250
+ }, x],
251
+ ...w("root", { variant: _ }),
252
+ ...C,
253
+ children: [
254
+ p && /* @__PURE__ */ K("span", {
255
+ ...w("section"),
256
+ "data-position": "left",
257
+ children: p
258
+ }),
259
+ /* @__PURE__ */ K("span", {
260
+ ...w("label"),
261
+ children: g
262
+ }),
263
+ h && /* @__PURE__ */ K("span", {
264
+ ...w("section"),
265
+ "data-position": "right",
266
+ children: h
267
+ })
268
+ ]
269
+ });
270
+ });
271
+ Ne.classes = je, Ne.varsResolver = Me, Ne.displayName = "@mantine/core/Badge";
272
+ //#endregion
273
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioGroup/RadioGroup.mjs
274
+ var Pe = le(null), Fe = l(((e) => {
275
+ let { value: t, defaultValue: n, onChange: r, size: i, wrapperProps: a, children: o, name: s, readOnly: c, disabled: l, ...d } = u("RadioGroup", null, e), f = T(s), [p, m] = b({
276
+ value: t,
277
+ defaultValue: n,
278
+ finalValue: "",
279
+ onChange: r
280
+ });
281
+ return /* @__PURE__ */ K(Pe, {
282
+ value: {
283
+ value: p,
284
+ onChange: (e) => !c && m(typeof e == "string" ? e : e.currentTarget.value),
285
+ size: i,
286
+ name: f,
287
+ disabled: l
288
+ },
289
+ children: /* @__PURE__ */ K(x.Wrapper, {
290
+ size: i,
291
+ ...a,
292
+ ...d,
293
+ labelElement: "div",
294
+ __staticSelector: "RadioGroup",
295
+ children: /* @__PURE__ */ K(D, {
296
+ role: "radiogroup",
297
+ children: o
298
+ })
299
+ })
300
+ });
301
+ }));
302
+ Fe.classes = x.Wrapper.classes, Fe.displayName = "@mantine/core/RadioGroup";
303
+ //#endregion
304
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.module.mjs
305
+ var Ie = { card: "m_9dc8ae12" }, Le = le(null), Re = { withBorder: !0 }, ze = n((e, { radius: n }) => ({ card: { "--card-radius": t(n) } })), Be = p((e) => {
306
+ let t = u("RadioCard", Re, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: c, checked: l, mod: d, withBorder: f, value: p, onClick: m, name: h, onKeyDown: g, attributes: _, ...y } = t, b = s({
307
+ name: "RadioCard",
308
+ classes: Ie,
309
+ props: t,
310
+ className: r,
311
+ style: i,
312
+ classNames: n,
313
+ styles: a,
314
+ unstyled: o,
315
+ attributes: _,
316
+ vars: c,
317
+ varsResolver: ze,
318
+ rootSelector: "card"
319
+ }), { dir: x } = v(), S = V(Pe), C = typeof l == "boolean" ? l : S?.value === p || !1, w = h || S?.name, T = (e) => {
320
+ if (g?.(e), w && [
321
+ "ArrowDown",
322
+ "ArrowUp",
323
+ "ArrowLeft",
324
+ "ArrowRight"
325
+ ].includes(e.nativeEvent.code)) {
326
+ e.preventDefault();
327
+ let t = Array.from(document.querySelectorAll(`[role="radio"][name="${w}"]`)), n = t.findIndex((t) => t === e.target), r = n + 1 >= t.length ? 0 : n + 1, i = n - 1 < 0 ? t.length - 1 : n - 1;
328
+ e.nativeEvent.code === "ArrowDown" && (t[r].focus(), t[r].click()), e.nativeEvent.code === "ArrowUp" && (t[i].focus(), t[i].click()), e.nativeEvent.code === "ArrowLeft" && (t[x === "ltr" ? i : r].focus(), t[x === "ltr" ? i : r].click()), e.nativeEvent.code === "ArrowRight" && (t[x === "ltr" ? r : i].focus(), t[x === "ltr" ? r : i].click());
329
+ }
330
+ };
331
+ return /* @__PURE__ */ K(Le, {
332
+ value: { checked: C },
333
+ children: /* @__PURE__ */ K(M, {
334
+ mod: [{
335
+ "with-border": f,
336
+ checked: C
337
+ }, d],
338
+ ...b("card"),
339
+ ...y,
340
+ role: "radio",
341
+ "aria-checked": C,
342
+ name: w,
343
+ onClick: (e) => {
344
+ m?.(e), S?.onChange(p || "");
345
+ },
346
+ onKeyDown: T
347
+ })
348
+ });
349
+ });
350
+ Be.displayName = "@mantine/core/RadioCard", Be.classes = Ie, Be.varsResolver = ze;
351
+ //#endregion
352
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioIcon.mjs
353
+ function Ve({ size: e, style: t, ...n }) {
354
+ return /* @__PURE__ */ K("svg", {
355
+ xmlns: "http://www.w3.org/2000/svg",
356
+ fill: "none",
357
+ viewBox: "0 0 5 5",
358
+ style: {
359
+ width: r(e),
360
+ height: r(e),
361
+ ...t
362
+ },
363
+ "aria-hidden": !0,
364
+ ...n,
365
+ children: /* @__PURE__ */ K("circle", {
366
+ cx: "2.5",
367
+ cy: "2.5",
368
+ r: "2.5",
369
+ fill: "currentColor"
370
+ })
371
+ });
372
+ }
373
+ //#endregion
374
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs
375
+ var He = {
376
+ indicator: "m_717d7ff6",
377
+ icon: "m_3e4da632",
378
+ "indicator--outline": "m_2980836c"
379
+ }, Ue = { icon: Ve }, We = n((e, { radius: n, color: r, size: a, iconColor: s, variant: c, autoContrast: l }) => {
380
+ let u = o({
381
+ color: r || e.primaryColor,
382
+ theme: e
383
+ }), d = u.isThemeColor && u.shade === void 0 ? `var(--mantine-color-${u.color}-outline)` : u.color;
384
+ return { indicator: {
385
+ "--radio-size": i(a, "radio-size"),
386
+ "--radio-radius": n === void 0 ? void 0 : t(n),
387
+ "--radio-color": c === "outline" ? d : h(r, e),
388
+ "--radio-icon-size": i(a, "radio-icon-size"),
389
+ "--radio-icon-color": s ? h(s, e) : ne(l, e) ? A({
390
+ color: r,
391
+ theme: e,
392
+ autoContrast: l
393
+ }) : void 0
394
+ } };
395
+ }), Ge = p((e) => {
396
+ let t = u("RadioIndicator", Ue, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: c, icon: l, radius: d, color: f, iconColor: p, autoContrast: h, checked: g, mod: _, variant: v, disabled: y, attributes: b, ...x } = t, S = s({
397
+ name: "RadioIndicator",
398
+ classes: He,
399
+ props: t,
400
+ className: r,
401
+ style: i,
402
+ classNames: n,
403
+ styles: a,
404
+ unstyled: o,
405
+ attributes: b,
406
+ vars: c,
407
+ varsResolver: We,
408
+ rootSelector: "indicator"
409
+ }), C = V(Le), w = typeof g == "boolean" ? g : C?.checked || !1;
410
+ return /* @__PURE__ */ K(m, {
411
+ ...S("indicator", { variant: v }),
412
+ variant: v,
413
+ mod: [{
414
+ checked: w,
415
+ disabled: y
416
+ }, _],
417
+ ...x,
418
+ children: /* @__PURE__ */ K(l, { ...S("icon") })
419
+ });
420
+ });
421
+ Ge.displayName = "@mantine/core/RadioIndicator", Ge.classes = He, Ge.varsResolver = We;
422
+ //#endregion
423
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/Radio.module.mjs
424
+ var Ke = {
425
+ root: "m_f3f1af94",
426
+ inner: "m_89c4f5e4",
427
+ icon: "m_f3ed6b2b",
428
+ radio: "m_8a3dbb89",
429
+ "radio--outline": "m_1bfe9d39"
430
+ }, qe = {
431
+ labelPosition: "right",
432
+ withErrorStyles: !0
433
+ }, Je = n((e, { size: n, radius: r, color: a, iconColor: s, variant: c, autoContrast: l }) => {
434
+ let u = o({
435
+ color: a || e.primaryColor,
436
+ theme: e
437
+ }), d = u.isThemeColor && u.shade === void 0 ? `var(--mantine-color-${u.color}-outline)` : u.color;
438
+ return { root: {
439
+ "--radio-size": i(n, "radio-size"),
440
+ "--radio-radius": r === void 0 ? void 0 : t(r),
441
+ "--radio-color": c === "outline" ? d : h(a, e),
442
+ "--radio-icon-color": s ? h(s, e) : ne(l, e) ? A({
443
+ color: a,
444
+ theme: e,
445
+ autoContrast: l
446
+ }) : void 0,
447
+ "--radio-icon-size": i(n, "radio-icon-size")
448
+ } };
449
+ }), Y = p((e) => {
450
+ let t = u("Radio", qe, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: c, id: l, size: d, label: p, labelPosition: h, description: g, error: _, radius: v, color: y, variant: b, disabled: x, wrapperProps: S, icon: C = Ve, rootRef: w, iconColor: E, onChange: D, mod: O, attributes: k, withErrorStyles: te, checked: A, ...ne } = t, j = s({
451
+ name: "Radio",
452
+ classes: Ke,
453
+ props: t,
454
+ className: r,
455
+ style: i,
456
+ classNames: n,
457
+ styles: a,
458
+ unstyled: o,
459
+ attributes: k,
460
+ vars: c,
461
+ varsResolver: Je
462
+ }), M = V(Pe), N = M?.size ?? d, P = t.size ? d : N, { styleProps: F, rest: I } = f(ne), L = T(l), re = M ? M.value === I.value : void 0, R = {
463
+ checked: re ?? A,
464
+ name: I.name ?? M?.name,
465
+ onChange: (e) => {
466
+ M?.onChange(e), D?.(e);
467
+ },
468
+ disabled: M?.disabled ?? x
469
+ };
470
+ return /* @__PURE__ */ K(ee, {
471
+ ...j("root"),
472
+ __staticSelector: "Radio",
473
+ __stylesApiProps: t,
474
+ id: L,
475
+ size: P,
476
+ labelPosition: h,
477
+ label: p,
478
+ description: g,
479
+ error: _,
480
+ disabled: R.disabled,
481
+ classNames: n,
482
+ styles: a,
483
+ unstyled: o,
484
+ "data-checked": (re ?? A) || void 0,
485
+ variant: b,
486
+ ref: w,
487
+ mod: O,
488
+ attributes: k,
489
+ ...F,
490
+ ...S,
491
+ children: /* @__PURE__ */ q(m, {
492
+ ...j("inner"),
493
+ mod: { "label-position": h },
494
+ children: [/* @__PURE__ */ K(m, {
495
+ ...j("radio", {
496
+ focusable: !0,
497
+ variant: b
498
+ }),
499
+ ...I,
500
+ ...R,
501
+ component: "input",
502
+ mod: {
503
+ error: !!_,
504
+ "with-error-styles": te
505
+ },
506
+ id: L,
507
+ type: "radio"
508
+ }), /* @__PURE__ */ K(C, {
509
+ ...j("icon"),
510
+ "aria-hidden": !0
511
+ })]
512
+ })
513
+ });
514
+ });
515
+ Y.classes = Ke, Y.varsResolver = Je, Y.displayName = "@mantine/core/Radio", Y.Group = Fe, Y.Card = Be, Y.Indicator = Ge;
516
+ //#endregion
517
+ //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.module.mjs
518
+ var Ye = {
519
+ root: "m_cf365364",
520
+ indicator: "m_9e182ccd",
521
+ label: "m_1738fcb2",
522
+ input: "m_1714d588",
523
+ control: "m_69686b9b",
524
+ innerLabel: "m_78882f40"
525
+ }, Xe = { withItemsBorders: !0 }, Ze = n((e, { radius: n, color: r, transitionDuration: o, size: s, transitionTimingFunction: c }) => ({ root: {
526
+ "--sc-radius": n === void 0 ? void 0 : t(n),
527
+ "--sc-color": r ? h(r, e) : void 0,
528
+ "--sc-shadow": r ? void 0 : "var(--mantine-shadow-xs)",
529
+ "--sc-transition-duration": o === void 0 ? void 0 : `${o}ms`,
530
+ "--sc-transition-timing-function": c,
531
+ "--sc-padding": i(s, "sc-padding"),
532
+ "--sc-font-size": a(s)
533
+ } })), Qe = l((e) => {
534
+ let t = u("SegmentedControl", Xe, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: l, data: d, value: f, defaultValue: p, onChange: h, size: g, name: _, disabled: v, readOnly: y, fullWidth: x, orientation: S, radius: w, color: E, transitionDuration: D, transitionTimingFunction: ee, variant: O, autoContrast: k, withItemsBorders: ne, mod: j, attributes: M, ref: N, ...P } = t, F = s({
535
+ name: "SegmentedControl",
536
+ props: t,
537
+ classes: Ye,
538
+ className: r,
539
+ style: i,
540
+ classNames: n,
541
+ styles: a,
542
+ unstyled: o,
543
+ attributes: M,
544
+ vars: l,
545
+ varsResolver: Ze
546
+ }), I = c(), L = d.map((e) => Te(e) ? {
547
+ label: `${e}`,
548
+ value: e
549
+ } : e), re = Ce(), [R, z] = G(C()), [ie, ae] = G(null), [oe, se] = G({}), ce = (e, t) => {
550
+ oe[t] = e, se(oe);
551
+ }, [B, le] = b({
552
+ value: f,
553
+ defaultValue: p,
554
+ finalValue: Array.isArray(d) ? L.find((e) => !e.disabled)?.value ?? d[0]?.value ?? null : null,
555
+ onChange: h
556
+ }), V = T(_), H = L.map((e) => /* @__PURE__ */ ue(m, {
557
+ ...F("control"),
558
+ mod: {
559
+ active: B === e.value,
560
+ orientation: S
561
+ },
562
+ key: `${e.value}`
563
+ }, /* @__PURE__ */ ue("input", {
564
+ ...F("input"),
565
+ disabled: v || e.disabled,
566
+ type: "radio",
567
+ name: V,
568
+ value: `${e.value}`,
569
+ id: `${V}-${e.value}`,
570
+ checked: B === e.value,
571
+ onChange: () => !y && le(e.value),
572
+ "data-focus-ring": I.focusRing,
573
+ key: `${e.value}-input`
574
+ }), /* @__PURE__ */ ue(m, {
575
+ component: "label",
576
+ ...F("label"),
577
+ mod: {
578
+ active: B === e.value && !(v || e.disabled),
579
+ disabled: v || e.disabled,
580
+ "read-only": y
581
+ },
582
+ htmlFor: `${V}-${e.value}`,
583
+ ref: (t) => ce(t, `${e.value}`),
584
+ __vars: { "--sc-label-color": E === void 0 ? void 0 : A({
585
+ color: E,
586
+ theme: I,
587
+ autoContrast: k
588
+ }) },
589
+ key: `${e.value}-label`
590
+ }, /* @__PURE__ */ K("span", {
591
+ ...F("innerLabel"),
592
+ children: e.label
593
+ })))), de = te(N, (e) => ae(e));
594
+ return be(() => {
595
+ z(C());
596
+ }, [d.length]), d.length === 0 ? null : /* @__PURE__ */ q(m, {
597
+ ...F("root"),
598
+ variant: O,
599
+ size: g,
600
+ ref: de,
601
+ mod: [{
602
+ "full-width": x,
603
+ orientation: S,
604
+ initialized: re,
605
+ "with-items-borders": ne
606
+ }, j],
607
+ ...P,
608
+ role: "radiogroup",
609
+ "data-disabled": v,
610
+ children: [B !== void 0 && /* @__PURE__ */ K(Ae, {
611
+ target: oe[`${B}`],
612
+ parent: ie,
613
+ component: "span",
614
+ transitionDuration: "var(--sc-transition-duration)",
615
+ ...F("indicator")
616
+ }, R), H]
617
+ });
618
+ });
619
+ Qe.classes = Ye, Qe.varsResolver = Ze, Qe.displayName = "@mantine/core/SegmentedControl";
620
+ //#endregion
621
+ //#region src/infrastructure/adapters/DefaultThemeProvider.ts
622
+ var $e = {
623
+ mode: "light",
624
+ colors: {
625
+ desktop: "#f0f4f8",
626
+ taskbar: "rgba(255, 255, 255, 0.9)",
627
+ window: "#ffffff",
628
+ accent: "#339af0"
629
+ },
630
+ window: {
631
+ borderRadius: "8px",
632
+ headerHeight: 40,
633
+ minWidth: 400,
634
+ minHeight: 300,
635
+ defaultWidth: 800,
636
+ defaultHeight: 600,
637
+ shadow: "0 8px 32px rgba(0, 0, 0, 0.2)"
638
+ },
639
+ taskbar: {
640
+ height: 48,
641
+ position: "bottom",
642
+ background: "rgba(0, 0, 0, 0.8)",
643
+ blur: !0
644
+ },
645
+ desktop: {
646
+ background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
647
+ iconSize: 64,
648
+ iconSpacing: 16
649
+ }
650
+ }, et = {
651
+ mode: "dark",
652
+ colors: {
653
+ desktop: "#1a1b1e",
654
+ taskbar: "rgba(26, 27, 30, 0.9)",
655
+ window: "#25262b",
656
+ accent: "#4dabf7"
657
+ },
658
+ window: {
659
+ borderRadius: "8px",
660
+ headerHeight: 40,
661
+ minWidth: 400,
662
+ minHeight: 300,
663
+ defaultWidth: 800,
664
+ defaultHeight: 600,
665
+ shadow: "0 8px 32px rgba(0, 0, 0, 0.2)"
666
+ },
667
+ taskbar: {
668
+ height: 48,
669
+ position: "bottom",
670
+ background: "rgba(0, 0, 0, 0.8)",
671
+ blur: !0
672
+ },
673
+ desktop: {
674
+ background: "linear-gradient(135deg, #1a1b1e 0%, #2d1f3d 100%)",
675
+ iconSize: 64,
676
+ iconSpacing: 16
677
+ }
678
+ }, tt = class {
679
+ mode;
680
+ customColors = null;
681
+ constructor(e = "light") {
682
+ this.mode = e;
683
+ }
684
+ getTheme() {
685
+ let e = this.mode === "light" ? $e : et;
686
+ return this.customColors ? {
687
+ ...e,
688
+ colors: {
689
+ ...e.colors,
690
+ taskbar: this.customColors.taskbar,
691
+ window: this.customColors.window,
692
+ accent: this.customColors.accent
693
+ }
694
+ } : e;
695
+ }
696
+ setMode(e) {
697
+ this.mode = e;
698
+ }
699
+ setCustomColors(e) {
700
+ this.customColors = e;
701
+ }
702
+ toggle() {
703
+ this.mode = this.mode === "light" ? "dark" : "light";
704
+ }
705
+ }, nt = ["en", "es"], rt = "en", it = () => {
706
+ try {
707
+ let e = localStorage.getItem("fde-desktop:settings"), t = localStorage.getItem("fran-desktop:settings");
708
+ return JSON.parse(e ?? t ?? "{}")?.state?.theme?.mode ?? null;
709
+ } catch {
710
+ return null;
711
+ }
712
+ }, at = it(), ot = () => {
713
+ if (typeof navigator > "u" || !navigator.language) return rt;
714
+ let e = navigator.language.split("-")[0];
715
+ return nt.includes(e) ? e : rt;
716
+ }, st = (() => {
717
+ try {
718
+ let e = localStorage.getItem("fde-desktop:settings"), t = localStorage.getItem("fran-desktop:settings"), n = JSON.parse(e ?? t ?? "{}")?.state?.language;
719
+ return n && nt.includes(n) ? n : ot();
720
+ } catch {
721
+ return ot();
722
+ }
723
+ })(), ct = typeof window < "u" && window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light", X = new tt(at ?? ct), Z = fe()(me((e) => ({
724
+ wallpaper: null,
725
+ wallpaperModule: "default",
726
+ launcherIcon: "FcElectronics",
727
+ font: "system-ui",
728
+ downloadedFonts: [],
729
+ fontSize: 14,
730
+ animationDuration: .3,
731
+ theme: X.getTheme(),
732
+ themeSetManually: at !== null,
733
+ customThemeColors: null,
734
+ language: st,
735
+ setWallpaper: (t) => e({ wallpaper: t }),
736
+ setWallpaperModule: (t) => e({ wallpaperModule: t }),
737
+ setLauncherIcon: (t) => e({ launcherIcon: t }),
738
+ setFont: (t) => e({ font: t }),
739
+ markFontDownloaded: (t) => e((e) => ({ downloadedFonts: e.downloadedFonts.includes(t) ? e.downloadedFonts : [...e.downloadedFonts, t] })),
740
+ setFontSize: (t) => e({ fontSize: t }),
741
+ setAnimationDuration: (t) => e({ animationDuration: t }),
742
+ setThemeMode: (t) => {
743
+ X.setMode(t), e({
744
+ theme: X.getTheme(),
745
+ themeSetManually: !0
746
+ });
747
+ },
748
+ toggleTheme: () => {
749
+ X.toggle(), e({
750
+ theme: X.getTheme(),
751
+ themeSetManually: !0
752
+ });
753
+ },
754
+ setThemeAutomatic: () => e({ themeSetManually: !1 }),
755
+ applySystemTheme: (t) => {
756
+ X.setMode(t), e({ theme: X.getTheme() });
757
+ },
758
+ setCustomThemeColors: (t) => {
759
+ e({ customThemeColors: t });
760
+ },
761
+ setLanguage: (t) => e({ language: t })
762
+ }), {
763
+ name: "fde-desktop:settings",
764
+ storage: pe(() => localStorage)
765
+ })), lt = {
766
+ container: "_container_a0fjd_1",
767
+ flag: "_flag_a0fjd_8"
768
+ }, ut = {
769
+ en: /* @__PURE__ */ q("svg", {
770
+ viewBox: "0 0 60 40",
771
+ className: lt.flag,
772
+ children: [
773
+ /* @__PURE__ */ K("rect", {
774
+ fill: "#012169",
775
+ width: "60",
776
+ height: "40"
777
+ }),
778
+ /* @__PURE__ */ K("path", {
779
+ d: "M0,0 L60,40 M60,0 L0,40",
780
+ stroke: "#fff",
781
+ strokeWidth: "6"
782
+ }),
783
+ /* @__PURE__ */ K("path", {
784
+ d: "M0,0 L60,40 M60,0 L0,40",
785
+ stroke: "#C8102E",
786
+ strokeWidth: "4"
787
+ }),
788
+ /* @__PURE__ */ K("path", {
789
+ d: "M30,0 V40 M0,20 H60",
790
+ stroke: "#fff",
791
+ strokeWidth: "10"
792
+ }),
793
+ /* @__PURE__ */ K("path", {
794
+ d: "M30,0 V40 M0,20 H60",
795
+ stroke: "#C8102E",
796
+ strokeWidth: "6"
797
+ })
798
+ ]
799
+ }),
800
+ es: /* @__PURE__ */ q("svg", {
801
+ viewBox: "0 0 60 40",
802
+ className: lt.flag,
803
+ children: [/* @__PURE__ */ K("rect", {
804
+ fill: "#C60B1E",
805
+ width: "60",
806
+ height: "40"
807
+ }), /* @__PURE__ */ K("rect", {
808
+ fill: "#FFC400",
809
+ y: "10",
810
+ width: "60",
811
+ height: "20"
812
+ })]
813
+ })
814
+ }, dt = ({ lang: e, size: t = 20 }) => /* @__PURE__ */ K("div", {
815
+ style: {
816
+ width: t * 1.5,
817
+ height: t
818
+ },
819
+ className: lt.container,
820
+ "aria-label": e === "en" ? "English" : "Español",
821
+ "data-testid": `flag-${e}`,
822
+ children: ut[e]
823
+ }), ft = [
824
+ {
825
+ value: "system-ui",
826
+ label: "System Default",
827
+ stack: "system-ui, Avenir, Helvetica, Arial, sans-serif"
828
+ },
829
+ {
830
+ value: "Courier New",
831
+ label: "Courier New",
832
+ stack: "\"Courier New\", monospace"
833
+ },
834
+ {
835
+ value: "Source Code Pro",
836
+ label: "Source Code Pro",
837
+ stack: "\"Source Code Pro\", monospace"
838
+ },
839
+ {
840
+ value: "Open Sans",
841
+ label: "Open Sans",
842
+ stack: "\"Open Sans\", monospace"
843
+ }
844
+ ], pt = Object.fromEntries(ft.map((e) => [e.value, e.stack])), Q = {
845
+ "Source Code Pro": "https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap",
846
+ "Open Sans": "https://fonts.googleapis.com/css2?family=Open+Sans&display=swap"
847
+ }, mt = [
848
+ {
849
+ id: "wallpaper",
850
+ label: "Wallpaper",
851
+ fcIcon: "FcPicture",
852
+ description: "Change the desktop background image."
853
+ },
854
+ {
855
+ id: "appearance",
856
+ label: "Appearance",
857
+ fcIcon: "FcBinoculars",
858
+ description: "Switch between light and dark mode."
859
+ },
860
+ {
861
+ id: "launcher",
862
+ label: "Launcher",
863
+ fcIcon: "FcElectronics",
864
+ description: "Choose the launcher button icon."
865
+ },
866
+ {
867
+ id: "font",
868
+ label: "Font",
869
+ fcIcon: "FcEditImage",
870
+ description: "Select the system font family."
871
+ },
872
+ {
873
+ id: "language",
874
+ label: "Language",
875
+ fcIcon: "FcGlobe",
876
+ description: "Choose your preferred language."
877
+ },
878
+ {
879
+ id: "reset",
880
+ label: "Reset to Default",
881
+ fcIcon: "FcDisclaimer",
882
+ description: "Reset all settings and data to defaults."
883
+ }
884
+ ], ht = ({ title: e, description: t, children: n }) => /* @__PURE__ */ q(z, {
885
+ gap: "md",
886
+ p: "md",
887
+ children: [
888
+ /* @__PURE__ */ K(I, {
889
+ fw: 600,
890
+ size: "lg",
891
+ children: e
892
+ }),
893
+ t && /* @__PURE__ */ K(I, {
894
+ size: "sm",
895
+ c: "dimmed",
896
+ children: t
897
+ }),
898
+ n
899
+ ]
900
+ }), gt = "/Images/wallpaper.jpg", _t = () => {
901
+ let { t: e } = J("settings"), t = Z((e) => e.wallpaper), n = Z((e) => e.wallpaperModule), r = Z((e) => e.setWallpaper), i = Z((e) => e.setWallpaperModule), [a, o] = G(""), [s, c] = G(!1), l = W(null), u = oe(t ?? void 0) ?? gt, d = H((e) => {
902
+ let t = e.target.files?.[0];
903
+ if (!t) return;
904
+ let n = new FileReader();
905
+ n.onload = (e) => {
906
+ let t = e.target?.result;
907
+ typeof t == "string" && r(t);
908
+ }, n.readAsDataURL(t);
909
+ }, [r]), f = H(() => {
910
+ let e = a.trim();
911
+ e && r(e);
912
+ }, [a, r]), p = H(() => {
913
+ r(null), o("");
914
+ }, [r]), m = H((e) => {
915
+ let t = e.url ? e.url.startsWith("idb://") ? e.url : `/${e.url}` : null;
916
+ t && r(t), c(!1);
917
+ }, [r]);
918
+ return /* @__PURE__ */ q(ht, {
919
+ title: e("wallpaper.title"),
920
+ children: [
921
+ /* @__PURE__ */ K("div", { children: /* @__PURE__ */ K(Qe, {
922
+ value: n,
923
+ onChange: i,
924
+ data: [{
925
+ value: "default",
926
+ label: e("wallpaper.staticImage")
927
+ }],
928
+ fullWidth: !0
929
+ }) }),
930
+ /* @__PURE__ */ K("img", {
931
+ src: u,
932
+ alt: e("wallpaper.wallpaperPreview"),
933
+ style: {
934
+ width: "100%",
935
+ height: 180,
936
+ objectFit: "cover",
937
+ borderRadius: 8
938
+ }
939
+ }),
940
+ /* @__PURE__ */ q(P, { children: [
941
+ /* @__PURE__ */ K("input", {
942
+ ref: l,
943
+ type: "file",
944
+ accept: "image/*",
945
+ style: { display: "none" },
946
+ onChange: d,
947
+ "aria-label": e("wallpaper.uploadAria", { defaultValue: "Upload wallpaper file" })
948
+ }),
949
+ /* @__PURE__ */ K(L, {
950
+ variant: "light",
951
+ onClick: () => c(!0),
952
+ children: e("wallpaper.chooseFromImages")
953
+ }),
954
+ /* @__PURE__ */ K(L, {
955
+ variant: "light",
956
+ onClick: () => l.current?.click(),
957
+ children: e("wallpaper.uploadFromDisk")
958
+ }),
959
+ /* @__PURE__ */ K(L, {
960
+ variant: "subtle",
961
+ color: "red",
962
+ onClick: p,
963
+ children: e("wallpaper.resetToDefault")
964
+ })
965
+ ] }),
966
+ /* @__PURE__ */ q(P, {
967
+ align: "flex-end",
968
+ children: [/* @__PURE__ */ K(w, {
969
+ label: e("wallpaper.orEnterUrl"),
970
+ placeholder: "https://example.com/image.jpg",
971
+ value: a,
972
+ onChange: (e) => o(e.currentTarget.value),
973
+ style: { flex: 1 }
974
+ }), /* @__PURE__ */ K(L, {
975
+ onClick: f,
976
+ disabled: !a.trim(),
977
+ children: e("common:actions.apply")
978
+ })]
979
+ }),
980
+ /* @__PURE__ */ K(se, {
981
+ opened: s,
982
+ acceptedMimeTypes: ["image/*"],
983
+ onConfirm: m,
984
+ onCancel: () => c(!1)
985
+ })
986
+ ]
987
+ });
988
+ }, vt = () => {
989
+ let { t: e } = J("settings"), t = Z((e) => e.theme.mode), n = Z((e) => e.themeSetManually), r = Z((e) => e.customThemeColors), i = Z((e) => e.animationDuration), a = Z((e) => e.setThemeMode), o = Z((e) => e.setThemeAutomatic), s = Z((e) => e.setCustomThemeColors), c = Z((e) => e.setAnimationDuration), l = r ? "custom" : n ? t : "system", u = H((e) => {
990
+ e === "system" ? (o(), s(null)) : e === "custom" ? s({
991
+ taskbar: "#339af0",
992
+ window: "#ffffff",
993
+ accent: "#339af0"
994
+ }) : (a(e), s(null));
995
+ }, [
996
+ a,
997
+ o,
998
+ s
999
+ ]), d = H((e) => (t) => {
1000
+ r && s({
1001
+ ...r,
1002
+ [e]: t
1003
+ });
1004
+ }, [r, s]), f = H((e) => {
1005
+ c(e);
1006
+ }, [c]), p = l === "custom";
1007
+ return /* @__PURE__ */ q(z, {
1008
+ gap: "md",
1009
+ p: "md",
1010
+ children: [
1011
+ /* @__PURE__ */ K(I, {
1012
+ fw: 600,
1013
+ size: "lg",
1014
+ children: e("appearance.title")
1015
+ }),
1016
+ /* @__PURE__ */ K(I, {
1017
+ size: "sm",
1018
+ c: "dimmed",
1019
+ children: e("appearance.description")
1020
+ }),
1021
+ /* @__PURE__ */ K(Qe, {
1022
+ value: l,
1023
+ onChange: u,
1024
+ data: [
1025
+ {
1026
+ label: e("common:theme.light"),
1027
+ value: "light"
1028
+ },
1029
+ {
1030
+ label: e("common:theme.dark"),
1031
+ value: "dark"
1032
+ },
1033
+ {
1034
+ label: e("common:theme.system"),
1035
+ value: "system"
1036
+ },
1037
+ {
1038
+ label: e("common:theme.custom"),
1039
+ value: "custom"
1040
+ }
1041
+ ],
1042
+ "aria-label": e("appearance.themeMode", { defaultValue: "Theme mode" })
1043
+ }),
1044
+ /* @__PURE__ */ q(z, {
1045
+ gap: "sm",
1046
+ mt: "md",
1047
+ children: [
1048
+ /* @__PURE__ */ q(m, { children: [/* @__PURE__ */ K(I, {
1049
+ size: "sm",
1050
+ fw: 500,
1051
+ mb: "xs",
1052
+ c: p ? "dark" : void 0,
1053
+ children: e("appearance.taskbar")
1054
+ }), /* @__PURE__ */ K(_, {
1055
+ value: r?.taskbar ?? "#339af0",
1056
+ onChange: d("taskbar"),
1057
+ disabled: !p
1058
+ })] }),
1059
+ /* @__PURE__ */ q(m, { children: [/* @__PURE__ */ K(I, {
1060
+ size: "sm",
1061
+ fw: 500,
1062
+ mb: "xs",
1063
+ c: p ? "dark" : void 0,
1064
+ children: e("appearance.window")
1065
+ }), /* @__PURE__ */ K(_, {
1066
+ value: r?.window ?? "#ffffff",
1067
+ onChange: d("window"),
1068
+ disabled: !p
1069
+ })] }),
1070
+ /* @__PURE__ */ q(m, { children: [/* @__PURE__ */ K(I, {
1071
+ size: "sm",
1072
+ fw: 500,
1073
+ mb: "xs",
1074
+ c: p ? "dark" : void 0,
1075
+ children: e("appearance.accent")
1076
+ }), /* @__PURE__ */ K(_, {
1077
+ value: r?.accent ?? "#339af0",
1078
+ onChange: d("accent"),
1079
+ disabled: !p
1080
+ })] })
1081
+ ]
1082
+ }),
1083
+ /* @__PURE__ */ q(m, {
1084
+ mt: "md",
1085
+ children: [
1086
+ /* @__PURE__ */ K(I, {
1087
+ size: "sm",
1088
+ fw: 500,
1089
+ mb: "xs",
1090
+ children: e("appearance.animationDuration")
1091
+ }),
1092
+ /* @__PURE__ */ K(I, {
1093
+ size: "xs",
1094
+ c: "dimmed",
1095
+ mb: "sm",
1096
+ children: e("appearance.animationDescription")
1097
+ }),
1098
+ /* @__PURE__ */ q(P, {
1099
+ align: "center",
1100
+ gap: "md",
1101
+ children: [/* @__PURE__ */ K(k, {
1102
+ value: i,
1103
+ onChange: f,
1104
+ min: .1,
1105
+ max: 1,
1106
+ step: .1,
1107
+ style: { flex: 1 },
1108
+ marks: [
1109
+ {
1110
+ value: .1,
1111
+ label: "0.1s"
1112
+ },
1113
+ {
1114
+ value: .5,
1115
+ label: "0.5s"
1116
+ },
1117
+ {
1118
+ value: 1,
1119
+ label: "1.0s"
1120
+ }
1121
+ ],
1122
+ "aria-label": e("appearance.animationDuration")
1123
+ }), /* @__PURE__ */ q(I, {
1124
+ size: "sm",
1125
+ fw: 500,
1126
+ style: { minWidth: 40 },
1127
+ children: [i.toFixed(1), "s"]
1128
+ })]
1129
+ })
1130
+ ]
1131
+ })
1132
+ ]
1133
+ });
1134
+ }, yt = () => {
1135
+ let e = Z((e) => e.launcherIcon), t = Z((e) => e.setLauncherIcon), [n, r] = G([]), [i, a] = G(""), o = de(i);
1136
+ U(() => {
1137
+ import("react-icons/fc").then((e) => {
1138
+ r(Object.keys(e).filter((e) => e.startsWith("Fc")).sort());
1139
+ });
1140
+ }, []);
1141
+ let s = o ? n.filter((e) => e.toLowerCase().includes(o.toLowerCase())) : n, c = H((e) => {
1142
+ t(e);
1143
+ }, [t]);
1144
+ return /* @__PURE__ */ q(ht, {
1145
+ title: "Launcher Icon",
1146
+ description: `Selected: ${e}`,
1147
+ children: [/* @__PURE__ */ K(w, {
1148
+ placeholder: "Search icons...",
1149
+ value: i,
1150
+ onChange: (e) => a(e.currentTarget.value),
1151
+ "aria-label": "Search icons"
1152
+ }), /* @__PURE__ */ K(E, {
1153
+ style: {
1154
+ flex: 1,
1155
+ height: 300
1156
+ },
1157
+ children: /* @__PURE__ */ K(g, {
1158
+ cols: 8,
1159
+ spacing: 4,
1160
+ children: s.map((t) => /* @__PURE__ */ K(y, {
1161
+ label: t,
1162
+ withArrow: !0,
1163
+ openDelay: 400,
1164
+ children: /* @__PURE__ */ K(M, {
1165
+ onClick: () => c(t),
1166
+ "aria-label": t,
1167
+ "aria-pressed": t === e,
1168
+ style: {
1169
+ padding: 6,
1170
+ borderRadius: 6,
1171
+ background: t === e ? "var(--mantine-primary-color-light)" : "transparent",
1172
+ display: "flex",
1173
+ alignItems: "center",
1174
+ justifyContent: "center"
1175
+ },
1176
+ children: /* @__PURE__ */ K(R, {
1177
+ fcIcon: t,
1178
+ size: 24
1179
+ })
1180
+ })
1181
+ }, t))
1182
+ })
1183
+ })]
1184
+ });
1185
+ }, bt = (e) => {
1186
+ let t = Q[e];
1187
+ if (!t || document.head.querySelector(`link[data-font="${e}"]`)) return;
1188
+ let n = document.createElement("link");
1189
+ n.rel = "stylesheet", n.href = t, n.setAttribute("data-font", e), document.head.appendChild(n);
1190
+ }, xt = async (e) => {
1191
+ let t = Q[e];
1192
+ if (!t) throw Error(`Font "${e}" not found in Google Fonts`);
1193
+ let n = await fetch(t);
1194
+ if (!n.ok) throw Error(`Failed to download font: HTTP ${n.status}`);
1195
+ return await n.text(), bt(e), {
1196
+ font: e,
1197
+ success: !0
1198
+ };
1199
+ }, St = (e) => {
1200
+ let t = ge(), n = Z((e) => e.markFontDownloaded), r = Z((e) => e.downloadedFonts), i = e ? r.includes(e) : !1, a = e && !i && Q[e], o = he({
1201
+ queryKey: ["font", e ?? ""],
1202
+ queryFn: async ({ queryKey: e }) => {
1203
+ let [, t] = e;
1204
+ if (!t || !Q[t]) throw Error(`Font "${t}" not available`);
1205
+ let r = await xt(t);
1206
+ return r.success && n(t), r;
1207
+ },
1208
+ enabled: !!a,
1209
+ staleTime: Infinity,
1210
+ gcTime: Infinity,
1211
+ retry: !1
1212
+ }), s = o.isFetching ? {
1213
+ status: "downloading",
1214
+ loaded: 0,
1215
+ total: null,
1216
+ percent: null,
1217
+ error: null
1218
+ } : o.isError ? {
1219
+ status: "error",
1220
+ loaded: 0,
1221
+ total: null,
1222
+ percent: null,
1223
+ error: o.error?.message ?? "Unknown error"
1224
+ } : o.isSuccess ? {
1225
+ status: "done",
1226
+ loaded: 0,
1227
+ total: 0,
1228
+ percent: 100,
1229
+ error: null
1230
+ } : {
1231
+ status: "idle",
1232
+ loaded: 0,
1233
+ total: null,
1234
+ percent: null,
1235
+ error: null
1236
+ }, c = () => {
1237
+ e && t.removeQueries({ queryKey: ["font", e] });
1238
+ };
1239
+ return {
1240
+ ...o,
1241
+ progress: s,
1242
+ isDownloaded: i,
1243
+ reset: c
1244
+ };
1245
+ }, Ct = ce[1], wt = ({ status: e, error: t, onDownload: n }) => {
1246
+ let { t: r } = J("settings");
1247
+ return t ? /* @__PURE__ */ K(Ne, {
1248
+ color: Ct,
1249
+ variant: "filled",
1250
+ size: "sm",
1251
+ "aria-label": `Download error: ${t}`,
1252
+ children: r("common:status.error")
1253
+ }) : /* @__PURE__ */ K(L, {
1254
+ size: "xs",
1255
+ variant: "light",
1256
+ onClick: n,
1257
+ loading: e === "downloading",
1258
+ "aria-label": r("font.download"),
1259
+ children: r("font.download")
1260
+ });
1261
+ }, Tt = () => {
1262
+ let { t: e } = J("settings"), t = Z((e) => e.font), n = Z((e) => e.setFont), r = Z((e) => e.fontSize), i = Z((e) => e.setFontSize), a = Z((e) => e.downloadedFonts), o = Z((e) => e.markFontDownloaded), [s, c] = G(null), l = St(s);
1263
+ U(() => {
1264
+ l.isSuccess && l.data?.success && s && (a.includes(s) || o(s));
1265
+ }, [
1266
+ l.isSuccess,
1267
+ l.data,
1268
+ s,
1269
+ a,
1270
+ o
1271
+ ]);
1272
+ let u = H((e) => {
1273
+ c(e);
1274
+ }, []), d = (e) => a.includes(e) ? "done" : s === e ? l.progress.status : "idle", f = (e) => s === e ? l.progress.error : null, p = H((e) => {
1275
+ let t = e.trim();
1276
+ t && (Q[t] = `https://fonts.googleapis.com/css2?family=${t.replace(/\s+/g, "+")}&display=swap`, c(t));
1277
+ }, []), m = ft.map((e) => e.value), h = a.filter((e) => !m.includes(e));
1278
+ return /* @__PURE__ */ q(z, {
1279
+ gap: "md",
1280
+ p: "md",
1281
+ children: [
1282
+ /* @__PURE__ */ K(I, {
1283
+ fw: 600,
1284
+ size: "lg",
1285
+ children: e("font.title")
1286
+ }),
1287
+ /* @__PURE__ */ K(I, {
1288
+ size: "sm",
1289
+ c: "dimmed",
1290
+ children: e("font.description")
1291
+ }),
1292
+ /* @__PURE__ */ K(Y.Group, {
1293
+ value: t,
1294
+ onChange: n,
1295
+ "aria-label": e("font.selectionAria", { defaultValue: "Font selection" }),
1296
+ children: /* @__PURE__ */ q(z, {
1297
+ gap: "xs",
1298
+ children: [ft.map((e) => {
1299
+ let t = !!Q[e.value], n = a.includes(e.value), r = d(e.value), i = f(e.value), o = !t || n || r === "done";
1300
+ return /* @__PURE__ */ K(N, {
1301
+ p: "sm",
1302
+ withBorder: !0,
1303
+ radius: "md",
1304
+ children: /* @__PURE__ */ q(z, {
1305
+ gap: "xs",
1306
+ children: [/* @__PURE__ */ q(P, {
1307
+ justify: "space-between",
1308
+ children: [/* @__PURE__ */ K(Y, {
1309
+ value: e.value,
1310
+ label: e.label,
1311
+ "aria-label": e.label,
1312
+ disabled: !o
1313
+ }), /* @__PURE__ */ q(P, {
1314
+ gap: "xs",
1315
+ align: "center",
1316
+ children: [o && /* @__PURE__ */ K(I, {
1317
+ size: "sm",
1318
+ c: "dimmed",
1319
+ style: { fontFamily: e.stack },
1320
+ children: "AaBbCcDd"
1321
+ }), t && /* @__PURE__ */ K(wt, {
1322
+ fontLabel: e.label,
1323
+ status: r,
1324
+ error: i,
1325
+ onDownload: () => u(e.value),
1326
+ isDownloaded: n
1327
+ })]
1328
+ })]
1329
+ }), t && r === "downloading" && /* @__PURE__ */ K(j, { state: l.progress })]
1330
+ })
1331
+ }, e.value);
1332
+ }), h.map((e) => /* @__PURE__ */ K(N, {
1333
+ p: "sm",
1334
+ withBorder: !0,
1335
+ radius: "md",
1336
+ children: /* @__PURE__ */ q(P, {
1337
+ justify: "space-between",
1338
+ children: [/* @__PURE__ */ K(Y, {
1339
+ value: e,
1340
+ label: e,
1341
+ "aria-label": e
1342
+ }), /* @__PURE__ */ K(I, {
1343
+ size: "sm",
1344
+ c: "dimmed",
1345
+ style: { fontFamily: `"${e}"` },
1346
+ children: "AaBbCcDd"
1347
+ })]
1348
+ })
1349
+ }, e))]
1350
+ })
1351
+ }),
1352
+ /* @__PURE__ */ K(N, {
1353
+ p: "sm",
1354
+ withBorder: !0,
1355
+ radius: "md",
1356
+ children: /* @__PURE__ */ q(z, {
1357
+ gap: "xs",
1358
+ children: [/* @__PURE__ */ q(P, {
1359
+ justify: "space-between",
1360
+ children: [/* @__PURE__ */ K(I, {
1361
+ size: "sm",
1362
+ fw: 500,
1363
+ children: e("font.fontSize")
1364
+ }), /* @__PURE__ */ q(I, {
1365
+ size: "sm",
1366
+ c: "dimmed",
1367
+ children: [r, "px"]
1368
+ })]
1369
+ }), /* @__PURE__ */ K(k, {
1370
+ value: r,
1371
+ onChange: i,
1372
+ min: 10,
1373
+ max: 24,
1374
+ step: 1,
1375
+ marks: [
1376
+ { value: 10 },
1377
+ { value: 14 },
1378
+ { value: 18 },
1379
+ { value: 20 },
1380
+ { value: 24 }
1381
+ ],
1382
+ "aria-label": e("font.fontSizeAria", { defaultValue: "Font size" })
1383
+ })]
1384
+ })
1385
+ }),
1386
+ /* @__PURE__ */ K(Et, {
1387
+ onDownload: p,
1388
+ activeDownload: s,
1389
+ fontDownload: l
1390
+ })
1391
+ ]
1392
+ });
1393
+ }, Et = ({ onDownload: e, activeDownload: t, fontDownload: n }) => {
1394
+ let { t: r } = J("settings"), [i, a] = G(""), o = t === i.trim(), s = o ? n.progress.status : "idle", c = o && n.progress.status === "error", l = H((e) => {
1395
+ a(e), c && n.reset?.();
1396
+ }, [c, n]), u = H(() => {
1397
+ e(i);
1398
+ }, [i, e]), d = o && s === "done";
1399
+ return /* @__PURE__ */ K(N, {
1400
+ p: "sm",
1401
+ withBorder: !0,
1402
+ radius: "md",
1403
+ children: /* @__PURE__ */ q(z, {
1404
+ gap: "xs",
1405
+ children: [
1406
+ /* @__PURE__ */ q(I, {
1407
+ size: "sm",
1408
+ fw: 500,
1409
+ children: [
1410
+ r("font.downloadByName"),
1411
+ " ",
1412
+ /* @__PURE__ */ K("a", {
1413
+ href: "https://fonts.google.com/",
1414
+ target: "_blank",
1415
+ rel: "noreferrer",
1416
+ children: r("font.fromGoogleFonts")
1417
+ })
1418
+ ]
1419
+ }),
1420
+ /* @__PURE__ */ q(P, {
1421
+ gap: "xs",
1422
+ align: "flex-start",
1423
+ children: [/* @__PURE__ */ K(w, {
1424
+ placeholder: r("font.namePlaceholder", { defaultValue: "e.g. Open Sans" }),
1425
+ value: i,
1426
+ onChange: (e) => l(e.currentTarget.value),
1427
+ style: { flex: 1 },
1428
+ "aria-label": r("font.customNameAria", { defaultValue: "Custom font name" }),
1429
+ error: c ? r("font.downloadError") : void 0
1430
+ }), /* @__PURE__ */ K(L, {
1431
+ onClick: u,
1432
+ disabled: !i.trim() || s === "downloading",
1433
+ loading: s === "downloading",
1434
+ "aria-label": r("font.downloadCustomAria", { defaultValue: "Download custom font" }),
1435
+ style: { marginTop: c ? 0 : void 0 },
1436
+ children: r("font.download")
1437
+ })]
1438
+ }),
1439
+ s === "downloading" && /* @__PURE__ */ K(j, { state: n.progress }),
1440
+ d && /* @__PURE__ */ K(I, {
1441
+ size: "xs",
1442
+ c: "dimmed",
1443
+ children: r("font.downloadSuccess")
1444
+ })
1445
+ ]
1446
+ })
1447
+ });
1448
+ }, Dt = ["en", "es"], Ot = "en", kt = {
1449
+ en: "English",
1450
+ es: "Español"
1451
+ }, At = () => {
1452
+ let { t: e } = J("settings"), t = Z((e) => e.language), n = Z((e) => e.setLanguage), r = H((e) => {
1453
+ n(e);
1454
+ }, [n]);
1455
+ return /* @__PURE__ */ K(ht, {
1456
+ title: e("language.title"),
1457
+ description: e("language.description"),
1458
+ children: /* @__PURE__ */ K(z, {
1459
+ gap: "xs",
1460
+ children: Dt.map((e) => /* @__PURE__ */ K(M, {
1461
+ onClick: () => r(e),
1462
+ "aria-label": kt[e],
1463
+ "aria-pressed": e === t,
1464
+ style: {
1465
+ padding: "12px 16px",
1466
+ borderRadius: 8,
1467
+ width: "100%",
1468
+ background: e === t ? "var(--mantine-primary-color-light)" : "transparent",
1469
+ border: e === t ? "1px solid var(--mantine-primary-color-filled)" : "1px solid transparent",
1470
+ transition: "all 0.15s ease",
1471
+ cursor: "pointer"
1472
+ },
1473
+ children: /* @__PURE__ */ q(P, {
1474
+ gap: "sm",
1475
+ children: [/* @__PURE__ */ K(dt, {
1476
+ lang: e,
1477
+ size: 24
1478
+ }), /* @__PURE__ */ K(I, {
1479
+ fw: e === t ? 600 : 400,
1480
+ children: kt[e]
1481
+ })]
1482
+ })
1483
+ }, e))
1484
+ })
1485
+ });
1486
+ };
1487
+ //#endregion
1488
+ //#region src/utils/clearBrowserData.ts
1489
+ async function jt(e) {
1490
+ let t = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : void 0;
1491
+ if (t) {
1492
+ if (!e?.keepServiceWorker && "serviceWorker" in t.navigator) {
1493
+ let e = await t.navigator.serviceWorker.getRegistrations();
1494
+ for (let t of e) await t.unregister();
1495
+ }
1496
+ if ("caches" in t) {
1497
+ let e = await t.caches.keys();
1498
+ for (let n of e) await t.caches.delete(n);
1499
+ }
1500
+ if (!e?.keepIndexedDB && "indexedDB" in t) {
1501
+ let e = await t.indexedDB.databases();
1502
+ for (let n of e) n.name && t.indexedDB.deleteDatabase(n.name);
1503
+ }
1504
+ !e?.keepLocalStorage && "localStorage" in t && t.localStorage.clear(), !e?.keepSessionStorage && "sessionStorage" in t && t.sessionStorage.clear();
1505
+ }
1506
+ }
1507
+ //#endregion
1508
+ //#region src/utils/resetDockerWorkspace.ts
1509
+ async function Mt() {
1510
+ F() && (await fetch("/api/fs/reset", { method: "POST" }), await fetch("/api/fs/seed", { method: "POST" }));
1511
+ }
1512
+ //#endregion
1513
+ //#region src/components/Apps/SettingsApp/sections/ResetSettings.tsx
1514
+ var Nt = () => {
1515
+ let { t: e } = J("settings"), [t, n] = G(!1), r = H(() => {
1516
+ n(!0);
1517
+ }, []), i = H(() => {
1518
+ n(!1);
1519
+ }, []), a = H(async () => {
1520
+ await Mt(), await jt(), window.location.reload();
1521
+ }, []), o = H(async () => {
1522
+ await Mt(), await jt({ keepIndexedDB: !0 }), window.location.reload();
1523
+ }, []);
1524
+ return /* @__PURE__ */ q(ht, {
1525
+ title: e("reset.title"),
1526
+ description: e("reset.description"),
1527
+ children: [/* @__PURE__ */ K(L, {
1528
+ color: "red",
1529
+ onClick: r,
1530
+ style: { alignSelf: "flex-start" },
1531
+ children: e("reset.resetButton")
1532
+ }), t && /* @__PURE__ */ K(m, {
1533
+ style: {
1534
+ position: "fixed",
1535
+ top: 0,
1536
+ left: 0,
1537
+ right: 0,
1538
+ bottom: 0,
1539
+ background: "rgba(0,0,0,0.5)",
1540
+ display: "flex",
1541
+ alignItems: "center",
1542
+ justifyContent: "center",
1543
+ zIndex: 1e3
1544
+ },
1545
+ role: "dialog",
1546
+ "aria-label": "Confirm reset",
1547
+ children: /* @__PURE__ */ K(m, {
1548
+ style: {
1549
+ background: "var(--mantine-color-default)",
1550
+ borderRadius: 8,
1551
+ padding: 24,
1552
+ maxWidth: 400,
1553
+ width: "100%"
1554
+ },
1555
+ children: /* @__PURE__ */ q(z, {
1556
+ gap: "md",
1557
+ children: [
1558
+ /* @__PURE__ */ K(I, {
1559
+ fw: 600,
1560
+ size: "lg",
1561
+ ta: "center",
1562
+ children: e("reset.modalTitle")
1563
+ }),
1564
+ /* @__PURE__ */ K(I, {
1565
+ size: "sm",
1566
+ c: "dimmed",
1567
+ ta: "center",
1568
+ children: e("reset.modalDescription")
1569
+ }),
1570
+ /* @__PURE__ */ q(P, {
1571
+ justify: "center",
1572
+ gap: "xs",
1573
+ mt: "md",
1574
+ children: [
1575
+ /* @__PURE__ */ K(L, {
1576
+ variant: "default",
1577
+ onClick: i,
1578
+ children: e("reset.goBack")
1579
+ }),
1580
+ /* @__PURE__ */ K(L, {
1581
+ color: "blue",
1582
+ onClick: o,
1583
+ children: e("reset.keepFiles")
1584
+ }),
1585
+ /* @__PURE__ */ K(L, {
1586
+ color: "red",
1587
+ onClick: a,
1588
+ children: e("reset.burnEverything")
1589
+ })
1590
+ ]
1591
+ })
1592
+ ]
1593
+ })
1594
+ })
1595
+ })]
1596
+ });
1597
+ }, $ = {
1598
+ root: "_root_77epl_1",
1599
+ sidebar: "_sidebar_77epl_8",
1600
+ navItem: "_navItem_77epl_16",
1601
+ content: "_content_77epl_41",
1602
+ overviewPadding: "_overviewPadding_77epl_47",
1603
+ sectionCard: "_sectionCard_77epl_51",
1604
+ toolbar: "_toolbar_77epl_60",
1605
+ dirtyIndicator: "_dirtyIndicator_77epl_70",
1606
+ versionFooter: "_versionFooter_77epl_77"
1607
+ }, Pt = {
1608
+ name: "Francisco Núñez Palomares",
1609
+ title: "Fullstack Developer & DevOps",
1610
+ email: "frannunpal@gmail.com",
1611
+ phone: "+34 600 275 210",
1612
+ location: "Spain",
1613
+ linkedin: "https://www.linkedin.com/in/francisco-núñez-palomares-74a484171/",
1614
+ github: "https://github.com/frannunpal",
1615
+ cvUrls: {
1616
+ en: "Desktop/CV_2026_English.pdf",
1617
+ es: "Desktop/CV 2026.pdf"
1618
+ }
1619
+ }, Ft = /* @__PURE__ */ e({ default: () => zt }), It = "0.4.0", Lt = () => It, Rt = {
1620
+ wallpaper: _t,
1621
+ appearance: vt,
1622
+ launcher: yt,
1623
+ font: Tt,
1624
+ language: At,
1625
+ reset: Nt
1626
+ }, zt = ({ window: e, notifyReady: t }) => {
1627
+ let { t: n } = J("settings"), [r, i] = G(null), [a, o] = G(!1), s = ie((e) => e.windows), c = e?.id ?? s.find((e) => e.content === "settings")?.id, l = Z((e) => e.wallpaper), u = Z((e) => e.wallpaperModule), d = Z((e) => e.theme), f = Z((e) => e.font), p = Z((e) => e.fontSize), m = Z((e) => e.launcherIcon), h = Z((e) => e.customThemeColors), _ = Z((e) => e.animationDuration), v = Z((e) => e.setWallpaper), y = Z((e) => e.setWallpaperModule), b = Z((e) => e.setFont), x = Z((e) => e.setFontSize), S = Z((e) => e.setLauncherIcon), C = Z((e) => e.setThemeMode), w = Z((e) => e.setCustomThemeColors), T = Z((e) => e.setThemeAutomatic), E = Z((e) => e.setAnimationDuration), D = W(null);
1628
+ U(() => {
1629
+ D.current === null && (D.current = {
1630
+ wallpaper: l,
1631
+ wallpaperModule: u,
1632
+ themeMode: d.mode,
1633
+ font: f,
1634
+ fontSize: p,
1635
+ launcherIcon: m,
1636
+ customThemeColors: h,
1637
+ animationDuration: _
1638
+ });
1639
+ }, [
1640
+ l,
1641
+ u,
1642
+ d.mode,
1643
+ f,
1644
+ p,
1645
+ m,
1646
+ h,
1647
+ _
1648
+ ]), U(() => {
1649
+ if (!D.current) return;
1650
+ let e = {
1651
+ wallpaper: l,
1652
+ wallpaperModule: u,
1653
+ themeMode: d.mode,
1654
+ font: f,
1655
+ fontSize: p,
1656
+ launcherIcon: m,
1657
+ customThemeColors: h,
1658
+ animationDuration: _
1659
+ };
1660
+ o(JSON.stringify(e) !== JSON.stringify(D.current));
1661
+ }, [
1662
+ l,
1663
+ u,
1664
+ d.mode,
1665
+ f,
1666
+ p,
1667
+ m,
1668
+ h,
1669
+ _
1670
+ ]);
1671
+ let ee = H(() => {
1672
+ let e = D.current;
1673
+ e && (v(e.wallpaper), y(e.wallpaperModule), b(e.font), x(e.fontSize), S(e.launcherIcon), E(e.animationDuration), e.customThemeColors ? w(e.customThemeColors) : (w(null), T()), C(e.themeMode), o(!1));
1674
+ }, [
1675
+ v,
1676
+ y,
1677
+ b,
1678
+ x,
1679
+ S,
1680
+ E,
1681
+ C,
1682
+ w,
1683
+ T
1684
+ ]);
1685
+ U(() => {
1686
+ c && B.getState().reset(c);
1687
+ }, [c]), U(() => {
1688
+ c && B.getState().setIsDirty(c, a);
1689
+ }, [c, a]), U(() => {
1690
+ t?.({
1691
+ ...e?.contentData ?? {},
1692
+ discard: ee
1693
+ });
1694
+ }, [
1695
+ e,
1696
+ t,
1697
+ ee
1698
+ ]), ae({
1699
+ isDirtyGetter: H(() => {
1700
+ if (!D.current) return !1;
1701
+ let e = {
1702
+ wallpaper: Z.getState().wallpaper,
1703
+ wallpaperModule: Z.getState().wallpaperModule,
1704
+ themeMode: Z.getState().theme.mode,
1705
+ font: Z.getState().font,
1706
+ fontSize: Z.getState().fontSize,
1707
+ launcherIcon: Z.getState().launcherIcon,
1708
+ customThemeColors: Z.getState().customThemeColors,
1709
+ animationDuration: Z.getState().animationDuration
1710
+ };
1711
+ return JSON.stringify(e) !== JSON.stringify(D.current);
1712
+ }, []),
1713
+ windowId: c,
1714
+ onDiscard: ee,
1715
+ onSave: () => {}
1716
+ });
1717
+ let O = H((e) => {
1718
+ i(e);
1719
+ }, []), k = H(() => {
1720
+ i(null);
1721
+ }, []), te = H(() => {
1722
+ globalThis.location.href = `mailto:${Pt.email}`;
1723
+ }, []), A = r ? Rt[r] : null;
1724
+ return /* @__PURE__ */ q("div", {
1725
+ className: $.root,
1726
+ children: [/* @__PURE__ */ K("aside", {
1727
+ className: $.sidebar,
1728
+ children: /* @__PURE__ */ q("nav", {
1729
+ "aria-label": "Settings sections",
1730
+ children: [/* @__PURE__ */ q("button", {
1731
+ className: $.navItem,
1732
+ "data-active": r === null || void 0,
1733
+ onClick: k,
1734
+ "aria-label": "All Settings",
1735
+ "aria-current": r === null ? "page" : void 0,
1736
+ children: [/* @__PURE__ */ K(R, {
1737
+ fcIcon: "FcList",
1738
+ size: 16
1739
+ }), /* @__PURE__ */ K(I, {
1740
+ size: "xs",
1741
+ ml: 6,
1742
+ truncate: !0,
1743
+ children: n("all")
1744
+ })]
1745
+ }), mt.map((e) => /* @__PURE__ */ q("button", {
1746
+ className: $.navItem,
1747
+ "data-active": r === e.id || void 0,
1748
+ onClick: () => O(e.id),
1749
+ "aria-label": e.label,
1750
+ "aria-current": r === e.id ? "page" : void 0,
1751
+ children: [/* @__PURE__ */ K(R, {
1752
+ fcIcon: e.fcIcon,
1753
+ size: 16
1754
+ }), /* @__PURE__ */ K(I, {
1755
+ size: "xs",
1756
+ ml: 6,
1757
+ truncate: !0,
1758
+ children: n(`sections.${e.id}.label`)
1759
+ })]
1760
+ }, e.id))]
1761
+ })
1762
+ }), /* @__PURE__ */ K("main", {
1763
+ className: $.content,
1764
+ children: A ? /* @__PURE__ */ K(A, {}) : /* @__PURE__ */ q(z, {
1765
+ className: $.overviewPadding,
1766
+ h: "100%",
1767
+ justify: "space-between",
1768
+ gap: 0,
1769
+ children: [
1770
+ /* @__PURE__ */ q("div", { children: [/* @__PURE__ */ K(I, {
1771
+ fw: 500,
1772
+ mb: "md",
1773
+ size: "sm",
1774
+ c: "dimmed",
1775
+ children: n("all")
1776
+ }), /* @__PURE__ */ K(g, {
1777
+ cols: 2,
1778
+ spacing: "sm",
1779
+ children: mt.map((e) => /* @__PURE__ */ K(re, {
1780
+ withBorder: !0,
1781
+ padding: "md",
1782
+ radius: "md",
1783
+ className: $.sectionCard,
1784
+ onClick: () => O(e.id),
1785
+ role: "button",
1786
+ "aria-label": `Open ${e.label} settings`,
1787
+ children: /* @__PURE__ */ q(z, {
1788
+ gap: 6,
1789
+ align: "flex-start",
1790
+ children: [
1791
+ /* @__PURE__ */ K(R, {
1792
+ fcIcon: e.fcIcon,
1793
+ size: 28
1794
+ }),
1795
+ /* @__PURE__ */ K(I, {
1796
+ size: "sm",
1797
+ fw: 500,
1798
+ children: n(`sections.${e.id}.label`)
1799
+ }),
1800
+ /* @__PURE__ */ K(I, {
1801
+ size: "xs",
1802
+ c: "dimmed",
1803
+ children: n(`sections.${e.id}.description`)
1804
+ })
1805
+ ]
1806
+ })
1807
+ }, e.id))
1808
+ })] }),
1809
+ /* @__PURE__ */ K(L, {
1810
+ gradient: {
1811
+ from: "blue",
1812
+ to: "cyan",
1813
+ deg: 90
1814
+ },
1815
+ onClick: te,
1816
+ children: "FDE: Fran Desktop Environment"
1817
+ }),
1818
+ /* @__PURE__ */ K(I, {
1819
+ size: "xs",
1820
+ c: "dimmed",
1821
+ ta: "center",
1822
+ className: $.versionFooter,
1823
+ children: Lt()
1824
+ })
1825
+ ]
1826
+ })
1827
+ })]
1828
+ });
1829
+ };
1830
+ //#endregion
1831
+ export { tt as _, Ot as a, bt as c, ft as d, pt as f, Z as g, it as h, jt as i, ht as l, dt as m, Ft as n, Dt as o, Q as p, Pt as r, St as s, zt as t, mt as u };