@fastybird/smart-panel-admin 1.1.0-alpha.14 → 1.1.0-alpha.15

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 (187) hide show
  1. package/dist/assets/{alert-yihCwD8R.js → alert-I-oSc4A8.js} +1 -1
  2. package/dist/assets/{card-add-form-DDw7ivch.js → card-add-form-E8HD5P7x.js} +1 -1
  3. package/dist/assets/{card-edit-form-B3hRZuWC.js → card-edit-form-krG-iKtG.js} +1 -1
  4. package/dist/assets/{checkbox-BnTF8QQI.js → checkbox-CtqO8Xm5.js} +1 -1
  5. package/dist/assets/{clamp-CQCGrFFp.js → clamp-_tCsf9IO.js} +1 -1
  6. package/dist/assets/{col-CzZne6ci.js → col-CQn4VXnk.js} +1 -1
  7. package/dist/assets/{collapse-DWbIsaf5.js → collapse-hdC45R5w.js} +1 -1
  8. package/dist/assets/{common-Be4p2bm6.js → common-D4Z2wgrj.js} +3 -3
  9. package/dist/assets/{components-CN5-Z9sY.js → components-BvH9AXH1.js} +1 -1
  10. package/dist/assets/{components-5fhvzfND.js → components-CExMo9as.js} +1 -1
  11. package/dist/assets/{components-D2P4NPr0.js → components-CzhROY3R.js} +1 -1
  12. package/dist/assets/{components-BSArkYBL.js → components-DGTDixMX.js} +2 -2
  13. package/dist/assets/{components-Jhch-C1x.js → components-DMv2ePKp.js} +1 -1
  14. package/dist/assets/{components-B6KVVlvx.js → components-DwaYj6Cf.js} +1 -1
  15. package/dist/assets/{components-DTfrniwZ.js → components-V875k_UY.js} +1 -1
  16. package/dist/assets/{components-CJLSmKhZ.js → components-Zbysysf4.js} +2 -2
  17. package/dist/assets/{components-CMRqWpX_.js → components-exNTKYiX.js} +1 -1
  18. package/dist/assets/{components-BlK8IDv9.js → components-fOCQ1-ME.js} +1 -1
  19. package/dist/assets/{composables-F1c0ZXok.js → composables-B3z1DCa7.js} +1 -1
  20. package/dist/assets/composables-BVhAEToZ.js +1 -0
  21. package/dist/assets/{composables-DyBL_gKO.js → composables-BgJl3zKR.js} +1 -1
  22. package/dist/assets/{composables-Chz2jA57.js → composables-CEiy-ejt.js} +1 -1
  23. package/dist/assets/{composables-D84XXmKl.js → composables-CF8Jf15i.js} +1 -1
  24. package/dist/assets/composables-CPxmcJSb2.js +1 -0
  25. package/dist/assets/{composables-BgNPIoD2.js → composables-CYT0Ry4D.js} +1 -1
  26. package/dist/assets/{composables-D5PbebWI.js → composables-CsFD_4mm.js} +1 -1
  27. package/dist/assets/{composables-D_6On_O2.js → composables-DDdN4T8e.js} +1 -1
  28. package/dist/assets/{composables-BzEjPyX0.js → composables-DHJBUFeX.js} +1 -1
  29. package/dist/assets/{composables-CsYg2_R5.js → composables-DLFP4TLA.js} +1 -1
  30. package/dist/assets/{config-BAg35nXl.js → config-DAgVgX46.js} +2 -2
  31. package/dist/assets/{dashboard-BP8rehB1.js → dashboard-DtLQGoww.js} +2 -2
  32. package/dist/assets/{dashboard.types-CoQH7Qfe.js → dashboard.types-CkyEAwdv.js} +1 -1
  33. package/dist/assets/{data-source-edit-form-CEOgesmu.js → data-source-edit-form-BlyvQ5Mk.js} +1 -1
  34. package/dist/assets/{descriptions-OOM-Fb43.js → descriptions-BHa0Pjk7.js} +1 -1
  35. package/dist/assets/{devices-BigHPDnE.js → devices-3HwG1Cda.js} +2 -2
  36. package/dist/assets/{devices-virtual.constants-CJ8nxI4P.js → devices-virtual.constants-D0L6zhgQ.js} +1 -1
  37. package/dist/assets/{dialog-2YGolnKK.js → dialog-4clb5GeY.js} +1 -1
  38. package/dist/assets/{drawer-ZByrLyWq.js → drawer-Dnlv6Zc7.js} +1 -1
  39. package/dist/assets/{form-0kI-cr8s.js → form-Wa6uIXea.js} +1 -1
  40. package/dist/assets/{index-D2CTpnSM.js → index-CgcWJbCW.js} +5 -5
  41. package/dist/assets/{input-number-P-FTRt-j.js → input-number-Cqu-p2BC.js} +1 -1
  42. package/dist/assets/{integration-config-dialog-Ct2v_YF5.js → integration-config-dialog-DWcOAIcd.js} +1 -1
  43. package/dist/assets/{keys-DakHO8Vr.js → keys-BMDz3FOI.js} +1 -1
  44. package/dist/assets/{layout-config-v_oQGjV4.js → layout-config-TRoVTCgx.js} +1 -1
  45. package/dist/assets/{layout-default-XbBPq_81.js → layout-default-CUOZ4MAi.js} +1 -1
  46. package/dist/assets/{layout-lock-2YeXM9of.js → layout-lock-C-s1eZ35.js} +1 -1
  47. package/dist/assets/layout-profile-CMTEn6TJ.js +1 -0
  48. package/dist/assets/{layout-profile-DGs-EjZZ.js → layout-profile-D1uL3lv-.js} +1 -1
  49. package/dist/assets/layout-sign-0Gx0uVg6.js +1 -0
  50. package/dist/assets/{layout-sign-U-HX1M_n.js → layout-sign-MILHx4Av.js} +1 -1
  51. package/dist/assets/{list-data-sources-adjust-DUMnlftH.js → list-data-sources-adjust-BRhmPWJF.js} +1 -1
  52. package/dist/assets/{list-locations-B_KTPYdW.js → list-locations-CE_JzOaE.js} +1 -1
  53. package/dist/assets/{list-users-BnLSxKig.js → list-users-1kC5_j5X.js} +1 -1
  54. package/dist/assets/{logs-entries.transformers-DLC8m8_x.js → logs-entries.transformers-Bp2zoFAY.js} +1 -1
  55. package/dist/assets/{mcp.exceptions-DY-0lLaB.js → mcp.exceptions-cay0WaYC.js} +1 -1
  56. package/dist/assets/{notifications.exceptions-COOX9nH5.js → notifications.exceptions-Deqj0F89.js} +1 -1
  57. package/dist/assets/{omit-CCKuCzp5.js → omit-Dl8Tg7dR.js} +1 -1
  58. package/dist/assets/{page-configure-B-Ar9MA3.js → page-configure-B_5W0yDK.js} +1 -1
  59. package/dist/assets/{page-configure-BMkkMAO5.js → page-configure-DNI83REl.js} +1 -1
  60. package/dist/assets/{pagination-tCwT80iV.js → pagination-BFOA9Lqt.js} +1 -1
  61. package/dist/assets/{radio-C3SNUtyn.js → radio-DvF3ArlX.js} +1 -1
  62. package/dist/assets/{scene-add-form-BoW3-DGd.js → scene-add-form-B5GZmYBe.js} +1 -1
  63. package/dist/assets/{scene-edit-form-BuIwrWnr.js → scene-edit-form-BpyqxJsJ.js} +1 -1
  64. package/dist/assets/{schemas.utils-gKqZ9UX4.js → schemas.utils-fK_cgNcT.js} +1 -1
  65. package/dist/assets/{select-DhXPyxTf.js → select-CTZp3DyT.js} +1 -1
  66. package/dist/assets/{select-data-source-plugin-JdxhyaNg.js → select-data-source-plugin-BMvwgPrL.js} +1 -1
  67. package/dist/assets/{slider-Cy4bDJ2V.js → slider-CaVuBQD9.js} +1 -1
  68. package/dist/assets/{spaces-DgO_s8bw.js → spaces-CJibihNe.js} +2 -2
  69. package/dist/assets/{spaces-home-control.constants-CGCfIxbC.js → spaces-home-control.constants-Bmyd_bxK.js} +1 -1
  70. package/dist/assets/{steps-n7W-efe3.js → steps-DuddYjrb.js} +1 -1
  71. package/dist/assets/{system-CD2XKcCX.js → system-BHTxM7b2.js} +2 -2
  72. package/dist/assets/{table-I-saZisX.js → table-CeNNpGH7.js} +1 -1
  73. package/dist/assets/{tabs-CoLOTPkl.js → tabs-CXWSFwGj.js} +1 -1
  74. package/dist/assets/{tile-detail-BdC6bNQ6.js → tile-detail-DrEapGjL.js} +1 -1
  75. package/dist/assets/{tile-edit-form-DkGWaIe5.js → tile-edit-form-CCaFW-XS.js} +1 -1
  76. package/dist/assets/{types-C4XLI6VR.js → types-CE88rjDb.js} +1 -1
  77. package/dist/assets/types-gvL9TxC-.js +1 -0
  78. package/dist/assets/{use-dialog-CQ0XM_6p.js → use-dialog-Dy1ldJel.js} +1 -1
  79. package/dist/assets/{use-ordered-children-Bf4bJLEh.js → use-ordered-children-DEKYVxDi.js} +1 -1
  80. package/dist/assets/{useBuddyChat-Be8nQBdr.js → useBuddyChat-BAy2-Ry5.js} +1 -1
  81. package/dist/assets/{useConfigModule-5WRiFhe8.js → useConfigModule-CJHOZRLY.js} +1 -1
  82. package/dist/assets/{useDataSources-Ct4AwM4K.js → useDataSources-XOQc7nLH.js} +1 -1
  83. package/dist/assets/{useDevicesPlugins-1qFZMfyo.js → useDevicesPlugins-C5GU_Od9.js} +1 -1
  84. package/dist/assets/useEventBus-CPELSGhQ.js +1 -0
  85. package/dist/assets/{useExtensions-CU8BwsSY.js → useExtensions-ChNl1Nvt.js} +1 -1
  86. package/dist/assets/{useGeolocation-Cq53_JVi.js → useGeolocation-Corncs7O.js} +1 -1
  87. package/dist/assets/{useLocation-C1jGf7ps.js → useLocation-BpcB0mED.js} +1 -1
  88. package/dist/assets/{useMcpClients-Ba0gBdaa.js → useMcpClients-DLp6nlKS.js} +1 -1
  89. package/dist/assets/{useModule-BqRjllB1.js → useModule-BzC-HPHF.js} +1 -1
  90. package/dist/assets/{useModules-CV4rTp9H.js → useModules-C_VhvJHC.js} +1 -1
  91. package/dist/assets/{useNumberFormat-Cjyy_ksr.js → useNumberFormat-BR5R6xq8.js} +1 -1
  92. package/dist/assets/{usePage-DccGV-jP.js → usePage-CafNhHit.js} +1 -1
  93. package/dist/assets/{usePersonalTokens-D_AQL9lY.js → usePersonalTokens-CzAHNnO2.js} +1 -1
  94. package/dist/assets/{usePlugin-Cqtg7k__.js → usePlugin-CQedVYWO.js} +1 -1
  95. package/dist/assets/{usePlugins-D2-Pd2HX.js → usePlugins-CLZiBdYY.js} +1 -1
  96. package/dist/assets/{useSpaces-BXdflM37.js → useSpaces-CPYe_mwZ.js} +1 -1
  97. package/dist/assets/{useUuid-B9e3LtCp.js → useUuid-D7PWqngt.js} +1 -1
  98. package/dist/assets/{view-buddy-chat-dyKTPDo2.js → view-buddy-chat-BedBKSKL.js} +1 -1
  99. package/dist/assets/{view-card-add-CnH-inyA.js → view-card-add-6cJ2Oi8A.js} +1 -1
  100. package/dist/assets/{view-card-edit-BENeBcHV.js → view-card-edit-Cj0ZaAZc.js} +1 -1
  101. package/dist/assets/{view-channel-CU3JfWIe.js → view-channel-DhNP8G5E.js} +1 -1
  102. package/dist/assets/{view-channel-add-DAN2U6GO.js → view-channel-add-Dq2g9C2Q.js} +1 -1
  103. package/dist/assets/{view-channel-edit-UmSF5GLP.js → view-channel-edit-CRBGnNO1.js} +1 -1
  104. package/dist/assets/{view-channel-property-add-Dv88UweR.js → view-channel-property-add-CiPpsqLa.js} +1 -1
  105. package/dist/assets/{view-channel-property-edit-B4LBh545.js → view-channel-property-edit-DgKq8lY_.js} +1 -1
  106. package/dist/assets/{view-channels-4lEPD2E2.js → view-channels-V4deGym0.js} +1 -1
  107. package/dist/assets/{view-config-module-edit-lppvVF5G.js → view-config-module-edit-B5Bac46h.js} +1 -1
  108. package/dist/assets/{view-config-modules-CfZx9xuf.js → view-config-modules-Bay5nICT.js} +1 -1
  109. package/dist/assets/{view-config-plugin-edit-CZmu4clV.js → view-config-plugin-edit-C7tkLRb8.js} +1 -1
  110. package/dist/assets/{view-config-plugins-BXgIWoB4.js → view-config-plugins-Cb7qeQ6t.js} +1 -1
  111. package/dist/assets/{view-data-source-add-hwDgK-c2.js → view-data-source-add-BVOljAgp.js} +1 -1
  112. package/dist/assets/{view-data-source-add-91aLO5pf.js → view-data-source-add-Duyt58zK.js} +1 -1
  113. package/dist/assets/{view-data-source-edit-Dkrok8aR.js → view-data-source-edit-BrHBWN9M.js} +1 -1
  114. package/dist/assets/{view-data-source-edit-CJeuDbrE.js → view-data-source-edit-DAp5tr92.js} +1 -1
  115. package/dist/assets/{view-device-uYeBFA9R.js → view-device-HW-FYK6m.js} +1 -1
  116. package/dist/assets/{view-device-add-n-q0Mz8S.js → view-device-add-h9XeQkR4.js} +1 -1
  117. package/dist/assets/{view-device-control-Cp-g_YME.js → view-device-control-k8ySBs5q.js} +1 -1
  118. package/dist/assets/{view-device-edit-DocPrD60.js → view-device-edit-B6w4Pwoa.js} +1 -1
  119. package/dist/assets/{view-devices-BD7h3l0B.js → view-devices-CuSYafue.js} +1 -1
  120. package/dist/assets/{view-devices-wizard-C2voYEbU.js → view-devices-wizard-CVWxP2qH.js} +1 -1
  121. package/dist/assets/{view-display-BD5o2mG8.js → view-display-WkLUe2li.js} +1 -1
  122. package/dist/assets/{view-display-edit-CFDGYH0S.js → view-display-edit-CVsjKYSe.js} +1 -1
  123. package/dist/assets/{view-display-tokens-w7HCVkyw.js → view-display-tokens-ChsaJMyS.js} +1 -1
  124. package/dist/assets/{view-displays-t0qXiBm5.js → view-displays-DEfXxQsx.js} +1 -1
  125. package/dist/assets/{view-extension-detail-DdZcjMKN.js → view-extension-detail-Dt-TRcGZ.js} +1 -1
  126. package/dist/assets/{view-extensions-Br-djyy2.js → view-extensions-Djz5EFGI.js} +1 -1
  127. package/dist/assets/{view-location-aWULpud9.js → view-location-BOJ0Uja9.js} +1 -1
  128. package/dist/assets/{view-location-add-Cpl8k92w.js → view-location-add-B_PB1oaL.js} +1 -1
  129. package/dist/assets/{view-location-edit-CTWfLskv.js → view-location-edit-DYuz_sYs.js} +1 -1
  130. package/dist/assets/{view-locations-BCEjWSVc.js → view-locations-dclVguNJ.js} +1 -1
  131. package/dist/assets/{view-lock-screen-7nnGeAm1.js → view-lock-screen-C9W836P_.js} +1 -1
  132. package/dist/assets/{view-mcp-clients-Crn9F-mI.js → view-mcp-clients-CxGgawX9.js} +1 -1
  133. package/dist/assets/{view-mcp-oauth-consent-DQ4KkWj_.js → view-mcp-oauth-consent-B2aQFOBm.js} +1 -1
  134. package/dist/assets/{view-mcp-oauth-management-Kkg2HXaa.js → view-mcp-oauth-management-xnTPjJ36.js} +1 -1
  135. package/dist/assets/{view-notifications-CT3BL_tR.js → view-notifications-BKBYRF9F.js} +1 -1
  136. package/dist/assets/{view-onboarding-Bqusuomg.js → view-onboarding-DHUjhce1.js} +1 -1
  137. package/dist/assets/{view-page-CY4erm62.js → view-page-DJwQBf8C.js} +1 -1
  138. package/dist/assets/{view-page-add-Ck9a0Url.js → view-page-add-B6B4ZDvT.js} +1 -1
  139. package/dist/assets/{view-page-configure-B1TC0nD7.js → view-page-configure-CN7s71ow.js} +1 -1
  140. package/dist/assets/{view-page-configure-BhzroC3P.js → view-page-configure-CXwMF5sY.js} +1 -1
  141. package/dist/assets/{view-page-data-source-add-DOf2qn92.js → view-page-data-source-add-CnP1yn09.js} +1 -1
  142. package/dist/assets/{view-page-data-source-edit-CeB830cc.js → view-page-data-source-edit-D5WExoYy.js} +1 -1
  143. package/dist/assets/{view-page-edit-DJhv78rC.js → view-page-edit-Cd0oAyro.js} +1 -1
  144. package/dist/assets/{view-page-plugin-BxylNI0o.js → view-page-plugin-CtxG2AwO.js} +1 -1
  145. package/dist/assets/{view-pages--u0uAq2L.js → view-pages-BA2aoTFo.js} +1 -1
  146. package/dist/assets/{view-profile-general-YfUuJvfa.js → view-profile-general-CFUrEtJy.js} +1 -1
  147. package/dist/assets/{view-profile-security-HW58o6b4.js → view-profile-security-CM-xrNiL.js} +1 -1
  148. package/dist/assets/{view-remote-access-CNmz7M-Q.js → view-remote-access-DMcIAtbJ.js} +1 -1
  149. package/dist/assets/{view-scene-add-Chu7WP57.js → view-scene-add-CcmfdYfo.js} +1 -1
  150. package/dist/assets/{view-scene-edit-CXhPK6-c.js → view-scene-edit-CJnJk4xt.js} +1 -1
  151. package/dist/assets/{view-scenes-C40MSkwq.js → view-scenes-CzLR08or.js} +1 -1
  152. package/dist/assets/{view-sign-in-pL5vMo3_.js → view-sign-in-D31IT93n.js} +1 -1
  153. package/dist/assets/{view-sign-up-BilpSpzy.js → view-sign-up-BFvb0t1U.js} +1 -1
  154. package/dist/assets/{view-simulator-device-wizard-DF5RWntc.js → view-simulator-device-wizard-DULtvgds.js} +1 -1
  155. package/dist/assets/{view-space-add-DH2JpSpG.js → view-space-add-bXDK88NX.js} +1 -1
  156. package/dist/assets/{view-space-configure-BKKdjkjJ.js → view-space-configure-sQY9tDyB.js} +1 -1
  157. package/dist/assets/{view-space-edit-De3tqNaO.js → view-space-edit-DPp0vLpb.js} +1 -1
  158. package/dist/assets/{view-space-plugin-BQ0KTse6.js → view-space-plugin-BoJTYQbN.js} +1 -1
  159. package/dist/assets/{view-spaces-DPP7hz9z.js → view-spaces-D76KLcmr.js} +1 -1
  160. package/dist/assets/{view-spaces-wizard-BGwcAHwA.js → view-spaces-wizard-CbbVSvgt.js} +1 -1
  161. package/dist/assets/{view-stats-CoTeuVhI.js → view-stats-BdFxYCJ1.js} +1 -1
  162. package/dist/assets/{view-system-backups-DsIvX2hj.js → view-system-backups-DupEuFGr.js} +1 -1
  163. package/dist/assets/{view-system-info-DrPg3X6D.js → view-system-info-BRiwO4VM.js} +1 -1
  164. package/dist/assets/{view-system-log-detail-lRDFdO1t.js → view-system-log-detail-Bilyx2Rg.js} +1 -1
  165. package/dist/assets/{view-system-logs-6QitutQ2.js → view-system-logs-CCBxaNJd.js} +1 -1
  166. package/dist/assets/{view-tile-B8qmw39T.js → view-tile-DvsHTEes.js} +1 -1
  167. package/dist/assets/{view-tile-add-DZTJwie6.js → view-tile-add-Bv0G2Mux.js} +1 -1
  168. package/dist/assets/{view-tile-add-BVuIqOqK.js → view-tile-add-ByeFvQ1C.js} +1 -1
  169. package/dist/assets/{view-tile-data-source-add-BxXFKnyJ.js → view-tile-data-source-add-C4DB5pJI.js} +1 -1
  170. package/dist/assets/{view-tile-data-source-edit-Cd0TdY0M.js → view-tile-data-source-edit-BgVjSqCX.js} +1 -1
  171. package/dist/assets/{view-tile-edit-C4XMP2P4.js → view-tile-edit--n1jPylB.js} +1 -1
  172. package/dist/assets/{view-tile-edit-BmLhOuRu.js → view-tile-edit-9CB74778.js} +1 -1
  173. package/dist/assets/{view-tile-edit-VGHWTKqe.js → view-tile-edit-C-qWFXGR.js} +1 -1
  174. package/dist/assets/{view-user-add-Dp4jgsq7.js → view-user-add-CITnz-HU.js} +1 -1
  175. package/dist/assets/{view-user-edit-BKKDP-9i.js → view-user-edit-CdKYi6nv.js} +1 -1
  176. package/dist/assets/{view-users-DSOg0hNu.js → view-users-Dz1RKiyE.js} +1 -1
  177. package/dist/assets/{view-virtual-device-wizard-CuPl8CpA.js → view-virtual-device-wizard-CbkHskbg.js} +1 -1
  178. package/dist/assets/{weather-Baz5jDm6.js → weather-Dkj5so01.js} +2 -2
  179. package/dist/assets/{weather-forecast.transformers-B4kjmFkm.js → weather-forecast.transformers-vk4s_2pl.js} +1 -1
  180. package/dist/index.html +91 -91
  181. package/package.json +1 -1
  182. package/dist/assets/composables-B-YqClP2.js +0 -1
  183. package/dist/assets/composables-DXuIMKku2.js +0 -1
  184. package/dist/assets/layout-profile-DYJoyuR-.js +0 -1
  185. package/dist/assets/layout-sign-DicgjAC8.js +0 -1
  186. package/dist/assets/types-C55HbQe7.js +0 -1
  187. package/dist/assets/useEventBus-BQdZXy2X.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Mr as r,Nr as i,O as a,Or as o,Pr as s,Qr as c,Si as l,T as u,Yr as d,bi as f,ci as p,di as m,ei as h,ji as g,k as _,kr as v,qi as y,t as b,ui as x,vr as S,x as C,xr as w,yr as T}from"./icon-with-child-CgZMNB3F.js";import{I as E,Mr as D,U as O,W as k,dr as A,ei as j,jr as ee,p as M,x as N}from"./common-Be4p2bm6.js";import{n as P,t as te}from"./table-I-saZisX.js";import{n as F,t as I}from"./form-0kI-cr8s.js";import{t as L}from"./alert-yihCwD8R.js";import{r as R,t as z}from"./select-DhXPyxTf.js";import{t as B}from"./dialog-2YGolnKK.js";import{t as ne}from"./directive-D42ORGRu.js";import{a as V,l as H,s as U}from"./auth.constants-BM6DNCoE.js";import{t as W}from"./keys-CIqUg3Jv.js";import{t as re}from"./usePersonalTokens-D_AQL9lY.js";var ie={class:`p-4`},ae={class:`min-h-[100px]`},oe={key:0,class:`h-full w-full leading-normal`},se={key:1,class:`h-full w-full leading-normal`},ce={class:`block`},G=s({name:`PersonalTokensList`,__name:`personal-tokens-list`,setup(s,{expose:p}){let{t:h}=u(),S=M(),{tokens:C,loading:E,fetchTokens:O,createToken:k,revokeToken:A}=re(),N=l(!1),V=l(!1),H=l(!1),U=l(null),W=l(``),G=l(!1),K=l(void 0),q=f({name:``,description:``,expiresInDays:90}),J=f({name:[{required:!0,message:h(`authModule.tokens.createDialog.nameRequired`),trigger:`change`}]}),Y=e=>new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e)),X=e=>new Date(e)<new Date,Z=()=>{q.name=``,q.description=``,q.expiresInDays=90,K.value?.resetFields()},Q=()=>{Z()},$=async()=>{K.value&&K.value.validate(async e=>{if(e){H.value=!0;try{let e=await k({name:q.name,description:q.description||null,expires_in_days:q.expiresInDays||null});e?(W.value=e.token,G.value=!1,N.value=!1,V.value=!0,Z(),S.success(h(`authModule.tokens.messages.created`))):S.error(h(`authModule.tokens.messages.createError`))}catch{S.error(h(`authModule.tokens.messages.createError`))}finally{H.value=!1}}})},le=async()=>{try{await navigator.clipboard.writeText(W.value),G.value=!0}catch{S.error(h(`authModule.tokens.messages.copyError`))}},ue=()=>{V.value=!1,W.value=``,G.value=!1},de=e=>{ee.confirm(h(`authModule.tokens.revokeDialog.message`),h(`authModule.tokens.revokeDialog.title`),{confirmButtonText:h(`authModule.tokens.revokeDialog.confirm`),cancelButtonText:h(`authModule.tokens.revokeDialog.cancel`),type:`warning`,confirmButtonClass:`el-button--danger`}).then(async()=>{U.value=e.id;try{await A(e.id)?S.success(h(`authModule.tokens.messages.revoked`)):S.error(h(`authModule.tokens.messages.revokeError`))}catch{S.error(h(`authModule.tokens.messages.revokeError`))}finally{U.value=null}}).catch(()=>{})};return p({openCreateDialog:()=>{N.value=!0}}),d(async()=>{await O()}),(s,l)=>(c(),e(`div`,null,[n(`div`,ie,[i(g(L),{title:g(h)(`authModule.tokens.description`),type:`info`,closable:!1},null,8,[`title`])]),m((c(),e(`div`,ae,[i(g(te),{data:g(C),class:`w-full`,"table-layout":`fixed`},{empty:x(()=>[g(E)?(c(),e(`div`,oe,[i(g(a),{class:`h-full w-full`},{icon:x(()=>[i(g(b),{size:80},{primary:x(()=>[i(g(t),{icon:`mdi:key`})]),secondary:x(()=>[i(g(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(c(),e(`div`,se,[i(g(a),{class:`h-full w-full`},{icon:x(()=>[i(g(b),{size:80},{primary:x(()=>[i(g(t),{icon:`mdi:key`})]),secondary:x(()=>[i(g(t),{icon:`mdi:information`})]),_:1})]),title:x(()=>[r(y(g(h)(`authModule.tokens.noTokens`)),1)]),_:1})]))]),default:x(()=>[i(g(P),{label:g(h)(`authModule.tokens.columns.name`),prop:`name`,"min-width":`150`},{default:x(({row:e})=>[n(`div`,null,[n(`strong`,ce,y(e.name),1),e.description?(c(),o(g(D),{key:0,size:`small`,type:`info`,class:`block leading-4`,truncated:``},{default:x(()=>[r(y(e.description),1)]),_:2},1024)):v(``,!0)])]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.created`),prop:`created_at`,width:`180`},{default:x(({row:e})=>[r(y(Y(e.created_at)),1)]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.lastUsed`),prop:`last_used_at`,width:`180`},{default:x(({row:e})=>[r(y(e.last_used_at?Y(e.last_used_at):g(h)(`authModule.tokens.never`)),1)]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.expires`),prop:`expires_at`,width:`180`},{default:x(({row:t})=>[t.expires_at?(c(),o(g(D),{key:0,type:X(t.expires_at)?`danger`:void 0},{default:x(()=>[r(y(Y(t.expires_at)),1)]),_:2},1032,[`type`])):(c(),e(w,{key:1},[r(y(g(h)(`authModule.tokens.never`)),1)],64))]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.actions`),width:`120`,align:`right`},{default:x(({row:e})=>[n(`div`,{onClick:l[0]||=T(()=>{},[`stop`])},[i(g(_),{size:`small`,type:`danger`,plain:``,loading:U.value===e.id,onClick:t=>de(e)},{icon:x(()=>[i(g(t),{icon:`mdi:key-remove`})]),default:x(()=>[r(` `+y(g(h)(`authModule.tokens.revoke`)),1)]),_:1},8,[`loading`,`onClick`])])]),_:1},8,[`label`])]),_:1},8,[`data`])])),[[g(ne),g(E)]]),i(g(B),{modelValue:N.value,"onUpdate:modelValue":l[5]||=e=>N.value=e,title:g(h)(`authModule.tokens.createDialog.title`),class:`max-w-[500px]`,onClose:Q},{footer:x(()=>[i(g(_),{onClick:l[4]||=e=>N.value=!1},{default:x(()=>[r(y(g(h)(`authModule.tokens.createDialog.cancel`)),1)]),_:1}),i(g(_),{type:`primary`,loading:H.value,onClick:$},{default:x(()=>[r(y(g(h)(`authModule.tokens.createDialog.submit`)),1)]),_:1},8,[`loading`])]),default:x(()=>[i(g(I),{ref_key:`createFormEl`,ref:K,model:q,rules:J,"label-position":`top`},{default:x(()=>[i(g(F),{label:g(h)(`authModule.tokens.createDialog.name`),prop:`name`},{default:x(()=>[i(g(j),{modelValue:q.name,"onUpdate:modelValue":l[1]||=e=>q.name=e,placeholder:g(h)(`authModule.tokens.createDialog.namePlaceholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),i(g(F),{label:g(h)(`authModule.tokens.createDialog.description`),prop:`description`},{default:x(()=>[i(g(j),{modelValue:q.description,"onUpdate:modelValue":l[2]||=e=>q.description=e,type:`textarea`,rows:2,placeholder:g(h)(`authModule.tokens.createDialog.descriptionPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),i(g(F),{label:g(h)(`authModule.tokens.createDialog.expiry`),prop:`expiresInDays`},{default:x(()=>[i(g(R),{modelValue:q.expiresInDays,"onUpdate:modelValue":l[3]||=e=>q.expiresInDays=e,class:`w-full`},{default:x(()=>[i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiry30`),value:30},null,8,[`label`]),i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiry90`),value:90},null,8,[`label`]),i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiry365`),value:365},null,8,[`label`]),i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiryNever`),value:0},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`])]),_:1},8,[`modelValue`,`title`]),i(g(B),{modelValue:V.value,"onUpdate:modelValue":l[6]||=e=>V.value=e,title:g(h)(`authModule.tokens.createdDialog.title`),class:`max-w-[600px]`,"close-on-click-modal":!1,"close-on-press-escape":!1},{footer:x(()=>[i(g(_),{type:G.value?`success`:`primary`,onClick:le},{icon:x(()=>[i(g(t),{icon:G.value?`mdi:check`:`mdi:content-copy`},null,8,[`icon`])]),default:x(()=>[r(` `+y(G.value?g(h)(`authModule.tokens.createdDialog.copied`):g(h)(`authModule.tokens.createdDialog.copy`)),1)]),_:1},8,[`type`]),i(g(_),{onClick:ue},{default:x(()=>[r(y(g(h)(`authModule.tokens.createdDialog.done`)),1)]),_:1})]),default:x(()=>[i(g(L),{title:g(h)(`authModule.tokens.createdDialog.warning`),type:`warning`,closable:!1,"show-icon":``},null,8,[`title`]),i(g(j),{"model-value":W.value,readonly:``,class:`font-mono mt-4`},null,8,[`model-value`])]),_:1},8,[`modelValue`,`title`])]))}}),K=s({name:`SettingsProfileForm`,__name:`settings-profile-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:U.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let r=t,a=n,{t:s,locale:d}=u(),m=M(),_=N().getStore(W),v=l(void 0),y=f({email:[{required:!1,message:s(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:s(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!1,message:s(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!1,message:s(`authModule.fields.lastName.validation.required`),trigger:`change`}]}),b=k,S=e=>e?O[e]??null:null,C=e=>e?e.split(`-`)[0]:null,T=f({email:r.profile.email??`@`,firstName:r.profile.firstName,lastName:r.profile.lastName,language:S(r.profile.language??null)}),D,A=()=>{window.clearTimeout(D),a(`update:remoteFormResult`,V.NONE)};return p(()=>r.remoteFormSubmit,async e=>{e&&(a(`update:remoteFormSubmit`,!1),v.value.clearValidate(),v.value.validate(async e=>{if(!e)return;a(`update:remoteFormResult`,V.WORKING);let t=s(`authModule.messages.profileNotEdited`);try{await _.edit({id:r.profile.id,data:{firstName:T.firstName,lastName:T.lastName,email:T.email,language:C(T.language)}}),T.language&&(d.value=T.language,E(T.language)),a(`update:remoteFormResult`,V.OK),m.success(s(`authModule.messages.profileEdited`)),D=window.setTimeout(A,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?m.exception(t):m.error(t),a(`update:remoteFormResult`,V.ERROR),D=window.setTimeout(A,2e3)}}))}),p(()=>r.remoteFormReset,e=>{a(`update:remoteFormReset`,!1),e&&(T.email=r.profile.email??`@`,T.firstName=r.profile.firstName,T.lastName=r.profile.lastName,T.language=S(r.profile.language??null))}),(t,n)=>(c(),o(g(I),{ref_key:`profileFormEl`,ref:v,model:T,rules:y,"label-position":r.layout===g(U).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:x(()=>[i(g(F),{label:g(s)(`authModule.fields.email.title`),prop:`email`},{default:x(()=>[i(g(j),{modelValue:T.email,"onUpdate:modelValue":n[0]||=e=>T.email=e,name:`email`},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.firstName.title`),prop:`firstName`},{default:x(()=>[i(g(j),{modelValue:T.firstName,"onUpdate:modelValue":n[1]||=e=>T.firstName=e,name:`firstName`},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.lastName.title`),prop:`lastName`},{default:x(()=>[i(g(j),{modelValue:T.lastName,"onUpdate:modelValue":n[2]||=e=>T.lastName=e,name:`lastName`},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.language.title`),prop:`language`},{default:x(()=>[i(g(R),{modelValue:T.language,"onUpdate:modelValue":n[3]||=e=>T.language=e,placeholder:g(s)(`authModule.fields.language.placeholder`),clearable:``},{default:x(()=>[(c(!0),e(w,null,h(g(b),e=>(c(),o(g(z),{key:e.value,label:`${e.flag} ${e.label}`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),q=s({name:`SettingsPasswordForm`,__name:`settings-password-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:U.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(e,{emit:t}){let n=e,r=t,{t:a}=u(),s=M(),d=N().getStore(W),m=l(void 0),h=f({currentPassword:[{required:!0,message:a(`authModule.fields.currentPassword.validation.required`),trigger:`change`}],newPassword:[{required:!0,message:a(`authModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{validator:(e,t,n)=>{t===``?n(Error(a(`authModule.fields.repeatPassword.validation.required`))):t===_.newPassword?n():n(Error(a(`authModule.fields.repeatPassword.validation.different`)))},trigger:`change`}]}),_=f({currentPassword:``,newPassword:``,repeatPassword:``}),v,y=()=>{window.clearTimeout(v),r(`update:remoteFormResult`,V.NONE)};return p(()=>n.remoteFormSubmit,async e=>{e&&(r(`update:remoteFormSubmit`,!1),m.value.clearValidate(),m.value.validate(async e=>{if(!e)return;r(`update:remoteFormResult`,V.WORKING);let t=a(`authModule.messages.passwordNotEdited`);try{await d.edit({id:n.profile.id,data:{password:{current:_.currentPassword,new:_.newPassword}}}),r(`update:remoteFormResult`,V.OK),s.success(a(`authModule.messages.passwordEdited`)),v=window.setTimeout(y,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?s.exception(t):s.error(t),r(`update:remoteFormResult`,V.ERROR),v=window.setTimeout(y,2e3)}}))}),p(()=>n.remoteFormReset,e=>{r(`update:remoteFormReset`,!1),e&&(m.value?.resetFields(),_.currentPassword=``,_.newPassword=``,_.repeatPassword=``)}),(e,t)=>(c(),o(g(I),{ref_key:`passwordFormEl`,ref:m,model:_,rules:h,"label-position":n.layout===g(U).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:x(()=>[i(g(F),{label:g(a)(`authModule.fields.currentPassword.title`),prop:`currentPassword`},{default:x(()=>[i(g(j),{modelValue:_.currentPassword,"onUpdate:modelValue":t[0]||=e=>_.currentPassword=e,name:`currentPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(a)(`authModule.fields.newPassword.title`),prop:`newPassword`},{default:x(()=>[i(g(j),{modelValue:_.newPassword,"onUpdate:modelValue":t[1]||=e=>_.newPassword=e,name:`newPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(a)(`authModule.fields.repeatPassword.title`),prop:`repeatPassword`},{default:x(()=>[i(g(j),{modelValue:_.repeatPassword,"onUpdate:modelValue":t[2]||=e=>_.repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),J=s({name:`SignInForm`,__name:`sign-in-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(e,{emit:t}){let n=e,a=t,{t:s}=u(),d=M(),m=N().getStore(W),h=l(void 0),v=l(void 0),b=f({username:[{required:!0,message:s(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:s(`authModule.fields.password.validation.required`),trigger:`change`}]}),C=f({username:``,password:``}),w=async e=>{e&&await e.validate(async e=>{if(e){a(`update:remoteFormResult`,V.WORKING);try{await m.create({data:{username:C.username,password:C.password}}),a(`update:remoteFormResult`,V.OK)}catch(e){a(`update:remoteFormResult`,V.ERROR);let t=s(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?d.exception(t):d.error(t)}}})},E=()=>{v.value?.focus()},D=()=>{w(h.value)};return p(()=>n.remoteFormReset,e=>{if(a(`update:remoteFormReset`,!1),e){if(!h.value)return;h.value.resetFields()}}),(e,t)=>(c(),o(g(I),{ref_key:`signFormEl`,ref:h,model:C,rules:b,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:T(w,[`prevent`])},{default:x(()=>[i(g(F),{label:g(s)(`authModule.fields.username.title`),prop:`username`,class:`mb-5`},{default:x(()=>[i(g(j),{modelValue:C.username,"onUpdate:modelValue":t[0]||=e=>C.username=e,name:`username`,onKeyup:S(E,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:x(()=>[i(g(j),{ref_key:`passwordInputEl`,ref:v,modelValue:C.password,"onUpdate:modelValue":t[1]||=e=>C.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:S(D,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(_),{type:`primary`,size:`large`,class:`block w-full`,onClick:t[2]||=e=>w(h.value)},{default:x(()=>[r(y(g(s)(`authModule.buttons.signIn.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]))}}),Y={class:`flex flex-row flex-nowrap gap-5`},X={class:`mb-5`},Z={class:`mb-5`},Q={class:`mb-10`},$={class:`mt-5 px-5`},le=s({name:`SignUpForm`,__name:`sign-up-form`,props:{remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:a}){let o=t,s=a,{t:d}=u(),m=M(),h=C(),v=N().getStore(W),b=l(void 0),S=f({email:[{required:!0,message:d(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:d(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!0,message:d(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!0,message:d(`authModule.fields.lastName.validation.required`),trigger:`change`}],username:[{required:!0,message:d(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:d(`authModule.fields.password.validation.required`),trigger:`change`}]}),E=f({username:``,password:``,email:``,firstName:``,lastName:``}),D=async e=>{e&&await e.validate(async e=>{if(e){s(`update:remoteFormResult`,V.WORKING);try{await v.register({data:{username:E.username,password:E.password,firstName:E.firstName,lastName:E.lastName,email:E.email}}),s(`update:remoteFormResult`,V.OK)}catch(e){s(`update:remoteFormResult`,V.ERROR);let t=d(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?m.exception(t):m.error(t)}}})},O=()=>{h.push({name:H.SIGN_IN})};return p(()=>o.remoteFormReset,e=>{if(s(`update:remoteFormReset`,!1),e){if(!b.value)return;b.value.resetFields()}}),(t,a)=>(c(),e(w,null,[i(g(I),{ref_key:`signFormEl`,ref:b,model:E,rules:S,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:T(D,[`prevent`])},{default:x(()=>[n(`div`,Y,[i(g(F),{label:g(d)(`authModule.fields.firstName.title`),prop:`firstName`},{default:x(()=>[i(g(j),{modelValue:E.firstName,"onUpdate:modelValue":a[0]||=e=>E.firstName=e,placeholder:g(d)(`authModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),i(g(F),{label:g(d)(`authModule.fields.lastName.title`),prop:`lastName`},{default:x(()=>[i(g(j),{modelValue:E.lastName,"onUpdate:modelValue":a[1]||=e=>E.lastName=e,palceholder:g(d)(`authModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),n(`div`,X,[i(g(F),{label:g(d)(`authModule.fields.email.title`),prop:`email`},{default:x(()=>[i(g(j),{modelValue:E.email,"onUpdate:modelValue":a[2]||=e=>E.email=e,palceholder:g(d)(`authModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),n(`div`,Z,[i(g(F),{label:g(d)(`authModule.fields.username.title`),prop:`username`},{default:x(()=>[i(g(j),{modelValue:E.username,"onUpdate:modelValue":a[3]||=e=>E.username=e,"show-password":``,name:`username`,type:`text`},null,8,[`modelValue`])]),_:1},8,[`label`])]),n(`div`,Q,[i(g(F),{label:g(d)(`authModule.fields.password.title`),prop:`password`},{default:x(()=>[i(g(j),{modelValue:E.password,"onUpdate:modelValue":a[4]||=e=>E.password=e,"show-password":``,name:`password`,type:`password`},null,8,[`modelValue`])]),_:1},8,[`label`])]),i(g(_),{type:`primary`,size:`large`,class:`block w-full`,onClick:a[5]||=e=>D(b.value)},{default:x(()=>[r(y(g(d)(`authModule.buttons.signUp.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]),n(`div`,$,[i(g(_),{class:`block w-full`,onClick:a[6]||=e=>O()},{default:x(()=>[r(y(g(d)(`authModule.buttons.backToSignIn.title`)),1)]),_:1})])],64))}}),ue={class:`flex flex-row justify-center items-center mt-4`},de=s({name:`UnlockForm`,__name:`unlock-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`,`signOut`],setup(e,{emit:t}){let a=e,s=t,{t:m}=u(),h=M(),v=A(),b=l(void 0),C=l(void 0),w=f({password:[{required:!0,message:m(`authModule.fields.password.validation.required`),trigger:`change`}]}),E=f({password:``}),D=async e=>{e&&await e.validate(async e=>{if(e){let e=v?.details.value?.username;if(!e){s(`update:remoteFormResult`,V.ERROR),h.error(m(`authModule.messages.requestError`));return}s(`update:remoteFormResult`,V.WORKING);try{await v.signIn({username:e,password:E.password})?s(`update:remoteFormResult`,V.OK):(s(`update:remoteFormResult`,V.ERROR),h.error(m(`authModule.messages.invalidPassword`)))}catch{s(`update:remoteFormResult`,V.ERROR),h.error(m(`authModule.messages.invalidPassword`))}}})},O=()=>{s(`signOut`)};return d(()=>{C.value?.focus()}),p(()=>a.remoteFormReset,e=>{if(s(`update:remoteFormReset`,!1),e){if(!b.value)return;b.value.resetFields()}}),(e,t)=>(c(),o(g(I),{ref_key:`unlockFormEl`,ref:b,model:E,rules:w,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:T(D,[`prevent`])},{default:x(()=>[i(g(F),{label:g(m)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:x(()=>[i(g(j),{ref_key:`passwordInputEl`,ref:C,modelValue:E.password,"onUpdate:modelValue":t[0]||=e=>E.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:t[1]||=S(e=>D(b.value),[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(_),{type:`primary`,size:`large`,class:`block w-full mb-3`,onClick:t[2]||=e=>D(b.value)},{default:x(()=>[r(y(g(m)(`authModule.buttons.unlock.title`)),1)]),_:1}),n(`div`,ue,[i(g(_),{type:`danger`,link:``,onClick:O},{default:x(()=>[r(y(g(m)(`authModule.buttons.signOut.title`)),1)]),_:1})])]),_:1},8,[`model`,`rules`]))}});export{K as a,q as i,le as n,G as o,J as r,de as t};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Mr as r,Nr as i,O as a,Or as o,Pr as s,Qr as c,Si as l,T as u,Yr as d,bi as f,ci as p,di as m,ei as h,ji as g,k as _,kr as v,qi as y,t as b,ui as x,vr as S,x as C,xr as w,yr as T}from"./icon-with-child-CgZMNB3F.js";import{I as E,Mr as D,U as O,W as k,dr as A,ei as j,jr as ee,p as M,x as N}from"./common-D4Z2wgrj.js";import{n as P,t as te}from"./table-CeNNpGH7.js";import{n as F,t as I}from"./form-Wa6uIXea.js";import{t as L}from"./alert-I-oSc4A8.js";import{r as R,t as z}from"./select-CTZp3DyT.js";import{t as B}from"./dialog-4clb5GeY.js";import{t as ne}from"./directive-D42ORGRu.js";import{a as V,l as H,s as U}from"./auth.constants-BM6DNCoE.js";import{t as W}from"./keys-CIqUg3Jv.js";import{t as re}from"./usePersonalTokens-CzAHNnO2.js";var ie={class:`p-4`},ae={class:`min-h-[100px]`},oe={key:0,class:`h-full w-full leading-normal`},se={key:1,class:`h-full w-full leading-normal`},ce={class:`block`},G=s({name:`PersonalTokensList`,__name:`personal-tokens-list`,setup(s,{expose:p}){let{t:h}=u(),S=M(),{tokens:C,loading:E,fetchTokens:O,createToken:k,revokeToken:A}=re(),N=l(!1),V=l(!1),H=l(!1),U=l(null),W=l(``),G=l(!1),K=l(void 0),q=f({name:``,description:``,expiresInDays:90}),J=f({name:[{required:!0,message:h(`authModule.tokens.createDialog.nameRequired`),trigger:`change`}]}),Y=e=>new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e)),X=e=>new Date(e)<new Date,Z=()=>{q.name=``,q.description=``,q.expiresInDays=90,K.value?.resetFields()},Q=()=>{Z()},$=async()=>{K.value&&K.value.validate(async e=>{if(e){H.value=!0;try{let e=await k({name:q.name,description:q.description||null,expires_in_days:q.expiresInDays||null});e?(W.value=e.token,G.value=!1,N.value=!1,V.value=!0,Z(),S.success(h(`authModule.tokens.messages.created`))):S.error(h(`authModule.tokens.messages.createError`))}catch{S.error(h(`authModule.tokens.messages.createError`))}finally{H.value=!1}}})},le=async()=>{try{await navigator.clipboard.writeText(W.value),G.value=!0}catch{S.error(h(`authModule.tokens.messages.copyError`))}},ue=()=>{V.value=!1,W.value=``,G.value=!1},de=e=>{ee.confirm(h(`authModule.tokens.revokeDialog.message`),h(`authModule.tokens.revokeDialog.title`),{confirmButtonText:h(`authModule.tokens.revokeDialog.confirm`),cancelButtonText:h(`authModule.tokens.revokeDialog.cancel`),type:`warning`,confirmButtonClass:`el-button--danger`}).then(async()=>{U.value=e.id;try{await A(e.id)?S.success(h(`authModule.tokens.messages.revoked`)):S.error(h(`authModule.tokens.messages.revokeError`))}catch{S.error(h(`authModule.tokens.messages.revokeError`))}finally{U.value=null}}).catch(()=>{})};return p({openCreateDialog:()=>{N.value=!0}}),d(async()=>{await O()}),(s,l)=>(c(),e(`div`,null,[n(`div`,ie,[i(g(L),{title:g(h)(`authModule.tokens.description`),type:`info`,closable:!1},null,8,[`title`])]),m((c(),e(`div`,ae,[i(g(te),{data:g(C),class:`w-full`,"table-layout":`fixed`},{empty:x(()=>[g(E)?(c(),e(`div`,oe,[i(g(a),{class:`h-full w-full`},{icon:x(()=>[i(g(b),{size:80},{primary:x(()=>[i(g(t),{icon:`mdi:key`})]),secondary:x(()=>[i(g(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(c(),e(`div`,se,[i(g(a),{class:`h-full w-full`},{icon:x(()=>[i(g(b),{size:80},{primary:x(()=>[i(g(t),{icon:`mdi:key`})]),secondary:x(()=>[i(g(t),{icon:`mdi:information`})]),_:1})]),title:x(()=>[r(y(g(h)(`authModule.tokens.noTokens`)),1)]),_:1})]))]),default:x(()=>[i(g(P),{label:g(h)(`authModule.tokens.columns.name`),prop:`name`,"min-width":`150`},{default:x(({row:e})=>[n(`div`,null,[n(`strong`,ce,y(e.name),1),e.description?(c(),o(g(D),{key:0,size:`small`,type:`info`,class:`block leading-4`,truncated:``},{default:x(()=>[r(y(e.description),1)]),_:2},1024)):v(``,!0)])]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.created`),prop:`created_at`,width:`180`},{default:x(({row:e})=>[r(y(Y(e.created_at)),1)]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.lastUsed`),prop:`last_used_at`,width:`180`},{default:x(({row:e})=>[r(y(e.last_used_at?Y(e.last_used_at):g(h)(`authModule.tokens.never`)),1)]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.expires`),prop:`expires_at`,width:`180`},{default:x(({row:t})=>[t.expires_at?(c(),o(g(D),{key:0,type:X(t.expires_at)?`danger`:void 0},{default:x(()=>[r(y(Y(t.expires_at)),1)]),_:2},1032,[`type`])):(c(),e(w,{key:1},[r(y(g(h)(`authModule.tokens.never`)),1)],64))]),_:1},8,[`label`]),i(g(P),{label:g(h)(`authModule.tokens.columns.actions`),width:`120`,align:`right`},{default:x(({row:e})=>[n(`div`,{onClick:l[0]||=T(()=>{},[`stop`])},[i(g(_),{size:`small`,type:`danger`,plain:``,loading:U.value===e.id,onClick:t=>de(e)},{icon:x(()=>[i(g(t),{icon:`mdi:key-remove`})]),default:x(()=>[r(` `+y(g(h)(`authModule.tokens.revoke`)),1)]),_:1},8,[`loading`,`onClick`])])]),_:1},8,[`label`])]),_:1},8,[`data`])])),[[g(ne),g(E)]]),i(g(B),{modelValue:N.value,"onUpdate:modelValue":l[5]||=e=>N.value=e,title:g(h)(`authModule.tokens.createDialog.title`),class:`max-w-[500px]`,onClose:Q},{footer:x(()=>[i(g(_),{onClick:l[4]||=e=>N.value=!1},{default:x(()=>[r(y(g(h)(`authModule.tokens.createDialog.cancel`)),1)]),_:1}),i(g(_),{type:`primary`,loading:H.value,onClick:$},{default:x(()=>[r(y(g(h)(`authModule.tokens.createDialog.submit`)),1)]),_:1},8,[`loading`])]),default:x(()=>[i(g(I),{ref_key:`createFormEl`,ref:K,model:q,rules:J,"label-position":`top`},{default:x(()=>[i(g(F),{label:g(h)(`authModule.tokens.createDialog.name`),prop:`name`},{default:x(()=>[i(g(j),{modelValue:q.name,"onUpdate:modelValue":l[1]||=e=>q.name=e,placeholder:g(h)(`authModule.tokens.createDialog.namePlaceholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),i(g(F),{label:g(h)(`authModule.tokens.createDialog.description`),prop:`description`},{default:x(()=>[i(g(j),{modelValue:q.description,"onUpdate:modelValue":l[2]||=e=>q.description=e,type:`textarea`,rows:2,placeholder:g(h)(`authModule.tokens.createDialog.descriptionPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),i(g(F),{label:g(h)(`authModule.tokens.createDialog.expiry`),prop:`expiresInDays`},{default:x(()=>[i(g(R),{modelValue:q.expiresInDays,"onUpdate:modelValue":l[3]||=e=>q.expiresInDays=e,class:`w-full`},{default:x(()=>[i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiry30`),value:30},null,8,[`label`]),i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiry90`),value:90},null,8,[`label`]),i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiry365`),value:365},null,8,[`label`]),i(g(z),{label:g(h)(`authModule.tokens.createDialog.expiryNever`),value:0},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`])]),_:1},8,[`modelValue`,`title`]),i(g(B),{modelValue:V.value,"onUpdate:modelValue":l[6]||=e=>V.value=e,title:g(h)(`authModule.tokens.createdDialog.title`),class:`max-w-[600px]`,"close-on-click-modal":!1,"close-on-press-escape":!1},{footer:x(()=>[i(g(_),{type:G.value?`success`:`primary`,onClick:le},{icon:x(()=>[i(g(t),{icon:G.value?`mdi:check`:`mdi:content-copy`},null,8,[`icon`])]),default:x(()=>[r(` `+y(G.value?g(h)(`authModule.tokens.createdDialog.copied`):g(h)(`authModule.tokens.createdDialog.copy`)),1)]),_:1},8,[`type`]),i(g(_),{onClick:ue},{default:x(()=>[r(y(g(h)(`authModule.tokens.createdDialog.done`)),1)]),_:1})]),default:x(()=>[i(g(L),{title:g(h)(`authModule.tokens.createdDialog.warning`),type:`warning`,closable:!1,"show-icon":``},null,8,[`title`]),i(g(j),{"model-value":W.value,readonly:``,class:`font-mono mt-4`},null,8,[`model-value`])]),_:1},8,[`modelValue`,`title`])]))}}),K=s({name:`SettingsProfileForm`,__name:`settings-profile-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:U.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let r=t,a=n,{t:s,locale:d}=u(),m=M(),_=N().getStore(W),v=l(void 0),y=f({email:[{required:!1,message:s(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:s(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!1,message:s(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!1,message:s(`authModule.fields.lastName.validation.required`),trigger:`change`}]}),b=k,S=e=>e?O[e]??null:null,C=e=>e?e.split(`-`)[0]:null,T=f({email:r.profile.email??`@`,firstName:r.profile.firstName,lastName:r.profile.lastName,language:S(r.profile.language??null)}),D,A=()=>{window.clearTimeout(D),a(`update:remoteFormResult`,V.NONE)};return p(()=>r.remoteFormSubmit,async e=>{e&&(a(`update:remoteFormSubmit`,!1),v.value.clearValidate(),v.value.validate(async e=>{if(!e)return;a(`update:remoteFormResult`,V.WORKING);let t=s(`authModule.messages.profileNotEdited`);try{await _.edit({id:r.profile.id,data:{firstName:T.firstName,lastName:T.lastName,email:T.email,language:C(T.language)}}),T.language&&(d.value=T.language,E(T.language)),a(`update:remoteFormResult`,V.OK),m.success(s(`authModule.messages.profileEdited`)),D=window.setTimeout(A,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?m.exception(t):m.error(t),a(`update:remoteFormResult`,V.ERROR),D=window.setTimeout(A,2e3)}}))}),p(()=>r.remoteFormReset,e=>{a(`update:remoteFormReset`,!1),e&&(T.email=r.profile.email??`@`,T.firstName=r.profile.firstName,T.lastName=r.profile.lastName,T.language=S(r.profile.language??null))}),(t,n)=>(c(),o(g(I),{ref_key:`profileFormEl`,ref:v,model:T,rules:y,"label-position":r.layout===g(U).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:x(()=>[i(g(F),{label:g(s)(`authModule.fields.email.title`),prop:`email`},{default:x(()=>[i(g(j),{modelValue:T.email,"onUpdate:modelValue":n[0]||=e=>T.email=e,name:`email`},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.firstName.title`),prop:`firstName`},{default:x(()=>[i(g(j),{modelValue:T.firstName,"onUpdate:modelValue":n[1]||=e=>T.firstName=e,name:`firstName`},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.lastName.title`),prop:`lastName`},{default:x(()=>[i(g(j),{modelValue:T.lastName,"onUpdate:modelValue":n[2]||=e=>T.lastName=e,name:`lastName`},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.language.title`),prop:`language`},{default:x(()=>[i(g(R),{modelValue:T.language,"onUpdate:modelValue":n[3]||=e=>T.language=e,placeholder:g(s)(`authModule.fields.language.placeholder`),clearable:``},{default:x(()=>[(c(!0),e(w,null,h(g(b),e=>(c(),o(g(z),{key:e.value,label:`${e.flag} ${e.label}`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),q=s({name:`SettingsPasswordForm`,__name:`settings-password-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:U.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(e,{emit:t}){let n=e,r=t,{t:a}=u(),s=M(),d=N().getStore(W),m=l(void 0),h=f({currentPassword:[{required:!0,message:a(`authModule.fields.currentPassword.validation.required`),trigger:`change`}],newPassword:[{required:!0,message:a(`authModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{validator:(e,t,n)=>{t===``?n(Error(a(`authModule.fields.repeatPassword.validation.required`))):t===_.newPassword?n():n(Error(a(`authModule.fields.repeatPassword.validation.different`)))},trigger:`change`}]}),_=f({currentPassword:``,newPassword:``,repeatPassword:``}),v,y=()=>{window.clearTimeout(v),r(`update:remoteFormResult`,V.NONE)};return p(()=>n.remoteFormSubmit,async e=>{e&&(r(`update:remoteFormSubmit`,!1),m.value.clearValidate(),m.value.validate(async e=>{if(!e)return;r(`update:remoteFormResult`,V.WORKING);let t=a(`authModule.messages.passwordNotEdited`);try{await d.edit({id:n.profile.id,data:{password:{current:_.currentPassword,new:_.newPassword}}}),r(`update:remoteFormResult`,V.OK),s.success(a(`authModule.messages.passwordEdited`)),v=window.setTimeout(y,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?s.exception(t):s.error(t),r(`update:remoteFormResult`,V.ERROR),v=window.setTimeout(y,2e3)}}))}),p(()=>n.remoteFormReset,e=>{r(`update:remoteFormReset`,!1),e&&(m.value?.resetFields(),_.currentPassword=``,_.newPassword=``,_.repeatPassword=``)}),(e,t)=>(c(),o(g(I),{ref_key:`passwordFormEl`,ref:m,model:_,rules:h,"label-position":n.layout===g(U).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:x(()=>[i(g(F),{label:g(a)(`authModule.fields.currentPassword.title`),prop:`currentPassword`},{default:x(()=>[i(g(j),{modelValue:_.currentPassword,"onUpdate:modelValue":t[0]||=e=>_.currentPassword=e,name:`currentPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(a)(`authModule.fields.newPassword.title`),prop:`newPassword`},{default:x(()=>[i(g(j),{modelValue:_.newPassword,"onUpdate:modelValue":t[1]||=e=>_.newPassword=e,name:`newPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(a)(`authModule.fields.repeatPassword.title`),prop:`repeatPassword`},{default:x(()=>[i(g(j),{modelValue:_.repeatPassword,"onUpdate:modelValue":t[2]||=e=>_.repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),J=s({name:`SignInForm`,__name:`sign-in-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(e,{emit:t}){let n=e,a=t,{t:s}=u(),d=M(),m=N().getStore(W),h=l(void 0),v=l(void 0),b=f({username:[{required:!0,message:s(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:s(`authModule.fields.password.validation.required`),trigger:`change`}]}),C=f({username:``,password:``}),w=async e=>{e&&await e.validate(async e=>{if(e){a(`update:remoteFormResult`,V.WORKING);try{await m.create({data:{username:C.username,password:C.password}}),a(`update:remoteFormResult`,V.OK)}catch(e){a(`update:remoteFormResult`,V.ERROR);let t=s(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?d.exception(t):d.error(t)}}})},E=()=>{v.value?.focus()},D=()=>{w(h.value)};return p(()=>n.remoteFormReset,e=>{if(a(`update:remoteFormReset`,!1),e){if(!h.value)return;h.value.resetFields()}}),(e,t)=>(c(),o(g(I),{ref_key:`signFormEl`,ref:h,model:C,rules:b,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:T(w,[`prevent`])},{default:x(()=>[i(g(F),{label:g(s)(`authModule.fields.username.title`),prop:`username`,class:`mb-5`},{default:x(()=>[i(g(j),{modelValue:C.username,"onUpdate:modelValue":t[0]||=e=>C.username=e,name:`username`,onKeyup:S(E,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(F),{label:g(s)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:x(()=>[i(g(j),{ref_key:`passwordInputEl`,ref:v,modelValue:C.password,"onUpdate:modelValue":t[1]||=e=>C.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:S(D,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(_),{type:`primary`,size:`large`,class:`block w-full`,onClick:t[2]||=e=>w(h.value)},{default:x(()=>[r(y(g(s)(`authModule.buttons.signIn.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]))}}),Y={class:`flex flex-row flex-nowrap gap-5`},X={class:`mb-5`},Z={class:`mb-5`},Q={class:`mb-10`},$={class:`mt-5 px-5`},le=s({name:`SignUpForm`,__name:`sign-up-form`,props:{remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:a}){let o=t,s=a,{t:d}=u(),m=M(),h=C(),v=N().getStore(W),b=l(void 0),S=f({email:[{required:!0,message:d(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:d(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!0,message:d(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!0,message:d(`authModule.fields.lastName.validation.required`),trigger:`change`}],username:[{required:!0,message:d(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:d(`authModule.fields.password.validation.required`),trigger:`change`}]}),E=f({username:``,password:``,email:``,firstName:``,lastName:``}),D=async e=>{e&&await e.validate(async e=>{if(e){s(`update:remoteFormResult`,V.WORKING);try{await v.register({data:{username:E.username,password:E.password,firstName:E.firstName,lastName:E.lastName,email:E.email}}),s(`update:remoteFormResult`,V.OK)}catch(e){s(`update:remoteFormResult`,V.ERROR);let t=d(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?m.exception(t):m.error(t)}}})},O=()=>{h.push({name:H.SIGN_IN})};return p(()=>o.remoteFormReset,e=>{if(s(`update:remoteFormReset`,!1),e){if(!b.value)return;b.value.resetFields()}}),(t,a)=>(c(),e(w,null,[i(g(I),{ref_key:`signFormEl`,ref:b,model:E,rules:S,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:T(D,[`prevent`])},{default:x(()=>[n(`div`,Y,[i(g(F),{label:g(d)(`authModule.fields.firstName.title`),prop:`firstName`},{default:x(()=>[i(g(j),{modelValue:E.firstName,"onUpdate:modelValue":a[0]||=e=>E.firstName=e,placeholder:g(d)(`authModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),i(g(F),{label:g(d)(`authModule.fields.lastName.title`),prop:`lastName`},{default:x(()=>[i(g(j),{modelValue:E.lastName,"onUpdate:modelValue":a[1]||=e=>E.lastName=e,palceholder:g(d)(`authModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),n(`div`,X,[i(g(F),{label:g(d)(`authModule.fields.email.title`),prop:`email`},{default:x(()=>[i(g(j),{modelValue:E.email,"onUpdate:modelValue":a[2]||=e=>E.email=e,palceholder:g(d)(`authModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),n(`div`,Z,[i(g(F),{label:g(d)(`authModule.fields.username.title`),prop:`username`},{default:x(()=>[i(g(j),{modelValue:E.username,"onUpdate:modelValue":a[3]||=e=>E.username=e,"show-password":``,name:`username`,type:`text`},null,8,[`modelValue`])]),_:1},8,[`label`])]),n(`div`,Q,[i(g(F),{label:g(d)(`authModule.fields.password.title`),prop:`password`},{default:x(()=>[i(g(j),{modelValue:E.password,"onUpdate:modelValue":a[4]||=e=>E.password=e,"show-password":``,name:`password`,type:`password`},null,8,[`modelValue`])]),_:1},8,[`label`])]),i(g(_),{type:`primary`,size:`large`,class:`block w-full`,onClick:a[5]||=e=>D(b.value)},{default:x(()=>[r(y(g(d)(`authModule.buttons.signUp.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]),n(`div`,$,[i(g(_),{class:`block w-full`,onClick:a[6]||=e=>O()},{default:x(()=>[r(y(g(d)(`authModule.buttons.backToSignIn.title`)),1)]),_:1})])],64))}}),ue={class:`flex flex-row justify-center items-center mt-4`},de=s({name:`UnlockForm`,__name:`unlock-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:V.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`,`signOut`],setup(e,{emit:t}){let a=e,s=t,{t:m}=u(),h=M(),v=A(),b=l(void 0),C=l(void 0),w=f({password:[{required:!0,message:m(`authModule.fields.password.validation.required`),trigger:`change`}]}),E=f({password:``}),D=async e=>{e&&await e.validate(async e=>{if(e){let e=v?.details.value?.username;if(!e){s(`update:remoteFormResult`,V.ERROR),h.error(m(`authModule.messages.requestError`));return}s(`update:remoteFormResult`,V.WORKING);try{await v.signIn({username:e,password:E.password})?s(`update:remoteFormResult`,V.OK):(s(`update:remoteFormResult`,V.ERROR),h.error(m(`authModule.messages.invalidPassword`)))}catch{s(`update:remoteFormResult`,V.ERROR),h.error(m(`authModule.messages.invalidPassword`))}}})},O=()=>{s(`signOut`)};return d(()=>{C.value?.focus()}),p(()=>a.remoteFormReset,e=>{if(s(`update:remoteFormReset`,!1),e){if(!b.value)return;b.value.resetFields()}}),(e,t)=>(c(),o(g(I),{ref_key:`unlockFormEl`,ref:b,model:E,rules:w,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:T(D,[`prevent`])},{default:x(()=>[i(g(F),{label:g(m)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:x(()=>[i(g(j),{ref_key:`passwordInputEl`,ref:C,modelValue:E.password,"onUpdate:modelValue":t[0]||=e=>E.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:t[1]||=S(e=>D(b.value),[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),i(g(_),{type:`primary`,size:`large`,class:`block w-full mb-3`,onClick:t[2]||=e=>D(b.value)},{default:x(()=>[r(y(g(m)(`authModule.buttons.unlock.title`)),1)]),_:1}),n(`div`,ue,[i(g(_),{type:`danger`,link:``,onClick:O},{default:x(()=>[r(y(g(m)(`authModule.buttons.signOut.title`)),1)]),_:1})])]),_:1},8,[`model`,`rules`]))}});export{K as a,q as i,le as n,G as o,J as r,de as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{A as e,Ar as t,D as n,Di as r,Dr as i,E as a,Er as o,Gr as s,H as c,Ki as l,Mr as u,Mt as d,Nr as f,O as p,Or as m,Pr as h,Qr as g,Si as _,T as v,Vr as y,Wi as b,Wr as x,Yr as S,_i as C,bi as w,ci as T,di as E,ei as D,ji as O,jr as k,k as A,kr as j,qi as M,t as N,ui as P,xr as F,yr as I}from"./icon-with-child-CgZMNB3F.js";import{Cn as L,Dr as R,Er as ee,Fr as z,Ir as B,Lr as V,Lt as te,M as ne,Mr as H,Nr as re,Or as ie,Qr as U,Rr as W,Sn as ae,Sr as G,Tr as oe,Zr as se,br as ce,ei as le,er as K,jn as q,jr as ue,qr as J,ri as Y,wn as X,yr as de}from"./common-Be4p2bm6.js";import{n as Z,t as fe}from"./table-I-saZisX.js";import{n as pe,t as me}from"./form-0kI-cr8s.js";import{t as he}from"./skeleton-DkyCzTs7.js";import{t as ge}from"./alert-yihCwD8R.js";import{t as _e}from"./input-number-P-FTRt-j.js";import{r as ve,t as ye}from"./select-DhXPyxTf.js";import{t as Q}from"./card-C50YgvLJ.js";import{n as $,r as be}from"./radio-C3SNUtyn.js";import{n as xe,t as Se}from"./collapse-DWbIsaf5.js";import{t as Ce}from"./drawer-ZByrLyWq.js";import{t as we}from"./empty-DvXiCUNF.js";import{t as Te}from"./pagination-tCwT80iV.js";import{g as Ee}from"./components-BSArkYBL.js";import{n as De,t as Oe}from"./tabs-CoLOTPkl.js";import{t as ke}from"./directive-D42ORGRu.js";import"./system-CD2XKcCX.js";import{n as Ae,o as je}from"./composables-DyBL_gKO.js";var Me={class:`p-4`},Ne={class:`text-sm font-semibold uppercase tracking-wide mb-2 text-gray-500`},Pe={class:`grid grid-cols-1 gap-3`},Fe={class:`flex items-start gap-3`},Ie={key:0,class:`shrink-0 mt-1`},Le={class:`flex-1 min-w-0`},Re={class:`flex items-center gap-2 mb-1`},ze={class:`font-medium`},Be={key:0,class:`text-sm text-gray-500 m-0 mb-3`},Ve={class:`truncate flex-1`},He={class:`shrink-0`},Ue={class:`shrink-0`},We={class:`shrink-0`},Ge=h({name:`ExtensionActions`,__name:`extension-actions`,props:{extensionType:{}},setup(e){let r=e,{t:a}=v(),{actions:s,isLoading:c,executingActions:l,executeAction:d,fetchActionHistory:p}=te(),h=w({}),_=w({}),y=w({}),x=e=>new Date(e).toLocaleString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),S=async e=>{y[e]=await p(r.extensionType,e)},C=e=>(h[e]||(h[e]={}),h[e]),E=(e,t)=>C(e)[t],N=(e,t,n)=>{C(e)[t]=n},I=(e,t)=>C(e)[t],L=(e,t,n)=>{C(e)[t]=n},R=(e,t)=>{let n=C(e)[t];return typeof n==`boolean`&&n},ee=(e,t,n)=>{C(e)[t]=n},z=(e,t)=>{let n=C(e)[t];return Array.isArray(n)?void 0:n},B=(e,t,n)=>{C(e)[t]=n},V=(e,t)=>{let n=C(e)[t];return Array.isArray(n)?n:[]},ne=(e,t,n)=>{C(e)[t]=n},ie=()=>{let e=new Set(s.value.map(e=>e.id));for(let t of Object.keys(h))e.has(t)||delete h[t];for(let t of Object.keys(_))e.has(t)||delete _[t];for(let t of Object.keys(y))e.has(t)||delete y[t];for(let e of s.value){h[e.id]={};for(let t of e.parameters??[])t.default!==void 0&&(h[e.id][t.name]=t.default)}},U=o(()=>{let e={};for(let t of s.value){let n=t.category??`general`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({name:e,actions:t}))}),W=async e=>{if(e.dangerous)try{await ue.confirm(a(`extensionsModule.actions.messages.confirmDangerous`),e.label,{confirmButtonText:a(`extensionsModule.actions.buttons.confirm`),cancelButtonText:a(`extensionsModule.actions.buttons.cancel`),type:`warning`})}catch{return}delete _[e.id];let t=h[e.id]??{},n=await d(r.extensionType,e.id,t);_[e.id]=n,S(e.id)};return T(s,()=>{ie();for(let e of s.value)S(e.id)},{immediate:!0}),(e,r)=>(g(),t(`div`,Me,[O(c)?(g(),m(O(he),{key:0,rows:4,animated:``})):O(s).length===0?(g(),m(O(we),{key:1,description:O(a)(`extensionsModule.actions.messages.noActions`)},null,8,[`description`])):(g(!0),t(F,{key:2},D(U.value,e=>(g(),t(`div`,{key:e.name,class:`mb-4`},[i(`h4`,Ne,M(O(a)(`extensionsModule.actions.labels.category.${e.name}`)),1),i(`div`,Pe,[(g(!0),t(F,null,D(e.actions,e=>(g(),m(O(Q),{key:e.id,shadow:`hover`,"body-class":`p-4!`},{default:P(()=>[i(`div`,Fe,[e.icon?(g(),t(`div`,Ie,[f(O(n),{icon:e.icon,class:`w-6 h-6 text-gray-500`},null,8,[`icon`])])):j(``,!0),i(`div`,Le,[i(`div`,Re,[i(`span`,ze,M(e.label),1),e.mode===`interactive`?(g(),m(O(J),{key:0,size:`small`,type:`info`},{default:P(()=>[u(M(O(a)(`extensionsModule.actions.labels.comingSoon`)),1)]),_:1})):j(``,!0),e.dangerous?(g(),m(O(J),{key:1,size:`small`,type:`danger`},{default:P(()=>[u(M(O(a)(`extensionsModule.actions.labels.dangerous`)),1)]),_:1})):j(``,!0)]),e.description?(g(),t(`p`,Be,M(e.description),1)):j(``,!0),e.mode===`immediate`&&e.parameters?.length?(g(),m(O(me),{key:1,model:C(e.id),"label-position":`top`,class:`mb-3`,size:`small`},{default:P(()=>[(g(!0),t(F,null,D(e.parameters,n=>(g(),m(O(pe),{key:n.name,label:n.label,class:`mb-2!`},k({default:P(()=>[n.type===`string`?(g(),m(O(le),{key:0,"model-value":E(e.id,n.name),placeholder:n.label,"onUpdate:modelValue":t=>N(e.id,n.name,t)},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`])):n.type===`number`?(g(),m(O(_e),{key:1,"model-value":I(e.id,n.name),min:n.validation?.min,max:n.validation?.max,"controls-position":`right`,class:`w-full!`,"onUpdate:modelValue":t=>L(e.id,n.name,t)},null,8,[`model-value`,`min`,`max`,`onUpdate:modelValue`])):n.type===`boolean`?(g(),m(O(re),{key:2,"model-value":R(e.id,n.name),"onUpdate:modelValue":t=>ee(e.id,n.name,!!t)},null,8,[`model-value`,`onUpdate:modelValue`])):n.type===`select`?(g(),m(O(ve),{key:3,"model-value":z(e.id,n.name),placeholder:n.label,class:`w-full!`,"onUpdate:modelValue":t=>B(e.id,n.name,t)},{default:P(()=>[(g(!0),t(F,null,D(n.options,e=>(g(),m(O(ye),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):n.type===`multi_select`?(g(),m(O(ve),{key:4,"model-value":V(e.id,n.name),placeholder:n.label,multiple:``,class:`w-full!`,"onUpdate:modelValue":t=>ne(e.id,n.name,t)},{default:P(()=>[(g(!0),t(F,null,D(n.options,e=>(g(),m(O(ye),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):j(``,!0)]),_:2},[n.description||n.required?{name:`label`,fn:P(()=>[i(`span`,null,M(n.label),1),n.required?(g(),m(O(H),{key:0,type:`danger`,class:`ml-1`},{default:P(()=>[...r[0]||=[u(` * `,-1)]]),_:1})):j(``,!0),n.description?(g(),m(O(H),{key:1,class:`block text-xs! font-normal`,type:`info`},{default:P(()=>[u(M(n.description),1)]),_:2},1024)):j(``,!0)]),key:`0`}:void 0]),1032,[`label`]))),128))]),_:2},1032,[`model`])):j(``,!0),_[e.id]?(g(),m(O(ge),{key:2,type:_[e.id].success?`success`:`error`,title:_[e.id].message||(_[e.id].success?O(a)(`extensionsModule.actions.messages.success`):O(a)(`extensionsModule.actions.messages.error`)),"show-icon":``,closable:``,class:`mb-2`,onClose:t=>delete _[e.id]},null,8,[`type`,`title`,`onClose`])):j(``,!0),y[e.id]?.length?(g(),m(O(Se),{key:3,class:`mt-2`},{default:P(()=>[f(O(xe),{title:O(a)(`extensionsModule.actions.labels.history`,{count:y[e.id].length})},{default:P(()=>[(g(!0),t(F,null,D(y[e.id],e=>(g(),t(`div`,{key:e.id,class:`flex items-center gap-2 py-1 text-xs text-gray-500 border-b border-gray-100 last:border-b-0`},[f(O(n),{icon:e.success?`mdi:check-circle`:`mdi:alert-circle`,class:b([e.success?`text-green-500`:`text-red-500`,`w-4 h-4 shrink-0`])},null,8,[`icon`,`class`]),i(`span`,Ve,M(e.message||(e.success?O(a)(`extensionsModule.actions.messages.success`):O(a)(`extensionsModule.actions.messages.error`))),1),i(`span`,He,M(e.duration_ms)+`ms`,1),i(`span`,Ue,M(x(e.timestamp)),1)]))),128))]),_:2},1032,[`title`])]),_:2},1024)):j(``,!0)]),i(`div`,We,[e.mode===`immediate`&&e.allowed===!1?(g(),m(O(Y),{key:0,content:O(a)(`extensionsModule.actions.messages.insufficientPermissions`)},{default:P(()=>[f(O(A),{type:`primary`,disabled:``},{icon:P(()=>[f(O(n),{icon:`mdi:lock`})]),default:P(()=>[u(` `+M(O(a)(`extensionsModule.actions.buttons.run`)),1)]),_:1})]),_:1},8,[`content`])):e.mode===`immediate`?(g(),m(O(A),{key:1,type:`primary`,loading:O(l).has(e.id),disabled:O(l).has(e.id),onClick:t=>W(e)},{icon:P(()=>[f(O(n),{icon:`mdi:play`})]),default:P(()=>[u(` `+M(O(a)(`extensionsModule.actions.buttons.run`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):(g(),m(O(Y),{key:2,content:O(a)(`extensionsModule.actions.messages.interactiveNotAvailable`)},{default:P(()=>[f(O(A),{disabled:``},{icon:P(()=>[f(O(n),{icon:`mdi:console`})]),default:P(()=>[u(` `+M(O(a)(`extensionsModule.actions.buttons.run`)),1)]),_:1})]),_:1},8,[`content`]))])])]),_:2},1024))),128))])]))),128))]))}}),Ke={class:`extension-card__header`},qe={class:`extension-card__header-content`},Je={class:`extension-card__title`},Ye={class:`extension-card__tags`},Xe={class:`extension-card__content`},Ze={key:0,class:`extension-card__description`},Qe={key:1,class:`extension-card__description extension-card__description--empty`},$e={class:`extension-card__meta`},et={key:0,class:`extension-card__meta-item`},tt={key:1,class:`extension-card__author`},nt={class:`extension-card__footer`},rt={class:`extension-card__links`},it={class:`flex items-center w-full`},at={class:`flex items-center w-full`},ot=a(h({name:`ExtensionCard`,__name:`extension-card`,props:{extension:{}},emits:[`toggle-enabled`,`detail`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),l=o(()=>a.extension.kind===q.module?`mdi:package-variant`:`mdi:toy-brick`),d=o(()=>a.extension.isCore&&a.extension.kind===q.module?c(`extensionsModule.tooltips.coreModuleCannotBeDisabled`):c(`extensionsModule.tooltips.cannotToggleEnabled`)),p=o(()=>a.extension.isCore?c(`extensionsModule.tooltips.coreCannotBeRemoved`):c(`extensionsModule.tooltips.removeNotSupported`)),h=()=>{s(`detail`,a.extension.type)},_=e=>{switch(e){case`enable`:s(`toggle-enabled`,a.extension.type,!0);break;case`disable`:s(`toggle-enabled`,a.extension.type,!1);break;case`delete`:break}},y=e=>{window.open(e,`_blank`,`noopener,noreferrer`)};return(r,a)=>(g(),m(O(Q),{class:b([`extension-card`,{"extension-card--disabled":!e.extension.enabled}]),shadow:`hover`,"header-class":`py-2!`,"body-class":`py-3!`,"footer-class":`py-2! px-4!`},{header:P(()=>[i(`div`,Ke,[f(O(n),{icon:l.value,class:`extension-card__icon`},null,8,[`icon`]),i(`div`,qe,[i(`h3`,Je,M(e.extension.name),1),i(`div`,Ye,[f(O(J),{type:e.extension.kind===O(q).module?`primary`:`success`,size:`small`},{default:P(()=>[u(M(e.extension.kind===O(q).module?O(c)(`extensionsModule.labels.module`):O(c)(`extensionsModule.labels.plugin`)),1)]),_:1},8,[`type`]),e.extension.isCore?(g(),m(O(J),{key:0,type:`warning`,size:`small`},{default:P(()=>[u(M(O(c)(`extensionsModule.labels.core`)),1)]),_:1})):j(``,!0),f(O(J),{type:e.extension.enabled?`success`:`info`,size:`small`},{default:P(()=>[u(M(e.extension.enabled?O(c)(`extensionsModule.labels.enabled`):O(c)(`extensionsModule.labels.disabled`)),1)]),_:1},8,[`type`])])])])]),footer:P(()=>[i(`div`,nt,[i(`div`,rt,[e.extension.links?.documentation?(g(),m(O(A),{key:0,type:`primary`,size:`small`,link:``,onClick:a[0]||=I(t=>y(e.extension.links.documentation),[`stop`])},{default:P(()=>[f(O(n),{icon:`mdi:book-open-page-variant`,class:`mr-1`}),u(` `+M(O(c)(`extensionsModule.buttons.documentation`)),1)]),_:1})):j(``,!0),e.extension.links?.repository?(g(),m(O(A),{key:1,type:`primary`,size:`small`,link:``,onClick:a[1]||=I(t=>y(e.extension.links.repository),[`stop`])},{default:P(()=>[f(O(n),{icon:`mdi:github`,class:`mr-1`}),u(` `+M(O(c)(`extensionsModule.buttons.repository`)),1)]),_:1})):j(``,!0),e.extension.links?.bugsTracking?(g(),m(O(A),{key:2,type:`primary`,size:`small`,link:``,onClick:a[2]||=I(t=>y(e.extension.links.bugsTracking),[`stop`])},{default:P(()=>[f(O(n),{icon:`mdi:bug`,class:`mr-1`}),u(` `+M(O(c)(`extensionsModule.buttons.issues`)),1)]),_:1})):j(``,!0)]),f(O(z),{"split-button":``,size:`small`,trigger:`click`,onClick:h,onCommand:_},{dropdown:P(()=>[f(O(V),null,{default:P(()=>[f(O(B),{command:e.extension.enabled?`disable`:`enable`,disabled:!e.extension.canToggleEnabled},{default:P(()=>[f(O(Y),{content:d.value,disabled:e.extension.canToggleEnabled,placement:`left`},{default:P(()=>[i(`span`,it,[f(O(n),{icon:e.extension.enabled?`mdi:toggle-switch-off`:`mdi:toggle-switch`,class:`mr-2`},null,8,[`icon`]),u(` `+M(e.extension.enabled?O(c)(`extensionsModule.buttons.disable`):O(c)(`extensionsModule.buttons.enable`)),1)])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`command`,`disabled`]),f(O(B),{command:`delete`,disabled:``,divided:``},{default:P(()=>[f(O(Y),{content:p.value,placement:`left`},{default:P(()=>[i(`span`,at,[f(O(n),{icon:`mdi:delete`,class:`mr-2`}),u(` `+M(O(c)(`extensionsModule.buttons.remove`)),1)])]),_:1},8,[`content`])]),_:1})]),_:1})]),default:P(()=>[u(M(O(c)(`extensionsModule.buttons.detail.title`))+` `,1)]),_:1})])]),default:P(()=>[i(`div`,Xe,[e.extension.description?(g(),t(`p`,Ze,M(e.extension.description),1)):(g(),t(`p`,Qe,M(O(c)(`extensionsModule.messages.noDescription`)),1)),i(`div`,$e,[e.extension.version?(g(),t(`div`,et,[f(O(n),{icon:`mdi:tag`,class:`extension-card__meta-icon`}),i(`span`,null,M(e.extension.version),1)])):j(``,!0),e.extension.author?(g(),t(`div`,tt,[f(O(n),{icon:`mdi:account`,class:`extension-card__author-icon`}),i(`span`,null,M(e.extension.author),1)])):j(``,!0)])])]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-32ba1b6c`]]),st={class:`h-full w-full flex flex-col`},ct={class:`flex items-center justify-between p-2 border-b`},lt={class:`flex items-center gap-2`},ut={class:`flex items-center gap-2`},dt={key:0,class:`flex-1 flex items-center justify-center`},ft={key:1,class:`flex-1 flex items-center justify-center`},pt={key:2,class:`flex-1 flex items-center justify-center`},mt=[`onClick`],ht={class:`grid grid-cols-[140px_70px_1fr] gap-3 items-center`},gt={class:`font-mono text-xs`},_t={class:`truncate text-sm`},vt={class:`py-3 text-center`},yt={key:0,class:`text-xs text-gray-400`},bt={class:`flex flex-col h-full`},xt={class:`flex flex-col overflow-hidden h-full`},St=h({name:`ExtensionLogs`,__name:`extension-logs`,props:{extensionType:{},live:{type:Boolean}},emits:[`update:live`],setup(e,{emit:a}){let s=e,l=a,{t:d}=v(),{logs:h,hasMore:b,isLoading:S,loaded:w,live:k,filterLevels:I,filterTimeRange:L,filtersActive:z,clearFilters:B,fetchLogs:V,loadMoreLogs:te,refreshLogs:ne}=Ae({extensionType:r(()=>s.extensionType)}),H=G(s,`live`,l,{defaultValue:!1}),W=_(null),ae=o({get:()=>W.value!==null,set:e=>{e||(W.value=null)}}),se=[K.error,K.warn,K.info,K.debug,K.fatal,K.log,K.success,K.fail],le=o(()=>[{value:`all`,label:d(`extensionsModule.texts.logs.timeRange.all`)},{value:`1h`,label:d(`extensionsModule.texts.logs.timeRange.1h`)},{value:`6h`,label:d(`extensionsModule.texts.logs.timeRange.6h`)},{value:`24h`,label:d(`extensionsModule.texts.logs.timeRange.24h`)},{value:`7d`,label:d(`extensionsModule.texts.logs.timeRange.7d`)}]);T(H,e=>{k.value=e},{immediate:!0}),T(k,e=>{H.value=e});let q=()=>{ne()},ue=()=>{te()},X=e=>ce(new Date(e)),de=e=>new Date(e).toISOString(),Z=e=>{let t=e.toLowerCase();return[`fatal`,`error`,`fail`].includes(t)?{type:`danger`,effect:`light`}:[`warn`,`box`].includes(t)?{type:`warning`,effect:`light`}:[`success`,`ready`,`start`,`info`,`log`].includes(t)?{type:`success`,effect:`light`}:{effect:`plain`,class:`tag-neutral`}};return x(()=>{V()}),(e,r)=>(g(),t(`div`,st,[i(`div`,ct,[i(`div`,lt,[f(O(A),{size:`small`,onClick:q},{icon:P(()=>[f(O(n),{icon:`mdi:refresh`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.refresh`)),1)]),_:1}),f(O(re),{modelValue:O(H),"onUpdate:modelValue":r[0]||=e=>C(H)?H.value=e:null,size:`small`,"active-text":O(d)(`extensionsModule.labels.live`)},null,8,[`modelValue`,`active-text`])]),i(`div`,ut,[f(O(ve),{modelValue:O(I),"onUpdate:modelValue":r[1]||=e=>C(I)?I.value=e:null,size:`small`,class:`w-[200px]!`,clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:O(d)(`extensionsModule.texts.logs.allLevels`)},{default:P(()=>[(g(),t(F,null,D(se,e=>f(O(ye),{key:e,label:O(d)(`systemModule.levels.${e}`),value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`]),f(O(ve),{modelValue:O(L),"onUpdate:modelValue":r[2]||=e=>C(L)?L.value=e:null,size:`small`,class:`w-[140px]!`},{default:P(()=>[(g(!0),t(F,null,D(le.value,e=>(g(),m(O(ye),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),O(z)?(g(),m(O(A),{key:0,size:`small`,onClick:O(B)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])):j(``,!0)])]),!O(w)&&O(S)?(g(),t(`div`,dt,[f(O(p),null,{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:console`})]),secondary:P(()=>[f(O(n),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):O(z)&&O(h).length===0?(g(),t(`div`,ft,[f(O(p),null,{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:console`})]),secondary:P(()=>[f(O(n),{icon:`mdi:filter-multiple`})]),_:1})]),title:P(()=>[u(M(O(d)(`extensionsModule.texts.logs.noFilteredLogs`)),1)]),"sub-title":P(()=>[f(O(A),{type:`primary`,plain:``,class:`mt-2`,onClick:O(B)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])]),_:1})])):O(h).length===0?(g(),t(`div`,pt,[f(O(p),null,{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:console`})]),secondary:P(()=>[f(O(n),{icon:`mdi:information`})]),_:1})]),title:P(()=>[u(M(O(d)(`extensionsModule.texts.logs.noLogs`)),1)]),"sub-title":P(()=>[u(M(O(d)(`extensionsModule.texts.logs.noLogsDescription`)),1)]),_:1})])):E((g(),m(O(U),{key:3,class:`flex-1`},{default:P(()=>[i(`div`,null,[(g(!0),t(F,null,D(O(h),e=>(g(),t(`div`,{key:e.id,class:`px-3 py-2 border-b hover:bg-[var(--el-fill-color-light)] cursor-pointer`,onClick:t=>W.value=e},[i(`div`,ht,[i(`span`,gt,[f(O(Y),{content:de(e.ts),placement:`top-start`},{default:P(()=>[u(M(X(e.ts)),1)]),_:2},1032,[`content`])]),f(O(J),y({ref_for:!0},Z(e.type),{size:`small`,class:`justify-self-start`}),{default:P(()=>[u(M(e.type),1)]),_:2},1040),i(`div`,_t,M(e.message??O(d)(`extensionsModule.texts.logs.noMessage`)),1)])],8,mt))),128)),i(`div`,vt,[O(b)?j(``,!0):(g(),t(`span`,yt,M(O(d)(`extensionsModule.texts.logs.noMoreEntries`)),1)),O(b)?(g(),m(O(A),{key:1,loading:O(S),onClick:ue},{icon:P(()=>[f(O(n),{icon:`mdi:chevron-down`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.loadMore`)),1)]),_:1},8,[`loading`])):j(``,!0)])])]),_:1})),[[O(ke),O(S)&&O(h).length>0]]),f(O(Ce),{modelValue:ae.value,"onUpdate:modelValue":r[4]||=e=>ae.value=e,"show-close":!1,"with-header":!1,direction:`rtl`,size:`40%`},{default:P(()=>[i(`div`,bt,[f(O(ie),{"menu-button-hidden":``},{"button-right":P(()=>[f(O(ee),{align:O(R).RIGHT,class:`mr-2`,onClick:r[3]||=e=>W.value=null},{icon:P(()=>[f(O(c),null,{default:P(()=>[f(O(n),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),f(O(oe),{teleport:``},{icon:P(()=>[f(O(n),{icon:`mdi:note-text-outline`,class:`w[20px] h[20px]`})]),title:P(()=>[u(M(O(d)(`systemModule.headings.systemLogs.detail`)),1)]),subtitle:P(()=>[u(M(O(d)(`systemModule.subHeadings.systemLogs.detail`)),1)]),_:1}),i(`div`,xt,[W.value?(g(),m(O(U),{key:0,class:`grow-1 p-2 md:px-4`},{default:P(()=>[f(O(Ee),{"system-log":W.value},null,8,[`system-log`])]),_:1})):j(``,!0)])])]),_:1},8,[`modelValue`])]))}}),Ct={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(350px,1fr))] max-sm:grid-cols-1 gap-3`},wt=h({name:`ExtensionsCards`,__name:`extensions-cards`,props:{items:{},loading:{type:Boolean,default:!1},filtersActive:{type:Boolean,default:!1}},emits:[`toggle-enabled`,`detail`,`reset-filters`],setup(e,{emit:n}){let r=e,i=n,{t:a}=v(),s=o(()=>[...r.items].sort((e,t)=>e.isCore&&!t.isCore?-1:!e.isCore&&t.isCore?1:e.name.localeCompare(t.name))),c=o(()=>r.filtersActive?a(`extensionsModule.messages.noMatchingExtensions`):a(`extensionsModule.messages.noExtensions`)),l=(e,t)=>{i(`toggle-enabled`,e,t)},u=e=>{i(`detail`,e)};return(n,r)=>(g(),m(O(U),{class:`h-full`},{default:P(()=>[e.loading&&e.items.length===0?(g(),m(O(he),{key:0,rows:5,animated:``})):e.items.length===0?(g(),m(O(p),{key:1,icon:`info`,title:c.value},null,8,[`title`])):(g(),t(`div`,Ct,[(g(!0),t(F,null,D(s.value,e=>(g(),m(ot,{key:e.type,extension:e,onToggleEnabled:l,onDetail:u},null,8,[`extension`]))),128))]))]),_:1}))}}),Tt={class:`flex w-full items-center justify-center`},Et=a(h({name:`ExtensionsFilter`,__name:`extensions-filter`,props:{filters:{},filtersActive:{type:Boolean},viewMode:{default:`table`},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`update:view-mode`,`reset-filters`,`adjust-list`,`bulk-action`],setup(r,{emit:i}){let a=r,o=i,s=d(`extensions-filter`),{t:l}=v(),u=G(a,`filters`,o),p=G(a,`viewMode`,o),h=_(void 0);return T(()=>u.value.search,e=>{e===``&&(u.value.search=void 0)}),(r,i)=>(g(),t(`div`,Tt,[f(O(me),{ref_key:`filterFormEl`,ref:h,inline:!0,model:O(u),class:b([[O(s).b()],`grow-1`])},{default:P(()=>[f(O(le),{modelValue:O(u).search,"onUpdate:modelValue":i[0]||=e=>O(u).search=e,placeholder:O(l)(`extensionsModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:P(()=>[f(O(c),null,{default:P(()=>[f(O(n),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),f(O(W),{direction:`vertical`}),f(O(pe),{label:O(l)(`extensionsModule.filters.kind.title`),class:b([[O(s).e(`extension-kind`)],`p-1 m-0!`])},{default:P(()=>[f(O(be),{modelValue:O(u).kind,"onUpdate:modelValue":i[1]||=e=>O(u).kind=e},{default:P(()=>[f(O($),{label:O(l)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),f(O($),{label:O(l)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`]),f(O($),{label:O(l)(`extensionsModule.states.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`,`class`])]),_:1},8,[`model`,`class`]),f(O(ne),{"selected-count":a.selectedCount,actions:a.bulkActions,onAction:i[2]||=e=>o(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),f(O(e),{class:`mr-3`},{default:P(()=>[f(O(A),{type:O(p)===`table`?`primary`:void 0,plain:``,class:`px-2!`,onClick:i[3]||=e=>p.value=`table`},{default:P(()=>[f(O(n),{icon:`mdi:table`})]),_:1},8,[`type`]),f(O(A),{type:O(p)===`cards`?`primary`:void 0,plain:``,class:`px-2!`,onClick:i[4]||=e=>p.value=`cards`},{default:P(()=>[f(O(n),{icon:`mdi:view-grid`})]),_:1},8,[`type`])]),_:1}),a.filtersActive?(g(),m(O(A),{key:0,plain:``,class:`px-2! p-1`,onClick:i[5]||=e=>o(`reset-filters`)},{default:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),_:1})):j(``,!0),f(O(A),{plain:``,class:`px-2! p-1`,onClick:i[6]||=e=>o(`adjust-list`)},{default:P(()=>[f(O(n),{icon:`mdi:slider`})]),_:1})]))}}),[[`__scopeId`,`data-v-7de8e0d9`]]),Dt={key:0,class:`h-full w-full leading-normal`},Ot={key:1,class:`h-full w-full leading-normal`},kt={key:2,class:`h-full w-full leading-normal`},At={class:`block`},jt=h({name:`ExtensionsTable`,__name:`extensions-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`reset-filters`,`selected-changes`,`update:sort-by`,`update:sort-dir`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),{isMDDevice:d}=de(),h=o(()=>a.totalRows===0),_=o(()=>a.items),y=({prop:e,order:t})=>{s(`update:sort-by`,e),s(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},b=e=>{s(`detail`,e.type)},x=(e,t)=>{s(`toggle-enabled`,e,t)},S=e=>{s(`selected-changes`,e)};return(r,o)=>E((g(),m(O(fe),{"element-loading-text":O(c)(`extensionsModule.texts.loadingExtensions`),data:_.value,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`type`,class:`flex-grow`,style:l({maxHeight:e.tableHeight+`px`}),"max-height":e.tableHeight,onSortChange:y,onSelectionChange:S,onRowClick:b},{empty:P(()=>[a.loading?(g(),t(`div`,Dt,[f(O(p),{class:`h-full w-full`},{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:puzzle`})]),secondary:P(()=>[f(O(n),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):h.value&&!a.loading?(g(),t(`div`,Ot,[f(O(p),{class:`h-full w-full`},{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:puzzle`})]),secondary:P(()=>[f(O(n),{icon:`mdi:information`})]),_:1})]),title:P(()=>[u(M(O(c)(`extensionsModule.texts.noExtensions`)),1)]),_:1})])):a.filtersActive&&!a.loading?(g(),t(`div`,kt,[f(O(p),{class:`h-full w-full`},{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:puzzle`})]),secondary:P(()=>[f(O(n),{icon:`mdi:filter-multiple`})]),_:1})]),title:P(()=>[f(O(H),{class:`block`},{default:P(()=>[u(M(O(c)(`extensionsModule.texts.noFilteredExtensions`)),1)]),_:1}),f(O(A),{type:`primary`,plain:``,class:`mt-4`,onClick:o[0]||=e=>s(`reset-filters`)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):j(``,!0)]),default:P(()=>[O(d)?(g(),m(O(Z),{key:0,type:`selection`,width:30})):j(``,!0),f(O(Z),{width:60,align:`center`},{default:P(e=>[f(O(se),{size:32},{default:P(()=>[f(O(n),{icon:e.row.kind===O(q).module?`mdi:package-variant`:`mdi:toy-brick`,class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),f(O(Z),{label:O(c)(`extensionsModule.table.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:P(e=>[e.row.description?(g(),t(F,{key:0},[i(`strong`,At,M(e.row.name),1),f(O(H),{size:`small`,class:`block leading-4`,truncated:``},{default:P(()=>[u(M(e.row.description),1)]),_:2},1024)],64)):(g(),t(F,{key:1},[u(M(e.row.name),1)],64))]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.type.title`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:200},{default:P(e=>[f(O(Y),{content:e.row.type,placement:`top`,"show-after":500},{default:P(()=>[f(O(H),{size:`small`,type:`info`,class:`block max-w-[180px]`,truncated:``},{default:P(()=>[u(M(e.row.type),1)]),_:2},1024)]),_:2},1032,[`content`])]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.kind.title`),prop:`kind`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:P(e=>[f(O(J),{type:e.row.kind===O(q).module?`primary`:`success`,size:`small`},{default:P(()=>[u(M(e.row.kind===O(q).module?O(c)(`extensionsModule.labels.module`):O(c)(`extensionsModule.labels.plugin`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.version.title`),prop:`version`,width:100},{default:P(e=>[e.row.version?(g(),m(O(H),{key:0,size:`small`},{default:P(()=>[u(M(e.row.version),1)]),_:2},1024)):(g(),m(O(H),{key:1,size:`small`,type:`info`},{default:P(()=>[...o[3]||=[u(` - `,-1)]]),_:1}))]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.core.title`),prop:`isCore`,width:100},{default:P(e=>[e.row.isCore?(g(),m(O(J),{key:0,type:`warning`,size:`small`},{default:P(()=>[u(M(O(c)(`extensionsModule.labels.core`)),1)]),_:1})):(g(),m(O(J),{key:1,type:`info`,size:`small`},{default:P(()=>[u(M(O(c)(`extensionsModule.labels.addon`)),1)]),_:1}))]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.enabled.title`),prop:`enabled`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:P(e=>[f(O(re),{"model-value":e.row.enabled,disabled:!e.row.canToggleEnabled,size:`small`,onClick:o[1]||=I(()=>{},[`stop`]),onChange:t=>x(e.row.type,t)},null,8,[`model-value`,`disabled`,`onChange`])]),_:1},8,[`label`]),f(O(Z),{width:100,align:`right`},{default:P(e=>[i(`div`,{onClick:o[2]||=I(()=>{},[`stop`])},[f(O(A),{size:`small`,plain:``,"data-test-id":`detail-extension`,onClick:t=>s(`detail`,e.row.type)},{icon:P(()=>[f(O(n),{icon:`mdi:file-search-outline`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[O(ke),a.loading]])}}),Mt=h({name:`ListExtensions`,__name:`list-extensions`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},viewMode:{},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`adjust-list`,`reset-filters`,`update:filters`,`update:view-mode`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`bulk-action`],setup(e,{emit:n}){let r=e,a=n,{t:c}=v(),{isMDDevice:l}=de(),u=null,d=_(null),p=_(null),h=G(r,`filters`,a),y=G(r,`viewMode`,a),b=_(r.sortBy),x=_(r.sortDir??null),w=_(r.paginatePage),E=_(r.paginateSize),D=_(250),k=_([]),A=o(()=>[{key:`enable`,label:c(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:c(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`}]),j=e=>{a(`detail`,e)},M=(e,t)=>{a(`toggle-enabled`,e,t)},N=()=>{a(`reset-filters`)},I=e=>{a(`update:paginate-size`,e)},L=e=>{a(`update:paginate-page`,e)},R=e=>{k.value=e},ee=e=>{a(`bulk-action`,e,k.value)},z=()=>{if(!d.value)return;let e=y.value===`table`?p.value?.clientHeight??60:0;D.value=d.value.clientHeight-e};return S(()=>{d.value&&(typeof window<`u`&&`ResizeObserver`in window&&(u=new ResizeObserver(z),u.observe(d.value)),z())}),s(()=>{u&&d.value&&u.unobserve(d.value)}),T(()=>b.value,e=>{a(`update:sort-by`,e)}),T(()=>x.value,e=>{a(`update:sort-dir`,e)}),T(()=>r.paginatePage,e=>{w.value=e}),T(()=>r.paginateSize,e=>{E.value=e}),T(()=>r.sortDir,e=>{x.value=e??null}),T(()=>r.sortBy,e=>{b.value=e}),T(()=>y.value,e=>{e===`cards`&&(k.value=[]),setTimeout(z,50)}),T(()=>l.value,e=>{e||(k.value=[])}),(e,n)=>(g(),t(F,null,[f(O(Q),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:P(()=>[f(Et,{filters:O(h),"onUpdate:filters":n[0]||=e=>C(h)?h.value=e:null,"view-mode":O(y),"onUpdate:viewMode":n[1]||=e=>C(y)?y.value=e:null,"filters-active":r.filtersActive,"selected-count":k.value.length,"bulk-actions":A.value,onResetFilters:n[2]||=e=>a(`reset-filters`),onAdjustList:n[3]||=e=>a(`adjust-list`),onBulkAction:ee},null,8,[`filters`,`view-mode`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),i(`div`,{ref_key:`wrapper`,ref:d,class:`grow-1 overflow-hidden`},[O(y)===`table`?(g(),m(O(Q),{key:0,shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! grow-1 max-h-full overflow-hidden flex flex-col`},{default:P(()=>[f(jt,{"sort-by":b.value,"onUpdate:sortBy":n[4]||=e=>b.value=e,"sort-dir":x.value,"onUpdate:sortDir":n[5]||=e=>x.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":D.value,onDetail:j,onToggleEnabled:M,onResetFilters:N,onSelectedChanges:R},null,8,[`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),i(`div`,{ref_key:`paginator`,ref:p,class:`flex justify-center w-full py-4 shrink-0`},[f(O(Te),{"current-page":w.value,"onUpdate:currentPage":n[6]||=e=>w.value=e,"page-size":E.value,"onUpdate:pageSize":n[7]||=e=>E.value=e,layout:O(l)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:I,onCurrentChange:L},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})):(g(),m(wt,{key:1,items:r.allItems,loading:r.loading,"filters-active":r.filtersActive,onDetail:j,onToggleEnabled:M,onResetFilters:N},null,8,[`items`,`loading`,`filters-active`]))],512)],64))}}),Nt={class:`px-2`},Pt={class:`px-2`},Ft={class:`px-2`},It={class:`px-5 py-2 text-center`},Lt=a(h({name:`ListExtensionsAdjust`,__name:`list-extensions-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:r}){let a=e,o=r,s=d(`list-extensions-adjust`),{t:c}=v(),l=_([`kind`,`enabled`,`isCore`]),p=G(a,`filters`,o);return(e,r)=>(g(),t(F,null,[f(O(oe),{teleport:``},{icon:P(()=>[f(O(n),{icon:`mdi:filter`})]),title:P(()=>[u(M(O(c)(`extensionsModule.headings.adjustFilters`)),1)]),subtitle:P(()=>[u(M(O(c)(`extensionsModule.subHeadings.adjustFilters`)),1)]),_:1}),i(`div`,{class:b([[O(s).b()],`flex flex-col h-full w-full overflow-hidden`])},[f(O(U),{class:`flex-grow`},{default:P(()=>[f(O(Se),{modelValue:l.value,"onUpdate:modelValue":r[3]||=e=>l.value=e},{default:P(()=>[f(O(xe),{name:`kind`,class:b([O(s).e(`filter-item`)])},{title:P(()=>[f(O(H),{class:`!px-2`},{default:P(()=>[u(M(O(c)(`extensionsModule.filters.kind.title`)),1)]),_:1})]),default:P(()=>[i(`div`,Nt,[f(O(be),{modelValue:O(p).kind,"onUpdate:modelValue":r[0]||=e=>O(p).kind=e},{default:P(()=>[f(O($),{label:O(c)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),f(O(xe),{name:`enabled`,class:b([O(s).e(`filter-item`)])},{title:P(()=>[f(O(H),{class:`!px-2`},{default:P(()=>[u(M(O(c)(`extensionsModule.filters.enabled.title`)),1)]),_:1})]),default:P(()=>[i(`div`,Pt,[f(O(be),{modelValue:O(p).enabled,"onUpdate:modelValue":r[1]||=e=>O(p).enabled=e},{default:P(()=>[f(O($),{label:O(c)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.enabled`),value:`enabled`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.disabled`),value:`disabled`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),f(O(xe),{name:`isCore`,class:b([O(s).e(`filter-item`)])},{title:P(()=>[f(O(H),{class:`!px-2`},{default:P(()=>[u(M(O(c)(`extensionsModule.filters.type.title`)),1)]),_:1})]),default:P(()=>[i(`div`,Ft,[f(O(be),{modelValue:O(p).isCore,"onUpdate:modelValue":r[2]||=e=>O(p).isCore=e},{default:P(()=>[f(O($),{label:O(c)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.core`),value:`core`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.addon`),value:`addon`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),i(`div`,It,[f(O(A),{disabled:!a.filtersActive,onClick:r[4]||=e=>o(`reset-filters`)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-remove`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-1f502633`]]),Rt={class:`flex flex-col gap-3`},zt={class:`flex items-center justify-between gap-4`},Bt={class:`flex items-center gap-3 min-w-0 flex-1`},Vt={class:`flex items-center justify-center w-10 h-10 rounded-lg bg-gray-100 dark:bg-gray-800`},Ht={class:`min-w-0 flex-1`},Ut={class:`flex items-center gap-2 flex-wrap`},Wt={class:`font-medium text-base truncate`},Gt={class:`text-xs text-gray-500 dark:text-gray-400 truncate mt-1`},Kt={class:`flex items-center gap-2 mt-1 flex-wrap`},qt={class:`flex items-center gap-1`},Jt={class:`flex items-center gap-2`},Yt={class:`flex items-center gap-6 text-sm text-gray-500 dark:text-gray-400 flex-wrap`},Xt={key:0,class:`flex items-center gap-1`},Zt={key:1,class:`flex items-center gap-1`},Qt={key:2,class:`flex items-center gap-1`},$t={class:`flex items-center gap-1`},en=h({name:`ServiceItem`,__name:`service-item`,props:{service:{},extensionName:{},acting:{type:Boolean}},emits:[`start`,`stop`,`restart`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),l=o(()=>a.service.state===X.starting||a.service.state===X.stopping),d=o(()=>a.service.state===X.stopped||a.service.state===X.error),p=o(()=>a.service.state===X.started||a.service.state===X.starting),h=o(()=>a.service.activationPolicy===ae.always),_=o(()=>d.value),y=o(()=>p.value),x=o(()=>a.service.state===X.started),S=o(()=>_.value&&a.service.desiredState===L.started&&!l.value&&!a.acting),C=o(()=>y.value&&a.service.state!==X.stopping&&!a.acting),w=o(()=>x.value&&a.service.desiredState===L.started&&!l.value&&!a.acting),T=o(()=>a.service.desiredState===L.stopped?c(`extensionsModule.services.tooltips.disabledExtension`):l.value?c(`extensionsModule.services.tooltips.transitioning`):c(`extensionsModule.services.tooltips.startService`)),E=o(()=>a.service.state===X.stopping?c(`extensionsModule.services.tooltips.transitioning`):c(`extensionsModule.services.tooltips.stopService`)),D=o(()=>a.service.desiredState===L.stopped?c(`extensionsModule.services.tooltips.disabledExtension`):l.value?c(`extensionsModule.services.tooltips.transitioning`):c(`extensionsModule.services.tooltips.restartService`)),k=o(()=>{let e=a.service.state;return c(`extensionsModule.services.states.${e}`)}),N=o(()=>c(`extensionsModule.services.desiredStates.${a.service.desiredState}`)),F=o(()=>{switch(a.service.state){case X.started:return`success`;case X.stopped:return`info`;case X.starting:case X.stopping:return`warning`;case X.error:return`danger`;default:return`info`}}),I=o(()=>{switch(a.service.state){case X.started:return`mdi:check-circle`;case X.stopped:return`mdi:stop-circle`;case X.starting:case X.stopping:return`mdi:loading`;case X.error:return`mdi:alert-circle`;default:return`mdi:help-circle`}}),R=o(()=>{switch(a.service.state){case X.started:return`text-green-500`;case X.stopped:return`text-gray-400`;case X.starting:case X.stopping:return`text-yellow-500 animate-spin`;case X.error:return`text-red-500`;default:return`text-gray-400`}}),ee=o(()=>{if(a.service.uptimeMs===void 0)return`-`;let e=Math.floor(a.service.uptimeMs/1e3),t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=[];return t>0&&i.push(`${t}d`),n>0&&i.push(`${n}h`),(r>0||i.length===0)&&i.push(`${r}m`),i.join(` `)}),z=o(()=>a.service.lastStartedAt?new Date(a.service.lastStartedAt).toLocaleString():`-`),B=()=>{s(`start`)},V=()=>{s(`stop`)},te=()=>{s(`restart`)};return(r,a)=>(g(),m(O(Q),{shadow:`never`,class:`service-item`,"body-class":`p-3!`},{default:P(()=>[i(`div`,Rt,[i(`div`,zt,[i(`div`,Bt,[i(`div`,Vt,[f(O(n),{icon:I.value,class:b([`w-5 h-5`,R.value])},null,8,[`icon`,`class`])]),i(`div`,Ht,[i(`div`,Ut,[i(`span`,Wt,M(e.extensionName??e.service.extensionType),1),f(O(J),{size:`small`,type:`info`},{default:P(()=>[u(M(e.service.serviceId),1)]),_:1})]),i(`div`,Gt,M(e.service.extensionType),1),i(`div`,Kt,[f(O(J),{type:F.value,size:`small`,effect:`light`},{default:P(()=>[i(`div`,qt,[l.value?(g(),m(O(n),{key:0,icon:`mdi:loading`,class:`animate-spin w-3 h-3`})):j(``,!0),u(` `+M(k.value),1)])]),_:1},8,[`type`]),e.service.enabled?j(``,!0):(g(),m(O(J),{key:0,type:`warning`,size:`small`,effect:`light`},{default:P(()=>[u(M(O(c)(`extensionsModule.services.texts.extensionDisabled`)),1)]),_:1})),h.value?(g(),m(O(J),{key:1,type:`primary`,size:`small`,effect:`light`},{default:P(()=>[u(M(O(c)(`extensionsModule.services.activationPolicies.always`)),1)]),_:1})):j(``,!0),e.service.healthy===void 0?j(``,!0):(g(),m(O(J),{key:2,type:e.service.healthy?`success`:`danger`,size:`small`,effect:`light`},{default:P(()=>[u(M(e.service.healthy?O(c)(`extensionsModule.services.labels.healthy`):O(c)(`extensionsModule.services.labels.unhealthy`)),1)]),_:1},8,[`type`]))])])]),i(`div`,Jt,[_.value?(g(),m(O(Y),{key:0,content:T.value,placement:`top`},{default:P(()=>[f(O(A),{type:`success`,size:`small`,plain:``,disabled:!S.value,loading:e.acting,onClick:B},{icon:P(()=>[f(O(n),{icon:`mdi:play`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.services.buttons.start`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):j(``,!0),y.value?(g(),m(O(Y),{key:1,content:E.value,placement:`top`},{default:P(()=>[f(O(A),{type:`danger`,size:`small`,plain:``,disabled:!C.value,loading:e.acting,onClick:V},{icon:P(()=>[f(O(n),{icon:`mdi:stop`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.services.buttons.stop`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):j(``,!0),x.value?(g(),m(O(Y),{key:2,content:D.value,placement:`top`},{default:P(()=>[f(O(A),{type:`primary`,size:`small`,plain:``,disabled:!w.value,loading:e.acting,onClick:te},{icon:P(()=>[f(O(n),{icon:`mdi:restart`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.services.buttons.restart`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):j(``,!0)])]),i(`div`,Yt,[e.service.state===`started`&&e.service.uptimeMs!==void 0?(g(),t(`div`,Xt,[f(O(n),{icon:`mdi:clock-outline`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.uptime`))+`: `+M(ee.value),1)])):j(``,!0),e.service.startCount>0?(g(),t(`div`,Zt,[f(O(n),{icon:`mdi:counter`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.startCount`))+`: `+M(e.service.startCount),1)])):j(``,!0),e.service.lastStartedAt?(g(),t(`div`,Qt,[f(O(n),{icon:`mdi:play-circle-outline`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.lastStarted`))+`: `+M(z.value),1)])):j(``,!0),i(`div`,$t,[f(O(n),{icon:`mdi:target`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.desiredState`))+`: `+M(N.value),1)])]),e.service.lastError?(g(),m(O(ge),{key:0,type:e.service.state===O(X).error?`error`:`warning`,title:O(c)(`extensionsModule.services.labels.lastError`),description:e.service.lastError,"show-icon":``,closable:!1},null,8,[`type`,`title`,`description`])):j(``,!0)])]),_:1}))}}),tn=e=>({modules:e.filter(e=>e.extensionKind===q.module),plugins:e.filter(e=>e.extensionKind===q.plugin)}),nn={class:`h-full flex flex-col gap-3 overflow-hidden`},rn={class:`flex items-center gap-2`},an={key:1,class:`flex flex-col gap-3`},on=a(h({name:`ServicesList`,__name:`services-list`,props:{activeKind:{},services:{},loading:{type:Boolean},extensionNames:{},isActing:{type:Function}},emits:[`update:activeKind`,`start`,`stop`,`restart`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),l=o({get:()=>a.activeKind,set:e=>s(`update:activeKind`,e)}),d=o(()=>{let e=tn(a.services);return[{name:q.module,label:c(`extensionsModule.tabs.modules`),icon:`mdi:package-variant`,services:e.modules},{name:q.plugin,label:c(`extensionsModule.tabs.plugins`),icon:`mdi:toy-brick`,services:e.plugins}]}),h=(e,t)=>`${e}:${t}`,_=(e,t,n)=>{s(`start`,e,t,n)},y=(e,t,n)=>{s(`stop`,e,t,n)},b=(e,t,n)=>{s(`restart`,e,t,n)};return(r,a)=>(g(),t(`div`,nn,[e.loading&&e.services.length===0?(g(),m(O(he),{key:0,rows:5,animated:``})):e.services.length===0?(g(),m(O(p),{key:1,icon:`info`,title:O(c)(`extensionsModule.services.texts.noServices`)},null,8,[`title`])):(g(),t(F,{key:2},[f(O(ge),{class:`shrink-0`,type:`info`,description:O(c)(`extensionsModule.services.texts.alwaysActiveDescription`),"show-icon":``,closable:!1},null,8,[`description`]),f(O(De),{modelValue:l.value,"onUpdate:modelValue":a[0]||=e=>l.value=e,class:`services-kind-tabs grow-1 min-h-0 overflow-hidden`},{default:P(()=>[(g(!0),t(F,null,D(d.value,r=>(g(),m(O(Oe),{key:r.name,name:r.name,class:`h-full`},{label:P(()=>[i(`div`,rn,[f(O(n),{icon:r.icon},null,8,[`icon`]),u(` `+M(r.label),1)])]),default:P(()=>[f(O(U),{class:`h-full`},{default:P(()=>[r.services.length===0?(g(),m(O(p),{key:0,icon:`info`,title:O(c)(`extensionsModule.services.texts.noServices`)},null,8,[`title`])):(g(),t(`div`,an,[(g(!0),t(F,null,D(r.services,t=>(g(),m(en,{key:O(je)(t.extensionKind,t.extensionType,t.serviceId),service:t,"extension-name":e.extensionNames?.[h(t.extensionKind,t.extensionType)],acting:e.isActing(t.extensionKind,t.extensionType,t.serviceId),onStart:e=>_(t.extensionKind,t.extensionType,t.serviceId),onStop:e=>y(t.extensionKind,t.extensionType,t.serviceId),onRestart:e=>b(t.extensionKind,t.extensionType,t.serviceId)},null,8,[`service`,`extension-name`,`acting`,`onStart`,`onStop`,`onRestart`]))),128))]))]),_:2},1024)]),_:2},1032,[`name`]))),128))]),_:1},8,[`modelValue`])],64))]))}}),[[`__scopeId`,`data-v-510d5e30`]]);export{Ge as a,St as i,Lt as n,Mt as r,on as t};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{A as e,Ar as t,D as n,Di as r,Dr as i,E as a,Er as o,Gr as s,H as c,Ki as l,Mr as u,Mt as d,Nr as f,O as p,Or as m,Pr as h,Qr as g,Si as _,T as v,Vr as y,Wi as b,Wr as x,Yr as S,_i as C,bi as w,ci as T,di as E,ei as D,ji as O,jr as k,k as A,kr as j,qi as M,t as N,ui as P,xr as F,yr as I}from"./icon-with-child-CgZMNB3F.js";import{Cn as L,Dr as R,Er as ee,Fr as z,Ir as B,Lr as V,Lt as te,M as ne,Mr as H,Nr as re,Or as ie,Qr as U,Rr as W,Sn as ae,Sr as G,Tr as oe,Zr as se,br as ce,ei as le,er as K,jn as q,jr as ue,qr as J,ri as Y,wn as X,yr as de}from"./common-D4Z2wgrj.js";import{n as Z,t as fe}from"./table-CeNNpGH7.js";import{n as pe,t as me}from"./form-Wa6uIXea.js";import{t as he}from"./skeleton-DkyCzTs7.js";import{t as ge}from"./alert-I-oSc4A8.js";import{t as _e}from"./input-number-Cqu-p2BC.js";import{r as ve,t as ye}from"./select-CTZp3DyT.js";import{t as Q}from"./card-C50YgvLJ.js";import{n as $,r as be}from"./radio-DvF3ArlX.js";import{n as xe,t as Se}from"./collapse-hdC45R5w.js";import{t as Ce}from"./drawer-Dnlv6Zc7.js";import{t as we}from"./empty-DvXiCUNF.js";import{t as Te}from"./pagination-BFOA9Lqt.js";import{g as Ee}from"./components-DGTDixMX.js";import{n as De,t as Oe}from"./tabs-CXWSFwGj.js";import{t as ke}from"./directive-D42ORGRu.js";import"./system-BHTxM7b2.js";import{n as Ae,o as je}from"./composables-BgJl3zKR.js";var Me={class:`p-4`},Ne={class:`text-sm font-semibold uppercase tracking-wide mb-2 text-gray-500`},Pe={class:`grid grid-cols-1 gap-3`},Fe={class:`flex items-start gap-3`},Ie={key:0,class:`shrink-0 mt-1`},Le={class:`flex-1 min-w-0`},Re={class:`flex items-center gap-2 mb-1`},ze={class:`font-medium`},Be={key:0,class:`text-sm text-gray-500 m-0 mb-3`},Ve={class:`truncate flex-1`},He={class:`shrink-0`},Ue={class:`shrink-0`},We={class:`shrink-0`},Ge=h({name:`ExtensionActions`,__name:`extension-actions`,props:{extensionType:{}},setup(e){let r=e,{t:a}=v(),{actions:s,isLoading:c,executingActions:l,executeAction:d,fetchActionHistory:p}=te(),h=w({}),_=w({}),y=w({}),x=e=>new Date(e).toLocaleString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),S=async e=>{y[e]=await p(r.extensionType,e)},C=e=>(h[e]||(h[e]={}),h[e]),E=(e,t)=>C(e)[t],N=(e,t,n)=>{C(e)[t]=n},I=(e,t)=>C(e)[t],L=(e,t,n)=>{C(e)[t]=n},R=(e,t)=>{let n=C(e)[t];return typeof n==`boolean`&&n},ee=(e,t,n)=>{C(e)[t]=n},z=(e,t)=>{let n=C(e)[t];return Array.isArray(n)?void 0:n},B=(e,t,n)=>{C(e)[t]=n},V=(e,t)=>{let n=C(e)[t];return Array.isArray(n)?n:[]},ne=(e,t,n)=>{C(e)[t]=n},ie=()=>{let e=new Set(s.value.map(e=>e.id));for(let t of Object.keys(h))e.has(t)||delete h[t];for(let t of Object.keys(_))e.has(t)||delete _[t];for(let t of Object.keys(y))e.has(t)||delete y[t];for(let e of s.value){h[e.id]={};for(let t of e.parameters??[])t.default!==void 0&&(h[e.id][t.name]=t.default)}},U=o(()=>{let e={};for(let t of s.value){let n=t.category??`general`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({name:e,actions:t}))}),W=async e=>{if(e.dangerous)try{await ue.confirm(a(`extensionsModule.actions.messages.confirmDangerous`),e.label,{confirmButtonText:a(`extensionsModule.actions.buttons.confirm`),cancelButtonText:a(`extensionsModule.actions.buttons.cancel`),type:`warning`})}catch{return}delete _[e.id];let t=h[e.id]??{},n=await d(r.extensionType,e.id,t);_[e.id]=n,S(e.id)};return T(s,()=>{ie();for(let e of s.value)S(e.id)},{immediate:!0}),(e,r)=>(g(),t(`div`,Me,[O(c)?(g(),m(O(he),{key:0,rows:4,animated:``})):O(s).length===0?(g(),m(O(we),{key:1,description:O(a)(`extensionsModule.actions.messages.noActions`)},null,8,[`description`])):(g(!0),t(F,{key:2},D(U.value,e=>(g(),t(`div`,{key:e.name,class:`mb-4`},[i(`h4`,Ne,M(O(a)(`extensionsModule.actions.labels.category.${e.name}`)),1),i(`div`,Pe,[(g(!0),t(F,null,D(e.actions,e=>(g(),m(O(Q),{key:e.id,shadow:`hover`,"body-class":`p-4!`},{default:P(()=>[i(`div`,Fe,[e.icon?(g(),t(`div`,Ie,[f(O(n),{icon:e.icon,class:`w-6 h-6 text-gray-500`},null,8,[`icon`])])):j(``,!0),i(`div`,Le,[i(`div`,Re,[i(`span`,ze,M(e.label),1),e.mode===`interactive`?(g(),m(O(J),{key:0,size:`small`,type:`info`},{default:P(()=>[u(M(O(a)(`extensionsModule.actions.labels.comingSoon`)),1)]),_:1})):j(``,!0),e.dangerous?(g(),m(O(J),{key:1,size:`small`,type:`danger`},{default:P(()=>[u(M(O(a)(`extensionsModule.actions.labels.dangerous`)),1)]),_:1})):j(``,!0)]),e.description?(g(),t(`p`,Be,M(e.description),1)):j(``,!0),e.mode===`immediate`&&e.parameters?.length?(g(),m(O(me),{key:1,model:C(e.id),"label-position":`top`,class:`mb-3`,size:`small`},{default:P(()=>[(g(!0),t(F,null,D(e.parameters,n=>(g(),m(O(pe),{key:n.name,label:n.label,class:`mb-2!`},k({default:P(()=>[n.type===`string`?(g(),m(O(le),{key:0,"model-value":E(e.id,n.name),placeholder:n.label,"onUpdate:modelValue":t=>N(e.id,n.name,t)},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`])):n.type===`number`?(g(),m(O(_e),{key:1,"model-value":I(e.id,n.name),min:n.validation?.min,max:n.validation?.max,"controls-position":`right`,class:`w-full!`,"onUpdate:modelValue":t=>L(e.id,n.name,t)},null,8,[`model-value`,`min`,`max`,`onUpdate:modelValue`])):n.type===`boolean`?(g(),m(O(re),{key:2,"model-value":R(e.id,n.name),"onUpdate:modelValue":t=>ee(e.id,n.name,!!t)},null,8,[`model-value`,`onUpdate:modelValue`])):n.type===`select`?(g(),m(O(ve),{key:3,"model-value":z(e.id,n.name),placeholder:n.label,class:`w-full!`,"onUpdate:modelValue":t=>B(e.id,n.name,t)},{default:P(()=>[(g(!0),t(F,null,D(n.options,e=>(g(),m(O(ye),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):n.type===`multi_select`?(g(),m(O(ve),{key:4,"model-value":V(e.id,n.name),placeholder:n.label,multiple:``,class:`w-full!`,"onUpdate:modelValue":t=>ne(e.id,n.name,t)},{default:P(()=>[(g(!0),t(F,null,D(n.options,e=>(g(),m(O(ye),{key:String(e.value),label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])):j(``,!0)]),_:2},[n.description||n.required?{name:`label`,fn:P(()=>[i(`span`,null,M(n.label),1),n.required?(g(),m(O(H),{key:0,type:`danger`,class:`ml-1`},{default:P(()=>[...r[0]||=[u(` * `,-1)]]),_:1})):j(``,!0),n.description?(g(),m(O(H),{key:1,class:`block text-xs! font-normal`,type:`info`},{default:P(()=>[u(M(n.description),1)]),_:2},1024)):j(``,!0)]),key:`0`}:void 0]),1032,[`label`]))),128))]),_:2},1032,[`model`])):j(``,!0),_[e.id]?(g(),m(O(ge),{key:2,type:_[e.id].success?`success`:`error`,title:_[e.id].message||(_[e.id].success?O(a)(`extensionsModule.actions.messages.success`):O(a)(`extensionsModule.actions.messages.error`)),"show-icon":``,closable:``,class:`mb-2`,onClose:t=>delete _[e.id]},null,8,[`type`,`title`,`onClose`])):j(``,!0),y[e.id]?.length?(g(),m(O(Se),{key:3,class:`mt-2`},{default:P(()=>[f(O(xe),{title:O(a)(`extensionsModule.actions.labels.history`,{count:y[e.id].length})},{default:P(()=>[(g(!0),t(F,null,D(y[e.id],e=>(g(),t(`div`,{key:e.id,class:`flex items-center gap-2 py-1 text-xs text-gray-500 border-b border-gray-100 last:border-b-0`},[f(O(n),{icon:e.success?`mdi:check-circle`:`mdi:alert-circle`,class:b([e.success?`text-green-500`:`text-red-500`,`w-4 h-4 shrink-0`])},null,8,[`icon`,`class`]),i(`span`,Ve,M(e.message||(e.success?O(a)(`extensionsModule.actions.messages.success`):O(a)(`extensionsModule.actions.messages.error`))),1),i(`span`,He,M(e.duration_ms)+`ms`,1),i(`span`,Ue,M(x(e.timestamp)),1)]))),128))]),_:2},1032,[`title`])]),_:2},1024)):j(``,!0)]),i(`div`,We,[e.mode===`immediate`&&e.allowed===!1?(g(),m(O(Y),{key:0,content:O(a)(`extensionsModule.actions.messages.insufficientPermissions`)},{default:P(()=>[f(O(A),{type:`primary`,disabled:``},{icon:P(()=>[f(O(n),{icon:`mdi:lock`})]),default:P(()=>[u(` `+M(O(a)(`extensionsModule.actions.buttons.run`)),1)]),_:1})]),_:1},8,[`content`])):e.mode===`immediate`?(g(),m(O(A),{key:1,type:`primary`,loading:O(l).has(e.id),disabled:O(l).has(e.id),onClick:t=>W(e)},{icon:P(()=>[f(O(n),{icon:`mdi:play`})]),default:P(()=>[u(` `+M(O(a)(`extensionsModule.actions.buttons.run`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):(g(),m(O(Y),{key:2,content:O(a)(`extensionsModule.actions.messages.interactiveNotAvailable`)},{default:P(()=>[f(O(A),{disabled:``},{icon:P(()=>[f(O(n),{icon:`mdi:console`})]),default:P(()=>[u(` `+M(O(a)(`extensionsModule.actions.buttons.run`)),1)]),_:1})]),_:1},8,[`content`]))])])]),_:2},1024))),128))])]))),128))]))}}),Ke={class:`extension-card__header`},qe={class:`extension-card__header-content`},Je={class:`extension-card__title`},Ye={class:`extension-card__tags`},Xe={class:`extension-card__content`},Ze={key:0,class:`extension-card__description`},Qe={key:1,class:`extension-card__description extension-card__description--empty`},$e={class:`extension-card__meta`},et={key:0,class:`extension-card__meta-item`},tt={key:1,class:`extension-card__author`},nt={class:`extension-card__footer`},rt={class:`extension-card__links`},it={class:`flex items-center w-full`},at={class:`flex items-center w-full`},ot=a(h({name:`ExtensionCard`,__name:`extension-card`,props:{extension:{}},emits:[`toggle-enabled`,`detail`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),l=o(()=>a.extension.kind===q.module?`mdi:package-variant`:`mdi:toy-brick`),d=o(()=>a.extension.isCore&&a.extension.kind===q.module?c(`extensionsModule.tooltips.coreModuleCannotBeDisabled`):c(`extensionsModule.tooltips.cannotToggleEnabled`)),p=o(()=>a.extension.isCore?c(`extensionsModule.tooltips.coreCannotBeRemoved`):c(`extensionsModule.tooltips.removeNotSupported`)),h=()=>{s(`detail`,a.extension.type)},_=e=>{switch(e){case`enable`:s(`toggle-enabled`,a.extension.type,!0);break;case`disable`:s(`toggle-enabled`,a.extension.type,!1);break;case`delete`:break}},y=e=>{window.open(e,`_blank`,`noopener,noreferrer`)};return(r,a)=>(g(),m(O(Q),{class:b([`extension-card`,{"extension-card--disabled":!e.extension.enabled}]),shadow:`hover`,"header-class":`py-2!`,"body-class":`py-3!`,"footer-class":`py-2! px-4!`},{header:P(()=>[i(`div`,Ke,[f(O(n),{icon:l.value,class:`extension-card__icon`},null,8,[`icon`]),i(`div`,qe,[i(`h3`,Je,M(e.extension.name),1),i(`div`,Ye,[f(O(J),{type:e.extension.kind===O(q).module?`primary`:`success`,size:`small`},{default:P(()=>[u(M(e.extension.kind===O(q).module?O(c)(`extensionsModule.labels.module`):O(c)(`extensionsModule.labels.plugin`)),1)]),_:1},8,[`type`]),e.extension.isCore?(g(),m(O(J),{key:0,type:`warning`,size:`small`},{default:P(()=>[u(M(O(c)(`extensionsModule.labels.core`)),1)]),_:1})):j(``,!0),f(O(J),{type:e.extension.enabled?`success`:`info`,size:`small`},{default:P(()=>[u(M(e.extension.enabled?O(c)(`extensionsModule.labels.enabled`):O(c)(`extensionsModule.labels.disabled`)),1)]),_:1},8,[`type`])])])])]),footer:P(()=>[i(`div`,nt,[i(`div`,rt,[e.extension.links?.documentation?(g(),m(O(A),{key:0,type:`primary`,size:`small`,link:``,onClick:a[0]||=I(t=>y(e.extension.links.documentation),[`stop`])},{default:P(()=>[f(O(n),{icon:`mdi:book-open-page-variant`,class:`mr-1`}),u(` `+M(O(c)(`extensionsModule.buttons.documentation`)),1)]),_:1})):j(``,!0),e.extension.links?.repository?(g(),m(O(A),{key:1,type:`primary`,size:`small`,link:``,onClick:a[1]||=I(t=>y(e.extension.links.repository),[`stop`])},{default:P(()=>[f(O(n),{icon:`mdi:github`,class:`mr-1`}),u(` `+M(O(c)(`extensionsModule.buttons.repository`)),1)]),_:1})):j(``,!0),e.extension.links?.bugsTracking?(g(),m(O(A),{key:2,type:`primary`,size:`small`,link:``,onClick:a[2]||=I(t=>y(e.extension.links.bugsTracking),[`stop`])},{default:P(()=>[f(O(n),{icon:`mdi:bug`,class:`mr-1`}),u(` `+M(O(c)(`extensionsModule.buttons.issues`)),1)]),_:1})):j(``,!0)]),f(O(z),{"split-button":``,size:`small`,trigger:`click`,onClick:h,onCommand:_},{dropdown:P(()=>[f(O(V),null,{default:P(()=>[f(O(B),{command:e.extension.enabled?`disable`:`enable`,disabled:!e.extension.canToggleEnabled},{default:P(()=>[f(O(Y),{content:d.value,disabled:e.extension.canToggleEnabled,placement:`left`},{default:P(()=>[i(`span`,it,[f(O(n),{icon:e.extension.enabled?`mdi:toggle-switch-off`:`mdi:toggle-switch`,class:`mr-2`},null,8,[`icon`]),u(` `+M(e.extension.enabled?O(c)(`extensionsModule.buttons.disable`):O(c)(`extensionsModule.buttons.enable`)),1)])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`command`,`disabled`]),f(O(B),{command:`delete`,disabled:``,divided:``},{default:P(()=>[f(O(Y),{content:p.value,placement:`left`},{default:P(()=>[i(`span`,at,[f(O(n),{icon:`mdi:delete`,class:`mr-2`}),u(` `+M(O(c)(`extensionsModule.buttons.remove`)),1)])]),_:1},8,[`content`])]),_:1})]),_:1})]),default:P(()=>[u(M(O(c)(`extensionsModule.buttons.detail.title`))+` `,1)]),_:1})])]),default:P(()=>[i(`div`,Xe,[e.extension.description?(g(),t(`p`,Ze,M(e.extension.description),1)):(g(),t(`p`,Qe,M(O(c)(`extensionsModule.messages.noDescription`)),1)),i(`div`,$e,[e.extension.version?(g(),t(`div`,et,[f(O(n),{icon:`mdi:tag`,class:`extension-card__meta-icon`}),i(`span`,null,M(e.extension.version),1)])):j(``,!0),e.extension.author?(g(),t(`div`,tt,[f(O(n),{icon:`mdi:account`,class:`extension-card__author-icon`}),i(`span`,null,M(e.extension.author),1)])):j(``,!0)])])]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-32ba1b6c`]]),st={class:`h-full w-full flex flex-col`},ct={class:`flex items-center justify-between p-2 border-b`},lt={class:`flex items-center gap-2`},ut={class:`flex items-center gap-2`},dt={key:0,class:`flex-1 flex items-center justify-center`},ft={key:1,class:`flex-1 flex items-center justify-center`},pt={key:2,class:`flex-1 flex items-center justify-center`},mt=[`onClick`],ht={class:`grid grid-cols-[140px_70px_1fr] gap-3 items-center`},gt={class:`font-mono text-xs`},_t={class:`truncate text-sm`},vt={class:`py-3 text-center`},yt={key:0,class:`text-xs text-gray-400`},bt={class:`flex flex-col h-full`},xt={class:`flex flex-col overflow-hidden h-full`},St=h({name:`ExtensionLogs`,__name:`extension-logs`,props:{extensionType:{},live:{type:Boolean}},emits:[`update:live`],setup(e,{emit:a}){let s=e,l=a,{t:d}=v(),{logs:h,hasMore:b,isLoading:S,loaded:w,live:k,filterLevels:I,filterTimeRange:L,filtersActive:z,clearFilters:B,fetchLogs:V,loadMoreLogs:te,refreshLogs:ne}=Ae({extensionType:r(()=>s.extensionType)}),H=G(s,`live`,l,{defaultValue:!1}),W=_(null),ae=o({get:()=>W.value!==null,set:e=>{e||(W.value=null)}}),se=[K.error,K.warn,K.info,K.debug,K.fatal,K.log,K.success,K.fail],le=o(()=>[{value:`all`,label:d(`extensionsModule.texts.logs.timeRange.all`)},{value:`1h`,label:d(`extensionsModule.texts.logs.timeRange.1h`)},{value:`6h`,label:d(`extensionsModule.texts.logs.timeRange.6h`)},{value:`24h`,label:d(`extensionsModule.texts.logs.timeRange.24h`)},{value:`7d`,label:d(`extensionsModule.texts.logs.timeRange.7d`)}]);T(H,e=>{k.value=e},{immediate:!0}),T(k,e=>{H.value=e});let q=()=>{ne()},ue=()=>{te()},X=e=>ce(new Date(e)),de=e=>new Date(e).toISOString(),Z=e=>{let t=e.toLowerCase();return[`fatal`,`error`,`fail`].includes(t)?{type:`danger`,effect:`light`}:[`warn`,`box`].includes(t)?{type:`warning`,effect:`light`}:[`success`,`ready`,`start`,`info`,`log`].includes(t)?{type:`success`,effect:`light`}:{effect:`plain`,class:`tag-neutral`}};return x(()=>{V()}),(e,r)=>(g(),t(`div`,st,[i(`div`,ct,[i(`div`,lt,[f(O(A),{size:`small`,onClick:q},{icon:P(()=>[f(O(n),{icon:`mdi:refresh`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.refresh`)),1)]),_:1}),f(O(re),{modelValue:O(H),"onUpdate:modelValue":r[0]||=e=>C(H)?H.value=e:null,size:`small`,"active-text":O(d)(`extensionsModule.labels.live`)},null,8,[`modelValue`,`active-text`])]),i(`div`,ut,[f(O(ve),{modelValue:O(I),"onUpdate:modelValue":r[1]||=e=>C(I)?I.value=e:null,size:`small`,class:`w-[200px]!`,clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:O(d)(`extensionsModule.texts.logs.allLevels`)},{default:P(()=>[(g(),t(F,null,D(se,e=>f(O(ye),{key:e,label:O(d)(`systemModule.levels.${e}`),value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`]),f(O(ve),{modelValue:O(L),"onUpdate:modelValue":r[2]||=e=>C(L)?L.value=e:null,size:`small`,class:`w-[140px]!`},{default:P(()=>[(g(!0),t(F,null,D(le.value,e=>(g(),m(O(ye),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),O(z)?(g(),m(O(A),{key:0,size:`small`,onClick:O(B)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])):j(``,!0)])]),!O(w)&&O(S)?(g(),t(`div`,dt,[f(O(p),null,{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:console`})]),secondary:P(()=>[f(O(n),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):O(z)&&O(h).length===0?(g(),t(`div`,ft,[f(O(p),null,{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:console`})]),secondary:P(()=>[f(O(n),{icon:`mdi:filter-multiple`})]),_:1})]),title:P(()=>[u(M(O(d)(`extensionsModule.texts.logs.noFilteredLogs`)),1)]),"sub-title":P(()=>[f(O(A),{type:`primary`,plain:``,class:`mt-2`,onClick:O(B)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1},8,[`onClick`])]),_:1})])):O(h).length===0?(g(),t(`div`,pt,[f(O(p),null,{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:console`})]),secondary:P(()=>[f(O(n),{icon:`mdi:information`})]),_:1})]),title:P(()=>[u(M(O(d)(`extensionsModule.texts.logs.noLogs`)),1)]),"sub-title":P(()=>[u(M(O(d)(`extensionsModule.texts.logs.noLogsDescription`)),1)]),_:1})])):E((g(),m(O(U),{key:3,class:`flex-1`},{default:P(()=>[i(`div`,null,[(g(!0),t(F,null,D(O(h),e=>(g(),t(`div`,{key:e.id,class:`px-3 py-2 border-b hover:bg-[var(--el-fill-color-light)] cursor-pointer`,onClick:t=>W.value=e},[i(`div`,ht,[i(`span`,gt,[f(O(Y),{content:de(e.ts),placement:`top-start`},{default:P(()=>[u(M(X(e.ts)),1)]),_:2},1032,[`content`])]),f(O(J),y({ref_for:!0},Z(e.type),{size:`small`,class:`justify-self-start`}),{default:P(()=>[u(M(e.type),1)]),_:2},1040),i(`div`,_t,M(e.message??O(d)(`extensionsModule.texts.logs.noMessage`)),1)])],8,mt))),128)),i(`div`,vt,[O(b)?j(``,!0):(g(),t(`span`,yt,M(O(d)(`extensionsModule.texts.logs.noMoreEntries`)),1)),O(b)?(g(),m(O(A),{key:1,loading:O(S),onClick:ue},{icon:P(()=>[f(O(n),{icon:`mdi:chevron-down`})]),default:P(()=>[u(` `+M(O(d)(`extensionsModule.buttons.loadMore`)),1)]),_:1},8,[`loading`])):j(``,!0)])])]),_:1})),[[O(ke),O(S)&&O(h).length>0]]),f(O(Ce),{modelValue:ae.value,"onUpdate:modelValue":r[4]||=e=>ae.value=e,"show-close":!1,"with-header":!1,direction:`rtl`,size:`40%`},{default:P(()=>[i(`div`,bt,[f(O(ie),{"menu-button-hidden":``},{"button-right":P(()=>[f(O(ee),{align:O(R).RIGHT,class:`mr-2`,onClick:r[3]||=e=>W.value=null},{icon:P(()=>[f(O(c),null,{default:P(()=>[f(O(n),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),f(O(oe),{teleport:``},{icon:P(()=>[f(O(n),{icon:`mdi:note-text-outline`,class:`w[20px] h[20px]`})]),title:P(()=>[u(M(O(d)(`systemModule.headings.systemLogs.detail`)),1)]),subtitle:P(()=>[u(M(O(d)(`systemModule.subHeadings.systemLogs.detail`)),1)]),_:1}),i(`div`,xt,[W.value?(g(),m(O(U),{key:0,class:`grow-1 p-2 md:px-4`},{default:P(()=>[f(O(Ee),{"system-log":W.value},null,8,[`system-log`])]),_:1})):j(``,!0)])])]),_:1},8,[`modelValue`])]))}}),Ct={key:2,class:`grid grid-cols-[repeat(auto-fill,minmax(350px,1fr))] max-sm:grid-cols-1 gap-3`},wt=h({name:`ExtensionsCards`,__name:`extensions-cards`,props:{items:{},loading:{type:Boolean,default:!1},filtersActive:{type:Boolean,default:!1}},emits:[`toggle-enabled`,`detail`,`reset-filters`],setup(e,{emit:n}){let r=e,i=n,{t:a}=v(),s=o(()=>[...r.items].sort((e,t)=>e.isCore&&!t.isCore?-1:!e.isCore&&t.isCore?1:e.name.localeCompare(t.name))),c=o(()=>r.filtersActive?a(`extensionsModule.messages.noMatchingExtensions`):a(`extensionsModule.messages.noExtensions`)),l=(e,t)=>{i(`toggle-enabled`,e,t)},u=e=>{i(`detail`,e)};return(n,r)=>(g(),m(O(U),{class:`h-full`},{default:P(()=>[e.loading&&e.items.length===0?(g(),m(O(he),{key:0,rows:5,animated:``})):e.items.length===0?(g(),m(O(p),{key:1,icon:`info`,title:c.value},null,8,[`title`])):(g(),t(`div`,Ct,[(g(!0),t(F,null,D(s.value,e=>(g(),m(ot,{key:e.type,extension:e,onToggleEnabled:l,onDetail:u},null,8,[`extension`]))),128))]))]),_:1}))}}),Tt={class:`flex w-full items-center justify-center`},Et=a(h({name:`ExtensionsFilter`,__name:`extensions-filter`,props:{filters:{},filtersActive:{type:Boolean},viewMode:{default:`table`},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`update:view-mode`,`reset-filters`,`adjust-list`,`bulk-action`],setup(r,{emit:i}){let a=r,o=i,s=d(`extensions-filter`),{t:l}=v(),u=G(a,`filters`,o),p=G(a,`viewMode`,o),h=_(void 0);return T(()=>u.value.search,e=>{e===``&&(u.value.search=void 0)}),(r,i)=>(g(),t(`div`,Tt,[f(O(me),{ref_key:`filterFormEl`,ref:h,inline:!0,model:O(u),class:b([[O(s).b()],`grow-1`])},{default:P(()=>[f(O(le),{modelValue:O(u).search,"onUpdate:modelValue":i[0]||=e=>O(u).search=e,placeholder:O(l)(`extensionsModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:P(()=>[f(O(c),null,{default:P(()=>[f(O(n),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),f(O(W),{direction:`vertical`}),f(O(pe),{label:O(l)(`extensionsModule.filters.kind.title`),class:b([[O(s).e(`extension-kind`)],`p-1 m-0!`])},{default:P(()=>[f(O(be),{modelValue:O(u).kind,"onUpdate:modelValue":i[1]||=e=>O(u).kind=e},{default:P(()=>[f(O($),{label:O(l)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),f(O($),{label:O(l)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`]),f(O($),{label:O(l)(`extensionsModule.states.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`,`class`])]),_:1},8,[`model`,`class`]),f(O(ne),{"selected-count":a.selectedCount,actions:a.bulkActions,onAction:i[2]||=e=>o(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),f(O(e),{class:`mr-3`},{default:P(()=>[f(O(A),{type:O(p)===`table`?`primary`:void 0,plain:``,class:`px-2!`,onClick:i[3]||=e=>p.value=`table`},{default:P(()=>[f(O(n),{icon:`mdi:table`})]),_:1},8,[`type`]),f(O(A),{type:O(p)===`cards`?`primary`:void 0,plain:``,class:`px-2!`,onClick:i[4]||=e=>p.value=`cards`},{default:P(()=>[f(O(n),{icon:`mdi:view-grid`})]),_:1},8,[`type`])]),_:1}),a.filtersActive?(g(),m(O(A),{key:0,plain:``,class:`px-2! p-1`,onClick:i[5]||=e=>o(`reset-filters`)},{default:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),_:1})):j(``,!0),f(O(A),{plain:``,class:`px-2! p-1`,onClick:i[6]||=e=>o(`adjust-list`)},{default:P(()=>[f(O(n),{icon:`mdi:slider`})]),_:1})]))}}),[[`__scopeId`,`data-v-7de8e0d9`]]),Dt={key:0,class:`h-full w-full leading-normal`},Ot={key:1,class:`h-full w-full leading-normal`},kt={key:2,class:`h-full w-full leading-normal`},At={class:`block`},jt=h({name:`ExtensionsTable`,__name:`extensions-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`reset-filters`,`selected-changes`,`update:sort-by`,`update:sort-dir`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),{isMDDevice:d}=de(),h=o(()=>a.totalRows===0),_=o(()=>a.items),y=({prop:e,order:t})=>{s(`update:sort-by`,e),s(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},b=e=>{s(`detail`,e.type)},x=(e,t)=>{s(`toggle-enabled`,e,t)},S=e=>{s(`selected-changes`,e)};return(r,o)=>E((g(),m(O(fe),{"element-loading-text":O(c)(`extensionsModule.texts.loadingExtensions`),data:_.value,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`type`,class:`flex-grow`,style:l({maxHeight:e.tableHeight+`px`}),"max-height":e.tableHeight,onSortChange:y,onSelectionChange:S,onRowClick:b},{empty:P(()=>[a.loading?(g(),t(`div`,Dt,[f(O(p),{class:`h-full w-full`},{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:puzzle`})]),secondary:P(()=>[f(O(n),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):h.value&&!a.loading?(g(),t(`div`,Ot,[f(O(p),{class:`h-full w-full`},{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:puzzle`})]),secondary:P(()=>[f(O(n),{icon:`mdi:information`})]),_:1})]),title:P(()=>[u(M(O(c)(`extensionsModule.texts.noExtensions`)),1)]),_:1})])):a.filtersActive&&!a.loading?(g(),t(`div`,kt,[f(O(p),{class:`h-full w-full`},{icon:P(()=>[f(O(N),{size:80},{primary:P(()=>[f(O(n),{icon:`mdi:puzzle`})]),secondary:P(()=>[f(O(n),{icon:`mdi:filter-multiple`})]),_:1})]),title:P(()=>[f(O(H),{class:`block`},{default:P(()=>[u(M(O(c)(`extensionsModule.texts.noFilteredExtensions`)),1)]),_:1}),f(O(A),{type:`primary`,plain:``,class:`mt-4`,onClick:o[0]||=e=>s(`reset-filters`)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-off`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):j(``,!0)]),default:P(()=>[O(d)?(g(),m(O(Z),{key:0,type:`selection`,width:30})):j(``,!0),f(O(Z),{width:60,align:`center`},{default:P(e=>[f(O(se),{size:32},{default:P(()=>[f(O(n),{icon:e.row.kind===O(q).module?`mdi:package-variant`:`mdi:toy-brick`,class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),f(O(Z),{label:O(c)(`extensionsModule.table.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:P(e=>[e.row.description?(g(),t(F,{key:0},[i(`strong`,At,M(e.row.name),1),f(O(H),{size:`small`,class:`block leading-4`,truncated:``},{default:P(()=>[u(M(e.row.description),1)]),_:2},1024)],64)):(g(),t(F,{key:1},[u(M(e.row.name),1)],64))]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.type.title`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:200},{default:P(e=>[f(O(Y),{content:e.row.type,placement:`top`,"show-after":500},{default:P(()=>[f(O(H),{size:`small`,type:`info`,class:`block max-w-[180px]`,truncated:``},{default:P(()=>[u(M(e.row.type),1)]),_:2},1024)]),_:2},1032,[`content`])]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.kind.title`),prop:`kind`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:P(e=>[f(O(J),{type:e.row.kind===O(q).module?`primary`:`success`,size:`small`},{default:P(()=>[u(M(e.row.kind===O(q).module?O(c)(`extensionsModule.labels.module`):O(c)(`extensionsModule.labels.plugin`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.version.title`),prop:`version`,width:100},{default:P(e=>[e.row.version?(g(),m(O(H),{key:0,size:`small`},{default:P(()=>[u(M(e.row.version),1)]),_:2},1024)):(g(),m(O(H),{key:1,size:`small`,type:`info`},{default:P(()=>[...o[3]||=[u(` - `,-1)]]),_:1}))]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.core.title`),prop:`isCore`,width:100},{default:P(e=>[e.row.isCore?(g(),m(O(J),{key:0,type:`warning`,size:`small`},{default:P(()=>[u(M(O(c)(`extensionsModule.labels.core`)),1)]),_:1})):(g(),m(O(J),{key:1,type:`info`,size:`small`},{default:P(()=>[u(M(O(c)(`extensionsModule.labels.addon`)),1)]),_:1}))]),_:1},8,[`label`]),f(O(Z),{label:O(c)(`extensionsModule.table.columns.enabled.title`),prop:`enabled`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:P(e=>[f(O(re),{"model-value":e.row.enabled,disabled:!e.row.canToggleEnabled,size:`small`,onClick:o[1]||=I(()=>{},[`stop`]),onChange:t=>x(e.row.type,t)},null,8,[`model-value`,`disabled`,`onChange`])]),_:1},8,[`label`]),f(O(Z),{width:100,align:`right`},{default:P(e=>[i(`div`,{onClick:o[2]||=I(()=>{},[`stop`])},[f(O(A),{size:`small`,plain:``,"data-test-id":`detail-extension`,onClick:t=>s(`detail`,e.row.type)},{icon:P(()=>[f(O(n),{icon:`mdi:file-search-outline`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[O(ke),a.loading]])}}),Mt=h({name:`ListExtensions`,__name:`list-extensions`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},viewMode:{},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{}},emits:[`detail`,`toggle-enabled`,`adjust-list`,`reset-filters`,`update:filters`,`update:view-mode`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`bulk-action`],setup(e,{emit:n}){let r=e,a=n,{t:c}=v(),{isMDDevice:l}=de(),u=null,d=_(null),p=_(null),h=G(r,`filters`,a),y=G(r,`viewMode`,a),b=_(r.sortBy),x=_(r.sortDir??null),w=_(r.paginatePage),E=_(r.paginateSize),D=_(250),k=_([]),A=o(()=>[{key:`enable`,label:c(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:c(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`}]),j=e=>{a(`detail`,e)},M=(e,t)=>{a(`toggle-enabled`,e,t)},N=()=>{a(`reset-filters`)},I=e=>{a(`update:paginate-size`,e)},L=e=>{a(`update:paginate-page`,e)},R=e=>{k.value=e},ee=e=>{a(`bulk-action`,e,k.value)},z=()=>{if(!d.value)return;let e=y.value===`table`?p.value?.clientHeight??60:0;D.value=d.value.clientHeight-e};return S(()=>{d.value&&(typeof window<`u`&&`ResizeObserver`in window&&(u=new ResizeObserver(z),u.observe(d.value)),z())}),s(()=>{u&&d.value&&u.unobserve(d.value)}),T(()=>b.value,e=>{a(`update:sort-by`,e)}),T(()=>x.value,e=>{a(`update:sort-dir`,e)}),T(()=>r.paginatePage,e=>{w.value=e}),T(()=>r.paginateSize,e=>{E.value=e}),T(()=>r.sortDir,e=>{x.value=e??null}),T(()=>r.sortBy,e=>{b.value=e}),T(()=>y.value,e=>{e===`cards`&&(k.value=[]),setTimeout(z,50)}),T(()=>l.value,e=>{e||(k.value=[])}),(e,n)=>(g(),t(F,null,[f(O(Q),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:P(()=>[f(Et,{filters:O(h),"onUpdate:filters":n[0]||=e=>C(h)?h.value=e:null,"view-mode":O(y),"onUpdate:viewMode":n[1]||=e=>C(y)?y.value=e:null,"filters-active":r.filtersActive,"selected-count":k.value.length,"bulk-actions":A.value,onResetFilters:n[2]||=e=>a(`reset-filters`),onAdjustList:n[3]||=e=>a(`adjust-list`),onBulkAction:ee},null,8,[`filters`,`view-mode`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),i(`div`,{ref_key:`wrapper`,ref:d,class:`grow-1 overflow-hidden`},[O(y)===`table`?(g(),m(O(Q),{key:0,shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! grow-1 max-h-full overflow-hidden flex flex-col`},{default:P(()=>[f(jt,{"sort-by":b.value,"onUpdate:sortBy":n[4]||=e=>b.value=e,"sort-dir":x.value,"onUpdate:sortDir":n[5]||=e=>x.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":D.value,onDetail:j,onToggleEnabled:M,onResetFilters:N,onSelectedChanges:R},null,8,[`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),i(`div`,{ref_key:`paginator`,ref:p,class:`flex justify-center w-full py-4 shrink-0`},[f(O(Te),{"current-page":w.value,"onUpdate:currentPage":n[6]||=e=>w.value=e,"page-size":E.value,"onUpdate:pageSize":n[7]||=e=>E.value=e,layout:O(l)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:I,onCurrentChange:L},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})):(g(),m(wt,{key:1,items:r.allItems,loading:r.loading,"filters-active":r.filtersActive,onDetail:j,onToggleEnabled:M,onResetFilters:N},null,8,[`items`,`loading`,`filters-active`]))],512)],64))}}),Nt={class:`px-2`},Pt={class:`px-2`},Ft={class:`px-2`},It={class:`px-5 py-2 text-center`},Lt=a(h({name:`ListExtensionsAdjust`,__name:`list-extensions-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:r}){let a=e,o=r,s=d(`list-extensions-adjust`),{t:c}=v(),l=_([`kind`,`enabled`,`isCore`]),p=G(a,`filters`,o);return(e,r)=>(g(),t(F,null,[f(O(oe),{teleport:``},{icon:P(()=>[f(O(n),{icon:`mdi:filter`})]),title:P(()=>[u(M(O(c)(`extensionsModule.headings.adjustFilters`)),1)]),subtitle:P(()=>[u(M(O(c)(`extensionsModule.subHeadings.adjustFilters`)),1)]),_:1}),i(`div`,{class:b([[O(s).b()],`flex flex-col h-full w-full overflow-hidden`])},[f(O(U),{class:`flex-grow`},{default:P(()=>[f(O(Se),{modelValue:l.value,"onUpdate:modelValue":r[3]||=e=>l.value=e},{default:P(()=>[f(O(xe),{name:`kind`,class:b([O(s).e(`filter-item`)])},{title:P(()=>[f(O(H),{class:`!px-2`},{default:P(()=>[u(M(O(c)(`extensionsModule.filters.kind.title`)),1)]),_:1})]),default:P(()=>[i(`div`,Nt,[f(O(be),{modelValue:O(p).kind,"onUpdate:modelValue":r[0]||=e=>O(p).kind=e},{default:P(()=>[f(O($),{label:O(c)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.module`),value:`module`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.plugin`),value:`plugin`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),f(O(xe),{name:`enabled`,class:b([O(s).e(`filter-item`)])},{title:P(()=>[f(O(H),{class:`!px-2`},{default:P(()=>[u(M(O(c)(`extensionsModule.filters.enabled.title`)),1)]),_:1})]),default:P(()=>[i(`div`,Pt,[f(O(be),{modelValue:O(p).enabled,"onUpdate:modelValue":r[1]||=e=>O(p).enabled=e},{default:P(()=>[f(O($),{label:O(c)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.enabled`),value:`enabled`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.disabled`),value:`disabled`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),f(O(xe),{name:`isCore`,class:b([O(s).e(`filter-item`)])},{title:P(()=>[f(O(H),{class:`!px-2`},{default:P(()=>[u(M(O(c)(`extensionsModule.filters.type.title`)),1)]),_:1})]),default:P(()=>[i(`div`,Ft,[f(O(be),{modelValue:O(p).isCore,"onUpdate:modelValue":r[2]||=e=>O(p).isCore=e},{default:P(()=>[f(O($),{label:O(c)(`extensionsModule.states.all`),value:`all`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.core`),value:`core`},null,8,[`label`]),f(O($),{label:O(c)(`extensionsModule.labels.addon`),value:`addon`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),i(`div`,It,[f(O(A),{disabled:!a.filtersActive,onClick:r[4]||=e=>o(`reset-filters`)},{icon:P(()=>[f(O(n),{icon:`mdi:filter-remove`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-1f502633`]]),Rt={class:`flex flex-col gap-3`},zt={class:`flex items-center justify-between gap-4`},Bt={class:`flex items-center gap-3 min-w-0 flex-1`},Vt={class:`flex items-center justify-center w-10 h-10 rounded-lg bg-gray-100 dark:bg-gray-800`},Ht={class:`min-w-0 flex-1`},Ut={class:`flex items-center gap-2 flex-wrap`},Wt={class:`font-medium text-base truncate`},Gt={class:`text-xs text-gray-500 dark:text-gray-400 truncate mt-1`},Kt={class:`flex items-center gap-2 mt-1 flex-wrap`},qt={class:`flex items-center gap-1`},Jt={class:`flex items-center gap-2`},Yt={class:`flex items-center gap-6 text-sm text-gray-500 dark:text-gray-400 flex-wrap`},Xt={key:0,class:`flex items-center gap-1`},Zt={key:1,class:`flex items-center gap-1`},Qt={key:2,class:`flex items-center gap-1`},$t={class:`flex items-center gap-1`},en=h({name:`ServiceItem`,__name:`service-item`,props:{service:{},extensionName:{},acting:{type:Boolean}},emits:[`start`,`stop`,`restart`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),l=o(()=>a.service.state===X.starting||a.service.state===X.stopping),d=o(()=>a.service.state===X.stopped||a.service.state===X.error),p=o(()=>a.service.state===X.started||a.service.state===X.starting),h=o(()=>a.service.activationPolicy===ae.always),_=o(()=>d.value),y=o(()=>p.value),x=o(()=>a.service.state===X.started),S=o(()=>_.value&&a.service.desiredState===L.started&&!l.value&&!a.acting),C=o(()=>y.value&&a.service.state!==X.stopping&&!a.acting),w=o(()=>x.value&&a.service.desiredState===L.started&&!l.value&&!a.acting),T=o(()=>a.service.desiredState===L.stopped?c(`extensionsModule.services.tooltips.disabledExtension`):l.value?c(`extensionsModule.services.tooltips.transitioning`):c(`extensionsModule.services.tooltips.startService`)),E=o(()=>a.service.state===X.stopping?c(`extensionsModule.services.tooltips.transitioning`):c(`extensionsModule.services.tooltips.stopService`)),D=o(()=>a.service.desiredState===L.stopped?c(`extensionsModule.services.tooltips.disabledExtension`):l.value?c(`extensionsModule.services.tooltips.transitioning`):c(`extensionsModule.services.tooltips.restartService`)),k=o(()=>{let e=a.service.state;return c(`extensionsModule.services.states.${e}`)}),N=o(()=>c(`extensionsModule.services.desiredStates.${a.service.desiredState}`)),F=o(()=>{switch(a.service.state){case X.started:return`success`;case X.stopped:return`info`;case X.starting:case X.stopping:return`warning`;case X.error:return`danger`;default:return`info`}}),I=o(()=>{switch(a.service.state){case X.started:return`mdi:check-circle`;case X.stopped:return`mdi:stop-circle`;case X.starting:case X.stopping:return`mdi:loading`;case X.error:return`mdi:alert-circle`;default:return`mdi:help-circle`}}),R=o(()=>{switch(a.service.state){case X.started:return`text-green-500`;case X.stopped:return`text-gray-400`;case X.starting:case X.stopping:return`text-yellow-500 animate-spin`;case X.error:return`text-red-500`;default:return`text-gray-400`}}),ee=o(()=>{if(a.service.uptimeMs===void 0)return`-`;let e=Math.floor(a.service.uptimeMs/1e3),t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=[];return t>0&&i.push(`${t}d`),n>0&&i.push(`${n}h`),(r>0||i.length===0)&&i.push(`${r}m`),i.join(` `)}),z=o(()=>a.service.lastStartedAt?new Date(a.service.lastStartedAt).toLocaleString():`-`),B=()=>{s(`start`)},V=()=>{s(`stop`)},te=()=>{s(`restart`)};return(r,a)=>(g(),m(O(Q),{shadow:`never`,class:`service-item`,"body-class":`p-3!`},{default:P(()=>[i(`div`,Rt,[i(`div`,zt,[i(`div`,Bt,[i(`div`,Vt,[f(O(n),{icon:I.value,class:b([`w-5 h-5`,R.value])},null,8,[`icon`,`class`])]),i(`div`,Ht,[i(`div`,Ut,[i(`span`,Wt,M(e.extensionName??e.service.extensionType),1),f(O(J),{size:`small`,type:`info`},{default:P(()=>[u(M(e.service.serviceId),1)]),_:1})]),i(`div`,Gt,M(e.service.extensionType),1),i(`div`,Kt,[f(O(J),{type:F.value,size:`small`,effect:`light`},{default:P(()=>[i(`div`,qt,[l.value?(g(),m(O(n),{key:0,icon:`mdi:loading`,class:`animate-spin w-3 h-3`})):j(``,!0),u(` `+M(k.value),1)])]),_:1},8,[`type`]),e.service.enabled?j(``,!0):(g(),m(O(J),{key:0,type:`warning`,size:`small`,effect:`light`},{default:P(()=>[u(M(O(c)(`extensionsModule.services.texts.extensionDisabled`)),1)]),_:1})),h.value?(g(),m(O(J),{key:1,type:`primary`,size:`small`,effect:`light`},{default:P(()=>[u(M(O(c)(`extensionsModule.services.activationPolicies.always`)),1)]),_:1})):j(``,!0),e.service.healthy===void 0?j(``,!0):(g(),m(O(J),{key:2,type:e.service.healthy?`success`:`danger`,size:`small`,effect:`light`},{default:P(()=>[u(M(e.service.healthy?O(c)(`extensionsModule.services.labels.healthy`):O(c)(`extensionsModule.services.labels.unhealthy`)),1)]),_:1},8,[`type`]))])])]),i(`div`,Jt,[_.value?(g(),m(O(Y),{key:0,content:T.value,placement:`top`},{default:P(()=>[f(O(A),{type:`success`,size:`small`,plain:``,disabled:!S.value,loading:e.acting,onClick:B},{icon:P(()=>[f(O(n),{icon:`mdi:play`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.services.buttons.start`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):j(``,!0),y.value?(g(),m(O(Y),{key:1,content:E.value,placement:`top`},{default:P(()=>[f(O(A),{type:`danger`,size:`small`,plain:``,disabled:!C.value,loading:e.acting,onClick:V},{icon:P(()=>[f(O(n),{icon:`mdi:stop`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.services.buttons.stop`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):j(``,!0),x.value?(g(),m(O(Y),{key:2,content:D.value,placement:`top`},{default:P(()=>[f(O(A),{type:`primary`,size:`small`,plain:``,disabled:!w.value,loading:e.acting,onClick:te},{icon:P(()=>[f(O(n),{icon:`mdi:restart`})]),default:P(()=>[u(` `+M(O(c)(`extensionsModule.services.buttons.restart`)),1)]),_:1},8,[`disabled`,`loading`])]),_:1},8,[`content`])):j(``,!0)])]),i(`div`,Yt,[e.service.state===`started`&&e.service.uptimeMs!==void 0?(g(),t(`div`,Xt,[f(O(n),{icon:`mdi:clock-outline`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.uptime`))+`: `+M(ee.value),1)])):j(``,!0),e.service.startCount>0?(g(),t(`div`,Zt,[f(O(n),{icon:`mdi:counter`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.startCount`))+`: `+M(e.service.startCount),1)])):j(``,!0),e.service.lastStartedAt?(g(),t(`div`,Qt,[f(O(n),{icon:`mdi:play-circle-outline`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.lastStarted`))+`: `+M(z.value),1)])):j(``,!0),i(`div`,$t,[f(O(n),{icon:`mdi:target`,class:`w-4 h-4`}),i(`span`,null,M(O(c)(`extensionsModule.services.labels.desiredState`))+`: `+M(N.value),1)])]),e.service.lastError?(g(),m(O(ge),{key:0,type:e.service.state===O(X).error?`error`:`warning`,title:O(c)(`extensionsModule.services.labels.lastError`),description:e.service.lastError,"show-icon":``,closable:!1},null,8,[`type`,`title`,`description`])):j(``,!0)])]),_:1}))}}),tn=e=>({modules:e.filter(e=>e.extensionKind===q.module),plugins:e.filter(e=>e.extensionKind===q.plugin)}),nn={class:`h-full flex flex-col gap-3 overflow-hidden`},rn={class:`flex items-center gap-2`},an={key:1,class:`flex flex-col gap-3`},on=a(h({name:`ServicesList`,__name:`services-list`,props:{activeKind:{},services:{},loading:{type:Boolean},extensionNames:{},isActing:{type:Function}},emits:[`update:activeKind`,`start`,`stop`,`restart`],setup(e,{emit:r}){let a=e,s=r,{t:c}=v(),l=o({get:()=>a.activeKind,set:e=>s(`update:activeKind`,e)}),d=o(()=>{let e=tn(a.services);return[{name:q.module,label:c(`extensionsModule.tabs.modules`),icon:`mdi:package-variant`,services:e.modules},{name:q.plugin,label:c(`extensionsModule.tabs.plugins`),icon:`mdi:toy-brick`,services:e.plugins}]}),h=(e,t)=>`${e}:${t}`,_=(e,t,n)=>{s(`start`,e,t,n)},y=(e,t,n)=>{s(`stop`,e,t,n)},b=(e,t,n)=>{s(`restart`,e,t,n)};return(r,a)=>(g(),t(`div`,nn,[e.loading&&e.services.length===0?(g(),m(O(he),{key:0,rows:5,animated:``})):e.services.length===0?(g(),m(O(p),{key:1,icon:`info`,title:O(c)(`extensionsModule.services.texts.noServices`)},null,8,[`title`])):(g(),t(F,{key:2},[f(O(ge),{class:`shrink-0`,type:`info`,description:O(c)(`extensionsModule.services.texts.alwaysActiveDescription`),"show-icon":``,closable:!1},null,8,[`description`]),f(O(De),{modelValue:l.value,"onUpdate:modelValue":a[0]||=e=>l.value=e,class:`services-kind-tabs grow-1 min-h-0 overflow-hidden`},{default:P(()=>[(g(!0),t(F,null,D(d.value,r=>(g(),m(O(Oe),{key:r.name,name:r.name,class:`h-full`},{label:P(()=>[i(`div`,rn,[f(O(n),{icon:r.icon},null,8,[`icon`]),u(` `+M(r.label),1)])]),default:P(()=>[f(O(U),{class:`h-full`},{default:P(()=>[r.services.length===0?(g(),m(O(p),{key:0,icon:`info`,title:O(c)(`extensionsModule.services.texts.noServices`)},null,8,[`title`])):(g(),t(`div`,an,[(g(!0),t(F,null,D(r.services,t=>(g(),m(en,{key:O(je)(t.extensionKind,t.extensionType,t.serviceId),service:t,"extension-name":e.extensionNames?.[h(t.extensionKind,t.extensionType)],acting:e.isActing(t.extensionKind,t.extensionType,t.serviceId),onStart:e=>_(t.extensionKind,t.extensionType,t.serviceId),onStop:e=>y(t.extensionKind,t.extensionType,t.serviceId),onRestart:e=>b(t.extensionKind,t.extensionType,t.serviceId)},null,8,[`service`,`extension-name`,`acting`,`onStart`,`onStop`,`onRestart`]))),128))]))]),_:2},1024)]),_:2},1032,[`name`]))),128))]),_:1},8,[`modelValue`])],64))]))}}),[[`__scopeId`,`data-v-510d5e30`]]);export{Ge as a,St as i,Lt as n,Mt as r,on as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,bi as r,ci as i}from"./icon-with-child-CgZMNB3F.js";import{Vt as a,f as o,jr as s,l as c,la as l,p as u,x as d}from"./common-Be4p2bm6.js";import{t as f}from"./dist-DJgPCOr0.js";var p=`users`,m=`users-module`,h=`UsersModule.`,g=function(e){return e.USER_CREATED=`UsersModule.User.Created`,e.USER_UPDATED=`UsersModule.User.Updated`,e.USER_DELETED=`UsersModule.User.Deleted`,e.USER_RESET=`UsersModule.User.Reset`,e.MODULE_RESET=`UsersModule.All.Reset`,e}({}),_=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),v={USERS:`users_module-users`,USER_ADD:`users_module-user-add`,USER_EDIT:`users_module-user-edit`},y=Symbol(`FB-Module-Users-UsersStore`),b=class extends Error{exception;constructor(e,t=null){super(e),this.name=`UsersException`,this.exception=t}},x=class extends b{code;constructor(e,t=null,n=null){super(e,n),this.name=`UsersApiException`,this.code=t}},S=class extends b{constructor(e,t=null){super(e,t),this.name=`UsersValidationException`}},C=({id:t})=>{let n=d().getStore(y),{data:r,semaphore:i}=l(n);return{user:e(()=>t===null?null:r.value[t]??null),isLoading:e(()=>i.value.fetching.item.includes(t)?!0:r.value[t]===void 0&&i.value.fetching.items),fetchUser:async()=>{r.value[t]?.draft||await n.get({id:t})}}},w=({id:e})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({username:``,password:``,repeatPassword:``,email:``,firstName:``,lastName:``,role:a.user}),m=t(void 0),h=t(!1),g=async()=>{let t=s(`usersModule.messages.notCreated`,{user:p.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.add({id:e,draft:!1,data:{username:p.username,password:p.password,email:p.email?.trim()===``?null:p.email,firstName:p.firstName?.trim()===``?null:p.firstName,lastName:p.lastName?.trim()===``?null:p.lastName,role:p.role}})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return l.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(`usersModule.messages.created`,{user:p.username})),`added`},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,e=>{e.username===``&&e.password===``&&e.email===``&&e.firstName===``&&e.lastName===``&&e.role===a.user?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},T=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({username:e.username,password:`secretpassword`,email:e.email||``,firstName:e.firstName||``,lastName:e.lastName||``,role:e.role}),m=t(void 0),h=t(!1),g=async()=>{let t=e.draft,n=a&&a.error?a.error:e.draft?s(`usersModule.messages.notCreated`,{user:e.username}):s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.edit({id:e.id,data:{email:!p.email||p.email.trim()===``?null:p.email,firstName:!p.firstName||p.firstName.trim()===``?null:p.firstName,lastName:!p.lastName||p.lastName.trim()===``?null:p.lastName,role:p.role}}),e.draft&&await o.save({id:e.id})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(n),e}return l.value=_.OK,f=window.setTimeout(v,2e3),t?(c.success(s(a&&a.success?a.success:`usersModule.messages.created`,{user:e.username})),`added`):(c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`)},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,t=>{t.email===e.email&&t.firstName===e.firstName&&t.lastName===e.lastName&&t.role===e.role?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},E=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({password:``,repeatPassword:``}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.edit({id:e.id,data:{password:p.password}}),e.draft&&await o.save({id:e.id})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return l.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,e=>{e.password===``&&e.repeatPassword===``?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},D=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({username:e.username}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.edit({id:e.id,data:{username:p.username}}),e.draft&&await o.save({id:e.id})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return l.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,t=>{h.value=t.username!==e.username}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},O=o(),k={search:void 0,roles:[]},A=()=>{let n=d().getStore(y),{firstLoad:r,semaphore:a}=l(n),o=t(10),s=t(1),u=t(c(k)),p=e(()=>u.value.search!==k.search||!(0,O.isEqual)(u.value.roles,k.roles)),m=t(`username`),h=t(`ascending`),g=e(()=>f(n.findAll().filter(e=>!e.draft&&(!u.value.search||e.username.toLowerCase().includes(u.value.search.toLowerCase()))&&(u.value.roles.length===0||u.value.roles.includes(e.role))),[e=>e[m.value]??``],[h.value===`ascending`?`asc`:`desc`])),_=e(()=>{let e=(s.value-1)*o.value,t=e+o.value;return g.value.slice(e,t)}),v=async()=>{await n.fetch()},b=e(()=>a.value.fetching.items||!r.value),x=e(()=>r.value),S=e(()=>n.findAll().filter(e=>!e.draft).length);return i(()=>u.value,()=>{s.value=1},{deep:!0}),{users:g,usersPaginated:_,totalRows:S,areLoading:b,loaded:x,fetchUsers:v,filters:u,filtersActive:p,paginateSize:o,paginatePage:s,sortBy:m,sortDir:h,resetFilter:()=>{u.value=c(k)}}},j=()=>{let{t:e}=n(),t=u(),r=d().getStore(y);return{remove:async n=>{let i=r.findById(n);if(i===null)throw new b(`Something went wrong, user can't be loaded`);s.confirm(e(`usersModule.texts.confirmRemove`,{user:i.username}),e(`usersModule.headings.remove`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await r.remove({id:i.id}),t.success(e(`usersModule.messages.removed`,{user:i.username}))}catch(n){if(n instanceof x&&n.code===404){let n=e(`usersModule.messages.notFound`,{user:i.username});t.error(n)}else if(n instanceof x&&n.code===422)t.error(n.message);else{let n=e(`usersModule.messages.notRemoved`,{user:i.username});t.error(n)}}}).catch(()=>{t.info(e(`usersModule.messages.removeCanceled`,{user:i.username}))})},bulkRemove:async n=>{if(n.length!==0){try{await s.confirm(e(`usersModule.texts.confirmBulkRemove`,{count:n.length}),e(`usersModule.headings.removeBulk`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await r.bulkRemove({ids:n.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`usersModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:n.length}))}}}}};export{p as _,T as a,x as c,y as d,g as f,m as g,h,E as i,b as l,v as m,A as n,w as o,_ as p,D as r,C as s,j as t,S as u};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,bi as r,ci as i}from"./icon-with-child-CgZMNB3F.js";import{Vt as a,f as o,jr as s,l as c,la as l,p as u,x as d}from"./common-D4Z2wgrj.js";import{t as f}from"./dist-DJgPCOr0.js";var p=`users`,m=`users-module`,h=`UsersModule.`,g=function(e){return e.USER_CREATED=`UsersModule.User.Created`,e.USER_UPDATED=`UsersModule.User.Updated`,e.USER_DELETED=`UsersModule.User.Deleted`,e.USER_RESET=`UsersModule.User.Reset`,e.MODULE_RESET=`UsersModule.All.Reset`,e}({}),_=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),v={USERS:`users_module-users`,USER_ADD:`users_module-user-add`,USER_EDIT:`users_module-user-edit`},y=Symbol(`FB-Module-Users-UsersStore`),b=class extends Error{exception;constructor(e,t=null){super(e),this.name=`UsersException`,this.exception=t}},x=class extends b{code;constructor(e,t=null,n=null){super(e,n),this.name=`UsersApiException`,this.code=t}},S=class extends b{constructor(e,t=null){super(e,t),this.name=`UsersValidationException`}},C=({id:t})=>{let n=d().getStore(y),{data:r,semaphore:i}=l(n);return{user:e(()=>t===null?null:r.value[t]??null),isLoading:e(()=>i.value.fetching.item.includes(t)?!0:r.value[t]===void 0&&i.value.fetching.items),fetchUser:async()=>{r.value[t]?.draft||await n.get({id:t})}}},w=({id:e})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({username:``,password:``,repeatPassword:``,email:``,firstName:``,lastName:``,role:a.user}),m=t(void 0),h=t(!1),g=async()=>{let t=s(`usersModule.messages.notCreated`,{user:p.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.add({id:e,draft:!1,data:{username:p.username,password:p.password,email:p.email?.trim()===``?null:p.email,firstName:p.firstName?.trim()===``?null:p.firstName,lastName:p.lastName?.trim()===``?null:p.lastName,role:p.role}})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return l.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(`usersModule.messages.created`,{user:p.username})),`added`},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,e=>{e.username===``&&e.password===``&&e.email===``&&e.firstName===``&&e.lastName===``&&e.role===a.user?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},T=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({username:e.username,password:`secretpassword`,email:e.email||``,firstName:e.firstName||``,lastName:e.lastName||``,role:e.role}),m=t(void 0),h=t(!1),g=async()=>{let t=e.draft,n=a&&a.error?a.error:e.draft?s(`usersModule.messages.notCreated`,{user:e.username}):s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.edit({id:e.id,data:{email:!p.email||p.email.trim()===``?null:p.email,firstName:!p.firstName||p.firstName.trim()===``?null:p.firstName,lastName:!p.lastName||p.lastName.trim()===``?null:p.lastName,role:p.role}}),e.draft&&await o.save({id:e.id})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(n),e}return l.value=_.OK,f=window.setTimeout(v,2e3),t?(c.success(s(a&&a.success?a.success:`usersModule.messages.created`,{user:e.username})),`added`):(c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`)},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,t=>{t.email===e.email&&t.firstName===e.firstName&&t.lastName===e.lastName&&t.role===e.role?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},E=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({password:``,repeatPassword:``}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.edit({id:e.id,data:{password:p.password}}),e.draft&&await o.save({id:e.id})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return l.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,e=>{e.password===``&&e.repeatPassword===``?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},D=({user:e,messages:a})=>{let o=d().getStore(y),{t:s}=n(),c=u(),l=t(_.NONE),f,p=r({username:e.username}),m=t(void 0),h=t(!1),g=async()=>{let t=a&&a.error?a.error:s(`usersModule.messages.notEdited`,{user:e.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);l.value=_.WORKING;try{await o.edit({id:e.id,data:{username:p.username}}),e.draft&&await o.save({id:e.id})}catch(e){throw l.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?c.error(e.message):c.error(t),e}return l.value=_.OK,f=window.setTimeout(v,2e3),c.success(s(a&&a.success?a.success:`usersModule.messages.edited`,{user:e.username})),`saved`},v=()=>{window.clearTimeout(f),l.value=_.NONE};return i(p,t=>{h.value=t.username!==e.username}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:l}},O=o(),k={search:void 0,roles:[]},A=()=>{let n=d().getStore(y),{firstLoad:r,semaphore:a}=l(n),o=t(10),s=t(1),u=t(c(k)),p=e(()=>u.value.search!==k.search||!(0,O.isEqual)(u.value.roles,k.roles)),m=t(`username`),h=t(`ascending`),g=e(()=>f(n.findAll().filter(e=>!e.draft&&(!u.value.search||e.username.toLowerCase().includes(u.value.search.toLowerCase()))&&(u.value.roles.length===0||u.value.roles.includes(e.role))),[e=>e[m.value]??``],[h.value===`ascending`?`asc`:`desc`])),_=e(()=>{let e=(s.value-1)*o.value,t=e+o.value;return g.value.slice(e,t)}),v=async()=>{await n.fetch()},b=e(()=>a.value.fetching.items||!r.value),x=e(()=>r.value),S=e(()=>n.findAll().filter(e=>!e.draft).length);return i(()=>u.value,()=>{s.value=1},{deep:!0}),{users:g,usersPaginated:_,totalRows:S,areLoading:b,loaded:x,fetchUsers:v,filters:u,filtersActive:p,paginateSize:o,paginatePage:s,sortBy:m,sortDir:h,resetFilter:()=>{u.value=c(k)}}},j=()=>{let{t:e}=n(),t=u(),r=d().getStore(y);return{remove:async n=>{let i=r.findById(n);if(i===null)throw new b(`Something went wrong, user can't be loaded`);s.confirm(e(`usersModule.texts.confirmRemove`,{user:i.username}),e(`usersModule.headings.remove`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await r.remove({id:i.id}),t.success(e(`usersModule.messages.removed`,{user:i.username}))}catch(n){if(n instanceof x&&n.code===404){let n=e(`usersModule.messages.notFound`,{user:i.username});t.error(n)}else if(n instanceof x&&n.code===422)t.error(n.message);else{let n=e(`usersModule.messages.notRemoved`,{user:i.username});t.error(n)}}}).catch(()=>{t.info(e(`usersModule.messages.removeCanceled`,{user:i.username}))})},bulkRemove:async n=>{if(n.length!==0){try{await s.confirm(e(`usersModule.texts.confirmBulkRemove`,{count:n.length}),e(`usersModule.headings.removeBulk`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await r.bulkRemove({ids:n.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`usersModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:n.length}))}}}}};export{p as _,T as a,x as c,y as d,g as f,m as g,h,E as i,b as l,v as m,A as n,w as o,_ as p,D as r,C as s,j as t,S as u};
@@ -0,0 +1 @@
1
+ import"./composables-CF8Jf15i.js";
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,ci as r,ki as i,n as a,yi as o}from"./icon-with-child-CgZMNB3F.js";import{Mt as s,Nt as c,Pt as l,_ as u,gt as d,it as f,jn as p,jr as m,la as h,m as g,p as _,s as v,x as y,yt as b}from"./common-Be4p2bm6.js";import{t as x}from"./dist-DJgPCOr0.js";import{s as S}from"./system.constants-BvSIFqdm.js";import{n as C}from"./logs-entries.transformers-DLC8m8_x.js";import"./useExtensions-CU8BwsSY.js";var w=`extensions-module`,T={EXTENSIONS:`extensions_module-extensions`,EXTENSION:`extensions_module-extension`,EXTENSION_DETAIL:`extensions_module-extension-detail`},E=`table`,D=(e,t,n)=>`${e}:${t}:${n}`,O=t=>{let n=y().getStore(s),{semaphore:r,firstLoad:a}=h(n);return{extension:e(()=>n.findByType(i(t.type))),isLoading:e(()=>r.value.fetching.items||!a.value),fetchExtension:async()=>{await n.fetch()}}},k=d({search:b().optional(),kind:f([`all`,p.module,p.plugin]).default(`all`),enabled:f([`all`,`enabled`,`disabled`]).default(`all`),isCore:f([`all`,`core`,`addon`]).default(`all`)}),A={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},j={by:`name`,dir:`asc`},M=()=>{let n=y().getStore(s),{semaphore:i}=h(n),{filters:a,sort:o,pagination:c,viewMode:l,reset:u}=v({key:`${w}:extensions:list`,filters:{schema:k,defaults:A},sort:{defaults:[j]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:E},syncQuery:!0,version:1}),d=e({get:()=>l.value??`table`,set:e=>{l.value=e}}),f=e(()=>a.value.search!==A.search||a.value.kind!==A.kind||a.value.enabled!==A.enabled||a.value.isCore!==A.isCore),m=t(c.value.size||10),g=t(c.value.page||1),_=t(o.value.length>0?o.value[0]?.by:void 0),b=t(o.value.length>0?o.value[0]?.dir??null:null),S=e(()=>Object.values(n.data)),C=e(()=>x(S.value.filter(e=>(!a.value.search||e.type.toLowerCase().includes(a.value.search.toLowerCase())||e.name.toLowerCase().includes(a.value.search.toLowerCase())||e.description?.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.kind===`all`||e.kind===a.value.kind)&&(a.value.enabled===`all`||a.value.enabled===`enabled`&&e.enabled||a.value.enabled===`disabled`&&!e.enabled)&&(a.value.isCore===`all`||a.value.isCore===`core`&&e.isCore||a.value.isCore===`addon`&&!e.isCore)),[e=>_.value===`enabled`?+!!e.enabled:e[_.value]??``],[b.value===`asc`?`asc`:`desc`])),T=e(()=>C.value),D=e(()=>{let e=(g.value-1)*m.value,t=e+m.value;return T.value.slice(e,t)}),O=e(()=>C.value.filter(e=>e.kind===p.module)),M=e(()=>C.value.filter(e=>e.kind===p.plugin)),N=async()=>{await n.fetch()},P=e(()=>i.value.fetching.items),F=e(()=>T.value.length);return r(()=>c.value,e=>{g.value=e.page??1,m.value=e.size??10},{deep:!0}),r(()=>g.value,e=>{c.value.page=e}),r(()=>m.value,e=>{c.value.size=e}),r(()=>b.value,e=>{_.value===void 0||e===null?o.value=[]:o.value=[{by:_.value,dir:e}]}),r(()=>_.value,e=>{e===void 0||b.value===null?o.value=[]:o.value=[{by:e,dir:b.value}]}),{extensions:T,extensionsPaginated:D,modules:O,plugins:M,totalRows:F,areLoading:P,fetchExtensions:N,filters:a,filtersActive:f,paginateSize:m,paginatePage:g,sortBy:_,sortDir:b,viewMode:d,resetFilter:u}},N=()=>{let{t:e}=n(),t=y(),r=_(),i=t.getStore(s),a=t.getStore(c);return{toggleEnabled:async(t,n)=>{try{return await i.update({type:t,data:{enabled:n}}),r.success(e(n?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),n&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.extensionType===t);for(let t of e)t.lastError&&r.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof l&&t.code===400?r.error(e(`extensionsModule.messages.notConfigurableError`)):r.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await m.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:n.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`})}catch{r.info(e(`extensionsModule.messages.bulkEnableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!0});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkEnabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:n.length}))}},bulkDisable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await m.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:n.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`})}catch{r.info(e(`extensionsModule.messages.bulkDisableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!1});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkDisabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:n.length}))}}}},P=n=>{let s=g(),c=u(),l=t({}),d=t(!1),f=t(!1),p=t(!1),m=t(void 0),h=t(!1),_=t([]),v=t(`all`),y=null,b={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},x=e(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),w=e(()=>{let e=x.value;if(_.value.length>0&&(e=e.filter(e=>_.value.includes(e.type))),v.value!==`all`){let t=Date.now()-b[v.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=e(()=>_.value.length>0||v.value!==`all`),E=()=>{_.value=[],v.value=`all`},D=async()=>{let e=i(n.extensionType);y=e,f.value=!0;try{let{data:t,error:n}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,limit:50}}});if(y!==e)return;if(t!==void 0){let e=Object.fromEntries(t.data.map(e=>{let t=C(e);return[t.id,t]}));l.value=e,p.value=!0,d.value=t.metadata.has_more,m.value=t.metadata.next_cursor}else n&&c.error(`Failed to fetch extension logs:`,n)}catch(t){y===e&&c.error(`Error fetching extension logs:`,t)}finally{y===e&&(f.value=!1)}},O=async()=>{if(f.value||!d.value||!m.value)return;let e=i(n.extensionType),t=m.value;f.value=!0;try{let{data:n,error:r}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,after_id:t,limit:50}}});if(y!==e)return;if(n!==void 0){let e=Object.fromEntries(n.data.map(e=>{let t=C(e);return[t.id,t]}));l.value={...l.value,...e},d.value=n.metadata.has_more,m.value=n.metadata.next_cursor}else r&&c.error(`Failed to load more extension logs:`,r)}catch(t){y===e&&c.error(`Error loading more extension logs:`,t)}finally{y===e&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,d.value=!1,p.value=!1,await D()},A=null;return r(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),o(()=>{A&&=(clearInterval(A),null)}),r(()=>i(n.extensionType),()=>{k()}),{logs:w,hasMore:d,isLoading:f,loaded:p,live:h,filterLevels:_,filterTimeRange:v,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},F=()=>{let t=y().getStore(c),{data:n,semaphore:r}=h(t);return{services:e(()=>Object.values(n.value)),areLoading:e(()=>r.value.fetching.items),fetchServices:async()=>{await t.fetch()}}};export{O as a,T as c,M as i,P as n,D as o,N as r,w as s,F as t};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Er as e,Si as t,T as n,ci as r,ki as i,n as a,yi as o}from"./icon-with-child-CgZMNB3F.js";import{Mt as s,Nt as c,Pt as l,_ as u,gt as d,it as f,jn as p,jr as m,la as h,m as g,p as _,s as v,x as y,yt as b}from"./common-D4Z2wgrj.js";import{t as x}from"./dist-DJgPCOr0.js";import{s as S}from"./system.constants-BvSIFqdm.js";import{n as C}from"./logs-entries.transformers-Bp2zoFAY.js";import"./useExtensions-ChNl1Nvt.js";var w=`extensions-module`,T={EXTENSIONS:`extensions_module-extensions`,EXTENSION:`extensions_module-extension`,EXTENSION_DETAIL:`extensions_module-extension-detail`},E=`table`,D=(e,t,n)=>`${e}:${t}:${n}`,O=t=>{let n=y().getStore(s),{semaphore:r,firstLoad:a}=h(n);return{extension:e(()=>n.findByType(i(t.type))),isLoading:e(()=>r.value.fetching.items||!a.value),fetchExtension:async()=>{await n.fetch()}}},k=d({search:b().optional(),kind:f([`all`,p.module,p.plugin]).default(`all`),enabled:f([`all`,`enabled`,`disabled`]).default(`all`),isCore:f([`all`,`core`,`addon`]).default(`all`)}),A={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},j={by:`name`,dir:`asc`},M=()=>{let n=y().getStore(s),{semaphore:i}=h(n),{filters:a,sort:o,pagination:c,viewMode:l,reset:u}=v({key:`${w}:extensions:list`,filters:{schema:k,defaults:A},sort:{defaults:[j]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:E},syncQuery:!0,version:1}),d=e({get:()=>l.value??`table`,set:e=>{l.value=e}}),f=e(()=>a.value.search!==A.search||a.value.kind!==A.kind||a.value.enabled!==A.enabled||a.value.isCore!==A.isCore),m=t(c.value.size||10),g=t(c.value.page||1),_=t(o.value.length>0?o.value[0]?.by:void 0),b=t(o.value.length>0?o.value[0]?.dir??null:null),S=e(()=>Object.values(n.data)),C=e(()=>x(S.value.filter(e=>(!a.value.search||e.type.toLowerCase().includes(a.value.search.toLowerCase())||e.name.toLowerCase().includes(a.value.search.toLowerCase())||e.description?.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.kind===`all`||e.kind===a.value.kind)&&(a.value.enabled===`all`||a.value.enabled===`enabled`&&e.enabled||a.value.enabled===`disabled`&&!e.enabled)&&(a.value.isCore===`all`||a.value.isCore===`core`&&e.isCore||a.value.isCore===`addon`&&!e.isCore)),[e=>_.value===`enabled`?+!!e.enabled:e[_.value]??``],[b.value===`asc`?`asc`:`desc`])),T=e(()=>C.value),D=e(()=>{let e=(g.value-1)*m.value,t=e+m.value;return T.value.slice(e,t)}),O=e(()=>C.value.filter(e=>e.kind===p.module)),M=e(()=>C.value.filter(e=>e.kind===p.plugin)),N=async()=>{await n.fetch()},P=e(()=>i.value.fetching.items),F=e(()=>T.value.length);return r(()=>c.value,e=>{g.value=e.page??1,m.value=e.size??10},{deep:!0}),r(()=>g.value,e=>{c.value.page=e}),r(()=>m.value,e=>{c.value.size=e}),r(()=>b.value,e=>{_.value===void 0||e===null?o.value=[]:o.value=[{by:_.value,dir:e}]}),r(()=>_.value,e=>{e===void 0||b.value===null?o.value=[]:o.value=[{by:e,dir:b.value}]}),{extensions:T,extensionsPaginated:D,modules:O,plugins:M,totalRows:F,areLoading:P,fetchExtensions:N,filters:a,filtersActive:f,paginateSize:m,paginatePage:g,sortBy:_,sortDir:b,viewMode:d,resetFilter:u}},N=()=>{let{t:e}=n(),t=y(),r=_(),i=t.getStore(s),a=t.getStore(c);return{toggleEnabled:async(t,n)=>{try{return await i.update({type:t,data:{enabled:n}}),r.success(e(n?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),n&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.extensionType===t);for(let t of e)t.lastError&&r.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof l&&t.code===400?r.error(e(`extensionsModule.messages.notConfigurableError`)):r.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await m.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:n.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`})}catch{r.info(e(`extensionsModule.messages.bulkEnableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!0});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkEnabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:n.length}))}},bulkDisable:async t=>{let n=t.filter(e=>e.canToggleEnabled&&e.enabled);if(n.length===0){r.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await m.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:n.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`})}catch{r.info(e(`extensionsModule.messages.bulkDisableCanceled`));return}try{let t=await i.bulkSetEnabled({types:n.map(e=>e.type),enabled:!1});t.succeeded.length>0&&r.success(e(`extensionsModule.messages.bulkDisabled`,{count:t.succeeded.length})),t.failed.length>0&&r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:t.failed.length}))}catch{r.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:n.length}))}}}},P=n=>{let s=g(),c=u(),l=t({}),d=t(!1),f=t(!1),p=t(!1),m=t(void 0),h=t(!1),_=t([]),v=t(`all`),y=null,b={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},x=e(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),w=e(()=>{let e=x.value;if(_.value.length>0&&(e=e.filter(e=>_.value.includes(e.type))),v.value!==`all`){let t=Date.now()-b[v.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=e(()=>_.value.length>0||v.value!==`all`),E=()=>{_.value=[],v.value=`all`},D=async()=>{let e=i(n.extensionType);y=e,f.value=!0;try{let{data:t,error:n}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,limit:50}}});if(y!==e)return;if(t!==void 0){let e=Object.fromEntries(t.data.map(e=>{let t=C(e);return[t.id,t]}));l.value=e,p.value=!0,d.value=t.metadata.has_more,m.value=t.metadata.next_cursor}else n&&c.error(`Failed to fetch extension logs:`,n)}catch(t){y===e&&c.error(`Error fetching extension logs:`,t)}finally{y===e&&(f.value=!1)}},O=async()=>{if(f.value||!d.value||!m.value)return;let e=i(n.extensionType),t=m.value;f.value=!0;try{let{data:n,error:r}=await s.client.GET(`/${a}/${S}/logs`,{params:{query:{extension:e,after_id:t,limit:50}}});if(y!==e)return;if(n!==void 0){let e=Object.fromEntries(n.data.map(e=>{let t=C(e);return[t.id,t]}));l.value={...l.value,...e},d.value=n.metadata.has_more,m.value=n.metadata.next_cursor}else r&&c.error(`Failed to load more extension logs:`,r)}catch(t){y===e&&c.error(`Error loading more extension logs:`,t)}finally{y===e&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,d.value=!1,p.value=!1,await D()},A=null;return r(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),o(()=>{A&&=(clearInterval(A),null)}),r(()=>i(n.extensionType),()=>{k()}),{logs:w,hasMore:d,isLoading:f,loaded:p,live:h,filterLevels:_,filterTimeRange:v,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},F=()=>{let t=y().getStore(c),{data:n,semaphore:r}=h(t);return{services:e(()=>Object.values(n.value)),areLoading:e(()=>r.value.fetching.items),fetchServices:async()=>{await t.fetch()}}};export{O as a,T as c,M as i,P as n,D as o,N as r,w as s,F as t};
@@ -1 +1 @@
1
- import{Er as e,Si as t,T as n,bi as r,n as i}from"./icon-with-child-CgZMNB3F.js";import{kn as a,m as o,p as s,x as c}from"./common-Be4p2bm6.js";import{t as l}from"./keys-CIqUg3Jv.js";import{a as u}from"./config.constants-17QBQ_kF.js";import{f as d,g as f,n as p}from"./keys-DakHO8Vr.js";import{o as m}from"./weather.constants-_S0I_w_Q.js";import{r as h}from"./devices.constants-HX5whDWr.js";var g=t(null),_=t(!1),v=t(null),y=300*1e3,b=e(()=>g.value!==null&&!g.value.hasOwner),x=e(()=>g.value?.onboardingCompleted??!1),S=()=>{g.value=null,v.value=null},C=()=>{let e=o(),t=async(t=!1)=>{if(!t&&g.value&&v.value&&Date.now()-v.value<y)return g.value;_.value=!0;try{let{data:t,error:n}=await e.client.GET(`/${i}/system/system/onboarding`);return n||!t?null:(g.value={hasOwner:t.data.has_owner,onboardingCompleted:t.data.onboarding_completed,devicesCount:t.data.devices_count,spacesCount:t.data.spaces_count,displaysCount:t.data.displays_count},v.value=Date.now(),g.value)}catch{return null}finally{_.value=!1}},n=()=>{g.value=null,v.value=null};return{status:g,isLoading:_,needsOnboarding:b,isOnboardingCompleted:x,fetchStatus:t,invalidate:n,markComplete:async()=>{try{let{error:r}=await e.client.POST(`/${i}/system/system/onboarding/complete`);return r?!1:(n(),await t(!0),!0)}catch{return!1}}}},w={ONBOARDING:`onboarding_module-onboarding`},T=function(e){return e[e.WELCOME=0]=`WELCOME`,e[e.ACCOUNT=1]=`ACCOUNT`,e[e.LOCATION=2]=`LOCATION`,e[e.INTEGRATIONS=3]=`INTEGRATIONS`,e[e.SPACES=4]=`SPACES`,e[e.COMPLETE=5]=`COMPLETE`,e}({}),E=[{searchToken:`Living Room`,category:`living_room`,icon:`mdi:sofa`,i18nKey:`livingRoom`},{searchToken:`Bedroom`,category:`bedroom`,icon:`mdi:bed`,i18nKey:`bedroom`},{searchToken:`Kitchen`,category:`kitchen`,icon:`mdi:countertop`,i18nKey:`kitchen`},{searchToken:`Bathroom`,category:`bathroom`,icon:`mdi:shower`,i18nKey:`bathroom`},{searchToken:`Toilet`,category:`toilet`,icon:`mdi:toilet`,i18nKey:`toilet`},{searchToken:`Office`,category:`office`,icon:`mdi:desk`,i18nKey:`office`},{searchToken:`Garage`,category:`garage`,icon:`mdi:garage`,i18nKey:`garage`},{searchToken:`Hallway`,category:`hallway`,icon:`mdi:door-open`,i18nKey:`hallway`},{searchToken:`Entryway`,category:`entryway`,icon:`mdi:door-sliding`,i18nKey:`entryway`},{searchToken:`Dining Room`,category:`dining_room`,icon:`mdi:silverware-fork-knife`,i18nKey:`diningRoom`},{searchToken:`Laundry`,category:`laundry`,icon:`mdi:washing-machine`,i18nKey:`laundry`},{searchToken:`Nursery`,category:`nursery`,icon:`mdi:baby-carriage`,i18nKey:`nursery`},{searchToken:`Guest Room`,category:`guest_room`,icon:`mdi:bed-outline`,i18nKey:`guestRoom`},{searchToken:`Storage`,category:`storage`,icon:`mdi:package-variant-closed`,i18nKey:`storage`},{searchToken:`Workshop`,category:`workshop`,icon:`mdi:hammer-wrench`,i18nKey:`workshop`}],D=t(T.WELCOME),O=t(!1),k=t(!1),A=t(!1),j=t(!1),M=t(0),N=r({username:``,password:``,confirmPassword:``,email:``,firstName:``,lastName:``}),P=r({city:``,latitude:null,longitude:null,timezone:``}),F=r([]),I=r(new Set),L=r([]),R=r({}),z={},B=null,V=null,H=()=>{let{t}=n(),r=o(),g=s(),_=c(),v=_.getStore(l),y=_.getStore(p),{invalidate:b,markComplete:x}=C(),S=e(()=>D.value===T.COMPLETE),w=()=>{D.value<T.COMPLETE&&(D.value+=1)},H=()=>{D.value>T.WELCOME&&--D.value},U=async()=>{if(A.value)return!0;O.value=!0;try{return k.value||=(await v.register({data:{username:N.username,password:N.password,firstName:N.firstName,lastName:N.lastName,email:N.email||void 0}}),!0),await v.create({data:{username:N.username,password:N.password}}),A.value=!0,N.password=``,N.confirmPassword=``,b(),!0}catch{return g.error(t(`onboardingModule.account.messages.error`)),!1}finally{O.value=!1}},W=e(()=>P.latitude!==null&&P.longitude!==null),G=async()=>{if(j.value||P.latitude===null||P.longitude===null)return!0;try{if(B&&V&&(V.latitude!==P.latitude||V.longitude!==P.longitude)&&(B=null,V=null),!B){let e={type:`weather-open-meteo`,name:P.city||`Home`,latitude:P.latitude,longitude:P.longitude},{data:t,error:n}=await r.client.POST(`/${i}/${m}/locations`,{body:{data:e}});if(n||(B=t?.data?.id??null,!B))return!1;V={latitude:P.latitude,longitude:P.longitude}}let{error:e}=await r.client.PATCH(`/${i}/${u}/config/module/{module}`,{params:{path:{module:`weather-module`}},body:{data:{type:`weather-module`,primary_location_id:B}}});return e?!1:(j.value=!0,!0)}catch{return!1}},K=async()=>{try{let{data:e,error:t}=await r.client.GET(`/${i}/${h}/devices`,{params:{query:{hidden:a.false}}});if(t||!e)return!1;let n=e.data;L.splice(0,L.length);for(let e of n)L.push({id:e.id,name:e.name,type:e.type,category:e.category??`generic`,description:e.description??null,roomId:e.room_id??null});return!0}catch{return!1}},q=e=>e.i18nKey?t(`onboardingModule.spaces.categories.${e.i18nKey}`):e.searchToken,J=e=>{let t=e.toLowerCase();return E.find(e=>t.includes(e.searchToken.toLowerCase()))??null},Y=()=>{let e=new Set(F.map(e=>e.name.toLowerCase()));for(let t of L){let n=J(t.name);if(!n)continue;let r=q(n);!e.has(r.toLowerCase())&&!I.has(r.toLowerCase())&&(F.push({name:r,category:n.category,icon:n.icon}),e.add(r.toLowerCase())),!(t.id in R)&&!I.has(r.toLowerCase())&&(R[t.id]=r)}},X=async()=>{if(F.length===0)return!0;try{for(;F.length>0;){let e=F[0],t=await y.add({data:{name:e.name,type:f.ROOM,category:e.category,icon:e.icon}});z[e.name]=t.id,M.value++,F.splice(0,1)}return!0}catch{return!1}},Z=async()=>{let e={};for(let[t,n]of Object.entries(R)){if(!n)continue;let r=z[n];r&&(e[r]||(e[r]=[]),e[r].push(t))}for(let[t,n]of Object.entries(e)){let{error:e}=await r.client.POST(`/${i}/${d}/spaces/{id}/assign`,{params:{path:{id:t}},body:{data:{device_ids:n,display_ids:[]}}});if(e)return!1}return!0};return{currentStep:D,isLoading:O,accountCreated:A,hasLocationData:W,accountData:N,locationData:P,spacesToCreate:F,dismissedSpaces:I,discoveredDevices:L,deviceAssignments:R,savedSpacesCount:M,isLastStep:S,nextStep:w,prevStep:H,createAccount:U,saveLocation:G,saveSpaces:X,fetchDevices:K,suggestSpacesFromDevices:Y,completeOnboarding:async()=>{O.value=!0;try{return P.latitude!==null&&P.longitude!==null&&!await G()?(g.error(t(`onboardingModule.location.messages.error`)),!1):F.length>0&&!await X()?(g.error(t(`onboardingModule.spaces.messages.error`)),!1):Object.values(R).some(e=>e!==null)&&!await Z()?(g.error(t(`onboardingModule.spaces.messages.assignmentError`)),!1):await x()?!0:(g.error(t(`onboardingModule.complete.messages.error`)),!1)}catch{return g.error(t(`onboardingModule.complete.messages.error`)),!1}finally{O.value=!1}},reset:()=>{D.value=T.WELCOME,k.value=!1,A.value=!1,j.value=!1,M.value=0,N.username=``,N.password=``,N.confirmPassword=``,N.email=``,N.firstName=``,N.lastName=``,P.city=``,P.latitude=null,P.longitude=null,P.timezone=``,F.splice(0),I.clear(),L.splice(0),Object.keys(R).forEach(e=>delete R[e]),Object.keys(z).forEach(e=>delete z[e]),B=null,V=null}}};export{S as a,w as i,H as n,C as o,T as r,E as t};
1
+ import{Er as e,Si as t,T as n,bi as r,n as i}from"./icon-with-child-CgZMNB3F.js";import{kn as a,m as o,p as s,x as c}from"./common-D4Z2wgrj.js";import{t as l}from"./keys-CIqUg3Jv.js";import{a as u}from"./config.constants-17QBQ_kF.js";import{f as d,g as f,n as p}from"./keys-BMDz3FOI.js";import{o as m}from"./weather.constants-_S0I_w_Q.js";import{r as h}from"./devices.constants-HX5whDWr.js";var g=t(null),_=t(!1),v=t(null),y=300*1e3,b=e(()=>g.value!==null&&!g.value.hasOwner),x=e(()=>g.value?.onboardingCompleted??!1),S=()=>{g.value=null,v.value=null},C=()=>{let e=o(),t=async(t=!1)=>{if(!t&&g.value&&v.value&&Date.now()-v.value<y)return g.value;_.value=!0;try{let{data:t,error:n}=await e.client.GET(`/${i}/system/system/onboarding`);return n||!t?null:(g.value={hasOwner:t.data.has_owner,onboardingCompleted:t.data.onboarding_completed,devicesCount:t.data.devices_count,spacesCount:t.data.spaces_count,displaysCount:t.data.displays_count},v.value=Date.now(),g.value)}catch{return null}finally{_.value=!1}},n=()=>{g.value=null,v.value=null};return{status:g,isLoading:_,needsOnboarding:b,isOnboardingCompleted:x,fetchStatus:t,invalidate:n,markComplete:async()=>{try{let{error:r}=await e.client.POST(`/${i}/system/system/onboarding/complete`);return r?!1:(n(),await t(!0),!0)}catch{return!1}}}},w={ONBOARDING:`onboarding_module-onboarding`},T=function(e){return e[e.WELCOME=0]=`WELCOME`,e[e.ACCOUNT=1]=`ACCOUNT`,e[e.LOCATION=2]=`LOCATION`,e[e.INTEGRATIONS=3]=`INTEGRATIONS`,e[e.SPACES=4]=`SPACES`,e[e.COMPLETE=5]=`COMPLETE`,e}({}),E=[{searchToken:`Living Room`,category:`living_room`,icon:`mdi:sofa`,i18nKey:`livingRoom`},{searchToken:`Bedroom`,category:`bedroom`,icon:`mdi:bed`,i18nKey:`bedroom`},{searchToken:`Kitchen`,category:`kitchen`,icon:`mdi:countertop`,i18nKey:`kitchen`},{searchToken:`Bathroom`,category:`bathroom`,icon:`mdi:shower`,i18nKey:`bathroom`},{searchToken:`Toilet`,category:`toilet`,icon:`mdi:toilet`,i18nKey:`toilet`},{searchToken:`Office`,category:`office`,icon:`mdi:desk`,i18nKey:`office`},{searchToken:`Garage`,category:`garage`,icon:`mdi:garage`,i18nKey:`garage`},{searchToken:`Hallway`,category:`hallway`,icon:`mdi:door-open`,i18nKey:`hallway`},{searchToken:`Entryway`,category:`entryway`,icon:`mdi:door-sliding`,i18nKey:`entryway`},{searchToken:`Dining Room`,category:`dining_room`,icon:`mdi:silverware-fork-knife`,i18nKey:`diningRoom`},{searchToken:`Laundry`,category:`laundry`,icon:`mdi:washing-machine`,i18nKey:`laundry`},{searchToken:`Nursery`,category:`nursery`,icon:`mdi:baby-carriage`,i18nKey:`nursery`},{searchToken:`Guest Room`,category:`guest_room`,icon:`mdi:bed-outline`,i18nKey:`guestRoom`},{searchToken:`Storage`,category:`storage`,icon:`mdi:package-variant-closed`,i18nKey:`storage`},{searchToken:`Workshop`,category:`workshop`,icon:`mdi:hammer-wrench`,i18nKey:`workshop`}],D=t(T.WELCOME),O=t(!1),k=t(!1),A=t(!1),j=t(!1),M=t(0),N=r({username:``,password:``,confirmPassword:``,email:``,firstName:``,lastName:``}),P=r({city:``,latitude:null,longitude:null,timezone:``}),F=r([]),I=r(new Set),L=r([]),R=r({}),z={},B=null,V=null,H=()=>{let{t}=n(),r=o(),g=s(),_=c(),v=_.getStore(l),y=_.getStore(p),{invalidate:b,markComplete:x}=C(),S=e(()=>D.value===T.COMPLETE),w=()=>{D.value<T.COMPLETE&&(D.value+=1)},H=()=>{D.value>T.WELCOME&&--D.value},U=async()=>{if(A.value)return!0;O.value=!0;try{return k.value||=(await v.register({data:{username:N.username,password:N.password,firstName:N.firstName,lastName:N.lastName,email:N.email||void 0}}),!0),await v.create({data:{username:N.username,password:N.password}}),A.value=!0,N.password=``,N.confirmPassword=``,b(),!0}catch{return g.error(t(`onboardingModule.account.messages.error`)),!1}finally{O.value=!1}},W=e(()=>P.latitude!==null&&P.longitude!==null),G=async()=>{if(j.value||P.latitude===null||P.longitude===null)return!0;try{if(B&&V&&(V.latitude!==P.latitude||V.longitude!==P.longitude)&&(B=null,V=null),!B){let e={type:`weather-open-meteo`,name:P.city||`Home`,latitude:P.latitude,longitude:P.longitude},{data:t,error:n}=await r.client.POST(`/${i}/${m}/locations`,{body:{data:e}});if(n||(B=t?.data?.id??null,!B))return!1;V={latitude:P.latitude,longitude:P.longitude}}let{error:e}=await r.client.PATCH(`/${i}/${u}/config/module/{module}`,{params:{path:{module:`weather-module`}},body:{data:{type:`weather-module`,primary_location_id:B}}});return e?!1:(j.value=!0,!0)}catch{return!1}},K=async()=>{try{let{data:e,error:t}=await r.client.GET(`/${i}/${h}/devices`,{params:{query:{hidden:a.false}}});if(t||!e)return!1;let n=e.data;L.splice(0,L.length);for(let e of n)L.push({id:e.id,name:e.name,type:e.type,category:e.category??`generic`,description:e.description??null,roomId:e.room_id??null});return!0}catch{return!1}},q=e=>e.i18nKey?t(`onboardingModule.spaces.categories.${e.i18nKey}`):e.searchToken,J=e=>{let t=e.toLowerCase();return E.find(e=>t.includes(e.searchToken.toLowerCase()))??null},Y=()=>{let e=new Set(F.map(e=>e.name.toLowerCase()));for(let t of L){let n=J(t.name);if(!n)continue;let r=q(n);!e.has(r.toLowerCase())&&!I.has(r.toLowerCase())&&(F.push({name:r,category:n.category,icon:n.icon}),e.add(r.toLowerCase())),!(t.id in R)&&!I.has(r.toLowerCase())&&(R[t.id]=r)}},X=async()=>{if(F.length===0)return!0;try{for(;F.length>0;){let e=F[0],t=await y.add({data:{name:e.name,type:f.ROOM,category:e.category,icon:e.icon}});z[e.name]=t.id,M.value++,F.splice(0,1)}return!0}catch{return!1}},Z=async()=>{let e={};for(let[t,n]of Object.entries(R)){if(!n)continue;let r=z[n];r&&(e[r]||(e[r]=[]),e[r].push(t))}for(let[t,n]of Object.entries(e)){let{error:e}=await r.client.POST(`/${i}/${d}/spaces/{id}/assign`,{params:{path:{id:t}},body:{data:{device_ids:n,display_ids:[]}}});if(e)return!1}return!0};return{currentStep:D,isLoading:O,accountCreated:A,hasLocationData:W,accountData:N,locationData:P,spacesToCreate:F,dismissedSpaces:I,discoveredDevices:L,deviceAssignments:R,savedSpacesCount:M,isLastStep:S,nextStep:w,prevStep:H,createAccount:U,saveLocation:G,saveSpaces:X,fetchDevices:K,suggestSpacesFromDevices:Y,completeOnboarding:async()=>{O.value=!0;try{return P.latitude!==null&&P.longitude!==null&&!await G()?(g.error(t(`onboardingModule.location.messages.error`)),!1):F.length>0&&!await X()?(g.error(t(`onboardingModule.spaces.messages.error`)),!1):Object.values(R).some(e=>e!==null)&&!await Z()?(g.error(t(`onboardingModule.spaces.messages.assignmentError`)),!1):await x()?!0:(g.error(t(`onboardingModule.complete.messages.error`)),!1)}catch{return g.error(t(`onboardingModule.complete.messages.error`)),!1}finally{O.value=!1}},reset:()=>{D.value=T.WELCOME,k.value=!1,A.value=!1,j.value=!1,M.value=0,N.username=``,N.password=``,N.confirmPassword=``,N.email=``,N.firstName=``,N.lastName=``,P.city=``,P.latitude=null,P.longitude=null,P.timezone=``,F.splice(0),I.clear(),L.splice(0),Object.keys(R).forEach(e=>delete R[e]),Object.keys(z).forEach(e=>delete z[e]),B=null,V=null}}};export{S as a,w as i,H as n,C as o,T as r,E as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a,n as o}from"./icon-with-child-CgZMNB3F.js";import{_ as s,bt as c,ct as l,f as u,ft as d,gt as f,ht as p,jr as m,l as h,la as g,m as _,o as v,ot as y,p as b,st as x,x as S,xt as C,yt as w}from"./common-Be4p2bm6.js";import{r as T}from"./config-BAg35nXl.js";import{r as E}from"./usePlugins-D2-Pd2HX.js";import{t as D}from"./dist-DJgPCOr0.js";import{t as O}from"./useConfigModule-5WRiFhe8.js";import{i as k,l as A,n as j,o as M,s as N}from"./useLocation-C1jGf7ps.js";import{a as P,n as F,o as I}from"./weather.constants-_S0I_w_Q.js";import{t as L}from"./types-C55HbQe7.js";var R=()=>{let e=S().getStore(N),{data:n,semaphore:r}=g(e);return{weatherDay:t(()=>n.value),isLoading:t(()=>n.value===null&&r.value.getting),fetchWeatherDay:async()=>{await e.get()}}},z=()=>{let e=S().getStore(A),{firstLoad:n,semaphore:r}=g(e);return{locations:t(()=>e.findAll().filter(e=>!e.draft)),areLoading:t(()=>r.value.fetching.items),loaded:t(()=>n.value),fetchLocations:async()=>{await e.fetch()}}},B={search:void 0,types:[],primary:`all`},V=()=>{let e=S().getStore(A),{firstLoad:r,semaphore:i}=g(e),{configModule:o}=O({type:P}),s=t(()=>o.value?.primaryLocationId??null),c=n(10),l=n(1),u=n({...B}),d=t(()=>u.value.search!==B.search||u.value.types.length>0||u.value.primary!==B.primary),f=n(`name`),p=n(`ascending`),m=t(()=>{let t=e.findAll().filter(e=>!(e.draft||u.value.search&&!e.name.toLowerCase().includes(u.value.search.toLowerCase())||u.value.types.length>0&&!u.value.types.includes(e.type)||u.value.primary===`primary`&&e.id!==s.value||u.value.primary===`secondary`&&e.id===s.value));return p.value===null?t:D(t,[e=>e[f.value]??``],[p.value===`ascending`?`asc`:`desc`])}),h=t(()=>{let e=(l.value-1)*c.value,t=e+c.value;return m.value.slice(e,t)}),_=async()=>{await e.fetch()},v=t(()=>i.value.fetching.items||!r.value),y=t(()=>r.value),b=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>u.value,()=>{l.value=1},{deep:!0}),{locations:m,locationsPaginated:h,totalRows:b,areLoading:v,loaded:y,fetchLocations:_,filters:u,filtersActive:d,paginateSize:c,paginatePage:l,sortBy:f,sortDir:p,resetFilter:()=>{u.value={...B}},primaryLocationId:s}},H=()=>{let e=_(),r=s(),i=n({}),a=n(!1),c=n(!1),l=n(!1);return{weatherByLocation:t(()=>i.value),isLoading:a,hasError:c,fetchCompleted:l,fetchLocationsWeather:async()=>{if(!a.value){a.value=!0,c.value=!1;try{let{data:t,error:n,response:a}=await e.client.GET(`/${o}/${I}/weather`,{});if(t!==void 0&&Array.isArray(t.data)){let e={};for(let n of t.data)if(n.location_id)try{let t=j(n.current),r=n.location;e[n.location_id]={current:t,locationName:r?.name??``,country:r?.country??null}}catch(e){r.error(`[WEATHER] Failed to transform weather data for location ${n.location_id}`,e)}i.value=e,Object.keys(e).length===0&&(c.value=!0);return}let s=`Failed to fetch locations weather.`;throw n&&(s=n.message??s),new k(s,a?.status??500)}catch(e){if(c.value=!0,e instanceof k)throw e;r.error(`[WEATHER] Failed to fetch locations weather`,e)}finally{a.value=!1,l.value=!0}}}}},U=()=>{let{t:e}=r(),t=b(),n=S().getStore(A);return{add:async e=>n.add(e),edit:async e=>n.edit(e),remove:async r=>{let i=n.findById(r);if(i)try{await m.confirm(e(`weatherModule.messages.locations.confirmDeleteLocation`,{name:i.name}),e(`weatherModule.headings.deleteLocation`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`});try{await n.remove({id:r}),t.success(e(`weatherModule.messages.locations.deleted`))}catch{t.error(e(`weatherModule.messages.locations.notDeleted`))}}catch{t.info(e(`weatherModule.messages.locations.deleteCanceled`,{location:i.name}))}},bulkRemove:async r=>{if(r.length!==0){try{await m.confirm(e(`weatherModule.messages.locations.confirmBulkDelete`,{count:r.length}),e(`weatherModule.headings.bulkDeleteLocations`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`})}catch{t.info(e(`weatherModule.messages.locations.bulkDeleteCanceled`));return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`weatherModule.messages.locations.bulkDeleted`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:i.failed.length}))}catch{t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:r.length}))}}}}},W=u(),G=f({id:L,draft:x().default(!1),type:w().trim().nonempty(),name:w().trim().nonempty(),order:p().int().nonnegative().default(0),createdAt:c([w().datetime({offset:!0}),l()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:c([w().datetime({offset:!0}),l()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)}).catchall(C());f({fetching:f({items:x().default(!1),item:y(L)}),creating:y(L),updating:y(L),deleting:y(L)}),f({id:L,type:w().trim().nonempty(),data:d({})}),f({id:L,data:f({type:w().trim().nonempty(),name:w().trim().nonempty()}).catchall(C())}),f({id:L}),f({id:L});var K=f({id:L.optional().default(v()),draft:x().optional().default(!1),data:f({type:w().trim().nonempty(),name:w().trim().nonempty()}).catchall(C())}),q=f({id:L,data:f({type:w().trim().nonempty(),name:w().trim().optional()}).catchall(C())});f({id:L}),f({ids:y(L).nonempty()});var J=f({succeeded:y(w()),failed:y(f({id:w(),reason:w()}))});f({id:L});var Y=f({id:w().uuid().optional(),type:w().trim().nonempty(),name:w().trim().nonempty()}).passthrough(),X=f({type:w().trim().nonempty(),name:w().trim().nonempty().optional()}).passthrough();f({id:w().uuid(),type:w(),name:w().trim().nonempty(),created_at:w(),updated_at:w().nullable().optional()}),f({id:L,type:w().trim().nonempty(),name:w().trim().min(1,`Name is required`)});var Z=f({name:w().trim().min(1,`Name is required`)}),Q=G,ee=Y,te=X,ne=({id:t})=>{let o=S().getStore(A),{t:c}=r(),l=b(),u=s(),d=n(F.NONE),f,p=i({name:o.findById(t.value)?.name??``}),m=h(e(p)),g=n(void 0),_=n(!1),v=async()=>{if(g.value.clearValidate(),!await g.value.validate())throw new M(`Form not valid`);let n=Z.safeParse(p);if(!n.success)throw u.error(`[WEATHER_MODULE] Schema validation failed:`,n.error),new M(`Failed to validate update location model.`);d.value=F.WORKING;let r=o.findById(t.value);if(!r)throw new M(`Location not found.`);let i=c(`weatherModule.messages.locations.notUpdated`,{location:p.name});try{await o.edit({id:t.value,data:{type:r.type,...n.data}}),d.value=F.OK,l.success(c(`weatherModule.messages.locations.updated`,{location:p.name})),Object.assign(m,h(e(p))),_.value=!1}catch(e){throw d.value=F.ERROR,f=window.setTimeout(y,2e3),e instanceof k&&e.code===422?l.error(e.message):l.error(i),e}},y=()=>{window.clearTimeout(f),d.value=F.NONE};return a(()=>p,()=>{_.value=!(0,W.isEqual)(e(p),m)},{deep:!0}),a(()=>o.findById(t.value),t=>{t&&!_.value&&(p.name=t.name,Object.assign(m,h(e(p))))}),{model:p,formEl:g,formChanged:_,submit:v}},$=()=>{let e=E(),{enabled:n}=T(),r=[`locationAddForm`,`locationEditForm`],i=[`locationSchema`,`locationAddFormSchema`,`locationEditFormSchema`,`locationCreateReqSchema`,`locationUpdateReqSchema`],a=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`weather-module`)))return!1;let t=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),n=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return t||n}):!1));return{plugins:a,options:t(()=>D(a.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)));if(n)return n}}}},re=({type:e})=>{let{getByType:n}=$(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`))))}};export{R as _,Q as a,G as c,J as d,q as f,z as g,V as h,ee as i,X as l,H as m,$ as n,te as o,U as p,ne as r,Y as s,re as t,K as u};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Si as n,T as r,bi as i,ci as a,n as o}from"./icon-with-child-CgZMNB3F.js";import{_ as s,bt as c,ct as l,f as u,ft as d,gt as f,ht as p,jr as m,l as h,la as g,m as _,o as v,ot as y,p as b,st as x,x as S,xt as C,yt as w}from"./common-D4Z2wgrj.js";import{r as T}from"./config-DAgVgX46.js";import{r as E}from"./usePlugins-CLZiBdYY.js";import{t as D}from"./dist-DJgPCOr0.js";import{t as O}from"./useConfigModule-CJHOZRLY.js";import{i as k,l as A,n as j,o as M,s as N}from"./useLocation-BpcB0mED.js";import{a as P,n as F,o as I}from"./weather.constants-_S0I_w_Q.js";import{t as L}from"./types-gvL9TxC-.js";var R=()=>{let e=S().getStore(N),{data:n,semaphore:r}=g(e);return{weatherDay:t(()=>n.value),isLoading:t(()=>n.value===null&&r.value.getting),fetchWeatherDay:async()=>{await e.get()}}},z=()=>{let e=S().getStore(A),{firstLoad:n,semaphore:r}=g(e);return{locations:t(()=>e.findAll().filter(e=>!e.draft)),areLoading:t(()=>r.value.fetching.items),loaded:t(()=>n.value),fetchLocations:async()=>{await e.fetch()}}},B={search:void 0,types:[],primary:`all`},V=()=>{let e=S().getStore(A),{firstLoad:r,semaphore:i}=g(e),{configModule:o}=O({type:P}),s=t(()=>o.value?.primaryLocationId??null),c=n(10),l=n(1),u=n({...B}),d=t(()=>u.value.search!==B.search||u.value.types.length>0||u.value.primary!==B.primary),f=n(`name`),p=n(`ascending`),m=t(()=>{let t=e.findAll().filter(e=>!(e.draft||u.value.search&&!e.name.toLowerCase().includes(u.value.search.toLowerCase())||u.value.types.length>0&&!u.value.types.includes(e.type)||u.value.primary===`primary`&&e.id!==s.value||u.value.primary===`secondary`&&e.id===s.value));return p.value===null?t:D(t,[e=>e[f.value]??``],[p.value===`ascending`?`asc`:`desc`])}),h=t(()=>{let e=(l.value-1)*c.value,t=e+c.value;return m.value.slice(e,t)}),_=async()=>{await e.fetch()},v=t(()=>i.value.fetching.items||!r.value),y=t(()=>r.value),b=t(()=>e.findAll().filter(e=>!e.draft).length);return a(()=>u.value,()=>{l.value=1},{deep:!0}),{locations:m,locationsPaginated:h,totalRows:b,areLoading:v,loaded:y,fetchLocations:_,filters:u,filtersActive:d,paginateSize:c,paginatePage:l,sortBy:f,sortDir:p,resetFilter:()=>{u.value={...B}},primaryLocationId:s}},H=()=>{let e=_(),r=s(),i=n({}),a=n(!1),c=n(!1),l=n(!1);return{weatherByLocation:t(()=>i.value),isLoading:a,hasError:c,fetchCompleted:l,fetchLocationsWeather:async()=>{if(!a.value){a.value=!0,c.value=!1;try{let{data:t,error:n,response:a}=await e.client.GET(`/${o}/${I}/weather`,{});if(t!==void 0&&Array.isArray(t.data)){let e={};for(let n of t.data)if(n.location_id)try{let t=j(n.current),r=n.location;e[n.location_id]={current:t,locationName:r?.name??``,country:r?.country??null}}catch(e){r.error(`[WEATHER] Failed to transform weather data for location ${n.location_id}`,e)}i.value=e,Object.keys(e).length===0&&(c.value=!0);return}let s=`Failed to fetch locations weather.`;throw n&&(s=n.message??s),new k(s,a?.status??500)}catch(e){if(c.value=!0,e instanceof k)throw e;r.error(`[WEATHER] Failed to fetch locations weather`,e)}finally{a.value=!1,l.value=!0}}}}},U=()=>{let{t:e}=r(),t=b(),n=S().getStore(A);return{add:async e=>n.add(e),edit:async e=>n.edit(e),remove:async r=>{let i=n.findById(r);if(i)try{await m.confirm(e(`weatherModule.messages.locations.confirmDeleteLocation`,{name:i.name}),e(`weatherModule.headings.deleteLocation`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`});try{await n.remove({id:r}),t.success(e(`weatherModule.messages.locations.deleted`))}catch{t.error(e(`weatherModule.messages.locations.notDeleted`))}}catch{t.info(e(`weatherModule.messages.locations.deleteCanceled`,{location:i.name}))}},bulkRemove:async r=>{if(r.length!==0){try{await m.confirm(e(`weatherModule.messages.locations.confirmBulkDelete`,{count:r.length}),e(`weatherModule.headings.bulkDeleteLocations`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`})}catch{t.info(e(`weatherModule.messages.locations.bulkDeleteCanceled`));return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`weatherModule.messages.locations.bulkDeleted`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:i.failed.length}))}catch{t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:r.length}))}}}}},W=u(),G=f({id:L,draft:x().default(!1),type:w().trim().nonempty(),name:w().trim().nonempty(),order:p().int().nonnegative().default(0),createdAt:c([w().datetime({offset:!0}),l()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:c([w().datetime({offset:!0}),l()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)}).catchall(C());f({fetching:f({items:x().default(!1),item:y(L)}),creating:y(L),updating:y(L),deleting:y(L)}),f({id:L,type:w().trim().nonempty(),data:d({})}),f({id:L,data:f({type:w().trim().nonempty(),name:w().trim().nonempty()}).catchall(C())}),f({id:L}),f({id:L});var K=f({id:L.optional().default(v()),draft:x().optional().default(!1),data:f({type:w().trim().nonempty(),name:w().trim().nonempty()}).catchall(C())}),q=f({id:L,data:f({type:w().trim().nonempty(),name:w().trim().optional()}).catchall(C())});f({id:L}),f({ids:y(L).nonempty()});var J=f({succeeded:y(w()),failed:y(f({id:w(),reason:w()}))});f({id:L});var Y=f({id:w().uuid().optional(),type:w().trim().nonempty(),name:w().trim().nonempty()}).passthrough(),X=f({type:w().trim().nonempty(),name:w().trim().nonempty().optional()}).passthrough();f({id:w().uuid(),type:w(),name:w().trim().nonempty(),created_at:w(),updated_at:w().nullable().optional()}),f({id:L,type:w().trim().nonempty(),name:w().trim().min(1,`Name is required`)});var Z=f({name:w().trim().min(1,`Name is required`)}),Q=G,ee=Y,te=X,ne=({id:t})=>{let o=S().getStore(A),{t:c}=r(),l=b(),u=s(),d=n(F.NONE),f,p=i({name:o.findById(t.value)?.name??``}),m=h(e(p)),g=n(void 0),_=n(!1),v=async()=>{if(g.value.clearValidate(),!await g.value.validate())throw new M(`Form not valid`);let n=Z.safeParse(p);if(!n.success)throw u.error(`[WEATHER_MODULE] Schema validation failed:`,n.error),new M(`Failed to validate update location model.`);d.value=F.WORKING;let r=o.findById(t.value);if(!r)throw new M(`Location not found.`);let i=c(`weatherModule.messages.locations.notUpdated`,{location:p.name});try{await o.edit({id:t.value,data:{type:r.type,...n.data}}),d.value=F.OK,l.success(c(`weatherModule.messages.locations.updated`,{location:p.name})),Object.assign(m,h(e(p))),_.value=!1}catch(e){throw d.value=F.ERROR,f=window.setTimeout(y,2e3),e instanceof k&&e.code===422?l.error(e.message):l.error(i),e}},y=()=>{window.clearTimeout(f),d.value=F.NONE};return a(()=>p,()=>{_.value=!(0,W.isEqual)(e(p),m)},{deep:!0}),a(()=>o.findById(t.value),t=>{t&&!_.value&&(p.name=t.name,Object.assign(m,h(e(p))))}),{model:p,formEl:g,formChanged:_,submit:v}},$=()=>{let e=E(),{enabled:n}=T(),r=[`locationAddForm`,`locationEditForm`],i=[`locationSchema`,`locationAddFormSchema`,`locationEditFormSchema`,`locationCreateReqSchema`,`locationUpdateReqSchema`],a=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`weather-module`)))return!1;let t=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),n=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return t||n}):!1));return{plugins:a,options:t(()=>D(a.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)));if(n)return n}}}},re=({type:e})=>{let{getByType:n}=$(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`))))}};export{R as _,Q as a,G as c,J as d,q as f,z as g,V as h,ee as i,X as l,H as m,$ as n,te as o,U as p,ne as r,Y as s,re as t,K as u};
@@ -0,0 +1 @@
1
+ import{Er as e}from"./icon-with-child-CgZMNB3F.js";import{la as t,x as n}from"./common-D4Z2wgrj.js";import{t as r}from"./keys-CIqUg3Jv.js";import"./usePersonalTokens-CzAHNnO2.js";var i=()=>{let i=n().getStore(r),{profile:a}=t(i);return{profile:e(()=>a.value),isSignedIn:e(()=>i.isSignedIn())}};export{i as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Gr as n,Si as r,T as i,bi as a,ci as o,n as s}from"./icon-with-child-CgZMNB3F.js";import{Ht as c,_ as l,f as u,gt as d,it as f,jr as p,l as m,la as h,m as g,ot as _,p as v,s as y,wr as b,x,yt as S}from"./common-Be4p2bm6.js";import{t as C}from"./dist-DJgPCOr0.js";import{t as w}from"./keys-DExX7OfU.js";var T=e=>{let n=x().getStore(w),{tokenRefreshTriggers:i}=h(n),a=l(),s=r([]),c=t(()=>e.value===null?null:n?.findById(e.value)??null),u=t(()=>e.value===null?!1:n?.getting(e.value)??!1),d=async()=>{if(e.value!==null)try{await n?.get({id:e.value})}catch(e){a.error(`Failed to fetch display:`,e)}},f=async()=>{if(e.value!==null)try{let t=await n?.getTokens({id:e.value});s.value=t??[]}catch(e){a.error(`Failed to fetch display tokens:`,e),s.value=[]}};return b(t(()=>{if(e.value===null||!n)return 0;let t=i.value;return!t||typeof t!=`object`?0:t[e.value]??0}),async()=>{if(e.value!==null)try{await f()}catch(e){a.error(`Failed to refresh tokens:`,e)}},{debounce:300}),o(()=>e.value,async e=>{if(e!==null&&n?.findById(e)===null)try{await d()}catch(e){a.error(`Failed to fetch display on id change:`,e)}},{immediate:!0}),{display:c,tokens:s,isLoading:u,fetchDisplay:d,fetchTokens:f,revokeToken:async()=>{if(e.value===null)return!1;let t=await n?.revokeToken({id:e.value});return t&&(s.value=[]),t??!1}}},E=u(),D=`displays`,O=`displays-module`,k=`DisplaysModule.`,A=c,j=function(e){return e.DISPLAY_CREATED=`DisplaysModule.Display.Created`,e.DISPLAY_UPDATED=`DisplaysModule.Display.Updated`,e.DISPLAY_DELETED=`DisplaysModule.Display.Deleted`,e.DISPLAY_TOKEN_REVOKED=`DisplaysModule.Display.TokenRevoked`,e}({}),M=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),N={DISPLAYS:`displays_module-displays`,DISPLAYS_EDIT:`displays_module-displays_edit`,DISPLAY:`displays_module-display`,DISPLAY_EDIT:`displays_module-display_edit`,DISPLAY_TOKENS:`displays_module-display_tokens`},P=[{value:15,labelKey:`15s`},{value:30,labelKey:`30s`},{value:60,labelKey:`1min`},{value:120,labelKey:`2min`},{value:300,labelKey:`5min`},{value:600,labelKey:`10min`},{value:1800,labelKey:`30min`},{value:0,labelKey:`never`}],F=class extends Error{exception;constructor(e,t=null){super(e),this.name=`DisplaysException`,this.exception=t}},I=class extends F{constructor(e,t=null){super(e,t),this.name=`DisplaysValidationException`}},L=class extends F{code;constructor(e,t=null,n=null){super(e,n),this.name=`DisplaysApiException`,this.code=t}},R=({display:t,messages:s})=>{let c=x().getStore(w),{t:l}=i(),u=v(),d=r(M.NONE),f,p=a({id:t.id,name:t.name,spaceId:t.spaceId,unitSize:t.unitSize,rows:t.rows,cols:t.cols,brightness:t.brightness,screenLockDuration:t.screenLockDuration,darkMode:t.darkMode,screenSaver:t.screenSaver,screenPowerOff:t.screenPowerOff,speaker:t.speaker,speakerVolume:t.speakerVolume,microphone:t.microphone,microphoneVolume:t.microphoneVolume,homeMode:t.homeMode,homePageId:t.homePageId,numberFormat:t.numberFormat??``,temperatureUnit:t.temperatureUnit??``,windSpeedUnit:t.windSpeedUnit??``,pressureUnit:t.pressureUnit??``,precipitationUnit:t.precipitationUnit??``,distanceUnit:t.distanceUnit??``,weatherLocationId:t.weatherLocationId??null}),h=m(e(p)),g=r(void 0),_=r(!1),y=async()=>{let n=s&&s.error?s.error:l(`displaysModule.messages.notEdited`,{display:t.name||t.macAddress});if(!g.value)throw new I(`Form element is not available`);if(g.value.clearValidate(),!await g.value.validate())throw new I(`Form not valid`);d.value=M.WORKING;try{let e={name:p.name||null,spaceId:p.spaceId,unitSize:p.unitSize,rows:p.rows,cols:p.cols,brightness:p.brightness,screenLockDuration:p.screenLockDuration,darkMode:p.darkMode,screenSaver:p.screenSaver,screenPowerOff:p.screenPowerOff,homeMode:p.homeMode,homePageId:p.homeMode===`explicit`?p.homePageId:null,numberFormat:p.numberFormat||null,temperatureUnit:p.temperatureUnit||null,windSpeedUnit:p.windSpeedUnit||null,pressureUnit:p.pressureUnit||null,precipitationUnit:p.precipitationUnit||null,distanceUnit:p.distanceUnit||null,weatherLocationId:p.weatherLocationId||null};t.audioOutputSupported&&(e.speaker=p.speaker,e.speakerVolume=p.speakerVolume),t.audioInputSupported&&(e.microphone=p.microphone,e.microphoneVolume=p.microphoneVolume),await c.edit({id:t.id,data:e})}catch(e){throw d.value=M.ERROR,f=window.setTimeout(b,2e3),e instanceof L&&e.code===422?u.error(e.message):u.error(n),e}return d.value=M.OK,f=window.setTimeout(b,2e3),u.success(l(s&&s.success?s.success:`displaysModule.messages.edited`,{display:t.name||t.macAddress})),_.value=!1,h=m(e(p)),`saved`},b=()=>{f!==void 0&&(window.clearTimeout(f),f=void 0),d.value=M.NONE};return o(p,()=>{_.value=!(0,E.isEqual)(e(p),h)}),n(()=>{b()}),{model:p,formEl:g,formChanged:_,submit:y,clear:b,formResult:d}},z=()=>{let e=x().getStore(w),{firstLoad:n}=h(e),r=t(()=>e?.findAll()??[]);return{displays:r,isLoading:t(()=>e?.fetching()??!1),isLoaded:t(()=>n.value),fetchDisplays:async()=>{await e?.fetch()},options:t(()=>r.value.map(e=>({value:e.id,label:e.name||e.macAddress})))}},B=d({search:S().optional(),darkMode:f([`all`,`enabled`,`disabled`]).default(`all`),screenSaver:f([`all`,`enabled`,`disabled`]).default(`all`),state:f([`all`,`offline`,`online`]).default(`all`),states:_(f([`connected`,`disconnected`,`lost`,`unknown`]))}),V={search:void 0,darkMode:`all`,screenSaver:`all`,state:`all`,states:[]},H={by:`name`,dir:`asc`},U=()=>{let e=x().getStore(w),{firstLoad:n,semaphore:i}=h(e),{filters:a,sort:s,pagination:c,reset:l}=y({key:`${O}:displays:list`,filters:{schema:B,defaults:V},sort:{defaults:[H]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=t(()=>a.value.search!==V.search||!(0,E.isEqual)(a.value.darkMode,V.darkMode)||!(0,E.isEqual)(a.value.screenSaver,V.screenSaver)||!(0,E.isEqual)(a.value.state,V.state)||!(0,E.isEqual)(a.value.states,V.states)),d=r(c.value.size||10),f=r(c.value.page||1),p=r(s.value.length>0?s.value[0]?.by:void 0),m=r(s.value.length>0?s.value[0]?.dir??null:null),g=t(()=>C(e.findAll().filter(e=>!e.draft&&(!a.value.search||e.id.toLowerCase().includes(a.value.search.toLowerCase())||e.name?.toLowerCase().includes(a.value.search.toLowerCase())||e.macAddress.toLowerCase().includes(a.value.search.toLowerCase())||e.version.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.darkMode===`all`||a.value.darkMode===`enabled`&&e.darkMode||a.value.darkMode===`disabled`&&!e.darkMode)&&(a.value.screenSaver===`all`||a.value.screenSaver===`enabled`&&e.screenSaver||a.value.screenSaver===`disabled`&&!e.screenSaver)&&(!a.value.states||a.value.states.length===0||a.value.states.includes(e.status??`unknown`))&&(a.value.state===`all`||a.value.state===`online`&&e.status===`connected`||a.value.state===`offline`&&[`disconnected`,`lost`,`unknown`].includes(e.status??`unknown`))),[e=>{switch(p.value){case`name`:return e.name||e.macAddress;case`version`:return e.version;case`screenWidth`:return e.screenWidth??0;case`status`:return e.status??`unknown`;default:return e.name||e.macAddress}}],[m.value===`asc`?`asc`:`desc`])),_=t(()=>{let e=(f.value-1)*d.value,t=e+d.value;return g.value.slice(e,t)}),v=async()=>{await e.fetch()},b=t(()=>i.value.fetching.items||!n.value),S=t(()=>n.value),T=t(()=>e.findAll().filter(e=>!e.draft).length);return o(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),o(()=>f.value,e=>{c.value.page=e}),o(()=>d.value,e=>{c.value.size=e}),o(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),o(()=>p.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:m.value}]}),{displays:g,displaysPaginated:_,totalRows:T,areLoading:b,loaded:S,fetchDisplays:v,filters:a,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}},W=()=>{let e=x().getStore(w),{t}=i(),n=v();return{remove:async r=>{let i=e?.findById(r);if(!i){n.error(t(`displaysModule.messages.notFound`));return}try{await p.confirm(t(`displaysModule.messages.confirmRemove`,{name:i.name||i.macAddress}),t(`displaysModule.headings.removeDisplay`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`}),await e.remove({id:r}),n.success(t(`displaysModule.messages.removed`))}catch{}},bulkRemove:async r=>{if(r.length!==0){try{await p.confirm(t(`displaysModule.messages.confirmBulkRemove`,{count:r.length}),t(`displaysModule.headings.removeBulkDisplays`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await e.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&n.success(t(`displaysModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:r.length}))}}}}},G=()=>{let e=g(),n=l(),i=r(null),a=r(!1),o=r(!1),c=t(()=>i.value?.available??!1),u=t(()=>i.value?.active??!1),d=t(()=>i.value?.deploymentMode??`combined`),f=t(()=>i.value?.remainingTime??null),p=t(()=>{let e=f.value;return e===null?0:Math.ceil(e/1e3)}),m=t(()=>{let e=p.value;return e<=0?`0:00`:`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`}),h=async()=>{try{a.value=!0;let{data:t}=await e.client.GET(`/${s}/${D}/displays/permit-join/status`);if(t?.data){let e=t.data;i.value={active:e.active??!1,expiresAt:e.expires_at?new Date(e.expires_at):null,remainingTime:e.remaining_time??null,deploymentMode:e.deployment_mode??`combined`,available:e.available??!1}}}catch(e){throw n.error(`Failed to fetch permit join status`,e),new F(`Failed to fetch permit join status`)}finally{a.value=!1}};return{status:i,loading:a,activating:o,isAvailable:c,isActive:u,deploymentMode:d,remainingTime:f,remainingTimeSeconds:p,remainingTimeFormatted:m,fetchStatus:h,activate:async()=>{try{o.value=!0,await e.client.POST(`/${s}/${D}/displays/permit-join`),await h()}catch(e){throw n.error(`Failed to activate permit join`,e),new F(`Failed to activate permit join`)}finally{o.value=!1}},deactivate:async()=>{try{o.value=!0,await e.client.DELETE(`/${s}/${D}/displays/permit-join`,{}),await h()}catch(e){throw n.error(`Failed to deactivate permit join`,e),new F(`Failed to deactivate permit join`)}finally{o.value=!1}}}};export{T as _,R as a,I as c,D as d,A as f,P as g,N as h,z as i,k as l,M as m,W as n,L as o,j as p,U as r,F as s,G as t,O as u};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Gr as n,Si as r,T as i,bi as a,ci as o,n as s}from"./icon-with-child-CgZMNB3F.js";import{Ht as c,_ as l,f as u,gt as d,it as f,jr as p,l as m,la as h,m as g,ot as _,p as v,s as y,wr as b,x,yt as S}from"./common-D4Z2wgrj.js";import{t as C}from"./dist-DJgPCOr0.js";import{t as w}from"./keys-DExX7OfU.js";var T=e=>{let n=x().getStore(w),{tokenRefreshTriggers:i}=h(n),a=l(),s=r([]),c=t(()=>e.value===null?null:n?.findById(e.value)??null),u=t(()=>e.value===null?!1:n?.getting(e.value)??!1),d=async()=>{if(e.value!==null)try{await n?.get({id:e.value})}catch(e){a.error(`Failed to fetch display:`,e)}},f=async()=>{if(e.value!==null)try{let t=await n?.getTokens({id:e.value});s.value=t??[]}catch(e){a.error(`Failed to fetch display tokens:`,e),s.value=[]}};return b(t(()=>{if(e.value===null||!n)return 0;let t=i.value;return!t||typeof t!=`object`?0:t[e.value]??0}),async()=>{if(e.value!==null)try{await f()}catch(e){a.error(`Failed to refresh tokens:`,e)}},{debounce:300}),o(()=>e.value,async e=>{if(e!==null&&n?.findById(e)===null)try{await d()}catch(e){a.error(`Failed to fetch display on id change:`,e)}},{immediate:!0}),{display:c,tokens:s,isLoading:u,fetchDisplay:d,fetchTokens:f,revokeToken:async()=>{if(e.value===null)return!1;let t=await n?.revokeToken({id:e.value});return t&&(s.value=[]),t??!1}}},E=u(),D=`displays`,O=`displays-module`,k=`DisplaysModule.`,A=c,j=function(e){return e.DISPLAY_CREATED=`DisplaysModule.Display.Created`,e.DISPLAY_UPDATED=`DisplaysModule.Display.Updated`,e.DISPLAY_DELETED=`DisplaysModule.Display.Deleted`,e.DISPLAY_TOKEN_REVOKED=`DisplaysModule.Display.TokenRevoked`,e}({}),M=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),N={DISPLAYS:`displays_module-displays`,DISPLAYS_EDIT:`displays_module-displays_edit`,DISPLAY:`displays_module-display`,DISPLAY_EDIT:`displays_module-display_edit`,DISPLAY_TOKENS:`displays_module-display_tokens`},P=[{value:15,labelKey:`15s`},{value:30,labelKey:`30s`},{value:60,labelKey:`1min`},{value:120,labelKey:`2min`},{value:300,labelKey:`5min`},{value:600,labelKey:`10min`},{value:1800,labelKey:`30min`},{value:0,labelKey:`never`}],F=class extends Error{exception;constructor(e,t=null){super(e),this.name=`DisplaysException`,this.exception=t}},I=class extends F{constructor(e,t=null){super(e,t),this.name=`DisplaysValidationException`}},L=class extends F{code;constructor(e,t=null,n=null){super(e,n),this.name=`DisplaysApiException`,this.code=t}},R=({display:t,messages:s})=>{let c=x().getStore(w),{t:l}=i(),u=v(),d=r(M.NONE),f,p=a({id:t.id,name:t.name,spaceId:t.spaceId,unitSize:t.unitSize,rows:t.rows,cols:t.cols,brightness:t.brightness,screenLockDuration:t.screenLockDuration,darkMode:t.darkMode,screenSaver:t.screenSaver,screenPowerOff:t.screenPowerOff,speaker:t.speaker,speakerVolume:t.speakerVolume,microphone:t.microphone,microphoneVolume:t.microphoneVolume,homeMode:t.homeMode,homePageId:t.homePageId,numberFormat:t.numberFormat??``,temperatureUnit:t.temperatureUnit??``,windSpeedUnit:t.windSpeedUnit??``,pressureUnit:t.pressureUnit??``,precipitationUnit:t.precipitationUnit??``,distanceUnit:t.distanceUnit??``,weatherLocationId:t.weatherLocationId??null}),h=m(e(p)),g=r(void 0),_=r(!1),y=async()=>{let n=s&&s.error?s.error:l(`displaysModule.messages.notEdited`,{display:t.name||t.macAddress});if(!g.value)throw new I(`Form element is not available`);if(g.value.clearValidate(),!await g.value.validate())throw new I(`Form not valid`);d.value=M.WORKING;try{let e={name:p.name||null,spaceId:p.spaceId,unitSize:p.unitSize,rows:p.rows,cols:p.cols,brightness:p.brightness,screenLockDuration:p.screenLockDuration,darkMode:p.darkMode,screenSaver:p.screenSaver,screenPowerOff:p.screenPowerOff,homeMode:p.homeMode,homePageId:p.homeMode===`explicit`?p.homePageId:null,numberFormat:p.numberFormat||null,temperatureUnit:p.temperatureUnit||null,windSpeedUnit:p.windSpeedUnit||null,pressureUnit:p.pressureUnit||null,precipitationUnit:p.precipitationUnit||null,distanceUnit:p.distanceUnit||null,weatherLocationId:p.weatherLocationId||null};t.audioOutputSupported&&(e.speaker=p.speaker,e.speakerVolume=p.speakerVolume),t.audioInputSupported&&(e.microphone=p.microphone,e.microphoneVolume=p.microphoneVolume),await c.edit({id:t.id,data:e})}catch(e){throw d.value=M.ERROR,f=window.setTimeout(b,2e3),e instanceof L&&e.code===422?u.error(e.message):u.error(n),e}return d.value=M.OK,f=window.setTimeout(b,2e3),u.success(l(s&&s.success?s.success:`displaysModule.messages.edited`,{display:t.name||t.macAddress})),_.value=!1,h=m(e(p)),`saved`},b=()=>{f!==void 0&&(window.clearTimeout(f),f=void 0),d.value=M.NONE};return o(p,()=>{_.value=!(0,E.isEqual)(e(p),h)}),n(()=>{b()}),{model:p,formEl:g,formChanged:_,submit:y,clear:b,formResult:d}},z=()=>{let e=x().getStore(w),{firstLoad:n}=h(e),r=t(()=>e?.findAll()??[]);return{displays:r,isLoading:t(()=>e?.fetching()??!1),isLoaded:t(()=>n.value),fetchDisplays:async()=>{await e?.fetch()},options:t(()=>r.value.map(e=>({value:e.id,label:e.name||e.macAddress})))}},B=d({search:S().optional(),darkMode:f([`all`,`enabled`,`disabled`]).default(`all`),screenSaver:f([`all`,`enabled`,`disabled`]).default(`all`),state:f([`all`,`offline`,`online`]).default(`all`),states:_(f([`connected`,`disconnected`,`lost`,`unknown`]))}),V={search:void 0,darkMode:`all`,screenSaver:`all`,state:`all`,states:[]},H={by:`name`,dir:`asc`},U=()=>{let e=x().getStore(w),{firstLoad:n,semaphore:i}=h(e),{filters:a,sort:s,pagination:c,reset:l}=y({key:`${O}:displays:list`,filters:{schema:B,defaults:V},sort:{defaults:[H]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=t(()=>a.value.search!==V.search||!(0,E.isEqual)(a.value.darkMode,V.darkMode)||!(0,E.isEqual)(a.value.screenSaver,V.screenSaver)||!(0,E.isEqual)(a.value.state,V.state)||!(0,E.isEqual)(a.value.states,V.states)),d=r(c.value.size||10),f=r(c.value.page||1),p=r(s.value.length>0?s.value[0]?.by:void 0),m=r(s.value.length>0?s.value[0]?.dir??null:null),g=t(()=>C(e.findAll().filter(e=>!e.draft&&(!a.value.search||e.id.toLowerCase().includes(a.value.search.toLowerCase())||e.name?.toLowerCase().includes(a.value.search.toLowerCase())||e.macAddress.toLowerCase().includes(a.value.search.toLowerCase())||e.version.toLowerCase().includes(a.value.search.toLowerCase()))&&(a.value.darkMode===`all`||a.value.darkMode===`enabled`&&e.darkMode||a.value.darkMode===`disabled`&&!e.darkMode)&&(a.value.screenSaver===`all`||a.value.screenSaver===`enabled`&&e.screenSaver||a.value.screenSaver===`disabled`&&!e.screenSaver)&&(!a.value.states||a.value.states.length===0||a.value.states.includes(e.status??`unknown`))&&(a.value.state===`all`||a.value.state===`online`&&e.status===`connected`||a.value.state===`offline`&&[`disconnected`,`lost`,`unknown`].includes(e.status??`unknown`))),[e=>{switch(p.value){case`name`:return e.name||e.macAddress;case`version`:return e.version;case`screenWidth`:return e.screenWidth??0;case`status`:return e.status??`unknown`;default:return e.name||e.macAddress}}],[m.value===`asc`?`asc`:`desc`])),_=t(()=>{let e=(f.value-1)*d.value,t=e+d.value;return g.value.slice(e,t)}),v=async()=>{await e.fetch()},b=t(()=>i.value.fetching.items||!n.value),S=t(()=>n.value),T=t(()=>e.findAll().filter(e=>!e.draft).length);return o(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),o(()=>f.value,e=>{c.value.page=e}),o(()=>d.value,e=>{c.value.size=e}),o(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),o(()=>p.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:m.value}]}),{displays:g,displaysPaginated:_,totalRows:T,areLoading:b,loaded:S,fetchDisplays:v,filters:a,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}},W=()=>{let e=x().getStore(w),{t}=i(),n=v();return{remove:async r=>{let i=e?.findById(r);if(!i){n.error(t(`displaysModule.messages.notFound`));return}try{await p.confirm(t(`displaysModule.messages.confirmRemove`,{name:i.name||i.macAddress}),t(`displaysModule.headings.removeDisplay`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`}),await e.remove({id:r}),n.success(t(`displaysModule.messages.removed`))}catch{}},bulkRemove:async r=>{if(r.length!==0){try{await p.confirm(t(`displaysModule.messages.confirmBulkRemove`,{count:r.length}),t(`displaysModule.headings.removeBulkDisplays`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await e.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&n.success(t(`displaysModule.messages.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:i.failed.length}))}catch{n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:r.length}))}}}}},G=()=>{let e=g(),n=l(),i=r(null),a=r(!1),o=r(!1),c=t(()=>i.value?.available??!1),u=t(()=>i.value?.active??!1),d=t(()=>i.value?.deploymentMode??`combined`),f=t(()=>i.value?.remainingTime??null),p=t(()=>{let e=f.value;return e===null?0:Math.ceil(e/1e3)}),m=t(()=>{let e=p.value;return e<=0?`0:00`:`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`}),h=async()=>{try{a.value=!0;let{data:t}=await e.client.GET(`/${s}/${D}/displays/permit-join/status`);if(t?.data){let e=t.data;i.value={active:e.active??!1,expiresAt:e.expires_at?new Date(e.expires_at):null,remainingTime:e.remaining_time??null,deploymentMode:e.deployment_mode??`combined`,available:e.available??!1}}}catch(e){throw n.error(`Failed to fetch permit join status`,e),new F(`Failed to fetch permit join status`)}finally{a.value=!1}};return{status:i,loading:a,activating:o,isAvailable:c,isActive:u,deploymentMode:d,remainingTime:f,remainingTimeSeconds:p,remainingTimeFormatted:m,fetchStatus:h,activate:async()=>{try{o.value=!0,await e.client.POST(`/${s}/${D}/displays/permit-join`),await h()}catch(e){throw n.error(`Failed to activate permit join`,e),new F(`Failed to activate permit join`)}finally{o.value=!1}},deactivate:async()=>{try{o.value=!0,await e.client.DELETE(`/${s}/${D}/displays/permit-join`,{}),await h()}catch(e){throw n.error(`Failed to deactivate permit join`,e),new F(`Failed to deactivate permit join`)}finally{o.value=!1}}}};export{T as _,R as a,I as c,D as d,A as f,P as g,N as h,z as i,k as l,M as m,W as n,L as o,j as p,U as r,F as s,G as t,O as u};