@fastybird/smart-panel-admin 1.1.0-alpha.5 → 1.1.0-alpha.6
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.
- package/dist/assets/{alert-BQTYQnER.js → alert-BtC0hQaN.js} +1 -1
- package/dist/assets/{card-add-form-Ck6-mLod.js → card-add-form-DLYHqWXC.js} +1 -1
- package/dist/assets/{card-edit-form-DxlxRWrN.js → card-edit-form-K7wa-edI.js} +1 -1
- package/dist/assets/{checkbox-Ct1KW9j2.js → checkbox-Brn4H-ar.js} +1 -1
- package/dist/assets/{clamp-Bz8nCcc6.js → clamp-CxRdsaiJ.js} +1 -1
- package/dist/assets/{col-UcL8KWuz.js → col-DHgVtBiy.js} +1 -1
- package/dist/assets/{collapse-BMAQOZL8.js → collapse-Ce5pnck0.js} +1 -1
- package/dist/assets/{common-BlrTsYp4.js → common-DQQtAVrj.js} +24 -24
- package/dist/assets/components-27DhQHKF.js +1 -0
- package/dist/assets/components-5sqBa6m6.js +1 -0
- package/dist/assets/components-BJQ0MO8_.js +1 -0
- package/dist/assets/components-BSeBzm3j.js +1 -0
- package/dist/assets/components-BrH_I6yT.js +1 -0
- package/dist/assets/{components-BRoDURXE.js → components-C69JopUr.js} +2 -2
- package/dist/assets/{components-C80SHFcG.js → components-CfZD58jR.js} +1 -1
- package/dist/assets/components-CxFbS5gV.js +1 -0
- package/dist/assets/{components-tSwiG4en.js → components-DP-_PxCR.js} +2 -2
- package/dist/assets/{components-DAga4if7.js → components-GvI9olL9.js} +2 -2
- package/dist/assets/{composables-B6mqSg_E.js → composables-B0IV09af.js} +1 -1
- package/dist/assets/{composables-BRwonHAV.js → composables-B8MvHG4n.js} +1 -1
- package/dist/assets/{composables-TDMgkeOk.js → composables-BNc5mHwM.js} +1 -1
- package/dist/assets/composables-CEtj6Qds.js +1 -0
- package/dist/assets/composables-CWHVZmlg.js +1 -0
- package/dist/assets/composables-CYfrqIJ62.js +1 -0
- package/dist/assets/{composables-fXtWAsME.js → composables-DRjKkih6.js} +1 -1
- package/dist/assets/{composables-MOgrFVd2.js → composables-KyQfXDC3.js} +1 -1
- package/dist/assets/{composables-CS735TVh.js → composables-VBwQ9ceK.js} +1 -1
- package/dist/assets/{composables-B1UgF1fo.js → composables-_zPISBdj.js} +1 -1
- package/dist/assets/{composables-Xla74SYE.js → composables-nFowfQst.js} +1 -1
- package/dist/assets/{config-DB5uU6lv.js → config-DycVi21V.js} +2 -2
- package/dist/assets/{dashboard-LB4cuZv7.js → dashboard-DZ5wM97E.js} +2 -2
- package/dist/assets/{dashboard.types-CmAH61tA.js → dashboard.types-CbXYm-xo.js} +1 -1
- package/dist/assets/{data-source-edit-form-B8ccwrVQ.js → data-source-edit-form-DAofDgU-.js} +1 -1
- package/dist/assets/{descriptions-D8nHSu3F.js → descriptions-BgeuuBZp.js} +1 -1
- package/dist/assets/{devices-B6BgB4Yw.js → devices-CLrdZvOm.js} +2 -2
- package/dist/assets/{devices-virtual.constants-Dti7rDJR.js → devices-virtual.constants-DfAF3P2t.js} +1 -1
- package/dist/assets/{dialog-BICM2Xbe.js → dialog-C_vHe4lp.js} +1 -1
- package/dist/assets/{drawer-DJgGmol9.js → drawer-DBEDVZvF.js} +1 -1
- package/dist/assets/{form-PoOFmumT.js → form-DhJ_5Z1F.js} +1 -1
- package/dist/assets/{index-gO_aD3ZM.js → index-C5P2_H_o.js} +6 -5
- package/dist/assets/{index-qxTMOQVp.css → index-hWiJEHfB.css} +1 -1
- package/dist/assets/input-number-C4oLa6SE.js +1 -0
- package/dist/assets/{integration-config-dialog-BXTlbFkD.js → integration-config-dialog-sOxOBnDt.js} +1 -1
- package/dist/assets/{keys-J7s06zUV.js → keys-xm8ycHBh.js} +1 -1
- package/dist/assets/{layout-config-B6OpZGeM.js → layout-config-Dgm7OQfl.js} +1 -1
- package/dist/assets/{layout-default-D1wGN9VG.js → layout-default-Dtrjfr-l.js} +1 -1
- package/dist/assets/{layout-lock-BVVq9YJ4.js → layout-lock-CvUuWiWS.js} +1 -1
- package/dist/assets/layout-profile-CSe087M3.js +1 -0
- package/dist/assets/{layout-profile-N3XqNTf3.js → layout-profile-Cb9uN0Wo.js} +1 -1
- package/dist/assets/{layout-sign-Di4Hq0yu.js → layout-sign-B6t4a36E.js} +1 -1
- package/dist/assets/layout-sign-C0F3N5av.js +1 -0
- package/dist/assets/{list-data-sources-adjust-C_E-PVZZ.js → list-data-sources-adjust-BHndxW4t.js} +1 -1
- package/dist/assets/{list-locations-CZ9eQzKS.js → list-locations-C9v-b-VI.js} +1 -1
- package/dist/assets/{list-users-B5PiiD7k.js → list-users-CkaNzwje.js} +1 -1
- package/dist/assets/{logs-entries.transformers-HHWOxKN-.js → logs-entries.transformers-Dn1eByAW.js} +1 -1
- package/dist/assets/{mcp.exceptions-BPGtzQ-L.js → mcp.exceptions-CJdD-XdE.js} +1 -1
- package/dist/assets/{notifications.exceptions-CwBj-Vvh.js → notifications.exceptions-DmK8KTzC.js} +1 -1
- package/dist/assets/{omit-CLxUr8_o.js → omit-BY6NkPsU.js} +1 -1
- package/dist/assets/{page-configure-CAdm7vAk.js → page-configure-CFU_N_-1.js} +1 -1
- package/dist/assets/{page-configure-DB7q7mTf.js → page-configure-CbJqLuSN.js} +1 -1
- package/dist/assets/{pagination-BCuLYs_W.js → pagination-tCeDOW1E.js} +1 -1
- package/dist/assets/{radio-Bogyjga1.js → radio-CuFOcY0H.js} +1 -1
- package/dist/assets/{scene-add-form-CvhKyMmg.js → scene-add-form-2uFMoqQx.js} +1 -1
- package/dist/assets/{scene-edit-form-CqDsd82P.js → scene-edit-form-qz9_SO8P.js} +1 -1
- package/dist/assets/{schemas.utils-BHZ0MJE0.js → schemas.utils-CTG3Vn5a.js} +1 -1
- package/dist/assets/select-De297TQO.js +1 -0
- package/dist/assets/{select-data-source-plugin-B5L75geT.js → select-data-source-plugin-Bf4zZY8r.js} +1 -1
- package/dist/assets/{slider-PaPkGT-_.js → slider-DhjaIA9b.js} +1 -1
- package/dist/assets/spaces-home-control.constants-L3uLJ74M.js +1 -0
- package/dist/assets/{spaces-BrIV4DRc.js → spaces-iXv1ih3G.js} +2 -2
- package/dist/assets/{steps-Cw7-fEld.js → steps-DCMUJ24w.js} +1 -1
- package/dist/assets/system-BDO-fFTE.js +2 -0
- package/dist/assets/{table-BXf7N0rb.js → table-Bej2n2pI.js} +1 -1
- package/dist/assets/tabs-ClzYwBwe.js +1 -0
- package/dist/assets/{tile-detail-DnXnJ-BI.js → tile-detail-BqMhDMr9.js} +1 -1
- package/dist/assets/{tile-edit-form-D1S6rZb5.js → tile-edit-form-B-BmZtAm.js} +1 -1
- package/dist/assets/types-AzJb-TPe.js +1 -0
- package/dist/assets/types-BFSU5l_h.js +1 -0
- package/dist/assets/{use-dialog-aFWpVYsw.js → use-dialog-BE4aKc4E.js} +1 -1
- package/dist/assets/{use-ordered-children-CYVizl7x.js → use-ordered-children-B-w46hVS.js} +1 -1
- package/dist/assets/useBuddyChat-DCLIzynQ.js +1 -0
- package/dist/assets/{useConfigModule-C2d2v37P.js → useConfigModule-DPKpRzOA.js} +1 -1
- package/dist/assets/{useDataSources-sR_x_yyt.js → useDataSources-Bjd0snYh.js} +1 -1
- package/dist/assets/{useDevicesPlugins-BA5bjG9l.js → useDevicesPlugins-B1S7eZ_6.js} +1 -1
- package/dist/assets/useEventBus-1upZv6NA.js +1 -0
- package/dist/assets/{useExtensions-QH0QtLKU.js → useExtensions-Cw4mW_zr.js} +1 -1
- package/dist/assets/useGeolocation-y3zHAEMb.js +2 -0
- package/dist/assets/{useLocation-CghMA-vm.js → useLocation-BfcRW2IZ.js} +1 -1
- package/dist/assets/{useMcpClients-Dkh8Ey61.js → useMcpClients-CEtRM4SW.js} +1 -1
- package/dist/assets/{useModule-CRJ6yZnq.js → useModule-DDp0sfaf.js} +1 -1
- package/dist/assets/{useModules-Ww3v2LZk.js → useModules-CLi9kXcG.js} +1 -1
- package/dist/assets/{useNumberFormat-DG8-VSSE.js → useNumberFormat-Dy6fPYP1.js} +1 -1
- package/dist/assets/{usePage-iMNf9o87.js → usePage-Bclmn7x9.js} +1 -1
- package/dist/assets/{usePersonalTokens-B0Qdlw56.js → usePersonalTokens-VoyREM85.js} +1 -1
- package/dist/assets/{usePlugin-BeF6k5Xa.js → usePlugin-CD6VAtXb.js} +1 -1
- package/dist/assets/{usePlugins-DvfAfej3.js → usePlugins-BLBNoCg5.js} +1 -1
- package/dist/assets/{useSpaces-2SKsqV-l.js → useSpaces-DN7B3r14.js} +1 -1
- package/dist/assets/{useUuid-BiNKWprF.js → useUuid-CXUYxryL.js} +1 -1
- package/dist/assets/{view-buddy-chat-Dp5GC0Gs.js → view-buddy-chat-BvGkIZsD.js} +1 -1
- package/dist/assets/{view-card-add-B_HQdgId.js → view-card-add-CK-twRKG.js} +1 -1
- package/dist/assets/view-card-edit-nEKC7fu3.js +1 -0
- package/dist/assets/{view-channel-VBR36Rbn.js → view-channel-D1DXj4IS.js} +1 -1
- package/dist/assets/view-channel-add-CA3meuBn.js +1 -0
- package/dist/assets/view-channel-edit-9obXFZQ1.js +1 -0
- package/dist/assets/{view-channel-property-add-nMpqJ0Ob.js → view-channel-property-add-CjdD3zqa.js} +1 -1
- package/dist/assets/view-channel-property-edit-uXnppc2z.js +1 -0
- package/dist/assets/view-channels-BFdK4MEX.js +1 -0
- package/dist/assets/{view-config-module-edit-_CR9FYc1.js → view-config-module-edit-DDBKKshm.js} +1 -1
- package/dist/assets/{view-config-modules-m17c1Itw.js → view-config-modules-DviA9Bju.js} +1 -1
- package/dist/assets/{view-config-plugin-edit-uZ2b1wem.js → view-config-plugin-edit-dCfE19by.js} +1 -1
- package/dist/assets/{view-config-plugins-D1v4d8_H.js → view-config-plugins-BS6qMBoU.js} +1 -1
- package/dist/assets/view-data-source-add-CPuZBOAh.js +1 -0
- package/dist/assets/view-data-source-add-lduBhpZy.js +1 -0
- package/dist/assets/view-data-source-edit-BGQPem_n.js +1 -0
- package/dist/assets/view-data-source-edit-Ch-iiFbk.js +1 -0
- package/dist/assets/view-device-DidiYWyD.js +1 -0
- package/dist/assets/{view-device-add-5gzFbap_.js → view-device-add-Da5hawUg.js} +1 -1
- package/dist/assets/{view-device-control-D1iHL-PG.js → view-device-control-DQBozXaT.js} +1 -1
- package/dist/assets/view-device-edit-Bw28s_co.js +1 -0
- package/dist/assets/{view-devices-DCZ2e0z0.js → view-devices-DIYWWybB.js} +1 -1
- package/dist/assets/{view-devices-wizard-o_kZHPNb.js → view-devices-wizard-CSIgRAS0.js} +1 -1
- package/dist/assets/{view-display-5Hn5sWPZ.js → view-display-BGCdfR-g.js} +1 -1
- package/dist/assets/{view-display-edit-BNQYxXpt.js → view-display-edit-C7sBjAo3.js} +1 -1
- package/dist/assets/{view-display-tokens-DJ_IGOcy.js → view-display-tokens-CgpS3tT8.js} +1 -1
- package/dist/assets/{view-displays-e9KUJJUz.js → view-displays-C7QQUPQF.js} +1 -1
- package/dist/assets/view-extension-detail-CeUWy0MH.js +1 -0
- package/dist/assets/view-extensions-b20hgnIF.js +1 -0
- package/dist/assets/{view-location-DRXUqln5.js → view-location-CHX9pPb_.js} +1 -1
- package/dist/assets/{view-location-add-BNyDqhTZ.js → view-location-add-Df25PMeB.js} +1 -1
- package/dist/assets/{view-location-edit-CM1DPwNX.js → view-location-edit-CS_Vj8cf.js} +1 -1
- package/dist/assets/view-locations-BvHYF0U7.js +1 -0
- package/dist/assets/{view-lock-screen-1Vwm2jGy.js → view-lock-screen-DAtKjcUh.js} +1 -1
- package/dist/assets/view-mcp-clients-B0grcN-p.js +1 -0
- package/dist/assets/{view-mcp-oauth-consent-B8khqeda.js → view-mcp-oauth-consent-zZ5TLh4J.js} +1 -1
- package/dist/assets/{view-mcp-oauth-management-D3c2vSnl.js → view-mcp-oauth-management-Cip6f2L1.js} +1 -1
- package/dist/assets/{view-notifications-VJb9gFIy.js → view-notifications-BaEnR3Pr.js} +1 -1
- package/dist/assets/view-onboarding-Cynd2vgL.js +1 -0
- package/dist/assets/{view-page-oG5xdZtl.js → view-page-CycBTuS4.js} +1 -1
- package/dist/assets/view-page-add-lJuSt540.js +1 -0
- package/dist/assets/view-page-configure-B1RKo8cr.js +1 -0
- package/dist/assets/view-page-configure-BlXGeMEs.js +1 -0
- package/dist/assets/view-page-data-source-add-VXSujnwF.js +1 -0
- package/dist/assets/view-page-data-source-edit-bdky1W6x.js +1 -0
- package/dist/assets/{view-page-edit-D5aq17tK.js → view-page-edit-D7D6s6-W.js} +1 -1
- package/dist/assets/{view-page-plugin-YDjLQCR5.js → view-page-plugin-CiWmn73E.js} +1 -1
- package/dist/assets/{view-pages-Cm3BDGCm.js → view-pages-D9KmIM6L.js} +1 -1
- package/dist/assets/{view-profile-general-BwtoezLV.js → view-profile-general-Yll0-Ev-.js} +1 -1
- package/dist/assets/{view-profile-security-D6Wg35cz.js → view-profile-security-C1gC-D49.js} +1 -1
- package/dist/assets/{view-remote-access-DXMycWj6.js → view-remote-access-9V2uHvbB.js} +1 -1
- package/dist/assets/{view-scene-add-BztY0D7W.js → view-scene-add-CHfWM8yG.js} +1 -1
- package/dist/assets/{view-scene-edit-CLSlT_wP.js → view-scene-edit-CQ688euK.js} +1 -1
- package/dist/assets/{view-scenes-B2biNvGx.js → view-scenes-Cft3apRA.js} +1 -1
- package/dist/assets/{view-sign-in-BDqoekQL.js → view-sign-in-Cj7uaECu.js} +1 -1
- package/dist/assets/{view-sign-up-RJHv9boO.js → view-sign-up-BdrGEXiy.js} +1 -1
- package/dist/assets/view-simulator-device-wizard-CFPXcDJA.js +1 -0
- package/dist/assets/{view-space-add-D17l50VQ.js → view-space-add-BjTWdeU2.js} +1 -1
- package/dist/assets/{view-space-configure-CdcttTaV.js → view-space-configure-DmbT-eVp.js} +1 -1
- package/dist/assets/view-space-edit-Dw2aUu7C.js +1 -0
- package/dist/assets/{view-space-plugin-CfGxgpkq.js → view-space-plugin-DmdOjlmn.js} +1 -1
- package/dist/assets/view-spaces-BPaKwImw.js +1 -0
- package/dist/assets/{view-spaces-wizard-BPirZ9Aa.js → view-spaces-wizard-BSCSfFSU.js} +1 -1
- package/dist/assets/{view-stats-ClftjuyH.js → view-stats-D81ND3z7.js} +1 -1
- package/dist/assets/view-system-backups-CVw6njnl.js +1 -0
- package/dist/assets/{view-system-info-DPiJJavB.js → view-system-info-HOCIJsXv.js} +1 -1
- package/dist/assets/{view-system-log-detail-Bc0omAj2.js → view-system-log-detail-DcDWZyBw.js} +1 -1
- package/dist/assets/{view-system-logs-CCSGcjci.js → view-system-logs-BFKXq0XC.js} +1 -1
- package/dist/assets/view-tile-add-D5o-RwWw.js +1 -0
- package/dist/assets/{view-tile-add-Bpwl35uX.js → view-tile-add-cfR6HnU8.js} +1 -1
- package/dist/assets/view-tile-coG5nOBw.js +1 -0
- package/dist/assets/view-tile-data-source-add-CRjMqv-p.js +1 -0
- package/dist/assets/view-tile-data-source-edit-B5AuS22B.js +1 -0
- package/dist/assets/{view-tile-edit-6Pt1jA5V.js → view-tile-edit-CHNpneIB.js} +1 -1
- package/dist/assets/view-tile-edit-CapsYutD.js +1 -0
- package/dist/assets/view-tile-edit-s58vDnMN.js +1 -0
- package/dist/assets/{view-user-add-BPixnli9.js → view-user-add-DL1dQpWZ.js} +1 -1
- package/dist/assets/view-user-edit-CpNCmMtT.js +1 -0
- package/dist/assets/{view-users-BftTio_a.js → view-users--AuUJkXN.js} +1 -1
- package/dist/assets/view-virtual-device-wizard-BK_opc9W.js +1 -0
- package/dist/assets/{weather-CUmy8DMg.js → weather-BMkz7esx.js} +2 -2
- package/dist/assets/{weather-forecast.transformers-CBGYqemp.js → weather-forecast.transformers-CxkPNhxQ.js} +1 -1
- package/dist/index.html +92 -92
- package/package.json +1 -1
- package/dist/assets/components-BCl_vqkh.js +0 -1
- package/dist/assets/components-C9BfAORH.js +0 -1
- package/dist/assets/components-C_amdP0v.js +0 -1
- package/dist/assets/components-DO_OG1j4.js +0 -1
- package/dist/assets/components-SsYNmgAe.js +0 -1
- package/dist/assets/components-bPVD__Pw.js +0 -1
- package/dist/assets/composables-2m9ra6Gg.js +0 -1
- package/dist/assets/composables-DhW08g2b2.js +0 -1
- package/dist/assets/composables-PXUNt-tc.js +0 -1
- package/dist/assets/input-number-DKFs6rPn.js +0 -1
- package/dist/assets/layout-profile-D-1_a6Dd.js +0 -1
- package/dist/assets/layout-sign-CvbjLRd2.js +0 -1
- package/dist/assets/select-DTgGke01.js +0 -1
- package/dist/assets/spaces-home-control.constants-DDgSTbk_.js +0 -1
- package/dist/assets/system-CitR2a_O.js +0 -2
- package/dist/assets/tabs-bVTlvkzX.js +0 -1
- package/dist/assets/types-BrtPl24B.js +0 -1
- package/dist/assets/types-DvlsZ8qQ.js +0 -1
- package/dist/assets/useBuddyChat-DvQPgsIX.js +0 -1
- package/dist/assets/useEventBus-BH4WQ_nq.js +0 -1
- package/dist/assets/useGeolocation-Dpq2oORG.js +0 -2
- package/dist/assets/view-card-edit-PY_ojb6G.js +0 -1
- package/dist/assets/view-channel-add-Vj566gBN.js +0 -1
- package/dist/assets/view-channel-edit-B3dwrzPj.js +0 -1
- package/dist/assets/view-channel-property-edit-BxQMuL7w.js +0 -1
- package/dist/assets/view-channels-BDRx9dSg.js +0 -1
- package/dist/assets/view-data-source-add-D7uUH5Uc.js +0 -1
- package/dist/assets/view-data-source-add-JOqY3Ax9.js +0 -1
- package/dist/assets/view-data-source-edit-BItu4eum.js +0 -1
- package/dist/assets/view-data-source-edit-DEg93Qr3.js +0 -1
- package/dist/assets/view-device-BH42AyJU.js +0 -1
- package/dist/assets/view-device-edit-jFFmHSh7.js +0 -1
- package/dist/assets/view-extension-detail-Bz2Qf-lB.js +0 -1
- package/dist/assets/view-extensions-DLkGlWmU.js +0 -1
- package/dist/assets/view-locations-BN8GPdnZ.js +0 -1
- package/dist/assets/view-mcp-clients-f9t--2J2.js +0 -1
- package/dist/assets/view-onboarding-FDxjKhsz.js +0 -1
- package/dist/assets/view-page-add-BDPt_b8F.js +0 -1
- package/dist/assets/view-page-configure-BPWn7Ny3.js +0 -1
- package/dist/assets/view-page-configure-DvDNUd1u.js +0 -1
- package/dist/assets/view-page-data-source-add-QHJueyUu.js +0 -1
- package/dist/assets/view-page-data-source-edit-Cu3WiaWl.js +0 -1
- package/dist/assets/view-simulator-device-wizard-B8aQTt-A.js +0 -1
- package/dist/assets/view-space-edit-v7oroJrp.js +0 -1
- package/dist/assets/view-spaces-CsxjOkle.js +0 -1
- package/dist/assets/view-system-backups-DLn57ltm.js +0 -1
- package/dist/assets/view-tile-CB1KgK-5.js +0 -1
- package/dist/assets/view-tile-add-Ct5UPyHj.js +0 -1
- package/dist/assets/view-tile-data-source-add-BsUJ65SR.js +0 -1
- package/dist/assets/view-tile-data-source-edit-CfH2RQMK.js +0 -1
- package/dist/assets/view-tile-edit-Cu1iNWgN.js +0 -1
- package/dist/assets/view-tile-edit-DLOgjyK4.js +0 -1
- package/dist/assets/view-user-edit-BxxSMKU4.js +0 -1
- package/dist/assets/view-virtual-device-wizard-BJUEmNEu.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,O as s,Or as c,Pr as l,Qr as u,Si as d,Sr as f,T as p,Wr as m,Yr as h,b as g,ci as _,ei as v,ii as y,ji as b,k as x,kr as S,n as C,ni as ee,qi as w,t as te,ui as T,x as ne,xr as E}from"./icon-with-child-CgZMNB3F.js";import{t as re}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Ar as D,Cr as ie,Er as O,Tr as k,Xr as A,_ as j,_r as ae,bt as M,ct as N,g as oe,gr as se,gt as P,h as ce,ht as F,j as le,kr as ue,m as I,ot as L,t as R,u as z,wr as B,yt as V}from"./common-BlrTsYp4.js";import{t as de}from"./skeleton-DkyCzTs7.js";import{t as H}from"./card-C50YgvLJ.js";import{t as fe}from"./drawer-DJgGmol9.js";import"./config-DB5uU6lv.js";import{t as U}from"./useNumberFormat-DG8-VSSE.js";import{t as W}from"./useConfigModule-C2d2v37P.js";import{i as G,n as K,o as q,t as pe}from"./useLocation-CghMA-vm.js";import{a as J,o as Y,r as X}from"./weather.constants-_S0I_w_Q.js";import{t as Z}from"./weather-icon-BogpHIOS.js";import{t as Q}from"./weather-forecast.transformers-CBGYqemp.js";var me={class:`grid m-0`},he={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ge={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},_e={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ve={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},ye={class:`flex items-center gap-2`},be={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},xe={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Se={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Ce={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},we={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Te={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Ee={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},De={class:`col-start-2 m-0 p-2 flex items-center min-w-[8rem]`},Oe=l({name:`LocationDetail`,__name:`location-detail`,props:{location:{},current:{}},setup(s){let c=s,{t:l}=p(),{configModule:d}=W({type:J}),{format:f}=U(),m=r(()=>d.value?.unit===`fahrenheit`?`°F`:`°C`),h=r(()=>{let e=c.location.type;return e.startsWith(`openweathermap`)?`OpenWeatherMap`:e}),g=r(()=>Z(c.current.weather.code,c.current.sunrise,c.current.sunset));return(r,s)=>(u(),e(`dl`,me,[n(`dt`,he,w(b(l)(`weatherModule.texts.locationDetail.provider`)),1),n(`dd`,ge,[o(b(D),null,{default:T(()=>[a(w(h.value),1)]),_:1})]),n(`dt`,_e,w(b(l)(`weatherModule.texts.locationDetail.temperature`)),1),n(`dd`,ve,[n(`div`,ye,[o(b(i),{size:32},{default:T(()=>[o(b(t),{icon:g.value},null,8,[`icon`])]),_:1}),o(b(D),{class:`text-xl font-bold`},{default:T(()=>[a(w(b(f)(c.current.temperature,{maximumFractionDigits:1}))+w(m.value),1)]),_:1}),o(b(D),{class:`text-gray-500`},{default:T(()=>[a(w(b(l)(`weatherModule.texts.locationDetail.feelsLike`,{temp:`${b(f)(c.current.feelsLike,{maximumFractionDigits:1})}${m.value}`})),1)]),_:1})])]),n(`dt`,be,w(b(l)(`weatherModule.texts.locationDetail.conditions`)),1),n(`dd`,xe,[o(b(D),null,{default:T(()=>[a(w(c.current.weather.description),1)]),_:1})]),n(`dt`,Se,w(b(l)(`weatherModule.texts.locationDetail.humidity`)),1),n(`dd`,Ce,[o(b(D),null,{default:T(()=>[a(w(c.current.humidity)+`% `,1)]),_:1})]),n(`dt`,we,w(b(l)(`weatherModule.texts.locationDetail.wind`)),1),n(`dd`,Te,[o(b(D),null,{default:T(()=>[a(w(b(f)(c.current.wind.speed,{maximumFractionDigits:1}))+` m/s `,1)]),_:1})]),n(`dt`,Ee,w(b(l)(`weatherModule.texts.locationDetail.pressure`)),1),n(`dd`,De,[o(b(D),null,{default:T(()=>[a(w(c.current.pressure)+` hPa `,1)]),_:1})])]))}}),ke={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-7 gap-4`},Ae={class:`font-medium mb-2`},je={class:`mt-2 flex justify-center gap-2`},Me={class:`font-bold`},Ne={class:`text-gray-400`},Pe={class:`text-xs text-gray-500 mt-1 truncate`},Fe=l({name:`LocationForecast`,__name:`location-forecast`,props:{forecast:{}},setup(a){let s=a,{configModule:l}=W({type:J}),{format:d}=U(),f=r(()=>l.value?.unit===`fahrenheit`?`F`:`C`),p=e=>new Intl.DateTimeFormat(void 0,{weekday:`short`}).format(e),m=e=>e==null?`-`:d(e,{maximumFractionDigits:0});return(r,a)=>(u(),e(`div`,ke,[(u(!0),e(E,null,v(s.forecast,(e,r)=>(u(),c(b(H),{key:r,shadow:`hover`,"body-class":`p-3! text-center`},{default:T(()=>[n(`div`,Ae,w(p(e.dayTime)),1),o(b(i),{size:40},{default:T(()=>[o(b(t),{icon:b(Z)(e.weather.code,e.sunrise,e.sunset)},null,8,[`icon`])]),_:2},1024),n(`div`,je,[n(`span`,Me,w(m(e.temperature.max))+`°`+w(f.value),1),n(`span`,Ne,w(m(e.temperature.min))+`°`+w(f.value),1)]),n(`div`,Pe,w(e.weather.description),1)]),_:2},1024))),128))]))}}),Ie={class:`flex gap-3 pb-2`},Le={class:`text-xs text-gray-500`},Re={class:`font-bold text-sm`},ze={class:`text-xs text-gray-400`},Be=l({name:`LocationHourlyForecast`,__name:`location-hourly-forecast`,props:{hourlyForecast:{},sunrise:{},sunset:{}},setup(a){let s=a,{configModule:l}=W({type:J}),{format:d}=U(),f=r(()=>l.value?.unit===`fahrenheit`?`F`:`C`),p=e=>new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(e),m=e=>d(e,{maximumFractionDigits:0});return(r,a)=>(u(),c(b(A),null,{default:T(()=>[n(`div`,Ie,[(u(!0),e(E,null,v(s.hourlyForecast,(r,a)=>(u(),e(`div`,{key:a,class:`flex flex-col items-center gap-1 min-w-[4rem] text-center`},[n(`div`,Le,w(p(r.dateTime)),1),o(b(i),{size:28},{default:T(()=>[o(b(t),{icon:b(Z)(r.weather.code,s.sunrise,s.sunset,r.dateTime)},null,8,[`icon`])]),_:2},1024),n(`div`,Re,w(m(r.temperature))+`°`+w(f.value),1),n(`div`,ze,w(r.humidity)+`% `,1)]))),128))])]),_:1}))}}),Ve=L(P({temperature:F(),feelsLike:F(),pressure:F(),humidity:F(),weather:P({code:F(),main:V(),description:V(),icon:V()}),wind:P({speed:F(),deg:F(),gust:F().nullable()}),clouds:F(),rain:F().nullable().default(null),snow:F().nullable().default(null),dateTime:M([V().datetime({offset:!0}),N()]).transform(e=>e instanceof Date?e:new Date(e))}));P({temperature:F(),feels_like:F(),pressure:F(),humidity:F(),weather:P({code:F(),main:V(),description:V(),icon:V()}),wind:P({speed:F(),deg:F(),gust:F().nullable()}),clouds:F(),rain:F().nullable().optional(),snow:F().nullable().optional(),date_time:V()});var He=e=>{let t=Ve.safeParse(e.map(e=>z(e)));if(!t.success)throw R.error(`Schema validation failed with:`,t.error),new q(`Failed to validate received weather hourly forecast data.`);return t.data},$=()=>{let e=I(),t=j(),n=d(null),i=d(!1),a=d(!1);return{weather:r(()=>n.value),isLoading:i,hasError:a,fetchLocationWeather:async r=>{if(!i.value){i.value=!0,a.value=!1;try{let{data:i,error:a,response:o}=await e.client.GET(`/${C}/${Y}/weather/{locationId}`,{params:{path:{locationId:r}}});if(i!==void 0&&i.data){let e=i.data;if(e.current&&e.forecast){let r=K(e.current),i=Q(e.forecast),a=null;if(e.hourly_forecast&&Array.isArray(e.hourly_forecast)&&e.hourly_forecast.length>0)try{a=He(e.hourly_forecast)}catch{t.warn(`[WEATHER] Failed to transform hourly forecast, skipping`)}n.value={current:r,forecast:i,hourlyForecast:a};return}}let s=`Failed to fetch location weather.`;throw a&&(s=a.message??s),new G(s,o?.status??500)}catch(e){if(a.value=!0,e instanceof G)throw e;t.error(`[WEATHER] Failed to fetch location weather`,e)}finally{i.value=!1}}}}},Ue={class:`flex items-center`},We={key:3,class:`grow-1 flex flex-col lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2`},Ge={key:5,class:`flex flex-col items-center justify-center w-full h-full`},Ke={class:`flex items-center`},qe={class:`ml-2 font-medium`},Je={class:`flex items-center`},Ye={class:`ml-2 font-medium`},Xe={class:`flex flex-col h-full`},Ze=l({name:`ViewLocation`,__name:`view-location`,props:{id:{}},setup(l){let v=l,C=g(),D=ne(),{t:j}=p();re({title:j(`weatherModule.meta.locations.detail.title`)});let{isMDDevice:M,isLGDevice:N}=ae(),{location:P,isLoading:F,fetchLocation:I}=pe({id:r(()=>v.id)}),{weather:L,isLoading:R,hasError:z,fetchLocationWeather:V}=$(),U=d(!1),W=d(!1),G=d(!1),K=r(()=>C.name===X.WEATHER_LOCATION),q=r(()=>[{label:j(`weatherModule.breadcrumbs.locations`),route:D.resolve({name:X.WEATHER_LOCATIONS})},{label:j(`weatherModule.breadcrumbs.locationDetail`,{location:P.value?.name}),route:D.resolve({name:X.WEATHER_LOCATION,params:{id:v.id}})}]),J=e=>{G.value?ue.confirm(j(`weatherModule.messages.confirmDiscard`),j(`weatherModule.headings.discard`),{confirmButtonText:j(`weatherModule.buttons.yes.title`),cancelButtonText:j(`weatherModule.buttons.no.title`),type:`warning`}).then(()=>{N.value?D.replace({name:X.WEATHER_LOCATION,params:{id:v.id}}):D.push({name:X.WEATHER_LOCATION,params:{id:v.id}}),e?.()}).catch(()=>{}):(N.value?D.replace({name:X.WEATHER_LOCATION,params:{id:v.id}}):D.push({name:X.WEATHER_LOCATION,params:{id:v.id}}),e?.())},Y=()=>{N.value?D.replace({name:X.WEATHER_LOCATIONS}):D.push({name:X.WEATHER_LOCATIONS})},Z=()=>{N.value?D.replace({name:X.WEATHER_LOCATION_DETAIL_EDIT,params:{id:v.id}}):D.push({name:X.WEATHER_LOCATION_DETAIL_EDIT,params:{id:v.id}})},Q=async()=>{await V(v.id)};return m(async()=>{await I(),await V(v.id).catch(()=>{}),W.value=C.matched.find(e=>e.name===X.WEATHER_LOCATION_DETAIL_EDIT)!==void 0}),h(()=>{U.value=!0}),_(()=>v.id,async(e,t)=>{e!==t&&U.value&&(await I(),await V(e).catch(()=>{}))}),_(()=>C.path,()=>{W.value=C.matched.find(e=>e.name===X.WEATHER_LOCATION_DETAIL_EDIT)!==void 0}),(r,l)=>{let d=ee(`router-view`);return u(),e(E,null,[o(b(se),{items:q.value},null,8,[`items`]),!b(M)&&K.value?(u(),c(b(ie),{key:0,teleport:``},{icon:T(()=>[o(b(t),{icon:`mdi:map-marker`,class:`w[20px] h[20px]`})]),title:T(()=>[a(w(b(j)(`weatherModule.headings.locationDetail`,{location:b(P)?.name})),1)]),subtitle:T(()=>[a(w(b(j)(`weatherModule.subHeadings.locationDetail`,{location:b(P)?.name})),1)]),_:1})):S(``,!0),b(M)?S(``,!0):(u(),c(b(B),{key:1,align:b(k).LEFT,teleport:``,small:``,onClick:Y},{icon:T(()=>[o(b(i),{size:24},{default:T(()=>[o(b(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),!b(M)&&K.value&&b(P)?(u(),c(b(B),{key:2,align:b(k).RIGHT,teleport:``,small:``,onClick:Z},{icon:T(()=>[o(b(i),{size:24},{default:T(()=>[o(b(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`align`])):S(``,!0),o(b(ce),{heading:b(j)(`weatherModule.headings.locationDetail`,{location:b(P)?.name}),"sub-heading":b(j)(`weatherModule.subHeadings.locationDetail`,{location:b(P)?.name}),icon:`mdi:map-marker`},{extra:T(()=>[n(`div`,Ue,[b(P)?(u(),c(b(x),{key:0,plain:``,class:`px-4! ml-2!`,onClick:Z},{icon:T(()=>[o(b(t),{icon:`mdi:pencil`})]),_:1})):S(``,!0)])]),_:1},8,[`heading`,`sub-heading`]),b(F)||b(R)?(u(),e(`div`,We,[o(b(H),{class:`mt-2`},{default:T(()=>[o(b(de),{rows:5,animated:``})]),_:1})])):b(P)?b(z)||!b(L)?(u(),e(`div`,Ge,[o(b(s),null,{icon:T(()=>[o(b(te),{size:80},{primary:T(()=>[o(b(t),{icon:`mdi:weather-cloudy`})]),secondary:T(()=>[o(b(t),{icon:`mdi:alert-circle`})]),_:1})]),title:T(()=>[a(w(b(j)(`weatherModule.texts.weatherError`)),1)]),"sub-title":T(()=>[a(w(b(j)(`weatherModule.texts.weatherErrorDescription`)),1)]),extra:T(()=>[o(b(x),{type:`primary`,onClick:Q},{default:T(()=>[a(w(b(j)(`weatherModule.buttons.retry.title`)),1)]),_:1})]),_:1})])):(K.value||b(N))&&b(P)&&b(L)?(u(),c(b(A),{key:6,class:`grow-1 flex flex-col lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2`},{default:T(()=>[o(b(H),{class:`mt-2`,"body-class":`p-0!`},{default:T(()=>[o(Oe,{location:b(P),current:b(L).current},null,8,[`location`,`current`])]),_:1}),b(L).hourlyForecast&&b(L).hourlyForecast.length>0?(u(),c(b(H),{key:0,class:`mt-4`},{header:T(()=>[n(`div`,Ke,[o(b(i),{size:20},{default:T(()=>[o(b(t),{icon:`mdi:clock-outline`})]),_:1}),n(`span`,qe,w(b(j)(`weatherModule.headings.hourlyForecast`)),1)])]),default:T(()=>[o(Be,{"hourly-forecast":b(L).hourlyForecast,sunrise:b(L).current?.sunrise,sunset:b(L).current?.sunset},null,8,[`hourly-forecast`,`sunrise`,`sunset`])]),_:1})):S(``,!0),o(b(H),{class:`mt-4 mb-2`},{header:T(()=>[n(`div`,Je,[o(b(i),{size:20},{default:T(()=>[o(b(t),{icon:`mdi:calendar-week`})]),_:1}),n(`span`,Ye,w(b(j)(`weatherModule.headings.forecast`)),1)])]),default:T(()=>[o(Fe,{forecast:b(L).forecast},null,8,[`forecast`])]),_:1})]),_:1})):b(P)&&b(L)?(u(),c(d,{key:v.id},{default:T(({Component:e})=>[(u(),c(y(e)))]),_:1})):S(``,!0):(u(),c(b(le),{key:4,icon:`mdi:map-marker`,message:b(j)(`weatherModule.messages.locations.notFound`),"button-label":b(j)(`weatherModule.buttons.back.title`),onBack:Y},null,8,[`message`,`button-label`])),b(N)?(u(),c(b(fe),{key:8,modelValue:W.value,"onUpdate:modelValue":l[2]||=e=>W.value=e,"show-close":!1,size:`40%`,"with-header":!1,"before-close":J},{default:T(()=>[n(`div`,Xe,[o(b(O),{"menu-button-hidden":``},{"button-right":T(()=>[o(b(B),{align:b(k).RIGHT,class:`mr-2`,onClick:l[0]||=()=>J()},{icon:T(()=>[o(b(i),null,{default:T(()=>[o(b(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),W.value?(u(),c(b(oe),{key:0},{icon:T(()=>[o(b(t),{icon:`mdi:map-marker`})]),message:T(()=>[a(w(b(j)(`weatherModule.messages.requestError`)),1)]),default:T(()=>[(u(),c(f,null,{default:T(()=>[(u(),c(d,{key:v.id},{default:T(({Component:e})=>[(u(),c(y(e),{"remote-form-changed":G.value,"onUpdate:remoteFormChanged":l[1]||=e=>G.value=e},null,40,[`remote-form-changed`]))]),_:1}))]),_:1}))]),_:1})):S(``,!0)])]),_:1},8,[`modelValue`])):S(``,!0)],64)}}});export{Ze as default};
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,O as s,Or as c,Pr as l,Qr as u,Si as d,Sr as f,T as p,Wr as m,Yr as h,b as g,ci as _,ei as v,ii as y,ji as b,k as x,kr as S,n as C,ni as ee,qi as w,t as te,ui as T,x as ne,xr as E}from"./icon-with-child-CgZMNB3F.js";import{t as re}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as D,Er as O,Mr as k,Or as ie,Qr as A,Tr as ae,_ as j,bt as M,ct as N,g as oe,gt as P,h as se,ht as F,j as I,jr as ce,m as L,ot as R,t as z,u as B,vr as le,yr as ue,yt as V}from"./common-DQQtAVrj.js";import{t as de}from"./skeleton-DkyCzTs7.js";import{t as H}from"./card-C50YgvLJ.js";import{t as fe}from"./drawer-DBEDVZvF.js";import"./config-DycVi21V.js";import{t as U}from"./useNumberFormat-Dy6fPYP1.js";import{t as W}from"./useConfigModule-DPKpRzOA.js";import{i as G,n as K,o as q,t as pe}from"./useLocation-BfcRW2IZ.js";import{a as J,o as Y,r as X}from"./weather.constants-_S0I_w_Q.js";import{t as Z}from"./weather-icon-BogpHIOS.js";import{t as Q}from"./weather-forecast.transformers-CxkPNhxQ.js";var me={class:`grid m-0`},he={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ge={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},_e={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ve={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},ye={class:`flex items-center gap-2`},be={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},xe={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Se={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Ce={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},we={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Te={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Ee={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},De={class:`col-start-2 m-0 p-2 flex items-center min-w-[8rem]`},Oe=l({name:`LocationDetail`,__name:`location-detail`,props:{location:{},current:{}},setup(s){let c=s,{t:l}=p(),{configModule:d}=W({type:J}),{format:f}=U(),m=r(()=>d.value?.unit===`fahrenheit`?`°F`:`°C`),h=r(()=>{let e=c.location.type;return e.startsWith(`openweathermap`)?`OpenWeatherMap`:e}),g=r(()=>Z(c.current.weather.code,c.current.sunrise,c.current.sunset));return(r,s)=>(u(),e(`dl`,me,[n(`dt`,he,w(b(l)(`weatherModule.texts.locationDetail.provider`)),1),n(`dd`,ge,[o(b(k),null,{default:T(()=>[a(w(h.value),1)]),_:1})]),n(`dt`,_e,w(b(l)(`weatherModule.texts.locationDetail.temperature`)),1),n(`dd`,ve,[n(`div`,ye,[o(b(i),{size:32},{default:T(()=>[o(b(t),{icon:g.value},null,8,[`icon`])]),_:1}),o(b(k),{class:`text-xl font-bold`},{default:T(()=>[a(w(b(f)(c.current.temperature,{maximumFractionDigits:1}))+w(m.value),1)]),_:1}),o(b(k),{class:`text-gray-500`},{default:T(()=>[a(w(b(l)(`weatherModule.texts.locationDetail.feelsLike`,{temp:`${b(f)(c.current.feelsLike,{maximumFractionDigits:1})}${m.value}`})),1)]),_:1})])]),n(`dt`,be,w(b(l)(`weatherModule.texts.locationDetail.conditions`)),1),n(`dd`,xe,[o(b(k),null,{default:T(()=>[a(w(c.current.weather.description),1)]),_:1})]),n(`dt`,Se,w(b(l)(`weatherModule.texts.locationDetail.humidity`)),1),n(`dd`,Ce,[o(b(k),null,{default:T(()=>[a(w(c.current.humidity)+`% `,1)]),_:1})]),n(`dt`,we,w(b(l)(`weatherModule.texts.locationDetail.wind`)),1),n(`dd`,Te,[o(b(k),null,{default:T(()=>[a(w(b(f)(c.current.wind.speed,{maximumFractionDigits:1}))+` m/s `,1)]),_:1})]),n(`dt`,Ee,w(b(l)(`weatherModule.texts.locationDetail.pressure`)),1),n(`dd`,De,[o(b(k),null,{default:T(()=>[a(w(c.current.pressure)+` hPa `,1)]),_:1})])]))}}),ke={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-7 gap-4`},Ae={class:`font-medium mb-2`},je={class:`mt-2 flex justify-center gap-2`},Me={class:`font-bold`},Ne={class:`text-gray-400`},Pe={class:`text-xs text-gray-500 mt-1 truncate`},Fe=l({name:`LocationForecast`,__name:`location-forecast`,props:{forecast:{}},setup(a){let s=a,{configModule:l}=W({type:J}),{format:d}=U(),f=r(()=>l.value?.unit===`fahrenheit`?`F`:`C`),p=e=>new Intl.DateTimeFormat(void 0,{weekday:`short`}).format(e),m=e=>e==null?`-`:d(e,{maximumFractionDigits:0});return(r,a)=>(u(),e(`div`,ke,[(u(!0),e(E,null,v(s.forecast,(e,r)=>(u(),c(b(H),{key:r,shadow:`hover`,"body-class":`p-3! text-center`},{default:T(()=>[n(`div`,Ae,w(p(e.dayTime)),1),o(b(i),{size:40},{default:T(()=>[o(b(t),{icon:b(Z)(e.weather.code,e.sunrise,e.sunset)},null,8,[`icon`])]),_:2},1024),n(`div`,je,[n(`span`,Me,w(m(e.temperature.max))+`°`+w(f.value),1),n(`span`,Ne,w(m(e.temperature.min))+`°`+w(f.value),1)]),n(`div`,Pe,w(e.weather.description),1)]),_:2},1024))),128))]))}}),Ie={class:`flex gap-3 pb-2`},Le={class:`text-xs text-gray-500`},Re={class:`font-bold text-sm`},ze={class:`text-xs text-gray-400`},Be=l({name:`LocationHourlyForecast`,__name:`location-hourly-forecast`,props:{hourlyForecast:{},sunrise:{},sunset:{}},setup(a){let s=a,{configModule:l}=W({type:J}),{format:d}=U(),f=r(()=>l.value?.unit===`fahrenheit`?`F`:`C`),p=e=>new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(e),m=e=>d(e,{maximumFractionDigits:0});return(r,a)=>(u(),c(b(A),null,{default:T(()=>[n(`div`,Ie,[(u(!0),e(E,null,v(s.hourlyForecast,(r,a)=>(u(),e(`div`,{key:a,class:`flex flex-col items-center gap-1 min-w-[4rem] text-center`},[n(`div`,Le,w(p(r.dateTime)),1),o(b(i),{size:28},{default:T(()=>[o(b(t),{icon:b(Z)(r.weather.code,s.sunrise,s.sunset,r.dateTime)},null,8,[`icon`])]),_:2},1024),n(`div`,Re,w(m(r.temperature))+`°`+w(f.value),1),n(`div`,ze,w(r.humidity)+`% `,1)]))),128))])]),_:1}))}}),Ve=R(P({temperature:F(),feelsLike:F(),pressure:F(),humidity:F(),weather:P({code:F(),main:V(),description:V(),icon:V()}),wind:P({speed:F(),deg:F(),gust:F().nullable()}),clouds:F(),rain:F().nullable().default(null),snow:F().nullable().default(null),dateTime:M([V().datetime({offset:!0}),N()]).transform(e=>e instanceof Date?e:new Date(e))}));P({temperature:F(),feels_like:F(),pressure:F(),humidity:F(),weather:P({code:F(),main:V(),description:V(),icon:V()}),wind:P({speed:F(),deg:F(),gust:F().nullable()}),clouds:F(),rain:F().nullable().optional(),snow:F().nullable().optional(),date_time:V()});var He=e=>{let t=Ve.safeParse(e.map(e=>B(e)));if(!t.success)throw z.error(`Schema validation failed with:`,t.error),new q(`Failed to validate received weather hourly forecast data.`);return t.data},$=()=>{let e=L(),t=j(),n=d(null),i=d(!1),a=d(!1);return{weather:r(()=>n.value),isLoading:i,hasError:a,fetchLocationWeather:async r=>{if(!i.value){i.value=!0,a.value=!1;try{let{data:i,error:a,response:o}=await e.client.GET(`/${C}/${Y}/weather/{locationId}`,{params:{path:{locationId:r}}});if(i!==void 0&&i.data){let e=i.data;if(e.current&&e.forecast){let r=K(e.current),i=Q(e.forecast),a=null;if(e.hourly_forecast&&Array.isArray(e.hourly_forecast)&&e.hourly_forecast.length>0)try{a=He(e.hourly_forecast)}catch{t.warn(`[WEATHER] Failed to transform hourly forecast, skipping`)}n.value={current:r,forecast:i,hourlyForecast:a};return}}let s=`Failed to fetch location weather.`;throw a&&(s=a.message??s),new G(s,o?.status??500)}catch(e){if(a.value=!0,e instanceof G)throw e;t.error(`[WEATHER] Failed to fetch location weather`,e)}finally{i.value=!1}}}}},Ue={class:`flex items-center`},We={key:3,class:`grow-1 flex flex-col lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2`},Ge={key:5,class:`flex flex-col items-center justify-center w-full h-full`},Ke={class:`flex items-center`},qe={class:`ml-2 font-medium`},Je={class:`flex items-center`},Ye={class:`ml-2 font-medium`},Xe={class:`flex flex-col h-full`},Ze=l({name:`ViewLocation`,__name:`view-location`,props:{id:{}},setup(l){let v=l,C=g(),k=ne(),{t:j}=p();re({title:j(`weatherModule.meta.locations.detail.title`)});let{isMDDevice:M,isLGDevice:N}=ue(),{location:P,isLoading:F,fetchLocation:L}=pe({id:r(()=>v.id)}),{weather:R,isLoading:z,hasError:B,fetchLocationWeather:V}=$(),U=d(!1),W=d(!1),G=d(!1),K=r(()=>C.name===X.WEATHER_LOCATION),q=r(()=>[{label:j(`weatherModule.breadcrumbs.locations`),route:k.resolve({name:X.WEATHER_LOCATIONS})},{label:j(`weatherModule.breadcrumbs.locationDetail`,{location:P.value?.name}),route:k.resolve({name:X.WEATHER_LOCATION,params:{id:v.id}})}]),J=e=>{G.value?ce.confirm(j(`weatherModule.messages.confirmDiscard`),j(`weatherModule.headings.discard`),{confirmButtonText:j(`weatherModule.buttons.yes.title`),cancelButtonText:j(`weatherModule.buttons.no.title`),type:`warning`}).then(()=>{N.value?k.replace({name:X.WEATHER_LOCATION,params:{id:v.id}}):k.push({name:X.WEATHER_LOCATION,params:{id:v.id}}),e?.()}).catch(()=>{}):(N.value?k.replace({name:X.WEATHER_LOCATION,params:{id:v.id}}):k.push({name:X.WEATHER_LOCATION,params:{id:v.id}}),e?.())},Y=()=>{N.value?k.replace({name:X.WEATHER_LOCATIONS}):k.push({name:X.WEATHER_LOCATIONS})},Z=()=>{N.value?k.replace({name:X.WEATHER_LOCATION_DETAIL_EDIT,params:{id:v.id}}):k.push({name:X.WEATHER_LOCATION_DETAIL_EDIT,params:{id:v.id}})},Q=async()=>{await V(v.id)};return m(async()=>{await L(),await V(v.id).catch(()=>{}),W.value=C.matched.find(e=>e.name===X.WEATHER_LOCATION_DETAIL_EDIT)!==void 0}),h(()=>{U.value=!0}),_(()=>v.id,async(e,t)=>{e!==t&&U.value&&(await L(),await V(e).catch(()=>{}))}),_(()=>C.path,()=>{W.value=C.matched.find(e=>e.name===X.WEATHER_LOCATION_DETAIL_EDIT)!==void 0}),(r,l)=>{let d=ee(`router-view`);return u(),e(E,null,[o(b(le),{items:q.value},null,8,[`items`]),!b(M)&&K.value?(u(),c(b(ae),{key:0,teleport:``},{icon:T(()=>[o(b(t),{icon:`mdi:map-marker`,class:`w[20px] h[20px]`})]),title:T(()=>[a(w(b(j)(`weatherModule.headings.locationDetail`,{location:b(P)?.name})),1)]),subtitle:T(()=>[a(w(b(j)(`weatherModule.subHeadings.locationDetail`,{location:b(P)?.name})),1)]),_:1})):S(``,!0),b(M)?S(``,!0):(u(),c(b(O),{key:1,align:b(D).LEFT,teleport:``,small:``,onClick:Y},{icon:T(()=>[o(b(i),{size:24},{default:T(()=>[o(b(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),!b(M)&&K.value&&b(P)?(u(),c(b(O),{key:2,align:b(D).RIGHT,teleport:``,small:``,onClick:Z},{icon:T(()=>[o(b(i),{size:24},{default:T(()=>[o(b(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`align`])):S(``,!0),o(b(se),{heading:b(j)(`weatherModule.headings.locationDetail`,{location:b(P)?.name}),"sub-heading":b(j)(`weatherModule.subHeadings.locationDetail`,{location:b(P)?.name}),icon:`mdi:map-marker`},{extra:T(()=>[n(`div`,Ue,[b(P)?(u(),c(b(x),{key:0,plain:``,class:`px-4! ml-2!`,onClick:Z},{icon:T(()=>[o(b(t),{icon:`mdi:pencil`})]),_:1})):S(``,!0)])]),_:1},8,[`heading`,`sub-heading`]),b(F)||b(z)?(u(),e(`div`,We,[o(b(H),{class:`mt-2`},{default:T(()=>[o(b(de),{rows:5,animated:``})]),_:1})])):b(P)?b(B)||!b(R)?(u(),e(`div`,Ge,[o(b(s),null,{icon:T(()=>[o(b(te),{size:80},{primary:T(()=>[o(b(t),{icon:`mdi:weather-cloudy`})]),secondary:T(()=>[o(b(t),{icon:`mdi:alert-circle`})]),_:1})]),title:T(()=>[a(w(b(j)(`weatherModule.texts.weatherError`)),1)]),"sub-title":T(()=>[a(w(b(j)(`weatherModule.texts.weatherErrorDescription`)),1)]),extra:T(()=>[o(b(x),{type:`primary`,onClick:Q},{default:T(()=>[a(w(b(j)(`weatherModule.buttons.retry.title`)),1)]),_:1})]),_:1})])):(K.value||b(N))&&b(P)&&b(R)?(u(),c(b(A),{key:6,class:`grow-1 flex flex-col lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2`},{default:T(()=>[o(b(H),{class:`mt-2`,"body-class":`p-0!`},{default:T(()=>[o(Oe,{location:b(P),current:b(R).current},null,8,[`location`,`current`])]),_:1}),b(R).hourlyForecast&&b(R).hourlyForecast.length>0?(u(),c(b(H),{key:0,class:`mt-4`},{header:T(()=>[n(`div`,Ke,[o(b(i),{size:20},{default:T(()=>[o(b(t),{icon:`mdi:clock-outline`})]),_:1}),n(`span`,qe,w(b(j)(`weatherModule.headings.hourlyForecast`)),1)])]),default:T(()=>[o(Be,{"hourly-forecast":b(R).hourlyForecast,sunrise:b(R).current?.sunrise,sunset:b(R).current?.sunset},null,8,[`hourly-forecast`,`sunrise`,`sunset`])]),_:1})):S(``,!0),o(b(H),{class:`mt-4 mb-2`},{header:T(()=>[n(`div`,Je,[o(b(i),{size:20},{default:T(()=>[o(b(t),{icon:`mdi:calendar-week`})]),_:1}),n(`span`,Ye,w(b(j)(`weatherModule.headings.forecast`)),1)])]),default:T(()=>[o(Fe,{forecast:b(R).forecast},null,8,[`forecast`])]),_:1})]),_:1})):b(P)&&b(R)?(u(),c(d,{key:v.id},{default:T(({Component:e})=>[(u(),c(y(e)))]),_:1})):S(``,!0):(u(),c(b(I),{key:4,icon:`mdi:map-marker`,message:b(j)(`weatherModule.messages.locations.notFound`),"button-label":b(j)(`weatherModule.buttons.back.title`),onBack:Y},null,8,[`message`,`button-label`])),b(N)?(u(),c(b(fe),{key:8,modelValue:W.value,"onUpdate:modelValue":l[2]||=e=>W.value=e,"show-close":!1,size:`40%`,"with-header":!1,"before-close":J},{default:T(()=>[n(`div`,Xe,[o(b(ie),{"menu-button-hidden":``},{"button-right":T(()=>[o(b(O),{align:b(D).RIGHT,class:`mr-2`,onClick:l[0]||=()=>J()},{icon:T(()=>[o(b(i),null,{default:T(()=>[o(b(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),W.value?(u(),c(b(oe),{key:0},{icon:T(()=>[o(b(t),{icon:`mdi:map-marker`})]),message:T(()=>[a(w(b(j)(`weatherModule.messages.requestError`)),1)]),default:T(()=>[(u(),c(f,null,{default:T(()=>[(u(),c(d,{key:v.id},{default:T(({Component:e})=>[(u(),c(y(e),{"remote-form-changed":G.value,"onUpdate:remoteFormChanged":l[1]||=e=>G.value=e},null,40,[`remote-form-changed`]))]),_:1}))]),_:1}))]),_:1})):S(``,!0)])]),_:1},8,[`modelValue`])):S(``,!0)],64)}}});export{Ze as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,T as d,Yr as f,ci as p,ei as m,ii as h,ji as g,jr as _,k as v,kr as y,qi as b,ui as x,x as S,xr as C}from"./icon-with-child-CgZMNB3F.js";import{t as w}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,T as d,Yr as f,ci as p,ei as m,ii as h,ji as g,jr as _,k as v,kr as y,qi as b,ui as x,x as S,xr as C}from"./icon-with-child-CgZMNB3F.js";import{t as w}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as T,Er as E,Qr as D,Rr as O,Tr as k,jr as A,vr as ee,yr as j}from"./common-DQQtAVrj.js";import{n as M}from"./form-DhJ_5Z1F.js";import{t as N}from"./alert-BtC0hQaN.js";import{r as P,t as F}from"./select-De297TQO.js";import{t as I}from"./useUuid-CXUYxryL.js";import{n as L}from"./composables-VBwQ9ceK.js";import{n as R,r as z}from"./weather.constants-_S0I_w_Q.js";var te=c({name:`SelectLocationProvider`,__name:`select-location-provider`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let i=t,a=n,{t:c}=d(),{options:f,getByType:h}=L(),_=u(i.modelValue),v=r(()=>{if(_.value)return h(_.value)});return p(()=>_.value,e=>{a(`update:modelValue`,e)}),p(()=>i.modelValue,e=>{_.value=e}),(t,n)=>(l(),e(C,null,[o(g(M),{label:g(c)(`weatherModule.fields.locations.provider.title`),"label-position":`top`},{default:x(()=>[o(g(P),{modelValue:_.value,"onUpdate:modelValue":n[0]||=e=>_.value=e,placeholder:g(c)(`weatherModule.fields.locations.provider.placeholder`),name:`provider`,filterable:``},{default:x(()=>[(l(!0),e(C,null,m(g(f),e=>(l(),s(g(F),{key:e.value,label:e.label,value:e.value,disabled:e.disabled},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v.value?(l(),s(g(N),{key:0,description:v.value.description||``,closable:!1,"show-icon":``,type:`info`},null,8,[`description`])):y(``,!0)],64))}}),ne={class:`uppercase`},re={class:`flex flex-col overflow-hidden h-full`},ie={key:0,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},B={class:`p-2`},V=c({name:`ViewLocationAdd`,__name:`view-location-add`,props:{remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:m}){let M=m,P=S(),{t:F}=d();w({title:F(`weatherModule.meta.locations.add.title`)});let{generate:V}=I(),{isMDDevice:H,isLGDevice:U}=j(),W=V(),G=u(!1),K=u(R.NONE),q=u(!1),J=u(!1),Y=u(void 0),{getElement:ae}=L(),X=r(()=>{if(Y.value)return ae(Y.value)?.components?.locationAddForm}),oe=r(()=>!!X.value),se=r(()=>[{label:F(`weatherModule.breadcrumbs.locations`),route:P.resolve({name:z.WEATHER_LOCATIONS})},{label:F(`weatherModule.breadcrumbs.addLocation`),route:P.resolve({name:z.WEATHER_LOCATION_ADD})}]),Z=()=>{A.confirm(F(`weatherModule.messages.confirmDiscard`),F(`weatherModule.headings.discard`),{confirmButtonText:F(`weatherModule.buttons.yes.title`),cancelButtonText:F(`weatherModule.buttons.no.title`),type:`warning`}).then(()=>{U.value?P.replace({name:z.WEATHER_LOCATIONS}):P.push({name:z.WEATHER_LOCATIONS})}).catch(()=>{})},Q=()=>{G.value=!0},$=()=>{U.value?P.replace({name:z.WEATHER_LOCATIONS}):P.push({name:z.WEATHER_LOCATIONS})};return f(()=>{M(`update:remote-form-changed`,J.value)}),p(()=>K.value,e=>{e===R.OK&&(U.value?P.replace({name:z.WEATHER_LOCATIONS}):P.push({name:z.WEATHER_LOCATIONS}))}),p(()=>J.value,e=>{M(`update:remote-form-changed`,e)}),(r,c)=>(l(),e(C,null,[o(g(k),{teleport:``},{icon:x(()=>[o(g(t),{icon:`mdi:map-marker-plus`,class:`w[32px] h[32px]`})]),title:x(()=>[a(b(g(F)(`weatherModule.headings.addLocation`)),1)]),subtitle:x(()=>[a(b(g(F)(`weatherModule.subHeadings.addLocation`)),1)]),_:1}),g(H)?y(``,!0):(l(),s(g(E),{key:0,align:g(T).LEFT,teleport:``,small:``,onClick:c[0]||=()=>J.value?Z():$()},{icon:x(()=>[o(g(i),{size:24},{default:x(()=>[o(g(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),!g(H)&&Y.value?(l(),s(g(E),{key:1,align:g(T).RIGHT,teleport:``,small:``,onClick:Q},{default:x(()=>[n(`span`,ne,b(g(F)(`weatherModule.buttons.save.title`)),1)]),_:1},8,[`align`])):y(``,!0),o(g(ee),{items:se.value},null,8,[`items`]),n(`div`,re,[o(g(D),{class:`grow-1 p-2 md:px-4`},{default:x(()=>[o(te,{modelValue:Y.value,"onUpdate:modelValue":c[1]||=e=>Y.value=e},null,8,[`modelValue`]),Y.value?(l(),s(g(O),{key:0})):y(``,!0),Y.value?(l(),e(C,{key:1},[oe.value?(l(),s(h(X.value),{key:0,id:g(W),"remote-form-submit":G.value,"onUpdate:remoteFormSubmit":c[2]||=e=>G.value=e,"remote-form-result":K.value,"onUpdate:remoteFormResult":c[3]||=e=>K.value=e,"remote-form-reset":q.value,"onUpdate:remoteFormReset":c[4]||=e=>q.value=e,"remote-form-changed":J.value,"onUpdate:remoteFormChanged":c[5]||=e=>J.value=e,type:Y.value},null,40,[`id`,`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`type`])):(l(),s(g(N),{key:1,title:g(F)(`weatherModule.headings.unsupportedProvider`),description:g(F)(`weatherModule.texts.unsupportedProvider`,{provider:Y.value}),closable:!1,"show-icon":``,type:`warning`},null,8,[`title`,`description`]))],64)):(l(),s(g(N),{key:2,title:g(F)(`weatherModule.headings.selectProvider`),description:g(F)(`weatherModule.texts.selectProvider`),closable:!1,"show-icon":``,type:`info`},null,8,[`title`,`description`]))]),_:1}),g(H)?(l(),e(`div`,ie,[n(`div`,B,[J.value?(l(),s(g(v),{key:0,link:``,class:`mr-2`,onClick:Z},{default:x(()=>[a(b(g(F)(`weatherModule.buttons.discard.title`)),1)]),_:1})):y(``,!0),J.value?y(``,!0):(l(),s(g(v),{key:1,link:``,class:`mr-2`,onClick:$},{default:x(()=>[a(b(g(F)(`weatherModule.buttons.cancel.title`)),1)]),_:1})),o(g(v),{loading:K.value===g(R).WORKING,disabled:K.value!==g(R).NONE||!Y.value,type:`primary`,class:`order-2`,onClick:Q},_({default:x(()=>[a(` `+b(g(F)(`weatherModule.buttons.save.title`)),1)]),_:2},[K.value===g(R).OK||K.value===g(R).ERROR?{name:`icon`,fn:x(()=>[K.value===g(R).OK?(l(),s(g(t),{key:0,icon:`mdi:check-circle`})):K.value===g(R).ERROR?(l(),s(g(t),{key:1,icon:`mdi:cross-circle`})):y(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):y(``,!0)])],64))}});export{V as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,T as ee,Wr as te,Yr as ne,b as re,ci as d,ii as ie,ji as f,jr as p,k as m,kr as h,qi as g,ui as _,x as ae,xr as v}from"./icon-with-child-CgZMNB3F.js";import{t as y}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,T as ee,Wr as te,Yr as ne,b as re,ci as d,ii as ie,ji as f,jr as p,k as m,kr as h,qi as g,ui as _,x as ae,xr as v}from"./icon-with-child-CgZMNB3F.js";import{t as y}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as b,Er as x,Qr as oe,Tr as S,jr as se,p as C,vr as w,yr as T}from"./common-DQQtAVrj.js";import{t as E}from"./skeleton-DkyCzTs7.js";import{t as ce}from"./alert-BtC0hQaN.js";import{a as D,i as le,t as ue}from"./useLocation-BfcRW2IZ.js";import{n as de}from"./composables-VBwQ9ceK.js";import{n as O,r as k}from"./weather.constants-_S0I_w_Q.js";import"./composables-CWHVZmlg.js";var fe={class:`uppercase`},A={class:`flex flex-col overflow-hidden h-full`},j={key:0,class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},M={class:`p-2`},N=c({name:`ViewLocationEdit`,__name:`view-location-edit`,props:{id:{},remoteFormChanged:{type:Boolean}},emits:[`update:remote-form-changed`],setup(c,{emit:N}){let P=c,F=N,I=re(),L=ae(),{t:R}=ee(),z=C();y({title:R(`weatherModule.meta.locations.edit.title`)});let{isMDDevice:B,isLGDevice:V}=T(),H=r(()=>I.matched.find(e=>e.name===k.WEATHER_LOCATION)!==void 0),{location:U,isLoading:W,fetchLocation:pe}=ue({id:r(()=>P.id)}),G=u(!1),{getElement:me}=de(),K=r(()=>{if(U.value)return me(U.value.type)?.components?.locationEditForm}),he=r(()=>!!K.value),q=u(!1),J=u(O.NONE),Y=u(!1),X=u(!1),ge=r(()=>{let e=[{label:R(`weatherModule.breadcrumbs.locations`),route:L.resolve({name:k.WEATHER_LOCATIONS})}];return H.value?(e.push({label:R(`weatherModule.breadcrumbs.locationDetail`,{location:U.value?.name}),route:L.resolve({name:k.WEATHER_LOCATION,params:{id:P.id}})}),e.push({label:R(`weatherModule.breadcrumbs.editLocation`),route:L.resolve({name:k.WEATHER_LOCATION_DETAIL_EDIT,params:{id:P.id}})})):e.push({label:R(`weatherModule.breadcrumbs.editLocation`),route:L.resolve({name:k.WEATHER_LOCATION_EDIT,params:{id:P.id}})}),e}),Z=()=>{se.confirm(R(`weatherModule.messages.confirmDiscard`),R(`weatherModule.headings.discard`),{confirmButtonText:R(`weatherModule.buttons.yes.title`),cancelButtonText:R(`weatherModule.buttons.no.title`),type:`warning`}).then(()=>{H.value?V.value?L.replace({name:k.WEATHER_LOCATION,params:{id:P.id}}):L.push({name:k.WEATHER_LOCATION,params:{id:P.id}}):V.value?L.replace({name:k.WEATHER_LOCATIONS}):L.push({name:k.WEATHER_LOCATIONS})}).catch(()=>{})},Q=()=>{q.value=!0},$=()=>{H.value?V.value?L.replace({name:k.WEATHER_LOCATION,params:{id:P.id}}):L.push({name:k.WEATHER_LOCATION,params:{id:P.id}}):V.value?L.replace({name:k.WEATHER_LOCATIONS}):L.push({name:k.WEATHER_LOCATIONS})};return te(()=>{pe().then(()=>{if(U.value!==null&&(G.value=!0),!W.value&&U.value===null&&!G.value)throw new D(`Location not found`)}).catch(e=>{let t=e;throw t instanceof le&&t.code===404?new D(`Location not found`):t instanceof D?t:new D(`Something went wrong`,t)})}),ne(()=>{F(`update:remote-form-changed`,X.value)}),d(()=>J.value,e=>{e===O.OK&&(H.value?V.value?L.replace({name:k.WEATHER_LOCATION,params:{id:P.id}}):L.push({name:k.WEATHER_LOCATION,params:{id:P.id}}):V.value?L.replace({name:k.WEATHER_LOCATIONS}):L.push({name:k.WEATHER_LOCATIONS}))}),d(()=>X.value,e=>{F(`update:remote-form-changed`,e)}),d(()=>W.value,e=>{if(!e&&U.value===null&&!G.value)throw new D(`Location not found`)}),d(()=>U.value,e=>{if(e!==null)G.value=!0;else if(G.value&&!W.value)z.warning(R(`weatherModule.messages.locations.deletedWhileEditing`),{duration:0}),V.value?L.replace({name:k.WEATHER_LOCATIONS}):L.push({name:k.WEATHER_LOCATIONS});else if(!W.value&&e===null&&!G.value)throw new D(`Location not found`)}),(r,c)=>(l(),e(v,null,[o(f(S),{teleport:``},{icon:_(()=>[o(f(t),{icon:`mdi:map-marker`,class:`w[32px] h[32px]`})]),title:_(()=>[a(g(f(R)(`weatherModule.headings.editLocation`)),1)]),subtitle:_(()=>[a(g(f(U)?.name??f(R)(`weatherModule.subHeadings.editLocation`)),1)]),_:1}),f(B)?h(``,!0):(l(),s(f(x),{key:0,align:f(b).LEFT,teleport:``,small:``,onClick:c[0]||=()=>X.value?Z():$()},{icon:_(()=>[o(f(i),{size:24},{default:_(()=>[o(f(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),f(B)?h(``,!0):(l(),s(f(x),{key:1,align:f(b).RIGHT,teleport:``,small:``,onClick:Q},{default:_(()=>[n(`span`,fe,g(f(R)(`weatherModule.buttons.save.title`)),1)]),_:1},8,[`align`])),o(f(w),{items:ge.value},null,8,[`items`]),n(`div`,A,[o(f(oe),{class:`grow-1 p-2 md:px-4`},{default:_(()=>[f(U)?(l(),e(v,{key:0},[he.value?(l(),s(ie(K.value),{key:0,"remote-form-submit":q.value,"onUpdate:remoteFormSubmit":c[1]||=e=>q.value=e,"remote-form-result":J.value,"onUpdate:remoteFormResult":c[2]||=e=>J.value=e,"remote-form-reset":Y.value,"onUpdate:remoteFormReset":c[3]||=e=>Y.value=e,"remote-form-changed":X.value,"onUpdate:remoteFormChanged":c[4]||=e=>X.value=e,location:f(U)},null,40,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`location`])):(l(),s(f(ce),{key:1,title:f(R)(`weatherModule.headings.unsupportedProvider`),description:f(R)(`weatherModule.texts.unsupportedProvider`,{provider:f(U).type}),closable:!1,"show-icon":``,type:`warning`},null,8,[`title`,`description`]))],64)):f(W)?(l(),s(f(E),{key:1,rows:5})):h(``,!0)]),_:1}),f(B)&&f(U)?(l(),e(`div`,j,[n(`div`,M,[X.value?(l(),s(f(m),{key:0,link:``,class:`mr-2`,onClick:Z},{default:_(()=>[a(g(f(R)(`weatherModule.buttons.discard.title`)),1)]),_:1})):h(``,!0),X.value?h(``,!0):(l(),s(f(m),{key:1,link:``,class:`mr-2`,onClick:$},{default:_(()=>[a(g(f(R)(`weatherModule.buttons.cancel.title`)),1)]),_:1})),o(f(m),{loading:J.value===f(O).WORKING,disabled:J.value!==f(O).NONE||!X.value,type:`primary`,class:`order-2`,onClick:Q},p({default:_(()=>[a(` `+g(f(R)(`weatherModule.buttons.save.title`)),1)]),_:2},[J.value===f(O).OK||J.value===f(O).ERROR?{name:`icon`,fn:_(()=>[J.value===f(O).OK?(l(),s(f(t),{key:0,icon:`mdi:check-circle`})):J.value===f(O).ERROR?(l(),s(f(t),{key:1,icon:`mdi:cross-circle`})):h(``,!0)]),key:`0`}:void 0]),1032,[`loading`,`disabled`])])])):h(``,!0)])],64))}});export{N as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,E as r,Er as i,H as a,Mr as o,Mt as s,Nr as c,Or as l,Pr as u,Qr as d,Si as f,Sr as p,T as m,Wi as h,Wr as g,Yr as _,_i as v,b as y,ci as b,ei as x,ii as S,ji as C,k as w,kr as T,ni as ee,qi as E,ui as D,x as te,xr as O}from"./icon-with-child-CgZMNB3F.js";import{t as ne}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as k,Er as A,Mr as j,Or as re,Qr as M,Sr as ie,Tr as N,g as ae,h as oe,jr as se,vr as ce,yr as le}from"./common-DQQtAVrj.js";import{n as P,t as F}from"./checkbox-Brn4H-ar.js";import{n as I,r as L}from"./radio-CuFOcY0H.js";import{n as R,t as z}from"./collapse-Ce5pnck0.js";import{t as ue}from"./drawer-DBEDVZvF.js";import"./config-DycVi21V.js";import{t as de}from"./useConfigModule-DPKpRzOA.js";import{a as fe}from"./useLocation-BfcRW2IZ.js";import{h as pe,m as me,n as B,p as he}from"./composables-VBwQ9ceK.js";import{a as ge,r as V}from"./weather.constants-_S0I_w_Q.js";import{t as _e}from"./list-locations-C9v-b-VI.js";var H={class:`px-2`},U={class:`px-5 py-2 text-center`},ve=r(u({name:`ListLocationsAdjust`,__name:`list-locations-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(r,{emit:i}){let a=r,u=i,{t:p}=m(),g=s(`list-locations-adjust`),{options:_}=B(),v=f([`types`,`primary`]),y=ie(a,`filters`,u);return(r,i)=>(d(),e(O,null,[c(C(N),{teleport:``},{icon:D(()=>[c(C(t),{icon:`mdi:filter`})]),title:D(()=>[o(E(C(p)(`weatherModule.headings.adjustFilters`)),1)]),subtitle:D(()=>[o(E(C(p)(`weatherModule.subHeadings.adjustFilters`)),1)]),_:1}),n(`div`,{class:h([[C(g).b()],`flex flex-col h-full w-full overflow-hidden`])},[c(C(M),{class:`flex-grow`},{default:D(()=>[c(C(z),{modelValue:v.value,"onUpdate:modelValue":i[2]||=e=>v.value=e},{default:D(()=>[c(C(R),{name:`types`,class:h([C(g).e(`filter-item`)])},{title:D(()=>[c(C(j),{class:`!px-2`},{default:D(()=>[o(E(C(p)(`weatherModule.filters.locations.types.title`)),1)]),_:1})]),default:D(()=>[c(C(P),{modelValue:C(y).types,"onUpdate:modelValue":i[0]||=e=>C(y).types=e,class:`flex flex-col px-4`},{default:D(()=>[(d(!0),e(O,null,x(C(_),e=>(d(),l(C(F),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),c(C(R),{name:`primary`,class:h([C(g).e(`filter-item`)])},{title:D(()=>[c(C(j),{class:`!px-2`},{default:D(()=>[o(E(C(p)(`weatherModule.filters.locations.primary.title`)),1)]),_:1})]),default:D(()=>[n(`div`,H,[c(C(L),{modelValue:C(y).primary,"onUpdate:modelValue":i[1]||=e=>C(y).primary=e},{default:D(()=>[c(C(I),{label:C(p)(`weatherModule.filters.locations.primary.values.primary`),value:`primary`},null,8,[`label`]),c(C(I),{label:C(p)(`weatherModule.filters.locations.primary.values.secondary`),value:`secondary`},null,8,[`label`]),c(C(I),{label:C(p)(`weatherModule.filters.locations.primary.values.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),n(`div`,U,[c(C(w),{disabled:!a.filtersActive,onClick:i[3]||=e=>u(`reset-filters`)},{icon:D(()=>[c(C(t),{icon:`mdi:filter-remove`})]),default:D(()=>[o(` `+E(C(p)(`weatherModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-876522d1`]]),ye={class:`uppercase`},be={class:`uppercase`},xe={class:`flex items-center`},Se={key:3,class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Ce={class:`flex flex-col h-full`},W=u({name:`ViewLocations`,__name:`view-locations`,props:{id:{}},setup(r){let s=r,u=y(),h=te(),{t:x}=m();ne({title:x(`weatherModule.meta.locations.list.title`)});let{isMDDevice:j,isLGDevice:M}=le(),{fetchLocations:ie,locations:P,locationsPaginated:F,totalRows:I,filters:L,filtersActive:R,sortBy:z,sortDir:B,paginateSize:H,paginatePage:U,areLoading:W,resetFilter:we,primaryLocationId:Te}=pe(),G=he(),{weatherByLocation:K,fetchCompleted:q,fetchLocationsWeather:J}=me(),{configModule:Ee}=de({type:ge}),De=i(()=>Ee.value?.unit===`fahrenheit`?`fahrenheit`:`celsius`),Oe=f(!1),Y=f(!1),X=f(!1),Z=f(!1),Q=i(()=>u.name===V.WEATHER_LOCATIONS),ke=i(()=>[{label:x(`weatherModule.breadcrumbs.locations`),route:h.resolve({name:V.WEATHER_LOCATIONS})}]),Ae=e=>{X.value?(Y.value=!1,X.value=!1,e?.()):Z.value?se.confirm(x(`weatherModule.messages.confirmDiscard`),x(`weatherModule.headings.discard`),{confirmButtonText:x(`weatherModule.buttons.yes.title`),cancelButtonText:x(`weatherModule.buttons.no.title`),type:`warning`}).then(()=>{M.value?h.replace({name:V.WEATHER_LOCATIONS}):h.push({name:V.WEATHER_LOCATIONS}),e?.()}).catch(()=>{}):(M.value?h.replace({name:V.WEATHER_LOCATIONS}):h.push({name:V.WEATHER_LOCATIONS}),e?.())},je=e=>{h.push({name:V.WEATHER_LOCATION,params:{id:e}})},Me=e=>{M.value?h.replace({name:V.WEATHER_LOCATION_EDIT,params:{id:e}}):h.push({name:V.WEATHER_LOCATION_EDIT,params:{id:e}})},Ne=()=>{M.value?h.replace({name:V.WEATHER_LOCATION_ADD}):h.push({name:V.WEATHER_LOCATION_ADD})},Pe=e=>{G.remove(e)},Fe=(e,t)=>{switch(e){case`delete`:G.bulkRemove(t);break}},$=()=>{we()},Ie=()=>{Y.value=!0,X.value=!0};return g(()=>{ie().catch(e=>{throw new fe(`Something went wrong`,e)}),J().catch(e=>{console.warn(`[WEATHER] Failed to fetch locations weather:`,e)}),Y.value=u.matched.find(e=>e.name===V.WEATHER_LOCATION_ADD||e.name===V.WEATHER_LOCATION_EDIT)!==void 0}),_(()=>{Oe.value=!0}),b(()=>u.path,()=>{Y.value=u.matched.find(e=>e.name===V.WEATHER_LOCATION_ADD||e.name===V.WEATHER_LOCATION_EDIT)!==void 0}),b(P,e=>{!q.value||e.length===0||e.some(e=>!e.draft&&!(e.id in K.value))&&J().catch(e=>{console.warn(`[WEATHER] Failed to re-fetch locations weather:`,e)})},{deep:!0}),(r,i)=>{let u=ee(`router-view`);return d(),e(O,null,[c(C(ce),{items:ke.value},null,8,[`items`]),!C(j)&&Q.value?(d(),l(C(N),{key:0,teleport:``},{icon:D(()=>[c(C(t),{icon:`mdi:map-marker-multiple`,class:`w[20px] h[20px]`})]),title:D(()=>[o(E(C(x)(`weatherModule.headings.locations`)),1)]),subtitle:D(()=>[o(E(C(x)(`weatherModule.subHeadings.locations`)),1)]),_:1})):T(``,!0),!C(j)&&Q.value?(d(),l(C(A),{key:1,align:C(k).LEFT,teleport:``,small:``,onClick:i[0]||=e=>C(h).push(`/`)},{icon:D(()=>[c(C(a),{size:24},{default:D(()=>[c(C(t),{icon:`mdi:chevron-left`})]),_:1})]),default:D(()=>[n(`span`,ye,E(C(x)(`application.buttons.home.title`)),1)]),_:1},8,[`align`])):T(``,!0),!C(j)&&Q.value?(d(),l(C(A),{key:2,align:C(k).RIGHT,teleport:``,small:``,onClick:Ne},{default:D(()=>[n(`span`,be,E(C(x)(`weatherModule.buttons.add.title`)),1)]),_:1},8,[`align`])):T(``,!0),c(C(oe),{heading:C(x)(`weatherModule.headings.locations`),"sub-heading":C(x)(`weatherModule.subHeadings.locations`),icon:`mdi:map-marker-multiple`},{extra:D(()=>[n(`div`,xe,[c(C(w),{type:`primary`,plain:``,class:`px-4! ml-2!`,onClick:Ne},{icon:D(()=>[c(C(t),{icon:`mdi:plus`})]),default:D(()=>[o(` `+E(C(x)(`weatherModule.buttons.add.title`)),1)]),_:1})])]),_:1},8,[`heading`,`sub-heading`]),Q.value||C(M)?(d(),e(`div`,Se,[c(_e,{filters:C(L),"onUpdate:filters":i[1]||=e=>v(L)?L.value=e:null,"sort-by":C(z),"onUpdate:sortBy":i[2]||=e=>v(z)?z.value=e:null,"sort-dir":C(B),"onUpdate:sortDir":i[3]||=e=>v(B)?B.value=e:null,"paginate-size":C(H),"onUpdate:paginateSize":i[4]||=e=>v(H)?H.value=e:null,"paginate-page":C(U),"onUpdate:paginatePage":i[5]||=e=>v(U)?U.value=e:null,items:C(F),"all-items":C(P),"total-rows":C(I),loading:C(W),"filters-active":C(R),"primary-location-id":C(Te),"weather-by-location":C(K),"weather-fetch-completed":C(q),"temperature-unit":De.value,onDetail:je,onEdit:Me,onRemove:Pe,onAdjustList:Ie,onResetFilters:$,onBulkAction:Fe},null,8,[`filters`,`sort-by`,`sort-dir`,`paginate-size`,`paginate-page`,`items`,`all-items`,`total-rows`,`loading`,`filters-active`,`primary-location-id`,`weather-by-location`,`weather-fetch-completed`,`temperature-unit`])])):(d(),l(u,{key:s.id},{default:D(({Component:e})=>[(d(),l(S(e)))]),_:1})),C(M)?(d(),l(C(ue),{key:5,modelValue:Y.value,"onUpdate:modelValue":i[9]||=e=>Y.value=e,"show-close":!1,size:X.value?`300px`:`40%`,"with-header":!1,"before-close":Ae},{default:D(()=>[n(`div`,Ce,[c(C(re),{"menu-button-hidden":``},{"button-right":D(()=>[c(C(A),{align:C(k).RIGHT,class:`mr-2`,onClick:i[6]||=()=>Ae()},{icon:D(()=>[c(C(a),null,{default:D(()=>[c(C(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),Y.value?(d(),e(O,{key:0},[X.value?(d(),l(ve,{key:0,filters:C(L),"onUpdate:filters":i[7]||=e=>v(L)?L.value=e:null,"filters-active":C(R),onResetFilters:$},null,8,[`filters`,`filters-active`])):(d(),l(C(ae),{key:1},{icon:D(()=>[c(C(t),{icon:`mdi:map-marker`})]),message:D(()=>[o(E(C(x)(`weatherModule.messages.requestError`)),1)]),default:D(()=>[(d(),l(p,null,{default:D(()=>[(d(),l(u,{key:s.id},{default:D(({Component:e})=>[(d(),l(S(e),{"remote-form-changed":Z.value,"onUpdate:remoteFormChanged":i[8]||=e=>Z.value=e},null,40,[`remote-form-changed`]))]),_:1}))]),_:1}))]),_:1}))],64)):T(``,!0)])]),_:1},8,[`modelValue`,`size`])):T(``,!0)],64)}}});export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Or as e,Pr as t,Qr as n,Si as r,T as i,ci as a,i as o,ji as s,x as c}from"./icon-with-child-CgZMNB3F.js";import{t as l}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{
|
|
1
|
+
import{Or as e,Pr as t,Qr as n,Si as r,T as i,ci as a,i as o,ji as s,x as c}from"./icon-with-child-CgZMNB3F.js";import{t as l}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{dr as u}from"./common-DQQtAVrj.js";import{t as d}from"./useEventBus-1upZv6NA.js";import{a as f}from"./auth.constants-BM6DNCoE.js";import{t as p}from"./components-CxFbS5gV.js";var m=t({name:`ViewLockScreen`,__name:`view-lock-screen`,setup(t){let{t:m}=i(),h=c(),g=d(),_=u(),v=r(f.NONE);a(()=>v.value,e=>{e===f.WORKING?g.emit(`loadingOverlay`,10):(g.emit(`loadingOverlay`,!1),e===f.OK&&h.push({name:o.ROOT}))});let y=()=>{_&&(_.signOut(),h.push({name:_.routes.signIn}))};return l({title:m(`authModule.meta.lock.screen.title`)}),(t,r)=>(n(),e(s(p),{"remote-form-result":v.value,"onUpdate:remoteFormResult":r[0]||=e=>v.value=e,onSignOut:y},null,8,[`remote-form-result`]))}});export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,E as r,Er as i,Gr as a,H as o,Ki as s,Mr as c,Nr as l,O as u,Or as d,Pr as f,Qr as p,Si as m,T as h,Yr as g,_i as _,bi as v,ci as y,di as ee,ei as b,ji as x,k as S,kr as C,qi as w,t as T,ui as E,xr as D,yr as O}from"./icon-with-child-CgZMNB3F.js";import{Dr as k,Er as te,M as A,Mr as ne,Nr as re,Or as ie,Qr as ae,Rr as j,Sr as M,Tr as oe,Zr as se,ei as N,f as ce,gt as P,h as le,it as ue,jr as F,ot as I,p as de,pt as fe,qr as L,s as pe,yr as me,yt as he}from"./common-DQQtAVrj.js";import{n as R,t as ge}from"./table-Bej2n2pI.js";import{n as z,t as _e}from"./form-DhJ_5Z1F.js";import{t as B}from"./alert-BtC0hQaN.js";import{t as ve}from"./input-number-C4oLa6SE.js";import{r as ye,t as be}from"./select-De297TQO.js";import{t as xe}from"./card-C50YgvLJ.js";import{n as Se,t as Ce}from"./checkbox-Brn4H-ar.js";import{n as V,r as H}from"./radio-CuFOcY0H.js";import{t as we}from"./dialog-C_vHe4lp.js";import{t as Te}from"./drawer-DBEDVZvF.js";import{t as U}from"./pagination-tCeDOW1E.js";import{t as W}from"./directive-D42ORGRu.js";import{t as G}from"./dist-DJgPCOr0.js";import{t as Ee}from"./useConfigModule-DPKpRzOA.js";import{i as De,n as Oe,r as ke}from"./mcp.exceptions-CJdD-XdE.js";import{a as K,i as Ae,n as je,o as Me,r as q,t as Ne}from"./useMcpClients-CEtRM4SW.js";var Pe=ce(),J={class:`flex w-full`},Y=f({name:`McpClientsFilter`,__name:`mcp-clients-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`bulk-action`],setup(n,{emit:r}){let i=n,a=r,{t:s}=h(),c=Object.values(De),u=M(i,`filters`,a);return y(()=>u.value.search,e=>{e===``&&(u.value.search=void 0)}),(n,r)=>(p(),e(`div`,J,[l(x(_e),{inline:!0,model:x(u),class:`grow-1`},{default:E(()=>[l(x(N),{modelValue:x(u).search,"onUpdate:modelValue":r[0]||=e=>x(u).search=e,placeholder:x(s)(`mcpModule.clients.searchPlaceholder`),class:`max-w[280px] p-1`,clearable:``,"data-test-id":`search-mcp-clients`},{suffix:E(()=>[l(x(o),null,{default:E(()=>[l(x(t),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),l(x(j),{direction:`vertical`}),l(x(z),{label:x(s)(`mcpModule.clients.columns.status`),class:`p-1 m-0!`},{default:E(()=>[l(x(H),{modelValue:x(u).status,"onUpdate:modelValue":r[1]||=e=>x(u).status=e,"data-test-id":`filter-mcp-clients-status`},{default:E(()=>[l(x(V),{label:x(s)(`mcpModule.status.active`),value:`active`},null,8,[`label`]),l(x(V),{label:x(s)(`mcpModule.status.revoked`),value:`revoked`},null,8,[`label`]),l(x(V),{label:x(s)(`mcpModule.status.expired`),value:`expired`},null,8,[`label`]),l(x(V),{label:x(s)(`mcpModule.clients.filterAll`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),l(x(j),{direction:`vertical`}),l(x(z),{label:x(s)(`mcpModule.clientForm.capabilities`),class:`p-1 m-0!`},{default:E(()=>[l(x(ye),{modelValue:x(u).capabilities,"onUpdate:modelValue":r[2]||=e=>x(u).capabilities=e,placeholder:x(s)(`mcpModule.clients.filterAll`),class:`min-w[180px]`,multiple:``,"collapse-tags":``,clearable:``,"data-test-id":`filter-mcp-clients-capabilities`},{default:E(()=>[(p(!0),e(D,null,b(x(c),e=>(p(),d(x(be),{key:e,label:x(s)(`mcpModule.capabilities.${e}.title`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`]),l(x(A),{"selected-count":i.selectedCount,actions:i.bulkActions,onAction:r[3]||=e=>a(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),i.filtersActive?(p(),d(x(S),{key:0,plain:``,class:`px-2! mt-1 mr-1`,title:x(s)(`mcpModule.actions.resetFilters`),"data-test-id":`reset-mcp-clients-filters`,onClick:r[4]||=e=>a(`reset-filters`)},{default:E(()=>[l(x(t),{icon:`mdi:filter-off`})]),_:1},8,[`title`])):C(``,!0)]))}}),X={key:0,class:`h-full w-full leading-normal`},Fe={key:1,class:`h-full w-full leading-normal`},Z={key:2,class:`h-full w-full leading-normal`},Ie={class:`font-600`},Q={class:`flex flex-wrap gap-1`},Le={key:0},Re=f({name:`McpClientsTable`,__name:`mcp-clients-table`,props:{items:{},totalRows:{},sortBy:{},sortDir:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{}},emits:[`edit`,`rotate`,`revoke`,`delete`,`reset-filters`,`selected-changes`,`update:sort-by`,`update:sort-dir`],setup(r,{emit:i}){let a=r,o=i,{t:f}=h(),{isMDDevice:m}=me(),g=e=>{switch(K(e)){case`revoked`:case`expired`:return`danger`;case`disabled`:return`warning`;default:return`success`}},_=e=>e?new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e)):f(`mcpModule.clients.never`),v=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===null?null:t===`descending`?`desc`:`asc`)},y=e=>{o(`selected-changes`,e)},k=e=>{o(`edit`,e)};return(r,i)=>ee((p(),d(x(ge),{"element-loading-text":x(f)(`mcpModule.clients.loading`),data:a.items,"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":`id`,class:`flex-grow`,style:s({maxHeight:a.tableHeight+`px`}),"max-height":a.tableHeight,onSortChange:v,onSelectionChange:y,onRowClick:k},{empty:E(()=>[a.loading?(p(),e(`div`,X,[l(x(u),{class:`h-full w-full`},{icon:E(()=>[l(x(T),{size:80},{primary:E(()=>[l(x(t),{icon:`mdi:robot-outline`})]),secondary:E(()=>[l(x(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):a.filtersActive?(p(),e(`div`,Fe,[l(x(u),{class:`h-full w-full`},{icon:E(()=>[l(x(T),{size:80},{primary:E(()=>[l(x(t),{icon:`mdi:robot-outline`})]),secondary:E(()=>[l(x(t),{icon:`mdi:filter-remove`})]),_:1})]),title:E(()=>[c(w(x(f)(`mcpModule.clients.noFilteredResults`)),1)]),extra:E(()=>[l(x(S),{plain:``,onClick:i[0]||=e=>o(`reset-filters`)},{default:E(()=>[c(w(x(f)(`mcpModule.actions.resetFilters`)),1)]),_:1})]),_:1})])):(p(),e(`div`,Z,[l(x(u),{class:`h-full w-full`},{icon:E(()=>[l(x(T),{size:80},{primary:E(()=>[l(x(t),{icon:`mdi:robot-outline`})]),secondary:E(()=>[l(x(t),{icon:`mdi:information`})]),_:1})]),title:E(()=>[c(w(x(f)(`mcpModule.clients.empty`)),1)]),_:1})]))]),default:E(()=>[x(m)?(p(),d(x(R),{key:0,type:`selection`,fixed:``,width:30})):C(``,!0),l(x(R),{width:60,align:`center`},{default:E(()=>[l(x(se),{size:32},{default:E(()=>[l(x(t),{icon:`mdi:robot-outline`,class:`w[20px] h[20px]`})]),_:1})]),_:1}),l(x(R),{label:x(f)(`mcpModule.clients.columns.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200},{default:E(e=>[n(`div`,Ie,w(e.row.name),1),l(x(ne),{size:`small`,truncated:``},{default:E(()=>[c(w(e.row.description||x(f)(`mcpModule.clients.noDescription`)),1)]),_:2},1024)]),_:1},8,[`label`]),l(x(R),{label:x(f)(`mcpModule.clients.columns.status`),prop:`status`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:130},{default:E(e=>[l(x(L),{type:g(e.row)},{default:E(()=>[c(w(x(f)(`mcpModule.status.${x(K)(e.row)}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),l(x(R),{label:x(f)(`mcpModule.clients.columns.capabilities`),"min-width":180},{default:E(t=>[n(`div`,Q,[(p(!0),e(D,null,b(t.row.capabilities,e=>(p(),d(x(L),{key:e,type:`info`},{default:E(()=>[c(w(x(f)(`mcpModule.capabilities.${e}.title`)),1)]),_:2},1024))),128)),t.row.capabilities.length===0?(p(),e(`span`,Le,w(x(f)(`mcpModule.clients.none`)),1)):C(``,!0)])]),_:1},8,[`label`]),x(m)?(p(),d(x(R),{key:1,label:x(f)(`mcpModule.clients.columns.expires`),prop:`expires`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:180},{default:E(e=>[c(w(_(e.row.credentialExpiresAt)),1)]),_:1},8,[`label`])):C(``,!0),x(m)?(p(),d(x(R),{key:2,label:x(f)(`mcpModule.clients.columns.lastUsed`),prop:`lastUsed`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:180},{default:E(e=>[c(w(_(e.row.lastUsedAt)),1)]),_:1},8,[`label`])):C(``,!0),l(x(R),{width:320,align:`right`,fixed:`right`},{default:E(e=>[n(`div`,{onClick:i[5]||=O(()=>{},[`stop`])},[l(q,{client:e.row,onEdit:i[1]||=e=>o(`edit`,e),onRotate:i[2]||=e=>o(`rotate`,e),onRevoke:i[3]||=e=>o(`revoke`,e),onDelete:i[4]||=e=>o(`delete`,e)},null,8,[`client`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[x(W),a.loading]])}}),ze=f({name:`ListMcpClients`,__name:`list-mcp-clients`,props:{items:{},filters:{},totalRows:{},sortBy:{},sortDir:{},paginateSize:{},paginatePage:{},loading:{type:Boolean},filtersActive:{type:Boolean}},emits:[`edit`,`rotate`,`revoke`,`delete`,`reset-filters`,`update:filters`,`bulk-action`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`selected-changes`],setup(t,{emit:r}){let o=t,s=r,{t:c}=h(),{isMDDevice:u}=me(),d=M(o,`filters`,s),f=m([]),v=i(()=>[{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`},{key:`revoke`,label:c(`mcpModule.actions.revoke`),icon:`mdi:key-remove`,type:`warning`},{key:`delete`,label:c(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),ee=e=>{s(`bulk-action`,e,f.value)},b=null,S=m(null),C=m(null),w=m(o.sortBy),T=m(o.sortDir),O=m(o.paginatePage),k=m(o.paginateSize),te=m(250),A=e=>{s(`update:paginate-size`,e)},ne=e=>{s(`update:paginate-page`,e)},re=e=>{f.value=e,s(`selected-changes`,e)};return g(()=>{if(!S.value)return;let e=()=>{te.value=S.value.clientHeight-(C.value?.clientHeight??0)};typeof window<`u`&&`ResizeObserver`in window&&(b=new ResizeObserver(e),b.observe(S.value)),e()}),a(()=>{b&&S.value&&b.unobserve(S.value)}),y(()=>w.value,e=>{s(`update:sort-by`,e)}),y(()=>T.value,e=>{s(`update:sort-dir`,e)}),y(()=>o.paginatePage,e=>{O.value=e}),y(()=>o.paginateSize,e=>{k.value=e}),(t,r)=>(p(),e(D,null,[l(x(xe),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:E(()=>[l(Y,{filters:x(d),"onUpdate:filters":r[0]||=e=>_(d)?d.value=e:null,"filters-active":o.filtersActive,"selected-count":f.value.length,"bulk-actions":v.value,onResetFilters:r[1]||=e=>s(`reset-filters`),onBulkAction:ee},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),n(`div`,{ref_key:`wrapper`,ref:S,class:`flex-grow overflow-hidden`},[l(x(xe),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:E(()=>[l(Re,{"sort-by":w.value,"onUpdate:sortBy":r[2]||=e=>w.value=e,"sort-dir":T.value,"onUpdate:sortDir":r[3]||=e=>T.value=e,items:o.items,"total-rows":o.totalRows,loading:o.loading,"filters-active":o.filtersActive,"table-height":te.value,onEdit:r[4]||=e=>s(`edit`,e),onRotate:r[5]||=e=>s(`rotate`,e),onRevoke:r[6]||=e=>s(`revoke`,e),onDelete:r[7]||=e=>s(`delete`,e),onResetFilters:r[8]||=e=>s(`reset-filters`),onSelectedChanges:re},null,8,[`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),n(`div`,{ref_key:`paginator`,ref:C,class:`flex justify-center w-full py-4`},[l(x(U),{"current-page":O.value,"onUpdate:currentPage":r[9]||=e=>O.value=e,"page-size":k.value,"onUpdate:pageSize":r[10]||=e=>k.value=e,layout:x(u)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:o.totalRows,onSizeChange:A,onCurrentChange:ne},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Be=P({search:he().optional(),status:ue([`all`,`active`,`revoked`,`expired`]).default(`all`),enabled:ue([`all`,`enabled`,`disabled`]).default(`all`),capabilities:I(fe(De))}),$={search:void 0,status:`all`,enabled:`all`,capabilities:[]},Ve={by:`name`,dir:`asc`},He=e=>{let{filters:t,sort:n,pagination:r,reset:a}=pe({key:`${ke}:clients:list`,filters:{schema:Be,defaults:$},sort:{defaults:[Ve]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),o=i(()=>t.value.search!==$.search||t.value.status!==$.status||t.value.enabled!==$.enabled||!(0,Pe.isEqual)(t.value.capabilities,$.capabilities)),s=m(r.value.size||10),c=m(r.value.page||1),l=m(n.value.length>0?n.value[0]?.by:void 0),u=m(n.value.length>0?n.value[0]?.dir??null:null),d=e=>{let n=t.value.search?.trim().toLowerCase();return!(n!==void 0&&n!==``&&!`${e.name} ${e.description??``}`.toLowerCase().includes(n)||t.value.status!==`all`&&K(e)!==t.value.status||t.value.enabled!==`all`&&e.enabled!==(t.value.enabled===`enabled`)||t.value.capabilities.length>0&&!t.value.capabilities.some(t=>e.capabilities.includes(t)))},f=e=>{switch(l.value){case`status`:return K(e);case`expires`:return e.credentialExpiresAt===null?2**53-1:new Date(e.credentialExpiresAt).getTime();case`lastUsed`:return e.lastUsedAt===null?0:new Date(e.lastUsedAt).getTime();default:return e.name}},p=i(()=>G(e.value.filter(d),[e=>f(e)],[u.value===`desc`?`desc`:`asc`])),h=i(()=>{let e=(c.value-1)*s.value;return p.value.slice(e,e+s.value)}),g=i(()=>p.value.length);return y(()=>r.value,e=>{c.value=e.page??1,s.value=e.size??10},{deep:!0}),y(()=>c.value,e=>{r.value.page=e}),y(()=>s.value,e=>{r.value.size=e}),y(()=>n.value,e=>{l.value=e.length>0?e[0]?.by:void 0,u.value=e.length>0?e[0]?.dir??null:null}),y(()=>u.value,e=>{n.value=l.value===void 0||e===null?[]:[{by:l.value,dir:e}]}),y(()=>l.value,e=>{n.value=e===void 0||u.value===null?[]:[{by:e,dir:u.value}]}),y(()=>g.value,e=>{let t=Math.max(1,Math.ceil(e/s.value));c.value>t&&(c.value=t,r.value={...r.value,page:t})}),{clients:p,clientsPaginated:h,totalRows:g,filters:t,filtersActive:o,sortBy:l,sortDir:u,paginateSize:s,paginatePage:c,resetFilter:a}},Ue={class:`mcp-clients-page`},We={class:`font-600`},Ge={class:`flex flex-col h-full`},Ke={"data-test-id":`drawer-heading-title`},qe={"data-test-id":`drawer-heading-subtitle`},Je={class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},Ye={class:`p-2`},Xe=r(f({name:`ViewMcpClients`,__name:`view-mcp-clients`,setup(r){let{t:a}=h(),s=de(),{isLGDevice:u}=me(),{clients:f,loading:y,error:ee,fetchClients:T,createClient:O,updateClient:A,rotateClient:ne,revokeClient:j,deleteClient:M}=Ne(),{clientsPaginated:se,totalRows:ce,filters:P,filtersActive:ue,sortBy:I,sortDir:fe,paginateSize:L,paginatePage:pe,resetFilter:he}=He(f),{configModule:R,fetchConfigModule:ge}=Ee({type:ke}),ye=Object.values(De),be=Me(window.location),V=i(()=>R.value?.capabilities??[]),H=m(!1),U=m(!1),W=m(!1),G=m(!1),K=m(null),q=m(null),J=m(),Y=m(90),X=m(``),Fe=m(``),Z=v({name:``,description:``,enabled:!0,capabilities:[],expiresInDays:90}),Ie=v({name:[{required:!0,message:a(`mcpModule.clientForm.nameRequired`),trigger:`change`}],expiresInDays:[{required:!0,type:`number`,min:1,max:Oe,message:a(`mcpModule.clientForm.expiryRequired`)}]}),Q=()=>({name:Z.name,description:Z.description,enabled:Z.enabled,capabilities:[...Z.capabilities],expiresInDays:Z.expiresInDays}),Le=m(Q()),Re=i(()=>!(0,Pe.isEqual)(Q(),Le.value)),Be=()=>{K.value=null,Z.name=``,Z.description=``,Z.enabled=!0,Z.capabilities=[],Z.expiresInDays=90,J.value?.clearValidate(),Le.value=Q()},$=async e=>{if(Re.value)try{await F.confirm(a(`mcpModule.confirm.discard`),a(`mcpModule.headings.discard`),{confirmButtonText:a(`mcpModule.actions.yes`),cancelButtonText:a(`mcpModule.actions.no`),type:`warning`})}catch{return}H.value=!1,e?.()},Ve=()=>{Be(),H.value=!0},Xe=e=>{K.value=e,Z.name=e.name,Z.description=e.description??``,Z.enabled=e.enabled,Z.capabilities=[...e.capabilities],Le.value=Q(),H.value=!0},Ze=(e,t)=>{X.value=e,Fe.value=t,W.value=!0},Qe=()=>{X.value=``,Fe.value=``},$e=async()=>{if(await J.value?.validate()){if(!Ae(Z.capabilities,V.value)){s.error(a(`mcpModule.messages.capabilitiesOutsideCeiling`));return}G.value=!0;try{if(K.value)await A(K.value.id,{name:Z.name,description:Z.description||null,enabled:Z.enabled,capabilities:Z.capabilities}),s.success(a(`mcpModule.messages.updated`));else{let e=await O({name:Z.name,description:Z.description||null,capabilities:Z.capabilities,expiresInDays:Z.expiresInDays});Ze(e.token,e.client.name),s.success(a(`mcpModule.messages.created`))}H.value=!1}catch{s.error(a(K.value?`mcpModule.messages.updateFailed`:`mcpModule.messages.createFailed`))}finally{G.value=!1}}},et=e=>{q.value=e,Y.value=90,U.value=!0},tt=async()=>{if(q.value){G.value=!0;try{let e=await ne(q.value.id,{expiresInDays:Y.value});U.value=!1,Ze(e.token,e.client.name),s.success(a(`mcpModule.messages.rotated`))}catch{s.error(a(`mcpModule.messages.rotateFailed`))}finally{G.value=!1}}},nt=async(e,t)=>{if(t.length===0)return;if(e===`revoke`||e===`delete`)try{await F.confirm(a(e===`revoke`?`mcpModule.confirm.bulkRevoke`:`mcpModule.confirm.bulkDelete`,{count:t.length}),a(e===`revoke`?`mcpModule.actions.revoke`:`mcpModule.actions.delete`),{type:`warning`,confirmButtonText:a(e===`revoke`?`mcpModule.actions.revoke`:`mcpModule.actions.delete`),cancelButtonText:a(`mcpModule.actions.cancel`)})}catch{return}let n=(await Promise.allSettled(t.map(t=>{switch(e){case`enable`:return A(t.id,{name:t.name,description:t.description,enabled:!0,capabilities:t.capabilities});case`disable`:return A(t.id,{name:t.name,description:t.description,enabled:!1,capabilities:t.capabilities});case`revoke`:return j(t.id);default:return M(t.id)}}))).filter(e=>e.status===`rejected`).length;n>0?s.error(a(`mcpModule.messages.bulkFailed`,{count:n})):s.success(a(`mcpModule.messages.bulkSucceeded`,{count:t.length}))},rt=async e=>{try{await F.confirm(a(`mcpModule.confirm.revoke`,{name:e.name}),a(`mcpModule.actions.revoke`),{type:`warning`,confirmButtonText:a(`mcpModule.actions.revoke`),cancelButtonText:a(`mcpModule.actions.cancel`)}),await j(e.id),s.success(a(`mcpModule.messages.revoked`))}catch(e){e!==`cancel`&&e!==`close`&&s.error(a(`mcpModule.messages.revokeFailed`))}},it=async e=>{try{await F.confirm(a(`mcpModule.confirm.delete`,{name:e.name}),a(`mcpModule.actions.delete`),{type:`error`,confirmButtonText:a(`mcpModule.actions.delete`),cancelButtonText:a(`mcpModule.actions.cancel`)}),await M(e.id),s.success(a(`mcpModule.messages.deleted`))}catch(e){e!==`cancel`&&e!==`close`&&s.error(a(`mcpModule.messages.deleteFailed`))}},at=async()=>{try{await navigator.clipboard.writeText(be),s.success(a(`mcpModule.messages.endpointCopied`))}catch{s.error(a(`mcpModule.messages.copyFailed`))}};return g(async()=>{await Promise.allSettled([T(),ge()])}),(r,i)=>(p(),e(D,null,[l(x(le),{heading:x(a)(`mcpModule.clients.title`),"sub-heading":x(a)(`mcpModule.clients.subtitle`),icon:`mdi:robot-outline`},{extra:E(()=>[l(x(S),{type:`primary`,plain:``,class:`px-4!`,"data-test-id":`create-mcp-client`,onClick:Ve},{icon:E(()=>[l(x(t),{icon:`mdi:plus`})]),default:E(()=>[c(` `+w(x(a)(`mcpModule.actions.add`)),1)]),_:1})]),_:1},8,[`heading`,`sub-heading`]),n(`div`,Ue,[l(x(B),{type:`info`,title:x(a)(`mcpModule.clients.securityTitle`),description:x(a)(`mcpModule.clients.securityDescription`),closable:!1,"show-icon":``},null,8,[`title`,`description`]),l(x(xe),{shadow:`never`},{header:E(()=>[n(`div`,We,w(x(a)(`mcpModule.config.endpoint.title`)),1)]),default:E(()=>[l(x(N),{"model-value":x(be),readonly:``,name:`endpoint`},{append:E(()=>[l(x(S),{"aria-label":x(a)(`mcpModule.actions.copyEndpoint`),onClick:at},{default:E(()=>[l(x(t),{icon:`mdi:content-copy`})]),_:1},8,[`aria-label`])]),_:1},8,[`model-value`])]),_:1}),x(ee)?(p(),d(x(B),{key:0,type:`error`,title:x(a)(`mcpModule.messages.loadFailed`),closable:!1,"show-icon":``},null,8,[`title`])):C(``,!0),l(ze,{filters:x(P),"onUpdate:filters":i[0]||=e=>_(P)?P.value=e:null,"sort-by":x(I),"onUpdate:sortBy":i[1]||=e=>_(I)?I.value=e:null,"sort-dir":x(fe),"onUpdate:sortDir":i[2]||=e=>_(fe)?fe.value=e:null,"paginate-size":x(L),"onUpdate:paginateSize":i[3]||=e=>_(L)?L.value=e:null,"paginate-page":x(pe),"onUpdate:paginatePage":i[4]||=e=>_(pe)?pe.value=e:null,items:x(se),"total-rows":x(ce),loading:x(y),"filters-active":x(ue),onEdit:Xe,onRotate:et,onRevoke:rt,onDelete:it,onResetFilters:x(he),onBulkAction:nt},null,8,[`filters`,`sort-by`,`sort-dir`,`paginate-size`,`paginate-page`,`items`,`total-rows`,`loading`,`filters-active`,`onResetFilters`])]),l(x(Te),{modelValue:H.value,"onUpdate:modelValue":i[12]||=e=>H.value=e,"show-close":!1,"with-header":!1,size:x(u)?`40%`:`100%`,"before-close":$,"data-test-id":`mcp-client-form-drawer`,onClosed:Be},{default:E(()=>[n(`div`,Ge,[l(x(ie),{"menu-button-hidden":``},{heading:E(()=>[l(x(oe),null,{icon:E(()=>[l(x(t),{icon:`mdi:robot-outline`})]),title:E(()=>[n(`span`,Ke,w(K.value?x(a)(`mcpModule.clientForm.editTitle`):x(a)(`mcpModule.clientForm.createTitle`)),1)]),subtitle:E(()=>[n(`span`,qe,w(x(a)(`mcpModule.clientForm.formSubtitle`)),1)]),_:1})]),"button-right":E(()=>[l(x(te),{align:x(k).RIGHT,class:`mr-2`,onClick:i[5]||=()=>$()},{icon:E(()=>[l(x(o),null,{default:E(()=>[l(x(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),l(x(ae),{class:`grow-1 p-2 md:px-4`},{default:E(()=>[l(x(_e),{ref_key:`clientFormEl`,ref:J,model:Z,rules:Ie,"label-position":`top`},{default:E(()=>[l(x(z),{label:x(a)(`mcpModule.clientForm.name`),prop:`name`},{default:E(()=>[l(x(N),{modelValue:Z.name,"onUpdate:modelValue":i[6]||=e=>Z.name=e,maxlength:`100`,name:`clientName`},null,8,[`modelValue`])]),_:1},8,[`label`]),l(x(z),{label:x(a)(`mcpModule.clientForm.description`),prop:`description`},{default:E(()=>[l(x(N),{modelValue:Z.description,"onUpdate:modelValue":i[7]||=e=>Z.description=e,type:`textarea`,maxlength:`500`,"show-word-limit":``,name:`clientDescription`},null,8,[`modelValue`])]),_:1},8,[`label`]),K.value?(p(),d(x(z),{key:0,label:x(a)(`mcpModule.clientForm.enabled`),prop:`enabled`},{default:E(()=>[l(x(re),{modelValue:Z.enabled,"onUpdate:modelValue":i[8]||=e=>Z.enabled=e,name:`clientEnabled`},null,8,[`modelValue`])]),_:1},8,[`label`])):C(``,!0),l(x(z),{label:x(a)(`mcpModule.clientForm.capabilities`),prop:`capabilities`},{default:E(()=>[l(x(Se),{modelValue:Z.capabilities,"onUpdate:modelValue":i[9]||=e=>Z.capabilities=e},{default:E(()=>[(p(!0),e(D,null,b(x(ye),e=>(p(),d(x(Ce),{key:e,value:e,disabled:!V.value.includes(e)&&!Z.capabilities.includes(e)},{default:E(()=>[c(w(x(a)(`mcpModule.capabilities.${e}.title`)),1)]),_:2},1032,[`value`,`disabled`]))),128))]),_:1},8,[`modelValue`]),l(x(B),{class:`mt-1`,type:`info`,description:x(a)(`mcpModule.clientForm.ceilingHint`),closable:!1,"show-icon":``,"data-test-id":`mcp-client-capability-ceiling-hint`},null,8,[`description`])]),_:1},8,[`label`]),K.value?C(``,!0):(p(),d(x(z),{key:1,label:x(a)(`mcpModule.clientForm.expiresInDays`),prop:`expiresInDays`},{default:E(()=>[l(x(ve),{modelValue:Z.expiresInDays,"onUpdate:modelValue":i[10]||=e=>Z.expiresInDays=e,min:1,max:x(Oe),name:`expiresInDays`},null,8,[`modelValue`,`max`])]),_:1},8,[`label`]))]),_:1},8,[`model`,`rules`])]),_:1}),n(`div`,Je,[n(`div`,Ye,[l(x(S),{link:``,class:`mr-2`,"data-test-id":`cancel-mcp-client-form`,onClick:i[11]||=()=>$()},{default:E(()=>[c(w(Re.value?x(a)(`mcpModule.actions.discard`):x(a)(`mcpModule.actions.close`)),1)]),_:1}),l(x(S),{type:`primary`,loading:G.value,disabled:G.value||!Re.value,"data-test-id":`save-mcp-client-form`,onClick:$e},{default:E(()=>[c(w(x(a)(`mcpModule.actions.save`)),1)]),_:1},8,[`loading`,`disabled`])])])])]),_:1},8,[`modelValue`,`size`]),l(x(we),{modelValue:U.value,"onUpdate:modelValue":i[15]||=e=>U.value=e,title:x(a)(`mcpModule.rotate.title`),width:`min(480px, 94vw)`},{footer:E(()=>[l(x(S),{onClick:i[14]||=e=>U.value=!1},{default:E(()=>[c(w(x(a)(`mcpModule.actions.cancel`)),1)]),_:1}),l(x(S),{type:`warning`,loading:G.value,onClick:tt},{default:E(()=>[c(w(x(a)(`mcpModule.actions.rotate`)),1)]),_:1},8,[`loading`])]),default:E(()=>[l(x(B),{type:`warning`,description:x(a)(`mcpModule.rotate.warning`),closable:!1,"show-icon":``,class:`mb-4`},null,8,[`description`]),l(x(_e),{"label-position":`top`},{default:E(()=>[l(x(z),{label:x(a)(`mcpModule.clientForm.expiresInDays`)},{default:E(()=>[l(x(ve),{modelValue:Y.value,"onUpdate:modelValue":i[13]||=e=>Y.value=e,min:1,max:x(Oe)},null,8,[`modelValue`,`max`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),l(je,{modelValue:W.value,"onUpdate:modelValue":i[16]||=e=>W.value=e,token:X.value,"client-name":Fe.value,onClosed:Qe},null,8,[`modelValue`,`token`,`client-name`])],64))}}),[[`__scopeId`,`data-v-d447fc1c`]]);export{Xe as default};
|
package/dist/assets/{view-mcp-oauth-consent-B8khqeda.js → view-mcp-oauth-consent-zZ5TLh4J.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ar as e,Dr as t,E as n,Er as r,Mr as i,Nr as a,Or as o,Pr as s,Qr as c,Si as l,T as u,Yr as d,b as f,di as p,ei as m,ji as h,kr as g,ni as _,qi as v,ri as y,ui as b,xr as x}from"./icon-with-child-CgZMNB3F.js";import{t as S}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{gt as C,h as w,ht as T,it as E,m as D,ot as O,st as k,u as A,yt as j}from"./common-
|
|
1
|
+
import{Ar as e,Dr as t,E as n,Er as r,Mr as i,Nr as a,Or as o,Pr as s,Qr as c,Si as l,T as u,Yr as d,b as f,di as p,ei as m,ji as h,kr as g,ni as _,qi as v,ri as y,ui as b,xr as x}from"./icon-with-child-CgZMNB3F.js";import{t as S}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{gt as C,h as w,ht as T,it as E,m as D,ot as O,st as k,u as A,yt as j}from"./common-DQQtAVrj.js";import{a as M,t as N}from"./mcp.exceptions-CJdD-XdE.js";var P=C({action:E([`consent`,`redirect`]),redirectTo:j().optional(),installationName:j().optional(),installationId:j().uuid().optional(),clientIdentifier:j().optional(),clientName:j().optional(),redirectUri:j().url().optional(),requestedScopes:O(E(Object.values(M))).optional(),accessExpiresInSeconds:T().int().positive().optional(),maximumGrantExpiresInDays:T().int().positive().optional(),physicalDeviceWarning:k().optional()}),F=C({redirectTo:j().min(1)}),I=`/modules/mcp/oauth/interactions/{uid}`,L=`/modules/mcp/oauth/interactions/{uid}/approve`,R=`/modules/mcp/oauth/interactions/{uid}/deny`,z=()=>{let e=D(),t=l(null),n=l(!1),r=l(!1),i=l(null);return{interaction:t,loading:n,working:r,error:i,load:async r=>{n.value=!0,i.value=null;try{let{data:n,response:i}=await e.client.GET(I,{params:{path:{uid:r}}});if(!n)throw new N(`Failed to load the MCP OAuth interaction.`,i.status);return t.value=P.parse(A(n.data)),t.value}catch(e){throw i.value=e instanceof Error?e:Error(`Failed to load the MCP OAuth interaction.`),i.value}finally{n.value=!1}},approve:async(t,n,a)=>{r.value=!0,i.value=null;try{let{data:r,response:i}=await e.client.POST(L,{params:{path:{uid:t}},body:{data:{scopes:n,expires_in_days:a}}});if(!r)throw new N(`Failed to approve the MCP OAuth interaction.`,i.status);return F.parse(A(r.data))}catch(e){throw i.value=e instanceof Error?e:Error(`Failed to approve the MCP OAuth interaction.`),i.value}finally{r.value=!1}},deny:async t=>{r.value=!0,i.value=null;try{let{data:n,response:r}=await e.client.POST(R,{params:{path:{uid:t}}});if(!n)throw new N(`Failed to deny the MCP OAuth interaction.`,r.status);return F.parse(A(n.data))}catch(e){throw i.value=e instanceof Error?e:Error(`Failed to deny the MCP OAuth interaction.`),i.value}finally{r.value=!1}}}},B={class:`mcp-oauth-consent`},V={class:`consent-details`},H={class:`font-600`},U={class:`font-600`},W={class:`break-all`},G={key:0,class:`el-form-item__error static`},K={class:`text-sm text-gray-500 mt-1`},q={key:0,class:`text-sm text-gray-500 mt-1`},J={class:`consent-actions`},Y={key:2,class:`py-12 text-center text-gray-500`},X=n(s({name:`ViewMcpOAuthConsent`,__name:`view-mcp-oauth-consent`,setup(n){let{t:s}=u(),C=f(),{interaction:T,loading:E,working:D,error:O,load:k,approve:A,deny:j}=z(),N=l([]),P=l(90),F=l(!1),I=r(()=>typeof C.query.interaction==`string`?C.query.interaction:null),L=r(()=>I.value===null),R=r(()=>Math.floor((T.value?.accessExpiresInSeconds??0)/60)),X=e=>{window.location.assign(e)},Z=async()=>{if(!I.value)return;let e=N.value.some(e=>e!==M.OFFLINE_ACCESS);if(F.value=!e,e)try{let e=await A(I.value,N.value,P.value);X(e.redirectTo)}catch{}},Q=async()=>{if(I.value)try{let e=await j(I.value);X(e.redirectTo)}catch{}};return d(async()=>{if(!I.value)return;let e;try{e=await k(I.value)}catch{return}if(e.action===`redirect`&&e.redirectTo){X(e.redirectTo);return}N.value=(e.requestedScopes??[]).filter(e=>e===M.READ||e===M.OFFLINE_ACCESS),P.value=e.maximumGrantExpiresInDays??90}),S({title:s(`mcpModule.oauthConsent.title`)}),(n,r)=>{let l=_(`el-alert`),u=_(`el-checkbox`),d=_(`el-checkbox-group`),f=_(`el-form-item`),S=_(`el-input-number`),C=_(`el-form`),k=_(`el-button`),A=_(`el-card`),j=y(`loading`);return c(),e(x,null,[a(h(w),{heading:h(s)(`mcpModule.oauthConsent.title`),"sub-heading":h(s)(`mcpModule.oauthConsent.subtitle`),icon:`mdi:shield-account-outline`},null,8,[`heading`,`sub-heading`]),t(`div`,B,[p((c(),o(A,{shadow:`never`},{default:b(()=>[h(O)||L.value?(c(),o(l,{key:0,type:`error`,title:h(s)(`mcpModule.oauthConsent.invalid`),closable:!1,"show-icon":``},null,8,[`title`])):h(T)?.action===`consent`?(c(),e(x,{key:1},[t(`dl`,V,[t(`div`,null,[t(`dt`,null,v(h(s)(`mcpModule.oauthConsent.installation`)),1),t(`dd`,null,[t(`div`,H,v(h(T).installationName),1),t(`code`,null,v(h(T).installationId),1)])]),t(`div`,null,[t(`dt`,null,v(h(s)(`mcpModule.oauthConsent.client`)),1),t(`dd`,null,[t(`div`,U,v(h(T).clientName),1),t(`code`,null,v(h(T).clientIdentifier),1)])]),t(`div`,null,[t(`dt`,null,v(h(s)(`mcpModule.oauthConsent.redirect`)),1),t(`dd`,null,[t(`code`,W,v(h(T).redirectUri),1)])])]),h(T).physicalDeviceWarning?(c(),o(l,{key:0,type:`warning`,title:h(s)(`mcpModule.oauthConsent.physicalWarningTitle`),description:h(s)(`mcpModule.oauthConsent.physicalWarning`),closable:!1,"show-icon":``,class:`mb-5`},null,8,[`title`,`description`])):g(``,!0),a(C,{"label-position":`top`},{default:b(()=>[a(f,{label:h(s)(`mcpModule.oauthConsent.scopes`)},{default:b(()=>[a(d,{modelValue:N.value,"onUpdate:modelValue":r[0]||=e=>N.value=e},{default:b(()=>[(c(!0),e(x,null,m(h(T).requestedScopes,t=>(c(),e(`div`,{key:t,class:`scope-option`},[a(u,{value:t},{default:b(()=>[i(v(h(s)(`mcpModule.oauthConsent.scope.${t}`)),1)]),_:2},1032,[`value`])]))),128))]),_:1},8,[`modelValue`]),F.value?(c(),e(`div`,G,v(h(s)(`mcpModule.oauthConsent.scopeRequired`)),1)):g(``,!0)]),_:1},8,[`label`]),a(f,{label:h(s)(`mcpModule.oauthConsent.grantExpiry`)},{default:b(()=>[a(S,{modelValue:P.value,"onUpdate:modelValue":r[1]||=e=>P.value=e,min:1,max:h(T).maximumGrantExpiresInDays,name:`oauthGrantExpiresInDays`},null,8,[`modelValue`,`max`]),t(`div`,K,v(h(s)(`mcpModule.oauthConsent.accessExpiry`,{minutes:R.value})),1),h(T).requestedScopes?.includes(h(M).OFFLINE_ACCESS)?(c(),e(`div`,q,v(h(s)(`mcpModule.oauthConsent.offlineAccess`)),1)):g(``,!0)]),_:1},8,[`label`])]),_:1}),t(`div`,J,[a(k,{disabled:h(D),onClick:Q},{default:b(()=>[i(v(h(s)(`mcpModule.oauthConsent.deny`)),1)]),_:1},8,[`disabled`]),a(k,{type:`primary`,loading:h(D),onClick:Z},{default:b(()=>[i(v(h(s)(`mcpModule.oauthConsent.approve`)),1)]),_:1},8,[`loading`])])],64)):(c(),e(`div`,Y,v(h(s)(`mcpModule.oauthConsent.loading`)),1))]),_:1})),[[j,h(E)||h(D)]])])],64)}}}),[[`__scopeId`,`data-v-dbe223e4`]]);export{X as default};
|
package/dist/assets/{view-mcp-oauth-management-D3c2vSnl.js → view-mcp-oauth-management-Cip6f2L1.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,E as r,Er as i,H as a,Lr as o,Mr as s,Nr as c,O as l,Or as u,Pr as d,Qr as f,Si as p,T as m,Yr as ee,b as te,bi as ne,ci as re,di as ie,ei as h,ji as g,jr as _,k as v,kr as ae,qi as y,t as oe,ui as b,x as se,xr as x}from"./icon-with-child-CgZMNB3F.js";import{Ar as ce,Cr as le,Er as ue,Gr as de,Qr as fe,Tr as pe,Xr as me,_r as he,br as ge,f as _e,gt as S,h as ve,ht as C,kr as ye,m as w,ot as T,p as be,pt as xe,s as Se,st as E,u as Ce,wr as we,yt as D}from"./common-BlrTsYp4.js";import{n as O,t as Te}from"./table-BXf7N0rb.js";import{n as Ee,t as De}from"./form-PoOFmumT.js";import{t as Oe}from"./alert-BQTYQnER.js";import{r as ke,t as Ae}from"./select-DTgGke01.js";import{t as k}from"./card-C50YgvLJ.js";import{n as je,t as Me}from"./checkbox-Ct1KW9j2.js";import{t as Ne}from"./drawer-DJgGmol9.js";import{n as Pe,t as A}from"./tabs-bVTlvkzX.js";import{t as j}from"./directive-D42ORGRu.js";import{a as M,r as Fe,t as N}from"./mcp.exceptions-BPGtzQ-L.js";var Ie=_e(),Le={class:`flex min-w-0 flex-wrap items-center gap-2 px-1 py-2`},Re=d({name:`McpOAuthTabFilter`,__name:`mcp-oauth-tab-filter`,props:{filters:{},filtersActive:{type:Boolean},searchPlaceholder:{},statusOptions:{},testId:{}},emits:[`update:filters`,`reset-filters`],setup(r,{emit:i}){let o=r,s=i,{t:l}=m(),d=ge(o,`filters`,s);return re(()=>d.value.search,e=>{e===``&&(d.value.search=void 0)}),(r,i)=>(f(),e(`div`,Le,[c(g(fe),{modelValue:g(d).search,"onUpdate:modelValue":i[0]||=e=>g(d).search=e,placeholder:o.searchPlaceholder,class:`max-w[280px] min-w-0`,clearable:``,"data-test-id":`search-${o.testId}`},{suffix:b(()=>[c(g(a),null,{default:b(()=>[c(g(t),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`,`data-test-id`]),o.statusOptions.length>0?(f(),u(g(ke),{key:0,modelValue:g(d).status,"onUpdate:modelValue":i[1]||=e=>g(d).status=e,class:`max-w[200px]`,"data-test-id":`filter-${o.testId}-status`},{default:b(()=>[c(g(Ae),{label:g(l)(`mcpModule.clients.filterAll`),value:`all`},null,8,[`label`]),(f(!0),e(x,null,h(o.statusOptions,e=>(f(),u(g(Ae),{key:e.value,label:g(l)(e.label),value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`data-test-id`])):ae(``,!0),i[3]||=n(`div`,{class:`grow-1`},null,-1),o.filtersActive?(f(),u(g(v),{key:1,plain:``,class:`px-2!`,title:g(l)(`mcpModule.actions.resetFilters`),"data-test-id":`reset-${o.testId}-filters`,onClick:i[2]||=e=>s(`reset-filters`)},{default:b(()=>[c(g(t),{icon:`mdi:filter-off`})]),_:1},8,[`title`,`data-test-id`])):ae(``,!0)]))}}),ze={class:`h-full w-full leading-normal`},Be=d({name:`McpTableEmpty`,__name:`mcp-table-empty`,props:{icon:{},loading:{type:Boolean},failed:{type:Boolean},filtersActive:{type:Boolean},emptyLabel:{}},emits:[`retry`,`reset-filters`],setup(n,{emit:r}){let a=n,o=r,{t:d}=m(),p=i(()=>a.loading?`mdi:database-refresh`:a.failed?`mdi:alert-circle`:a.filtersActive?`mdi:filter-multiple`:`mdi:information`),ee=i(()=>a.failed?d(`mcpModule.messages.loadFailed`):a.filtersActive?d(`mcpModule.clients.noFilteredResults`):d(a.emptyLabel));return(n,r)=>(f(),e(`div`,ze,[c(g(l),{class:`h-full w-full`},_({icon:b(()=>[c(g(oe),{size:80},{primary:b(()=>[c(g(t),{icon:a.icon},null,8,[`icon`])]),secondary:b(()=>[c(g(t),{icon:p.value},null,8,[`icon`])]),_:1})]),_:2},[a.loading?void 0:{name:`title`,fn:b(()=>[c(g(ce),{class:`block`},{default:b(()=>[s(y(ee.value),1)]),_:1})]),key:`0`},!a.loading&&(a.failed||a.filtersActive)?{name:`extra`,fn:b(()=>[a.failed?(f(),u(g(v),{key:0,type:`primary`,plain:``,"data-test-id":`mcp-table-retry`,onClick:r[0]||=e=>o(`retry`)},{icon:b(()=>[c(g(t),{icon:`mdi:refresh`})]),default:b(()=>[s(` `+y(g(d)(`mcpModule.actions.retry`)),1)]),_:1})):(f(),u(g(v),{key:1,type:`primary`,plain:``,"data-test-id":`mcp-table-reset-filters`,onClick:r[1]||=e=>o(`reset-filters`)},{icon:b(()=>[c(g(t),{icon:`mdi:filter-off`})]),default:b(()=>[s(` `+y(g(d)(`mcpModule.actions.resetFilters`)),1)]),_:1}))]),key:`1`}:void 0]),1024)]))}}),P=D().datetime({offset:!0}),F=P.nullable().default(null),I=xe(M),L=S({id:D().uuid(),clientId:D().min(1),name:D().trim().min(1).max(100),redirectUris:T(D().url()).min(1),maximumScopes:T(I),enabled:E(),createdAt:P,updatedAt:F}).transform(({clientId:e,...t})=>({...t,clientIdentifier:e})),R=S({id:D().uuid(),clientId:D().uuid(),clientName:D().min(1),approvedById:D().uuid().nullable(),approvedScopes:T(I),expiresAt:P,revokedAt:F,active:E(),createdAt:P}),Ve=S({id:D().uuid(),clientId:D().uuid(),clientName:D().min(1),grantId:D().uuid(),refreshFamilyId:D().uuid().nullable(),scopes:T(I),expiresAt:P}),z=S({id:D().uuid(),clientId:D().uuid(),clientName:D().min(1),grantId:D().uuid(),expiresAt:P,activeTokenCount:C().int().min(0)}),He=S({name:D().trim().min(1).max(100),redirectUris:T(D().url()).min(1),maximumScopes:T(I).min(1)}),B=He.partial(),V=S({approvedScopes:T(I).min(1)}),H=S({id:D().uuid(),client_id:D().min(1),name:D(),redirect_uris:T(D()),maximum_scopes:T(I),enabled:E(),created_at:D(),updated_at:D().nullable()}),Ue=S({id:D().uuid(),client_id:D(),client_name:D(),approved_by_id:D().nullable(),approved_scopes:T(I),expires_at:D(),revoked_at:D().nullable(),active:E(),created_at:D()}),We=S({id:D().uuid(),client_id:D(),client_name:D(),grant_id:D(),refresh_family_id:D().nullable(),scopes:T(I),expires_at:D()}),Ge=S({id:D().uuid(),client_id:D(),client_name:D(),grant_id:D(),expires_at:D(),active_token_count:C()}),U=(e,t,n,r)=>{let i=t.safeParse(e);if(!i.success)throw new N(`Received ${r} does not match the API contract.`);let a=n.safeParse(Ce(i.data));if(!a.success)throw new N(`Failed to validate received ${r}.`);return a.data},W=e=>U(e,H,L,`OAuth client`),G=e=>U(e,Ue,R,`OAuth grant`),Ke=e=>U(e,We,Ve,`OAuth access token`),qe=e=>U(e,Ge,z,`OAuth refresh family`),K=`/modules/mcp/oauth`,q=`${K}/clients`,Je=`${K}/clients/{id}`,Ye=`${K}/clients/{id}/revoke`,Xe=`${K}/grants`,Ze=`${K}/grants/{id}`,Qe=`${K}/grants/{id}/revoke`,$e=`${K}/access-tokens`,et=`${K}/access-tokens/{id}/revoke`,tt=`${K}/refresh-families`,nt=`${K}/refresh-families/{id}/revoke`,J=`${K}/revoke-all`,rt=()=>{let e=w(),t=p([]),n=p([]),r=p([]),i=p([]),a=p(!1),o=p(null),s=async()=>{a.value=!0,o.value=null;try{let[a,o,s,c]=await Promise.all([e.client.GET(q,{}),e.client.GET(Xe,{}),e.client.GET($e,{}),e.client.GET(tt,{})]);if(!a.data||!o.data||!s.data||!c.data){let e=[a,o,s,c].find(e=>!e.data)?.response.status;throw new N(`Failed to load MCP OAuth authorization data.`,e)}t.value=a.data.data.map(W),n.value=o.data.data.map(G),r.value=s.data.data.map(Ke),i.value=c.data.data.map(qe)}catch(e){throw o.value=e instanceof Error?e:Error(`Failed to load MCP OAuth authorization data.`),o.value}finally{a.value=!1}},c=e=>{let n=t.value.findIndex(t=>t.id===e.id);return n>=0?t.value[n]=e:t.value.unshift(e),e};return{clients:t,grants:n,accessTokens:r,refreshFamilies:i,loading:a,error:o,fetchAll:s,createClient:async t=>{let n=He.parse(t),{data:r,response:i}=await e.client.POST(q,{body:{data:{name:n.name,redirect_uris:n.redirectUris,maximum_scopes:n.maximumScopes}}});if(!r)throw new N(`Failed to create MCP OAuth client.`,i.status);return c(W(r.data))},updateClient:async(t,n)=>{let r=B.parse(n),{data:i,response:a}=await e.client.PATCH(Je,{params:{path:{id:t}},body:{data:{...r.name===void 0?{}:{name:r.name},...r.redirectUris===void 0?{}:{redirect_uris:r.redirectUris},...r.maximumScopes===void 0?{}:{maximum_scopes:r.maximumScopes}}}});if(!i)throw new N(`Failed to update MCP OAuth client.`,a.status);return c(W(i.data))},revokeClient:async t=>{let{data:a,response:o}=await e.client.POST(Ye,{params:{path:{id:t}}});if(!a)throw new N(`Failed to disable MCP OAuth client.`,o.status);let s=c(W(a.data));return n.value=n.value.map(e=>e.clientId===t?{...e,active:!1,revokedAt:e.revokedAt??new Date().toISOString()}:e),r.value=r.value.filter(e=>e.clientId!==t),i.value=i.value.filter(e=>e.clientId!==t),s},revokeGrant:async t=>{let{data:a,response:o}=await e.client.POST(Qe,{params:{path:{id:t}}});if(!a)throw new N(`Failed to revoke MCP OAuth grant.`,o.status);let s=G(a.data);return n.value=n.value.map(e=>e.id===t?s:e),r.value=r.value.filter(e=>e.grantId!==t),i.value=i.value.filter(e=>e.grantId!==t),s},updateGrant:async(t,r)=>{let i=V.parse(r),{data:a,response:o}=await e.client.PATCH(Ze,{params:{path:{id:t}},body:{data:{approved_scopes:i.approvedScopes}}});if(!a)throw new N(`Failed to update MCP OAuth grant.`,o.status);let s=G(a.data);return n.value=n.value.map(e=>e.id===t?s:e),s},revokeAccessToken:async t=>{let{response:n}=await e.client.POST(et,{params:{path:{id:t}}});if(!n.ok)throw new N(`Failed to revoke MCP OAuth access token.`,n.status);r.value=r.value.filter(e=>e.id!==t)},revokeRefreshFamily:async t=>{let{response:n}=await e.client.POST(nt,{params:{path:{id:t}}});if(!n.ok)throw new N(`Failed to revoke MCP OAuth refresh family.`,n.status);i.value=i.value.filter(e=>e.id!==t),r.value=r.value.filter(e=>e.refreshFamilyId!==t)},revokeAll:async()=>{let{data:t,response:a}=await e.client.POST(J,{});if(!t?.data.revoked)throw new N(`Failed to revoke all MCP OAuth authorization.`,a.status);let o=new Date().toISOString();n.value=n.value.map(e=>({...e,active:!1,revokedAt:e.revokedAt??o})),r.value=[],i.value=[]}}},it=S({search:D().optional(),status:D().default(`all`)}),at={search:void 0,status:`all`},ot=({key:e,items:t,searchable:n,sortable:r,defaultSortBy:a,statusOf:o})=>{let{filters:s,sort:c,reset:l}=Se({key:`${Fe}:oauth:${e}`,filters:{schema:it,defaults:at},sort:{defaults:[{by:a,dir:`asc`}]},syncQuery:!0,version:1}),u=i(()=>s.value.search!==at.search||s.value.status!==at.status),d=p(c.value.length>0?c.value[0]?.by:a),f=p(c.value.length>0?c.value[0]?.dir??null:`asc`),m=e=>{let t=s.value.search?.trim().toLowerCase();return!(t!==void 0&&t!==``&&!n(e).filter(e=>typeof e==`string`).join(` `).toLowerCase().includes(t)||o!==void 0&&s.value.status!==`all`&&o(e)!==s.value.status)},ee=i(()=>{let e=t.value.filter(m),n=typeof d.value==`string`?r[d.value]:void 0;if(n===void 0||f.value===null)return e;let i=f.value===`desc`?-1:1;return[...e].sort((e,t)=>{let r=n(e),a=n(t);return typeof r==`number`&&typeof a==`number`?(r-a)*i:String(r).localeCompare(String(a),void 0,{sensitivity:`base`})*i})});return re(()=>c.value,e=>{d.value=e.length>0?e[0]?.by:void 0,f.value=e.length>0?e[0]?.dir??null:null}),re([d,f],()=>{c.value=d.value===void 0||f.value===null?[]:[{by:d.value,dir:f.value}]}),{items:ee,filters:s,filtersActive:u,sortBy:d,sortDir:f,resetFilter:l}},st={class:`mcp-oauth-page`},ct={class:`mcp-oauth-details`},lt={class:`flex flex-col h-full`},ut={"data-test-id":`drawer-heading-title`},dt={"data-test-id":`drawer-heading-subtitle`},ft={class:`redirect-list`},pt={class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},mt={class:`p-2`},ht={class:`flex flex-col h-full`},gt={"data-test-id":`drawer-heading-title`},_t={"data-test-id":`drawer-heading-subtitle`},vt={class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},yt={class:`p-2`},bt=r(d({name:`ViewMcpOAuthManagement`,__name:`view-mcp-oauth-management`,setup(r){let{t:l}=m(),_=be(),{isLGDevice:oe}=he(),{clients:ce,grants:ge,accessTokens:_e,refreshFamilies:S,loading:C,error:w,fetchAll:T,createClient:xe,updateClient:Se,updateGrant:E,revokeClient:Ce,revokeGrant:D,revokeAccessToken:ke,revokeRefreshFamily:Ae,revokeAll:Fe}=rt(),N=te(),Le=se(),ze=p(typeof N.query.tab==`string`&&[`clients`,`grants`,`accessTokens`,`refreshFamilies`].includes(N.query.tab)?N.query.tab:`clients`);re(ze,e=>{Le.replace({query:{...N.query,tab:e}})});let P=p(!1),F=p(!1),I=p(!1),L=p(null),R=p(null),Ve=p(),z=p(),He=Object.values(M),B=p([]),V=ne({name:``,redirectUris:[``],maximumScopes:[M.READ]}),H=ne({approvedScopes:[M.READ]}),Ue=i(()=>V.maximumScopes.includes(M.WRITE)||V.maximumScopes.includes(M.TRIGGER)),We=i(()=>H.approvedScopes.includes(M.WRITE)||H.approvedScopes.includes(M.TRIGGER)),Ge=ne({name:[{required:!0,message:l(`mcpModule.oauthManagement.nameRequired`),trigger:`change`}],redirectUris:[{validator:(e,t,n)=>t.length>0&&t.every(e=>e.trim().length>0)?n():n(Error(l(`mcpModule.oauthManagement.redirectRequired`))),trigger:`change`}],maximumScopes:[{type:`array`,min:1,required:!0,message:l(`mcpModule.oauthManagement.scopesRequired`),trigger:`change`}]}),U=ne({approvedScopes:[{type:`array`,min:1,required:!0,message:l(`mcpModule.oauthManagement.grantScopesRequired`),trigger:`change`}]}),W=d({name:`ScopeTags`,props:{scopes:{type:Array,required:!0}},setup:e=>()=>o(`div`,{class:`scope-tags`},e.scopes.map(e=>o(de,{key:e,type:`info`,size:`small`},()=>l(`mcpModule.oauthManagement.scope.${e}`))))}),G=()=>({name:V.name,redirectUris:[...V.redirectUris],maximumScopes:[...V.maximumScopes]}),Ke=p(G()),qe=i(()=>!(0,Ie.isEqual)(G(),Ke.value)),K=()=>{L.value=null,V.name=``,V.redirectUris=[``],V.maximumScopes=[M.READ],Ve.value?.clearValidate(),Ke.value=G()},q=async e=>{if(qe.value)try{await ye.confirm(l(`mcpModule.confirm.discard`),l(`mcpModule.headings.discard`),{confirmButtonText:l(`mcpModule.actions.yes`),cancelButtonText:l(`mcpModule.actions.no`),type:`warning`})}catch{return}P.value=!1,e?.()},Je=()=>{K(),P.value=!0},Ye=e=>{L.value=e,V.name=e.name,V.redirectUris=[...e.redirectUris],V.maximumScopes=[...e.maximumScopes],Ke.value=G(),P.value=!0},Xe=p([...H.approvedScopes]),Ze=i(()=>!(0,Ie.isEqual)([...H.approvedScopes],Xe.value)),Qe=()=>{R.value=null,B.value=[],H.approvedScopes=[M.READ],z.value?.clearValidate(),Xe.value=[...H.approvedScopes]},$e=async e=>{if(Ze.value)try{await ye.confirm(l(`mcpModule.confirm.discard`),l(`mcpModule.headings.discard`),{confirmButtonText:l(`mcpModule.actions.yes`),cancelButtonText:l(`mcpModule.actions.no`),type:`warning`})}catch{return}F.value=!1,e?.()},et=e=>{R.value=e,B.value=[...e.approvedScopes],H.approvedScopes=[...e.approvedScopes],Xe.value=[...H.approvedScopes],F.value=!0},tt=async()=>{if(await Ve.value?.validate()){I.value=!0;try{let e={name:V.name,redirectUris:V.redirectUris.map(e=>e.trim()),maximumScopes:[...V.maximumScopes]};L.value?(await Se(L.value.id,e),_.success(l(`mcpModule.oauthManagement.messages.updated`))):(await xe(e),_.success(l(`mcpModule.oauthManagement.messages.created`))),P.value=!1}catch{_.error(l(L.value?`mcpModule.oauthManagement.messages.updateFailed`:`mcpModule.oauthManagement.messages.createFailed`))}finally{I.value=!1}}},nt=async()=>{if(!(!R.value||!await z.value?.validate())){I.value=!0;try{await E(R.value.id,{approvedScopes:[...H.approvedScopes]}),_.success(l(`mcpModule.oauthManagement.messages.grantUpdated`)),F.value=!1}catch{_.error(l(`mcpModule.oauthManagement.messages.grantUpdateFailed`))}finally{I.value=!1}}},J=async(e,t,n)=>{try{await ye.confirm(e,l(`mcpModule.actions.revoke`),{type:`warning`,confirmButtonText:l(`mcpModule.actions.revoke`),cancelButtonText:l(`mcpModule.actions.cancel`)}),await t(),_.success(l(n))}catch(e){e!==`cancel`&&e!==`close`&&_.error(l(`mcpModule.oauthManagement.messages.revokeFailed`))}},it=e=>J(l(`mcpModule.oauthManagement.confirm.client`,{name:e.name}),()=>Ce(e.id),`mcpModule.oauthManagement.messages.clientRevoked`),at=e=>J(l(`mcpModule.oauthManagement.confirm.grant`,{name:e.clientName}),()=>D(e.id),`mcpModule.oauthManagement.messages.grantRevoked`),bt=e=>J(l(`mcpModule.oauthManagement.confirm.accessToken`,{name:e.clientName}),()=>ke(e.id),`mcpModule.oauthManagement.messages.accessTokenRevoked`),xt=e=>J(l(`mcpModule.oauthManagement.confirm.refreshFamily`,{name:e.clientName}),()=>Ae(e.id),`mcpModule.oauthManagement.messages.refreshFamilyRevoked`),St=()=>J(l(`mcpModule.oauthManagement.confirm.all`),()=>Fe(),`mcpModule.oauthManagement.messages.allRevoked`),Ct=e=>e.revokedAt?{key:`revoked`,type:`danger`}:new Date(e.expiresAt).getTime()<=Date.now()?{key:`expired`,type:`danger`}:e.active?{key:`active`,type:`success`}:{key:`inactive`,type:`warning`},wt=e=>e.revokedAt===null&&new Date(e.expiresAt).getTime()>Date.now(),Tt=e=>e.active,Y=()=>{T().catch(()=>{})},Et=e=>{if(!(e.sortBy.value===void 0||e.sortDir.value===null))return{prop:e.sortBy.value,order:e.sortDir.value===`desc`?`descending`:`ascending`}},Dt=(e,{prop:t,order:n})=>{e.sortBy.value=n===null?void 0:t,e.sortDir.value=n===null?null:n===`descending`?`desc`:`asc`},Ot=e=>new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e)),X=ot({key:`clients`,items:ce,searchable:e=>[e.name,e.clientIdentifier],sortable:{name:e=>e.name,createdAt:e=>new Date(e.createdAt).getTime()},defaultSortBy:`name`,statusOf:e=>e.enabled?`enabled`:`disabled`}),Z=ot({key:`grants`,items:ge,searchable:e=>[e.clientName],sortable:{clientName:e=>e.clientName,expiresAt:e=>new Date(e.expiresAt).getTime(),createdAt:e=>new Date(e.createdAt).getTime()},defaultSortBy:`clientName`,statusOf:e=>Ct(e).key}),Q=ot({key:`accessTokens`,items:_e,searchable:e=>[e.clientName],sortable:{clientName:e=>e.clientName,expiresAt:e=>new Date(e.expiresAt).getTime()},defaultSortBy:`clientName`,statusOf:e=>new Date(e.expiresAt).getTime()<=Date.now()?`expired`:`active`}),$=ot({key:`refreshFamilies`,items:S,searchable:e=>[e.clientName],sortable:{clientName:e=>e.clientName,expiresAt:e=>new Date(e.expiresAt).getTime(),activeTokenCount:e=>e.activeTokenCount},defaultSortBy:`clientName`}),kt=[{value:`active`,label:`mcpModule.oauthManagement.status.active`},{value:`inactive`,label:`mcpModule.oauthManagement.status.inactive`},{value:`expired`,label:`mcpModule.oauthManagement.status.expired`},{value:`revoked`,label:`mcpModule.oauthManagement.status.revoked`}],At=[{value:`active`,label:`mcpModule.oauthManagement.status.active`},{value:`expired`,label:`mcpModule.oauthManagement.status.expired`}],jt=[{value:`enabled`,label:`mcpModule.oauthManagement.status.enabled`},{value:`disabled`,label:`mcpModule.oauthManagement.status.disabled`}];return ee(()=>void T().catch(()=>void 0)),(r,i)=>(f(),e(x,null,[c(g(ve),{heading:g(l)(`mcpModule.oauthManagement.title`),"sub-heading":g(l)(`mcpModule.oauthManagement.subtitle`),icon:`mdi:shield-key-outline`},{extra:b(()=>[c(g(v),{type:`danger`,plain:``,class:`px-4!`,"data-test-id":`revoke-all-mcp-oauth`,onClick:St},{icon:b(()=>[c(g(t),{icon:`mdi:shield-remove-outline`})]),default:b(()=>[s(` `+y(g(l)(`mcpModule.oauthManagement.revokeAll`)),1)]),_:1}),c(g(v),{type:`primary`,plain:``,class:`px-4! ml-2!`,"data-test-id":`create-mcp-oauth-client`,onClick:Je},{icon:b(()=>[c(g(t),{icon:`mdi:plus`})]),default:b(()=>[s(` `+y(g(l)(`mcpModule.actions.add`)),1)]),_:1})]),_:1},8,[`heading`,`sub-heading`]),n(`div`,st,[c(g(Oe),{type:`info`,title:g(l)(`mcpModule.oauthManagement.securityTitle`),description:g(l)(`mcpModule.oauthManagement.securityDescription`),closable:!1,"show-icon":``},null,8,[`title`,`description`]),c(g(Pe),{modelValue:ze.value,"onUpdate:modelValue":i[8]||=e=>ze.value=e,class:`grow-1 overflow-hidden flex-1`},{default:b(()=>[c(g(A),{name:`clients`,label:g(l)(`mcpModule.oauthManagement.tabs.clients`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g(X).filters.value,"onUpdate:filters":i[0]||=e=>g(X).filters.value=e,"filters-active":g(X).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":jt,"test-id":`mcp-oauth-clients`,onResetFilters:g(X).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g(X).items.value,"default-sort":Et(g(X)),"row-key":`id`,onSortChange:i[1]||=e=>Dt(g(X),e)},{empty:b(()=>[c(Be,{icon:`mdi:application-cog`,loading:g(C),failed:g(w)!==null,"filters-active":g(X).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.clients`,onRetry:Y,onResetFilters:g(X).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{type:`expand`},{default:b(t=>[n(`div`,ct,[n(`div`,null,[n(`strong`,null,y(g(l)(`mcpModule.oauthManagement.clientId`))+`:`,1),s(` `+y(t.row.clientIdentifier),1)]),n(`div`,null,[n(`strong`,null,y(g(l)(`mcpModule.oauthManagement.redirectUris`))+`:`,1)]),n(`ul`,null,[(f(!0),e(x,null,h(t.row.redirectUris,t=>(f(),e(`li`,{key:t},y(t),1))),128))])])]),_:1}),c(g(O),{prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`180`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.status`),width:`120`},{default:b(e=>[c(g(de),{type:e.row.enabled?`success`:`warning`},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.status.${e.row.enabled?`active`:`disabled`}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),"min-width":`250`},{default:b(e=>[c(g(W),{scopes:e.row.maximumScopes},null,8,[`scopes`])]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`190`},{default:b(e=>[c(g(v),{size:`small`,onClick:t=>Ye(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.edit`)),1)]),_:1},8,[`onClick`]),c(g(v),{size:`small`,type:`danger`,plain:``,disabled:!e.row.enabled,onClick:t=>it(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`disabled`,`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`]),c(g(A),{name:`grants`,label:g(l)(`mcpModule.oauthManagement.tabs.grants`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g(Z).filters.value,"onUpdate:filters":i[2]||=e=>g(Z).filters.value=e,"filters-active":g(Z).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":kt,"test-id":`mcp-oauth-grants`,onResetFilters:g(Z).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g(Z).items.value,"default-sort":Et(g(Z)),"row-key":`id`,onSortChange:i[3]||=e=>Dt(g(Z),e)},{empty:b(()=>[c(Be,{icon:`mdi:key-chain`,loading:g(C),failed:g(w)!==null,"filters-active":g(Z).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.grants`,onRetry:Y,onResetFilters:g(Z).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{prop:`clientName`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`170`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.status`),width:`120`},{default:b(e=>[c(g(de),{type:Ct(e.row).type},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.status.${Ct(e.row).key}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),"min-width":`250`},{default:b(e=>[c(g(W),{scopes:e.row.approvedScopes},null,8,[`scopes`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.expires`),width:`190`},{default:b(e=>[s(y(Ot(e.row.expiresAt)),1)]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`190`},{default:b(e=>[c(g(v),{size:`small`,disabled:!Tt(e.row),onClick:t=>et(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.edit`)),1)]),_:1},8,[`disabled`,`onClick`]),c(g(v),{size:`small`,type:`danger`,plain:``,disabled:!wt(e.row),onClick:t=>at(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`disabled`,`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`]),c(g(A),{name:`accessTokens`,label:g(l)(`mcpModule.oauthManagement.tabs.accessTokens`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g(Q).filters.value,"onUpdate:filters":i[4]||=e=>g(Q).filters.value=e,"filters-active":g(Q).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":At,"test-id":`mcp-oauth-accessTokens`,onResetFilters:g(Q).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g(Q).items.value,"default-sort":Et(g(Q)),"row-key":`id`,onSortChange:i[5]||=e=>Dt(g(Q),e)},{empty:b(()=>[c(Be,{icon:`mdi:key`,loading:g(C),failed:g(w)!==null,"filters-active":g(Q).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.accessTokens`,onRetry:Y,onResetFilters:g(Q).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{prop:`clientName`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`170`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),"min-width":`250`},{default:b(e=>[c(g(W),{scopes:e.row.scopes},null,8,[`scopes`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.expires`),width:`190`},{default:b(e=>[s(y(Ot(e.row.expiresAt)),1)]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`120`},{default:b(e=>[c(g(v),{size:`small`,type:`danger`,plain:``,onClick:t=>bt(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`]),c(g(A),{name:`refreshFamilies`,label:g(l)(`mcpModule.oauthManagement.tabs.refreshFamilies`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g($).filters.value,"onUpdate:filters":i[6]||=e=>g($).filters.value=e,"filters-active":g($).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":[],"test-id":`mcp-oauth-refreshFamilies`,onResetFilters:g($).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g($).items.value,"default-sort":Et(g($)),"row-key":`id`,onSortChange:i[7]||=e=>Dt(g($),e)},{empty:b(()=>[c(Be,{icon:`mdi:key-link`,loading:g(C),failed:g(w)!==null,"filters-active":g($).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.refreshFamilies`,onRetry:Y,onResetFilters:g($).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{prop:`clientName`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`180`},null,8,[`label`]),c(g(O),{prop:`activeTokenCount`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.activeTokens`),width:`140`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.expires`),width:`190`},{default:b(e=>[s(y(Ot(e.row.expiresAt)),1)]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`120`},{default:b(e=>[c(g(v),{size:`small`,type:`danger`,plain:``,onClick:t=>xt(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),c(g(Ne),{modelValue:P.value,"onUpdate:modelValue":i[14]||=e=>P.value=e,"show-close":!1,"with-header":!1,size:g(oe)?`40%`:`100%`,"before-close":q,"data-test-id":`mcp-oauth-client-form-drawer`,onClosed:K},{default:b(()=>[n(`div`,lt,[c(g(ue),{"menu-button-hidden":``},{heading:b(()=>[c(g(le),null,{icon:b(()=>[c(g(t),{icon:`mdi:shield-key-outline`})]),title:b(()=>[n(`span`,ut,y(L.value?g(l)(`mcpModule.oauthManagement.editClient`):g(l)(`mcpModule.oauthManagement.createClient`)),1)]),subtitle:b(()=>[n(`span`,dt,y(g(l)(`mcpModule.oauthManagement.clientFormSubtitle`)),1)]),_:1})]),"button-right":b(()=>[c(g(we),{align:g(pe).RIGHT,class:`mr-2`,onClick:i[9]||=()=>q()},{icon:b(()=>[c(g(a),null,{default:b(()=>[c(g(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),c(g(me),{class:`grow-1 p-2 md:px-4`},{default:b(()=>[c(g(De),{ref_key:`clientFormEl`,ref:Ve,model:V,rules:Ge,"label-position":`top`},{default:b(()=>[c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.name`),prop:`name`},{default:b(()=>[c(g(fe),{modelValue:V.name,"onUpdate:modelValue":i[10]||=e=>V.name=e,maxlength:`100`},null,8,[`modelValue`])]),_:1},8,[`label`]),c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.redirectUris`),prop:`redirectUris`},{default:b(()=>[n(`div`,ft,[(f(!0),e(x,null,h(V.redirectUris,(n,r)=>(f(),e(`div`,{key:r,class:`redirect-row`},[c(g(fe),{modelValue:V.redirectUris[r],"onUpdate:modelValue":e=>V.redirectUris[r]=e},null,8,[`modelValue`,`onUpdate:modelValue`]),c(g(v),{"aria-label":g(l)(`mcpModule.actions.removeOrigin`),disabled:V.redirectUris.length===1,onClick:e=>V.redirectUris.splice(r,1)},{default:b(()=>[c(g(t),{icon:`mdi:delete-outline`})]),_:1},8,[`aria-label`,`disabled`,`onClick`])]))),128)),c(g(v),{onClick:i[11]||=e=>V.redirectUris.push(``)},{default:b(()=>[c(g(t),{icon:`mdi:plus`}),s(` `+y(g(l)(`mcpModule.oauthManagement.addRedirect`)),1)]),_:1})])]),_:1},8,[`label`]),c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),prop:`maximumScopes`},{default:b(()=>[c(g(je),{modelValue:V.maximumScopes,"onUpdate:modelValue":i[12]||=e=>V.maximumScopes=e},{default:b(()=>[(f(!0),e(x,null,h(g(He),e=>(f(),u(g(Me),{key:e,value:e},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.scope.${e}`)),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),Ue.value?(f(),u(g(Oe),{key:0,type:`warning`,description:g(l)(`mcpModule.oauthManagement.physicalWarning`),closable:!1,"show-icon":``},null,8,[`description`])):ae(``,!0)]),_:1},8,[`model`,`rules`])]),_:1}),n(`div`,pt,[n(`div`,mt,[c(g(v),{link:``,class:`mr-2`,"data-test-id":`cancel-mcp-oauth-client-form`,onClick:i[13]||=()=>q()},{default:b(()=>[s(y(qe.value?g(l)(`mcpModule.actions.discard`):g(l)(`mcpModule.actions.close`)),1)]),_:1}),c(g(v),{type:`primary`,loading:I.value,disabled:I.value||!qe.value,"data-test-id":`save-mcp-oauth-client-form`,onClick:tt},{default:b(()=>[s(y(g(l)(`mcpModule.actions.save`)),1)]),_:1},8,[`loading`,`disabled`])])])])]),_:1},8,[`modelValue`,`size`]),c(g(Ne),{modelValue:F.value,"onUpdate:modelValue":i[18]||=e=>F.value=e,"show-close":!1,"with-header":!1,size:g(oe)?`40%`:`100%`,"before-close":$e,"data-test-id":`mcp-oauth-grant-form-drawer`,onClosed:Qe},{default:b(()=>[n(`div`,ht,[c(g(ue),{"menu-button-hidden":``},{heading:b(()=>[c(g(le),null,{icon:b(()=>[c(g(t),{icon:`mdi:shield-key-outline`})]),title:b(()=>[n(`span`,gt,y(g(l)(`mcpModule.oauthManagement.editGrant`)),1)]),subtitle:b(()=>[n(`span`,_t,y(g(l)(`mcpModule.oauthManagement.grantFormSubtitle`)),1)]),_:1})]),"button-right":b(()=>[c(g(we),{align:g(pe).RIGHT,class:`mr-2`,onClick:i[15]||=()=>$e()},{icon:b(()=>[c(g(a),null,{default:b(()=>[c(g(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),c(g(me),{class:`grow-1 p-2 md:px-4`},{default:b(()=>[c(g(De),{ref_key:`grantFormEl`,ref:z,model:H,rules:U,"label-position":`top`},{default:b(()=>[c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),prop:`approvedScopes`},{default:b(()=>[c(g(je),{modelValue:H.approvedScopes,"onUpdate:modelValue":i[16]||=e=>H.approvedScopes=e},{default:b(()=>[(f(!0),e(x,null,h(B.value,e=>(f(),u(g(Me),{key:e,value:e,disabled:e===g(M).OFFLINE_ACCESS},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.scope.${e}`)),1)]),_:2},1032,[`value`,`disabled`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),We.value?(f(),u(g(Oe),{key:0,type:`warning`,description:g(l)(`mcpModule.oauthManagement.physicalWarning`),closable:!1,"show-icon":``},null,8,[`description`])):ae(``,!0),c(g(Oe),{type:`info`,description:g(l)(`mcpModule.oauthManagement.grantReductionNotice`),closable:!1,"show-icon":``},null,8,[`description`])]),_:1},8,[`model`,`rules`])]),_:1}),n(`div`,vt,[n(`div`,yt,[c(g(v),{link:``,class:`mr-2`,"data-test-id":`cancel-mcp-oauth-grant-form`,onClick:i[17]||=()=>$e()},{default:b(()=>[s(y(Ze.value?g(l)(`mcpModule.actions.discard`):g(l)(`mcpModule.actions.close`)),1)]),_:1}),c(g(v),{type:`primary`,loading:I.value,disabled:I.value||!Ze.value,"data-test-id":`save-mcp-oauth-grant-form`,onClick:nt},{default:b(()=>[s(y(g(l)(`mcpModule.actions.save`)),1)]),_:1},8,[`loading`,`disabled`])])])])]),_:1},8,[`modelValue`,`size`])],64))}}),[[`__scopeId`,`data-v-d5710efe`]]);export{bt as default};
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,E as r,Er as i,H as a,Lr as o,Mr as s,Nr as c,O as l,Or as u,Pr as d,Qr as f,Si as p,T as m,Yr as ee,b as te,bi as ne,ci as re,di as ie,ei as h,ji as g,jr as _,k as v,kr as ae,qi as y,t as oe,ui as b,x as se,xr as x}from"./icon-with-child-CgZMNB3F.js";import{Dr as ce,Er as le,Mr as ue,Or as de,Qr as fe,Sr as pe,Tr as me,ei as he,f as ge,gt as S,h as _e,ht as C,jr as ve,m as w,ot as T,p as ye,pt as be,qr as xe,s as Se,st as E,u as Ce,yr as we,yt as D}from"./common-DQQtAVrj.js";import{n as O,t as Te}from"./table-Bej2n2pI.js";import{n as Ee,t as De}from"./form-DhJ_5Z1F.js";import{t as Oe}from"./alert-BtC0hQaN.js";import{r as ke,t as Ae}from"./select-De297TQO.js";import{t as k}from"./card-C50YgvLJ.js";import{n as je,t as Me}from"./checkbox-Brn4H-ar.js";import{t as Ne}from"./drawer-DBEDVZvF.js";import{n as Pe,t as A}from"./tabs-ClzYwBwe.js";import{t as j}from"./directive-D42ORGRu.js";import{a as M,r as Fe,t as N}from"./mcp.exceptions-CJdD-XdE.js";var Ie=ge(),Le={class:`flex min-w-0 flex-wrap items-center gap-2 px-1 py-2`},Re=d({name:`McpOAuthTabFilter`,__name:`mcp-oauth-tab-filter`,props:{filters:{},filtersActive:{type:Boolean},searchPlaceholder:{},statusOptions:{},testId:{}},emits:[`update:filters`,`reset-filters`],setup(r,{emit:i}){let o=r,s=i,{t:l}=m(),d=pe(o,`filters`,s);return re(()=>d.value.search,e=>{e===``&&(d.value.search=void 0)}),(r,i)=>(f(),e(`div`,Le,[c(g(he),{modelValue:g(d).search,"onUpdate:modelValue":i[0]||=e=>g(d).search=e,placeholder:o.searchPlaceholder,class:`max-w[280px] min-w-0`,clearable:``,"data-test-id":`search-${o.testId}`},{suffix:b(()=>[c(g(a),null,{default:b(()=>[c(g(t),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`,`data-test-id`]),o.statusOptions.length>0?(f(),u(g(ke),{key:0,modelValue:g(d).status,"onUpdate:modelValue":i[1]||=e=>g(d).status=e,class:`max-w[200px]`,"data-test-id":`filter-${o.testId}-status`},{default:b(()=>[c(g(Ae),{label:g(l)(`mcpModule.clients.filterAll`),value:`all`},null,8,[`label`]),(f(!0),e(x,null,h(o.statusOptions,e=>(f(),u(g(Ae),{key:e.value,label:g(l)(e.label),value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`data-test-id`])):ae(``,!0),i[3]||=n(`div`,{class:`grow-1`},null,-1),o.filtersActive?(f(),u(g(v),{key:1,plain:``,class:`px-2!`,title:g(l)(`mcpModule.actions.resetFilters`),"data-test-id":`reset-${o.testId}-filters`,onClick:i[2]||=e=>s(`reset-filters`)},{default:b(()=>[c(g(t),{icon:`mdi:filter-off`})]),_:1},8,[`title`,`data-test-id`])):ae(``,!0)]))}}),ze={class:`h-full w-full leading-normal`},Be=d({name:`McpTableEmpty`,__name:`mcp-table-empty`,props:{icon:{},loading:{type:Boolean},failed:{type:Boolean},filtersActive:{type:Boolean},emptyLabel:{}},emits:[`retry`,`reset-filters`],setup(n,{emit:r}){let a=n,o=r,{t:d}=m(),p=i(()=>a.loading?`mdi:database-refresh`:a.failed?`mdi:alert-circle`:a.filtersActive?`mdi:filter-multiple`:`mdi:information`),ee=i(()=>a.failed?d(`mcpModule.messages.loadFailed`):a.filtersActive?d(`mcpModule.clients.noFilteredResults`):d(a.emptyLabel));return(n,r)=>(f(),e(`div`,ze,[c(g(l),{class:`h-full w-full`},_({icon:b(()=>[c(g(oe),{size:80},{primary:b(()=>[c(g(t),{icon:a.icon},null,8,[`icon`])]),secondary:b(()=>[c(g(t),{icon:p.value},null,8,[`icon`])]),_:1})]),_:2},[a.loading?void 0:{name:`title`,fn:b(()=>[c(g(ue),{class:`block`},{default:b(()=>[s(y(ee.value),1)]),_:1})]),key:`0`},!a.loading&&(a.failed||a.filtersActive)?{name:`extra`,fn:b(()=>[a.failed?(f(),u(g(v),{key:0,type:`primary`,plain:``,"data-test-id":`mcp-table-retry`,onClick:r[0]||=e=>o(`retry`)},{icon:b(()=>[c(g(t),{icon:`mdi:refresh`})]),default:b(()=>[s(` `+y(g(d)(`mcpModule.actions.retry`)),1)]),_:1})):(f(),u(g(v),{key:1,type:`primary`,plain:``,"data-test-id":`mcp-table-reset-filters`,onClick:r[1]||=e=>o(`reset-filters`)},{icon:b(()=>[c(g(t),{icon:`mdi:filter-off`})]),default:b(()=>[s(` `+y(g(d)(`mcpModule.actions.resetFilters`)),1)]),_:1}))]),key:`1`}:void 0]),1024)]))}}),P=D().datetime({offset:!0}),F=P.nullable().default(null),I=be(M),L=S({id:D().uuid(),clientId:D().min(1),name:D().trim().min(1).max(100),redirectUris:T(D().url()).min(1),maximumScopes:T(I),enabled:E(),createdAt:P,updatedAt:F}).transform(({clientId:e,...t})=>({...t,clientIdentifier:e})),R=S({id:D().uuid(),clientId:D().uuid(),clientName:D().min(1),approvedById:D().uuid().nullable(),approvedScopes:T(I),expiresAt:P,revokedAt:F,active:E(),createdAt:P}),Ve=S({id:D().uuid(),clientId:D().uuid(),clientName:D().min(1),grantId:D().uuid(),refreshFamilyId:D().uuid().nullable(),scopes:T(I),expiresAt:P}),z=S({id:D().uuid(),clientId:D().uuid(),clientName:D().min(1),grantId:D().uuid(),expiresAt:P,activeTokenCount:C().int().min(0)}),He=S({name:D().trim().min(1).max(100),redirectUris:T(D().url()).min(1),maximumScopes:T(I).min(1)}),B=He.partial(),V=S({approvedScopes:T(I).min(1)}),H=S({id:D().uuid(),client_id:D().min(1),name:D(),redirect_uris:T(D()),maximum_scopes:T(I),enabled:E(),created_at:D(),updated_at:D().nullable()}),Ue=S({id:D().uuid(),client_id:D(),client_name:D(),approved_by_id:D().nullable(),approved_scopes:T(I),expires_at:D(),revoked_at:D().nullable(),active:E(),created_at:D()}),We=S({id:D().uuid(),client_id:D(),client_name:D(),grant_id:D(),refresh_family_id:D().nullable(),scopes:T(I),expires_at:D()}),Ge=S({id:D().uuid(),client_id:D(),client_name:D(),grant_id:D(),expires_at:D(),active_token_count:C()}),U=(e,t,n,r)=>{let i=t.safeParse(e);if(!i.success)throw new N(`Received ${r} does not match the API contract.`);let a=n.safeParse(Ce(i.data));if(!a.success)throw new N(`Failed to validate received ${r}.`);return a.data},W=e=>U(e,H,L,`OAuth client`),G=e=>U(e,Ue,R,`OAuth grant`),Ke=e=>U(e,We,Ve,`OAuth access token`),qe=e=>U(e,Ge,z,`OAuth refresh family`),K=`/modules/mcp/oauth`,q=`${K}/clients`,Je=`${K}/clients/{id}`,Ye=`${K}/clients/{id}/revoke`,Xe=`${K}/grants`,Ze=`${K}/grants/{id}`,Qe=`${K}/grants/{id}/revoke`,$e=`${K}/access-tokens`,et=`${K}/access-tokens/{id}/revoke`,tt=`${K}/refresh-families`,nt=`${K}/refresh-families/{id}/revoke`,J=`${K}/revoke-all`,rt=()=>{let e=w(),t=p([]),n=p([]),r=p([]),i=p([]),a=p(!1),o=p(null),s=async()=>{a.value=!0,o.value=null;try{let[a,o,s,c]=await Promise.all([e.client.GET(q,{}),e.client.GET(Xe,{}),e.client.GET($e,{}),e.client.GET(tt,{})]);if(!a.data||!o.data||!s.data||!c.data){let e=[a,o,s,c].find(e=>!e.data)?.response.status;throw new N(`Failed to load MCP OAuth authorization data.`,e)}t.value=a.data.data.map(W),n.value=o.data.data.map(G),r.value=s.data.data.map(Ke),i.value=c.data.data.map(qe)}catch(e){throw o.value=e instanceof Error?e:Error(`Failed to load MCP OAuth authorization data.`),o.value}finally{a.value=!1}},c=e=>{let n=t.value.findIndex(t=>t.id===e.id);return n>=0?t.value[n]=e:t.value.unshift(e),e};return{clients:t,grants:n,accessTokens:r,refreshFamilies:i,loading:a,error:o,fetchAll:s,createClient:async t=>{let n=He.parse(t),{data:r,response:i}=await e.client.POST(q,{body:{data:{name:n.name,redirect_uris:n.redirectUris,maximum_scopes:n.maximumScopes}}});if(!r)throw new N(`Failed to create MCP OAuth client.`,i.status);return c(W(r.data))},updateClient:async(t,n)=>{let r=B.parse(n),{data:i,response:a}=await e.client.PATCH(Je,{params:{path:{id:t}},body:{data:{...r.name===void 0?{}:{name:r.name},...r.redirectUris===void 0?{}:{redirect_uris:r.redirectUris},...r.maximumScopes===void 0?{}:{maximum_scopes:r.maximumScopes}}}});if(!i)throw new N(`Failed to update MCP OAuth client.`,a.status);return c(W(i.data))},revokeClient:async t=>{let{data:a,response:o}=await e.client.POST(Ye,{params:{path:{id:t}}});if(!a)throw new N(`Failed to disable MCP OAuth client.`,o.status);let s=c(W(a.data));return n.value=n.value.map(e=>e.clientId===t?{...e,active:!1,revokedAt:e.revokedAt??new Date().toISOString()}:e),r.value=r.value.filter(e=>e.clientId!==t),i.value=i.value.filter(e=>e.clientId!==t),s},revokeGrant:async t=>{let{data:a,response:o}=await e.client.POST(Qe,{params:{path:{id:t}}});if(!a)throw new N(`Failed to revoke MCP OAuth grant.`,o.status);let s=G(a.data);return n.value=n.value.map(e=>e.id===t?s:e),r.value=r.value.filter(e=>e.grantId!==t),i.value=i.value.filter(e=>e.grantId!==t),s},updateGrant:async(t,r)=>{let i=V.parse(r),{data:a,response:o}=await e.client.PATCH(Ze,{params:{path:{id:t}},body:{data:{approved_scopes:i.approvedScopes}}});if(!a)throw new N(`Failed to update MCP OAuth grant.`,o.status);let s=G(a.data);return n.value=n.value.map(e=>e.id===t?s:e),s},revokeAccessToken:async t=>{let{response:n}=await e.client.POST(et,{params:{path:{id:t}}});if(!n.ok)throw new N(`Failed to revoke MCP OAuth access token.`,n.status);r.value=r.value.filter(e=>e.id!==t)},revokeRefreshFamily:async t=>{let{response:n}=await e.client.POST(nt,{params:{path:{id:t}}});if(!n.ok)throw new N(`Failed to revoke MCP OAuth refresh family.`,n.status);i.value=i.value.filter(e=>e.id!==t),r.value=r.value.filter(e=>e.refreshFamilyId!==t)},revokeAll:async()=>{let{data:t,response:a}=await e.client.POST(J,{});if(!t?.data.revoked)throw new N(`Failed to revoke all MCP OAuth authorization.`,a.status);let o=new Date().toISOString();n.value=n.value.map(e=>({...e,active:!1,revokedAt:e.revokedAt??o})),r.value=[],i.value=[]}}},it=S({search:D().optional(),status:D().default(`all`)}),at={search:void 0,status:`all`},ot=({key:e,items:t,searchable:n,sortable:r,defaultSortBy:a,statusOf:o})=>{let{filters:s,sort:c,reset:l}=Se({key:`${Fe}:oauth:${e}`,filters:{schema:it,defaults:at},sort:{defaults:[{by:a,dir:`asc`}]},syncQuery:!0,version:1}),u=i(()=>s.value.search!==at.search||s.value.status!==at.status),d=p(c.value.length>0?c.value[0]?.by:a),f=p(c.value.length>0?c.value[0]?.dir??null:`asc`),m=e=>{let t=s.value.search?.trim().toLowerCase();return!(t!==void 0&&t!==``&&!n(e).filter(e=>typeof e==`string`).join(` `).toLowerCase().includes(t)||o!==void 0&&s.value.status!==`all`&&o(e)!==s.value.status)},ee=i(()=>{let e=t.value.filter(m),n=typeof d.value==`string`?r[d.value]:void 0;if(n===void 0||f.value===null)return e;let i=f.value===`desc`?-1:1;return[...e].sort((e,t)=>{let r=n(e),a=n(t);return typeof r==`number`&&typeof a==`number`?(r-a)*i:String(r).localeCompare(String(a),void 0,{sensitivity:`base`})*i})});return re(()=>c.value,e=>{d.value=e.length>0?e[0]?.by:void 0,f.value=e.length>0?e[0]?.dir??null:null}),re([d,f],()=>{c.value=d.value===void 0||f.value===null?[]:[{by:d.value,dir:f.value}]}),{items:ee,filters:s,filtersActive:u,sortBy:d,sortDir:f,resetFilter:l}},st={class:`mcp-oauth-page`},ct={class:`mcp-oauth-details`},lt={class:`flex flex-col h-full`},ut={"data-test-id":`drawer-heading-title`},dt={"data-test-id":`drawer-heading-subtitle`},ft={class:`redirect-list`},pt={class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},mt={class:`p-2`},ht={class:`flex flex-col h-full`},gt={"data-test-id":`drawer-heading-title`},_t={"data-test-id":`drawer-heading-subtitle`},vt={class:`flex flex-row gap-2 justify-end items-center b-t b-t-solid shadow-top z-10 w-full h-[3rem]`,style:{"background-color":`var(--el-drawer-bg-color)`}},yt={class:`p-2`},bt=r(d({name:`ViewMcpOAuthManagement`,__name:`view-mcp-oauth-management`,setup(r){let{t:l}=m(),_=ye(),{isLGDevice:oe}=we(),{clients:ue,grants:pe,accessTokens:ge,refreshFamilies:S,loading:C,error:w,fetchAll:T,createClient:be,updateClient:Se,updateGrant:E,revokeClient:Ce,revokeGrant:D,revokeAccessToken:ke,revokeRefreshFamily:Ae,revokeAll:Fe}=rt(),N=te(),Le=se(),ze=p(typeof N.query.tab==`string`&&[`clients`,`grants`,`accessTokens`,`refreshFamilies`].includes(N.query.tab)?N.query.tab:`clients`);re(ze,e=>{Le.replace({query:{...N.query,tab:e}})});let P=p(!1),F=p(!1),I=p(!1),L=p(null),R=p(null),Ve=p(),z=p(),He=Object.values(M),B=p([]),V=ne({name:``,redirectUris:[``],maximumScopes:[M.READ]}),H=ne({approvedScopes:[M.READ]}),Ue=i(()=>V.maximumScopes.includes(M.WRITE)||V.maximumScopes.includes(M.TRIGGER)),We=i(()=>H.approvedScopes.includes(M.WRITE)||H.approvedScopes.includes(M.TRIGGER)),Ge=ne({name:[{required:!0,message:l(`mcpModule.oauthManagement.nameRequired`),trigger:`change`}],redirectUris:[{validator:(e,t,n)=>t.length>0&&t.every(e=>e.trim().length>0)?n():n(Error(l(`mcpModule.oauthManagement.redirectRequired`))),trigger:`change`}],maximumScopes:[{type:`array`,min:1,required:!0,message:l(`mcpModule.oauthManagement.scopesRequired`),trigger:`change`}]}),U=ne({approvedScopes:[{type:`array`,min:1,required:!0,message:l(`mcpModule.oauthManagement.grantScopesRequired`),trigger:`change`}]}),W=d({name:`ScopeTags`,props:{scopes:{type:Array,required:!0}},setup:e=>()=>o(`div`,{class:`scope-tags`},e.scopes.map(e=>o(xe,{key:e,type:`info`,size:`small`},()=>l(`mcpModule.oauthManagement.scope.${e}`))))}),G=()=>({name:V.name,redirectUris:[...V.redirectUris],maximumScopes:[...V.maximumScopes]}),Ke=p(G()),qe=i(()=>!(0,Ie.isEqual)(G(),Ke.value)),K=()=>{L.value=null,V.name=``,V.redirectUris=[``],V.maximumScopes=[M.READ],Ve.value?.clearValidate(),Ke.value=G()},q=async e=>{if(qe.value)try{await ve.confirm(l(`mcpModule.confirm.discard`),l(`mcpModule.headings.discard`),{confirmButtonText:l(`mcpModule.actions.yes`),cancelButtonText:l(`mcpModule.actions.no`),type:`warning`})}catch{return}P.value=!1,e?.()},Je=()=>{K(),P.value=!0},Ye=e=>{L.value=e,V.name=e.name,V.redirectUris=[...e.redirectUris],V.maximumScopes=[...e.maximumScopes],Ke.value=G(),P.value=!0},Xe=p([...H.approvedScopes]),Ze=i(()=>!(0,Ie.isEqual)([...H.approvedScopes],Xe.value)),Qe=()=>{R.value=null,B.value=[],H.approvedScopes=[M.READ],z.value?.clearValidate(),Xe.value=[...H.approvedScopes]},$e=async e=>{if(Ze.value)try{await ve.confirm(l(`mcpModule.confirm.discard`),l(`mcpModule.headings.discard`),{confirmButtonText:l(`mcpModule.actions.yes`),cancelButtonText:l(`mcpModule.actions.no`),type:`warning`})}catch{return}F.value=!1,e?.()},et=e=>{R.value=e,B.value=[...e.approvedScopes],H.approvedScopes=[...e.approvedScopes],Xe.value=[...H.approvedScopes],F.value=!0},tt=async()=>{if(await Ve.value?.validate()){I.value=!0;try{let e={name:V.name,redirectUris:V.redirectUris.map(e=>e.trim()),maximumScopes:[...V.maximumScopes]};L.value?(await Se(L.value.id,e),_.success(l(`mcpModule.oauthManagement.messages.updated`))):(await be(e),_.success(l(`mcpModule.oauthManagement.messages.created`))),P.value=!1}catch{_.error(l(L.value?`mcpModule.oauthManagement.messages.updateFailed`:`mcpModule.oauthManagement.messages.createFailed`))}finally{I.value=!1}}},nt=async()=>{if(!(!R.value||!await z.value?.validate())){I.value=!0;try{await E(R.value.id,{approvedScopes:[...H.approvedScopes]}),_.success(l(`mcpModule.oauthManagement.messages.grantUpdated`)),F.value=!1}catch{_.error(l(`mcpModule.oauthManagement.messages.grantUpdateFailed`))}finally{I.value=!1}}},J=async(e,t,n)=>{try{await ve.confirm(e,l(`mcpModule.actions.revoke`),{type:`warning`,confirmButtonText:l(`mcpModule.actions.revoke`),cancelButtonText:l(`mcpModule.actions.cancel`)}),await t(),_.success(l(n))}catch(e){e!==`cancel`&&e!==`close`&&_.error(l(`mcpModule.oauthManagement.messages.revokeFailed`))}},it=e=>J(l(`mcpModule.oauthManagement.confirm.client`,{name:e.name}),()=>Ce(e.id),`mcpModule.oauthManagement.messages.clientRevoked`),at=e=>J(l(`mcpModule.oauthManagement.confirm.grant`,{name:e.clientName}),()=>D(e.id),`mcpModule.oauthManagement.messages.grantRevoked`),bt=e=>J(l(`mcpModule.oauthManagement.confirm.accessToken`,{name:e.clientName}),()=>ke(e.id),`mcpModule.oauthManagement.messages.accessTokenRevoked`),xt=e=>J(l(`mcpModule.oauthManagement.confirm.refreshFamily`,{name:e.clientName}),()=>Ae(e.id),`mcpModule.oauthManagement.messages.refreshFamilyRevoked`),St=()=>J(l(`mcpModule.oauthManagement.confirm.all`),()=>Fe(),`mcpModule.oauthManagement.messages.allRevoked`),Ct=e=>e.revokedAt?{key:`revoked`,type:`danger`}:new Date(e.expiresAt).getTime()<=Date.now()?{key:`expired`,type:`danger`}:e.active?{key:`active`,type:`success`}:{key:`inactive`,type:`warning`},wt=e=>e.revokedAt===null&&new Date(e.expiresAt).getTime()>Date.now(),Tt=e=>e.active,Y=()=>{T().catch(()=>{})},Et=e=>{if(!(e.sortBy.value===void 0||e.sortDir.value===null))return{prop:e.sortBy.value,order:e.sortDir.value===`desc`?`descending`:`ascending`}},Dt=(e,{prop:t,order:n})=>{e.sortBy.value=n===null?void 0:t,e.sortDir.value=n===null?null:n===`descending`?`desc`:`asc`},Ot=e=>new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e)),X=ot({key:`clients`,items:ue,searchable:e=>[e.name,e.clientIdentifier],sortable:{name:e=>e.name,createdAt:e=>new Date(e.createdAt).getTime()},defaultSortBy:`name`,statusOf:e=>e.enabled?`enabled`:`disabled`}),Z=ot({key:`grants`,items:pe,searchable:e=>[e.clientName],sortable:{clientName:e=>e.clientName,expiresAt:e=>new Date(e.expiresAt).getTime(),createdAt:e=>new Date(e.createdAt).getTime()},defaultSortBy:`clientName`,statusOf:e=>Ct(e).key}),Q=ot({key:`accessTokens`,items:ge,searchable:e=>[e.clientName],sortable:{clientName:e=>e.clientName,expiresAt:e=>new Date(e.expiresAt).getTime()},defaultSortBy:`clientName`,statusOf:e=>new Date(e.expiresAt).getTime()<=Date.now()?`expired`:`active`}),$=ot({key:`refreshFamilies`,items:S,searchable:e=>[e.clientName],sortable:{clientName:e=>e.clientName,expiresAt:e=>new Date(e.expiresAt).getTime(),activeTokenCount:e=>e.activeTokenCount},defaultSortBy:`clientName`}),kt=[{value:`active`,label:`mcpModule.oauthManagement.status.active`},{value:`inactive`,label:`mcpModule.oauthManagement.status.inactive`},{value:`expired`,label:`mcpModule.oauthManagement.status.expired`},{value:`revoked`,label:`mcpModule.oauthManagement.status.revoked`}],At=[{value:`active`,label:`mcpModule.oauthManagement.status.active`},{value:`expired`,label:`mcpModule.oauthManagement.status.expired`}],jt=[{value:`enabled`,label:`mcpModule.oauthManagement.status.enabled`},{value:`disabled`,label:`mcpModule.oauthManagement.status.disabled`}];return ee(()=>void T().catch(()=>void 0)),(r,i)=>(f(),e(x,null,[c(g(_e),{heading:g(l)(`mcpModule.oauthManagement.title`),"sub-heading":g(l)(`mcpModule.oauthManagement.subtitle`),icon:`mdi:shield-key-outline`},{extra:b(()=>[c(g(v),{type:`danger`,plain:``,class:`px-4!`,"data-test-id":`revoke-all-mcp-oauth`,onClick:St},{icon:b(()=>[c(g(t),{icon:`mdi:shield-remove-outline`})]),default:b(()=>[s(` `+y(g(l)(`mcpModule.oauthManagement.revokeAll`)),1)]),_:1}),c(g(v),{type:`primary`,plain:``,class:`px-4! ml-2!`,"data-test-id":`create-mcp-oauth-client`,onClick:Je},{icon:b(()=>[c(g(t),{icon:`mdi:plus`})]),default:b(()=>[s(` `+y(g(l)(`mcpModule.actions.add`)),1)]),_:1})]),_:1},8,[`heading`,`sub-heading`]),n(`div`,st,[c(g(Oe),{type:`info`,title:g(l)(`mcpModule.oauthManagement.securityTitle`),description:g(l)(`mcpModule.oauthManagement.securityDescription`),closable:!1,"show-icon":``},null,8,[`title`,`description`]),c(g(Pe),{modelValue:ze.value,"onUpdate:modelValue":i[8]||=e=>ze.value=e,class:`grow-1 overflow-hidden flex-1`},{default:b(()=>[c(g(A),{name:`clients`,label:g(l)(`mcpModule.oauthManagement.tabs.clients`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g(X).filters.value,"onUpdate:filters":i[0]||=e=>g(X).filters.value=e,"filters-active":g(X).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":jt,"test-id":`mcp-oauth-clients`,onResetFilters:g(X).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g(X).items.value,"default-sort":Et(g(X)),"row-key":`id`,onSortChange:i[1]||=e=>Dt(g(X),e)},{empty:b(()=>[c(Be,{icon:`mdi:application-cog`,loading:g(C),failed:g(w)!==null,"filters-active":g(X).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.clients`,onRetry:Y,onResetFilters:g(X).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{type:`expand`},{default:b(t=>[n(`div`,ct,[n(`div`,null,[n(`strong`,null,y(g(l)(`mcpModule.oauthManagement.clientId`))+`:`,1),s(` `+y(t.row.clientIdentifier),1)]),n(`div`,null,[n(`strong`,null,y(g(l)(`mcpModule.oauthManagement.redirectUris`))+`:`,1)]),n(`ul`,null,[(f(!0),e(x,null,h(t.row.redirectUris,t=>(f(),e(`li`,{key:t},y(t),1))),128))])])]),_:1}),c(g(O),{prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`180`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.status`),width:`120`},{default:b(e=>[c(g(xe),{type:e.row.enabled?`success`:`warning`},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.status.${e.row.enabled?`active`:`disabled`}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),"min-width":`250`},{default:b(e=>[c(g(W),{scopes:e.row.maximumScopes},null,8,[`scopes`])]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`190`},{default:b(e=>[c(g(v),{size:`small`,onClick:t=>Ye(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.edit`)),1)]),_:1},8,[`onClick`]),c(g(v),{size:`small`,type:`danger`,plain:``,disabled:!e.row.enabled,onClick:t=>it(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`disabled`,`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`]),c(g(A),{name:`grants`,label:g(l)(`mcpModule.oauthManagement.tabs.grants`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g(Z).filters.value,"onUpdate:filters":i[2]||=e=>g(Z).filters.value=e,"filters-active":g(Z).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":kt,"test-id":`mcp-oauth-grants`,onResetFilters:g(Z).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g(Z).items.value,"default-sort":Et(g(Z)),"row-key":`id`,onSortChange:i[3]||=e=>Dt(g(Z),e)},{empty:b(()=>[c(Be,{icon:`mdi:key-chain`,loading:g(C),failed:g(w)!==null,"filters-active":g(Z).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.grants`,onRetry:Y,onResetFilters:g(Z).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{prop:`clientName`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`170`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.status`),width:`120`},{default:b(e=>[c(g(xe),{type:Ct(e.row).type},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.status.${Ct(e.row).key}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),"min-width":`250`},{default:b(e=>[c(g(W),{scopes:e.row.approvedScopes},null,8,[`scopes`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.expires`),width:`190`},{default:b(e=>[s(y(Ot(e.row.expiresAt)),1)]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`190`},{default:b(e=>[c(g(v),{size:`small`,disabled:!Tt(e.row),onClick:t=>et(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.edit`)),1)]),_:1},8,[`disabled`,`onClick`]),c(g(v),{size:`small`,type:`danger`,plain:``,disabled:!wt(e.row),onClick:t=>at(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`disabled`,`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`]),c(g(A),{name:`accessTokens`,label:g(l)(`mcpModule.oauthManagement.tabs.accessTokens`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g(Q).filters.value,"onUpdate:filters":i[4]||=e=>g(Q).filters.value=e,"filters-active":g(Q).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":At,"test-id":`mcp-oauth-accessTokens`,onResetFilters:g(Q).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g(Q).items.value,"default-sort":Et(g(Q)),"row-key":`id`,onSortChange:i[5]||=e=>Dt(g(Q),e)},{empty:b(()=>[c(Be,{icon:`mdi:key`,loading:g(C),failed:g(w)!==null,"filters-active":g(Q).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.accessTokens`,onRetry:Y,onResetFilters:g(Q).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{prop:`clientName`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`170`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),"min-width":`250`},{default:b(e=>[c(g(W),{scopes:e.row.scopes},null,8,[`scopes`])]),_:1},8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.expires`),width:`190`},{default:b(e=>[s(y(Ot(e.row.expiresAt)),1)]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`120`},{default:b(e=>[c(g(v),{size:`small`,type:`danger`,plain:``,onClick:t=>bt(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`]),c(g(A),{name:`refreshFamilies`,label:g(l)(`mcpModule.oauthManagement.tabs.refreshFamilies`),class:`h-full overflow-hidden flex flex-col gap-2`},{default:b(()=>[c(g(k),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:b(()=>[c(Re,{filters:g($).filters.value,"onUpdate:filters":i[6]||=e=>g($).filters.value=e,"filters-active":g($).filtersActive.value,"search-placeholder":g(l)(`mcpModule.oauthManagement.searchPlaceholder`),"status-options":[],"test-id":`mcp-oauth-refreshFamilies`,onResetFilters:g($).resetFilter},null,8,[`filters`,`filters-active`,`search-placeholder`,`onResetFilters`])]),_:1}),c(g(k),{shadow:`never`,"body-class":`p-0!`},{default:b(()=>[ie((f(),u(g(Te),{data:g($).items.value,"default-sort":Et(g($)),"row-key":`id`,onSortChange:i[7]||=e=>Dt(g($),e)},{empty:b(()=>[c(Be,{icon:`mdi:key-link`,loading:g(C),failed:g(w)!==null,"filters-active":g($).filtersActive.value,"empty-label":`mcpModule.oauthManagement.empty.refreshFamilies`,onRetry:Y,onResetFilters:g($).resetFilter},null,8,[`loading`,`failed`,`filters-active`,`onResetFilters`])]),default:b(()=>[c(g(O),{prop:`clientName`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.client`),"min-width":`180`},null,8,[`label`]),c(g(O),{prop:`activeTokenCount`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],label:g(l)(`mcpModule.oauthManagement.columns.activeTokens`),width:`140`},null,8,[`label`]),c(g(O),{label:g(l)(`mcpModule.oauthManagement.columns.expires`),width:`190`},{default:b(e=>[s(y(Ot(e.row.expiresAt)),1)]),_:1},8,[`label`]),c(g(O),{fixed:`right`,label:g(l)(`mcpModule.oauthManagement.columns.actions`),width:`120`},{default:b(e=>[c(g(v),{size:`small`,type:`danger`,plain:``,onClick:t=>xt(e.row)},{default:b(()=>[s(y(g(l)(`mcpModule.actions.revoke`)),1)]),_:1},8,[`onClick`])]),_:1},8,[`label`])]),_:1},8,[`data`,`default-sort`])),[[g(j),g(C)]])]),_:1})]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),c(g(Ne),{modelValue:P.value,"onUpdate:modelValue":i[14]||=e=>P.value=e,"show-close":!1,"with-header":!1,size:g(oe)?`40%`:`100%`,"before-close":q,"data-test-id":`mcp-oauth-client-form-drawer`,onClosed:K},{default:b(()=>[n(`div`,lt,[c(g(de),{"menu-button-hidden":``},{heading:b(()=>[c(g(me),null,{icon:b(()=>[c(g(t),{icon:`mdi:shield-key-outline`})]),title:b(()=>[n(`span`,ut,y(L.value?g(l)(`mcpModule.oauthManagement.editClient`):g(l)(`mcpModule.oauthManagement.createClient`)),1)]),subtitle:b(()=>[n(`span`,dt,y(g(l)(`mcpModule.oauthManagement.clientFormSubtitle`)),1)]),_:1})]),"button-right":b(()=>[c(g(le),{align:g(ce).RIGHT,class:`mr-2`,onClick:i[9]||=()=>q()},{icon:b(()=>[c(g(a),null,{default:b(()=>[c(g(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),c(g(fe),{class:`grow-1 p-2 md:px-4`},{default:b(()=>[c(g(De),{ref_key:`clientFormEl`,ref:Ve,model:V,rules:Ge,"label-position":`top`},{default:b(()=>[c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.name`),prop:`name`},{default:b(()=>[c(g(he),{modelValue:V.name,"onUpdate:modelValue":i[10]||=e=>V.name=e,maxlength:`100`},null,8,[`modelValue`])]),_:1},8,[`label`]),c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.redirectUris`),prop:`redirectUris`},{default:b(()=>[n(`div`,ft,[(f(!0),e(x,null,h(V.redirectUris,(n,r)=>(f(),e(`div`,{key:r,class:`redirect-row`},[c(g(he),{modelValue:V.redirectUris[r],"onUpdate:modelValue":e=>V.redirectUris[r]=e},null,8,[`modelValue`,`onUpdate:modelValue`]),c(g(v),{"aria-label":g(l)(`mcpModule.actions.removeOrigin`),disabled:V.redirectUris.length===1,onClick:e=>V.redirectUris.splice(r,1)},{default:b(()=>[c(g(t),{icon:`mdi:delete-outline`})]),_:1},8,[`aria-label`,`disabled`,`onClick`])]))),128)),c(g(v),{onClick:i[11]||=e=>V.redirectUris.push(``)},{default:b(()=>[c(g(t),{icon:`mdi:plus`}),s(` `+y(g(l)(`mcpModule.oauthManagement.addRedirect`)),1)]),_:1})])]),_:1},8,[`label`]),c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),prop:`maximumScopes`},{default:b(()=>[c(g(je),{modelValue:V.maximumScopes,"onUpdate:modelValue":i[12]||=e=>V.maximumScopes=e},{default:b(()=>[(f(!0),e(x,null,h(g(He),e=>(f(),u(g(Me),{key:e,value:e},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.scope.${e}`)),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),Ue.value?(f(),u(g(Oe),{key:0,type:`warning`,description:g(l)(`mcpModule.oauthManagement.physicalWarning`),closable:!1,"show-icon":``},null,8,[`description`])):ae(``,!0)]),_:1},8,[`model`,`rules`])]),_:1}),n(`div`,pt,[n(`div`,mt,[c(g(v),{link:``,class:`mr-2`,"data-test-id":`cancel-mcp-oauth-client-form`,onClick:i[13]||=()=>q()},{default:b(()=>[s(y(qe.value?g(l)(`mcpModule.actions.discard`):g(l)(`mcpModule.actions.close`)),1)]),_:1}),c(g(v),{type:`primary`,loading:I.value,disabled:I.value||!qe.value,"data-test-id":`save-mcp-oauth-client-form`,onClick:tt},{default:b(()=>[s(y(g(l)(`mcpModule.actions.save`)),1)]),_:1},8,[`loading`,`disabled`])])])])]),_:1},8,[`modelValue`,`size`]),c(g(Ne),{modelValue:F.value,"onUpdate:modelValue":i[18]||=e=>F.value=e,"show-close":!1,"with-header":!1,size:g(oe)?`40%`:`100%`,"before-close":$e,"data-test-id":`mcp-oauth-grant-form-drawer`,onClosed:Qe},{default:b(()=>[n(`div`,ht,[c(g(de),{"menu-button-hidden":``},{heading:b(()=>[c(g(me),null,{icon:b(()=>[c(g(t),{icon:`mdi:shield-key-outline`})]),title:b(()=>[n(`span`,gt,y(g(l)(`mcpModule.oauthManagement.editGrant`)),1)]),subtitle:b(()=>[n(`span`,_t,y(g(l)(`mcpModule.oauthManagement.grantFormSubtitle`)),1)]),_:1})]),"button-right":b(()=>[c(g(le),{align:g(ce).RIGHT,class:`mr-2`,onClick:i[15]||=()=>$e()},{icon:b(()=>[c(g(a),null,{default:b(()=>[c(g(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),c(g(fe),{class:`grow-1 p-2 md:px-4`},{default:b(()=>[c(g(De),{ref_key:`grantFormEl`,ref:z,model:H,rules:U,"label-position":`top`},{default:b(()=>[c(g(Ee),{label:g(l)(`mcpModule.oauthManagement.columns.scopes`),prop:`approvedScopes`},{default:b(()=>[c(g(je),{modelValue:H.approvedScopes,"onUpdate:modelValue":i[16]||=e=>H.approvedScopes=e},{default:b(()=>[(f(!0),e(x,null,h(B.value,e=>(f(),u(g(Me),{key:e,value:e,disabled:e===g(M).OFFLINE_ACCESS},{default:b(()=>[s(y(g(l)(`mcpModule.oauthManagement.scope.${e}`)),1)]),_:2},1032,[`value`,`disabled`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),We.value?(f(),u(g(Oe),{key:0,type:`warning`,description:g(l)(`mcpModule.oauthManagement.physicalWarning`),closable:!1,"show-icon":``},null,8,[`description`])):ae(``,!0),c(g(Oe),{type:`info`,description:g(l)(`mcpModule.oauthManagement.grantReductionNotice`),closable:!1,"show-icon":``},null,8,[`description`])]),_:1},8,[`model`,`rules`])]),_:1}),n(`div`,vt,[n(`div`,yt,[c(g(v),{link:``,class:`mr-2`,"data-test-id":`cancel-mcp-oauth-grant-form`,onClick:i[17]||=()=>$e()},{default:b(()=>[s(y(Ze.value?g(l)(`mcpModule.actions.discard`):g(l)(`mcpModule.actions.close`)),1)]),_:1}),c(g(v),{type:`primary`,loading:I.value,disabled:I.value||!Ze.value,"data-test-id":`save-mcp-oauth-grant-form`,onClick:nt},{default:b(()=>[s(y(g(l)(`mcpModule.actions.save`)),1)]),_:1},8,[`loading`,`disabled`])])])])]),_:1},8,[`modelValue`,`size`])],64))}}),[[`__scopeId`,`data-v-d5710efe`]]);export{bt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,T as d,Wr as f,_i as p,ci as m,ji as h,kr as g,qi as _,ui as v,x as
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,T as d,Wr as f,_i as p,ci as m,ji as h,kr as g,qi as _,ui as v,x as y,xr as ee}from"./icon-with-child-CgZMNB3F.js";import{t as b}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as x,Er as S,Et as C,Or as w,Tr as T,h as E,q as te,vr as ne,yr as re,zt as ie}from"./common-DQQtAVrj.js";import{t as ae}from"./drawer-DBEDVZvF.js";import{a as oe,n as D,o as se,s as ce}from"./notifications.exceptions-DmK8KTzC.js";var O={class:`uppercase`},k={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},A={class:`flex flex-col h-full`},j=c({name:`ViewNotifications`,__name:`view-notifications`,setup(c){let j=y(),{t:M}=d();b({title:M(`notificationsModule.meta.notifications.list.title`)});let{isMDDevice:N,isLGDevice:P}=re(),{notifications:F,hasMore:I,areLoading:L,filters:R,filtersActive:z,fetchNotifications:B,loadMoreNotifications:V,resetFilters:H}=te(),{markRead:U,markAllRead:le,dismiss:W,remove:ue,bulkMarkUnread:de,bulkDismiss:fe,bulkRemove:pe}=ie(),G=u(null),K=u(!1),q=u(!1),J=r(()=>F.value.find(e=>e.id===G.value)??null),me=r(()=>[{label:M(`notificationsModule.breadcrumbs.notifications.list`),route:j.resolve({name:C.NOTIFICATIONS})}]),he=e=>{G.value=e,K.value=!0},ge=()=>{V().catch(e=>{throw new D(`Something went wrong`,e)})},Y=()=>{H()},X=()=>{q.value=!0},_e=(e,t)=>{U(e,t).then(()=>{if(R.value.unread&&t)return B()}).catch(e=>{throw new D(`Something went wrong`,e)})},Z=e=>F.value.find(t=>t.id===e)?.dismissedAt?.getTime()??null,Q=e=>{let t=Z(e);W(e,!0).then(()=>{if(R.value.status===`active`&&Z(e)!==t)return B()}).catch(e=>{throw new D(`Something went wrong`,e)})},$=e=>{ue(e).catch(e=>{throw new D(`Something went wrong`,e)})},ve=e=>typeof e==`boolean`?e:e===`mutated`,ye=async(e,t)=>{let n;switch(e){case`mark-read`:n=await le(t);break;case`mark-unread`:n=await de(t);break;case`dismiss`:n=await fe(t);break;case`delete`:n=await pe(t);break;default:return}ve(n)&&await B()},be=(e,t)=>{ye(e,t).catch(e=>{throw new D(`Something went wrong`,e)})};return m(J,e=>{e===null&&(K.value=!1)}),m(K,e=>{e||(G.value=null)}),f(()=>{B().catch(e=>{throw new D(`Something went wrong`,e)})}),(r,c)=>(l(),e(ee,null,[o(h(ne),{items:me.value},null,8,[`items`]),h(N)?g(``,!0):(l(),s(h(T),{key:0,teleport:``},{icon:v(()=>[o(h(t),{icon:`mdi:bell-outline`,class:`w-[20px] h-[20px]`})]),title:v(()=>[a(_(h(M)(`notificationsModule.headings.notifications.list`)),1)]),subtitle:v(()=>[a(_(h(M)(`notificationsModule.subHeadings.notifications.list`)),1)]),_:1})),h(N)?g(``,!0):(l(),s(h(S),{key:1,align:h(x).LEFT,teleport:``,small:``,onClick:c[0]||=e=>h(j).push(`/`)},{icon:v(()=>[o(h(i),{size:24},{default:v(()=>[o(h(t),{icon:`mdi:chevron-left`})]),_:1})]),default:v(()=>[n(`span`,O,_(h(M)(`application.buttons.home.title`)),1)]),_:1},8,[`align`])),o(h(E),{heading:h(M)(`notificationsModule.headings.notifications.list`),"sub-heading":h(M)(`notificationsModule.subHeadings.notifications.list`),icon:`mdi:bell-outline`},null,8,[`heading`,`sub-heading`]),n(`div`,k,[o(h(se),{filters:h(R),"onUpdate:filters":c[1]||=e=>p(R)?R.value=e:null,items:h(F),"filters-active":h(z),"has-more":h(I),loading:h(L),onDetail:he,onDismiss:Q,onRemove:$,onLoadMore:ge,onResetFilters:Y,onAdjustList:X,onBulkAction:be},null,8,[`filters`,`items`,`filters-active`,`has-more`,`loading`])]),o(h(ae),{modelValue:q.value,"onUpdate:modelValue":c[4]||=e=>q.value=e,title:h(M)(`notificationsModule.headings.notifications.adjustFilters`),"show-close":!1,"with-header":!1,size:h(P)?`300px`:`100%`},{default:v(()=>[n(`div`,A,[o(h(w),{"menu-button-hidden":``},{heading:v(()=>[o(h(T),null,{icon:v(()=>[o(h(t),{icon:`mdi:filter`})]),title:v(()=>[a(_(h(M)(`notificationsModule.headings.notifications.adjustFilters`)),1)]),subtitle:v(()=>[a(_(h(M)(`notificationsModule.subHeadings.notifications.adjustFilters`)),1)]),_:1})]),"button-right":v(()=>[o(h(S),{align:h(x).RIGHT,class:`mr-2`,"aria-label":h(M)(`notificationsModule.buttons.close.title`),onClick:c[2]||=e=>q.value=!1},{icon:v(()=>[o(h(i),null,{default:v(()=>[o(h(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`,`aria-label`])]),_:1}),q.value?(l(),s(h(oe),{key:0,filters:h(R),"onUpdate:filters":c[3]||=e=>p(R)?R.value=e:null,"filters-active":h(z),onResetFilters:Y},null,8,[`filters`,`filters-active`])):g(``,!0)])]),_:1},8,[`modelValue`,`title`,`size`]),o(h(ce),{modelValue:K.value,"onUpdate:modelValue":c[5]||=e=>K.value=e,notification:J.value,onMarkRead:_e,onDismiss:Q,onRemove:$},null,8,[`modelValue`,`notification`])],64))}});export{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,Gr as i,H as a,Mr as o,Nr as s,Or as c,Pr as l,Qr as u,Si as d,T as f,Wi as p,Wr as m,Yr as h,bi as g,ci as _,di as v,ei as y,i as b,ji as x,k as S,kr as C,qi as w,ui as T,vr as E,x as D,xr as O,yr as k}from"./icon-with-child-CgZMNB3F.js";import{Mt as A,Nr as j,Qr as M,Rr as N,ei as P,gr as ee,jn as F,kn as te,or as I,p as L,qr as R,x as ne}from"./common-DQQtAVrj.js";import{n as z,t as B}from"./form-DhJ_5Z1F.js";import{t as V}from"./alert-BtC0hQaN.js";import{i as H,m as U,n as re,r as ie,s as W,t as ae}from"./useGeolocation-y3zHAEMb.js";import{r as oe,t as G}from"./select-De297TQO.js";import{t as K}from"./card-C50YgvLJ.js";import{t as se}from"./checkbox-Brn4H-ar.js";import{n as ce,t as q}from"./steps-DCMUJ24w.js";import{t as le}from"./directive-D42ORGRu.js";import{t as ue}from"./usePlugins-BLBNoCg5.js";import{i as de}from"./config.constants-17QBQ_kF.js";import{t as fe}from"./integration-config-dialog-sOxOBnDt.js";import{a as pe}from"./keys-DghNVBR5.js";import"./devices.constants-HX5whDWr.js";import{t as me}from"./useDevicesPlugins-B1S7eZ_6.js";import{n as J,r as Y,t as he}from"./composables-B0IV09af.js";import{t as ge}from"./devices-virtual.constants-DfAF3P2t.js";var _e={class:`flex flex-col items-center text-center py-8 px-4`},ve={class:`text-2xl font-bold mb-4`},X={class:`text-base text-gray-500 mb-8 max-w-md`},Z={class:`flex flex-col gap-3 max-w-sm w-full`},ye={class:`flex items-center gap-3 text-left p-3 rounded-lg bg-gray-50`},be={class:`font-medium`},Q={class:`text-sm text-gray-400`},$={class:`flex items-center gap-3 text-left p-3 rounded-lg bg-gray-50`},xe={class:`font-medium`},Se={class:`text-sm text-gray-400`},Ce={class:`flex items-center gap-3 text-left p-3 rounded-lg bg-gray-50`},we={class:`font-medium`},Te={class:`text-sm text-gray-400`},Ee={class:`flex items-center gap-3 text-left p-3 rounded-lg bg-gray-50`},De={class:`font-medium`},Oe={class:`text-sm text-gray-400`},ke={class:`flex items-center gap-3 text-left p-3 rounded-lg bg-gray-50`},Ae={class:`font-medium`},je={class:`text-sm text-gray-400`},Me=l({name:`StepWelcome`,__name:`step-welcome`,setup(r){let{t:i}=f();return(r,o)=>(u(),e(`div`,_e,[s(x(I),{class:`w-[5rem] mb-4 fill-brand-primary`}),n(`h2`,ve,w(x(i)(`onboardingModule.welcome.title`)),1),n(`p`,X,w(x(i)(`onboardingModule.welcome.description`)),1),n(`div`,Z,[n(`div`,ye,[s(x(a),{size:24,class:`text-primary shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:account-plus`})]),_:1}),n(`div`,null,[n(`div`,be,w(x(i)(`onboardingModule.welcome.steps.account`)),1),n(`div`,Q,w(x(i)(`onboardingModule.welcome.steps.accountDescription`)),1)])]),n(`div`,$,[s(x(a),{size:24,class:`text-primary shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:map-marker`})]),_:1}),n(`div`,null,[n(`div`,xe,w(x(i)(`onboardingModule.welcome.steps.location`)),1),n(`div`,Se,w(x(i)(`onboardingModule.welcome.steps.locationDescription`)),1)])]),n(`div`,Ce,[s(x(a),{size:24,class:`text-primary shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:puzzle`})]),_:1}),n(`div`,null,[n(`div`,we,w(x(i)(`onboardingModule.welcome.steps.integrations`)),1),n(`div`,Te,w(x(i)(`onboardingModule.welcome.steps.integrationsDescription`)),1)])]),n(`div`,Ee,[s(x(a),{size:24,class:`text-primary shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:floor-plan`})]),_:1}),n(`div`,null,[n(`div`,De,w(x(i)(`onboardingModule.welcome.steps.spaces`)),1),n(`div`,Oe,w(x(i)(`onboardingModule.welcome.steps.spacesDescription`)),1)])]),n(`div`,ke,[s(x(a),{size:24,class:`text-primary shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:check-circle`})]),_:1}),n(`div`,null,[n(`div`,Ae,w(x(i)(`onboardingModule.welcome.steps.finish`)),1),n(`div`,je,w(x(i)(`onboardingModule.welcome.steps.finishDescription`)),1)])])])]))}}),Ne={class:`py-4 px-4 max-w-lg mx-auto`},Pe={class:`flex flex-row flex-nowrap gap-5`},Fe=l({name:`StepAccount`,__name:`step-account`,emits:[`submit`],setup(t,{expose:r,emit:i}){let a=i,{t:o}=f(),{accountData:l,accountCreated:p}=J(),m=d(void 0),h=d(void 0),v=d(void 0),y=d(void 0),b=d(void 0),S=d(void 0),C=g({email:[{type:`email`,message:o(`onboardingModule.account.validation.emailInvalid`),trigger:`change`}],firstName:[{required:!0,message:o(`onboardingModule.account.validation.firstNameRequired`),trigger:`change`}],lastName:[{required:!0,message:o(`onboardingModule.account.validation.lastNameRequired`),trigger:`change`}],username:[{required:!0,message:o(`onboardingModule.account.validation.usernameRequired`),trigger:`change`}],password:[{required:!0,message:o(`onboardingModule.account.validation.passwordRequired`),trigger:`change`}],confirmPassword:[{validator:(e,t,n)=>{t?t===l.password?n():n(Error(o(`onboardingModule.account.validation.passwordMismatch`))):n(Error(o(`onboardingModule.account.validation.confirmPasswordRequired`)))},trigger:`change`}]});return _(()=>l.password,()=>{l.confirmPassword&&m.value?.validateField(`confirmPassword`).catch(()=>{})}),r({validate:async()=>{if(!m.value)return!1;try{return await m.value.validate(),!0}catch{return!1}}}),(t,r)=>(u(),e(`div`,Ne,[x(p)?(u(),c(x(V),{key:0,type:`success`,title:x(o)(`onboardingModule.account.created`),closable:!1,"show-icon":``,class:`mb-4!`},null,8,[`title`])):(u(),e(O,{key:1},[s(x(V),{type:`info`,title:x(o)(`onboardingModule.account.description`),closable:!1,"show-icon":``,class:`mb-6!`},null,8,[`title`]),s(x(B),{ref_key:`formEl`,ref:m,model:x(l),rules:C,"label-position":`top`,"status-icon":``},{default:T(()=>[n(`div`,Pe,[s(x(z),{label:x(o)(`onboardingModule.account.fields.firstName`),prop:`firstName`,class:`flex-1`},{default:T(()=>[s(x(P),{modelValue:x(l).firstName,"onUpdate:modelValue":r[0]||=e=>x(l).firstName=e,placeholder:x(o)(`onboardingModule.account.placeholders.firstName`),name:`firstName`,onKeyup:r[1]||=E(e=>h.value?.focus(),[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),s(x(z),{label:x(o)(`onboardingModule.account.fields.lastName`),prop:`lastName`,class:`flex-1`},{default:T(()=>[s(x(P),{ref_key:`lastNameInputEl`,ref:h,modelValue:x(l).lastName,"onUpdate:modelValue":r[2]||=e=>x(l).lastName=e,placeholder:x(o)(`onboardingModule.account.placeholders.lastName`),name:`lastName`,onKeyup:r[3]||=E(e=>v.value?.focus(),[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),s(x(z),{label:x(o)(`onboardingModule.account.fields.email`),prop:`email`},{default:T(()=>[s(x(P),{ref_key:`emailInputEl`,ref:v,modelValue:x(l).email,"onUpdate:modelValue":r[4]||=e=>x(l).email=e,placeholder:x(o)(`onboardingModule.account.placeholders.email`),name:`email`,type:`email`,onKeyup:r[5]||=E(e=>y.value?.focus(),[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),s(x(z),{label:x(o)(`onboardingModule.account.fields.username`),prop:`username`},{default:T(()=>[s(x(P),{ref_key:`usernameInputEl`,ref:y,modelValue:x(l).username,"onUpdate:modelValue":r[6]||=e=>x(l).username=e,placeholder:x(o)(`onboardingModule.account.placeholders.username`),name:`username`,onKeyup:r[7]||=E(e=>b.value?.focus(),[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),s(x(z),{label:x(o)(`onboardingModule.account.fields.password`),prop:`password`},{default:T(()=>[s(x(P),{ref_key:`passwordInputEl`,ref:b,modelValue:x(l).password,"onUpdate:modelValue":r[8]||=e=>x(l).password=e,placeholder:x(o)(`onboardingModule.account.placeholders.password`),name:`password`,type:`password`,"show-password":``,onKeyup:r[9]||=E(e=>S.value?.focus(),[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),s(x(z),{label:x(o)(`onboardingModule.account.fields.confirmPassword`),prop:`confirmPassword`},{default:T(()=>[s(x(P),{ref_key:`confirmPasswordInputEl`,ref:S,modelValue:x(l).confirmPassword,"onUpdate:modelValue":r[10]||=e=>x(l).confirmPassword=e,placeholder:x(o)(`onboardingModule.account.placeholders.confirmPassword`),name:`confirmPassword`,type:`password`,"show-password":``,onKeyup:r[11]||=E(e=>a(`submit`),[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`])],64))]))}}),Ie={class:`py-4 px-4 max-w-lg mx-auto`},Le={class:`flex flex-row items-center gap-2 w-full`},Re={class:`flex flex-col py-1`},ze={class:`font-medium`},Be={class:`text-xs text-gray-500`},Ve={class:`ml-2 text-gray-400`},He={class:`flex flex-row flex-nowrap gap-5`},Ue={style:{height:`30vh`,width:`100%`}},We=l({name:`StepLocation`,__name:`step-location`,setup(i){let{t:a}=f(),l=L(),{locationData:p}=J(),{searchCities:h,isSearching:g}=ae(),v=d(void 0),y=d(``),b=d(!1),D=d(10),O=d([50.083328,14.46667]),A=d(null),j=e=>{if(e==null||e===``)return!1;let t=Number(e);return!isNaN(t)&&isFinite(t)},M=(e,t,n)=>{A.value=[e,t],O.value=[e,t],n!==void 0&&(D.value=n)},ee=r({get:()=>p.latitude===null?``:String(p.latitude),set:e=>{if(p.city=``,e===``){p.latitude=null;return}let t=Number(e);p.latitude=isNaN(t)?null:t}}),F=r({get:()=>p.longitude===null?``:String(p.longitude),set:e=>{if(p.city=``,e===``){p.longitude=null;return}let t=Number(e);p.longitude=isNaN(t)?null:t}}),te=(e,t)=>{if(!e||e.length<2){t([]);return}h(e).then(e=>{t(e.map(e=>({...e,value:`${e.name}${e.state?`, ${e.state}`:``}, ${e.country}`})))}).catch(()=>{t([])})},I=e=>{let t=e;p.city=t.name,p.latitude=t.lat,p.longitude=t.lon,y.value=``,M(t.lat,t.lon,12)},R=e=>{let{lat:t,lng:n}=e.latlng;p.city=``,p.latitude=t,p.longitude=n,A.value=[t,n]},ne=e=>{let{lat:t,lng:n}=e.target.getLatLng();p.city=``,p.latitude=t,p.longitude=n,A.value=[t,n]},W=()=>{if(!navigator.geolocation){l.error(a(`onboardingModule.location.messages.geolocationNotSupported`));return}b.value=!0,navigator.geolocation.getCurrentPosition(e=>{let t=e.coords.latitude,n=e.coords.longitude;p.city=``,p.latitude=t,p.longitude=n,M(t,n,12),b.value=!1},e=>{switch(b.value=!1,e.code){case e.PERMISSION_DENIED:l.error(a(`onboardingModule.location.messages.geolocationDenied`));break;case e.POSITION_UNAVAILABLE:l.error(a(`onboardingModule.location.messages.geolocationUnavailable`));break;case e.TIMEOUT:l.error(a(`onboardingModule.location.messages.geolocationTimeout`));break;default:l.error(a(`onboardingModule.location.messages.geolocationError`))}},{enableHighAccuracy:!0,timeout:1e4,maximumAge:0})};return m(()=>{j(p.latitude)&&j(p.longitude)&&M(Number(p.latitude),Number(p.longitude),18)}),_(()=>[p.latitude,p.longitude],([e,t])=>{if(j(e)&&j(t)){let n=Number(e),r=Number(t);A.value=[n,r],O.value=[n,r]}}),(r,i)=>(u(),e(`div`,Ie,[s(x(V),{type:`info`,title:x(a)(`onboardingModule.location.description`),closable:!1,"show-icon":``,class:`mb-4!`},null,8,[`title`]),s(x(B),{"label-position":`top`,onSubmit:i[4]||=k(()=>{},[`prevent`])},{default:T(()=>[s(x(z),{label:x(a)(`onboardingModule.location.fields.citySearch`)},{default:T(()=>[n(`div`,Le,[s(x(U),{modelValue:y.value,"onUpdate:modelValue":i[0]||=e=>y.value=e,"fetch-suggestions":te,placeholder:x(a)(`onboardingModule.location.placeholders.citySearch`),loading:x(g),debounce:500,clearable:``,class:`flex-1`,onSelect:I},{default:T(({item:e})=>[n(`div`,Re,[n(`span`,ze,w(e.name),1),n(`span`,Be,[o(w(e.state?`${e.state}, `:``)+w(e.country)+` `,1),n(`span`,Ve,`(`+w(e.lat.toFixed(4))+`, `+w(e.lon.toFixed(4))+`)`,1)])])]),_:1},8,[`modelValue`,`placeholder`,`loading`]),s(x(S),{loading:b.value,class:`px-2!`,onClick:W},{icon:T(()=>[s(x(t),{icon:`mdi:map-marker-account-outline`})]),default:T(()=>[o(` `+w(x(a)(`onboardingModule.location.buttons.myLocation`)),1)]),_:1},8,[`loading`])])]),_:1},8,[`label`]),s(x(N),{"content-position":`left`},{default:T(()=>[o(w(x(a)(`onboardingModule.location.orEnterManually`)),1)]),_:1}),n(`div`,He,[s(x(z),{label:x(a)(`onboardingModule.location.fields.latitude`),class:`flex-1`},{default:T(()=>[s(x(P),{modelValue:ee.value,"onUpdate:modelValue":i[1]||=e=>ee.value=e,placeholder:x(a)(`onboardingModule.location.placeholders.latitude`),name:`latitude`,type:`number`,step:`0.0001`,onKeyup:i[2]||=E(e=>v.value?.focus(),[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),s(x(z),{label:x(a)(`onboardingModule.location.fields.longitude`),class:`flex-1`},{default:T(()=>[s(x(P),{ref_key:`longitudeInputEl`,ref:v,modelValue:F.value,"onUpdate:modelValue":i[3]||=e=>F.value=e,placeholder:x(a)(`onboardingModule.location.placeholders.longitude`),name:`longitude`,type:`number`,step:`0.0001`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])])]),_:1}),n(`div`,Ue,[s(x(re),{zoom:D.value,"onUpdate:zoom":i[5]||=e=>D.value=e,"use-global-leaflet":!1,center:O.value,onClick:R},{default:T(()=>[s(x(H),{url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`}),A.value?(u(),c(x(ie),{key:0,"lat-lng":A.value,draggable:!0,onMoveend:ne},null,8,[`lat-lng`])):C(``,!0)]),_:1},8,[`zoom`,`center`])]),s(x(V),{type:`info`,title:x(a)(`onboardingModule.location.hint`),closable:!1,"show-icon":``,class:`mt-4!`},null,8,[`title`])]))}}),Ge={class:`py-4 px-4 max-w-lg mx-auto`},Ke={class:`mb-4`},qe={class:`text-sm font-medium mb-2`},Je={class:`flex flex-wrap gap-2`},Ye={class:`flex flex-row items-end gap-2 mb-4`},Xe={key:0,class:`border border-gray-200 rounded-lg overflow-hidden`},Ze={class:`text-sm font-medium px-3 py-2 bg-gray-50 border-b border-gray-200`},Qe={class:`divide-y divide-gray-200`},$e={class:`flex items-center gap-2`},et={key:0,class:`flex items-center gap-2 mb-3`},tt={class:`text-sm text-gray-500`},nt={key:1,class:`border border-gray-200 rounded-lg overflow-hidden mb-3`},rt={class:`text-sm font-medium px-3 py-2 bg-orange-50 border-b border-gray-200 flex items-center gap-2`},it={class:`divide-y divide-gray-200`},at={class:`flex-1 min-w-0 overflow-hidden`},ot={class:`text-sm truncate`},st={class:`text-xs text-gray-400 truncate`},ct={key:2,class:`border border-gray-200 rounded-lg overflow-hidden mb-3`},lt={class:`text-sm font-medium px-3 py-2 bg-green-50 border-b border-gray-200 flex items-center gap-2`},ut={class:`divide-y divide-gray-200`},dt={class:`flex-1 min-w-0 overflow-hidden`},ft={class:`text-sm truncate`},pt={class:`text-xs text-gray-400 truncate`},mt=l({name:`StepSpaces`,__name:`step-spaces`,setup(i){let{t:a}=f(),{spacesToCreate:l,dismissedSpaces:p,discoveredDevices:m,deviceAssignments:g,accountCreated:_,fetchDevices:v,suggestSpacesFromDevices:b}=J(),D=d(``),k=d([]),A=d(``),j={air_conditioner:`mdi:air-conditioner`,air_dehumidifier:`mdi:air-humidifier-off`,air_humidifier:`mdi:air-humidifier`,air_purifier:`mdi:air-purifier`,alarm:`mdi:alarm-light`,av_receiver:`mdi:audio-video`,camera:`mdi:cctv`,door:`mdi:door`,doorbell:`mdi:doorbell`,fan:`mdi:fan`,game_console:`mdi:controller`,heating_unit:`mdi:radiator`,lighting:`mdi:lightbulb`,lock:`mdi:lock`,media:`mdi:play-circle`,outlet:`mdi:power-socket-eu`,projector:`mdi:projector`,pump:`mdi:pump`,robot_vacuum:`mdi:robot-vacuum`,sensor:`mdi:thermometer`,set_top_box:`mdi:set-top-box`,speaker:`mdi:speaker`,sprinkler:`mdi:sprinkler`,streaming_service:`mdi:cast`,switcher:`mdi:toggle-switch`,television:`mdi:television`,thermostat:`mdi:thermostat`,valve:`mdi:valve`,water_heater:`mdi:water-boiler`,window_covering:`mdi:blinds`},ee=e=>j[e]??`mdi:devices`,F=e=>e.replace(/-/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),te=he.filter(e=>e.category!==null&&e.i18nKey!==null).map(e=>({value:e.category,label:a(`onboardingModule.spaces.categories.${e.i18nKey}`),icon:e.icon})),I=e=>te.find(t=>t.value===e),L=e=>{let t=I(e);return l.some(n=>n.category===e||t&&n.name.toLowerCase()===t.label.toLowerCase())},ne=e=>{let t=I(e),n=l.findIndex(n=>n.category===e||t&&n.name.toLowerCase()===t.label.toLowerCase());if(n>=0){let e=l[n].name;l.splice(n,1),p.add(e.toLowerCase()),U(e)}else{let n=t?.label??e;p.delete(n.toLowerCase()),l.push({name:n,category:e,icon:t?.icon??`mdi:home`})}},B=()=>{let e=D.value.trim();e&&(p.delete(e.toLowerCase()),l.push({name:e,category:null,icon:null}),D.value=``)},H=e=>{let t=l[e].name;l.splice(e,1),p.add(t.toLowerCase()),U(t)},U=e=>{for(let t of Object.keys(g))g[t]===e&&(g[t]=null);A.value===e&&(A.value=``)},re=e=>Object.entries(g).filter(([,t])=>t===e).map(([e])=>e),ie=r(()=>m.filter(e=>!g[e.id])),W=r(()=>m.filter(e=>!!g[e.id])),ae=(e,t)=>{g[e]=t},K=e=>{let t=k.value.indexOf(e);t>=0?k.value.splice(t,1):k.value.push(e)},ce=()=>{if(A.value){for(let e of k.value)g[e]=A.value;k.value=[],A.value=``}};return h(async()=>{_.value&&await v()&&m.length>0&&b()}),(r,i)=>(u(),e(`div`,Ge,[s(x(V),{type:`info`,title:x(a)(`onboardingModule.spaces.description`),closable:!1,"show-icon":``,class:`mb-4!`},null,8,[`title`]),n(`div`,Ke,[n(`div`,qe,w(x(a)(`onboardingModule.spaces.quickAdd`)),1),n(`div`,Je,[(u(!0),e(O,null,y(x(te),e=>(u(),c(x(S),{key:e.value,size:`small`,type:L(e.value)?`primary`:`default`,plain:L(e.value),onClick:t=>ne(e.value)},{icon:T(()=>[s(x(t),{icon:e.icon},null,8,[`icon`])]),default:T(()=>[o(` `+w(e.label),1)]),_:2},1032,[`type`,`plain`,`onClick`]))),128))])]),s(x(N),{"content-position":`left`},{default:T(()=>[o(w(x(a)(`onboardingModule.spaces.orAddCustom`)),1)]),_:1}),n(`div`,Ye,[s(x(z),{label:x(a)(`onboardingModule.spaces.fields.name`),class:`flex-1 mb-0!`},{default:T(()=>[s(x(P),{modelValue:D.value,"onUpdate:modelValue":i[0]||=e=>D.value=e,placeholder:x(a)(`onboardingModule.spaces.placeholders.name`),onKeyup:E(B,[`enter`])},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),s(x(S),{type:`primary`,disabled:!D.value.trim(),onClick:B},{default:T(()=>[o(w(x(a)(`onboardingModule.spaces.buttons.add`)),1)]),_:1},8,[`disabled`])]),x(l).length>0?(u(),e(`div`,Xe,[n(`div`,Ze,w(x(a)(`onboardingModule.spaces.roomsToCreate`,{count:x(l).length})),1),n(`div`,Qe,[(u(!0),e(O,null,y(x(l),(r,i)=>(u(),e(`div`,{key:i,class:`flex items-center justify-between px-3 py-2`},[n(`div`,$e,[r.icon?(u(),c(x(t),{key:0,icon:r.icon,class:`text-gray-500`},null,8,[`icon`])):C(``,!0),n(`span`,null,w(r.name),1),r.category?(u(),c(x(R),{key:1,size:`small`,type:`info`},{default:T(()=>[o(w(r.category),1)]),_:2},1024)):C(``,!0),re(r.name).length>0?(u(),c(x(R),{key:2,size:`small`,type:`success`},{default:T(()=>[o(w(re(r.name).length)+` `+w(x(a)(`onboardingModule.spaces.devices.count`)),1)]),_:2},1024)):C(``,!0)]),s(x(S),{text:``,type:`danger`,size:`small`,onClick:e=>H(i)},{icon:T(()=>[s(x(t),{icon:`mdi:close`})]),_:1},8,[`onClick`])]))),128))])])):C(``,!0),x(m).length>0?(u(),e(O,{key:1},[s(x(N),{"content-position":`left`},{default:T(()=>[o(w(x(a)(`onboardingModule.spaces.devices.title`)),1)]),_:1}),k.value.length>0?(u(),e(`div`,et,[n(`span`,tt,w(x(a)(`onboardingModule.spaces.devices.selected`,{count:k.value.length})),1),s(x(oe),{modelValue:A.value,"onUpdate:modelValue":i[1]||=e=>A.value=e,placeholder:x(a)(`onboardingModule.spaces.devices.assignTo`),size:`small`,clearable:``,class:`w-48`},{default:T(()=>[(u(!0),e(O,null,y(x(l),e=>(u(),c(x(G),{key:e.name,label:e.name,value:e.name},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`]),s(x(S),{size:`small`,type:`primary`,disabled:!A.value,onClick:ce},{default:T(()=>[o(w(x(a)(`onboardingModule.spaces.devices.assign`)),1)]),_:1},8,[`disabled`]),s(x(S),{size:`small`,onClick:i[2]||=e=>k.value=[]},{default:T(()=>[o(w(x(a)(`onboardingModule.spaces.devices.clearSelection`)),1)]),_:1})])):C(``,!0),ie.value.length>0?(u(),e(`div`,nt,[n(`div`,rt,[s(x(t),{icon:`mdi:help-circle-outline`,class:`text-orange-500`}),o(` `+w(x(a)(`onboardingModule.spaces.devices.unassigned`,{count:ie.value.length})),1)]),s(x(M),{"max-height":`30vh`},{default:T(()=>[n(`div`,it,[(u(!0),e(O,null,y(ie.value,r=>(u(),e(`div`,{key:r.id,class:`flex items-center gap-3 px-3 py-2`},[s(x(se),{"model-value":k.value.includes(r.id),onChange:e=>K(r.id)},null,8,[`model-value`,`onChange`]),s(x(t),{icon:ee(r.category),class:`text-gray-400 shrink-0 text-lg`},null,8,[`icon`]),n(`div`,at,[n(`div`,ot,w(r.name),1),n(`div`,st,[n(`span`,null,w(F(r.type)),1),r.description?(u(),e(O,{key:0},[o(` · `+w(r.description),1)],64)):C(``,!0)])]),s(x(oe),{"model-value":x(g)[r.id]??``,placeholder:x(a)(`onboardingModule.spaces.devices.selectSpace`),size:`small`,clearable:``,class:`w-36! shrink-0`,"onUpdate:modelValue":e=>ae(r.id,e||null)},{default:T(()=>[(u(!0),e(O,null,y(x(l),e=>(u(),c(x(G),{key:e.name,label:e.name,value:e.name},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]))),128))])]),_:1})])):C(``,!0),W.value.length>0?(u(),e(`div`,ct,[n(`div`,lt,[s(x(t),{icon:`mdi:check-circle-outline`,class:`text-green-500`}),o(` `+w(x(a)(`onboardingModule.spaces.devices.assigned`,{count:W.value.length})),1)]),s(x(M),{"max-height":`30vh`},{default:T(()=>[n(`div`,ut,[(u(!0),e(O,null,y(W.value,r=>(u(),e(`div`,{key:r.id,class:`flex items-center gap-3 px-3 py-2`},[s(x(se),{"model-value":k.value.includes(r.id),onChange:e=>K(r.id)},null,8,[`model-value`,`onChange`]),s(x(t),{icon:ee(r.category),class:`text-gray-400 shrink-0 text-lg`},null,8,[`icon`]),n(`div`,dt,[n(`div`,ft,w(r.name),1),n(`div`,pt,[n(`span`,null,w(F(r.type)),1),r.description?(u(),e(O,{key:0},[o(` · `+w(r.description),1)],64)):C(``,!0)])]),s(x(oe),{"model-value":x(g)[r.id]??``,placeholder:x(a)(`onboardingModule.spaces.devices.selectSpace`),size:`small`,clearable:``,class:`w-36! shrink-0`,"onUpdate:modelValue":e=>ae(r.id,e||null)},{default:T(()=>[(u(!0),e(O,null,y(x(l),e=>(u(),c(x(G),{key:e.name,label:e.name,value:e.name},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]))),128))])]),_:1})])):C(``,!0)],64)):C(``,!0),s(x(V),{type:`info`,title:x(a)(`onboardingModule.spaces.hint`),closable:!1,"show-icon":``,class:`mt-4!`},null,8,[`title`])]))}}),ht={class:`py-4 px-4 max-w-lg mx-auto`},gt={class:`flex flex-col gap-3`},_t={class:`flex items-center gap-4 p-3`},vt={class:`flex-1 min-w-0`},yt={class:`font-medium`},bt={key:0,class:`text-xs text-gray-500 truncate`},xt={key:0,class:`border-t border-primary/20 px-3 py-2 flex items-center justify-between gap-2`},St={class:`flex items-center gap-2 text-xs min-w-0`},Ct={class:`text-gray-500`},wt={key:0,class:`text-gray-400 ml-1`},Tt={class:`text-green-600`},Et={class:`text-gray-500`},Dt={class:`text-gray-500`},Ot={key:1,class:`border-t border-orange-200 bg-orange-50 px-3 py-2 flex items-center gap-2`},kt={class:`text-xs text-orange-600`},At={key:0,class:`text-center text-gray-400 py-4`},jt={key:0,class:`mt-4 p-3 rounded-lg bg-primary/5 border border-primary/20 flex items-center gap-3`},Mt={class:`text-sm text-gray-600`},Nt={key:0,class:`text-sm text-green-600 ml-auto`},Pt=2e3,Ft=3e4,It=1e3,Lt=l({name:`StepIntegrations`,__name:`step-integrations`,setup(l){let{t:h}=f(),_=ne(),b=_.getStore(A),E=_.getStore(pe),D=_.getStore(ee),{getByName:k}=ue(),{getByPluginType:N}=me(),P=d(!1),I=g(new Set),L=g(new Set),R=g(new Set),z=g(new Set),B=g({}),H=d(!1),U=d(``),re=d(``),ie={"devices-home-assistant-plugin":!0,"devices-zigbee2mqtt-plugin":!0,[W]:!0},ae={"devices-home-assistant-plugin":`mdi:home-assistant`,[W]:`mdi:home-automation`,"devices-shelly-v1-plugin":`mdi:chip`,"devices-shelly-ng-plugin":`mdi:chip`,"devices-zigbee2mqtt-plugin":`mdi:zigbee`,"devices-wled-plugin":`mdi:led-strip-variant`,"devices-third-party-plugin":`mdi:api`,"simulator-plugin":`mdi:test-tube`},oe=e=>ae[e]??`mdi:puzzle`,G=r(()=>Object.values(b.data).filter(e=>e.kind===F.plugin&&(e.type.startsWith(`devices-`)||e.type===`simulator-plugin`)).sort((e,t)=>e.name.localeCompare(t.name))),K=r(()=>G.value.filter(e=>e.enabled).length),se=e=>(N(e)?.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`devices-module`)).map(e=>e.type),ce=r(()=>{let e=E.findAll(),t={};for(let n of G.value)if(n.enabled){let r=se(n.type);t[n.type]=e.filter(e=>r.includes(e.type)).length}return t}),q=r(()=>Object.values(ce.value).reduce((e,t)=>e+t,0)),J=e=>I.has(e),Y=e=>L.has(e),he=e=>R.has(e),_e=e=>ce.value[e]??0,ve=e=>{let t=k(e);return t?!!(t.elements?.find(e=>e.type===de))?.components?.pluginConfigEditForm:!1},X=e=>!!ie[e],Z=e=>z.has(e),ye=(e,t)=>{U.value=e,re.value=t,H.value=!0},be=async()=>{let e=U.value;await De(e),!X(e)||Z(e)?Ce(e):Se(e)},Q=g({}),$=g({}),xe=e=>$[e]??0,Se=e=>{B[e]=(B[e]??0)+1,Q[e]&&(clearInterval(Q[e]),Q[e]=null),$[e]=0,L.delete(e),R.add(e)},Ce=async e=>{let t=(B[e]??0)+1;B[e]=t,L.add(e),R.delete(e);try{if(await new Promise(e=>setTimeout(e,Pt)),B[e]!==t)return;await E.fetch()}catch{}B[e]===t&&(Q[e]&&(clearInterval(Q[e]),Q[e]=null),$[e]=Math.round(Ft/1e3),Q[e]=setInterval(()=>{if(B[e]!==t){Q[e]&&(clearInterval(Q[e]),Q[e]=null);return}$[e]=Math.max(0,($[e]??0)-1),$[e]<=0&&Se(e)},It))},we=[ge],Te=async e=>{if(we.includes(e))return;let t=[];try{t=await E.fetch({hidden:te.all})}catch{t=E.findAll()}let n=se(e),r=t.filter(e=>n.includes(e.type));for(let e of r)try{E.set({id:e.id,data:e}),await E.remove({id:e.id})}catch{}},Ee=async(e,t)=>{I.add(e);try{await b.update({type:e,data:{enabled:t}}),t?(await De(e),(!X(e)||Z(e))&&Ce(e)):(B[e]=0,L.delete(e),R.delete(e),z.delete(e),Q[e]&&(clearInterval(Q[e]),Q[e]=null),$[e]=0,await Te(e))}catch{}finally{I.delete(e)}},De=async e=>{try{let t=await D.get({type:e});if(t){if(e===`devices-homey-plugin`){let n=t;typeof n.url==`string`&&n.url.trim().length>0&&n.apiKeyConfigured===!0?z.add(e):z.delete(e);return}Object.entries(t).filter(([e,t])=>e!==`type`&&e!==`enabled`&&t!==null&&t!==``).length>0?z.add(e):z.delete(e)}else z.delete(e)}catch{z.delete(e)}},Oe=async()=>{for(let e of G.value)e.enabled&&(await De(e.type),(!X(e.type)||Z(e.type))&&Ce(e.type))};return m(async()=>{P.value=!0;try{await b.fetch()}catch{}finally{P.value=!1}await Oe()}),i(()=>{for(let e of Object.keys(Q))Q[e]&&(clearInterval(Q[e]),Q[e]=null);for(let e of Object.keys(B))B[e]=0}),(r,i)=>(u(),e(`div`,ht,[s(x(V),{type:`info`,title:x(h)(`onboardingModule.integrations.description`),closable:!1,"show-icon":``,class:`mb-4!`},null,8,[`title`]),s(x(M),{"max-height":`40vh`},{default:T(()=>[v((u(),e(`div`,gt,[(u(!0),e(O,null,y(G.value,r=>(u(),e(`div`,{key:r.type,class:p([`rounded-lg border transition-all duration-300`,r.enabled?`border-primary bg-primary/5`:`border-gray-200`])},[n(`div`,_t,[s(x(a),{size:32,class:p([`shrink-0`,r.enabled?`text-primary`:`text-gray-400`])},{default:T(()=>[s(x(t),{icon:oe(r.type)},null,8,[`icon`])]),_:2},1032,[`class`]),n(`div`,vt,[n(`div`,yt,w(r.name),1),r.description?(u(),e(`div`,bt,w(r.description),1)):C(``,!0)]),s(x(j),{"model-value":r.enabled,disabled:!r.canToggleEnabled||J(r.type),loading:J(r.type),"onUpdate:modelValue":e=>Ee(r.type,!!e)},null,8,[`model-value`,`disabled`,`loading`,`onUpdate:modelValue`])]),r.enabled?(u(),e(`div`,xt,[n(`div`,St,[Y(r.type)?(u(),e(O,{key:0},[s(x(a),{size:14,class:`text-primary is-loading`},{default:T(()=>[s(x(t),{icon:`mdi:loading`})]),_:1}),n(`span`,Ct,[o(w(x(h)(`onboardingModule.integrations.searching`))+` `,1),xe(r.type)>0?(u(),e(`span`,wt,` (`+w(xe(r.type))+`s) `,1)):C(``,!0)]),s(x(S),{size:`small`,text:``,type:`info`,class:`ml-auto!`,onClick:e=>Se(r.type)},{default:T(()=>[o(w(x(h)(`onboardingModule.integrations.stopScan`)),1)]),_:1},8,[`onClick`])],64)):_e(r.type)>0?(u(),e(O,{key:1},[s(x(a),{size:14,class:`text-green-500`},{default:T(()=>[s(x(t),{icon:`mdi:check-circle`})]),_:1}),n(`span`,Tt,w(x(h)(`onboardingModule.integrations.devicesFound`,{count:_e(r.type)})),1)],64)):he(r.type)?(u(),e(O,{key:2},[s(x(a),{size:14,class:`text-gray-400`},{default:T(()=>[s(x(t),{icon:`mdi:information-outline`})]),_:1}),n(`span`,Et,w(ve(r.type)?x(h)(`onboardingModule.integrations.noDevicesYet`):x(h)(`onboardingModule.integrations.noDevicesFound`)),1)],64)):(u(),e(O,{key:3},[s(x(a),{size:14,class:`text-blue-400`},{default:T(()=>[s(x(t),{icon:`mdi:power-plug-outline`})]),_:1}),n(`span`,Dt,w(x(h)(`onboardingModule.integrations.enabled`)),1)],64))]),ve(r.type)?(u(),c(x(S),{key:0,size:`small`,text:``,type:`primary`,onClick:e=>ye(r.type,r.name)},{default:T(()=>[s(x(a),{size:14,class:`mr-1`},{default:T(()=>[s(x(t),{icon:`mdi:cog-outline`})]),_:1}),o(` `+w(x(h)(`onboardingModule.integrations.configure`)),1)]),_:1},8,[`onClick`])):C(``,!0)])):C(``,!0),r.enabled&&X(r.type)&&!Z(r.type)?(u(),e(`div`,Ot,[s(x(a),{size:14,class:`text-orange-500`},{default:T(()=>[s(x(t),{icon:`mdi:alert-circle-outline`})]),_:1}),n(`span`,kt,w(x(h)(`onboardingModule.integrations.configRequired`)),1),s(x(S),{size:`small`,text:``,type:`warning`,onClick:e=>ye(r.type,r.name)},{default:T(()=>[o(w(x(h)(`onboardingModule.integrations.setupNow`)),1)]),_:1},8,[`onClick`])])):C(``,!0)],2))),128)),G.value.length===0&&!P.value?(u(),e(`div`,At,w(x(h)(`onboardingModule.integrations.noPlugins`)),1)):C(``,!0)])),[[x(le),P.value]])]),_:1}),K.value>0?(u(),e(`div`,jt,[s(x(a),{size:20,class:`text-primary shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:check-decagram`})]),_:1}),n(`span`,Mt,w(x(h)(`onboardingModule.integrations.summary`,{count:K.value})),1),q.value>0?(u(),e(`span`,Nt,w(x(h)(`onboardingModule.integrations.totalDevices`,{count:q.value})),1)):C(``,!0)])):C(``,!0),s(x(V),{type:`info`,title:x(h)(`onboardingModule.integrations.hint`),closable:!1,"show-icon":``,class:`mt-4!`},null,8,[`title`]),s(fe,{visible:H.value,"onUpdate:visible":i[0]||=e=>H.value=e,"plugin-type":U.value,"plugin-name":re.value,onSaved:be},null,8,[`visible`,`plugin-type`,`plugin-name`])]))}}),Rt={class:`flex flex-col items-center text-center py-8 px-4`},zt={class:`text-2xl font-bold mb-4`},Bt={class:`flex flex-col gap-3 max-w-sm w-full`},Vt={class:`flex items-center gap-3 p-3 rounded-lg bg-green-50`},Ht={key:0,class:`flex items-center gap-3 p-3 rounded-lg bg-green-50`},Ut={key:1,class:`flex items-center gap-3 p-3 rounded-lg bg-gray-50`},Wt={class:`text-gray-400`},Gt={key:2,class:`flex items-center gap-3 p-3 rounded-lg bg-green-50`},Kt={key:3,class:`flex items-center gap-3 p-3 rounded-lg bg-gray-50`},qt={class:`text-gray-400`},Jt={key:4,class:`flex items-center gap-3 p-3 rounded-lg bg-green-50`},Yt={key:5,class:`flex items-center gap-3 p-3 rounded-lg bg-gray-50`},Xt={class:`text-gray-400`},Zt={key:6,class:`flex items-center gap-3 p-3 rounded-lg bg-green-50`},Qt={key:7,class:`flex items-center gap-3 p-3 rounded-lg bg-gray-50`},$t={class:`text-gray-400`},en=l({name:`StepComplete`,__name:`step-complete`,props:{locationConfigured:{type:Boolean}},setup(i){let{t:o}=f(),c=ne().getStore(A),{spacesToCreate:l,savedSpacesCount:d,discoveredDevices:p,deviceAssignments:m}=J(),h=r(()=>d.value+l.length),g=r(()=>Object.values(m).filter(e=>e!==null).length),_=r(()=>Object.values(c.data).filter(e=>e.kind===F.plugin&&e.type.startsWith(`devices-`)&&e.enabled).length);return(r,c)=>(u(),e(`div`,Rt,[s(x(a),{size:80,class:`mb-6 text-green-500`},{default:T(()=>[s(x(t),{icon:`mdi:check-circle-outline`})]),_:1}),n(`h2`,zt,w(x(o)(`onboardingModule.complete.title`)),1),s(x(V),{type:`info`,title:x(o)(`onboardingModule.complete.description`),closable:!1,"show-icon":``,class:`mb-8! max-w-md`},null,8,[`title`]),n(`div`,Bt,[n(`div`,Vt,[s(x(a),{size:20,class:`text-green-500 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:check`})]),_:1}),n(`span`,null,w(x(o)(`onboardingModule.complete.summary.accountCreated`)),1)]),i.locationConfigured?(u(),e(`div`,Ht,[s(x(a),{size:20,class:`text-green-500 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:check`})]),_:1}),n(`span`,null,w(x(o)(`onboardingModule.complete.summary.locationConfigured`)),1)])):(u(),e(`div`,Ut,[s(x(a),{size:20,class:`text-gray-400 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:minus`})]),_:1}),n(`span`,Wt,w(x(o)(`onboardingModule.complete.summary.locationSkipped`)),1)])),h.value>0?(u(),e(`div`,Gt,[s(x(a),{size:20,class:`text-green-500 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:check`})]),_:1}),n(`span`,null,w(x(o)(`onboardingModule.complete.summary.spacesCreated`,{count:h.value})),1)])):(u(),e(`div`,Kt,[s(x(a),{size:20,class:`text-gray-400 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:minus`})]),_:1}),n(`span`,qt,w(x(o)(`onboardingModule.complete.summary.spacesSkipped`)),1)])),g.value>0?(u(),e(`div`,Jt,[s(x(a),{size:20,class:`text-green-500 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:check`})]),_:1}),n(`span`,null,w(x(o)(`onboardingModule.complete.summary.devicesAssigned`,{count:g.value})),1)])):x(p).length>0?(u(),e(`div`,Yt,[s(x(a),{size:20,class:`text-gray-400 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:minus`})]),_:1}),n(`span`,Xt,w(x(o)(`onboardingModule.complete.summary.devicesSkipped`)),1)])):C(``,!0),_.value>0?(u(),e(`div`,Zt,[s(x(a),{size:20,class:`text-green-500 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:check`})]),_:1}),n(`span`,null,w(x(o)(`onboardingModule.complete.summary.integrationsEnabled`,{count:_.value})),1)])):(u(),e(`div`,Qt,[s(x(a),{size:20,class:`text-gray-400 shrink-0`},{default:T(()=>[s(x(t),{icon:`mdi:minus`})]),_:1}),n(`span`,$t,w(x(o)(`onboardingModule.complete.summary.integrationsSkipped`)),1)]))])]))}}),tn={class:`fixed inset-0 flex items-center justify-center bg-[var(--el-bg-color-page)] p-4`},nn={class:`flex flex-col items-center gap-4`},rn={class:`text-lg font-semibold m-0`},an={class:`flex justify-between`},on={key:1},sn={class:`flex gap-2`},cn=l({name:`ViewOnboarding`,__name:`view-onboarding`,setup(t){let{t:r}=f(),i=D(),a=L(),l=d(null),{currentStep:p,isLoading:m,accountCreated:h,hasLocationData:g,locationData:_,isLastStep:y,nextStep:E,prevStep:O,createAccount:k,completeOnboarding:A,reset:j}=J(),M=async()=>{if(h.value){E();return}l.value&&await l.value.validate()&&await k()&&(a.success(r(`onboardingModule.account.messages.created`)),E())},N=async()=>{await A()&&(a.success(r(`onboardingModule.complete.messages.finished`)),await i.push({name:b.ROOT}),j())};return(t,i)=>(u(),e(`div`,tn,[s(x(K),{shadow:`always`,class:`w-full max-w-2xl max-h-full flex flex-col overflow-hidden`,"body-class":`p-0! flex-1 overflow-auto`},{header:T(()=>[n(`div`,nn,[n(`h1`,rn,w(x(r)(`onboardingModule.wizard.title`)),1),s(x(ce),{active:x(p),"finish-status":`success`,"align-center":``,class:`w-full`},{default:T(()=>[s(x(q),{title:x(r)(`onboardingModule.wizard.steps.welcome`)},null,8,[`title`]),s(x(q),{title:x(r)(`onboardingModule.wizard.steps.account`)},null,8,[`title`]),s(x(q),{title:x(r)(`onboardingModule.wizard.steps.location`)},null,8,[`title`]),s(x(q),{title:x(r)(`onboardingModule.wizard.steps.integrations`)},null,8,[`title`]),s(x(q),{title:x(r)(`onboardingModule.wizard.steps.spaces`)},null,8,[`title`]),s(x(q),{title:x(r)(`onboardingModule.wizard.steps.complete`)},null,8,[`title`])]),_:1},8,[`active`])])]),footer:T(()=>[n(`div`,an,[x(p)>x(Y).LOCATION?(u(),c(x(S),{key:0,onClick:x(O)},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.back`)),1)]),_:1},8,[`onClick`])):(u(),e(`div`,on)),n(`div`,sn,[x(p)===x(Y).LOCATION||x(p)===x(Y).SPACES||x(p)===x(Y).INTEGRATIONS?(u(),c(x(S),{key:0,onClick:x(E)},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.skip`)),1)]),_:1},8,[`onClick`])):C(``,!0),x(p)===x(Y).WELCOME?(u(),c(x(S),{key:1,type:`primary`,onClick:x(E)},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.getStarted`)),1)]),_:1},8,[`onClick`])):x(p)===x(Y).ACCOUNT?(u(),c(x(S),{key:2,type:`primary`,loading:x(m),onClick:M},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.next`)),1)]),_:1},8,[`loading`])):x(p)===x(Y).LOCATION?(u(),c(x(S),{key:3,type:`primary`,disabled:!x(_).city&&(x(_).latitude===null||x(_).longitude===null),onClick:x(E)},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.next`)),1)]),_:1},8,[`disabled`,`onClick`])):x(p)===x(Y).INTEGRATIONS?(u(),c(x(S),{key:4,type:`primary`,onClick:x(E)},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.next`)),1)]),_:1},8,[`onClick`])):x(p)===x(Y).SPACES?(u(),c(x(S),{key:5,type:`primary`,onClick:x(E)},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.next`)),1)]),_:1},8,[`onClick`])):x(y)?(u(),c(x(S),{key:6,type:`primary`,loading:x(m),onClick:N},{default:T(()=>[o(w(x(r)(`onboardingModule.wizard.buttons.finishSetup`)),1)]),_:1},8,[`loading`])):C(``,!0)])])]),default:T(()=>[v((u(),e(`div`,null,[x(p)===x(Y).WELCOME?(u(),c(x(Me),{key:0})):C(``,!0),x(p)===x(Y).ACCOUNT?(u(),c(x(Fe),{key:1,ref_key:`stepAccountEl`,ref:l,onSubmit:M},null,512)):C(``,!0),x(p)===x(Y).LOCATION?(u(),c(x(We),{key:2})):C(``,!0),x(p)===x(Y).INTEGRATIONS?(u(),c(x(Lt),{key:3})):C(``,!0),x(p)===x(Y).SPACES?(u(),c(x(mt),{key:4})):C(``,!0),x(p)===x(Y).COMPLETE?(u(),c(x(en),{key:5,"location-configured":x(g)},null,8,[`location-configured`])):C(``,!0)])),[[x(le),x(m)]])]),_:1})]))}});export{cn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,Sr as ee,T as te,Wr as d,Yr as f,_i as p,b as ne,ci as m,ii as h,ji as g,k as _,kr as v,ni as re,qi as y,ui as b,x,xr as S}from"./icon-with-child-CgZMNB3F.js";import{t as C}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{
|
|
1
|
+
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,Er as r,H as i,Mr as a,Nr as o,Or as s,Pr as c,Qr as l,Si as u,Sr as ee,T as te,Wr as d,Yr as f,_i as p,b as ne,ci as m,ii as h,ji as g,k as _,kr as v,ni as re,qi as y,ui as b,x,xr as S}from"./icon-with-child-CgZMNB3F.js";import{t as C}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{Dr as w,Er as T,Or as ie,Tr as ae,g as oe,h as se,jr as ce,p as le,vr as ue,yr as de}from"./common-DQQtAVrj.js";import{t as fe}from"./drawer-DBEDVZvF.js";import{t as pe}from"./useUuid-CXUYxryL.js";import{a as E,f as D}from"./keys-DgS2vm-E.js";import{n as me,r as he}from"./types-BFSU5l_h.js";import{t as ge}from"./usePage-Bclmn7x9.js";import{n as _e,t as ve}from"./list-data-sources-adjust-BHndxW4t.js";var ye={class:`uppercase`},O={class:`flex items-center`},k={key:3,class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},A={class:`flex flex-col h-full`},j=c({name:`ViewPage`,__name:`view-page`,props:{id:{},tileId:{},dataSourceId:{},elementType:{},elementId:{}},setup(c){let j=c,M=ne(),N=x(),{t:P}=te(),{meta:be}=C({}),xe=le(),{validate:Se}=pe(),{isMDDevice:F,isLGDevice:I}=de(),{page:L,fetchPage:Ce,isLoading:R}=ge({id:j.id}),z=u(!1),{dataSources:we,dataSourcesPaginated:Te,totalRows:Ee,filters:B,filtersActive:V,sortBy:H,sortDir:U,paginateSize:W,paginatePage:G,areLoading:De,fetchDataSources:Oe,resetFilter:ke}=he({parent:`page`,parentId:j.id}),Ae=me({parent:`page`,parentId:j.id});if(!Se(j.id))throw Error(`Page identifier is not valid`);let je=u(!1),K=u(!1),q=u(!1),J=u(!1),Y=r(()=>M.name===D.PAGE),Me=r(()=>[{label:P(`dashboardModule.breadcrumbs.pages.list`),route:N.resolve({name:D.PAGES})},{label:P(`dashboardModule.breadcrumbs.pages.detail`,{page:L.value?.title}),route:N.resolve({name:D.PAGE,params:{id:j.id}})}]),X=e=>{q.value?(K.value=!1,q.value=!1,e?.()):J.value?ce.confirm(P(`dashboardModule.texts.misc.confirmDiscard`),P(`dashboardModule.headings.misc.discard`),{confirmButtonText:P(`dashboardModule.buttons.yes.title`),cancelButtonText:P(`dashboardModule.buttons.no.title`),type:`warning`}).then(()=>{I.value?N.replace({name:D.PAGE,params:{id:j.id}}):N.push({name:D.PAGE,params:{id:j.id}}),e?.()}).catch(()=>{}):(I.value?N.replace({name:D.PAGE,params:{id:j.id}}):N.push({name:D.PAGE,params:{id:j.id}}),e?.())},Z=()=>{I.value?N.replace({name:D.PAGE_EDIT,params:{id:j.id}}):N.push({name:D.PAGE_EDIT,params:{id:j.id}})},Q=()=>{I.value?N.replace({name:D.PAGE_ADD_DATA_SOURCE,params:{id:j.id}}):N.push({name:D.PAGE_ADD_DATA_SOURCE,params:{id:j.id}})},Ne=e=>{I.value?N.replace({name:D.PAGE_EDIT_DATA_SOURCE,params:{id:j.id,dataSourceId:e}}):N.push({name:D.PAGE_EDIT_DATA_SOURCE,params:{id:j.id,dataSourceId:e}})},Pe=e=>{Ae.remove(e)},$=()=>{ke()},Fe=()=>{I.value?N.replace({name:D.PAGES}):N.push({name:D.PAGES})},Ie=()=>{K.value=!0,q.value=!0};return d(()=>{Ce().then(()=>{L.value!==null&&(z.value=!0),Oe().catch(e=>{throw new E(`Something went wrong`,e)})}).catch(e=>{throw new E(`Something went wrong`,e)}),K.value=M.matched.find(e=>e.name===D.PAGE_EDIT||e.name===D.PAGE_ADD_DATA_SOURCE||e.name===D.PAGE_EDIT_DATA_SOURCE)!==void 0}),f(()=>{je.value=!0}),m(()=>M.path,()=>{K.value=M.matched.find(e=>e.name===D.PAGE_EDIT||e.name===D.PAGE_ADD_DATA_SOURCE||e.name===D.PAGE_EDIT_DATA_SOURCE)!==void 0}),m(()=>R.value,e=>{if(!e&&L.value===null&&!z.value)throw new E(`Page not found`)}),m(()=>L.value,e=>{if(e!==null)z.value=!0,be.title=P(`dashboardModule.meta.pages.detail.title`,{page:L.value?.title});else if(z.value&&!R.value)xe.warning(P(`dashboardModule.messages.pages.deletedWhileEditing`),{duration:0}),I.value?N.replace({name:D.PAGES}):N.push({name:D.PAGES});else if(!R.value&&e===null&&!z.value)throw new E(`Page not found`)}),(r,c)=>{let u=re(`router-view`);return l(),e(S,null,[o(g(ue),{items:Me.value},null,8,[`items`]),!g(F)&&Y.value?(l(),s(g(ae),{key:0,teleport:``},{icon:b(()=>[o(g(t),{icon:`mdi:view-dashboard`,class:`w[20px] h[20px]`})]),title:b(()=>[a(y(g(P)(`dashboardModule.headings.pages.detail`,{page:g(L)?.title})),1)]),subtitle:b(()=>[a(y(g(P)(`dashboardModule.subHeadings.pages.detail`,{page:g(L)?.title})),1)]),_:1})):v(``,!0),g(F)?v(``,!0):(l(),s(g(T),{key:1,align:g(w).LEFT,teleport:``,small:``,onClick:Fe},{icon:b(()=>[o(g(i),{size:24},{default:b(()=>[o(g(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),!g(F)&&Y.value?(l(),s(g(T),{key:2,align:g(w).RIGHT,teleport:``,small:``,onClick:Q},{default:b(()=>[n(`span`,ye,y(g(P)(`dashboardModule.buttons.add.title`)),1)]),_:1},8,[`align`])):v(``,!0),o(g(se),{heading:g(P)(`dashboardModule.headings.pages.detail`,{page:g(L)?.title}),"sub-heading":g(P)(`dashboardModule.subHeadings.pages.detail`,{page:g(L)?.title}),icon:`mdi:view-dashboard`},{extra:b(()=>[n(`div`,O,[o(g(_),{type:`primary`,plain:``,class:`px-4! ml-2!`,onClick:Q},{icon:b(()=>[o(g(t),{icon:`mdi:plus`})]),default:b(()=>[a(` `+y(g(P)(`dashboardModule.buttons.addDataSource.title`)),1)]),_:1}),o(g(_),{plain:``,class:`px-4! ml-2!`,onClick:Z},{icon:b(()=>[o(g(t),{icon:`mdi:pencil`})]),_:1})])]),_:1},8,[`heading`,`sub-heading`]),Y.value||g(I)?(l(),e(`div`,k,[o(_e,{filters:g(B),"onUpdate:filters":c[0]||=e=>p(B)?B.value=e:null,"sort-by":g(H),"onUpdate:sortBy":c[1]||=e=>p(H)?H.value=e:null,"sort-dir":g(U),"onUpdate:sortDir":c[2]||=e=>p(U)?U.value=e:null,"paginate-size":g(W),"onUpdate:paginateSize":c[3]||=e=>p(W)?W.value=e:null,"paginate-page":g(G),"onUpdate:paginatePage":c[4]||=e=>p(G)?G.value=e:null,items:g(Te),"all-items":g(we),"total-rows":g(Ee),loading:g(De),"filters-active":g(V),onEdit:Ne,onRemove:Pe,onAdjustList:Ie,onResetFilters:$},null,8,[`filters`,`sort-by`,`sort-dir`,`paginate-size`,`paginate-page`,`items`,`all-items`,`total-rows`,`loading`,`filters-active`])])):(l(),s(u,{key:j.id},{default:b(({Component:e})=>[g(L)?(l(),s(h(e),{key:0,page:g(L)},null,8,[`page`])):v(``,!0)]),_:1})),g(I)?(l(),s(g(fe),{key:5,modelValue:K.value,"onUpdate:modelValue":c[8]||=e=>K.value=e,"show-close":!1,size:q.value?`300px`:`40%`,"with-header":!1,"before-close":X},{default:b(()=>[n(`div`,A,[o(g(ie),{"menu-button-hidden":``},{"button-right":b(()=>[o(g(T),{align:g(w).RIGHT,class:`mr-2`,onClick:c[5]||=()=>X()},{icon:b(()=>[o(g(i),null,{default:b(()=>[o(g(t),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),K.value?(l(),e(S,{key:0},[q.value?(l(),s(ve,{key:0,filters:g(B),"onUpdate:filters":c[6]||=e=>p(B)?B.value=e:null,"filters-active":g(V),onResetFilters:$},null,8,[`filters`,`filters-active`])):(l(),s(g(oe),{key:1},{icon:b(()=>[o(g(t),{icon:`mdi:view-dashboard`})]),message:b(()=>[a(y(g(P)(`dashboardModule.messages.misc.requestError`)),1)]),default:b(()=>[(l(),s(ee,null,{default:b(()=>[(l(),s(u,{key:j.id},{default:b(({Component:e})=>[g(L)?(l(),s(h(e),{key:0,"remote-form-changed":J.value,"onUpdate:remoteFormChanged":c[7]||=e=>J.value=e,page:g(L)},null,40,[`remote-form-changed`,`page`])):v(``,!0)]),_:1}))]),_:1}))]),_:1}))],64)):v(``,!0)])]),_:1},8,[`modelValue`,`size`])):v(``,!0)],64)}}});export{j as default};
|