@fde-desktop/fde-core 0.4.8 → 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 (250) hide show
  1. package/dist/{AccordionChevron-CJXAq5o5.js → AccordionChevron-DxpOyInK.js} +1 -1
  2. package/dist/AccordionChevron-kn5kSrEc.cjs +1 -0
  3. package/dist/{ActionIcon-CtVbYlGY.js → ActionIcon-Drh4p6Fv.js} +32 -32
  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-DCDuaU-t.js → AppIcon-XumS3bIG.js} +4 -4
  9. package/dist/AppMenuBar-B9U0n1Vv.cjs +1 -0
  10. package/dist/AppMenuBar-CnIEVjr8.js +2049 -0
  11. package/dist/{Box-DRm8EabO.js → Box-DSKR_qaa.js} +257 -271
  12. package/dist/Box-zW6Twge8.cjs +1 -0
  13. package/dist/Button-DMlnrqyx.cjs +1 -0
  14. package/dist/{Button-k7SxX1Xl.js → Button-wTOTQKxF.js} +38 -38
  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-CyryG5zn.js → Center-CmxXB9ql.js} +1 -1
  19. package/dist/Center-DKUE2pER.cjs +1 -0
  20. package/dist/CheckIcon-CZhtJD1O.cjs +1 -0
  21. package/dist/{CheckIcon-C3WjIR2i.js → CheckIcon-N5qBqXQJ.js} +1 -1
  22. package/dist/CodeServerApp-BOoGwZ7r.cjs +1 -0
  23. package/dist/CodeServerApp-Be3I5EGg.cjs +1 -0
  24. package/dist/{CodeServerApp-DY94cy1a.js → CodeServerApp-DW18EZxa.js} +48 -47
  25. package/dist/{ColorPicker-DvRR-wlQ.js → ColorPicker-BCNqi02x.js} +364 -364
  26. package/dist/ColorPicker-BrDE7tMO.cjs +1 -0
  27. package/dist/CreateItemApp-B12M1E_1.cjs +1 -0
  28. package/dist/{CreateItemApp-CtdH1K1g.js → CreateItemApp-TAAprby3.js} +13 -13
  29. package/dist/CreateItemApp-ePB6ujNl.cjs +1 -0
  30. package/dist/DeviceInfoApp-BMF18BGo.cjs +1 -0
  31. package/dist/DeviceInfoApp-DRy0H3aT.cjs +1 -0
  32. package/dist/{DeviceInfoApp-C306YvtZ.js → DeviceInfoApp-lgpwkeRR.js} +7 -7
  33. package/dist/{DownloadProgress-hdupSUBT.js → DownloadProgress-EoyCaD5O.js} +15 -15
  34. package/dist/DownloadProgress-VNdj22U8.cjs +1 -0
  35. package/dist/{FileIcon-BCpGMI5U.js → FileIcon-7JaSR3Gn.js} +26 -25
  36. package/dist/FileIcon-CIXopWLv.cjs +1 -0
  37. package/dist/{FilePickerApp-DMGuvahM.js → FilePickerApp-DaMgEqKh.js} +115 -115
  38. package/dist/FilePickerApp-DjmuSFqa.cjs +1 -0
  39. package/dist/FilesApp-Bp7wfrBZ.cjs +1 -0
  40. package/dist/FilesApp-BpJJRKhi.cjs +1 -0
  41. package/dist/{FilesApp-VXrmtt63.js → FilesApp-Cj94QG5o.js} +21 -21
  42. package/dist/{Group-BzwlMeob.js → Group-CtBJSfCo.js} +1 -1
  43. package/dist/Group-Dsrf6lEK.cjs +1 -0
  44. package/dist/{ImageViewerApp-CWiP6zx-.js → ImageViewerApp-BaLP3gkO.js} +18 -17
  45. package/dist/ImageViewerApp-DlHGeB3S.cjs +1 -0
  46. package/dist/ImageViewerApp-DoXd_Swu.cjs +1 -0
  47. package/dist/{ImageViewerMenuBar-BULkh_Ku.js → ImageViewerMenuBar-CabGSi9r.js} +15 -14
  48. package/dist/ImageViewerMenuBar-SAI7UNz7.cjs +1 -0
  49. package/dist/ImageViewerMenuBar-_Jr29gii.cjs +1 -0
  50. package/dist/MenuEditApp-BJjlPTOa.cjs +1 -0
  51. package/dist/MenuEditApp-BTRppYnD.js +497 -0
  52. package/dist/MenuEditApp-JPsGT-S3.cjs +1 -0
  53. package/dist/MenuEditMenuBar-BydGkqMw.cjs +1 -0
  54. package/dist/MenuEditMenuBar-DptlwVPQ.cjs +1 -0
  55. package/dist/{MenuEditMenuBar-B94z4Umw.js → MenuEditMenuBar-x1IQrHP2.js} +13 -12
  56. package/dist/NotesApp-BOcRGO7w.cjs +1 -0
  57. package/dist/NotesApp-CQe7UfBC.js +364 -0
  58. package/dist/NotesApp-OL07JXRE.cjs +1 -0
  59. package/dist/NotesMenuBar-BSI_2Y7p.cjs +1 -0
  60. package/dist/NotesMenuBar-Df6aW85J.cjs +1 -0
  61. package/dist/{NotesMenuBar-BB4NkKGf.js → NotesMenuBar-VhpIe68v.js} +10 -9
  62. package/dist/{Paper-DtUYKmYn.js → Paper-BX_9odR6.js} +3 -3
  63. package/dist/Paper-D8-BaBx2.cjs +1 -0
  64. package/dist/PdfApp-CNEbty5v.cjs +1 -0
  65. package/dist/PdfApp-CVv3ZCaM.cjs +1 -0
  66. package/dist/PdfApp-DL_R9-Nc.js +39 -0
  67. package/dist/PdfMenuBar--E6kDyrT.cjs +1 -0
  68. package/dist/PdfMenuBar-DZCLSOpR.js +39 -0
  69. package/dist/PdfMenuBar-Dj5cJUkg.cjs +1 -0
  70. package/dist/SettingsApp-BlmHuAjT.js +1831 -0
  71. package/dist/SettingsApp-CNvIgf5B.cjs +1 -0
  72. package/dist/SettingsApp-DWxanNE4.cjs +1 -0
  73. package/dist/SettingsMenuBar-CBoOBCfx.cjs +1 -0
  74. package/dist/SettingsMenuBar-DQooFkZN.cjs +1 -0
  75. package/dist/SettingsMenuBar-YWiJHaxq.js +42 -0
  76. package/dist/Slider-BUiHxjKO.cjs +1 -0
  77. package/dist/{Slider-BNO-vDFn.js → Slider-t-NcD60t.js} +148 -147
  78. package/dist/{Stack-CuDEaP7e.js → Stack-Bp1Ek2Gp.js} +1 -1
  79. package/dist/Stack-D4jAiRfc.cjs +1 -0
  80. package/dist/StorybookApp-CDLV_kja.cjs +1 -0
  81. package/dist/{StorybookApp-WYninkJo.js → StorybookApp-DKwlPCmo.js} +1 -1
  82. package/dist/TerminalApp-BCB7i1lR.cjs +1 -0
  83. package/dist/TerminalApp-BYc_gHLe.js +326 -0
  84. package/dist/TerminalApp-Dviz6aP2.cjs +1 -0
  85. package/dist/{TerminalMenuBar-iKLydNda.js → TerminalMenuBar-D5tPmgR_.js} +15 -14
  86. package/dist/TerminalMenuBar-DNshPmCa.cjs +1 -0
  87. package/dist/TerminalMenuBar-HzMSR7XP.cjs +1 -0
  88. package/dist/{TextInput-C3qfxxWI.js → TextInput-C-JtGWn1.js} +264 -263
  89. package/dist/TextInput-CrsmcOip.cjs +1 -0
  90. package/dist/Tooltip-D5Cd9wtz.cjs +1 -0
  91. package/dist/Tooltip-DOeIvhrO.js +1142 -0
  92. package/dist/{UnstyledButton-CI3kyRck.js → UnstyledButton-DGaG-e_G.js} +1 -1
  93. package/dist/UnstyledButton-DX2pTahr.cjs +1 -0
  94. package/dist/UploaderApp-C6xA5Rrf2.cjs +1 -0
  95. package/dist/UploaderApp-DnHIRxB_.cjs +1 -0
  96. package/dist/{UploaderApp-C9W_yCT-.js → UploaderApp-qBfpukR_.js} +118 -117
  97. package/dist/VscIcon-CcMdrFoJ.cjs +1 -0
  98. package/dist/{VscIcon-DueRJVTe.js → VscIcon-DBfVnArE.js} +1 -1
  99. package/dist/create-safe-context-Bboj0GWC.cjs +1 -0
  100. package/dist/desktopStore-CZoA9VHO.cjs +1 -0
  101. package/dist/{desktopStore-B0R1-BeA.js → desktopStore-F8bgLqFl.js} +256 -393
  102. package/dist/getRuntime-BFK0-8R1.cjs +1 -0
  103. package/dist/{getRuntime-CCRXVzJH.js → getRuntime-DAPqFH2W.js} +5 -5
  104. package/dist/imageViewerStore-BB_tssZR.cjs +1 -0
  105. package/dist/{imageViewerStore-CJMRXaQh.js → imageViewerStore-C5kWz0o7.js} +1 -1
  106. package/dist/index.cjs +1 -53
  107. package/dist/index.css +1 -1
  108. package/dist/index.js +1293 -5468
  109. package/dist/is-element-CdV0xajp.cjs +1 -0
  110. package/dist/menuEditStore-CTeM_dns.cjs +1 -0
  111. package/dist/{menuEditStore-C8S_EedM.js → menuEditStore-Cj1zAwxQ.js} +1 -1
  112. package/dist/notesStore-BCEl1D_v.cjs +1 -0
  113. package/dist/{notesStore-DKRgTTFn.js → notesStore-BPyRTHEc.js} +1 -1
  114. package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
  115. package/dist/{settingsAppStore-KOeWRO6h.js → settingsAppStore-BDQ3ts1y.js} +1 -1
  116. package/dist/settingsAppStore-CMBc13VU.cjs +1 -0
  117. package/dist/{terminalStore-LWWjCvCe.js → terminalStore-IWdf4Mm6.js} +1 -1
  118. package/dist/terminalStore-iIuyodfK.cjs +1 -0
  119. package/dist/use-merged-ref-n9Gw9LNn.cjs +1 -0
  120. package/dist/{use-resolved-styles-api-AVDygMKo.cjs → use-resolved-styles-api-8OXE2oRq.cjs} +1 -1
  121. package/dist/{use-resolved-styles-api-pEOi2wiK.js → use-resolved-styles-api-DNUlJJZf.js} +1 -1
  122. package/dist/use-uncontrolled-DDJVQiM_.cjs +1 -0
  123. package/dist/{useAdaptiveDimensions-CunsU0mn.js → useAdaptiveDimensions-AVDc_qPa.js} +1 -1
  124. package/dist/useAdaptiveDimensions-CfITBJ_m.cjs +1 -0
  125. package/dist/{useCloseInterceptor-CuKAAFnj.js → useCloseInterceptor-BZd3VILp.js} +12 -12
  126. package/dist/useCloseInterceptor-yntBEzNc.cjs +1 -0
  127. package/dist/{useDynamicIcon-GJg3vWsJ.js → useDynamicIcon-Bf0t2foA.js} +1 -1
  128. package/dist/useDynamicIcon-DJ_il30E.cjs +1 -0
  129. package/dist/{useOpenApp-JHCPTBWa.js → useOpenApp-CBIm7Gzl.js} +3 -3
  130. package/dist/useOpenApp-DW4x79Zg.cjs +1 -0
  131. package/dist/useResolvedUrl-BkMPM1fM.cjs +1 -0
  132. package/dist/{useResolvedUrl-DFKXq598.js → useResolvedUrl-DQpLqOoL.js} +2 -2
  133. package/package.json +1 -1
  134. package/dist/AccordionChevron-DBXp38Lm.cjs +0 -1
  135. package/dist/ActionIcon-C_SfdBfx.cjs +0 -1
  136. package/dist/AppEmptyState-BTujnL_b.js +0 -4962
  137. package/dist/AppEmptyState-Dc4GaDfu.cjs +0 -1
  138. package/dist/AppIcon--qzR4sgf.cjs +0 -1
  139. package/dist/AppMenuBar-BiHbNg9V.cjs +0 -9
  140. package/dist/AppMenuBar-CHJy8OF0.js +0 -2639
  141. package/dist/Box-D_64wv6n.cjs +0 -1
  142. package/dist/Button-D0FXpkur.cjs +0 -1
  143. package/dist/CalendarApp-C1HvuJoa.cjs +0 -1
  144. package/dist/CalendarApp-DBEQqsS_.js +0 -1721
  145. package/dist/Center-T4No_FAa.cjs +0 -1
  146. package/dist/CheckIcon-CBMLR6Gc.cjs +0 -1
  147. package/dist/CodeServerApp-B3l5QPuG.cjs +0 -1
  148. package/dist/CodeServerApp-BpeALSaX.js +0 -2
  149. package/dist/CodeServerApp-CRjCngFv.cjs +0 -1
  150. package/dist/ColorPicker-BL4UbKCV.cjs +0 -1
  151. package/dist/CreateItemApp-BU9wmjKM.cjs +0 -1
  152. package/dist/CreateItemApp-t9F-a6wD.cjs +0 -1
  153. package/dist/DeviceInfoApp-Cdju_LIB.cjs +0 -1
  154. package/dist/DeviceInfoApp-CyB01v4D.cjs +0 -1
  155. package/dist/DownloadProgress-IRw1dzLX.cjs +0 -1
  156. package/dist/FileIcon-BCrsxmtt.cjs +0 -1
  157. package/dist/FilePickerApp-Eu0cr2Cm.cjs +0 -1
  158. package/dist/FilesApp-30OjnOuP.cjs +0 -1
  159. package/dist/FilesApp-BvlzPNuO.cjs +0 -1
  160. package/dist/Group-DhwePB84.cjs +0 -1
  161. package/dist/ImageViewerApp-BOz59TGc.cjs +0 -1
  162. package/dist/ImageViewerApp-BeqY6voE.cjs +0 -1
  163. package/dist/ImageViewerApp-DBAfJPSo.js +0 -2
  164. package/dist/ImageViewerMenuBar-Cb0Nr5-M.js +0 -2
  165. package/dist/ImageViewerMenuBar-CoEp0RxK.cjs +0 -1
  166. package/dist/ImageViewerMenuBar-zOkJtqKo.cjs +0 -1
  167. package/dist/MenuEditApp-BoKtj2GH.js +0 -2
  168. package/dist/MenuEditApp-D21sEp86.js +0 -2615
  169. package/dist/MenuEditApp-k3cPfTG9.cjs +0 -1
  170. package/dist/MenuEditApp-sz9GlLVH.cjs +0 -5
  171. package/dist/MenuEditMenuBar-6QxlIDpl.cjs +0 -1
  172. package/dist/MenuEditMenuBar-Bv6R42lf.js +0 -2
  173. package/dist/MenuEditMenuBar-CBsmH_-T.cjs +0 -1
  174. package/dist/NotesApp-BtR55Hva.cjs +0 -207
  175. package/dist/NotesApp-C59exz_9.js +0 -16154
  176. package/dist/NotesApp-D47I5LS_.js +0 -2
  177. package/dist/NotesApp-lOwsi2sg.cjs +0 -1
  178. package/dist/NotesMenuBar-BZITC74y.cjs +0 -1
  179. package/dist/NotesMenuBar-Bp0sPqyR.cjs +0 -1
  180. package/dist/NotesMenuBar-xlfODmMA.js +0 -2
  181. package/dist/Paper-DwCpwWwH.cjs +0 -1
  182. package/dist/PdfApp-1XbFGfoY.cjs +0 -1
  183. package/dist/PdfApp-BhIoJWeK.cjs +0 -1
  184. package/dist/PdfApp-C5Rt1Zaw.js +0 -2
  185. package/dist/PdfApp-C8Hwxxqh.js +0 -38
  186. package/dist/PdfMenuBar-BA9rKuMP.cjs +0 -1
  187. package/dist/PdfMenuBar-JXHqwxhZ.cjs +0 -1
  188. package/dist/PdfMenuBar-R0fu7oYF.js +0 -2
  189. package/dist/PdfMenuBar-sd-9Vk3h.js +0 -38
  190. package/dist/SettingsApp-BA-5B4RA.cjs +0 -1
  191. package/dist/SettingsApp-B_rev1xh.cjs +0 -1
  192. package/dist/SettingsApp-Ck4aUXs5.js +0 -2
  193. package/dist/SettingsApp-DUMKSA3K.js +0 -2425
  194. package/dist/SettingsMenuBar-BPwv8JQK.js +0 -41
  195. package/dist/SettingsMenuBar-D8R7hOik.js +0 -2
  196. package/dist/SettingsMenuBar-DDrjZLmg.cjs +0 -1
  197. package/dist/SettingsMenuBar-DQjUa8g1.cjs +0 -1
  198. package/dist/Slider-Bg_EIBg6.cjs +0 -1
  199. package/dist/Stack-BOaJgV3N.cjs +0 -1
  200. package/dist/StorybookApp-Bkr-7mXp.cjs +0 -1
  201. package/dist/TerminalApp-8XbsKAWa.js +0 -10041
  202. package/dist/TerminalApp-Bq2e7QQu.cjs +0 -1
  203. package/dist/TerminalApp-CVu3Axc9.js +0 -2
  204. package/dist/TerminalApp-b7_d0jRO.cjs +0 -36
  205. package/dist/TerminalMenuBar-Cb8x9laS.js +0 -2
  206. package/dist/TerminalMenuBar-De-FH5AE.cjs +0 -1
  207. package/dist/TerminalMenuBar-yOaWd-hn.cjs +0 -1
  208. package/dist/TextInput-DcYns3hz.cjs +0 -1
  209. package/dist/Tooltip-CAOO-qdx.js +0 -3185
  210. package/dist/Tooltip-DDh_x-CB.cjs +0 -1
  211. package/dist/UnstyledButton-Cl5RuIid.cjs +0 -1
  212. package/dist/UploaderApp-BZXW75A0.cjs +0 -1
  213. package/dist/UploaderApp-CPpStgP5.cjs +0 -1
  214. package/dist/UploaderApp-DHsMQN-f.js +0 -2
  215. package/dist/VscIcon-CxEmqD80.cjs +0 -1
  216. package/dist/chunk-BQCxAhux.js +0 -23
  217. package/dist/chunk-CiTBaPhY.cjs +0 -1
  218. package/dist/create-safe-context-95P-Bfg3.cjs +0 -1
  219. package/dist/desktopStore-Cox-Og1z.cjs +0 -1
  220. package/dist/fc-DejOsQyD.cjs +0 -1
  221. package/dist/fc-kd8WzIER.js +0 -20536
  222. package/dist/fc-xJ_v2ayq.cjs +0 -184
  223. package/dist/fi-BahYsbim.js +0 -9993
  224. package/dist/fi-BkhyTcZo.cjs +0 -1
  225. package/dist/getRuntime-BLXyQZBB.cjs +0 -1
  226. package/dist/iconBase-B4UCuSvv.cjs +0 -1
  227. package/dist/iconBase-D7iPes7B.js +0 -108
  228. package/dist/imageViewerStore-CH1qW6md.cjs +0 -1
  229. package/dist/is-element-BocgicRg.cjs +0 -1
  230. package/dist/menuEditStore-CU7IAg3L.cjs +0 -1
  231. package/dist/notesStore-zKmChTfF.cjs +0 -1
  232. package/dist/react-DYmzHD0X.js +0 -27
  233. package/dist/react-Dldg32sN.cjs +0 -1
  234. package/dist/settingsAppStore-BrlImdAH.cjs +0 -1
  235. package/dist/terminalStore-fZe5t7Ty.cjs +0 -1
  236. package/dist/use-merged-ref-BI9n1hUK.cjs +0 -1
  237. package/dist/use-uncontrolled-BPrfGv0W.cjs +0 -1
  238. package/dist/useAdaptiveDimensions-Btp0m5Pm.cjs +0 -1
  239. package/dist/useCloseInterceptor-a_6Lcuqj.cjs +0 -1
  240. package/dist/useDynamicIcon-SytdL1Tu.cjs +0 -1
  241. package/dist/useOpenApp-BdarhIgl.cjs +0 -1
  242. package/dist/useResolvedUrl-Be5ZlCX7.cjs +0 -1
  243. package/dist/useTranslation-DMRGdqZi.js +0 -279
  244. package/dist/useTranslation-D_O7S4RJ.cjs +0 -1
  245. package/dist/vsc-Ciibqbxo.cjs +0 -1
  246. package/dist/vsc-DGKSpOAR.js +0 -9574
  247. /package/dist/{Colors-hca6raEG.js → Colors-ClnDxnyA.js} +0 -0
  248. /package/dist/{Colors-BxX4G8kX.cjs → Colors-zP2AFgU3.cjs} +0 -0
  249. /package/dist/{useMenuBarUtils-Bp5PiztD.cjs → useMenuBarUtils-nJIPJGIQ.cjs} +0 -0
  250. /package/dist/{useMenuBarUtils-ChmpZjwu.js → useMenuBarUtils-nmu9yehT.js} +0 -0
@@ -1,2425 +0,0 @@
1
- import { L as e, N as t, O as n, S as r, c as i, d as a, i as o, j as s, k as c, l, n as u, o as d, r as f, t as p, x as m } from "./Box-DRm8EabO.js";
2
- import { n as h, t as g } from "./ColorPicker-DvRR-wlQ.js";
3
- import { s as _, t as v } from "./Tooltip-CAOO-qdx.js";
4
- import { t as y } from "./use-uncontrolled-A4hm9ATM.js";
5
- import { i as b, l as x, p as S, t as C, u as w } from "./TextInput-C3qfxxWI.js";
6
- import { a as T, i as E, n as D, o as O, t as k } from "./Slider-BNO-vDFn.js";
7
- import { r as A } from "./use-merged-ref-BT8_u6vW.js";
8
- import { i as ee, r as j, t as te } from "./DownloadProgress-hdupSUBT.js";
9
- import { t as M } from "./UnstyledButton-CI3kyRck.js";
10
- import { t as N } from "./Paper-DtUYKmYn.js";
11
- import { t as P } from "./Group-BzwlMeob.js";
12
- import { i as ne, o as F } from "./getRuntime-CCRXVzJH.js";
13
- import { t as I } from "./Button-k7SxX1Xl.js";
14
- import { n as re, t as L } from "./AppIcon-DCDuaU-t.js";
15
- import { t as R } from "./Stack-CuDEaP7e.js";
16
- import { t as ie } from "./react-DYmzHD0X.js";
17
- import { ft as ae, o as oe, pt as se } from "./desktopStore-B0R1-BeA.js";
18
- import { t as z } from "./useTranslation-DMRGdqZi.js";
19
- import { i as ce } from "./useCloseInterceptor-CuKAAFnj.js";
20
- import { t as B } from "./useResolvedUrl-DFKXq598.js";
21
- import { n as le } from "./FilePickerApp-DMGuvahM.js";
22
- import { t as ue } from "./Colors-hca6raEG.js";
23
- import { n as de } from "./settingsAppStore-KOeWRO6h.js";
24
- import * as V from "react";
25
- import { createContext as fe, createElement as pe, use as me, useCallback as H, useDeferredValue as he, useEffect as U, useRef as W, useState as G } from "react";
26
- import { jsx as K, jsxs as q } from "react/jsx-runtime";
27
- //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/utils/shallow-equal/shallow-equal.mjs
28
- function ge(e, t) {
29
- if (e === t || Number.isNaN(e) && Number.isNaN(t)) return !0;
30
- if (!(e instanceof Object) || !(t instanceof Object)) return !1;
31
- let n = Object.keys(e), { length: r } = n;
32
- if (r !== Object.keys(t).length) return !1;
33
- for (let i = 0; i < r; i += 1) {
34
- let r = n[i];
35
- if (!(r in t) || e[r] !== t[r] && !(Number.isNaN(e[r]) && Number.isNaN(t[r]))) return !1;
36
- }
37
- return !0;
38
- }
39
- //#endregion
40
- //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-shallow-effect/use-shallow-effect.mjs
41
- function _e(e, t) {
42
- if (!e || !t) return !1;
43
- if (e === t) return !0;
44
- if (e.length !== t.length) return !1;
45
- for (let n = 0; n < e.length; n += 1) if (!ge(e[n], t[n])) return !1;
46
- return !0;
47
- }
48
- function ve(e) {
49
- let t = W([]), n = W(0);
50
- return _e(t.current, e) || (t.current = e, n.current += 1), [n.current];
51
- }
52
- function ye(e, t) {
53
- U(e, ve(t));
54
- }
55
- //#endregion
56
- //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-timeout/use-timeout.mjs
57
- function be(e, t, n = { autoInvoke: !1 }) {
58
- let r = W(null), i = H((...n) => {
59
- r.current ||= window.setTimeout(() => {
60
- e(n), r.current = null;
61
- }, t);
62
- }, [t]), a = H(() => {
63
- r.current &&= (window.clearTimeout(r.current), null);
64
- }, []);
65
- return U(() => (n.autoInvoke && i(), a), [a, i]), {
66
- start: i,
67
- clear: a
68
- };
69
- }
70
- //#endregion
71
- //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-mutation-observer/use-mutation-observer.mjs
72
- function xe(e, t, n) {
73
- let r = W(null);
74
- U(() => {
75
- r.current &&= (r.current.disconnect(), null);
76
- let i = typeof n == "function" ? n() : n;
77
- return i && (r.current = new MutationObserver(e), r.current.observe(i, t)), () => {
78
- r.current &&= (r.current.disconnect(), null);
79
- };
80
- }, [
81
- e,
82
- t,
83
- n
84
- ]);
85
- }
86
- //#endregion
87
- //#region ../../node_modules/.bun/@mantine+hooks@9.0.0+b1ab299f0a400331/node_modules/@mantine/hooks/esm/use-mounted/use-mounted.mjs
88
- function Se() {
89
- let [e, t] = G(!1);
90
- return U(() => t(!0), []), e;
91
- }
92
- //#endregion
93
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/core/utils/get-env/get-env.mjs
94
- function Ce() {
95
- return typeof process < "u" && process.env, "development";
96
- }
97
- //#endregion
98
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/core/utils/primitive/primitive.mjs
99
- function we(e) {
100
- return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint";
101
- }
102
- //#endregion
103
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/FloatingIndicator/use-floating-indicator.mjs
104
- function Te(e, t) {
105
- if (!t || !e) return !1;
106
- let n = t.parentNode;
107
- for (; n != null;) {
108
- if (n === e) return !0;
109
- n = n.parentNode;
110
- }
111
- return !1;
112
- }
113
- function Ee({ target: e, parent: t, ref: n, displayAfterTransitionEnd: r, onTransitionStart: i, onTransitionEnd: a }) {
114
- let o = W(-1), s = W(e), [c, l] = G(!1), [u, d] = G(typeof r == "boolean" ? r : !1), f = () => {
115
- if (!e || !t || !n.current) return;
116
- 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 = {
117
- top: r.top - i.top - s,
118
- left: r.left - i.left - c,
119
- width: r.width,
120
- height: r.height
121
- };
122
- 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`;
123
- }, p = () => {
124
- window.clearTimeout(o.current), n.current && (n.current.style.transitionDuration = "0ms"), f(), o.current = window.setTimeout(() => {
125
- n.current && (n.current.style.transitionDuration = "");
126
- }, 30);
127
- }, m = W(null), h = W(null);
128
- return U(() => {
129
- 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)), () => {
130
- m.current?.disconnect(), h.current?.disconnect();
131
- };
132
- }, [t, e]), U(() => {
133
- if (t) {
134
- let e = (e) => {
135
- Te(e.target, t) && (p(), d(!1));
136
- };
137
- return t.addEventListener("transitionend", e), () => {
138
- t.removeEventListener("transitionend", e);
139
- };
140
- }
141
- }, [t]), U(() => {
142
- if (n.current && a) {
143
- let e = (e) => {
144
- e.propertyName === "transform" && a();
145
- };
146
- return n.current.addEventListener("transitionend", e), () => {
147
- n.current?.removeEventListener("transitionend", e);
148
- };
149
- }
150
- }, [a]), be(() => {
151
- Ce() !== "test" && l(!0);
152
- }, 20, { autoInvoke: !0 }), xe((e) => {
153
- e.forEach((e) => {
154
- e.type === "attributes" && e.attributeName === "dir" && p();
155
- });
156
- }, {
157
- attributes: !0,
158
- attributeFilter: ["dir"]
159
- }, () => document.documentElement), {
160
- initialized: c,
161
- hidden: u
162
- };
163
- }
164
- //#endregion
165
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.module.mjs
166
- var De = { root: "m_96b553a6" }, Oe = n((e, { transitionDuration: t }, { shouldReduceMotion: n }) => {
167
- let r = e.respectReducedMotion && n ? "0ms" : typeof t == "number" ? `${t}ms` : t || "150ms";
168
- return { root: { "--transition-duration": r } };
169
- }), ke = f((e) => {
170
- let t = l("FloatingIndicator", null, e), { classNames: n, className: r, style: a, styles: o, unstyled: s, vars: c, target: u, parent: d, transitionDuration: f, mod: m, displayAfterTransitionEnd: h, onTransitionStart: g, onTransitionEnd: _, attributes: v, ref: y, ...b } = t, S = i({
171
- name: "FloatingIndicator",
172
- classes: De,
173
- props: t,
174
- className: r,
175
- style: a,
176
- classNames: n,
177
- styles: o,
178
- unstyled: s,
179
- attributes: v,
180
- vars: c,
181
- varsResolver: Oe,
182
- stylesCtx: { shouldReduceMotion: x() }
183
- }), C = W(null), { initialized: w, hidden: T } = Ee({
184
- target: u,
185
- parent: d,
186
- ref: C,
187
- displayAfterTransitionEnd: h,
188
- onTransitionStart: g,
189
- onTransitionEnd: _
190
- }), E = A(y, C);
191
- return !u || !d ? null : /* @__PURE__ */ K(p, {
192
- ref: E,
193
- mod: [{
194
- initialized: w,
195
- hidden: T
196
- }, m],
197
- ...S("root"),
198
- ...b
199
- });
200
- });
201
- ke.displayName = "@mantine/core/FloatingIndicator", ke.classes = De, ke.varsResolver = Oe;
202
- //#endregion
203
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Badge/Badge.module.mjs
204
- var Ae = {
205
- root: "m_347db0ec",
206
- "root--dot": "m_fbd81e3d",
207
- label: "m_5add502a",
208
- section: "m_91fdda9b"
209
- }, je = n((e, { radius: n, color: r, gradient: i, variant: a, size: o, autoContrast: c, circle: l }) => {
210
- let u = e.variantColorResolver({
211
- color: r || e.primaryColor,
212
- theme: e,
213
- gradient: i,
214
- variant: a || "filled",
215
- autoContrast: c
216
- });
217
- return { root: {
218
- "--badge-height": t(o, "badge-height"),
219
- "--badge-padding-x": t(o, "badge-padding-x"),
220
- "--badge-fz": t(o, "badge-fz"),
221
- "--badge-radius": l || n === void 0 ? void 0 : s(n),
222
- "--badge-bg": r || a ? u.background : void 0,
223
- "--badge-color": r || a ? u.color : void 0,
224
- "--badge-bd": r || a ? u.border : void 0,
225
- "--badge-dot-color": a === "dot" ? m(r, e) : void 0
226
- } };
227
- }), Me = u((e) => {
228
- let t = l("Badge", null, e), { classNames: n, className: r, style: a, styles: o, unstyled: s, vars: c, radius: u, color: d, gradient: f, leftSection: m, rightSection: h, children: g, variant: _, fullWidth: v, autoContrast: y, circle: b, mod: x, attributes: S, ...C } = t, w = i({
229
- name: "Badge",
230
- props: t,
231
- classes: Ae,
232
- className: r,
233
- style: a,
234
- classNames: n,
235
- styles: o,
236
- unstyled: s,
237
- attributes: S,
238
- vars: c,
239
- varsResolver: je
240
- });
241
- return /* @__PURE__ */ q(p, {
242
- variant: _,
243
- mod: [{
244
- block: v,
245
- circle: b,
246
- "with-right-section": !!h,
247
- "with-left-section": !!m
248
- }, x],
249
- ...w("root", { variant: _ }),
250
- ...C,
251
- children: [
252
- m && /* @__PURE__ */ K("span", {
253
- ...w("section"),
254
- "data-position": "left",
255
- children: m
256
- }),
257
- /* @__PURE__ */ K("span", {
258
- ...w("label"),
259
- children: g
260
- }),
261
- h && /* @__PURE__ */ K("span", {
262
- ...w("section"),
263
- "data-position": "right",
264
- children: h
265
- })
266
- ]
267
- });
268
- });
269
- Me.classes = Ae, Me.varsResolver = je, Me.displayName = "@mantine/core/Badge";
270
- //#endregion
271
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioGroup/RadioGroup.mjs
272
- var Ne = fe(null), Pe = o(((e) => {
273
- let { value: t, defaultValue: n, onChange: r, size: i, wrapperProps: a, children: o, name: s, readOnly: c, disabled: u, ...d } = l("RadioGroup", null, e), f = w(s), [p, m] = y({
274
- value: t,
275
- defaultValue: n,
276
- finalValue: "",
277
- onChange: r
278
- });
279
- return /* @__PURE__ */ K(Ne, {
280
- value: {
281
- value: p,
282
- onChange: (e) => !c && m(typeof e == "string" ? e : e.currentTarget.value),
283
- size: i,
284
- name: f,
285
- disabled: u
286
- },
287
- children: /* @__PURE__ */ K(b.Wrapper, {
288
- size: i,
289
- ...a,
290
- ...d,
291
- labelElement: "div",
292
- __staticSelector: "RadioGroup",
293
- children: /* @__PURE__ */ K(E, {
294
- role: "radiogroup",
295
- children: o
296
- })
297
- })
298
- });
299
- }));
300
- Pe.classes = b.Wrapper.classes, Pe.displayName = "@mantine/core/RadioGroup";
301
- //#endregion
302
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.module.mjs
303
- var Fe = { card: "m_9dc8ae12" }, Ie = fe(null), Le = { withBorder: !0 }, Re = n((e, { radius: t }) => ({ card: { "--card-radius": s(t) } })), ze = f((e) => {
304
- let t = l("RadioCard", Le, e), { classNames: n, className: r, style: a, styles: o, unstyled: s, vars: c, checked: u, mod: d, withBorder: f, value: p, onClick: m, name: h, onKeyDown: g, attributes: v, ...y } = t, b = i({
305
- name: "RadioCard",
306
- classes: Fe,
307
- props: t,
308
- className: r,
309
- style: a,
310
- classNames: n,
311
- styles: o,
312
- unstyled: s,
313
- attributes: v,
314
- vars: c,
315
- varsResolver: Re,
316
- rootSelector: "card"
317
- }), { dir: x } = _(), S = me(Ne), C = typeof u == "boolean" ? u : S?.value === p || !1, w = h || S?.name, T = (e) => {
318
- if (g?.(e), w && [
319
- "ArrowDown",
320
- "ArrowUp",
321
- "ArrowLeft",
322
- "ArrowRight"
323
- ].includes(e.nativeEvent.code)) {
324
- e.preventDefault();
325
- 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;
326
- 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());
327
- }
328
- };
329
- return /* @__PURE__ */ K(Ie, {
330
- value: { checked: C },
331
- children: /* @__PURE__ */ K(M, {
332
- mod: [{
333
- "with-border": f,
334
- checked: C
335
- }, d],
336
- ...b("card"),
337
- ...y,
338
- role: "radio",
339
- "aria-checked": C,
340
- name: w,
341
- onClick: (e) => {
342
- m?.(e), S?.onChange(p || "");
343
- },
344
- onKeyDown: T
345
- })
346
- });
347
- });
348
- ze.displayName = "@mantine/core/RadioCard", ze.classes = Fe, ze.varsResolver = Re;
349
- //#endregion
350
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioIcon.mjs
351
- function Be({ size: t, style: n, ...r }) {
352
- return /* @__PURE__ */ K("svg", {
353
- xmlns: "http://www.w3.org/2000/svg",
354
- fill: "none",
355
- viewBox: "0 0 5 5",
356
- style: {
357
- width: e(t),
358
- height: e(t),
359
- ...n
360
- },
361
- "aria-hidden": !0,
362
- ...r,
363
- children: /* @__PURE__ */ K("circle", {
364
- cx: "2.5",
365
- cy: "2.5",
366
- r: "2.5",
367
- fill: "currentColor"
368
- })
369
- });
370
- }
371
- //#endregion
372
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.module.mjs
373
- var Ve = {
374
- indicator: "m_717d7ff6",
375
- icon: "m_3e4da632",
376
- "indicator--outline": "m_2980836c"
377
- }, He = { icon: Be }, Ue = n((e, { radius: n, color: i, size: a, iconColor: o, variant: c, autoContrast: l }) => {
378
- let u = r({
379
- color: i || e.primaryColor,
380
- theme: e
381
- }), d = u.isThemeColor && u.shade === void 0 ? `var(--mantine-color-${u.color}-outline)` : u.color;
382
- return { indicator: {
383
- "--radio-size": t(a, "radio-size"),
384
- "--radio-radius": n === void 0 ? void 0 : s(n),
385
- "--radio-color": c === "outline" ? d : m(i, e),
386
- "--radio-icon-size": t(a, "radio-icon-size"),
387
- "--radio-icon-color": o ? m(o, e) : j(l, e) ? ee({
388
- color: i,
389
- theme: e,
390
- autoContrast: l
391
- }) : void 0
392
- } };
393
- }), We = f((e) => {
394
- let t = l("RadioIndicator", He, e), { classNames: n, className: r, style: a, styles: o, unstyled: s, vars: c, icon: u, radius: d, color: f, iconColor: m, autoContrast: h, checked: g, mod: _, variant: v, disabled: y, attributes: b, ...x } = t, S = i({
395
- name: "RadioIndicator",
396
- classes: Ve,
397
- props: t,
398
- className: r,
399
- style: a,
400
- classNames: n,
401
- styles: o,
402
- unstyled: s,
403
- attributes: b,
404
- vars: c,
405
- varsResolver: Ue,
406
- rootSelector: "indicator"
407
- }), C = me(Ie), w = typeof g == "boolean" ? g : C?.checked || !1;
408
- return /* @__PURE__ */ K(p, {
409
- ...S("indicator", { variant: v }),
410
- variant: v,
411
- mod: [{
412
- checked: w,
413
- disabled: y
414
- }, _],
415
- ...x,
416
- children: /* @__PURE__ */ K(u, { ...S("icon") })
417
- });
418
- });
419
- We.displayName = "@mantine/core/RadioIndicator", We.classes = Ve, We.varsResolver = Ue;
420
- //#endregion
421
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/Radio/Radio.module.mjs
422
- var Ge = {
423
- root: "m_f3f1af94",
424
- inner: "m_89c4f5e4",
425
- icon: "m_f3ed6b2b",
426
- radio: "m_8a3dbb89",
427
- "radio--outline": "m_1bfe9d39"
428
- }, Ke = {
429
- labelPosition: "right",
430
- withErrorStyles: !0
431
- }, qe = n((e, { size: n, radius: i, color: a, iconColor: o, variant: c, autoContrast: l }) => {
432
- let u = r({
433
- color: a || e.primaryColor,
434
- theme: e
435
- }), d = u.isThemeColor && u.shade === void 0 ? `var(--mantine-color-${u.color}-outline)` : u.color;
436
- return { root: {
437
- "--radio-size": t(n, "radio-size"),
438
- "--radio-radius": i === void 0 ? void 0 : s(i),
439
- "--radio-color": c === "outline" ? d : m(a, e),
440
- "--radio-icon-color": o ? m(o, e) : j(l, e) ? ee({
441
- color: a,
442
- theme: e,
443
- autoContrast: l
444
- }) : void 0,
445
- "--radio-icon-size": t(n, "radio-icon-size")
446
- } };
447
- }), J = f((e) => {
448
- let t = l("Radio", Ke, e), { classNames: n, className: r, style: a, styles: o, unstyled: s, vars: c, id: u, size: f, label: m, labelPosition: h, description: g, error: _, radius: v, color: y, variant: b, disabled: x, wrapperProps: S, icon: C = Be, rootRef: T, iconColor: E, onChange: O, mod: k, attributes: A, withErrorStyles: ee, checked: j, ...te } = t, M = i({
449
- name: "Radio",
450
- classes: Ge,
451
- props: t,
452
- className: r,
453
- style: a,
454
- classNames: n,
455
- styles: o,
456
- unstyled: s,
457
- attributes: A,
458
- vars: c,
459
- varsResolver: qe
460
- }), N = me(Ne), P = N?.size ?? f, ne = t.size ? f : P, { styleProps: F, rest: I } = d(te), re = w(u), L = N ? N.value === I.value : void 0, R = {
461
- checked: L ?? j,
462
- name: I.name ?? N?.name,
463
- onChange: (e) => {
464
- N?.onChange(e), O?.(e);
465
- },
466
- disabled: N?.disabled ?? x
467
- };
468
- return /* @__PURE__ */ K(D, {
469
- ...M("root"),
470
- __staticSelector: "Radio",
471
- __stylesApiProps: t,
472
- id: re,
473
- size: ne,
474
- labelPosition: h,
475
- label: m,
476
- description: g,
477
- error: _,
478
- disabled: R.disabled,
479
- classNames: n,
480
- styles: o,
481
- unstyled: s,
482
- "data-checked": (L ?? j) || void 0,
483
- variant: b,
484
- ref: T,
485
- mod: k,
486
- attributes: A,
487
- ...F,
488
- ...S,
489
- children: /* @__PURE__ */ q(p, {
490
- ...M("inner"),
491
- mod: { "label-position": h },
492
- children: [/* @__PURE__ */ K(p, {
493
- ...M("radio", {
494
- focusable: !0,
495
- variant: b
496
- }),
497
- ...I,
498
- ...R,
499
- component: "input",
500
- mod: {
501
- error: !!_,
502
- "with-error-styles": ee
503
- },
504
- id: re,
505
- type: "radio"
506
- }), /* @__PURE__ */ K(C, {
507
- ...M("icon"),
508
- "aria-hidden": !0
509
- })]
510
- })
511
- });
512
- });
513
- J.classes = Ge, J.varsResolver = qe, J.displayName = "@mantine/core/Radio", J.Group = Pe, J.Card = ze, J.Indicator = We;
514
- //#endregion
515
- //#region ../../node_modules/.bun/@mantine+core@9.0.0+9dd69a0af178a974/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.module.mjs
516
- var Je = {
517
- root: "m_cf365364",
518
- indicator: "m_9e182ccd",
519
- label: "m_1738fcb2",
520
- input: "m_1714d588",
521
- control: "m_69686b9b",
522
- innerLabel: "m_78882f40"
523
- }, Ye = { withItemsBorders: !0 }, Xe = n((e, { radius: n, color: r, transitionDuration: i, size: a, transitionTimingFunction: o }) => ({ root: {
524
- "--sc-radius": n === void 0 ? void 0 : s(n),
525
- "--sc-color": r ? m(r, e) : void 0,
526
- "--sc-shadow": r ? void 0 : "var(--mantine-shadow-xs)",
527
- "--sc-transition-duration": i === void 0 ? void 0 : `${i}ms`,
528
- "--sc-transition-timing-function": o,
529
- "--sc-padding": t(a, "sc-padding"),
530
- "--sc-font-size": c(a)
531
- } })), Ze = o((e) => {
532
- let t = l("SegmentedControl", Ye, e), { classNames: n, className: r, style: o, styles: s, unstyled: c, vars: u, data: d, value: f, defaultValue: m, onChange: h, size: g, name: _, disabled: v, readOnly: b, fullWidth: x, orientation: C, radius: T, color: E, transitionDuration: D, transitionTimingFunction: O, variant: k, autoContrast: j, withItemsBorders: te, mod: M, attributes: N, ref: P, ...ne } = t, F = i({
533
- name: "SegmentedControl",
534
- props: t,
535
- classes: Je,
536
- className: r,
537
- style: o,
538
- classNames: n,
539
- styles: s,
540
- unstyled: c,
541
- attributes: N,
542
- vars: u,
543
- varsResolver: Xe
544
- }), I = a(), re = d.map((e) => we(e) ? {
545
- label: `${e}`,
546
- value: e
547
- } : e), L = Se(), [R, ie] = G(S()), [ae, oe] = G(null), [se, z] = G({}), ce = (e, t) => {
548
- se[t] = e, z(se);
549
- }, [B, le] = y({
550
- value: f,
551
- defaultValue: m,
552
- finalValue: Array.isArray(d) ? re.find((e) => !e.disabled)?.value ?? d[0]?.value ?? null : null,
553
- onChange: h
554
- }), ue = w(_), de = re.map((e) => /* @__PURE__ */ pe(p, {
555
- ...F("control"),
556
- mod: {
557
- active: B === e.value,
558
- orientation: C
559
- },
560
- key: `${e.value}`
561
- }, /* @__PURE__ */ pe("input", {
562
- ...F("input"),
563
- disabled: v || e.disabled,
564
- type: "radio",
565
- name: ue,
566
- value: `${e.value}`,
567
- id: `${ue}-${e.value}`,
568
- checked: B === e.value,
569
- onChange: () => !b && le(e.value),
570
- "data-focus-ring": I.focusRing,
571
- key: `${e.value}-input`
572
- }), /* @__PURE__ */ pe(p, {
573
- component: "label",
574
- ...F("label"),
575
- mod: {
576
- active: B === e.value && !(v || e.disabled),
577
- disabled: v || e.disabled,
578
- "read-only": b
579
- },
580
- htmlFor: `${ue}-${e.value}`,
581
- ref: (t) => ce(t, `${e.value}`),
582
- __vars: { "--sc-label-color": E === void 0 ? void 0 : ee({
583
- color: E,
584
- theme: I,
585
- autoContrast: j
586
- }) },
587
- key: `${e.value}-label`
588
- }, /* @__PURE__ */ K("span", {
589
- ...F("innerLabel"),
590
- children: e.label
591
- })))), V = A(P, (e) => oe(e));
592
- return ye(() => {
593
- ie(S());
594
- }, [d.length]), d.length === 0 ? null : /* @__PURE__ */ q(p, {
595
- ...F("root"),
596
- variant: k,
597
- size: g,
598
- ref: V,
599
- mod: [{
600
- "full-width": x,
601
- orientation: C,
602
- initialized: L,
603
- "with-items-borders": te
604
- }, M],
605
- ...ne,
606
- role: "radiogroup",
607
- "data-disabled": v,
608
- children: [B !== void 0 && /* @__PURE__ */ K(ke, {
609
- target: se[`${B}`],
610
- parent: ae,
611
- component: "span",
612
- transitionDuration: "var(--sc-transition-duration)",
613
- ...F("indicator")
614
- }, R), de]
615
- });
616
- });
617
- Ze.classes = Je, Ze.varsResolver = Xe, Ze.displayName = "@mantine/core/SegmentedControl";
618
- //#endregion
619
- //#region src/infrastructure/adapters/DefaultThemeProvider.ts
620
- var Qe = {
621
- mode: "light",
622
- colors: {
623
- desktop: "#f0f4f8",
624
- taskbar: "rgba(255, 255, 255, 0.9)",
625
- window: "#ffffff",
626
- accent: "#339af0"
627
- },
628
- window: {
629
- borderRadius: "8px",
630
- headerHeight: 40,
631
- minWidth: 400,
632
- minHeight: 300,
633
- defaultWidth: 800,
634
- defaultHeight: 600,
635
- shadow: "0 8px 32px rgba(0, 0, 0, 0.2)"
636
- },
637
- taskbar: {
638
- height: 48,
639
- position: "bottom",
640
- background: "rgba(0, 0, 0, 0.8)",
641
- blur: !0
642
- },
643
- desktop: {
644
- background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
645
- iconSize: 64,
646
- iconSpacing: 16
647
- }
648
- }, $e = {
649
- mode: "dark",
650
- colors: {
651
- desktop: "#1a1b1e",
652
- taskbar: "rgba(26, 27, 30, 0.9)",
653
- window: "#25262b",
654
- accent: "#4dabf7"
655
- },
656
- window: {
657
- borderRadius: "8px",
658
- headerHeight: 40,
659
- minWidth: 400,
660
- minHeight: 300,
661
- defaultWidth: 800,
662
- defaultHeight: 600,
663
- shadow: "0 8px 32px rgba(0, 0, 0, 0.2)"
664
- },
665
- taskbar: {
666
- height: 48,
667
- position: "bottom",
668
- background: "rgba(0, 0, 0, 0.8)",
669
- blur: !0
670
- },
671
- desktop: {
672
- background: "linear-gradient(135deg, #1a1b1e 0%, #2d1f3d 100%)",
673
- iconSize: 64,
674
- iconSpacing: 16
675
- }
676
- }, et = class {
677
- mode;
678
- customColors = null;
679
- constructor(e = "light") {
680
- this.mode = e;
681
- }
682
- getTheme() {
683
- let e = this.mode === "light" ? Qe : $e;
684
- return this.customColors ? {
685
- ...e,
686
- colors: {
687
- ...e.colors,
688
- taskbar: this.customColors.taskbar,
689
- window: this.customColors.window,
690
- accent: this.customColors.accent
691
- }
692
- } : e;
693
- }
694
- setMode(e) {
695
- this.mode = e;
696
- }
697
- setCustomColors(e) {
698
- this.customColors = e;
699
- }
700
- toggle() {
701
- this.mode = this.mode === "light" ? "dark" : "light";
702
- }
703
- }, tt = ["en", "es"], nt = "en", rt = () => {
704
- try {
705
- let e = localStorage.getItem("fde-desktop:settings"), t = localStorage.getItem("fran-desktop:settings");
706
- return JSON.parse(e ?? t ?? "{}")?.state?.theme?.mode ?? null;
707
- } catch {
708
- return null;
709
- }
710
- }, it = rt(), at = () => {
711
- if (typeof navigator > "u" || !navigator.language) return nt;
712
- let e = navigator.language.split("-")[0];
713
- return tt.includes(e) ? e : nt;
714
- }, ot = (() => {
715
- try {
716
- let e = localStorage.getItem("fde-desktop:settings"), t = localStorage.getItem("fran-desktop:settings"), n = JSON.parse(e ?? t ?? "{}")?.state?.language;
717
- return n && tt.includes(n) ? n : at();
718
- } catch {
719
- return at();
720
- }
721
- })(), st = typeof window < "u" && window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light", Y = new et(it ?? st), X = ie()(se((e) => ({
722
- wallpaper: null,
723
- wallpaperModule: "default",
724
- launcherIcon: "FcElectronics",
725
- font: "system-ui",
726
- downloadedFonts: [],
727
- fontSize: 14,
728
- animationDuration: .3,
729
- theme: Y.getTheme(),
730
- themeSetManually: it !== null,
731
- customThemeColors: null,
732
- language: ot,
733
- setWallpaper: (t) => e({ wallpaper: t }),
734
- setWallpaperModule: (t) => e({ wallpaperModule: t }),
735
- setLauncherIcon: (t) => e({ launcherIcon: t }),
736
- setFont: (t) => e({ font: t }),
737
- markFontDownloaded: (t) => e((e) => ({ downloadedFonts: e.downloadedFonts.includes(t) ? e.downloadedFonts : [...e.downloadedFonts, t] })),
738
- setFontSize: (t) => e({ fontSize: t }),
739
- setAnimationDuration: (t) => e({ animationDuration: t }),
740
- setThemeMode: (t) => {
741
- Y.setMode(t), e({
742
- theme: Y.getTheme(),
743
- themeSetManually: !0
744
- });
745
- },
746
- toggleTheme: () => {
747
- Y.toggle(), e({
748
- theme: Y.getTheme(),
749
- themeSetManually: !0
750
- });
751
- },
752
- setThemeAutomatic: () => e({ themeSetManually: !1 }),
753
- applySystemTheme: (t) => {
754
- Y.setMode(t), e({ theme: Y.getTheme() });
755
- },
756
- setCustomThemeColors: (t) => {
757
- e({ customThemeColors: t });
758
- },
759
- setLanguage: (t) => e({ language: t })
760
- }), {
761
- name: "fde-desktop:settings",
762
- storage: ae(() => localStorage)
763
- })), ct = {
764
- container: "_container_a0fjd_1",
765
- flag: "_flag_a0fjd_8"
766
- }, lt = {
767
- en: /* @__PURE__ */ q("svg", {
768
- viewBox: "0 0 60 40",
769
- className: ct.flag,
770
- children: [
771
- /* @__PURE__ */ K("rect", {
772
- fill: "#012169",
773
- width: "60",
774
- height: "40"
775
- }),
776
- /* @__PURE__ */ K("path", {
777
- d: "M0,0 L60,40 M60,0 L0,40",
778
- stroke: "#fff",
779
- strokeWidth: "6"
780
- }),
781
- /* @__PURE__ */ K("path", {
782
- d: "M0,0 L60,40 M60,0 L0,40",
783
- stroke: "#C8102E",
784
- strokeWidth: "4"
785
- }),
786
- /* @__PURE__ */ K("path", {
787
- d: "M30,0 V40 M0,20 H60",
788
- stroke: "#fff",
789
- strokeWidth: "10"
790
- }),
791
- /* @__PURE__ */ K("path", {
792
- d: "M30,0 V40 M0,20 H60",
793
- stroke: "#C8102E",
794
- strokeWidth: "6"
795
- })
796
- ]
797
- }),
798
- es: /* @__PURE__ */ q("svg", {
799
- viewBox: "0 0 60 40",
800
- className: ct.flag,
801
- children: [/* @__PURE__ */ K("rect", {
802
- fill: "#C60B1E",
803
- width: "60",
804
- height: "40"
805
- }), /* @__PURE__ */ K("rect", {
806
- fill: "#FFC400",
807
- y: "10",
808
- width: "60",
809
- height: "20"
810
- })]
811
- })
812
- }, ut = ({ lang: e, size: t = 20 }) => /* @__PURE__ */ K("div", {
813
- style: {
814
- width: t * 1.5,
815
- height: t
816
- },
817
- className: ct.container,
818
- "aria-label": e === "en" ? "English" : "Español",
819
- "data-testid": `flag-${e}`,
820
- children: lt[e]
821
- }), dt = [
822
- {
823
- value: "system-ui",
824
- label: "System Default",
825
- stack: "system-ui, Avenir, Helvetica, Arial, sans-serif"
826
- },
827
- {
828
- value: "Courier New",
829
- label: "Courier New",
830
- stack: "\"Courier New\", monospace"
831
- },
832
- {
833
- value: "Source Code Pro",
834
- label: "Source Code Pro",
835
- stack: "\"Source Code Pro\", monospace"
836
- },
837
- {
838
- value: "Open Sans",
839
- label: "Open Sans",
840
- stack: "\"Open Sans\", monospace"
841
- }
842
- ], ft = Object.fromEntries(dt.map((e) => [e.value, e.stack])), Z = {
843
- "Source Code Pro": "https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap",
844
- "Open Sans": "https://fonts.googleapis.com/css2?family=Open+Sans&display=swap"
845
- }, pt = [
846
- {
847
- id: "wallpaper",
848
- label: "Wallpaper",
849
- fcIcon: "FcPicture",
850
- description: "Change the desktop background image."
851
- },
852
- {
853
- id: "appearance",
854
- label: "Appearance",
855
- fcIcon: "FcBinoculars",
856
- description: "Switch between light and dark mode."
857
- },
858
- {
859
- id: "launcher",
860
- label: "Launcher",
861
- fcIcon: "FcElectronics",
862
- description: "Choose the launcher button icon."
863
- },
864
- {
865
- id: "font",
866
- label: "Font",
867
- fcIcon: "FcEditImage",
868
- description: "Select the system font family."
869
- },
870
- {
871
- id: "language",
872
- label: "Language",
873
- fcIcon: "FcGlobe",
874
- description: "Choose your preferred language."
875
- },
876
- {
877
- id: "reset",
878
- label: "Reset to Default",
879
- fcIcon: "FcDisclaimer",
880
- description: "Reset all settings and data to defaults."
881
- }
882
- ], mt = ({ title: e, description: t, children: n }) => /* @__PURE__ */ q(R, {
883
- gap: "md",
884
- p: "md",
885
- children: [
886
- /* @__PURE__ */ K(F, {
887
- fw: 600,
888
- size: "lg",
889
- children: e
890
- }),
891
- t && /* @__PURE__ */ K(F, {
892
- size: "sm",
893
- c: "dimmed",
894
- children: t
895
- }),
896
- n
897
- ]
898
- }), ht = "/Images/wallpaper.jpg", gt = () => {
899
- let { t: e } = z("settings"), t = X((e) => e.wallpaper), n = X((e) => e.wallpaperModule), r = X((e) => e.setWallpaper), i = X((e) => e.setWallpaperModule), [a, o] = G(""), [s, c] = G(!1), l = W(null), u = B(t ?? void 0) ?? ht, d = H((e) => {
900
- let t = e.target.files?.[0];
901
- if (!t) return;
902
- let n = new FileReader();
903
- n.onload = (e) => {
904
- let t = e.target?.result;
905
- typeof t == "string" && r(t);
906
- }, n.readAsDataURL(t);
907
- }, [r]), f = H(() => {
908
- let e = a.trim();
909
- e && r(e);
910
- }, [a, r]), p = H(() => {
911
- r(null), o("");
912
- }, [r]), m = H((e) => {
913
- let t = e.url ? e.url.startsWith("idb://") ? e.url : `/${e.url}` : null;
914
- t && r(t), c(!1);
915
- }, [r]);
916
- return /* @__PURE__ */ q(mt, {
917
- title: e("wallpaper.title"),
918
- children: [
919
- /* @__PURE__ */ K("div", { children: /* @__PURE__ */ K(Ze, {
920
- value: n,
921
- onChange: i,
922
- data: [{
923
- value: "default",
924
- label: e("wallpaper.staticImage")
925
- }],
926
- fullWidth: !0
927
- }) }),
928
- /* @__PURE__ */ K("img", {
929
- src: u,
930
- alt: e("wallpaper.wallpaperPreview"),
931
- style: {
932
- width: "100%",
933
- height: 180,
934
- objectFit: "cover",
935
- borderRadius: 8
936
- }
937
- }),
938
- /* @__PURE__ */ q(P, { children: [
939
- /* @__PURE__ */ K("input", {
940
- ref: l,
941
- type: "file",
942
- accept: "image/*",
943
- style: { display: "none" },
944
- onChange: d,
945
- "aria-label": e("wallpaper.uploadAria", { defaultValue: "Upload wallpaper file" })
946
- }),
947
- /* @__PURE__ */ K(I, {
948
- variant: "light",
949
- onClick: () => c(!0),
950
- children: e("wallpaper.chooseFromImages")
951
- }),
952
- /* @__PURE__ */ K(I, {
953
- variant: "light",
954
- onClick: () => l.current?.click(),
955
- children: e("wallpaper.uploadFromDisk")
956
- }),
957
- /* @__PURE__ */ K(I, {
958
- variant: "subtle",
959
- color: "red",
960
- onClick: p,
961
- children: e("wallpaper.resetToDefault")
962
- })
963
- ] }),
964
- /* @__PURE__ */ q(P, {
965
- align: "flex-end",
966
- children: [/* @__PURE__ */ K(C, {
967
- label: e("wallpaper.orEnterUrl"),
968
- placeholder: "https://example.com/image.jpg",
969
- value: a,
970
- onChange: (e) => o(e.currentTarget.value),
971
- style: { flex: 1 }
972
- }), /* @__PURE__ */ K(I, {
973
- onClick: f,
974
- disabled: !a.trim(),
975
- children: e("common:actions.apply")
976
- })]
977
- }),
978
- /* @__PURE__ */ K(le, {
979
- opened: s,
980
- acceptedMimeTypes: ["image/*"],
981
- onConfirm: m,
982
- onCancel: () => c(!1)
983
- })
984
- ]
985
- });
986
- }, _t = () => {
987
- let { t: e } = z("settings"), t = X((e) => e.theme.mode), n = X((e) => e.themeSetManually), r = X((e) => e.customThemeColors), i = X((e) => e.animationDuration), a = X((e) => e.setThemeMode), o = X((e) => e.setThemeAutomatic), s = X((e) => e.setCustomThemeColors), c = X((e) => e.setAnimationDuration), l = r ? "custom" : n ? t : "system", u = H((e) => {
988
- e === "system" ? (o(), s(null)) : e === "custom" ? s({
989
- taskbar: "#339af0",
990
- window: "#ffffff",
991
- accent: "#339af0"
992
- }) : (a(e), s(null));
993
- }, [
994
- a,
995
- o,
996
- s
997
- ]), d = H((e) => (t) => {
998
- r && s({
999
- ...r,
1000
- [e]: t
1001
- });
1002
- }, [r, s]), f = H((e) => {
1003
- c(e);
1004
- }, [c]), m = l === "custom";
1005
- return /* @__PURE__ */ q(R, {
1006
- gap: "md",
1007
- p: "md",
1008
- children: [
1009
- /* @__PURE__ */ K(F, {
1010
- fw: 600,
1011
- size: "lg",
1012
- children: e("appearance.title")
1013
- }),
1014
- /* @__PURE__ */ K(F, {
1015
- size: "sm",
1016
- c: "dimmed",
1017
- children: e("appearance.description")
1018
- }),
1019
- /* @__PURE__ */ K(Ze, {
1020
- value: l,
1021
- onChange: u,
1022
- data: [
1023
- {
1024
- label: e("common:theme.light"),
1025
- value: "light"
1026
- },
1027
- {
1028
- label: e("common:theme.dark"),
1029
- value: "dark"
1030
- },
1031
- {
1032
- label: e("common:theme.system"),
1033
- value: "system"
1034
- },
1035
- {
1036
- label: e("common:theme.custom"),
1037
- value: "custom"
1038
- }
1039
- ],
1040
- "aria-label": e("appearance.themeMode", { defaultValue: "Theme mode" })
1041
- }),
1042
- /* @__PURE__ */ q(R, {
1043
- gap: "sm",
1044
- mt: "md",
1045
- children: [
1046
- /* @__PURE__ */ q(p, { children: [/* @__PURE__ */ K(F, {
1047
- size: "sm",
1048
- fw: 500,
1049
- mb: "xs",
1050
- c: m ? "dark" : void 0,
1051
- children: e("appearance.taskbar")
1052
- }), /* @__PURE__ */ K(g, {
1053
- value: r?.taskbar ?? "#339af0",
1054
- onChange: d("taskbar"),
1055
- disabled: !m
1056
- })] }),
1057
- /* @__PURE__ */ q(p, { children: [/* @__PURE__ */ K(F, {
1058
- size: "sm",
1059
- fw: 500,
1060
- mb: "xs",
1061
- c: m ? "dark" : void 0,
1062
- children: e("appearance.window")
1063
- }), /* @__PURE__ */ K(g, {
1064
- value: r?.window ?? "#ffffff",
1065
- onChange: d("window"),
1066
- disabled: !m
1067
- })] }),
1068
- /* @__PURE__ */ q(p, { children: [/* @__PURE__ */ K(F, {
1069
- size: "sm",
1070
- fw: 500,
1071
- mb: "xs",
1072
- c: m ? "dark" : void 0,
1073
- children: e("appearance.accent")
1074
- }), /* @__PURE__ */ K(g, {
1075
- value: r?.accent ?? "#339af0",
1076
- onChange: d("accent"),
1077
- disabled: !m
1078
- })] })
1079
- ]
1080
- }),
1081
- /* @__PURE__ */ q(p, {
1082
- mt: "md",
1083
- children: [
1084
- /* @__PURE__ */ K(F, {
1085
- size: "sm",
1086
- fw: 500,
1087
- mb: "xs",
1088
- children: e("appearance.animationDuration")
1089
- }),
1090
- /* @__PURE__ */ K(F, {
1091
- size: "xs",
1092
- c: "dimmed",
1093
- mb: "sm",
1094
- children: e("appearance.animationDescription")
1095
- }),
1096
- /* @__PURE__ */ q(P, {
1097
- align: "center",
1098
- gap: "md",
1099
- children: [/* @__PURE__ */ K(k, {
1100
- value: i,
1101
- onChange: f,
1102
- min: .1,
1103
- max: 1,
1104
- step: .1,
1105
- style: { flex: 1 },
1106
- marks: [
1107
- {
1108
- value: .1,
1109
- label: "0.1s"
1110
- },
1111
- {
1112
- value: .5,
1113
- label: "0.5s"
1114
- },
1115
- {
1116
- value: 1,
1117
- label: "1.0s"
1118
- }
1119
- ],
1120
- "aria-label": e("appearance.animationDuration")
1121
- }), /* @__PURE__ */ q(F, {
1122
- size: "sm",
1123
- fw: 500,
1124
- style: { minWidth: 40 },
1125
- children: [i.toFixed(1), "s"]
1126
- })]
1127
- })
1128
- ]
1129
- })
1130
- ]
1131
- });
1132
- }, vt = () => {
1133
- let e = X((e) => e.launcherIcon), t = X((e) => e.setLauncherIcon), [n, r] = G([]), [i, a] = G(""), o = he(i);
1134
- U(() => {
1135
- import("./fc-kd8WzIER.js").then((e) => e.r).then((e) => {
1136
- r(Object.keys(e).filter((e) => e.startsWith("Fc")).sort());
1137
- });
1138
- }, []);
1139
- let s = o ? n.filter((e) => e.toLowerCase().includes(o.toLowerCase())) : n, c = H((e) => {
1140
- t(e);
1141
- }, [t]);
1142
- return /* @__PURE__ */ q(mt, {
1143
- title: "Launcher Icon",
1144
- description: `Selected: ${e}`,
1145
- children: [/* @__PURE__ */ K(C, {
1146
- placeholder: "Search icons...",
1147
- value: i,
1148
- onChange: (e) => a(e.currentTarget.value),
1149
- "aria-label": "Search icons"
1150
- }), /* @__PURE__ */ K(T, {
1151
- style: {
1152
- flex: 1,
1153
- height: 300
1154
- },
1155
- children: /* @__PURE__ */ K(h, {
1156
- cols: 8,
1157
- spacing: 4,
1158
- children: s.map((t) => /* @__PURE__ */ K(v, {
1159
- label: t,
1160
- withArrow: !0,
1161
- openDelay: 400,
1162
- children: /* @__PURE__ */ K(M, {
1163
- onClick: () => c(t),
1164
- "aria-label": t,
1165
- "aria-pressed": t === e,
1166
- style: {
1167
- padding: 6,
1168
- borderRadius: 6,
1169
- background: t === e ? "var(--mantine-primary-color-light)" : "transparent",
1170
- display: "flex",
1171
- alignItems: "center",
1172
- justifyContent: "center"
1173
- },
1174
- children: /* @__PURE__ */ K(L, {
1175
- fcIcon: t,
1176
- size: 24
1177
- })
1178
- })
1179
- }, t))
1180
- })
1181
- })]
1182
- });
1183
- }, yt = class {
1184
- constructor() {
1185
- this.listeners = /* @__PURE__ */ new Set(), this.subscribe = this.subscribe.bind(this);
1186
- }
1187
- subscribe(e) {
1188
- return this.listeners.add(e), this.onSubscribe(), () => {
1189
- this.listeners.delete(e), this.onUnsubscribe();
1190
- };
1191
- }
1192
- hasListeners() {
1193
- return this.listeners.size > 0;
1194
- }
1195
- onSubscribe() {}
1196
- onUnsubscribe() {}
1197
- }, bt = new class extends yt {
1198
- #e;
1199
- #t;
1200
- #n;
1201
- constructor() {
1202
- super(), this.#n = (e) => {
1203
- if (typeof window < "u" && window.addEventListener) {
1204
- let t = () => e();
1205
- return window.addEventListener("visibilitychange", t, !1), () => {
1206
- window.removeEventListener("visibilitychange", t);
1207
- };
1208
- }
1209
- };
1210
- }
1211
- onSubscribe() {
1212
- this.#t || this.setEventListener(this.#n);
1213
- }
1214
- onUnsubscribe() {
1215
- this.hasListeners() || (this.#t?.(), this.#t = void 0);
1216
- }
1217
- setEventListener(e) {
1218
- this.#n = e, this.#t?.(), this.#t = e((e) => {
1219
- typeof e == "boolean" ? this.setFocused(e) : this.onFocus();
1220
- });
1221
- }
1222
- setFocused(e) {
1223
- this.#e !== e && (this.#e = e, this.onFocus());
1224
- }
1225
- onFocus() {
1226
- let e = this.isFocused();
1227
- this.listeners.forEach((t) => {
1228
- t(e);
1229
- });
1230
- }
1231
- isFocused() {
1232
- return typeof this.#e == "boolean" ? this.#e : globalThis.document?.visibilityState !== "hidden";
1233
- }
1234
- }(), xt = {
1235
- setTimeout: (e, t) => setTimeout(e, t),
1236
- clearTimeout: (e) => clearTimeout(e),
1237
- setInterval: (e, t) => setInterval(e, t),
1238
- clearInterval: (e) => clearInterval(e)
1239
- }, St = new class {
1240
- #e = xt;
1241
- #t = !1;
1242
- setTimeoutProvider(e) {
1243
- process.env.NODE_ENV !== "production" && this.#t && e !== this.#e && console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.", {
1244
- previous: this.#e,
1245
- provider: e
1246
- }), this.#e = e, process.env.NODE_ENV !== "production" && (this.#t = !1);
1247
- }
1248
- setTimeout(e, t) {
1249
- return process.env.NODE_ENV !== "production" && (this.#t = !0), this.#e.setTimeout(e, t);
1250
- }
1251
- clearTimeout(e) {
1252
- this.#e.clearTimeout(e);
1253
- }
1254
- setInterval(e, t) {
1255
- return process.env.NODE_ENV !== "production" && (this.#t = !0), this.#e.setInterval(e, t);
1256
- }
1257
- clearInterval(e) {
1258
- this.#e.clearInterval(e);
1259
- }
1260
- }();
1261
- function Ct(e) {
1262
- setTimeout(e, 0);
1263
- }
1264
- //#endregion
1265
- //#region ../../node_modules/.bun/@tanstack+query-core@5.96.1/node_modules/@tanstack/query-core/build/modern/utils.js
1266
- var wt = typeof window > "u" || "Deno" in globalThis;
1267
- function Tt() {}
1268
- function Et(e) {
1269
- return typeof e == "number" && e >= 0 && e !== Infinity;
1270
- }
1271
- function Dt(e, t) {
1272
- return Math.max(e + (t || 0) - Date.now(), 0);
1273
- }
1274
- function Ot(e, t) {
1275
- return typeof e == "function" ? e(t) : e;
1276
- }
1277
- function Q(e, t) {
1278
- return typeof e == "function" ? e(t) : e;
1279
- }
1280
- var kt = Object.prototype.hasOwnProperty;
1281
- function At(e, t, n = 0) {
1282
- if (e === t) return e;
1283
- if (n > 500) return t;
1284
- let r = Mt(e) && Mt(t);
1285
- if (!r && !(Nt(e) && Nt(t))) return t;
1286
- let i = (r ? e : Object.keys(e)).length, a = r ? t : Object.keys(t), o = a.length, s = r ? Array(o) : {}, c = 0;
1287
- for (let l = 0; l < o; l++) {
1288
- let o = r ? l : a[l], u = e[o], d = t[o];
1289
- if (u === d) {
1290
- s[o] = u, (r ? l < i : kt.call(e, o)) && c++;
1291
- continue;
1292
- }
1293
- if (u === null || d === null || typeof u != "object" || typeof d != "object") {
1294
- s[o] = d;
1295
- continue;
1296
- }
1297
- let f = At(u, d, n + 1);
1298
- s[o] = f, f === u && c++;
1299
- }
1300
- return i === o && c === i ? e : s;
1301
- }
1302
- function jt(e, t) {
1303
- if (!t || Object.keys(e).length !== Object.keys(t).length) return !1;
1304
- for (let n in e) if (e[n] !== t[n]) return !1;
1305
- return !0;
1306
- }
1307
- function Mt(e) {
1308
- return Array.isArray(e) && e.length === Object.keys(e).length;
1309
- }
1310
- function Nt(e) {
1311
- if (!Pt(e)) return !1;
1312
- let t = e.constructor;
1313
- if (t === void 0) return !0;
1314
- let n = t.prototype;
1315
- return !(!Pt(n) || !n.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype);
1316
- }
1317
- function Pt(e) {
1318
- return Object.prototype.toString.call(e) === "[object Object]";
1319
- }
1320
- function Ft(e, t, n) {
1321
- if (typeof n.structuralSharing == "function") return n.structuralSharing(e, t);
1322
- if (n.structuralSharing !== !1) {
1323
- if (process.env.NODE_ENV !== "production") try {
1324
- return At(e, t);
1325
- } catch (e) {
1326
- throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${e}`), e;
1327
- }
1328
- return At(e, t);
1329
- }
1330
- return t;
1331
- }
1332
- function It(e, t) {
1333
- return typeof e == "function" ? e(...t) : !!e;
1334
- }
1335
- //#endregion
1336
- //#region ../../node_modules/.bun/@tanstack+query-core@5.96.1/node_modules/@tanstack/query-core/build/modern/environmentManager.js
1337
- var Lt = /* @__PURE__ */ (() => {
1338
- let e = () => wt;
1339
- return {
1340
- isServer() {
1341
- return e();
1342
- },
1343
- setIsServer(t) {
1344
- e = t;
1345
- }
1346
- };
1347
- })();
1348
- //#endregion
1349
- //#region ../../node_modules/.bun/@tanstack+query-core@5.96.1/node_modules/@tanstack/query-core/build/modern/thenable.js
1350
- function Rt() {
1351
- let e, t, n = new Promise((n, r) => {
1352
- e = n, t = r;
1353
- });
1354
- n.status = "pending", n.catch(() => {});
1355
- function r(e) {
1356
- Object.assign(n, e), delete n.resolve, delete n.reject;
1357
- }
1358
- return n.resolve = (t) => {
1359
- r({
1360
- status: "fulfilled",
1361
- value: t
1362
- }), e(t);
1363
- }, n.reject = (e) => {
1364
- r({
1365
- status: "rejected",
1366
- reason: e
1367
- }), t(e);
1368
- }, n;
1369
- }
1370
- //#endregion
1371
- //#region ../../node_modules/.bun/@tanstack+query-core@5.96.1/node_modules/@tanstack/query-core/build/modern/notifyManager.js
1372
- var zt = Ct;
1373
- function Bt() {
1374
- let e = [], t = 0, n = (e) => {
1375
- e();
1376
- }, r = (e) => {
1377
- e();
1378
- }, i = zt, a = (r) => {
1379
- t ? e.push(r) : i(() => {
1380
- n(r);
1381
- });
1382
- }, o = () => {
1383
- let t = e;
1384
- e = [], t.length && i(() => {
1385
- r(() => {
1386
- t.forEach((e) => {
1387
- n(e);
1388
- });
1389
- });
1390
- });
1391
- };
1392
- return {
1393
- batch: (e) => {
1394
- let n;
1395
- t++;
1396
- try {
1397
- n = e();
1398
- } finally {
1399
- t--, t || o();
1400
- }
1401
- return n;
1402
- },
1403
- batchCalls: (e) => (...t) => {
1404
- a(() => {
1405
- e(...t);
1406
- });
1407
- },
1408
- schedule: a,
1409
- setNotifyFunction: (e) => {
1410
- n = e;
1411
- },
1412
- setBatchNotifyFunction: (e) => {
1413
- r = e;
1414
- },
1415
- setScheduler: (e) => {
1416
- i = e;
1417
- }
1418
- };
1419
- }
1420
- var Vt = Bt(), Ht = new class extends yt {
1421
- #e = !0;
1422
- #t;
1423
- #n;
1424
- constructor() {
1425
- super(), this.#n = (e) => {
1426
- if (typeof window < "u" && window.addEventListener) {
1427
- let t = () => e(!0), n = () => e(!1);
1428
- return window.addEventListener("online", t, !1), window.addEventListener("offline", n, !1), () => {
1429
- window.removeEventListener("online", t), window.removeEventListener("offline", n);
1430
- };
1431
- }
1432
- };
1433
- }
1434
- onSubscribe() {
1435
- this.#t || this.setEventListener(this.#n);
1436
- }
1437
- onUnsubscribe() {
1438
- this.hasListeners() || (this.#t?.(), this.#t = void 0);
1439
- }
1440
- setEventListener(e) {
1441
- this.#n = e, this.#t?.(), this.#t = e(this.setOnline.bind(this));
1442
- }
1443
- setOnline(e) {
1444
- this.#e !== e && (this.#e = e, this.listeners.forEach((t) => {
1445
- t(e);
1446
- }));
1447
- }
1448
- isOnline() {
1449
- return this.#e;
1450
- }
1451
- }();
1452
- //#endregion
1453
- //#region ../../node_modules/.bun/@tanstack+query-core@5.96.1/node_modules/@tanstack/query-core/build/modern/retryer.js
1454
- function Ut(e) {
1455
- return (e ?? "online") === "online" ? Ht.isOnline() : !0;
1456
- }
1457
- //#endregion
1458
- //#region ../../node_modules/.bun/@tanstack+query-core@5.96.1/node_modules/@tanstack/query-core/build/modern/query.js
1459
- function Wt(e, t) {
1460
- return {
1461
- fetchFailureCount: 0,
1462
- fetchFailureReason: null,
1463
- fetchStatus: Ut(t.networkMode) ? "fetching" : "paused",
1464
- ...e === void 0 && {
1465
- error: null,
1466
- status: "pending"
1467
- }
1468
- };
1469
- }
1470
- //#endregion
1471
- //#region ../../node_modules/.bun/@tanstack+query-core@5.96.1/node_modules/@tanstack/query-core/build/modern/queryObserver.js
1472
- var Gt = class extends yt {
1473
- constructor(e, t) {
1474
- super(), this.options = t, this.#e = e, this.#s = null, this.#o = Rt(), this.bindMethods(), this.setOptions(t);
1475
- }
1476
- #e;
1477
- #t = void 0;
1478
- #n = void 0;
1479
- #r = void 0;
1480
- #i;
1481
- #a;
1482
- #o;
1483
- #s;
1484
- #c;
1485
- #l;
1486
- #u;
1487
- #d;
1488
- #f;
1489
- #p;
1490
- #m = /* @__PURE__ */ new Set();
1491
- bindMethods() {
1492
- this.refetch = this.refetch.bind(this);
1493
- }
1494
- onSubscribe() {
1495
- this.listeners.size === 1 && (this.#t.addObserver(this), qt(this.#t, this.options) ? this.#h() : this.updateResult(), this.#y());
1496
- }
1497
- onUnsubscribe() {
1498
- this.hasListeners() || this.destroy();
1499
- }
1500
- shouldFetchOnReconnect() {
1501
- return Jt(this.#t, this.options, this.options.refetchOnReconnect);
1502
- }
1503
- shouldFetchOnWindowFocus() {
1504
- return Jt(this.#t, this.options, this.options.refetchOnWindowFocus);
1505
- }
1506
- destroy() {
1507
- this.listeners = /* @__PURE__ */ new Set(), this.#b(), this.#x(), this.#t.removeObserver(this);
1508
- }
1509
- setOptions(e) {
1510
- let t = this.options, n = this.#t;
1511
- if (this.options = this.#e.defaultQueryOptions(e), this.options.enabled !== void 0 && typeof this.options.enabled != "boolean" && typeof this.options.enabled != "function" && typeof Q(this.options.enabled, this.#t) != "boolean") throw Error("Expected enabled to be a boolean or a callback that returns a boolean");
1512
- this.#S(), this.#t.setOptions(this.options), t._defaulted && !jt(this.options, t) && this.#e.getQueryCache().notify({
1513
- type: "observerOptionsUpdated",
1514
- query: this.#t,
1515
- observer: this
1516
- });
1517
- let r = this.hasListeners();
1518
- r && Yt(this.#t, n, this.options, t) && this.#h(), this.updateResult(), r && (this.#t !== n || Q(this.options.enabled, this.#t) !== Q(t.enabled, this.#t) || Ot(this.options.staleTime, this.#t) !== Ot(t.staleTime, this.#t)) && this.#g();
1519
- let i = this.#_();
1520
- r && (this.#t !== n || Q(this.options.enabled, this.#t) !== Q(t.enabled, this.#t) || i !== this.#p) && this.#v(i);
1521
- }
1522
- getOptimisticResult(e) {
1523
- let t = this.#e.getQueryCache().build(this.#e, e), n = this.createResult(t, e);
1524
- return Zt(this, n) && (this.#r = n, this.#a = this.options, this.#i = this.#t.state), n;
1525
- }
1526
- getCurrentResult() {
1527
- return this.#r;
1528
- }
1529
- trackResult(e, t) {
1530
- return new Proxy(e, { get: (e, n) => (this.trackProp(n), t?.(n), n === "promise" && (this.trackProp("data"), !this.options.experimental_prefetchInRender && this.#o.status === "pending" && this.#o.reject(/* @__PURE__ */ Error("experimental_prefetchInRender feature flag is not enabled"))), Reflect.get(e, n)) });
1531
- }
1532
- trackProp(e) {
1533
- this.#m.add(e);
1534
- }
1535
- getCurrentQuery() {
1536
- return this.#t;
1537
- }
1538
- refetch({ ...e } = {}) {
1539
- return this.fetch({ ...e });
1540
- }
1541
- fetchOptimistic(e) {
1542
- let t = this.#e.defaultQueryOptions(e), n = this.#e.getQueryCache().build(this.#e, t);
1543
- return n.fetch().then(() => this.createResult(n, t));
1544
- }
1545
- fetch(e) {
1546
- return this.#h({
1547
- ...e,
1548
- cancelRefetch: e.cancelRefetch ?? !0
1549
- }).then(() => (this.updateResult(), this.#r));
1550
- }
1551
- #h(e) {
1552
- this.#S();
1553
- let t = this.#t.fetch(this.options, e);
1554
- return e?.throwOnError || (t = t.catch(Tt)), t;
1555
- }
1556
- #g() {
1557
- this.#b();
1558
- let e = Ot(this.options.staleTime, this.#t);
1559
- if (Lt.isServer() || this.#r.isStale || !Et(e)) return;
1560
- let t = Dt(this.#r.dataUpdatedAt, e) + 1;
1561
- this.#d = St.setTimeout(() => {
1562
- this.#r.isStale || this.updateResult();
1563
- }, t);
1564
- }
1565
- #_() {
1566
- return (typeof this.options.refetchInterval == "function" ? this.options.refetchInterval(this.#t) : this.options.refetchInterval) ?? !1;
1567
- }
1568
- #v(e) {
1569
- this.#x(), this.#p = e, !(Lt.isServer() || Q(this.options.enabled, this.#t) === !1 || !Et(this.#p) || this.#p === 0) && (this.#f = St.setInterval(() => {
1570
- (this.options.refetchIntervalInBackground || bt.isFocused()) && this.#h();
1571
- }, this.#p));
1572
- }
1573
- #y() {
1574
- this.#g(), this.#v(this.#_());
1575
- }
1576
- #b() {
1577
- this.#d &&= (St.clearTimeout(this.#d), void 0);
1578
- }
1579
- #x() {
1580
- this.#f &&= (St.clearInterval(this.#f), void 0);
1581
- }
1582
- createResult(e, t) {
1583
- let n = this.#t, r = this.options, i = this.#r, a = this.#i, o = this.#a, s = e === n ? this.#n : e.state, { state: c } = e, l = { ...c }, u = !1, d;
1584
- if (t._optimisticResults) {
1585
- let i = this.hasListeners(), a = !i && qt(e, t), o = i && Yt(e, n, t, r);
1586
- (a || o) && (l = {
1587
- ...l,
1588
- ...Wt(c.data, e.options)
1589
- }), t._optimisticResults === "isRestoring" && (l.fetchStatus = "idle");
1590
- }
1591
- let { error: f, errorUpdatedAt: p, status: m } = l;
1592
- d = l.data;
1593
- let h = !1;
1594
- if (t.placeholderData !== void 0 && d === void 0 && m === "pending") {
1595
- let e;
1596
- i?.isPlaceholderData && t.placeholderData === o?.placeholderData ? (e = i.data, h = !0) : e = typeof t.placeholderData == "function" ? t.placeholderData(this.#u?.state.data, this.#u) : t.placeholderData, e !== void 0 && (m = "success", d = Ft(i?.data, e, t), u = !0);
1597
- }
1598
- if (t.select && d !== void 0 && !h) if (i && d === a?.data && t.select === this.#c) d = this.#l;
1599
- else try {
1600
- this.#c = t.select, d = t.select(d), d = Ft(i?.data, d, t), this.#l = d, this.#s = null;
1601
- } catch (e) {
1602
- this.#s = e;
1603
- }
1604
- this.#s && (f = this.#s, d = this.#l, p = Date.now(), m = "error");
1605
- let g = l.fetchStatus === "fetching", _ = m === "pending", v = m === "error", y = _ && g, b = d !== void 0, x = {
1606
- status: m,
1607
- fetchStatus: l.fetchStatus,
1608
- isPending: _,
1609
- isSuccess: m === "success",
1610
- isError: v,
1611
- isInitialLoading: y,
1612
- isLoading: y,
1613
- data: d,
1614
- dataUpdatedAt: l.dataUpdatedAt,
1615
- error: f,
1616
- errorUpdatedAt: p,
1617
- failureCount: l.fetchFailureCount,
1618
- failureReason: l.fetchFailureReason,
1619
- errorUpdateCount: l.errorUpdateCount,
1620
- isFetched: e.isFetched(),
1621
- isFetchedAfterMount: l.dataUpdateCount > s.dataUpdateCount || l.errorUpdateCount > s.errorUpdateCount,
1622
- isFetching: g,
1623
- isRefetching: g && !_,
1624
- isLoadingError: v && !b,
1625
- isPaused: l.fetchStatus === "paused",
1626
- isPlaceholderData: u,
1627
- isRefetchError: v && b,
1628
- isStale: Xt(e, t),
1629
- refetch: this.refetch,
1630
- promise: this.#o,
1631
- isEnabled: Q(t.enabled, e) !== !1
1632
- };
1633
- if (this.options.experimental_prefetchInRender) {
1634
- let t = x.data !== void 0, r = x.status === "error" && !t, i = (e) => {
1635
- r ? e.reject(x.error) : t && e.resolve(x.data);
1636
- }, a = () => {
1637
- i(this.#o = x.promise = Rt());
1638
- }, o = this.#o;
1639
- switch (o.status) {
1640
- case "pending":
1641
- e.queryHash === n.queryHash && i(o);
1642
- break;
1643
- case "fulfilled":
1644
- (r || x.data !== o.value) && a();
1645
- break;
1646
- case "rejected":
1647
- (!r || x.error !== o.reason) && a();
1648
- break;
1649
- }
1650
- }
1651
- return x;
1652
- }
1653
- updateResult() {
1654
- let e = this.#r, t = this.createResult(this.#t, this.options);
1655
- this.#i = this.#t.state, this.#a = this.options, this.#i.data !== void 0 && (this.#u = this.#t), !jt(t, e) && (this.#r = t, this.#C({ listeners: (() => {
1656
- if (!e) return !0;
1657
- let { notifyOnChangeProps: t } = this.options, n = typeof t == "function" ? t() : t;
1658
- if (n === "all" || !n && !this.#m.size) return !0;
1659
- let r = new Set(n ?? this.#m);
1660
- return this.options.throwOnError && r.add("error"), Object.keys(this.#r).some((t) => {
1661
- let n = t;
1662
- return this.#r[n] !== e[n] && r.has(n);
1663
- });
1664
- })() }));
1665
- }
1666
- #S() {
1667
- let e = this.#e.getQueryCache().build(this.#e, this.options);
1668
- if (e === this.#t) return;
1669
- let t = this.#t;
1670
- this.#t = e, this.#n = e.state, this.hasListeners() && (t?.removeObserver(this), e.addObserver(this));
1671
- }
1672
- onQueryUpdate() {
1673
- this.updateResult(), this.hasListeners() && this.#y();
1674
- }
1675
- #C(e) {
1676
- Vt.batch(() => {
1677
- e.listeners && this.listeners.forEach((e) => {
1678
- e(this.#r);
1679
- }), this.#e.getQueryCache().notify({
1680
- query: this.#t,
1681
- type: "observerResultsUpdated"
1682
- });
1683
- });
1684
- }
1685
- };
1686
- function Kt(e, t) {
1687
- return Q(t.enabled, e) !== !1 && e.state.data === void 0 && !(e.state.status === "error" && t.retryOnMount === !1);
1688
- }
1689
- function qt(e, t) {
1690
- return Kt(e, t) || e.state.data !== void 0 && Jt(e, t, t.refetchOnMount);
1691
- }
1692
- function Jt(e, t, n) {
1693
- if (Q(t.enabled, e) !== !1 && Ot(t.staleTime, e) !== "static") {
1694
- let r = typeof n == "function" ? n(e) : n;
1695
- return r === "always" || r !== !1 && Xt(e, t);
1696
- }
1697
- return !1;
1698
- }
1699
- function Yt(e, t, n, r) {
1700
- return (e !== t || Q(r.enabled, e) === !1) && (!n.suspense || e.state.status !== "error") && Xt(e, n);
1701
- }
1702
- function Xt(e, t) {
1703
- return Q(t.enabled, e) !== !1 && e.isStaleByTime(Ot(t.staleTime, e));
1704
- }
1705
- function Zt(e, t) {
1706
- return !jt(e.getCurrentResult(), t);
1707
- }
1708
- //#endregion
1709
- //#region ../../node_modules/.bun/@tanstack+react-query@5.96.1+b1ab299f0a400331/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js
1710
- var Qt = V.createContext(void 0), $t = (e) => {
1711
- let t = V.useContext(Qt);
1712
- if (e) return e;
1713
- if (!t) throw Error("No QueryClient set, use QueryClientProvider to set one");
1714
- return t;
1715
- }, en = V.createContext(!1), tn = () => V.useContext(en);
1716
- en.Provider;
1717
- //#endregion
1718
- //#region ../../node_modules/.bun/@tanstack+react-query@5.96.1+b1ab299f0a400331/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js
1719
- function nn() {
1720
- let e = !1;
1721
- return {
1722
- clearReset: () => {
1723
- e = !1;
1724
- },
1725
- reset: () => {
1726
- e = !0;
1727
- },
1728
- isReset: () => e
1729
- };
1730
- }
1731
- var rn = V.createContext(nn()), an = () => V.useContext(rn), on = (e, t, n) => {
1732
- let r = n?.state.error && typeof e.throwOnError == "function" ? It(e.throwOnError, [n.state.error, n]) : e.throwOnError;
1733
- (e.suspense || e.experimental_prefetchInRender || r) && (t.isReset() || (e.retryOnMount = !1));
1734
- }, sn = (e) => {
1735
- V.useEffect(() => {
1736
- e.clearReset();
1737
- }, [e]);
1738
- }, cn = ({ result: e, errorResetBoundary: t, throwOnError: n, query: r, suspense: i }) => e.isError && !t.isReset() && !e.isFetching && r && (i && e.data === void 0 || It(n, [e.error, r])), ln = (e) => {
1739
- if (e.suspense) {
1740
- let t = 1e3, n = (e) => e === "static" ? e : Math.max(e ?? t, t), r = e.staleTime;
1741
- e.staleTime = typeof r == "function" ? (...e) => n(r(...e)) : n(r), typeof e.gcTime == "number" && (e.gcTime = Math.max(e.gcTime, t));
1742
- }
1743
- }, un = (e, t) => e.isLoading && e.isFetching && !t, dn = (e, t) => e?.suspense && t.isPending, fn = (e, t, n) => t.fetchOptimistic(e).catch(() => {
1744
- n.clearReset();
1745
- });
1746
- //#endregion
1747
- //#region ../../node_modules/.bun/@tanstack+react-query@5.96.1+b1ab299f0a400331/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js
1748
- function pn(e, t, n) {
1749
- if (process.env.NODE_ENV !== "production" && (typeof e != "object" || Array.isArray(e))) throw Error("Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object");
1750
- let r = tn(), i = an(), a = $t(n), o = a.defaultQueryOptions(e);
1751
- a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);
1752
- let s = a.getQueryCache().get(o.queryHash);
1753
- process.env.NODE_ENV !== "production" && (o.queryFn || console.error(`[${o.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)), o._optimisticResults = r ? "isRestoring" : "optimistic", ln(o), on(o, i, s), sn(i);
1754
- let c = !a.getQueryCache().get(o.queryHash), [l] = V.useState(() => new t(a, o)), u = l.getOptimisticResult(o), d = !r && e.subscribed !== !1;
1755
- if (V.useSyncExternalStore(V.useCallback((e) => {
1756
- let t = d ? l.subscribe(Vt.batchCalls(e)) : Tt;
1757
- return l.updateResult(), t;
1758
- }, [l, d]), () => l.getCurrentResult(), () => l.getCurrentResult()), V.useEffect(() => {
1759
- l.setOptions(o);
1760
- }, [o, l]), dn(o, u)) throw fn(o, l, i);
1761
- if (cn({
1762
- result: u,
1763
- errorResetBoundary: i,
1764
- throwOnError: o.throwOnError,
1765
- query: s,
1766
- suspense: o.suspense
1767
- })) throw u.error;
1768
- return a.getDefaultOptions().queries?._experimental_afterQuery?.(o, u), o.experimental_prefetchInRender && !Lt.isServer() && un(u, r) && (c ? fn(o, l, i) : s?.promise)?.catch(Tt).finally(() => {
1769
- l.updateResult();
1770
- }), o.notifyOnChangeProps ? u : l.trackResult(u);
1771
- }
1772
- //#endregion
1773
- //#region ../../node_modules/.bun/@tanstack+react-query@5.96.1+b1ab299f0a400331/node_modules/@tanstack/react-query/build/modern/useQuery.js
1774
- function mn(e, t) {
1775
- return pn(e, Gt, t);
1776
- }
1777
- //#endregion
1778
- //#region src/hooks/injectFontLink.ts
1779
- var hn = (e) => {
1780
- let t = Z[e];
1781
- if (!t || document.head.querySelector(`link[data-font="${e}"]`)) return;
1782
- let n = document.createElement("link");
1783
- n.rel = "stylesheet", n.href = t, n.setAttribute("data-font", e), document.head.appendChild(n);
1784
- }, gn = async (e) => {
1785
- let t = Z[e];
1786
- if (!t) throw Error(`Font "${e}" not found in Google Fonts`);
1787
- let n = await fetch(t);
1788
- if (!n.ok) throw Error(`Failed to download font: HTTP ${n.status}`);
1789
- return await n.text(), hn(e), {
1790
- font: e,
1791
- success: !0
1792
- };
1793
- }, _n = (e) => {
1794
- let t = $t(), n = X((e) => e.markFontDownloaded), r = X((e) => e.downloadedFonts), i = e ? r.includes(e) : !1, a = e && !i && Z[e], o = mn({
1795
- queryKey: ["font", e ?? ""],
1796
- queryFn: async ({ queryKey: e }) => {
1797
- let [, t] = e;
1798
- if (!t || !Z[t]) throw Error(`Font "${t}" not available`);
1799
- let r = await gn(t);
1800
- return r.success && n(t), r;
1801
- },
1802
- enabled: !!a,
1803
- staleTime: Infinity,
1804
- gcTime: Infinity,
1805
- retry: !1
1806
- }), s = o.isFetching ? {
1807
- status: "downloading",
1808
- loaded: 0,
1809
- total: null,
1810
- percent: null,
1811
- error: null
1812
- } : o.isError ? {
1813
- status: "error",
1814
- loaded: 0,
1815
- total: null,
1816
- percent: null,
1817
- error: o.error?.message ?? "Unknown error"
1818
- } : o.isSuccess ? {
1819
- status: "done",
1820
- loaded: 0,
1821
- total: 0,
1822
- percent: 100,
1823
- error: null
1824
- } : {
1825
- status: "idle",
1826
- loaded: 0,
1827
- total: null,
1828
- percent: null,
1829
- error: null
1830
- }, c = () => {
1831
- e && t.removeQueries({ queryKey: ["font", e] });
1832
- };
1833
- return {
1834
- ...o,
1835
- progress: s,
1836
- isDownloaded: i,
1837
- reset: c
1838
- };
1839
- }, vn = ue[1], yn = ({ status: e, error: t, onDownload: n }) => {
1840
- let { t: r } = z("settings");
1841
- return t ? /* @__PURE__ */ K(Me, {
1842
- color: vn,
1843
- variant: "filled",
1844
- size: "sm",
1845
- "aria-label": `Download error: ${t}`,
1846
- children: r("common:status.error")
1847
- }) : /* @__PURE__ */ K(I, {
1848
- size: "xs",
1849
- variant: "light",
1850
- onClick: n,
1851
- loading: e === "downloading",
1852
- "aria-label": r("font.download"),
1853
- children: r("font.download")
1854
- });
1855
- }, bn = () => {
1856
- let { t: e } = z("settings"), t = X((e) => e.font), n = X((e) => e.setFont), r = X((e) => e.fontSize), i = X((e) => e.setFontSize), a = X((e) => e.downloadedFonts), o = X((e) => e.markFontDownloaded), [s, c] = G(null), l = _n(s);
1857
- U(() => {
1858
- l.isSuccess && l.data?.success && s && (a.includes(s) || o(s));
1859
- }, [
1860
- l.isSuccess,
1861
- l.data,
1862
- s,
1863
- a,
1864
- o
1865
- ]);
1866
- let u = H((e) => {
1867
- c(e);
1868
- }, []), d = (e) => a.includes(e) ? "done" : s === e ? l.progress.status : "idle", f = (e) => s === e ? l.progress.error : null, p = H((e) => {
1869
- let t = e.trim();
1870
- t && (Z[t] = `https://fonts.googleapis.com/css2?family=${t.replace(/\s+/g, "+")}&display=swap`, c(t));
1871
- }, []), m = dt.map((e) => e.value), h = a.filter((e) => !m.includes(e));
1872
- return /* @__PURE__ */ q(R, {
1873
- gap: "md",
1874
- p: "md",
1875
- children: [
1876
- /* @__PURE__ */ K(F, {
1877
- fw: 600,
1878
- size: "lg",
1879
- children: e("font.title")
1880
- }),
1881
- /* @__PURE__ */ K(F, {
1882
- size: "sm",
1883
- c: "dimmed",
1884
- children: e("font.description")
1885
- }),
1886
- /* @__PURE__ */ K(J.Group, {
1887
- value: t,
1888
- onChange: n,
1889
- "aria-label": e("font.selectionAria", { defaultValue: "Font selection" }),
1890
- children: /* @__PURE__ */ q(R, {
1891
- gap: "xs",
1892
- children: [dt.map((e) => {
1893
- let t = !!Z[e.value], n = a.includes(e.value), r = d(e.value), i = f(e.value), o = !t || n || r === "done";
1894
- return /* @__PURE__ */ K(N, {
1895
- p: "sm",
1896
- withBorder: !0,
1897
- radius: "md",
1898
- children: /* @__PURE__ */ q(R, {
1899
- gap: "xs",
1900
- children: [/* @__PURE__ */ q(P, {
1901
- justify: "space-between",
1902
- children: [/* @__PURE__ */ K(J, {
1903
- value: e.value,
1904
- label: e.label,
1905
- "aria-label": e.label,
1906
- disabled: !o
1907
- }), /* @__PURE__ */ q(P, {
1908
- gap: "xs",
1909
- align: "center",
1910
- children: [o && /* @__PURE__ */ K(F, {
1911
- size: "sm",
1912
- c: "dimmed",
1913
- style: { fontFamily: e.stack },
1914
- children: "AaBbCcDd"
1915
- }), t && /* @__PURE__ */ K(yn, {
1916
- fontLabel: e.label,
1917
- status: r,
1918
- error: i,
1919
- onDownload: () => u(e.value),
1920
- isDownloaded: n
1921
- })]
1922
- })]
1923
- }), t && r === "downloading" && /* @__PURE__ */ K(te, { state: l.progress })]
1924
- })
1925
- }, e.value);
1926
- }), h.map((e) => /* @__PURE__ */ K(N, {
1927
- p: "sm",
1928
- withBorder: !0,
1929
- radius: "md",
1930
- children: /* @__PURE__ */ q(P, {
1931
- justify: "space-between",
1932
- children: [/* @__PURE__ */ K(J, {
1933
- value: e,
1934
- label: e,
1935
- "aria-label": e
1936
- }), /* @__PURE__ */ K(F, {
1937
- size: "sm",
1938
- c: "dimmed",
1939
- style: { fontFamily: `"${e}"` },
1940
- children: "AaBbCcDd"
1941
- })]
1942
- })
1943
- }, e))]
1944
- })
1945
- }),
1946
- /* @__PURE__ */ K(N, {
1947
- p: "sm",
1948
- withBorder: !0,
1949
- radius: "md",
1950
- children: /* @__PURE__ */ q(R, {
1951
- gap: "xs",
1952
- children: [/* @__PURE__ */ q(P, {
1953
- justify: "space-between",
1954
- children: [/* @__PURE__ */ K(F, {
1955
- size: "sm",
1956
- fw: 500,
1957
- children: e("font.fontSize")
1958
- }), /* @__PURE__ */ q(F, {
1959
- size: "sm",
1960
- c: "dimmed",
1961
- children: [r, "px"]
1962
- })]
1963
- }), /* @__PURE__ */ K(k, {
1964
- value: r,
1965
- onChange: i,
1966
- min: 10,
1967
- max: 24,
1968
- step: 1,
1969
- marks: [
1970
- { value: 10 },
1971
- { value: 14 },
1972
- { value: 18 },
1973
- { value: 20 },
1974
- { value: 24 }
1975
- ],
1976
- "aria-label": e("font.fontSizeAria", { defaultValue: "Font size" })
1977
- })]
1978
- })
1979
- }),
1980
- /* @__PURE__ */ K(xn, {
1981
- onDownload: p,
1982
- activeDownload: s,
1983
- fontDownload: l
1984
- })
1985
- ]
1986
- });
1987
- }, xn = ({ onDownload: e, activeDownload: t, fontDownload: n }) => {
1988
- let { t: r } = z("settings"), [i, a] = G(""), o = t === i.trim(), s = o ? n.progress.status : "idle", c = o && n.progress.status === "error", l = H((e) => {
1989
- a(e), c && n.reset?.();
1990
- }, [c, n]), u = H(() => {
1991
- e(i);
1992
- }, [i, e]), d = o && s === "done";
1993
- return /* @__PURE__ */ K(N, {
1994
- p: "sm",
1995
- withBorder: !0,
1996
- radius: "md",
1997
- children: /* @__PURE__ */ q(R, {
1998
- gap: "xs",
1999
- children: [
2000
- /* @__PURE__ */ q(F, {
2001
- size: "sm",
2002
- fw: 500,
2003
- children: [
2004
- r("font.downloadByName"),
2005
- " ",
2006
- /* @__PURE__ */ K("a", {
2007
- href: "https://fonts.google.com/",
2008
- target: "_blank",
2009
- rel: "noreferrer",
2010
- children: r("font.fromGoogleFonts")
2011
- })
2012
- ]
2013
- }),
2014
- /* @__PURE__ */ q(P, {
2015
- gap: "xs",
2016
- align: "flex-start",
2017
- children: [/* @__PURE__ */ K(C, {
2018
- placeholder: r("font.namePlaceholder", { defaultValue: "e.g. Open Sans" }),
2019
- value: i,
2020
- onChange: (e) => l(e.currentTarget.value),
2021
- style: { flex: 1 },
2022
- "aria-label": r("font.customNameAria", { defaultValue: "Custom font name" }),
2023
- error: c ? r("font.downloadError") : void 0
2024
- }), /* @__PURE__ */ K(I, {
2025
- onClick: u,
2026
- disabled: !i.trim() || s === "downloading",
2027
- loading: s === "downloading",
2028
- "aria-label": r("font.downloadCustomAria", { defaultValue: "Download custom font" }),
2029
- style: { marginTop: c ? 0 : void 0 },
2030
- children: r("font.download")
2031
- })]
2032
- }),
2033
- s === "downloading" && /* @__PURE__ */ K(te, { state: n.progress }),
2034
- d && /* @__PURE__ */ K(F, {
2035
- size: "xs",
2036
- c: "dimmed",
2037
- children: r("font.downloadSuccess")
2038
- })
2039
- ]
2040
- })
2041
- });
2042
- }, Sn = ["en", "es"], Cn = "en", wn = {
2043
- en: "English",
2044
- es: "Español"
2045
- }, Tn = () => {
2046
- let { t: e } = z("settings"), t = X((e) => e.language), n = X((e) => e.setLanguage), r = H((e) => {
2047
- n(e);
2048
- }, [n]);
2049
- return /* @__PURE__ */ K(mt, {
2050
- title: e("language.title"),
2051
- description: e("language.description"),
2052
- children: /* @__PURE__ */ K(R, {
2053
- gap: "xs",
2054
- children: Sn.map((e) => /* @__PURE__ */ K(M, {
2055
- onClick: () => r(e),
2056
- "aria-label": wn[e],
2057
- "aria-pressed": e === t,
2058
- style: {
2059
- padding: "12px 16px",
2060
- borderRadius: 8,
2061
- width: "100%",
2062
- background: e === t ? "var(--mantine-primary-color-light)" : "transparent",
2063
- border: e === t ? "1px solid var(--mantine-primary-color-filled)" : "1px solid transparent",
2064
- transition: "all 0.15s ease",
2065
- cursor: "pointer"
2066
- },
2067
- children: /* @__PURE__ */ q(P, {
2068
- gap: "sm",
2069
- children: [/* @__PURE__ */ K(ut, {
2070
- lang: e,
2071
- size: 24
2072
- }), /* @__PURE__ */ K(F, {
2073
- fw: e === t ? 600 : 400,
2074
- children: wn[e]
2075
- })]
2076
- })
2077
- }, e))
2078
- })
2079
- });
2080
- };
2081
- //#endregion
2082
- //#region src/utils/clearBrowserData.ts
2083
- async function En(e) {
2084
- let t = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : void 0;
2085
- if (t) {
2086
- if (!e?.keepServiceWorker && "serviceWorker" in t.navigator) {
2087
- let e = await t.navigator.serviceWorker.getRegistrations();
2088
- for (let t of e) await t.unregister();
2089
- }
2090
- if ("caches" in t) {
2091
- let e = await t.caches.keys();
2092
- for (let n of e) await t.caches.delete(n);
2093
- }
2094
- if (!e?.keepIndexedDB && "indexedDB" in t) {
2095
- let e = await t.indexedDB.databases();
2096
- for (let n of e) n.name && t.indexedDB.deleteDatabase(n.name);
2097
- }
2098
- !e?.keepLocalStorage && "localStorage" in t && t.localStorage.clear(), !e?.keepSessionStorage && "sessionStorage" in t && t.sessionStorage.clear();
2099
- }
2100
- }
2101
- //#endregion
2102
- //#region src/utils/resetDockerWorkspace.ts
2103
- async function Dn() {
2104
- ne() && (await fetch("/api/fs/reset", { method: "POST" }), await fetch("/api/fs/seed", { method: "POST" }));
2105
- }
2106
- //#endregion
2107
- //#region src/components/Apps/SettingsApp/sections/ResetSettings.tsx
2108
- var On = () => {
2109
- let { t: e } = z("settings"), [t, n] = G(!1), r = H(() => {
2110
- n(!0);
2111
- }, []), i = H(() => {
2112
- n(!1);
2113
- }, []), a = H(async () => {
2114
- await Dn(), await En(), window.location.reload();
2115
- }, []), o = H(async () => {
2116
- await Dn(), await En({ keepIndexedDB: !0 }), window.location.reload();
2117
- }, []);
2118
- return /* @__PURE__ */ q(mt, {
2119
- title: e("reset.title"),
2120
- description: e("reset.description"),
2121
- children: [/* @__PURE__ */ K(I, {
2122
- color: "red",
2123
- onClick: r,
2124
- style: { alignSelf: "flex-start" },
2125
- children: e("reset.resetButton")
2126
- }), t && /* @__PURE__ */ K(p, {
2127
- style: {
2128
- position: "fixed",
2129
- top: 0,
2130
- left: 0,
2131
- right: 0,
2132
- bottom: 0,
2133
- background: "rgba(0,0,0,0.5)",
2134
- display: "flex",
2135
- alignItems: "center",
2136
- justifyContent: "center",
2137
- zIndex: 1e3
2138
- },
2139
- role: "dialog",
2140
- "aria-label": "Confirm reset",
2141
- children: /* @__PURE__ */ K(p, {
2142
- style: {
2143
- background: "var(--mantine-color-default)",
2144
- borderRadius: 8,
2145
- padding: 24,
2146
- maxWidth: 400,
2147
- width: "100%"
2148
- },
2149
- children: /* @__PURE__ */ q(R, {
2150
- gap: "md",
2151
- children: [
2152
- /* @__PURE__ */ K(F, {
2153
- fw: 600,
2154
- size: "lg",
2155
- ta: "center",
2156
- children: e("reset.modalTitle")
2157
- }),
2158
- /* @__PURE__ */ K(F, {
2159
- size: "sm",
2160
- c: "dimmed",
2161
- ta: "center",
2162
- children: e("reset.modalDescription")
2163
- }),
2164
- /* @__PURE__ */ q(P, {
2165
- justify: "center",
2166
- gap: "xs",
2167
- mt: "md",
2168
- children: [
2169
- /* @__PURE__ */ K(I, {
2170
- variant: "default",
2171
- onClick: i,
2172
- children: e("reset.goBack")
2173
- }),
2174
- /* @__PURE__ */ K(I, {
2175
- color: "blue",
2176
- onClick: o,
2177
- children: e("reset.keepFiles")
2178
- }),
2179
- /* @__PURE__ */ K(I, {
2180
- color: "red",
2181
- onClick: a,
2182
- children: e("reset.burnEverything")
2183
- })
2184
- ]
2185
- })
2186
- ]
2187
- })
2188
- })
2189
- })]
2190
- });
2191
- }, $ = {
2192
- root: "_root_77epl_1",
2193
- sidebar: "_sidebar_77epl_8",
2194
- navItem: "_navItem_77epl_16",
2195
- content: "_content_77epl_41",
2196
- overviewPadding: "_overviewPadding_77epl_47",
2197
- sectionCard: "_sectionCard_77epl_51",
2198
- toolbar: "_toolbar_77epl_60",
2199
- dirtyIndicator: "_dirtyIndicator_77epl_70",
2200
- versionFooter: "_versionFooter_77epl_77"
2201
- }, kn = {
2202
- name: "Francisco Núñez Palomares",
2203
- title: "Fullstack Developer & DevOps",
2204
- email: "frannunpal@gmail.com",
2205
- phone: "+34 600 275 210",
2206
- location: "Spain",
2207
- linkedin: "https://www.linkedin.com/in/francisco-núñez-palomares-74a484171/",
2208
- github: "https://github.com/frannunpal",
2209
- cvUrls: {
2210
- en: "Desktop/CV_2026_English.pdf",
2211
- es: "Desktop/CV 2026.pdf"
2212
- }
2213
- }, An = "0.4.0", jn = () => An, Mn = {
2214
- wallpaper: gt,
2215
- appearance: _t,
2216
- launcher: vt,
2217
- font: bn,
2218
- language: Tn,
2219
- reset: On
2220
- }, Nn = ({ window: e, notifyReady: t }) => {
2221
- let { t: n } = z("settings"), [r, i] = G(null), [a, o] = G(!1), s = oe((e) => e.windows), c = e?.id ?? s.find((e) => e.content === "settings")?.id, l = X((e) => e.wallpaper), u = X((e) => e.wallpaperModule), d = X((e) => e.theme), f = X((e) => e.font), p = X((e) => e.fontSize), m = X((e) => e.launcherIcon), g = X((e) => e.customThemeColors), _ = X((e) => e.animationDuration), v = X((e) => e.setWallpaper), y = X((e) => e.setWallpaperModule), b = X((e) => e.setFont), x = X((e) => e.setFontSize), S = X((e) => e.setLauncherIcon), C = X((e) => e.setThemeMode), w = X((e) => e.setCustomThemeColors), T = X((e) => e.setThemeAutomatic), E = X((e) => e.setAnimationDuration), D = W(null);
2222
- U(() => {
2223
- D.current === null && (D.current = {
2224
- wallpaper: l,
2225
- wallpaperModule: u,
2226
- themeMode: d.mode,
2227
- font: f,
2228
- fontSize: p,
2229
- launcherIcon: m,
2230
- customThemeColors: g,
2231
- animationDuration: _
2232
- });
2233
- }, [
2234
- l,
2235
- u,
2236
- d.mode,
2237
- f,
2238
- p,
2239
- m,
2240
- g,
2241
- _
2242
- ]), U(() => {
2243
- if (!D.current) return;
2244
- let e = {
2245
- wallpaper: l,
2246
- wallpaperModule: u,
2247
- themeMode: d.mode,
2248
- font: f,
2249
- fontSize: p,
2250
- launcherIcon: m,
2251
- customThemeColors: g,
2252
- animationDuration: _
2253
- };
2254
- o(JSON.stringify(e) !== JSON.stringify(D.current));
2255
- }, [
2256
- l,
2257
- u,
2258
- d.mode,
2259
- f,
2260
- p,
2261
- m,
2262
- g,
2263
- _
2264
- ]);
2265
- let O = H(() => {
2266
- let e = D.current;
2267
- 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));
2268
- }, [
2269
- v,
2270
- y,
2271
- b,
2272
- x,
2273
- S,
2274
- E,
2275
- C,
2276
- w,
2277
- T
2278
- ]);
2279
- U(() => {
2280
- c && de.getState().reset(c);
2281
- }, [c]), U(() => {
2282
- c && de.getState().setIsDirty(c, a);
2283
- }, [c, a]), U(() => {
2284
- t?.({
2285
- ...e?.contentData ?? {},
2286
- discard: O
2287
- });
2288
- }, [
2289
- e,
2290
- t,
2291
- O
2292
- ]), ce({
2293
- isDirtyGetter: H(() => {
2294
- if (!D.current) return !1;
2295
- let e = {
2296
- wallpaper: X.getState().wallpaper,
2297
- wallpaperModule: X.getState().wallpaperModule,
2298
- themeMode: X.getState().theme.mode,
2299
- font: X.getState().font,
2300
- fontSize: X.getState().fontSize,
2301
- launcherIcon: X.getState().launcherIcon,
2302
- customThemeColors: X.getState().customThemeColors,
2303
- animationDuration: X.getState().animationDuration
2304
- };
2305
- return JSON.stringify(e) !== JSON.stringify(D.current);
2306
- }, []),
2307
- windowId: c,
2308
- onDiscard: O,
2309
- onSave: () => {}
2310
- });
2311
- let k = H((e) => {
2312
- i(e);
2313
- }, []), A = H(() => {
2314
- i(null);
2315
- }, []), ee = H(() => {
2316
- globalThis.location.href = `mailto:${kn.email}`;
2317
- }, []), j = r ? Mn[r] : null;
2318
- return /* @__PURE__ */ q("div", {
2319
- className: $.root,
2320
- children: [/* @__PURE__ */ K("aside", {
2321
- className: $.sidebar,
2322
- children: /* @__PURE__ */ q("nav", {
2323
- "aria-label": "Settings sections",
2324
- children: [/* @__PURE__ */ q("button", {
2325
- className: $.navItem,
2326
- "data-active": r === null || void 0,
2327
- onClick: A,
2328
- "aria-label": "All Settings",
2329
- "aria-current": r === null ? "page" : void 0,
2330
- children: [/* @__PURE__ */ K(L, {
2331
- fcIcon: "FcList",
2332
- size: 16
2333
- }), /* @__PURE__ */ K(F, {
2334
- size: "xs",
2335
- ml: 6,
2336
- truncate: !0,
2337
- children: n("all")
2338
- })]
2339
- }), pt.map((e) => /* @__PURE__ */ q("button", {
2340
- className: $.navItem,
2341
- "data-active": r === e.id || void 0,
2342
- onClick: () => k(e.id),
2343
- "aria-label": e.label,
2344
- "aria-current": r === e.id ? "page" : void 0,
2345
- children: [/* @__PURE__ */ K(L, {
2346
- fcIcon: e.fcIcon,
2347
- size: 16
2348
- }), /* @__PURE__ */ K(F, {
2349
- size: "xs",
2350
- ml: 6,
2351
- truncate: !0,
2352
- children: n(`sections.${e.id}.label`)
2353
- })]
2354
- }, e.id))]
2355
- })
2356
- }), /* @__PURE__ */ K("main", {
2357
- className: $.content,
2358
- children: j ? /* @__PURE__ */ K(j, {}) : /* @__PURE__ */ q(R, {
2359
- className: $.overviewPadding,
2360
- h: "100%",
2361
- justify: "space-between",
2362
- gap: 0,
2363
- children: [
2364
- /* @__PURE__ */ q("div", { children: [/* @__PURE__ */ K(F, {
2365
- fw: 500,
2366
- mb: "md",
2367
- size: "sm",
2368
- c: "dimmed",
2369
- children: n("all")
2370
- }), /* @__PURE__ */ K(h, {
2371
- cols: 2,
2372
- spacing: "sm",
2373
- children: pt.map((e) => /* @__PURE__ */ K(re, {
2374
- withBorder: !0,
2375
- padding: "md",
2376
- radius: "md",
2377
- className: $.sectionCard,
2378
- onClick: () => k(e.id),
2379
- role: "button",
2380
- "aria-label": `Open ${e.label} settings`,
2381
- children: /* @__PURE__ */ q(R, {
2382
- gap: 6,
2383
- align: "flex-start",
2384
- children: [
2385
- /* @__PURE__ */ K(L, {
2386
- fcIcon: e.fcIcon,
2387
- size: 28
2388
- }),
2389
- /* @__PURE__ */ K(F, {
2390
- size: "sm",
2391
- fw: 500,
2392
- children: n(`sections.${e.id}.label`)
2393
- }),
2394
- /* @__PURE__ */ K(F, {
2395
- size: "xs",
2396
- c: "dimmed",
2397
- children: n(`sections.${e.id}.description`)
2398
- })
2399
- ]
2400
- })
2401
- }, e.id))
2402
- })] }),
2403
- /* @__PURE__ */ K(I, {
2404
- gradient: {
2405
- from: "blue",
2406
- to: "cyan",
2407
- deg: 90
2408
- },
2409
- onClick: ee,
2410
- children: "FDE: Fran Desktop Environment"
2411
- }),
2412
- /* @__PURE__ */ K(F, {
2413
- size: "xs",
2414
- c: "dimmed",
2415
- ta: "center",
2416
- className: $.versionFooter,
2417
- children: jn()
2418
- })
2419
- ]
2420
- })
2421
- })]
2422
- });
2423
- };
2424
- //#endregion
2425
- export { Sn as a, mt as c, ft as d, Z as f, et as g, X as h, Cn as i, pt as l, rt as m, kn as n, _n as o, ut as p, En as r, hn as s, Nn as t, dt as u };