@fastybird/smart-panel-admin 1.1.0-alpha.0 → 1.1.0-alpha.2
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-T9nrEIYw.js → alert-B_504iE8.js} +1 -1
- package/dist/assets/{card-add-form-Dmqn9mSR.js → card-add-form-hQfcolyj.js} +1 -1
- package/dist/assets/{card-edit-form-gTEMCJvQ.js → card-edit-form-BPs9Aljn.js} +1 -1
- package/dist/assets/{checkbox-lYuDNNRW.js → checkbox-DKrpi0d7.js} +1 -1
- package/dist/assets/{clamp-C5awl0Z9.js → clamp-BIBuaymK.js} +1 -1
- package/dist/assets/{col-CS5z2SZI.js → col-Brj0AIcp.js} +1 -1
- package/dist/assets/{collapse-BU-5F3-c.js → collapse-CcS8OeLM.js} +1 -1
- package/dist/assets/common-BI15rKA4.css +1 -0
- package/dist/assets/common-CEAYa_VX.js +135 -0
- package/dist/assets/components-1l-XQ9JU.js +6 -0
- package/dist/assets/components-B-x0bFEi.css +1 -0
- package/dist/assets/{components-EJSamUDY.js → components-B4a-3cag.js} +1 -1
- package/dist/assets/{components-eOJrNmD_.js → components-BqvPyJ09.js} +2 -2
- package/dist/assets/components-CDS0rEqD.js +1 -0
- package/dist/assets/components-CGY9a3zE.js +1 -0
- package/dist/assets/{components-BvIJ9V1A.js → components-CofHdxQO.js} +1 -1
- package/dist/assets/components-DJ-PhAdU.js +1 -0
- package/dist/assets/{components-DTUbSUWA.js → components-Dg_-11L_.js} +1 -1
- package/dist/assets/components-niPBJezT.js +1 -0
- package/dist/assets/components-v7BtnQr-.js +8 -0
- package/dist/assets/{composables-C_ClN_9k.js → composables-BiL7NDB2.js} +1 -1
- package/dist/assets/{composables-DauWd-yX.js → composables-CO2f80jd.js} +1 -1
- package/dist/assets/composables-CRIJLd1I.js +1 -0
- package/dist/assets/{composables-p3aMxqQW.js → composables-CdLuPMLl.js} +1 -1
- package/dist/assets/composables-CuDyfiS0.js +1 -0
- package/dist/assets/{composables-ByJA5Pkr.js → composables-D5CRUz8s.js} +1 -1
- package/dist/assets/composables-DIjPmeHV.js +1 -0
- package/dist/assets/composables-DNfuP9v9.js +1 -0
- package/dist/assets/{composables-Cu-tDLXA.js → composables-DrSNDrtP.js} +1 -1
- package/dist/assets/{composables-CnAm5-n0.js → composables-ZUeIfONp.js} +1 -1
- package/dist/assets/{composables-CnAdallo.js → composables-o5wEPPAf.js} +1 -1
- package/dist/assets/{config-Ca3KDCt_.js → config-CIAUSdP7.js} +2 -2
- package/dist/assets/{dashboard-sUj5gMgt.js → dashboard-CQWK08VY.js} +2 -2
- package/dist/assets/dashboard.types-FCvSt30R.js +1 -0
- package/dist/assets/{data-source-edit-form-TeVA0ZGT.js → data-source-edit-form-Ba0Rox_i.js} +1 -1
- package/dist/assets/{descriptions-BqAkDsOG.js → descriptions-Bk8rb6i3.js} +1 -1
- package/dist/assets/{devices-c2r4wXat.js → devices-Cx9K7dqW.js} +2 -2
- package/dist/assets/{devices-virtual.constants-BZiARLZb.js → devices-virtual.constants-Ckcs-m8t.js} +1 -1
- package/dist/assets/{dialog-CkpSeL6j.js → dialog-BKnLpTNm.js} +1 -1
- package/dist/assets/{drawer-BO0yGLCm.js → drawer-Bv6YcfZX.js} +1 -1
- package/dist/assets/empty-DvXiCUNF.js +1 -0
- package/dist/assets/{form-BXQzDd7P.js → form-CYGBQyZI.js} +1 -1
- package/dist/assets/index-CRKyZO94.js +9 -0
- package/dist/assets/index-E5bAVcL9.css +1 -0
- package/dist/assets/{input-number-BW5agJ92.js → input-number-DcR-vPr4.js} +1 -1
- package/dist/assets/integration-config-dialog-CfcgPh5F.js +1 -0
- package/dist/assets/{keys-DcE5nSGn.js → keys-BYonWGX0.js} +1 -1
- package/dist/assets/{layout-config-D3Rl8nnp.js → layout-config-Cjya-WMb.js} +1 -1
- package/dist/assets/{layout-default-DYN_BCAU.js → layout-default-CS5XwxjF.js} +1 -1
- package/dist/assets/{layout-lock-CnKsH_o2.js → layout-lock-CoJt4ng5.js} +1 -1
- package/dist/assets/layout-profile-BH6_ndbj.js +1 -0
- package/dist/assets/{layout-profile-BMiHIk-r.js → layout-profile-DaySzWNs.js} +1 -1
- package/dist/assets/{layout-sign-CRyGbt23.js → layout-sign-BR-IRKTg.js} +1 -1
- package/dist/assets/layout-sign-lJc9My5g.js +1 -0
- package/dist/assets/{list-data-sources-adjust-5-Pdok_s.js → list-data-sources-adjust-C1BWaGAY.js} +1 -1
- package/dist/assets/{list-locations-DDLG-wi7.js → list-locations-B_k17JmN.js} +1 -1
- package/dist/assets/{list-users-CoPYoKsq.js → list-users-Dtqpo3YK.js} +1 -1
- package/dist/assets/logs-entries.transformers-CZw7f53p.js +1 -0
- package/dist/assets/mcp.exceptions-DqhuYDrK.js +1 -0
- package/dist/assets/notifications-ByzWXMhj.css +1 -0
- package/dist/assets/notifications.exceptions-CTWKr2hv.js +1 -0
- package/dist/assets/{omit-oVmlMQup.js → omit-DRbsINX4.js} +1 -1
- package/dist/assets/page-configure-Bt3Zbbmn.js +1 -0
- package/dist/assets/{page-configure-n0ajoZ1U.js → page-configure-CVQE_kOC.js} +1 -1
- package/dist/assets/{pagination-CjJxy65X.js → pagination-CFSm62Hu.js} +1 -1
- package/dist/assets/{radio-CzhigJpe.js → radio-Cmy69XUu.js} +1 -1
- package/dist/assets/{scene-add-form-CbEbxU91.js → scene-add-form-CyeR3pxj.js} +1 -1
- package/dist/assets/{scene-edit-form-l_zU7WQe.js → scene-edit-form-dBV9baT5.js} +1 -1
- package/dist/assets/schemas.utils-DPM2Btj1.js +1 -0
- package/dist/assets/{select-O4KysHta.js → select-BE-J6w_y.js} +1 -1
- package/dist/assets/{select-data-source-plugin-CIr1ZUt3.js → select-data-source-plugin-CgTE90rj.js} +1 -1
- package/dist/assets/{slider-BakOmJFk.js → slider-B7Mhws2_.js} +1 -1
- package/dist/assets/{spaces-BsLvX_mm.js → spaces-DUnXUSuq.js} +2 -2
- package/dist/assets/spaces-home-control.constants-DR2Pcn9V.js +1 -0
- package/dist/assets/{steps-CcJujEC5.js → steps-ChWGGNoh.js} +1 -1
- package/dist/assets/system-DVGufF5G.js +2 -0
- package/dist/assets/{table-OOxB7eZ0.js → table-CP4k6PuT.js} +1 -1
- package/dist/assets/{tabs--WEsYe_1.js → tabs-BlmPldJW.js} +1 -1
- package/dist/assets/{tile-detail-DzmTEy7M.js → tile-detail-BbYkd7G4.js} +1 -1
- package/dist/assets/{tile-edit-form-DCms-EXo.js → tile-edit-form-DiShECn4.js} +1 -1
- package/dist/assets/types-BFzk34Iy.js +1 -0
- package/dist/assets/types-jnyNKIzd.js +1 -0
- package/dist/assets/{use-dialog-Lvd-Ls2e.js → use-dialog-BFPWhCwQ.js} +1 -1
- package/dist/assets/{use-ordered-children-CNn6LzZ5.js → use-ordered-children-CbAW48y2.js} +1 -1
- package/dist/assets/useBuddyChat-BQeijZgm.js +1 -0
- package/dist/assets/{useConfigModule-BnX1QBwr.js → useConfigModule-l8zp4LY1.js} +1 -1
- package/dist/assets/{useDataSources-CP_5chvd.js → useDataSources-CI2pLb0w.js} +1 -1
- package/dist/assets/{useDevicesPlugins-COw-D0RN.js → useDevicesPlugins-IYuPoZmZ.js} +1 -1
- package/dist/assets/useEventBus-C7h8fK0M.js +1 -0
- package/dist/assets/useExtensions-mIxpx3RO.js +1 -0
- package/dist/assets/{useGeolocation-B6K8Fgnb.js → useGeolocation-DlU1KRo-.js} +1 -1
- package/dist/assets/useLocation-CKsKAhov.js +1 -0
- package/dist/assets/{useMcpClients-BfqJppj8.js → useMcpClients-D44DSCoV.js} +1 -1
- package/dist/assets/{useModule-D1rm0Y0M.js → useModule-CGQr8Yht.js} +1 -1
- package/dist/assets/{useModules-Cy3UIua6.js → useModules-BqwGbI5l.js} +1 -1
- package/dist/assets/{useNumberFormat-CQgIxqs3.js → useNumberFormat-CLztaSFk.js} +1 -1
- package/dist/assets/{usePage-CedKpB5s.js → usePage-D3Y3z-Z-.js} +1 -1
- package/dist/assets/{usePersonalTokens-By_T4BUP.js → usePersonalTokens-DwMWVRNS.js} +1 -1
- package/dist/assets/{usePlugin-CyWrOblJ.js → usePlugin-DQ16ENWC.js} +1 -1
- package/dist/assets/{usePlugins-DQ7X6S0I.js → usePlugins-BAUrRkxK.js} +1 -1
- package/dist/assets/useSpaces-dSwttzjs.js +1 -0
- package/dist/assets/{useUuid-fukXwEj1.js → useUuid-B2AwaEQg.js} +1 -1
- package/dist/assets/{view-buddy-chat-BrlGdu81.js → view-buddy-chat-DpaYzexP.js} +1 -1
- package/dist/assets/{view-card-add-CtGSajM3.js → view-card-add-BcIFVzzf.js} +1 -1
- package/dist/assets/{view-card-edit-Zb9cFcPI.js → view-card-edit-BbS-QIUa.js} +1 -1
- package/dist/assets/view-channel-add-D9FB9I0d.js +1 -0
- package/dist/assets/{view-channel-edit-Axeb4Wsq.js → view-channel-edit-BMC2n_jY.js} +1 -1
- package/dist/assets/{view-channel-property-add-CQ5ba4om.js → view-channel-property-add-DMGQZ9QS.js} +1 -1
- package/dist/assets/view-channel-property-edit-DZPQoC26.js +1 -0
- package/dist/assets/{view-channel-uRWeCf75.js → view-channel-vLXMY5of.js} +1 -1
- package/dist/assets/{view-channels-9OykDzrx.js → view-channels-Bo16Lq4L.js} +1 -1
- package/dist/assets/{view-config-module-edit-DKx624EL.js → view-config-module-edit-BFQDbwC6.js} +1 -1
- package/dist/assets/{view-config-modules-B5GC5QVM.js → view-config-modules-Culfv_bK.js} +1 -1
- package/dist/assets/{view-config-plugin-edit-D880lhC9.js → view-config-plugin-edit-DX364xd_.js} +1 -1
- package/dist/assets/{view-config-plugins-vIUqs1BF.js → view-config-plugins-CK0vdPmj.js} +1 -1
- package/dist/assets/{view-data-source-add-B3EeEfoa.js → view-data-source-add-Bzb-61aK.js} +1 -1
- package/dist/assets/view-data-source-add-_7ip7mrf.js +1 -0
- package/dist/assets/view-data-source-edit-CoUrprKG.js +1 -0
- package/dist/assets/view-data-source-edit-DrlMJPDn.js +1 -0
- package/dist/assets/view-device-B6vGkfF5.js +1 -0
- package/dist/assets/view-device-TJjGoba6.css +1 -0
- package/dist/assets/{view-device-add-COpcEZUi.js → view-device-add-BjIlyY6E.js} +1 -1
- package/dist/assets/{view-device-control-C2sHc1fN.js → view-device-control-DdEXyVpn.js} +1 -1
- package/dist/assets/{view-device-edit-BacIFxG-.js → view-device-edit-DoQRQB09.js} +1 -1
- package/dist/assets/{view-devices-BZvnh_6I.css → view-devices-BV3p7TrL.css} +1 -1
- package/dist/assets/view-devices-_LNxDPyf.js +1 -0
- package/dist/assets/{view-devices-wizard-FN_kerQt.js → view-devices-wizard-DNVtEru3.js} +1 -1
- package/dist/assets/{view-display-edit-CeDdE9A3.js → view-display-edit-KWE_nXux.js} +1 -1
- package/dist/assets/{view-display-Cwe6xu0z.js → view-display-pQhEo0QJ.js} +1 -1
- package/dist/assets/{view-display-tokens-Cfdzw2NT.js → view-display-tokens-BkuVjpd3.js} +1 -1
- package/dist/assets/{view-displays-DE_oTtvk.js → view-displays-CHfrmtje.js} +1 -1
- package/dist/assets/view-extension-detail-BzdALouU.js +1 -0
- package/dist/assets/{view-extensions-8fjsl-aC.js → view-extensions-BEUE9DZM.js} +1 -1
- package/dist/assets/view-location-Cv4_QxT3.js +1 -0
- package/dist/assets/view-location-add-CR2vX0YA.js +1 -0
- package/dist/assets/view-location-edit-CPXCB6Ty.js +1 -0
- package/dist/assets/view-locations-DYzQbnuC.js +1 -0
- package/dist/assets/{view-lock-screen-bRDri9aj.js → view-lock-screen-CvMhzPRT.js} +1 -1
- package/dist/assets/view-mcp-clients-CXdQQbgy.js +1 -0
- package/dist/assets/{view-mcp-oauth-consent-BCCpyOy3.js → view-mcp-oauth-consent-CdSzhX8Z.js} +1 -1
- package/dist/assets/view-mcp-oauth-management-u-zf8VgR.js +1 -0
- package/dist/assets/view-notifications-Cg2TL1DH.js +1 -0
- package/dist/assets/view-onboarding-DTDmluyn.js +1 -0
- package/dist/assets/{view-page--EqFsctG.js → view-page-Zu_2hwIi.js} +1 -1
- package/dist/assets/{view-page-add-DKc0D-_Z.js → view-page-add-CKANfB0w.js} +1 -1
- package/dist/assets/{view-page-configure-BvJKjhWD.js → view-page-configure-C-eA0dC4.js} +1 -1
- package/dist/assets/{view-page-configure-D1S_L3Df.js → view-page-configure-C5n0g4eO.js} +1 -1
- package/dist/assets/{view-page-data-source-add-DmdPErHH.js → view-page-data-source-add-7ItspGgj.js} +1 -1
- package/dist/assets/view-page-data-source-edit-DQu21ar1.js +1 -0
- package/dist/assets/{view-page-edit-CalSVnS8.js → view-page-edit-CWXaQZak.js} +1 -1
- package/dist/assets/{view-page-plugin-COtv5VDP.js → view-page-plugin-Cfto42Wh.js} +1 -1
- package/dist/assets/{view-pages-FQaVAf16.js → view-pages-BBiRpjJE.js} +1 -1
- package/dist/assets/{view-profile-general-Dquye0Sq.js → view-profile-general-D_6x0Tyu.js} +1 -1
- package/dist/assets/{view-profile-security-Cm99XMFN.js → view-profile-security-BgZi5Vkz.js} +1 -1
- package/dist/assets/view-remote-access-CAUqIDKh.css +1 -0
- package/dist/assets/view-remote-access-DtZM_sYV.js +1 -0
- package/dist/assets/{view-scene-add-DJkyO05x.js → view-scene-add-LFcdVTaN.js} +1 -1
- package/dist/assets/{view-scene-edit-B8ew3Rh_.js → view-scene-edit-fX-u8fib.js} +1 -1
- package/dist/assets/{view-scenes-81znjW1S.js → view-scenes-DWbfoSPZ.js} +1 -1
- package/dist/assets/{view-sign-in-CkEM4vLp.js → view-sign-in-CZRERL0Y.js} +1 -1
- package/dist/assets/{view-sign-up-L6T2PYuR.js → view-sign-up-CrUHPweO.js} +1 -1
- package/dist/assets/{view-simulator-device-wizard-BUfsCMrh.js → view-simulator-device-wizard-DO1CpTZ7.js} +1 -1
- package/dist/assets/{view-space-add-DD-ImGjZ.js → view-space-add-BWXeqKGe.js} +1 -1
- package/dist/assets/{view-space-configure-DwMhMERS.js → view-space-configure-DpiLxtMc.js} +1 -1
- package/dist/assets/view-space-edit-uz1TPncu.js +1 -0
- package/dist/assets/{view-space-plugin-DsJrf4ZZ.js → view-space-plugin-8dCIw60l.js} +1 -1
- package/dist/assets/{view-spaces-BJLiNhUz.js → view-spaces-BlGL7Tsw.js} +1 -1
- package/dist/assets/{view-spaces-wizard-Bf8CgNF7.js → view-spaces-wizard-BKBTNd3t.js} +1 -1
- package/dist/assets/{view-stats-BtJZsvbJ.js → view-stats-sqy4OQw5.js} +1 -1
- package/dist/assets/{view-system-backups-BmITzwvM.js → view-system-backups-DRhdTizI.js} +1 -1
- package/dist/assets/{view-system-info-DtOm6RHr.js → view-system-info-SAJnQgbZ.js} +1 -1
- package/dist/assets/{view-system-log-detail-4QAXHly1.js → view-system-log-detail-De0uz6BL.js} +1 -1
- package/dist/assets/view-system-logs-B0eMqnft.js +1 -0
- package/dist/assets/{view-tile-CyRM73cc.js → view-tile-CdKYi0pR.js} +1 -1
- package/dist/assets/{view-tile-add-CysKFegv.js → view-tile-add-BXX2-rGD.js} +1 -1
- package/dist/assets/view-tile-add-Cn7SJEqT.js +1 -0
- package/dist/assets/{view-tile-data-source-add-Dtxzfau1.js → view-tile-data-source-add-pxfcE43r.js} +1 -1
- package/dist/assets/view-tile-data-source-edit-CdWGlpDC.js +1 -0
- package/dist/assets/view-tile-edit-D80VgTdu.js +1 -0
- package/dist/assets/view-tile-edit-XzR_OQfI.js +1 -0
- package/dist/assets/{view-tile-edit-DA2fNfYL.js → view-tile-edit-rO9uSt8e.js} +1 -1
- package/dist/assets/{view-user-add-Cw8Ewmt5.js → view-user-add-MWHxy3nf.js} +1 -1
- package/dist/assets/{view-user-edit-C3fP_UG4.js → view-user-edit-BJeiBIOb.js} +1 -1
- package/dist/assets/view-users-DKrdtOjY.js +1 -0
- package/dist/assets/view-virtual-device-wizard-CCj2n1FE.js +1 -0
- package/dist/assets/weather-DMmOelu3.js +2 -0
- package/dist/assets/weather-forecast.transformers-BKEpj85v.js +1 -0
- package/dist/index.html +96 -94
- package/package.json +1 -1
- package/dist/assets/common-BDejG8Ry.css +0 -1
- package/dist/assets/common-CoPMwt15.js +0 -135
- package/dist/assets/components-BhcKdzs8.js +0 -1
- package/dist/assets/components-Bo0zSRq-.js +0 -8
- package/dist/assets/components-CiDtTRIP.js +0 -6
- package/dist/assets/components-Ck3npXkH.js +0 -1
- package/dist/assets/components-CwI4oc4h.js +0 -1
- package/dist/assets/components-DFn7M7P8.js +0 -1
- package/dist/assets/composables-B8NoX0yi.js +0 -1
- package/dist/assets/composables-DRR44tiz.js +0 -1
- package/dist/assets/composables-Y3z5qfZL.js +0 -1
- package/dist/assets/composables-fi_xPbcU.js +0 -1
- package/dist/assets/dashboard.types-BL_StY9P.js +0 -1
- package/dist/assets/index-BMboulGN.js +0 -9
- package/dist/assets/index-Cquc4YKb.css +0 -1
- package/dist/assets/integration-config-dialog-CD29eKdA.js +0 -1
- package/dist/assets/layout-profile-eUgeGmsX.js +0 -1
- package/dist/assets/layout-sign-DQoDJ4cf.js +0 -1
- package/dist/assets/logs-entries.transformers-lH5ngVX4.js +0 -1
- package/dist/assets/mcp.exceptions-BljuOCTt.js +0 -1
- package/dist/assets/notifications-CXMpHhG5.css +0 -1
- package/dist/assets/notifications.exceptions-9rdw1GeU.js +0 -1
- package/dist/assets/page-configure-BEVX01FY.js +0 -1
- package/dist/assets/schemas.utils-meRZzKVK.js +0 -1
- package/dist/assets/spaces-home-control.constants-7pvytaMK.js +0 -1
- package/dist/assets/system-BHoHzIp7.js +0 -2
- package/dist/assets/types-Bb21yq0P.js +0 -1
- package/dist/assets/types-DNTr_87G.js +0 -1
- package/dist/assets/useBuddyChat-BH48PaUE.js +0 -1
- package/dist/assets/useEventBus-vQNsYIyS.js +0 -1
- package/dist/assets/useExtensions-Bk5NXQMd.js +0 -1
- package/dist/assets/useLocation-DapxyrCs.js +0 -1
- package/dist/assets/useSpaces-Dl88_yBJ.js +0 -1
- package/dist/assets/view-channel-add-IXRzITkP.js +0 -1
- package/dist/assets/view-channel-property-edit-Cf9sdZEV.js +0 -1
- package/dist/assets/view-data-source-add-D88BBTjK.js +0 -1
- package/dist/assets/view-data-source-edit-CYbGAY-U.js +0 -1
- package/dist/assets/view-data-source-edit-CqomLDF1.js +0 -1
- package/dist/assets/view-device-BXfpD62O.js +0 -1
- package/dist/assets/view-device-CoxxlPu_.css +0 -1
- package/dist/assets/view-devices-B1FVAfCK.js +0 -1
- package/dist/assets/view-extension-detail-BIj3vTbd.js +0 -1
- package/dist/assets/view-location-ByhZJx_6.js +0 -1
- package/dist/assets/view-location-add-C1eF2Urv.js +0 -1
- package/dist/assets/view-location-edit-CrUo0t6u.js +0 -1
- package/dist/assets/view-locations-D_OBOx6B.js +0 -1
- package/dist/assets/view-mcp-clients-D_IUC93a.js +0 -1
- package/dist/assets/view-mcp-oauth-management-BMuB6eti.js +0 -1
- package/dist/assets/view-notifications-CYHCdRsx.js +0 -1
- package/dist/assets/view-notifications-WYb2ehle.css +0 -1
- package/dist/assets/view-onboarding-B_q-NXIi.js +0 -1
- package/dist/assets/view-page-data-source-edit-CfElv5SN.js +0 -1
- package/dist/assets/view-remote-access-D1Wi7gy8.js +0 -1
- package/dist/assets/view-space-edit-COMCYPK1.js +0 -1
- package/dist/assets/view-system-logs-CQWo5Rbb.js +0 -1
- package/dist/assets/view-tile-add-h_oTIQ1I.js +0 -1
- package/dist/assets/view-tile-data-source-edit-BUgUtQup.js +0 -1
- package/dist/assets/view-tile-edit-B03viw4S.js +0 -1
- package/dist/assets/view-tile-edit-D-FPuQP4.js +0 -1
- package/dist/assets/view-users-DWUpWsPr.js +0 -1
- package/dist/assets/view-virtual-device-wizard-BbG4BQgL.js +0 -1
- package/dist/assets/weather-BBPDcFBG.js +0 -2
- package/dist/assets/weather-forecast.transformers-Ba10ZBsx.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,Dr as t,Er as n,Gr as r,Mr as i,Nr as a,Or as o,Pr as s,Qr as c,Si as l,T as u,Wr as d,ci as f,di as p,ii as ee,ji as m,k as h,kr as g,qi as _,ui as v}from"./icon-with-child-CgZMNB3F.js";import{Ar as y,Jr as te,b as ne,dr as re,f as b,jt as x}from"./common-CoPMwt15.js";import{t as S}from"./dialog-CkpSeL6j.js";import{t as C}from"./directive-D42ORGRu.js";import{t as w}from"./usePlugins-DQ7X6S0I.js";import{s as T}from"./config.constants-17QBQ_kF.js";var E={class:`min-h-[120px] overflow-x-hidden`},D={class:`flex justify-between items-center`},O={class:`flex gap-2 items-center`},k=s({name:`IntegrationConfigDialog`,__name:`integration-config-dialog`,props:{visible:{type:Boolean},pluginType:{},pluginName:{}},emits:[`update:visible`,`saved`],setup(s,{emit:k}){let A=s,j=k,{t:M}=u(),N=b(),P=ne(),F=P.getStore(re),I=P.getStore(x),{getByName:L}=w(),R=l(!1),z=l(!1),B=l(!1),V=l(null),H=l(!1),U=l(T.NONE),W=l(!1),G=l(!1),K=e=>e.split(`.`).map(e=>e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())).join(`.`),q=n(()=>!V.value||V.value.valid?[]:(V.value.errors??[]).filter(e=>e.field).map(e=>({field:K(e.field),message:e.message}))),J=n(()=>L(A.pluginType)),Y=n(()=>(J.value?.elements?.find(e=>e.type===`config`))?.components?.pluginConfigEditForm??null),X=n(()=>F.findByType(A.pluginType)),Z=async()=>{if(!X.value){R.value=!0;try{await F.get({type:A.pluginType})}catch{if(!X.value)try{let e=I.findByType(A.pluginType);F.set({data:{type:A.pluginType,enabled:e?.enabled??!1}})}catch{}}finally{R.value=!1}}},Q,$=()=>{Q!==void 0&&(clearTimeout(Q),Q=void 0)},ie=()=>{z.value=!0,H.value=!0,$(),Q=setTimeout(()=>{z.value&&=!1},5e3)},ae=async()=>{if(X.value){B.value=!0,V.value=null;try{let e=await F.validateConfig({data:{...X.value}});if(e.valid)N.success(M(`onboardingModule.integrations.configDialog.messages.validationSuccess`));else{V.value=e;let t=e.errors??[],n=t.filter(e=>!e.field);if(n.length>0||q.value.length===0){let e=n.length>0?n:t;N.error(e.map(e=>e.message).join(`; `))}}}catch{V.value={valid:!1,errors:[{message:M(`onboardingModule.integrations.configDialog.messages.validationError`)}]}}finally{B.value=!1}}};return f(()=>U.value,e=>{e===T.OK?($(),z.value=!1,j(`saved`),j(`update:visible`,!1)):(e===T.ERROR||e===T.NONE&&z.value)&&($(),z.value=!1)}),f(()=>G.value,e=>{e&&V.value&&(V.value=null)}),r(()=>{$()}),f(()=>A.visible,e=>{e&&Z()}),d(()=>{A.visible&&Z()}),(n,r)=>(c(),o(m(S),{"model-value":s.visible,title:m(M)(`onboardingModule.integrations.configDialog.title`,{name:s.pluginName}),width:`560px`,"close-on-click-modal":!1,"onUpdate:modelValue":r[5]||=e=>j(`update:visible`,e)},{footer:v(()=>[t(`div`,D,[a(m(h),{loading:B.value,disabled:!G.value,onClick:ae},{default:v(()=>[i(_(m(M)(`onboardingModule.integrations.configDialog.buttons.validate`)),1)]),_:1},8,[`loading`,`disabled`]),t(`div`,O,[a(m(h),{link:``,onClick:r[4]||=e=>j(`update:visible`,!1)},{default:v(()=>[i(_(m(M)(`onboardingModule.integrations.configDialog.buttons.cancel`)),1)]),_:1}),a(m(h),{type:`primary`,loading:z.value,disabled:!G.value,onClick:ie},{default:v(()=>[i(_(m(M)(`onboardingModule.integrations.configDialog.buttons.save`)),1)]),_:1},8,[`loading`,`disabled`])])])]),default:v(()=>[a(m(te),{"max-height":`60vh`},{default:v(()=>[p((c(),e(`div`,E,[X.value&&Y.value?(c(),o(ee(Y.value),{key:0,"remote-form-submit":H.value,"onUpdate:remoteFormSubmit":r[0]||=e=>H.value=e,"remote-form-result":U.value,"onUpdate:remoteFormResult":r[1]||=e=>U.value=e,"remote-form-reset":W.value,"onUpdate:remoteFormReset":r[2]||=e=>W.value=e,"remote-form-changed":G.value,"onUpdate:remoteFormChanged":r[3]||=e=>G.value=e,config:X.value,"remote-form-errors":q.value},null,40,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`remote-form-changed`,`config`,`remote-form-errors`])):R.value?g(``,!0):(c(),o(m(y),{key:1,description:m(M)(`onboardingModule.integrations.configDialog.noConfig`)},null,8,[`description`]))])),[[m(C),R.value]])]),_:1})]),_:1},8,[`model-value`,`title`]))}});export{k as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./layout-profile-BMiHIk-r.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./layout-sign-CRyGbt23.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Jn as e,Yn as t,at as n,bt as r,ft as i,gt as a,ht as o,mt as s,ot as c,pt as l,st as u,vt as d,yt as f}from"./common-CoPMwt15.js";import{r as p}from"./system.exceptions-BOq4IhGI.js";var m=f().ulid(),h=a({id:m,ts:f().datetime(),ingestedAt:f().datetime().optional(),seq:o().int().min(0).optional(),source:l(e),level:o().int().min(0).max(6),type:l(t),tag:f().max(128).optional(),resource:f().optional(),message:f().max(2e3).optional(),args:c(r([f(),o(),u(),d(f(),r([f(),o(),u(),n()])),c(r([f(),o(),u(),n()])),n()])).max(20).optional(),user:a({id:f().uuid().optional()}),context:a({appVersion:f().optional(),url:f().optional(),userAgent:f().optional(),locale:f().optional()})}),g=a({ts:f().datetime(),level:o().int().min(0).max(6),type:l(t),tag:f().max(128).optional(),message:f().max(2e3).optional(),args:c(r([f(),o(),u(),d(f(),r([f(),o(),u(),n()])),c(r([f(),o(),u(),n()])),n()])).max(20).optional(),user:a({id:f().uuid().optional()}).optional(),context:a({appVersion:f().optional(),url:f().optional(),userAgent:f().optional(),locale:f().optional()}).optional()});a({fetching:a({items:u().default(!1)}),creating:c(m),deleting:c(m)}),a({id:m,data:i({})}),a({id:m,data:a({id:m,ts:f().datetime(),ingestedAt:f().datetime().optional(),seq:o().int().min(0).optional(),source:l(e),level:o().int().min(0).max(6),type:l(t),tag:f().max(128).optional(),resource:f().optional(),message:f().max(2e3).optional(),args:c(r([f(),o(),u(),d(f(),r([f(),o(),u(),n()])),c(r([f(),o(),u(),n()])),n()])).max(20).optional(),user:a({id:f().uuid().optional()}),context:a({appVersion:f().optional(),url:f().optional(),userAgent:f().optional(),locale:f().optional()})})}),a({id:m}),a({afterId:f().optional(),limit:o().min(1).max(200).default(10).optional(),append:u().default(!1).optional()});var _=a({data:c(g)}),v=a({ts:f(),source:l(e),level:o(),type:l(t),tag:f().optional(),message:f().optional(),args:c(r([f(),o(),u(),d(f(),s()),c(r([f(),o(),u(),n()])),n()])).optional(),user:a({id:f().uuid().optional()}).optional(),context:a({app_version:f().optional(),url:f().optional(),user_agent:f().optional(),locale:f().optional()}).optional()});a({id:f().ulid(),ts:f(),ingested_at:f(),seq:o().optional(),source:l(e),level:o(),type:l(t),tag:f().optional(),resource:f().optional(),message:f().optional(),args:c(r([f(),o(),u(),d(f(),s()),c(r([f(),o(),u(),n()])),n()])).optional(),user:a({id:f().uuid().optional()}),context:a({app_version:f().optional(),url:f().optional(),user_agent:f().optional(),locale:f().optional()})});var y=e=>{let t=h.safeParse({id:e.id,ts:e.ts,ingestedAt:e.ingested_at,seq:e.seq,source:e.source,level:e.level,type:e.type,tag:e.tag,resource:e.resource,message:e.message,args:e.args,user:{id:e.user?.id},context:{appVersion:e.context?.app_version,url:e.context?.url,userAgent:e.context?.user_agent,locale:e.context?.locale}});if(!t.success)throw new p(`Failed to validate received log entry data.`);return t.data},b=e=>{let t=e.map(e=>({ts:e.ts,level:e.level,type:e.type,tag:e.tag,message:e.message,args:e.args,user:e.user?.id?{id:e.user.id}:void 0,context:e.context?{app_version:e.context.appVersion,url:e.context.url,user_agent:e.context.userAgent,locale:e.context.locale}:void 0})),n=c(v).safeParse(t);if(!n.success)throw new p(`Failed to validate create log entry request.`);return n.data};export{_ as i,y as n,h as r,b as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Cn as e,wn as t}from"./common-CoPMwt15.js";var n=`mcp-module`,r=3650,i=e,a={READ:t.mcp_read,WRITE:t.mcp_write,TRIGGER:t.mcp_trigger,OFFLINE_ACCESS:t.offline_access},o={CLIENTS:`mcp_module-clients`,OAUTH_MANAGEMENT:`mcp_module-oauth-management`,OAUTH_CONSENT:`mcp_module-oauth-consent`},s=class extends Error{code;constructor(e,t){super(e),this.code=t,this.name=`McpApiException`}};export{a,i,r as n,o,n as r,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.notification-actions[data-v-0d1ba718]{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.notification-detail-drawer__title[data-v-f8a96738]{margin-left:.5rem;font-weight:600}.notification-detail-drawer__message[data-v-f8a96738]{white-space:pre-wrap;display:block}.notification-detail-drawer__footer[data-v-f8a96738]{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.list-notifications[data-v-aec84a60]{flex-direction:column;gap:.5rem;display:flex}.list-notifications__table[data-v-aec84a60] .el-table__row{cursor:pointer}.list-notifications__load-more[data-v-aec84a60]{justify-content:center;padding:.75rem 0;display:flex}.notifications-filter[data-v-4c775d8d]{flex-wrap:wrap;align-items:flex-end;display:flex}.notifications-filter[data-v-4c775d8d] .el-form-item{margin-bottom:.5rem}.notifications-filter__status[data-v-4c775d8d],.notifications-filter__severity[data-v-4c775d8d],.notifications-filter__source[data-v-4c775d8d]{width:200px}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";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,Wr as d,bi as f,ci as p,di as m,ei as h,ji as g,k as _,kr as v,qi as y,ui as b,xr as x,yr as S}from"./icon-with-child-CgZMNB3F.js";import{$r as C,Ar as w,Dr as T,K as E,Or as D,Ot as O,Rt as k,_r as A,hr as j,j as ee,jn as M}from"./common-CoPMwt15.js";import{n as N,t as P}from"./descriptions-BqAkDsOG.js";import{n as F,t as I}from"./table-OOxB7eZ0.js";import{n as L,t as R}from"./form-BXQzDd7P.js";import{t as z}from"./alert-T9nrEIYw.js";import{t as B}from"./input-number-BW5agJ92.js";import{r as V,t as H}from"./select-O4KysHta.js";import{t as U}from"./drawer-BO0yGLCm.js";import{t as W}from"./directive-D42ORGRu.js";import{i as G}from"./config-Ca3KDCt_.js";import{c as K,s as q}from"./config.constants-17QBQ_kF.js";import{t as J}from"./useExtensions-Bk5NXQMd.js";var Y={key:0,class:`notification-actions`},X=n(s({name:`NotificationActions`,__name:`notification-actions`,props:{notification:{}},setup(t){let n=t,{execute:r,isExecuting:a}=O(),s=e=>{r(n.notification,e)};return(n,r)=>t.notification.actions.length>0?(c(),e(`div`,Y,[(c(!0),e(x,null,h(t.notification.actions,(e,t)=>(c(),o(g(_),{key:t,size:`small`,type:e.primary?`primary`:`default`,loading:g(a),disabled:g(a),onClick:S(t=>s(e),[`stop`])},{default:b(()=>[i(y(e.label),1)]),_:2},1032,[`type`,`loading`,`disabled`,`onClick`]))),128))])):v(``,!0)}}),[[`__scopeId`,`data-v-0d1ba718`]]),Z={class:`notification-detail-drawer__footer`},Q=n(s({name:`NotificationDetailDrawer`,__name:`notification-detail-drawer`,props:{modelValue:{type:Boolean},notification:{}},emits:[`update:modelValue`],setup(n,{emit:s}){let l=n,d=s,{t:f}=u(),{dismiss:p,remove:m}=k(),S=r(()=>Object.entries(l.notification?.data??{})),C=e=>e.toLocaleString(),w=()=>{l.notification&&p(l.notification.id,!0)},D=()=>{l.notification&&m(l.notification.id)};return(r,s)=>(c(),o(g(U),{"model-value":n.modelValue,size:`480px`,"onUpdate:modelValue":s[0]||=e=>d(`update:modelValue`,e)},{header:b(()=>[n.notification?(c(),o(E,{key:0,severity:n.notification.severity},null,8,[`severity`])):v(``,!0),a(g(T),{class:`notification-detail-drawer__title`},{default:b(()=>[i(y(n.notification?.title),1)]),_:1})]),default:b(()=>[n.notification?(c(),e(x,{key:0},[n.notification.message?(c(),o(g(T),{key:0,class:`notification-detail-drawer__message`},{default:b(()=>[i(y(n.notification.message),1)]),_:1})):v(``,!0),S.value.length>0?(c(),o(g(P),{key:1,title:g(f)(`notificationsModule.headings.notifications.data`),column:1,border:``,class:`mt-4`},{default:b(()=>[(c(!0),e(x,null,h(S.value,([e,t])=>(c(),o(g(N),{key:e,label:e},{default:b(()=>[i(y(t),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`title`])):v(``,!0),n.notification.actions.length>0?(c(),o(X,{key:2,notification:n.notification,class:`mt-4`},null,8,[`notification`])):v(``,!0),a(g(P),{title:g(f)(`notificationsModule.headings.notifications.lifecycle`),column:1,border:``,class:`mt-4`},{default:b(()=>[a(g(N),{label:g(f)(`notificationsModule.fields.notifications.createdAt.title`)},{default:b(()=>[i(y(C(n.notification.createdAt)),1)]),_:1},8,[`label`]),n.notification.updatedAt?(c(),o(g(N),{key:0,label:g(f)(`notificationsModule.fields.notifications.updatedAt.title`)},{default:b(()=>[i(y(C(n.notification.updatedAt)),1)]),_:1},8,[`label`])):v(``,!0),a(g(N),{label:g(f)(`notificationsModule.fields.notifications.readAt.title`)},{default:b(()=>[i(y(n.notification.readAt?C(n.notification.readAt):g(f)(`notificationsModule.fields.notifications.readAt.no`)),1)]),_:1},8,[`label`]),a(g(N),{label:g(f)(`notificationsModule.fields.notifications.dismissedAt.title`)},{default:b(()=>[i(y(n.notification.dismissedAt?C(n.notification.dismissedAt):g(f)(`notificationsModule.fields.notifications.dismissedAt.no`)),1)]),_:1},8,[`label`]),a(g(N),{label:g(f)(`notificationsModule.fields.notifications.resolvedAt.title`)},{default:b(()=>[i(y(n.notification.resolvedAt?C(n.notification.resolvedAt):g(f)(`notificationsModule.fields.notifications.resolvedAt.no`)),1)]),_:1},8,[`label`])]),_:1},8,[`title`]),t(`div`,Z,[n.notification.dismissedAt===null?(c(),o(g(_),{key:0,onClick:w},{default:b(()=>[i(y(g(f)(`notificationsModule.buttons.dismiss.title`)),1)]),_:1})):v(``,!0),a(g(_),{type:`danger`,plain:``,onClick:D},{default:b(()=>[i(y(g(f)(`application.bulkActions.delete`)),1)]),_:1})])],64)):v(``,!0)]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-f8a96738`]]),te={class:`list-notifications`},ne={key:1,class:`list-notifications__load-more`},re=n(s({name:`ListNotifications`,__name:`list-notifications`,props:{items:{},hasMore:{type:Boolean},loading:{type:Boolean}},emits:[`detail`,`load-more`,`bulk-action`],setup(n,{emit:s}){let d=n,f=s,{t:p}=u(),h=l([]),x=r(()=>[{key:`mark-read`,label:p(`notificationsModule.buttons.markRead.title`),icon:`mdi:email-open-outline`,type:`info`},{key:`mark-unread`,label:p(`notificationsModule.buttons.markUnread.title`),icon:`mdi:email-outline`,type:`info`},{key:`dismiss`,label:p(`notificationsModule.buttons.dismiss.title`),icon:`mdi:eye-off-outline`,type:`warning`},{key:`delete`,label:p(`application.bulkActions.delete`),icon:`mdi:trash-can-outline`,type:`danger`}]),S=e=>e.toISOString(),D=e=>{h.value=e.map(e=>e.id)},O=e=>{f(`detail`,e.id)},k=e=>{f(`bulk-action`,e,h.value)};return(n,r)=>(c(),e(`div`,te,[h.value.length>0?(c(),o(g(ee),{key:0,"selected-count":h.value.length,actions:x.value,onAction:k},null,8,[`selected-count`,`actions`])):v(``,!0),m((c(),o(g(I),{"element-loading-text":g(p)(`notificationsModule.texts.notifications.loading`),data:d.items,"row-key":`id`,"table-layout":`fixed`,class:`list-notifications__table`,onSelectionChange:D,onRowClick:O},{empty:b(()=>[a(g(w),{description:g(p)(`notificationsModule.texts.notifications.empty`)},null,8,[`description`])]),default:b(()=>[a(g(F),{type:`selection`,width:42}),a(g(F),{label:g(p)(`notificationsModule.table.columns.severity.title`),width:110},{default:b(e=>[a(E,{severity:e.row.severity},null,8,[`severity`])]),_:1},8,[`label`]),a(g(F),{label:g(p)(`notificationsModule.table.columns.title.title`),prop:`title`,"min-width":220},{default:b(e=>[a(g(T),{truncated:``},{default:b(()=>[i(y(e.row.title),1)]),_:2},1024)]),_:1},8,[`label`]),a(g(F),{label:g(p)(`notificationsModule.table.columns.source.title`),prop:`source`,width:220},{default:b(e=>[a(g(T),{truncated:``,size:`small`,type:`info`},{default:b(()=>[i(y(e.row.source),1)]),_:2},1024)]),_:1},8,[`label`]),a(g(F),{label:g(p)(`notificationsModule.table.columns.occurrences.title`),width:110,align:`center`},{default:b(e=>[i(y(e.row.occurrences),1)]),_:1},8,[`label`]),a(g(F),{label:g(p)(`notificationsModule.table.columns.time.title`),width:150},{default:b(e=>[a(g(C),{content:S(e.row.createdAt)},{default:b(()=>[t(`span`,null,y(g(j)(e.row.createdAt)),1)]),_:2},1032,[`content`])]),_:1},8,[`label`]),a(g(F),{label:g(p)(`notificationsModule.table.columns.actions.title`),"min-width":180},{default:b(e=>[a(X,{notification:e.row},null,8,[`notification`])]),_:1},8,[`label`])]),_:1},8,[`element-loading-text`,`data`])),[[g(W),d.loading]]),d.hasMore?(c(),e(`div`,ne,[a(g(_),{loading:d.loading,onClick:r[0]||=e=>f(`load-more`)},{default:b(()=>[i(y(g(p)(`notificationsModule.buttons.loadMore.title`)),1)]),_:1},8,[`loading`])])):v(``,!0)]))}}),[[`__scopeId`,`data-v-aec84a60`]]),ie=n(s({name:`NotificationsFilter`,__name:`notifications-filter`,props:{filters:{}},emits:[`update:filters`],setup(t,{emit:n}){let i=t,s=n,{t:l}=u(),f=A(i,`filters`,s),p=Object.values(M),{extensions:m,areLoading:_,fetchExtensions:v}=J(),y=r(()=>m.value.map(e=>({value:e.type,label:e.name})));return d(()=>{v()}),(t,n)=>(c(),o(g(R),{inline:!0,model:g(f),class:`notifications-filter`},{default:b(()=>[a(g(L),{label:g(l)(`notificationsModule.fields.filters.status.title`)},{default:b(()=>[a(g(V),{modelValue:g(f).status,"onUpdate:modelValue":n[0]||=e=>g(f).status=e,class:`notifications-filter__status`},{default:b(()=>[a(g(H),{value:`all`,label:g(l)(`notificationsModule.fields.filters.status.options.all`)},null,8,[`label`]),a(g(H),{value:`active`,label:g(l)(`notificationsModule.fields.filters.status.options.active`)},null,8,[`label`]),a(g(H),{value:`dismissed`,label:g(l)(`notificationsModule.fields.filters.status.options.dismissed`)},null,8,[`label`]),a(g(H),{value:`resolved`,label:g(l)(`notificationsModule.fields.filters.status.options.resolved`)},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),a(g(L),{label:g(l)(`notificationsModule.fields.filters.severity.title`)},{default:b(()=>[a(g(V),{modelValue:g(f).severity,"onUpdate:modelValue":n[1]||=e=>g(f).severity=e,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,clearable:``,placeholder:g(l)(`notificationsModule.fields.filters.severity.placeholder`),class:`notifications-filter__severity`},{default:b(()=>[(c(!0),e(x,null,h(g(p),e=>(c(),o(g(H),{key:e,value:e,label:g(l)(`notificationsModule.severity.${e}`)},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),a(g(L),{label:g(l)(`notificationsModule.fields.filters.source.title`)},{default:b(()=>[a(g(V),{modelValue:g(f).source,"onUpdate:modelValue":n[2]||=e=>g(f).source=e,clearable:``,filterable:``,loading:g(_),placeholder:g(l)(`notificationsModule.fields.filters.source.placeholder`),class:`notifications-filter__source`},{default:b(()=>[(c(!0),e(x,null,h(y.value,e=>(c(),o(g(H),{key:e.value,value:e.value,label:e.label},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`,`loading`,`placeholder`])]),_:1},8,[`label`]),a(g(L),{label:g(l)(`notificationsModule.fields.filters.unread.title`)},{default:b(()=>[a(g(D),{modelValue:g(f).unread,"onUpdate:modelValue":n[3]||=e=>g(f).unread=e},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`]))}}),[[`__scopeId`,`data-v-4c775d8d`]]),ae=s({name:`NotificationsConfigForm`,__name:`notifications-config-form`,props:{config:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:q.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1},layout:{default:K.DEFAULT}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(e,{emit:n}){let r=e,i=n,{t:s}=u(),{formEl:l,model:d,formChanged:m,submit:h,formResult:_}=G({config:r.config,messages:{success:s(`notificationsModule.messages.config.edited`),error:s(`notificationsModule.messages.config.notEdited`)}}),v=f({retentionDays:[{required:!0,message:s(`notificationsModule.fields.config.retentionDays.validation.required`),trigger:`change`},{type:`number`,min:1,max:365,message:s(`notificationsModule.fields.config.retentionDays.validation.range`),trigger:`change`}],maxNotifications:[{required:!0,message:s(`notificationsModule.fields.config.maxNotifications.validation.required`),trigger:`change`},{type:`number`,min:50,max:5e3,message:s(`notificationsModule.fields.config.maxNotifications.validation.range`),trigger:`change`}]});return p(()=>_.value,async e=>{i(`update:remote-form-result`,e)}),p(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),h().catch(()=>{}))}),p(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!l.value)return;l.value.resetFields()}}),p(()=>m.value,e=>{i(`update:remote-form-changed`,e)}),(e,n)=>(c(),o(g(R),{ref_key:`formEl`,ref:l,model:g(d),rules:v,"label-position":`top`,"status-icon":``},{default:b(()=>[a(g(z),{type:`info`,title:g(s)(`notificationsModule.headings.aboutConfig`),description:g(s)(`notificationsModule.texts.aboutConfig`),closable:!1},null,8,[`title`,`description`]),a(g(L),{label:g(s)(`notificationsModule.fields.config.retentionDays.title`),prop:`retentionDays`,class:`mt-3`},{default:b(()=>[a(g(B),{modelValue:g(d).retentionDays,"onUpdate:modelValue":n[0]||=e=>g(d).retentionDays=e,min:1,max:365,placeholder:g(s)(`notificationsModule.fields.config.retentionDays.placeholder`),name:`retentionDays`},{suffix:b(()=>[t(`span`,null,y(g(s)(`notificationsModule.fields.config.retentionDays.unit`)),1)]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),a(g(L),{label:g(s)(`notificationsModule.fields.config.maxNotifications.title`),prop:`maxNotifications`},{default:b(()=>[a(g(B),{modelValue:g(d).maxNotifications,"onUpdate:modelValue":n[1]||=e=>g(d).maxNotifications=e,min:50,max:5e3,step:50,placeholder:g(s)(`notificationsModule.fields.config.maxNotifications.placeholder`),name:`maxNotifications`},{suffix:b(()=>[t(`span`,null,y(g(s)(`notificationsModule.fields.config.maxNotifications.unit`)),1)]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),$=class extends Error{exception;constructor(e,t=null){super(e),this.name=`NotificationsException`,this.exception=t}},oe=class extends ${code;constructor(e,t=null,n=null){super(e,n),this.name=`NotificationsApiException`,this.code=t}},se=class extends ${constructor(e,t=null){super(e,t),this.name=`NotificationsValidationException`}};export{ie as a,ae as i,$ as n,re as o,se as r,Q as s,oe as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Dr as n,E as r,Er as i,Fr as a,Gr as o,H as s,Hr as c,Ki as ee,Lr as l,Mr as u,Mt as te,Nr as d,Or as f,Pr as p,Qr as m,Si as h,T as ne,Wi as g,Wr as re,Yr as ie,ci as _,ei as v,ii as y,ji as b,k as x,kr as S,pr as C,qi as w,ui as T,xr as E}from"./icon-with-child-CgZMNB3F.js";import{Ar as ae,Dr as D,Ur as O,aa as oe,b as se,wr as ce}from"./common-CoPMwt15.js";import{r as le,t as ue}from"./select-O4KysHta.js";import{t as k}from"./card-C50YgvLJ.js";import{n as de,t as fe}from"./col-CS5z2SZI.js";import{a as A,d as j,r as pe}from"./keys-DgS2vm-E.js";import"./dashboard-sUj5gMgt.js";import{f as me,n as he}from"./types-DNTr_87G.js";import{i as M,t as ge}from"./useDataSources-CP_5chvd.js";import{t as _e}from"./gridstack.min-LmXwzWSF.js";var N={class:`tile-preview b-1 b-solid rounded-2 grow-1 relative overflow-hidden`},P={key:1,class:`flex flex-col items-center justify-center h-full w-full p-2`},ve={class:`tile-preview__overlay`},ye=r(p({name:`CardTilePreview`,__name:`tile-preview`,props:{tile:{}},emits:[`detail`,`edit`,`remove`],setup(r,{emit:a}){let o=r,c=a,{getElement:ee}=M(),l=i(()=>ee(o.tile.type)?.components?.tilePreview);return(r,i)=>(m(),e(`div`,N,[l.value?(m(),f(y(l.value),{key:0,tile:o.tile},null,8,[`tile`])):(m(),e(`div`,P,[d(b(s),{size:20,color:`var(--el-text-color-secondary)`},{default:T(()=>[d(b(t),{icon:`mdi:puzzle-outline`})]),_:1}),d(b(D),{type:`info`,size:`small`,class:`mt-1 truncate max-w-full text-center`},{default:T(()=>[u(w(o.tile.type),1)]),_:1})])),n(`div`,ve,[d(b(x),{size:`small`,circle:``,onClick:i[0]||=e=>c(`detail`,o.tile.id)},{icon:T(()=>[d(b(t),{icon:`mdi:file-search-outline`})]),_:1}),d(b(x),{size:`small`,type:`primary`,circle:``,class:`ml-1!`,onClick:i[1]||=e=>c(`edit`,o.tile.id)},{icon:T(()=>[d(b(t),{icon:`mdi:pencil`})]),_:1}),d(b(x),{size:`small`,type:`danger`,circle:``,class:`ml-1!`,onClick:i[2]||=e=>c(`remove`,o.tile.id)},{icon:T(()=>[d(b(t),{icon:`mdi:trash-can-outline`})]),_:1})])]))}}),[[`__scopeId`,`data-v-ef47b603`]]),be={class:`h-full box-border overflow-hidden p-2`},xe={class:`flex items-center gap-1 min-w-0 max-w-48`},Se={class:`flex items-center gap-1 flex-1 min-w-0 flex-wrap justify-end`},Ce=[`onClick`],we={class:`truncate`},Te={class:`flex flex-col gap-1`},Ee=[`onClick`],De={class:`flex items-center flex-shrink-0 gap-0.5`},Oe={class:`flex-1 overflow-auto min-h-0`},ke={key:0,class:`p-4 text-center`},Ae={class:`flex items-center gap-1 min-w-0`},je={class:`flex items-center gap-1`},Me={class:`p-2`},Ne={class:`flex flex-col gap-2`},Pe={class:`flex items-center justify-between w-full`},Fe={key:1,class:`flex flex-col`},Ie={class:`flex flex-col gap-1`},Le=[`onClick`],Re={class:`flex items-center gap-1 min-w-0`},ze=3,Be=p({name:`CardsPageConfigure`,__name:`page-configure`,props:{page:{},cards:{},gridLayout:{},gridCardStyle:{},displays:{},selectedDisplay:{},remotePageSubmit:{type:Boolean},remotePageResult:{default:j.NONE},remotePageChanged:{type:Boolean,default:!1}},emits:[`selectDisplay`,`addPageDataSource`,`editPageDataSource`,`addCard`,`editCard`,`removeCard`,`addTile`,`editTile`,`tileDetail`,`update:remote-page-submit`,`update:remote-page-result`,`update:remote-page-changed`],setup(r,{emit:p}){let{t:y}=ne(),M=te(`cards-page-configure`),N=r,P=p,{dataSources:ve,fetchDataSources:Be}=ge({parent:`page`,parentId:N.page.id}),{remove:Ve}=he({parent:`page`,parentId:N.page.id}),{getElement:He}=me(),Ue=i(()=>ve.value.filter(e=>!e.draft)),We=i(()=>Ue.value.slice(0,ze)),F=i(()=>Ue.value.slice(ze)),Ge=e=>{let t=e;return typeof t.icon==`string`&&t.icon?t.icon:null},I=(e,t)=>e?e.includes(`:`)?e:`mdi:${e}`:t,Ke=e=>{let t=He(e.type);return t?.name?.trim()?t.name:e.type},qe=e=>{Ve(e)},Je=a()?.appContext??null,L=i(()=>[...N.cards].sort((e,t)=>e.order-t.order)),R=new Map,z=new Map,B=new Map,V=new Set,Ye=h(!1),H=h(!1),U=h(!1),W,Xe,G=se().getStore(pe),{firstLoad:Ze,semaphore:Qe}=oe(G),K=new Map,q=new Map,J=e=>{if(K.has(e))return;let t=i(()=>G.findForParent(`card`,e)),n=i(()=>Qe.value.fetching.items.includes(e));K.set(e,{tiles:t,areLoading:n,fetchTiles:async()=>{await G.fetch({parent:{type:`card`,id:e}})}}),q.set(e,{findById:(e,t)=>G.findById(e,t),edit:e=>G.edit(e),save:e=>G.save(e),removeDirectly:e=>G.remove(e)})},Y=e=>(J(e),K.get(e)?.tiles.value??[]),$e=(e,t)=>{t?z.set(e,t):z.delete(e)},et=(e,t)=>{V.add(e);let n=R.get(t);if(!n)return;let r=n.getGridItems().find(t=>t.gridstackNode?.id===e);r&&n.removeWidget(r)},tt=e=>{for(let t of e.getGridItems()){let e=t.querySelector(`.grid-stack-item-content`);e&&C(null,e)}},X=()=>{for(let[,e]of R)tt(e),e.removeAll(!0),e.destroy(!1);R.clear(),B.clear()},nt=e=>{let t=R.get(e);t&&(tt(t),t.removeAll(!0),t.destroy(!1),R.delete(e),B.delete(e))},rt=(e,t,n)=>{let r=l(ye,{tile:t,onDetail:e=>{P(`tileDetail`,e)},onEdit:e=>{P(`editTile`,e,n)},onRemove:e=>{et(e,n)}});Je&&(r.appContext=Je),C(r,e)},Z=()=>{!Ye.value||H.value||(clearTimeout(W),W=setTimeout(()=>{U.value=!0},50))},it=e=>{let t=z.get(e.id);if(!t||!N.gridLayout)return;let n=e.cols??N.gridLayout.cols,r=e.rows??N.gridLayout.rows,i=_e.init({column:n,row:r,cellHeight:`auto`,margin:4,float:!0,acceptWidgets:!0},t);R.set(e.id,i),B.has(e.id)||B.set(e.id,new Set);let a=B.get(e.id);i.on(`dragstop`,(t,n)=>{let r=n.gridstackNode,i=r?.id;if(!i)return;let a=Y(e.id).find(e=>e.id===i);a&&(a.row-1!==r?.y||a.col-1!==r?.x)&&Z()}),i.on(`resizestop`,(t,n)=>{let r=n.gridstackNode,i=r?.id;if(!i)return;let a=Y(e.id).find(e=>e.id===i);a&&(a.rowSpan!==r?.h||a.colSpan!==r?.w)&&Z()}),i.on(`added`,function(t,n){Z();for(let t of n){let n=t.el;if(!n)continue;let r=n.querySelector(`.grid-stack-item-content`);if(!r)continue;let i=t.id,o;for(let[,e]of K)if(o=e.tiles.value.find(e=>e.id===i),o)break;o&&(rt(r,o,e.id),a.add(o.id))}}),i.on(`removed`,function(e,t){for(let e of t){let t=e.el?.querySelector(`.grid-stack-item-content`);t&&C(null,t),e.id&&(a.delete(e.id),Z())}});let o=t.clientWidth/i.getColumn();i.cellHeight(o);let s=Y(e.id);for(let e of s)V.has(e.id)||a.has(e.id)||i.addWidget({id:e.id,x:e.col-1,y:e.row-1,w:e.colSpan,h:e.rowSpan})},Q=()=>{if(N.gridLayout===null){H.value=!0,X(),H.value=!1;return}H.value=!0,X();for(let e of L.value)it(e);H.value=!1},$=()=>{for(let e of L.value){let t=Y(e.id),n=R.get(e.id);if(!n&&(H.value=!0,it(e),H.value=!1,n=R.get(e.id),!n)||t.length===0)continue;let r=B.get(e.id);if(r)for(let e of t)V.has(e.id)||r.has(e.id)||(e.draft||(H.value=!0),n.addWidget({id:e.id,x:e.col-1,y:e.row-1,w:e.colSpan,h:e.rowSpan}),e.draft||(H.value=!1))}};re(()=>{for(let e of N.cards){J(e.id);let t=K.get(e.id);t.areLoading.value||t.fetchTiles().catch(e=>{throw new A(`Something went wrong`,e)})}Be().catch(e=>{throw new A(`Something went wrong`,e)})});let at=()=>{for(let[,e]of R){let t=e.el;if(t){let n=t.clientWidth/e.getColumn();e.cellHeight(n)}}},ot=()=>{c(()=>{at()})};ie(()=>{c(()=>{Q()}),window.addEventListener(`resize`,ot),Xe=setTimeout(()=>{Ye.value=!0},500)}),o(()=>{window.removeEventListener(`resize`,ot),clearTimeout(W),clearTimeout(Xe),X()});let st=i(()=>{let e=new Map;for(let t of L.value)e.set(t.id,`${t.rows??``}:${t.cols??``}`);return e}),ct=new Map;return _(()=>L.value,()=>{for(let e of L.value){J(e.id);let t=K.get(e.id);t&&!t.areLoading.value&&t.tiles.value.length===0&&t.fetchTiles().catch(e=>{throw new A(`Something went wrong`,e)})}for(let[e]of R)L.value.some(t=>t.id===e)||(H.value=!0,nt(e),H.value=!1);$()},{flush:`post`}),_(st,e=>{let t=!1;for(let[n,r]of e){let e=ct.get(n);if(e!==void 0&&e!==r){t=!0;break}}ct=new Map(e),t&&c(()=>{Q()})},{flush:`post`}),_(i(()=>{let e=[];for(let t of L.value){J(t.id);let n=K.get(t.id);if(n){let r=n.tiles.value.map(e=>e.id).sort().join(`,`);e.push(`${t.id}:${r}`)}}return e.sort().join(`|`)}),()=>{$()},{flush:`post`}),_(()=>Ze.value,()=>{$()},{flush:`post`}),_(()=>N.remotePageSubmit,async e=>{if(e){P(`update:remote-page-submit`,!1),P(`update:remote-page-result`,j.WORKING);try{let e=[];for(let[t,n]of R){let r=[];for(let e of n.getGridItems()){let t=e.gridstackNode;t?.id&&r.push({id:t.id,x:t.x??0,y:t.y??0,w:t.w??1,h:t.h??1})}e.push({cardId:t,gridItems:r})}for(let{cardId:t,gridItems:n}of e){let e=q.get(t);if(e)for(let r of n){let n=null;for(let[,e]of q)if(n=e.findById(`card`,r.id),n)break;n&&(n=await e.edit({id:n.id,parent:{type:`card`,id:t},data:{type:n.type,row:r.y+1,col:r.x+1,rowSpan:r.h,colSpan:r.w,hidden:!1}}),n.draft&&await e.save({id:n.id,parent:{type:`card`,id:t}}))}}for(let e of V)for(let[,t]of q){let n=t.findById(`card`,e);if(n){await t.removeDirectly({id:e,parent:{type:`card`,id:n.parent.id}});break}}V.clear(),P(`update:remote-page-result`,j.OK),U.value=!1}catch{P(`update:remote-page-result`,j.ERROR)}}}),_(()=>U.value,e=>{P(`update:remote-page-changed`,e)}),_(()=>N.gridLayout,(e,t)=>{e&&t&&e.rows===t.rows&&e.cols===t.cols||c(()=>{Q()})}),_(()=>N.gridCardStyle,()=>{c(()=>{at()})}),(r,i)=>(m(),e(`div`,be,[d(b(de),{gutter:10,justify:`center`,class:`h-full`},{default:T(()=>[d(b(fe),{span:16,class:`h-full overflow-hidden p-2`},{default:T(()=>[d(b(k),{"body-class":`p-0! flex flex-col overflow-hidden h-full`,class:g([b(M).b(),`mx-auto overflow-hidden h-full`]),style:ee(N.gridCardStyle)},{default:T(()=>[n(`div`,{class:g([b(M).e(`header`),`flex items-center px-2 flex-shrink-0 min-h-9 py-1 b-b b-b-solid gap-1.5`])},[n(`div`,xe,[d(b(s),{size:14,class:`flex-shrink-0`,color:`var(--el-text-color-regular)`},{default:T(()=>[d(b(t),{icon:I(N.page.icon,`mdi:view-dashboard-variant`)},null,8,[`icon`])]),_:1}),d(b(D),{size:`small`,class:`truncate`},{default:T(()=>[u(w(N.page.title),1)]),_:1})]),n(`div`,Se,[(m(!0),e(E,null,v(We.value,e=>(m(),f(b(O),{key:e.id,size:`small`,closable:``,class:g(b(M).e(`data-source-tag`)),onClose:t=>qe(e.id)},{default:T(()=>[n(`span`,{class:`inline-flex items-center gap-0.5`,onClick:t=>P(`editPageDataSource`,e.id)},[d(b(s),{size:12},{default:T(()=>[d(b(t),{icon:Ge(e)||`mdi:database`},null,8,[`icon`])]),_:2},1024),n(`span`,we,w(Ke(e)),1)],8,Ce)]),_:2},1032,[`class`,`onClose`]))),128)),F.value.length>0?(m(),f(b(ce),{key:0,width:280,trigger:`click`,placement:`bottom`},{reference:T(()=>[d(b(O),{size:`small`,type:`info`,class:`cursor-pointer flex-shrink-0`},{default:T(()=>[u(` +`+w(F.value.length),1)]),_:1})]),default:T(()=>[n(`div`,Te,[(m(!0),e(E,null,v(F.value,r=>(m(),e(`div`,{key:r.id,class:g([b(M).e(`overflow-item`),`flex items-center gap-1 py-1 px-1 rounded`])},[n(`div`,{class:`flex items-center gap-1 min-w-0 flex-1 cursor-pointer`,onClick:e=>P(`editPageDataSource`,r.id)},[d(b(s),{size:14,color:`var(--el-text-color-regular)`},{default:T(()=>[d(b(t),{icon:Ge(r)||`mdi:database`},null,8,[`icon`])]),_:2},1024),d(b(D),{size:`small`,class:`truncate`},{default:T(()=>[u(w(Ke(r)),1)]),_:2},1024)],8,Ee),n(`div`,De,[d(b(x),{size:`small`,text:``,circle:``,onClick:e=>P(`editPageDataSource`,r.id)},{icon:T(()=>[d(b(t),{icon:`mdi:pencil`,width:14})]),_:1},8,[`onClick`]),d(b(x),{size:`small`,text:``,type:`danger`,circle:``,onClick:e=>qe(r.id)},{icon:T(()=>[d(b(t),{icon:`mdi:trash-can-outline`,width:14})]),_:1},8,[`onClick`])])],2))),128))])]),_:1})):S(``,!0)]),d(b(x),{size:`small`,plain:``,class:`flex-shrink-0`,onClick:i[0]||=e=>P(`addPageDataSource`)},{icon:T(()=>[d(b(t),{icon:`mdi:plus`})]),_:1})],2),n(`div`,Oe,[L.value.length===0?(m(),e(`div`,ke,[d(b(ae),{description:b(y)(`pagesCardsPlugin.texts.cards.noCards`)},null,8,[`description`])])):S(``,!0),(m(!0),e(E,null,v(L.value,r=>(m(),e(`div`,{key:r.id,class:`b-b b-b-solid`,style:{"border-color":`var(--el-border-color-lighter)`}},[n(`div`,{class:g([b(M).e(`card-header`),`flex items-center justify-between px-2 h-8 min-h-8 b-b b-b-solid`])},[n(`div`,Ae,[r.icon?(m(),f(b(s),{key:0,size:14,color:`var(--el-text-color-regular)`},{default:T(()=>[d(b(t),{icon:I(r.icon,``)},null,8,[`icon`])]),_:2},1024)):S(``,!0),d(b(D),{size:`small`,class:`truncate font-medium`},{default:T(()=>[u(w(r.title),1)]),_:2},1024),d(b(O),{size:`small`,type:`info`,class:`ml-1`},{default:T(()=>[u(` #`+w(r.order),1)]),_:2},1024)]),n(`div`,je,[d(b(x),{size:`small`,plain:``,onClick:e=>P(`addTile`,r.id)},{icon:T(()=>[d(b(t),{icon:`mdi:plus`})]),_:1},8,[`onClick`]),d(b(x),{size:`small`,plain:``,onClick:e=>P(`editCard`,r.id)},{icon:T(()=>[d(b(t),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),d(b(x),{size:`small`,plain:``,type:`danger`,onClick:e=>P(`removeCard`,r.id)},{icon:T(()=>[d(b(t),{icon:`mdi:trash-can-outline`})]),_:1},8,[`onClick`])])],2),n(`div`,Me,[n(`div`,{ref_for:!0,ref:e=>$e(r.id,e),class:`card-grid-container`},null,512)])]))),128))])]),_:1},8,[`class`,`style`])]),_:1}),d(b(fe),{span:8,class:`h-full overflow-auto p-2`},{default:T(()=>[n(`div`,Ne,[N.displays.length>0?(m(),f(b(k),{key:0,"body-class":`p-2!`},{header:T(()=>[u(w(b(y)(`pagesCardsPlugin.headings.configure.display`)),1)]),default:T(()=>[N.displays.length>1?(m(),f(b(le),{key:0,"model-value":N.selectedDisplay?.id,size:`small`,class:`w-full`,onChange:i[1]||=e=>P(`selectDisplay`,e)},{default:T(()=>[(m(!0),e(E,null,v(N.displays,e=>(m(),f(b(ue),{key:e.id,value:e.id,label:e.name||e.macAddress},{default:T(()=>[n(`div`,Pe,[n(`span`,null,w(e.name||e.macAddress),1),e.screenWidth&&e.screenHeight?(m(),f(b(D),{key:0,type:`info`,size:`small`},{default:T(()=>[u(w(e.screenWidth)+`x`+w(e.screenHeight),1)]),_:2},1024)):S(``,!0)])]),_:2},1032,[`value`,`label`]))),128))]),_:1},8,[`model-value`])):N.selectedDisplay?(m(),e(`div`,Fe,[d(b(D),{size:`small`},{default:T(()=>[u(w(N.selectedDisplay.name||N.selectedDisplay.macAddress),1)]),_:1}),N.selectedDisplay.screenWidth&&N.selectedDisplay.screenHeight?(m(),f(b(D),{key:0,type:`info`,size:`small`},{default:T(()=>[u(w(N.selectedDisplay.screenWidth)+`x`+w(N.selectedDisplay.screenHeight)+` · `+w(N.gridLayout?.cols??`?`)+`x`+w(N.gridLayout?.rows??`?`),1)]),_:1})):S(``,!0)])):S(``,!0)]),_:1})):S(``,!0),d(b(k),{"body-class":`p-2!`},{header:T(()=>[u(w(b(y)(`pagesCardsPlugin.headings.configure.cards`)),1)]),default:T(()=>[n(`div`,Ie,[(m(!0),e(E,null,v(L.value,r=>(m(),e(`div`,{key:r.id,class:`flex items-center justify-between p-1 rounded hover:bg-gray-50 dark:hover:bg-gray-800 cursor-pointer`,onClick:e=>P(`editCard`,r.id)},[n(`div`,Re,[r.icon?(m(),f(b(s),{key:0,size:14},{default:T(()=>[d(b(t),{icon:I(r.icon,``)},null,8,[`icon`])]),_:2},1024)):S(``,!0),d(b(D),{size:`small`,class:`truncate`},{default:T(()=>[u(w(r.title),1)]),_:2},1024)]),d(b(D),{type:`info`,size:`small`},{default:T(()=>[u(w(Y(r.id).length)+` `+w(b(y)(`pagesCardsPlugin.texts.cards.tilesCount`)),1)]),_:2},1024)],8,Le))),128)),d(b(x),{size:`small`,class:`w-full mt-1`,onClick:i[2]||=e=>P(`addCard`)},{icon:T(()=>[d(b(t),{icon:`mdi:plus`})]),default:T(()=>[u(` `+w(b(y)(`pagesCardsPlugin.buttons.addCard.title`)),1)]),_:1})])]),_:1})])]),_:1})]),_:1})]))}});export{Be as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,Q as t,X as n,Z as r,et as i,nt as a,rt as o,tt as s}from"./common-CoPMwt15.js";var c=t=>t instanceof a?c(t.in):t instanceof s||t instanceof e?c(t._zod.def.innerType):t,l=e=>{let a=c(e);if(a instanceof i){let e={},t=a.shape;for(let n of Object.keys(t)){let i=t[n];if(!i)continue;let a=c(i);if(a instanceof r){let t=a._zod.def.defaultValue;e[n]=typeof t==`function`?t():t}else{let t=l(i);t&&typeof t==`object`&&Object.keys(t).length>0&&(e[n]=t)}}return e}if(a instanceof n||a instanceof o||a instanceof t)return{};if(a instanceof r){let e=a._zod.def.defaultValue;return(typeof e==`function`?e():e)??{}}return{}};export{l as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,D as t,Di as n,Dr as r,E as i,Er as a,Gr as o,H as s,Hr as c,Ki as l,Mr as u,Nr as d,O as f,Or as p,Pr as m,Qr as h,Si as g,T as _,Ti as v,Wi as y,Yr as b,b as x,bi as S,ci as C,di as w,ei as T,ji as E,jr as D,k as O,kr as k,n as A,qi as j,t as M,ui as N,vr as P,x as F,xr as I,yr as L,zr as R}from"./icon-with-child-CgZMNB3F.js";import{t as ee}from"./vue-meta.esm-browser.min-C5z7o_np.js";import{$r as te,Dn as ne,Dr as z,E as re,Er as ie,Gn as B,Hn as V,Jr as ae,Kr as oe,Nn as H,Pr as se,Sr as ce,Ur as U,Wn as le,Xr as ue,aa as de,b as fe,br as pe,f as W,m as me,mr as he,p as G,pr as ge,qn as K,qr as _e,xr as ve,zn as ye}from"./common-CoPMwt15.js";import{n as q,t as J}from"./table-OOxB7eZ0.js";import{n as be,t as xe}from"./form-BXQzDd7P.js";import{t as Se}from"./skeleton-DkyCzTs7.js";import{t as Ce}from"./alert-T9nrEIYw.js";import{n as we,r as Y,t as X}from"./select-O4KysHta.js";import{t as Te}from"./card-C50YgvLJ.js";import{t as Ee}from"./checkbox-lYuDNNRW.js";import{n as De,t as Oe}from"./collapse-BU-5F3-c.js";import{t as ke}from"./dialog-CkpSeL6j.js";import{t as Ae}from"./slider-BakOmJFk.js";import{n as je,t as Me}from"./steps-CcJujEC5.js";import"./components-CwI4oc4h.js";import{t as Ne}from"./directive-D42ORGRu.js";import{t as Pe}from"./useUuid-fukXwEj1.js";import{i as Fe}from"./composables-CnAm5-n0.js";import{c as Ie,f as Z,g as Q,l as Le,m as Re,p as ze,r as Be,t as Ve,w as He}from"./keys-DcE5nSGn.js";import{a as Ue,i as We,r as Ge,t as Ke,u as $}from"./useSpaces-Dl88_yBJ.js";import{c as qe,f as Je,o as Ye,s as Xe}from"./composables-p3aMxqQW.js";import{D as Ze}from"./composables-C_ClN_9k.js";import{f as Qe,n as $e,r as et,x as tt}from"./composables-ByJA5Pkr.js";import"./spaces-BsLvX_mm.js";var nt=()=>{let e=R(Ve);return{climateSignal:e?.climate,lightingSignal:e?.lighting,coversSignal:e?.covers,sensorSignal:e?.sensor,climateStateSignal:e?.climateState,lightingStateSignal:e?.lightingState,coversStateSignal:e?.coversState,sensorStateSignal:e?.sensorState}},rt={key:1,class:`flex justify-center py-4`},it={class:`flex items-center gap-2`},at={class:`flex flex-col`},ot={key:0,class:`text-xs text-gray-400`},st={class:`flex gap-1`},ct={class:`flex justify-between items-center mt-4`},lt={class:`text-xs text-gray-400`},ut=m({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=G(),c=W(),{lightingSignal:l}=nt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:B.main,label:o(`spacesHomeControlPlugin.lightingRoles.main`)},{value:B.task,label:o(`spacesHomeControlPlugin.lightingRoles.task`)},{value:B.ambient,label:o(`spacesHomeControlPlugin.lightingRoles.ambient`)},{value:B.accent,label:o(`spacesHomeControlPlugin.lightingRoles.accent`)},{value:B.night,label:o(`spacesHomeControlPlugin.lightingRoles.night`)},{value:B.other,label:o(`spacesHomeControlPlugin.lightingRoles.other`)},{value:B.hidden,label:o(`spacesHomeControlPlugin.lightingRoles.hidden`)}]),w=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasBrightness:e.has_brightness??!1,hasColorTemp:e.has_color_temp??!1,hasColor:e.has_color??!1}))}finally{m.value=!1}},D=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${Z}/spaces/{id}/lighting/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update lighting role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${Z}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear lighting role`);return}e.role=null}}catch{c.error(`Failed to update lighting role`)}},P=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${Z}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&w()}),C(()=>l?.value,()=>{i.space?.id&&w()}),b(()=>{i.space?.id&&w()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(se),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),d(E(Ce),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,rt,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(J),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(q),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,it,[d(E(t),{icon:`mdi:lightbulb`}),r(`div`,at,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,ot,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(q),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.title`),width:`160`},{default:N(({row:t})=>[d(E(Y),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>D(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(X),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(q),{label:``,width:`100`},{default:N(({row:e})=>[r(`div`,st,[e.hasBrightness?(h(),p(E(U),{key:0,type:`info`,size:`small`},{default:N(()=>[...a[0]||=[u(`Dim`,-1)]]),_:1})):k(``,!0),e.hasColor?(h(),p(E(U),{key:1,type:`success`,size:`small`},{default:N(()=>[...a[1]||=[u(`RGB`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,ct,[d(E(O),{size:`small`,loading:v.value,onClick:P},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,lt,j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:lightbulb`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),dt=m({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(ke),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(ut,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),ft={key:1,class:`flex justify-center py-4`},pt={class:`flex items-center gap-2`},mt={class:`flex flex-col`},ht={key:0,class:`text-xs text-gray-400`},gt={class:`flex gap-1`},_t={class:`flex justify-between items-center mt-4`},vt={class:`text-xs text-gray-400 ml-4`},yt=m({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=G(),c=W(),{climateSignal:l}=nt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:K.heating_only,label:o(`spacesHomeControlPlugin.climateRoles.${K.heating_only}`)},{value:K.cooling_only,label:o(`spacesHomeControlPlugin.climateRoles.${K.cooling_only}`)},{value:K.auto,label:o(`spacesHomeControlPlugin.climateRoles.${K.auto}`)},{value:K.auxiliary,label:o(`spacesHomeControlPlugin.climateRoles.${K.auxiliary}`)},{value:K.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${K.hidden}`)}]),w=a(()=>[{value:K.sensor,label:o(`spacesHomeControlPlugin.climateRoles.${K.sensor}`)},{value:K.hidden,label:o(`spacesHomeControlPlugin.climateRoles.${K.hidden}`)}]),D=e=>e.deviceCategory===`sensor`?w.value:S.value,P=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},F=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``,channelId:e.channel_id??null,channelName:e.channel_name??null,role:e.role?e.role:null,priority:e.priority??0,hasTemperature:e.has_temperature??!1,hasHumidity:e.has_humidity??!1}))}finally{m.value=!1}},L=async(e,t)=>{try{if(t){let n={device_id:e.deviceId,role:t};e.channelId&&(n.channel_id=e.channelId);let{error:r}=await s.client.POST(`/${A}/${Z}/spaces/{id}/climate/roles`,{params:{path:{id:i.space.id}},body:{data:n}});if(r){c.error(`Failed to update climate role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${Z}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(t){c.error(`Failed to clear climate role`);return}e.role=null}}catch{c.error(`Failed to update climate role`)}},R=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${Z}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await F(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&F()}),C(()=>l?.value,()=>{i.space?.id&&F()}),b(()=>{i.space?.id&&F()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(se),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),d(E(Ce),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,ft,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(J),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(q),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,pt,[d(E(t),{icon:P(n.deviceCategory)},null,8,[`icon`]),r(`div`,mt,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,ht,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(q),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.title`),width:`200`},{default:N(({row:t})=>[d(E(Y),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>L(t,e)},{default:N(()=>[(h(!0),e(I,null,T(D(t),e=>(h(),p(E(X),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(q),{label:``,width:`120`},{default:N(({row:e})=>[r(`div`,gt,[e.hasTemperature?(h(),p(E(U),{key:0,type:`warning`,size:`small`},{default:N(()=>[...a[0]||=[u(`Temp`,-1)]]),_:1})):k(``,!0),e.hasHumidity?(h(),p(E(U),{key:1,type:`info`,size:`small`},{default:N(()=>[...a[1]||=[u(`Humid`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,_t,[d(E(O),{size:`small`,loading:v.value,onClick:R},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,vt,j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:thermostat`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),bt=m({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(ke),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(yt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),xt={key:1,class:`flex justify-center py-4`},St={class:`flex items-center gap-2`},Ct={class:`flex flex-col`},wt={key:0,class:`text-xs text-gray-400`},Tt={class:`flex gap-1`},Et={class:`flex justify-between items-center mt-4`},Dt={class:`text-xs text-gray-400`},Ot=m({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=G(),c=W(),{coversSignal:l}=nt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>[{value:V.primary,label:o(`spacesHomeControlPlugin.coversRoles.primary`)},{value:V.blackout,label:o(`spacesHomeControlPlugin.coversRoles.blackout`)},{value:V.sheer,label:o(`spacesHomeControlPlugin.coversRoles.sheer`)},{value:V.outdoor,label:o(`spacesHomeControlPlugin.coversRoles.outdoor`)},{value:V.hidden,label:o(`spacesHomeControlPlugin.coversRoles.hidden`)}]),w=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasPosition:e.has_position??!1,hasCommand:e.has_command??!1,hasTilt:e.has_tilt??!1,coverType:e.cover_type??null}))}finally{m.value=!1}},D=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${Z}/spaces/{id}/covers/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update covers role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${Z}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear covers role`);return}e.role=null}}catch{c.error(`Failed to update covers role`)}},P=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${Z}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await w(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&w()}),C(()=>l?.value,()=>{i.space?.id&&w()}),b(()=>{i.space?.id&&w()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(se),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),d(E(Ce),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,xt,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(J),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(q),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:n})=>[r(`div`,St,[d(E(t),{icon:`mdi:blinds`}),r(`div`,Ct,[r(`span`,null,j(n.deviceName),1),n.channelName?(h(),e(`span`,wt,j(n.channelName),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(q),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.title`),width:`160`},{default:N(({row:t})=>[d(E(Y),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>D(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(X),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(E(q),{label:``,width:`100`},{default:N(({row:e})=>[r(`div`,Tt,[e.hasPosition?(h(),p(E(U),{key:0,type:`info`,size:`small`},{default:N(()=>[...a[0]||=[u(`Pos`,-1)]]),_:1})):k(``,!0),e.hasTilt?(h(),p(E(U),{key:1,type:`success`,size:`small`},{default:N(()=>[...a[1]||=[u(`Tilt`,-1)]]),_:1})):k(``,!0)])]),_:1})]),_:1},8,[`data`]),r(`div`,Et,[d(E(O),{size:`small`,loading:v.value,onClick:P},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Dt,j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:blinds`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),kt=m({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(ke),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(Ot,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),At={key:1,class:`flex justify-center py-4`},jt={class:`flex items-center gap-2`},Mt={class:`flex flex-col`},Nt={class:`text-xs text-gray-400`},Pt={class:`flex justify-between items-center mt-4`},Ft={class:`text-xs text-gray-400 ml-4`},It=m({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(n){let i=n,{t:o}=_(),s=G(),c=W(),{sensorSignal:l}=nt(),m=g(!1),v=g(!1),x=g([]),S=a(()=>Le.map(e=>({value:e,label:o(`spacesHomeControlPlugin.sensorRoles.${e}`)}))),w=e=>{switch(e){case`temperature`:return o(`spacesHomeControlPlugin.sensorRoles.categories.temperature`);case`humidity`:return o(`spacesHomeControlPlugin.sensorRoles.categories.humidity`);case`pressure`:return o(`spacesHomeControlPlugin.sensorRoles.categories.pressure`);case`illuminance`:return o(`spacesHomeControlPlugin.sensorRoles.categories.illuminance`);case`smoke`:return o(`spacesHomeControlPlugin.sensorRoles.categories.smoke`);case`gas`:return o(`spacesHomeControlPlugin.sensorRoles.categories.gas`);case`carbon_monoxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.carbon_dioxide`);case`leak`:return o(`spacesHomeControlPlugin.sensorRoles.categories.leak`);case`motion`:return o(`spacesHomeControlPlugin.sensorRoles.categories.motion`);case`occupancy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.occupancy`);case`contact`:return o(`spacesHomeControlPlugin.sensorRoles.categories.contact`);case`air_quality`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_quality`);case`air_particulate`:return o(`spacesHomeControlPlugin.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return o(`spacesHomeControlPlugin.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return o(`spacesHomeControlPlugin.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return o(`spacesHomeControlPlugin.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_generation`);case`electrical_power`:return o(`spacesHomeControlPlugin.sensorRoles.categories.electrical_power`);case`battery`:return o(`spacesHomeControlPlugin.sensorRoles.categories.battery`);default:return e}},D=async()=>{m.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e)return;x.value=(e.data??[]).map((e,t)=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category,role:e.role?e.role:null,priority:e.priority??t}))}finally{m.value=!1}},P=async(e,t)=>{try{if(t){let{error:n}=await s.client.POST(`/${A}/${Z}/spaces/{id}/sensors/roles`,{params:{path:{id:i.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(n){c.error(`Failed to update sensor role`);return}e.role=t}else{let{error:t}=await s.client.DELETE(`/${A}/${Z}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:i.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear sensor role`);return}e.role=null}}catch{c.error(`Failed to update sensor role`)}},F=async()=>{v.value=!0;try{let{data:e,error:t}=await s.client.POST(`/${A}/${Z}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:i.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await D(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{v.value=!1}};return C(()=>i.space?.id,e=>{e&&D()}),C(()=>l?.value,()=>{i.space?.id&&D()}),b(()=>{i.space?.id&&D()}),(i,a)=>(h(),e(`div`,{class:y({"mt-2":!n.hideHeader})},[n.hideHeader?k(``,!0):(h(),p(E(se),{key:0,"content-position":`left`,class:`mt-6!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),d(E(Ce),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.description`)),1)]),_:1}),m.value&&x.value.length===0?(h(),e(`div`,At,[d(E(t),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):x.value.length>0||m.value?(h(),e(I,{key:2},[d(E(J),{data:x.value,border:``,"max-height":`400px`},{default:N(()=>[d(E(q),{prop:`deviceName`,label:E(o)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:N(({row:e})=>[r(`div`,jt,[d(E(t),{icon:`mdi:motion-sensor`}),r(`div`,Mt,[r(`span`,null,j(e.deviceName),1),r(`span`,Nt,j(e.channelName),1)])])]),_:1},8,[`label`]),d(E(q),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:N(({row:e})=>[d(E(U),{size:`small`,type:`info`},{default:N(()=>[u(j(w(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(q),{label:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.title`),width:`200`},{default:N(({row:t})=>[d(E(Y),{"model-value":t.role??``,placeholder:E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":e=>P(t,e)},{default:N(()=>[(h(!0),e(I,null,T(S.value,e=>(h(),p(E(X),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`]),r(`div`,Pt,[d(E(O),{size:`small`,loading:v.value,onClick:F},{default:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),r(`div`,Ft,j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(h(),p(E(f),{key:3},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:motion-sensor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(o)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),Lt=m({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),o=a({get:()=>n.visible,set:e=>r(`update:visible`,e)}),s=()=>{r(`roles-changed`),o.value=!1};return(e,t)=>(h(),p(E(ke),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:E(i)(`spacesHomeControlPlugin.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:N(()=>[d(E(O),{type:`primary`,onClick:s},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[d(It,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Rt={class:`flex items-start gap-3`},zt={class:`flex-1 min-w-0 space-domain-card__content`},Bt={class:`space-domain-card__title`},Vt={class:`space-domain-card__description`},Ht={class:`space-domain-card__tags`},Ut={class:`flex items-center gap-1`},Wt={key:2,class:`space-domain-card__not-configured`},Gt={class:`space-domain-card__chevron`},Kt=i(m({name:`SpaceDomainCard`,__name:`space-domain-card`,props:{icon:{},iconColor:{},title:{},description:{},tags:{},loading:{type:Boolean}},emits:[`click`],setup(n,{emit:i}){let a=n,o=i,{t:s}=_();return(n,i)=>(h(),p(E(Te),{shadow:`hover`,class:`space-domain-card`,"body-class":`p-4!`,onClick:i[0]||=e=>o(`click`)},{default:N(()=>[r(`div`,Rt,[r(`div`,{class:`space-domain-card__icon`,style:l({backgroundColor:`var(--el-color-${a.iconColor}-light-9)`,color:`var(--el-color-${a.iconColor})`})},[d(E(t),{icon:a.icon},null,8,[`icon`])],4),r(`div`,zt,[r(`h3`,Bt,j(a.title),1),r(`p`,Vt,j(a.description),1),r(`div`,Ht,[a.loading?(h(),p(E(Se),{key:0,animated:``,rows:0,class:`w-20`})):a.tags.length>0?(h(!0),e(I,{key:1},T(a.tags,e=>(h(),p(E(U),{key:e.label,type:e.type,size:`small`},{default:N(()=>[r(`div`,Ut,[d(E(t),{icon:e.icon},null,8,[`icon`]),u(` `+j(e.label)+` `,1),d(E(oe),{value:e.count,type:e.type,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`]))),128)):(h(),e(`span`,Wt,j(E(s)(`spacesHomeControlPlugin.detail.domains.notConfigured`)),1))])]),r(`div`,Gt,[d(E(t),{icon:`mdi:chevron-right`})])])]),_:1}))}}),[[`__scopeId`,`data-v-69dd2703`]]),qt=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),Jt=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=qt(n.input_select??n.inputSelect)),{endpointId:e.endpoint_id,spaceId:e.space_id,deviceId:e.device_id,type:e.type,name:e.name,capabilities:{power:t.power??!1,volume:t.volume??!1,mute:t.mute??!1,playback:t.playback??!1,track:t.track??!1,inputSelect:t.input_select??!1,remoteCommands:t.remote_commands??!1},links:r}},Yt=e=>({id:e.id,spaceId:e.space_id,activityKey:e.activity_key,displayEndpointId:e.display_endpoint_id??null,audioEndpointId:e.audio_endpoint_id??null,sourceEndpointId:e.source_endpoint_id??null,remoteEndpointId:e.remote_endpoint_id??null,displayInputId:e.display_input_id??null,audioInputId:e.audio_input_id??null,sourceInputId:e.source_input_id??null,audioVolumePreset:e.audio_volume_preset??null,createdAt:e.created_at,updatedAt:e.updated_at??null}),Xt=e=>({stepIndex:e.step_index??e.stepIndex??0,critical:e.critical??!1,reason:e.reason??``,targetDeviceId:e.target_device_id??e.targetDeviceId,kind:e.kind,propertyId:e.property_id??e.propertyId,commandId:e.command_id??e.commandId,label:e.label,timestamp:e.timestamp}),Zt=e=>({displayDeviceId:e.display_device_id??e.displayDeviceId,audioDeviceId:e.audio_device_id??e.audioDeviceId,sourceDeviceId:e.source_device_id??e.sourceDeviceId,remoteDeviceId:e.remote_device_id??e.remoteDeviceId}),Qt=e=>({stepsTotal:e.steps_total??e.stepsTotal??0,stepsSucceeded:e.steps_succeeded??e.stepsSucceeded??0,stepsFailed:e.steps_failed??e.stepsFailed??0,failures:Array.isArray(e.failures)?e.failures.map(Xt):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(Xt):void 0,errors:Array.isArray(e.errors)?e.errors.map(Xt):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),$t=e=>{let t=e.action??{};return{targetDeviceId:e.target_device_id??e.targetDeviceId??``,action:{kind:t.kind??`unknown`,propertyId:t.property_id??t.propertyId,value:t.value},critical:e.critical??!1,label:e.label}},en=e=>{let t=e.resolved,n=e.plan??[],r=e.warnings??[];return{spaceId:e.space_id??e.spaceId??``,activityKey:e.activity_key??e.activityKey??``,resolved:t?Zt(t):{},plan:n.map($t),warnings:r.map(e=>({label:e.label??``}))}},tn=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?Zt(t):void 0,summary:n?Qt(n):void 0,warnings:e.warnings}},nn=e=>{let t,n;if(e.resolved)try{t=Zt(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=Qt(typeof e.last_result==`string`?JSON.parse(e.last_result):e.last_result)}catch{}return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t,summary:n,warnings:e.warnings,activatedAt:e.activated_at??null,updatedAt:e.updated_at??null}},rn=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},an=e=>{switch(e){case`watch`:return`mdi:television-play`;case`listen`:return`mdi:music`;case`gaming`:return`mdi:controller`;case`background`:return`mdi:music-note`;default:return`mdi:help-circle`}},on=e=>{let t=G(),n=g([]),r=g([]),i=g(null),o=g(!1),s=g(!1),c=g(!1),l=g(!1),u=g(!1),d=g(!1),f=g(!1),p=g(null),m=g(null),h=g(null),_=g(!1),v=g(null),y=g(null),b=a(()=>n.value),x=a(()=>r.value),S=async()=>{if(!(!e.value||o.value)){o.value=!0,p.value=null;try{let{data:r,error:i}=await t.client.GET(`/${A}/${Z}/spaces/{id}/media/endpoints`,{params:{path:{id:e.value}}});if(i||!r)throw Error(`Failed to fetch media endpoints`);let a=(r.data??{}).endpoints??[];n.value=a.map(Jt)}catch(e){p.value=e instanceof Error?e.message:`Unknown error`}finally{o.value=!1}}},C=async()=>{if(!(!e.value||s.value)){s.value=!0,m.value=null;try{let{data:n,error:i}=await t.client.GET(`/${A}/${Z}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to fetch media bindings`);let a=n.data??[];r.value=a.map(Yt)}catch(e){m.value=e instanceof Error?e.message:`Unknown error`}finally{s.value=!1}}},w=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${A}/${Z}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}},body:{data:{display_endpoint_id:i.displayEndpointId,audio_endpoint_id:i.audioEndpointId,source_endpoint_id:i.sourceEndpointId,remote_endpoint_id:i.remoteEndpointId,display_input_id:i.displayInputId,audio_input_id:i.audioInputId,source_input_id:i.sourceInputId,audio_volume_preset:i.audioVolumePreset}}});if(o||!a||!a.data){let e=o?.message??`Failed to save binding`;throw Error(e)}let s=Yt(a.data),c=r.value.findIndex(e=>e.id===s.id);return c>=0&&(r.value[c]=s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},T=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.POST(`/${A}/${Z}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}},body:{data:{activity_key:n,display_endpoint_id:i.displayEndpointId??void 0,audio_endpoint_id:i.audioEndpointId??void 0,source_endpoint_id:i.sourceEndpointId??void 0,remote_endpoint_id:i.remoteEndpointId??void 0,display_input_id:i.displayInputId??void 0,audio_input_id:i.audioInputId??void 0,source_input_id:i.sourceInputId??void 0,audio_volume_preset:i.audioVolumePreset??void 0}}});if(o||!a||!a.data){let e=o?.message??`Failed to create binding`;throw Error(e)}let s=Yt(a.data);return r.value.push(s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},E=async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{error:i}=await t.client.DELETE(`/${A}/${Z}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}}});if(i){let e=i?.message??`Failed to delete binding`;throw Error(e)}r.value=r.value.filter(e=>e.id!==n)}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},D=async()=>{if(e.value){f.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${A}/${Z}/spaces/{id}/media/bindings/apply-defaults`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to apply defaults`);let a=n.data??[];r.value=a.map(Yt)}catch(e){throw m.value=e instanceof Error?e.message:`Unknown error`,e}finally{f.value=!1}}},O=async()=>{if(!(!e.value||c.value)){c.value=!0,v.value=null,y.value=null;try{let{data:n,error:r}=await t.client.GET(`/${A}/${Z}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);i.value=n.data?nn(n.data):null}catch(e){v.value=e instanceof Error?e.message:`Unknown error`,y.value=`fetch`}finally{c.value=!1}}},k=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await O(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:b,bindings:x,activeState:i,fetchingEndpoints:o,fetchingBindings:s,fetchingActiveState:c,activating:l,deactivating:u,previewing:_,savingBinding:d,applyingDefaults:f,endpointsError:p,bindingsError:m,saveError:h,activationError:v,activationErrorSource:y,fetchEndpoints:S,fetchBindings:C,fetchActiveState:O,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);l.value=!0,v.value=null,y.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${A}/${Z}/spaces/{id}/media/activities/{activityKey}/activate`,{params:{path:{id:e.value,activityKey:n}}});if(a||!r||!r.data){let e=a?.message??`Failed to activate activity`;throw Error(e)}let o=tn(r.data);return i.value=o,o.state===`activating`&&await k(),i.value??o}catch(e){throw v.value=e instanceof Error?e.message:`Unknown error`,y.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{l.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);_.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${A}/${Z}/spaces/{id}/media/activities/{activityKey}/preview`,{params:{path:{id:e.value,activityKey:n}}});if(i||!r||!r.data){let e=i?.message??`Failed to preview activity`;throw Error(e)}return en(r.data)}finally{_.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);u.value=!0,v.value=null,y.value=null;try{let{data:n,error:r}=await t.client.POST(`/${A}/${Z}/spaces/{id}/media/activities/deactivate`,{params:{path:{id:e.value}}});if(r||!n||!n.data){let e=r?.message??`Failed to deactivate`;throw Error(e)}let a=tn(n.data);return i.value=a,a}catch(e){throw v.value=e instanceof Error?e.message:`Unknown error`,y.value=`deactivate`,e}finally{u.value=!1}},saveBinding:w,createBinding:T,deleteBinding:E,applyDefaults:D,endpointsByType:e=>a(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},sn=[`element-loading-text`],cn={class:`flex items-center gap-3 flex-1 pr-2`},ln={class:`font-medium text-sm`},un={class:`flex items-center justify-between w-full`},dn={class:`flex gap-1 ml-2`},fn={class:`flex items-center justify-between w-full`},pn={class:`flex gap-1 ml-2`},mn={class:`flex items-center justify-between w-full`},hn={class:`flex gap-1 ml-2`},gn={class:`flex justify-between items-center mt-2`},_n={class:`flex items-center gap-2`},vn={class:`text-xs text-gray-400`},yn=m({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(n,{emit:i}){let s=n,l=i,{t:f}=_(),m=W(),v=a({get:()=>s.visible,set:e=>l(`update:visible`,e)}),{endpoints:b,activeState:x,fetchingEndpoints:D,fetchingBindings:A,activating:M,deactivating:P,applyingDefaults:F,activationError:R,fetchEndpoints:ee,fetchBindings:te,fetchActiveState:ne,activate:z,deactivate:re,saveBinding:ie,createBinding:B,deleteBinding:V,applyDefaults:ae,findBindingByActivity:oe,endpointsByType:se}=on(a(()=>s.space?.id)),ce=[H.watch,H.listen,H.gaming,H.background],de=g(``),fe=g(null),pe=g(!1),me=a(()=>D.value||A.value),he=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),G=S({[H.watch]:he(),[H.listen]:he(),[H.gaming]:he(),[H.background]:he()}),ge=S({[H.watch]:he(),[H.listen]:he(),[H.gaming]:he(),[H.background]:he()}),K=S({[H.watch]:!1,[H.listen]:!1,[H.gaming]:!1,[H.background]:!1}),_e=S({[H.watch]:null,[H.listen]:null,[H.gaming]:null,[H.background]:null}),ve=se(le.display),ye=se(le.audio_output),q=se(le.source),J=se(le.remote_target),Se=(e,t)=>{G[e].displayEndpointId=t?.displayEndpointId??``,G[e].audioEndpointId=t?.audioEndpointId??``,G[e].sourceEndpointId=t?.sourceEndpointId??``,G[e].remoteEndpointId=t?.remoteEndpointId??``,G[e].displayInputId=t?.displayInputId??``,G[e].audioInputId=t?.audioInputId??``,G[e].sourceInputId=t?.sourceInputId??``,G[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(ge[e],{...G[e]})},we=()=>{for(let e of ce){let t=oe(e);Se(e,t)}},Te=e=>{let t=G[e],n=ge[e];return t.displayEndpointId!==n.displayEndpointId||t.audioEndpointId!==n.audioEndpointId||t.sourceEndpointId!==n.sourceEndpointId||t.remoteEndpointId!==n.remoteEndpointId||t.displayInputId!==n.displayInputId||t.audioInputId!==n.audioInputId||t.sourceInputId!==n.sourceInputId||t.audioVolumePreset!==n.audioVolumePreset},Ee=(e,t)=>{let n=G[e][t];return n?b.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},je=e=>{let t=G[e].audioEndpointId;return t?b.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Me=e=>{let t=b.value.find(t=>t.endpointId===e);return t?.links?.inputSelect?.dataType===`enum`&&Array.isArray(t.links.inputSelect.format)&&t.links.inputSelect.format.length>0?{type:`select`,options:t.links.inputSelect.format}:{type:`text`}},Pe=e=>{let t=Me(e);return t.type===`select`?t.options:[]},Fe=e=>{let t=`spacesHomeControlPlugin.media.activities.mediaInputSources.${e}`,n=f(t);return n===t?String(e):n},Ie=e=>{let t=` (${f(`spacesHomeControlPlugin.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},Z=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Q=e=>{let t=x.value?.activityKey===e&&x.value?.state!==`deactivated`,n=t?x.value.state:void 0,r=oe(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Le=e=>{let{isActive:t,state:n}=Q(e);return t&&n?Z(n):rn(e)},Re=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Q(e);return f(t?`spacesHomeControlPlugin.media.activities.activationState.${n}`:r?i?`spacesHomeControlPlugin.media.activities.status.configured`:`spacesHomeControlPlugin.media.activities.status.incomplete`:`spacesHomeControlPlugin.media.activities.status.unconfigured`)},ze=new Map,Be=e=>{let t=G[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:Ee(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:Ee(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:Ee(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:je(e)?t.audioVolumePreset:null}},Ve=async e=>{if(!K[e]){K[e]=!0,_e[e]=null;try{let t=oe(e),n=Be(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...G[e]};r&&t?(await V(t.id),Se(e,void 0),Object.assign(ge[e],i)):r?Object.assign(ge[e],i):t?(await ie(t.id,n),Object.assign(ge[e],i)):(await B(e,n),Object.assign(ge[e],i))}catch(t){_e[e]=t instanceof Error?t.message:`Failed to save`}finally{K[e]=!1}}},He=e=>{let t=ze.get(e);t&&clearTimeout(t),ze.set(e,setTimeout(()=>{ze.delete(e),Ve(e)},500))};for(let e of ce)C(()=>G[e],()=>{!pe.value||!Te(e)||He(e)},{deep:!0}),C(()=>G[e].displayEndpointId,()=>{pe.value&&(G[e].displayInputId=``)}),C(()=>G[e].audioEndpointId,()=>{pe.value&&(G[e].audioInputId=``,G[e].audioVolumePreset=30)}),C(()=>G[e].sourceEndpointId,()=>{pe.value&&(G[e].sourceInputId=``)});let Ue=async e=>{fe.value=e;try{await z(e),m.success(f(`spacesHomeControlPlugin.media.activities.activateSuccess`))}catch{m.error(f(`spacesHomeControlPlugin.media.activities.activateFailed`))}finally{fe.value=null}},We=async()=>{try{await re(),m.success(f(`spacesHomeControlPlugin.media.activities.deactivateSuccess`))}catch{R.value=null,m.error(f(`spacesHomeControlPlugin.media.activities.deactivateFailed`))}},Ge=async()=>{pe.value=!1;try{await ae(),we(),m.success(f(`spacesHomeControlPlugin.media.activities.defaultsApplied`))}catch{m.error(f(`spacesHomeControlPlugin.media.activities.defaultsFailed`))}await c(),pe.value=!0},Ke=async()=>{pe.value=!1,await Promise.all([ee(),te(),ne()]),we(),await c(),pe.value=!0},$=()=>{let e=[],t=new Set;for(let[n,r]of ze)clearTimeout(r),t.add(n),e.push(Ve(n));ze.clear();for(let n of ce)!t.has(n)&&Te(n)&&e.push(Ve(n));return e};o(()=>{Promise.allSettled($())});let qe=async()=>{pe.value=!1,await Promise.allSettled($()),l(`bindings-changed`),v.value=!1};return(n,i)=>(h(),p(E(ke),{modelValue:v.value,"onUpdate:modelValue":i[2]||=e=>v.value=e,title:E(f)(`spacesHomeControlPlugin.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:Ke,onClose:qe},{footer:N(()=>[d(E(O),{type:`primary`,onClick:qe},{default:N(()=>[u(j(E(f)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:N(()=>[w((h(),e(`div`,{"element-loading-text":E(f)(`spacesHomeControlPlugin.media.activities.loading`),class:`flex flex-col gap-4`},[d(E(Ce),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.activities.description`)),1)]),_:1}),d(E(Oe),{modelValue:de.value,"onUpdate:modelValue":i[0]||=e=>de.value=e,accordion:``},{default:N(()=>[(h(),e(I,null,T(ce,n=>d(E(De),{key:n,name:n},{title:N(()=>[r(`div`,cn,[d(E(t),{icon:E(an)(n),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),r(`span`,ln,j(E(f)(`spacesHomeControlPlugin.media.activityLabels.${n}`)),1),d(E(U),{type:Le(n),size:`small`,round:``},{default:N(()=>[u(j(Re(n)),1)]),_:2},1032,[`type`]),K[n]?(h(),p(E(t),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):k(``,!0),i[3]||=r(`div`,{class:`flex-1`},null,-1),d(E(O),{size:`small`,type:`success`,circle:``,loading:E(M)&&fe.value===n,disabled:E(M)||E(P)||E(x)?.state===`activating`,title:E(f)(`spacesHomeControlPlugin.media.activities.run`),onClick:L(e=>Ue(n),[`stop`])},{icon:N(()=>[d(E(t),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:N(()=>[d(E(xe),{"label-position":`top`,class:`flex flex-col gap-2`},{default:N(()=>[r(`div`,{class:y(Ee(n,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(be),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.display`)},{default:N(()=>[d(E(Y),{modelValue:G[n].displayEndpointId,"onUpdate:modelValue":e=>G[n].displayEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(ve),e=>(h(),p(E(X),{key:e.endpointId,label:Ie(e),value:e.endpointId},{default:N(()=>[r(`div`,un,[r(`span`,null,j(Ie(e)),1),r(`div`,dn,[e.capabilities.inputSelect?(h(),p(E(U),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ee(n,`displayEndpointId`)?(h(),p(E(be),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInput`)},{default:N(()=>[Me(G[n].displayEndpointId).type===`select`?(h(),p(E(Y),{key:0,modelValue:G[n].displayInputId,"onUpdate:modelValue":e=>G[n].displayInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Pe(G[n].displayEndpointId),e=>(h(),p(E(X),{key:String(e),label:Fe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(ue),{key:1,modelValue:G[n].displayInputId,"onUpdate:modelValue":e=>G[n].displayInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),r(`div`,{class:y(Ee(n,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(be),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.audio`)},{default:N(()=>[d(E(Y),{modelValue:G[n].audioEndpointId,"onUpdate:modelValue":e=>G[n].audioEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(ye),e=>(h(),p(E(X),{key:e.endpointId,label:Ie(e),value:e.endpointId},{default:N(()=>[r(`div`,fn,[r(`span`,null,j(Ie(e)),1),r(`div`,pn,[e.capabilities.volume?(h(),p(E(U),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.volume`)),1)]),_:1})):k(``,!0),e.capabilities.inputSelect?(h(),p(E(U),{key:1,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ee(n,`audioEndpointId`)?(h(),p(E(be),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInput`)},{default:N(()=>[Me(G[n].audioEndpointId).type===`select`?(h(),p(E(Y),{key:0,modelValue:G[n].audioInputId,"onUpdate:modelValue":e=>G[n].audioInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Pe(G[n].audioEndpointId),e=>(h(),p(E(X),{key:String(e),label:Fe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(ue),{key:1,modelValue:G[n].audioInputId,"onUpdate:modelValue":e=>G[n].audioInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),je(n)?(h(),p(E(be),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.audioVolume`)},{default:N(()=>[d(E(Ae),{modelValue:G[n].audioVolumePreset,"onUpdate:modelValue":e=>G[n].audioVolumePreset=e,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):k(``,!0),r(`div`,{class:y(Ee(n,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(E(be),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.source`)},{default:N(()=>[d(E(Y),{modelValue:G[n].sourceEndpointId,"onUpdate:modelValue":e=>G[n].sourceEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(q),e=>(h(),p(E(X),{key:e.endpointId,label:Ie(e),value:e.endpointId},{default:N(()=>[r(`div`,mn,[r(`span`,null,j(Ie(e)),1),r(`div`,hn,[e.capabilities.inputSelect?(h(),p(E(U),{key:0,size:`small`,type:`info`},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):k(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ee(n,`sourceEndpointId`)?(h(),p(E(be),{key:0,label:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInput`)},{default:N(()=>[Me(G[n].sourceEndpointId).type===`select`?(h(),p(E(Y),{key:0,modelValue:G[n].sourceInputId,"onUpdate:modelValue":e=>G[n].sourceInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(Pe(G[n].sourceEndpointId),e=>(h(),p(E(X),{key:String(e),label:Fe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(h(),p(E(ue),{key:1,modelValue:G[n].sourceInputId,"onUpdate:modelValue":e=>G[n].sourceInputId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):k(``,!0)],2),d(E(be),{label:E(f)(`spacesHomeControlPlugin.media.activities.slots.remote`)},{default:N(()=>[d(E(Y),{modelValue:G[n].remoteEndpointId,"onUpdate:modelValue":e=>G[n].remoteEndpointId=e,placeholder:E(f)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(J),e=>(h(),p(E(X),{key:e.endpointId,label:Ie(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),_e[n]?(h(),p(E(Ce),{key:1,type:`error`,title:E(f)(`spacesHomeControlPlugin.media.activities.saveError`),description:_e[n],"show-icon":``,closable:``,onClose:e=>_e[n]=null},null,8,[`title`,`description`,`onClose`])):k(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),r(`div`,gn,[r(`div`,_n,[d(E(O),{size:`small`,loading:E(F),onClick:Ge},{default:N(()=>[u(j(E(f)(`spacesHomeControlPlugin.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),E(x)&&E(x).state!==`deactivated`?(h(),p(E(O),{key:0,size:`small`,type:`warning`,loading:E(P),disabled:E(M),onClick:We},{icon:N(()=>[d(E(t),{icon:`mdi:stop`})]),default:N(()=>[u(` `+j(E(f)(`spacesHomeControlPlugin.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):k(``,!0)]),r(`div`,vn,j(E(f)(`spacesHomeControlPlugin.media.activities.applyDefaultsHint`)),1)]),E(R)?(h(),p(E(Ce),{key:0,type:`error`,title:E(f)(`spacesHomeControlPlugin.media.activities.activateFailed`),description:E(R),"show-icon":``,closable:``,onClose:i[1]||=e=>R.value=null},null,8,[`title`,`description`])):k(``,!0)],8,sn)),[[E(Ne),me.value]])]),_:1},8,[`modelValue`,`title`]))}}),bn={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},xn=m({name:`SpaceDomainsSection`,__name:`space-domains-section`,props:{space:{}},setup(t,{expose:n}){let i=t,{t:o}=_(),s=G(),{lightingSignal:c,climateSignal:l,coversSignal:u,sensorSignal:f}=nt(),m=g(!1),v=g(!1),y=g(!1),x=g(!1),S=g(!1),w=g(!1),E=g([]),D=e=>{switch(e){case B.main:return`primary`;case B.task:return`warning`;case B.ambient:return`success`;case B.accent:return`danger`;case B.night:default:return`info`}},O=e=>{switch(e){case B.main:return`mdi:lightbulb`;case B.task:return`mdi:desk-lamp`;case B.ambient:return`mdi:lightbulb-group`;case B.accent:return`mdi:spotlight-beam`;case B.night:return`mdi:weather-night`;default:return`mdi:lightbulb-outline`}},k=async()=>{if(i.space?.id){w.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){E.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[B.main,B.task,B.ambient,B.accent,B.night,B.other];E.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.lightingRoles.${e}`),type:D(e),icon:O(e),count:t}))}finally{w.value=!1}}},j=g(!1),M=g([]),N=e=>{switch(e){case K.heating_only:return`danger`;case K.cooling_only:return`primary`;case K.auto:return`success`;case K.auxiliary:return`warning`;default:return`info`}},P=e=>{switch(e){case K.heating_only:return`mdi:fire`;case K.cooling_only:return`mdi:snowflake`;case K.auto:return`mdi:thermostat-auto`;case K.auxiliary:return`mdi:radiator`;case K.sensor:return`mdi:thermometer`;default:return`mdi:eye-off`}},F=async()=>{if(i.space?.id){j.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){M.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===K.hidden)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[K.heating_only,K.cooling_only,K.auto,K.auxiliary,K.sensor];M.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.climateRoles.${e}`),type:N(e),icon:P(e),count:t}))}finally{j.value=!1}}},L=g(!1),R=g([]),ee=e=>{switch(e){case V.primary:return`primary`;case V.blackout:return`danger`;case V.sheer:return`success`;case V.outdoor:return`warning`;default:return`info`}},te=e=>{switch(e){case V.primary:return`mdi:blinds`;case V.blackout:return`mdi:blinds-horizontal-closed`;case V.sheer:return`mdi:curtains`;case V.outdoor:return`mdi:window-shutter`;default:return`mdi:blinds-horizontal`}},ne=async()=>{if(i.space?.id){L.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){R.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}let a=[V.primary,V.blackout,V.sheer,V.outdoor,V.hidden];R.value=Array.from(r.entries()).sort(([e],[t])=>a.indexOf(e)-a.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.coversRoles.${e}`),type:ee(e),icon:te(e),count:t}))}finally{L.value=!1}}},z=g(!1),re=g([]),ie=e=>{switch(e){case Re.ENVIRONMENT:return`success`;case Re.SAFETY:return`danger`;case Re.SECURITY:return`warning`;case Re.AIR_QUALITY:return`info`;case Re.ENERGY:return`primary`;default:return`info`}},ae=e=>{switch(e){case Re.ENVIRONMENT:return`mdi:thermometer`;case Re.SAFETY:return`mdi:shield-alert`;case Re.SECURITY:return`mdi:motion-sensor`;case Re.AIR_QUALITY:return`mdi:air-filter`;case Re.ENERGY:return`mdi:lightning-bolt`;default:return`mdi:chart-line`}},oe=async()=>{if(i.space?.id){z.value=!0;try{let{data:e,error:t}=await s.client.GET(`/${A}/${Z}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){re.value=[];return}let n=e.data??[],r=new Map;for(let e of n){if(!e.role||e.role===Re.HIDDEN)continue;let t=e.role;r.set(t,(r.get(t)??0)+1)}re.value=Array.from(r.entries()).sort(([e],[t])=>Le.indexOf(e)-Le.indexOf(t)).map(([e,t])=>({label:o(`spacesHomeControlPlugin.sensorRoles.${e}`),type:ie(e),icon:ae(e),count:t}))}finally{z.value=!1}}},{fetchEndpoints:se,fetchBindings:ce,findBindingByActivity:U}=on(a(()=>i.space?.id)),le=g(!1),ue=g([]),de=[H.watch,H.listen,H.gaming,H.background],fe=async()=>{if(i.space?.id){le.value=!0;try{await Promise.all([se(),ce()]);let e=[];for(let t of de){let n=U(t);if(!n)continue;let r=[n.displayEndpointId,n.audioEndpointId,n.sourceEndpointId,n.remoteEndpointId].filter(Boolean).length;e.push({label:o(`spacesHomeControlPlugin.media.activityLabels.${t}`),type:rn(t),icon:an(t),count:r})}ue.value=e}catch{ue.value=[]}finally{le.value=!1}}},pe=a(()=>[{key:`lighting`,icon:`mdi:lightbulb`,iconColor:`warning`,title:o(`spacesHomeControlPlugin.detail.domains.lighting.title`),description:o(`spacesHomeControlPlugin.detail.domains.lighting.description`),tags:E.value,loading:w.value,openDialog:()=>{m.value=!0}},{key:`climate`,icon:`mdi:thermostat`,iconColor:`danger`,title:o(`spacesHomeControlPlugin.detail.domains.climate.title`),description:o(`spacesHomeControlPlugin.detail.domains.climate.description`),tags:M.value,loading:j.value,openDialog:()=>{v.value=!0}},{key:`covers`,icon:`mdi:blinds`,iconColor:`primary`,title:o(`spacesHomeControlPlugin.detail.domains.covers.title`),description:o(`spacesHomeControlPlugin.detail.domains.covers.description`),tags:R.value,loading:L.value,openDialog:()=>{y.value=!0}},{key:`sensor`,icon:`mdi:chart-bell-curve`,iconColor:`success`,title:o(`spacesHomeControlPlugin.detail.domains.sensor.title`),description:o(`spacesHomeControlPlugin.detail.domains.sensor.description`),tags:re.value,loading:z.value,openDialog:()=>{x.value=!0}},{key:`media`,icon:`mdi:play-box-multiple`,iconColor:`info`,title:o(`spacesHomeControlPlugin.detail.domains.media.title`),description:o(`spacesHomeControlPlugin.detail.domains.media.description`),tags:ue.value,loading:le.value,openDialog:()=>{S.value=!0}}]),W=()=>{k(),F(),ne(),oe(),fe()};C(()=>c?.value,()=>{i.space?.id&&k()}),C(()=>l?.value,()=>{i.space?.id&&F()}),C(()=>u?.value,()=>{i.space?.id&&ne()}),C(()=>f?.value,()=>{i.space?.id&&oe()}),C(()=>i.space?.id,e=>{e&&W()});let me=()=>{k()},he=()=>{F()},ge=()=>{ne()},_e=()=>{oe()},ve=()=>{fe()};return b(()=>{i.space?.id&&W()}),n({reload:W}),(t,n)=>(h(),e(I,null,[r(`div`,bn,[(h(!0),e(I,null,T(pe.value,e=>(h(),p(Kt,{key:e.key,icon:e.icon,"icon-color":e.iconColor,title:e.title,description:e.description,tags:e.tags,loading:e.loading,onClick:t=>e.openDialog()},null,8,[`icon`,`icon-color`,`title`,`description`,`tags`,`loading`,`onClick`]))),128))]),d(dt,{visible:m.value,"onUpdate:visible":n[0]||=e=>m.value=e,space:i.space,onRolesChanged:me},null,8,[`visible`,`space`]),d(bt,{visible:v.value,"onUpdate:visible":n[1]||=e=>v.value=e,space:i.space,onRolesChanged:he},null,8,[`visible`,`space`]),d(kt,{visible:y.value,"onUpdate:visible":n[2]||=e=>y.value=e,space:i.space,onRolesChanged:ge},null,8,[`visible`,`space`]),d(Lt,{visible:x.value,"onUpdate:visible":n[3]||=e=>x.value=e,space:i.space,onRolesChanged:_e},null,8,[`visible`,`space`]),d(yn,{visible:S.value,"onUpdate:visible":n[4]||=e=>S.value=e,space:i.space,onBindingsChanged:ve},null,8,[`visible`,`space`])],64))}}),Sn={class:`flex items-center gap-2`},Cn={class:`font-medium`},wn={key:0,class:`text-xs text-gray-500`},Tn={class:`flex items-center gap-2 justify-end`},En={key:0,class:`h-full w-full leading-normal`},Dn={key:1,class:`h-full w-full leading-normal`},On={class:`mb-4`},kn=m({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=W(),{roomSpaces:v}=Ke(),{devices:y,loading:x,firstLoadFinished:S,fetchDevices:C,removeDevice:D,reassignDevice:A}=Xe(n(s,`spaceId`),n(s,`spaceType`)),P=g(!1),F=g(null),L=g(null),R=g(!1),ee=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,te=()=>{c(`open-add-dialog`)},ne=e=>{F.value=e,L.value=null,P.value=!0},z=async()=>{if(F.value){R.value=!0;try{await A(F.value.id,L.value),P.value=!1,m.success(l(`spacesModule.messages.edited`,{space:F.value.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{R.value=!1}}},re=e=>{ie.confirm(l(`spacesModule.detail.devices.confirmRemove`,{name:e.name}),l(`spacesModule.detail.devices.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await D(e.id),m.success(l(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesModule.detail.devices.removeCanceled`))})};return b(async()=>{S.value||await C()}),a({openAddDialog:te,fetchDevices:C}),(n,i)=>(h(),e(I,null,[w((h(),p(E(J),{"element-loading-text":E(l)(`spacesModule.detail.devices.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,En,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,Dn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesModule.detail.devices.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:te},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(q),{label:E(l)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,Sn,[d(E(_e),{size:32},{default:N(()=>[d(E(t),{icon:ee(n.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,Cn,j(n.name),1),n.description?(h(),e(`div`,wn,j(n.description),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(q),{label:E(l)(`spacesModule.table.columns.category`),width:`150`},{default:N(({row:e})=>[d(E(U),{size:`small`,type:`info`},{default:N(()=>[u(j(E(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(q),{label:E(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(U),{type:e.status?.online?`success`:`danger`,size:`small`},{default:N(()=>[u(j(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(q),{label:``,width:s.spaceType===E(Q).ZONE?110:220,align:`right`},{default:N(({row:e})=>[r(`div`,Tn,[s.spaceType===E(Q).ROOM?(h(),p(E(O),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>ne(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):k(``,!0),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>re(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[E(Ne),E(x)]]),d(E(ke),{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,title:E(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>P.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:R.value,onClick:z},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,On,j(E(l)(`spacesModule.detail.devices.selectRoom`)),1),d(E(Y),{modelValue:L.value,"onUpdate:modelValue":i[0]||=e=>L.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),An={class:`flex items-center gap-2`},jn={class:`block`},Mn={key:1,class:`font-medium`},Nn={class:`flex items-center gap-2 justify-end`},Pn={key:0,class:`h-full w-full leading-normal`},Fn={key:1,class:`h-full w-full leading-normal`},In={class:`mb-4`},Ln=m({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=W(),{roomSpaces:v}=Ke(),{displays:y,loading:x,fetchDisplays:S,removeDisplay:C,reassignDisplay:D}=Ye(n(s,`spaceId`)),k=g(!1),A=g(null),P=g(null),F=g(!1),L=()=>{c(`open-add-dialog`)},R=e=>{A.value=e,P.value=null,k.value=!0},ee=async()=>{if(A.value){F.value=!0;try{await D(A.value.id,P.value),k.value=!1,m.success(l(`spacesModule.messages.edited`,{space:A.value.name||A.value.macAddress}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{F.value=!1}}},te=e=>{let t=e.name||e.macAddress;ie.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await C(e.id),m.success(l(`spacesModule.detail.displays.removed`,{name:t}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesModule.detail.displays.removeCanceled`))})};return b(async()=>{await S()}),a({openAddDialog:L,fetchDisplays:S}),(n,i)=>(h(),e(I,null,[w((h(),p(E(J),{"element-loading-text":E(l)(`spacesModule.detail.displays.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,Pn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,Fn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesModule.detail.displays.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:L},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(q),{label:E(l)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,An,[d(E(_e),{size:32},{default:N(()=>[d(E(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(h(),e(I,{key:0},[r(`strong`,jn,j(n.name),1),d(E(z),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.macAddress),1)]),_:2},1024)],64)):(h(),e(`div`,Mn,j(n.macAddress),1))])])]),_:1},8,[`label`]),d(E(q),{label:E(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(U),{type:e.online?`success`:`danger`,size:`small`},{default:N(()=>[u(j(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(q),{label:``,width:`220`,align:`right`},{default:N(({row:e})=>[r(`div`,Nn,[d(E(O),{type:`warning`,plain:``,size:`small`,onClick:t=>R(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>te(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[E(Ne),E(x)]]),d(E(ke),{modelValue:k.value,"onUpdate:modelValue":i[2]||=e=>k.value=e,title:E(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>k.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:F.value,onClick:ee},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,In,j(E(l)(`spacesModule.detail.displays.selectRoom`)),1),d(E(Y),{modelValue:P.value,"onUpdate:modelValue":i[0]||=e=>P.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Rn=e=>{let t=fe().getStore(Qe),{semaphore:n,firstLoad:r}=de(t),i=g(!1);return{scenes:a(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:a(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:a(()=>r.value),fetchScenes:async()=>{await t.fetch()},reassignScene:async(e,n)=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:n}})}finally{i.value=!1}},removeScene:async e=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:null}})}finally{i.value=!1}}}};function zn(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var Bn=e=>e||null,Vn=e=>{if(e)return e},Hn=()=>{let e=re(),{generate:t}=Pe(),n=S({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),r=a(()=>n.isLoading),i=a(()=>n.error),o=a(()=>n.currentStep),s=a(()=>n.existingSpaces),c=a(()=>n.spaces),l=a(()=>n.proposedSpaces),u=a(()=>n.customSpaces),d=a(()=>n.matchedSpaces),f=a(()=>n.deviceAssignments),p=a(()=>n.displayAssignments),m=a(()=>n.zoneAssignments),h=a({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),g=a(()=>v.value.filter(e=>e.type===Q.ZONE&&e.category&&Be.includes(e.category))),_=a(()=>n.proposedSpaces.filter(e=>!n.matchedSpaces.some(t=>zn(t.proposedName)===zn(e.name)))),v=a(()=>{let e=new Map;for(let t of n.existingSpaces)e.set(t.id,t);for(let t of n.spaces)e.set(t.id,t);return Array.from(e.values())}),y=async()=>{n.isLoading=!0,n.error=null;try{let r=await e.GET(`/modules/spaces/spaces/propose`);if(r.error||!r.data?.data)throw new $(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=Bn(e.category),r=n?ze[n]:null,i=r?.description??null,a=r?.icon??null,o=e.name??``;return{name:o,description:i,icon:a,deviceIds:e.device_ids??[],deviceCount:e.device_count??0,selected:!0,type:e.type?Ge(e.type):Q.ROOM,category:n,draftId:t(),editing:!1,editName:o}});n.matchedSpaces=[];let a=[];for(let e of i){let t=zn(e.name),r=n.existingSpaces.find(e=>zn(e.name)===t);r?n.matchedSpaces.push({proposedName:e.name,existingSpace:r,deviceIds:e.deviceIds,deviceCount:e.deviceCount}):a.push(e)}n.proposedSpaces=a}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},b=()=>{let e=[],t=n.proposedSpaces.filter(e=>e.selected),r=n.customSpaces.filter(e=>e.selected);for(let e of n.matchedSpaces)if(e.existingSpace.type===Q.ROOM)for(let t of e.deviceIds)n.deviceAssignments[t]||(n.deviceAssignments[t]=e.existingSpace.id);for(let r of t){let t=n.spaces.find(e=>e.id===r.draftId);if(t){if(r.type===Q.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]||(n.deviceAssignments[e]=t.id);continue}let i={id:r.draftId,name:r.name,description:r.description,type:r.type,category:r.category,icon:r.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};if(n.spaces=[...n.spaces,i],e.push(i),r.type===Q.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]=i.id}for(let t of r){if(n.spaces.find(e=>e.id===t.draftId))continue;let r={id:t.draftId,name:t.name,description:t.description,type:t.type,category:t.category,icon:t.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};n.spaces=[...n.spaces,r],e.push(r)}return e},x=async()=>{n.isLoading=!0,n.error=null;let t=[];try{let r=n.spaces.filter(e=>e.draft),i=new Set(n.proposedSpaces.filter(e=>e.selected).map(e=>e.name)),a=new Set(n.customSpaces.map(e=>e.name)),o=new Set([...Object.values(n.deviceAssignments),...Object.values(n.displayAssignments)].filter(e=>e!==null));for(let s of r){let r=i.has(s.name),c=a.has(s.name),l=o.has(s.id);if(!r&&!c&&!l){n.spaces=n.spaces.filter(e=>e.id!==s.id);continue}let u=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:s.name,description:s.description,icon:s.icon,type:We(s.type),category:Vn(s.category)}}});if(u.error||!u.data?.data)throw new $(`Failed to create space: ${s.name}`);let d=Ue(u.data.data);for(let[e,t]of Object.entries(n.deviceAssignments))t===s.id&&(n.deviceAssignments[e]=d.id);for(let[e,t]of Object.entries(n.displayAssignments))t===s.id&&(n.displayAssignments[e]=d.id);for(let[e,t]of Object.entries(n.zoneAssignments))n.zoneAssignments[e]=t.map(e=>e===s.id?d.id:e);let f=n.spaces.findIndex(e=>e.id===s.id);f===-1?n.spaces=[...n.spaces,d]:n.spaces[f]=d,t.push(d)}return t}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},C=async t=>{n.isLoading=!0,n.error=null;try{let r=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:t.name,description:t.description,type:We(t.type),category:Vn(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new $(`Failed to create space`);let i=Ue(r.data.data);return n.spaces.push(i),i}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},w=(e,t)=>{n.deviceAssignments[e]=t},T=(e,t)=>{n.displayAssignments[e]=t},E=async()=>{n.isLoading=!0,n.error=null;let t=0,r=0,i=0;try{let a={};for(let[e,t]of Object.entries(n.deviceAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].deviceIds.push(e));for(let[e,t]of Object.entries(n.displayAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].displayIds.push(e));for(let[n,i]of Object.entries(a)){let a=await e.POST(`/modules/spaces/spaces/{id}/assign`,{params:{path:{id:n}},body:{data:{device_ids:i.deviceIds,display_ids:i.displayIds}}});if(a.error)throw new $(`Failed to assign items to space ${n}`);a.data?.data&&(t+=a.data.data.devices_assigned??0,r+=a.data.data.displays_assigned??0)}for(let[t,r]of Object.entries(n.zoneAssignments))for(let n of r){if((await e.POST(`/modules/devices/devices/{id}/zones/{zoneId}`,{params:{path:{id:t,zoneId:n}}})).error)throw new $(`Failed to assign device ${t} to zone ${n}`);i++}return{devicesAssigned:t,displaysAssigned:r,zonesAssigned:i}}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},D=e=>{n.currentStep=e},O=()=>{n.currentStep++},k=()=>{n.currentStep>0&&n.currentStep--},A=e=>{for(let[t,r]of Object.entries(n.deviceAssignments))r===e&&(n.deviceAssignments[t]=null);for(let[t,r]of Object.entries(n.displayAssignments))r===e&&(n.displayAssignments[t]=null)},j=e=>{let t=n.proposedSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},M=e=>{let t=n.customSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},N=e=>{let t=zn(e),r=n.existingSpaces.find(e=>zn(e.name)===t);if(r)return r.name;let i=n.proposedSpaces.find(e=>zn(e.name)===t);if(i)return i.name;let a=n.customSpaces.find(e=>zn(e.name)===t);return a?a.name:null};return{isLoading:r,error:i,currentStep:o,existingSpaces:s,spaces:c,proposedSpaces:l,customSpaces:u,matchedSpaces:d,unmatchedProposals:_,availableSpaces:v,deviceAssignments:f,displayAssignments:p,zoneAssignments:m,showAdvancedZones:h,assignableZones:g,fetchProposedSpaces:y,fetchDevices:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/devices/devices`,{params:{query:{hidden:ne.false}}});if(t.error||!t.data?.data)throw new $(`Failed to fetch devices`);return t.data.data.map(e=>({id:e.id,name:e.name,description:e.description??null,spaceId:e.room_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchDisplays:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/displays/displays`);if(t.error||!t.data?.data)throw new $(`Failed to fetch displays`);return t.data.data.map(e=>({id:e.id,name:e.name??null,macAddress:e.mac_address??``,spaceId:e.space_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchExistingSpaces:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/spaces/spaces`);if(t.error||!t.data?.data)throw new $(`Failed to fetch spaces`);let r=t.data.data.map(e=>Ue(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:b,createSpacesFromProposals:x,createSpace:C,setDeviceAssignment:w,setDisplayAssignment:T,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:E,setStep:D,nextStep:O,prevStep:k,toggleProposedSpace:j,toggleCustomSpace:M,addManualSpace:e=>{let r=N(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:Q.ROOM,category:null,draftId:t(),editing:!1,editName:e}),{success:!0})},checkDuplicateSpaceName:N,removeProposedSpace:e=>{let t=n.proposedSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)),n.proposedSpaces.splice(e,1)},removeCustomSpace:e=>{let t=n.customSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)),n.customSpaces.splice(e,1)},startEditingProposedName:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmProposedNameEdit:e=>{let t=n.proposedSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=zn(r),a=n.existingSpaces.find(e=>zn(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:t.deviceIds,deviceCount:t.deviceCount}),n.proposedSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find((t,n)=>n!==e&&zn(t.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find(e=>zn(e.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardProposedNameEdit:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!1,t.editName=t.name)},startEditingCustomName:e=>{let t=n.customSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmCustomNameEdit:e=>{let t=n.customSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=zn(r),a=n.existingSpaces.find(e=>zn(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:[],deviceCount:0}),n.customSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find(e=>zn(e.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find((t,n)=>n!==e&&zn(t.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardCustomNameEdit:e=>{let t=n.customSpaces[e];t&&(t.editing=!1,t.editName=t.name)},initializeFromExistingSpaces:e=>{n.existingSpaces=[...e]},initializeDeviceAssignments:e=>{for(let t of e)n.deviceAssignments[t.id]=t.spaceId??null},initializeDisplayAssignments:e=>{for(let t of e)n.displayAssignments[t.id]=t.spaceId??null},summary:a(()=>{let e=n.existingSpaces.length+n.spaces.length,t=Object.values(n.deviceAssignments).filter(e=>e!==null).length,r=Object.values(n.displayAssignments).filter(e=>e!==null).length,i=Object.values(n.deviceAssignments).filter(e=>e===null).length,a=Object.values(n.displayAssignments).filter(e=>e===null).length,o={},s={};for(let e of Object.values(n.deviceAssignments))e&&(o[e]=(o[e]??0)+1);for(let e of Object.values(n.zoneAssignments))for(let t of e)o[t]=(o[t]??0)+1;for(let e of Object.values(n.displayAssignments))e&&(s[e]=(s[e]??0)+1);return{spaceCount:e,assignedDevices:t,assignedDisplays:r,unassignedDevices:i,unassignedDisplays:a,devicesBySpace:o,displaysBySpace:s}})}},Un={class:`flex items-center gap-2`},Wn={class:`font-medium`},Gn={key:0,class:`text-xs text-gray-500`},Kn={class:`flex items-center gap-2 justify-end`},qn={key:0,class:`h-full w-full leading-normal`},Jn={key:1,class:`h-full w-full leading-normal`},Yn={class:`mb-4`},Xn=m({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(i,{expose:a,emit:o}){let s=i,c=o,{t:l}=_(),m=W(),{spaces:v}=Ke(),{scenes:y,loading:x,firstLoadFinished:S,fetchScenes:C,reassignScene:D,removeScene:A}=Rn(n(s,`spaceId`)),P=g(!1),F=g(null),L=g(null),R=g(!1),ee=e=>e.icon?e.icon:tt[e.category]||tt[ye.generic],te=()=>{c(`open-add-dialog`)},ne=e=>{F.value=e,L.value=null,P.value=!0},z=async()=>{if(F.value){R.value=!0;try{await D(F.value.id,L.value),P.value=!1,m.success(l(`spacesHomeControlPlugin.detail.scenes.reassigned`,{name:F.value.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}finally{R.value=!1}}},re=e=>{ie.confirm(l(`spacesHomeControlPlugin.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesHomeControlPlugin.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await A(e.id),m.success(l(`spacesHomeControlPlugin.detail.scenes.removed`,{name:e.name}))}catch{m.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{m.info(l(`spacesHomeControlPlugin.detail.scenes.removeCanceled`))})};return b(async()=>{S.value||await C()}),a({openAddDialog:te,fetchScenes:C}),(n,i)=>(h(),e(I,null,[w((h(),p(E(J),{"element-loading-text":E(l)(`spacesHomeControlPlugin.detail.scenes.loading`),data:E(y),"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[E(x)?(h(),e(`div`,qn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(h(),e(`div`,Jn,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(l)(`spacesHomeControlPlugin.detail.scenes.empty`)),1)]),extra:N(()=>[d(E(O),{type:`primary`,plain:``,onClick:te},{icon:N(()=>[d(E(t),{icon:`mdi:plus`})]),default:N(()=>[u(` `+j(E(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:N(()=>[d(E(q),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,Un,[d(E(_e),{size:32},{default:N(()=>[d(E(t),{icon:ee(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[r(`div`,Wn,j(n.name),1),n.description?(h(),e(`div`,Gn,j(n.description),1)):k(``,!0)])])]),_:1},8,[`label`]),d(E(q),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.category`),width:`150`},{default:N(({row:e})=>[d(E(U),{size:`small`,type:`info`},{default:N(()=>[u(j(E(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(E(q),{label:E(l)(`spacesHomeControlPlugin.detail.scenes.status`),width:`100`,align:`center`},{default:N(({row:e})=>[d(E(U),{type:e.enabled?`success`:`info`,size:`small`},{default:N(()=>[u(j(e.enabled?E(l)(`spacesHomeControlPlugin.detail.scenes.enabled`):E(l)(`spacesHomeControlPlugin.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(E(q),{label:``,width:`220`,align:`right`},{default:N(({row:e})=>[r(`div`,Kn,[d(E(O),{type:`warning`,plain:``,size:`small`,onClick:t=>ne(e)},{icon:N(()=>[d(E(t),{icon:`mdi:swap-horizontal`})]),default:N(()=>[u(` `+j(E(l)(`spacesHomeControlPlugin.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),d(E(O),{type:`danger`,plain:``,size:`small`,onClick:t=>re(e)},{icon:N(()=>[d(E(t),{icon:`mdi:close`})]),default:N(()=>[u(` `+j(E(l)(`spacesHomeControlPlugin.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[E(Ne),E(x)]]),d(E(ke),{modelValue:P.value,"onUpdate:modelValue":i[2]||=e=>P.value=e,title:E(l)(`spacesHomeControlPlugin.detail.scenes.reassign`),width:`400px`},{footer:N(()=>[d(E(O),{onClick:i[1]||=e=>P.value=!1},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(E(O),{type:`primary`,loading:R.value,onClick:z},{default:N(()=>[u(j(E(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:N(()=>[r(`p`,Yn,j(E(l)(`spacesHomeControlPlugin.detail.scenes.selectSpace`)),1),d(E(Y),{modelValue:L.value,"onUpdate:modelValue":i[0]||=e=>L.value=e,placeholder:E(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:N(()=>[(h(!0),e(I,null,T(E(v),e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Zn={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Qn={class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},$n=[`aria-label`,`onKeydown`],er={class:`flex items-center gap-1`},tr={key:1,class:`text-gray-400 text-sm`},nr={class:`flex items-center gap-2`},rr=m({name:`SpaceParentZoneSection`,__name:`space-parent-zone-section`,props:{space:{}},setup(n){let i=n,{t:s}=_(),l=W(),f=a(()=>i.space.id),{floorZoneSpaces:m,findById:v}=Ke(),{editSpace:y}=Je(f),x=g(i.space.parentId),S=g(!1),w=g(!1),D=g(null),O=g(i.space.parentId),k=g(!1),A=a(()=>i.space.parentId?v(i.space.parentId):null),M=a(()=>m.value.filter(e=>e.id!==i.space.id)),F=()=>{w.value=!0,O.value=i.space.parentId,x.value=i.space.parentId,k.value=!1,c(()=>{D.value?.focus?.()})},R=()=>{setTimeout(()=>{!k.value&&!S.value&&w.value&&(w.value=!1),k.value=!1},200)},ee=e=>{w.value&&e.key===`Escape`&&(x.value=O.value,w.value=!1,k.value=!1)};C(()=>i.space.parentId,e=>{w.value||(x.value=e,O.value=e)},{immediate:!0});let te=async e=>{if(e===i.space.parentId){w.value=!1,k.value=!1;return}k.value=!0,S.value=!0;try{await y({name:i.space.name,parentId:e}),l.success(s(`spacesModule.messages.edited`,{space:i.space.name})),w.value=!1,k.value=!1}catch{x.value=O.value,l.error(s(`spacesModule.messages.saveError`)),w.value=!1,k.value=!1}finally{S.value=!1}};return b(()=>{document.addEventListener(`keydown`,ee)}),o(()=>{document.removeEventListener(`keydown`,ee)}),(n,i)=>(h(),e(I,null,[r(`dt`,Zn,j(E(s)(`spacesModule.detail.parentZone.title`)),1),r(`dd`,Qn,[w.value?(h(),p(E(Y),{key:1,ref_key:`floorSelectRef`,ref:D,modelValue:x.value,"onUpdate:modelValue":i[0]||=e=>x.value=e,placeholder:E(s)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:S.value,onChange:te,onBlur:R},{default:N(()=>[(h(!0),e(I,null,T(M.value,e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,nr,[d(E(t),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(h(),e(`div`,{key:0,role:`button`,tabindex:`0`,"aria-label":E(s)(`spacesModule.detail.parentZone.select`),class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:F,onKeydown:[P(L(F,[`prevent`]),[`enter`]),P(L(F,[`prevent`]),[`space`])]},[A.value?(h(),p(E(U),{key:0,type:`success`,size:`small`},{default:N(()=>[r(`div`,er,[d(E(t),{icon:A.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),u(` `+j(A.value.name),1)])]),_:1})):(h(),e(`span`,tr,j(E(s)(`spacesModule.detail.parentZone.none`)),1))],40,$n))])],64))}}),ir={key:0,class:`h-full w-full leading-normal`},ar={key:1,class:`h-full w-full leading-normal`},or={class:`flex items-center gap-2`},sr={class:`block text-sm`},cr={key:1,class:`font-medium`},lr={key:1,class:`text-gray-400 text-sm`},ur=m({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=W(),{devices:m}=Ze(),{findById:v}=Ke(),y=g(``),b=g(null),{devices:x,addDevice:S}=Xe(a(()=>o.spaceId),a(()=>o.spaceType)),w=a(()=>new Set(x.value.map(e=>e.id))),T=a(()=>m.value.filter(e=>e.hidden?!1:o.spaceType===Q.ZONE?!w.value.has(e.id):e.roomId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),D=a(()=>(y.value.trim()?T.value.filter(e=>{let t=y.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):T.value).sort((e,t)=>e.name.localeCompare(t.name))),A=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e.category]||`mdi:devices`,P=e=>v(e)?.name||`Unknown`,F=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),L=()=>{F.value=!1,y.value=``,b.value=null},R=async e=>{b.value=e.id;try{await S(e.id),l.success(c(`spacesModule.messages.edited`,{space:e.name})),s(`device-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return C(()=>o.visible,e=>{e||(y.value=``,b.value=null)}),(n,i)=>(h(),p(E(ke),{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,title:E(c)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:L},{footer:N(()=>[d(E(O),{onClick:L},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(ue),{modelValue:y.value,"onUpdate:modelValue":i[0]||=e=>y.value=e,placeholder:E(c)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(J),{data:D.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[T.value.length===0?(h(),e(`div`,ir,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):y.value.trim()&&D.value.length===0?(h(),e(`div`,ar,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(z),{class:`block`},{default:N(()=>[u(j(E(c)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(q),{label:E(c)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,or,[d(E(_e),{size:32},{default:N(()=>[d(E(t),{icon:A(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(h(),e(I,{key:0},[r(`strong`,sr,j(n.name),1),d(E(z),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.description),1)]),_:2},1024)],64)):(h(),e(`div`,cr,j(n.name),1))])])]),_:1},8,[`label`]),d(E(q),{label:E(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.roomId?(h(),p(E(U),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(P(t.roomId)),1)]),_:2},1024)):(h(),e(`span`,lr,`-`))]),_:1},8,[`label`]),d(E(q),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:o.spaceType===E(Q).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>R(e)},{icon:N(()=>[d(E(t),{icon:o.spaceType===E(Q).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(o.spaceType===E(Q).ROOM&&e.roomId?E(c)(`spacesModule.detail.devices.reassign`):E(c)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),dr={key:0,class:`h-full w-full leading-normal`},fr={key:1,class:`h-full w-full leading-normal`},pr={class:`flex items-center gap-2`},mr={class:`block`},hr={key:1,class:`font-medium`},gr={key:1,class:`text-gray-400 text-sm`},_r=m({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=W(),{displays:m}=Fe(),{findById:v}=Ke(),y=g(``),b=g(null),{reassignDisplay:x}=Ye(a(()=>o.spaceId)),S=a(()=>m.value.filter(e=>e.spaceId!==o.spaceId).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),w=a(()=>(y.value.trim()?S.value.filter(e=>{let t=y.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):S.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),T=e=>v(e)?.name||`Unknown`,D=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),A=()=>{D.value=!1,y.value=``,b.value=null},P=async e=>{b.value=e.id;try{await x(e.id,o.spaceId),l.success(c(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),s(`display-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{b.value=null}};return C(()=>o.visible,e=>{e||(y.value=``,b.value=null)}),(n,i)=>(h(),p(E(ke),{modelValue:D.value,"onUpdate:modelValue":i[1]||=e=>D.value=e,title:E(c)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:A},{footer:N(()=>[d(E(O),{onClick:A},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(ue),{modelValue:y.value,"onUpdate:modelValue":i[0]||=e=>y.value=e,placeholder:E(c)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(J),{data:w.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[S.value.length===0?(h(),e(`div`,dr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):y.value.trim()&&w.value.length===0?(h(),e(`div`,fr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(z),{class:`block`},{default:N(()=>[u(j(E(c)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(q),{label:E(c)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,pr,[d(E(_e),{size:32},{default:N(()=>[d(E(t),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),r(`div`,null,[n.name?(h(),e(I,{key:0},[r(`strong`,mr,j(n.name),1),d(E(z),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.macAddress),1)]),_:2},1024)],64)):(h(),e(`div`,hr,j(n.macAddress),1))])])]),_:1},8,[`label`]),d(E(q),{label:E(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.spaceId?(h(),p(E(U),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(T(t.spaceId)),1)]),_:2},1024)):(h(),e(`span`,gr,`-`))]),_:1},8,[`label`]),d(E(q),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:e.spaceId?`warning`:`default`,plain:``,size:`small`,loading:b.value===e.id,onClick:t=>P(e)},{icon:N(()=>[d(E(t),{icon:e.spaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(e.spaceId?E(c)(`spacesModule.detail.displays.reassign`):E(c)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),vr={key:0,class:`h-full w-full leading-normal`},yr={key:1,class:`h-full w-full leading-normal`},br={class:`flex items-center gap-2`},xr={class:`block text-sm`},Sr={key:1,class:`font-medium`},Cr={key:1,class:`text-gray-400 text-sm`},wr=m({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(n,{emit:i}){let o=n,s=i,{t:c}=_(),l=W(),{scenes:m,loaded:v,fetchScenes:y}=et(),{editScene:x}=$e(),{findById:S}=Ke(),w=g(``),T=g(null),D=a(()=>m.value.filter(e=>!e.draft&&e.primarySpaceId!==o.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),A=a(()=>(w.value.trim()?D.value.filter(e=>{let t=w.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):D.value).sort((e,t)=>e.name.localeCompare(t.name))),P=e=>tt[e.category]||tt[ye.generic],F=e=>S(e)?.name||`Unknown`,L=a({get:()=>o.visible,set:e=>s(`update:visible`,e)}),R=()=>{L.value=!1,w.value=``,T.value=null},ee=async e=>{T.value=e.id;try{await x({id:e.id,data:{primarySpaceId:o.spaceId}}),l.success(c(`spacesHomeControlPlugin.detail.scenes.assigned`,{name:e.name})),s(`scene-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{T.value=null}};return b(async()=>{v.value||await y()}),C(()=>o.visible,e=>{e||(w.value=``,T.value=null)}),(n,i)=>(h(),p(E(ke),{modelValue:L.value,"onUpdate:modelValue":i[1]||=e=>L.value=e,title:E(c)(`spacesHomeControlPlugin.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:R},{footer:N(()=>[d(E(O),{onClick:R},{default:N(()=>[u(j(E(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:N(()=>[d(E(ue),{modelValue:w.value,"onUpdate:modelValue":i[0]||=e=>w.value=e,placeholder:E(c)(`spacesHomeControlPlugin.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:N(()=>[d(E(t),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(E(J),{data:A.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:N(()=>[D.value.length===0?(h(),e(`div`,vr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(c)(`spacesHomeControlPlugin.detail.scenes.noAvailable`)),1)]),_:1})])):w.value.trim()&&A.value.length===0?(h(),e(`div`,yr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:play-box-multiple`})]),secondary:N(()=>[d(E(t),{icon:`mdi:filter-multiple`})]),_:1})]),title:N(()=>[d(E(z),{class:`block`},{default:N(()=>[u(j(E(c)(`spacesHomeControlPlugin.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):k(``,!0)]),default:N(()=>[d(E(q),{label:E(c)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:N(({row:n})=>[r(`div`,br,[d(E(_e),{size:32},{default:N(()=>[d(E(t),{icon:P(n),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),r(`div`,null,[n.description?(h(),e(I,{key:0},[r(`strong`,xr,j(n.name),1),d(E(z),{size:`small`,class:`block leading-4`,truncated:``},{default:N(()=>[u(j(n.description),1)]),_:2},1024)],64)):(h(),e(`div`,Sr,j(n.name),1))])])]),_:1},8,[`label`]),d(E(q),{label:E(c)(`spacesHomeControlPlugin.detail.scenes.assignedSpace`),width:`150`},{default:N(({row:t})=>[t.primarySpaceId?(h(),p(E(U),{key:0,size:`small`,type:`warning`},{default:N(()=>[u(j(F(t.primarySpaceId)),1)]),_:2},1024)):(h(),e(`span`,Cr,`-`))]),_:1},8,[`label`]),d(E(q),{label:``,width:`150`,align:`right`},{default:N(({row:e})=>[d(E(O),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:T.value===e.id,onClick:t=>ee(e)},{icon:N(()=>[d(E(t),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:N(()=>[u(` `+j(e.primarySpaceId?E(c)(`spacesHomeControlPlugin.detail.scenes.reassign`):E(c)(`spacesHomeControlPlugin.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Tr={class:`flex items-center gap-2`},Er={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`},Dr={class:`p-4 max-h-full box-border flex flex-col`},Or={class:`my-2 font-medium`},kr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Ar={class:`flex items-center gap-2`},jr={class:`flex items-center gap-2`},Mr={class:`my-2 font-medium`},Nr={class:`grow-1 min-w-0`},Pr={class:`text-gray-500 text-sm ml-2`},Fr={key:1,class:`text-gray-600`},Ir={class:`my-2 font-medium`},Lr={class:`flex flex-wrap gap-2`},Rr={class:`my-2 font-medium`},zr={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Br={class:`flex items-center gap-2`},Vr={class:`flex items-center gap-2`},Hr={class:`my-2 font-medium`},Ur={class:`flex items-center gap-3 p-2`},Wr={class:`h-full w-full leading-normal`},Gr={class:`font-medium`},Kr={class:`text-xs text-gray-500 mt-1`},qr={key:1,class:`font-medium`},Jr={class:`flex items-center gap-2`},Yr={class:`h-full w-full leading-normal`},Xr={key:0,class:`text-xs text-gray-500 mt-1`},Zr={class:`flex items-center gap-2`},Qr={class:`grid grid-cols-2 md:grid-cols-5 gap-4 text-center my-4 shrink-0`},$r={class:`text-2xl font-bold text-blue-600`},ei={class:`text-sm text-gray-500`},ti={class:`text-2xl font-bold text-green-600`},ni={class:`text-sm text-gray-500`},ri={class:`text-2xl font-bold text-yellow-600`},ii={class:`text-sm text-gray-500`},ai={class:`text-2xl font-bold text-green-600`},oi={class:`text-sm text-gray-500`},si={class:`text-2xl font-bold text-yellow-600`},ci={class:`text-sm text-gray-500`},li={class:`mb-2 font-medium`},ui={class:`flex items-center gap-2`},di={class:`flex items-center gap-2`},fi={class:`font-medium`},pi={class:`text-xs text-gray-500`},mi={key:1,class:`font-medium`},hi={class:`flex items-center gap-2`},gi={key:0,class:`mt-6 flex justify-between`},_i={key:1},vi={class:`flex gap-2`},yi=m({__name:`view-spaces-wizard`,setup(n){let{t:i}=_(),o=x(),l=F(),m=W(),{isMDDevice:S,isLGDevice:C}=he();ee({title:i(`spacesModule.meta.spaces.wizard.title`)});let{isLoading:A,currentStep:L,existingSpaces:R,proposedSpaces:ne,customSpaces:z,matchedSpaces:re,availableSpaces:ie,deviceAssignments:B,displayAssignments:V,zoneAssignments:oe,showAdvancedZones:H,assignableZones:se,fetchProposedSpaces:le,fetchDevices:de,fetchDisplays:fe,fetchExistingSpaces:G,createDraftSpacesFromProposals:K,createSpacesFromProposals:_e,setDeviceAssignment:ye,setDisplayAssignment:be,setDeviceZones:xe,applyAssignments:Se,nextStep:De,prevStep:Oe,toggleProposedSpace:Ae,toggleCustomSpace:Pe,addManualSpace:Fe,removeProposedSpace:Z,removeCustomSpace:Le,startEditingProposedName:Re,confirmProposedNameEdit:ze,discardProposedNameEdit:Be,startEditingCustomName:Ve,confirmCustomNameEdit:Ue,discardCustomNameEdit:We,initializeDeviceAssignments:Ge,initializeDisplayAssignments:Ke,summary:$}=Hn(),Je=g(``),Ye=v([]),Xe=v([]),Ze=g(!1),Qe=g(!1),$e=v(new Map),et=v(new Map),tt=(e,t)=>{t?$e.value.set(e,t):$e.value.delete(e)},nt=(e,t)=>{t?et.value.set(e,t):et.value.delete(e)},rt=async e=>{Re(e),await c(),$e.value.get(e)?.focus?.()},it=async e=>{Ve(e),await c(),et.value.get(e)?.focus?.()},at=a(()=>[...Xe.value].sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress))),ot=a(()=>[...Ye.value].sort((e,t)=>e.name.localeCompare(t.name))),st=a(()=>[{label:i(`spacesModule.breadcrumbs.spaces.list`),route:l.resolve({name:Ie.SPACES})},{label:i(`spacesModule.breadcrumbs.spaces.wizard`),route:l.resolve({name:Ie.SPACES_WIZARD,params:{type:o.params.type}})}]),ct=ie,lt=a(()=>ct.value.filter(e=>e.type===Q.ROOM).sort((e,t)=>e.name.localeCompare(t.name))),ut=e=>e.icon?e.icon:e.type===Q.ROOM?`mdi:door`:`mdi:home-floor-1`,dt=a(()=>{let e=new Set(re.value.map(e=>e.existingSpace.id));return R.value.filter(t=>!e.has(t.id))}),ft=a(()=>{let e=new Map;for(let t of re.value){let n=e.get(t.existingSpace.id);n?(n.proposedNames.push(t.proposedName),n.totalDeviceCount+=t.deviceCount,n.matchCount++):e.set(t.existingSpace.id,{existingSpace:t.existingSpace,proposedNames:[t.proposedName],totalDeviceCount:t.deviceCount,matchCount:1})}return Array.from(e.values())}),pt=a(()=>ct.value.map(e=>({name:e.name,type:e.type,icon:e.icon,devices:$.value.devicesBySpace[e.id]??0,displays:$.value.displaysBySpace[e.id]??0}))),mt=a(()=>Ye.value.filter(e=>!B.value[e.id]).sort((e,t)=>e.name.localeCompare(t.name))),ht=a(()=>Xe.value.filter(e=>!V.value[e.id]).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)));b(async()=>{try{await G(),Ye.value=await de(),Xe.value=await fe(),Ge(Ye.value),Ke(Xe.value),await le()}catch{m.error(i(`spacesModule.messages.loadError`))}});let gt=()=>{if(Je.value.trim()){let e=Fe(Je.value.trim());e.success?Je.value=``:m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:e.duplicateOf}))}},_t=e=>{let t=ze(e);t.convertedToMatch?m.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},vt=e=>{let t=Ue(e);t.convertedToMatch?m.info(i(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&m.warning(i(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},yt=e=>{Be(e)},bt=e=>{We(e)},{getCategoryOptions:xt,getCategoryGroups:St,getCategoryTemplates:Ct}=qe(),wt=e=>{e.category&&!He(e.category,e.type)&&(e.category=null,e.description=null)},Tt=e=>{if(e.category){let t=Ct(e.type)[e.category];t?.description&&(e.description=t.description)}},Et=()=>{for(let e of ne.value)if(e.selected&&e.type===Q.ZONE&&!e.category)return m.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;for(let e of z.value)if(e.selected&&e.type===Q.ZONE&&!e.category)return m.error(i(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;return!0},Dt=()=>{if(L.value===0){if(!Et())return;K()}De()},Ot=()=>{C.value?l.replace({name:Ie.SPACES}):l.push({name:Ie.SPACES})},kt=async()=>{try{await _e();let e=await Se();m.success(i(`spacesModule.wizard.messages.completed`,{devices:e.devicesAssigned,displays:e.displaysAssigned,zones:e.zonesAssigned})),C.value?l.replace({name:Ie.SPACES}):l.push({name:Ie.SPACES})}catch{m.error(i(`spacesModule.messages.saveError`))}};return(n,a)=>(h(),e(I,null,[E(S)?k(``,!0):(h(),p(E(pe),{key:0,teleport:``},{icon:N(()=>[d(E(t),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.title`)),1)]),subtitle:N(()=>[u(j(E(i)(`spacesModule.subHeadings.wizard`)),1)]),_:1})),E(S)?k(``,!0):(h(),p(E(ve),{key:1,align:E(ce).LEFT,teleport:``,small:``,onClick:Ot},{icon:N(()=>[d(E(s),{size:24},{default:N(()=>[d(E(t),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),d(E(ge),{items:st.value},null,8,[`items`]),d(E(me),{heading:E(i)(`spacesModule.wizard.title`),"sub-heading":E(i)(`spacesModule.subHeadings.wizard`),icon:`mdi:wizard-hat`},D({_:2},[E(S)?{name:`extra`,fn:N(()=>[r(`div`,Tr,[E(L)===2&&E(se).length>0?(h(),p(E(O),{key:0,type:E(H)?`primary`:`default`,class:`px-4!`,onClick:a[0]||=e=>H.value=!E(H)},{default:N(()=>[u(j(E(H)?E(i)(`spacesModule.wizard.basic`):E(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):k(``,!0),d(E(O),{link:``,class:`px-4!`,onClick:Ot},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),E(L)>0?(h(),p(E(O),{key:1,class:`px-4!`,onClick:E(Oe)},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):k(``,!0),E(L)<3?(h(),p(E(O),{key:2,type:`primary`,class:`px-4!`,onClick:Dt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(h(),p(E(O),{key:3,type:`primary`,loading:E(A),class:`px-4!`,onClick:kt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),r(`div`,Er,[d(E(Te),{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`},{header:N(()=>[d(E(je),{active:E(L),"finish-status":`success`,"align-center":``},{default:N(()=>[d(E(Me),{title:E(i)(`spacesModule.wizard.steps.spaces.title`)},null,8,[`title`]),d(E(Me),{title:E(i)(`spacesModule.wizard.steps.displays.title`)},null,8,[`title`]),d(E(Me),{title:E(i)(`spacesModule.wizard.steps.devices.title`)},null,8,[`title`]),d(E(Me),{title:E(i)(`spacesModule.wizard.steps.summary.title`)},null,8,[`title`])]),_:1},8,[`active`])]),default:N(()=>[w((h(),e(`div`,Dr,[E(L)===0?(h(),e(I,{key:0},[d(E(Ce),{type:`info`,title:E(i)(`spacesModule.wizard.steps.spaces.alertTitle`),description:E(i)(`spacesModule.wizard.steps.spaces.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(ae),{class:`flex-1 overflow-hidden h-full`},{default:N(()=>[E(ne).length>0?(h(),e(I,{key:0},[r(`h4`,Or,j(E(i)(`spacesModule.wizard.steps.spaces.proposed`)),1),(h(!0),e(I,null,T(E(ne),(n,a)=>(h(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(Ee),{"model-value":n.selected,onChange:()=>E(Ae)(a)},null,8,[`model-value`,`onChange`]),r(`div`,kr,[n.editing?(h(),p(E(ue),{key:1,ref_for:!0,ref:e=>tt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]!`,onKeyup:[P(e=>_t(a),[`enter`]),P(e=>yt(a),[`esc`])],onBlur:e=>_t(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(h(),e(I,{key:0},[u(j(n.name)+` `,1),d(E(O),{link:``,size:`small`,onClick:e=>rt(a)},{default:N(()=>[d(E(s),{size:14},{default:N(()=>[d(E(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(E(U),{size:`small`,type:`info`},{default:N(()=>[u(j(n.deviceCount)+` `+j(E(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(E(Y),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>wt(n)},{default:N(()=>[d(E(X),{label:E(i)(`spacesModule.fields.spaces.type.options.room`),value:E(Q).ROOM},null,8,[`label`,`value`]),d(E(X),{label:E(i)(`spacesModule.fields.spaces.type.options.zone`),value:E(Q).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(E(Y),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:E(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===E(Q).ROOM,required:n.type===E(Q).ZONE,class:`w-[180px]!`,onChange:()=>Tt(n)},{default:N(()=>[n.type===E(Q).ZONE?(h(!0),e(I,{key:0},T(E(St)(n.type),a=>(h(),p(E(we),{key:a.key,label:E(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:N(()=>[(h(!0),e(I,null,T(a.categories,e=>(h(),p(E(X),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Ar,[E(Ct)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(Ct)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(h(!0),e(I,{key:1},T(E(xt)(n.type),e=>(h(),p(E(X),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,jr,[E(Ct)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(Ct)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(E(O),{size:`small`,type:`warning`,plain:``,onClick:e=>E(Z)(a)},{icon:N(()=>[d(E(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):E(re).length===0?(h(),p(E(Ce),{key:1,type:`info`,title:E(i)(`spacesModule.wizard.steps.spaces.noProposals`),closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`])):k(``,!0),ft.value.length>0?(h(),e(I,{key:2},[r(`h4`,Mr,j(E(i)(`spacesModule.wizard.steps.spaces.matchedExisting`)),1),(h(!0),e(I,null,T(ft.value,t=>(h(),e(`div`,{key:t.existingSpace.id,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(Ee),{"model-value":!0,disabled:``}),r(`span`,Nr,[t.matchCount===1?(h(),e(I,{key:0},[u(j(t.proposedNames[0])+` `,1),r(`span`,Pr,` → `+j(E(i)(`spacesModule.wizard.steps.spaces.matchedWith`,{name:t.existingSpace.name})),1)],64)):(h(),e(`span`,Fr,j(E(i)(`spacesModule.wizard.steps.spaces.multipleMatchedWith`,{count:t.matchCount,name:t.existingSpace.name})),1))]),d(E(U),{size:`small`,type:`info`},{default:N(()=>[u(j(t.totalDeviceCount)+` `+j(E(i)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(E(U),{size:`small`,type:`success`},{default:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.spaces.existingTag`)),1)]),_:1})]))),128))],64)):k(``,!0),dt.value.length>0?(h(),e(I,{key:3},[r(`h4`,Ir,j(E(i)(`spacesModule.wizard.steps.spaces.existing`)),1),r(`div`,Lr,[(h(!0),e(I,null,T(dt.value,e=>(h(),p(E(U),{key:e.id,size:`large`},{default:N(()=>[u(j(e.name),1)]),_:2},1024))),128))])],64)):k(``,!0),E(z).length>0?(h(),e(I,{key:4},[r(`h4`,Rr,j(E(i)(`spacesModule.wizard.steps.spaces.custom`)),1),(h(!0),e(I,null,T(E(z),(n,a)=>(h(),e(`div`,{key:a,class:`flex items-center gap-3 flex-wrap p-2`},[d(E(Ee),{"model-value":n.selected,onChange:()=>E(Pe)(a)},null,8,[`model-value`,`onChange`]),r(`div`,zr,[n.editing?(h(),p(E(ue),{key:1,ref_for:!0,ref:e=>nt(a,e),modelValue:n.editName,"onUpdate:modelValue":e=>n.editName=e,size:`small`,class:`max-w-[250px]`,onKeyup:[P(e=>vt(a),[`enter`]),P(e=>bt(a),[`esc`])],onBlur:e=>vt(a)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(h(),e(I,{key:0},[u(j(n.name)+` `,1),d(E(O),{link:``,size:`small`,onClick:e=>it(a)},{default:N(()=>[d(E(s),{size:14},{default:N(()=>[d(E(t),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(E(Y),{modelValue:n.type,"onUpdate:modelValue":e=>n.type=e,size:`small`,class:`w-[120px]!`,onChange:()=>wt(n)},{default:N(()=>[d(E(X),{label:E(i)(`spacesModule.fields.spaces.type.options.room`),value:E(Q).ROOM},null,8,[`label`,`value`]),d(E(X),{label:E(i)(`spacesModule.fields.spaces.type.options.zone`),value:E(Q).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(E(Y),{modelValue:n.category,"onUpdate:modelValue":e=>n.category=e,size:`small`,placeholder:E(i)(`spacesModule.fields.spaces.category.placeholder`),clearable:n.type===E(Q).ROOM,required:n.type===E(Q).ZONE,class:`w-[180px]!`,onChange:()=>Tt(n)},{default:N(()=>[n.type===E(Q).ZONE?(h(!0),e(I,{key:0},T(E(St)(n.type),a=>(h(),p(E(we),{key:a.key,label:E(i)(`spacesModule.fields.spaces.category.groups.${a.key}`)},{default:N(()=>[(h(!0),e(I,null,T(a.categories,e=>(h(),p(E(X),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Br,[E(Ct)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(Ct)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(h(!0),e(I,{key:1},T(E(xt)(n.type),e=>(h(),p(E(X),{key:e,label:E(i)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:N(()=>[r(`span`,Vr,[E(Ct)(n.type)[e]?(h(),p(E(s),{key:0},{default:N(()=>[d(E(t),{icon:E(Ct)(n.type)[e]?.icon??``},null,8,[`icon`])]),_:2},1024)):k(``,!0),u(` `+j(E(i)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(E(O),{size:`small`,type:`warning`,plain:``,onClick:e=>E(Le)(a)},{icon:N(()=>[d(E(t),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):k(``,!0),r(`h4`,Hr,j(E(i)(`spacesModule.wizard.steps.spaces.addManual`)),1),r(`div`,Ur,[d(E(ue),{modelValue:Je.value,"onUpdate:modelValue":a[1]||=e=>Je.value=e,placeholder:E(i)(`spacesModule.wizard.steps.spaces.placeholder`)},null,8,[`modelValue`,`placeholder`]),d(E(O),{type:`primary`,disabled:!Je.value.trim(),onClick:gt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.add.title`)),1)]),_:1},8,[`disabled`])])]),_:1})],64)):k(``,!0),E(L)===1?(h(),e(I,{key:1},[d(E(Ce),{type:`info`,title:E(i)(`spacesModule.wizard.steps.displays.alertTitle`),description:E(i)(`spacesModule.wizard.steps.displays.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(J),{data:at.value,class:`w-full flex-grow`,"table-layout":`fixed`},{empty:N(()=>[r(`div`,Wr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:monitor`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.displays.noDisplays`)),1)]),_:1})])]),default:N(()=>[d(E(q),{prop:`name`,label:E(i)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:N(({row:t})=>[r(`div`,null,[t.name?(h(),e(I,{key:0},[r(`div`,Gr,j(t.name),1),r(`div`,Kr,j(t.macAddress),1)],64)):(h(),e(`div`,qr,j(t.macAddress),1))])]),_:1},8,[`label`]),d(E(q),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:N(({row:n})=>[d(E(Y),{"model-value":E(V)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(be)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(lt.value,e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,Jr,[d(E(t),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])],64)):k(``,!0),E(L)===2?(h(),e(I,{key:2},[d(E(Ce),{type:`info`,title:E(i)(`spacesModule.wizard.steps.devices.alertTitle`),description:E(i)(`spacesModule.wizard.steps.devices.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(E(J),{data:ot.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{empty:N(()=>[r(`div`,Yr,[d(E(f),{class:`h-full w-full`},{icon:N(()=>[d(E(M),{size:80},{primary:N(()=>[d(E(t),{icon:`mdi:devices`})]),secondary:N(()=>[d(E(t),{icon:`mdi:information`})]),_:1})]),title:N(()=>[u(j(E(i)(`spacesModule.wizard.steps.devices.noDevices`)),1)]),_:1})])]),default:N(()=>[d(E(q),{prop:`name`,label:E(i)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:N(({row:t})=>[r(`div`,null,[r(`div`,null,j(t.name),1),t.description?(h(),e(`div`,Xr,j(t.description),1)):k(``,!0)])]),_:1},8,[`label`]),d(E(q),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:N(({row:n})=>[d(E(Y),{"model-value":E(B)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(ye)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(lt.value,e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,Zr,[d(E(t),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),E(H)&&E(se).length>0?(h(),p(E(q),{key:0,label:E(i)(`spacesModule.wizard.zones`),width:`250`},{default:N(({row:t})=>[d(E(Y),{"model-value":E(oe)[t.id]||[],multiple:``,clearable:``,"collapse-tags":``,placeholder:E(i)(`spacesModule.wizard.selectZones`),class:`w-full`,"onUpdate:modelValue":e=>E(xe)(t.id,e)},{default:N(()=>[(h(!0),e(I,null,T(E(se),e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])):k(``,!0)]),_:1},8,[`data`])],64)):k(``,!0),E(L)===3?(h(),e(I,{key:3},[d(E(Ce),{type:`info`,title:E(i)(`spacesModule.wizard.steps.summary.alertTitle`),description:E(i)(`spacesModule.wizard.steps.summary.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),r(`div`,Qr,[r(`div`,null,[r(`div`,$r,j(E($).spaceCount),1),r(`div`,ei,j(E(i)(`spacesModule.wizard.summary.totalSpaces`)),1)]),r(`div`,null,[r(`div`,ti,j(E($).assignedDevices),1),r(`div`,ni,j(E(i)(`spacesModule.wizard.summary.assignedDevices`)),1)]),d(E(te),{content:E(i)(`spacesModule.wizard.summary.clickToAssignDevices`),placement:`top`,disabled:E($).unassignedDevices===0},{default:N(()=>[r(`div`,{class:y({"cursor-pointer":E($).unassignedDevices>0}),onClick:a[2]||=e=>E($).unassignedDevices>0&&(Ze.value=!0)},[r(`div`,ri,j(E($).unassignedDevices),1),r(`div`,ii,j(E(i)(`spacesModule.wizard.summary.unassignedDevices`)),1)],2)]),_:1},8,[`content`,`disabled`]),r(`div`,null,[r(`div`,ai,j(E($).assignedDisplays),1),r(`div`,oi,j(E(i)(`spacesModule.wizard.summary.assignedDisplays`)),1)]),d(E(te),{content:E(i)(`spacesModule.wizard.summary.clickToAssignDisplays`),placement:`top`,disabled:E($).unassignedDisplays===0},{default:N(()=>[r(`div`,{class:y({"cursor-pointer":E($).unassignedDisplays>0}),onClick:a[3]||=e=>E($).unassignedDisplays>0&&(Qe.value=!0)},[r(`div`,si,j(E($).unassignedDisplays),1),r(`div`,ci,j(E(i)(`spacesModule.wizard.summary.unassignedDisplays`)),1)],2)]),_:1},8,[`content`,`disabled`])]),E(ct).length>0?(h(),e(I,{key:0},[r(`h4`,li,j(E(i)(`spacesModule.wizard.summary.bySpace`)),1),d(E(J),{data:pt.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{default:N(()=>[d(E(q),{prop:`name`,label:E(i)(`spacesModule.wizard.spaceName`)},{default:N(({row:e})=>[r(`div`,ui,[d(E(t),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1),d(E(U),{size:`small`,type:e.type===E(Q).ROOM?`primary`:`info`,class:`ml-2`},{default:N(()=>[u(j(e.type===E(Q).ROOM?E(i)(`spacesModule.misc.types.room`):E(i)(`spacesModule.misc.types.zone`)),1)]),_:2},1032,[`type`]),e.devices===0&&e.type===E(Q).ROOM?(h(),p(E(U),{key:0,size:`small`,type:`warning`,class:`ml-1`},{default:N(()=>[u(j(E(i)(`spacesModule.wizard.summary.noDevices`)),1)]),_:1})):k(``,!0)])]),_:1},8,[`label`]),d(E(q),{prop:`devices`,label:E(i)(`spacesModule.wizard.devices`),width:`120`,align:`center`},null,8,[`label`]),d(E(q),{prop:`displays`,label:E(i)(`spacesModule.wizard.displays`),width:`120`,align:`center`},null,8,[`label`])]),_:1},8,[`data`])],64)):k(``,!0)],64)):k(``,!0),d(E(ke),{modelValue:Ze.value,"onUpdate:modelValue":a[4]||=e=>Ze.value=e,title:E(i)(`spacesModule.wizard.summary.unassignedDevicesTitle`)},{default:N(()=>[d(E(J),{data:mt.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:N(()=>[d(E(q),{prop:`name`,label:E(i)(`spacesModule.wizard.deviceName`)},null,8,[`label`]),d(E(q),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:N(({row:n})=>[d(E(Y),{"model-value":E(B)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(ye)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(lt.value,e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,di,[d(E(t),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]),d(E(ke),{modelValue:Qe.value,"onUpdate:modelValue":a[5]||=e=>Qe.value=e,title:E(i)(`spacesModule.wizard.summary.unassignedDisplaysTitle`)},{default:N(()=>[d(E(J),{data:ht.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:N(()=>[d(E(q),{label:E(i)(`spacesModule.wizard.displayName`)},{default:N(({row:t})=>[t.name?(h(),e(I,{key:0},[r(`div`,fi,j(t.name),1),r(`div`,pi,j(t.macAddress),1)],64)):(h(),e(`div`,mi,j(t.macAddress),1))]),_:1},8,[`label`]),d(E(q),{label:E(i)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:N(({row:n})=>[d(E(Y),{"model-value":E(V)[n.id],placeholder:E(i)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":e=>E(be)(n.id,e)},{default:N(()=>[(h(!0),e(I,null,T(lt.value,e=>(h(),p(E(X),{key:e.id,label:e.name,value:e.id},{default:N(()=>[r(`div`,hi,[d(E(t),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),r(`span`,null,j(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`])])),[[E(Ne),E(A)]]),E(S)?k(``,!0):(h(),e(`div`,gi,[E(L)>0?(h(),p(E(O),{key:0,onClick:E(Oe)},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):(h(),e(`div`,_i)),r(`div`,vi,[d(E(O),{onClick:Ot},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),E(L)===2&&E(se).length>0?(h(),p(E(O),{key:0,type:E(H)?`primary`:`default`,onClick:a[6]||=e=>H.value=!E(H)},{default:N(()=>[u(j(E(H)?E(i)(`spacesModule.wizard.basic`):E(i)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):k(``,!0),E(L)<3?(h(),p(E(O),{key:1,type:`primary`,onClick:Dt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.next.title`)),1)]),_:1})):(h(),p(E(O),{key:2,type:`primary`,loading:E(A),onClick:kt},{default:N(()=>[u(j(E(i)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]))]),_:1})])],64))}}),bi=`spaces-home-control-plugin`,xi=`com.fastybird.smart-panel.plugin.spaces-home-control`,Si=[Q.ROOM,Q.ZONE],Ci={SPACE:`spaces_home_control_plugin-space`,SPACE_EDIT:`spaces_home_control_plugin-space_edit`};export{yi as a,ur as c,Ln as d,kn as f,Si as i,rr as l,bi as n,wr as o,xn as p,xi as r,_r as s,Ci as t,Xn as u};
|