@fastybird/smart-panel-admin 0.1.0-alpha.6 → 0.2.0-alpha.0
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/{card-add-form-Pxgzb_ci.js → card-add-form-BisPivBW.js} +1 -1
- package/dist/assets/{card-edit-form-CON4jaIo.js → card-edit-form-BusFpsQ-.js} +1 -1
- package/dist/assets/{common-BY9Gg1EI.css → common-BofoIkl8.css} +1 -1
- package/dist/assets/{common-DyDAwGBz.js → common-JK1JafYN.js} +23 -23
- package/dist/assets/components-1g6igHyo.js +1 -0
- package/dist/assets/components-BeEsrJ-b.js +1 -0
- package/dist/assets/components-CAw7HExU.js +2 -0
- package/dist/assets/{components-Cvj-jTXV.js → components-DgBFw5N0.js} +2 -2
- package/dist/assets/components-UzD3zcFI.js +1 -0
- package/dist/assets/{components-CQOBigIL.js → components-bYlscUCC.js} +1 -1
- package/dist/assets/components-nySjR0Kw.js +1 -0
- package/dist/assets/components-z2LceEke.js +1 -0
- package/dist/assets/{composables-Bg2MBx7D.js → composables-B3n72_CD.js} +1 -1
- package/dist/assets/composables-BXpPCCSi.js +1 -0
- package/dist/assets/{composables-B6gv3LxR.js → composables-B_kXgvb-.js} +1 -1
- package/dist/assets/composables-C4HnLsc8.js +1 -0
- package/dist/assets/{composables-CVFi60Du.js → composables-DA8zAfAi.js} +1 -1
- package/dist/assets/{composables-DdqAQ2NN.js → composables-DDM6BsX-.js} +1 -1
- package/dist/assets/{composables-lfdMtVU8.js → composables-DSiBJrZg.js} +1 -1
- package/dist/assets/{composables-DZYr3rl3.js → composables-DgP2mWSg.js} +1 -1
- package/dist/assets/{composables-UlKjXsBi.js → composables-TA5USsUm.js} +1 -1
- package/dist/assets/dashboard-DtbhQy8k.js +2 -0
- package/dist/assets/{dashboard.types-Jem1nlEy.js → dashboard.types-DIw6K--h.js} +1 -1
- package/dist/assets/{data-source-edit-form-DhRIUxuw.js → data-source-edit-form-CFN-SvSK.js} +1 -1
- package/dist/assets/{drawer-BC8DYcvI.js → drawer-BbdsjCiJ.js} +1 -1
- package/dist/assets/index-PghKL0r3.js +16 -0
- package/dist/assets/{input-number-ZxkWRYbD.js → input-number-BwfEsFHJ.js} +1 -1
- package/dist/assets/integration-config-dialog-BD1WDXmi.js +1 -0
- package/dist/assets/{layout-config-BNu3S7S4.js → layout-config-DVNEtk0l.js} +1 -1
- package/dist/assets/{layout-default-BPXnOfmF.js → layout-default-D8F5_o8G.js} +1 -1
- package/dist/assets/{layout-lock--gkSv3un.js → layout-lock-CfiqLAMO.js} +1 -1
- package/dist/assets/layout-profile-Bw674NXk.js +1 -0
- package/dist/assets/{layout-profile-sLgAVYMg.js → layout-profile-BzY9_cS6.js} +1 -1
- package/dist/assets/layout-sign-Cw29pWzr.js +1 -0
- package/dist/assets/{layout-sign-CiXTWrEu.js → layout-sign-DtlkTDMF.js} +1 -1
- package/dist/assets/{list-data-sources-adjust-D8QPNWre.js → list-data-sources-adjust-ClHBpxMC.js} +1 -1
- package/dist/assets/{list-locations-BFPqF3i-.js → list-locations-Do970MZB.js} +1 -1
- package/dist/assets/{list-users-CYCm53K6.js → list-users-Rb7ebowd.js} +1 -1
- package/dist/assets/logs-entries.transformers-DAjf4lH9.js +1 -0
- package/dist/assets/{page-configure-xghKYXvV.js → page-configure-C0AoqDin.js} +1 -1
- package/dist/assets/{page-configure-ChpS6Or7.js → page-configure-CPiMqgP0.js} +1 -1
- package/dist/assets/{pagination-DejKh2TT.js → pagination-B1k-jAW4.js} +1 -1
- package/dist/assets/{popover-BW83aJP4.js → popover-BwYIvci_.js} +1 -1
- package/dist/assets/{radio-BvpKu4BH.js → radio-Be6vTJaS.js} +1 -1
- package/dist/assets/scene-add-form-C69EauRZ.js +1 -0
- package/dist/assets/scene-edit-form-BRv-mgGO.js +1 -0
- package/dist/assets/{select-data-source-plugin-CvsohGgN.js → select-data-source-plugin-B_OX-n6n.js} +1 -1
- package/dist/assets/slider-Tbif000c.js +1 -0
- package/dist/assets/{steps-B6e2Hpk1.js → steps-Dm6QDerW.js} +1 -1
- package/dist/assets/system-DxQR-qce.js +2 -0
- package/dist/assets/{table-DEzwgEz4.js → table-CX8Y_GvR.js} +1 -1
- package/dist/assets/{tile-detail-DQXNcHh_.js → tile-detail-xLofFEUz.js} +1 -1
- package/dist/assets/{tile-edit-form-BXWm1wW5.js → tile-edit-form-DpGYkan5.js} +1 -1
- package/dist/assets/{types-DQmL99Jz.js → types-Iop9417k.js} +1 -1
- package/dist/assets/{useBuddyChat-CGKBq3sR.js → useBuddyChat-B7TWt_bv.js} +1 -1
- package/dist/assets/{useDataSources-D1fe9MPt.js → useDataSources-CpvlBpmX.js} +1 -1
- package/dist/assets/{useDevices-oOyjupML.js → useDevices-dykmiGUr.js} +1 -1
- package/dist/assets/useGeolocation-CZ5e117_.js +2 -0
- package/dist/assets/{useLocation-DmKkc95i.js → useLocation-Go0XGBqc.js} +1 -1
- package/dist/assets/{usePage-B4kb2gRl.js → usePage-utG4SQ8h.js} +1 -1
- package/dist/assets/{useSpaces-LfBlMH_H.js → useSpaces-6g2FoZ3a.js} +1 -1
- package/dist/assets/view-buddy-chat-Dl0AU26s.js +1 -0
- package/dist/assets/{view-card-add-PWabVoVQ.js → view-card-add-CPwGieHz.js} +1 -1
- package/dist/assets/view-card-edit-BHu8pEIh.js +1 -0
- package/dist/assets/view-channel-CHZ4KBxJ.js +1 -0
- package/dist/assets/view-channel-add-CJFbbxVn.js +1 -0
- package/dist/assets/view-channel-edit-CmUNrApy.js +1 -0
- package/dist/assets/view-channel-property-add-BEyV5XHW.js +1 -0
- package/dist/assets/view-channel-property-edit-Dkdqnlbw.js +1 -0
- package/dist/assets/view-channels-DYsIppSf.js +1 -0
- package/dist/assets/{view-config-module-edit-FmOaydgI.js → view-config-module-edit-BKAqnnmP.js} +1 -1
- package/dist/assets/view-config-modules-Sde2ZpyR.js +1 -0
- package/dist/assets/{view-config-plugin-edit-C6_fE8lN.js → view-config-plugin-edit-BauaGPge.js} +1 -1
- package/dist/assets/view-config-plugins-Ch9ZKdi9.js +1 -0
- package/dist/assets/{view-data-source-add-COea4cEq.js → view-data-source-add-CfWMNUlx.js} +1 -1
- package/dist/assets/view-data-source-add-qdQXk36c.js +1 -0
- package/dist/assets/view-data-source-edit-DOZQqr9I.js +1 -0
- package/dist/assets/view-data-source-edit-DwLg-Ho7.js +1 -0
- package/dist/assets/view-device-CU6wEU5y.js +1 -0
- package/dist/assets/view-device-add-DMQr-Ejx.js +1 -0
- package/dist/assets/view-device-control-IO9uv99C.js +1 -0
- package/dist/assets/view-device-edit-CJ6Czhqh.js +1 -0
- package/dist/assets/view-devices-BVXBrN7E.js +1 -0
- package/dist/assets/view-display-BH9oaK9a.js +1 -0
- package/dist/assets/{view-display-edit-gByzGhMs.js → view-display-edit-RqEygqOP.js} +1 -1
- package/dist/assets/{view-display-tokens-BxHDs6uq.js → view-display-tokens-BzMeV1OP.js} +1 -1
- package/dist/assets/{view-displays-CewYxCVw.js → view-displays-CqnYrjgG.js} +1 -1
- package/dist/assets/view-extension-detail-D_jRuvcF.js +1 -0
- package/dist/assets/view-extensions-BoLgkC9q.js +1 -0
- package/dist/assets/view-location-CWT8cw-V.js +1 -0
- package/dist/assets/{view-location-add-DAJfdCWA.js → view-location-add-BR0uBKXf.js} +1 -1
- package/dist/assets/view-location-edit-CJZKYNxs.js +1 -0
- package/dist/assets/{view-locations-lurkMZH_.js → view-locations-6IdaMVnL.js} +1 -1
- package/dist/assets/{view-lock-screen-C2ycj8hs.js → view-lock-screen-DFxhJqT9.js} +1 -1
- package/dist/assets/view-onboarding-QuMnE-0z.js +1 -0
- package/dist/assets/view-page-add-x-N3uK6y.js +1 -0
- package/dist/assets/view-page-configure-KqZNLuDF.js +1 -0
- package/dist/assets/view-page-configure-R6eDpzKu.js +1 -0
- package/dist/assets/view-page-data-source-add-BOmcFo06.js +1 -0
- package/dist/assets/view-page-data-source-edit-D_WZr-5p.js +1 -0
- package/dist/assets/{view-page-edit-DsVBb_0a.js → view-page-edit-Da_VLz0S.js} +1 -1
- package/dist/assets/{view-page-plugin-zbDx-8k2.js → view-page-plugin-DpEUpI0f.js} +1 -1
- package/dist/assets/view-page-qiwAxEhh.js +1 -0
- package/dist/assets/view-pages-fYN0KLgK.js +1 -0
- package/dist/assets/{view-profile-general-4XvU3hOw.js → view-profile-general-D9fnIWUK.js} +1 -1
- package/dist/assets/{view-profile-security-tUXZtBfp.js → view-profile-security-CdSVn0XZ.js} +1 -1
- package/dist/assets/view-scene-add-DPh4t_yO.js +1 -0
- package/dist/assets/view-scene-edit-D_78trN5.js +1 -0
- package/dist/assets/view-scenes-CshixN5G.js +1 -0
- package/dist/assets/{view-sign-in-Dn7Sueav.js → view-sign-in-BQEFUpCQ.js} +1 -1
- package/dist/assets/{view-sign-up-BT4JPoJG.js → view-sign-up-DJMhcZRn.js} +1 -1
- package/dist/assets/view-space-BPMpriaP.js +1 -0
- package/dist/assets/view-space-add-Dn_Xxa7h.js +1 -0
- package/dist/assets/view-space-edit-CelgqT1d.js +1 -0
- package/dist/assets/view-spaces-D0IGj_jA.js +1 -0
- package/dist/assets/view-spaces-onboarding-CSxeYXfN.js +1 -0
- package/dist/assets/view-stats-B1tPshLL.js +1 -0
- package/dist/assets/{view-system-info-Bj795uHO.js → view-system-info-DltMAbI0.js} +1 -1
- package/dist/assets/{view-system-log-detail-BDgL1D5J.js → view-system-log-detail-BysNzpVK.js} +1 -1
- package/dist/assets/{view-system-logs-DebD3h5V.js → view-system-logs-Dm7pnxom.js} +1 -1
- package/dist/assets/{view-tile-phBBfQoi.js → view-tile-D7sYnocL.js} +1 -1
- package/dist/assets/view-tile-add-BI2iQuOv.js +1 -0
- package/dist/assets/view-tile-add-zB8FzRNn.js +1 -0
- package/dist/assets/view-tile-data-source-add-DVXzbBX1.js +1 -0
- package/dist/assets/view-tile-data-source-edit-BYxoXONw.js +1 -0
- package/dist/assets/view-tile-edit-BIQ82Oy8.js +1 -0
- package/dist/assets/view-tile-edit-BuEZsIyw.js +1 -0
- package/dist/assets/view-tile-edit-CNTz8OCi.js +1 -0
- package/dist/assets/{view-user-add-D3EkKSML.js → view-user-add-CKWLnQWp.js} +1 -1
- package/dist/assets/view-user-edit-mgL3dRml.js +1 -0
- package/dist/assets/view-users-C0AWfAuw.js +1 -0
- package/dist/assets/weather-CXl7c0Ah.js +2 -0
- package/dist/assets/{weather-forecast.transformers-Bq4YleIF.js → weather-forecast.transformers-BzQnxZQf.js} +1 -1
- package/dist/index.html +60 -58
- package/package.json +1 -1
- package/dist/assets/components--65VzRQH.js +0 -1
- package/dist/assets/components-BPdLRVnA.js +0 -2
- package/dist/assets/components-BerPwVp-.js +0 -1
- package/dist/assets/components-CgyOM-CC.js +0 -1
- package/dist/assets/components-DyHKXGO-.js +0 -1
- package/dist/assets/components-mclHZ55p.js +0 -1
- package/dist/assets/composables-C9x-efDp.js +0 -1
- package/dist/assets/composables-EOIIyvfq2.js +0 -1
- package/dist/assets/dashboard-DfhAHLf_.js +0 -2
- package/dist/assets/index-BDDqdVnT.js +0 -16
- package/dist/assets/integration-config-dialog-ByYgxK4S.js +0 -1
- package/dist/assets/layout-profile-D_3OGioj.js +0 -1
- package/dist/assets/layout-sign-DjzS064d.js +0 -1
- package/dist/assets/logs-entries.transformers-B17JQgGx.js +0 -1
- package/dist/assets/scene-add-form-v31kuUJe.js +0 -1
- package/dist/assets/scene-edit-form-CURoaMiA.js +0 -1
- package/dist/assets/slider-CS5SsQJB.js +0 -1
- package/dist/assets/useGeolocation-Bn0Ka28s.js +0 -2
- package/dist/assets/view-buddy-chat-2LOZupni.js +0 -1
- package/dist/assets/view-card-edit-DEJBolH-.js +0 -1
- package/dist/assets/view-channel-BHDhS4p-.js +0 -1
- package/dist/assets/view-channel-add-BCtvWXrd.js +0 -1
- package/dist/assets/view-channel-edit-BTyoazYZ.js +0 -1
- package/dist/assets/view-channel-property-add-ruykaYtd.js +0 -1
- package/dist/assets/view-channel-property-edit-BnYYqxkX.js +0 -1
- package/dist/assets/view-channels-CmrrHeQA.js +0 -1
- package/dist/assets/view-config-modules-P71Gx-Ox.js +0 -1
- package/dist/assets/view-config-plugins-1dCE5KY4.js +0 -1
- package/dist/assets/view-data-source-add-Ctkk4rH0.js +0 -1
- package/dist/assets/view-data-source-edit-DSVnEdb0.js +0 -1
- package/dist/assets/view-data-source-edit-dwsWJDG4.js +0 -1
- package/dist/assets/view-device-TNAtLE-u.js +0 -1
- package/dist/assets/view-device-add-DOMsL_By.js +0 -1
- package/dist/assets/view-device-control-D3bWbQy2.js +0 -1
- package/dist/assets/view-device-edit-BSrgYuAM.js +0 -1
- package/dist/assets/view-devices-D0fUuW0C.js +0 -1
- package/dist/assets/view-display-CZPK0L_O.js +0 -1
- package/dist/assets/view-extension-detail-DSs3NVxd.js +0 -1
- package/dist/assets/view-extensions-piIsPNf6.js +0 -1
- package/dist/assets/view-location-CSl3EEVR.js +0 -1
- package/dist/assets/view-location-edit-DzRxnPA5.js +0 -1
- package/dist/assets/view-onboarding-dzzRbXxx.js +0 -1
- package/dist/assets/view-page-71AaAyYY.js +0 -1
- package/dist/assets/view-page-add-Bf9pNL0Y.js +0 -1
- package/dist/assets/view-page-configure-DFlrn4ng.js +0 -1
- package/dist/assets/view-page-configure-DZZgAftY.js +0 -1
- package/dist/assets/view-page-data-source-add-BumAmlK1.js +0 -1
- package/dist/assets/view-page-data-source-edit-CKQj40z8.js +0 -1
- package/dist/assets/view-pages-CzrtWNsy.js +0 -1
- package/dist/assets/view-scene-add-DYx7wqWm.js +0 -1
- package/dist/assets/view-scene-edit-BNLlsUWW.js +0 -1
- package/dist/assets/view-scenes-DPZBf6hH.js +0 -1
- package/dist/assets/view-space-DCq1Iggu.js +0 -1
- package/dist/assets/view-space-add-DChQBXFH.js +0 -1
- package/dist/assets/view-space-edit-BCS0kMTe.js +0 -1
- package/dist/assets/view-spaces-B9N_NjpZ.js +0 -1
- package/dist/assets/view-spaces-onboarding-JIX4TcWu.js +0 -1
- package/dist/assets/view-stats-D3jkSeCi.js +0 -1
- package/dist/assets/view-tile-add-BNt_lwb1.js +0 -1
- package/dist/assets/view-tile-add-wMJtoCQn.js +0 -1
- package/dist/assets/view-tile-data-source-add-BQeH_vRs.js +0 -1
- package/dist/assets/view-tile-data-source-edit-D2d0Esvp.js +0 -1
- package/dist/assets/view-tile-edit-CEbfDUeY.js +0 -1
- package/dist/assets/view-tile-edit-CH5cKzYp.js +0 -1
- package/dist/assets/view-tile-edit-D9COp79j.js +0 -1
- package/dist/assets/view-user-edit-ColYWEea.js +0 -1
- package/dist/assets/view-users-BmX2uwUd.js +0 -1
- package/dist/assets/weather-ll5NQwKh.js +0 -2
- /package/dist/assets/{composables-DDYun9ja.js → composables-CFy1PUwT2.js} +0 -0
- /package/dist/assets/{extensions.constants-BtEcoiTe.js → extensions.constants-zRRiNzmt.js} +0 -0
- /package/dist/assets/{gridstack.min-BC6WoZvX.js → gridstack.min-CkFfNuVm.js} +0 -0
- /package/dist/assets/{keys-C6Zi4a10.js → keys-BBDlM2pa.js} +0 -0
- /package/dist/assets/{leaflet-src-B49UyrlR.js → leaflet-src-w7aZLeZy.js} +0 -0
- /package/dist/assets/{leaflet-src.esm-YKGwaZsZ.js → leaflet-src.esm-CP3k43VF.js} +0 -0
- /package/dist/assets/{marker-icon-2x-BCzqJChB.js → marker-icon-2x-BQwQunh3.js} +0 -0
- /package/dist/assets/{marker-icon-JzPv91fE.js → marker-icon-D5WnykN_.js} +0 -0
- /package/dist/assets/{marker-shadow-tj6c2pB6.js → marker-shadow-7oepq6ij.js} +0 -0
- /package/dist/assets/{pages-cards.contants-B5RdaI3z.js → pages-cards.contants-DaE51N8m.js} +0 -0
- /package/dist/assets/{pages-tiles.constants-Day6cR-b.js → pages-tiles.constants-CQ5vmfVa.js} +0 -0
- /package/dist/assets/{view-not-found-C0Nl0aC-.js → view-not-found-Cyh2GjBD.js} +0 -0
- /package/dist/assets/{weather-icon-CkuFNv0P.js → weather-icon-CoJVymBk.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Ar as n,Br as r,C as i,Di as a,Hr as o,Jt as s,Lr as c,Lt as l,Mt as u,Nr as d,O as f,Oi as p,Qr as m,Qt as h,S as g,Sr as _,T as v,Ur as y,Xr as b,Zt as x,_i as S,_r as C,ai as ee,br as w,ci as te,ct as T,d as E,f as D,gr as O,h as k,hr as A,in as j,ji as M,lr as N,m as P,mr as F,n as I,p as L,pi as ne,pt as re,sr as ie,t as R,tn as ae,tt as oe,ui as z,ut as se,vr as B,w as ce,wi as le,xr as V}from"./icon-with-child-DmQ_XhQy.js";import{At as ue,B as de,Bt as H,Ci as U,Ei as fe,Fi as W,Ft as pe,H as me,Hr as he,Ht as G,Ii as ge,Lr as _e,Mr as ve,Nt as ye,Pi as be,Pr as xe,Ri as Se,Rt as K,Ti as Ce,Ur as we,Wr as Te,Wt as Ee,Xt as De,Yt as Oe,_ as ke,_i as Ae,bi as je,d as Me,di as Ne,dr as q,ei as Pe,fi as Fe,gr as J,ha as Ie,jt as Le,lr as Y,mr as X,pa as Re,pr as ze,qr as Be,ti as Ve,vi as Z,wi as He,xi as Q,y as Ue,yi as We}from"./common-JK1JafYN.js";import{n as $,t as Ge}from"./table-CX8Y_GvR.js";import{t as Ke}from"./input-number-BwfEsFHJ.js";import{n as qe,r as Je}from"./radio-Be6vTJaS.js";import{t as Ye}from"./pagination-B1k-jAW4.js";import{t as Xe}from"./slider-Tbif000c.js";import{t as Ze}from"./popover-BwYIvci_.js";import{i as Qe}from"./composables-DSiBJrZg.js";import{t as $e}from"./useSpaces-6g2FoZ3a.js";import{a as et,c as tt,d as nt,f as rt,g as it,h as at,l as ot,m as st,p as ct,t as lt,u as ut}from"./composables-TA5USsUm.js";import{t as dt}from"./useDevices-dykmiGUr.js";import{b as ft,n as pt,r as mt,y as ht}from"./composables-BXpPCCSi.js";var gt={label:`label`,value:`value`,disabled:`disabled`},_t=x({direction:{type:h(String),default:`horizontal`},options:{type:h(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:h(Object),default:()=>gt},block:Boolean,size:T,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...Se([`ariaLabel`])}),vt={[Ie]:e=>a(e)||j(e)||ae(e),[Re]:e=>a(e)||j(e)||ae(e)},yt=[`id`,`aria-label`,`aria-labelledby`],bt=[`name`,`disabled`,`checked`,`onChange`],xt=oe(_({name:`ElSegmented`,__name:`segmented`,props:_t,emits:vt,setup(e,{emit:n}){let a=e,c=n,d=re(`segmented`),f=se(),m=v(),h=ce(),{formItem:_}=g(),{inputId:x,isLabeledByFormItem:ee}=i(a,{formItemContext:_}),T=z(null),E=u(),D=te({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),O=(e,t)=>{let n=P(t);c(Ie,n),c(Re,n),e.target.checked=n===a.modelValue},k=F(()=>({...gt,...a.props})),j=e=>e,P=e=>le(e)?e[k.value.value]:e,I=e=>le(e)?e[k.value.label]:e,L=e=>!!(h.value||le(e)&&e[k.value.disabled]),ne=e=>a.modelValue===P(e),ie=e=>a.options.find(t=>P(t)===e),R=e=>[d.e(`item`),d.is(`selected`,ne(e)),d.is(`disabled`,L(e))],ae=()=>{if(!T.value)return;let e=T.value.querySelector(`.is-selected`),t=T.value.querySelector(`.is-selected input`);if(!e||!t){D.width=0,D.height=0,D.translateX=0,D.translateY=0,D.focusVisible=!1;return}D.isInit=!0,a.direction===`vertical`?(D.height=e.offsetHeight,D.translateY=e.offsetTop):(D.width=e.offsetWidth,D.translateX=e.offsetLeft);try{D.focusVisible=t.matches(`:focus-visible`)}catch{}},oe=F(()=>[d.b(),d.m(m.value),d.is(`block`,a.block)]),V=F(()=>({width:a.direction===`vertical`?`100%`:`${D.width}px`,height:a.direction===`vertical`?`${D.height}px`:`100%`,transform:a.direction===`vertical`?`translateY(${D.translateY}px)`:`translateX(${D.translateX}px)`,display:D.isInit?`block`:`none`})),ue=F(()=>[d.e(`item-selected`),d.is(`disabled`,L(ie(a.modelValue))),d.is(`focus-visible`,D.focusVisible)]),de=F(()=>a.name||f.value);return l(T,ae),b(E,ae),b(()=>a.modelValue,()=>{ae(),a.validateEvent&&_?.validate?.(`change`).catch(e=>s(e))},{flush:`post`}),(n,i)=>e.options.length?(r(),B(`div`,{key:0,id:S(x),ref_key:`segmentedRef`,ref:T,class:p(oe.value),role:`radiogroup`,"aria-label":S(ee)?void 0:e.ariaLabel||`segmented`,"aria-labelledby":S(ee)?S(_).labelId:void 0},[A(`div`,{class:p([S(d).e(`group`),S(d).m(e.direction)])},[A(`div`,{style:t(V.value),class:p(ue.value)},null,6),(r(!0),B(N,null,o(e.options,(e,t)=>(r(),B(`label`,{key:t,class:p(R(e))},[A(`input`,{class:p(S(d).e(`item-input`)),type:`radio`,name:de.value,disabled:L(e),checked:ne(e),onChange:t=>O(t,e)},null,42,bt),A(`div`,{class:p(S(d).e(`item-label`))},[y(n.$slots,`default`,{item:j(e)},()=>[w(M(I(e)),1)])],2)],2))),128))],2)],10,yt)):C(`v-if`,!0)}})),St={class:`flex w-full`},Ct=_({name:`SpacesFilter`,__name:`spaces-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=xe(n,`filters`,i),s=z(void 0);return b(()=>o.value.search,e=>{e===``&&(o.value.search=void 0)}),(e,t)=>(r(),B(`div`,St,[V(S(be),{ref_key:`filterFormEl`,ref:s,inline:!0,model:S(o),class:`grow-1`},{default:m(()=>[V(S(fe),{modelValue:S(o).search,"onUpdate:modelValue":t[0]||=e=>S(o).search=e,placeholder:S(a)(`spacesModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:m(()=>[V(S(f),null,{default:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),V(S(me),{"selected-count":n.selectedCount,actions:n.bulkActions,onAction:t[1]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),n.filtersActive?(r(),O(S(k),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`reset-filters`)},{default:m(()=>[V(S(L),{icon:`mdi:filter-off`})]),_:1})):C(``,!0),V(S(k),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`adjust-list`)},{default:m(()=>[V(S(L),{icon:`mdi:slider`})]),_:1})]))}}),wt={key:0,class:`h-full w-full leading-normal`},Tt={key:1,class:`h-full w-full leading-normal`},Et={key:2,class:`h-full w-full leading-normal`},Dt={class:`block`},Ot=_({name:`SpacesTable`,__name:`spaces-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},filters:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`reset-filters`,`update:sort-by`,`update:sort-dir`,`selected-changes`],setup(n,{emit:i}){let a=n,o=i,{t:s}=E(),{isMDDevice:c}=ve(),l=F(()=>a.totalRows===0),u=F(()=>a.tableHeight??400),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`detail`,e.id)},p=e=>{o(`selected-changes`,e)};return(n,i)=>e((r(),O(S(Ge),{"element-loading-text":S(s)(`spacesModule.texts.loadingSpaces`),data:a.items,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:t({maxHeight:u.value+`px`}),"max-height":u.value,onSortChange:d,onSelectionChange:p,onRowClick:f},{empty:m(()=>[a.loading?(r(),B(`div`,wt,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):a.filtersActive&&!a.loading?(r(),B(`div`,Tt,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(s)(`spacesModule.texts.noFilteredSpaces`)),1)]),_:1}),V(S(k),{type:`primary`,plain:``,class:`mt-4`,onClick:i[0]||=e=>o(`reset-filters`)},{icon:m(()=>[V(S(L),{icon:`mdi:filter-off`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):l.value&&!a.loading?(r(),B(`div`,Et,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:home-group`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(s)(`spacesModule.texts.noSpaces`)),1)]),_:1})])):C(``,!0)]),default:m(()=>[S(c)?(r(),O(S($),{key:0,type:`selection`,fixed:``,width:30})):C(``,!0),V(S($),{width:60,align:`center`},{default:m(e=>[V(S(He),{size:32},{default:m(()=>[V(S(L),{icon:e.row.icon||(e.row.type===S(G).ROOM?`mdi:door`:`mdi:home-floor-1`),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),V(S($),{label:S(s)(`spacesModule.table.columns.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:m(e=>[A(`strong`,Dt,M(e.row.name),1),e.row.description?(r(),O(S(Te),{key:0,size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.row.description),1)]),_:2},1024)):C(``,!0)]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.type`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:m(e=>[V(S(Q),{type:e.row.type===S(G).ROOM?`primary`:`info`,size:`small`},{default:m(()=>[w(M(S(s)(`spacesModule.misc.types.${e.row.type}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.category`),prop:`category`,width:150},{default:m(e=>[e.row.category?(r(),O(S(Te),{key:0,size:`small`},{default:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.category.options.${e.row.category}`)),1)]),_:2},1024)):(r(),O(S(Te),{key:1,size:`small`,type:`info`},{default:m(()=>[...i[2]||=[w(` — `,-1)]]),_:1}))]),_:1},8,[`label`]),V(S($),{label:S(s)(`spacesModule.table.columns.order`),prop:`displayOrder`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:100,align:`center`},{default:m(e=>[w(M(e.row.displayOrder),1)]),_:1},8,[`label`]),V(S($),{width:190,align:`right`},{default:m(e=>[A(`div`,{onClick:i[1]||=ie(()=>{},[`stop`])},[V(S(k),{size:`small`,plain:``,"data-test-id":`detail-space`,onClick:t=>o(`detail`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:file-search-outline`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),V(S(k),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-space`,onClick:t=>o(`edit`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),V(S(k),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-space`,onClick:t=>o(`remove`,e.row.id)},{icon:m(()=>[V(S(L),{icon:`mdi:trash`})]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[S(we),a.loading]])}}),kt=_({name:`ListSpaces`,__name:`list-spaces`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},paginatePage:{},paginateSize:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`bulk-action`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),{isMDDevice:o}=ve(),s=null,l=z(null),u=z(null),f=xe(n,`filters`,i),p=z(n.sortBy),h=z(n.sortDir??null),g=z(n.paginatePage),_=z(n.paginateSize),v=z(250),y=z([]),x=F(()=>[{key:`delete`,label:a(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),C=e=>{i(`detail`,e)},w=e=>{i(`edit`,e)},te=e=>{i(`remove`,e)},T=()=>{i(`add`)},D=()=>{i(`reset-filters`)},O=e=>{i(`update:paginate-size`,e)},k=e=>{i(`update:paginate-page`,e)},j=e=>{y.value=e},M=e=>{i(`bulk-action`,e,y.value)};return c(()=>{if(!l.value)return;let e=()=>{l.value&&u.value&&(v.value=l.value.clientHeight-u.value.clientHeight)};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(l.value)),e()}),d(()=>{s&&l.value&&s.unobserve(l.value)}),b(()=>p.value,e=>{i(`update:sort-by`,e)}),b(()=>h.value,e=>{i(`update:sort-dir`,e)}),b(()=>n.paginatePage,e=>{g.value=e}),b(()=>n.paginateSize,e=>{_.value=e}),b(()=>n.sortDir??null,e=>{h.value=e}),b(()=>n.sortBy,e=>{p.value=e}),b(()=>o.value,e=>{e||(y.value=[])}),(e,t)=>(r(),B(N,null,[V(S(Ae),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:m(()=>[V(Ct,{filters:S(f),"onUpdate:filters":t[0]||=e=>ee(f)?f.value=e:null,"filters-active":n.filtersActive,"selected-count":y.value.length,"bulk-actions":x.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:M},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),A(`div`,{ref_key:`wrapper`,ref:l,class:`flex-grow overflow-hidden`},[V(S(Ae),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:m(()=>[V(Ot,{filters:S(f),"onUpdate:filters":t[3]||=e=>ee(f)?f.value=e:null,"sort-by":p.value,"onUpdate:sortBy":t[4]||=e=>p.value=e,"sort-dir":h.value,"onUpdate:sortDir":t[5]||=e=>h.value=e,items:n.items,"total-rows":n.totalRows,loading:n.loading,"filters-active":n.filtersActive,"table-height":v.value,onDetail:C,onEdit:w,onRemove:te,onAdd:T,onResetFilters:D,onSelectedChanges:j},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),A(`div`,{ref_key:`paginator`,ref:u,class:`flex justify-center w-full py-4`},[V(S(Ye),{"current-page":g.value,"onUpdate:currentPage":t[6]||=e=>g.value=e,"page-size":_.value,"onUpdate:pageSize":t[7]||=e=>_.value=e,layout:S(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:n.allItems.length,onSizeChange:O,onCurrentChange:k},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),At={class:`px-2`},jt={class:`px-5 py-2 text-center`},Mt=D(_({name:`ListSpacesAdjust`,__name:`list-spaces-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let n=e,i=t,a=re(`list-spaces-adjust`),{t:o}=E(),s=z([`type`]),c=xe(n,`filters`,i);return(e,t)=>(r(),B(N,null,[V(S(_e),{teleport:``},{icon:m(()=>[V(S(L),{icon:`mdi:filter`})]),title:m(()=>[w(M(S(o)(`spacesModule.headings.adjustFilters`)),1)]),subtitle:m(()=>[w(M(S(o)(`spacesModule.subHeadings.adjustFilters`)),1)]),_:1}),A(`div`,{class:p([[S(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[V(S(Ce),{class:`flex-grow`},{default:m(()=>[V(S(Ne),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:m(()=>[V(S(Fe),{name:`type`,class:p([S(a).e(`filter-item`)])},{title:m(()=>[V(S(Te),{class:`!px-2`},{default:m(()=>[w(M(S(o)(`spacesModule.filters.type.title`)),1)]),_:1})]),default:m(()=>[A(`div`,At,[V(S(Je),{modelValue:S(c).type,"onUpdate:modelValue":t[0]||=e=>S(c).type=e},{default:m(()=>[V(S(qe),{label:S(o)(`spacesModule.misc.types.room`),value:S(G).ROOM},null,8,[`label`,`value`]),V(S(qe),{label:S(o)(`spacesModule.misc.types.zone`),value:S(G).ZONE},null,8,[`label`,`value`]),V(S(qe),{label:S(o)(`spacesModule.filters.type.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),A(`div`,jt,[V(S(k),{disabled:!n.filtersActive,onClick:t[2]||=e=>i(`reset-filters`)},{icon:m(()=>[V(S(L),{icon:`mdi:filter-remove`})]),default:m(()=>[w(` `+M(S(o)(`spacesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-2f65479c`]]),Nt={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},Pt={class:`flex items-center gap-2`},Ft={class:`font-medium`},It={class:`px-2`},Lt={class:`flex items-center gap-2`},Rt={class:`flex items-center gap-2`},zt={class:`flex items-center gap-2`},Bt={class:`font-medium`},Vt={class:`px-2`},Ht={class:`flex items-center gap-2`},Ut={key:0,class:`flex gap-2 justify-end mt-4`},Wt=_({__name:`space-add-form`,props:{hideActions:{type:Boolean,default:!1}},emits:Nt,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),{zoneSpaces:c}=$e(),{model:l,formEl:u,formChanged:d,submit:p,formResult:h,createdSpace:g}=at({id:Me().toString()}),_=z();b(_,e=>{u.value=e},{immediate:!0});let v=z([`general`,`organization`]),y=te({icon:null,description:null}),x=F({get:()=>l.icon?.replace(`mdi:`,``)??null,set:e=>{l.icon=e?`mdi:${e}`:null}}),{categoryOptions:ee,categoryGroups:T,currentTemplates:D}=st(F(()=>l.type));b(()=>l.type,e=>{l.category&&!De(l.category,e)&&(l.category=null,l.icon===y.icon&&(l.icon=null,y.icon=null),l.description===y.description&&(l.description=null,y.description=null)),e===G.ZONE&&(l.parentId=null),_.value?.clearValidate()});let j=e=>{if(e&&D.value[e]){let t=D.value[e];(!l.icon||l.icon===y.icon)&&(l.icon=t.icon,y.icon=t.icon),(!l.description||l.description===y.description)&&(l.description=t.description,y.description=t.description)}},P=F(()=>({name:[{required:!0,message:s(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:l.type===G.ZONE,message:s(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));b(()=>d.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0});let I=async()=>{try{await p(),g.value&&a(`saved`,g.value)}catch{}},ne=()=>{a(`cancel`)};return t({submit:I}),(e,t)=>(r(),O(S(be),{ref_key:`formElRef`,ref:_,model:S(l),rules:P.value,"label-position":`top`,onSubmit:ie(I,[`prevent`])},{default:m(()=>[V(S(Ne),{modelValue:v.value,"onUpdate:modelValue":t[7]||=e=>v.value=e},{default:m(()=>[V(S(Fe),{name:`general`},{title:m(()=>[A(`div`,Pt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1}),A(`span`,Ft,M(S(s)(`spacesModule.edit.sections.general.title`)),1)])]),default:m(()=>[A(`div`,It,[V(S(W),{label:S(s)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:m(()=>[V(S(fe),{modelValue:S(l).name,"onUpdate:modelValue":t[0]||=e=>S(l).name=e,placeholder:S(s)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.type.title`),prop:`type`},{default:m(()=>[V(S(je),{modelValue:S(l).type,"onUpdate:modelValue":t[1]||=e=>S(l).type=e},{default:m(()=>[V(S(Z),{label:S(s)(`spacesModule.fields.spaces.type.options.room`),value:S(G).ROOM},null,8,[`label`,`value`]),V(S(Z),{label:S(s)(`spacesModule.fields.spaces.type.options.zone`),value:S(G).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:m(()=>[V(S(je),{modelValue:S(l).category,"onUpdate:modelValue":t[2]||=e=>S(l).category=e,placeholder:S(s)(`spacesModule.fields.spaces.category.placeholder`),clearable:S(l).type!==S(G).ZONE,onChange:j},{default:m(()=>[S(T)?(r(!0),B(N,{key:0},o(S(T),e=>(r(),O(S(We),{key:e.key,label:S(s)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:m(()=>[(r(!0),B(N,null,o(e.categories,e=>(r(),O(S(Z),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Lt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),B(N,{key:1},o(S(ee),e=>(r(),O(S(Z),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Rt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),V(S(ge),{title:S(s)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`my-2!`},null,8,[`title`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:m(()=>[V(S(fe),{modelValue:S(l).description,"onUpdate:modelValue":t[3]||=e=>S(l).description=e,type:`textarea`,rows:3,placeholder:S(s)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:m(()=>[V(S(de),{modelValue:x.value,"onUpdate:modelValue":t[4]||=e=>x.value=e,placeholder:S(s)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:m(()=>[V(S(Ke),{modelValue:S(l).displayOrder,"onUpdate:modelValue":t[5]||=e=>S(l).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),S(l).type===S(G).ROOM?(r(),O(S(Fe),{key:0,name:`organization`},{title:m(()=>[A(`div`,zt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:sitemap`})]),_:1}),A(`span`,Bt,M(S(s)(`spacesModule.edit.sections.organization.title`)),1)])]),default:m(()=>[A(`div`,Vt,[V(S(W),{label:S(s)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:m(()=>[V(S(je),{modelValue:S(l).parentId,"onUpdate:modelValue":t[6]||=e=>S(l).parentId=e,placeholder:S(s)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:m(()=>[(r(!0),B(N,null,o(S(c),e=>(r(),O(S(Z),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`span`,Ht,[e.icon?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(ge),{title:S(s)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):C(``,!0)]),_:1},8,[`modelValue`]),i.hideActions?C(``,!0):(r(),B(`div`,Ut,[V(S(k),{onClick:ne},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:S(h)===S(ye).WORKING,onClick:I},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),Gt={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},Kt={class:`flex items-center gap-2`},qt={class:`font-medium`},Jt={class:`px-2`},Yt={class:`flex items-center gap-2`},Xt={class:`flex items-center gap-2`},Zt={class:`flex items-center gap-2`},Qt={class:`font-medium`},$t={class:`px-2`},en={class:`flex items-center gap-2`},tn={class:`flex items-center gap-2`},nn={class:`font-medium`},rn={class:`px-2`},an={class:`border border-solid border-gray-200 rounded-lg p-4 mb-2`},on={class:`flex items-center justify-between mb-3`},sn={class:`flex items-center gap-2`},cn={class:`font-medium`},ln={class:`flex items-center gap-2`},un={class:`font-medium`},dn={class:`px-2`},fn={key:0,class:`flex gap-2 justify-end mt-4`},pn=_({__name:`space-edit-form`,props:{space:{},hideActions:{type:Boolean,default:!1}},emits:Gt,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),{zoneSpaces:c,findById:l}=$e(),{model:u,formEl:d,formChanged:p,submit:h,formResult:g}=nt({space:F(()=>i.space)}),_=z();b(_,e=>{d.value=e},{immediate:!0});let v=z([`general`,`organization`]),y=te({icon:null,description:null}),x=F({get:()=>u.icon?.replace(`mdi:`,``)??null,set:e=>{u.icon=e?`mdi:${e}`:null}}),{categoryOptions:ee,categoryGroups:T,currentTemplates:D}=st(F(()=>u.type)),j=F(()=>c.value.filter(e=>!i.space||e.id!==i.space.id)),P=()=>u.statusWidgets?.find(e=>e.type===Ee.ENERGY),I=F(()=>!!P()),ne=F(()=>[{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.today`),value:Le.TODAY},{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.week`),value:Le.WEEK},{label:s(`spacesModule.fields.spaces.statusWidgets.energy.range.options.month`),value:Le.MONTH}]),re=F({get:()=>P()?.settings?.range??ue.range,set:e=>{let t=P();t&&(t.settings={...t.settings,range:e})}}),R=F({get:()=>P()?.settings?.showProduction??ue.showProduction,set:e=>{let t=P();t&&(t.settings={...t.settings,showProduction:e})}}),ae=e=>{if(e){let e=u.statusWidgets??[];if(e.some(e=>e.type===Ee.ENERGY))return;e.push({type:Ee.ENERGY,order:e.length,settings:{range:ue.range,showProduction:ue.showProduction}}),u.statusWidgets=e}else{let e=(u.statusWidgets??[]).filter(e=>e.type!==Ee.ENERGY);u.statusWidgets=e.length>0?e:null}};b(()=>u.type,e=>{u.category&&!De(u.category,e)&&(u.category=null,u.icon===y.icon&&(u.icon=null,y.icon=null),u.description===y.description&&(u.description=null,y.description=null)),e===G.ZONE&&(u.parentId=null),_.value?.clearValidate()});let oe=e=>{if(e&&D.value[e]){let t=D.value[e];(!u.icon||u.icon===y.icon)&&(u.icon=t.icon,y.icon=t.icon),(!u.description||u.description===y.description)&&(u.description=t.description,y.description=t.description)}},se=F(()=>({name:[{required:!0,message:s(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:u.type===G.ZONE,message:s(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));b(()=>p.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0}),b(()=>i.space,e=>{e&&(y.icon=null,y.description=null)});let ce=async()=>{try{await h();let e=l(u.id);e&&a(`saved`,e)}catch{}},le=()=>{a(`cancel`)};return t({submit:ce}),(t,n)=>(r(),O(S(be),{ref_key:`formRef`,ref:_,model:S(u),rules:se.value,"label-position":`top`,onSubmit:ie(ce,[`prevent`])},{default:m(()=>[V(S(Ne),{modelValue:v.value,"onUpdate:modelValue":n[9]||=e=>v.value=e},{default:m(()=>[V(S(Fe),{name:`general`},{title:m(()=>[A(`div`,Kt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1}),A(`span`,qt,M(S(s)(`spacesModule.edit.sections.general.title`)),1)])]),default:m(()=>[A(`div`,Jt,[V(S(W),{label:S(s)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:m(()=>[V(S(fe),{modelValue:S(u).name,"onUpdate:modelValue":n[0]||=e=>S(u).name=e,placeholder:S(s)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:m(()=>[V(S(je),{modelValue:S(u).category,"onUpdate:modelValue":n[1]||=e=>S(u).category=e,placeholder:S(s)(`spacesModule.fields.spaces.category.placeholder`),clearable:S(u).type!==S(G).ZONE,onChange:oe},{default:m(()=>[S(T)?(r(!0),B(N,{key:0},o(S(T),e=>(r(),O(S(We),{key:e.key,label:S(s)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:m(()=>[(r(!0),B(N,null,o(e.categories,e=>(r(),O(S(Z),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Yt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),B(N,{key:1},o(S(ee),e=>(r(),O(S(Z),{key:e,label:S(s)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:m(()=>[A(`span`,Xt,[S(D)[e]?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:S(D)[e].icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(S(s)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),V(S(ge),{title:S(s)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`!my-2`},null,8,[`title`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:m(()=>[V(S(fe),{modelValue:S(u).description,"onUpdate:modelValue":n[2]||=e=>S(u).description=e,type:`textarea`,rows:3,placeholder:S(s)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:m(()=>[V(S(de),{modelValue:x.value,"onUpdate:modelValue":n[3]||=e=>x.value=e,placeholder:S(s)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(W),{label:S(s)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:m(()=>[V(S(Ke),{modelValue:S(u).displayOrder,"onUpdate:modelValue":n[4]||=e=>S(u).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),S(u).type===S(G).ROOM?(r(),O(S(Fe),{key:0,name:`organization`},{title:m(()=>[A(`div`,Zt,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:sitemap`})]),_:1}),A(`span`,Qt,M(S(s)(`spacesModule.edit.sections.organization.title`)),1)])]),default:m(()=>[A(`div`,$t,[V(S(W),{label:S(s)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:m(()=>[V(S(je),{modelValue:S(u).parentId,"onUpdate:modelValue":n[5]||=e=>S(u).parentId=e,placeholder:S(s)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:m(()=>[(r(!0),B(N,null,o(j.value,e=>(r(),O(S(Z),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`span`,en,[e.icon?(r(),O(S(f),{key:0},{default:m(()=>[V(S(L),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):C(``,!0),w(` `+M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(S(ge),{title:S(s)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):C(``,!0),V(S(Fe),{name:`statusWidgets`},{title:m(()=>[A(`div`,tn,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:view-dashboard-variant`})]),_:1}),A(`span`,nn,M(S(s)(`spacesModule.edit.sections.statusWidgets.title`)),1)])]),default:m(()=>[A(`div`,rn,[V(S(ge),{title:S(s)(`spacesModule.edit.sections.statusWidgets.hint`),type:`info`,closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`]),A(`div`,an,[A(`div`,on,[A(`div`,sn,[V(S(L),{icon:`mdi:flash-outline`,class:`text-lg`}),A(`span`,cn,M(S(s)(`spacesModule.fields.spaces.statusWidgets.energy.title`)),1)]),V(S(Be),{"model-value":I.value,onChange:ae},null,8,[`model-value`])]),I.value?(r(),B(N,{key:0},[V(S(W),{label:S(s)(`spacesModule.fields.spaces.statusWidgets.energy.range.title`)},{default:m(()=>[V(S(xt),{modelValue:re.value,"onUpdate:modelValue":n[6]||=e=>re.value=e,options:ne.value,block:``},null,8,[`modelValue`,`options`])]),_:1},8,[`label`]),V(S(W),{"label-position":`left`},{label:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.statusWidgets.energy.showProduction.title`)),1)]),default:m(()=>[V(S(Be),{modelValue:R.value,"onUpdate:modelValue":n[7]||=e=>R.value=e},null,8,[`modelValue`])]),_:1})],64)):C(``,!0)])])]),_:1}),V(S(Fe),{name:`smartOverrides`},{title:m(()=>[A(`div`,ln,[V(S(f),{size:20},{default:m(()=>[V(S(L),{icon:`mdi:tune`})]),_:1}),A(`span`,un,M(S(s)(`spacesModule.edit.sections.smartOverrides.title`)),1),V(S(Q),{size:`small`,type:`info`},{default:m(()=>[w(M(S(s)(`spacesModule.edit.sections.smartOverrides.badge`)),1)]),_:1})])]),default:m(()=>[A(`div`,dn,[V(S(ge),{title:S(s)(`spacesModule.edit.sections.smartOverrides.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`]),V(S(W),{prop:`suggestionsEnabled`,"label-position":`left`},{label:m(()=>[w(M(S(s)(`spacesModule.fields.spaces.suggestionsEnabled.title`)),1)]),default:m(()=>[V(S(Be),{modelValue:S(u).suggestionsEnabled,"onUpdate:modelValue":n[8]||=e=>S(u).suggestionsEnabled=e},null,8,[`modelValue`])]),_:1}),V(S(ge),{title:S(s)(`spacesModule.fields.spaces.suggestionsEnabled.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})]),_:1},8,[`modelValue`]),e.hideActions?C(``,!0):(r(),B(`div`,fn,[V(S(k),{onClick:le},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:S(g)===S(ye).WORKING,onClick:ce},{default:m(()=>[w(M(S(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),mn={key:1,class:`flex justify-center py-4`},hn={class:`flex items-center gap-2`},gn={class:`flex flex-col`},_n={key:0,class:`text-xs text-gray-400`},vn={class:`flex gap-1`},yn={class:`flex justify-between items-center mt-4`},bn={class:`text-xs text-gray-400`},xn=_({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=ke(),{lightingSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:X.main,label:n(`spacesModule.lightingRoles.main`)},{value:X.task,label:n(`spacesModule.lightingRoles.task`)},{value:X.ambient,label:n(`spacesModule.lightingRoles.ambient`)},{value:X.accent,label:n(`spacesModule.lightingRoles.accent`)},{value:X.night,label:n(`spacesModule.lightingRoles.night`)},{value:X.other,label:n(`spacesModule.lightingRoles.other`)},{value:X.hidden,label:n(`spacesModule.lightingRoles.hidden`)}]),h=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/lighting/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.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{l.value=!1}},g=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/lighting/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update lighting role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear lighting role`);return}e.role=null}}catch{a.error(`Failed to update lighting role`)}},_=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await h(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&h()}),b(()=>s?.value,()=>{t.space?.id&&h()}),c(()=>{t.space?.id&&h()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(Pe),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,mn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,hn,[V(S(L),{icon:`mdi:lightbulb`}),A(`div`,gn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,_n,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.lightingRoles.role.title`),width:`160`},{default:m(({row:e})=>[V(S(je),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>g(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Z),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`100`},{default:m(({row:e})=>[A(`div`,vn,[e.hasBrightness?(r(),O(S(Q),{key:0,type:`info`,size:`small`},{default:m(()=>[...i[0]||=[w(`Dim`,-1)]]),_:1})):C(``,!0),e.hasColor?(r(),O(S(Q),{key:1,type:`success`,size:`small`},{default:m(()=>[...i[1]||=[w(`RGB`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,yn,[V(S(k),{size:`small`,loading:u.value,onClick:_},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,bn,M(S(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:lightbulb`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),Sn={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Cn={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},wn={key:0,class:`flex items-center gap-2 flex-wrap`},Tn={class:`flex items-center gap-1`},En={class:`space-y-2`},Dn={class:`text-sm font-medium mb-1`},On={class:`list-none p-0 m-0 space-y-1`},kn={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},An=_({name:`SpaceLightingRolesSummary`,__name:`space-lighting-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{lightingSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case X.main:return`primary`;case X.task:return`warning`;case X.ambient:return`success`;case X.accent:return`danger`;case X.night:return`info`;case X.other:default:return`info`}},g=e=>{switch(e){case X.main:return`mdi:lightbulb`;case X.task:return`mdi:desk-lamp`;case X.ambient:return`mdi:lightbulb-group`;case X.accent:return`mdi:spotlight-beam`;case X.night:return`mdi:weather-night`;case X.other:default:return`mdi:lightbulb-outline`}},_=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/lighting/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name})}let a=[X.main,X.task,X.ambient,X.accent,X.night,X.other];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&_()}),b(()=>u?.value,()=>{i.space?.id&&_()}),c(()=>{i.space?.id&&_()}),t({reload:_}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,Sn,M(S(s)(`spacesModule.detail.lightingRoles.title`)),1),A(`dd`,Cn,[f.value.length>0?(r(),B(`div`,wn,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(Q),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,Tn,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.lightingRoles.${e.role}`))+` `,1),V(S(U),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,En,[V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.lightingRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Dn,M(S(s)(`spacesModule.detail.lightingRoles.lightsAssigned`))+`: `,1),A(`ul`,On,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:`mdi:lightbulb-outline`,class:`text-gray-400`}),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,kn,[V(S(L),{icon:`mdi:lightbulb`}),w(` `+M(S(s)(`spacesModule.detail.lightingRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),jn={key:1,class:`flex justify-center py-4`},Mn={class:`flex items-center gap-2`},Nn={class:`flex flex-col`},Pn={key:0,class:`text-xs text-gray-400`},Fn={class:`flex gap-1`},In={class:`flex justify-between items-center mt-4`},Ln={class:`text-xs text-gray-400 ml-4`},Rn=_({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=ke(),{climateSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:J.heating_only,label:n(`spacesModule.climateRoles.${J.heating_only}`)},{value:J.cooling_only,label:n(`spacesModule.climateRoles.${J.cooling_only}`)},{value:J.auto,label:n(`spacesModule.climateRoles.${J.auto}`)},{value:J.auxiliary,label:n(`spacesModule.climateRoles.${J.auxiliary}`)},{value:J.hidden,label:n(`spacesModule.climateRoles.${J.hidden}`)}]),h=F(()=>[{value:J.sensor,label:n(`spacesModule.climateRoles.${J.sensor}`)},{value:J.hidden,label:n(`spacesModule.climateRoles.${J.hidden}`)}]),g=e=>e.deviceCategory===`sensor`?h.value:f.value,_=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`}},v=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/climate/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.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{l.value=!1}},y=async(e,n)=>{try{if(n){let r={device_id:e.deviceId,role:n};e.channelId&&(r.channel_id=e.channelId);let{error:o}=await i.client.POST(`/${I}/${K}/spaces/{id}/climate/roles`,{params:{path:{id:t.space.id}},body:{data:r}});if(o){a.error(`Failed to update climate role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(n){a.error(`Failed to clear climate role`);return}e.role=null}}catch{a.error(`Failed to update climate role`)}},x=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await v(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&v()}),b(()=>s?.value,()=>{t.space?.id&&v()}),c(()=>{t.space?.id&&v()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(Pe),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,jn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,Mn,[V(S(L),{icon:_(e.deviceCategory)},null,8,[`icon`]),A(`div`,Nn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,Pn,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.climateRoles.role.title`),width:`200`},{default:m(({row:e})=>[V(S(je),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>y(e,t)},{default:m(()=>[(r(!0),B(N,null,o(g(e),e=>(r(),O(S(Z),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`120`},{default:m(({row:e})=>[A(`div`,Fn,[e.hasTemperature?(r(),O(S(Q),{key:0,type:`warning`,size:`small`},{default:m(()=>[...i[0]||=[w(`Temp`,-1)]]),_:1})):C(``,!0),e.hasHumidity?(r(),O(S(Q),{key:1,type:`info`,size:`small`},{default:m(()=>[...i[1]||=[w(`Humid`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,In,[V(S(k),{size:`small`,loading:u.value,onClick:x},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,Ln,M(S(n)(`spacesModule.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:thermostat`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),zn={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Bn={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},Vn={key:0,class:`flex items-center gap-2 flex-wrap`},Hn={class:`flex items-center gap-1`},Un={class:`space-y-2`},Wn={class:`text-sm font-medium mb-1`},Gn={class:`list-none p-0 m-0 space-y-1`},Kn={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},qn=_({name:`SpaceClimateRolesSummary`,__name:`space-climate-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{climateSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case J.heating_only:return`danger`;case J.cooling_only:return`primary`;case J.auto:return`success`;case J.auxiliary:return`warning`;case J.sensor:return`info`;case J.hidden:default:return`info`}},g=e=>{switch(e){case J.heating_only:return`mdi:fire`;case J.cooling_only:return`mdi:snowflake`;case J.auto:return`mdi:thermostat-auto`;case J.auxiliary:return`mdi:radiator`;case J.sensor:return`mdi:thermometer`;case J.hidden:default:return`mdi:eye-off`}},_=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`}},v=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/climate/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role||e.role===J.hidden)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``})}let a=[J.heating_only,J.cooling_only,J.auto,J.auxiliary,J.sensor,J.hidden];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&v()}),b(()=>u?.value,()=>{i.space?.id&&v()}),c(()=>{i.space?.id&&v()}),t({reload:v}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,zn,M(S(s)(`spacesModule.detail.climateRoles.title`)),1),A(`dd`,Bn,[f.value.length>0?(r(),B(`div`,Vn,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(Q),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,Hn,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.climateRoles.${e.role}`))+` `,1),V(S(U),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,Un,[V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.climateRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Wn,M(S(s)(`spacesModule.detail.climateRoles.devicesAssigned`))+`: `,1),A(`ul`,Gn,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:e.deviceId,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:_(e.deviceCategory),class:`text-gray-400`},null,8,[`icon`]),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,Kn,[V(S(L),{icon:`mdi:thermostat`}),w(` `+M(S(s)(`spacesModule.detail.climateRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),Jn={key:1,class:`flex justify-center py-4`},Yn={class:`flex items-center gap-2`},Xn={class:`flex flex-col`},Zn={key:0,class:`text-xs text-gray-400`},Qn={class:`flex gap-1`},$n={class:`flex justify-between items-center mt-4`},er={class:`text-xs text-gray-400`},tr=_({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=ke(),{coversSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>[{value:q.primary,label:n(`spacesModule.coversRoles.primary`)},{value:q.blackout,label:n(`spacesModule.coversRoles.blackout`)},{value:q.sheer,label:n(`spacesModule.coversRoles.sheer`)},{value:q.outdoor,label:n(`spacesModule.coversRoles.outdoor`)},{value:q.hidden,label:n(`spacesModule.coversRoles.hidden`)}]),h=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/covers/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.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{l.value=!1}},g=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/covers/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update covers role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear covers role`);return}e.role=null}}catch{a.error(`Failed to update covers role`)}},_=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await h(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&h()}),b(()=>s?.value,()=>{t.space?.id&&h()}),c(()=>{t.space?.id&&h()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(Pe),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,Jn,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,Yn,[V(S(L),{icon:`mdi:blinds`}),A(`div`,Xn,[A(`span`,null,M(e.deviceName),1),e.channelName?(r(),B(`span`,Zn,M(e.channelName),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.coversRoles.role.title`),width:`160`},{default:m(({row:e})=>[V(S(je),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>g(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Z),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),V(S($),{label:``,width:`100`},{default:m(({row:e})=>[A(`div`,Qn,[e.hasPosition?(r(),O(S(Q),{key:0,type:`info`,size:`small`},{default:m(()=>[...i[0]||=[w(`Pos`,-1)]]),_:1})):C(``,!0),e.hasTilt?(r(),O(S(Q),{key:1,type:`success`,size:`small`},{default:m(()=>[...i[1]||=[w(`Tilt`,-1)]]),_:1})):C(``,!0)])]),_:1})]),_:1},8,[`data`]),A(`div`,$n,[V(S(k),{size:`small`,loading:u.value,onClick:_},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,er,M(S(n)(`spacesModule.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:blinds`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),nr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},rr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},ir={key:0,class:`flex items-center gap-2 flex-wrap`},ar={class:`flex items-center gap-1`},or={class:`space-y-2`},sr={class:`text-sm font-medium mb-1`},cr={class:`list-none p-0 m-0 space-y-1`},lr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},ur=_({name:`SpaceCoversRolesSummary`,__name:`space-covers-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{coversSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case q.primary:return`primary`;case q.blackout:return`danger`;case q.sheer:return`success`;case q.outdoor:return`warning`;case q.hidden:default:return`info`}},g=e=>{switch(e){case q.primary:return`mdi:blinds`;case q.blackout:return`mdi:blinds-horizontal-closed`;case q.sheer:return`mdi:curtains`;case q.outdoor:return`mdi:window-shutter`;case q.hidden:default:return`mdi:blinds-horizontal`}},_=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/covers/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role)continue;let t=e.role;r.has(t)||r.set(t,{role:t,devices:[]}),r.get(t).devices.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name})}let a=[q.primary,q.blackout,q.sheer,q.outdoor,q.hidden];f.value=Array.from(r.values()).sort((e,t)=>a.indexOf(e.role)-a.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&_()}),b(()=>u?.value,()=>{i.space?.id&&_()}),c(()=>{i.space?.id&&_()}),t({reload:_}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,nr,M(S(s)(`spacesModule.detail.coversRoles.title`)),1),A(`dd`,rr,[f.value.length>0?(r(),B(`div`,ir,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(Q),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,ar,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.coversRoles.${e.role}`))+` `,1),V(S(U),{value:e.devices.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,or,[V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.coversRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,sr,M(S(s)(`spacesModule.detail.coversRoles.coversAssigned`))+`: `,1),A(`ul`,cr,[(r(!0),B(N,null,o(e.devices,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:`mdi:blinds-horizontal`,class:`text-gray-400`}),A(`span`,null,M(e.deviceName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,lr,[V(S(L),{icon:`mdi:blinds`}),w(` `+M(S(s)(`spacesModule.detail.coversRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),dr={key:1,class:`flex justify-center py-4`},fr={class:`flex items-center gap-2`},pr={class:`flex flex-col`},mr={class:`text-xs text-gray-400`},hr={class:`flex justify-between items-center mt-4`},gr={class:`text-xs text-gray-400 ml-4`},_r=_({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=E(),i=Ue(),a=ke(),{sensorSignal:s}=lt(),l=z(!1),u=z(!1),d=z([]),f=F(()=>pe.map(e=>({value:e,label:n(`spacesModule.sensorRoles.${e}`)}))),h=e=>{switch(e){case`temperature`:return n(`spacesModule.sensorRoles.categories.temperature`);case`humidity`:return n(`spacesModule.sensorRoles.categories.humidity`);case`pressure`:return n(`spacesModule.sensorRoles.categories.pressure`);case`illuminance`:return n(`spacesModule.sensorRoles.categories.illuminance`);case`smoke`:return n(`spacesModule.sensorRoles.categories.smoke`);case`gas`:return n(`spacesModule.sensorRoles.categories.gas`);case`carbon_monoxide`:return n(`spacesModule.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return n(`spacesModule.sensorRoles.categories.carbon_dioxide`);case`leak`:return n(`spacesModule.sensorRoles.categories.leak`);case`motion`:return n(`spacesModule.sensorRoles.categories.motion`);case`occupancy`:return n(`spacesModule.sensorRoles.categories.occupancy`);case`contact`:return n(`spacesModule.sensorRoles.categories.contact`);case`air_quality`:return n(`spacesModule.sensorRoles.categories.air_quality`);case`air_particulate`:return n(`spacesModule.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return n(`spacesModule.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return n(`spacesModule.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return n(`spacesModule.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return n(`spacesModule.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return n(`spacesModule.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return n(`spacesModule.sensorRoles.categories.electrical_generation`);case`electrical_power`:return n(`spacesModule.sensorRoles.categories.electrical_power`);case`battery`:return n(`spacesModule.sensorRoles.categories.battery`);default:return e}},g=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${I}/${K}/spaces/{id}/sensors/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.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{l.value=!1}},_=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${I}/${K}/spaces/{id}/sensors/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update sensor role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${I}/${K}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear sensor role`);return}e.role=null}}catch{a.error(`Failed to update sensor role`)}},v=async()=>{u.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${I}/${K}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await g(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{u.value=!1}};return b(()=>t.space?.id,e=>{e&&g()}),b(()=>s?.value,()=>{t.space?.id&&g()}),c(()=>{t.space?.id&&g()}),(t,i)=>(r(),B(`div`,{class:p({"mt-2":!e.hideHeader})},[e.hideHeader?C(``,!0):(r(),O(S(Pe),{key:0,"content-position":`left`,class:`mt-6!`},{default:m(()=>[w(M(S(n)(`spacesModule.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.description`)),1)]),_:1}),l.value&&d.value.length===0?(r(),B(`div`,dr,[V(S(L),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||l.value?(r(),B(N,{key:2},[V(S(Ge),{data:d.value,border:``,"max-height":`400px`},{default:m(()=>[V(S($),{prop:`deviceName`,label:S(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:m(({row:e})=>[A(`div`,fr,[V(S(L),{icon:`mdi:motion-sensor`}),A(`div`,pr,[A(`span`,null,M(e.deviceName),1),A(`span`,mr,M(e.channelName),1)])])]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:m(({row:e})=>[V(S(Q),{size:`small`,type:`info`},{default:m(()=>[w(M(h(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(n)(`spacesModule.fields.spaces.sensorRoles.role.title`),width:`200`},{default:m(({row:e})=>[V(S(je),{"model-value":e.role??``,placeholder:S(n)(`spacesModule.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>_(e,t)},{default:m(()=>[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Z),{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`]),A(`div`,hr,[V(S(k),{size:`small`,loading:u.value,onClick:v},{default:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),A(`div`,gr,M(S(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(r(),O(S(P),{key:3},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:motion-sensor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(n)(`spacesModule.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),vr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},yr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},br={key:0,class:`flex items-center gap-2 flex-wrap`},xr={class:`flex items-center gap-1`},Sr={class:`space-y-2`},Cr={class:`text-sm font-medium mb-1`},wr={class:`list-none p-0 m-0 space-y-1`},Tr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},Er=_({name:`SpaceSensorRolesSummary`,__name:`space-sensor-roles-summary`,props:{space:{}},emits:[`edit`],setup(e,{expose:t,emit:n}){let i=e,a=n,{t:s}=E(),l=Ue(),{sensorSignal:u}=lt(),d=z(!1),f=z([]),p=z(!1),h=e=>{switch(e){case H.ENVIRONMENT:return`success`;case H.SAFETY:return`danger`;case H.SECURITY:return`warning`;case H.AIR_QUALITY:return`info`;case H.ENERGY:return`primary`;case H.OTHER:case H.HIDDEN:default:return`info`}},g=e=>{switch(e){case H.ENVIRONMENT:return`mdi:thermometer`;case H.SAFETY:return`mdi:shield-alert`;case H.SECURITY:return`mdi:motion-sensor`;case H.AIR_QUALITY:return`mdi:air-filter`;case H.ENERGY:return`mdi:lightning-bolt`;case H.HIDDEN:return`mdi:eye-off`;case H.OTHER:default:return`mdi:chart-line`}},_=e=>{switch(e){case`temperature`:return`mdi:thermometer`;case`humidity`:return`mdi:water-percent`;case`pressure`:return`mdi:gauge`;case`illuminance`:return`mdi:weather-sunny`;case`smoke`:case`gas`:case`carbon_monoxide`:case`carbon_dioxide`:return`mdi:alert`;case`leak`:return`mdi:water-alert`;case`motion`:case`occupancy`:return`mdi:walk`;case`contact`:return`mdi:door-closed`;case`air_quality`:case`air_particulate`:case`nitrogen_dioxide`:case`ozone`:case`sulphur_dioxide`:case`volatile_organic_compounds`:return`mdi:air-filter`;case`electrical_energy`:case`electrical_power`:return`mdi:lightning-bolt`;case`battery`:return`mdi:battery`;default:return`mdi:chart-bell-curve`}},v=async()=>{if(i.space?.id){d.value=!0;try{let{data:e,error:t}=await l.client.GET(`/${I}/${K}/spaces/{id}/sensors/targets`,{params:{path:{id:i.space.id}}});if(t||!e){p.value=!1;return}let n=e.data??[];p.value=n.length>0;let r=new Map;for(let e of n){if(!e.role||e.role===H.HIDDEN)continue;let t=e.role;r.has(t)||r.set(t,{role:t,sensors:[]}),r.get(t).sensors.push({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category})}f.value=Array.from(r.values()).sort((e,t)=>pe.indexOf(e.role)-pe.indexOf(t.role))}finally{d.value=!1}}};return b(()=>i.space?.id,e=>{e&&v()}),b(()=>u?.value,()=>{i.space?.id&&v()}),c(()=>{i.space?.id&&v()}),t({reload:v}),(e,t)=>p.value?(r(),B(N,{key:0},[A(`dt`,vr,M(S(s)(`spacesModule.detail.sensorRoles.title`)),1),A(`dd`,yr,[f.value.length>0?(r(),B(`div`,br,[(r(!0),B(N,null,o(f.value,e=>(r(),O(S(Ze),{key:e.role,placement:`bottom`,width:400,trigger:`click`},{reference:m(()=>[V(S(Q),{type:h(e.role),size:`small`,class:`cursor-pointer`},{default:m(()=>[A(`div`,xr,[V(S(L),{icon:g(e.role)},null,8,[`icon`]),w(` `+M(S(s)(`spacesModule.sensorRoles.${e.role}`))+` `,1),V(S(U),{value:e.sensors.length,type:h(e.role),class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`])]),default:m(()=>[A(`div`,Sr,[V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-2!`},{default:m(()=>[w(M(S(s)(`spacesModule.sensorRoles.descriptions.${e.role}`)),1)]),_:2},1024),A(`div`,Cr,M(S(s)(`spacesModule.detail.sensorRoles.sensorsAssigned`))+`: `,1),A(`ul`,wr,[(r(!0),B(N,null,o(e.sensors,e=>(r(),B(`li`,{key:`${e.deviceId}-${e.channelId}`,class:`flex items-center gap-2 text-sm py-1`},[V(S(L),{icon:_(e.channelCategory),class:`text-gray-400`},null,8,[`icon`]),A(`span`,null,M(e.deviceName)+` — `+M(e.channelName),1)]))),128))])])]),_:2},1024))),128))])):(r(),B(`div`,Tr,[V(S(L),{icon:`mdi:chart-bell-curve`}),w(` `+M(S(s)(`spacesModule.detail.sensorRoles.noRolesAssigned`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:t[0]||=e=>a(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(s)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0)}}),Dr=_({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ve),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(xn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Or=_({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ve),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(Rn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),kr=_({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ve),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(tr,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Ar=_({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),O(S(Ve),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:S(a)(`spacesModule.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:m(()=>[V(S(k),{type:`primary`,onClick:s},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[V(_r,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),jr=[`element-loading-text`],Mr={class:`flex items-center gap-3 flex-1 pr-2`},Nr={class:`font-medium text-sm`},Pr={class:`flex items-center justify-between w-full`},Fr={class:`flex gap-1 ml-2`},Ir={class:`flex items-center justify-between w-full`},Lr={class:`flex gap-1 ml-2`},Rr={class:`flex items-center justify-between w-full`},zr={class:`flex gap-1 ml-2`},Br={class:`flex justify-between items-center mt-2`},Vr={class:`flex items-center gap-2`},Hr={class:`text-xs text-gray-400`},Ur=_({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(t,{emit:i}){let a=t,s=i,{t:c}=E(),l=ke(),u=F({get:()=>a.visible,set:e=>s(`update:visible`,e)}),{endpoints:d,activeState:f,fetchingEndpoints:h,fetchingBindings:g,activating:_,deactivating:v,applyingDefaults:y,activationError:x,fetchEndpoints:ee,fetchBindings:T,fetchActiveState:D,activate:j,deactivate:P,saveBinding:I,createBinding:ne,deleteBinding:re,applyDefaults:R,findBindingByActivity:ae,endpointsByType:oe}=ut(F(()=>a.space?.id)),se=[Y.watch,Y.listen,Y.gaming,Y.background],ce=z(``),le=z(null),ue=z(!1),de=F(()=>h.value||g.value),H=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),U=te({[Y.watch]:H(),[Y.listen]:H(),[Y.gaming]:H(),[Y.background]:H()}),pe=te({[Y.watch]:H(),[Y.listen]:H(),[Y.gaming]:H(),[Y.background]:H()}),me=te({[Y.watch]:!1,[Y.listen]:!1,[Y.gaming]:!1,[Y.background]:!1}),he=te({[Y.watch]:null,[Y.listen]:null,[Y.gaming]:null,[Y.background]:null}),G=oe(ze.display),_e=oe(ze.audio_output),ve=oe(ze.source),ye=oe(ze.remote_target),xe=(e,t)=>{U[e].displayEndpointId=t?.displayEndpointId??``,U[e].audioEndpointId=t?.audioEndpointId??``,U[e].sourceEndpointId=t?.sourceEndpointId??``,U[e].remoteEndpointId=t?.remoteEndpointId??``,U[e].displayInputId=t?.displayInputId??``,U[e].audioInputId=t?.audioInputId??``,U[e].sourceInputId=t?.sourceInputId??``,U[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(pe[e],{...U[e]})},Se=()=>{for(let e of se)xe(e,ae(e))},K=e=>{let t=U[e],n=pe[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},Ce=(e,t)=>{let n=U[e][t];return n?d.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},Te=e=>{let t=U[e].audioEndpointId;return t?d.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Ee=e=>{let t=d.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`}},De=e=>{let t=Ee(e);return t.type===`select`?t.options:[]},Oe=e=>{let t=`spacesModule.media.activities.mediaInputSources.${e}`,n=c(t);return n===t?String(e):n},Ae=e=>{let t=` (${c(`spacesModule.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},Me=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=f.value?.activityKey===e&&f.value?.state!==`deactivated`,n=t?f.value.state:void 0,r=ae(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},Pe=e=>{let{isActive:t,state:n}=q(e);return t&&n?Me(n):tt(e)},J=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=q(e);return c(t?`spacesModule.media.activities.activationState.${n}`:r?i?`spacesModule.media.activities.status.configured`:`spacesModule.media.activities.status.incomplete`:`spacesModule.media.activities.status.unconfigured`)},Ie=new Map,Le=e=>{let t=U[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:Ce(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:Ce(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:Ce(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:Te(e)?t.audioVolumePreset:null}},X=async e=>{if(!me[e]){me[e]=!0,he[e]=null;try{let t=ae(e),n=Le(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...U[e]};r&&t?(await re(t.id),xe(e,void 0),Object.assign(pe[e],i)):r?Object.assign(pe[e],i):t?(await I(t.id,n),Object.assign(pe[e],i)):(await ne(e,n),Object.assign(pe[e],i))}catch(t){he[e]=t instanceof Error?t.message:`Failed to save`}finally{me[e]=!1}}},Re=e=>{let t=Ie.get(e);t&&clearTimeout(t),Ie.set(e,setTimeout(()=>{Ie.delete(e),X(e)},500))};for(let e of se)b(()=>U[e],()=>{!ue.value||!K(e)||Re(e)},{deep:!0}),b(()=>U[e].displayEndpointId,()=>{ue.value&&(U[e].displayInputId=``)}),b(()=>U[e].audioEndpointId,()=>{ue.value&&(U[e].audioInputId=``,U[e].audioVolumePreset=30)}),b(()=>U[e].sourceEndpointId,()=>{ue.value&&(U[e].sourceInputId=``)});let Be=async e=>{le.value=e;try{await j(e),l.success(c(`spacesModule.media.activities.activateSuccess`))}catch{l.error(c(`spacesModule.media.activities.activateFailed`))}finally{le.value=null}},He=async()=>{try{await P(),l.success(c(`spacesModule.media.activities.deactivateSuccess`))}catch{x.value=null,l.error(c(`spacesModule.media.activities.deactivateFailed`))}},Ue=async()=>{ue.value=!1;try{await R(),Se(),l.success(c(`spacesModule.media.activities.defaultsApplied`))}catch{l.error(c(`spacesModule.media.activities.defaultsFailed`))}await n(),ue.value=!0},We=async()=>{ue.value=!1,await Promise.all([ee(),T(),D()]),Se(),await n(),ue.value=!0},$=async()=>{ue.value=!1;let e=[],t=new Set;for(let[n,r]of Ie)clearTimeout(r),t.add(n),e.push(X(n));Ie.clear();for(let n of se)!t.has(n)&&K(n)&&e.push(X(n));await Promise.allSettled(e),s(`bindings-changed`),u.value=!1};return(t,n)=>(r(),O(S(Ve),{modelValue:u.value,"onUpdate:modelValue":n[2]||=e=>u.value=e,title:S(c)(`spacesModule.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:We,onClose:$},{footer:m(()=>[V(S(k),{type:`primary`,onClick:$},{default:m(()=>[w(M(S(c)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:m(()=>[e((r(),B(`div`,{"element-loading-text":S(c)(`spacesModule.media.activities.loading`),class:`flex flex-col gap-4`},[V(S(ge),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:m(()=>[w(M(S(c)(`spacesModule.media.activities.description`)),1)]),_:1}),V(S(Ne),{modelValue:ce.value,"onUpdate:modelValue":n[0]||=e=>ce.value=e,accordion:``},{default:m(()=>[(r(),B(N,null,o(se,e=>V(S(Fe),{key:e,name:e},{title:m(()=>[A(`div`,Mr,[V(S(L),{icon:S(ot)(e),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),A(`span`,Nr,M(S(c)(`spacesModule.media.activityLabels.${e}`)),1),V(S(Q),{type:Pe(e),size:`small`,round:``},{default:m(()=>[w(M(J(e)),1)]),_:2},1032,[`type`]),me[e]?(r(),O(S(L),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):C(``,!0),n[3]||=A(`div`,{class:`flex-1`},null,-1),V(S(k),{size:`small`,type:`success`,circle:``,loading:S(_)&&le.value===e,disabled:S(_)||S(v)||S(f)?.state===`activating`,title:S(c)(`spacesModule.media.activities.run`),onClick:ie(t=>Be(e),[`stop`])},{icon:m(()=>[V(S(L),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:m(()=>[V(S(be),{"label-position":`top`,class:`flex flex-col gap-2`},{default:m(()=>[A(`div`,{class:p(Ce(e,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(W),{label:S(c)(`spacesModule.media.activities.slots.display`)},{default:m(()=>[V(S(je),{modelValue:U[e].displayEndpointId,"onUpdate:modelValue":t=>U[e].displayEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(G),e=>(r(),O(S(Z),{key:e.endpointId,label:Ae(e),value:e.endpointId},{default:m(()=>[A(`div`,Pr,[A(`span`,null,M(Ae(e)),1),A(`div`,Fr,[e.capabilities.inputSelect?(r(),O(S(Q),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`displayEndpointId`)?(r(),O(S(W),{key:0,label:S(c)(`spacesModule.media.activities.overrides.displayInput`)},{default:m(()=>[Ee(U[e].displayEndpointId).type===`select`?(r(),O(S(je),{key:0,modelValue:U[e].displayInputId,"onUpdate:modelValue":t=>U[e].displayInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].displayEndpointId),e=>(r(),O(S(Z),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(fe),{key:1,modelValue:U[e].displayInputId,"onUpdate:modelValue":t=>U[e].displayInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),A(`div`,{class:p(Ce(e,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(W),{label:S(c)(`spacesModule.media.activities.slots.audio`)},{default:m(()=>[V(S(je),{modelValue:U[e].audioEndpointId,"onUpdate:modelValue":t=>U[e].audioEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(_e),e=>(r(),O(S(Z),{key:e.endpointId,label:Ae(e),value:e.endpointId},{default:m(()=>[A(`div`,Ir,[A(`span`,null,M(Ae(e)),1),A(`div`,Lr,[e.capabilities.volume?(r(),O(S(Q),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.volume`)),1)]),_:1})):C(``,!0),e.capabilities.inputSelect?(r(),O(S(Q),{key:1,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`audioEndpointId`)?(r(),O(S(W),{key:0,label:S(c)(`spacesModule.media.activities.overrides.audioInput`)},{default:m(()=>[Ee(U[e].audioEndpointId).type===`select`?(r(),O(S(je),{key:0,modelValue:U[e].audioInputId,"onUpdate:modelValue":t=>U[e].audioInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].audioEndpointId),e=>(r(),O(S(Z),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(fe),{key:1,modelValue:U[e].audioInputId,"onUpdate:modelValue":t=>U[e].audioInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),Te(e)?(r(),O(S(W),{key:0,label:S(c)(`spacesModule.media.activities.overrides.audioVolume`)},{default:m(()=>[V(S(Xe),{modelValue:U[e].audioVolumePreset,"onUpdate:modelValue":t=>U[e].audioVolumePreset=t,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):C(``,!0),A(`div`,{class:p(Ce(e,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[V(S(W),{label:S(c)(`spacesModule.media.activities.slots.source`)},{default:m(()=>[V(S(je),{modelValue:U[e].sourceEndpointId,"onUpdate:modelValue":t=>U[e].sourceEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(ve),e=>(r(),O(S(Z),{key:e.endpointId,label:Ae(e),value:e.endpointId},{default:m(()=>[A(`div`,Rr,[A(`span`,null,M(Ae(e)),1),A(`div`,zr,[e.capabilities.inputSelect?(r(),O(S(Q),{key:0,size:`small`,type:`info`},{default:m(()=>[w(M(S(c)(`spacesModule.media.capabilities.input`)),1)]),_:1})):C(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`sourceEndpointId`)?(r(),O(S(W),{key:0,label:S(c)(`spacesModule.media.activities.overrides.sourceInput`)},{default:m(()=>[Ee(U[e].sourceEndpointId).type===`select`?(r(),O(S(je),{key:0,modelValue:U[e].sourceInputId,"onUpdate:modelValue":t=>U[e].sourceInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(De(U[e].sourceEndpointId),e=>(r(),O(S(Z),{key:String(e),label:Oe(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),O(S(fe),{key:1,modelValue:U[e].sourceInputId,"onUpdate:modelValue":t=>U[e].sourceInputId=t,placeholder:S(c)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):C(``,!0)],2),V(S(W),{label:S(c)(`spacesModule.media.activities.slots.remote`)},{default:m(()=>[V(S(je),{modelValue:U[e].remoteEndpointId,"onUpdate:modelValue":t=>U[e].remoteEndpointId=t,placeholder:S(c)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(ye),e=>(r(),O(S(Z),{key:e.endpointId,label:Ae(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),he[e]?(r(),O(S(ge),{key:1,type:`error`,title:S(c)(`spacesModule.media.activities.saveError`),description:he[e],"show-icon":``,closable:``,onClose:t=>he[e]=null},null,8,[`title`,`description`,`onClose`])):C(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),A(`div`,Br,[A(`div`,Vr,[V(S(k),{size:`small`,loading:S(y),onClick:Ue},{default:m(()=>[w(M(S(c)(`spacesModule.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),S(f)&&S(f).state!==`deactivated`?(r(),O(S(k),{key:0,size:`small`,type:`warning`,loading:S(v),disabled:S(_),onClick:He},{icon:m(()=>[V(S(L),{icon:`mdi:stop`})]),default:m(()=>[w(` `+M(S(c)(`spacesModule.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):C(``,!0)]),A(`div`,Hr,M(S(c)(`spacesModule.media.activities.applyDefaultsHint`)),1)]),S(x)?(r(),O(S(ge),{key:0,type:`error`,title:S(c)(`spacesModule.media.activities.activateFailed`),description:S(x),"show-icon":``,closable:``,onClose:n[1]||=e=>x.value=null},null,8,[`title`,`description`])):C(``,!0)],8,jr)),[[S(we),de.value]])]),_:1},8,[`modelValue`,`title`]))}}),Wr={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Gr={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center justify-between min-w-[8rem]`},Kr={key:0,class:`flex items-center gap-2 flex-wrap`},qr={class:`flex items-center gap-1`},Jr={key:1,class:`flex items-center gap-2 text-gray-400 text-sm`},Yr=[`element-loading-text`],Xr={key:0,class:`flex flex-col gap-4`},Zr={class:`flex items-center justify-between`},Qr={class:`flex items-center gap-3`},$r={class:`text-gray-500 text-sm`},ei={key:0},ti={class:`text-gray-500 text-sm`},ni={class:`ml-1 text-sm`},ri={class:`flex flex-col gap-2`},ii={class:`flex items-center justify-between`},ai={class:`text-sm font-medium`},oi={class:`flex gap-3 text-xs text-gray-500`},si={class:`text-green-600`},ci={class:`text-red-600`},li={class:`text-sm font-medium mb-2`},ui={class:`grid grid-cols-2 gap-2 text-sm`},di={key:0},fi={class:`text-gray-400`},pi={class:`ml-1`},mi={key:1},hi={class:`text-gray-400`},gi={class:`ml-1`},_i={key:2},vi={class:`text-gray-400`},yi={class:`ml-1`},bi={key:3},xi={class:`text-gray-400`},Si={class:`ml-1`},Ci={class:`text-sm font-medium mb-2`},wi={class:`flex items-center gap-2`},Ti={key:1,class:`text-sm text-gray-400`},Ei={key:2},Di={class:`text-sm font-medium mb-2`},Oi=_({name:`SpaceMediaActivitiesSummary`,__name:`space-media-activities-summary`,props:{space:{}},emits:[`edit`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=ke(),{endpoints:d,activeState:f,fetchEndpoints:h,fetchBindings:g,fetchActiveState:_,deactivate:v,deactivating:y,findBindingByActivity:x,preview:ee}=ut(F(()=>a.space?.id)),te=z(!1),T=z(!1),D=z(!1),j=z(null),P=z(null),I=z(null),ne=[Y.watch,Y.listen,Y.gaming,Y.background],re=e=>[e.displayEndpointId,e.audioEndpointId,e.sourceEndpointId,e.remoteEndpointId].filter(Boolean).length,ie=F(()=>{let e=[];for(let t of ne){let n=x(t);n&&e.push({activityKey:t,icon:ot(t),tagType:tt(t),routeCount:re(n)})}return e}),R=F(()=>{if(!I.value)return l(`spacesModule.media.activities.previewDialog.title`);let e=l(`spacesModule.media.activityLabels.${I.value}`);return`${l(`spacesModule.media.activities.previewDialog.title`)} — ${e}`}),ae=F(()=>!f.value||!I.value?!1:f.value.activityKey===I.value&&f.value.state!==`deactivated`),oe=F(()=>f.value?.summary?.failures?f.value.summary.failures:[]),se=F(()=>{if(!f.value)return`border-gray-300`;switch(f.value.state){case`active`:return`border-green-500`;case`activating`:return`border-blue-500`;case`failed`:return`border-red-500`;default:return`border-gray-300`}}),ce=F(()=>{if(!f.value)return`info`;switch(f.value.state){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;default:return`info`}}),le=e=>{let t=new Date(e);return isNaN(t.getTime())?e:t.toLocaleString()},ue=e=>d.value.find(t=>t.deviceId===e)?.name??e,de=e=>{switch(e){case`setProperty`:return`mdi:tune`;case`sendCommand`:return`mdi:send`;default:return`mdi:help-circle`}},H=async()=>{try{await v(),u.success(l(`spacesModule.media.activities.deactivateSuccess`))}catch{u.error(l(`spacesModule.media.activities.deactivateFailed`))}},fe=async e=>{I.value=e,j.value=null,P.value=null,D.value=!0,T.value=!0;try{let[t]=await Promise.all([ee(e),_()]);j.value=t}catch(e){P.value=e instanceof Error?e.message:`Unknown error`}finally{D.value=!1}},W=async()=>{if(a.space?.id)try{await Promise.all([h(),g(),_()]),te.value=d.value.length>0}catch{}};return b(()=>a.space?.id,e=>{e&&W()}),c(()=>{a.space?.id&&W()}),n({reload:W}),(t,n)=>(r(),B(N,null,[te.value?(r(),B(N,{key:0},[A(`dt`,Wr,M(S(l)(`spacesModule.detail.mediaActivities.title`)),1),A(`dd`,Gr,[ie.value.length>0?(r(),B(`div`,Kr,[(r(!0),B(N,null,o(ie.value,e=>(r(),O(S(Q),{key:e.activityKey,type:e.tagType,size:`small`,class:`cursor-pointer`,onClick:t=>fe(e.activityKey)},{default:m(()=>[A(`div`,qr,[V(S(L),{icon:e.icon},null,8,[`icon`]),w(` `+M(S(l)(`spacesModule.media.activityLabels.${e.activityKey}`))+` `,1),V(S(U),{value:e.routeCount,type:e.tagType,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`,`onClick`]))),128))])):(r(),B(`div`,Jr,[V(S(L),{icon:`mdi:play-box-multiple-outline`}),w(` `+M(S(l)(`spacesModule.detail.mediaActivities.noActivities`)),1)])),V(S(k),{text:``,size:`small`,class:`ml-2`,onClick:n[0]||=e=>s(`edit`)},{icon:m(()=>[V(S(L),{icon:`mdi:pencil`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.buttons.edit.title`)),1)]),_:1})])],64)):C(``,!0),V(S(Ve),{modelValue:T.value,"onUpdate:modelValue":n[2]||=e=>T.value=e,title:R.value,width:`680px`,"destroy-on-close":``},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>T.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.media.activities.previewDialog.close`)),1)]),_:1})]),default:m(()=>[e((r(),B(`div`,{"element-loading-text":S(l)(`spacesModule.media.activities.loading`)},[j.value?(r(),B(`div`,Xr,[ae.value?(r(),O(S(Ae),{key:0,shadow:`never`,class:p([`border-l-4`,se.value])},{default:m(()=>[A(`div`,Zr,[A(`div`,Qr,[A(`div`,null,[A(`span`,$r,M(S(l)(`spacesModule.media.activities.activePanel.state`))+`:`,1),V(S(Q),{type:ce.value,size:`small`,class:`ml-2`},{default:m(()=>[w(M(S(l)(`spacesModule.media.activities.activationState.${S(f).state}`)),1)]),_:1},8,[`type`])]),S(f).activatedAt?(r(),B(`div`,ei,[A(`span`,ti,M(S(l)(`spacesModule.media.activities.activePanel.activatedAt`))+`:`,1),A(`span`,ni,M(le(S(f).activatedAt)),1)])):C(``,!0)]),S(f).state===`deactivated`?C(``,!0):(r(),O(S(k),{key:0,size:`small`,type:`warning`,loading:S(y),onClick:H},{icon:m(()=>[V(S(L),{icon:`mdi:stop`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.media.activities.deactivate`)),1)]),_:1},8,[`loading`]))])]),_:1},8,[`class`])):C(``,!0),ae.value&&oe.value.length>0?(r(),O(S(Ae),{key:1,shadow:`never`,class:`border-l-4 border-red-500`},{default:m(()=>[A(`div`,ri,[A(`div`,ii,[A(`span`,ai,M(S(l)(`spacesModule.media.activities.failures.title`)),1),A(`div`,oi,[A(`span`,null,M(S(l)(`spacesModule.media.activities.failures.total`))+`: `+M(S(f).summary?.stepsTotal??0),1),A(`span`,si,M(S(l)(`spacesModule.media.activities.failures.succeeded`))+`: `+M(S(f).summary?.stepsSucceeded??0),1),A(`span`,ci,M(S(l)(`spacesModule.media.activities.failures.failed`))+`: `+M(S(f).summary?.stepsFailed??0),1)])]),V(S(Ge),{data:oe.value,size:`small`,border:``},{default:m(()=>[V(S($),{label:S(l)(`spacesModule.media.activities.failures.stepIndex`),width:`70`},{default:m(({row:e})=>[w(M(e.stepIndex),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.device`),"min-width":`140`},{default:m(({row:e})=>[w(M(e.targetDeviceId?ue(e.targetDeviceId):`—`),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.property`),"min-width":`100`},{default:m(({row:e})=>[w(M(e.propertyId??`—`),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.failures.reason`),"min-width":`180`},{default:m(({row:e})=>[w(M(e.reason),1)]),_:1},8,[`label`])]),_:1},8,[`data`])])]),_:1})):C(``,!0),A(`div`,null,[A(`div`,li,M(S(l)(`spacesModule.media.activities.previewDialog.resolvedDevices`)),1),A(`div`,ui,[j.value.resolved.displayDeviceId?(r(),B(`div`,di,[A(`span`,fi,M(S(l)(`spacesModule.media.activities.activePanel.display`))+`:`,1),A(`span`,pi,M(ue(j.value.resolved.displayDeviceId)),1)])):C(``,!0),j.value.resolved.audioDeviceId?(r(),B(`div`,mi,[A(`span`,hi,M(S(l)(`spacesModule.media.activities.activePanel.audio`))+`:`,1),A(`span`,gi,M(ue(j.value.resolved.audioDeviceId)),1)])):C(``,!0),j.value.resolved.sourceDeviceId?(r(),B(`div`,_i,[A(`span`,vi,M(S(l)(`spacesModule.media.activities.activePanel.source`))+`:`,1),A(`span`,yi,M(ue(j.value.resolved.sourceDeviceId)),1)])):C(``,!0),j.value.resolved.remoteDeviceId?(r(),B(`div`,bi,[A(`span`,xi,M(S(l)(`spacesModule.media.activities.activePanel.remote`))+`:`,1),A(`span`,Si,M(ue(j.value.resolved.remoteDeviceId)),1)])):C(``,!0)])]),A(`div`,null,[A(`div`,Ci,M(S(l)(`spacesModule.media.activities.previewDialog.executionPlan`)),1),j.value.plan.length?(r(),O(S(Ge),{key:0,data:j.value.plan,size:`small`,border:``},{default:m(()=>[V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.step`),width:`60`},{default:m(({$index:e})=>[w(M(e+1),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.action`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,wi,[V(S(L),{icon:de(e.action.kind),class:`w[16px] h[16px] shrink-0`},null,8,[`icon`]),A(`span`,null,M(e.label),1)])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.device`),"min-width":`140`},{default:m(({row:e})=>[w(M(ue(e.targetDeviceId)),1)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.media.activities.previewDialog.critical`),width:`100`},{default:m(({row:e})=>[V(S(Q),{type:e.critical?`danger`:`info`,size:`small`},{default:m(()=>[w(M(e.critical?S(l)(`spacesModule.media.activities.previewDialog.criticalYes`):S(l)(`spacesModule.media.activities.previewDialog.criticalNo`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`])]),_:1},8,[`data`])):(r(),B(`div`,Ti,M(S(l)(`spacesModule.media.activities.previewDialog.noSteps`)),1))]),j.value.warnings.length?(r(),B(`div`,Ei,[A(`div`,Di,M(S(l)(`spacesModule.media.activities.previewDialog.warnings`)),1),(r(!0),B(N,null,o(j.value.warnings,(e,t)=>(r(),O(S(ge),{key:t,type:`warning`,title:e.label,"show-icon":``,closable:!1,class:`mb-1`},null,8,[`title`]))),128))])):C(``,!0)])):C(``,!0),P.value?(r(),O(S(ge),{key:1,type:`error`,title:S(l)(`spacesModule.media.activities.previewFailed`),description:P.value,"show-icon":``,closable:!1},null,8,[`title`,`description`])):C(``,!0)],8,Yr)),[[S(we),D.value]])]),_:1},8,[`modelValue`,`title`])],64))}}),ki={class:`grid m-0`},Ai={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ji={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Mi={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Ni={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Pi={key:0,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Fi={key:1,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},Ii={key:2,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Li={key:3,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center gap-2 min-w-[8rem]`},Ri={key:4,class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},zi={key:5,class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},Bi={class:`flex items-center gap-1`},Vi={key:1,class:`text-gray-400 text-sm`},Hi={class:`flex items-center gap-2`},Ui=_({name:`SpaceDetail`,__name:`space-detail`,props:{space:{}},setup(e){let t=e,{t:i}=E(),a=ke(),{spaces:s,firstLoadFinished:l,fetchSpaces:u}=$e(),{editSpace:p}=it(F(()=>t.space?.id)),h=z(!1),g=z(!1),_=z(!1),v=z(!1),y=z(!1),x=z(null),ee=z(null),te=z(null),T=z(null),D=z(null);c(async()=>{l.value||await u().catch(()=>{})});let k=z(null),j=z(!1),P=z(!1),I=z(null),ne=z(null),re=z(!1),ie=F(()=>s.value.filter(e=>!(e.type!==G.ZONE||!Oe(e.category)))),R=F(()=>t.space?.parentId?s.value.find(e=>e.id===t.space?.parentId)??null:null),ae=()=>{P.value=!0,ne.value=t.space?.parentId??null,k.value=t.space?.parentId??null,re.value=!1,n(()=>{I.value?.focus()})},oe=()=>{setTimeout(()=>{!re.value&&!j.value&&P.value&&(P.value=!1),re.value=!1},200)},se=e=>{P.value&&e.key===`Escape`&&(k.value=ne.value,P.value=!1,re.value=!1)},ce=async e=>{if(!t.space||e===t.space.parentId){P.value=!1,re.value=!1;return}re.value=!0,j.value=!0;try{await p({name:t.space.name,parentId:e}),a.success(i(`spacesModule.messages.edited`,{space:t.space.name})),P.value=!1,re.value=!1}catch{k.value=ne.value,a.error(i(`spacesModule.messages.saveError`)),P.value=!1,re.value=!1}finally{j.value=!1}};b(()=>t.space?.parentId??null,e=>{P.value||(k.value=e,ne.value=e)},{immediate:!0}),c(()=>{document.addEventListener(`keydown`,se)}),d(()=>{document.removeEventListener(`keydown`,se)});let le=()=>{x.value?.reload()},ue=()=>{ee.value?.reload()},de=()=>{te.value?.reload()},H=()=>{T.value?.reload()},U=()=>{D.value?.reload()};return(t,n)=>(r(),B(N,null,[V(S(Ae),{class:`mt-2`,"body-class":`p-0!`},{default:m(()=>[A(`dl`,ki,[A(`dt`,Ai,M(S(i)(`spacesModule.fields.spaces.name.title`)),1),A(`dd`,ji,[V(S(Te),null,{default:m(()=>[w(M(e.space.name),1)]),_:1})]),A(`dt`,Mi,M(S(i)(`spacesModule.fields.spaces.type.title`)),1),A(`dd`,Ni,[V(S(Te),null,{default:m(()=>[w(M(S(i)(`spacesModule.misc.types.${e.space.type}`)),1)]),_:1})]),e.space.description?(r(),B(`dt`,Pi,M(S(i)(`spacesModule.fields.spaces.description.title`)),1)):C(``,!0),e.space.description?(r(),B(`dd`,Fi,[V(S(Te),null,{default:m(()=>[w(M(e.space.description),1)]),_:1})])):C(``,!0),e.space.icon?(r(),B(`dt`,Ii,M(S(i)(`spacesModule.fields.spaces.icon.title`)),1)):C(``,!0),e.space.icon?(r(),B(`dd`,Li,[V(S(f),null,{default:m(()=>[V(S(L),{icon:e.space.icon},null,8,[`icon`])]),_:1}),V(S(Te),null,{default:m(()=>[w(M(e.space.icon),1)]),_:1})])):C(``,!0),V(An,{ref_key:`lightingRolesSummaryRef`,ref:x,space:e.space,onEdit:n[0]||=e=>h.value=!0},null,8,[`space`]),V(qn,{ref_key:`climateRolesSummaryRef`,ref:ee,space:e.space,onEdit:n[1]||=e=>g.value=!0},null,8,[`space`]),V(ur,{ref_key:`coversRolesSummaryRef`,ref:te,space:e.space,onEdit:n[2]||=e=>_.value=!0},null,8,[`space`]),V(Er,{ref_key:`sensorRolesSummaryRef`,ref:T,space:e.space,onEdit:n[3]||=e=>v.value=!0},null,8,[`space`]),V(Oi,{ref_key:`mediaActivitiesSummaryRef`,ref:D,space:e.space,onEdit:n[4]||=e=>y.value=!0},null,8,[`space`]),e.space.type===S(G).ROOM?(r(),B(`dt`,Ri,M(S(i)(`spacesModule.detail.parentZone.title`)),1)):C(``,!0),e.space.type===S(G).ROOM?(r(),B(`dd`,zi,[P.value?(r(),O(S(je),{key:1,ref_key:`floorSelectRef`,ref:I,modelValue:k.value,"onUpdate:modelValue":n[5]||=e=>k.value=e,placeholder:S(i)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:j.value,onChange:ce,onBlur:oe},{default:m(()=>[(r(!0),B(N,null,o(ie.value,e=>(r(),O(S(Z),{key:e.id,label:e.name,value:e.id},{default:m(()=>[A(`div`,Hi,[V(S(L),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),A(`span`,null,M(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(r(),B(`div`,{key:0,class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:ae},[R.value?(r(),O(S(Q),{key:0,type:`success`,size:`small`},{default:m(()=>[A(`div`,Bi,[V(S(L),{icon:R.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),w(` `+M(R.value.name),1)])]),_:1})):(r(),B(`span`,Vi,M(S(i)(`spacesModule.detail.parentZone.none`)),1))]))])):C(``,!0)])]),_:1}),V(Dr,{visible:h.value,"onUpdate:visible":n[6]||=e=>h.value=e,space:e.space,onRolesChanged:le},null,8,[`visible`,`space`]),V(Or,{visible:g.value,"onUpdate:visible":n[7]||=e=>g.value=e,space:e.space,onRolesChanged:ue},null,8,[`visible`,`space`]),V(kr,{visible:_.value,"onUpdate:visible":n[8]||=e=>_.value=e,space:e.space,onRolesChanged:de},null,8,[`visible`,`space`]),V(Ar,{visible:v.value,"onUpdate:visible":n[9]||=e=>v.value=e,space:e.space,onRolesChanged:H},null,8,[`visible`,`space`]),V(Ur,{visible:y.value,"onUpdate:visible":n[10]||=e=>y.value=e,space:e.space,onBindingsChanged:U},null,8,[`visible`,`space`])],64))}}),Wi={class:`flex items-center gap-2`},Gi={class:`font-medium`},Ki={key:0,class:`text-xs text-gray-500`},qi={class:`flex items-center gap-2 justify-end`},Ji={key:0,class:`h-full w-full leading-normal`},Yi={key:1,class:`h-full w-full leading-normal`},Xi={class:`mb-4`},Zi=_({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=ke(),{roomSpaces:d}=$e(),{devices:f,loading:p,firstLoadFinished:h,fetchDevices:g,removeDevice:_,reassignDevice:v}=ct(ne(a,`spaceId`),ne(a,`spaceType`)),y=z(!1),b=z(null),x=z(null),ee=z(!1),te=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`,T=()=>{s(`open-add-dialog`)},D=e=>{b.value=e,x.value=null,y.value=!0},j=async()=>{if(b.value){ee.value=!0;try{await v(b.value.id,x.value),y.value=!1,u.success(l(`spacesModule.messages.edited`,{space:b.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{ee.value=!1}}},F=e=>{he.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 _(e.id),u.success(l(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.devices.removeCanceled`))})};return c(async()=>{h.value||await g()}),n({openAddDialog:T,fetchDevices:g}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.devices.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,Ji,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,Yi,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.devices.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:T},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Wi,[V(S(He),{size:32},{default:m(()=>[V(S(L),{icon:te(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[A(`div`,Gi,M(e.name),1),e.description?(r(),B(`div`,Ki,M(e.description),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.table.columns.category`),width:`150`},{default:m(({row:e})=>[V(S(Q),{size:`small`,type:`info`},{default:m(()=>[w(M(S(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(Q),{type:e.status?.online?`success`:`danger`,size:`small`},{default:m(()=>[w(M(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:a.spaceType===S(G).ZONE?110:220,align:`right`},{default:m(({row:e})=>[A(`div`,qi,[a.spaceType===S(G).ROOM?(r(),O(S(k),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>D(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):C(``,!0),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[S(we),S(p)]]),V(S(Ve),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:S(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>y.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:ee.value,onClick:j},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,Xi,M(S(l)(`spacesModule.detail.devices.selectRoom`)),1),V(S(je),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Qi={class:`flex items-center gap-2`},$i={class:`font-medium`},ea={key:0,class:`text-xs text-gray-500`},ta={class:`flex items-center gap-2 justify-end`},na={key:0,class:`h-full w-full leading-normal`},ra={key:1,class:`h-full w-full leading-normal`},ia={class:`mb-4`},aa=_({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=ke(),{spaces:d}=$e(),{scenes:f,loading:p,firstLoadFinished:h,fetchScenes:g,reassignScene:_,removeScene:v}=et(ne(a,`spaceId`)),y=z(!1),b=z(null),x=z(null),ee=z(!1),te=e=>ht[e]||ht[ft.GENERIC],T=()=>{s(`open-add-dialog`)},D=e=>{b.value=e,x.value=null,y.value=!0},j=async()=>{if(b.value){ee.value=!0;try{await _(b.value.id,x.value),y.value=!1,u.success(l(`spacesModule.detail.scenes.reassigned`,{name:b.value.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{ee.value=!1}}},F=e=>{he.confirm(l(`spacesModule.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesModule.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await v(e.id),u.success(l(`spacesModule.detail.scenes.removed`,{name:e.name}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.scenes.removeCanceled`))})};return c(async()=>{h.value||await g()}),n({openAddDialog:T,fetchScenes:g}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.scenes.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,na,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,ra,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.scenes.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:T},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Qi,[V(S(He),{size:32},{default:m(()=>[V(S(L),{icon:te(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[A(`div`,$i,M(e.name),1),e.description?(r(),B(`div`,ea,M(e.description),1)):C(``,!0)])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.detail.scenes.category`),width:`150`},{default:m(({row:e})=>[V(S(Q),{size:`small`,type:`info`},{default:m(()=>[w(M(S(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),V(S($),{label:S(l)(`spacesModule.detail.scenes.status`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(Q),{type:e.enabled?`success`:`info`,size:`small`},{default:m(()=>[w(M(e.enabled?S(l)(`spacesModule.detail.scenes.enabled`):S(l)(`spacesModule.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:`220`,align:`right`},{default:m(({row:e})=>[A(`div`,ta,[V(S(k),{type:`warning`,plain:``,size:`small`,onClick:t=>D(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>F(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[S(we),S(p)]]),V(S(Ve),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:S(l)(`spacesModule.detail.scenes.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>y.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:ee.value,onClick:j},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,ia,M(S(l)(`spacesModule.detail.scenes.selectSpace`)),1),V(S(je),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),oa={class:`flex items-center gap-2`},sa={class:`block`},ca={key:1,class:`font-medium`},la={class:`flex items-center gap-2 justify-end`},ua={key:0,class:`h-full w-full leading-normal`},da={key:1,class:`h-full w-full leading-normal`},fa={class:`mb-4`},pa=_({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,s=i,{t:l}=E(),u=ke(),{roomSpaces:d}=$e(),{displays:f,loading:p,fetchDisplays:h,removeDisplay:g,reassignDisplay:_}=rt(ne(a,`spaceId`)),v=z(!1),y=z(null),b=z(null),x=z(!1),C=()=>{s(`open-add-dialog`)},ee=e=>{y.value=e,b.value=null,v.value=!0},te=async()=>{if(y.value){x.value=!0;try{await _(y.value.id,b.value),v.value=!1,u.success(l(`spacesModule.messages.edited`,{space:y.value.name||y.value.macAddress}))}catch{u.error(l(`spacesModule.messages.saveError`))}finally{x.value=!1}}},T=e=>{let t=e.name||e.macAddress;he.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 g(e.id),u.success(l(`spacesModule.detail.displays.removed`,{name:t}))}catch{u.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{u.info(l(`spacesModule.detail.displays.removeCanceled`))})};return c(async()=>{await h()}),n({openAddDialog:C,fetchDisplays:h}),(t,n)=>(r(),B(N,null,[e((r(),O(S(Ge),{"element-loading-text":S(l)(`spacesModule.detail.displays.loading`),data:S(f),"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[S(p)?(r(),B(`div`,ua,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),B(`div`,da,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(l)(`spacesModule.detail.displays.empty`)),1)]),extra:m(()=>[V(S(k),{type:`primary`,plain:``,onClick:C},{icon:m(()=>[V(S(L),{icon:`mdi:plus`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:m(()=>[V(S($),{label:S(l)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,oa,[V(S(He),{size:32},{default:m(()=>[V(S(L),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),A(`div`,null,[e.name?(r(),B(N,{key:0},[A(`strong`,sa,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.macAddress),1)]),_:2},1024)],64)):(r(),B(`div`,ca,M(e.macAddress),1))])])]),_:1},8,[`label`]),V(S($),{label:S(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:m(({row:e})=>[V(S(Q),{type:e.online?`success`:`danger`,size:`small`},{default:m(()=>[w(M(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),V(S($),{label:``,width:`220`,align:`right`},{default:m(({row:e})=>[A(`div`,la,[V(S(k),{type:`warning`,plain:``,size:`small`,onClick:t=>ee(e)},{icon:m(()=>[V(S(L),{icon:`mdi:swap-horizontal`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),V(S(k),{type:`danger`,plain:``,size:`small`,onClick:t=>T(e)},{icon:m(()=>[V(S(L),{icon:`mdi:close`})]),default:m(()=>[w(` `+M(S(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[S(we),S(p)]]),V(S(Ve),{modelValue:v.value,"onUpdate:modelValue":n[2]||=e=>v.value=e,title:S(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:m(()=>[V(S(k),{onClick:n[1]||=e=>v.value=!1},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),V(S(k),{type:`primary`,loading:x.value,onClick:te},{default:m(()=>[w(M(S(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:m(()=>[A(`p`,fa,M(S(l)(`spacesModule.detail.displays.selectRoom`)),1),V(S(je),{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,placeholder:S(l)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:m(()=>[(r(!0),B(N,null,o(S(d),e=>(r(),O(S(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),ma={key:0,class:`h-full w-full leading-normal`},ha={key:1,class:`h-full w-full leading-normal`},ga={class:`flex items-center gap-2`},_a={class:`block text-sm`},va={key:1,class:`font-medium`},ya={key:1,class:`text-gray-400 text-sm`},ba=_({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=ke(),{devices:s}=dt(),{findById:c}=$e(),l=z(``),u=z(null),{devices:d,addDevice:f}=ct(F(()=>n.spaceId),F(()=>n.spaceType)),p=F(()=>new Set(d.value.map(e=>e.id))),h=F(()=>s.value.filter(e=>n.spaceType===G.ZONE?!p.value.has(e.id):e.roomId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),g=F(()=>(l.value.trim()?h.value.filter(e=>{let t=l.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):h.value).sort((e,t)=>e.name.localeCompare(t.name))),_=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`,v=e=>c(e)?.name||`Unknown`,y=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),x=()=>{y.value=!1,l.value=``,u.value=null},ee=async e=>{u.value=e.id;try{await f(e.id),o.success(a(`spacesModule.messages.edited`,{space:e.name})),i(`device-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return b(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),O(S(Ve),{modelValue:y.value,"onUpdate:modelValue":t[1]||=e=>y.value=e,title:S(a)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:x},{footer:m(()=>[V(S(k),{onClick:x},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(fe),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:S(a)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:g.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[h.value.length===0?(r(),B(`div`,ma,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):l.value.trim()&&g.value.length===0?(r(),B(`div`,ha,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:devices`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,ga,[V(S(He),{size:32},{default:m(()=>[V(S(L),{icon:_(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[e.description?(r(),B(N,{key:0},[A(`strong`,_a,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.description),1)]),_:2},1024)],64)):(r(),B(`div`,va,M(e.name),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.roomId?(r(),O(S(Q),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(v(e.roomId)),1)]),_:2},1024)):(r(),B(`span`,ya,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:n.spaceType===S(G).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>ee(e)},{icon:m(()=>[V(S(L),{icon:n.spaceType===S(G).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(n.spaceType===S(G).ROOM&&e.roomId?S(a)(`spacesModule.detail.devices.reassign`):S(a)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),xa={key:0,class:`h-full w-full leading-normal`},Sa={key:1,class:`h-full w-full leading-normal`},Ca={class:`flex items-center gap-2`},wa={class:`block text-sm`},Ta={key:1,class:`font-medium`},Ea={key:1,class:`text-gray-400 text-sm`},Da=_({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=ke(),{scenes:s,loaded:l,fetchScenes:u}=mt(),{editScene:d}=pt(),{findById:f}=$e(),p=z(``),h=z(null),g=F(()=>s.value.filter(e=>e.draft?!1:e.primarySpaceId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),_=F(()=>(p.value.trim()?g.value.filter(e=>{let t=p.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):g.value).sort((e,t)=>e.name.localeCompare(t.name))),v=e=>ht[e.category]||ht[ft.GENERIC],y=e=>f(e)?.name||`Unknown`,x=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),ee=()=>{x.value=!1,p.value=``,h.value=null},te=async e=>{h.value=e.id;try{await d({id:e.id,data:{primarySpaceId:n.spaceId}}),o.success(a(`spacesModule.detail.scenes.assigned`,{name:e.name})),i(`scene-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{h.value=null}};return c(async()=>{l.value||await u()}),b(()=>n.visible,e=>{e||(p.value=``,h.value=null)}),(e,t)=>(r(),O(S(Ve),{modelValue:x.value,"onUpdate:modelValue":t[1]||=e=>x.value=e,title:S(a)(`spacesModule.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:ee},{footer:m(()=>[V(S(k),{onClick:ee},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(fe),{modelValue:p.value,"onUpdate:modelValue":t[0]||=e=>p.value=e,placeholder:S(a)(`spacesModule.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:_.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[g.value.length===0?(r(),B(`div`,xa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.scenes.noAvailable`)),1)]),_:1})])):p.value.trim()&&_.value.length===0?(r(),B(`div`,Sa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:play-box-multiple`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`spacesModule.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Ca,[V(S(He),{size:32},{default:m(()=>[V(S(L),{icon:v(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),A(`div`,null,[e.description?(r(),B(N,{key:0},[A(`strong`,wa,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.description),1)]),_:2},1024)],64)):(r(),B(`div`,Ta,M(e.name),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.detail.scenes.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.primarySpaceId?(r(),O(S(Q),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(y(e.primarySpaceId)),1)]),_:2},1024)):(r(),B(`span`,Ea,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:h.value===e.id,onClick:t=>te(e)},{icon:m(()=>[V(S(L),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(e.primarySpaceId?S(a)(`spacesModule.detail.scenes.reassign`):S(a)(`spacesModule.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Oa={key:0,class:`h-full w-full leading-normal`},ka={key:1,class:`h-full w-full leading-normal`},Aa={class:`flex items-center gap-2`},ja={class:`block`},Ma={key:1,class:`font-medium`},Na={key:1,class:`text-gray-400 text-sm`},Pa=_({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=E(),o=ke(),{displays:s}=Qe(),{findById:c}=$e(),l=z(``),u=z(null),{reassignDisplay:d}=rt(F(()=>n.spaceId)),f=F(()=>s.value.filter(e=>e.role===`room`?e.roomId!==n.spaceId:!1).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),p=F(()=>(l.value.trim()?f.value.filter(e=>{let t=l.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):f.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),h=e=>c(e)?.name||`Unknown`,g=F({get:()=>n.visible,set:e=>i(`update:visible`,e)}),_=()=>{g.value=!1,l.value=``,u.value=null},v=async e=>{u.value=e.id;try{await d(e.id,n.spaceId),o.success(a(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),i(`display-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return b(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),O(S(Ve),{modelValue:g.value,"onUpdate:modelValue":t[1]||=e=>g.value=e,title:S(a)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:_},{footer:m(()=>[V(S(k),{onClick:_},{default:m(()=>[w(M(S(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:m(()=>[V(S(fe),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:S(a)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:m(()=>[V(S(L),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),V(S(Ge),{data:p.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:m(()=>[f.value.length===0?(r(),B(`div`,Oa,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:information`})]),_:1})]),title:m(()=>[w(M(S(a)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):l.value.trim()&&p.value.length===0?(r(),B(`div`,ka,[V(S(P),{class:`h-full w-full`},{icon:m(()=>[V(S(R),{size:80},{primary:m(()=>[V(S(L),{icon:`mdi:monitor`})]),secondary:m(()=>[V(S(L),{icon:`mdi:filter-multiple`})]),_:1})]),title:m(()=>[V(S(Te),{class:`block`},{default:m(()=>[w(M(S(a)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):C(``,!0)]),default:m(()=>[V(S($),{label:S(a)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:m(({row:e})=>[A(`div`,Aa,[V(S(He),{size:32},{default:m(()=>[V(S(L),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),A(`div`,null,[e.name?(r(),B(N,{key:0},[A(`strong`,ja,M(e.name),1),V(S(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:m(()=>[w(M(e.macAddress),1)]),_:2},1024)],64)):(r(),B(`div`,Ma,M(e.macAddress),1))])])]),_:1},8,[`label`]),V(S($),{label:S(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:m(({row:e})=>[e.roomId?(r(),O(S(Q),{key:0,size:`small`,type:`warning`},{default:m(()=>[w(M(h(e.roomId)),1)]),_:2},1024)):(r(),B(`span`,Na,`-`))]),_:1},8,[`label`]),V(S($),{label:``,width:`150`,align:`right`},{default:m(({row:e})=>[V(S(k),{type:e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>v(e)},{icon:m(()=>[V(S(L),{icon:e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:m(()=>[w(` `+M(e.roomId?S(a)(`spacesModule.detail.displays.reassign`):S(a)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}});export{aa as a,pn as c,kt as d,pa as i,Wt as l,Da as n,Zi as o,ba as r,Ui as s,Pa as t,Mt as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{Br as e,Hr as t,Qr as n,Sr as r,Xr as i,_i as a,br as o,ci as s,d as c,gr as l,h as u,ji as d,lr as f,mr as p,p as m,sr as h,ui as g,vr as _,xr as v}from"./icon-with-child-DmQ_XhQy.js";import{$r as y,Ni as b,Pi as x,Ti as S,Zn as C,_i as w,ei as T,yi as E}from"./common-DyDAwGBz.js";import{a as D,i as O,o as k,p as A,r as j}from"./composables-DZYr3rl3.js";import{t as M}from"./composables-CVFi60Du.js";var N=r({name:`PasswordEditForm`,__name:`password-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:h}=O({user:o.user,messages:{success:d(`usersModule.messages.passwordEdited`),error:d(`usersModule.messages.passwordNotEdited`)}}),g=s({password:[{required:!0,message:d(`usersModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:d(`usersModule.fields.newRepeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(d(`usersModule.fields.newRepeatPassword.validation.required`))):t===f.password?n():n(Error(d(`usersModule.fields.newRepeatPassword.validation.different`)))},trigger:`blur`}]});return i(()=>h.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(b),{ref_key:`formEl`,ref:p,model:a(f),rules:g,"label-position":`top`,"status-icon":``,onSubmit:a(m)},{default:n(()=>[v(a(x),{label:a(d)(`usersModule.fields.newPassword.title`),prop:[`password`]},{default:n(()=>[v(a(S),{modelValue:a(f).password,"onUpdate:modelValue":r[0]||=e=>a(f).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(x),{label:a(d)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(S),{modelValue:a(f).repeatPassword,"onUpdate:modelValue":r[1]||=e=>a(f).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),P=r({name:`UserAddForm`,__name:`user-add-form`,props:{id:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:o}){let u=r,d=o,{t:p}=c(),{model:m,formEl:h,formChanged:g,submit:T,formResult:D}=k({id:u.id}),O=s({username:[{required:!0,message:p(`usersModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:p(`usersModule.fields.password.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:p(`usersModule.fields.repeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(p(`usersModule.fields.repeatPassword.validation.required`))):t===m.password?n():n(Error(p(`usersModule.fields.repeatPassword.validation.different`)))},trigger:`blur`}],email:[{type:`email`,message:p(`usersModule.fields.email.validation.email`),trigger:`change`}],role:[{required:!0,message:p(`usersModule.fields.role.validation.required`),trigger:`change`}]}),A=[{value:C.user,label:p(`usersModule.fields.role.options.user`)},{value:C.admin,label:p(`usersModule.fields.role.options.admin`)}];return i(()=>D.value,async e=>{d(`update:remote-form-result`,e)}),i(()=>u.remoteFormSubmit,async e=>{e&&(d(`update:remote-form-submit`,!1),T().catch(()=>{}))}),i(()=>u.remoteFormReset,e=>{if(d(`update:remote-form-reset`,!1),e){if(!h.value)return;h.value.resetFields()}}),i(()=>g.value,e=>{d(`update:remote-form-changed`,e)}),(r,i)=>(e(),l(a(b),{ref_key:`formEl`,ref:h,model:a(m),rules:O,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(x),{label:a(p)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(S),{modelValue:a(m).username,"onUpdate:modelValue":i[0]||=e=>a(m).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(x),{label:a(p)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(S),{modelValue:a(m).password,"onUpdate:modelValue":i[1]||=e=>a(m).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(x),{label:a(p)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(S),{modelValue:a(m).repeatPassword,"onUpdate:modelValue":i[2]||=e=>a(m).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(y)),v(a(x),{label:a(p)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(S),{modelValue:a(m).email,"onUpdate:modelValue":i[3]||=e=>a(m).email=e,placeholder:a(p)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(x),{label:a(p)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(S),{modelValue:a(m).firstName,"onUpdate:modelValue":i[4]||=e=>a(m).firstName=e,placeholder:a(p)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(x),{label:a(p)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(S),{modelValue:a(m).lastName,"onUpdate:modelValue":i[5]||=e=>a(m).lastName=e,placeholder:a(p)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(y)),v(a(x),{label:a(p)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(E),{modelValue:a(m).role,"onUpdate:modelValue":i[6]||=e=>a(m).role=e,placeholder:a(p)(`usersModule.fields.role.placeholder`),name:`role`},{default:n(()=>[(e(),_(f,null,t(A,e=>v(a(w),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),F=r({name:`UsernameEditForm`,__name:`username-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:g}=j({user:o.user,messages:{success:d(`usersModule.messages.usernameEdited`),error:d(`usersModule.messages.usernameNotEdited`)}}),_=s({username:[{required:!0,message:d(`usersModule.fields.newUsername.validation.required`),trigger:`change`}]});return i(()=>g.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(b),{ref_key:`formEl`,ref:p,model:a(f),rules:_,"label-position":`top`,"status-icon":``,onSubmit:h(a(m),[`prevent`])},{default:n(()=>[v(a(x),{label:a(d)(`usersModule.fields.newUsername.title`),prop:[`username`]},{default:n(()=>[v(a(S),{modelValue:a(f).username,"onUpdate:modelValue":r[0]||=e=>a(f).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),I=r({name:`UserEditForm`,__name:`user-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:h}){let O=r,k=h,{t:j}=c(),{profile:P}=M(),{model:I,formEl:L,formChanged:R,submit:z,formResult:B}=D({user:O.user}),V=p(()=>P.value!==null&&P.value.id===O.user.id||O.user.role===C.owner),H=g(!1),U=g(!1),W=g(A.NONE),G=g(!1),K=g(!1),q=g(!1),J=g(A.NONE),Y=g(!1),X=s({email:[{type:`email`,message:j(`usersModule.fields.email.validation.email`),trigger:`change`}]}),Z=p(()=>{let e=[{value:C.user,label:j(`usersModule.fields.role.options.user`)},{value:C.admin,label:j(`usersModule.fields.role.options.admin`)}];return O.user.role===C.owner&&e.push({value:C.owner,label:j(`usersModule.fields.role.options.owner`)}),e}),Q=()=>{K.value=!0},$=()=>{q.value=!0},ee=()=>{Y.value=!0,K.value=!1},te=()=>{H.value=!0},ne=()=>{U.value=!0},re=()=>{G.value=!0,H.value=!1};return i(()=>B.value,async e=>{k(`update:remote-form-result`,e)}),i(()=>O.remoteFormSubmit,async e=>{e&&(k(`update:remote-form-submit`,!1),z().catch(()=>{}))}),i(()=>O.remoteFormReset,e=>{if(k(`update:remote-form-reset`,!1),e){if(!L.value)return;L.value.resetFields()}}),i(()=>R.value,e=>{k(`update:remote-form-changed`,e)}),i(()=>J.value,e=>{e===A.OK&&(K.value=!1)}),i(()=>W.value,e=>{e===A.OK&&(H.value=!1,I.username=O.user.username)}),(r,i)=>(e(),_(f,null,[v(a(b),{ref_key:`formEl`,ref:L,model:a(I),rules:X,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(x),{label:a(j)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(S),{modelValue:a(I).username,"onUpdate:modelValue":i[0]||=e=>a(I).username=e,name:`username`,readonly:``,disabled:``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:te},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(x),{label:a(j)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(S),{modelValue:a(I).password,"onUpdate:modelValue":i[1]||=e=>a(I).password=e,name:`password`,type:`password`,readonly:``,disabled:``,"show-password":``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:Q},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(y)),v(a(x),{label:a(j)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(S),{modelValue:a(I).email,"onUpdate:modelValue":i[2]||=e=>a(I).email=e,placeholder:a(j)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(x),{label:a(j)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(S),{modelValue:a(I).firstName,"onUpdate:modelValue":i[3]||=e=>a(I).firstName=e,placeholder:a(j)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(x),{label:a(j)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(S),{modelValue:a(I).lastName,"onUpdate:modelValue":i[4]||=e=>a(I).lastName=e,placeholder:a(j)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(y)),v(a(x),{label:a(j)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(E),{modelValue:a(I).role,"onUpdate:modelValue":i[5]||=e=>a(I).role=e,placeholder:a(j)(`usersModule.fields.role.placeholder`),disabled:V.value,name:`role`},{default:n(()=>[(e(!0),_(f,null,t(Z.value,t=>(e(),l(a(w),{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]),v(a(T),{modelValue:H.value,"onUpdate:modelValue":i[9]||=e=>H.value=e,title:a(j)(`usersModule.headings.changeUsername`)},{footer:n(()=>[v(a(u),{link:``,onClick:re},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:ne},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(F,{"remote-form-submit":U.value,"onUpdate:remoteFormSubmit":i[6]||=e=>U.value=e,"remote-form-result":W.value,"onUpdate:remoteFormResult":i[7]||=e=>W.value=e,"remote-form-reset":G.value,"onUpdate:remoteFormReset":i[8]||=e=>G.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`]),v(a(T),{modelValue:K.value,"onUpdate:modelValue":i[13]||=e=>K.value=e,title:a(j)(`usersModule.headings.changePassword`)},{footer:n(()=>[v(a(u),{link:``,onClick:ee},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:$},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(N,{"remote-form-submit":q.value,"onUpdate:remoteFormSubmit":i[10]||=e=>q.value=e,"remote-form-result":J.value,"onUpdate:remoteFormResult":i[11]||=e=>J.value=e,"remote-form-reset":Y.value,"onUpdate:remoteFormReset":i[12]||=e=>Y.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`])],64))}});export{P as n,I as t};
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Br as e,Hr as t,Qr as n,Sr as r,Xr as i,_i as a,br as o,ci as s,d as c,gr as l,h as u,ji as d,lr as f,mr as p,p as m,sr as h,ui as g,vr as _,xr as v}from"./icon-with-child-DmQ_XhQy.js";import{Ei as y,Fi as b,Pi as x,Zn as S,bi as C,ei as w,ti as T,vi as E}from"./common-JK1JafYN.js";import{a as D,i as O,o as k,p as A,r as j}from"./composables-DgP2mWSg.js";import{t as M}from"./composables-DA8zAfAi.js";var N=r({name:`PasswordEditForm`,__name:`password-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:h}=O({user:o.user,messages:{success:d(`usersModule.messages.passwordEdited`),error:d(`usersModule.messages.passwordNotEdited`)}}),g=s({password:[{required:!0,message:d(`usersModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:d(`usersModule.fields.newRepeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(d(`usersModule.fields.newRepeatPassword.validation.required`))):t===f.password?n():n(Error(d(`usersModule.fields.newRepeatPassword.validation.different`)))},trigger:`blur`}]});return i(()=>h.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(x),{ref_key:`formEl`,ref:p,model:a(f),rules:g,"label-position":`top`,"status-icon":``,onSubmit:a(m)},{default:n(()=>[v(a(b),{label:a(d)(`usersModule.fields.newPassword.title`),prop:[`password`]},{default:n(()=>[v(a(y),{modelValue:a(f).password,"onUpdate:modelValue":r[0]||=e=>a(f).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(d)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(y),{modelValue:a(f).repeatPassword,"onUpdate:modelValue":r[1]||=e=>a(f).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),P=r({name:`UserAddForm`,__name:`user-add-form`,props:{id:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:o}){let u=r,d=o,{t:p}=c(),{model:m,formEl:h,formChanged:g,submit:T,formResult:D}=k({id:u.id}),O=s({username:[{required:!0,message:p(`usersModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:p(`usersModule.fields.password.validation.required`),trigger:`change`}],repeatPassword:[{required:!0,message:p(`usersModule.fields.repeatPassword.validation.required`),trigger:`change`},{validator:(e,t,n)=>{t===``?n(Error(p(`usersModule.fields.repeatPassword.validation.required`))):t===m.password?n():n(Error(p(`usersModule.fields.repeatPassword.validation.different`)))},trigger:`blur`}],email:[{type:`email`,message:p(`usersModule.fields.email.validation.email`),trigger:`change`}],role:[{required:!0,message:p(`usersModule.fields.role.validation.required`),trigger:`change`}]}),A=[{value:S.user,label:p(`usersModule.fields.role.options.user`)},{value:S.admin,label:p(`usersModule.fields.role.options.admin`)}];return i(()=>D.value,async e=>{d(`update:remote-form-result`,e)}),i(()=>u.remoteFormSubmit,async e=>{e&&(d(`update:remote-form-submit`,!1),T().catch(()=>{}))}),i(()=>u.remoteFormReset,e=>{if(d(`update:remote-form-reset`,!1),e){if(!h.value)return;h.value.resetFields()}}),i(()=>g.value,e=>{d(`update:remote-form-changed`,e)}),(r,i)=>(e(),l(a(x),{ref_key:`formEl`,ref:h,model:a(m),rules:O,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(b),{label:a(p)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(y),{modelValue:a(m).username,"onUpdate:modelValue":i[0]||=e=>a(m).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(y),{modelValue:a(m).password,"onUpdate:modelValue":i[1]||=e=>a(m).password=e,name:`password`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.repeatPassword.title`),prop:[`repeatPassword`]},{default:n(()=>[v(a(y),{modelValue:a(m).repeatPassword,"onUpdate:modelValue":i[2]||=e=>a(m).repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),v(a(w)),v(a(b),{label:a(p)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(y),{modelValue:a(m).email,"onUpdate:modelValue":i[3]||=e=>a(m).email=e,placeholder:a(p)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(y),{modelValue:a(m).firstName,"onUpdate:modelValue":i[4]||=e=>a(m).firstName=e,placeholder:a(p)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(p)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(y),{modelValue:a(m).lastName,"onUpdate:modelValue":i[5]||=e=>a(m).lastName=e,placeholder:a(p)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(w)),v(a(b),{label:a(p)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(C),{modelValue:a(m).role,"onUpdate:modelValue":i[6]||=e=>a(m).role=e,placeholder:a(p)(`usersModule.fields.role.placeholder`),name:`role`},{default:n(()=>[(e(),_(f,null,t(A,e=>v(a(E),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),F=r({name:`UsernameEditForm`,__name:`username-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`],setup(t,{emit:r}){let o=t,u=r,{t:d}=c(),{model:f,formEl:p,submit:m,formResult:g}=j({user:o.user,messages:{success:d(`usersModule.messages.usernameEdited`),error:d(`usersModule.messages.usernameNotEdited`)}}),_=s({username:[{required:!0,message:d(`usersModule.fields.newUsername.validation.required`),trigger:`change`}]});return i(()=>g.value,async e=>{u(`update:remote-form-result`,e)}),i(()=>o.remoteFormSubmit,async e=>{e&&(u(`update:remote-form-submit`,!1),m().catch(()=>{}))}),i(()=>o.remoteFormReset,e=>{if(u(`update:remote-form-reset`,!1),e){if(!p.value)return;p.value.resetFields()}}),(t,r)=>(e(),l(a(x),{ref_key:`formEl`,ref:p,model:a(f),rules:_,"label-position":`top`,"status-icon":``,onSubmit:h(a(m),[`prevent`])},{default:n(()=>[v(a(b),{label:a(d)(`usersModule.fields.newUsername.title`),prop:[`username`]},{default:n(()=>[v(a(y),{modelValue:a(f).username,"onUpdate:modelValue":r[0]||=e=>a(f).username=e,name:`username`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`onSubmit`]))}}),I=r({name:`UserEditForm`,__name:`user-edit-form`,props:{user:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:A.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(r,{emit:h}){let O=r,k=h,{t:j}=c(),{profile:P}=M(),{model:I,formEl:L,formChanged:R,submit:z,formResult:B}=D({user:O.user}),V=p(()=>P.value!==null&&P.value.id===O.user.id||O.user.role===S.owner),H=g(!1),U=g(!1),W=g(A.NONE),G=g(!1),K=g(!1),q=g(!1),J=g(A.NONE),Y=g(!1),X=s({email:[{type:`email`,message:j(`usersModule.fields.email.validation.email`),trigger:`change`}]}),Z=p(()=>{let e=[{value:S.user,label:j(`usersModule.fields.role.options.user`)},{value:S.admin,label:j(`usersModule.fields.role.options.admin`)}];return O.user.role===S.owner&&e.push({value:S.owner,label:j(`usersModule.fields.role.options.owner`)}),e}),Q=()=>{K.value=!0},$=()=>{q.value=!0},ee=()=>{Y.value=!0,K.value=!1},te=()=>{H.value=!0},ne=()=>{U.value=!0},re=()=>{G.value=!0,H.value=!1};return i(()=>B.value,async e=>{k(`update:remote-form-result`,e)}),i(()=>O.remoteFormSubmit,async e=>{e&&(k(`update:remote-form-submit`,!1),z().catch(()=>{}))}),i(()=>O.remoteFormReset,e=>{if(k(`update:remote-form-reset`,!1),e){if(!L.value)return;L.value.resetFields()}}),i(()=>R.value,e=>{k(`update:remote-form-changed`,e)}),i(()=>J.value,e=>{e===A.OK&&(K.value=!1)}),i(()=>W.value,e=>{e===A.OK&&(H.value=!1,I.username=O.user.username)}),(r,i)=>(e(),_(f,null,[v(a(x),{ref_key:`formEl`,ref:L,model:a(I),rules:X,"label-position":`top`,"status-icon":``},{default:n(()=>[v(a(b),{label:a(j)(`usersModule.fields.username.title`),prop:[`username`]},{default:n(()=>[v(a(y),{modelValue:a(I).username,"onUpdate:modelValue":i[0]||=e=>a(I).username=e,name:`username`,readonly:``,disabled:``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:te},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.password.title`),prop:[`password`]},{default:n(()=>[v(a(y),{modelValue:a(I).password,"onUpdate:modelValue":i[1]||=e=>a(I).password=e,name:`password`,type:`password`,readonly:``,disabled:``,"show-password":``},{append:n(()=>[v(a(u),{type:`primary`,class:`px-3!`,onClick:Q},{icon:n(()=>[v(a(m),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),v(a(w)),v(a(b),{label:a(j)(`usersModule.fields.email.title`),prop:[`email`]},{default:n(()=>[v(a(y),{modelValue:a(I).email,"onUpdate:modelValue":i[2]||=e=>a(I).email=e,placeholder:a(j)(`usersModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.firstName.title`),prop:[`firstName`]},{default:n(()=>[v(a(y),{modelValue:a(I).firstName,"onUpdate:modelValue":i[3]||=e=>a(I).firstName=e,placeholder:a(j)(`usersModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(b),{label:a(j)(`usersModule.fields.lastName.title`),prop:[`lastName`]},{default:n(()=>[v(a(y),{modelValue:a(I).lastName,"onUpdate:modelValue":i[4]||=e=>a(I).lastName=e,placeholder:a(j)(`usersModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),v(a(w)),v(a(b),{label:a(j)(`usersModule.fields.role.title`),prop:[`role`]},{default:n(()=>[v(a(C),{modelValue:a(I).role,"onUpdate:modelValue":i[5]||=e=>a(I).role=e,placeholder:a(j)(`usersModule.fields.role.placeholder`),disabled:V.value,name:`role`},{default:n(()=>[(e(!0),_(f,null,t(Z.value,t=>(e(),l(a(E),{key:t.value,label:t.label,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]),v(a(T),{modelValue:H.value,"onUpdate:modelValue":i[9]||=e=>H.value=e,title:a(j)(`usersModule.headings.changeUsername`)},{footer:n(()=>[v(a(u),{link:``,onClick:re},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:ne},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(F,{"remote-form-submit":U.value,"onUpdate:remoteFormSubmit":i[6]||=e=>U.value=e,"remote-form-result":W.value,"onUpdate:remoteFormResult":i[7]||=e=>W.value=e,"remote-form-reset":G.value,"onUpdate:remoteFormReset":i[8]||=e=>G.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`]),v(a(T),{modelValue:K.value,"onUpdate:modelValue":i[13]||=e=>K.value=e,title:a(j)(`usersModule.headings.changePassword`)},{footer:n(()=>[v(a(u),{link:``,onClick:ee},{default:n(()=>[o(d(a(j)(`usersModule.buttons.cancel.title`)),1)]),_:1}),v(a(u),{type:`primary`,onClick:$},{default:n(()=>[o(d(a(j)(`usersModule.buttons.change.title`)),1)]),_:1})]),default:n(()=>[v(N,{"remote-form-submit":q.value,"onUpdate:remoteFormSubmit":i[10]||=e=>q.value=e,"remote-form-result":J.value,"onUpdate:remoteFormResult":i[11]||=e=>J.value=e,"remote-form-reset":Y.value,"onUpdate:remoteFormReset":i[12]||=e=>Y.value=e,user:O.user,class:`mt-4`},null,8,[`remote-form-submit`,`remote-form-result`,`remote-form-reset`,`user`])]),_:1},8,[`modelValue`,`title`])],64))}});export{P as n,I as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Br as e,Hr as t,Lr as n,Qr as r,Sr as i,Xr as a,_i as o,br as s,c,ci as l,d as u,gr as d,h as f,hr as p,ji as m,lr as h,or as g,sr as _,ui as v,vr as y,xr as b}from"./icon-with-child-DmQ_XhQy.js";import{$t as x,Ei as S,Er as C,Fi as w,K as T,Pi as E,T as D,_ as O,at as k,bi as A,ot as j,vi as M}from"./common-JK1JafYN.js";import{a as N,l as P,s as F}from"./auth.constants-Dls_gTTx.js";var I=i({name:`SettingsProfileForm`,__name:`settings-profile-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:F.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(n,{emit:i}){let s=n,c=i,{t:f,locale:p}=u(),m=O(),g=D().getStore(x),_=v(void 0),C=l({email:[{required:!1,message:f(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:f(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!1,message:f(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!1,message:f(`authModule.fields.lastName.validation.required`),trigger:`change`}]}),P=j,I=e=>e?k[e]??null:null,L=e=>e?e.split(`-`)[0]:null,R=l({email:s.profile.email??`@`,firstName:s.profile.firstName,lastName:s.profile.lastName,language:I(s.profile.language??null)}),z,B=()=>{window.clearTimeout(z),c(`update:remoteFormResult`,N.NONE)};return a(()=>s.remoteFormSubmit,async e=>{e&&(c(`update:remoteFormSubmit`,!1),_.value.clearValidate(),_.value.validate(async e=>{if(!e)return;c(`update:remoteFormResult`,N.WORKING);let t=f(`authModule.messages.profileNotEdited`);try{await g.edit({id:s.profile.id,data:{firstName:R.firstName,lastName:R.lastName,email:R.email,language:L(R.language)}}),R.language&&(p.value=R.language,T(R.language)),c(`update:remoteFormResult`,N.OK),m.success(f(`authModule.messages.profileEdited`)),z=window.setTimeout(B,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?m.exception(t):m.error(t),c(`update:remoteFormResult`,N.ERROR),z=window.setTimeout(B,2e3)}}))}),a(()=>s.remoteFormReset,e=>{c(`update:remoteFormReset`,!1),e&&(R.email=s.profile.email??`@`,R.firstName=s.profile.firstName,R.lastName=s.profile.lastName,R.language=I(s.profile.language??null))}),(n,i)=>(e(),d(o(E),{ref_key:`profileFormEl`,ref:_,model:R,rules:C,"label-position":s.layout===o(F).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:r(()=>[b(o(w),{label:o(f)(`authModule.fields.email.title`),prop:`email`},{default:r(()=>[b(o(S),{modelValue:R.email,"onUpdate:modelValue":i[0]||=e=>R.email=e,name:`email`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.firstName.title`),prop:`firstName`},{default:r(()=>[b(o(S),{modelValue:R.firstName,"onUpdate:modelValue":i[1]||=e=>R.firstName=e,name:`firstName`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.lastName.title`),prop:`lastName`},{default:r(()=>[b(o(S),{modelValue:R.lastName,"onUpdate:modelValue":i[2]||=e=>R.lastName=e,name:`lastName`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(f)(`authModule.fields.language.title`),prop:`language`},{default:r(()=>[b(o(A),{modelValue:R.language,"onUpdate:modelValue":i[3]||=e=>R.language=e,placeholder:o(f)(`authModule.fields.language.placeholder`),clearable:``},{default:r(()=>[(e(!0),y(h,null,t(o(P),t=>(e(),d(o(M),{key:t.value,label:`${t.flag} ${t.label}`,value:t.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),L=i({name:`SettingsPasswordForm`,__name:`settings-password-form`,props:{profile:{},remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1},layout:{default:F.DEFAULT}},emits:[`update:remoteFormSubmit`,`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,s=n,{t:c}=u(),f=O(),p=D().getStore(x),m=v(void 0),h=l({currentPassword:[{required:!0,message:c(`authModule.fields.currentPassword.validation.required`),trigger:`change`}],newPassword:[{required:!0,message:c(`authModule.fields.newPassword.validation.required`),trigger:`change`}],repeatPassword:[{validator:(e,t,n)=>{t===``?n(Error(c(`authModule.fields.repeatPassword.validation.required`))):t===g.newPassword?n():n(Error(c(`authModule.fields.repeatPassword.validation.different`)))},trigger:`change`}]}),g=l({currentPassword:``,newPassword:``,repeatPassword:``}),_,y=()=>{window.clearTimeout(_),s(`update:remoteFormResult`,N.NONE)};return a(()=>i.remoteFormSubmit,async e=>{e&&(s(`update:remoteFormSubmit`,!1),m.value.clearValidate(),m.value.validate(async e=>{if(!e)return;s(`update:remoteFormResult`,N.WORKING);let t=c(`authModule.messages.passwordNotEdited`);try{await p.edit({id:i.profile.id,data:{password:{current:g.currentPassword,new:g.newPassword}}}),s(`update:remoteFormResult`,N.OK),f.success(c(`authModule.messages.passwordEdited`)),_=window.setTimeout(y,2e3)}catch(e){e instanceof Error&&`exception`in e&&e.exception instanceof Error?f.exception(t):f.error(t),s(`update:remoteFormResult`,N.ERROR),_=window.setTimeout(y,2e3)}}))}),a(()=>i.remoteFormReset,e=>{s(`update:remoteFormReset`,!1),e&&(m.value?.resetFields(),g.currentPassword=``,g.newPassword=``,g.repeatPassword=``)}),(t,n)=>(e(),d(o(E),{ref_key:`passwordFormEl`,ref:m,model:g,rules:h,"label-position":i.layout===o(F).PHONE?`top`:`right`,"label-width":180,"status-icon":``},{default:r(()=>[b(o(w),{label:o(c)(`authModule.fields.currentPassword.title`),prop:`currentPassword`},{default:r(()=>[b(o(S),{modelValue:g.currentPassword,"onUpdate:modelValue":n[0]||=e=>g.currentPassword=e,name:`currentPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(c)(`authModule.fields.newPassword.title`),prop:`newPassword`},{default:r(()=>[b(o(S),{modelValue:g.newPassword,"onUpdate:modelValue":n[1]||=e=>g.newPassword=e,name:`newPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(c)(`authModule.fields.repeatPassword.title`),prop:`repeatPassword`},{default:r(()=>[b(o(S),{modelValue:g.repeatPassword,"onUpdate:modelValue":n[2]||=e=>g.repeatPassword=e,name:`repeatPassword`,type:`password`,"show-password":``},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`,`label-position`]))}}),R=i({name:`SignInForm`,__name:`sign-in-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,c=n,{t:p}=u(),h=O(),y=D().getStore(x),C=v(void 0),T=v(void 0),k=l({username:[{required:!0,message:p(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:p(`authModule.fields.password.validation.required`),trigger:`change`}]}),A=l({username:``,password:``}),j=async e=>{e&&await e.validate(async e=>{if(e){c(`update:remoteFormResult`,N.WORKING);try{await y.create({data:{username:A.username,password:A.password}}),c(`update:remoteFormResult`,N.OK)}catch(e){c(`update:remoteFormResult`,N.ERROR);let t=p(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?h.exception(t):h.error(t)}}})},M=()=>{T.value?.focus()},P=()=>{j(C.value)};return a(()=>i.remoteFormReset,e=>{if(c(`update:remoteFormReset`,!1),e){if(!C.value)return;C.value.resetFields()}}),(t,n)=>(e(),d(o(E),{ref_key:`signFormEl`,ref:C,model:A,rules:k,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(j,[`prevent`])},{default:r(()=>[b(o(w),{label:o(p)(`authModule.fields.username.title`),prop:`username`,class:`mb-5`},{default:r(()=>[b(o(S),{modelValue:A.username,"onUpdate:modelValue":n[0]||=e=>A.username=e,name:`username`,onKeyup:g(M,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(w),{label:o(p)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:r(()=>[b(o(S),{ref_key:`passwordInputEl`,ref:T,modelValue:A.password,"onUpdate:modelValue":n[1]||=e=>A.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:g(P,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(f),{type:`primary`,size:`large`,class:`block w-full`,onClick:n[2]||=e=>j(C.value)},{default:r(()=>[s(m(o(p)(`authModule.buttons.signIn.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]))}}),z={class:`flex flex-row flex-nowrap gap-5`},B={class:`mb-5`},V={class:`mb-5`},H={class:`mb-10`},U={class:`mt-5 px-5`},W=i({name:`SignUpForm`,__name:`sign-up-form`,props:{remoteFormSubmit:{type:Boolean,default:!1},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`],setup(t,{emit:n}){let i=t,d=n,{t:g}=u(),C=O(),T=c(),k=D().getStore(x),A=v(void 0),j=l({email:[{required:!0,message:g(`authModule.fields.email.validation.required`),trigger:`change`},{type:`email`,message:g(`authModule.fields.email.validation.email`),trigger:`change`}],firstName:[{required:!0,message:g(`authModule.fields.firstName.validation.required`),trigger:`change`}],lastName:[{required:!0,message:g(`authModule.fields.lastName.validation.required`),trigger:`change`}],username:[{required:!0,message:g(`authModule.fields.username.validation.required`),trigger:`change`}],password:[{required:!0,message:g(`authModule.fields.password.validation.required`),trigger:`change`}]}),M=l({username:``,password:``,email:``,firstName:``,lastName:``}),F=async e=>{e&&await e.validate(async e=>{if(e){d(`update:remoteFormResult`,N.WORKING);try{await k.register({data:{username:M.username,password:M.password,firstName:M.firstName,lastName:M.lastName,email:M.email}}),d(`update:remoteFormResult`,N.OK)}catch(e){d(`update:remoteFormResult`,N.ERROR);let t=g(`authModule.messages.requestError`);e instanceof Error&&`exception`in e&&e.exception instanceof Error?C.exception(t):C.error(t)}}})},I=()=>{T.push({name:P.SIGN_IN})};return a(()=>i.remoteFormReset,e=>{if(d(`update:remoteFormReset`,!1),e){if(!A.value)return;A.value.resetFields()}}),(t,n)=>(e(),y(h,null,[b(o(E),{ref_key:`signFormEl`,ref:A,model:M,rules:j,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(F,[`prevent`])},{default:r(()=>[p(`div`,z,[b(o(w),{label:o(g)(`authModule.fields.firstName.title`),prop:`firstName`},{default:r(()=>[b(o(S),{modelValue:M.firstName,"onUpdate:modelValue":n[0]||=e=>M.firstName=e,placeholder:o(g)(`authModule.fields.firstName.placeholder`),name:`firstName`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(o(w),{label:o(g)(`authModule.fields.lastName.title`),prop:`lastName`},{default:r(()=>[b(o(S),{modelValue:M.lastName,"onUpdate:modelValue":n[1]||=e=>M.lastName=e,palceholder:o(g)(`authModule.fields.lastName.placeholder`),name:`lastName`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),p(`div`,B,[b(o(w),{label:o(g)(`authModule.fields.email.title`),prop:`email`},{default:r(()=>[b(o(S),{modelValue:M.email,"onUpdate:modelValue":n[2]||=e=>M.email=e,palceholder:o(g)(`authModule.fields.email.placeholder`),name:`email`},null,8,[`modelValue`,`palceholder`])]),_:1},8,[`label`])]),p(`div`,V,[b(o(w),{label:o(g)(`authModule.fields.username.title`),prop:`username`},{default:r(()=>[b(o(S),{modelValue:M.username,"onUpdate:modelValue":n[3]||=e=>M.username=e,"show-password":``,name:`username`,type:`text`},null,8,[`modelValue`])]),_:1},8,[`label`])]),p(`div`,H,[b(o(w),{label:o(g)(`authModule.fields.password.title`),prop:`password`},{default:r(()=>[b(o(S),{modelValue:M.password,"onUpdate:modelValue":n[4]||=e=>M.password=e,"show-password":``,name:`password`,type:`password`},null,8,[`modelValue`])]),_:1},8,[`label`])]),b(o(f),{type:`primary`,size:`large`,class:`block w-full`,onClick:n[5]||=e=>F(A.value)},{default:r(()=>[s(m(o(g)(`authModule.buttons.signUp.title`)),1)]),_:1})]),_:1},8,[`model`,`rules`]),p(`div`,U,[b(o(f),{class:`block w-full`,onClick:n[6]||=e=>I()},{default:r(()=>[s(m(o(g)(`authModule.buttons.backToSignIn.title`)),1)]),_:1})])],64))}}),G={class:`flex flex-row justify-center items-center mt-4`},K=i({name:`UnlockForm`,__name:`unlock-form`,props:{remoteFormSubmit:{type:Boolean},remoteFormResult:{default:N.NONE},remoteFormReset:{type:Boolean,default:!1}},emits:[`update:remoteFormResult`,`update:remoteFormReset`,`signOut`],setup(t,{emit:i}){let c=t,h=i,{t:y}=u(),x=O(),T=C(),D=v(void 0),k=v(void 0),A=l({password:[{required:!0,message:y(`authModule.fields.password.validation.required`),trigger:`change`}]}),j=l({password:``}),M=async e=>{e&&await e.validate(async e=>{if(e){let e=T?.details.value?.username;if(!e){h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.requestError`));return}h(`update:remoteFormResult`,N.WORKING);try{await T.signIn({username:e,password:j.password})?h(`update:remoteFormResult`,N.OK):(h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.invalidPassword`)))}catch{h(`update:remoteFormResult`,N.ERROR),x.error(y(`authModule.messages.invalidPassword`))}}})},P=()=>{h(`signOut`)};return n(()=>{k.value?.focus()}),a(()=>c.remoteFormReset,e=>{if(h(`update:remoteFormReset`,!1),e){if(!D.value)return;D.value.resetFields()}}),(t,n)=>(e(),d(o(E),{ref_key:`unlockFormEl`,ref:D,model:j,rules:A,"label-position":`top`,"status-icon":``,class:`px-5`,onSubmit:_(M,[`prevent`])},{default:r(()=>[b(o(w),{label:o(y)(`authModule.fields.password.title`),prop:`password`,class:`mb-5`},{default:r(()=>[b(o(S),{ref_key:`passwordInputEl`,ref:k,modelValue:j.password,"onUpdate:modelValue":n[0]||=e=>j.password=e,type:`password`,name:`password`,"show-password":``,onKeyup:n[1]||=g(e=>M(D.value),[`enter`])},null,8,[`modelValue`])]),_:1},8,[`label`]),b(o(f),{type:`primary`,size:`large`,class:`block w-full mb-3`,onClick:n[2]||=e=>M(D.value)},{default:r(()=>[s(m(o(y)(`authModule.buttons.unlock.title`)),1)]),_:1}),p(`div`,G,[b(o(f),{type:`danger`,link:``,onClick:P},{default:r(()=>[s(m(o(y)(`authModule.buttons.signOut.title`)),1)]),_:1})])]),_:1},8,[`model`,`rules`]))}});export{I as a,L as i,W as n,R as r,K as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Br as n,Dr as r,Hr as i,Lr as a,Nr as o,O as s,Oi as c,Qr as l,Sr as u,Xr as d,_i as f,_r as p,ai as m,br as h,ci as g,d as _,f as v,gr as y,h as b,hr as x,ji as S,lr as C,m as w,mr as T,p as E,pt as D,sr as O,t as k,ui as A,vr as j,xr as M}from"./icon-with-child-DmQ_XhQy.js";import{Ei as N,Fi as P,H as F,Ht as I,Ii as L,Lr as R,Mr as z,Pi as B,Pr as V,Sn as H,Ti as ee,Ur as te,Wr as U,Yr as W,_i as G,bi as K,di as ne,fi as q,qr as re,qt as J,un as ie,vi as Y,wi as ae,xi as oe,xn as se}from"./common-JK1JafYN.js";import{n as X,t as ce}from"./table-CX8Y_GvR.js";import{t as Z}from"./input-number-BwfEsFHJ.js";import{n as Q,r as le}from"./radio-Be6vTJaS.js";import{t as ue}from"./pagination-B1k-jAW4.js";import{t as de}from"./useSpaces-6g2FoZ3a.js";import{b as $,i as fe,y as pe}from"./composables-BXpPCCSi.js";var me={class:`flex w-full`},he=u({name:`ScenesFilter`,__name:`scenes-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),o=V(r,`filters`,i),c=A(void 0);return d(()=>o.value.search,e=>{e===``&&(o.value.search=void 0)}),(e,t)=>(n(),j(`div`,me,[M(f(B),{ref_key:`filterFormEl`,ref:c,inline:!0,model:f(o),class:`grow-1`},{default:l(()=>[M(f(N),{modelValue:f(o).search,"onUpdate:modelValue":t[0]||=e=>f(o).search=e,placeholder:f(a)(`scenes.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:l(()=>[M(f(s),null,{default:l(()=>[M(f(E),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),M(f(F),{"selected-count":r.selectedCount,actions:r.bulkActions,onAction:t[1]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),r.filtersActive?(n(),y(f(b),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`reset-filters`)},{default:l(()=>[M(f(E),{icon:`mdi:filter-off`})]),_:1})):p(``,!0),M(f(b),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`adjust-list`)},{default:l(()=>[M(f(E),{icon:`mdi:slider`})]),_:1})]))}}),ge=u({name:`ScenesTableColumnIcon`,__name:`scenes-table-column-icon`,props:{scene:{}},setup(e){let{icon:t}=fe({id:e.scene.id});return(e,r)=>(n(),y(f(ae),{size:32},{default:l(()=>[M(f(E),{icon:f(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),_e={key:0,class:`h-full w-full leading-normal`},ve={key:1,class:`h-full w-full leading-normal`},ye={key:2,class:`h-full w-full leading-normal`},be={class:`block`},xe=v(u({name:`ScenesTable`,__name:`scenes-table`,props:{items:{},totalRows:{},filters:{},filtersActive:{type:Boolean},tableHeight:{},loading:{type:Boolean},triggering:{},sortBy:{},sortDir:{}},emits:[`edit`,`remove`,`trigger`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(i,{emit:a}){let o=i,c=a,{t:u}=_(),{isMDDevice:d}=z(),m=r(`spaces`,{value:[]}),g=T(()=>o.totalRows===0),v=V(o,`filters`,c),D=T(()=>o.tableHeight),A=e=>({[$.GENERIC]:void 0,[$.LIGHTING]:`warning`,[$.CLIMATE]:`info`,[$.MEDIA]:`primary`,[$.WORK]:void 0,[$.RELAX]:`success`,[$.NIGHT]:`info`,[$.MORNING]:`warning`,[$.PARTY]:`danger`,[$.MOVIE]:`primary`,[$.AWAY]:void 0,[$.HOME]:`success`,[$.SECURITY]:`danger`,[$.ENERGY]:`warning`,[$.CUSTOM]:void 0})[e],N=e=>e&&m.value.find(t=>t.id===e)?.name||u(`scenes.fields.wholeHome`),P=e=>new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(e),F=({prop:e,order:t})=>{c(`update:sort-by`,t===null?void 0:e),c(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},I=e=>{c(`selected-changes`,e)},L=e=>{e.editable&&c(`edit`,e.id)},R=e=>{let t=e||`whole_home`;return v.value.primarySpaceId===t},B=e=>{let t=e||`whole_home`;v.value.primarySpaceId===t?v.value.primarySpaceId=void 0:v.value.primarySpaceId=t},H=e=>{let t=e?`enabled`:`disabled`;v.value.enabled===t?v.value.enabled=`all`:v.value.enabled=t};return(r,i)=>e((n(),y(f(ce),{"element-loading-text":f(u)(`scenes.texts.loadingScenes`),data:o.items,"default-sort":o.sortBy!==void 0&&o.sortDir!==null?{prop:o.sortBy,order:o.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:t({maxHeight:D.value+`px`}),"max-height":D.value,onSortChange:F,onSelectionChange:I,onRowClick:L},{empty:l(()=>[o.loading?(n(),j(`div`,_e,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):g.value&&!o.loading?(n(),j(`div`,ve,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:information`})]),_:1})]),title:l(()=>[h(S(f(u)(`scenes.texts.noScenes`)),1)]),_:1})])):o.filtersActive&&!o.loading?(n(),j(`div`,ye,[M(f(w),{class:`h-full w-full`},{icon:l(()=>[M(f(k),{size:80},{primary:l(()=>[M(f(E),{icon:`mdi:play-circle`})]),secondary:l(()=>[M(f(E),{icon:`mdi:filter-multiple`})]),_:1})]),title:l(()=>[M(f(U),{class:`block`},{default:l(()=>[h(S(f(u)(`scenes.texts.noFilteredScenes`)),1)]),_:1}),M(f(b),{type:`primary`,plain:``,class:`mt-4`,onClick:i[0]||=e=>c(`reset-filters`)},{icon:l(()=>[M(f(E),{icon:`mdi:filter-off`})]),default:l(()=>[h(` `+S(f(u)(`scenes.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):p(``,!0)]),default:l(()=>[f(d)?(n(),y(f(X),{key:0,type:`selection`,fixed:``,width:30})):p(``,!0),M(f(X),{width:60,align:`center`},{default:l(e=>[M(ge,{scene:e.row},null,8,[`scene`])]),_:1}),M(f(X),{label:f(u)(`scenes.fields.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":180,"class-name":`py-0!`},{default:l(e=>[e.row.description?(n(),j(C,{key:0},[x(`strong`,be,S(e.row.name),1),M(f(U),{size:`small`,class:`block leading-4`,truncated:``},{default:l(()=>[h(S(e.row.description),1)]),_:2},1024)],64)):(n(),j(C,{key:1},[h(S(e.row.name),1)],64))]),_:1},8,[`label`]),M(f(X),{label:f(u)(`scenes.fields.space`),prop:`primarySpaceId`,width:200},{default:l(e=>[M(f(W),{type:R(e.row.primarySpaceId)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:O(t=>B(e.row.primarySpaceId),[`stop`])},{default:l(()=>[M(f(s),{class:`el-icon--left`},{default:l(()=>[R(e.row.primarySpaceId)?(n(),y(f(E),{key:0,icon:`mdi:filter-minus`})):(n(),y(f(E),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),h(` `+S(N(e.row.primarySpaceId)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),M(f(X),{label:f(u)(`scenes.fields.category`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:140},{default:l(e=>[M(f(oe),{type:A(e.row.category)},{default:l(()=>[h(S(f(u)(`scenes.categories.${e.row.category}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),M(f(X),{label:f(u)(`scenes.fields.enabled`),prop:`enabled`,width:110},{default:l(e=>[M(f(W),{type:f(v).enabled===(e.row.enabled?`enabled`:`disabled`)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:O(t=>H(e.row.enabled),[`stop`])},{default:l(()=>[M(f(s),{class:`el-icon--left`},{default:l(()=>[f(v).enabled===(e.row.enabled?`enabled`:`disabled`)?(n(),y(f(E),{key:0,icon:`mdi:filter-minus`})):(n(),y(f(E),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),h(` `+S(e.row.enabled?f(u)(`scenes.filters.enabled.values.enabled`):f(u)(`scenes.filters.enabled.values.disabled`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),M(f(X),{label:f(u)(`scenes.fields.lastTriggered`),prop:`lastTriggeredAt`,width:160},{default:l(e=>[e.row.lastTriggeredAt?(n(),y(f(U),{key:0,size:`small`},{default:l(()=>[h(S(P(e.row.lastTriggeredAt)),1)]),_:2},1024)):(n(),y(f(U),{key:1,size:`small`,type:`info`},{default:l(()=>[h(S(f(u)(`scenes.fields.neverTriggered`)),1)]),_:1}))]),_:1},8,[`label`]),M(f(X),{width:200,align:`right`},{default:l(e=>[e.row.triggerable?(n(),y(f(b),{key:0,size:`small`,type:`success`,plain:``,loading:o.triggering.includes(e.row.id),"data-test-id":`trigger-scene`,onClick:O(t=>c(`trigger`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:play`})]),_:1},8,[`loading`,`onClick`])):p(``,!0),e.row.editable?(n(),y(f(b),{key:1,size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-scene`,onClick:O(t=>c(`edit`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:pencil`})]),_:1},8,[`onClick`])):p(``,!0),e.row.editable?(n(),y(f(b),{key:2,size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-scene`,onClick:O(t=>c(`remove`,e.row.id),[`stop`])},{icon:l(()=>[M(f(E),{icon:`mdi:trash`})]),_:1},8,[`onClick`])):p(``,!0)]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[f(te),o.loading]])}}),[[`__scopeId`,`data-v-742cdc0d`]]),Se=u({name:`ListScenes`,__name:`list-scenes`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean},triggering:{}},emits:[`edit`,`remove`,`trigger`,`adjust-list`,`reset-filters`,`bulk-action`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`],setup(e,{emit:t}){let r=e,i=t,{isMDDevice:s}=z(),{t:c}=_(),u=A([]),p=T(()=>[{key:`enable`,label:c(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:c(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`},{key:`delete`,label:c(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),h=null,g=A(null),v=A(null),y=V(r,`filters`,i),b=A(r.sortBy),S=A(r.sortDir),w=A(r.paginatePage),E=A(r.paginateSize),D=A(250),O=e=>{i(`edit`,e)},k=e=>{i(`remove`,e)},N=e=>{i(`trigger`,e)},P=()=>{i(`reset-filters`)},F=e=>{u.value=e},I=e=>{i(`bulk-action`,e,u.value)},L=e=>{i(`update:paginate-size`,e)},R=e=>{i(`update:paginate-page`,e)};return a(()=>{if(!g.value)return;let e=()=>{!g.value||!v.value||(D.value=g.value.clientHeight-v.value.clientHeight)};typeof window<`u`&&`ResizeObserver`in window&&(h=new ResizeObserver(e),h.observe(g.value)),e()}),o(()=>{h&&g.value&&h.unobserve(g.value)}),d(()=>b.value,e=>{i(`update:sort-by`,e)}),d(()=>S.value,e=>{i(`update:sort-dir`,e)}),d(()=>r.paginatePage,e=>{w.value=e}),d(()=>r.paginateSize,e=>{E.value=e}),d(()=>r.sortDir,e=>{S.value=e}),d(()=>r.sortBy,e=>{b.value=e}),d(()=>s.value,e=>{e||(u.value=[])}),(e,t)=>(n(),j(C,null,[M(f(G),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:l(()=>[M(he,{filters:f(y),"onUpdate:filters":t[0]||=e=>m(y)?y.value=e:null,"filters-active":r.filtersActive,"selected-count":u.value.length,"bulk-actions":p.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:I},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),x(`div`,{ref_key:`wrapper`,ref:g,class:`flex-grow overflow-hidden`},[M(f(G),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:l(()=>[M(xe,{filters:f(y),"onUpdate:filters":t[3]||=e=>m(y)?y.value=e:null,"sort-by":b.value,"onUpdate:sortBy":t[4]||=e=>b.value=e,"sort-dir":S.value,"onUpdate:sortDir":t[5]||=e=>S.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":D.value,triggering:r.triggering,onEdit:O,onRemove:k,onTrigger:N,onResetFilters:P,onSelectedChanges:F},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`,`triggering`]),x(`div`,{ref_key:`paginator`,ref:v,class:`flex justify-center w-full py-4`},[M(f(ue),{"current-page":w.value,"onUpdate:currentPage":t[6]||=e=>w.value=e,"page-size":E.value,"onUpdate:pageSize":t[7]||=e=>E.value=e,layout:f(s)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:L,onCurrentChange:R},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Ce={class:`px-2`},we={class:`px-2`},Te={class:`flex items-center gap-2`},Ee={class:`px-2`},De={class:`flex items-center gap-2`},Oe={class:`px-5 py-2 text-center`},ke=v(u({name:`ListScenesAdjust`,__name:`list-scenes-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,a=t,o=D(`list-scenes-adjust`),{t:s}=_(),u=Object.values($),{spaces:d}=de(),p=T(()=>{let e=[{value:`whole_home`,label:s(`scenes.fields.wholeHome`),icon:`mdi:home`}];return d.value.filter(e=>e.type===I.ROOM).forEach(t=>{e.push({value:t.id,label:t.name,icon:J(t)})}),d.value.filter(e=>e.type===I.ZONE).forEach(t=>{e.push({value:t.id,label:t.name,icon:J(t)})}),e}),m=A([`enabled`,`categories`,`spaces`]),g=V(r,`filters`,a);return(e,t)=>(n(),j(C,null,[M(f(R),{teleport:``},{icon:l(()=>[M(f(E),{icon:`mdi:filter`})]),title:l(()=>[h(S(f(s)(`scenes.headings.adjustFilters`)),1)]),subtitle:l(()=>[h(S(f(s)(`scenes.subHeadings.adjustFilters`)),1)]),_:1}),x(`div`,{class:c([[f(o).b()],`flex flex-col h-full w-full overflow-hidden`])},[M(f(ee),{class:`flex-grow`},{default:l(()=>[M(f(ne),{modelValue:m.value,"onUpdate:modelValue":t[3]||=e=>m.value=e},{default:l(()=>[M(f(q),{name:`enabled`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(U),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.enabled.title`)),1)]),_:1})]),default:l(()=>[x(`div`,Ce,[M(f(le),{modelValue:f(g).enabled,"onUpdate:modelValue":t[0]||=e=>f(g).enabled=e},{default:l(()=>[M(f(Q),{label:f(s)(`scenes.filters.enabled.values.enabled`),value:`enabled`},null,8,[`label`]),M(f(Q),{label:f(s)(`scenes.filters.enabled.values.disabled`),value:`disabled`},null,8,[`label`]),M(f(Q),{label:f(s)(`scenes.filters.enabled.values.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),M(f(q),{name:`categories`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(U),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.category.title`)),1)]),_:1})]),default:l(()=>[x(`div`,we,[M(f(K),{modelValue:f(g).categories,"onUpdate:modelValue":t[1]||=e=>f(g).categories=e,placeholder:f(s)(`scenes.filters.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:l(()=>[(n(!0),j(C,null,i(f(u),(e,t)=>(n(),y(f(Y),{key:t,label:f(s)(`scenes.categories.${e}`),value:e},{default:l(()=>[x(`div`,Te,[M(f(E),{icon:f(pe)[e],class:`text-lg`},null,8,[`icon`]),x(`span`,null,S(f(s)(`scenes.categories.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),M(f(q),{name:`spaces`,class:c([f(o).e(`filter-item`)])},{title:l(()=>[M(f(U),{class:`!px-2`},{default:l(()=>[h(S(f(s)(`scenes.filters.space.title`)),1)]),_:1})]),default:l(()=>[x(`div`,Ee,[M(f(K),{modelValue:f(g).primarySpaceId,"onUpdate:modelValue":t[2]||=e=>f(g).primarySpaceId=e,placeholder:f(s)(`scenes.filters.space.placeholder`),name:`spaces`,filterable:``,clearable:``},{default:l(()=>[(n(!0),j(C,null,i(p.value,e=>(n(),y(f(Y),{key:e.value,label:e.label,value:e.value},{default:l(()=>[x(`div`,De,[M(f(E),{icon:e.icon,class:`text-lg`},null,8,[`icon`]),x(`span`,null,S(e.label),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),x(`div`,Oe,[M(f(b),{disabled:!r.filtersActive,onClick:t[4]||=e=>a(`reset-filters`)},{icon:l(()=>[M(f(E),{icon:`mdi:filter-remove`})]),default:l(()=>[h(` `+S(f(s)(`scenes.buttons.resetFilters.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-323f3f68`]]),Ae=u({name:`ScenesConfigForm`,__name:`scenes-config-form`,props:{config:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:se.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1},layout:{default:H.DEFAULT}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(e,{emit:t}){let r=e,i=t,{t:a}=_(),{formEl:o,model:s,formChanged:c,submit:u,formResult:p}=ie({config:r.config,messages:{success:a(`scenes.messages.config.edited`),error:a(`scenes.messages.config.notEdited`)}}),m=g({executionTimeoutMs:[{type:`number`,min:1e3,max:3e5,message:a(`scenes.fields.config.executionTimeoutMs.validation.range`),trigger:`blur`}],maxConcurrentExecutions:[{type:`number`,min:1,max:100,message:a(`scenes.fields.config.maxConcurrentExecutions.validation.range`),trigger:`blur`}]});return d(()=>p.value,async e=>{i(`update:remote-form-result`,e)}),d(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),u().catch(()=>{}))}),d(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!o.value)return;o.value.resetFields()}}),d(()=>c.value,e=>{i(`update:remote-form-changed`,e)}),(e,t)=>(n(),y(f(B),{ref_key:`formEl`,ref:o,model:f(s),rules:m,"label-position":`top`,"status-icon":``},{default:l(()=>[M(f(L),{title:f(a)(`scenes.fields.config.executionTimeoutMs.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.executionTimeoutMs.hint`)),1)]),_:1},8,[`title`]),M(f(P),{label:f(a)(`scenes.fields.config.executionTimeoutMs.title`),prop:`executionTimeoutMs`},{default:l(()=>[M(f(Z),{modelValue:f(s).executionTimeoutMs,"onUpdate:modelValue":t[0]||=e=>f(s).executionTimeoutMs=e,min:1e3,max:3e5,step:1e3,name:`executionTimeoutMs`},null,8,[`modelValue`])]),_:1},8,[`label`]),M(f(L),{title:f(a)(`scenes.fields.config.maxConcurrentExecutions.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.maxConcurrentExecutions.hint`)),1)]),_:1},8,[`title`]),M(f(P),{label:f(a)(`scenes.fields.config.maxConcurrentExecutions.title`),prop:`maxConcurrentExecutions`},{default:l(()=>[M(f(Z),{modelValue:f(s).maxConcurrentExecutions,"onUpdate:modelValue":t[1]||=e=>f(s).maxConcurrentExecutions=e,min:1,max:100,step:1,name:`maxConcurrentExecutions`},null,8,[`modelValue`])]),_:1},8,[`label`]),M(f(L),{title:f(a)(`scenes.fields.config.continueOnActionFailure.alertTitle`),type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:l(()=>[h(S(f(a)(`scenes.fields.config.continueOnActionFailure.hint`)),1)]),_:1},8,[`title`]),M(f(P),{label:f(a)(`scenes.fields.config.continueOnActionFailure.title`),prop:`continueOnActionFailure`},{default:l(()=>[M(f(re),{modelValue:f(s).continueOnActionFailure,"onUpdate:modelValue":t[2]||=e=>f(s).continueOnActionFailure=e,name:`continueOnActionFailure`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}});export{ke as n,Se as r,Ae as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-DECur_0Z.js";import{Dr as e,Vr as t,Xr as n,d as r,hi as i,mr as a,n as o,si as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Dr as e,Vr as t,Xr as n,d as r,hi as i,mr as a,n as o,si as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{Hr as l,Mn as u,S as d,T as f,Wn as p,_ as m,cn as h,f as g,ln as _,pn as v,qn as y,sr as b,wt as x,y as S,ya as C}from"./common-JK1JafYN.js";import{n as w}from"./logs-entries.transformers-DAjf4lH9.js";import{n as T,r as E,t as D}from"./extensions.constants-zRRiNzmt.js";var O=class e extends Error{exception;constructor(t,n=null){super(t),this.name=`ExtensionsException`,this.exception=n,Object.setPrototypeOf(this,e.prototype)}},k=class e extends O{code;constructor(t,n=null){super(t),this.name=`ExtensionsApiException`,this.code=n,Object.setPrototypeOf(this,e.prototype)}},A=class e extends O{constructor(t){super(t),this.name=`ExtensionsValidationException`,Object.setPrototypeOf(this,e.prototype)}},j=()=>{let e=S(),t=c([]),n=c(!1),r=c(new Map),i=0;return{actions:t,isLoading:n,executingActions:r,fetchActions:async r=>{let a=++i;n.value=!0;try{let{data:n}=await e.client.GET(`/modules/extensions/extensions/${r}/actions`);if(a!==i)return;n?.data?t.value=n.data:t.value=[]}catch{if(a!==i)return;t.value=[]}finally{a===i&&(n.value=!1)}},executeAction:async(t,n,i)=>{let a=r.value.get(n)??0;r.value.set(n,a+1);try{let{data:r,error:a}=await e.client.POST(`/modules/extensions/extensions/${t}/actions/${n}`,{body:{data:{params:i??{}}}});return r?.data?r.data:{success:!1,message:a?.error?.message??`Action execution failed`}}catch(e){return{success:!1,message:e instanceof Error?e.message:`Action execution failed`}}finally{let e=(r.value.get(n)??1)-1;e<=0?r.value.delete(n):r.value.set(n,e)}}}},M=Symbol(`useActions`),N=()=>{let e=j();return t(M,e),e},P=()=>e(M,null)??j(),F=e=>{let t=f().getStore(h),{semaphore:n,firstLoad:r}=C(t);return{extension:a(()=>t.findByType(i(e.type))),isLoading:a(()=>n.value.fetching.items||!r.value),fetchExtension:async()=>{await t.fetch()}}},I=p({search:y().optional(),kind:u([`all`,E.MODULE,E.PLUGIN]).default(`all`),enabled:u([`all`,`enabled`,`disabled`]).default(`all`),isCore:u([`all`,`core`,`addon`]).default(`all`)}),L={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},R={by:`name`,dir:`asc`},z=()=>{let e=f().getStore(h),{semaphore:t}=C(e),{filters:r,sort:i,pagination:o,viewMode:s,reset:l}=g({key:`${T}:extensions:list`,filters:{schema:I,defaults:L},sort:{defaults:[R]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:D},syncQuery:!0,version:1}),u=a({get:()=>s.value??`table`,set:e=>{s.value=e}}),d=a(()=>r.value.search!==L.search||r.value.kind!==L.kind||r.value.enabled!==L.enabled||r.value.isCore!==L.isCore),p=c(o.value.size||10),m=c(o.value.page||1),_=c(i.value.length>0?i.value[0]?.by:void 0),y=c(i.value.length>0?i.value[0]?.dir??null:null),b=a(()=>Object.values(e.data)),x=a(()=>v(b.value.filter(e=>(!r.value.search||e.type.toLowerCase().includes(r.value.search.toLowerCase())||e.name.toLowerCase().includes(r.value.search.toLowerCase())||e.description?.toLowerCase().includes(r.value.search.toLowerCase()))&&(r.value.kind===`all`||e.kind===r.value.kind)&&(r.value.enabled===`all`||r.value.enabled===`enabled`&&e.enabled||r.value.enabled===`disabled`&&!e.enabled)&&(r.value.isCore===`all`||r.value.isCore===`core`&&e.isCore||r.value.isCore===`addon`&&!e.isCore)),[e=>_.value===`enabled`?e.enabled?1:0:e[_.value]??``],[y.value===`asc`?`asc`:`desc`])),S=a(()=>x.value),w=a(()=>{let e=(m.value-1)*p.value,t=e+p.value;return S.value.slice(e,t)}),O=a(()=>x.value.filter(e=>e.kind===E.MODULE)),k=a(()=>x.value.filter(e=>e.kind===E.PLUGIN)),A=async()=>{await e.fetch()},j=a(()=>t.value.fetching.items),M=a(()=>S.value.length);return n(()=>o.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),n(()=>m.value,e=>{o.value.page=e}),n(()=>p.value,e=>{o.value.size=e}),n(()=>y.value,e=>{_.value===void 0||e===null?i.value=[]:i.value=[{by:_.value,dir:e}]}),n(()=>_.value,e=>{e===void 0||y.value===null?i.value=[]:i.value=[{by:e,dir:y.value}]}),{extensions:S,extensionsPaginated:w,modules:O,plugins:k,totalRows:M,areLoading:j,fetchExtensions:A,filters:r,filtersActive:d,paginateSize:p,paginatePage:m,sortBy:_,sortDir:y,viewMode:u,resetFilter:l}},B=()=>{let{t:e}=r(),t=f(),n=m(),i=t.getStore(h),a=t.getStore(_);return{toggleEnabled:async(t,r)=>{try{return await i.update({type:t,data:{enabled:r}}),n.success(e(r?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),r&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.pluginName===t);for(let t of e)t.lastError&&n.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof k&&t.code===400?n.error(e(`extensionsModule.messages.notConfigurableError`)):n.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await l.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:r.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!0}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkEnabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkEnableCanceled`))}},bulkDisable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await l.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:r.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!1}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkDisabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkDisableCanceled`))}}}},V=e=>{let t=S(),r=d(),l=c({}),u=c(!1),f=c(!1),p=c(!1),m=c(void 0),h=c(!1),g=c([]),_=c(`all`),v=null,y={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},b=a(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),C=a(()=>{let e=b.value;if(g.value.length>0&&(e=e.filter(e=>g.value.includes(e.type))),_.value!==`all`){let t=Date.now()-y[_.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=a(()=>g.value.length>0||_.value!==`all`),E=()=>{g.value=[],_.value=`all`},D=async()=>{let n=i(e.extensionType);v=n,f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${x}/logs`,{params:{query:{extension:n,limit:50}}});if(v!==n)return;e===void 0?i&&r.error(`Failed to fetch extension logs:`,i):(l.value=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]})),p.value=!0,u.value=e.metadata.has_more,m.value=e.metadata.next_cursor)}catch(e){v===n&&r.error(`Error fetching extension logs:`,e)}finally{v===n&&(f.value=!1)}},O=async()=>{if(f.value||!u.value||!m.value)return;let n=i(e.extensionType),a=m.value;f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${x}/logs`,{params:{query:{extension:n,after_id:a,limit:50}}});if(v!==n)return;if(e!==void 0){let t=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]}));l.value={...l.value,...t},u.value=e.metadata.has_more,m.value=e.metadata.next_cursor}else i&&r.error(`Failed to load more extension logs:`,i)}catch(e){v===n&&r.error(`Error loading more extension logs:`,e)}finally{v===n&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,u.value=!1,p.value=!1,await D()},A=null;return n(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),s(()=>{A&&=(clearInterval(A),null)}),n(()=>i(e.extensionType),()=>{k()}),{logs:C,hasMore:u,isLoading:f,loaded:p,live:h,filterLevels:g,filterTimeRange:_,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},H=()=>{let e=f().getStore(_),{data:t,semaphore:n}=C(e);return{services:a(()=>Object.values(t.value)),areLoading:a(()=>n.value.fetching.items),fetchServices:async()=>{await e.fetch()}}},U=()=>{let{t:e}=r(),t=f(),n=m(),i=t.getStore(_);return{startService:async(t,r)=>{try{let a=await i.start({pluginName:t,serviceId:r});return a.state===b.started?n.success(e(`extensionsModule.services.messages.started`)):a.state===b.starting?n.info(e(`extensionsModule.services.messages.serviceStarting`)):a.lastError?n.warning(a.lastError):n.warning(e(`extensionsModule.services.messages.startError`)),a.state===b.started||a.state===b.starting}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.startError`)),!1}},stopService:async(t,r)=>{try{return await i.stop({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.stopped`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.stopError`)),!1}},restartService:async(t,r)=>{try{return await i.restart({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.restarted`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.restartError`)),!1}},isActing:(e,t)=>i.acting(e,t)}};export{z as a,N as c,A as d,B as i,k as l,H as n,F as o,V as r,P as s,U as t,O as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Nr as e,Xr as t,ci as n,d as r,fi as i,mr as a,ui as o}from"./icon-with-child-DmQ_XhQy.js";import{A as s,Fn as c,Hr as l,Ht as u,Jn as d,Kn as f,Mn as p,Pn as m,S as h,T as g,Un as _,Vn as v,Wn as y,Yn as b,_ as x,an as S,f as C,m as w,pn as T,qn as E,qt as D,wn as O,ya as k,zn as A}from"./common-JK1JafYN.js";import{t as ee}from"./useSpaces-6g2FoZ3a.js";import{o as j,s as M}from"./composables-TA5USsUm.js";var N=`scenes`,P=`scenes-module`,F=`ScenesModule.`,I=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerScene`,e}({}),te=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerSceneHandler`,e}({}),L=function(e){return e.SCENE_CREATED=`ScenesModule.Scene.Created`,e.SCENE_UPDATED=`ScenesModule.Scene.Updated`,e.SCENE_DELETED=`ScenesModule.Scene.Deleted`,e.SCENE_TRIGGERED=`ScenesModule.Scene.Triggered`,e.SCENE_EXECUTION_STARTED=`ScenesModule.Scene.ExecutionStarted`,e.SCENE_EXECUTION_COMPLETED=`ScenesModule.Scene.ExecutionCompleted`,e.SCENE_EXECUTION_FAILED=`ScenesModule.Scene.ExecutionFailed`,e.SCENE_ACTION_CREATED=`ScenesModule.SceneAction.Created`,e.SCENE_ACTION_UPDATED=`ScenesModule.SceneAction.Updated`,e.SCENE_ACTION_DELETED=`ScenesModule.SceneAction.Deleted`,e}({}),R=function(e){return e.GENERIC=`generic`,e.LIGHTING=`lighting`,e.CLIMATE=`climate`,e.MEDIA=`media`,e.WORK=`work`,e.RELAX=`relax`,e.NIGHT=`night`,e.MORNING=`morning`,e.PARTY=`party`,e.MOVIE=`movie`,e.AWAY=`away`,e.HOME=`home`,e.SECURITY=`security`,e.ENERGY=`energy`,e.CUSTOM=`custom`,e}({}),z=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),B={SCENES:`scenes_module-scenes`,SCENES_ADD:`scenes_module-scenes_add`,SCENES_EDIT:`scenes_module-scenes_edit`,SCENE:`scenes_module-scene`,SCENE_EDIT:`scenes_module-scene_edit`,SCENE_ADD_ACTION:`scenes_module-scene_add_action`,SCENE_EDIT_ACTION:`scenes_module-scene_edit_action`},V={[R.GENERIC]:`mdi:playlist-play`,[R.LIGHTING]:`mdi:lightbulb-group`,[R.CLIMATE]:`mdi:thermostat`,[R.MEDIA]:`mdi:television-play`,[R.WORK]:`mdi:briefcase`,[R.RELAX]:`mdi:sofa`,[R.NIGHT]:`mdi:weather-night`,[R.MORNING]:`mdi:weather-sunset-up`,[R.PARTY]:`mdi:party-popper`,[R.MOVIE]:`mdi:movie-open`,[R.AWAY]:`mdi:home-export-outline`,[R.HOME]:`mdi:home-import-outline`,[R.SECURITY]:`mdi:shield-home`,[R.ENERGY]:`mdi:flash`,[R.CUSTOM]:`mdi:shape-outline`},H=y({search:E().optional(),categories:m(v(R)),primarySpaceId:d([E().uuid(),A(`whole_home`)]).optional(),enabled:p([`all`,`enabled`,`disabled`]).default(`all`)}),U=({id:e})=>{let t=g(),n=t.getStore(M),r=t.getStore(j),{data:i,semaphore:o}=k(n);return{scene:a(()=>e===null?null:i.value.get(e)??null),isLoading:a(()=>o.value.fetching.item.includes(e)?!0:i.value.get(e)===void 0?o.value.fetching.items:!1),fetchScene:async()=>{i.value.get(e)?.draft||(await n.get({id:e}),await r.fetch({sceneId:e}))}}},W=y({id:E().uuid().optional(),type:E().trim().nonempty(),configuration:f(E(),b()).default({}),order:_().int().min(0).optional(),enabled:c().default(!0)}).catchall(b());y({id:E().uuid(),type:E().trim().nonempty(),configuration:f(E(),b()).optional(),order:_().int().min(0).optional(),enabled:c().optional()}).catchall(b());var G=y({id:E().uuid().optional(),name:E().trim().nonempty(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:v(R).default(R.GENERIC),enabled:c().default(!0),order:_().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:m(W).default([])}),K=y({id:E().uuid(),name:E().trim().nonempty().optional(),description:E().trim().transform(e=>e===``?null:e).nullable().optional(),category:v(R).optional(),enabled:c().optional(),order:_().optional(),primarySpaceId:E().uuid().nullable().optional().transform(e=>e===``?null:e),actions:m(W).default([])}),q=class extends Error{exception;constructor(e,t=null){super(e),this.name=`ScenesException`,this.exception=t}},J=class extends q{code;constructor(e,t=null,n=null){super(e,n),this.name=`ScenesApiException`,this.code=t}},Y=class extends q{constructor(e,t=null){super(e,t),this.name=`ScenesValidationException`}},ne=()=>{let e=s(),{enabled:t}=S(),n=[`sceneActionAddForm`,`sceneActionEditForm`,`sceneActionCard`],r=[`sceneActionSchema`,`sceneActionAddFormSchema`,`sceneActionEditFormSchema`,`sceneActionCreateReqSchema`,`sceneActionUpdateReqSchema`],i=a(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`scenes-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`scenes-module`)))return!1;let t=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),i=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return t||i}):!1));return{plugins:i,options:a(()=>T(i.value.flatMap(e=>(e.elements??[]).filter(e=>{let t=e.modules===void 0||e.modules.includes(`scenes-module`),r=!!e.components&&n.some(t=>e.components&&t in e.components);return t&&r}).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>i.value.find(t=>t.type===e),getByType:e=>i.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)))),getElement:e=>{for(let t of i.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)));if(n)return n}}}},X=O(),Z=({id:e})=>{let s=g(),c=s.getStore(M),l=s.getStore(j),{t:d}=r(),f=x(),p=h(),{spaces:m,fetching:_,fetchSpaces:v}=ee(),y=o(z.NONE),b,S=a(()=>Object.values(R).map(e=>({value:e,label:d(`scenes.categories.${e}`),icon:V[e]}))),C=a(()=>{let e=m.value.filter(e=>e.type===u.ROOM).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=m.value.filter(e=>e.type===u.ZONE).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:u.ROOM,label:d(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:u.ZONE,label:d(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),T=n({id:e,category:R.GENERIC,name:``,description:null,enabled:!0,primarySpaceId:null,actions:[]}),{options:E,getElement:O}=ne(),k=e=>{let t=e.propertyId;return t&&T.actions.find(e=>e.propertyId===t)?(f.warning(d(`scenes.messages.duplicateAction`)),!1):(T.actions.push(e),!0)},A=e=>{T.actions.splice(e,1)},N=(e,t)=>{e>=0&&e<T.actions.length&&(T.actions[e]=t)},P=e=>O(e)?.components?.sceneActionCard??null,F=e=>O(e)?.components?.sceneActionAddForm??null,I=e=>O(e)?.components?.sceneActionEditForm??null,te=e=>E.value.find(t=>t.value===e)?.label??e,L=w(i(T)),B=o(void 0),H=o(!1),U=async(e,t)=>{try{for(let n=0;n<t.length;n++){let r=t[n];r&&await l.add({sceneId:e,data:{...r,order:n,enabled:r.enabled??!0}})}}catch(e){throw p.error(`Error syncing scene actions:`,e),e}},W=async()=>{if(B.value.clearValidate(),!await B.value.validate())throw new Y(`Form not valid`);let t=G.safeParse(T);if(!t.success)throw p.error(`Schema validation failed with:`,t.error),new Y(`Failed to validate create scene model.`);y.value=z.WORKING;let n=d(`scenes.messages.createFailed`);try{let n=await c.add({id:e,draft:!1,data:t.data});t.data.actions.length>0&&await U(n.id,t.data.actions)}catch(e){throw y.value=z.ERROR,b=window.setTimeout(K,2e3),e instanceof J&&e.code===422?f.error(e.message):f.error(n),e}return y.value=z.OK,b=window.setTimeout(K,2e3),f.success(d(`scenes.messages.created`)),`added`},K=()=>{window.clearTimeout(b),y.value=z.NONE};return t(T,()=>{H.value=!(0,X.isEqual)(i(T),L)}),{categoriesOptions:S,spacesOptionsGrouped:C,model:T,formEl:B,formChanged:H,submit:W,clear:K,formResult:y,loadingSpaces:_,fetchSpaces:v,actionPluginOptions:E,addAction:k,removeAction:A,updateAction:N,getActionCardComponent:P,getActionFormComponent:F,getActionEditFormComponent:I,getPluginLabel:te}},re=({scene:s,messages:c})=>{let l=g(),d=l.getStore(M),f=l.getStore(j),{t:p}=r(),m=x(),_=h(),{spaces:v,fetching:y,fetchSpaces:b}=ee(),S=o(z.NONE),C=a(()=>f.findForScene(s.id)),T=o(w(C.value)),E,O=a(()=>Object.values(R).map(e=>({value:e,label:p(`scenes.categories.${e}`),icon:V[e]}))),k=a(()=>{let e=v.value.filter(e=>e.type===u.ROOM).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=v.value.filter(e=>e.type===u.ZONE).map(e=>({value:e.id,label:e.name,icon:D(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:u.ROOM,label:p(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:u.ZONE,label:p(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),A=a(()=>C.value.map(e=>({...e}))),N=n({id:s.id,category:s.category,name:s.name,description:s.description,enabled:s.enabled,primarySpaceId:s.primarySpaceId,actions:A.value}),{options:P,getElement:F}=ne(),I=e=>{let t=e.propertyId;return t&&N.actions.find(e=>e.propertyId===t)?(m.warning(p(`scenes.messages.duplicateAction`)),!1):(N.actions.push(e),!0)},te=e=>{N.actions.splice(e,1)},L=(e,t)=>{e>=0&&e<N.actions.length&&(N.actions[e]=t)},B=e=>F(e)?.components?.sceneActionCard??null,H=e=>F(e)?.components?.sceneActionAddForm??null,U=e=>F(e)?.components?.sceneActionEditForm??null,W=e=>P.value.find(t=>t.value===e)?.label??e,G=o(void 0),q=o(!1),Z=w(i(N)),re=async(e,t)=>{try{let n=new Set(T.value.map(e=>e.id)),r=new Set(t.filter(e=>e.id).map(e=>e.id));for(let t of T.value)r.has(t.id)||await f.remove({id:t.id,sceneId:e});let i=new Map;for(let r=0;r<t.length;r++){let a=t[r];if(!a)continue;let o=a.id;if(!o||!n.has(o)){let t=await f.add({sceneId:e,data:{...a,order:r,enabled:a.enabled??!0}});i.set(r,t.id)}else{let t=T.value.find(e=>e.id===o);if(t){let n=new Set([`id`,`draft`,`createdAt`,`updatedAt`,`scene`]),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e)));(0,X.isEqual)(i(t),{...i(a),order:r})||await f.edit({id:o,sceneId:e,data:{...a,order:r}})}}}for(let[e,t]of i){let n=N.actions[e];n&&(n.id=t)}T.value=w(f.findForScene(e))}catch(e){throw _.error(`Error syncing scene actions:`,e),e}},ie=async()=>{let e=s.draft,t=c&&c.error?c.error:s.draft?p(`scenes.messages.createFailed`):p(`scenes.messages.editFailed`,{scene:s.name});if(G.value.clearValidate(),!await G.value.validate())throw new Y(`Form not valid`);let n=K.safeParse(N);if(!n.success)throw _.error(`Schema validation failed with:`,n.error),new Y(`Failed to validate edit scene model.`);S.value=z.WORKING;try{await d.edit({id:s.id,data:n.data});let t=s.id;if(e){let e=await d.save({id:s.id});N.id=e.id,N.category=e.category,N.name=e.name,N.description=e.description,N.enabled=e.enabled,N.primarySpaceId=e.primarySpaceId,t=e.id}await re(t,n.data.actions)}catch(e){throw S.value=z.ERROR,E=window.setTimeout(Q,2e3),e instanceof J&&e.code===422?m.error(e.message):e instanceof Y||(m.error(t),_.error(`Scene edit failed:`,e)),e}return S.value=z.OK,E=window.setTimeout(Q,2e3),e?(m.success(p(c&&c.success?c.success:`scenes.messages.created`)),`added`):(m.success(p(c&&c.success?c.success:`scenes.messages.edited`,{scene:s.name})),q.value=!1,Z=w(i(N)),`saved`)},Q=()=>{window.clearTimeout(E),S.value=z.NONE};return t(N,()=>{q.value=!(0,X.isEqual)(i(N),Z)}),e(()=>{Q()}),{categoriesOptions:O,spacesOptionsGrouped:k,model:N,formEl:G,formChanged:q,submit:ie,clear:Q,formResult:S,loadingSpaces:y,fetchSpaces:b,actionPluginOptions:P,addAction:I,removeAction:te,updateAction:L,getActionCardComponent:B,getActionFormComponent:H,getActionEditFormComponent:U,getPluginLabel:W}},ie=({id:e})=>{let t=g().getStore(M);return{icon:a(()=>{let n=t.findById(e);return n?.category&&n.category in V?V[n.category]:V[R.GENERIC]})}},Q=()=>{let e=g().getStore(M),{data:t,semaphore:n,firstLoad:r}=k(e);return{scenes:a(()=>Array.from(t.value.values()).sort((e,t)=>e.name.localeCompare(t.name))),fetching:a(()=>n.value.fetching.items),loaded:a(()=>r.value),fetchScenes:async()=>e.fetch(),getScene:async t=>e.get({id:t}),findById:t=>e.findById(t),findBySpace:t=>e.findBySpace(t),triggerScene:async(t,n)=>{await e.trigger({id:t,source:n})},removeScene:async t=>{await e.remove({id:t})}}},ae=()=>{let{t:e}=r(),t=x(),n=g().getStore(M);return{addScene:async e=>n.add(e),editScene:async e=>n.edit(e),removeScene:async e=>{await n.remove({id:e})},bulkRemove:async r=>{if(r.length!==0)try{await l.confirm(e(`scenes.texts.confirmBulkRemove`,{count:r.length}),e(`scenes.headings.bulkRemove`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of r)try{await n.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkRemoved`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkRemoveFailed`,{count:a}))}catch{}},bulkEnable:async r=>{if(r.length!==0)try{await l.confirm(e(`scenes.texts.confirmBulkEnable`,{count:r.length}),e(`scenes.headings.bulkEnable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`info`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!0}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkEnabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkEnableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkEnableCanceled`))}},bulkDisable:async r=>{if(r.length!==0)try{await l.confirm(e(`scenes.texts.confirmBulkDisable`,{count:r.length}),e(`scenes.headings.bulkDisable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!1}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkDisabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkDisableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkDisableCanceled`))}}}},$={search:void 0,categories:[],primarySpaceId:void 0,enabled:`all`},oe={by:`name`,dir:`asc`},se=()=>{let e=g().getStore(M),{firstLoad:n,semaphore:r}=k(e),{filters:i,sort:s,pagination:c,reset:l}=C({key:`${P}:scenes:list`,filters:{schema:H,defaults:$},sort:{defaults:[oe]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=a(()=>i.value.search!==$.search||!(0,X.isEqual)(i.value.categories,$.categories)||i.value.primarySpaceId!==$.primarySpaceId||i.value.enabled!==$.enabled),d=o(c.value.size||10),f=o(c.value.page||1),p=o(s.value.length>0?s.value[0]?.by:void 0),m=o(s.value.length>0?s.value[0]?.dir??null:null),h=(e,t)=>t?t===`whole_home`?!e:e===t:!0,_=a(()=>{let t=e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name.toLowerCase().includes(i.value.search.toLowerCase())||e.description?.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.categories.length===0||i.value.categories.includes(e.category))&&h(e.primarySpaceId,i.value.primarySpaceId)&&(i.value.enabled===`all`||i.value.enabled===`enabled`&&e.enabled||i.value.enabled===`disabled`&&!e.enabled)),n=p.value??`order`;return T(t,[e=>e[n]??``],[m.value??`asc`])}),v=a(()=>{let e=(f.value-1)*d.value,t=e+d.value;return _.value.slice(e,t)}),y=async()=>{await e.fetch()},b=a(()=>r.value.fetching.items||!n.value),x=a(()=>n.value),S=a(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),t(()=>f.value,e=>{c.value.page=e}),t(()=>d.value,e=>{c.value.size=e}),t(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),t(()=>p.value,e=>{e===void 0||m.value===null?s.value=[]:s.value=[{by:e,dir:m.value}]}),t(()=>i.value,()=>{f.value=1},{deep:!0}),{scenes:_,scenesPaginated:v,totalRows:S,areLoading:b,loaded:x,fetchScenes:y,filters:i,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}};export{P as _,re as a,R as b,q as c,te as d,I as f,F as g,B as h,ie as i,Y as l,z as m,ae as n,Z as o,L as p,Q as r,J as s,se as t,U as u,N as v,V as y};
|